diff --git a/azure-provider-versions/provider_list.json b/azure-provider-versions/provider_list.json index c1b905477f9a..6c47b5caad9a 100644 --- a/azure-provider-versions/provider_list.json +++ b/azure-provider-versions/provider_list.json @@ -674,6 +674,7 @@ { "resourceType": "alertRuleRecommendations", "apiVersions": [ + "2023-08-01-preview", "2023-01-01-preview" ] }, @@ -1138,6 +1139,8 @@ { "resourceType": "connectedEnvironments", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1147,6 +1150,8 @@ { "resourceType": "connectedEnvironments/certificates", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1156,6 +1161,8 @@ { "resourceType": "containerApps", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1167,6 +1174,8 @@ { "resourceType": "jobs", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview" ] @@ -1174,6 +1183,8 @@ { "resourceType": "locations", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1185,6 +1196,8 @@ { "resourceType": "locations/availableManagedEnvironmentsWorkloadProfileTypes", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1194,6 +1207,8 @@ { "resourceType": "locations/billingMeters", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1203,6 +1218,8 @@ { "resourceType": "locations/connectedEnvironmentOperationResults", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1212,6 +1229,8 @@ { "resourceType": "locations/connectedEnvironmentOperationStatuses", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1221,6 +1240,8 @@ { "resourceType": "locations/containerappOperationResults", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1232,6 +1253,8 @@ { "resourceType": "locations/containerappOperationStatuses", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1243,6 +1266,8 @@ { "resourceType": "locations/containerappsjobOperationResults", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview" ] @@ -1250,6 +1275,8 @@ { "resourceType": "locations/containerappsjobOperationStatuses", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview" ] @@ -1257,6 +1284,8 @@ { "resourceType": "locations/managedCertificateOperationStatuses", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview" ] @@ -1264,6 +1293,8 @@ { "resourceType": "locations/managedEnvironmentOperationResults", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1275,6 +1306,34 @@ { "resourceType": "locations/managedEnvironmentOperationStatuses", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", + "2023-04-01-preview", + "2022-11-01-preview", + "2022-10-01", + "2022-06-01-preview", + "2022-03-01", + "2022-01-01-preview" + ] + }, + { + "resourceType": "locations/sourceControlOperationResults", + "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", + "2023-04-01-preview", + "2022-11-01-preview", + "2022-10-01", + "2022-06-01-preview", + "2022-03-01", + "2022-01-01-preview" + ] + }, + { + "resourceType": "locations/sourceControlOperationStatuses", + "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1286,6 +1345,8 @@ { "resourceType": "managedEnvironments", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1297,6 +1358,8 @@ { "resourceType": "managedEnvironments/certificates", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview", "2022-10-01", @@ -1308,6 +1371,8 @@ { "resourceType": "managedEnvironments/managedCertificates", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2022-11-01-preview" ] @@ -1315,6 +1380,8 @@ { "resourceType": "operations", "apiVersions": [ + "2023-05-02-preview", + "2023-05-01", "2023-04-01-preview", "2023-02-01", "2022-11-01-preview", @@ -2330,6 +2397,7 @@ { "resourceType": "operations", "apiVersions": [ + "2023-04-01-preview", "2023-03-31-preview", "2022-06-01-preview", "2022-05-04", @@ -2625,23 +2693,11 @@ "2023-12-01-preview" ] }, - { - "resourceType": "Locations/OperationStatuses", - "apiVersions": [ - "2023-12-01-preview" - ] - }, { "resourceType": "Operations", "apiVersions": [ "2023-12-01-preview" ] - }, - { - "resourceType": "s3Buckets", - "apiVersions": [ - "2023-12-01-preview" - ] } ] }, @@ -9646,7 +9702,7 @@ ] }, { - "resourceType": "locations/operationStatuses", + "resourceType": "locations/operationstatuses", "apiVersions": [ "2023-06-12-preview" ] @@ -11186,6 +11242,8 @@ { "resourceType": "ManagedClusters/eventGridFilters", "apiVersions": [ + "2023-07-02-preview", + "2023-07-01", "2023-06-02-preview", "2023-06-01", "2023-05-02-preview", @@ -11288,6 +11346,8 @@ { "resourceType": "locations/kubernetesVersions", "apiVersions": [ + "2023-07-02-preview", + "2023-07-01", "2023-06-02-preview", "2023-06-01", "2023-05-02-preview", @@ -11308,6 +11368,7 @@ { "resourceType": "locations/notifyNetworkSecurityPerimeterUpdatesAvailable", "apiVersions": [ + "2023-07-02-preview", "2023-06-02-preview", "2023-05-02-preview", "2023-04-02-preview", @@ -11326,6 +11387,8 @@ { "resourceType": "locations/operationresults", "apiVersions": [ + "2023-07-02-preview", + "2023-07-01", "2023-06-02-preview", "2023-06-01", "2023-05-02-preview", @@ -11391,6 +11454,8 @@ { "resourceType": "locations/operations", "apiVersions": [ + "2023-07-02-preview", + "2023-07-01", "2023-06-02-preview", "2023-06-01", "2023-05-02-preview", @@ -11456,6 +11521,8 @@ { "resourceType": "locations/orchestrators", "apiVersions": [ + "2023-07-02-preview", + "2023-07-01", "2023-06-02-preview", "2023-06-01", "2023-05-02-preview", @@ -11517,6 +11584,8 @@ { "resourceType": "locations/osOptions", "apiVersions": [ + "2023-07-02-preview", + "2023-07-01", "2023-06-02-preview", "2023-06-01", "2023-05-02-preview", @@ -11562,6 +11631,8 @@ { "resourceType": "managedClusters", "apiVersions": [ + "2023-07-02-preview", + "2023-07-01", "2023-06-02-preview", "2023-06-01", "2023-05-02-preview", @@ -11626,6 +11697,7 @@ { "resourceType": "managedclustersnapshots", "apiVersions": [ + "2023-07-02-preview", "2023-06-02-preview", "2023-05-02-preview", "2023-04-02-preview", @@ -11648,6 +11720,8 @@ { "resourceType": "operations", "apiVersions": [ + "2023-07-02-preview", + "2023-07-01", "2023-06-02-preview", "2023-06-01", "2023-05-02-preview", @@ -11717,6 +11791,8 @@ { "resourceType": "snapshots", "apiVersions": [ + "2023-07-02-preview", + "2023-07-01", "2023-06-02-preview", "2023-06-01", "2023-05-02-preview", @@ -13606,6 +13682,7 @@ { "resourceType": "DataBoxEdgeDevices", "apiVersions": [ + "2023-07-01", "2023-02-01", "2023-01-01-preview", "2022-12-01-preview", @@ -13633,6 +13710,7 @@ { "resourceType": "DataBoxEdgeDevices/checkNameAvailability", "apiVersions": [ + "2023-07-01", "2023-02-01", "2023-01-01-preview", "2022-12-01-preview", @@ -13670,6 +13748,7 @@ { "resourceType": "operations", "apiVersions": [ + "2023-07-01", "2023-02-01", "2023-01-01-preview", "2022-12-01-preview", @@ -14698,6 +14777,7 @@ { "resourceType": "agreements", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14708,6 +14788,7 @@ { "resourceType": "locations", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14718,6 +14799,7 @@ { "resourceType": "locations/operationStatuses", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14738,6 +14820,7 @@ { "resourceType": "monitors", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14748,6 +14831,7 @@ { "resourceType": "monitors/getDefaultKey", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14758,6 +14842,7 @@ { "resourceType": "monitors/listApiKeys", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14768,6 +14853,7 @@ { "resourceType": "monitors/listHosts", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14778,6 +14864,7 @@ { "resourceType": "monitors/listLinkedResources", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14788,6 +14875,7 @@ { "resourceType": "monitors/listMonitoredResources", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14798,6 +14886,7 @@ { "resourceType": "monitors/monitoredSubscriptions", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14808,6 +14897,7 @@ { "resourceType": "monitors/refreshSetPasswordLink", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14818,6 +14908,7 @@ { "resourceType": "monitors/setDefaultKey", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14828,6 +14919,7 @@ { "resourceType": "monitors/singleSignOnConfigurations", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14838,6 +14930,7 @@ { "resourceType": "monitors/tagRules", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14848,6 +14941,7 @@ { "resourceType": "operations", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14858,6 +14952,7 @@ { "resourceType": "registeredSubscriptions", "apiVersions": [ + "2023-07-07", "2023-01-01", "2022-08-01", "2022-06-01", @@ -14868,6 +14963,7 @@ { "resourceType": "subscriptionStatuses", "apiVersions": [ + "2023-07-07", "2023-01-01" ] } @@ -17186,6 +17282,8 @@ { "resourceType": "checkNameAvailability", "apiVersions": [ + "2023-07-01-preview", + "2023-06-15-preview", "2023-06-01", "2023-05-01-preview", "2023-02-01-preview", @@ -17201,6 +17299,8 @@ { "resourceType": "elasticVersions", "apiVersions": [ + "2023-07-01-preview", + "2023-06-15-preview", "2023-06-01", "2023-05-01-preview", "2023-02-01-preview" @@ -17215,6 +17315,8 @@ { "resourceType": "getOrganizationApiKey", "apiVersions": [ + "2023-07-01-preview", + "2023-06-15-preview", "2023-06-01", "2023-05-01-preview", "2023-02-01-preview" @@ -17223,6 +17325,8 @@ { "resourceType": "locations", "apiVersions": [ + "2023-07-01-preview", + "2023-06-15-preview", "2023-06-01", "2023-05-01-preview", "2023-02-01-preview", @@ -17238,6 +17342,8 @@ { "resourceType": "locations/operationStatuses", "apiVersions": [ + "2023-07-01-preview", + "2023-06-15-preview", "2023-06-01", "2023-05-01-preview", "2023-02-01-preview", @@ -17253,6 +17359,8 @@ { "resourceType": "monitors", "apiVersions": [ + "2023-07-01-preview", + "2023-06-15-preview", "2023-06-01", "2023-05-01-preview", "2023-02-01-preview", @@ -17268,6 +17376,8 @@ { "resourceType": "monitors/tagRules", "apiVersions": [ + "2023-07-01-preview", + "2023-06-15-preview", "2023-06-01", "2023-05-01-preview", "2023-02-01-preview", @@ -17283,6 +17393,8 @@ { "resourceType": "operations", "apiVersions": [ + "2023-07-01-preview", + "2023-06-15-preview", "2023-06-01", "2023-05-01-preview", "2023-02-01-preview", @@ -18427,6 +18539,7 @@ { "resourceType": "locations/operationStatuses", "apiVersions": [ + "2023-06-01-preview", "2021-09-15-preview" ] }, @@ -19332,6 +19445,7 @@ { "resourceType": "Locations/OperationStatuses", "apiVersions": [ + "2023-03-15", "2022-05-01-preview", "2021-10-06-preview" ] @@ -20505,6 +20619,7 @@ { "resourceType": "labplans", "apiVersions": [ + "2023-06-07", "2022-08-01", "2021-11-15-preview", "2021-10-01-preview", @@ -20514,6 +20629,7 @@ { "resourceType": "labs", "apiVersions": [ + "2023-06-07", "2022-08-01", "2021-11-15-preview", "2021-10-01-preview", @@ -20523,6 +20639,7 @@ { "resourceType": "locations", "apiVersions": [ + "2023-06-07", "2022-08-01", "2021-11-15-preview", "2021-10-01-preview", @@ -20535,6 +20652,7 @@ { "resourceType": "locations/operationResults", "apiVersions": [ + "2023-06-07", "2022-08-01", "2021-11-15-preview", "2021-10-01-preview", @@ -20552,6 +20670,7 @@ { "resourceType": "locations/usages", "apiVersions": [ + "2023-06-07", "2022-08-01", "2021-11-15-preview" ] @@ -20559,6 +20678,7 @@ { "resourceType": "operations", "apiVersions": [ + "2023-06-07", "2022-08-01", "2021-11-15-preview", "2021-10-01-preview", @@ -23539,6 +23659,7 @@ { "resourceType": "Locations", "apiVersions": [ + "2023-07-01-preview", "2023-06-01", "2022-12-01-privatepreview", "2022-11-01", @@ -23548,6 +23669,7 @@ { "resourceType": "Locations/OperationStatuses", "apiVersions": [ + "2023-07-01-preview", "2023-06-01", "2022-12-01-privatepreview", "2022-11-01", @@ -23557,6 +23679,7 @@ { "resourceType": "Operations", "apiVersions": [ + "2023-07-01-preview", "2023-06-01", "2022-12-01-privatepreview", "2022-11-01", @@ -23566,6 +23689,7 @@ { "resourceType": "packetCoreControlPlaneVersions", "apiVersions": [ + "2023-07-01-preview", "2023-06-01", "2022-12-01-privatepreview", "2022-11-01", @@ -24261,6 +24385,7 @@ { "resourceType": "applicationGatewayAvailableRequestHeaders", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24299,6 +24424,7 @@ { "resourceType": "applicationGatewayAvailableResponseHeaders", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24337,6 +24463,7 @@ { "resourceType": "applicationGatewayAvailableServerVariables", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24375,6 +24502,7 @@ { "resourceType": "applicationGatewayAvailableSslOptions", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24427,6 +24555,7 @@ { "resourceType": "applicationGatewayAvailableWafRuleSets", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24481,6 +24610,7 @@ { "resourceType": "applicationGatewayWebApplicationFirewallPolicies", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24518,6 +24648,7 @@ { "resourceType": "applicationGateways", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24583,6 +24714,7 @@ { "resourceType": "applicationSecurityGroups", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24633,6 +24765,7 @@ { "resourceType": "azureFirewallFqdnTags", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24673,6 +24806,7 @@ { "resourceType": "azureFirewalls", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24717,8 +24851,10 @@ { "resourceType": "azureWebCategories", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", + "2023-01-01-preview", "2022-11-01", "2022-09-01", "2022-07-01", @@ -24739,6 +24875,7 @@ { "resourceType": "bastionHosts", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24778,6 +24915,7 @@ { "resourceType": "bgpServiceCommunities", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24846,7 +24984,6 @@ { "resourceType": "checkTrafficManagerNameAvailability", "apiVersions": [ - "2022-12-01-preview", "2022-04-01-preview", "2022-04-01", "2018-08-01", @@ -24862,12 +24999,14 @@ { "resourceType": "checkTrafficManagerNameAvailabilityV2", "apiVersions": [ - "2022-12-01-preview" + "2022-04-01-preview", + "2022-04-01" ] }, { "resourceType": "cloudServiceSlots", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24879,6 +25018,7 @@ { "resourceType": "connections", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24944,6 +25084,7 @@ { "resourceType": "customIpPrefixes", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -24968,6 +25109,7 @@ { "resourceType": "ddosProtectionPlans", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25035,6 +25177,7 @@ { "resourceType": "dnsOperationResults", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25046,6 +25189,7 @@ { "resourceType": "dnsOperationStatuses", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25078,6 +25222,7 @@ { "resourceType": "dnszones", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25090,6 +25235,7 @@ { "resourceType": "dnszones/A", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25102,6 +25248,7 @@ { "resourceType": "dnszones/AAAA", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25114,6 +25261,7 @@ { "resourceType": "dnszones/CAA", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25124,6 +25272,7 @@ { "resourceType": "dnszones/CNAME", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25133,9 +25282,16 @@ "2015-05-04-preview" ] }, + { + "resourceType": "dnszones/DS", + "apiVersions": [ + "2023-07-01-preview" + ] + }, { "resourceType": "dnszones/MX", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25145,9 +25301,16 @@ "2015-05-04-preview" ] }, + { + "resourceType": "dnszones/NAPTR", + "apiVersions": [ + "2023-07-01-preview" + ] + }, { "resourceType": "dnszones/NS", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25160,6 +25323,7 @@ { "resourceType": "dnszones/PTR", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25172,6 +25336,7 @@ { "resourceType": "dnszones/SOA", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25184,6 +25349,7 @@ { "resourceType": "dnszones/SRV", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25193,9 +25359,16 @@ "2015-05-04-preview" ] }, + { + "resourceType": "dnszones/TLSA", + "apiVersions": [ + "2023-07-01-preview" + ] + }, { "resourceType": "dnszones/TXT", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25208,6 +25381,7 @@ { "resourceType": "dnszones/all", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25217,9 +25391,16 @@ "2015-05-04-preview" ] }, + { + "resourceType": "dnszones/dnssecConfigs", + "apiVersions": [ + "2023-07-01-preview" + ] + }, { "resourceType": "dnszones/recordsets", "apiVersions": [ + "2023-07-01-preview", "2018-05-01", "2018-03-01-preview", "2017-10-01", @@ -25232,6 +25413,7 @@ { "resourceType": "dscpConfigurations", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25256,6 +25438,7 @@ { "resourceType": "expressRouteCircuits", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25321,6 +25504,7 @@ { "resourceType": "expressRouteGateways", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25361,6 +25545,7 @@ { "resourceType": "expressRoutePorts", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25402,6 +25587,7 @@ { "resourceType": "expressRoutePortsLocations", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25442,6 +25628,7 @@ { "resourceType": "expressRouteServiceProviders", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25507,8 +25694,10 @@ { "resourceType": "firewallPolicies", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", + "2023-01-01-preview", "2022-11-01", "2022-09-01", "2022-07-01", @@ -25623,18 +25812,21 @@ { "resourceType": "getDnsResourceReference", "apiVersions": [ + "2023-07-01-preview", "2018-05-01" ] }, { "resourceType": "internalNotify", "apiVersions": [ + "2023-07-01-preview", "2018-05-01" ] }, { "resourceType": "internalPublicIpAddresses", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25647,6 +25839,7 @@ { "resourceType": "ipAllocations", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25675,8 +25868,10 @@ { "resourceType": "ipGroups", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", + "2023-01-01-preview", "2022-11-01", "2022-09-01", "2022-07-01", @@ -25709,6 +25904,7 @@ { "resourceType": "loadBalancers", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25774,6 +25970,7 @@ { "resourceType": "localNetworkGateways", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25839,6 +26036,7 @@ { "resourceType": "locations", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25904,6 +26102,7 @@ { "resourceType": "locations/ApplicationGatewayWafDynamicManifests", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25915,6 +26114,7 @@ { "resourceType": "locations/CheckDnsNameAvailability", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -25980,6 +26180,7 @@ { "resourceType": "locations/autoApprovedPrivateLinkServices", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26015,6 +26216,7 @@ { "resourceType": "locations/availableDelegations", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26059,6 +26261,7 @@ { "resourceType": "locations/availablePrivateEndpointTypes", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26095,6 +26298,7 @@ { "resourceType": "locations/availableServiceAliases", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26127,6 +26331,7 @@ { "resourceType": "locations/bareMetalTenants", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26168,6 +26373,7 @@ { "resourceType": "locations/batchNotifyPrivateEndpointsForResourceMove", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26195,6 +26401,7 @@ { "resourceType": "locations/batchValidatePrivateEndpointsForResourceMove", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26222,6 +26429,7 @@ { "resourceType": "locations/checkAcceleratedNetworkingSupport", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26266,6 +26474,7 @@ { "resourceType": "locations/checkPrivateLinkServiceVisibility", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26301,6 +26510,7 @@ { "resourceType": "locations/commitInternalAzureNetworkManagerConfiguration", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-03-01-preview", "2023-02-01", @@ -26316,6 +26526,7 @@ { "resourceType": "locations/dataTasks", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26348,6 +26559,7 @@ { "resourceType": "locations/effectiveResourceOwnership", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26392,6 +26604,7 @@ { "resourceType": "locations/getAzureNetworkManagerConfiguration", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26414,8 +26627,10 @@ { "resourceType": "locations/hybridEdgeZone", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", + "2023-01-01-preview", "2022-11-01", "2022-09-01", "2022-07-01", @@ -26426,6 +26641,7 @@ { "resourceType": "locations/internalAzureVirtualNetworkManagerOperation", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-03-01-preview", "2023-02-01", @@ -26441,8 +26657,10 @@ { "resourceType": "locations/nfvOperationResults", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", + "2023-01-01-preview", "2022-11-01", "2022-09-01", "2022-07-01", @@ -26491,8 +26709,10 @@ { "resourceType": "locations/nfvOperations", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", + "2023-01-01-preview", "2022-11-01", "2022-09-01", "2022-07-01", @@ -26541,6 +26761,7 @@ { "resourceType": "locations/operationResults", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26606,6 +26827,7 @@ { "resourceType": "locations/operations", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26671,6 +26893,7 @@ { "resourceType": "locations/privateLinkServices", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26698,6 +26921,7 @@ { "resourceType": "locations/publishResources", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26718,6 +26942,7 @@ { "resourceType": "locations/serviceTagDetails", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26736,6 +26961,7 @@ { "resourceType": "locations/serviceTags", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26772,6 +26998,7 @@ { "resourceType": "locations/setAzureNetworkManagerConfiguration", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26794,6 +27021,7 @@ { "resourceType": "locations/setLoadBalancerFrontendPublicIpAddresses", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26819,6 +27047,7 @@ { "resourceType": "locations/setResourceOwnership", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26863,6 +27092,7 @@ { "resourceType": "locations/supportedVirtualMachineSizes", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26907,6 +27137,7 @@ { "resourceType": "locations/usages", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -26972,6 +27203,7 @@ { "resourceType": "locations/validateResourceOwnership", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27016,6 +27248,7 @@ { "resourceType": "locations/virtualNetworkAvailableEndpointServices", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27069,6 +27302,7 @@ { "resourceType": "natGateways", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27119,6 +27353,7 @@ { "resourceType": "networkIntentPolicies", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27163,6 +27398,7 @@ { "resourceType": "networkInterfaces", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27228,6 +27464,7 @@ { "resourceType": "networkManagerConnections", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-03-01-preview", "2023-02-01", @@ -27243,6 +27480,7 @@ { "resourceType": "networkManagers", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-03-01-preview", "2023-02-01", @@ -27258,6 +27496,7 @@ { "resourceType": "networkProfiles", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27301,6 +27540,7 @@ { "resourceType": "networkSecurityGroups", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27366,8 +27606,10 @@ { "resourceType": "networkVirtualApplianceSkus", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", + "2023-01-01-preview", "2022-11-01", "2022-09-01", "2022-07-01", @@ -27393,8 +27635,10 @@ { "resourceType": "networkVirtualAppliances", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", + "2023-01-01-preview", "2022-11-01", "2022-09-01", "2022-07-01", @@ -27422,6 +27666,7 @@ { "resourceType": "networkWatchers", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27487,6 +27732,7 @@ { "resourceType": "networkWatchers/connectionMonitors", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27537,6 +27783,7 @@ { "resourceType": "networkWatchers/flowLogs", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27587,6 +27834,7 @@ { "resourceType": "networkWatchers/lenses", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27637,6 +27885,7 @@ { "resourceType": "networkWatchers/pingMeshes", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27687,6 +27936,7 @@ { "resourceType": "operations", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27752,6 +28002,7 @@ { "resourceType": "p2sVpnGateways", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27903,6 +28154,7 @@ { "resourceType": "privateEndpointRedirectMaps", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27936,6 +28188,7 @@ { "resourceType": "privateEndpoints", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -27972,6 +28225,7 @@ { "resourceType": "privateEndpoints/privateLinkServiceProxies", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28008,6 +28262,7 @@ { "resourceType": "privateLinkServices", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28048,6 +28303,7 @@ { "resourceType": "publicIPAddresses", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28113,6 +28369,7 @@ { "resourceType": "publicIPPrefixes", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28154,6 +28411,7 @@ { "resourceType": "routeFilters", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28219,6 +28477,7 @@ { "resourceType": "routeTables", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28284,6 +28543,7 @@ { "resourceType": "securityPartnerProviders", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28312,6 +28572,7 @@ { "resourceType": "serviceEndpointPolicies", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28359,7 +28620,6 @@ { "resourceType": "trafficManagerGeographicHierarchies", "apiVersions": [ - "2022-12-01-preview", "2022-04-01-preview", "2022-04-01", "2018-08-01", @@ -28383,7 +28643,6 @@ { "resourceType": "trafficmanagerprofiles", "apiVersions": [ - "2022-12-01-preview", "2022-04-01-preview", "2022-04-01", "2018-08-01", @@ -28399,7 +28658,6 @@ { "resourceType": "trafficmanagerprofiles/azureendpoints", "apiVersions": [ - "2022-12-01-preview", "2022-04-01-preview", "2022-04-01", "2018-08-01", @@ -28415,7 +28673,6 @@ { "resourceType": "trafficmanagerprofiles/externalendpoints", "apiVersions": [ - "2022-12-01-preview", "2022-04-01-preview", "2022-04-01", "2018-08-01", @@ -28443,7 +28700,6 @@ { "resourceType": "trafficmanagerprofiles/nestedendpoints", "apiVersions": [ - "2022-12-01-preview", "2022-04-01-preview", "2022-04-01", "2018-08-01", @@ -28459,6 +28715,7 @@ { "resourceType": "virtualHubs", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28509,6 +28766,7 @@ { "resourceType": "virtualNetworkGateways", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28574,6 +28832,7 @@ { "resourceType": "virtualNetworkTaps", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28614,6 +28873,7 @@ { "resourceType": "virtualNetworks", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28693,6 +28953,7 @@ { "resourceType": "virtualNetworks/listNetworkManagerEffectiveConnectivityConfigurations", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-03-01-preview", "2023-02-01", @@ -28708,6 +28969,7 @@ { "resourceType": "virtualNetworks/listNetworkManagerEffectiveSecurityAdminRules", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-03-01-preview", "2023-02-01", @@ -28729,6 +28991,7 @@ { "resourceType": "virtualNetworks/taggedTrafficConsumers", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28794,8 +29057,10 @@ { "resourceType": "virtualRouters", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", + "2023-01-01-preview", "2022-11-01", "2022-09-01", "2022-07-01", @@ -28828,6 +29093,7 @@ { "resourceType": "virtualWans", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28878,6 +29144,7 @@ { "resourceType": "vpnGateways", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28928,6 +29195,7 @@ { "resourceType": "vpnServerConfigurations", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -28960,6 +29228,7 @@ { "resourceType": "vpnSites", "apiVersions": [ + "2023-05-01", "2023-04-01", "2023-02-01", "2022-11-01", @@ -29748,6 +30017,7 @@ { "resourceType": "deletedWorkspaces", "apiVersions": [ + "2022-10-01", "2021-12-01-preview", "2020-10-01", "2020-08-01", @@ -30927,12 +31197,19 @@ { "resourceType": "operations", "apiVersions": [ + "2023-06-01-preview", "2022-11-01-preview", "2021-12-01", "2021-07-01", "2020-12-01-preview" ] }, + { + "resourceType": "policies", + "apiVersions": [ + "2023-06-01-preview" + ] + }, { "resourceType": "removeDefaultAccount", "apiVersions": [ @@ -33067,6 +33344,12 @@ "2021-07-01-alpha" ] }, + { + "resourceType": "customRecommendations", + "apiVersions": [ + "2023-05-01-preview" + ] + }, { "resourceType": "dataCollectionAgents", "apiVersions": [ @@ -33126,6 +33409,12 @@ "2021-01-15-preview" ] }, + { + "resourceType": "integrations", + "apiVersions": [ + "2023-07-01-preview" + ] + }, { "resourceType": "iotSecuritySolutions", "apiVersions": [ @@ -33386,6 +33675,12 @@ "2015-06-01-preview" ] }, + { + "resourceType": "securityStandards", + "apiVersions": [ + "2023-05-01-preview" + ] + }, { "resourceType": "securityStatuses", "apiVersions": [ @@ -33435,6 +33730,12 @@ "2020-07-01-preview" ] }, + { + "resourceType": "standardAssignments", + "apiVersions": [ + "2023-05-01-preview" + ] + }, { "resourceType": "standards", "apiVersions": [ @@ -41465,6 +41766,35 @@ } ] }, + { + "namespace": "Microsoft.StorageTasks", + "resourceTypes": [ + { + "resourceType": "locations", + "apiVersions": [ + "2023-01-01" + ] + }, + { + "resourceType": "locations/asyncoperations", + "apiVersions": [ + "2023-01-01" + ] + }, + { + "resourceType": "operations", + "apiVersions": [ + "2023-01-01" + ] + }, + { + "resourceType": "storageTasks", + "apiVersions": [ + "2023-01-01" + ] + } + ] + }, { "namespace": "Microsoft.StreamAnalytics", "resourceTypes": [ @@ -42014,6 +42344,7 @@ { "resourceType": "locations", "apiVersions": [ + "2023-06-01-preview", "2023-05-15-preview", "2023-01-15-preview", "2023-01-01-preview", @@ -42034,6 +42365,7 @@ { "resourceType": "locations/operationstatuses", "apiVersions": [ + "2023-06-01-preview", "2023-05-15-preview", "2023-01-15-preview", "2023-01-01-preview", @@ -42054,6 +42386,7 @@ { "resourceType": "operations", "apiVersions": [ + "2023-06-01-preview", "2023-05-15-preview", "2023-01-15-preview", "2023-01-01-preview", @@ -42074,6 +42407,7 @@ { "resourceType": "skus", "apiVersions": [ + "2023-06-01-preview", "2023-05-15-preview", "2023-01-15-preview", "2023-01-01-preview", @@ -42094,6 +42428,7 @@ { "resourceType": "testBaseAccounts", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42108,12 +42443,14 @@ { "resourceType": "testBaseAccounts/actionRequests", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview" ] }, { "resourceType": "testBaseAccounts/availableInplaceUpgradeOSs", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview" @@ -42122,6 +42459,7 @@ { "resourceType": "testBaseAccounts/availableOSs", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42136,6 +42474,7 @@ { "resourceType": "testBaseAccounts/customerEvents", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42150,6 +42489,7 @@ { "resourceType": "testBaseAccounts/draftPackages", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview" ] @@ -42157,6 +42497,7 @@ { "resourceType": "testBaseAccounts/emailEvents", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42171,6 +42512,7 @@ { "resourceType": "testBaseAccounts/featureUpdateSupportedOses", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42180,6 +42522,7 @@ { "resourceType": "testBaseAccounts/firstPartyApps", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview" @@ -42188,6 +42531,7 @@ { "resourceType": "testBaseAccounts/flightingRings", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42199,9 +42543,22 @@ "2020-12-16-preview" ] }, + { + "resourceType": "testBaseAccounts/galleryApps", + "apiVersions": [ + "2023-06-01-preview" + ] + }, + { + "resourceType": "testBaseAccounts/galleryApps/galleryAppSkus", + "apiVersions": [ + "2023-06-01-preview" + ] + }, { "resourceType": "testBaseAccounts/packages", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42216,6 +42573,7 @@ { "resourceType": "testBaseAccounts/packages/favoriteProcesses", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42230,6 +42588,7 @@ { "resourceType": "testBaseAccounts/packages/osUpdates", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42244,6 +42603,7 @@ { "resourceType": "testBaseAccounts/packages/testResults", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42258,6 +42618,7 @@ { "resourceType": "testBaseAccounts/packages/testResults/analysisResults", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42272,6 +42633,7 @@ { "resourceType": "testBaseAccounts/testSummaries", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42286,6 +42648,7 @@ { "resourceType": "testBaseAccounts/testTypes", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -42300,6 +42663,7 @@ { "resourceType": "testBaseAccounts/usages", "apiVersions": [ + "2023-06-01-preview", "2023-01-01-preview", "2022-12-01-preview", "2022-11-01-preview", @@ -44347,6 +44711,7 @@ { "resourceType": "Locations", "apiVersions": [ + "2023-10-01-preview", "2023-04-01", "2022-11-01-preview", "2022-10-15-preview", @@ -44373,6 +44738,7 @@ { "resourceType": "Operations", "apiVersions": [ + "2023-10-01-preview", "2023-04-01", "2022-11-01-preview", "2022-10-15-preview", diff --git a/azure-rest-api-specs b/azure-rest-api-specs index b5f54222a4a9..0f8c649c09e5 160000 --- a/azure-rest-api-specs +++ b/azure-rest-api-specs @@ -1 +1 @@ -Subproject commit b5f54222a4a925eb0239cd6653ab8b27185195f4 +Subproject commit 0f8c649c09e568bf3c0d72a114ede33c418a2a49 diff --git a/provider/cmd/pulumi-resource-azure-native/schema.json b/provider/cmd/pulumi-resource-azure-native/schema.json index cf0b1d35e5c2..1ff546c2151d 100644 --- a/provider/cmd/pulumi-resource-azure-native/schema.json +++ b/provider/cmd/pulumi-resource-azure-native/schema.json @@ -163,6 +163,7 @@ "migrate": "Migrate", "mixedreality": "MixedReality", "mobilenetwork": "MobileNetwork", + "mobilepacketcore": "MobilePacketCore", "monitor": "Monitor", "netapp": "NetApp", "network": "Network", @@ -218,6 +219,7 @@ "storagemover": "StorageMover", "storagepool": "StoragePool", "storagesync": "StorageSync", + "storagetasks": "StorageTasks", "storsimple": "StorSimple", "streamanalytics": "StreamAnalytics", "subscription": "Subscription", @@ -395,6 +397,7 @@ "github.com/pulumi/pulumi-azure-native-sdk/v2/migrate/v2": "migrate", "github.com/pulumi/pulumi-azure-native-sdk/v2/mixedreality/v2": "mixedreality", "github.com/pulumi/pulumi-azure-native-sdk/v2/mobilenetwork/v2": "mobilenetwork", + "github.com/pulumi/pulumi-azure-native-sdk/v2/mobilepacketcore/v2": "mobilepacketcore", "github.com/pulumi/pulumi-azure-native-sdk/v2/monitor/v2": "monitor", "github.com/pulumi/pulumi-azure-native-sdk/v2/netapp/v2": "netapp", "github.com/pulumi/pulumi-azure-native-sdk/v2/network/v2": "network", @@ -450,6 +453,7 @@ "github.com/pulumi/pulumi-azure-native-sdk/v2/storagemover/v2": "storagemover", "github.com/pulumi/pulumi-azure-native-sdk/v2/storagepool/v2": "storagepool", "github.com/pulumi/pulumi-azure-native-sdk/v2/storagesync/v2": "storagesync", + "github.com/pulumi/pulumi-azure-native-sdk/v2/storagetasks/v2": "storagetasks", "github.com/pulumi/pulumi-azure-native-sdk/v2/storsimple/v2": "storsimple", "github.com/pulumi/pulumi-azure-native-sdk/v2/streamanalytics/v2": "streamanalytics", "github.com/pulumi/pulumi-azure-native-sdk/v2/subscription/v2": "subscription", @@ -622,6 +626,7 @@ "migrate": "migrate", "mixedreality": "mixedreality", "mobilenetwork": "mobilenetwork", + "mobilepacketcore": "mobilepacketcore", "monitor": "monitor", "netapp": "netapp", "network": "network", @@ -677,6 +682,7 @@ "storagemover": "storagemover", "storagepool": "storagepool", "storagesync": "storagesync", + "storagetasks": "storagetasks", "storsimple": "storsimple", "streamanalytics": "streamanalytics", "subscription": "subscription", @@ -853,6 +859,7 @@ "migrate": "migrate", "mixedreality": "mixedreality", "mobilenetwork": "mobilenetwork", + "mobilepacketcore": "mobilepacketcore", "monitor": "monitor", "netapp": "netapp", "network": "network", @@ -908,6 +915,7 @@ "storagemover": "storagemover", "storagepool": "storagepool", "storagesync": "storagesync", + "storagetasks": "storagetasks", "storsimple": "storsimple", "streamanalytics": "streamanalytics", "subscription": "subscription", @@ -14812,7 +14820,7 @@ }, "serviceId": { "type": "string", - "description": "ServiceInstanceEntity GUID which uniquely identifies a created resource" + "description": "ServiceInstanceEntity Id which uniquely identifies a created resource" }, "version": { "type": "integer", @@ -16133,6 +16141,32 @@ }, "type": "object" }, + "azure-native:appplatform:DevToolPortalComponentResponse": { + "properties": { + "instances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:appplatform:DevToolPortalInstanceResponse" + }, + "description": "Collection of instances belong to Dev Tool Portal." + }, + "name": { + "type": "string" + }, + "resourceRequests": { + "type": "object", + "$ref": "#/types/azure-native:appplatform:DevToolPortalResourceRequestsResponse", + "description": "The requested resource quantity for required CPU and Memory." + } + }, + "type": "object", + "required": [ + "instances", + "name", + "resourceRequests" + ] + }, "azure-native:appplatform:DevToolPortalFeatureDetail": { "description": "Detail settings for Dev Tool Portal feature", "properties": { @@ -16257,18 +16291,18 @@ "azure-native:appplatform:DevToolPortalPropertiesResponse": { "description": "Dev Tool Portal properties payload", "properties": { - "features": { - "type": "object", - "$ref": "#/types/azure-native:appplatform:DevToolPortalFeatureSettingsResponse", - "description": "Settings for Dev Tool Portal" - }, - "instances": { + "components": { "type": "array", "items": { "type": "object", - "$ref": "#/types/azure-native:appplatform:DevToolPortalInstanceResponse" + "$ref": "#/types/azure-native:appplatform:DevToolPortalComponentResponse" }, - "description": "Collection of instances belong to Dev Tool Portal." + "description": "Collection of components belong to Dev Tool Portal." + }, + "features": { + "type": "object", + "$ref": "#/types/azure-native:appplatform:DevToolPortalFeatureSettingsResponse", + "description": "Settings for Dev Tool Portal" }, "provisioningState": { "type": "string", @@ -16279,11 +16313,6 @@ "description": "Indicates whether the resource exposes public endpoint", "default": false }, - "resourceRequests": { - "type": "object", - "$ref": "#/types/azure-native:appplatform:DevToolPortalResourceRequestsResponse", - "description": "The requested resource quantity for required CPU and Memory." - }, "ssoProperties": { "type": "object", "$ref": "#/types/azure-native:appplatform:DevToolPortalSsoPropertiesResponse", @@ -16296,9 +16325,8 @@ }, "type": "object", "required": [ - "instances", + "components", "provisioningState", - "resourceRequests", "url" ] }, @@ -72750,162 +72778,479 @@ } ] }, - "azure-native:containerstorage:DiskPoolProperties": { - "description": "Disk Pool Properties", + "azure-native:containerstorage:Assignment": { + "description": "Assignment Properties", "properties": { - "csiParams": { + "id": { + "type": "string", + "description": "Resource id for the assigned resource" + } + }, + "type": "object", + "required": [ + "id" + ] + }, + "azure-native:containerstorage:AssignmentResponse": { + "description": "Assignment Properties", + "properties": { + "id": { + "type": "string", + "description": "Resource id for the assigned resource" + }, + "status": { "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "List of KV pairs to set in StorageClass to configure CSI driver." + "$ref": "#/types/azure-native:containerstorage:AssignmentStatusResponse", + "description": "Indicates if the assignment is in a usable state" + } + }, + "type": "object", + "required": [ + "id", + "status" + ] + }, + "azure-native:containerstorage:AssignmentStatusResponse": { + "description": "Status of the assignment resource", + "properties": { + "message": { + "type": "string", + "description": "Reason for the status" }, + "state": { + "type": "string", + "description": "State of the assignment resource" + } + }, + "type": "object", + "required": [ + "state" + ] + }, + "azure-native:containerstorage:AzureDisk": { + "description": "Azure Disk Pool Properties", + "properties": { "disks": { "type": "array", "items": { - "type": "string" + "type": "object", + "$ref": "#/types/azure-native:containerstorage:Disk" }, "description": "Only required if individual disk selection is desired. Path to disk, e.g. \u003cnodename\u003e:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." }, - "maxVolumeCapacityGiB": { - "type": "number", - "description": "Maximum capacity of the volumes in GiB the user intends to create. Default 512.", - "default": 512 + "encryption": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:Encryption", + "description": "Encryption specifies the encryption configuration for the Azure Disk pool" + }, + "skuName": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:containerstorage:AzureDiskSkuName" + } + ], + "description": "Sku name" } }, "type": "object" }, - "azure-native:containerstorage:DiskPoolPropertiesResponse": { - "description": "Disk Pool Properties", + "azure-native:containerstorage:AzureDiskResponse": { + "description": "Azure Disk Pool Properties", "properties": { - "csiParams": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "List of KV pairs to set in StorageClass to configure CSI driver." - }, "disks": { "type": "array", "items": { - "type": "string" + "type": "object", + "$ref": "#/types/azure-native:containerstorage:DiskResponse" }, "description": "Only required if individual disk selection is desired. Path to disk, e.g. \u003cnodename\u003e:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." }, - "maxVolumeCapacityGiB": { - "type": "number", - "description": "Maximum capacity of the volumes in GiB the user intends to create. Default 512.", - "default": 512 + "encryption": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:EncryptionResponse", + "description": "Encryption specifies the encryption configuration for the Azure Disk pool" + }, + "resourceGroup": { + "type": "string", + "description": "Managed resource group for the pool." + }, + "skuName": { + "type": "string", + "description": "Sku name" } }, - "type": "object" + "type": "object", + "required": [ + "resourceGroup" + ] }, - "azure-native:containerstorage:ElasticSanPoolProperties": { - "description": "Elastic San Pool Properties", + "azure-native:containerstorage:AzureDiskSkuName": { + "description": "Sku name", + "type": "string", + "enum": [ + { + "name": "Premium_LRS", + "description": "Premium_LRS SKU", + "value": "Premium_LRS" + }, + { + "name": "Standard_LRS", + "description": "Standard_LRS SKU", + "value": "Standard_LRS" + }, + { + "name": "StandardSSD_LRS", + "description": "StandardSSD_LRS SKU", + "value": "StandardSSD_LRS" + }, + { + "name": "UltraSSD_LRS", + "description": "UltraSSD_LRS SKU", + "value": "UltraSSD_LRS" + }, + { + "name": "Premium_ZRS", + "description": "Premium_ZRS SKU", + "value": "Premium_ZRS" + }, + { + "name": "PremiumV2_LRS", + "description": "PremiumV2_LRS SKU", + "value": "PremiumV2_LRS" + }, + { + "name": "StandardSSD_ZRS", + "description": "StandardSSD_ZRS SKU", + "value": "StandardSSD_ZRS" + } + ] + }, + "azure-native:containerstorage:Disk": { + "description": "Model for disk for that pool is using", "properties": { - "resourceGroup": { + "id": { "type": "string", - "description": "Resource group of an existing SAN." + "description": "ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460" }, - "sanName": { + "reference": { "type": "string", - "description": "Name of an existing SAN." + "description": "Reference is the location of the disk in an external system." + } + }, + "type": "object", + "required": [ + "id", + "reference" + ] + }, + "azure-native:containerstorage:DiskResponse": { + "description": "Model for disk for that pool is using", + "properties": { + "id": { + "type": "string", + "description": "ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460" }, - "volumeGroup": { + "reference": { "type": "string", - "description": "Volume group of an existing SAN." + "description": "Reference is the location of the disk in an external system." } }, "type": "object", "required": [ - "resourceGroup", - "sanName", - "volumeGroup" + "id", + "reference" ] }, - "azure-native:containerstorage:ElasticSanPoolPropertiesResponse": { + "azure-native:containerstorage:ElasticSan": { "description": "Elastic San Pool Properties", "properties": { + "encryption": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:Encryption", + "description": "Encryption specifies the encryption configuration for the Azure Disk pool" + }, + "skuName": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:containerstorage:ElasticSanSkuName" + } + ], + "description": "Sku name" + } + }, + "type": "object" + }, + "azure-native:containerstorage:ElasticSanResponse": { + "description": "Elastic San Pool Properties", + "properties": { + "encryption": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:EncryptionResponse", + "description": "Encryption specifies the encryption configuration for the Azure Disk pool" + }, "resourceGroup": { "type": "string", - "description": "Resource group of an existing SAN." + "description": "Managed resource group for the pool." }, - "sanName": { + "skuName": { "type": "string", - "description": "Name of an existing SAN." + "description": "Sku name" + } + }, + "type": "object", + "required": [ + "resourceGroup" + ] + }, + "azure-native:containerstorage:ElasticSanSkuName": { + "description": "Sku name", + "type": "string", + "enum": [ + { + "name": "Premium_LRS", + "description": "Premium_LRS SKU", + "value": "Premium_LRS" }, - "volumeGroup": { + { + "name": "Premium_ZRS", + "description": "Premium_ZRS SKU", + "value": "Premium_ZRS" + } + ] + }, + "azure-native:containerstorage:ElasticSanVolumePropertiesResponse": { + "description": "Properties of the ElasticSAN iSCSI target", + "properties": { + "targetIqn": { "type": "string", - "description": "Volume group of an existing SAN." + "description": "iSCSI Target IQN (iSCSI Qualified Name); example: \"iqn.2005-03.org.iscsi:server\"" + }, + "targetPortalHostname": { + "type": "string", + "description": "iSCSI Target Portal Host Name" + }, + "targetPortalPort": { + "type": "integer", + "description": "iSCSI Target Portal Port" } }, "type": "object", "required": [ - "resourceGroup", - "sanName", - "volumeGroup" + "targetIqn", + "targetPortalHostname", + "targetPortalPort" ] }, - "azure-native:containerstorage:EphemeralPoolProperties": { - "description": "Ephemeral Pool Properties", + "azure-native:containerstorage:Encryption": { + "description": "Encryption key properties for the pool.", "properties": { - "diskFormat": { - "type": "boolean", - "description": "Consent to format the local disks.", - "default": false + "identity": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ManagedServiceIdentity", + "description": "The managed service identities assigned to this resource." + }, + "keyName": { + "type": "string", + "description": "The name of the key vault key." + }, + "keyVaultUri": { + "type": "string", + "description": "The URI of the key vault." + } + }, + "type": "object", + "required": [ + "keyName", + "keyVaultUri" + ] + }, + "azure-native:containerstorage:EncryptionResponse": { + "description": "Encryption key properties for the pool.", + "properties": { + "identity": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ManagedServiceIdentityResponse", + "description": "The managed service identities assigned to this resource." + }, + "keyName": { + "type": "string", + "description": "The name of the key vault key." }, - "diskSelector": { + "keyVaultUri": { + "type": "string", + "description": "The URI of the key vault." + } + }, + "type": "object", + "required": [ + "keyName", + "keyVaultUri" + ] + }, + "azure-native:containerstorage:EphemeralDisk": { + "description": "Ephemeral Disk Pool Properties", + "properties": { + "disks": { "type": "array", "items": { - "type": "string" + "type": "object", + "$ref": "#/types/azure-native:containerstorage:Disk" }, - "description": "Template name or KV pairs containing disk selection criteria, e.g. model=\"Microsoft NVMe Direct Disk\" to match all Lsv2 NVMe disks." + "description": "Only required if individual disk selection is desired. Path to disk, e.g. \u003cnodename\u003e:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." }, + "replicas": { + "type": "number", + "description": "The number of data copies. Default 3.", + "default": 3 + } + }, + "type": "object" + }, + "azure-native:containerstorage:EphemeralDiskResponse": { + "description": "Ephemeral Disk Pool Properties", + "properties": { "disks": { "type": "array", "items": { - "type": "string" + "type": "object", + "$ref": "#/types/azure-native:containerstorage:DiskResponse" }, "description": "Only required if individual disk selection is desired. Path to disk, e.g. \u003cnodename\u003e:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." + }, + "replicas": { + "type": "number", + "description": "The number of data copies. Default 3.", + "default": 3 } }, - "type": "object", - "required": [ - "diskSelector", - "disks" - ] + "type": "object" }, - "azure-native:containerstorage:EphemeralPoolPropertiesResponse": { - "description": "Ephemeral Pool Properties", + "azure-native:containerstorage:ManagedServiceIdentity": { + "description": "Managed service identity (system assigned and/or user assigned identities)", "properties": { - "diskFormat": { - "type": "boolean", - "description": "Consent to format the local disks.", - "default": false + "type": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:containerstorage:ManagedServiceIdentityType" + } + ], + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)." }, - "diskSelector": { + "userAssignedIdentities": { "type": "array", "items": { "type": "string" }, - "description": "Template name or KV pairs containing disk selection criteria, e.g. model=\"Microsoft NVMe Direct Disk\" to match all Lsv2 NVMe disks." + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "azure-native:containerstorage:ManagedServiceIdentityResponse": { + "description": "Managed service identity (system assigned and/or user assigned identities)", + "properties": { + "principalId": { + "type": "string", + "description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity." }, - "disks": { - "type": "array", - "items": { - "type": "string" + "tenantId": { + "type": "string", + "description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)." + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:UserAssignedIdentityResponse" }, - "description": "Only required if individual disk selection is desired. Path to disk, e.g. \u003cnodename\u003e:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." } }, "type": "object", "required": [ - "diskSelector", - "disks" + "principalId", + "tenantId", + "type" ] }, + "azure-native:containerstorage:ManagedServiceIdentityType": { + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + "type": "string", + "enum": [ + { + "value": "None" + }, + { + "value": "SystemAssigned" + }, + { + "value": "UserAssigned" + }, + { + "value": "SystemAssigned, UserAssigned" + } + ] + }, + "azure-native:containerstorage:PoolType": { + "description": "Type of the Pool: ephemeralDisk, azureDisk, or elasticsan", + "properties": { + "azureDisk": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:AzureDisk", + "description": "Disk Pool Properties" + }, + "elasticSan": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ElasticSan", + "description": "Elastic San Pool Properties" + }, + "ephemeralDisk": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:EphemeralDisk", + "description": "Ephemeral Pool Properties" + } + }, + "type": "object" + }, + "azure-native:containerstorage:PoolTypeResponse": { + "description": "Type of the Pool: ephemeralDisk, azureDisk, or elasticsan", + "properties": { + "azureDisk": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:AzureDiskResponse", + "description": "Disk Pool Properties" + }, + "elasticSan": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ElasticSanResponse", + "description": "Elastic San Pool Properties" + }, + "ephemeralDisk": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:EphemeralDiskResponse", + "description": "Ephemeral Pool Properties" + } + }, + "type": "object" + }, "azure-native:containerstorage:ReclaimPolicy": { - "description": "Reclaim Policy, Delete or Retain", + "description": "ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted", "type": "string", "enum": [ { @@ -72920,6 +73265,67 @@ } ] }, + "azure-native:containerstorage:Requests": { + "description": "Requests for capacity for the pool.", + "properties": { + "storage": { + "type": "number", + "description": "Requested capacity of the pool in GiB.", + "default": 1024 + } + }, + "type": "object" + }, + "azure-native:containerstorage:RequestsResponse": { + "description": "Requests for capacity for the pool.", + "properties": { + "storage": { + "type": "number", + "description": "Requested capacity of the pool in GiB.", + "default": 1024 + } + }, + "type": "object" + }, + "azure-native:containerstorage:ResourceOperationalStatusResponse": { + "description": "Status of the resource", + "properties": { + "message": { + "type": "string", + "description": "Reason for state." + }, + "state": { + "type": "string", + "description": "state of the resource" + } + }, + "type": "object", + "required": [ + "state" + ] + }, + "azure-native:containerstorage:Resources": { + "description": "Resource Requests for the pool.", + "properties": { + "requests": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:Requests", + "description": "Requests for capacity for the pool." + } + }, + "type": "object" + }, + "azure-native:containerstorage:ResourcesResponse": { + "description": "Resource Requests for the pool.", + "properties": { + "requests": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:RequestsResponse", + "description": "Requests for capacity for the pool." + } + }, + "type": "object" + }, "azure-native:containerstorage:SystemDataResponse": { "description": "Metadata pertaining to creation and last modification of the resource.", "properties": { @@ -72950,19 +73356,56 @@ }, "type": "object" }, - "azure-native:containerstorage:VolumeMode": { - "description": "Indicates how the volumes created from the snapshot should be attached", + "azure-native:containerstorage:UserAssignedIdentityResponse": { + "description": "User assigned identity properties", + "properties": { + "clientId": { + "type": "string", + "description": "The client ID of the assigned identity." + }, + "principalId": { + "type": "string", + "description": "The principal ID of the assigned identity." + } + }, + "type": "object", + "required": [ + "clientId", + "principalId" + ] + }, + "azure-native:containerstorage:VolumeTypeResponse": { + "description": "Properties of the volume", + "properties": { + "elasticSan": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ElasticSanVolumePropertiesResponse", + "description": "Properties of the ElasticSAN iSCSI target" + } + }, + "type": "object", + "required": [ + "elasticSan" + ] + }, + "azure-native:containerstorage:Zone": { + "description": "Availability Zones", "type": "string", "enum": [ { - "name": "Filesystem", - "description": "FileSystem volume mode", - "value": "Filesystem" + "name": "Zone1", + "description": "First availability zone.", + "value": "1" + }, + { + "name": "Zone2", + "description": "Second availability zone.", + "value": "2" }, { - "name": "Raw", - "description": "Raw volume mode", - "value": "Raw" + "name": "Zone3", + "description": "Third availability zone.", + "value": "3" } ] }, @@ -179603,6 +180046,18 @@ }, "type": "object" }, + "azure-native:desktopvirtualization:SessionHandlingOperation": { + "description": "Action to be taken after a logoff during the ramp up period.", + "type": "string", + "enum": [ + { + "value": "None" + }, + { + "value": "Deallocate" + } + ] + }, "azure-native:desktopvirtualization:SessionHostComponentUpdateType": { "description": "The type of maintenance for session host components.", "type": "string", @@ -179629,6 +180084,18 @@ } ] }, + "azure-native:desktopvirtualization:SetStartVMOnConnect": { + "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually.", + "type": "string", + "enum": [ + { + "value": "Enable" + }, + { + "value": "Disable" + } + ] + }, "azure-native:desktopvirtualization:SkuTier": { "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT.", "type": "string", @@ -179647,6 +180114,24 @@ } ] }, + "azure-native:desktopvirtualization:StartupBehavior": { + "description": "The desired startup behavior during the ramp up period for personal vms in the hostpool.", + "type": "string", + "enum": [ + { + "description": "Session hosts will not be started by the service. This setting depends on Start VM on Connect to be enabled to start the session hosts.", + "value": "None" + }, + { + "description": "Session hosts with an assigned user will be started during Ramp Up", + "value": "WithAssignedUser" + }, + { + "description": "All personal session hosts in the hostpool will be started during ramp up.", + "value": "All" + } + ] + }, "azure-native:desktopvirtualization:StopHostsWhen": { "description": "Specifies when to stop hosts during ramp down period.", "type": "string", @@ -202964,6 +203449,29 @@ }, "type": "object" }, + "azure-native:hdinsight:AksClusterProfileResponseAksClusterAgentPoolIdentityProfile": { + "description": "Identity properties of the AKS cluster agentpool MSI", + "properties": { + "msiClientId": { + "type": "string", + "description": "ClientId of the MSI." + }, + "msiObjectId": { + "type": "string", + "description": "ObjectId of the MSI." + }, + "msiResourceId": { + "type": "string", + "description": "ResourceId of the MSI." + } + }, + "type": "object", + "required": [ + "msiClientId", + "msiObjectId", + "msiResourceId" + ] + }, "azure-native:hdinsight:ApplicationGetEndpoint": { "description": "Gets the application SSH endpoint", "properties": { @@ -203753,6 +204261,145 @@ "tenantId" ] }, + "azure-native:hdinsight:ClusterPoolResourcePropertiesClusterPoolProfile": { + "description": "CLuster pool profile.", + "properties": { + "clusterPoolVersion": { + "type": "string", + "description": "Cluster pool version is a 2-part version." + } + }, + "type": "object", + "required": [ + "clusterPoolVersion" + ] + }, + "azure-native:hdinsight:ClusterPoolResourcePropertiesComputeProfile": { + "description": "CLuster pool compute profile.", + "properties": { + "vmSize": { + "type": "string", + "description": "The virtual machine SKU." + } + }, + "type": "object", + "required": [ + "vmSize" + ] + }, + "azure-native:hdinsight:ClusterPoolResourcePropertiesLogAnalyticsProfile": { + "description": "Cluster pool log analytics profile to enable OMS agent for AKS cluster.", + "properties": { + "enabled": { + "type": "boolean", + "description": "True if log analytics is enabled for cluster pool, otherwise false." + }, + "workspaceId": { + "type": "string", + "description": "Log analytics workspace to associate with the OMS agent." + } + }, + "type": "object", + "required": [ + "enabled" + ] + }, + "azure-native:hdinsight:ClusterPoolResourcePropertiesNetworkProfile": { + "description": "Cluster pool network profile.", + "properties": { + "subnetId": { + "type": "string", + "description": "Cluster pool subnet resource id." + } + }, + "type": "object", + "required": [ + "subnetId" + ] + }, + "azure-native:hdinsight:ClusterPoolResourcePropertiesResponseAksClusterProfile": { + "description": "Properties of underlying AKS cluster.", + "properties": { + "aksClusterAgentPoolIdentityProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:AksClusterProfileResponseAksClusterAgentPoolIdentityProfile", + "description": "Identity properties of the AKS cluster agentpool MSI" + }, + "aksClusterResourceId": { + "type": "string", + "description": "ARM Resource ID of the AKS cluster" + }, + "aksVersion": { + "type": "string", + "description": "AKS control plane and default node pool version of this ClusterPool" + } + }, + "type": "object", + "required": [ + "aksVersion" + ] + }, + "azure-native:hdinsight:ClusterPoolResourcePropertiesResponseClusterPoolProfile": { + "description": "CLuster pool profile.", + "properties": { + "clusterPoolVersion": { + "type": "string", + "description": "Cluster pool version is a 2-part version." + } + }, + "type": "object", + "required": [ + "clusterPoolVersion" + ] + }, + "azure-native:hdinsight:ClusterPoolResourcePropertiesResponseComputeProfile": { + "description": "CLuster pool compute profile.", + "properties": { + "count": { + "type": "integer", + "description": "The number of virtual machines." + }, + "vmSize": { + "type": "string", + "description": "The virtual machine SKU." + } + }, + "type": "object", + "required": [ + "count", + "vmSize" + ] + }, + "azure-native:hdinsight:ClusterPoolResourcePropertiesResponseLogAnalyticsProfile": { + "description": "Cluster pool log analytics profile to enable OMS agent for AKS cluster.", + "properties": { + "enabled": { + "type": "boolean", + "description": "True if log analytics is enabled for cluster pool, otherwise false." + }, + "workspaceId": { + "type": "string", + "description": "Log analytics workspace to associate with the OMS agent." + } + }, + "type": "object", + "required": [ + "enabled" + ] + }, + "azure-native:hdinsight:ClusterPoolResourcePropertiesResponseNetworkProfile": { + "description": "Cluster pool network profile.", + "properties": { + "subnetId": { + "type": "string", + "description": "Cluster pool subnet resource id." + } + }, + "type": "object", + "required": [ + "subnetId" + ] + }, "azure-native:hdinsight:ComputeIsolationProperties": { "description": "The compute isolation properties.", "properties": { @@ -207483,190 +208130,103 @@ "type" ] }, - "azure-native:hybridcompute:MachineRunCommandInstanceViewResponse": { - "description": "Describes the Machine Extension Instance View.", + "azure-native:hybridcompute:OSProfile": { + "description": "Specifies the operating system settings for the hybrid machine.", "properties": { - "name": { - "type": "string", - "description": "The run command name." + "linuxConfiguration": { + "type": "object", + "$ref": "#/types/azure-native:hybridcompute:OSProfileLinuxConfiguration", + "description": "Specifies the linux configuration for update management." }, - "status": { + "windowsConfiguration": { "type": "object", - "$ref": "#/types/azure-native:hybridcompute:MachineRunCommandInstanceViewResponseStatus", - "description": "Instance view status." + "$ref": "#/types/azure-native:hybridcompute:OSProfileWindowsConfiguration", + "description": "Specifies the windows configuration for update management." } }, "type": "object" }, - "azure-native:hybridcompute:MachineRunCommandInstanceViewResponseStatus": { - "description": "Instance view status.", + "azure-native:hybridcompute:OSProfileLinuxConfiguration": { + "description": "Specifies the linux configuration for update management.", "properties": { - "code": { - "type": "string", - "description": "The status code." - }, - "displayStatus": { - "type": "string", - "description": "The short localizable label for the status." - }, - "level": { - "type": "string", - "description": "The level code." - }, - "message": { - "type": "string", - "description": "The detailed status message, including for alerts and error messages." + "assessmentMode": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:hybridcompute:AssessmentModeTypes" + } + ], + "description": "Specifies the assessment mode." }, - "time": { - "type": "string", - "description": "The time of the status." + "patchMode": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:hybridcompute:PatchModeTypes" + } + ], + "description": "Specifies the patch mode." } }, "type": "object" }, - "azure-native:hybridcompute:MachineRunCommandScriptSource": { - "description": "Describes the script sources for run command. Use only one of script, scriptUri, commandId.", + "azure-native:hybridcompute:OSProfileResponse": { + "description": "Specifies the operating system settings for the hybrid machine.", "properties": { - "commandId": { - "type": "string", - "description": "Specifies the commandId of predefined built-in script." - }, - "script": { + "computerName": { "type": "string", - "description": "Specifies the script content to be executed on the machine." + "description": "Specifies the host OS name of the hybrid machine." }, - "scriptUri": { - "type": "string", - "description": "Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI." + "linuxConfiguration": { + "type": "object", + "$ref": "#/types/azure-native:hybridcompute:OSProfileResponseLinuxConfiguration", + "description": "Specifies the linux configuration for update management." }, - "scriptUriManagedIdentity": { + "windowsConfiguration": { "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandManagedIdentity", - "description": "User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged." + "$ref": "#/types/azure-native:hybridcompute:OSProfileResponseWindowsConfiguration", + "description": "Specifies the windows configuration for update management." } }, - "type": "object" + "type": "object", + "required": [ + "computerName" + ] }, - "azure-native:hybridcompute:MachineRunCommandScriptSourceResponse": { - "description": "Describes the script sources for run command. Use only one of script, scriptUri, commandId.", + "azure-native:hybridcompute:OSProfileResponseLinuxConfiguration": { + "description": "Specifies the linux configuration for update management.", "properties": { - "commandId": { - "type": "string", - "description": "Specifies the commandId of predefined built-in script." - }, - "script": { + "assessmentMode": { "type": "string", - "description": "Specifies the script content to be executed on the machine." + "description": "Specifies the assessment mode." }, - "scriptUri": { + "patchMode": { "type": "string", - "description": "Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI." - }, - "scriptUriManagedIdentity": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandManagedIdentityResponse", - "description": "User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged." + "description": "Specifies the patch mode." } }, "type": "object" }, - "azure-native:hybridcompute:OSProfile": { - "description": "Specifies the operating system settings for the hybrid machine.", + "azure-native:hybridcompute:OSProfileResponseWindowsConfiguration": { + "description": "Specifies the windows configuration for update management.", "properties": { - "linuxConfiguration": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:OSProfileLinuxConfiguration", - "description": "Specifies the linux configuration for update management." + "assessmentMode": { + "type": "string", + "description": "Specifies the assessment mode." }, - "windowsConfiguration": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:OSProfileWindowsConfiguration", - "description": "Specifies the windows configuration for update management." + "patchMode": { + "type": "string", + "description": "Specifies the patch mode." } }, "type": "object" }, - "azure-native:hybridcompute:OSProfileLinuxConfiguration": { - "description": "Specifies the linux configuration for update management.", - "properties": { - "assessmentMode": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/types/azure-native:hybridcompute:AssessmentModeTypes" - } - ], - "description": "Specifies the assessment mode." - }, - "patchMode": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/types/azure-native:hybridcompute:PatchModeTypes" - } - ], - "description": "Specifies the patch mode." - } - }, - "type": "object" - }, - "azure-native:hybridcompute:OSProfileResponse": { - "description": "Specifies the operating system settings for the hybrid machine.", - "properties": { - "computerName": { - "type": "string", - "description": "Specifies the host OS name of the hybrid machine." - }, - "linuxConfiguration": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:OSProfileResponseLinuxConfiguration", - "description": "Specifies the linux configuration for update management." - }, - "windowsConfiguration": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:OSProfileResponseWindowsConfiguration", - "description": "Specifies the windows configuration for update management." - } - }, - "type": "object", - "required": [ - "computerName" - ] - }, - "azure-native:hybridcompute:OSProfileResponseLinuxConfiguration": { - "description": "Specifies the linux configuration for update management.", - "properties": { - "assessmentMode": { - "type": "string", - "description": "Specifies the assessment mode." - }, - "patchMode": { - "type": "string", - "description": "Specifies the patch mode." - } - }, - "type": "object" - }, - "azure-native:hybridcompute:OSProfileResponseWindowsConfiguration": { - "description": "Specifies the windows configuration for update management.", - "properties": { - "assessmentMode": { - "type": "string", - "description": "Specifies the assessment mode." - }, - "patchMode": { - "type": "string", - "description": "Specifies the patch mode." - } - }, - "type": "object" - }, - "azure-native:hybridcompute:OSProfileWindowsConfiguration": { - "description": "Specifies the windows configuration for update management.", + "azure-native:hybridcompute:OSProfileWindowsConfiguration": { + "description": "Specifies the windows configuration for update management.", "properties": { "assessmentMode": { "oneOf": [ @@ -207870,70 +208430,6 @@ } ] }, - "azure-native:hybridcompute:RunCommandInputParameter": { - "description": "Describes the properties of a run command parameter.", - "properties": { - "name": { - "type": "string", - "description": "The run command parameter name." - }, - "value": { - "type": "string", - "description": "The run command parameter value." - } - }, - "type": "object", - "required": [ - "name", - "value" - ] - }, - "azure-native:hybridcompute:RunCommandInputParameterResponse": { - "description": "Describes the properties of a run command parameter.", - "properties": { - "name": { - "type": "string", - "description": "The run command parameter name." - }, - "value": { - "type": "string", - "description": "The run command parameter value." - } - }, - "type": "object", - "required": [ - "name", - "value" - ] - }, - "azure-native:hybridcompute:RunCommandManagedIdentity": { - "description": " Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.", - "properties": { - "clientId": { - "type": "string", - "description": "Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided." - }, - "objectId": { - "type": "string", - "description": "Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided." - } - }, - "type": "object" - }, - "azure-native:hybridcompute:RunCommandManagedIdentityResponse": { - "description": " Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.", - "properties": { - "clientId": { - "type": "string", - "description": "Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided." - }, - "objectId": { - "type": "string", - "description": "Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided." - } - }, - "type": "object" - }, "azure-native:hybridcompute:ServiceStatus": { "description": "Describes the status and behavior of a service.", "properties": { @@ -253328,6 +253824,14 @@ "type": "string", "description": "MLFlow Registry URI for the Registry" }, + "privateEndpointConnections": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:machinelearningservices:RegistryPrivateEndpointConnection" + }, + "description": "Private endpoint connections info used for pending connections in private link portal" + }, "publicNetworkAccess": { "type": "string", "description": "Is the Registry accessible from the internet?\r\nPossible values: \"Enabled\" or \"Disabled\"" @@ -253339,14 +253843,6 @@ "$ref": "#/types/azure-native:machinelearningservices:RegistryRegionArmDetails" }, "description": "Details of each region the registry is in" - }, - "registryPrivateEndpointConnections": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:machinelearningservices:RegistryPrivateEndpointConnection" - }, - "description": "Private endpoint connections info used for pending connections in private link portal" } }, "type": "object" @@ -253378,7 +253874,7 @@ "properties": { "id": { "type": "string", - "description": "This is the private endpoint connection name created on SRP\r\nFull resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName}" + "description": "This is the private endpoint connection name created on SRP\r\nFull resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName}" }, "location": { "type": "string", @@ -253407,14 +253903,14 @@ "$ref": "#/types/azure-native:machinelearningservices:PrivateEndpointResource", "description": "The PE network resource that is linked to this PE connection." }, - "provisioningState": { - "type": "string", - "description": "One of null, \"Succeeded\", \"Provisioning\", \"Failed\". While not approved, it's null." - }, - "registryPrivateLinkServiceConnectionState": { + "privateLinkServiceConnectionState": { "type": "object", "$ref": "#/types/azure-native:machinelearningservices:RegistryPrivateLinkServiceConnectionState", "description": "The connection state." + }, + "provisioningState": { + "type": "string", + "description": "One of null, \"Succeeded\", \"Provisioning\", \"Failed\". While not approved, it's null." } }, "type": "object" @@ -253434,14 +253930,14 @@ "$ref": "#/types/azure-native:machinelearningservices:PrivateEndpointResourceResponse", "description": "The PE network resource that is linked to this PE connection." }, - "provisioningState": { - "type": "string", - "description": "One of null, \"Succeeded\", \"Provisioning\", \"Failed\". While not approved, it's null." - }, - "registryPrivateLinkServiceConnectionState": { + "privateLinkServiceConnectionState": { "type": "object", "$ref": "#/types/azure-native:machinelearningservices:RegistryPrivateLinkServiceConnectionStateResponse", "description": "The connection state." + }, + "provisioningState": { + "type": "string", + "description": "One of null, \"Succeeded\", \"Provisioning\", \"Failed\". While not approved, it's null." } }, "type": "object" @@ -253451,7 +253947,7 @@ "properties": { "id": { "type": "string", - "description": "This is the private endpoint connection name created on SRP\r\nFull resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName}" + "description": "This is the private endpoint connection name created on SRP\r\nFull resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName}" }, "location": { "type": "string", @@ -253580,6 +254076,14 @@ "type": "string", "description": "MLFlow Registry URI for the Registry" }, + "privateEndpointConnections": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:machinelearningservices:RegistryPrivateEndpointConnectionResponse" + }, + "description": "Private endpoint connections info used for pending connections in private link portal" + }, "publicNetworkAccess": { "type": "string", "description": "Is the Registry accessible from the internet?\r\nPossible values: \"Enabled\" or \"Disabled\"" @@ -253591,14 +254095,6 @@ "$ref": "#/types/azure-native:machinelearningservices:RegistryRegionArmDetailsResponse" }, "description": "Details of each region the registry is in" - }, - "registryPrivateEndpointConnections": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:machinelearningservices:RegistryPrivateEndpointConnectionResponse" - }, - "description": "Private endpoint connections info used for pending connections in private link portal" } }, "type": "object" @@ -260036,7 +260532,7 @@ "type": "object", "$ref": "#/types/azure-native:managednetworkfabric:PortGroupProperties" }, - "description": "List of the port group." + "description": "List of the port groups." }, "vlanGroups": { "type": "array", @@ -260066,7 +260562,7 @@ "type": "object", "$ref": "#/types/azure-native:managednetworkfabric:PortGroupPropertiesResponse" }, - "description": "List of the port group." + "description": "List of the port groups." }, "vlanGroups": { "type": "array", @@ -260183,7 +260679,7 @@ ] }, "azure-native:managednetworkfabric:EncapsulationType": { - "description": "Encapsulation Type.", + "description": "Encapsulation Type that needs to be matched.", "type": "string", "enum": [ { @@ -260603,7 +261099,7 @@ "items": { "type": "string" }, - "description": "The list of IP Prefixes." + "description": "The list of IP Prefixes that need to be matched." }, "prefixType": { "oneOf": [ @@ -260614,7 +261110,7 @@ "$ref": "#/types/azure-native:managednetworkfabric:PrefixType" } ], - "description": "IP Prefix Type." + "description": "IP Prefix Type that needs to be matched." }, "type": { "oneOf": [ @@ -260625,7 +261121,7 @@ "$ref": "#/types/azure-native:managednetworkfabric:SourceDestinationType" } ], - "description": "IP Address type." + "description": "IP Address type that needs to be matched." } }, "type": "object" @@ -260645,15 +261141,15 @@ "items": { "type": "string" }, - "description": "The list of IP Prefixes." + "description": "The list of IP Prefixes that need to be matched." }, "prefixType": { "type": "string", - "description": "IP Prefix Type." + "description": "IP Prefix Type that needs to be matched." }, "type": { "type": "string", - "description": "IP Address type." + "description": "IP Address type that needs to be matched." } }, "type": "object" @@ -261244,7 +261740,7 @@ "$ref": "#/types/azure-native:managednetworkfabric:EncapsulationType" } ], - "description": "Encapsulation Type.", + "description": "Encapsulation Type that needs to be matched.", "default": "None" }, "ipCondition": { @@ -261277,7 +261773,7 @@ "properties": { "encapsulationType": { "type": "string", - "description": "Encapsulation Type.", + "description": "Encapsulation Type that needs to be matched.", "default": "None" }, "ipCondition": { @@ -261550,7 +262046,7 @@ "items": { "type": "string" }, - "description": "List of the port Group Names that to be matched." + "description": "List of the port Group Names that need to be matched." }, "portType": { "oneOf": [ @@ -261588,7 +262084,7 @@ "items": { "type": "string" }, - "description": "List of the port Group Names that to be matched." + "description": "List of the port Group Names that need to be matched." }, "portType": { "type": "string", @@ -261619,7 +262115,7 @@ "items": { "type": "string" }, - "description": "List of the ports that needs to be matched." + "description": "List of the ports that need to be matched." } }, "type": "object" @@ -261636,7 +262132,7 @@ "items": { "type": "string" }, - "description": "List of the ports that needs to be matched." + "description": "List of the ports that need to be matched." } }, "type": "object" @@ -261654,7 +262150,7 @@ ] }, "azure-native:managednetworkfabric:PrefixType": { - "description": "IP Prefix Type.", + "description": "IP Prefix Type that needs to be matched.", "type": "string", "enum": [ { @@ -261797,7 +262293,7 @@ ] }, "azure-native:managednetworkfabric:SourceDestinationType": { - "description": "IP Address type.", + "description": "IP Address type that needs to be matched.", "type": "string", "enum": [ { @@ -262185,55 +262681,55 @@ "type": "object" }, "azure-native:managednetworkfabric:VlanMatchCondition": { - "description": "The vlan match conditions that needs to be matched.", + "description": "The vlan match conditions that need to be matched.", "properties": { "innerVlans": { "type": "array", "items": { "type": "string" }, - "description": "List of inner vlans that needs to be matched." + "description": "List of inner vlans that need to be matched." }, "vlanGroupNames": { "type": "array", "items": { "type": "string" }, - "description": "List of vlan group names that to be matched." + "description": "List of vlan group names that need to be matched." }, "vlans": { "type": "array", "items": { "type": "string" }, - "description": "List of vlans that needs to be matched." + "description": "List of vlans that need to be matched." } }, "type": "object" }, "azure-native:managednetworkfabric:VlanMatchConditionResponse": { - "description": "The vlan match conditions that needs to be matched.", + "description": "The vlan match conditions that need to be matched.", "properties": { "innerVlans": { "type": "array", "items": { "type": "string" }, - "description": "List of inner vlans that needs to be matched." + "description": "List of inner vlans that need to be matched." }, "vlanGroupNames": { "type": "array", "items": { "type": "string" }, - "description": "List of vlan group names that to be matched." + "description": "List of vlan group names that need to be matched." }, "vlans": { "type": "array", "items": { "type": "string" }, - "description": "List of vlans that needs to be matched." + "description": "List of vlans that need to be matched." } }, "type": "object" @@ -282715,6 +283211,154 @@ "principalId" ] }, + "azure-native:mobilepacketcore:NetworkFunctionAdministrativeState": { + "description": "Administrative state of the network function", + "type": "string", + "enum": [ + { + "name": "Commissioned", + "description": "Resource has been commissioned", + "value": "Commissioned" + }, + { + "name": "Decommissioned", + "description": "Resource has been decommissioned", + "value": "Decommissioned" + } + ] + }, + "azure-native:mobilepacketcore:NetworkFunctionType": { + "description": "Type of network function", + "type": "string", + "enum": [ + { + "name": "AMF", + "description": "Access and Mobility Function", + "value": "AMF" + }, + { + "name": "SMF", + "description": "Session Management Function", + "value": "SMF" + }, + { + "name": "UPF", + "description": "User Plane Function", + "value": "UPF" + }, + { + "name": "NRF", + "description": "Network Repository Function", + "value": "NRF" + }, + { + "name": "NSSF", + "description": "Network Slice Selection Function", + "value": "NSSF" + }, + { + "name": "MME", + "description": "Mobility Management Entity", + "value": "MME" + }, + { + "name": "SaegwControlPlane", + "description": "System Architecture Evolution Gateway Control Plane, control and user plane separation (CUPS) architecture", + "value": "SaegwControlPlane" + }, + { + "name": "SaegwUserPlane", + "description": "System Architecture Evolution Gateway User Plane, control and user plane separation (CUPS) architecture", + "value": "SaegwUserPlane" + }, + { + "name": "Saegw", + "description": "System Architecture Evolution Gateway. This combines the Serving Gateway (SGW) and the Packet Data Network Gateway (PGW) functionality", + "value": "Saegw" + }, + { + "name": "ePDG", + "description": "Evolved Packet Data Gateway", + "value": "ePDG" + }, + { + "name": "N3IWF", + "description": "Non-3GPP Interworking Function", + "value": "N3IWF" + }, + { + "name": "RemotePaaS", + "description": "Remote Platform As A Service Components", + "value": "RemotePaaS" + }, + { + "name": "EMS", + "description": "Element Management System", + "value": "EMS" + }, + { + "name": "OperationsPolicyManager", + "description": "Operations and Policy Manager", + "value": "OperationsPolicyManager" + } + ] + }, + "azure-native:mobilepacketcore:SkuDefinitions": { + "description": "Provisioned SKU Value.", + "type": "string", + "enum": [ + { + "name": "AzureLab", + "description": "Azure Lab SKU", + "value": "AzureLab" + }, + { + "name": "AzureProduction", + "description": "Azure Production SKU", + "value": "AzureProduction" + }, + { + "name": "NexusLab", + "description": "Nexus Lab SKU", + "value": "NexusLab" + }, + { + "name": "NexusProduction", + "description": "Nexus Production SKU", + "value": "NexusProduction" + } + ] + }, + "azure-native:mobilepacketcore:SystemDataResponse": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "properties": { + "createdAt": { + "type": "string", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "description": "The timestamp of resource last modification (UTC)" + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource." + } + }, + "type": "object" + }, "azure-native:monitor:AzureMonitorWorkspaceResponseDefaultIngestionSettings": { "description": "The Data Collection Rule and Endpoint used for ingestion by default.", "properties": { @@ -347686,12 +348330,6 @@ }, { "value": "SCVMM" - }, - { - "value": "KubeVirt" - }, - { - "value": "OpenStack" } ] }, @@ -385883,6 +386521,354 @@ }, "type": "object" }, + "azure-native:storagetasks:ElseCondition": { + "description": "The else block of storage task operation", + "properties": { + "operations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:StorageTaskOperation" + }, + "description": "List of operations to execute in the else block" + } + }, + "type": "object", + "required": [ + "operations" + ] + }, + "azure-native:storagetasks:ElseConditionResponse": { + "description": "The else block of storage task operation", + "properties": { + "operations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:StorageTaskOperationResponse" + }, + "description": "List of operations to execute in the else block" + } + }, + "type": "object", + "required": [ + "operations" + ] + }, + "azure-native:storagetasks:IfCondition": { + "description": "The if block of storage task operation", + "properties": { + "condition": { + "type": "string", + "description": "The condition predicate which is composed of object properties, eg: blob and container properties." + }, + "operations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:StorageTaskOperation" + }, + "description": "List of operations to execute when the condition predicate satisfies." + } + }, + "type": "object", + "required": [ + "condition", + "operations" + ] + }, + "azure-native:storagetasks:IfConditionResponse": { + "description": "The if block of storage task operation", + "properties": { + "condition": { + "type": "string", + "description": "The condition predicate which is composed of object properties, eg: blob and container properties." + }, + "operations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:StorageTaskOperationResponse" + }, + "description": "List of operations to execute when the condition predicate satisfies." + } + }, + "type": "object", + "required": [ + "condition", + "operations" + ] + }, + "azure-native:storagetasks:ManagedServiceIdentity": { + "description": "Managed service identity (system assigned and/or user assigned identities)", + "properties": { + "type": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:storagetasks:ManagedServiceIdentityType" + } + ], + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)." + }, + "userAssignedIdentities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "azure-native:storagetasks:ManagedServiceIdentityResponse": { + "description": "Managed service identity (system assigned and/or user assigned identities)", + "properties": { + "principalId": { + "type": "string", + "description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "type": "string", + "description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)." + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:UserAssignedIdentityResponse" + }, + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "type": "object", + "required": [ + "principalId", + "tenantId", + "type" + ] + }, + "azure-native:storagetasks:ManagedServiceIdentityType": { + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + "type": "string", + "enum": [ + { + "value": "None" + }, + { + "value": "SystemAssigned" + }, + { + "value": "UserAssigned" + }, + { + "value": "SystemAssigned,UserAssigned" + } + ] + }, + "azure-native:storagetasks:OnFailure": { + "description": "Action to be taken when the operation fails for a object.", + "type": "string", + "enum": [ + { + "value": "break" + } + ] + }, + "azure-native:storagetasks:OnSuccess": { + "description": "Action to be taken when the operation is successful for a object.", + "type": "string", + "enum": [ + { + "value": "continue" + } + ] + }, + "azure-native:storagetasks:StorageTaskAction": { + "description": "The storage task action represents conditional statements and operations to be performed on target objects.", + "properties": { + "else": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:ElseCondition", + "description": "The else block of storage task operation" + }, + "if": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:IfCondition", + "description": "The if block of storage task operation" + } + }, + "type": "object", + "required": [ + "if" + ] + }, + "azure-native:storagetasks:StorageTaskActionResponse": { + "description": "The storage task action represents conditional statements and operations to be performed on target objects.", + "properties": { + "else": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:ElseConditionResponse", + "description": "The else block of storage task operation" + }, + "if": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:IfConditionResponse", + "description": "The if block of storage task operation" + } + }, + "type": "object", + "required": [ + "if" + ] + }, + "azure-native:storagetasks:StorageTaskOperation": { + "description": "Represents an operation to be performed on the object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:storagetasks:StorageTaskOperationName" + } + ], + "description": "The operation to be performed on the object." + }, + "onFailure": { + "$ref": "#/types/azure-native:storagetasks:OnFailure", + "description": "Action to be taken when the operation fails for a object." + }, + "onSuccess": { + "$ref": "#/types/azure-native:storagetasks:OnSuccess", + "description": "Action to be taken when the operation is successful for a object." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value parameters for the operation." + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "azure-native:storagetasks:StorageTaskOperationName": { + "description": "The operation to be performed on the object.", + "type": "string", + "enum": [ + { + "value": "SetBlobTier" + }, + { + "value": "SetBlobTags" + }, + { + "value": "SetBlobImmutabilityPolicy" + }, + { + "value": "SetBlobLegalHold" + }, + { + "value": "SetBlobExpiry" + }, + { + "value": "DeleteBlob" + }, + { + "value": "UndeleteBlob" + } + ] + }, + "azure-native:storagetasks:StorageTaskOperationResponse": { + "description": "Represents an operation to be performed on the object", + "properties": { + "name": { + "type": "string", + "description": "The operation to be performed on the object." + }, + "onFailure": { + "type": "string", + "description": "Action to be taken when the operation fails for a object." + }, + "onSuccess": { + "type": "string", + "description": "Action to be taken when the operation is successful for a object." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value parameters for the operation." + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "azure-native:storagetasks:SystemDataResponse": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "properties": { + "createdAt": { + "type": "string", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "description": "The timestamp of resource last modification (UTC)" + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource." + } + }, + "type": "object" + }, + "azure-native:storagetasks:UserAssignedIdentityResponse": { + "description": "User assigned identity properties", + "properties": { + "clientId": { + "type": "string", + "description": "The client ID of the assigned identity." + }, + "principalId": { + "type": "string", + "description": "The principal ID of the assigned identity." + } + }, + "type": "object", + "required": [ + "clientId", + "principalId" + ] + }, "azure-native:storsimple:AsymmetricEncryptedSecret": { "description": "Represent the secrets intended for encryption with asymmetric key pair.", "properties": { @@ -415699,7 +416685,7 @@ ] }, "azure-native:apimanagement:ApiRelease": { - "description": "ApiRelease details.\nAzure REST API version: 2022-08-01. Prior API version in Azure Native 1.x: 2020-12-01\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### ApiManagementCreateApiRelease\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var apiRelease = new AzureNative.ApiManagement.ApiRelease(\"apiRelease\", new()\n {\n ApiId = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1\",\n Notes = \"yahooagain\",\n ReleaseId = \"testrev\",\n ResourceGroupName = \"rg1\",\n ServiceName = \"apimService1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apimanagement.NewApiRelease(ctx, \"apiRelease\", \u0026apimanagement.ApiReleaseArgs{\n\t\t\tApiId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1\"),\n\t\t\tNotes: pulumi.String(\"yahooagain\"),\n\t\t\tReleaseId: pulumi.String(\"testrev\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tServiceName: pulumi.String(\"apimService1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.apimanagement.ApiRelease;\nimport com.pulumi.azurenative.apimanagement.ApiReleaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var apiRelease = new ApiRelease(\"apiRelease\", ApiReleaseArgs.builder() \n .apiId(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1\")\n .notes(\"yahooagain\")\n .releaseId(\"testrev\")\n .resourceGroupName(\"rg1\")\n .serviceName(\"apimService1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst apiRelease = new azure_native.apimanagement.ApiRelease(\"apiRelease\", {\n apiId: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1\",\n notes: \"yahooagain\",\n releaseId: \"testrev\",\n resourceGroupName: \"rg1\",\n serviceName: \"apimService1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\napi_release = azure_native.apimanagement.ApiRelease(\"apiRelease\",\n api_id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1\",\n notes=\"yahooagain\",\n release_id=\"testrev\",\n resource_group_name=\"rg1\",\n service_name=\"apimService1\")\n\n```\n\n```yaml\nresources:\n apiRelease:\n type: azure-native:apimanagement:ApiRelease\n properties:\n apiId: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1\n notes: yahooagain\n releaseId: testrev\n resourceGroupName: rg1\n serviceName: apimService1\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:apimanagement:ApiRelease testrev /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId} \n```\n", + "description": "ApiRelease details.\nAzure REST API version: 2022-08-01. Prior API version in Azure Native 1.x: 2020-12-01\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### ApiManagementCreateApiRelease\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var apiRelease = new AzureNative.ApiManagement.ApiRelease(\"apiRelease\", new()\n {\n ApiId = \"a1\",\n Notes = \"yahooagain\",\n ReleaseId = \"testrev\",\n ResourceGroupName = \"rg1\",\n ServiceName = \"apimService1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/apimanagement/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apimanagement.NewApiRelease(ctx, \"apiRelease\", \u0026apimanagement.ApiReleaseArgs{\n\t\t\tApiId: pulumi.String(\"a1\"),\n\t\t\tNotes: pulumi.String(\"yahooagain\"),\n\t\t\tReleaseId: pulumi.String(\"testrev\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tServiceName: pulumi.String(\"apimService1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.apimanagement.ApiRelease;\nimport com.pulumi.azurenative.apimanagement.ApiReleaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var apiRelease = new ApiRelease(\"apiRelease\", ApiReleaseArgs.builder() \n .apiId(\"a1\")\n .notes(\"yahooagain\")\n .releaseId(\"testrev\")\n .resourceGroupName(\"rg1\")\n .serviceName(\"apimService1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst apiRelease = new azure_native.apimanagement.ApiRelease(\"apiRelease\", {\n apiId: \"a1\",\n notes: \"yahooagain\",\n releaseId: \"testrev\",\n resourceGroupName: \"rg1\",\n serviceName: \"apimService1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\napi_release = azure_native.apimanagement.ApiRelease(\"apiRelease\",\n api_id=\"a1\",\n notes=\"yahooagain\",\n release_id=\"testrev\",\n resource_group_name=\"rg1\",\n service_name=\"apimService1\")\n\n```\n\n```yaml\nresources:\n apiRelease:\n type: azure-native:apimanagement:ApiRelease\n properties:\n apiId: a1\n notes: yahooagain\n releaseId: testrev\n resourceGroupName: rg1\n serviceName: apimService1\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:apimanagement:ApiRelease testrev /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId} \n```\n", "properties": { "apiId": { "type": "string", @@ -427974,7 +428960,7 @@ ] }, "azure-native:appplatform:Deployment": { - "description": "Deployment resource payload\nAzure REST API version: 2023-05-01-preview. Prior API version in Azure Native 1.x: 2020-07-01\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Deployments_CreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var deployment = new AzureNative.AppPlatform.Deployment(\"deployment\", new()\n {\n AppName = \"myapp\",\n DeploymentName = \"mydeployment\",\n Properties = new AzureNative.AppPlatform.Inputs.DeploymentResourcePropertiesArgs\n {\n DeploymentSettings = new AzureNative.AppPlatform.Inputs.DeploymentSettingsArgs\n {\n AddonConfigs = \n {\n { \"ApplicationConfigurationService\", \n {\n { \"patterns\", new[]\n {\n \"mypattern\",\n } },\n } },\n },\n Apms = new[]\n {\n new AzureNative.AppPlatform.Inputs.ApmReferenceArgs\n {\n ResourceId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\",\n },\n },\n EnvironmentVariables = \n {\n { \"env\", \"test\" },\n },\n LivenessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ReadinessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ResourceRequests = new AzureNative.AppPlatform.Inputs.ResourceRequestsArgs\n {\n Cpu = \"1000m\",\n Memory = \"3Gi\",\n },\n TerminationGracePeriodSeconds = 30,\n },\n Source = new AzureNative.AppPlatform.Inputs.SourceUploadedUserSourceInfoArgs\n {\n ArtifactSelector = \"sub-module-1\",\n RelativePath = \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n Type = \"Source\",\n Version = \"1.0\",\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n ServiceName = \"myservice\",\n Sku = new AzureNative.AppPlatform.Inputs.SkuArgs\n {\n Capacity = 1,\n Name = \"S0\",\n Tier = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/appplatform/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appplatform.NewDeployment(ctx, \"deployment\", \u0026appplatform.DeploymentArgs{\n\t\t\tAppName: pulumi.String(\"myapp\"),\n\t\t\tDeploymentName: pulumi.String(\"mydeployment\"),\n\t\t\tProperties: appplatform.DeploymentResourcePropertiesResponse{\n\t\t\t\tDeploymentSettings: \u0026appplatform.DeploymentSettingsArgs{\n\t\t\t\t\tAddonConfigs: pulumi.AnyMap{\n\t\t\t\t\t\t\"ApplicationConfigurationService\": pulumi.Any{\n\t\t\t\t\t\t\tPatterns: []string{\n\t\t\t\t\t\t\t\t\"mypattern\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tApms: appplatform.ApmReferenceArray{\n\t\t\t\t\t\t\u0026appplatform.ApmReferenceArgs{\n\t\t\t\t\t\t\tResourceId: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t\t\t},\n\t\t\t\t\tLivenessProbe: \u0026appplatform.ProbeArgs{\n\t\t\t\t\t\tDisableProbe: pulumi.Bool(false),\n\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(30),\n\t\t\t\t\t\tPeriodSeconds: pulumi.Int(10),\n\t\t\t\t\t\tProbeAction: appplatform.HTTPGetAction{\n\t\t\t\t\t\t\tPath: \"/health\",\n\t\t\t\t\t\t\tScheme: \"HTTP\",\n\t\t\t\t\t\t\tType: \"HTTPGetAction\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tReadinessProbe: \u0026appplatform.ProbeArgs{\n\t\t\t\t\t\tDisableProbe: pulumi.Bool(false),\n\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(30),\n\t\t\t\t\t\tPeriodSeconds: pulumi.Int(10),\n\t\t\t\t\t\tProbeAction: appplatform.HTTPGetAction{\n\t\t\t\t\t\t\tPath: \"/health\",\n\t\t\t\t\t\t\tScheme: \"HTTP\",\n\t\t\t\t\t\t\tType: \"HTTPGetAction\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tResourceRequests: \u0026appplatform.ResourceRequestsArgs{\n\t\t\t\t\t\tCpu: pulumi.String(\"1000m\"),\n\t\t\t\t\t\tMemory: pulumi.String(\"3Gi\"),\n\t\t\t\t\t},\n\t\t\t\t\tTerminationGracePeriodSeconds: pulumi.Int(30),\n\t\t\t\t},\n\t\t\t\tSource: appplatform.SourceUploadedUserSourceInfo{\n\t\t\t\t\tArtifactSelector: \"sub-module-1\",\n\t\t\t\t\tRelativePath: \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n\t\t\t\t\tType: \"Source\",\n\t\t\t\t\tVersion: \"1.0\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t\tServiceName: pulumi.String(\"myservice\"),\n\t\t\tSku: \u0026appplatform.SkuArgs{\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t\tName: pulumi.String(\"S0\"),\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.appplatform.Deployment;\nimport com.pulumi.azurenative.appplatform.DeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var deployment = new Deployment(\"deployment\", DeploymentArgs.builder() \n .appName(\"myapp\")\n .deploymentName(\"mydeployment\")\n .properties(Map.ofEntries(\n Map.entry(\"deploymentSettings\", Map.ofEntries(\n Map.entry(\"addonConfigs\", Map.of(\"ApplicationConfigurationService\", Map.of(\"patterns\", \"mypattern\"))),\n Map.entry(\"apms\", Map.of(\"resourceId\", \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\")),\n Map.entry(\"environmentVariables\", Map.of(\"env\", \"test\")),\n Map.entry(\"livenessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"readinessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"resourceRequests\", Map.ofEntries(\n Map.entry(\"cpu\", \"1000m\"),\n Map.entry(\"memory\", \"3Gi\")\n )),\n Map.entry(\"terminationGracePeriodSeconds\", 30)\n )),\n Map.entry(\"source\", Map.ofEntries(\n Map.entry(\"artifactSelector\", \"sub-module-1\"),\n Map.entry(\"relativePath\", \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\"),\n Map.entry(\"type\", \"Source\"),\n Map.entry(\"version\", \"1.0\")\n ))\n ))\n .resourceGroupName(\"myResourceGroup\")\n .serviceName(\"myservice\")\n .sku(Map.ofEntries(\n Map.entry(\"capacity\", 1),\n Map.entry(\"name\", \"S0\"),\n Map.entry(\"tier\", \"Standard\")\n ))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst deployment = new azure_native.appplatform.Deployment(\"deployment\", {\n appName: \"myapp\",\n deploymentName: \"mydeployment\",\n properties: {\n deploymentSettings: {\n addonConfigs: {\n ApplicationConfigurationService: {\n patterns: [\"mypattern\"],\n },\n },\n apms: [{\n resourceId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\",\n }],\n environmentVariables: {\n env: \"test\",\n },\n livenessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n readinessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n resourceRequests: {\n cpu: \"1000m\",\n memory: \"3Gi\",\n },\n terminationGracePeriodSeconds: 30,\n },\n source: {\n artifactSelector: \"sub-module-1\",\n relativePath: \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n type: \"Source\",\n version: \"1.0\",\n },\n },\n resourceGroupName: \"myResourceGroup\",\n serviceName: \"myservice\",\n sku: {\n capacity: 1,\n name: \"S0\",\n tier: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndeployment = azure_native.appplatform.Deployment(\"deployment\",\n app_name=\"myapp\",\n deployment_name=\"mydeployment\",\n properties=azure_native.appplatform.DeploymentResourcePropertiesResponseArgs(\n deployment_settings=azure_native.appplatform.DeploymentSettingsArgs(\n addon_configs={\n \"ApplicationConfigurationService\": {\n \"patterns\": [\"mypattern\"],\n },\n },\n apms=[azure_native.appplatform.ApmReferenceArgs(\n resource_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\",\n )],\n environment_variables={\n \"env\": \"test\",\n },\n liveness_probe=azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n readiness_probe=azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n resource_requests=azure_native.appplatform.ResourceRequestsArgs(\n cpu=\"1000m\",\n memory=\"3Gi\",\n ),\n termination_grace_period_seconds=30,\n ),\n source=azure_native.appplatform.SourceUploadedUserSourceInfoArgs(\n artifact_selector=\"sub-module-1\",\n relative_path=\"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n type=\"Source\",\n version=\"1.0\",\n ),\n ),\n resource_group_name=\"myResourceGroup\",\n service_name=\"myservice\",\n sku=azure_native.appplatform.SkuArgs(\n capacity=1,\n name=\"S0\",\n tier=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n deployment:\n type: azure-native:appplatform:Deployment\n properties:\n appName: myapp\n deploymentName: mydeployment\n properties:\n deploymentSettings:\n addonConfigs:\n ApplicationConfigurationService:\n patterns:\n - mypattern\n apms:\n - resourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\n environmentVariables:\n env: test\n livenessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n readinessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n resourceRequests:\n cpu: 1000m\n memory: 3Gi\n terminationGracePeriodSeconds: 30\n source:\n artifactSelector: sub-module-1\n relativePath: resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\n type: Source\n version: '1.0'\n resourceGroupName: myResourceGroup\n serviceName: myservice\n sku:\n capacity: 1\n name: S0\n tier: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Deployments_CreateOrUpdate_CustomContainer\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var deployment = new AzureNative.AppPlatform.Deployment(\"deployment\", new()\n {\n AppName = \"myapp\",\n DeploymentName = \"mydeployment\",\n Properties = new AzureNative.AppPlatform.Inputs.DeploymentResourcePropertiesArgs\n {\n DeploymentSettings = new AzureNative.AppPlatform.Inputs.DeploymentSettingsArgs\n {\n EnvironmentVariables = \n {\n { \"env\", \"test\" },\n },\n LivenessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ReadinessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ResourceRequests = new AzureNative.AppPlatform.Inputs.ResourceRequestsArgs\n {\n Cpu = \"1000m\",\n Memory = \"3Gi\",\n },\n TerminationGracePeriodSeconds = 30,\n },\n Source = new AzureNative.AppPlatform.Inputs.CustomContainerUserSourceInfoArgs\n {\n CustomContainer = new AzureNative.AppPlatform.Inputs.CustomContainerArgs\n {\n Args = new[]\n {\n \"-c\",\n \"while true; do echo hello; sleep 10;done\",\n },\n Command = new[]\n {\n \"/bin/sh\",\n },\n ContainerImage = \"myContainerImage:v1\",\n ImageRegistryCredential = new AzureNative.AppPlatform.Inputs.ImageRegistryCredentialArgs\n {\n Password = \"myPassword\",\n Username = \"myUsername\",\n },\n LanguageFramework = \"springboot\",\n Server = \"myacr.azurecr.io\",\n },\n Type = \"Container\",\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n ServiceName = \"myservice\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/appplatform/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appplatform.NewDeployment(ctx, \"deployment\", \u0026appplatform.DeploymentArgs{\n\t\t\tAppName: pulumi.String(\"myapp\"),\n\t\t\tDeploymentName: pulumi.String(\"mydeployment\"),\n\t\t\tProperties: appplatform.DeploymentResourcePropertiesResponse{\n\t\t\t\tDeploymentSettings: appplatform.DeploymentSettingsResponse{\n\t\t\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t\t\t},\n\t\t\t\t\tLivenessProbe: \u0026appplatform.ProbeArgs{\n\t\t\t\t\t\tDisableProbe: pulumi.Bool(false),\n\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(30),\n\t\t\t\t\t\tPeriodSeconds: pulumi.Int(10),\n\t\t\t\t\t\tProbeAction: appplatform.HTTPGetAction{\n\t\t\t\t\t\t\tPath: \"/health\",\n\t\t\t\t\t\t\tScheme: \"HTTP\",\n\t\t\t\t\t\t\tType: \"HTTPGetAction\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tReadinessProbe: \u0026appplatform.ProbeArgs{\n\t\t\t\t\t\tDisableProbe: pulumi.Bool(false),\n\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(30),\n\t\t\t\t\t\tPeriodSeconds: pulumi.Int(10),\n\t\t\t\t\t\tProbeAction: appplatform.HTTPGetAction{\n\t\t\t\t\t\t\tPath: \"/health\",\n\t\t\t\t\t\t\tScheme: \"HTTP\",\n\t\t\t\t\t\t\tType: \"HTTPGetAction\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tResourceRequests: \u0026appplatform.ResourceRequestsArgs{\n\t\t\t\t\t\tCpu: pulumi.String(\"1000m\"),\n\t\t\t\t\t\tMemory: pulumi.String(\"3Gi\"),\n\t\t\t\t\t},\n\t\t\t\t\tTerminationGracePeriodSeconds: pulumi.Int(30),\n\t\t\t\t},\n\t\t\t\tSource: appplatform.CustomContainerUserSourceInfo{\n\t\t\t\t\tCustomContainer: appplatform.CustomContainer{\n\t\t\t\t\t\tArgs: []string{\n\t\t\t\t\t\t\t\"-c\",\n\t\t\t\t\t\t\t\"while true; do echo hello; sleep 10;done\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCommand: []string{\n\t\t\t\t\t\t\t\"/bin/sh\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tContainerImage: \"myContainerImage:v1\",\n\t\t\t\t\t\tImageRegistryCredential: appplatform.ImageRegistryCredential{\n\t\t\t\t\t\t\tPassword: \"myPassword\",\n\t\t\t\t\t\t\tUsername: \"myUsername\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLanguageFramework: \"springboot\",\n\t\t\t\t\t\tServer: \"myacr.azurecr.io\",\n\t\t\t\t\t},\n\t\t\t\t\tType: \"Container\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t\tServiceName: pulumi.String(\"myservice\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.appplatform.Deployment;\nimport com.pulumi.azurenative.appplatform.DeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var deployment = new Deployment(\"deployment\", DeploymentArgs.builder() \n .appName(\"myapp\")\n .deploymentName(\"mydeployment\")\n .properties(Map.ofEntries(\n Map.entry(\"deploymentSettings\", Map.ofEntries(\n Map.entry(\"environmentVariables\", Map.of(\"env\", \"test\")),\n Map.entry(\"livenessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"readinessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"resourceRequests\", Map.ofEntries(\n Map.entry(\"cpu\", \"1000m\"),\n Map.entry(\"memory\", \"3Gi\")\n )),\n Map.entry(\"terminationGracePeriodSeconds\", 30)\n )),\n Map.entry(\"source\", Map.ofEntries(\n Map.entry(\"customContainer\", Map.ofEntries(\n Map.entry(\"args\", \n \"-c\",\n \"while true; do echo hello; sleep 10;done\"),\n Map.entry(\"command\", \"/bin/sh\"),\n Map.entry(\"containerImage\", \"myContainerImage:v1\"),\n Map.entry(\"imageRegistryCredential\", Map.ofEntries(\n Map.entry(\"password\", \"myPassword\"),\n Map.entry(\"username\", \"myUsername\")\n )),\n Map.entry(\"languageFramework\", \"springboot\"),\n Map.entry(\"server\", \"myacr.azurecr.io\")\n )),\n Map.entry(\"type\", \"Container\")\n ))\n ))\n .resourceGroupName(\"myResourceGroup\")\n .serviceName(\"myservice\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst deployment = new azure_native.appplatform.Deployment(\"deployment\", {\n appName: \"myapp\",\n deploymentName: \"mydeployment\",\n properties: {\n deploymentSettings: {\n environmentVariables: {\n env: \"test\",\n },\n livenessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n readinessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n resourceRequests: {\n cpu: \"1000m\",\n memory: \"3Gi\",\n },\n terminationGracePeriodSeconds: 30,\n },\n source: {\n customContainer: {\n args: [\n \"-c\",\n \"while true; do echo hello; sleep 10;done\",\n ],\n command: [\"/bin/sh\"],\n containerImage: \"myContainerImage:v1\",\n imageRegistryCredential: {\n password: \"myPassword\",\n username: \"myUsername\",\n },\n languageFramework: \"springboot\",\n server: \"myacr.azurecr.io\",\n },\n type: \"Container\",\n },\n },\n resourceGroupName: \"myResourceGroup\",\n serviceName: \"myservice\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndeployment = azure_native.appplatform.Deployment(\"deployment\",\n app_name=\"myapp\",\n deployment_name=\"mydeployment\",\n properties=azure_native.appplatform.DeploymentResourcePropertiesResponseArgs(\n deployment_settings={\n \"environmentVariables\": {\n \"env\": \"test\",\n },\n \"livenessProbe\": azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n \"readinessProbe\": azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n \"resourceRequests\": azure_native.appplatform.ResourceRequestsArgs(\n cpu=\"1000m\",\n memory=\"3Gi\",\n ),\n \"terminationGracePeriodSeconds\": 30,\n },\n source=azure_native.appplatform.CustomContainerUserSourceInfoArgs(\n custom_container=azure_native.appplatform.CustomContainerArgs(\n args=[\n \"-c\",\n \"while true; do echo hello; sleep 10;done\",\n ],\n command=[\"/bin/sh\"],\n container_image=\"myContainerImage:v1\",\n image_registry_credential=azure_native.appplatform.ImageRegistryCredentialArgs(\n password=\"myPassword\",\n username=\"myUsername\",\n ),\n language_framework=\"springboot\",\n server=\"myacr.azurecr.io\",\n ),\n type=\"Container\",\n ),\n ),\n resource_group_name=\"myResourceGroup\",\n service_name=\"myservice\")\n\n```\n\n```yaml\nresources:\n deployment:\n type: azure-native:appplatform:Deployment\n properties:\n appName: myapp\n deploymentName: mydeployment\n properties:\n deploymentSettings:\n environmentVariables:\n env: test\n livenessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n readinessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n resourceRequests:\n cpu: 1000m\n memory: 3Gi\n terminationGracePeriodSeconds: 30\n source:\n customContainer:\n args:\n - -c\n - while true; do echo hello; sleep 10;done\n command:\n - /bin/sh\n containerImage: myContainerImage:v1\n imageRegistryCredential:\n password: myPassword\n username: myUsername\n languageFramework: springboot\n server: myacr.azurecr.io\n type: Container\n resourceGroupName: myResourceGroup\n serviceName: myservice\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:appplatform:Deployment mydeployment /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName} \n```\n", + "description": "Deployment resource payload\nAzure REST API version: 2023-05-01-preview. Prior API version in Azure Native 1.x: 2020-07-01\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Deployments_CreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var deployment = new AzureNative.AppPlatform.Deployment(\"deployment\", new()\n {\n AppName = \"myapp\",\n DeploymentName = \"mydeployment\",\n Properties = new AzureNative.AppPlatform.Inputs.DeploymentResourcePropertiesArgs\n {\n DeploymentSettings = new AzureNative.AppPlatform.Inputs.DeploymentSettingsArgs\n {\n AddonConfigs = \n {\n { \"ApplicationConfigurationService\", \n {\n { \"patterns\", new[]\n {\n \"mypattern\",\n } },\n } },\n },\n Apms = new[]\n {\n new AzureNative.AppPlatform.Inputs.ApmReferenceArgs\n {\n ResourceId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\",\n },\n },\n EnvironmentVariables = \n {\n { \"env\", \"test\" },\n },\n LivenessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ReadinessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ResourceRequests = new AzureNative.AppPlatform.Inputs.ResourceRequestsArgs\n {\n Cpu = \"1000m\",\n Memory = \"3Gi\",\n },\n TerminationGracePeriodSeconds = 30,\n },\n Source = new AzureNative.AppPlatform.Inputs.SourceUploadedUserSourceInfoArgs\n {\n ArtifactSelector = \"sub-module-1\",\n RelativePath = \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n Type = \"Source\",\n Version = \"1.0\",\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n ServiceName = \"myservice\",\n Sku = new AzureNative.AppPlatform.Inputs.SkuArgs\n {\n Capacity = 1,\n Name = \"S0\",\n Tier = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/appplatform/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appplatform.NewDeployment(ctx, \"deployment\", \u0026appplatform.DeploymentArgs{\n\t\t\tAppName: pulumi.String(\"myapp\"),\n\t\t\tDeploymentName: pulumi.String(\"mydeployment\"),\n\t\t\tProperties: appplatform.DeploymentResourcePropertiesResponse{\n\t\t\t\tDeploymentSettings: appplatform.DeploymentSettingsResponse{\n\t\t\t\t\tAddonConfigs: pulumi.AnyMap{\n\t\t\t\t\t\t\"ApplicationConfigurationService\": pulumi.Any{\n\t\t\t\t\t\t\tPatterns: []string{\n\t\t\t\t\t\t\t\t\"mypattern\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tApms: appplatform.ApmReferenceArray{\n\t\t\t\t\t\t\u0026appplatform.ApmReferenceArgs{\n\t\t\t\t\t\t\tResourceId: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t\t\t},\n\t\t\t\t\tLivenessProbe: \u0026appplatform.ProbeArgs{\n\t\t\t\t\t\tDisableProbe: pulumi.Bool(false),\n\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(30),\n\t\t\t\t\t\tPeriodSeconds: pulumi.Int(10),\n\t\t\t\t\t\tProbeAction: appplatform.HTTPGetAction{\n\t\t\t\t\t\t\tPath: \"/health\",\n\t\t\t\t\t\t\tScheme: \"HTTP\",\n\t\t\t\t\t\t\tType: \"HTTPGetAction\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tReadinessProbe: \u0026appplatform.ProbeArgs{\n\t\t\t\t\t\tDisableProbe: pulumi.Bool(false),\n\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(30),\n\t\t\t\t\t\tPeriodSeconds: pulumi.Int(10),\n\t\t\t\t\t\tProbeAction: appplatform.HTTPGetAction{\n\t\t\t\t\t\t\tPath: \"/health\",\n\t\t\t\t\t\t\tScheme: \"HTTP\",\n\t\t\t\t\t\t\tType: \"HTTPGetAction\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tResourceRequests: \u0026appplatform.ResourceRequestsArgs{\n\t\t\t\t\t\tCpu: pulumi.String(\"1000m\"),\n\t\t\t\t\t\tMemory: pulumi.String(\"3Gi\"),\n\t\t\t\t\t},\n\t\t\t\t\tTerminationGracePeriodSeconds: pulumi.Int(30),\n\t\t\t\t},\n\t\t\t\tSource: appplatform.SourceUploadedUserSourceInfo{\n\t\t\t\t\tArtifactSelector: \"sub-module-1\",\n\t\t\t\t\tRelativePath: \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n\t\t\t\t\tType: \"Source\",\n\t\t\t\t\tVersion: \"1.0\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t\tServiceName: pulumi.String(\"myservice\"),\n\t\t\tSku: \u0026appplatform.SkuArgs{\n\t\t\t\tCapacity: pulumi.Int(1),\n\t\t\t\tName: pulumi.String(\"S0\"),\n\t\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.appplatform.Deployment;\nimport com.pulumi.azurenative.appplatform.DeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var deployment = new Deployment(\"deployment\", DeploymentArgs.builder() \n .appName(\"myapp\")\n .deploymentName(\"mydeployment\")\n .properties(Map.ofEntries(\n Map.entry(\"deploymentSettings\", Map.ofEntries(\n Map.entry(\"addonConfigs\", Map.of(\"ApplicationConfigurationService\", Map.of(\"patterns\", \"mypattern\"))),\n Map.entry(\"apms\", Map.of(\"resourceId\", \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\")),\n Map.entry(\"environmentVariables\", Map.of(\"env\", \"test\")),\n Map.entry(\"livenessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"readinessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"resourceRequests\", Map.ofEntries(\n Map.entry(\"cpu\", \"1000m\"),\n Map.entry(\"memory\", \"3Gi\")\n )),\n Map.entry(\"terminationGracePeriodSeconds\", 30)\n )),\n Map.entry(\"source\", Map.ofEntries(\n Map.entry(\"artifactSelector\", \"sub-module-1\"),\n Map.entry(\"relativePath\", \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\"),\n Map.entry(\"type\", \"Source\"),\n Map.entry(\"version\", \"1.0\")\n ))\n ))\n .resourceGroupName(\"myResourceGroup\")\n .serviceName(\"myservice\")\n .sku(Map.ofEntries(\n Map.entry(\"capacity\", 1),\n Map.entry(\"name\", \"S0\"),\n Map.entry(\"tier\", \"Standard\")\n ))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst deployment = new azure_native.appplatform.Deployment(\"deployment\", {\n appName: \"myapp\",\n deploymentName: \"mydeployment\",\n properties: {\n deploymentSettings: {\n addonConfigs: {\n ApplicationConfigurationService: {\n patterns: [\"mypattern\"],\n },\n },\n apms: [{\n resourceId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\",\n }],\n environmentVariables: {\n env: \"test\",\n },\n livenessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n readinessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n resourceRequests: {\n cpu: \"1000m\",\n memory: \"3Gi\",\n },\n terminationGracePeriodSeconds: 30,\n },\n source: {\n artifactSelector: \"sub-module-1\",\n relativePath: \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n type: \"Source\",\n version: \"1.0\",\n },\n },\n resourceGroupName: \"myResourceGroup\",\n serviceName: \"myservice\",\n sku: {\n capacity: 1,\n name: \"S0\",\n tier: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndeployment = azure_native.appplatform.Deployment(\"deployment\",\n app_name=\"myapp\",\n deployment_name=\"mydeployment\",\n properties=azure_native.appplatform.DeploymentResourcePropertiesResponseArgs(\n deployment_settings={\n \"addonConfigs\": {\n \"ApplicationConfigurationService\": {\n \"patterns\": [\"mypattern\"],\n },\n },\n \"apms\": [azure_native.appplatform.ApmReferenceArgs(\n resource_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\",\n )],\n \"environmentVariables\": {\n \"env\": \"test\",\n },\n \"livenessProbe\": azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n \"readinessProbe\": azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n \"resourceRequests\": azure_native.appplatform.ResourceRequestsArgs(\n cpu=\"1000m\",\n memory=\"3Gi\",\n ),\n \"terminationGracePeriodSeconds\": 30,\n },\n source=azure_native.appplatform.SourceUploadedUserSourceInfoArgs(\n artifact_selector=\"sub-module-1\",\n relative_path=\"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n type=\"Source\",\n version=\"1.0\",\n ),\n ),\n resource_group_name=\"myResourceGroup\",\n service_name=\"myservice\",\n sku=azure_native.appplatform.SkuArgs(\n capacity=1,\n name=\"S0\",\n tier=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n deployment:\n type: azure-native:appplatform:Deployment\n properties:\n appName: myapp\n deploymentName: mydeployment\n properties:\n deploymentSettings:\n addonConfigs:\n ApplicationConfigurationService:\n patterns:\n - mypattern\n apms:\n - resourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\n environmentVariables:\n env: test\n livenessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n readinessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n resourceRequests:\n cpu: 1000m\n memory: 3Gi\n terminationGracePeriodSeconds: 30\n source:\n artifactSelector: sub-module-1\n relativePath: resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\n type: Source\n version: '1.0'\n resourceGroupName: myResourceGroup\n serviceName: myservice\n sku:\n capacity: 1\n name: S0\n tier: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Deployments_CreateOrUpdate_CustomContainer\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var deployment = new AzureNative.AppPlatform.Deployment(\"deployment\", new()\n {\n AppName = \"myapp\",\n DeploymentName = \"mydeployment\",\n Properties = new AzureNative.AppPlatform.Inputs.DeploymentResourcePropertiesArgs\n {\n DeploymentSettings = new AzureNative.AppPlatform.Inputs.DeploymentSettingsArgs\n {\n EnvironmentVariables = \n {\n { \"env\", \"test\" },\n },\n LivenessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ReadinessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ResourceRequests = new AzureNative.AppPlatform.Inputs.ResourceRequestsArgs\n {\n Cpu = \"1000m\",\n Memory = \"3Gi\",\n },\n TerminationGracePeriodSeconds = 30,\n },\n Source = new AzureNative.AppPlatform.Inputs.CustomContainerUserSourceInfoArgs\n {\n CustomContainer = new AzureNative.AppPlatform.Inputs.CustomContainerArgs\n {\n Args = new[]\n {\n \"-c\",\n \"while true; do echo hello; sleep 10;done\",\n },\n Command = new[]\n {\n \"/bin/sh\",\n },\n ContainerImage = \"myContainerImage:v1\",\n ImageRegistryCredential = new AzureNative.AppPlatform.Inputs.ImageRegistryCredentialArgs\n {\n Password = \"myPassword\",\n Username = \"myUsername\",\n },\n LanguageFramework = \"springboot\",\n Server = \"myacr.azurecr.io\",\n },\n Type = \"Container\",\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n ServiceName = \"myservice\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/appplatform/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appplatform.NewDeployment(ctx, \"deployment\", \u0026appplatform.DeploymentArgs{\n\t\t\tAppName: pulumi.String(\"myapp\"),\n\t\t\tDeploymentName: pulumi.String(\"mydeployment\"),\n\t\t\tProperties: appplatform.DeploymentResourcePropertiesResponse{\n\t\t\t\tDeploymentSettings: \u0026appplatform.DeploymentSettingsArgs{\n\t\t\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t\t\t},\n\t\t\t\t\tLivenessProbe: \u0026appplatform.ProbeArgs{\n\t\t\t\t\t\tDisableProbe: pulumi.Bool(false),\n\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(30),\n\t\t\t\t\t\tPeriodSeconds: pulumi.Int(10),\n\t\t\t\t\t\tProbeAction: appplatform.HTTPGetAction{\n\t\t\t\t\t\t\tPath: \"/health\",\n\t\t\t\t\t\t\tScheme: \"HTTP\",\n\t\t\t\t\t\t\tType: \"HTTPGetAction\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tReadinessProbe: \u0026appplatform.ProbeArgs{\n\t\t\t\t\t\tDisableProbe: pulumi.Bool(false),\n\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(30),\n\t\t\t\t\t\tPeriodSeconds: pulumi.Int(10),\n\t\t\t\t\t\tProbeAction: appplatform.HTTPGetAction{\n\t\t\t\t\t\t\tPath: \"/health\",\n\t\t\t\t\t\t\tScheme: \"HTTP\",\n\t\t\t\t\t\t\tType: \"HTTPGetAction\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tResourceRequests: \u0026appplatform.ResourceRequestsArgs{\n\t\t\t\t\t\tCpu: pulumi.String(\"1000m\"),\n\t\t\t\t\t\tMemory: pulumi.String(\"3Gi\"),\n\t\t\t\t\t},\n\t\t\t\t\tTerminationGracePeriodSeconds: pulumi.Int(30),\n\t\t\t\t},\n\t\t\t\tSource: appplatform.CustomContainerUserSourceInfo{\n\t\t\t\t\tCustomContainer: appplatform.CustomContainer{\n\t\t\t\t\t\tArgs: []string{\n\t\t\t\t\t\t\t\"-c\",\n\t\t\t\t\t\t\t\"while true; do echo hello; sleep 10;done\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCommand: []string{\n\t\t\t\t\t\t\t\"/bin/sh\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tContainerImage: \"myContainerImage:v1\",\n\t\t\t\t\t\tImageRegistryCredential: appplatform.ImageRegistryCredential{\n\t\t\t\t\t\t\tPassword: \"myPassword\",\n\t\t\t\t\t\t\tUsername: \"myUsername\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLanguageFramework: \"springboot\",\n\t\t\t\t\t\tServer: \"myacr.azurecr.io\",\n\t\t\t\t\t},\n\t\t\t\t\tType: \"Container\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t\tServiceName: pulumi.String(\"myservice\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.appplatform.Deployment;\nimport com.pulumi.azurenative.appplatform.DeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var deployment = new Deployment(\"deployment\", DeploymentArgs.builder() \n .appName(\"myapp\")\n .deploymentName(\"mydeployment\")\n .properties(Map.ofEntries(\n Map.entry(\"deploymentSettings\", Map.ofEntries(\n Map.entry(\"environmentVariables\", Map.of(\"env\", \"test\")),\n Map.entry(\"livenessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"readinessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"resourceRequests\", Map.ofEntries(\n Map.entry(\"cpu\", \"1000m\"),\n Map.entry(\"memory\", \"3Gi\")\n )),\n Map.entry(\"terminationGracePeriodSeconds\", 30)\n )),\n Map.entry(\"source\", Map.ofEntries(\n Map.entry(\"customContainer\", Map.ofEntries(\n Map.entry(\"args\", \n \"-c\",\n \"while true; do echo hello; sleep 10;done\"),\n Map.entry(\"command\", \"/bin/sh\"),\n Map.entry(\"containerImage\", \"myContainerImage:v1\"),\n Map.entry(\"imageRegistryCredential\", Map.ofEntries(\n Map.entry(\"password\", \"myPassword\"),\n Map.entry(\"username\", \"myUsername\")\n )),\n Map.entry(\"languageFramework\", \"springboot\"),\n Map.entry(\"server\", \"myacr.azurecr.io\")\n )),\n Map.entry(\"type\", \"Container\")\n ))\n ))\n .resourceGroupName(\"myResourceGroup\")\n .serviceName(\"myservice\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst deployment = new azure_native.appplatform.Deployment(\"deployment\", {\n appName: \"myapp\",\n deploymentName: \"mydeployment\",\n properties: {\n deploymentSettings: {\n environmentVariables: {\n env: \"test\",\n },\n livenessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n readinessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n resourceRequests: {\n cpu: \"1000m\",\n memory: \"3Gi\",\n },\n terminationGracePeriodSeconds: 30,\n },\n source: {\n customContainer: {\n args: [\n \"-c\",\n \"while true; do echo hello; sleep 10;done\",\n ],\n command: [\"/bin/sh\"],\n containerImage: \"myContainerImage:v1\",\n imageRegistryCredential: {\n password: \"myPassword\",\n username: \"myUsername\",\n },\n languageFramework: \"springboot\",\n server: \"myacr.azurecr.io\",\n },\n type: \"Container\",\n },\n },\n resourceGroupName: \"myResourceGroup\",\n serviceName: \"myservice\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndeployment = azure_native.appplatform.Deployment(\"deployment\",\n app_name=\"myapp\",\n deployment_name=\"mydeployment\",\n properties=azure_native.appplatform.DeploymentResourcePropertiesResponseArgs(\n deployment_settings=azure_native.appplatform.DeploymentSettingsArgs(\n environment_variables={\n \"env\": \"test\",\n },\n liveness_probe=azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n readiness_probe=azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n resource_requests=azure_native.appplatform.ResourceRequestsArgs(\n cpu=\"1000m\",\n memory=\"3Gi\",\n ),\n termination_grace_period_seconds=30,\n ),\n source=azure_native.appplatform.CustomContainerUserSourceInfoArgs(\n custom_container=azure_native.appplatform.CustomContainerArgs(\n args=[\n \"-c\",\n \"while true; do echo hello; sleep 10;done\",\n ],\n command=[\"/bin/sh\"],\n container_image=\"myContainerImage:v1\",\n image_registry_credential=azure_native.appplatform.ImageRegistryCredentialArgs(\n password=\"myPassword\",\n username=\"myUsername\",\n ),\n language_framework=\"springboot\",\n server=\"myacr.azurecr.io\",\n ),\n type=\"Container\",\n ),\n ),\n resource_group_name=\"myResourceGroup\",\n service_name=\"myservice\")\n\n```\n\n```yaml\nresources:\n deployment:\n type: azure-native:appplatform:Deployment\n properties:\n appName: myapp\n deploymentName: mydeployment\n properties:\n deploymentSettings:\n environmentVariables:\n env: test\n livenessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n readinessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n resourceRequests:\n cpu: 1000m\n memory: 3Gi\n terminationGracePeriodSeconds: 30\n source:\n customContainer:\n args:\n - -c\n - while true; do echo hello; sleep 10;done\n command:\n - /bin/sh\n containerImage: myContainerImage:v1\n imageRegistryCredential:\n password: myPassword\n username: myUsername\n languageFramework: springboot\n server: myacr.azurecr.io\n type: Container\n resourceGroupName: myResourceGroup\n serviceName: myservice\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:appplatform:Deployment mydeployment /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName} \n```\n", "properties": { "name": { "type": "string", @@ -428090,7 +429076,7 @@ ] }, "azure-native:appplatform:DevToolPortal": { - "description": "Dev Tool Portal resource\nAzure REST API version: 2023-05-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### DevToolPortals_CreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var devToolPortal = new AzureNative.AppPlatform.DevToolPortal(\"devToolPortal\", new()\n {\n DevToolPortalName = \"default\",\n Properties = new AzureNative.AppPlatform.Inputs.DevToolPortalPropertiesArgs\n {\n Features = new AzureNative.AppPlatform.Inputs.DevToolPortalFeatureSettingsArgs\n {\n ApplicationAccelerator = new AzureNative.AppPlatform.Inputs.DevToolPortalFeatureDetailArgs\n {\n State = \"Enabled\",\n },\n ApplicationLiveView = new AzureNative.AppPlatform.Inputs.DevToolPortalFeatureDetailArgs\n {\n State = \"Enabled\",\n },\n },\n Public = true,\n SsoProperties = new AzureNative.AppPlatform.Inputs.DevToolPortalSsoPropertiesArgs\n {\n ClientId = \"00000000-0000-0000-0000-000000000000\",\n ClientSecret = \"xxxxx\",\n MetadataUrl = \"https://login.microsoft.com/00000000-0000-0000-0000-000000000000/v2.0/.well-known/openid-configuration\",\n Scopes = new[]\n {\n \"openid\",\n },\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n ServiceName = \"myservice\",\n });\n\n});\n\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.appplatform.DevToolPortal;\nimport com.pulumi.azurenative.appplatform.DevToolPortalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var devToolPortal = new DevToolPortal(\"devToolPortal\", DevToolPortalArgs.builder() \n .devToolPortalName(\"default\")\n .properties(Map.ofEntries(\n Map.entry(\"features\", Map.ofEntries(\n Map.entry(\"applicationAccelerator\", Map.of(\"state\", \"Enabled\")),\n Map.entry(\"applicationLiveView\", Map.of(\"state\", \"Enabled\"))\n )),\n Map.entry(\"public\", true),\n Map.entry(\"ssoProperties\", Map.ofEntries(\n Map.entry(\"clientId\", \"00000000-0000-0000-0000-000000000000\"),\n Map.entry(\"clientSecret\", \"xxxxx\"),\n Map.entry(\"metadataUrl\", \"https://login.microsoft.com/00000000-0000-0000-0000-000000000000/v2.0/.well-known/openid-configuration\"),\n Map.entry(\"scopes\", \"openid\")\n ))\n ))\n .resourceGroupName(\"myResourceGroup\")\n .serviceName(\"myservice\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst devToolPortal = new azure_native.appplatform.DevToolPortal(\"devToolPortal\", {\n devToolPortalName: \"default\",\n properties: {\n features: {\n applicationAccelerator: {\n state: \"Enabled\",\n },\n applicationLiveView: {\n state: \"Enabled\",\n },\n },\n \"public\": true,\n ssoProperties: {\n clientId: \"00000000-0000-0000-0000-000000000000\",\n clientSecret: \"xxxxx\",\n metadataUrl: \"https://login.microsoft.com/00000000-0000-0000-0000-000000000000/v2.0/.well-known/openid-configuration\",\n scopes: [\"openid\"],\n },\n },\n resourceGroupName: \"myResourceGroup\",\n serviceName: \"myservice\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndev_tool_portal = azure_native.appplatform.DevToolPortal(\"devToolPortal\",\n dev_tool_portal_name=\"default\",\n properties=azure_native.appplatform.DevToolPortalPropertiesResponseArgs(\n features={\n \"applicationAccelerator\": azure_native.appplatform.DevToolPortalFeatureDetailArgs(\n state=\"Enabled\",\n ),\n \"applicationLiveView\": azure_native.appplatform.DevToolPortalFeatureDetailArgs(\n state=\"Enabled\",\n ),\n },\n public=True,\n sso_properties=azure_native.appplatform.DevToolPortalSsoPropertiesArgs(\n client_id=\"00000000-0000-0000-0000-000000000000\",\n client_secret=\"xxxxx\",\n metadata_url=\"https://login.microsoft.com/00000000-0000-0000-0000-000000000000/v2.0/.well-known/openid-configuration\",\n scopes=[\"openid\"],\n ),\n ),\n resource_group_name=\"myResourceGroup\",\n service_name=\"myservice\")\n\n```\n\n```yaml\nresources:\n devToolPortal:\n type: azure-native:appplatform:DevToolPortal\n properties:\n devToolPortalName: default\n properties:\n features:\n applicationAccelerator:\n state: Enabled\n applicationLiveView:\n state: Enabled\n public: true\n ssoProperties:\n clientId: 00000000-0000-0000-0000-000000000000\n clientSecret: xxxxx\n metadataUrl: https://login.microsoft.com/00000000-0000-0000-0000-000000000000/v2.0/.well-known/openid-configuration\n scopes:\n - openid\n resourceGroupName: myResourceGroup\n serviceName: myservice\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:appplatform:DevToolPortal default /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/DevToolPortals/{devToolPortalName} \n```\n", + "description": "Dev Tool Portal resource\nAzure REST API version: 2023-05-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### DevToolPortals_CreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var devToolPortal = new AzureNative.AppPlatform.DevToolPortal(\"devToolPortal\", new()\n {\n DevToolPortalName = \"default\",\n Properties = new AzureNative.AppPlatform.Inputs.DevToolPortalPropertiesArgs\n {\n Features = new AzureNative.AppPlatform.Inputs.DevToolPortalFeatureSettingsArgs\n {\n ApplicationAccelerator = new AzureNative.AppPlatform.Inputs.DevToolPortalFeatureDetailArgs\n {\n State = \"Enabled\",\n },\n ApplicationLiveView = new AzureNative.AppPlatform.Inputs.DevToolPortalFeatureDetailArgs\n {\n State = \"Enabled\",\n },\n },\n Public = true,\n SsoProperties = new AzureNative.AppPlatform.Inputs.DevToolPortalSsoPropertiesArgs\n {\n ClientId = \"00000000-0000-0000-0000-000000000000\",\n ClientSecret = \"xxxxx\",\n MetadataUrl = \"https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0/.well-known/openid-configuration\",\n Scopes = new[]\n {\n \"openid\",\n },\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n ServiceName = \"myservice\",\n });\n\n});\n\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.appplatform.DevToolPortal;\nimport com.pulumi.azurenative.appplatform.DevToolPortalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var devToolPortal = new DevToolPortal(\"devToolPortal\", DevToolPortalArgs.builder() \n .devToolPortalName(\"default\")\n .properties(Map.ofEntries(\n Map.entry(\"features\", Map.ofEntries(\n Map.entry(\"applicationAccelerator\", Map.of(\"state\", \"Enabled\")),\n Map.entry(\"applicationLiveView\", Map.of(\"state\", \"Enabled\"))\n )),\n Map.entry(\"public\", true),\n Map.entry(\"ssoProperties\", Map.ofEntries(\n Map.entry(\"clientId\", \"00000000-0000-0000-0000-000000000000\"),\n Map.entry(\"clientSecret\", \"xxxxx\"),\n Map.entry(\"metadataUrl\", \"https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0/.well-known/openid-configuration\"),\n Map.entry(\"scopes\", \"openid\")\n ))\n ))\n .resourceGroupName(\"myResourceGroup\")\n .serviceName(\"myservice\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst devToolPortal = new azure_native.appplatform.DevToolPortal(\"devToolPortal\", {\n devToolPortalName: \"default\",\n properties: {\n features: {\n applicationAccelerator: {\n state: \"Enabled\",\n },\n applicationLiveView: {\n state: \"Enabled\",\n },\n },\n \"public\": true,\n ssoProperties: {\n clientId: \"00000000-0000-0000-0000-000000000000\",\n clientSecret: \"xxxxx\",\n metadataUrl: \"https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0/.well-known/openid-configuration\",\n scopes: [\"openid\"],\n },\n },\n resourceGroupName: \"myResourceGroup\",\n serviceName: \"myservice\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndev_tool_portal = azure_native.appplatform.DevToolPortal(\"devToolPortal\",\n dev_tool_portal_name=\"default\",\n properties=azure_native.appplatform.DevToolPortalPropertiesResponseArgs(\n features={\n \"applicationAccelerator\": azure_native.appplatform.DevToolPortalFeatureDetailArgs(\n state=\"Enabled\",\n ),\n \"applicationLiveView\": azure_native.appplatform.DevToolPortalFeatureDetailArgs(\n state=\"Enabled\",\n ),\n },\n public=True,\n sso_properties=azure_native.appplatform.DevToolPortalSsoPropertiesArgs(\n client_id=\"00000000-0000-0000-0000-000000000000\",\n client_secret=\"xxxxx\",\n metadata_url=\"https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0/.well-known/openid-configuration\",\n scopes=[\"openid\"],\n ),\n ),\n resource_group_name=\"myResourceGroup\",\n service_name=\"myservice\")\n\n```\n\n```yaml\nresources:\n devToolPortal:\n type: azure-native:appplatform:DevToolPortal\n properties:\n devToolPortalName: default\n properties:\n features:\n applicationAccelerator:\n state: Enabled\n applicationLiveView:\n state: Enabled\n public: true\n ssoProperties:\n clientId: 00000000-0000-0000-0000-000000000000\n clientSecret: xxxxx\n metadataUrl: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0/.well-known/openid-configuration\n scopes:\n - openid\n resourceGroupName: myResourceGroup\n serviceName: myservice\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:appplatform:DevToolPortal default /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/DevToolPortals/{devToolPortalName} \n```\n", "properties": { "name": { "type": "string", @@ -435428,6 +436414,9 @@ }, { "type": "azure-native:avs/v20220501:Addon" + }, + { + "type": "azure-native:avs/v20230301:Addon" } ] }, @@ -435510,6 +436499,9 @@ }, { "type": "azure-native:avs/v20220501:Authorization" + }, + { + "type": "azure-native:avs/v20230301:Authorization" } ] }, @@ -435573,6 +436565,9 @@ }, { "type": "azure-native:avs/v20220501:CloudLink" + }, + { + "type": "azure-native:avs/v20230301:CloudLink" } ] }, @@ -435676,6 +436671,9 @@ }, { "type": "azure-native:avs/v20220501:Cluster" + }, + { + "type": "azure-native:avs/v20230301:Cluster" } ] }, @@ -435765,6 +436763,9 @@ }, { "type": "azure-native:avs/v20220501:Datastore" + }, + { + "type": "azure-native:avs/v20230301:Datastore" } ] }, @@ -435860,6 +436861,9 @@ }, { "type": "azure-native:avs/v20220501:GlobalReachConnection" + }, + { + "type": "azure-native:avs/v20230301:GlobalReachConnection" } ] }, @@ -435929,6 +436933,9 @@ }, { "type": "azure-native:avs/v20220501:HcxEnterpriseSite" + }, + { + "type": "azure-native:avs/v20230301:HcxEnterpriseSite" } ] }, @@ -436023,6 +437030,9 @@ }, { "type": "azure-native:avs/v20220501:PlacementPolicy" + }, + { + "type": "azure-native:avs/v20230301:PlacementPolicy" } ] }, @@ -436273,6 +437283,9 @@ }, { "type": "azure-native:avs/v20220501:PrivateCloud" + }, + { + "type": "azure-native:avs/v20230301:PrivateCloud" } ] }, @@ -436541,6 +437554,9 @@ }, { "type": "azure-native:avs/v20220501:ScriptExecution" + }, + { + "type": "azure-native:avs/v20230301:ScriptExecution" } ] }, @@ -436638,6 +437654,9 @@ }, { "type": "azure-native:avs/v20220501:WorkloadNetworkDhcp" + }, + { + "type": "azure-native:avs/v20230301:WorkloadNetworkDhcp" } ] }, @@ -436765,6 +437784,9 @@ }, { "type": "azure-native:avs/v20220501:WorkloadNetworkDnsService" + }, + { + "type": "azure-native:avs/v20230301:WorkloadNetworkDnsService" } ] }, @@ -436886,6 +437908,9 @@ }, { "type": "azure-native:avs/v20220501:WorkloadNetworkDnsZone" + }, + { + "type": "azure-native:avs/v20230301:WorkloadNetworkDnsZone" } ] }, @@ -436999,6 +438024,9 @@ }, { "type": "azure-native:avs/v20220501:WorkloadNetworkPortMirroring" + }, + { + "type": "azure-native:avs/v20230301:WorkloadNetworkPortMirroring" } ] }, @@ -437075,6 +438103,9 @@ }, { "type": "azure-native:avs/v20220501:WorkloadNetworkPublicIP" + }, + { + "type": "azure-native:avs/v20230301:WorkloadNetworkPublicIP" } ] }, @@ -437184,6 +438215,9 @@ }, { "type": "azure-native:avs/v20220501:WorkloadNetworkSegment" + }, + { + "type": "azure-native:avs/v20230301:WorkloadNetworkSegment" } ] }, @@ -437280,6 +438314,9 @@ }, { "type": "azure-native:avs/v20220501:WorkloadNetworkVMGroup" + }, + { + "type": "azure-native:avs/v20230301:WorkloadNetworkVMGroup" } ] }, @@ -450559,6 +451596,9 @@ }, { "type": "azure-native:compute/v20230301:AvailabilitySet" + }, + { + "type": "azure-native:compute/v20230701:AvailabilitySet" } ] }, @@ -450710,6 +451750,9 @@ }, { "type": "azure-native:compute/v20230301:CapacityReservation" + }, + { + "type": "azure-native:compute/v20230701:CapacityReservation" } ] }, @@ -450827,6 +451870,9 @@ }, { "type": "azure-native:compute/v20230301:CapacityReservationGroup" + }, + { + "type": "azure-native:compute/v20230701:CapacityReservationGroup" } ] }, @@ -451101,6 +452147,9 @@ }, { "type": "azure-native:compute/v20230301:DedicatedHost" + }, + { + "type": "azure-native:compute/v20230701:DedicatedHost" } ] }, @@ -451255,6 +452304,9 @@ }, { "type": "azure-native:compute/v20230301:DedicatedHostGroup" + }, + { + "type": "azure-native:compute/v20230701:DedicatedHostGroup" } ] }, @@ -451685,6 +452737,9 @@ }, { "type": "azure-native:compute/v20230102:Disk" + }, + { + "type": "azure-native:compute/v20230402:Disk" } ] }, @@ -451802,6 +452857,9 @@ }, { "type": "azure-native:compute/v20230102:DiskAccess" + }, + { + "type": "azure-native:compute/v20230402:DiskAccess" } ] }, @@ -451890,6 +452948,9 @@ }, { "type": "azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection" + }, + { + "type": "azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection" } ] }, @@ -452060,6 +453121,9 @@ }, { "type": "azure-native:compute/v20230102:DiskEncryptionSet" + }, + { + "type": "azure-native:compute/v20230402:DiskEncryptionSet" } ] }, @@ -453019,6 +454083,9 @@ }, { "type": "azure-native:compute/v20230301:Image" + }, + { + "type": "azure-native:compute/v20230701:Image" } ] }, @@ -453201,6 +454268,9 @@ }, { "type": "azure-native:compute/v20230301:ProximityPlacementGroup" + }, + { + "type": "azure-native:compute/v20230701:ProximityPlacementGroup" } ] }, @@ -453336,6 +454406,9 @@ }, { "type": "azure-native:compute/v20230301:RestorePoint" + }, + { + "type": "azure-native:compute/v20230701:RestorePoint" } ] }, @@ -453447,6 +454520,9 @@ }, { "type": "azure-native:compute/v20230301:RestorePointCollection" + }, + { + "type": "azure-native:compute/v20230701:RestorePointCollection" } ] }, @@ -453794,6 +454870,9 @@ }, { "type": "azure-native:compute/v20230102:Snapshot" + }, + { + "type": "azure-native:compute/v20230402:Snapshot" } ] }, @@ -453893,6 +454972,9 @@ }, { "type": "azure-native:compute/v20230301:SshPublicKey" + }, + { + "type": "azure-native:compute/v20230701:SshPublicKey" } ] }, @@ -454310,6 +455392,9 @@ }, { "type": "azure-native:compute/v20230301:VirtualMachine" + }, + { + "type": "azure-native:compute/v20230701:VirtualMachine" } ] }, @@ -454543,6 +455628,9 @@ }, { "type": "azure-native:compute/v20230301:VirtualMachineExtension" + }, + { + "type": "azure-native:compute/v20230701:VirtualMachineExtension" } ] }, @@ -454770,6 +455858,9 @@ }, { "type": "azure-native:compute/v20230301:VirtualMachineRunCommandByVirtualMachine" + }, + { + "type": "azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine" } ] }, @@ -455113,6 +456204,9 @@ }, { "type": "azure-native:compute/v20230301:VirtualMachineScaleSet" + }, + { + "type": "azure-native:compute/v20230701:VirtualMachineScaleSet" } ] }, @@ -455308,6 +456402,9 @@ }, { "type": "azure-native:compute/v20230301:VirtualMachineScaleSetExtension" + }, + { + "type": "azure-native:compute/v20230701:VirtualMachineScaleSetExtension" } ] }, @@ -455613,6 +456710,9 @@ }, { "type": "azure-native:compute/v20230301:VirtualMachineScaleSetVM" + }, + { + "type": "azure-native:compute/v20230701:VirtualMachineScaleSetVM" } ] }, @@ -455812,6 +456912,9 @@ }, { "type": "azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension" + }, + { + "type": "azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension" } ] }, @@ -456045,6 +457148,9 @@ }, { "type": "azure-native:compute/v20230301:VirtualMachineScaleSetVMRunCommand" + }, + { + "type": "azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand" } ] }, @@ -461790,6 +462896,9 @@ }, { "type": "azure-native:containerservice/v20230602preview:AgentPool" + }, + { + "type": "azure-native:containerservice/v20230701:AgentPool" } ] }, @@ -462177,6 +463286,9 @@ }, { "type": "azure-native:containerservice/v20230602preview:MaintenanceConfiguration" + }, + { + "type": "azure-native:containerservice/v20230701:MaintenanceConfiguration" } ] }, @@ -462797,6 +463909,9 @@ }, { "type": "azure-native:containerservice/v20230602preview:ManagedCluster" + }, + { + "type": "azure-native:containerservice/v20230701:ManagedCluster" } ] }, @@ -463338,6 +464453,9 @@ }, { "type": "azure-native:containerservice/v20230602preview:PrivateEndpointConnection" + }, + { + "type": "azure-native:containerservice/v20230701:PrivateEndpointConnection" } ] }, @@ -463566,6 +464684,9 @@ }, { "type": "azure-native:containerservice/v20230602preview:Snapshot" + }, + { + "type": "azure-native:containerservice/v20230701:Snapshot" } ] }, @@ -463781,29 +464902,15 @@ ] }, "azure-native:containerstorage:Pool": { - "description": "Pool resource\nAzure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Pools_CreateOrUpdate_MaximumSet_Gen\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new AzureNative.ContainerStorage.Pool(\"pool\", new()\n {\n Assignments = new[]\n {\n \"qvheujgnqksryltqtkjty\",\n },\n DiskPoolProperties = new AzureNative.ContainerStorage.Inputs.DiskPoolPropertiesArgs\n {\n CsiParams = \n {\n { \"key3964\", \"og\" },\n },\n Disks = new[]\n {\n \"wtsj\",\n },\n MaxVolumeCapacityGiB = 11,\n },\n ElasticSanPoolProperties = new AzureNative.ContainerStorage.Inputs.ElasticSanPoolPropertiesArgs\n {\n ResourceGroup = \"bjdqfuspbvlgkhsyt\",\n SanName = \"gu\",\n VolumeGroup = \"csbzebtsmcnhxzqp\",\n },\n EphemeralPoolProperties = new AzureNative.ContainerStorage.Inputs.EphemeralPoolPropertiesArgs\n {\n DiskFormat = true,\n DiskSelector = new[]\n {\n \"nvpe\",\n },\n Disks = new[]\n {\n \"zokpazvsbrjvkwhsss\",\n },\n },\n Location = \"jdfanwoyiigytvanvct\",\n PoolCapacityGiB = 23,\n PoolName = \"-EXNI2WK48\",\n PoolType = 26,\n ResourceGroupName = \"rgcontainerstorage\",\n Tags = \n {\n { \"key5598\", \"fxughwwqpqkvojkkuur\" },\n },\n Zones = new[]\n {\n \"mzjpggkkungkugtucivmxfjnxmzdj\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/containerstorage/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerstorage.NewPool(ctx, \"pool\", \u0026containerstorage.PoolArgs{\n\t\t\tAssignments: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"qvheujgnqksryltqtkjty\"),\n\t\t\t},\n\t\t\tDiskPoolProperties: \u0026containerstorage.DiskPoolPropertiesArgs{\n\t\t\t\tCsiParams: pulumi.StringMap{\n\t\t\t\t\t\"key3964\": pulumi.String(\"og\"),\n\t\t\t\t},\n\t\t\t\tDisks: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"wtsj\"),\n\t\t\t\t},\n\t\t\t\tMaxVolumeCapacityGiB: pulumi.Float64(11),\n\t\t\t},\n\t\t\tElasticSanPoolProperties: \u0026containerstorage.ElasticSanPoolPropertiesArgs{\n\t\t\t\tResourceGroup: pulumi.String(\"bjdqfuspbvlgkhsyt\"),\n\t\t\t\tSanName: pulumi.String(\"gu\"),\n\t\t\t\tVolumeGroup: pulumi.String(\"csbzebtsmcnhxzqp\"),\n\t\t\t},\n\t\t\tEphemeralPoolProperties: \u0026containerstorage.EphemeralPoolPropertiesArgs{\n\t\t\t\tDiskFormat: pulumi.Bool(true),\n\t\t\t\tDiskSelector: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"nvpe\"),\n\t\t\t\t},\n\t\t\t\tDisks: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"zokpazvsbrjvkwhsss\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"jdfanwoyiigytvanvct\"),\n\t\t\tPoolCapacityGiB: pulumi.Float64(23),\n\t\t\tPoolName: pulumi.String(\"-EXNI2WK48\"),\n\t\t\tPoolType: pulumi.Float64(26),\n\t\t\tResourceGroupName: pulumi.String(\"rgcontainerstorage\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key5598\": pulumi.String(\"fxughwwqpqkvojkkuur\"),\n\t\t\t},\n\t\t\tZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mzjpggkkungkugtucivmxfjnxmzdj\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.containerstorage.Pool;\nimport com.pulumi.azurenative.containerstorage.PoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pool = new Pool(\"pool\", PoolArgs.builder() \n .assignments(\"qvheujgnqksryltqtkjty\")\n .diskPoolProperties(Map.ofEntries(\n Map.entry(\"csiParams\", Map.of(\"key3964\", \"og\")),\n Map.entry(\"disks\", \"wtsj\"),\n Map.entry(\"maxVolumeCapacityGiB\", 11)\n ))\n .elasticSanPoolProperties(Map.ofEntries(\n Map.entry(\"resourceGroup\", \"bjdqfuspbvlgkhsyt\"),\n Map.entry(\"sanName\", \"gu\"),\n Map.entry(\"volumeGroup\", \"csbzebtsmcnhxzqp\")\n ))\n .ephemeralPoolProperties(Map.ofEntries(\n Map.entry(\"diskFormat\", true),\n Map.entry(\"diskSelector\", \"nvpe\"),\n Map.entry(\"disks\", \"zokpazvsbrjvkwhsss\")\n ))\n .location(\"jdfanwoyiigytvanvct\")\n .poolCapacityGiB(23)\n .poolName(\"-EXNI2WK48\")\n .poolType(26)\n .resourceGroupName(\"rgcontainerstorage\")\n .tags(Map.of(\"key5598\", \"fxughwwqpqkvojkkuur\"))\n .zones(\"mzjpggkkungkugtucivmxfjnxmzdj\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst pool = new azure_native.containerstorage.Pool(\"pool\", {\n assignments: [\"qvheujgnqksryltqtkjty\"],\n diskPoolProperties: {\n csiParams: {\n key3964: \"og\",\n },\n disks: [\"wtsj\"],\n maxVolumeCapacityGiB: 11,\n },\n elasticSanPoolProperties: {\n resourceGroup: \"bjdqfuspbvlgkhsyt\",\n sanName: \"gu\",\n volumeGroup: \"csbzebtsmcnhxzqp\",\n },\n ephemeralPoolProperties: {\n diskFormat: true,\n diskSelector: [\"nvpe\"],\n disks: [\"zokpazvsbrjvkwhsss\"],\n },\n location: \"jdfanwoyiigytvanvct\",\n poolCapacityGiB: 23,\n poolName: \"-EXNI2WK48\",\n poolType: 26,\n resourceGroupName: \"rgcontainerstorage\",\n tags: {\n key5598: \"fxughwwqpqkvojkkuur\",\n },\n zones: [\"mzjpggkkungkugtucivmxfjnxmzdj\"],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\npool = azure_native.containerstorage.Pool(\"pool\",\n assignments=[\"qvheujgnqksryltqtkjty\"],\n disk_pool_properties=azure_native.containerstorage.DiskPoolPropertiesArgs(\n csi_params={\n \"key3964\": \"og\",\n },\n disks=[\"wtsj\"],\n max_volume_capacity_gi_b=11,\n ),\n elastic_san_pool_properties=azure_native.containerstorage.ElasticSanPoolPropertiesArgs(\n resource_group=\"bjdqfuspbvlgkhsyt\",\n san_name=\"gu\",\n volume_group=\"csbzebtsmcnhxzqp\",\n ),\n ephemeral_pool_properties=azure_native.containerstorage.EphemeralPoolPropertiesArgs(\n disk_format=True,\n disk_selector=[\"nvpe\"],\n disks=[\"zokpazvsbrjvkwhsss\"],\n ),\n location=\"jdfanwoyiigytvanvct\",\n pool_capacity_gi_b=23,\n pool_name=\"-EXNI2WK48\",\n pool_type=26,\n resource_group_name=\"rgcontainerstorage\",\n tags={\n \"key5598\": \"fxughwwqpqkvojkkuur\",\n },\n zones=[\"mzjpggkkungkugtucivmxfjnxmzdj\"])\n\n```\n\n```yaml\nresources:\n pool:\n type: azure-native:containerstorage:Pool\n properties:\n assignments:\n - qvheujgnqksryltqtkjty\n diskPoolProperties:\n csiParams:\n key3964: og\n disks:\n - wtsj\n maxVolumeCapacityGiB: 11\n elasticSanPoolProperties:\n resourceGroup: bjdqfuspbvlgkhsyt\n sanName: gu\n volumeGroup: csbzebtsmcnhxzqp\n ephemeralPoolProperties:\n diskFormat: true\n diskSelector:\n - nvpe\n disks:\n - zokpazvsbrjvkwhsss\n location: jdfanwoyiigytvanvct\n poolCapacityGiB: 23\n poolName: -EXNI2WK48\n poolType: 26\n resourceGroupName: rgcontainerstorage\n tags:\n key5598: fxughwwqpqkvojkkuur\n zones:\n - mzjpggkkungkugtucivmxfjnxmzdj\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Pools_CreateOrUpdate_MinimumSet_Gen\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new AzureNative.ContainerStorage.Pool(\"pool\", new()\n {\n Location = \"jdfanwoyiigytvanvct\",\n PoolName = \"J873cXX1w3sIX\",\n ResourceGroupName = \"rgcontainerstorage\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/containerstorage/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerstorage.NewPool(ctx, \"pool\", \u0026containerstorage.PoolArgs{\n\t\t\tLocation: pulumi.String(\"jdfanwoyiigytvanvct\"),\n\t\t\tPoolName: pulumi.String(\"J873cXX1w3sIX\"),\n\t\t\tResourceGroupName: pulumi.String(\"rgcontainerstorage\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.containerstorage.Pool;\nimport com.pulumi.azurenative.containerstorage.PoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pool = new Pool(\"pool\", PoolArgs.builder() \n .location(\"jdfanwoyiigytvanvct\")\n .poolName(\"J873cXX1w3sIX\")\n .resourceGroupName(\"rgcontainerstorage\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst pool = new azure_native.containerstorage.Pool(\"pool\", {\n location: \"jdfanwoyiigytvanvct\",\n poolName: \"J873cXX1w3sIX\",\n resourceGroupName: \"rgcontainerstorage\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\npool = azure_native.containerstorage.Pool(\"pool\",\n location=\"jdfanwoyiigytvanvct\",\n pool_name=\"J873cXX1w3sIX\",\n resource_group_name=\"rgcontainerstorage\")\n\n```\n\n```yaml\nresources:\n pool:\n type: azure-native:containerstorage:Pool\n properties:\n location: jdfanwoyiigytvanvct\n poolName: J873cXX1w3sIX\n resourceGroupName: rgcontainerstorage\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:containerstorage:Pool rgzqqcqrypwtqhgnvcdilsbquamov /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName} \n```\n", + "description": "Pool resource\nAzure REST API version: 2023-07-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Pools_CreateOrUpdate_Ephemeral\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pool = new AzureNative.ContainerStorage.Pool(\"pool\", new()\n {\n Assignments = new[]\n {\n new AzureNative.ContainerStorage.Inputs.AssignmentArgs\n {\n Id = \"/subscriptions/bb4d87a2-4273-466c-a6ba-61d818061b3a/resourceGroups/test-rg/providers/Microsoft.ContainerService/managedClusters/containerstoragetest\",\n },\n },\n Location = \"eastus\",\n PoolName = \"test-pool\",\n PoolType = new AzureNative.ContainerStorage.Inputs.PoolTypeArgs\n {\n EphemeralDisk = new AzureNative.ContainerStorage.Inputs.EphemeralDiskArgs\n {\n Replicas = 3,\n },\n },\n ReclaimPolicy = \"Delete\",\n ResourceGroupName = \"test-rg\",\n Resources = new AzureNative.ContainerStorage.Inputs.ResourcesArgs\n {\n Requests = new AzureNative.ContainerStorage.Inputs.RequestsArgs\n {\n Storage = 15578,\n },\n },\n Tags = \n {\n { \"key1888\", \"value1888\" },\n },\n Zones = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/containerstorage/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerstorage.NewPool(ctx, \"pool\", \u0026containerstorage.PoolArgs{\n\t\t\tAssignments: []containerstorage.AssignmentArgs{\n\t\t\t\t{\n\t\t\t\t\tId: pulumi.String(\"/subscriptions/bb4d87a2-4273-466c-a6ba-61d818061b3a/resourceGroups/test-rg/providers/Microsoft.ContainerService/managedClusters/containerstoragetest\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tPoolName: pulumi.String(\"test-pool\"),\n\t\t\tPoolType: containerstorage.PoolTypeResponse{\n\t\t\t\tEphemeralDisk: \u0026containerstorage.EphemeralDiskArgs{\n\t\t\t\t\tReplicas: pulumi.Float64(3),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReclaimPolicy: pulumi.String(\"Delete\"),\n\t\t\tResourceGroupName: pulumi.String(\"test-rg\"),\n\t\t\tResources: containerstorage.ResourcesResponse{\n\t\t\t\tRequests: \u0026containerstorage.RequestsArgs{\n\t\t\t\t\tStorage: pulumi.Float64(15578),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1888\": pulumi.String(\"value1888\"),\n\t\t\t},\n\t\t\tZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\tpulumi.String(\"3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.containerstorage.Pool;\nimport com.pulumi.azurenative.containerstorage.PoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pool = new Pool(\"pool\", PoolArgs.builder() \n .assignments(Map.of(\"id\", \"/subscriptions/bb4d87a2-4273-466c-a6ba-61d818061b3a/resourceGroups/test-rg/providers/Microsoft.ContainerService/managedClusters/containerstoragetest\"))\n .location(\"eastus\")\n .poolName(\"test-pool\")\n .poolType(Map.of(\"ephemeralDisk\", Map.of(\"replicas\", 3)))\n .reclaimPolicy(\"Delete\")\n .resourceGroupName(\"test-rg\")\n .resources(Map.of(\"requests\", Map.of(\"storage\", 15578)))\n .tags(Map.of(\"key1888\", \"value1888\"))\n .zones( \n \"1\",\n \"2\",\n \"3\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst pool = new azure_native.containerstorage.Pool(\"pool\", {\n assignments: [{\n id: \"/subscriptions/bb4d87a2-4273-466c-a6ba-61d818061b3a/resourceGroups/test-rg/providers/Microsoft.ContainerService/managedClusters/containerstoragetest\",\n }],\n location: \"eastus\",\n poolName: \"test-pool\",\n poolType: {\n ephemeralDisk: {\n replicas: 3,\n },\n },\n reclaimPolicy: \"Delete\",\n resourceGroupName: \"test-rg\",\n resources: {\n requests: {\n storage: 15578,\n },\n },\n tags: {\n key1888: \"value1888\",\n },\n zones: [\n \"1\",\n \"2\",\n \"3\",\n ],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\npool = azure_native.containerstorage.Pool(\"pool\",\n assignments=[azure_native.containerstorage.AssignmentArgs(\n id=\"/subscriptions/bb4d87a2-4273-466c-a6ba-61d818061b3a/resourceGroups/test-rg/providers/Microsoft.ContainerService/managedClusters/containerstoragetest\",\n )],\n location=\"eastus\",\n pool_name=\"test-pool\",\n pool_type=azure_native.containerstorage.PoolTypeResponseArgs(\n ephemeral_disk=azure_native.containerstorage.EphemeralDiskArgs(\n replicas=3,\n ),\n ),\n reclaim_policy=\"Delete\",\n resource_group_name=\"test-rg\",\n resources=azure_native.containerstorage.ResourcesResponseArgs(\n requests=azure_native.containerstorage.RequestsArgs(\n storage=15578,\n ),\n ),\n tags={\n \"key1888\": \"value1888\",\n },\n zones=[\n \"1\",\n \"2\",\n \"3\",\n ])\n\n```\n\n```yaml\nresources:\n pool:\n type: azure-native:containerstorage:Pool\n properties:\n assignments:\n - id: /subscriptions/bb4d87a2-4273-466c-a6ba-61d818061b3a/resourceGroups/test-rg/providers/Microsoft.ContainerService/managedClusters/containerstoragetest\n location: eastus\n poolName: test-pool\n poolType:\n ephemeralDisk:\n replicas: 3\n reclaimPolicy: Delete\n resourceGroupName: test-rg\n resources:\n requests:\n storage: 15578\n tags:\n key1888: value1888\n zones:\n - '1'\n - '2'\n - '3'\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:containerstorage:Pool test-pool /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName} \n```\n", "properties": { "assignments": { "type": "array", "items": { - "type": "string" + "type": "object", + "$ref": "#/types/azure-native:containerstorage:AssignmentResponse" }, - "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many." - }, - "diskPoolProperties": { - "type": "object", - "$ref": "#/types/azure-native:containerstorage:DiskPoolPropertiesResponse", - "description": "Disk Pool Properties" - }, - "elasticSanPoolProperties": { - "type": "object", - "$ref": "#/types/azure-native:containerstorage:ElasticSanPoolPropertiesResponse", - "description": "Elastic San Pool Properties" - }, - "ephemeralPoolProperties": { - "type": "object", - "$ref": "#/types/azure-native:containerstorage:EphemeralPoolPropertiesResponse", - "description": "Ephemeral Pool Properties" + "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many." }, "location": { "type": "string", @@ -463813,18 +464920,29 @@ "type": "string", "description": "The name of the resource" }, - "poolCapacityGiB": { - "type": "number", - "description": "Initial capacity of the pool in GiB." - }, "poolType": { - "type": "number", - "description": "Type of the Pool: ephemeral, disk, managed, or elasticsan." + "type": "object", + "$ref": "#/types/azure-native:containerstorage:PoolTypeResponse", + "description": "Type of the Pool: ephemeralDisk, azureDisk, or elasticsan." }, "provisioningState": { "type": "string", "description": "The status of the last operation." }, + "reclaimPolicy": { + "type": "string", + "description": "ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted" + }, + "resources": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ResourcesResponse", + "description": "Resources represent the resources the pool should have." + }, + "status": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ResourceOperationalStatusResponse", + "description": "The operational status of the resource" + }, "systemData": { "type": "object", "$ref": "#/types/azure-native:containerstorage:SystemDataResponse", @@ -463851,63 +464969,60 @@ }, "type": "object", "required": [ - "assignments", - "elasticSanPoolProperties", "location", "name", - "poolCapacityGiB", "poolType", "provisioningState", + "status", "systemData", - "type", - "zones" + "type" ], "inputProperties": { "assignments": { "type": "array", "items": { - "type": "string" + "type": "object", + "$ref": "#/types/azure-native:containerstorage:Assignment" }, - "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many." - }, - "diskPoolProperties": { - "type": "object", - "$ref": "#/types/azure-native:containerstorage:DiskPoolProperties", - "description": "Disk Pool Properties" - }, - "elasticSanPoolProperties": { - "type": "object", - "$ref": "#/types/azure-native:containerstorage:ElasticSanPoolProperties", - "description": "Elastic San Pool Properties" - }, - "ephemeralPoolProperties": { - "type": "object", - "$ref": "#/types/azure-native:containerstorage:EphemeralPoolProperties", - "description": "Ephemeral Pool Properties" + "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many." }, "location": { "type": "string", "description": "The geo-location where the resource lives", "willReplaceOnChanges": true }, - "poolCapacityGiB": { - "type": "number", - "description": "Initial capacity of the pool in GiB." - }, "poolName": { "type": "string", "description": "Pool Object", "willReplaceOnChanges": true }, "poolType": { - "type": "number", - "description": "Type of the Pool: ephemeral, disk, managed, or elasticsan." + "type": "object", + "$ref": "#/types/azure-native:containerstorage:PoolType", + "description": "Type of the Pool: ephemeralDisk, azureDisk, or elasticsan." + }, + "reclaimPolicy": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:containerstorage:ReclaimPolicy" + } + ], + "description": "ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted", + "willReplaceOnChanges": true }, "resourceGroupName": { "type": "string", "description": "The name of the resource group. The name is case insensitive.", "willReplaceOnChanges": true }, + "resources": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:Resources", + "description": "Resources represent the resources the pool should have." + }, "tags": { "type": "object", "additionalProperties": { @@ -463918,46 +465033,32 @@ "zones": { "type": "array", "items": { - "type": "string" + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:containerstorage:Zone" + } + ] }, - "description": "List of availability zones that resources can be created in." + "description": "List of availability zones that resources can be created in.", + "willReplaceOnChanges": true } }, "requiredInputs": [ - "assignments", - "elasticSanPoolProperties", - "poolCapacityGiB", "poolType", - "resourceGroupName", - "zones" + "resourceGroupName" ], "aliases": [ { - "type": "azure-native:containerstorage/v20230301preview:Pool" + "type": "azure-native:containerstorage/v20230701preview:Pool" } ] }, - "azure-native:containerstorage:Volume": { - "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.\nAzure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Volumes_CreateOrUpdate_MaximumSet_Gen\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var volume = new AzureNative.ContainerStorage.Volume(\"volume\", new()\n {\n CapacityGiB = 4,\n Labels = \n {\n { \"key6929\", \"cylq\" },\n },\n MountOptions = new[]\n {\n \"bztwmyruogigzqnwzpnjxjo\",\n },\n PoolName = \"L-7Vr5xE3\",\n ReclaimPolicy = \"Delete\",\n ResourceGroupName = \"rgcontainerstorage\",\n VolumeMode = \"Filesystem\",\n VolumeName = \"y4borPc1GHLej48W3\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/containerstorage/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerstorage.NewVolume(ctx, \"volume\", \u0026containerstorage.VolumeArgs{\n\t\t\tCapacityGiB: pulumi.Float64(4),\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"key6929\": pulumi.String(\"cylq\"),\n\t\t\t},\n\t\t\tMountOptions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"bztwmyruogigzqnwzpnjxjo\"),\n\t\t\t},\n\t\t\tPoolName: pulumi.String(\"L-7Vr5xE3\"),\n\t\t\tReclaimPolicy: pulumi.String(\"Delete\"),\n\t\t\tResourceGroupName: pulumi.String(\"rgcontainerstorage\"),\n\t\t\tVolumeMode: pulumi.String(\"Filesystem\"),\n\t\t\tVolumeName: pulumi.String(\"y4borPc1GHLej48W3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.containerstorage.Volume;\nimport com.pulumi.azurenative.containerstorage.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var volume = new Volume(\"volume\", VolumeArgs.builder() \n .capacityGiB(4)\n .labels(Map.of(\"key6929\", \"cylq\"))\n .mountOptions(\"bztwmyruogigzqnwzpnjxjo\")\n .poolName(\"L-7Vr5xE3\")\n .reclaimPolicy(\"Delete\")\n .resourceGroupName(\"rgcontainerstorage\")\n .volumeMode(\"Filesystem\")\n .volumeName(\"y4borPc1GHLej48W3\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst volume = new azure_native.containerstorage.Volume(\"volume\", {\n capacityGiB: 4,\n labels: {\n key6929: \"cylq\",\n },\n mountOptions: [\"bztwmyruogigzqnwzpnjxjo\"],\n poolName: \"L-7Vr5xE3\",\n reclaimPolicy: \"Delete\",\n resourceGroupName: \"rgcontainerstorage\",\n volumeMode: \"Filesystem\",\n volumeName: \"y4borPc1GHLej48W3\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nvolume = azure_native.containerstorage.Volume(\"volume\",\n capacity_gi_b=4,\n labels={\n \"key6929\": \"cylq\",\n },\n mount_options=[\"bztwmyruogigzqnwzpnjxjo\"],\n pool_name=\"L-7Vr5xE3\",\n reclaim_policy=\"Delete\",\n resource_group_name=\"rgcontainerstorage\",\n volume_mode=\"Filesystem\",\n volume_name=\"y4borPc1GHLej48W3\")\n\n```\n\n```yaml\nresources:\n volume:\n type: azure-native:containerstorage:Volume\n properties:\n capacityGiB: 4\n labels:\n key6929: cylq\n mountOptions:\n - bztwmyruogigzqnwzpnjxjo\n poolName: L-7Vr5xE3\n reclaimPolicy: Delete\n resourceGroupName: rgcontainerstorage\n volumeMode: Filesystem\n volumeName: y4borPc1GHLej48W3\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Volumes_CreateOrUpdate_MinimumSet_Gen\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var volume = new AzureNative.ContainerStorage.Volume(\"volume\", new()\n {\n PoolName = \"-3-0\",\n ResourceGroupName = \"rgcontainerstorage\",\n VolumeName = \"q-r6KY54UA6G5TPSTL83\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/containerstorage/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerstorage.NewVolume(ctx, \"volume\", \u0026containerstorage.VolumeArgs{\n\t\t\tPoolName: pulumi.String(\"-3-0\"),\n\t\t\tResourceGroupName: pulumi.String(\"rgcontainerstorage\"),\n\t\t\tVolumeName: pulumi.String(\"q-r6KY54UA6G5TPSTL83\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.containerstorage.Volume;\nimport com.pulumi.azurenative.containerstorage.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var volume = new Volume(\"volume\", VolumeArgs.builder() \n .poolName(\"-3-0\")\n .resourceGroupName(\"rgcontainerstorage\")\n .volumeName(\"q-r6KY54UA6G5TPSTL83\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst volume = new azure_native.containerstorage.Volume(\"volume\", {\n poolName: \"-3-0\",\n resourceGroupName: \"rgcontainerstorage\",\n volumeName: \"q-r6KY54UA6G5TPSTL83\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nvolume = azure_native.containerstorage.Volume(\"volume\",\n pool_name=\"-3-0\",\n resource_group_name=\"rgcontainerstorage\",\n volume_name=\"q-r6KY54UA6G5TPSTL83\")\n\n```\n\n```yaml\nresources:\n volume:\n type: azure-native:containerstorage:Volume\n properties:\n poolName: -3-0\n resourceGroupName: rgcontainerstorage\n volumeName: q-r6KY54UA6G5TPSTL83\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:containerstorage:Volume qw /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}/volumes/{volumeName} \n```\n", + "azure-native:containerstorage:Snapshot": { + "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.\nAzure REST API version: 2023-07-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Snapshots_CreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snapshot = new AzureNative.ContainerStorage.Snapshot(\"snapshot\", new()\n {\n PoolName = \"test-pool\",\n ResourceGroupName = \"test-rg\",\n SnapshotName = \"test-snapshot\",\n Source = \"C0C6I6\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/containerstorage/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerstorage.NewSnapshot(ctx, \"snapshot\", \u0026containerstorage.SnapshotArgs{\n\t\t\tPoolName: pulumi.String(\"test-pool\"),\n\t\t\tResourceGroupName: pulumi.String(\"test-rg\"),\n\t\t\tSnapshotName: pulumi.String(\"test-snapshot\"),\n\t\t\tSource: pulumi.String(\"C0C6I6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.containerstorage.Snapshot;\nimport com.pulumi.azurenative.containerstorage.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var snapshot = new Snapshot(\"snapshot\", SnapshotArgs.builder() \n .poolName(\"test-pool\")\n .resourceGroupName(\"test-rg\")\n .snapshotName(\"test-snapshot\")\n .source(\"C0C6I6\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst snapshot = new azure_native.containerstorage.Snapshot(\"snapshot\", {\n poolName: \"test-pool\",\n resourceGroupName: \"test-rg\",\n snapshotName: \"test-snapshot\",\n source: \"C0C6I6\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nsnapshot = azure_native.containerstorage.Snapshot(\"snapshot\",\n pool_name=\"test-pool\",\n resource_group_name=\"test-rg\",\n snapshot_name=\"test-snapshot\",\n source=\"C0C6I6\")\n\n```\n\n```yaml\nresources:\n snapshot:\n type: azure-native:containerstorage:Snapshot\n properties:\n poolName: test-pool\n resourceGroupName: test-rg\n snapshotName: test-snapshot\n source: C0C6I6\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:containerstorage:Snapshot test-snapshot /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}/snapshots/{snapshotName} \n```\n", "properties": { - "capacityGiB": { - "type": "number", - "description": "Requested capacity in GiB" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "String KV pairs indicating labels" - }, - "mountOptions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of string mount options" - }, "name": { "type": "string", "description": "The name of the resource" @@ -463966,9 +465067,14 @@ "type": "string", "description": "The status of the last operation." }, - "reclaimPolicy": { + "source": { "type": "string", - "description": "Reclaim Policy, Delete or Retain" + "description": "Reference to the source volume" + }, + "status": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ResourceOperationalStatusResponse", + "description": "The status of the resource." }, "systemData": { "type": "object", @@ -463978,105 +465084,63 @@ "type": { "type": "string", "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" - }, - "volumeMode": { - "type": "string", - "description": "Indicates how the volume should be attached" } }, "type": "object", "required": [ - "capacityGiB", - "labels", - "mountOptions", "name", "provisioningState", - "reclaimPolicy", + "source", + "status", "systemData", - "type", - "volumeMode" + "type" ], "inputProperties": { - "capacityGiB": { - "type": "number", - "description": "Requested capacity in GiB" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "String KV pairs indicating labels" - }, - "mountOptions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of string mount options" - }, "poolName": { "type": "string", "description": "Pool Object", "willReplaceOnChanges": true }, - "reclaimPolicy": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/types/azure-native:containerstorage:ReclaimPolicy" - } - ], - "description": "Reclaim Policy, Delete or Retain" - }, "resourceGroupName": { "type": "string", "description": "The name of the resource group. The name is case insensitive.", "willReplaceOnChanges": true }, - "volumeMode": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/types/azure-native:containerstorage:VolumeMode" - } - ], - "description": "Indicates how the volume should be attached" + "snapshotName": { + "type": "string", + "description": "Volume Snapshot Resource", + "willReplaceOnChanges": true }, - "volumeName": { + "source": { "type": "string", - "description": "Volume Resource", + "description": "Reference to the source volume", "willReplaceOnChanges": true } }, "requiredInputs": [ - "capacityGiB", - "labels", - "mountOptions", "poolName", - "reclaimPolicy", "resourceGroupName", - "volumeMode" + "source" ], "aliases": [ { - "type": "azure-native:containerstorage/v20230301preview:Volume" + "type": "azure-native:containerstorage/v20230701preview:Snapshot" } ] }, - "azure-native:containerstorage:VolumeSnapshot": { - "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.\nAzure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### VolumeSnapshots_CreateOrUpdate_MaximumSet_Gen\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var volumeSnapshot = new AzureNative.ContainerStorage.VolumeSnapshot(\"volumeSnapshot\", new()\n {\n MountOptions = new[]\n {\n \"ozllffotmjyosqwx\",\n },\n PoolName = \"-1Jk-\",\n ReclaimPolicy = \"Delete\",\n ResourceGroupName = \"rgcontainerstorage\",\n Source = \"oytmtfvq\",\n VolumeMode = \"Filesystem\",\n VolumeSnapshotName = \"XBOVLQ-UDJ2n5kod886SN\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/containerstorage/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerstorage.NewVolumeSnapshot(ctx, \"volumeSnapshot\", \u0026containerstorage.VolumeSnapshotArgs{\n\t\t\tMountOptions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ozllffotmjyosqwx\"),\n\t\t\t},\n\t\t\tPoolName: pulumi.String(\"-1Jk-\"),\n\t\t\tReclaimPolicy: pulumi.String(\"Delete\"),\n\t\t\tResourceGroupName: pulumi.String(\"rgcontainerstorage\"),\n\t\t\tSource: pulumi.String(\"oytmtfvq\"),\n\t\t\tVolumeMode: pulumi.String(\"Filesystem\"),\n\t\t\tVolumeSnapshotName: pulumi.String(\"XBOVLQ-UDJ2n5kod886SN\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.containerstorage.VolumeSnapshot;\nimport com.pulumi.azurenative.containerstorage.VolumeSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var volumeSnapshot = new VolumeSnapshot(\"volumeSnapshot\", VolumeSnapshotArgs.builder() \n .mountOptions(\"ozllffotmjyosqwx\")\n .poolName(\"-1Jk-\")\n .reclaimPolicy(\"Delete\")\n .resourceGroupName(\"rgcontainerstorage\")\n .source(\"oytmtfvq\")\n .volumeMode(\"Filesystem\")\n .volumeSnapshotName(\"XBOVLQ-UDJ2n5kod886SN\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst volumeSnapshot = new azure_native.containerstorage.VolumeSnapshot(\"volumeSnapshot\", {\n mountOptions: [\"ozllffotmjyosqwx\"],\n poolName: \"-1Jk-\",\n reclaimPolicy: \"Delete\",\n resourceGroupName: \"rgcontainerstorage\",\n source: \"oytmtfvq\",\n volumeMode: \"Filesystem\",\n volumeSnapshotName: \"XBOVLQ-UDJ2n5kod886SN\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nvolume_snapshot = azure_native.containerstorage.VolumeSnapshot(\"volumeSnapshot\",\n mount_options=[\"ozllffotmjyosqwx\"],\n pool_name=\"-1Jk-\",\n reclaim_policy=\"Delete\",\n resource_group_name=\"rgcontainerstorage\",\n source=\"oytmtfvq\",\n volume_mode=\"Filesystem\",\n volume_snapshot_name=\"XBOVLQ-UDJ2n5kod886SN\")\n\n```\n\n```yaml\nresources:\n volumeSnapshot:\n type: azure-native:containerstorage:VolumeSnapshot\n properties:\n mountOptions:\n - ozllffotmjyosqwx\n poolName: -1Jk-\n reclaimPolicy: Delete\n resourceGroupName: rgcontainerstorage\n source: oytmtfvq\n volumeMode: Filesystem\n volumeSnapshotName: XBOVLQ-UDJ2n5kod886SN\n\n```\n\n{{% /example %}}\n{{% example %}}\n### VolumeSnapshots_CreateOrUpdate_MinimumSet_Gen\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var volumeSnapshot = new AzureNative.ContainerStorage.VolumeSnapshot(\"volumeSnapshot\", new()\n {\n PoolName = \"E-sfxFA3nN-FcID851Rq-Q3u\",\n ResourceGroupName = \"rgcontainerstorage\",\n VolumeSnapshotName = \"CjG-k-K4nWgGVV3VL-jT-5\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/containerstorage/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerstorage.NewVolumeSnapshot(ctx, \"volumeSnapshot\", \u0026containerstorage.VolumeSnapshotArgs{\n\t\t\tPoolName: pulumi.String(\"E-sfxFA3nN-FcID851Rq-Q3u\"),\n\t\t\tResourceGroupName: pulumi.String(\"rgcontainerstorage\"),\n\t\t\tVolumeSnapshotName: pulumi.String(\"CjG-k-K4nWgGVV3VL-jT-5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.containerstorage.VolumeSnapshot;\nimport com.pulumi.azurenative.containerstorage.VolumeSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var volumeSnapshot = new VolumeSnapshot(\"volumeSnapshot\", VolumeSnapshotArgs.builder() \n .poolName(\"E-sfxFA3nN-FcID851Rq-Q3u\")\n .resourceGroupName(\"rgcontainerstorage\")\n .volumeSnapshotName(\"CjG-k-K4nWgGVV3VL-jT-5\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst volumeSnapshot = new azure_native.containerstorage.VolumeSnapshot(\"volumeSnapshot\", {\n poolName: \"E-sfxFA3nN-FcID851Rq-Q3u\",\n resourceGroupName: \"rgcontainerstorage\",\n volumeSnapshotName: \"CjG-k-K4nWgGVV3VL-jT-5\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nvolume_snapshot = azure_native.containerstorage.VolumeSnapshot(\"volumeSnapshot\",\n pool_name=\"E-sfxFA3nN-FcID851Rq-Q3u\",\n resource_group_name=\"rgcontainerstorage\",\n volume_snapshot_name=\"CjG-k-K4nWgGVV3VL-jT-5\")\n\n```\n\n```yaml\nresources:\n volumeSnapshot:\n type: azure-native:containerstorage:VolumeSnapshot\n properties:\n poolName: E-sfxFA3nN-FcID851Rq-Q3u\n resourceGroupName: rgcontainerstorage\n volumeSnapshotName: CjG-k-K4nWgGVV3VL-jT-5\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:containerstorage:VolumeSnapshot nvn /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}/volumeSnapshots/{volumeSnapshotName} \n```\n", + "azure-native:containerstorage:Volume": { + "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.\nAzure REST API version: 2023-07-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Volumes_CreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var volume = new AzureNative.ContainerStorage.Volume(\"volume\", new()\n {\n CapacityGiB = 25838,\n Labels = \n {\n { \"key2039\", \"value2039\" },\n },\n PoolName = \"test-pool\",\n ResourceGroupName = \"test-rg\",\n VolumeName = \"test-volume\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/containerstorage/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := containerstorage.NewVolume(ctx, \"volume\", \u0026containerstorage.VolumeArgs{\n\t\t\tCapacityGiB: pulumi.Float64(25838),\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"key2039\": pulumi.String(\"value2039\"),\n\t\t\t},\n\t\t\tPoolName: pulumi.String(\"test-pool\"),\n\t\t\tResourceGroupName: pulumi.String(\"test-rg\"),\n\t\t\tVolumeName: pulumi.String(\"test-volume\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.containerstorage.Volume;\nimport com.pulumi.azurenative.containerstorage.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var volume = new Volume(\"volume\", VolumeArgs.builder() \n .capacityGiB(25838)\n .labels(Map.of(\"key2039\", \"value2039\"))\n .poolName(\"test-pool\")\n .resourceGroupName(\"test-rg\")\n .volumeName(\"test-volume\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst volume = new azure_native.containerstorage.Volume(\"volume\", {\n capacityGiB: 25838,\n labels: {\n key2039: \"value2039\",\n },\n poolName: \"test-pool\",\n resourceGroupName: \"test-rg\",\n volumeName: \"test-volume\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nvolume = azure_native.containerstorage.Volume(\"volume\",\n capacity_gi_b=25838,\n labels={\n \"key2039\": \"value2039\",\n },\n pool_name=\"test-pool\",\n resource_group_name=\"test-rg\",\n volume_name=\"test-volume\")\n\n```\n\n```yaml\nresources:\n volume:\n type: azure-native:containerstorage:Volume\n properties:\n capacityGiB: 25838\n labels:\n key2039: value2039\n poolName: test-pool\n resourceGroupName: test-rg\n volumeName: test-volume\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:containerstorage:Volume test-volume /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}/volumes/{volumeName} \n```\n", "properties": { - "mountOptions": { - "type": "array", - "items": { + "capacityGiB": { + "type": "number", + "description": "Requested capacity in GiB" + }, + "labels": { + "type": "object", + "additionalProperties": { "type": "string" }, - "description": "List of string mount options" + "description": "String KV pairs indicating labels" }, "name": { "type": "string", @@ -464086,13 +465150,10 @@ "type": "string", "description": "The status of the last operation." }, - "reclaimPolicy": { - "type": "string", - "description": "Reclaim Policy, Delete or Retain" - }, - "source": { - "type": "string", - "description": "Reference to the source volume" + "status": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ResourceOperationalStatusResponse", + "description": "The status of the resource." }, "systemData": { "type": "object", @@ -464103,83 +465164,60 @@ "type": "string", "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" }, - "volumeMode": { - "type": "string", - "description": "Indicates how the volumes created from the snapshot should be attached" + "volumeType": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:VolumeTypeResponse", + "description": "Properties of the volume" } }, "type": "object", "required": [ - "mountOptions", + "capacityGiB", + "labels", "name", "provisioningState", - "reclaimPolicy", - "source", + "status", "systemData", "type", - "volumeMode" + "volumeType" ], "inputProperties": { - "mountOptions": { - "type": "array", - "items": { + "capacityGiB": { + "type": "number", + "description": "Requested capacity in GiB" + }, + "labels": { + "type": "object", + "additionalProperties": { "type": "string" }, - "description": "List of string mount options" + "description": "String KV pairs indicating labels" }, "poolName": { "type": "string", "description": "Pool Object", "willReplaceOnChanges": true }, - "reclaimPolicy": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/types/azure-native:containerstorage:ReclaimPolicy" - } - ], - "description": "Reclaim Policy, Delete or Retain" - }, "resourceGroupName": { "type": "string", "description": "The name of the resource group. The name is case insensitive.", "willReplaceOnChanges": true }, - "source": { - "type": "string", - "description": "Reference to the source volume" - }, - "volumeMode": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/types/azure-native:containerstorage:VolumeMode" - } - ], - "description": "Indicates how the volumes created from the snapshot should be attached" - }, - "volumeSnapshotName": { + "volumeName": { "type": "string", - "description": "Volume Snapshot Resource", + "description": "Volume Resource", "willReplaceOnChanges": true } }, "requiredInputs": [ - "mountOptions", + "capacityGiB", + "labels", "poolName", - "reclaimPolicy", - "resourceGroupName", - "source", - "volumeMode" + "resourceGroupName" ], "aliases": [ { - "type": "azure-native:containerstorage/v20230301preview:VolumeSnapshot" + "type": "azure-native:containerstorage/v20230701preview:Volume" } ] }, @@ -468790,6 +469828,9 @@ }, { "type": "azure-native:databox/v20221201:Job" + }, + { + "type": "azure-native:databox/v20230301:Job" } ] }, @@ -486986,6 +488027,9 @@ }, { "type": "azure-native:desktopvirtualization/v20221014preview:Application" + }, + { + "type": "azure-native:desktopvirtualization/v20230707preview:Application" } ] }, @@ -487205,6 +488249,9 @@ }, { "type": "azure-native:desktopvirtualization/v20221014preview:ApplicationGroup" + }, + { + "type": "azure-native:desktopvirtualization/v20230707preview:ApplicationGroup" } ] }, @@ -487573,6 +488620,9 @@ }, { "type": "azure-native:desktopvirtualization/v20221014preview:HostPool" + }, + { + "type": "azure-native:desktopvirtualization/v20230707preview:HostPool" } ] }, @@ -487766,6 +488816,9 @@ }, { "type": "azure-native:desktopvirtualization/v20221014preview:MSIXPackage" + }, + { + "type": "azure-native:desktopvirtualization/v20230707preview:MSIXPackage" } ] }, @@ -487850,6 +488903,9 @@ }, { "type": "azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByHostPool" + }, + { + "type": "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool" } ] }, @@ -487934,6 +488990,9 @@ }, { "type": "azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByWorkspace" + }, + { + "type": "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace" } ] }, @@ -488165,6 +489224,387 @@ }, { "type": "azure-native:desktopvirtualization/v20221014preview:ScalingPlan" + }, + { + "type": "azure-native:desktopvirtualization/v20230707preview:ScalingPlan" + } + ] + }, + "azure-native:desktopvirtualization:ScalingPlanPersonalSchedule": { + "description": "Represents a ScalingPlanPersonalSchedule definition.\nAzure REST API version: 2023-07-07-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### ScalingPlanPersonalSchedules_Create\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var scalingPlanPersonalSchedule = new AzureNative.DesktopVirtualization.ScalingPlanPersonalSchedule(\"scalingPlanPersonalSchedule\", new()\n {\n DaysOfWeek = new[]\n {\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n },\n OffPeakActionOnDisconnect = \"None\",\n OffPeakActionOnLogoff = \"Deallocate\",\n OffPeakMinutesToWaitOnDisconnect = 10,\n OffPeakMinutesToWaitOnLogoff = 10,\n OffPeakStartTime = new AzureNative.DesktopVirtualization.Inputs.TimeArgs\n {\n Hour = 20,\n Minute = 0,\n },\n OffPeakStartVMOnConnect = \"Enable\",\n PeakActionOnDisconnect = \"None\",\n PeakActionOnLogoff = \"Deallocate\",\n PeakMinutesToWaitOnDisconnect = 10,\n PeakMinutesToWaitOnLogoff = 10,\n PeakStartTime = new AzureNative.DesktopVirtualization.Inputs.TimeArgs\n {\n Hour = 8,\n Minute = 0,\n },\n PeakStartVMOnConnect = \"Enable\",\n RampDownActionOnDisconnect = \"None\",\n RampDownActionOnLogoff = \"Deallocate\",\n RampDownMinutesToWaitOnDisconnect = 10,\n RampDownMinutesToWaitOnLogoff = 10,\n RampDownStartTime = new AzureNative.DesktopVirtualization.Inputs.TimeArgs\n {\n Hour = 18,\n Minute = 0,\n },\n RampDownStartVMOnConnect = \"Enable\",\n RampUpActionOnDisconnect = \"None\",\n RampUpActionOnLogoff = \"None\",\n RampUpAutoStartHosts = \"All\",\n RampUpMinutesToWaitOnDisconnect = 10,\n RampUpMinutesToWaitOnLogoff = 10,\n RampUpStartTime = new AzureNative.DesktopVirtualization.Inputs.TimeArgs\n {\n Hour = 6,\n Minute = 0,\n },\n RampUpStartVMOnConnect = \"Enable\",\n ResourceGroupName = \"resourceGroup1\",\n ScalingPlanName = \"scalingPlan1\",\n ScalingPlanScheduleName = \"scalingPlanScheduleWeekdays1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/desktopvirtualization/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := desktopvirtualization.NewScalingPlanPersonalSchedule(ctx, \"scalingPlanPersonalSchedule\", \u0026desktopvirtualization.ScalingPlanPersonalScheduleArgs{\n\t\t\tDaysOfWeek: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Monday\"),\n\t\t\t\tpulumi.String(\"Tuesday\"),\n\t\t\t\tpulumi.String(\"Wednesday\"),\n\t\t\t\tpulumi.String(\"Thursday\"),\n\t\t\t\tpulumi.String(\"Friday\"),\n\t\t\t},\n\t\t\tOffPeakActionOnDisconnect: pulumi.String(\"None\"),\n\t\t\tOffPeakActionOnLogoff: pulumi.String(\"Deallocate\"),\n\t\t\tOffPeakMinutesToWaitOnDisconnect: pulumi.Int(10),\n\t\t\tOffPeakMinutesToWaitOnLogoff: pulumi.Int(10),\n\t\t\tOffPeakStartTime: \u0026desktopvirtualization.TimeArgs{\n\t\t\t\tHour: pulumi.Int(20),\n\t\t\t\tMinute: pulumi.Int(0),\n\t\t\t},\n\t\t\tOffPeakStartVMOnConnect: pulumi.String(\"Enable\"),\n\t\t\tPeakActionOnDisconnect: pulumi.String(\"None\"),\n\t\t\tPeakActionOnLogoff: pulumi.String(\"Deallocate\"),\n\t\t\tPeakMinutesToWaitOnDisconnect: pulumi.Int(10),\n\t\t\tPeakMinutesToWaitOnLogoff: pulumi.Int(10),\n\t\t\tPeakStartTime: \u0026desktopvirtualization.TimeArgs{\n\t\t\t\tHour: pulumi.Int(8),\n\t\t\t\tMinute: pulumi.Int(0),\n\t\t\t},\n\t\t\tPeakStartVMOnConnect: pulumi.String(\"Enable\"),\n\t\t\tRampDownActionOnDisconnect: pulumi.String(\"None\"),\n\t\t\tRampDownActionOnLogoff: pulumi.String(\"Deallocate\"),\n\t\t\tRampDownMinutesToWaitOnDisconnect: pulumi.Int(10),\n\t\t\tRampDownMinutesToWaitOnLogoff: pulumi.Int(10),\n\t\t\tRampDownStartTime: \u0026desktopvirtualization.TimeArgs{\n\t\t\t\tHour: pulumi.Int(18),\n\t\t\t\tMinute: pulumi.Int(0),\n\t\t\t},\n\t\t\tRampDownStartVMOnConnect: pulumi.String(\"Enable\"),\n\t\t\tRampUpActionOnDisconnect: pulumi.String(\"None\"),\n\t\t\tRampUpActionOnLogoff: pulumi.String(\"None\"),\n\t\t\tRampUpAutoStartHosts: pulumi.String(\"All\"),\n\t\t\tRampUpMinutesToWaitOnDisconnect: pulumi.Int(10),\n\t\t\tRampUpMinutesToWaitOnLogoff: pulumi.Int(10),\n\t\t\tRampUpStartTime: \u0026desktopvirtualization.TimeArgs{\n\t\t\t\tHour: pulumi.Int(6),\n\t\t\t\tMinute: pulumi.Int(0),\n\t\t\t},\n\t\t\tRampUpStartVMOnConnect: pulumi.String(\"Enable\"),\n\t\t\tResourceGroupName: pulumi.String(\"resourceGroup1\"),\n\t\t\tScalingPlanName: pulumi.String(\"scalingPlan1\"),\n\t\t\tScalingPlanScheduleName: pulumi.String(\"scalingPlanScheduleWeekdays1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.desktopvirtualization.ScalingPlanPersonalSchedule;\nimport com.pulumi.azurenative.desktopvirtualization.ScalingPlanPersonalScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var scalingPlanPersonalSchedule = new ScalingPlanPersonalSchedule(\"scalingPlanPersonalSchedule\", ScalingPlanPersonalScheduleArgs.builder() \n .daysOfWeek( \n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\")\n .offPeakActionOnDisconnect(\"None\")\n .offPeakActionOnLogoff(\"Deallocate\")\n .offPeakMinutesToWaitOnDisconnect(10)\n .offPeakMinutesToWaitOnLogoff(10)\n .offPeakStartTime(Map.ofEntries(\n Map.entry(\"hour\", 20),\n Map.entry(\"minute\", 0)\n ))\n .offPeakStartVMOnConnect(\"Enable\")\n .peakActionOnDisconnect(\"None\")\n .peakActionOnLogoff(\"Deallocate\")\n .peakMinutesToWaitOnDisconnect(10)\n .peakMinutesToWaitOnLogoff(10)\n .peakStartTime(Map.ofEntries(\n Map.entry(\"hour\", 8),\n Map.entry(\"minute\", 0)\n ))\n .peakStartVMOnConnect(\"Enable\")\n .rampDownActionOnDisconnect(\"None\")\n .rampDownActionOnLogoff(\"Deallocate\")\n .rampDownMinutesToWaitOnDisconnect(10)\n .rampDownMinutesToWaitOnLogoff(10)\n .rampDownStartTime(Map.ofEntries(\n Map.entry(\"hour\", 18),\n Map.entry(\"minute\", 0)\n ))\n .rampDownStartVMOnConnect(\"Enable\")\n .rampUpActionOnDisconnect(\"None\")\n .rampUpActionOnLogoff(\"None\")\n .rampUpAutoStartHosts(\"All\")\n .rampUpMinutesToWaitOnDisconnect(10)\n .rampUpMinutesToWaitOnLogoff(10)\n .rampUpStartTime(Map.ofEntries(\n Map.entry(\"hour\", 6),\n Map.entry(\"minute\", 0)\n ))\n .rampUpStartVMOnConnect(\"Enable\")\n .resourceGroupName(\"resourceGroup1\")\n .scalingPlanName(\"scalingPlan1\")\n .scalingPlanScheduleName(\"scalingPlanScheduleWeekdays1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst scalingPlanPersonalSchedule = new azure_native.desktopvirtualization.ScalingPlanPersonalSchedule(\"scalingPlanPersonalSchedule\", {\n daysOfWeek: [\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n ],\n offPeakActionOnDisconnect: \"None\",\n offPeakActionOnLogoff: \"Deallocate\",\n offPeakMinutesToWaitOnDisconnect: 10,\n offPeakMinutesToWaitOnLogoff: 10,\n offPeakStartTime: {\n hour: 20,\n minute: 0,\n },\n offPeakStartVMOnConnect: \"Enable\",\n peakActionOnDisconnect: \"None\",\n peakActionOnLogoff: \"Deallocate\",\n peakMinutesToWaitOnDisconnect: 10,\n peakMinutesToWaitOnLogoff: 10,\n peakStartTime: {\n hour: 8,\n minute: 0,\n },\n peakStartVMOnConnect: \"Enable\",\n rampDownActionOnDisconnect: \"None\",\n rampDownActionOnLogoff: \"Deallocate\",\n rampDownMinutesToWaitOnDisconnect: 10,\n rampDownMinutesToWaitOnLogoff: 10,\n rampDownStartTime: {\n hour: 18,\n minute: 0,\n },\n rampDownStartVMOnConnect: \"Enable\",\n rampUpActionOnDisconnect: \"None\",\n rampUpActionOnLogoff: \"None\",\n rampUpAutoStartHosts: \"All\",\n rampUpMinutesToWaitOnDisconnect: 10,\n rampUpMinutesToWaitOnLogoff: 10,\n rampUpStartTime: {\n hour: 6,\n minute: 0,\n },\n rampUpStartVMOnConnect: \"Enable\",\n resourceGroupName: \"resourceGroup1\",\n scalingPlanName: \"scalingPlan1\",\n scalingPlanScheduleName: \"scalingPlanScheduleWeekdays1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nscaling_plan_personal_schedule = azure_native.desktopvirtualization.ScalingPlanPersonalSchedule(\"scalingPlanPersonalSchedule\",\n days_of_week=[\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n ],\n off_peak_action_on_disconnect=\"None\",\n off_peak_action_on_logoff=\"Deallocate\",\n off_peak_minutes_to_wait_on_disconnect=10,\n off_peak_minutes_to_wait_on_logoff=10,\n off_peak_start_time=azure_native.desktopvirtualization.TimeArgs(\n hour=20,\n minute=0,\n ),\n off_peak_start_vm_on_connect=\"Enable\",\n peak_action_on_disconnect=\"None\",\n peak_action_on_logoff=\"Deallocate\",\n peak_minutes_to_wait_on_disconnect=10,\n peak_minutes_to_wait_on_logoff=10,\n peak_start_time=azure_native.desktopvirtualization.TimeArgs(\n hour=8,\n minute=0,\n ),\n peak_start_vm_on_connect=\"Enable\",\n ramp_down_action_on_disconnect=\"None\",\n ramp_down_action_on_logoff=\"Deallocate\",\n ramp_down_minutes_to_wait_on_disconnect=10,\n ramp_down_minutes_to_wait_on_logoff=10,\n ramp_down_start_time=azure_native.desktopvirtualization.TimeArgs(\n hour=18,\n minute=0,\n ),\n ramp_down_start_vm_on_connect=\"Enable\",\n ramp_up_action_on_disconnect=\"None\",\n ramp_up_action_on_logoff=\"None\",\n ramp_up_auto_start_hosts=\"All\",\n ramp_up_minutes_to_wait_on_disconnect=10,\n ramp_up_minutes_to_wait_on_logoff=10,\n ramp_up_start_time=azure_native.desktopvirtualization.TimeArgs(\n hour=6,\n minute=0,\n ),\n ramp_up_start_vm_on_connect=\"Enable\",\n resource_group_name=\"resourceGroup1\",\n scaling_plan_name=\"scalingPlan1\",\n scaling_plan_schedule_name=\"scalingPlanScheduleWeekdays1\")\n\n```\n\n```yaml\nresources:\n scalingPlanPersonalSchedule:\n type: azure-native:desktopvirtualization:ScalingPlanPersonalSchedule\n properties:\n daysOfWeek:\n - Monday\n - Tuesday\n - Wednesday\n - Thursday\n - Friday\n offPeakActionOnDisconnect: None\n offPeakActionOnLogoff: Deallocate\n offPeakMinutesToWaitOnDisconnect: 10\n offPeakMinutesToWaitOnLogoff: 10\n offPeakStartTime:\n hour: 20\n minute: 0\n offPeakStartVMOnConnect: Enable\n peakActionOnDisconnect: None\n peakActionOnLogoff: Deallocate\n peakMinutesToWaitOnDisconnect: 10\n peakMinutesToWaitOnLogoff: 10\n peakStartTime:\n hour: 8\n minute: 0\n peakStartVMOnConnect: Enable\n rampDownActionOnDisconnect: None\n rampDownActionOnLogoff: Deallocate\n rampDownMinutesToWaitOnDisconnect: 10\n rampDownMinutesToWaitOnLogoff: 10\n rampDownStartTime:\n hour: 18\n minute: 0\n rampDownStartVMOnConnect: Enable\n rampUpActionOnDisconnect: None\n rampUpActionOnLogoff: None\n rampUpAutoStartHosts: All\n rampUpMinutesToWaitOnDisconnect: 10\n rampUpMinutesToWaitOnLogoff: 10\n rampUpStartTime:\n hour: 6\n minute: 0\n rampUpStartVMOnConnect: Enable\n resourceGroupName: resourceGroup1\n scalingPlanName: scalingPlan1\n scalingPlanScheduleName: scalingPlanScheduleWeekdays1\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:desktopvirtualization:ScalingPlanPersonalSchedule scalingPlanScheduleWeekdays1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/personalSchedules/{scalingPlanScheduleName} \n```\n", + "properties": { + "daysOfWeek": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of days of the week on which this schedule is active." + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "offPeakActionOnDisconnect": { + "type": "string", + "description": "Action to be taken after a user disconnect during the off-peak period." + }, + "offPeakActionOnLogoff": { + "type": "string", + "description": "Action to be taken after a logoff during the off-peak period." + }, + "offPeakMinutesToWaitOnDisconnect": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period." + }, + "offPeakMinutesToWaitOnLogoff": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period." + }, + "offPeakStartTime": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:TimeResponse", + "description": "Starting time for off-peak period." + }, + "offPeakStartVMOnConnect": { + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the off-peak phase.", + "default": "Enable" + }, + "peakActionOnDisconnect": { + "type": "string", + "description": "Action to be taken after a user disconnect during the peak period." + }, + "peakActionOnLogoff": { + "type": "string", + "description": "Action to be taken after a logoff during the peak period." + }, + "peakMinutesToWaitOnDisconnect": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period." + }, + "peakMinutesToWaitOnLogoff": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period." + }, + "peakStartTime": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:TimeResponse", + "description": "Starting time for peak period." + }, + "peakStartVMOnConnect": { + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the peak phase.", + "default": "Enable" + }, + "rampDownActionOnDisconnect": { + "type": "string", + "description": "Action to be taken after a user disconnect during the ramp down period." + }, + "rampDownActionOnLogoff": { + "type": "string", + "description": "Action to be taken after a logoff during the ramp down period." + }, + "rampDownMinutesToWaitOnDisconnect": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period." + }, + "rampDownMinutesToWaitOnLogoff": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period." + }, + "rampDownStartTime": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:TimeResponse", + "description": "Starting time for ramp down period." + }, + "rampDownStartVMOnConnect": { + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp down phase.", + "default": "Enable" + }, + "rampUpActionOnDisconnect": { + "type": "string", + "description": "Action to be taken after a user disconnect during the ramp up period." + }, + "rampUpActionOnLogoff": { + "type": "string", + "description": "Action to be taken after a logoff during the ramp up period." + }, + "rampUpAutoStartHosts": { + "type": "string", + "description": "The desired startup behavior during the ramp up period for personal vms in the hostpool." + }, + "rampUpMinutesToWaitOnDisconnect": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period." + }, + "rampUpMinutesToWaitOnLogoff": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period." + }, + "rampUpStartTime": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:TimeResponse", + "description": "Starting time for ramp up period." + }, + "rampUpStartVMOnConnect": { + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually.", + "default": "Enable" + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:SystemDataResponse", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + } + }, + "type": "object", + "required": [ + "name", + "systemData", + "type" + ], + "inputProperties": { + "daysOfWeek": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:DayOfWeek" + } + ] + }, + "description": "Set of days of the week on which this schedule is active." + }, + "offPeakActionOnDisconnect": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:SessionHandlingOperation" + } + ], + "description": "Action to be taken after a user disconnect during the off-peak period." + }, + "offPeakActionOnLogoff": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:SessionHandlingOperation" + } + ], + "description": "Action to be taken after a logoff during the off-peak period." + }, + "offPeakMinutesToWaitOnDisconnect": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period." + }, + "offPeakMinutesToWaitOnLogoff": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period." + }, + "offPeakStartTime": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:Time", + "description": "Starting time for off-peak period." + }, + "offPeakStartVMOnConnect": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:SetStartVMOnConnect" + } + ], + "description": "The desired configuration of Start VM On Connect for the hostpool during the off-peak phase.", + "default": "Enable" + }, + "peakActionOnDisconnect": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:SessionHandlingOperation" + } + ], + "description": "Action to be taken after a user disconnect during the peak period." + }, + "peakActionOnLogoff": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:SessionHandlingOperation" + } + ], + "description": "Action to be taken after a logoff during the peak period." + }, + "peakMinutesToWaitOnDisconnect": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period." + }, + "peakMinutesToWaitOnLogoff": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period." + }, + "peakStartTime": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:Time", + "description": "Starting time for peak period." + }, + "peakStartVMOnConnect": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:SetStartVMOnConnect" + } + ], + "description": "The desired configuration of Start VM On Connect for the hostpool during the peak phase.", + "default": "Enable" + }, + "rampDownActionOnDisconnect": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:SessionHandlingOperation" + } + ], + "description": "Action to be taken after a user disconnect during the ramp down period." + }, + "rampDownActionOnLogoff": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:SessionHandlingOperation" + } + ], + "description": "Action to be taken after a logoff during the ramp down period." + }, + "rampDownMinutesToWaitOnDisconnect": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period." + }, + "rampDownMinutesToWaitOnLogoff": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period." + }, + "rampDownStartTime": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:Time", + "description": "Starting time for ramp down period." + }, + "rampDownStartVMOnConnect": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:SetStartVMOnConnect" + } + ], + "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp down phase.", + "default": "Enable" + }, + "rampUpActionOnDisconnect": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:SessionHandlingOperation" + } + ], + "description": "Action to be taken after a user disconnect during the ramp up period." + }, + "rampUpActionOnLogoff": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:SessionHandlingOperation" + } + ], + "description": "Action to be taken after a logoff during the ramp up period." + }, + "rampUpAutoStartHosts": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:StartupBehavior" + } + ], + "description": "The desired startup behavior during the ramp up period for personal vms in the hostpool." + }, + "rampUpMinutesToWaitOnDisconnect": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period." + }, + "rampUpMinutesToWaitOnLogoff": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period." + }, + "rampUpStartTime": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:Time", + "description": "Starting time for ramp up period." + }, + "rampUpStartVMOnConnect": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:desktopvirtualization:SetStartVMOnConnect" + } + ], + "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually.", + "default": "Enable" + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "willReplaceOnChanges": true + }, + "scalingPlanName": { + "type": "string", + "description": "The name of the scaling plan.", + "willReplaceOnChanges": true + }, + "scalingPlanScheduleName": { + "type": "string", + "description": "The name of the ScalingPlanSchedule", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "resourceGroupName", + "scalingPlanName" + ], + "aliases": [ + { + "type": "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPersonalSchedule" } ] }, @@ -488413,6 +489853,9 @@ }, { "type": "azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule" + }, + { + "type": "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule" } ] }, @@ -488614,6 +490057,9 @@ }, { "type": "azure-native:desktopvirtualization/v20221014preview:Workspace" + }, + { + "type": "azure-native:desktopvirtualization/v20230707preview:Workspace" } ] }, @@ -508646,6 +510092,150 @@ } ] }, + "azure-native:hdinsight:ClusterPool": { + "description": "Cluster pool.\nAzure REST API version: 2023-06-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### ClusterPoolPut\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var clusterPool = new AzureNative.HDInsight.ClusterPool(\"clusterPool\", new()\n {\n ClusterPoolName = \"clusterpool1\",\n ClusterPoolProfile = new AzureNative.HDInsight.Inputs.ClusterPoolResourcePropertiesClusterPoolProfileArgs\n {\n ClusterPoolVersion = \"1.2\",\n },\n ComputeProfile = new AzureNative.HDInsight.Inputs.ClusterPoolResourcePropertiesComputeProfileArgs\n {\n VmSize = \"Standard_D3_v2\",\n },\n Location = \"West US 2\",\n ResourceGroupName = \"hiloResourcegroup\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hdinsight.NewClusterPool(ctx, \"clusterPool\", \u0026hdinsight.ClusterPoolArgs{\n\t\t\tClusterPoolName: pulumi.String(\"clusterpool1\"),\n\t\t\tClusterPoolProfile: \u0026hdinsight.ClusterPoolResourcePropertiesClusterPoolProfileArgs{\n\t\t\t\tClusterPoolVersion: pulumi.String(\"1.2\"),\n\t\t\t},\n\t\t\tComputeProfile: \u0026hdinsight.ClusterPoolResourcePropertiesComputeProfileArgs{\n\t\t\t\tVmSize: pulumi.String(\"Standard_D3_v2\"),\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"West US 2\"),\n\t\t\tResourceGroupName: pulumi.String(\"hiloResourcegroup\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.hdinsight.ClusterPool;\nimport com.pulumi.azurenative.hdinsight.ClusterPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var clusterPool = new ClusterPool(\"clusterPool\", ClusterPoolArgs.builder() \n .clusterPoolName(\"clusterpool1\")\n .clusterPoolProfile(Map.of(\"clusterPoolVersion\", \"1.2\"))\n .computeProfile(Map.of(\"vmSize\", \"Standard_D3_v2\"))\n .location(\"West US 2\")\n .resourceGroupName(\"hiloResourcegroup\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst clusterPool = new azure_native.hdinsight.ClusterPool(\"clusterPool\", {\n clusterPoolName: \"clusterpool1\",\n clusterPoolProfile: {\n clusterPoolVersion: \"1.2\",\n },\n computeProfile: {\n vmSize: \"Standard_D3_v2\",\n },\n location: \"West US 2\",\n resourceGroupName: \"hiloResourcegroup\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ncluster_pool = azure_native.hdinsight.ClusterPool(\"clusterPool\",\n cluster_pool_name=\"clusterpool1\",\n cluster_pool_profile=azure_native.hdinsight.ClusterPoolResourcePropertiesClusterPoolProfileArgs(\n cluster_pool_version=\"1.2\",\n ),\n compute_profile=azure_native.hdinsight.ClusterPoolResourcePropertiesComputeProfileArgs(\n vm_size=\"Standard_D3_v2\",\n ),\n location=\"West US 2\",\n resource_group_name=\"hiloResourcegroup\")\n\n```\n\n```yaml\nresources:\n clusterPool:\n type: azure-native:hdinsight:ClusterPool\n properties:\n clusterPoolName: clusterpool1\n clusterPoolProfile:\n clusterPoolVersion: '1.2'\n computeProfile:\n vmSize: Standard_D3_v2\n location: West US 2\n resourceGroupName: hiloResourcegroup\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:hdinsight:ClusterPool clusterpool1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName} \n```\n", + "properties": { + "aksClusterProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesResponseAksClusterProfile", + "description": "Properties of underlying AKS cluster." + }, + "aksManagedResourceGroupName": { + "type": "string", + "description": "A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}" + }, + "clusterPoolProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesResponseClusterPoolProfile", + "description": "CLuster pool profile." + }, + "computeProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesResponseComputeProfile", + "description": "CLuster pool compute profile." + }, + "deploymentId": { + "type": "string", + "description": "A unique id generated by the RP to identify the resource." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "logAnalyticsProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesResponseLogAnalyticsProfile", + "description": "Cluster pool log analytics profile to enable OMS agent for AKS cluster." + }, + "managedResourceGroupName": { + "type": "string", + "description": "A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction." + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "networkProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesResponseNetworkProfile", + "description": "Cluster pool network profile." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource." + }, + "status": { + "type": "string", + "description": "Business status of the resource." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + } + }, + "type": "object", + "required": [ + "aksClusterProfile", + "aksManagedResourceGroupName", + "computeProfile", + "deploymentId", + "location", + "name", + "provisioningState", + "status", + "systemData", + "type" + ], + "inputProperties": { + "clusterPoolName": { + "type": "string", + "description": "The name of the cluster pool.", + "willReplaceOnChanges": true + }, + "clusterPoolProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesClusterPoolProfile", + "description": "CLuster pool profile." + }, + "computeProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesComputeProfile", + "description": "CLuster pool compute profile." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "willReplaceOnChanges": true + }, + "logAnalyticsProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesLogAnalyticsProfile", + "description": "Cluster pool log analytics profile to enable OMS agent for AKS cluster." + }, + "managedResourceGroupName": { + "type": "string", + "description": "A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction." + }, + "networkProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesNetworkProfile", + "description": "Cluster pool network profile." + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "willReplaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "requiredInputs": [ + "computeProfile", + "resourceGroupName" + ], + "aliases": [ + { + "type": "azure-native:hdinsight/v20230601preview:ClusterPool" + } + ] + }, "azure-native:hdinsight:PrivateEndpointConnection": { "description": "The private endpoint connection.\nAzure REST API version: 2021-06-01. Prior API version in Azure Native 1.x: 2021-06-01\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Approve a private endpoint connection manually.\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var privateEndpointConnection = new AzureNative.HDInsight.PrivateEndpointConnection(\"privateEndpointConnection\", new()\n {\n ClusterName = \"cluster1\",\n PrivateEndpointConnectionName = \"testprivateep.b3bf5fed-9b12-4560-b7d0-2abe1bba07e2\",\n PrivateLinkServiceConnectionState = new AzureNative.HDInsight.Inputs.PrivateLinkServiceConnectionStateArgs\n {\n ActionsRequired = \"None\",\n Description = \"update it from pending to approved.\",\n Status = \"Approved\",\n },\n ResourceGroupName = \"rg1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hdinsight.NewPrivateEndpointConnection(ctx, \"privateEndpointConnection\", \u0026hdinsight.PrivateEndpointConnectionArgs{\n\t\t\tClusterName: pulumi.String(\"cluster1\"),\n\t\t\tPrivateEndpointConnectionName: pulumi.String(\"testprivateep.b3bf5fed-9b12-4560-b7d0-2abe1bba07e2\"),\n\t\t\tPrivateLinkServiceConnectionState: \u0026hdinsight.PrivateLinkServiceConnectionStateArgs{\n\t\t\t\tActionsRequired: pulumi.String(\"None\"),\n\t\t\t\tDescription: pulumi.String(\"update it from pending to approved.\"),\n\t\t\t\tStatus: pulumi.String(\"Approved\"),\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.hdinsight.PrivateEndpointConnection;\nimport com.pulumi.azurenative.hdinsight.PrivateEndpointConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var privateEndpointConnection = new PrivateEndpointConnection(\"privateEndpointConnection\", PrivateEndpointConnectionArgs.builder() \n .clusterName(\"cluster1\")\n .privateEndpointConnectionName(\"testprivateep.b3bf5fed-9b12-4560-b7d0-2abe1bba07e2\")\n .privateLinkServiceConnectionState(Map.ofEntries(\n Map.entry(\"actionsRequired\", \"None\"),\n Map.entry(\"description\", \"update it from pending to approved.\"),\n Map.entry(\"status\", \"Approved\")\n ))\n .resourceGroupName(\"rg1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst privateEndpointConnection = new azure_native.hdinsight.PrivateEndpointConnection(\"privateEndpointConnection\", {\n clusterName: \"cluster1\",\n privateEndpointConnectionName: \"testprivateep.b3bf5fed-9b12-4560-b7d0-2abe1bba07e2\",\n privateLinkServiceConnectionState: {\n actionsRequired: \"None\",\n description: \"update it from pending to approved.\",\n status: \"Approved\",\n },\n resourceGroupName: \"rg1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nprivate_endpoint_connection = azure_native.hdinsight.PrivateEndpointConnection(\"privateEndpointConnection\",\n cluster_name=\"cluster1\",\n private_endpoint_connection_name=\"testprivateep.b3bf5fed-9b12-4560-b7d0-2abe1bba07e2\",\n private_link_service_connection_state=azure_native.hdinsight.PrivateLinkServiceConnectionStateArgs(\n actions_required=\"None\",\n description=\"update it from pending to approved.\",\n status=\"Approved\",\n ),\n resource_group_name=\"rg1\")\n\n```\n\n```yaml\nresources:\n privateEndpointConnection:\n type: azure-native:hdinsight:PrivateEndpointConnection\n properties:\n clusterName: cluster1\n privateEndpointConnectionName: testprivateep.b3bf5fed-9b12-4560-b7d0-2abe1bba07e2\n privateLinkServiceConnectionState:\n actionsRequired: None\n description: update it from pending to approved.\n status: Approved\n resourceGroupName: rg1\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:hdinsight:PrivateEndpointConnection testprivateep.b3bf5fed-9b12-4560-b7d0-2abe1bba07e2 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName} \n```\n", "properties": { @@ -510607,9 +512197,6 @@ }, { "type": "azure-native:hybridcompute/v20230315preview:Machine" - }, - { - "type": "azure-native:hybridcompute/v20230425preview:Machine" } ] }, @@ -510813,206 +512400,6 @@ }, { "type": "azure-native:hybridcompute/v20230315preview:MachineExtension" - }, - { - "type": "azure-native:hybridcompute/v20230425preview:MachineExtension" - } - ] - }, - "azure-native:hybridcompute:MachineRunCommand": { - "description": "Describes a Run Command\nAzure REST API version: 2023-04-25-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create or Update a Run Command\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var machineRunCommand = new AzureNative.HybridCompute.MachineRunCommand(\"machineRunCommand\", new()\n {\n AsyncExecution = false,\n ErrorBlobUri = \"https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt?sp=racw\u0026st=2022-10-07T19:40:21Z\u0026se=2022-10-08T03:40:21Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=b\u0026sig=Yh7B%2Fy83olbYBdfsfbUREvd7ol8Dq5EVP3lAO4Kj4xDcN8%3D\",\n Location = \"eastus2\",\n MachineName = \"myMachine\",\n OutputBlobUri = \"https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt\",\n Parameters = new[]\n {\n new AzureNative.HybridCompute.Inputs.RunCommandInputParameterArgs\n {\n Name = \"param1\",\n Value = \"value1\",\n },\n new AzureNative.HybridCompute.Inputs.RunCommandInputParameterArgs\n {\n Name = \"param2\",\n Value = \"value2\",\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n RunAsPassword = \"\u003crunAsPassword\u003e\",\n RunAsUser = \"user1\",\n RunCommandName = \"myRunCommand\",\n Source = new AzureNative.HybridCompute.Inputs.MachineRunCommandScriptSourceArgs\n {\n Script = \"Write-Host Hello World!\",\n },\n TimeoutInSeconds = 3600,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/hybridcompute/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hybridcompute.NewMachineRunCommand(ctx, \"machineRunCommand\", \u0026hybridcompute.MachineRunCommandArgs{\n\t\t\tAsyncExecution: pulumi.Bool(false),\n\t\t\tErrorBlobUri: pulumi.String(\"https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt?sp=racw\u0026st=2022-10-07T19:40:21Z\u0026se=2022-10-08T03:40:21Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=b\u0026sig=Yh7B%2Fy83olbYBdfsfbUREvd7ol8Dq5EVP3lAO4Kj4xDcN8%3D\"),\n\t\t\tLocation: pulumi.String(\"eastus2\"),\n\t\t\tMachineName: pulumi.String(\"myMachine\"),\n\t\t\tOutputBlobUri: pulumi.String(\"https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt\"),\n\t\t\tParameters: []hybridcompute.RunCommandInputParameterArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"param1\"),\n\t\t\t\t\tValue: pulumi.String(\"value1\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"param2\"),\n\t\t\t\t\tValue: pulumi.String(\"value2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t\tRunAsPassword: pulumi.String(\"\u003crunAsPassword\u003e\"),\n\t\t\tRunAsUser: pulumi.String(\"user1\"),\n\t\t\tRunCommandName: pulumi.String(\"myRunCommand\"),\n\t\t\tSource: \u0026hybridcompute.MachineRunCommandScriptSourceArgs{\n\t\t\t\tScript: pulumi.String(\"Write-Host Hello World!\"),\n\t\t\t},\n\t\t\tTimeoutInSeconds: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.hybridcompute.MachineRunCommand;\nimport com.pulumi.azurenative.hybridcompute.MachineRunCommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var machineRunCommand = new MachineRunCommand(\"machineRunCommand\", MachineRunCommandArgs.builder() \n .asyncExecution(false)\n .errorBlobUri(\"https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt?sp=racw\u0026st=2022-10-07T19:40:21Z\u0026se=2022-10-08T03:40:21Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=b\u0026sig=Yh7B%2Fy83olbYBdfsfbUREvd7ol8Dq5EVP3lAO4Kj4xDcN8%3D\")\n .location(\"eastus2\")\n .machineName(\"myMachine\")\n .outputBlobUri(\"https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt\")\n .parameters( \n Map.ofEntries(\n Map.entry(\"name\", \"param1\"),\n Map.entry(\"value\", \"value1\")\n ),\n Map.ofEntries(\n Map.entry(\"name\", \"param2\"),\n Map.entry(\"value\", \"value2\")\n ))\n .resourceGroupName(\"myResourceGroup\")\n .runAsPassword(\"\u003crunAsPassword\u003e\")\n .runAsUser(\"user1\")\n .runCommandName(\"myRunCommand\")\n .source(Map.of(\"script\", \"Write-Host Hello World!\"))\n .timeoutInSeconds(3600)\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst machineRunCommand = new azure_native.hybridcompute.MachineRunCommand(\"machineRunCommand\", {\n asyncExecution: false,\n errorBlobUri: \"https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt?sp=racw\u0026st=2022-10-07T19:40:21Z\u0026se=2022-10-08T03:40:21Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=b\u0026sig=Yh7B%2Fy83olbYBdfsfbUREvd7ol8Dq5EVP3lAO4Kj4xDcN8%3D\",\n location: \"eastus2\",\n machineName: \"myMachine\",\n outputBlobUri: \"https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt\",\n parameters: [\n {\n name: \"param1\",\n value: \"value1\",\n },\n {\n name: \"param2\",\n value: \"value2\",\n },\n ],\n resourceGroupName: \"myResourceGroup\",\n runAsPassword: \"\u003crunAsPassword\u003e\",\n runAsUser: \"user1\",\n runCommandName: \"myRunCommand\",\n source: {\n script: \"Write-Host Hello World!\",\n },\n timeoutInSeconds: 3600,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nmachine_run_command = azure_native.hybridcompute.MachineRunCommand(\"machineRunCommand\",\n async_execution=False,\n error_blob_uri=\"https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt?sp=racw\u0026st=2022-10-07T19:40:21Z\u0026se=2022-10-08T03:40:21Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=b\u0026sig=Yh7B%2Fy83olbYBdfsfbUREvd7ol8Dq5EVP3lAO4Kj4xDcN8%3D\",\n location=\"eastus2\",\n machine_name=\"myMachine\",\n output_blob_uri=\"https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt\",\n parameters=[\n azure_native.hybridcompute.RunCommandInputParameterArgs(\n name=\"param1\",\n value=\"value1\",\n ),\n azure_native.hybridcompute.RunCommandInputParameterArgs(\n name=\"param2\",\n value=\"value2\",\n ),\n ],\n resource_group_name=\"myResourceGroup\",\n run_as_password=\"\u003crunAsPassword\u003e\",\n run_as_user=\"user1\",\n run_command_name=\"myRunCommand\",\n source=azure_native.hybridcompute.MachineRunCommandScriptSourceArgs(\n script=\"Write-Host Hello World!\",\n ),\n timeout_in_seconds=3600)\n\n```\n\n```yaml\nresources:\n machineRunCommand:\n type: azure-native:hybridcompute:MachineRunCommand\n properties:\n asyncExecution: false\n errorBlobUri: https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt?sp=racw\u0026st=2022-10-07T19:40:21Z\u0026se=2022-10-08T03:40:21Z\u0026spr=https\u0026sv=2021-06-08\u0026sr=b\u0026sig=Yh7B%2Fy83olbYBdfsfbUREvd7ol8Dq5EVP3lAO4Kj4xDcN8%3D\n location: eastus2\n machineName: myMachine\n outputBlobUri: https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt\n parameters:\n - name: param1\n value: value1\n - name: param2\n value: value2\n resourceGroupName: myResourceGroup\n runAsPassword: \u003crunAsPassword\u003e\n runAsUser: user1\n runCommandName: myRunCommand\n source:\n script: Write-Host Hello World!\n timeoutInSeconds: 3600\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:hybridcompute:MachineRunCommand myRunCommand /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/runCommands/{runCommandName} \n```\n", - "properties": { - "asyncExecution": { - "type": "boolean", - "description": "Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete.", - "default": false - }, - "errorBlobManagedIdentity": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandManagedIdentityResponse", - "description": "User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged " - }, - "errorBlobUri": { - "type": "string", - "description": "Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter." - }, - "instanceView": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:MachineRunCommandInstanceViewResponse", - "description": "The machine run command instance view." - }, - "location": { - "type": "string", - "description": "The geo-location where the resource lives" - }, - "name": { - "type": "string", - "description": "The name of the resource" - }, - "outputBlobManagedIdentity": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandManagedIdentityResponse", - "description": "User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged " - }, - "outputBlobUri": { - "type": "string", - "description": "Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. " - }, - "parameters": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandInputParameterResponse" - }, - "description": "The parameters used by the script." - }, - "protectedParameters": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandInputParameterResponse" - }, - "description": "The parameters used by the script." - }, - "provisioningState": { - "type": "string", - "description": "The provisioning state, which only appears in the response." - }, - "runAsPassword": { - "type": "string", - "description": "Specifies the user account password on the machine when executing the run command." - }, - "runAsUser": { - "type": "string", - "description": "Specifies the user account on the machine when executing the run command." - }, - "source": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:MachineRunCommandScriptSourceResponse", - "description": "The source of the run command script." - }, - "systemData": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:SystemDataResponse", - "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags." - }, - "timeoutInSeconds": { - "type": "integer", - "description": "The timeout in seconds to execute the run command." - }, - "type": { - "type": "string", - "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" - } - }, - "type": "object", - "required": [ - "instanceView", - "location", - "name", - "provisioningState", - "systemData", - "type" - ], - "inputProperties": { - "asyncExecution": { - "type": "boolean", - "description": "Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete.", - "default": false - }, - "errorBlobManagedIdentity": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandManagedIdentity", - "description": "User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged " - }, - "errorBlobUri": { - "type": "string", - "description": "Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter." - }, - "location": { - "type": "string", - "description": "The geo-location where the resource lives", - "willReplaceOnChanges": true - }, - "machineName": { - "type": "string", - "description": "The name of the hybrid machine.", - "willReplaceOnChanges": true - }, - "outputBlobManagedIdentity": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandManagedIdentity", - "description": "User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged " - }, - "outputBlobUri": { - "type": "string", - "description": "Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. " - }, - "parameters": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandInputParameter" - }, - "description": "The parameters used by the script." - }, - "protectedParameters": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandInputParameter" - }, - "description": "The parameters used by the script." - }, - "resourceGroupName": { - "type": "string", - "description": "The name of the resource group. The name is case insensitive.", - "willReplaceOnChanges": true - }, - "runAsPassword": { - "type": "string", - "description": "Specifies the user account password on the machine when executing the run command." - }, - "runAsUser": { - "type": "string", - "description": "Specifies the user account on the machine when executing the run command." - }, - "runCommandName": { - "type": "string", - "description": "The name of the run command.", - "willReplaceOnChanges": true - }, - "source": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:MachineRunCommandScriptSource", - "description": "The source of the run command script." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags." - }, - "timeoutInSeconds": { - "type": "integer", - "description": "The timeout in seconds to execute the run command." - } - }, - "requiredInputs": [ - "machineName", - "resourceGroupName" - ], - "aliases": [ - { - "type": "azure-native:hybridcompute/v20230425preview:MachineRunCommand" } ] }, @@ -511116,9 +512503,6 @@ }, { "type": "azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection" - }, - { - "type": "azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection" } ] }, @@ -511240,9 +512624,6 @@ }, { "type": "azure-native:hybridcompute/v20230315preview:PrivateLinkScope" - }, - { - "type": "azure-native:hybridcompute/v20230425preview:PrivateLinkScope" } ] }, @@ -530323,7 +531704,7 @@ ] }, "azure-native:machinelearningservices:LabelingJob": { - "description": "Azure Resource Manager resource envelope.\nAzure REST API version: 2023-04-01-preview. Prior API version in Azure Native 1.x: 2020-09-01-preview\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### CreateOrUpdate Labeling Job.\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var labelingJob = new AzureNative.MachineLearningServices.LabelingJob(\"labelingJob\", new()\n {\n Id = \"testLabelingJob\",\n LabelingJobProperties = new AzureNative.MachineLearningServices.Inputs.LabelingJobArgs\n {\n Description = \"string\",\n JobInstructions = new AzureNative.MachineLearningServices.Inputs.LabelingJobInstructionsArgs\n {\n Uri = \"link/to/instructions\",\n },\n JobType = \"Labeling\",\n LabelCategories = \n {\n { \"myCategory1\", new AzureNative.MachineLearningServices.Inputs.LabelCategoryArgs\n {\n Classes = \n {\n { \"myLabelClass1\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass1\",\n Subclasses = null,\n } },\n { \"myLabelClass2\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass2\",\n Subclasses = null,\n } },\n },\n DisplayName = \"myCategory1Title\",\n MultiSelect = \"Disabled\",\n } },\n { \"myCategory2\", new AzureNative.MachineLearningServices.Inputs.LabelCategoryArgs\n {\n Classes = \n {\n { \"myLabelClass1\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass1\",\n Subclasses = null,\n } },\n { \"myLabelClass2\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass2\",\n Subclasses = null,\n } },\n },\n DisplayName = \"myCategory2Title\",\n MultiSelect = \"Disabled\",\n } },\n },\n LabelingJobMediaProperties = new AzureNative.MachineLearningServices.Inputs.LabelingJobImagePropertiesArgs\n {\n MediaType = \"Image\",\n },\n MlAssistConfiguration = new AzureNative.MachineLearningServices.Inputs.MLAssistConfigurationEnabledArgs\n {\n InferencingComputeBinding = \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n MlAssist = \"Enabled\",\n TrainingComputeBinding = \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n Properties = \n {\n { \"additionalProp1\", \"string\" },\n { \"additionalProp2\", \"string\" },\n { \"additionalProp3\", \"string\" },\n },\n Tags = \n {\n { \"additionalProp1\", \"string\" },\n { \"additionalProp2\", \"string\" },\n { \"additionalProp3\", \"string\" },\n },\n },\n ResourceGroupName = \"workspace-1234\",\n WorkspaceName = \"testworkspace\",\n });\n\n});\n\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.machinelearningservices.LabelingJob;\nimport com.pulumi.azurenative.machinelearningservices.LabelingJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var labelingJob = new LabelingJob(\"labelingJob\", LabelingJobArgs.builder() \n .id(\"testLabelingJob\")\n .labelingJobProperties(Map.ofEntries(\n Map.entry(\"description\", \"string\"),\n Map.entry(\"jobInstructions\", Map.of(\"uri\", \"link/to/instructions\")),\n Map.entry(\"jobType\", \"Labeling\"),\n Map.entry(\"labelCategories\", Map.ofEntries(\n Map.entry(\"myCategory1\", Map.ofEntries(\n Map.entry(\"classes\", Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", )\n )),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", )\n ))\n )),\n Map.entry(\"displayName\", \"myCategory1Title\"),\n Map.entry(\"multiSelect\", \"Disabled\")\n )),\n Map.entry(\"myCategory2\", Map.ofEntries(\n Map.entry(\"classes\", Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", )\n )),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", )\n ))\n )),\n Map.entry(\"displayName\", \"myCategory2Title\"),\n Map.entry(\"multiSelect\", \"Disabled\")\n ))\n )),\n Map.entry(\"labelingJobMediaProperties\", Map.of(\"mediaType\", \"Image\")),\n Map.entry(\"mlAssistConfiguration\", Map.ofEntries(\n Map.entry(\"inferencingComputeBinding\", \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\"),\n Map.entry(\"mlAssist\", \"Enabled\"),\n Map.entry(\"trainingComputeBinding\", \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\")\n )),\n Map.entry(\"properties\", Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n )),\n Map.entry(\"tags\", Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n ))\n ))\n .resourceGroupName(\"workspace-1234\")\n .workspaceName(\"testworkspace\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst labelingJob = new azure_native.machinelearningservices.LabelingJob(\"labelingJob\", {\n id: \"testLabelingJob\",\n labelingJobProperties: {\n description: \"string\",\n jobInstructions: {\n uri: \"link/to/instructions\",\n },\n jobType: \"Labeling\",\n labelCategories: {\n myCategory1: {\n classes: {\n myLabelClass1: {\n displayName: \"myLabelClass1\",\n subclasses: {},\n },\n myLabelClass2: {\n displayName: \"myLabelClass2\",\n subclasses: {},\n },\n },\n displayName: \"myCategory1Title\",\n multiSelect: \"Disabled\",\n },\n myCategory2: {\n classes: {\n myLabelClass1: {\n displayName: \"myLabelClass1\",\n subclasses: {},\n },\n myLabelClass2: {\n displayName: \"myLabelClass2\",\n subclasses: {},\n },\n },\n displayName: \"myCategory2Title\",\n multiSelect: \"Disabled\",\n },\n },\n labelingJobMediaProperties: {\n mediaType: \"Image\",\n },\n mlAssistConfiguration: {\n inferencingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n mlAssist: \"Enabled\",\n trainingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n properties: {\n additionalProp1: \"string\",\n additionalProp2: \"string\",\n additionalProp3: \"string\",\n },\n tags: {\n additionalProp1: \"string\",\n additionalProp2: \"string\",\n additionalProp3: \"string\",\n },\n },\n resourceGroupName: \"workspace-1234\",\n workspaceName: \"testworkspace\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nlabeling_job = azure_native.machinelearningservices.LabelingJob(\"labelingJob\",\n id=\"testLabelingJob\",\n labeling_job_properties=azure_native.machinelearningservices.LabelingJobResponseArgs(\n description=\"string\",\n job_instructions=azure_native.machinelearningservices.LabelingJobInstructionsArgs(\n uri=\"link/to/instructions\",\n ),\n job_type=\"Labeling\",\n label_categories={\n \"myCategory1\": azure_native.machinelearningservices.LabelCategoryArgs(\n classes={\n \"myLabelClass1\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass1\",\n subclasses={},\n ),\n \"myLabelClass2\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass2\",\n subclasses={},\n ),\n },\n display_name=\"myCategory1Title\",\n multi_select=\"Disabled\",\n ),\n \"myCategory2\": azure_native.machinelearningservices.LabelCategoryArgs(\n classes={\n \"myLabelClass1\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass1\",\n subclasses={},\n ),\n \"myLabelClass2\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass2\",\n subclasses={},\n ),\n },\n display_name=\"myCategory2Title\",\n multi_select=\"Disabled\",\n ),\n },\n labeling_job_media_properties=azure_native.machinelearningservices.LabelingJobImagePropertiesArgs(\n media_type=\"Image\",\n ),\n ml_assist_configuration=azure_native.machinelearningservices.MLAssistConfigurationEnabledArgs(\n inferencing_compute_binding=\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n ml_assist=\"Enabled\",\n training_compute_binding=\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n ),\n properties={\n \"additionalProp1\": \"string\",\n \"additionalProp2\": \"string\",\n \"additionalProp3\": \"string\",\n },\n tags={\n \"additionalProp1\": \"string\",\n \"additionalProp2\": \"string\",\n \"additionalProp3\": \"string\",\n },\n ),\n resource_group_name=\"workspace-1234\",\n workspace_name=\"testworkspace\")\n\n```\n\n```yaml\nresources:\n labelingJob:\n type: azure-native:machinelearningservices:LabelingJob\n properties:\n id: testLabelingJob\n labelingJobProperties:\n description: string\n jobInstructions:\n uri: link/to/instructions\n jobType: Labeling\n labelCategories:\n myCategory1:\n classes:\n myLabelClass1:\n displayName: myLabelClass1\n subclasses: {}\n myLabelClass2:\n displayName: myLabelClass2\n subclasses: {}\n displayName: myCategory1Title\n multiSelect: Disabled\n myCategory2:\n classes:\n myLabelClass1:\n displayName: myLabelClass1\n subclasses: {}\n myLabelClass2:\n displayName: myLabelClass2\n subclasses: {}\n displayName: myCategory2Title\n multiSelect: Disabled\n labelingJobMediaProperties:\n mediaType: Image\n mlAssistConfiguration:\n inferencingComputeBinding: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\n mlAssist: Enabled\n trainingComputeBinding: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\n properties:\n additionalProp1: string\n additionalProp2: string\n additionalProp3: string\n tags:\n additionalProp1: string\n additionalProp2: string\n additionalProp3: string\n resourceGroupName: workspace-1234\n workspaceName: testworkspace\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:machinelearningservices:LabelingJob testLabelingJob /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id} \n```\n", + "description": "Azure Resource Manager resource envelope.\nAzure REST API version: 2023-04-01-preview. Prior API version in Azure Native 1.x: 2020-09-01-preview\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### CreateOrUpdate Labeling Job.\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var labelingJob = new AzureNative.MachineLearningServices.LabelingJob(\"labelingJob\", new()\n {\n Id = \"testLabelingJob\",\n LabelingJobProperties = new AzureNative.MachineLearningServices.Inputs.LabelingJobArgs\n {\n Description = \"string\",\n JobInstructions = new AzureNative.MachineLearningServices.Inputs.LabelingJobInstructionsArgs\n {\n Uri = \"link/to/instructions\",\n },\n JobType = \"Labeling\",\n LabelCategories = \n {\n { \"myCategory1\", new AzureNative.MachineLearningServices.Inputs.LabelCategoryArgs\n {\n Classes = \n {\n { \"myLabelClass1\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass1\",\n Subclasses = null,\n } },\n { \"myLabelClass2\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass2\",\n Subclasses = null,\n } },\n },\n DisplayName = \"myCategory1Title\",\n MultiSelect = \"Disabled\",\n } },\n { \"myCategory2\", \n {\n { \"classes\", \n {\n { \"myLabelClass1\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass1\",\n Subclasses = null,\n } },\n { \"myLabelClass2\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass2\",\n Subclasses = null,\n } },\n } },\n { \"displayName\", \"myCategory2Title\" },\n { \"multiSelect\", \"Disabled\" },\n } },\n },\n LabelingJobMediaProperties = new AzureNative.MachineLearningServices.Inputs.LabelingJobImagePropertiesArgs\n {\n MediaType = \"Image\",\n },\n MlAssistConfiguration = new AzureNative.MachineLearningServices.Inputs.MLAssistConfigurationEnabledArgs\n {\n InferencingComputeBinding = \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n MlAssist = \"Enabled\",\n TrainingComputeBinding = \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n Properties = \n {\n { \"additionalProp1\", \"string\" },\n { \"additionalProp2\", \"string\" },\n { \"additionalProp3\", \"string\" },\n },\n Tags = \n {\n { \"additionalProp1\", \"string\" },\n { \"additionalProp2\", \"string\" },\n { \"additionalProp3\", \"string\" },\n },\n },\n ResourceGroupName = \"workspace-1234\",\n WorkspaceName = \"testworkspace\",\n });\n\n});\n\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.machinelearningservices.LabelingJob;\nimport com.pulumi.azurenative.machinelearningservices.LabelingJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var labelingJob = new LabelingJob(\"labelingJob\", LabelingJobArgs.builder() \n .id(\"testLabelingJob\")\n .labelingJobProperties(Map.ofEntries(\n Map.entry(\"description\", \"string\"),\n Map.entry(\"jobInstructions\", Map.of(\"uri\", \"link/to/instructions\")),\n Map.entry(\"jobType\", \"Labeling\"),\n Map.entry(\"labelCategories\", Map.ofEntries(\n Map.entry(\"myCategory1\", Map.ofEntries(\n Map.entry(\"classes\", Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", )\n )),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", )\n ))\n )),\n Map.entry(\"displayName\", \"myCategory1Title\"),\n Map.entry(\"multiSelect\", \"Disabled\")\n )),\n Map.entry(\"myCategory2\", Map.ofEntries(\n Map.entry(\"classes\", Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", )\n )),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", )\n ))\n )),\n Map.entry(\"displayName\", \"myCategory2Title\"),\n Map.entry(\"multiSelect\", \"Disabled\")\n ))\n )),\n Map.entry(\"labelingJobMediaProperties\", Map.of(\"mediaType\", \"Image\")),\n Map.entry(\"mlAssistConfiguration\", Map.ofEntries(\n Map.entry(\"inferencingComputeBinding\", \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\"),\n Map.entry(\"mlAssist\", \"Enabled\"),\n Map.entry(\"trainingComputeBinding\", \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\")\n )),\n Map.entry(\"properties\", Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n )),\n Map.entry(\"tags\", Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n ))\n ))\n .resourceGroupName(\"workspace-1234\")\n .workspaceName(\"testworkspace\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst labelingJob = new azure_native.machinelearningservices.LabelingJob(\"labelingJob\", {\n id: \"testLabelingJob\",\n labelingJobProperties: {\n description: \"string\",\n jobInstructions: {\n uri: \"link/to/instructions\",\n },\n jobType: \"Labeling\",\n labelCategories: {\n myCategory1: {\n classes: {\n myLabelClass1: {\n displayName: \"myLabelClass1\",\n subclasses: {},\n },\n myLabelClass2: {\n displayName: \"myLabelClass2\",\n subclasses: {},\n },\n },\n displayName: \"myCategory1Title\",\n multiSelect: \"Disabled\",\n },\n myCategory2: {\n classes: {\n myLabelClass1: {\n displayName: \"myLabelClass1\",\n subclasses: {},\n },\n myLabelClass2: {\n displayName: \"myLabelClass2\",\n subclasses: {},\n },\n },\n displayName: \"myCategory2Title\",\n multiSelect: \"Disabled\",\n },\n },\n labelingJobMediaProperties: {\n mediaType: \"Image\",\n },\n mlAssistConfiguration: {\n inferencingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n mlAssist: \"Enabled\",\n trainingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n properties: {\n additionalProp1: \"string\",\n additionalProp2: \"string\",\n additionalProp3: \"string\",\n },\n tags: {\n additionalProp1: \"string\",\n additionalProp2: \"string\",\n additionalProp3: \"string\",\n },\n },\n resourceGroupName: \"workspace-1234\",\n workspaceName: \"testworkspace\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nlabeling_job = azure_native.machinelearningservices.LabelingJob(\"labelingJob\",\n id=\"testLabelingJob\",\n labeling_job_properties=azure_native.machinelearningservices.LabelingJobResponseArgs(\n description=\"string\",\n job_instructions=azure_native.machinelearningservices.LabelingJobInstructionsArgs(\n uri=\"link/to/instructions\",\n ),\n job_type=\"Labeling\",\n label_categories={\n \"myCategory1\": azure_native.machinelearningservices.LabelCategoryArgs(\n classes={\n \"myLabelClass1\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass1\",\n subclasses={},\n ),\n \"myLabelClass2\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass2\",\n subclasses={},\n ),\n },\n display_name=\"myCategory1Title\",\n multi_select=\"Disabled\",\n ),\n \"myCategory2\": {\n \"classes\": {\n \"myLabelClass1\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass1\",\n subclasses={},\n ),\n \"myLabelClass2\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass2\",\n subclasses={},\n ),\n },\n \"displayName\": \"myCategory2Title\",\n \"multiSelect\": \"Disabled\",\n },\n },\n labeling_job_media_properties=azure_native.machinelearningservices.LabelingJobImagePropertiesArgs(\n media_type=\"Image\",\n ),\n ml_assist_configuration=azure_native.machinelearningservices.MLAssistConfigurationEnabledArgs(\n inferencing_compute_binding=\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n ml_assist=\"Enabled\",\n training_compute_binding=\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n ),\n properties={\n \"additionalProp1\": \"string\",\n \"additionalProp2\": \"string\",\n \"additionalProp3\": \"string\",\n },\n tags={\n \"additionalProp1\": \"string\",\n \"additionalProp2\": \"string\",\n \"additionalProp3\": \"string\",\n },\n ),\n resource_group_name=\"workspace-1234\",\n workspace_name=\"testworkspace\")\n\n```\n\n```yaml\nresources:\n labelingJob:\n type: azure-native:machinelearningservices:LabelingJob\n properties:\n id: testLabelingJob\n labelingJobProperties:\n description: string\n jobInstructions:\n uri: link/to/instructions\n jobType: Labeling\n labelCategories:\n myCategory1:\n classes:\n myLabelClass1:\n displayName: myLabelClass1\n subclasses: {}\n myLabelClass2:\n displayName: myLabelClass2\n subclasses: {}\n displayName: myCategory1Title\n multiSelect: Disabled\n myCategory2:\n classes:\n myLabelClass1:\n displayName: myLabelClass1\n subclasses: {}\n myLabelClass2:\n displayName: myLabelClass2\n subclasses: {}\n displayName: myCategory2Title\n multiSelect: Disabled\n labelingJobMediaProperties:\n mediaType: Image\n mlAssistConfiguration:\n inferencingComputeBinding: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\n mlAssist: Enabled\n trainingComputeBinding: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\n properties:\n additionalProp1: string\n additionalProp2: string\n additionalProp3: string\n tags:\n additionalProp1: string\n additionalProp2: string\n additionalProp3: string\n resourceGroupName: workspace-1234\n workspaceName: testworkspace\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:machinelearningservices:LabelingJob testLabelingJob /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id} \n```\n", "properties": { "labelingJobProperties": { "type": "object", @@ -537758,6 +539139,9 @@ }, { "type": "azure-native:maps/v20211201preview:Account" + }, + { + "type": "azure-native:maps/v20230601:Account" } ] }, @@ -537847,6 +539231,9 @@ }, { "type": "azure-native:maps/v20211201preview:Creator" + }, + { + "type": "azure-native:maps/v20230601:Creator" } ] }, @@ -543689,6 +545076,167 @@ } ] }, + "azure-native:mobilepacketcore:NetworkFunction": { + "description": "AO5GC Network Function Resource\nAzure REST API version: 2023-05-15-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### NetworkFunctions_CreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var networkFunction = new AzureNative.MobilePacketCore.NetworkFunction(\"networkFunction\", new()\n {\n Capacity = 100000,\n DeploymentNotes = \"string\",\n Location = \"eastus\",\n NetworkFunctionAdministrativeState = \"Commissioned\",\n NetworkFunctionName = \"nf1\",\n NetworkFunctionType = \"SMF\",\n ResourceGroupName = \"rg1\",\n Sku = \"NexusProduction\",\n UserDescription = \"string\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/mobilepacketcore/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mobilepacketcore.NewNetworkFunction(ctx, \"networkFunction\", \u0026mobilepacketcore.NetworkFunctionArgs{\n\t\t\tCapacity: pulumi.Int(100000),\n\t\t\tDeploymentNotes: pulumi.String(\"string\"),\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tNetworkFunctionAdministrativeState: pulumi.String(\"Commissioned\"),\n\t\t\tNetworkFunctionName: pulumi.String(\"nf1\"),\n\t\t\tNetworkFunctionType: pulumi.String(\"SMF\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: pulumi.String(\"NexusProduction\"),\n\t\t\tUserDescription: pulumi.String(\"string\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.mobilepacketcore.NetworkFunction;\nimport com.pulumi.azurenative.mobilepacketcore.NetworkFunctionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var networkFunction = new NetworkFunction(\"networkFunction\", NetworkFunctionArgs.builder() \n .capacity(100000)\n .deploymentNotes(\"string\")\n .location(\"eastus\")\n .networkFunctionAdministrativeState(\"Commissioned\")\n .networkFunctionName(\"nf1\")\n .networkFunctionType(\"SMF\")\n .resourceGroupName(\"rg1\")\n .sku(\"NexusProduction\")\n .userDescription(\"string\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst networkFunction = new azure_native.mobilepacketcore.NetworkFunction(\"networkFunction\", {\n capacity: 100000,\n deploymentNotes: \"string\",\n location: \"eastus\",\n networkFunctionAdministrativeState: \"Commissioned\",\n networkFunctionName: \"nf1\",\n networkFunctionType: \"SMF\",\n resourceGroupName: \"rg1\",\n sku: \"NexusProduction\",\n userDescription: \"string\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nnetwork_function = azure_native.mobilepacketcore.NetworkFunction(\"networkFunction\",\n capacity=100000,\n deployment_notes=\"string\",\n location=\"eastus\",\n network_function_administrative_state=\"Commissioned\",\n network_function_name=\"nf1\",\n network_function_type=\"SMF\",\n resource_group_name=\"rg1\",\n sku=\"NexusProduction\",\n user_description=\"string\")\n\n```\n\n```yaml\nresources:\n networkFunction:\n type: azure-native:mobilepacketcore:NetworkFunction\n properties:\n capacity: 100000\n deploymentNotes: string\n location: eastus\n networkFunctionAdministrativeState: Commissioned\n networkFunctionName: nf1\n networkFunctionType: SMF\n resourceGroupName: rg1\n sku: NexusProduction\n userDescription: string\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:mobilepacketcore:NetworkFunction nf1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobilePacketCore/networkFunctions/{networkFunctionName} \n```\n", + "properties": { + "capacity": { + "type": "integer", + "description": "Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable" + }, + "deploymentNotes": { + "type": "string", + "description": "User provided deployment notes. This is used to optionally provide details about the NF deployment" + }, + "infrastructureElementCount": { + "type": "integer", + "description": "Count of infrastructure elements used by this network function (vCPUs, in units of 8)" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "networkFunctionAdministrativeState": { + "type": "string", + "description": "Administrative state of the network function" + }, + "networkFunctionOperationalStatus": { + "type": "string", + "description": "Operational state of the network function" + }, + "networkFunctionType": { + "type": "string", + "description": "Type of network function" + }, + "provisioningState": { + "type": "string", + "description": "The status of the last operation." + }, + "sku": { + "type": "string", + "description": "Provisioned SKU Value." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:mobilepacketcore:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "userDescription": { + "type": "string", + "description": "User provided description" + } + }, + "type": "object", + "required": [ + "infrastructureElementCount", + "location", + "name", + "networkFunctionAdministrativeState", + "networkFunctionOperationalStatus", + "networkFunctionType", + "provisioningState", + "sku", + "systemData", + "type" + ], + "inputProperties": { + "capacity": { + "type": "integer", + "description": "Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable", + "willReplaceOnChanges": true + }, + "deploymentNotes": { + "type": "string", + "description": "User provided deployment notes. This is used to optionally provide details about the NF deployment" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "willReplaceOnChanges": true + }, + "networkFunctionAdministrativeState": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:mobilepacketcore:NetworkFunctionAdministrativeState" + } + ], + "description": "Administrative state of the network function" + }, + "networkFunctionName": { + "type": "string", + "description": "The name of the network function", + "willReplaceOnChanges": true + }, + "networkFunctionType": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:mobilepacketcore:NetworkFunctionType" + } + ], + "description": "Type of network function", + "willReplaceOnChanges": true + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "willReplaceOnChanges": true + }, + "sku": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:mobilepacketcore:SkuDefinitions" + } + ], + "description": "Provisioned SKU Value.", + "willReplaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + }, + "userDescription": { + "type": "string", + "description": "User provided description" + } + }, + "requiredInputs": [ + "networkFunctionAdministrativeState", + "networkFunctionType", + "resourceGroupName", + "sku" + ], + "aliases": [ + { + "type": "azure-native:mobilepacketcore/v20230515preview:NetworkFunction" + } + ] + }, "azure-native:monitor:AzureMonitorWorkspace": { "description": "An Azure Monitor Workspace definition\nAzure REST API version: 2023-04-03. Prior API version in Azure Native 1.x: 2021-06-03-preview\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create or update workspace\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var azureMonitorWorkspace = new AzureNative.Monitor.AzureMonitorWorkspace(\"azureMonitorWorkspace\", new()\n {\n AzureMonitorWorkspaceName = \"myAzureMonitorWorkspace\",\n Location = \"eastus\",\n ResourceGroupName = \"myResourceGroup\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewAzureMonitorWorkspace(ctx, \"azureMonitorWorkspace\", \u0026monitor.AzureMonitorWorkspaceArgs{\n\t\t\tAzureMonitorWorkspaceName: pulumi.String(\"myAzureMonitorWorkspace\"),\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.AzureMonitorWorkspace;\nimport com.pulumi.azurenative.monitor.AzureMonitorWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var azureMonitorWorkspace = new AzureMonitorWorkspace(\"azureMonitorWorkspace\", AzureMonitorWorkspaceArgs.builder() \n .azureMonitorWorkspaceName(\"myAzureMonitorWorkspace\")\n .location(\"eastus\")\n .resourceGroupName(\"myResourceGroup\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst azureMonitorWorkspace = new azure_native.monitor.AzureMonitorWorkspace(\"azureMonitorWorkspace\", {\n azureMonitorWorkspaceName: \"myAzureMonitorWorkspace\",\n location: \"eastus\",\n resourceGroupName: \"myResourceGroup\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nazure_monitor_workspace = azure_native.monitor.AzureMonitorWorkspace(\"azureMonitorWorkspace\",\n azure_monitor_workspace_name=\"myAzureMonitorWorkspace\",\n location=\"eastus\",\n resource_group_name=\"myResourceGroup\")\n\n```\n\n```yaml\nresources:\n azureMonitorWorkspace:\n type: azure-native:monitor:AzureMonitorWorkspace\n properties:\n azureMonitorWorkspaceName: myAzureMonitorWorkspace\n location: eastus\n resourceGroupName: myResourceGroup\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:monitor:AzureMonitorWorkspace myAzureMonitorWorkspace /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/accounts/{azureMonitorWorkspaceName} \n```\n", "properties": { @@ -554954,7 +556502,7 @@ ] }, "azure-native:network:LoadBalancer": { - "description": "LoadBalancer resource.\nAzure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create load balancer\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n EnableTcpReset = false,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = \"Tcp\",\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n EnableTcpReset = false,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"Tcp\",\n },\n },\n Location = \"eastus\",\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: []network.InboundNatRuleTypeArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tEnableTcpReset: pulumi.Bool(false),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tEnableTcpReset: pulumi.Bool(false),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.of(\"name\", \"be-lb\"))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"))\n ))\n .inboundNatPools()\n .inboundNatRules(Map.ofEntries(\n Map.entry(\"backendPort\", 3389),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"enableTcpReset\", false),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 3389),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"name\", \"in-nat-rule\"),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 80),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"enableTcpReset\", false),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 80),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .location(\"eastus\")\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n enableTcpReset: false,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: \"Tcp\",\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n enableTcpReset: false,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"Tcp\",\n }],\n location: \"eastus\",\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n }],\n inbound_nat_pools=[],\n inbound_nat_rules=[{\n \"backendPort\": 3389,\n \"enableFloatingIP\": True,\n \"enableTcpReset\": False,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 3389,\n \"idleTimeoutInMinutes\": 15,\n \"name\": \"in-nat-rule\",\n \"protocol\": \"Tcp\",\n }],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"backendPort\": 80,\n \"enableFloatingIP\": True,\n \"enableTcpReset\": False,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 80,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"Tcp\",\n }],\n location=\"eastus\",\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\")\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n enableTcpReset: false\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n enableTcpReset: false\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Frontend IP in Zone 1\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n Zones = new[]\n {\n \"1\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = \"Tcp\",\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"Tcp\",\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t\tZones: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: []network.InboundNatRuleTypeArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.of(\"name\", \"be-lb\"))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")),\n Map.entry(\"zones\", \"1\")\n ))\n .inboundNatPools()\n .inboundNatRules(Map.ofEntries(\n Map.entry(\"backendPort\", 3389),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 3389),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"name\", \"in-nat-rule\"),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 80),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 80),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .location(\"eastus\")\n .outboundRules()\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Standard\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n zones: [\"1\"],\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: \"Tcp\",\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"Tcp\",\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n \"zones\": [\"1\"],\n }],\n inbound_nat_pools=[],\n inbound_nat_rules=[{\n \"backendPort\": 3389,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 3389,\n \"idleTimeoutInMinutes\": 15,\n \"name\": \"in-nat-rule\",\n \"protocol\": \"Tcp\",\n }],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"backendPort\": 80,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 80,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"Tcp\",\n }],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n zones:\n - '1'\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Gateway Load Balancer Consumer configured\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n GatewayLoadBalancer = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n },\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = \"Tcp\",\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"Tcp\",\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tGatewayLoadBalancer: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: []network.InboundNatRuleTypeArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.of(\"name\", \"be-lb\"))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"gatewayLoadBalancer\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\")),\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"))\n ))\n .inboundNatPools()\n .inboundNatRules(Map.ofEntries(\n Map.entry(\"backendPort\", 3389),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 3389),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"name\", \"in-nat-rule\"),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 80),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 80),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .location(\"eastus\")\n .outboundRules()\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Standard\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n gatewayLoadBalancer: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n },\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: \"Tcp\",\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"Tcp\",\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[{\n \"gatewayLoadBalancer\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n ),\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n }],\n inbound_nat_pools=[],\n inbound_nat_rules=[{\n \"backendPort\": 3389,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 3389,\n \"idleTimeoutInMinutes\": 15,\n \"name\": \"in-nat-rule\",\n \"protocol\": \"Tcp\",\n }],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"backendPort\": 80,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 80,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"Tcp\",\n }],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - gatewayLoadBalancer:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\n name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Gateway Load Balancer Provider configured with one Backend Pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n TunnelInterfaces = new[]\n {\n new AzureNative.Network.Inputs.GatewayLoadBalancerTunnelInterfaceArgs\n {\n Identifier = 900,\n Port = 15000,\n Protocol = \"VXLAN\",\n Type = \"Internal\",\n },\n new AzureNative.Network.Inputs.GatewayLoadBalancerTunnelInterfaceArgs\n {\n Identifier = 901,\n Port = 15001,\n Protocol = \"VXLAN\",\n Type = \"Internal\",\n },\n },\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n },\n BackendPort = 0,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 0,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"All\",\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Premium\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t\tTunnelInterfaces: network.GatewayLoadBalancerTunnelInterfaceArray{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifier: pulumi.Int(900),\n\t\t\t\t\t\t\tPort: pulumi.Int(15000),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"VXLAN\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"Internal\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifier: pulumi.Int(901),\n\t\t\t\t\t\t\tPort: pulumi.Int(15001),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"VXLAN\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"Internal\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPools: network.SubResourceArray{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(0),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(0),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"All\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.ofEntries(\n Map.entry(\"name\", \"be-lb\"),\n Map.entry(\"tunnelInterfaces\", \n Map.ofEntries(\n Map.entry(\"identifier\", 900),\n Map.entry(\"port\", 15000),\n Map.entry(\"protocol\", \"VXLAN\"),\n Map.entry(\"type\", \"Internal\")\n ),\n Map.ofEntries(\n Map.entry(\"identifier\", 901),\n Map.entry(\"port\", 15001),\n Map.entry(\"protocol\", \"VXLAN\"),\n Map.entry(\"type\", \"Internal\")\n ))\n ))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"))\n ))\n .inboundNatPools()\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPools\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 0),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 0),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"All\")\n ))\n .location(\"eastus\")\n .outboundRules()\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Premium\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n tunnelInterfaces: [\n {\n identifier: 900,\n port: 15000,\n protocol: \"VXLAN\",\n type: \"Internal\",\n },\n {\n identifier: 901,\n port: 15001,\n protocol: \"VXLAN\",\n type: \"Internal\",\n },\n ],\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPools: [{\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n }],\n backendPort: 0,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 0,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"All\",\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Premium\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[{\n \"name\": \"be-lb\",\n \"tunnelInterfaces\": [\n azure_native.network.GatewayLoadBalancerTunnelInterfaceArgs(\n identifier=900,\n port=15000,\n protocol=\"VXLAN\",\n type=\"Internal\",\n ),\n azure_native.network.GatewayLoadBalancerTunnelInterfaceArgs(\n identifier=901,\n port=15001,\n protocol=\"VXLAN\",\n type=\"Internal\",\n ),\n ],\n }],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n }],\n inbound_nat_pools=[],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPools\": [azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n )],\n \"backendPort\": 0,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 0,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"All\",\n }],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Premium\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n tunnelInterfaces:\n - identifier: 900\n port: 15000\n protocol: VXLAN\n type: Internal\n - identifier: 901\n port: 15001\n protocol: VXLAN\n type: Internal\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPools:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 0\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 0\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: All\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Premium\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Gateway Load Balancer Provider configured with two Backend Pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb1\",\n },\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb2\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = null,\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\",\n },\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\",\n },\n },\n BackendPort = 0,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 0,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"All\",\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Premium\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb1\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: nil,\n\t\t\t\t\tBackendAddressPools: network.SubResourceArray{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(0),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(0),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"All\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools( \n Map.of(\"name\", \"be-lb1\"),\n Map.of(\"name\", \"be-lb2\"))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"))\n ))\n .inboundNatPools()\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", ),\n Map.entry(\"backendAddressPools\", \n Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\"),\n Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\")),\n Map.entry(\"backendPort\", 0),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 0),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"All\")\n ))\n .location(\"eastus\")\n .outboundRules()\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Premium\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [\n {\n name: \"be-lb1\",\n },\n {\n name: \"be-lb2\",\n },\n ],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {},\n backendAddressPools: [\n {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\",\n },\n {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\",\n },\n ],\n backendPort: 0,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 0,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"All\",\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Premium\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[\n azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb1\",\n ),\n azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb2\",\n ),\n ],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n }],\n inbound_nat_pools=[],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(),\n \"backendAddressPools\": [\n azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\",\n ),\n azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\",\n ),\n ],\n \"backendPort\": 0,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 0,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"All\",\n }],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Premium\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb1\n - name: be-lb2\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool: {}\n backendAddressPools:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\n backendPort: 0\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 0\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: All\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Premium\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Global Tier and one regional load balancer in its backend pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n LoadBalancerBackendAddresses = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancerBackendAddressArgs\n {\n LoadBalancerFrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\",\n },\n Name = \"regional-lb1-address\",\n },\n },\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = false,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"Tcp\",\n },\n },\n Location = \"eastus\",\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Standard\",\n Tier = \"Global\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tLoadBalancerBackendAddresses: network.LoadBalancerBackendAddressArray{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLoadBalancerFrontendIPConfiguration: {\n\t\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"regional-lb1-address\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(false),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t\tTier: pulumi.String(\"Global\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.ofEntries(\n Map.entry(\"loadBalancerBackendAddresses\", Map.ofEntries(\n Map.entry(\"loadBalancerFrontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\")),\n Map.entry(\"name\", \"regional-lb1-address\")\n )),\n Map.entry(\"name\", \"be-lb\")\n ))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"))\n ))\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 80),\n Map.entry(\"enableFloatingIP\", false),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 80),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .location(\"eastus\")\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.ofEntries(\n Map.entry(\"name\", \"Standard\"),\n Map.entry(\"tier\", \"Global\")\n ))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n loadBalancerBackendAddresses: [{\n loadBalancerFrontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\",\n },\n name: \"regional-lb1-address\",\n }],\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: false,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"Tcp\",\n }],\n location: \"eastus\",\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Standard\",\n tier: \"Global\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[{\n \"loadBalancerBackendAddresses\": [{\n \"loadBalancerFrontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\",\n ),\n \"name\": \"regional-lb1-address\",\n }],\n \"name\": \"be-lb\",\n }],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n }],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"backendPort\": 80,\n \"enableFloatingIP\": False,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 80,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"Tcp\",\n }],\n location=\"eastus\",\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Standard\",\n tier=\"Global\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - loadBalancerBackendAddresses:\n - loadBalancerFrontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\n name: regional-lb1-address\n name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: false\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n tier: Global\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Standard SKU\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = \"Tcp\",\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"Tcp\",\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: []network.InboundNatRuleTypeArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.of(\"name\", \"be-lb\"))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"))\n ))\n .inboundNatPools()\n .inboundNatRules(Map.ofEntries(\n Map.entry(\"backendPort\", 3389),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 3389),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"name\", \"in-nat-rule\"),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 80),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 80),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .location(\"eastus\")\n .outboundRules()\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Standard\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: \"Tcp\",\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"Tcp\",\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n }],\n inbound_nat_pools=[],\n inbound_nat_rules=[{\n \"backendPort\": 3389,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 3389,\n \"idleTimeoutInMinutes\": 15,\n \"name\": \"in-nat-rule\",\n \"protocol\": \"Tcp\",\n }],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"backendPort\": 80,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 80,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"Tcp\",\n }],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with inbound nat pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[] {},\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n Name = \"test\",\n PrivateIPAllocationMethod = \"Dynamic\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\",\n },\n Zones = new[] {},\n },\n },\n InboundNatPools = new[]\n {\n new AzureNative.Network.Inputs.InboundNatPoolArgs\n {\n BackendPort = 8888,\n EnableFloatingIP = true,\n EnableTcpReset = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n },\n FrontendPortRangeEnd = 8085,\n FrontendPortRangeStart = 8080,\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\",\n IdleTimeoutInMinutes = 10,\n Name = \"test\",\n Protocol = \"Tcp\",\n },\n },\n InboundNatRules = new[] {},\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[] {},\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[] {},\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\"),\n\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\tPrivateIPAllocationMethod: pulumi.String(\"Dynamic\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\"),\n\t\t\t\t\t},\n\t\t\t\t\tZones: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: []network.InboundNatPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendPort: pulumi.Int(8888),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tEnableTcpReset: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPortRangeEnd: pulumi.Int(8085),\n\t\t\t\t\tFrontendPortRangeStart: pulumi.Int(8080),\n\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\"),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(10),\n\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools()\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\"),\n Map.entry(\"name\", \"test\"),\n Map.entry(\"privateIPAllocationMethod\", \"Dynamic\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\")),\n Map.entry(\"zones\", )\n ))\n .inboundNatPools(Map.ofEntries(\n Map.entry(\"backendPort\", 8888),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"enableTcpReset\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\")),\n Map.entry(\"frontendPortRangeEnd\", 8085),\n Map.entry(\"frontendPortRangeStart\", 8080),\n Map.entry(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\"),\n Map.entry(\"idleTimeoutInMinutes\", 10),\n Map.entry(\"name\", \"test\"),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .inboundNatRules()\n .loadBalancerName(\"lb\")\n .loadBalancingRules()\n .location(\"eastus\")\n .outboundRules()\n .probes()\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Standard\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [],\n frontendIPConfigurations: [{\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n name: \"test\",\n privateIPAllocationMethod: \"Dynamic\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\",\n },\n zones: [],\n }],\n inboundNatPools: [{\n backendPort: 8888,\n enableFloatingIP: true,\n enableTcpReset: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n },\n frontendPortRangeEnd: 8085,\n frontendPortRangeStart: 8080,\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\",\n idleTimeoutInMinutes: 10,\n name: \"test\",\n protocol: \"Tcp\",\n }],\n inboundNatRules: [],\n loadBalancerName: \"lb\",\n loadBalancingRules: [],\n location: \"eastus\",\n outboundRules: [],\n probes: [],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[],\n frontend_ip_configurations=[{\n \"id\": \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n \"name\": \"test\",\n \"privateIPAllocationMethod\": \"Dynamic\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\",\n ),\n \"zones\": [],\n }],\n inbound_nat_pools=[{\n \"backendPort\": 8888,\n \"enableFloatingIP\": True,\n \"enableTcpReset\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n ),\n \"frontendPortRangeEnd\": 8085,\n \"frontendPortRangeStart\": 8080,\n \"id\": \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\",\n \"idleTimeoutInMinutes\": 10,\n \"name\": \"test\",\n \"protocol\": \"Tcp\",\n }],\n inbound_nat_rules=[],\n load_balancer_name=\"lb\",\n load_balancing_rules=[],\n location=\"eastus\",\n outbound_rules=[],\n probes=[],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools: []\n frontendIPConfigurations:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\n name: test\n privateIPAllocationMethod: Dynamic\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\n zones: []\n inboundNatPools:\n - backendPort: 8888\n enableFloatingIP: true\n enableTcpReset: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\n frontendPortRangeEnd: 8085\n frontendPortRangeStart: 8080\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\n idleTimeoutInMinutes: 10\n name: test\n protocol: Tcp\n inboundNatRules: []\n loadBalancerName: lb\n loadBalancingRules: []\n location: eastus\n outboundRules: []\n probes: []\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with outbound rules\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n PublicIPAddress = new AzureNative.Network.Inputs.PublicIPAddressArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = \"Tcp\",\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n DisableOutboundSnat = true,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"Tcp\",\n },\n },\n Location = \"eastus\",\n OutboundRules = new[]\n {\n new AzureNative.Network.Inputs.OutboundRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n },\n Name = \"rule1\",\n Protocol = \"All\",\n },\n },\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tPublicIPAddress: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: []network.InboundNatRuleTypeArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tDisableOutboundSnat: pulumi.Bool(true),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: []network.OutboundRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendIPConfigurations: network.SubResourceArray{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"rule1\"),\n\t\t\t\t\tProtocol: pulumi.String(\"All\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.of(\"name\", \"be-lb\"))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"publicIPAddress\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\"))\n ))\n .inboundNatPools()\n .inboundNatRules(Map.ofEntries(\n Map.entry(\"backendPort\", 3389),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 3389),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"name\", \"in-nat-rule\"),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 80),\n Map.entry(\"disableOutboundSnat\", true),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 80),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .location(\"eastus\")\n .outboundRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"frontendIPConfigurations\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"name\", \"rule1\"),\n Map.entry(\"protocol\", \"All\")\n ))\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Standard\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n publicIPAddress: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: \"Tcp\",\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n disableOutboundSnat: true,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"Tcp\",\n }],\n location: \"eastus\",\n outboundRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n frontendIPConfigurations: [{\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n }],\n name: \"rule1\",\n protocol: \"All\",\n }],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"publicIPAddress\": azure_native.network.PublicIPAddressArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\",\n ),\n }],\n inbound_nat_pools=[],\n inbound_nat_rules=[{\n \"backendPort\": 3389,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 3389,\n \"idleTimeoutInMinutes\": 15,\n \"name\": \"in-nat-rule\",\n \"protocol\": \"Tcp\",\n }],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"backendPort\": 80,\n \"disableOutboundSnat\": True,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 80,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"Tcp\",\n }],\n location=\"eastus\",\n outbound_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"frontendIPConfigurations\": [azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n )],\n \"name\": \"rule1\",\n \"protocol\": \"All\",\n }],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n publicIPAddress:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n disableOutboundSnat: true\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n frontendIPConfigurations:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n name: rule1\n protocol: All\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:network:LoadBalancer lb /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} \n```\n", + "description": "LoadBalancer resource.\nAzure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create load balancer\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n EnableTcpReset = false,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = \"Tcp\",\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n EnableTcpReset = false,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"Tcp\",\n },\n },\n Location = \"eastus\",\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: []network.InboundNatRuleTypeArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tEnableTcpReset: pulumi.Bool(false),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tEnableTcpReset: pulumi.Bool(false),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.of(\"name\", \"be-lb\"))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"))\n ))\n .inboundNatPools()\n .inboundNatRules(Map.ofEntries(\n Map.entry(\"backendPort\", 3389),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"enableTcpReset\", false),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 3389),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"name\", \"in-nat-rule\"),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 80),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"enableTcpReset\", false),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 80),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .location(\"eastus\")\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n enableTcpReset: false,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: \"Tcp\",\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n enableTcpReset: false,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"Tcp\",\n }],\n location: \"eastus\",\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n }],\n inbound_nat_pools=[],\n inbound_nat_rules=[{\n \"backendPort\": 3389,\n \"enableFloatingIP\": True,\n \"enableTcpReset\": False,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 3389,\n \"idleTimeoutInMinutes\": 15,\n \"name\": \"in-nat-rule\",\n \"protocol\": \"Tcp\",\n }],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"backendPort\": 80,\n \"enableFloatingIP\": True,\n \"enableTcpReset\": False,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 80,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"Tcp\",\n }],\n location=\"eastus\",\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\")\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n enableTcpReset: false\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n enableTcpReset: false\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Frontend IP in Zone 1\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n Zones = new[]\n {\n \"1\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = \"Tcp\",\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"Tcp\",\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t\tZones: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: []network.InboundNatRuleTypeArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.of(\"name\", \"be-lb\"))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\")),\n Map.entry(\"zones\", \"1\")\n ))\n .inboundNatPools()\n .inboundNatRules(Map.ofEntries(\n Map.entry(\"backendPort\", 3389),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 3389),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"name\", \"in-nat-rule\"),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 80),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 80),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .location(\"eastus\")\n .outboundRules()\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Standard\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n zones: [\"1\"],\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: \"Tcp\",\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"Tcp\",\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n \"zones\": [\"1\"],\n }],\n inbound_nat_pools=[],\n inbound_nat_rules=[{\n \"backendPort\": 3389,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 3389,\n \"idleTimeoutInMinutes\": 15,\n \"name\": \"in-nat-rule\",\n \"protocol\": \"Tcp\",\n }],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"backendPort\": 80,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 80,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"Tcp\",\n }],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n zones:\n - '1'\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Gateway Load Balancer Consumer configured\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n GatewayLoadBalancer = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n },\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = \"Tcp\",\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"Tcp\",\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tGatewayLoadBalancer: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: []network.InboundNatRuleTypeArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.of(\"name\", \"be-lb\"))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"gatewayLoadBalancer\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\")),\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"))\n ))\n .inboundNatPools()\n .inboundNatRules(Map.ofEntries(\n Map.entry(\"backendPort\", 3389),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 3389),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"name\", \"in-nat-rule\"),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 80),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 80),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .location(\"eastus\")\n .outboundRules()\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Standard\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n gatewayLoadBalancer: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n },\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: \"Tcp\",\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"Tcp\",\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[{\n \"gatewayLoadBalancer\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n ),\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n }],\n inbound_nat_pools=[],\n inbound_nat_rules=[{\n \"backendPort\": 3389,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 3389,\n \"idleTimeoutInMinutes\": 15,\n \"name\": \"in-nat-rule\",\n \"protocol\": \"Tcp\",\n }],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"backendPort\": 80,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 80,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"Tcp\",\n }],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - gatewayLoadBalancer:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\n name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Gateway Load Balancer Provider configured with one Backend Pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n TunnelInterfaces = new[]\n {\n new AzureNative.Network.Inputs.GatewayLoadBalancerTunnelInterfaceArgs\n {\n Identifier = 900,\n Port = 15000,\n Protocol = \"VXLAN\",\n Type = \"Internal\",\n },\n new AzureNative.Network.Inputs.GatewayLoadBalancerTunnelInterfaceArgs\n {\n Identifier = 901,\n Port = 15001,\n Protocol = \"VXLAN\",\n Type = \"Internal\",\n },\n },\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n },\n BackendPort = 0,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 0,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"All\",\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Premium\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t\tTunnelInterfaces: network.GatewayLoadBalancerTunnelInterfaceArray{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifier: pulumi.Int(900),\n\t\t\t\t\t\t\tPort: pulumi.Int(15000),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"VXLAN\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"Internal\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifier: pulumi.Int(901),\n\t\t\t\t\t\t\tPort: pulumi.Int(15001),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"VXLAN\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"Internal\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPools: network.SubResourceArray{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(0),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(0),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"All\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.ofEntries(\n Map.entry(\"name\", \"be-lb\"),\n Map.entry(\"tunnelInterfaces\", \n Map.ofEntries(\n Map.entry(\"identifier\", 900),\n Map.entry(\"port\", 15000),\n Map.entry(\"protocol\", \"VXLAN\"),\n Map.entry(\"type\", \"Internal\")\n ),\n Map.ofEntries(\n Map.entry(\"identifier\", 901),\n Map.entry(\"port\", 15001),\n Map.entry(\"protocol\", \"VXLAN\"),\n Map.entry(\"type\", \"Internal\")\n ))\n ))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"))\n ))\n .inboundNatPools()\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPools\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 0),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 0),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"All\")\n ))\n .location(\"eastus\")\n .outboundRules()\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Premium\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n tunnelInterfaces: [\n {\n identifier: 900,\n port: 15000,\n protocol: \"VXLAN\",\n type: \"Internal\",\n },\n {\n identifier: 901,\n port: 15001,\n protocol: \"VXLAN\",\n type: \"Internal\",\n },\n ],\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPools: [{\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n }],\n backendPort: 0,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 0,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"All\",\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Premium\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[{\n \"name\": \"be-lb\",\n \"tunnelInterfaces\": [\n azure_native.network.GatewayLoadBalancerTunnelInterfaceArgs(\n identifier=900,\n port=15000,\n protocol=\"VXLAN\",\n type=\"Internal\",\n ),\n azure_native.network.GatewayLoadBalancerTunnelInterfaceArgs(\n identifier=901,\n port=15001,\n protocol=\"VXLAN\",\n type=\"Internal\",\n ),\n ],\n }],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n }],\n inbound_nat_pools=[],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPools\": [azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n )],\n \"backendPort\": 0,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 0,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"All\",\n }],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Premium\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n tunnelInterfaces:\n - identifier: 900\n port: 15000\n protocol: VXLAN\n type: Internal\n - identifier: 901\n port: 15001\n protocol: VXLAN\n type: Internal\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPools:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 0\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 0\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: All\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Premium\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Gateway Load Balancer Provider configured with two Backend Pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb1\",\n },\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb2\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = null,\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\",\n },\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\",\n },\n },\n BackendPort = 0,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 0,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"All\",\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Premium\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb1\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: nil,\n\t\t\t\t\tBackendAddressPools: network.SubResourceArray{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(0),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(0),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"All\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Premium\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools( \n Map.of(\"name\", \"be-lb1\"),\n Map.of(\"name\", \"be-lb2\"))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"))\n ))\n .inboundNatPools()\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", ),\n Map.entry(\"backendAddressPools\", \n Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\"),\n Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\")),\n Map.entry(\"backendPort\", 0),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 0),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"All\")\n ))\n .location(\"eastus\")\n .outboundRules()\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Premium\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [\n {\n name: \"be-lb1\",\n },\n {\n name: \"be-lb2\",\n },\n ],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {},\n backendAddressPools: [\n {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\",\n },\n {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\",\n },\n ],\n backendPort: 0,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 0,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"All\",\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Premium\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[\n azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb1\",\n ),\n azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb2\",\n ),\n ],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n }],\n inbound_nat_pools=[],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(),\n \"backendAddressPools\": [\n azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\",\n ),\n azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\",\n ),\n ],\n \"backendPort\": 0,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 0,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"All\",\n }],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Premium\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb1\n - name: be-lb2\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool: {}\n backendAddressPools:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2\n backendPort: 0\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 0\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: All\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Premium\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Global Tier and one regional load balancer in its backend pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n LoadBalancerBackendAddresses = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancerBackendAddressArgs\n {\n LoadBalancerFrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\",\n },\n Name = \"regional-lb1-address\",\n },\n },\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = false,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"Tcp\",\n },\n },\n Location = \"eastus\",\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Standard\",\n Tier = \"Global\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tLoadBalancerBackendAddresses: network.LoadBalancerBackendAddressArray{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLoadBalancerFrontendIPConfiguration: {\n\t\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"regional-lb1-address\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(false),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t\tTier: pulumi.String(\"Global\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.ofEntries(\n Map.entry(\"loadBalancerBackendAddresses\", Map.ofEntries(\n Map.entry(\"loadBalancerFrontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\")),\n Map.entry(\"name\", \"regional-lb1-address\")\n )),\n Map.entry(\"name\", \"be-lb\")\n ))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"))\n ))\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 80),\n Map.entry(\"enableFloatingIP\", false),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 80),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .location(\"eastus\")\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.ofEntries(\n Map.entry(\"name\", \"Standard\"),\n Map.entry(\"tier\", \"Global\")\n ))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n loadBalancerBackendAddresses: [{\n loadBalancerFrontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\",\n },\n name: \"regional-lb1-address\",\n }],\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: false,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"Tcp\",\n }],\n location: \"eastus\",\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Standard\",\n tier: \"Global\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[{\n \"loadBalancerBackendAddresses\": [{\n \"loadBalancerFrontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\",\n ),\n \"name\": \"regional-lb1-address\",\n }],\n \"name\": \"be-lb\",\n }],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n }],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"backendPort\": 80,\n \"enableFloatingIP\": False,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 80,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"Tcp\",\n }],\n location=\"eastus\",\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Standard\",\n tier=\"Global\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - loadBalancerBackendAddresses:\n - loadBalancerFrontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb\n name: regional-lb1-address\n name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: false\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n tier: Global\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with Standard SKU\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = \"Tcp\",\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"Tcp\",\n },\n },\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: []network.InboundNatRuleTypeArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.of(\"name\", \"be-lb\"))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\"))\n ))\n .inboundNatPools()\n .inboundNatRules(Map.ofEntries(\n Map.entry(\"backendPort\", 3389),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 3389),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"name\", \"in-nat-rule\"),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 80),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 80),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .location(\"eastus\")\n .outboundRules()\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Standard\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: \"Tcp\",\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"Tcp\",\n }],\n location: \"eastus\",\n outboundRules: [],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[{\n \"name\": \"fe-lb\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\",\n ),\n }],\n inbound_nat_pools=[],\n inbound_nat_rules=[{\n \"backendPort\": 3389,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 3389,\n \"idleTimeoutInMinutes\": 15,\n \"name\": \"in-nat-rule\",\n \"protocol\": \"Tcp\",\n }],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"backendPort\": 80,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 80,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"Tcp\",\n }],\n location=\"eastus\",\n outbound_rules=[],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules: []\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with inbound nat pool\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[] {},\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n Name = \"test\",\n PrivateIPAllocationMethod = \"Dynamic\",\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\",\n },\n Zones = new[] {},\n },\n },\n InboundNatPools = new[]\n {\n new AzureNative.Network.Inputs.InboundNatPoolArgs\n {\n BackendPort = 8888,\n EnableFloatingIP = true,\n EnableTcpReset = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n },\n FrontendPortRangeEnd = 8085,\n FrontendPortRangeStart = 8080,\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\",\n IdleTimeoutInMinutes = 10,\n Name = \"test\",\n Protocol = \"Tcp\",\n },\n },\n InboundNatRules = new[] {},\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[] {},\n Location = \"eastus\",\n OutboundRules = new[] {},\n Probes = new[] {},\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: network.BackendAddressPoolArray{},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\"),\n\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\tPrivateIPAllocationMethod: pulumi.String(\"Dynamic\"),\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\"),\n\t\t\t\t\t},\n\t\t\t\t\tZones: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: []network.InboundNatPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendPort: pulumi.Int(8888),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tEnableTcpReset: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPortRangeEnd: pulumi.Int(8085),\n\t\t\t\t\tFrontendPortRangeStart: pulumi.Int(8080),\n\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\"),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(10),\n\t\t\t\t\tName: pulumi.String(\"test\"),\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatRules: network.InboundNatRuleTypeArray{},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: network.LoadBalancingRuleArray{},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: network.OutboundRuleArray{},\n\t\t\tProbes: network.ProbeArray{},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools()\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\"),\n Map.entry(\"name\", \"test\"),\n Map.entry(\"privateIPAllocationMethod\", \"Dynamic\"),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\")),\n Map.entry(\"zones\", )\n ))\n .inboundNatPools(Map.ofEntries(\n Map.entry(\"backendPort\", 8888),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"enableTcpReset\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\")),\n Map.entry(\"frontendPortRangeEnd\", 8085),\n Map.entry(\"frontendPortRangeStart\", 8080),\n Map.entry(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\"),\n Map.entry(\"idleTimeoutInMinutes\", 10),\n Map.entry(\"name\", \"test\"),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .inboundNatRules()\n .loadBalancerName(\"lb\")\n .loadBalancingRules()\n .location(\"eastus\")\n .outboundRules()\n .probes()\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Standard\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [],\n frontendIPConfigurations: [{\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n name: \"test\",\n privateIPAllocationMethod: \"Dynamic\",\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\",\n },\n zones: [],\n }],\n inboundNatPools: [{\n backendPort: 8888,\n enableFloatingIP: true,\n enableTcpReset: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n },\n frontendPortRangeEnd: 8085,\n frontendPortRangeStart: 8080,\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\",\n idleTimeoutInMinutes: 10,\n name: \"test\",\n protocol: \"Tcp\",\n }],\n inboundNatRules: [],\n loadBalancerName: \"lb\",\n loadBalancingRules: [],\n location: \"eastus\",\n outboundRules: [],\n probes: [],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[],\n frontend_ip_configurations=[{\n \"id\": \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n \"name\": \"test\",\n \"privateIPAllocationMethod\": \"Dynamic\",\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\",\n ),\n \"zones\": [],\n }],\n inbound_nat_pools=[{\n \"backendPort\": 8888,\n \"enableFloatingIP\": True,\n \"enableTcpReset\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\",\n ),\n \"frontendPortRangeEnd\": 8085,\n \"frontendPortRangeStart\": 8080,\n \"id\": \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\",\n \"idleTimeoutInMinutes\": 10,\n \"name\": \"test\",\n \"protocol\": \"Tcp\",\n }],\n inbound_nat_rules=[],\n load_balancer_name=\"lb\",\n load_balancing_rules=[],\n location=\"eastus\",\n outbound_rules=[],\n probes=[],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools: []\n frontendIPConfigurations:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\n name: test\n privateIPAllocationMethod: Dynamic\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet\n zones: []\n inboundNatPools:\n - backendPort: 8888\n enableFloatingIP: true\n enableTcpReset: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test\n frontendPortRangeEnd: 8085\n frontendPortRangeStart: 8080\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test\n idleTimeoutInMinutes: 10\n name: test\n protocol: Tcp\n inboundNatRules: []\n loadBalancerName: lb\n loadBalancingRules: []\n location: eastus\n outboundRules: []\n probes: []\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create load balancer with outbound rules\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var loadBalancer = new AzureNative.Network.LoadBalancer(\"loadBalancer\", new()\n {\n BackendAddressPools = new[]\n {\n new AzureNative.Network.Inputs.BackendAddressPoolArgs\n {\n Name = \"be-lb\",\n },\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.FrontendIPConfigurationArgs\n {\n Name = \"fe-lb\",\n PublicIPAddress = new AzureNative.Network.Inputs.PublicIPAddressArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\",\n },\n },\n },\n InboundNatPools = new[] {},\n InboundNatRules = new[]\n {\n new AzureNative.Network.Inputs.InboundNatRuleArgs\n {\n BackendPort = 3389,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 3389,\n IdleTimeoutInMinutes = 15,\n Name = \"in-nat-rule\",\n Protocol = \"Tcp\",\n },\n },\n LoadBalancerName = \"lb\",\n LoadBalancingRules = new[]\n {\n new AzureNative.Network.Inputs.LoadBalancingRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n BackendPort = 80,\n DisableOutboundSnat = true,\n EnableFloatingIP = true,\n FrontendIPConfiguration = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n FrontendPort = 80,\n IdleTimeoutInMinutes = 15,\n LoadDistribution = \"Default\",\n Name = \"rulelb\",\n Probe = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n Protocol = \"Tcp\",\n },\n },\n Location = \"eastus\",\n OutboundRules = new[]\n {\n new AzureNative.Network.Inputs.OutboundRuleArgs\n {\n BackendAddressPool = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n FrontendIPConfigurations = new[]\n {\n new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n },\n Name = \"rule1\",\n Protocol = \"All\",\n },\n },\n Probes = new[]\n {\n new AzureNative.Network.Inputs.ProbeArgs\n {\n IntervalInSeconds = 15,\n Name = \"probe-lb\",\n NumberOfProbes = 2,\n Port = 80,\n ProbeThreshold = 1,\n Protocol = \"Http\",\n RequestPath = \"healthcheck.aspx\",\n },\n },\n ResourceGroupName = \"rg1\",\n Sku = new AzureNative.Network.Inputs.LoadBalancerSkuArgs\n {\n Name = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewLoadBalancer(ctx, \"loadBalancer\", \u0026network.LoadBalancerArgs{\n\t\t\tBackendAddressPools: []network.BackendAddressPoolArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"be-lb\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrontendIPConfigurations: []network.FrontendIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"fe-lb\"),\n\t\t\t\t\tPublicIPAddress: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInboundNatPools: network.InboundNatPoolArray{},\n\t\t\tInboundNatRules: []network.InboundNatRuleTypeArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendPort: pulumi.Int(3389),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(3389),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"in-nat-rule\"),\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerName: pulumi.String(\"lb\"),\n\t\t\tLoadBalancingRules: []network.LoadBalancingRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tBackendPort: pulumi.Int(80),\n\t\t\t\t\tDisableOutboundSnat: pulumi.Bool(true),\n\t\t\t\t\tEnableFloatingIP: pulumi.Bool(true),\n\t\t\t\t\tFrontendIPConfiguration: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\t\t\tIdleTimeoutInMinutes: pulumi.Int(15),\n\t\t\t\t\tLoadDistribution: pulumi.String(\"Default\"),\n\t\t\t\t\tName: pulumi.String(\"rulelb\"),\n\t\t\t\t\tProbe: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tProtocol: pulumi.String(\"Tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tOutboundRules: []network.OutboundRuleArgs{\n\t\t\t\t{\n\t\t\t\t\tBackendAddressPool: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\"),\n\t\t\t\t\t},\n\t\t\t\t\tFrontendIPConfigurations: network.SubResourceArray{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"rule1\"),\n\t\t\t\t\tProtocol: pulumi.String(\"All\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProbes: []network.ProbeArgs{\n\t\t\t\t{\n\t\t\t\t\tIntervalInSeconds: pulumi.Int(15),\n\t\t\t\t\tName: pulumi.String(\"probe-lb\"),\n\t\t\t\t\tNumberOfProbes: pulumi.Int(2),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tProbeThreshold: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"Http\"),\n\t\t\t\t\tRequestPath: pulumi.String(\"healthcheck.aspx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSku: \u0026network.LoadBalancerSkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.LoadBalancer;\nimport com.pulumi.azurenative.network.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var loadBalancer = new LoadBalancer(\"loadBalancer\", LoadBalancerArgs.builder() \n .backendAddressPools(Map.of(\"name\", \"be-lb\"))\n .frontendIPConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"fe-lb\"),\n Map.entry(\"publicIPAddress\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\"))\n ))\n .inboundNatPools()\n .inboundNatRules(Map.ofEntries(\n Map.entry(\"backendPort\", 3389),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 3389),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"name\", \"in-nat-rule\"),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .loadBalancerName(\"lb\")\n .loadBalancingRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"backendPort\", 80),\n Map.entry(\"disableOutboundSnat\", true),\n Map.entry(\"enableFloatingIP\", true),\n Map.entry(\"frontendIPConfiguration\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"frontendPort\", 80),\n Map.entry(\"idleTimeoutInMinutes\", 15),\n Map.entry(\"loadDistribution\", \"Default\"),\n Map.entry(\"name\", \"rulelb\"),\n Map.entry(\"probe\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\")),\n Map.entry(\"protocol\", \"Tcp\")\n ))\n .location(\"eastus\")\n .outboundRules(Map.ofEntries(\n Map.entry(\"backendAddressPool\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\")),\n Map.entry(\"frontendIPConfigurations\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\")),\n Map.entry(\"name\", \"rule1\"),\n Map.entry(\"protocol\", \"All\")\n ))\n .probes(Map.ofEntries(\n Map.entry(\"intervalInSeconds\", 15),\n Map.entry(\"name\", \"probe-lb\"),\n Map.entry(\"numberOfProbes\", 2),\n Map.entry(\"port\", 80),\n Map.entry(\"probeThreshold\", 1),\n Map.entry(\"protocol\", \"Http\"),\n Map.entry(\"requestPath\", \"healthcheck.aspx\")\n ))\n .resourceGroupName(\"rg1\")\n .sku(Map.of(\"name\", \"Standard\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst loadBalancer = new azure_native.network.LoadBalancer(\"loadBalancer\", {\n backendAddressPools: [{\n name: \"be-lb\",\n }],\n frontendIPConfigurations: [{\n name: \"fe-lb\",\n publicIPAddress: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\",\n },\n }],\n inboundNatPools: [],\n inboundNatRules: [{\n backendPort: 3389,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 3389,\n idleTimeoutInMinutes: 15,\n name: \"in-nat-rule\",\n protocol: \"Tcp\",\n }],\n loadBalancerName: \"lb\",\n loadBalancingRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n backendPort: 80,\n disableOutboundSnat: true,\n enableFloatingIP: true,\n frontendIPConfiguration: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n },\n frontendPort: 80,\n idleTimeoutInMinutes: 15,\n loadDistribution: \"Default\",\n name: \"rulelb\",\n probe: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n },\n protocol: \"Tcp\",\n }],\n location: \"eastus\",\n outboundRules: [{\n backendAddressPool: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n },\n frontendIPConfigurations: [{\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n }],\n name: \"rule1\",\n protocol: \"All\",\n }],\n probes: [{\n intervalInSeconds: 15,\n name: \"probe-lb\",\n numberOfProbes: 2,\n port: 80,\n probeThreshold: 1,\n protocol: \"Http\",\n requestPath: \"healthcheck.aspx\",\n }],\n resourceGroupName: \"rg1\",\n sku: {\n name: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nload_balancer = azure_native.network.LoadBalancer(\"loadBalancer\",\n backend_address_pools=[azure_native.network.BackendAddressPoolArgs(\n name=\"be-lb\",\n )],\n frontend_ip_configurations=[azure_native.network.FrontendIPConfigurationArgs(\n name=\"fe-lb\",\n public_ip_address=azure_native.network.PublicIPAddressArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\",\n ),\n )],\n inbound_nat_pools=[],\n inbound_nat_rules=[{\n \"backendPort\": 3389,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 3389,\n \"idleTimeoutInMinutes\": 15,\n \"name\": \"in-nat-rule\",\n \"protocol\": \"Tcp\",\n }],\n load_balancer_name=\"lb\",\n load_balancing_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"backendPort\": 80,\n \"disableOutboundSnat\": True,\n \"enableFloatingIP\": True,\n \"frontendIPConfiguration\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n ),\n \"frontendPort\": 80,\n \"idleTimeoutInMinutes\": 15,\n \"loadDistribution\": \"Default\",\n \"name\": \"rulelb\",\n \"probe\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\",\n ),\n \"protocol\": \"Tcp\",\n }],\n location=\"eastus\",\n outbound_rules=[{\n \"backendAddressPool\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\",\n ),\n \"frontendIPConfigurations\": [azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\",\n )],\n \"name\": \"rule1\",\n \"protocol\": \"All\",\n }],\n probes=[azure_native.network.ProbeArgs(\n interval_in_seconds=15,\n name=\"probe-lb\",\n number_of_probes=2,\n port=80,\n probe_threshold=1,\n protocol=\"Http\",\n request_path=\"healthcheck.aspx\",\n )],\n resource_group_name=\"rg1\",\n sku=azure_native.network.LoadBalancerSkuArgs(\n name=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n loadBalancer:\n type: azure-native:network:LoadBalancer\n properties:\n backendAddressPools:\n - name: be-lb\n frontendIPConfigurations:\n - name: fe-lb\n publicIPAddress:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip\n inboundNatPools: []\n inboundNatRules:\n - backendPort: 3389\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 3389\n idleTimeoutInMinutes: 15\n name: in-nat-rule\n protocol: Tcp\n loadBalancerName: lb\n loadBalancingRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n backendPort: 80\n disableOutboundSnat: true\n enableFloatingIP: true\n frontendIPConfiguration:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n frontendPort: 80\n idleTimeoutInMinutes: 15\n loadDistribution: Default\n name: rulelb\n probe:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb\n protocol: Tcp\n location: eastus\n outboundRules:\n - backendAddressPool:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb\n frontendIPConfigurations:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb\n name: rule1\n protocol: All\n probes:\n - intervalInSeconds: 15\n name: probe-lb\n numberOfProbes: 2\n port: 80\n probeThreshold: 1\n protocol: Http\n requestPath: healthcheck.aspx\n resourceGroupName: rg1\n sku:\n name: Standard\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:network:LoadBalancer lb /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} \n```\n", "properties": { "backendAddressPools": { "type": "array", @@ -556450,7 +557998,7 @@ ] }, "azure-native:network:NetworkInterface": { - "description": "A network interface in a resource group.\nAzure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create network interface\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var networkInterface = new AzureNative.Network.NetworkInterface(\"networkInterface\", new()\n {\n DisableTcpStateTracking = true,\n EnableAcceleratedNetworking = true,\n IpConfigurations = new[]\n {\n \n {\n { \"name\", \"ipconfig1\" },\n { \"publicIPAddress\", new AzureNative.Network.Inputs.PublicIPAddressArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\",\n } },\n { \"subnet\", new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\",\n } },\n },\n },\n Location = \"eastus\",\n NetworkInterfaceName = \"test-nic\",\n ResourceGroupName = \"rg1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewNetworkInterface(ctx, \"networkInterface\", \u0026network.NetworkInterfaceArgs{\n\t\t\tDisableTcpStateTracking: pulumi.Bool(true),\n\t\t\tEnableAcceleratedNetworking: pulumi.Bool(true),\n\t\t\tIpConfigurations: []network.NetworkInterfaceIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"ipconfig1\"),\n\t\t\t\t\tPublicIPAddress: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tNetworkInterfaceName: pulumi.String(\"test-nic\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.NetworkInterface;\nimport com.pulumi.azurenative.network.NetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var networkInterface = new NetworkInterface(\"networkInterface\", NetworkInterfaceArgs.builder() \n .disableTcpStateTracking(true)\n .enableAcceleratedNetworking(true)\n .ipConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"ipconfig1\"),\n Map.entry(\"publicIPAddress\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\")),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\"))\n ))\n .location(\"eastus\")\n .networkInterfaceName(\"test-nic\")\n .resourceGroupName(\"rg1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst networkInterface = new azure_native.network.NetworkInterface(\"networkInterface\", {\n disableTcpStateTracking: true,\n enableAcceleratedNetworking: true,\n ipConfigurations: [{\n name: \"ipconfig1\",\n publicIPAddress: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\",\n },\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\",\n },\n }],\n location: \"eastus\",\n networkInterfaceName: \"test-nic\",\n resourceGroupName: \"rg1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nnetwork_interface = azure_native.network.NetworkInterface(\"networkInterface\",\n disable_tcp_state_tracking=True,\n enable_accelerated_networking=True,\n ip_configurations=[azure_native.network.NetworkInterfaceIPConfigurationResponseArgs(\n name=\"ipconfig1\",\n public_ip_address=azure_native.network.PublicIPAddressArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\",\n ),\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\",\n ),\n )],\n location=\"eastus\",\n network_interface_name=\"test-nic\",\n resource_group_name=\"rg1\")\n\n```\n\n```yaml\nresources:\n networkInterface:\n type: azure-native:network:NetworkInterface\n properties:\n disableTcpStateTracking: true\n enableAcceleratedNetworking: true\n ipConfigurations:\n - name: ipconfig1\n publicIPAddress:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\n location: eastus\n networkInterfaceName: test-nic\n resourceGroupName: rg1\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create network interface with Gateway Load Balancer Consumer configured\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var networkInterface = new AzureNative.Network.NetworkInterface(\"networkInterface\", new()\n {\n EnableAcceleratedNetworking = true,\n IpConfigurations = new[]\n {\n new AzureNative.Network.Inputs.NetworkInterfaceIPConfigurationArgs\n {\n GatewayLoadBalancer = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n },\n Name = \"ipconfig1\",\n PublicIPAddress = new AzureNative.Network.Inputs.PublicIPAddressArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\",\n },\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\",\n },\n },\n },\n Location = \"eastus\",\n NetworkInterfaceName = \"test-nic\",\n ResourceGroupName = \"rg1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewNetworkInterface(ctx, \"networkInterface\", \u0026network.NetworkInterfaceArgs{\n\t\t\tEnableAcceleratedNetworking: pulumi.Bool(true),\n\t\t\tIpConfigurations: []network.NetworkInterfaceIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tGatewayLoadBalancer: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"ipconfig1\"),\n\t\t\t\t\tPublicIPAddress: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tNetworkInterfaceName: pulumi.String(\"test-nic\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.NetworkInterface;\nimport com.pulumi.azurenative.network.NetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var networkInterface = new NetworkInterface(\"networkInterface\", NetworkInterfaceArgs.builder() \n .enableAcceleratedNetworking(true)\n .ipConfigurations(Map.ofEntries(\n Map.entry(\"gatewayLoadBalancer\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\")),\n Map.entry(\"name\", \"ipconfig1\"),\n Map.entry(\"publicIPAddress\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\")),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\"))\n ))\n .location(\"eastus\")\n .networkInterfaceName(\"test-nic\")\n .resourceGroupName(\"rg1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst networkInterface = new azure_native.network.NetworkInterface(\"networkInterface\", {\n enableAcceleratedNetworking: true,\n ipConfigurations: [{\n gatewayLoadBalancer: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n },\n name: \"ipconfig1\",\n publicIPAddress: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\",\n },\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\",\n },\n }],\n location: \"eastus\",\n networkInterfaceName: \"test-nic\",\n resourceGroupName: \"rg1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nnetwork_interface = azure_native.network.NetworkInterface(\"networkInterface\",\n enable_accelerated_networking=True,\n ip_configurations=[azure_native.network.NetworkInterfaceIPConfigurationArgs(\n gateway_load_balancer=azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n ),\n name=\"ipconfig1\",\n public_ip_address=azure_native.network.PublicIPAddressArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\",\n ),\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\",\n ),\n )],\n location=\"eastus\",\n network_interface_name=\"test-nic\",\n resource_group_name=\"rg1\")\n\n```\n\n```yaml\nresources:\n networkInterface:\n type: azure-native:network:NetworkInterface\n properties:\n enableAcceleratedNetworking: true\n ipConfigurations:\n - gatewayLoadBalancer:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\n name: ipconfig1\n publicIPAddress:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\n location: eastus\n networkInterfaceName: test-nic\n resourceGroupName: rg1\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:network:NetworkInterface test-nic /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} \n```\n", + "description": "A network interface in a resource group.\nAzure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create network interface\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var networkInterface = new AzureNative.Network.NetworkInterface(\"networkInterface\", new()\n {\n DisableTcpStateTracking = true,\n EnableAcceleratedNetworking = true,\n IpConfigurations = new[]\n {\n \n {\n { \"name\", \"ipconfig1\" },\n { \"publicIPAddress\", new AzureNative.Network.Inputs.PublicIPAddressArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\",\n } },\n { \"subnet\", new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\",\n } },\n },\n },\n Location = \"eastus\",\n NetworkInterfaceName = \"test-nic\",\n ResourceGroupName = \"rg1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewNetworkInterface(ctx, \"networkInterface\", \u0026network.NetworkInterfaceArgs{\n\t\t\tDisableTcpStateTracking: pulumi.Bool(true),\n\t\t\tEnableAcceleratedNetworking: pulumi.Bool(true),\n\t\t\tIpConfigurations: []network.NetworkInterfaceIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"ipconfig1\"),\n\t\t\t\t\tPublicIPAddress: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tNetworkInterfaceName: pulumi.String(\"test-nic\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.NetworkInterface;\nimport com.pulumi.azurenative.network.NetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var networkInterface = new NetworkInterface(\"networkInterface\", NetworkInterfaceArgs.builder() \n .disableTcpStateTracking(true)\n .enableAcceleratedNetworking(true)\n .ipConfigurations(Map.ofEntries(\n Map.entry(\"name\", \"ipconfig1\"),\n Map.entry(\"publicIPAddress\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\")),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\"))\n ))\n .location(\"eastus\")\n .networkInterfaceName(\"test-nic\")\n .resourceGroupName(\"rg1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst networkInterface = new azure_native.network.NetworkInterface(\"networkInterface\", {\n disableTcpStateTracking: true,\n enableAcceleratedNetworking: true,\n ipConfigurations: [{\n name: \"ipconfig1\",\n publicIPAddress: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\",\n },\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\",\n },\n }],\n location: \"eastus\",\n networkInterfaceName: \"test-nic\",\n resourceGroupName: \"rg1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nnetwork_interface = azure_native.network.NetworkInterface(\"networkInterface\",\n disable_tcp_state_tracking=True,\n enable_accelerated_networking=True,\n ip_configurations=[azure_native.network.NetworkInterfaceIPConfigurationResponseArgs(\n name=\"ipconfig1\",\n public_ip_address=azure_native.network.PublicIPAddressArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\",\n ),\n subnet=azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\",\n ),\n )],\n location=\"eastus\",\n network_interface_name=\"test-nic\",\n resource_group_name=\"rg1\")\n\n```\n\n```yaml\nresources:\n networkInterface:\n type: azure-native:network:NetworkInterface\n properties:\n disableTcpStateTracking: true\n enableAcceleratedNetworking: true\n ipConfigurations:\n - name: ipconfig1\n publicIPAddress:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\n location: eastus\n networkInterfaceName: test-nic\n resourceGroupName: rg1\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create network interface with Gateway Load Balancer Consumer configured\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var networkInterface = new AzureNative.Network.NetworkInterface(\"networkInterface\", new()\n {\n EnableAcceleratedNetworking = true,\n IpConfigurations = new[]\n {\n new AzureNative.Network.Inputs.NetworkInterfaceIPConfigurationArgs\n {\n GatewayLoadBalancer = new AzureNative.Network.Inputs.SubResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n },\n Name = \"ipconfig1\",\n PublicIPAddress = new AzureNative.Network.Inputs.PublicIPAddressArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\",\n },\n Subnet = new AzureNative.Network.Inputs.SubnetArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\",\n },\n },\n },\n Location = \"eastus\",\n NetworkInterfaceName = \"test-nic\",\n ResourceGroupName = \"rg1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewNetworkInterface(ctx, \"networkInterface\", \u0026network.NetworkInterfaceArgs{\n\t\t\tEnableAcceleratedNetworking: pulumi.Bool(true),\n\t\t\tIpConfigurations: []network.NetworkInterfaceIPConfigurationArgs{\n\t\t\t\t{\n\t\t\t\t\tGatewayLoadBalancer: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"ipconfig1\"),\n\t\t\t\t\tPublicIPAddress: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubnet: {\n\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tNetworkInterfaceName: pulumi.String(\"test-nic\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.network.NetworkInterface;\nimport com.pulumi.azurenative.network.NetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var networkInterface = new NetworkInterface(\"networkInterface\", NetworkInterfaceArgs.builder() \n .enableAcceleratedNetworking(true)\n .ipConfigurations(Map.ofEntries(\n Map.entry(\"gatewayLoadBalancer\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\")),\n Map.entry(\"name\", \"ipconfig1\"),\n Map.entry(\"publicIPAddress\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\")),\n Map.entry(\"subnet\", Map.of(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\"))\n ))\n .location(\"eastus\")\n .networkInterfaceName(\"test-nic\")\n .resourceGroupName(\"rg1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst networkInterface = new azure_native.network.NetworkInterface(\"networkInterface\", {\n enableAcceleratedNetworking: true,\n ipConfigurations: [{\n gatewayLoadBalancer: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n },\n name: \"ipconfig1\",\n publicIPAddress: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\",\n },\n subnet: {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\",\n },\n }],\n location: \"eastus\",\n networkInterfaceName: \"test-nic\",\n resourceGroupName: \"rg1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nnetwork_interface = azure_native.network.NetworkInterface(\"networkInterface\",\n enable_accelerated_networking=True,\n ip_configurations=[{\n \"gatewayLoadBalancer\": azure_native.network.SubResourceArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\",\n ),\n \"name\": \"ipconfig1\",\n \"publicIPAddress\": azure_native.network.PublicIPAddressArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\",\n ),\n \"subnet\": azure_native.network.SubnetArgs(\n id=\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\",\n ),\n }],\n location=\"eastus\",\n network_interface_name=\"test-nic\",\n resource_group_name=\"rg1\")\n\n```\n\n```yaml\nresources:\n networkInterface:\n type: azure-native:network:NetworkInterface\n properties:\n enableAcceleratedNetworking: true\n ipConfigurations:\n - gatewayLoadBalancer:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider\n name: ipconfig1\n publicIPAddress:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip\n subnet:\n id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default\n location: eastus\n networkInterfaceName: test-nic\n resourceGroupName: rg1\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:network:NetworkInterface test-nic /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} \n```\n", "properties": { "auxiliaryMode": { "type": "string", @@ -584046,7 +585594,7 @@ ] }, "azure-native:recoveryservices:ReplicationRecoveryPlan": { - "description": "Recovery plan details.\nAzure REST API version: 2023-04-01. Prior API version in Azure Native 1.x: 2018-07-10\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Creates a recovery plan with the given details.\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicationRecoveryPlan = new AzureNative.RecoveryServices.ReplicationRecoveryPlan(\"replicationRecoveryPlan\", new()\n {\n Properties = new AzureNative.RecoveryServices.Inputs.CreateRecoveryPlanInputPropertiesArgs\n {\n FailoverDeploymentModel = \"ResourceManager\",\n Groups = new[]\n {\n new AzureNative.RecoveryServices.Inputs.RecoveryPlanGroupArgs\n {\n EndGroupActions = new[] {},\n GroupType = \"Boot\",\n ReplicationProtectedItems = new[]\n {\n new AzureNative.RecoveryServices.Inputs.RecoveryPlanProtectedItemArgs\n {\n Id = \"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b\",\n VirtualMachineId = \"f8491e4f-817a-40dd-a90c-af773978c75b\",\n },\n },\n StartGroupActions = new[] {},\n },\n },\n PrimaryFabricId = \"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1\",\n RecoveryFabricId = \"Microsoft Azure\",\n },\n RecoveryPlanName = \"RPtest1\",\n ResourceGroupName = \"resourceGroupPS1\",\n ResourceName = \"vault1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := recoveryservices.NewReplicationRecoveryPlan(ctx, \"replicationRecoveryPlan\", \u0026recoveryservices.ReplicationRecoveryPlanArgs{\n\t\t\tProperties: recoveryservices.RecoveryPlanPropertiesResponse{\n\t\t\t\tFailoverDeploymentModel: pulumi.String(\"ResourceManager\"),\n\t\t\t\tGroups: []recoveryservices.RecoveryPlanGroupArgs{\n\t\t\t\t\t{\n\t\t\t\t\t\tEndGroupActions: recoveryservices.RecoveryPlanActionArray{},\n\t\t\t\t\t\tGroupType: pulumi.String(\"Boot\"),\n\t\t\t\t\t\tReplicationProtectedItems: recoveryservices.RecoveryPlanProtectedItemArray{\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b\"),\n\t\t\t\t\t\t\t\tVirtualMachineId: pulumi.String(\"f8491e4f-817a-40dd-a90c-af773978c75b\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartGroupActions: recoveryservices.RecoveryPlanActionArray{},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPrimaryFabricId: pulumi.String(\"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1\"),\n\t\t\t\tRecoveryFabricId: pulumi.String(\"Microsoft Azure\"),\n\t\t\t},\n\t\t\tRecoveryPlanName: pulumi.String(\"RPtest1\"),\n\t\t\tResourceGroupName: pulumi.String(\"resourceGroupPS1\"),\n\t\t\tResourceName: pulumi.String(\"vault1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.recoveryservices.ReplicationRecoveryPlan;\nimport com.pulumi.azurenative.recoveryservices.ReplicationRecoveryPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var replicationRecoveryPlan = new ReplicationRecoveryPlan(\"replicationRecoveryPlan\", ReplicationRecoveryPlanArgs.builder() \n .properties(Map.ofEntries(\n Map.entry(\"failoverDeploymentModel\", \"ResourceManager\"),\n Map.entry(\"groups\", Map.ofEntries(\n Map.entry(\"endGroupActions\", ),\n Map.entry(\"groupType\", \"Boot\"),\n Map.entry(\"replicationProtectedItems\", Map.ofEntries(\n Map.entry(\"id\", \"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b\"),\n Map.entry(\"virtualMachineId\", \"f8491e4f-817a-40dd-a90c-af773978c75b\")\n )),\n Map.entry(\"startGroupActions\", )\n )),\n Map.entry(\"primaryFabricId\", \"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1\"),\n Map.entry(\"recoveryFabricId\", \"Microsoft Azure\")\n ))\n .recoveryPlanName(\"RPtest1\")\n .resourceGroupName(\"resourceGroupPS1\")\n .resourceName(\"vault1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst replicationRecoveryPlan = new azure_native.recoveryservices.ReplicationRecoveryPlan(\"replicationRecoveryPlan\", {\n properties: {\n failoverDeploymentModel: \"ResourceManager\",\n groups: [{\n endGroupActions: [],\n groupType: \"Boot\",\n replicationProtectedItems: [{\n id: \"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b\",\n virtualMachineId: \"f8491e4f-817a-40dd-a90c-af773978c75b\",\n }],\n startGroupActions: [],\n }],\n primaryFabricId: \"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1\",\n recoveryFabricId: \"Microsoft Azure\",\n },\n recoveryPlanName: \"RPtest1\",\n resourceGroupName: \"resourceGroupPS1\",\n resourceName: \"vault1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nreplication_recovery_plan = azure_native.recoveryservices.ReplicationRecoveryPlan(\"replicationRecoveryPlan\",\n properties=azure_native.recoveryservices.RecoveryPlanPropertiesResponseArgs(\n failover_deployment_model=\"ResourceManager\",\n groups=[{\n \"endGroupActions\": [],\n \"groupType\": \"Boot\",\n \"replicationProtectedItems\": [azure_native.recoveryservices.RecoveryPlanProtectedItemArgs(\n id=\"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b\",\n virtual_machine_id=\"f8491e4f-817a-40dd-a90c-af773978c75b\",\n )],\n \"startGroupActions\": [],\n }],\n primary_fabric_id=\"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1\",\n recovery_fabric_id=\"Microsoft Azure\",\n ),\n recovery_plan_name=\"RPtest1\",\n resource_group_name=\"resourceGroupPS1\",\n resource_name_=\"vault1\")\n\n```\n\n```yaml\nresources:\n replicationRecoveryPlan:\n type: azure-native:recoveryservices:ReplicationRecoveryPlan\n properties:\n properties:\n failoverDeploymentModel: ResourceManager\n groups:\n - endGroupActions: []\n groupType: Boot\n replicationProtectedItems:\n - id: /Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b\n virtualMachineId: f8491e4f-817a-40dd-a90c-af773978c75b\n startGroupActions: []\n primaryFabricId: /Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1\n recoveryFabricId: Microsoft Azure\n recoveryPlanName: RPtest1\n resourceGroupName: resourceGroupPS1\n resourceName: vault1\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:recoveryservices:ReplicationRecoveryPlan RPtest1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName} \n```\n", + "description": "Recovery plan details.\nAzure REST API version: 2023-04-01. Prior API version in Azure Native 1.x: 2018-07-10\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Creates a recovery plan with the given details.\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicationRecoveryPlan = new AzureNative.RecoveryServices.ReplicationRecoveryPlan(\"replicationRecoveryPlan\", new()\n {\n Properties = new AzureNative.RecoveryServices.Inputs.CreateRecoveryPlanInputPropertiesArgs\n {\n FailoverDeploymentModel = \"ResourceManager\",\n Groups = new[]\n {\n \n {\n { \"endGroupActions\", new[] {} },\n { \"groupType\", \"Boot\" },\n { \"replicationProtectedItems\", new[]\n {\n new AzureNative.RecoveryServices.Inputs.RecoveryPlanProtectedItemArgs\n {\n Id = \"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b\",\n VirtualMachineId = \"f8491e4f-817a-40dd-a90c-af773978c75b\",\n },\n } },\n { \"startGroupActions\", new[] {} },\n },\n },\n PrimaryFabricId = \"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1\",\n RecoveryFabricId = \"Microsoft Azure\",\n },\n RecoveryPlanName = \"RPtest1\",\n ResourceGroupName = \"resourceGroupPS1\",\n ResourceName = \"vault1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/recoveryservices/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := recoveryservices.NewReplicationRecoveryPlan(ctx, \"replicationRecoveryPlan\", \u0026recoveryservices.ReplicationRecoveryPlanArgs{\n\t\t\tProperties: recoveryservices.RecoveryPlanPropertiesResponse{\n\t\t\t\tFailoverDeploymentModel: pulumi.String(\"ResourceManager\"),\n\t\t\t\tGroups: []recoveryservices.RecoveryPlanGroupArgs{\n\t\t\t\t\t{\n\t\t\t\t\t\tEndGroupActions: recoveryservices.RecoveryPlanActionArray{},\n\t\t\t\t\t\tGroupType: pulumi.String(\"Boot\"),\n\t\t\t\t\t\tReplicationProtectedItems: recoveryservices.RecoveryPlanProtectedItemArray{\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b\"),\n\t\t\t\t\t\t\t\tVirtualMachineId: pulumi.String(\"f8491e4f-817a-40dd-a90c-af773978c75b\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStartGroupActions: recoveryservices.RecoveryPlanActionArray{},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPrimaryFabricId: pulumi.String(\"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1\"),\n\t\t\t\tRecoveryFabricId: pulumi.String(\"Microsoft Azure\"),\n\t\t\t},\n\t\t\tRecoveryPlanName: pulumi.String(\"RPtest1\"),\n\t\t\tResourceGroupName: pulumi.String(\"resourceGroupPS1\"),\n\t\t\tResourceName: pulumi.String(\"vault1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.recoveryservices.ReplicationRecoveryPlan;\nimport com.pulumi.azurenative.recoveryservices.ReplicationRecoveryPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var replicationRecoveryPlan = new ReplicationRecoveryPlan(\"replicationRecoveryPlan\", ReplicationRecoveryPlanArgs.builder() \n .properties(Map.ofEntries(\n Map.entry(\"failoverDeploymentModel\", \"ResourceManager\"),\n Map.entry(\"groups\", Map.ofEntries(\n Map.entry(\"endGroupActions\", ),\n Map.entry(\"groupType\", \"Boot\"),\n Map.entry(\"replicationProtectedItems\", Map.ofEntries(\n Map.entry(\"id\", \"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b\"),\n Map.entry(\"virtualMachineId\", \"f8491e4f-817a-40dd-a90c-af773978c75b\")\n )),\n Map.entry(\"startGroupActions\", )\n )),\n Map.entry(\"primaryFabricId\", \"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1\"),\n Map.entry(\"recoveryFabricId\", \"Microsoft Azure\")\n ))\n .recoveryPlanName(\"RPtest1\")\n .resourceGroupName(\"resourceGroupPS1\")\n .resourceName(\"vault1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst replicationRecoveryPlan = new azure_native.recoveryservices.ReplicationRecoveryPlan(\"replicationRecoveryPlan\", {\n properties: {\n failoverDeploymentModel: \"ResourceManager\",\n groups: [{\n endGroupActions: [],\n groupType: \"Boot\",\n replicationProtectedItems: [{\n id: \"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b\",\n virtualMachineId: \"f8491e4f-817a-40dd-a90c-af773978c75b\",\n }],\n startGroupActions: [],\n }],\n primaryFabricId: \"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1\",\n recoveryFabricId: \"Microsoft Azure\",\n },\n recoveryPlanName: \"RPtest1\",\n resourceGroupName: \"resourceGroupPS1\",\n resourceName: \"vault1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nreplication_recovery_plan = azure_native.recoveryservices.ReplicationRecoveryPlan(\"replicationRecoveryPlan\",\n properties=azure_native.recoveryservices.RecoveryPlanPropertiesResponseArgs(\n failover_deployment_model=\"ResourceManager\",\n groups=[azure_native.recoveryservices.RecoveryPlanGroupResponseArgs(\n end_group_actions=[],\n group_type=\"Boot\",\n replication_protected_items=[azure_native.recoveryservices.RecoveryPlanProtectedItemArgs(\n id=\"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b\",\n virtual_machine_id=\"f8491e4f-817a-40dd-a90c-af773978c75b\",\n )],\n start_group_actions=[],\n )],\n primary_fabric_id=\"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1\",\n recovery_fabric_id=\"Microsoft Azure\",\n ),\n recovery_plan_name=\"RPtest1\",\n resource_group_name=\"resourceGroupPS1\",\n resource_name_=\"vault1\")\n\n```\n\n```yaml\nresources:\n replicationRecoveryPlan:\n type: azure-native:recoveryservices:ReplicationRecoveryPlan\n properties:\n properties:\n failoverDeploymentModel: ResourceManager\n groups:\n - endGroupActions: []\n groupType: Boot\n replicationProtectedItems:\n - id: /Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b\n virtualMachineId: f8491e4f-817a-40dd-a90c-af773978c75b\n startGroupActions: []\n primaryFabricId: /Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1\n recoveryFabricId: Microsoft Azure\n recoveryPlanName: RPtest1\n resourceGroupName: resourceGroupPS1\n resourceName: vault1\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:recoveryservices:ReplicationRecoveryPlan RPtest1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName} \n```\n", "properties": { "location": { "type": "string", @@ -623810,6 +625358,131 @@ } ] }, + "azure-native:storagetasks:StorageTask": { + "description": "Represents Storage Task.\nAzure REST API version: 2023-01-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### PutStorageTask\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var storageTask = new AzureNative.StorageTasks.StorageTask(\"storageTask\", new()\n {\n Action = new AzureNative.StorageTasks.Inputs.StorageTaskActionArgs\n {\n Else = new AzureNative.StorageTasks.Inputs.ElseConditionArgs\n {\n Operations = new[]\n {\n new AzureNative.StorageTasks.Inputs.StorageTaskOperationArgs\n {\n Name = \"DeleteBlob\",\n OnFailure = AzureNative.StorageTasks.OnFailure.@Break,\n OnSuccess = AzureNative.StorageTasks.OnSuccess.@Continue,\n },\n },\n },\n If = new AzureNative.StorageTasks.Inputs.IfConditionArgs\n {\n Condition = \"[[equals(AccessTier, 'Cool')]]\",\n Operations = new[]\n {\n new AzureNative.StorageTasks.Inputs.StorageTaskOperationArgs\n {\n Name = \"SetBlobTier\",\n OnFailure = AzureNative.StorageTasks.OnFailure.@Break,\n OnSuccess = AzureNative.StorageTasks.OnSuccess.@Continue,\n Parameters = \n {\n { \"tier\", \"Hot\" },\n },\n },\n },\n },\n },\n Description = \"My Storage task\",\n Enabled = true,\n Location = \"westus\",\n ResourceGroupName = \"res4228\",\n StorageTaskName = \"mytask1\",\n });\n\n});\n\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.storagetasks.StorageTask;\nimport com.pulumi.azurenative.storagetasks.StorageTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var storageTask = new StorageTask(\"storageTask\", StorageTaskArgs.builder() \n .action(Map.ofEntries(\n Map.entry(\"else\", Map.of(\"operations\", Map.ofEntries(\n Map.entry(\"name\", \"DeleteBlob\"),\n Map.entry(\"onFailure\", \"break\"),\n Map.entry(\"onSuccess\", \"continue\")\n ))),\n Map.entry(\"if\", Map.ofEntries(\n Map.entry(\"condition\", \"[[equals(AccessTier, 'Cool')]]\"),\n Map.entry(\"operations\", Map.ofEntries(\n Map.entry(\"name\", \"SetBlobTier\"),\n Map.entry(\"onFailure\", \"break\"),\n Map.entry(\"onSuccess\", \"continue\"),\n Map.entry(\"parameters\", Map.of(\"tier\", \"Hot\"))\n ))\n ))\n ))\n .description(\"My Storage task\")\n .enabled(true)\n .location(\"westus\")\n .resourceGroupName(\"res4228\")\n .storageTaskName(\"mytask1\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst storageTask = new azure_native.storagetasks.StorageTask(\"storageTask\", {\n action: {\n \"else\": {\n operations: [{\n name: \"DeleteBlob\",\n onFailure: azure_native.storagetasks.OnFailure.Break,\n onSuccess: azure_native.storagetasks.OnSuccess.Continue,\n }],\n },\n \"if\": {\n condition: \"[[equals(AccessTier, 'Cool')]]\",\n operations: [{\n name: \"SetBlobTier\",\n onFailure: azure_native.storagetasks.OnFailure.Break,\n onSuccess: azure_native.storagetasks.OnSuccess.Continue,\n parameters: {\n tier: \"Hot\",\n },\n }],\n },\n },\n description: \"My Storage task\",\n enabled: true,\n location: \"westus\",\n resourceGroupName: \"res4228\",\n storageTaskName: \"mytask1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nstorage_task = azure_native.storagetasks.StorageTask(\"storageTask\",\n action=azure_native.storagetasks.StorageTaskActionResponseArgs(\n else_={\n \"operations\": [azure_native.storagetasks.StorageTaskOperationArgs(\n name=\"DeleteBlob\",\n on_failure=azure_native.storagetasks.OnFailure.BREAK_,\n on_success=azure_native.storagetasks.OnSuccess.CONTINUE_,\n )],\n },\n if_={\n \"condition\": \"[[equals(AccessTier, 'Cool')]]\",\n \"operations\": [azure_native.storagetasks.StorageTaskOperationArgs(\n name=\"SetBlobTier\",\n on_failure=azure_native.storagetasks.OnFailure.BREAK_,\n on_success=azure_native.storagetasks.OnSuccess.CONTINUE_,\n parameters={\n \"tier\": \"Hot\",\n },\n )],\n },\n ),\n description=\"My Storage task\",\n enabled=True,\n location=\"westus\",\n resource_group_name=\"res4228\",\n storage_task_name=\"mytask1\")\n\n```\n\n```yaml\nresources:\n storageTask:\n type: azure-native:storagetasks:StorageTask\n properties:\n action:\n else:\n operations:\n - name: DeleteBlob\n onFailure: break\n onSuccess: continue\n if:\n condition: '[[equals(AccessTier, ''Cool'')]]'\n operations:\n - name: SetBlobTier\n onFailure: break\n onSuccess: continue\n parameters:\n tier: Hot\n description: My Storage task\n enabled: true\n location: westus\n resourceGroupName: res4228\n storageTaskName: mytask1\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:storagetasks:StorageTask mytask1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageTasks/storageTasks/{storageTaskName} \n```\n", + "properties": { + "action": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:StorageTaskActionResponse", + "description": "The storage task action that is executed" + }, + "creationTimeInUtc": { + "type": "string", + "description": "The creation date and time of the storage task in UTC." + }, + "description": { + "type": "string", + "description": "Text that describes the purpose of the storage task" + }, + "enabled": { + "type": "boolean", + "description": "Storage Task is enabled when set to true and disabled when set to false" + }, + "identity": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:ManagedServiceIdentityResponse", + "description": "The managed service identity of the resource." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "provisioningState": { + "type": "string", + "description": "Represents the provisioning state of the storage task." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + }, + "taskVersion": { + "type": "number", + "description": "Storage task version." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + } + }, + "type": "object", + "required": [ + "action", + "creationTimeInUtc", + "description", + "enabled", + "location", + "name", + "provisioningState", + "systemData", + "taskVersion", + "type" + ], + "inputProperties": { + "action": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:StorageTaskAction", + "description": "The storage task action that is executed" + }, + "description": { + "type": "string", + "description": "Text that describes the purpose of the storage task" + }, + "enabled": { + "type": "boolean", + "description": "Storage Task is enabled when set to true and disabled when set to false" + }, + "identity": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:ManagedServiceIdentity", + "description": "The managed service identity of the resource." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "willReplaceOnChanges": true + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "willReplaceOnChanges": true + }, + "storageTaskName": { + "type": "string", + "description": "The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only.", + "willReplaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "requiredInputs": [ + "action", + "description", + "enabled", + "resourceGroupName" + ], + "aliases": [ + { + "type": "azure-native:storagetasks/v20230101:StorageTask" + } + ] + }, "azure-native:storsimple:AccessControlRecord": { "description": "The access control record.\nAzure REST API version: 2017-06-01. Prior API version in Azure Native 1.x: 2017-06-01\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### AccessControlRecordsCreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accessControlRecord = new AzureNative.StorSimple.AccessControlRecord(\"accessControlRecord\", new()\n {\n AccessControlRecordName = \"ACRForTest\",\n InitiatorName = \"iqn.2017-06.com.contoso:ForTest\",\n ManagerName = \"ManagerForSDKTest1\",\n ResourceGroupName = \"ResourceGroupForSDKTest\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/storsimple/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storsimple.NewAccessControlRecord(ctx, \"accessControlRecord\", \u0026storsimple.AccessControlRecordArgs{\n\t\t\tAccessControlRecordName: pulumi.String(\"ACRForTest\"),\n\t\t\tInitiatorName: pulumi.String(\"iqn.2017-06.com.contoso:ForTest\"),\n\t\t\tManagerName: pulumi.String(\"ManagerForSDKTest1\"),\n\t\t\tResourceGroupName: pulumi.String(\"ResourceGroupForSDKTest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.storsimple.AccessControlRecord;\nimport com.pulumi.azurenative.storsimple.AccessControlRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var accessControlRecord = new AccessControlRecord(\"accessControlRecord\", AccessControlRecordArgs.builder() \n .accessControlRecordName(\"ACRForTest\")\n .initiatorName(\"iqn.2017-06.com.contoso:ForTest\")\n .managerName(\"ManagerForSDKTest1\")\n .resourceGroupName(\"ResourceGroupForSDKTest\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst accessControlRecord = new azure_native.storsimple.AccessControlRecord(\"accessControlRecord\", {\n accessControlRecordName: \"ACRForTest\",\n initiatorName: \"iqn.2017-06.com.contoso:ForTest\",\n managerName: \"ManagerForSDKTest1\",\n resourceGroupName: \"ResourceGroupForSDKTest\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\naccess_control_record = azure_native.storsimple.AccessControlRecord(\"accessControlRecord\",\n access_control_record_name=\"ACRForTest\",\n initiator_name=\"iqn.2017-06.com.contoso:ForTest\",\n manager_name=\"ManagerForSDKTest1\",\n resource_group_name=\"ResourceGroupForSDKTest\")\n\n```\n\n```yaml\nresources:\n accessControlRecord:\n type: azure-native:storsimple:AccessControlRecord\n properties:\n accessControlRecordName: ACRForTest\n initiatorName: iqn.2017-06.com.contoso:ForTest\n managerName: ManagerForSDKTest1\n resourceGroupName: ResourceGroupForSDKTest\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:storsimple:AccessControlRecord ACRForTest /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords/{accessControlRecordName} \n```\n", "properties": { @@ -685626,7 +687299,7 @@ } }, "azure-native:containerstorage:getPool": { - "description": "Get a Pool\nAzure REST API version: 2023-03-01-preview.", + "description": "Get a Pool\nAzure REST API version: 2023-07-01-preview.", "inputs": { "properties": { "poolName": { @@ -685652,24 +687325,10 @@ "assignments": { "type": "array", "items": { - "type": "string" + "type": "object", + "$ref": "#/types/azure-native:containerstorage:AssignmentResponse" }, - "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many." - }, - "diskPoolProperties": { - "type": "object", - "$ref": "#/types/azure-native:containerstorage:DiskPoolPropertiesResponse", - "description": "Disk Pool Properties" - }, - "elasticSanPoolProperties": { - "type": "object", - "$ref": "#/types/azure-native:containerstorage:ElasticSanPoolPropertiesResponse", - "description": "Elastic San Pool Properties" - }, - "ephemeralPoolProperties": { - "type": "object", - "$ref": "#/types/azure-native:containerstorage:EphemeralPoolPropertiesResponse", - "description": "Ephemeral Pool Properties" + "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many." }, "id": { "type": "string", @@ -685683,18 +687342,29 @@ "type": "string", "description": "The name of the resource" }, - "poolCapacityGiB": { - "type": "number", - "description": "Initial capacity of the pool in GiB." - }, "poolType": { - "type": "number", - "description": "Type of the Pool: ephemeral, disk, managed, or elasticsan." + "type": "object", + "$ref": "#/types/azure-native:containerstorage:PoolTypeResponse", + "description": "Type of the Pool: ephemeralDisk, azureDisk, or elasticsan." }, "provisioningState": { "type": "string", "description": "The status of the last operation." }, + "reclaimPolicy": { + "type": "string", + "description": "ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted" + }, + "resources": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ResourcesResponse", + "description": "Resources represent the resources the pool should have." + }, + "status": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ResourceOperationalStatusResponse", + "description": "The operational status of the resource" + }, "systemData": { "type": "object", "$ref": "#/types/azure-native:containerstorage:SystemDataResponse", @@ -685721,22 +687391,19 @@ }, "type": "object", "required": [ - "assignments", - "elasticSanPoolProperties", "id", "location", "name", - "poolCapacityGiB", "poolType", "provisioningState", + "status", "systemData", - "type", - "zones" + "type" ] } }, - "azure-native:containerstorage:getVolume": { - "description": "Get a Volume\nAzure REST API version: 2023-03-01-preview.", + "azure-native:containerstorage:getSnapshot": { + "description": "Get a Snapshot\nAzure REST API version: 2023-07-01-preview.", "inputs": { "properties": { "poolName": { @@ -685749,9 +687416,9 @@ "description": "The name of the resource group. The name is case insensitive.", "willReplaceOnChanges": true }, - "volumeName": { + "snapshotName": { "type": "string", - "description": "Volume Resource", + "description": "Volume Snapshot Resource", "willReplaceOnChanges": true } }, @@ -685759,34 +687426,16 @@ "required": [ "poolName", "resourceGroupName", - "volumeName" + "snapshotName" ] }, "outputs": { "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", "properties": { - "capacityGiB": { - "type": "number", - "description": "Requested capacity in GiB" - }, "id": { "type": "string", "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "String KV pairs indicating labels" - }, - "mountOptions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of string mount options" - }, "name": { "type": "string", "description": "The name of the resource" @@ -685795,9 +687444,14 @@ "type": "string", "description": "The status of the last operation." }, - "reclaimPolicy": { + "source": { "type": "string", - "description": "Reclaim Policy, Delete or Retain" + "description": "Reference to the source volume" + }, + "status": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ResourceOperationalStatusResponse", + "description": "The status of the resource." }, "systemData": { "type": "object", @@ -685807,29 +687461,22 @@ "type": { "type": "string", "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" - }, - "volumeMode": { - "type": "string", - "description": "Indicates how the volume should be attached" } }, "type": "object", "required": [ - "capacityGiB", "id", - "labels", - "mountOptions", "name", "provisioningState", - "reclaimPolicy", + "source", + "status", "systemData", - "type", - "volumeMode" + "type" ] } }, - "azure-native:containerstorage:getVolumeSnapshot": { - "description": "Get a VolumeSnapshot\nAzure REST API version: 2023-03-01-preview.", + "azure-native:containerstorage:getVolume": { + "description": "Get a Volume\nAzure REST API version: 2023-07-01-preview.", "inputs": { "properties": { "poolName": { @@ -685842,9 +687489,9 @@ "description": "The name of the resource group. The name is case insensitive.", "willReplaceOnChanges": true }, - "volumeSnapshotName": { + "volumeName": { "type": "string", - "description": "Volume Snapshot Resource", + "description": "Volume Resource", "willReplaceOnChanges": true } }, @@ -685852,22 +687499,26 @@ "required": [ "poolName", "resourceGroupName", - "volumeSnapshotName" + "volumeName" ] }, "outputs": { "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", "properties": { + "capacityGiB": { + "type": "number", + "description": "Requested capacity in GiB" + }, "id": { "type": "string", "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" }, - "mountOptions": { - "type": "array", - "items": { + "labels": { + "type": "object", + "additionalProperties": { "type": "string" }, - "description": "List of string mount options" + "description": "String KV pairs indicating labels" }, "name": { "type": "string", @@ -685877,13 +687528,10 @@ "type": "string", "description": "The status of the last operation." }, - "reclaimPolicy": { - "type": "string", - "description": "Reclaim Policy, Delete or Retain" - }, - "source": { - "type": "string", - "description": "Reference to the source volume" + "status": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:ResourceOperationalStatusResponse", + "description": "The status of the resource." }, "systemData": { "type": "object", @@ -685894,22 +687542,23 @@ "type": "string", "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" }, - "volumeMode": { - "type": "string", - "description": "Indicates how the volumes created from the snapshot should be attached" + "volumeType": { + "type": "object", + "$ref": "#/types/azure-native:containerstorage:VolumeTypeResponse", + "description": "Properties of the volume" } }, "type": "object", "required": [ + "capacityGiB", "id", - "mountOptions", + "labels", "name", "provisioningState", - "reclaimPolicy", - "source", + "status", "systemData", "type", - "volumeMode" + "volumeType" ] } }, @@ -703883,6 +705532,178 @@ ] } }, + "azure-native:desktopvirtualization:getScalingPlanPersonalSchedule": { + "description": "Get a ScalingPlanPersonalSchedule.\nAzure REST API version: 2023-07-07-preview.", + "inputs": { + "properties": { + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "willReplaceOnChanges": true + }, + "scalingPlanName": { + "type": "string", + "description": "The name of the scaling plan.", + "willReplaceOnChanges": true + }, + "scalingPlanScheduleName": { + "type": "string", + "description": "The name of the ScalingPlanSchedule", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "resourceGroupName", + "scalingPlanName", + "scalingPlanScheduleName" + ] + }, + "outputs": { + "description": "Represents a ScalingPlanPersonalSchedule definition.", + "properties": { + "daysOfWeek": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of days of the week on which this schedule is active." + }, + "id": { + "type": "string", + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "offPeakActionOnDisconnect": { + "type": "string", + "description": "Action to be taken after a user disconnect during the off-peak period." + }, + "offPeakActionOnLogoff": { + "type": "string", + "description": "Action to be taken after a logoff during the off-peak period." + }, + "offPeakMinutesToWaitOnDisconnect": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period." + }, + "offPeakMinutesToWaitOnLogoff": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period." + }, + "offPeakStartTime": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:TimeResponse", + "description": "Starting time for off-peak period." + }, + "offPeakStartVMOnConnect": { + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the off-peak phase.", + "default": "Enable" + }, + "peakActionOnDisconnect": { + "type": "string", + "description": "Action to be taken after a user disconnect during the peak period." + }, + "peakActionOnLogoff": { + "type": "string", + "description": "Action to be taken after a logoff during the peak period." + }, + "peakMinutesToWaitOnDisconnect": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period." + }, + "peakMinutesToWaitOnLogoff": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period." + }, + "peakStartTime": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:TimeResponse", + "description": "Starting time for peak period." + }, + "peakStartVMOnConnect": { + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the peak phase.", + "default": "Enable" + }, + "rampDownActionOnDisconnect": { + "type": "string", + "description": "Action to be taken after a user disconnect during the ramp down period." + }, + "rampDownActionOnLogoff": { + "type": "string", + "description": "Action to be taken after a logoff during the ramp down period." + }, + "rampDownMinutesToWaitOnDisconnect": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period." + }, + "rampDownMinutesToWaitOnLogoff": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period." + }, + "rampDownStartTime": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:TimeResponse", + "description": "Starting time for ramp down period." + }, + "rampDownStartVMOnConnect": { + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp down phase.", + "default": "Enable" + }, + "rampUpActionOnDisconnect": { + "type": "string", + "description": "Action to be taken after a user disconnect during the ramp up period." + }, + "rampUpActionOnLogoff": { + "type": "string", + "description": "Action to be taken after a logoff during the ramp up period." + }, + "rampUpAutoStartHosts": { + "type": "string", + "description": "The desired startup behavior during the ramp up period for personal vms in the hostpool." + }, + "rampUpMinutesToWaitOnDisconnect": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period." + }, + "rampUpMinutesToWaitOnLogoff": { + "type": "integer", + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period." + }, + "rampUpStartTime": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:TimeResponse", + "description": "Starting time for ramp up period." + }, + "rampUpStartVMOnConnect": { + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually.", + "default": "Enable" + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:desktopvirtualization:SystemDataResponse", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + } + }, + "type": "object", + "required": [ + "id", + "name", + "systemData", + "type" + ] + } + }, "azure-native:desktopvirtualization:getScalingPlanPooledSchedule": { "description": "Get a ScalingPlanPooledSchedule.\nAzure REST API version: 2022-09-09.", "inputs": { @@ -719972,6 +721793,120 @@ ] } }, + "azure-native:hdinsight:getClusterPool": { + "description": "Gets a cluster pool.\nAzure REST API version: 2023-06-01-preview.", + "inputs": { + "properties": { + "clusterPoolName": { + "type": "string", + "description": "The name of the cluster pool.", + "willReplaceOnChanges": true + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "clusterPoolName", + "resourceGroupName" + ] + }, + "outputs": { + "description": "Cluster pool.", + "properties": { + "aksClusterProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesResponseAksClusterProfile", + "description": "Properties of underlying AKS cluster." + }, + "aksManagedResourceGroupName": { + "type": "string", + "description": "A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}" + }, + "clusterPoolProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesResponseClusterPoolProfile", + "description": "CLuster pool profile." + }, + "computeProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesResponseComputeProfile", + "description": "CLuster pool compute profile." + }, + "deploymentId": { + "type": "string", + "description": "A unique id generated by the RP to identify the resource." + }, + "id": { + "type": "string", + "description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\"" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "logAnalyticsProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesResponseLogAnalyticsProfile", + "description": "Cluster pool log analytics profile to enable OMS agent for AKS cluster." + }, + "managedResourceGroupName": { + "type": "string", + "description": "A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction." + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "networkProfile": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:ClusterPoolResourcePropertiesResponseNetworkProfile", + "description": "Cluster pool network profile." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the resource." + }, + "status": { + "type": "string", + "description": "Business status of the resource." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:hdinsight:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + } + }, + "type": "object", + "required": [ + "aksClusterProfile", + "aksManagedResourceGroupName", + "computeProfile", + "deploymentId", + "id", + "location", + "name", + "provisioningState", + "status", + "systemData", + "type" + ] + } + }, "azure-native:hdinsight:getPrivateEndpointConnection": { "description": "Gets the specific private endpoint connection.\nAzure REST API version: 2021-06-01.", "inputs": { @@ -721516,142 +723451,6 @@ ] } }, - "azure-native:hybridcompute:getMachineRunCommand": { - "description": "The operation to get a run command.\nAzure REST API version: 2023-04-25-preview.", - "inputs": { - "properties": { - "machineName": { - "type": "string", - "description": "The name of the hybrid machine.", - "willReplaceOnChanges": true - }, - "resourceGroupName": { - "type": "string", - "description": "The name of the resource group. The name is case insensitive.", - "willReplaceOnChanges": true - }, - "runCommandName": { - "type": "string", - "description": "The name of the run command.", - "willReplaceOnChanges": true - } - }, - "type": "object", - "required": [ - "machineName", - "resourceGroupName", - "runCommandName" - ] - }, - "outputs": { - "description": "Describes a Run Command", - "properties": { - "asyncExecution": { - "type": "boolean", - "description": "Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete.", - "default": false - }, - "errorBlobManagedIdentity": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandManagedIdentityResponse", - "description": "User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged " - }, - "errorBlobUri": { - "type": "string", - "description": "Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter." - }, - "id": { - "type": "string", - "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - }, - "instanceView": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:MachineRunCommandInstanceViewResponse", - "description": "The machine run command instance view." - }, - "location": { - "type": "string", - "description": "The geo-location where the resource lives" - }, - "name": { - "type": "string", - "description": "The name of the resource" - }, - "outputBlobManagedIdentity": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandManagedIdentityResponse", - "description": "User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged " - }, - "outputBlobUri": { - "type": "string", - "description": "Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. " - }, - "parameters": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandInputParameterResponse" - }, - "description": "The parameters used by the script." - }, - "protectedParameters": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:RunCommandInputParameterResponse" - }, - "description": "The parameters used by the script." - }, - "provisioningState": { - "type": "string", - "description": "The provisioning state, which only appears in the response." - }, - "runAsPassword": { - "type": "string", - "description": "Specifies the user account password on the machine when executing the run command." - }, - "runAsUser": { - "type": "string", - "description": "Specifies the user account on the machine when executing the run command." - }, - "source": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:MachineRunCommandScriptSourceResponse", - "description": "The source of the run command script." - }, - "systemData": { - "type": "object", - "$ref": "#/types/azure-native:hybridcompute:SystemDataResponse", - "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags." - }, - "timeoutInSeconds": { - "type": "integer", - "description": "The timeout in seconds to execute the run command." - }, - "type": { - "type": "string", - "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" - } - }, - "type": "object", - "required": [ - "id", - "instanceView", - "location", - "name", - "provisioningState", - "systemData", - "type" - ] - } - }, "azure-native:hybridcompute:getPrivateEndpointConnection": { "description": "Gets a private endpoint connection.\nAzure REST API version: 2022-12-27.", "inputs": { @@ -749957,6 +751756,111 @@ ] } }, + "azure-native:mobilepacketcore:getNetworkFunction": { + "description": "Get a NetworkFunctionResource\nAzure REST API version: 2023-05-15-preview.", + "inputs": { + "properties": { + "networkFunctionName": { + "type": "string", + "description": "The name of the network function", + "willReplaceOnChanges": true + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "networkFunctionName", + "resourceGroupName" + ] + }, + "outputs": { + "description": "AO5GC Network Function Resource", + "properties": { + "capacity": { + "type": "integer", + "description": "Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable" + }, + "deploymentNotes": { + "type": "string", + "description": "User provided deployment notes. This is used to optionally provide details about the NF deployment" + }, + "id": { + "type": "string", + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "infrastructureElementCount": { + "type": "integer", + "description": "Count of infrastructure elements used by this network function (vCPUs, in units of 8)" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "networkFunctionAdministrativeState": { + "type": "string", + "description": "Administrative state of the network function" + }, + "networkFunctionOperationalStatus": { + "type": "string", + "description": "Operational state of the network function" + }, + "networkFunctionType": { + "type": "string", + "description": "Type of network function" + }, + "provisioningState": { + "type": "string", + "description": "The status of the last operation." + }, + "sku": { + "type": "string", + "description": "Provisioned SKU Value." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:mobilepacketcore:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "userDescription": { + "type": "string", + "description": "User provided description" + } + }, + "type": "object", + "required": [ + "id", + "infrastructureElementCount", + "location", + "name", + "networkFunctionAdministrativeState", + "networkFunctionOperationalStatus", + "networkFunctionType", + "provisioningState", + "sku", + "systemData", + "type" + ] + } + }, "azure-native:monitor:getAzureMonitorWorkspace": { "description": "Returns the specific Azure Monitor workspace\nAzure REST API version: 2023-04-03.", "inputs": { @@ -778072,6 +779976,10 @@ "description": "Returns the cluster customer credentials for the dedicated appliance.\nAzure REST API version: 2022-10-27.", "inputs": { "properties": { + "artifactType": { + "type": "string", + "description": "This sets the type of artifact being returned, when empty no artifact endpoint is returned." + }, "resourceGroupName": { "type": "string", "description": "The name of the resource group. The name is case insensitive.", @@ -803980,6 +805888,105 @@ ] } }, + "azure-native:storagetasks:getStorageTask": { + "description": "Get the storage task properties\nAzure REST API version: 2023-01-01.", + "inputs": { + "properties": { + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "willReplaceOnChanges": true + }, + "storageTaskName": { + "type": "string", + "description": "The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only.", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "resourceGroupName", + "storageTaskName" + ] + }, + "outputs": { + "description": "Represents Storage Task.", + "properties": { + "action": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:StorageTaskActionResponse", + "description": "The storage task action that is executed" + }, + "creationTimeInUtc": { + "type": "string", + "description": "The creation date and time of the storage task in UTC." + }, + "description": { + "type": "string", + "description": "Text that describes the purpose of the storage task" + }, + "enabled": { + "type": "boolean", + "description": "Storage Task is enabled when set to true and disabled when set to false" + }, + "id": { + "type": "string", + "description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\"" + }, + "identity": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:ManagedServiceIdentityResponse", + "description": "The managed service identity of the resource." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "provisioningState": { + "type": "string", + "description": "Represents the provisioning state of the storage task." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:storagetasks:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + }, + "taskVersion": { + "type": "number", + "description": "Storage task version." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + } + }, + "type": "object", + "required": [ + "action", + "creationTimeInUtc", + "description", + "enabled", + "id", + "location", + "name", + "provisioningState", + "systemData", + "taskVersion", + "type" + ] + } + }, "azure-native:storsimple:getAccessControlRecord": { "description": "Returns the properties of the specified access control record name.\nAzure REST API version: 2017-06-01.", "inputs": { diff --git a/sdk/dotnet/AVS/Addon.cs b/sdk/dotnet/AVS/Addon.cs index ae1eb58e2886..c2f5204f5482 100644 --- a/sdk/dotnet/AVS/Addon.cs +++ b/sdk/dotnet/AVS/Addon.cs @@ -64,6 +64,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Addon"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Addon"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:Addon"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:Addon"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/Authorization.cs b/sdk/dotnet/AVS/Authorization.cs index 3b3fea05bb96..6b78978438c2 100644 --- a/sdk/dotnet/AVS/Authorization.cs +++ b/sdk/dotnet/AVS/Authorization.cs @@ -83,6 +83,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Authorization"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Authorization"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:Authorization"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:Authorization"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/CloudLink.cs b/sdk/dotnet/AVS/CloudLink.cs index d032381d6f01..bc90a1444fe7 100644 --- a/sdk/dotnet/AVS/CloudLink.cs +++ b/sdk/dotnet/AVS/CloudLink.cs @@ -68,6 +68,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:CloudLink"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:CloudLink"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:CloudLink"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:CloudLink"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/Cluster.cs b/sdk/dotnet/AVS/Cluster.cs index 5e00eb40ad23..87cfb6e644aa 100644 --- a/sdk/dotnet/AVS/Cluster.cs +++ b/sdk/dotnet/AVS/Cluster.cs @@ -89,6 +89,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Cluster"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Cluster"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:Cluster"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:Cluster"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/Datastore.cs b/sdk/dotnet/AVS/Datastore.cs index 036a6fccba51..eef90b774de0 100644 --- a/sdk/dotnet/AVS/Datastore.cs +++ b/sdk/dotnet/AVS/Datastore.cs @@ -81,6 +81,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Datastore"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Datastore"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:Datastore"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:Datastore"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/GlobalReachConnection.cs b/sdk/dotnet/AVS/GlobalReachConnection.cs index 0e3607c5d08f..b059244bacf0 100644 --- a/sdk/dotnet/AVS/GlobalReachConnection.cs +++ b/sdk/dotnet/AVS/GlobalReachConnection.cs @@ -94,6 +94,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:GlobalReachConnection"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:GlobalReachConnection"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:GlobalReachConnection"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:GlobalReachConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/HcxEnterpriseSite.cs b/sdk/dotnet/AVS/HcxEnterpriseSite.cs index d298c437e924..990b915da1d6 100644 --- a/sdk/dotnet/AVS/HcxEnterpriseSite.cs +++ b/sdk/dotnet/AVS/HcxEnterpriseSite.cs @@ -71,6 +71,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:HcxEnterpriseSite"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:HcxEnterpriseSite"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:HcxEnterpriseSite"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:HcxEnterpriseSite"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/PlacementPolicy.cs b/sdk/dotnet/AVS/PlacementPolicy.cs index 77e816273122..716d5ea11824 100644 --- a/sdk/dotnet/AVS/PlacementPolicy.cs +++ b/sdk/dotnet/AVS/PlacementPolicy.cs @@ -61,6 +61,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? { new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:PlacementPolicy"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:PlacementPolicy"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:PlacementPolicy"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/PrivateCloud.cs b/sdk/dotnet/AVS/PrivateCloud.cs index 92274932f332..2e3e09a54fc7 100644 --- a/sdk/dotnet/AVS/PrivateCloud.cs +++ b/sdk/dotnet/AVS/PrivateCloud.cs @@ -197,6 +197,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:PrivateCloud"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:PrivateCloud"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:PrivateCloud"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:PrivateCloud"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/ScriptExecution.cs b/sdk/dotnet/AVS/ScriptExecution.cs index f56761cde93d..7cddeb6c50fd 100644 --- a/sdk/dotnet/AVS/ScriptExecution.cs +++ b/sdk/dotnet/AVS/ScriptExecution.cs @@ -146,6 +146,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:ScriptExecution"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:ScriptExecution"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:ScriptExecution"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:ScriptExecution"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20200320/Cluster.cs b/sdk/dotnet/AVS/V20200320/Cluster.cs index 43b2726193e9..32bb82e35218 100644 --- a/sdk/dotnet/AVS/V20200320/Cluster.cs +++ b/sdk/dotnet/AVS/V20200320/Cluster.cs @@ -88,6 +88,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Cluster"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Cluster"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:Cluster"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:Cluster"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20210101Preview/Addon.cs b/sdk/dotnet/AVS/V20210101Preview/Addon.cs index 87db21c25e38..9033918953bd 100644 --- a/sdk/dotnet/AVS/V20210101Preview/Addon.cs +++ b/sdk/dotnet/AVS/V20210101Preview/Addon.cs @@ -75,6 +75,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Addon"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Addon"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:Addon"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:Addon"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20210101Preview/WorkloadNetworkDhcp.cs b/sdk/dotnet/AVS/V20210101Preview/WorkloadNetworkDhcp.cs index b0d7a018c5ec..88b83d9af582 100644 --- a/sdk/dotnet/AVS/V20210101Preview/WorkloadNetworkDhcp.cs +++ b/sdk/dotnet/AVS/V20210101Preview/WorkloadNetworkDhcp.cs @@ -87,6 +87,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkDhcp"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkDhcp"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkDhcp"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkDhcp"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20210601/Cluster.cs b/sdk/dotnet/AVS/V20210601/Cluster.cs index 6a65d1cb2478..de57c80ff775 100644 --- a/sdk/dotnet/AVS/V20210601/Cluster.cs +++ b/sdk/dotnet/AVS/V20210601/Cluster.cs @@ -88,6 +88,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:Cluster"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Cluster"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:Cluster"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:Cluster"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/Addon.cs b/sdk/dotnet/AVS/V20220501/Addon.cs index 9ef9d03cf7dd..a1561b04ca26 100644 --- a/sdk/dotnet/AVS/V20220501/Addon.cs +++ b/sdk/dotnet/AVS/V20220501/Addon.cs @@ -63,6 +63,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:Addon"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Addon"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Addon"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:Addon"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/Authorization.cs b/sdk/dotnet/AVS/V20220501/Authorization.cs index d530623a3841..17841a09faa8 100644 --- a/sdk/dotnet/AVS/V20220501/Authorization.cs +++ b/sdk/dotnet/AVS/V20220501/Authorization.cs @@ -82,6 +82,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:Authorization"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Authorization"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Authorization"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:Authorization"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/CloudLink.cs b/sdk/dotnet/AVS/V20220501/CloudLink.cs index 03fbb0390c8f..eca8b7dde03e 100644 --- a/sdk/dotnet/AVS/V20220501/CloudLink.cs +++ b/sdk/dotnet/AVS/V20220501/CloudLink.cs @@ -67,6 +67,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs:CloudLink"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:CloudLink"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:CloudLink"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:CloudLink"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/Cluster.cs b/sdk/dotnet/AVS/V20220501/Cluster.cs index c63b0f4ee059..0bcf14159a41 100644 --- a/sdk/dotnet/AVS/V20220501/Cluster.cs +++ b/sdk/dotnet/AVS/V20220501/Cluster.cs @@ -88,6 +88,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:Cluster"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Cluster"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Cluster"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:Cluster"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/Datastore.cs b/sdk/dotnet/AVS/V20220501/Datastore.cs index 489c05b692e7..61db2bc480dd 100644 --- a/sdk/dotnet/AVS/V20220501/Datastore.cs +++ b/sdk/dotnet/AVS/V20220501/Datastore.cs @@ -80,6 +80,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:Datastore"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Datastore"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Datastore"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:Datastore"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/GlobalReachConnection.cs b/sdk/dotnet/AVS/V20220501/GlobalReachConnection.cs index 911c50f46e9e..722ac47616fc 100644 --- a/sdk/dotnet/AVS/V20220501/GlobalReachConnection.cs +++ b/sdk/dotnet/AVS/V20220501/GlobalReachConnection.cs @@ -93,6 +93,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:GlobalReachConnection"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:GlobalReachConnection"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:GlobalReachConnection"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:GlobalReachConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/HcxEnterpriseSite.cs b/sdk/dotnet/AVS/V20220501/HcxEnterpriseSite.cs index 05ec870c797b..fee503bda2f3 100644 --- a/sdk/dotnet/AVS/V20220501/HcxEnterpriseSite.cs +++ b/sdk/dotnet/AVS/V20220501/HcxEnterpriseSite.cs @@ -70,6 +70,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:HcxEnterpriseSite"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:HcxEnterpriseSite"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:HcxEnterpriseSite"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:HcxEnterpriseSite"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/PlacementPolicy.cs b/sdk/dotnet/AVS/V20220501/PlacementPolicy.cs index 2988161460d7..1b1985b24251 100644 --- a/sdk/dotnet/AVS/V20220501/PlacementPolicy.cs +++ b/sdk/dotnet/AVS/V20220501/PlacementPolicy.cs @@ -60,6 +60,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? { new global::Pulumi.Alias { Type = "azure-native:avs:PlacementPolicy"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:PlacementPolicy"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:PlacementPolicy"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/PrivateCloud.cs b/sdk/dotnet/AVS/V20220501/PrivateCloud.cs index f332037ec7a7..b911076b045c 100644 --- a/sdk/dotnet/AVS/V20220501/PrivateCloud.cs +++ b/sdk/dotnet/AVS/V20220501/PrivateCloud.cs @@ -196,6 +196,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:PrivateCloud"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:PrivateCloud"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:PrivateCloud"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:PrivateCloud"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/ScriptExecution.cs b/sdk/dotnet/AVS/V20220501/ScriptExecution.cs index e2974dbfcb14..a77356feb8af 100644 --- a/sdk/dotnet/AVS/V20220501/ScriptExecution.cs +++ b/sdk/dotnet/AVS/V20220501/ScriptExecution.cs @@ -145,6 +145,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs:ScriptExecution"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:ScriptExecution"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:ScriptExecution"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:ScriptExecution"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/WorkloadNetworkDhcp.cs b/sdk/dotnet/AVS/V20220501/WorkloadNetworkDhcp.cs index 00079c746ec5..ba9b931e1488 100644 --- a/sdk/dotnet/AVS/V20220501/WorkloadNetworkDhcp.cs +++ b/sdk/dotnet/AVS/V20220501/WorkloadNetworkDhcp.cs @@ -63,6 +63,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:WorkloadNetworkDhcp"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkDhcp"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkDhcp"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkDhcp"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/WorkloadNetworkDnsService.cs b/sdk/dotnet/AVS/V20220501/WorkloadNetworkDnsService.cs index 593ddc62c302..b33a461b2d94 100644 --- a/sdk/dotnet/AVS/V20220501/WorkloadNetworkDnsService.cs +++ b/sdk/dotnet/AVS/V20220501/WorkloadNetworkDnsService.cs @@ -105,6 +105,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:WorkloadNetworkDnsService"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkDnsService"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkDnsService"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkDnsService"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/WorkloadNetworkDnsZone.cs b/sdk/dotnet/AVS/V20220501/WorkloadNetworkDnsZone.cs index f4b11ee57f45..2828fe56e928 100644 --- a/sdk/dotnet/AVS/V20220501/WorkloadNetworkDnsZone.cs +++ b/sdk/dotnet/AVS/V20220501/WorkloadNetworkDnsZone.cs @@ -99,6 +99,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:WorkloadNetworkDnsZone"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkDnsZone"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkDnsZone"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkDnsZone"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/WorkloadNetworkPortMirroring.cs b/sdk/dotnet/AVS/V20220501/WorkloadNetworkPortMirroring.cs index 0d90f9c36a5f..5b93e02027fb 100644 --- a/sdk/dotnet/AVS/V20220501/WorkloadNetworkPortMirroring.cs +++ b/sdk/dotnet/AVS/V20220501/WorkloadNetworkPortMirroring.cs @@ -99,6 +99,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:WorkloadNetworkPortMirroring"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkPortMirroring"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkPortMirroring"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkPortMirroring"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/WorkloadNetworkPublicIP.cs b/sdk/dotnet/AVS/V20220501/WorkloadNetworkPublicIP.cs index 3126969e2191..da8fc894d2aa 100644 --- a/sdk/dotnet/AVS/V20220501/WorkloadNetworkPublicIP.cs +++ b/sdk/dotnet/AVS/V20220501/WorkloadNetworkPublicIP.cs @@ -79,6 +79,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs:WorkloadNetworkPublicIP"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkPublicIP"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkPublicIP"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkPublicIP"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/WorkloadNetworkSegment.cs b/sdk/dotnet/AVS/V20220501/WorkloadNetworkSegment.cs index a442f171cee8..98c68c3f328e 100644 --- a/sdk/dotnet/AVS/V20220501/WorkloadNetworkSegment.cs +++ b/sdk/dotnet/AVS/V20220501/WorkloadNetworkSegment.cs @@ -99,6 +99,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:WorkloadNetworkSegment"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkSegment"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkSegment"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkSegment"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20220501/WorkloadNetworkVMGroup.cs b/sdk/dotnet/AVS/V20220501/WorkloadNetworkVMGroup.cs index 43d95d852cb0..2bbce62c9981 100644 --- a/sdk/dotnet/AVS/V20220501/WorkloadNetworkVMGroup.cs +++ b/sdk/dotnet/AVS/V20220501/WorkloadNetworkVMGroup.cs @@ -87,6 +87,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:WorkloadNetworkVMGroup"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkVMGroup"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkVMGroup"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkVMGroup"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/V20230301/Addon.cs b/sdk/dotnet/AVS/V20230301/Addon.cs new file mode 100644 index 000000000000..b4984933dab3 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Addon.cs @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// An addon resource + /// + [AzureNativeResourceType("azure-native:avs/v20230301:Addon")] + public partial class Addon : global::Pulumi.CustomResource + { + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The properties of an addon resource + /// + [Output("properties")] + public Output Properties { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Addon resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Addon(string name, AddonArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:Addon", name, args ?? new AddonArgs(), MakeResourceOptions(options, "")) + { + } + + private Addon(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:Addon", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:Addon"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200717preview:Addon"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:Addon"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Addon"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Addon"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:Addon"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Addon resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Addon Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Addon(name, id, options); + } + } + + public sealed class AddonArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the addon for the private cloud + /// + [Input("addonName")] + public Input? AddonName { get; set; } + + /// + /// The name of the private cloud. + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The properties of an addon resource + /// + [Input("properties")] + public object? Properties { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public AddonArgs() + { + } + public static new AddonArgs Empty => new AddonArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Authorization.cs b/sdk/dotnet/AVS/V20230301/Authorization.cs new file mode 100644 index 000000000000..71424dfa2bcf --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Authorization.cs @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// ExpressRoute Circuit Authorization + /// + [AzureNativeResourceType("azure-native:avs/v20230301:Authorization")] + public partial class Authorization : global::Pulumi.CustomResource + { + /// + /// The ID of the ExpressRoute Circuit Authorization + /// + [Output("expressRouteAuthorizationId")] + public Output ExpressRouteAuthorizationId { get; private set; } = null!; + + /// + /// The key of the ExpressRoute Circuit Authorization + /// + [Output("expressRouteAuthorizationKey")] + public Output ExpressRouteAuthorizationKey { get; private set; } = null!; + + /// + /// The ID of the ExpressRoute Circuit + /// + [Output("expressRouteId")] + public Output ExpressRouteId { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The state of the ExpressRoute Circuit Authorization provisioning + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Authorization resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Authorization(string name, AuthorizationArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:Authorization", name, args ?? new AuthorizationArgs(), MakeResourceOptions(options, "")) + { + } + + private Authorization(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:Authorization", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:Authorization"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200320:Authorization"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200717preview:Authorization"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:Authorization"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Authorization"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Authorization"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:Authorization"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Authorization resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Authorization Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Authorization(name, id, options); + } + } + + public sealed class AuthorizationArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the ExpressRoute Circuit Authorization in the private cloud + /// + [Input("authorizationName")] + public Input? AuthorizationName { get; set; } + + /// + /// The ID of the ExpressRoute Circuit + /// + [Input("expressRouteId")] + public Input? ExpressRouteId { get; set; } + + /// + /// The name of the private cloud. + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public AuthorizationArgs() + { + } + public static new AuthorizationArgs Empty => new AuthorizationArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/CloudLink.cs b/sdk/dotnet/AVS/V20230301/CloudLink.cs new file mode 100644 index 000000000000..594a50004166 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/CloudLink.cs @@ -0,0 +1,123 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// A cloud link resource + /// + [AzureNativeResourceType("azure-native:avs/v20230301:CloudLink")] + public partial class CloudLink : global::Pulumi.CustomResource + { + /// + /// Identifier of the other private cloud participating in the link. + /// + [Output("linkedCloud")] + public Output LinkedCloud { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The state of the cloud link. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a CloudLink resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public CloudLink(string name, CloudLinkArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:CloudLink", name, args ?? new CloudLinkArgs(), MakeResourceOptions(options, "")) + { + } + + private CloudLink(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:CloudLink", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:CloudLink"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:CloudLink"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:CloudLink"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:CloudLink"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing CloudLink resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static CloudLink Get(string name, Input id, CustomResourceOptions? options = null) + { + return new CloudLink(name, id, options); + } + } + + public sealed class CloudLinkArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the cloud link resource + /// + [Input("cloudLinkName")] + public Input? CloudLinkName { get; set; } + + /// + /// Identifier of the other private cloud participating in the link. + /// + [Input("linkedCloud")] + public Input? LinkedCloud { get; set; } + + /// + /// The name of the private cloud. + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public CloudLinkArgs() + { + } + public static new CloudLinkArgs Empty => new CloudLinkArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Cluster.cs b/sdk/dotnet/AVS/V20230301/Cluster.cs new file mode 100644 index 000000000000..7967f625fe5c --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Cluster.cs @@ -0,0 +1,162 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// A cluster resource + /// + [AzureNativeResourceType("azure-native:avs/v20230301:Cluster")] + public partial class Cluster : global::Pulumi.CustomResource + { + /// + /// The identity + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + + /// + /// The cluster size + /// + [Output("clusterSize")] + public Output ClusterSize { get; private set; } = null!; + + /// + /// The hosts + /// + [Output("hosts")] + public Output> Hosts { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The state of the cluster provisioning + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// The cluster SKU + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Cluster resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Cluster(string name, ClusterArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:Cluster", name, args ?? new ClusterArgs(), MakeResourceOptions(options, "")) + { + } + + private Cluster(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:Cluster", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:Cluster"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200320:Cluster"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200717preview:Cluster"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:Cluster"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Cluster"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Cluster"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:Cluster"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Cluster resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Cluster Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Cluster(name, id, options); + } + } + + public sealed class ClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the cluster in the private cloud + /// + [Input("clusterName")] + public Input? ClusterName { get; set; } + + /// + /// The cluster size + /// + [Input("clusterSize")] + public Input? ClusterSize { get; set; } + + [Input("hosts")] + private InputList? _hosts; + + /// + /// The hosts + /// + public InputList Hosts + { + get => _hosts ?? (_hosts = new InputList()); + set => _hosts = value; + } + + /// + /// The name of the private cloud. + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The cluster SKU + /// + [Input("sku", required: true)] + public Input Sku { get; set; } = null!; + + public ClusterArgs() + { + } + public static new ClusterArgs Empty => new ClusterArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Datastore.cs b/sdk/dotnet/AVS/V20230301/Datastore.cs new file mode 100644 index 000000000000..44bd4eed9fed --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Datastore.cs @@ -0,0 +1,148 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// A datastore resource + /// + [AzureNativeResourceType("azure-native:avs/v20230301:Datastore")] + public partial class Datastore : global::Pulumi.CustomResource + { + /// + /// An iSCSI volume + /// + [Output("diskPoolVolume")] + public Output DiskPoolVolume { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// An Azure NetApp Files volume + /// + [Output("netAppVolume")] + public Output NetAppVolume { get; private set; } = null!; + + /// + /// The state of the datastore provisioning + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// The operational status of the datastore + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Datastore resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Datastore(string name, DatastoreArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:Datastore", name, args ?? new DatastoreArgs(), MakeResourceOptions(options, "")) + { + } + + private Datastore(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:Datastore", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:Datastore"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:Datastore"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:Datastore"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:Datastore"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:Datastore"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Datastore resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Datastore Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Datastore(name, id, options); + } + } + + public sealed class DatastoreArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the cluster in the private cloud + /// + [Input("clusterName", required: true)] + public Input ClusterName { get; set; } = null!; + + /// + /// Name of the datastore in the private cloud cluster + /// + [Input("datastoreName")] + public Input? DatastoreName { get; set; } + + /// + /// An iSCSI volume + /// + [Input("diskPoolVolume")] + public Input? DiskPoolVolume { get; set; } + + /// + /// An Azure NetApp Files volume + /// + [Input("netAppVolume")] + public Input? NetAppVolume { get; set; } + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public DatastoreArgs() + { + } + public static new DatastoreArgs Empty => new DatastoreArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Enums.cs b/sdk/dotnet/AVS/V20230301/Enums.cs new file mode 100644 index 000000000000..5bc4478d7a48 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Enums.cs @@ -0,0 +1,512 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// The type of private cloud addon + /// + [EnumType] + public readonly struct AddonType : IEquatable + { + private readonly string _value; + + private AddonType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static AddonType SRM { get; } = new AddonType("SRM"); + public static AddonType VR { get; } = new AddonType("VR"); + public static AddonType HCX { get; } = new AddonType("HCX"); + public static AddonType Arc { get; } = new AddonType("Arc"); + + public static bool operator ==(AddonType left, AddonType right) => left.Equals(right); + public static bool operator !=(AddonType left, AddonType right) => !left.Equals(right); + + public static explicit operator string(AddonType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AddonType other && Equals(other); + public bool Equals(AddonType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// vm-host placement policy affinity strength (should/must) + /// + [EnumType] + public readonly struct AffinityStrength : IEquatable + { + private readonly string _value; + + private AffinityStrength(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static AffinityStrength Should { get; } = new AffinityStrength("Should"); + public static AffinityStrength Must { get; } = new AffinityStrength("Must"); + + public static bool operator ==(AffinityStrength left, AffinityStrength right) => left.Equals(right); + public static bool operator !=(AffinityStrength left, AffinityStrength right) => !left.Equals(right); + + public static explicit operator string(AffinityStrength value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AffinityStrength other && Equals(other); + public bool Equals(AffinityStrength other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// placement policy affinity type + /// + [EnumType] + public readonly struct AffinityType : IEquatable + { + private readonly string _value; + + private AffinityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static AffinityType Affinity { get; } = new AffinityType("Affinity"); + public static AffinityType AntiAffinity { get; } = new AffinityType("AntiAffinity"); + + public static bool operator ==(AffinityType left, AffinityType right) => left.Equals(right); + public static bool operator !=(AffinityType left, AffinityType right) => !left.Equals(right); + + public static explicit operator string(AffinityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AffinityType other && Equals(other); + public bool Equals(AffinityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The availability strategy for the private cloud + /// + [EnumType] + public readonly struct AvailabilityStrategy : IEquatable + { + private readonly string _value; + + private AvailabilityStrategy(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static AvailabilityStrategy SingleZone { get; } = new AvailabilityStrategy("SingleZone"); + public static AvailabilityStrategy DualZone { get; } = new AvailabilityStrategy("DualZone"); + + public static bool operator ==(AvailabilityStrategy left, AvailabilityStrategy right) => left.Equals(right); + public static bool operator !=(AvailabilityStrategy left, AvailabilityStrategy right) => !left.Equals(right); + + public static explicit operator string(AvailabilityStrategy value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AvailabilityStrategy other && Equals(other); + public bool Equals(AvailabilityStrategy other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// placement policy azure hybrid benefit opt-in type + /// + [EnumType] + public readonly struct AzureHybridBenefitType : IEquatable + { + private readonly string _value; + + private AzureHybridBenefitType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static AzureHybridBenefitType SqlHost { get; } = new AzureHybridBenefitType("SqlHost"); + public static AzureHybridBenefitType None { get; } = new AzureHybridBenefitType("None"); + + public static bool operator ==(AzureHybridBenefitType left, AzureHybridBenefitType right) => left.Equals(right); + public static bool operator !=(AzureHybridBenefitType left, AzureHybridBenefitType right) => !left.Equals(right); + + public static explicit operator string(AzureHybridBenefitType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AzureHybridBenefitType other && Equals(other); + public bool Equals(AzureHybridBenefitType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of DHCP: SERVER or RELAY. + /// + [EnumType] + public readonly struct DhcpTypeEnum : IEquatable + { + private readonly string _value; + + private DhcpTypeEnum(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DhcpTypeEnum SERVER { get; } = new DhcpTypeEnum("SERVER"); + public static DhcpTypeEnum RELAY { get; } = new DhcpTypeEnum("RELAY"); + + public static bool operator ==(DhcpTypeEnum left, DhcpTypeEnum right) => left.Equals(right); + public static bool operator !=(DhcpTypeEnum left, DhcpTypeEnum right) => !left.Equals(right); + + public static explicit operator string(DhcpTypeEnum value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DhcpTypeEnum other && Equals(other); + public bool Equals(DhcpTypeEnum other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// DNS Service log level. + /// + [EnumType] + public readonly struct DnsServiceLogLevelEnum : IEquatable + { + private readonly string _value; + + private DnsServiceLogLevelEnum(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DnsServiceLogLevelEnum DEBUG { get; } = new DnsServiceLogLevelEnum("DEBUG"); + public static DnsServiceLogLevelEnum INFO { get; } = new DnsServiceLogLevelEnum("INFO"); + public static DnsServiceLogLevelEnum WARNING { get; } = new DnsServiceLogLevelEnum("WARNING"); + public static DnsServiceLogLevelEnum ERROR { get; } = new DnsServiceLogLevelEnum("ERROR"); + public static DnsServiceLogLevelEnum FATAL { get; } = new DnsServiceLogLevelEnum("FATAL"); + + public static bool operator ==(DnsServiceLogLevelEnum left, DnsServiceLogLevelEnum right) => left.Equals(right); + public static bool operator !=(DnsServiceLogLevelEnum left, DnsServiceLogLevelEnum right) => !left.Equals(right); + + public static explicit operator string(DnsServiceLogLevelEnum value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DnsServiceLogLevelEnum other && Equals(other); + public bool Equals(DnsServiceLogLevelEnum other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Status of customer managed encryption key + /// + [EnumType] + public readonly struct EncryptionState : IEquatable + { + private readonly string _value; + + private EncryptionState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static EncryptionState Enabled { get; } = new EncryptionState("Enabled"); + public static EncryptionState Disabled { get; } = new EncryptionState("Disabled"); + + public static bool operator ==(EncryptionState left, EncryptionState right) => left.Equals(right); + public static bool operator !=(EncryptionState left, EncryptionState right) => !left.Equals(right); + + public static explicit operator string(EncryptionState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is EncryptionState other && Equals(other); + public bool Equals(EncryptionState other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Connectivity to internet is enabled or disabled + /// + [EnumType] + public readonly struct InternetEnum : IEquatable + { + private readonly string _value; + + private InternetEnum(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static InternetEnum Enabled { get; } = new InternetEnum("Enabled"); + public static InternetEnum Disabled { get; } = new InternetEnum("Disabled"); + + public static bool operator ==(InternetEnum left, InternetEnum right) => left.Equals(right); + public static bool operator !=(InternetEnum left, InternetEnum right) => !left.Equals(right); + + public static explicit operator string(InternetEnum value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is InternetEnum other && Equals(other); + public bool Equals(InternetEnum other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN + /// + [EnumType] + public readonly struct MountOptionEnum : IEquatable + { + private readonly string _value; + + private MountOptionEnum(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static MountOptionEnum MOUNT { get; } = new MountOptionEnum("MOUNT"); + public static MountOptionEnum ATTACH { get; } = new MountOptionEnum("ATTACH"); + + public static bool operator ==(MountOptionEnum left, MountOptionEnum right) => left.Equals(right); + public static bool operator !=(MountOptionEnum left, MountOptionEnum right) => !left.Equals(right); + + public static explicit operator string(MountOptionEnum value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is MountOptionEnum other && Equals(other); + public bool Equals(MountOptionEnum other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Whether the placement policy is enabled or disabled + /// + [EnumType] + public readonly struct PlacementPolicyState : IEquatable + { + private readonly string _value; + + private PlacementPolicyState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PlacementPolicyState Enabled { get; } = new PlacementPolicyState("Enabled"); + public static PlacementPolicyState Disabled { get; } = new PlacementPolicyState("Disabled"); + + public static bool operator ==(PlacementPolicyState left, PlacementPolicyState right) => left.Equals(right); + public static bool operator !=(PlacementPolicyState left, PlacementPolicyState right) => !left.Equals(right); + + public static explicit operator string(PlacementPolicyState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PlacementPolicyState other && Equals(other); + public bool Equals(PlacementPolicyState other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// placement policy type + /// + [EnumType] + public readonly struct PlacementPolicyType : IEquatable + { + private readonly string _value; + + private PlacementPolicyType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PlacementPolicyType VmVm { get; } = new PlacementPolicyType("VmVm"); + public static PlacementPolicyType VmHost { get; } = new PlacementPolicyType("VmHost"); + + public static bool operator ==(PlacementPolicyType left, PlacementPolicyType right) => left.Equals(right); + public static bool operator !=(PlacementPolicyType left, PlacementPolicyType right) => !left.Equals(right); + + public static explicit operator string(PlacementPolicyType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PlacementPolicyType other && Equals(other); + public bool Equals(PlacementPolicyType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Direction of port mirroring profile. + /// + [EnumType] + public readonly struct PortMirroringDirectionEnum : IEquatable + { + private readonly string _value; + + private PortMirroringDirectionEnum(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PortMirroringDirectionEnum INGRESS { get; } = new PortMirroringDirectionEnum("INGRESS"); + public static PortMirroringDirectionEnum EGRESS { get; } = new PortMirroringDirectionEnum("EGRESS"); + public static PortMirroringDirectionEnum BIDIRECTIONAL { get; } = new PortMirroringDirectionEnum("BIDIRECTIONAL"); + + public static bool operator ==(PortMirroringDirectionEnum left, PortMirroringDirectionEnum right) => left.Equals(right); + public static bool operator !=(PortMirroringDirectionEnum left, PortMirroringDirectionEnum right) => !left.Equals(right); + + public static explicit operator string(PortMirroringDirectionEnum value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PortMirroringDirectionEnum other && Equals(other); + public bool Equals(PortMirroringDirectionEnum other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of identity used for the private cloud. The type 'SystemAssigned' refers to an implicitly created identity. The type 'None' will remove any identities from the Private Cloud. + /// + [EnumType] + public readonly struct ResourceIdentityType : IEquatable + { + private readonly string _value; + + private ResourceIdentityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ResourceIdentityType SystemAssigned { get; } = new ResourceIdentityType("SystemAssigned"); + public static ResourceIdentityType None { get; } = new ResourceIdentityType("None"); + + public static bool operator ==(ResourceIdentityType left, ResourceIdentityType right) => left.Equals(right); + public static bool operator !=(ResourceIdentityType left, ResourceIdentityType right) => !left.Equals(right); + + public static explicit operator string(ResourceIdentityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ResourceIdentityType other && Equals(other); + public bool Equals(ResourceIdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of execution parameter + /// + [EnumType] + public readonly struct ScriptExecutionParameterType : IEquatable + { + private readonly string _value; + + private ScriptExecutionParameterType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ScriptExecutionParameterType Value { get; } = new ScriptExecutionParameterType("Value"); + public static ScriptExecutionParameterType SecureValue { get; } = new ScriptExecutionParameterType("SecureValue"); + public static ScriptExecutionParameterType Credential { get; } = new ScriptExecutionParameterType("Credential"); + + public static bool operator ==(ScriptExecutionParameterType left, ScriptExecutionParameterType right) => left.Equals(right); + public static bool operator !=(ScriptExecutionParameterType left, ScriptExecutionParameterType right) => !left.Equals(right); + + public static explicit operator string(ScriptExecutionParameterType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ScriptExecutionParameterType other && Equals(other); + public bool Equals(ScriptExecutionParameterType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Protect LDAP communication using SSL certificate (LDAPS) + /// + [EnumType] + public readonly struct SslEnum : IEquatable + { + private readonly string _value; + + private SslEnum(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SslEnum Enabled { get; } = new SslEnum("Enabled"); + public static SslEnum Disabled { get; } = new SslEnum("Disabled"); + + public static bool operator ==(SslEnum left, SslEnum right) => left.Equals(right); + public static bool operator !=(SslEnum left, SslEnum right) => !left.Equals(right); + + public static explicit operator string(SslEnum value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SslEnum other && Equals(other); + public bool Equals(SslEnum other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetAddon.cs b/sdk/dotnet/AVS/V20230301/GetAddon.cs new file mode 100644 index 000000000000..32cfd05b9640 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetAddon.cs @@ -0,0 +1,117 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetAddon + { + /// + /// An addon resource + /// + public static Task InvokeAsync(GetAddonArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getAddon", args ?? new GetAddonArgs(), options.WithDefaults()); + + /// + /// An addon resource + /// + public static Output Invoke(GetAddonInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getAddon", args ?? new GetAddonInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAddonArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the addon for the private cloud + /// + [Input("addonName", required: true)] + public string AddonName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetAddonArgs() + { + } + public static new GetAddonArgs Empty => new GetAddonArgs(); + } + + public sealed class GetAddonInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the addon for the private cloud + /// + [Input("addonName", required: true)] + public Input AddonName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetAddonInvokeArgs() + { + } + public static new GetAddonInvokeArgs Empty => new GetAddonInvokeArgs(); + } + + + [OutputType] + public sealed class GetAddonResult + { + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// The properties of an addon resource + /// + public readonly object Properties; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetAddonResult( + string id, + + string name, + + object properties, + + string type) + { + Id = id; + Name = name; + Properties = properties; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetAuthorization.cs b/sdk/dotnet/AVS/V20230301/GetAuthorization.cs new file mode 100644 index 000000000000..befce13b8bd7 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetAuthorization.cs @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetAuthorization + { + /// + /// ExpressRoute Circuit Authorization + /// + public static Task InvokeAsync(GetAuthorizationArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getAuthorization", args ?? new GetAuthorizationArgs(), options.WithDefaults()); + + /// + /// ExpressRoute Circuit Authorization + /// + public static Output Invoke(GetAuthorizationInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getAuthorization", args ?? new GetAuthorizationInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAuthorizationArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the ExpressRoute Circuit Authorization in the private cloud + /// + [Input("authorizationName", required: true)] + public string AuthorizationName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetAuthorizationArgs() + { + } + public static new GetAuthorizationArgs Empty => new GetAuthorizationArgs(); + } + + public sealed class GetAuthorizationInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the ExpressRoute Circuit Authorization in the private cloud + /// + [Input("authorizationName", required: true)] + public Input AuthorizationName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetAuthorizationInvokeArgs() + { + } + public static new GetAuthorizationInvokeArgs Empty => new GetAuthorizationInvokeArgs(); + } + + + [OutputType] + public sealed class GetAuthorizationResult + { + /// + /// The ID of the ExpressRoute Circuit Authorization + /// + public readonly string ExpressRouteAuthorizationId; + /// + /// The key of the ExpressRoute Circuit Authorization + /// + public readonly string ExpressRouteAuthorizationKey; + /// + /// The ID of the ExpressRoute Circuit + /// + public readonly string? ExpressRouteId; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// The state of the ExpressRoute Circuit Authorization provisioning + /// + public readonly string ProvisioningState; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetAuthorizationResult( + string expressRouteAuthorizationId, + + string expressRouteAuthorizationKey, + + string? expressRouteId, + + string id, + + string name, + + string provisioningState, + + string type) + { + ExpressRouteAuthorizationId = expressRouteAuthorizationId; + ExpressRouteAuthorizationKey = expressRouteAuthorizationKey; + ExpressRouteId = expressRouteId; + Id = id; + Name = name; + ProvisioningState = provisioningState; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetCloudLink.cs b/sdk/dotnet/AVS/V20230301/GetCloudLink.cs new file mode 100644 index 000000000000..f9b07ff8f71d --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetCloudLink.cs @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetCloudLink + { + /// + /// A cloud link resource + /// + public static Task InvokeAsync(GetCloudLinkArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getCloudLink", args ?? new GetCloudLinkArgs(), options.WithDefaults()); + + /// + /// A cloud link resource + /// + public static Output Invoke(GetCloudLinkInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getCloudLink", args ?? new GetCloudLinkInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCloudLinkArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the cloud link resource + /// + [Input("cloudLinkName", required: true)] + public string CloudLinkName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetCloudLinkArgs() + { + } + public static new GetCloudLinkArgs Empty => new GetCloudLinkArgs(); + } + + public sealed class GetCloudLinkInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the cloud link resource + /// + [Input("cloudLinkName", required: true)] + public Input CloudLinkName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetCloudLinkInvokeArgs() + { + } + public static new GetCloudLinkInvokeArgs Empty => new GetCloudLinkInvokeArgs(); + } + + + [OutputType] + public sealed class GetCloudLinkResult + { + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Identifier of the other private cloud participating in the link. + /// + public readonly string? LinkedCloud; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// The state of the cloud link. + /// + public readonly string Status; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetCloudLinkResult( + string id, + + string? linkedCloud, + + string name, + + string status, + + string type) + { + Id = id; + LinkedCloud = linkedCloud; + Name = name; + Status = status; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetCluster.cs b/sdk/dotnet/AVS/V20230301/GetCluster.cs new file mode 100644 index 000000000000..7c6f4c8d9d7d --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetCluster.cs @@ -0,0 +1,145 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetCluster + { + /// + /// A cluster resource + /// + public static Task InvokeAsync(GetClusterArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getCluster", args ?? new GetClusterArgs(), options.WithDefaults()); + + /// + /// A cluster resource + /// + public static Output Invoke(GetClusterInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getCluster", args ?? new GetClusterInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetClusterArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the cluster in the private cloud + /// + [Input("clusterName", required: true)] + public string ClusterName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetClusterArgs() + { + } + public static new GetClusterArgs Empty => new GetClusterArgs(); + } + + public sealed class GetClusterInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the cluster in the private cloud + /// + [Input("clusterName", required: true)] + public Input ClusterName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetClusterInvokeArgs() + { + } + public static new GetClusterInvokeArgs Empty => new GetClusterInvokeArgs(); + } + + + [OutputType] + public sealed class GetClusterResult + { + /// + /// The identity + /// + public readonly int ClusterId; + /// + /// The cluster size + /// + public readonly int? ClusterSize; + /// + /// The hosts + /// + public readonly ImmutableArray Hosts; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// The state of the cluster provisioning + /// + public readonly string ProvisioningState; + /// + /// The cluster SKU + /// + public readonly Outputs.SkuResponse Sku; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetClusterResult( + int clusterId, + + int? clusterSize, + + ImmutableArray hosts, + + string id, + + string name, + + string provisioningState, + + Outputs.SkuResponse sku, + + string type) + { + ClusterId = clusterId; + ClusterSize = clusterSize; + Hosts = hosts; + Id = id; + Name = name; + ProvisioningState = provisioningState; + Sku = sku; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetDatastore.cs b/sdk/dotnet/AVS/V20230301/GetDatastore.cs new file mode 100644 index 000000000000..e0aa927215c0 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetDatastore.cs @@ -0,0 +1,150 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetDatastore + { + /// + /// A datastore resource + /// + public static Task InvokeAsync(GetDatastoreArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getDatastore", args ?? new GetDatastoreArgs(), options.WithDefaults()); + + /// + /// A datastore resource + /// + public static Output Invoke(GetDatastoreInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getDatastore", args ?? new GetDatastoreInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDatastoreArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the cluster in the private cloud + /// + [Input("clusterName", required: true)] + public string ClusterName { get; set; } = null!; + + /// + /// Name of the datastore in the private cloud cluster + /// + [Input("datastoreName", required: true)] + public string DatastoreName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetDatastoreArgs() + { + } + public static new GetDatastoreArgs Empty => new GetDatastoreArgs(); + } + + public sealed class GetDatastoreInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the cluster in the private cloud + /// + [Input("clusterName", required: true)] + public Input ClusterName { get; set; } = null!; + + /// + /// Name of the datastore in the private cloud cluster + /// + [Input("datastoreName", required: true)] + public Input DatastoreName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetDatastoreInvokeArgs() + { + } + public static new GetDatastoreInvokeArgs Empty => new GetDatastoreInvokeArgs(); + } + + + [OutputType] + public sealed class GetDatastoreResult + { + /// + /// An iSCSI volume + /// + public readonly Outputs.DiskPoolVolumeResponse? DiskPoolVolume; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// An Azure NetApp Files volume + /// + public readonly Outputs.NetAppVolumeResponse? NetAppVolume; + /// + /// The state of the datastore provisioning + /// + public readonly string ProvisioningState; + /// + /// The operational status of the datastore + /// + public readonly string Status; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetDatastoreResult( + Outputs.DiskPoolVolumeResponse? diskPoolVolume, + + string id, + + string name, + + Outputs.NetAppVolumeResponse? netAppVolume, + + string provisioningState, + + string status, + + string type) + { + DiskPoolVolume = diskPoolVolume; + Id = id; + Name = name; + NetAppVolume = netAppVolume; + ProvisioningState = provisioningState; + Status = status; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetGlobalReachConnection.cs b/sdk/dotnet/AVS/V20230301/GetGlobalReachConnection.cs new file mode 100644 index 000000000000..de3c726a76f3 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetGlobalReachConnection.cs @@ -0,0 +1,152 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetGlobalReachConnection + { + /// + /// A global reach connection resource + /// + public static Task InvokeAsync(GetGlobalReachConnectionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getGlobalReachConnection", args ?? new GetGlobalReachConnectionArgs(), options.WithDefaults()); + + /// + /// A global reach connection resource + /// + public static Output Invoke(GetGlobalReachConnectionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getGlobalReachConnection", args ?? new GetGlobalReachConnectionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetGlobalReachConnectionArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the global reach connection in the private cloud + /// + [Input("globalReachConnectionName", required: true)] + public string GlobalReachConnectionName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetGlobalReachConnectionArgs() + { + } + public static new GetGlobalReachConnectionArgs Empty => new GetGlobalReachConnectionArgs(); + } + + public sealed class GetGlobalReachConnectionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the global reach connection in the private cloud + /// + [Input("globalReachConnectionName", required: true)] + public Input GlobalReachConnectionName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetGlobalReachConnectionInvokeArgs() + { + } + public static new GetGlobalReachConnectionInvokeArgs Empty => new GetGlobalReachConnectionInvokeArgs(); + } + + + [OutputType] + public sealed class GetGlobalReachConnectionResult + { + /// + /// The network used for global reach carved out from the original network block provided for the private cloud + /// + public readonly string AddressPrefix; + /// + /// Authorization key from the peer express route used for the global reach connection + /// + public readonly string? AuthorizationKey; + /// + /// The connection status of the global reach connection + /// + public readonly string CircuitConnectionStatus; + /// + /// The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection + /// + public readonly string? ExpressRouteId; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// Identifier of the ExpressRoute Circuit to peer with in the global reach connection + /// + public readonly string? PeerExpressRouteCircuit; + /// + /// The state of the ExpressRoute Circuit Authorization provisioning + /// + public readonly string ProvisioningState; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetGlobalReachConnectionResult( + string addressPrefix, + + string? authorizationKey, + + string circuitConnectionStatus, + + string? expressRouteId, + + string id, + + string name, + + string? peerExpressRouteCircuit, + + string provisioningState, + + string type) + { + AddressPrefix = addressPrefix; + AuthorizationKey = authorizationKey; + CircuitConnectionStatus = circuitConnectionStatus; + ExpressRouteId = expressRouteId; + Id = id; + Name = name; + PeerExpressRouteCircuit = peerExpressRouteCircuit; + ProvisioningState = provisioningState; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetHcxEnterpriseSite.cs b/sdk/dotnet/AVS/V20230301/GetHcxEnterpriseSite.cs new file mode 100644 index 000000000000..9e22954dafb5 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetHcxEnterpriseSite.cs @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetHcxEnterpriseSite + { + /// + /// An HCX Enterprise Site resource + /// + public static Task InvokeAsync(GetHcxEnterpriseSiteArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getHcxEnterpriseSite", args ?? new GetHcxEnterpriseSiteArgs(), options.WithDefaults()); + + /// + /// An HCX Enterprise Site resource + /// + public static Output Invoke(GetHcxEnterpriseSiteInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getHcxEnterpriseSite", args ?? new GetHcxEnterpriseSiteInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetHcxEnterpriseSiteArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the HCX Enterprise Site in the private cloud + /// + [Input("hcxEnterpriseSiteName", required: true)] + public string HcxEnterpriseSiteName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetHcxEnterpriseSiteArgs() + { + } + public static new GetHcxEnterpriseSiteArgs Empty => new GetHcxEnterpriseSiteArgs(); + } + + public sealed class GetHcxEnterpriseSiteInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the HCX Enterprise Site in the private cloud + /// + [Input("hcxEnterpriseSiteName", required: true)] + public Input HcxEnterpriseSiteName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetHcxEnterpriseSiteInvokeArgs() + { + } + public static new GetHcxEnterpriseSiteInvokeArgs Empty => new GetHcxEnterpriseSiteInvokeArgs(); + } + + + [OutputType] + public sealed class GetHcxEnterpriseSiteResult + { + /// + /// The activation key + /// + public readonly string ActivationKey; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// The status of the HCX Enterprise Site + /// + public readonly string Status; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetHcxEnterpriseSiteResult( + string activationKey, + + string id, + + string name, + + string status, + + string type) + { + ActivationKey = activationKey; + Id = id; + Name = name; + Status = status; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetPlacementPolicy.cs b/sdk/dotnet/AVS/V20230301/GetPlacementPolicy.cs new file mode 100644 index 000000000000..9e7561e235e3 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetPlacementPolicy.cs @@ -0,0 +1,129 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetPlacementPolicy + { + /// + /// A vSphere Distributed Resource Scheduler (DRS) placement policy + /// + public static Task InvokeAsync(GetPlacementPolicyArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getPlacementPolicy", args ?? new GetPlacementPolicyArgs(), options.WithDefaults()); + + /// + /// A vSphere Distributed Resource Scheduler (DRS) placement policy + /// + public static Output Invoke(GetPlacementPolicyInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getPlacementPolicy", args ?? new GetPlacementPolicyInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetPlacementPolicyArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the cluster in the private cloud + /// + [Input("clusterName", required: true)] + public string ClusterName { get; set; } = null!; + + /// + /// Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy + /// + [Input("placementPolicyName", required: true)] + public string PlacementPolicyName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetPlacementPolicyArgs() + { + } + public static new GetPlacementPolicyArgs Empty => new GetPlacementPolicyArgs(); + } + + public sealed class GetPlacementPolicyInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the cluster in the private cloud + /// + [Input("clusterName", required: true)] + public Input ClusterName { get; set; } = null!; + + /// + /// Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy + /// + [Input("placementPolicyName", required: true)] + public Input PlacementPolicyName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetPlacementPolicyInvokeArgs() + { + } + public static new GetPlacementPolicyInvokeArgs Empty => new GetPlacementPolicyInvokeArgs(); + } + + + [OutputType] + public sealed class GetPlacementPolicyResult + { + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// placement policy properties + /// + public readonly Union Properties; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetPlacementPolicyResult( + string id, + + string name, + + Union properties, + + string type) + { + Id = id; + Name = name; + Properties = properties; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetPrivateCloud.cs b/sdk/dotnet/AVS/V20230301/GetPrivateCloud.cs new file mode 100644 index 000000000000..c78da476a342 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetPrivateCloud.cs @@ -0,0 +1,266 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetPrivateCloud + { + /// + /// A private cloud resource + /// + public static Task InvokeAsync(GetPrivateCloudArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getPrivateCloud", args ?? new GetPrivateCloudArgs(), options.WithDefaults()); + + /// + /// A private cloud resource + /// + public static Output Invoke(GetPrivateCloudInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getPrivateCloud", args ?? new GetPrivateCloudInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetPrivateCloudArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetPrivateCloudArgs() + { + } + public static new GetPrivateCloudArgs Empty => new GetPrivateCloudArgs(); + } + + public sealed class GetPrivateCloudInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetPrivateCloudInvokeArgs() + { + } + public static new GetPrivateCloudInvokeArgs Empty => new GetPrivateCloudInvokeArgs(); + } + + + [OutputType] + public sealed class GetPrivateCloudResult + { + /// + /// Properties describing how the cloud is distributed across availability zones + /// + public readonly Outputs.AvailabilityPropertiesResponse? Availability; + /// + /// An ExpressRoute Circuit + /// + public readonly Outputs.CircuitResponse? Circuit; + /// + /// Customer managed key encryption, can be enabled or disabled + /// + public readonly Outputs.EncryptionResponse? Encryption; + /// + /// The endpoints + /// + public readonly Outputs.EndpointsResponse Endpoints; + /// + /// Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). + /// + public readonly ImmutableArray ExtendedNetworkBlocks; + /// + /// Array of cloud link IDs from other clouds that connect to this one + /// + public readonly ImmutableArray ExternalCloudLinks; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// The identity of the private cloud, if configured. + /// + public readonly Outputs.PrivateCloudIdentityResponse? Identity; + /// + /// vCenter Single Sign On Identity Sources + /// + public readonly ImmutableArray IdentitySources; + /// + /// Connectivity to internet is enabled or disabled + /// + public readonly string? Internet; + /// + /// Resource location + /// + public readonly string Location; + /// + /// The default cluster used for management + /// + public readonly Outputs.ManagementClusterResponse ManagementCluster; + /// + /// Network used to access vCenter Server and NSX-T Manager + /// + public readonly string ManagementNetwork; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 + /// + public readonly string NetworkBlock; + /// + /// Flag to indicate whether the private cloud has the quota for provisioned NSX Public IP count raised from 64 to 1024 + /// + public readonly string NsxPublicIpQuotaRaised; + /// + /// Thumbprint of the NSX-T Manager SSL certificate + /// + public readonly string NsxtCertificateThumbprint; + /// + /// Optionally, set the NSX-T Manager password when the private cloud is created + /// + public readonly string? NsxtPassword; + /// + /// Used for virtual machine cold migration, cloning, and snapshot migration + /// + public readonly string ProvisioningNetwork; + /// + /// The provisioning state + /// + public readonly string ProvisioningState; + /// + /// A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud + /// + public readonly Outputs.CircuitResponse? SecondaryCircuit; + /// + /// The private cloud SKU + /// + public readonly Outputs.SkuResponse Sku; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Resource type. + /// + public readonly string Type; + /// + /// Thumbprint of the vCenter Server SSL certificate + /// + public readonly string VcenterCertificateThumbprint; + /// + /// Optionally, set the vCenter admin password when the private cloud is created + /// + public readonly string? VcenterPassword; + /// + /// Used for live migration of virtual machines + /// + public readonly string VmotionNetwork; + + [OutputConstructor] + private GetPrivateCloudResult( + Outputs.AvailabilityPropertiesResponse? availability, + + Outputs.CircuitResponse? circuit, + + Outputs.EncryptionResponse? encryption, + + Outputs.EndpointsResponse endpoints, + + ImmutableArray extendedNetworkBlocks, + + ImmutableArray externalCloudLinks, + + string id, + + Outputs.PrivateCloudIdentityResponse? identity, + + ImmutableArray identitySources, + + string? internet, + + string location, + + Outputs.ManagementClusterResponse managementCluster, + + string managementNetwork, + + string name, + + string networkBlock, + + string nsxPublicIpQuotaRaised, + + string nsxtCertificateThumbprint, + + string? nsxtPassword, + + string provisioningNetwork, + + string provisioningState, + + Outputs.CircuitResponse? secondaryCircuit, + + Outputs.SkuResponse sku, + + ImmutableDictionary? tags, + + string type, + + string vcenterCertificateThumbprint, + + string? vcenterPassword, + + string vmotionNetwork) + { + Availability = availability; + Circuit = circuit; + Encryption = encryption; + Endpoints = endpoints; + ExtendedNetworkBlocks = extendedNetworkBlocks; + ExternalCloudLinks = externalCloudLinks; + Id = id; + Identity = identity; + IdentitySources = identitySources; + Internet = internet; + Location = location; + ManagementCluster = managementCluster; + ManagementNetwork = managementNetwork; + Name = name; + NetworkBlock = networkBlock; + NsxPublicIpQuotaRaised = nsxPublicIpQuotaRaised; + NsxtCertificateThumbprint = nsxtCertificateThumbprint; + NsxtPassword = nsxtPassword; + ProvisioningNetwork = provisioningNetwork; + ProvisioningState = provisioningState; + SecondaryCircuit = secondaryCircuit; + Sku = sku; + Tags = tags; + Type = type; + VcenterCertificateThumbprint = vcenterCertificateThumbprint; + VcenterPassword = vcenterPassword; + VmotionNetwork = vmotionNetwork; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetScriptExecution.cs b/sdk/dotnet/AVS/V20230301/GetScriptExecution.cs new file mode 100644 index 000000000000..46a6c8128e70 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetScriptExecution.cs @@ -0,0 +1,215 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetScriptExecution + { + /// + /// An instance of a script executed by a user - custom or AVS + /// + public static Task InvokeAsync(GetScriptExecutionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getScriptExecution", args ?? new GetScriptExecutionArgs(), options.WithDefaults()); + + /// + /// An instance of a script executed by a user - custom or AVS + /// + public static Output Invoke(GetScriptExecutionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getScriptExecution", args ?? new GetScriptExecutionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetScriptExecutionArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// Name of the user-invoked script execution resource + /// + [Input("scriptExecutionName", required: true)] + public string ScriptExecutionName { get; set; } = null!; + + public GetScriptExecutionArgs() + { + } + public static new GetScriptExecutionArgs Empty => new GetScriptExecutionArgs(); + } + + public sealed class GetScriptExecutionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Name of the user-invoked script execution resource + /// + [Input("scriptExecutionName", required: true)] + public Input ScriptExecutionName { get; set; } = null!; + + public GetScriptExecutionInvokeArgs() + { + } + public static new GetScriptExecutionInvokeArgs Empty => new GetScriptExecutionInvokeArgs(); + } + + + [OutputType] + public sealed class GetScriptExecutionResult + { + /// + /// Standard error output stream from the powershell execution + /// + public readonly ImmutableArray Errors; + /// + /// Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + /// + public readonly string? FailureReason; + /// + /// Time the script execution was finished + /// + public readonly string FinishedAt; + /// + /// Parameters that will be hidden/not visible to ARM, such as passwords and credentials + /// + public readonly ImmutableArray HiddenParameters; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Standard information out stream from the powershell execution + /// + public readonly ImmutableArray Information; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// User-defined dictionary. + /// + public readonly ImmutableDictionary? NamedOutputs; + /// + /// Standard output stream from the powershell execution + /// + public readonly ImmutableArray Output; + /// + /// Parameters the script will accept + /// + public readonly ImmutableArray Parameters; + /// + /// The state of the script execution resource + /// + public readonly string ProvisioningState; + /// + /// Time to live for the resource. If not provided, will be available for 60 days + /// + public readonly string? Retention; + /// + /// A reference to the script cmdlet resource if user is running a AVS script + /// + public readonly string? ScriptCmdletId; + /// + /// Time the script execution was started + /// + public readonly string StartedAt; + /// + /// Time the script execution was submitted + /// + public readonly string SubmittedAt; + /// + /// Time limit for execution + /// + public readonly string Timeout; + /// + /// Resource type. + /// + public readonly string Type; + /// + /// Standard warning out stream from the powershell execution + /// + public readonly ImmutableArray Warnings; + + [OutputConstructor] + private GetScriptExecutionResult( + ImmutableArray errors, + + string? failureReason, + + string finishedAt, + + ImmutableArray hiddenParameters, + + string id, + + ImmutableArray information, + + string name, + + ImmutableDictionary? namedOutputs, + + ImmutableArray output, + + ImmutableArray parameters, + + string provisioningState, + + string? retention, + + string? scriptCmdletId, + + string startedAt, + + string submittedAt, + + string timeout, + + string type, + + ImmutableArray warnings) + { + Errors = errors; + FailureReason = failureReason; + FinishedAt = finishedAt; + HiddenParameters = hiddenParameters; + Id = id; + Information = information; + Name = name; + NamedOutputs = namedOutputs; + Output = output; + Parameters = parameters; + ProvisioningState = provisioningState; + Retention = retention; + ScriptCmdletId = scriptCmdletId; + StartedAt = startedAt; + SubmittedAt = submittedAt; + Timeout = timeout; + Type = type; + Warnings = warnings; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetScriptExecutionLogs.cs b/sdk/dotnet/AVS/V20230301/GetScriptExecutionLogs.cs new file mode 100644 index 000000000000..be6352cf72c9 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetScriptExecutionLogs.cs @@ -0,0 +1,215 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetScriptExecutionLogs + { + /// + /// Return the logs for a script execution resource + /// + public static Task InvokeAsync(GetScriptExecutionLogsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getScriptExecutionLogs", args ?? new GetScriptExecutionLogsArgs(), options.WithDefaults()); + + /// + /// Return the logs for a script execution resource + /// + public static Output Invoke(GetScriptExecutionLogsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getScriptExecutionLogs", args ?? new GetScriptExecutionLogsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetScriptExecutionLogsArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// Name of the user-invoked script execution resource + /// + [Input("scriptExecutionName", required: true)] + public string ScriptExecutionName { get; set; } = null!; + + public GetScriptExecutionLogsArgs() + { + } + public static new GetScriptExecutionLogsArgs Empty => new GetScriptExecutionLogsArgs(); + } + + public sealed class GetScriptExecutionLogsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Name of the user-invoked script execution resource + /// + [Input("scriptExecutionName", required: true)] + public Input ScriptExecutionName { get; set; } = null!; + + public GetScriptExecutionLogsInvokeArgs() + { + } + public static new GetScriptExecutionLogsInvokeArgs Empty => new GetScriptExecutionLogsInvokeArgs(); + } + + + [OutputType] + public sealed class GetScriptExecutionLogsResult + { + /// + /// Standard error output stream from the powershell execution + /// + public readonly ImmutableArray Errors; + /// + /// Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + /// + public readonly string? FailureReason; + /// + /// Time the script execution was finished + /// + public readonly string FinishedAt; + /// + /// Parameters that will be hidden/not visible to ARM, such as passwords and credentials + /// + public readonly ImmutableArray HiddenParameters; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Standard information out stream from the powershell execution + /// + public readonly ImmutableArray Information; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// User-defined dictionary. + /// + public readonly ImmutableDictionary? NamedOutputs; + /// + /// Standard output stream from the powershell execution + /// + public readonly ImmutableArray Output; + /// + /// Parameters the script will accept + /// + public readonly ImmutableArray Parameters; + /// + /// The state of the script execution resource + /// + public readonly string ProvisioningState; + /// + /// Time to live for the resource. If not provided, will be available for 60 days + /// + public readonly string? Retention; + /// + /// A reference to the script cmdlet resource if user is running a AVS script + /// + public readonly string? ScriptCmdletId; + /// + /// Time the script execution was started + /// + public readonly string StartedAt; + /// + /// Time the script execution was submitted + /// + public readonly string SubmittedAt; + /// + /// Time limit for execution + /// + public readonly string Timeout; + /// + /// Resource type. + /// + public readonly string Type; + /// + /// Standard warning out stream from the powershell execution + /// + public readonly ImmutableArray Warnings; + + [OutputConstructor] + private GetScriptExecutionLogsResult( + ImmutableArray errors, + + string? failureReason, + + string finishedAt, + + ImmutableArray hiddenParameters, + + string id, + + ImmutableArray information, + + string name, + + ImmutableDictionary? namedOutputs, + + ImmutableArray output, + + ImmutableArray parameters, + + string provisioningState, + + string? retention, + + string? scriptCmdletId, + + string startedAt, + + string submittedAt, + + string timeout, + + string type, + + ImmutableArray warnings) + { + Errors = errors; + FailureReason = failureReason; + FinishedAt = finishedAt; + HiddenParameters = hiddenParameters; + Id = id; + Information = information; + Name = name; + NamedOutputs = namedOutputs; + Output = output; + Parameters = parameters; + ProvisioningState = provisioningState; + Retention = retention; + ScriptCmdletId = scriptCmdletId; + StartedAt = startedAt; + SubmittedAt = submittedAt; + Timeout = timeout; + Type = type; + Warnings = warnings; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkDhcp.cs b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkDhcp.cs new file mode 100644 index 000000000000..c1de547fa9e3 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkDhcp.cs @@ -0,0 +1,117 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetWorkloadNetworkDhcp + { + /// + /// NSX DHCP + /// + public static Task InvokeAsync(GetWorkloadNetworkDhcpArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getWorkloadNetworkDhcp", args ?? new GetWorkloadNetworkDhcpArgs(), options.WithDefaults()); + + /// + /// NSX DHCP + /// + public static Output Invoke(GetWorkloadNetworkDhcpInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getWorkloadNetworkDhcp", args ?? new GetWorkloadNetworkDhcpInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetWorkloadNetworkDhcpArgs : global::Pulumi.InvokeArgs + { + /// + /// NSX DHCP identifier. Generally the same as the DHCP display name + /// + [Input("dhcpId", required: true)] + public string DhcpId { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetWorkloadNetworkDhcpArgs() + { + } + public static new GetWorkloadNetworkDhcpArgs Empty => new GetWorkloadNetworkDhcpArgs(); + } + + public sealed class GetWorkloadNetworkDhcpInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// NSX DHCP identifier. Generally the same as the DHCP display name + /// + [Input("dhcpId", required: true)] + public Input DhcpId { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetWorkloadNetworkDhcpInvokeArgs() + { + } + public static new GetWorkloadNetworkDhcpInvokeArgs Empty => new GetWorkloadNetworkDhcpInvokeArgs(); + } + + + [OutputType] + public sealed class GetWorkloadNetworkDhcpResult + { + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// DHCP properties. + /// + public readonly Union Properties; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetWorkloadNetworkDhcpResult( + string id, + + string name, + + Union properties, + + string type) + { + Id = id; + Name = name; + Properties = properties; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkDnsService.cs b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkDnsService.cs new file mode 100644 index 000000000000..a3628a30864b --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkDnsService.cs @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetWorkloadNetworkDnsService + { + /// + /// NSX DNS Service + /// + public static Task InvokeAsync(GetWorkloadNetworkDnsServiceArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getWorkloadNetworkDnsService", args ?? new GetWorkloadNetworkDnsServiceArgs(), options.WithDefaults()); + + /// + /// NSX DNS Service + /// + public static Output Invoke(GetWorkloadNetworkDnsServiceInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getWorkloadNetworkDnsService", args ?? new GetWorkloadNetworkDnsServiceInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetWorkloadNetworkDnsServiceArgs : global::Pulumi.InvokeArgs + { + /// + /// NSX DNS Service identifier. Generally the same as the DNS Service's display name + /// + [Input("dnsServiceId", required: true)] + public string DnsServiceId { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetWorkloadNetworkDnsServiceArgs() + { + } + public static new GetWorkloadNetworkDnsServiceArgs Empty => new GetWorkloadNetworkDnsServiceArgs(); + } + + public sealed class GetWorkloadNetworkDnsServiceInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// NSX DNS Service identifier. Generally the same as the DNS Service's display name + /// + [Input("dnsServiceId", required: true)] + public Input DnsServiceId { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetWorkloadNetworkDnsServiceInvokeArgs() + { + } + public static new GetWorkloadNetworkDnsServiceInvokeArgs Empty => new GetWorkloadNetworkDnsServiceInvokeArgs(); + } + + + [OutputType] + public sealed class GetWorkloadNetworkDnsServiceResult + { + /// + /// Default DNS zone of the DNS Service. + /// + public readonly string? DefaultDnsZone; + /// + /// Display name of the DNS Service. + /// + public readonly string? DisplayName; + /// + /// DNS service IP of the DNS Service. + /// + public readonly string? DnsServiceIp; + /// + /// FQDN zones of the DNS Service. + /// + public readonly ImmutableArray FqdnZones; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// DNS Service log level. + /// + public readonly string? LogLevel; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// The provisioning state + /// + public readonly string ProvisioningState; + /// + /// NSX revision number. + /// + public readonly double? Revision; + /// + /// DNS Service status. + /// + public readonly string Status; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetWorkloadNetworkDnsServiceResult( + string? defaultDnsZone, + + string? displayName, + + string? dnsServiceIp, + + ImmutableArray fqdnZones, + + string id, + + string? logLevel, + + string name, + + string provisioningState, + + double? revision, + + string status, + + string type) + { + DefaultDnsZone = defaultDnsZone; + DisplayName = displayName; + DnsServiceIp = dnsServiceIp; + FqdnZones = fqdnZones; + Id = id; + LogLevel = logLevel; + Name = name; + ProvisioningState = provisioningState; + Revision = revision; + Status = status; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkDnsZone.cs b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkDnsZone.cs new file mode 100644 index 000000000000..75e7a1b5a342 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkDnsZone.cs @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetWorkloadNetworkDnsZone + { + /// + /// NSX DNS Zone + /// + public static Task InvokeAsync(GetWorkloadNetworkDnsZoneArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getWorkloadNetworkDnsZone", args ?? new GetWorkloadNetworkDnsZoneArgs(), options.WithDefaults()); + + /// + /// NSX DNS Zone + /// + public static Output Invoke(GetWorkloadNetworkDnsZoneInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getWorkloadNetworkDnsZone", args ?? new GetWorkloadNetworkDnsZoneInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetWorkloadNetworkDnsZoneArgs : global::Pulumi.InvokeArgs + { + /// + /// NSX DNS Zone identifier. Generally the same as the DNS Zone's display name + /// + [Input("dnsZoneId", required: true)] + public string DnsZoneId { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetWorkloadNetworkDnsZoneArgs() + { + } + public static new GetWorkloadNetworkDnsZoneArgs Empty => new GetWorkloadNetworkDnsZoneArgs(); + } + + public sealed class GetWorkloadNetworkDnsZoneInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// NSX DNS Zone identifier. Generally the same as the DNS Zone's display name + /// + [Input("dnsZoneId", required: true)] + public Input DnsZoneId { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetWorkloadNetworkDnsZoneInvokeArgs() + { + } + public static new GetWorkloadNetworkDnsZoneInvokeArgs Empty => new GetWorkloadNetworkDnsZoneInvokeArgs(); + } + + + [OutputType] + public sealed class GetWorkloadNetworkDnsZoneResult + { + /// + /// Display name of the DNS Zone. + /// + public readonly string? DisplayName; + /// + /// DNS Server IP array of the DNS Zone. + /// + public readonly ImmutableArray DnsServerIps; + /// + /// Number of DNS Services using the DNS zone. + /// + public readonly double? DnsServices; + /// + /// Domain names of the DNS Zone. + /// + public readonly ImmutableArray Domain; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// The provisioning state + /// + public readonly string ProvisioningState; + /// + /// NSX revision number. + /// + public readonly double? Revision; + /// + /// Source IP of the DNS Zone. + /// + public readonly string? SourceIp; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetWorkloadNetworkDnsZoneResult( + string? displayName, + + ImmutableArray dnsServerIps, + + double? dnsServices, + + ImmutableArray domain, + + string id, + + string name, + + string provisioningState, + + double? revision, + + string? sourceIp, + + string type) + { + DisplayName = displayName; + DnsServerIps = dnsServerIps; + DnsServices = dnsServices; + Domain = domain; + Id = id; + Name = name; + ProvisioningState = provisioningState; + Revision = revision; + SourceIp = sourceIp; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkPortMirroring.cs b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkPortMirroring.cs new file mode 100644 index 000000000000..fd9954e65c27 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkPortMirroring.cs @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetWorkloadNetworkPortMirroring + { + /// + /// NSX Port Mirroring + /// + public static Task InvokeAsync(GetWorkloadNetworkPortMirroringArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getWorkloadNetworkPortMirroring", args ?? new GetWorkloadNetworkPortMirroringArgs(), options.WithDefaults()); + + /// + /// NSX Port Mirroring + /// + public static Output Invoke(GetWorkloadNetworkPortMirroringInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getWorkloadNetworkPortMirroring", args ?? new GetWorkloadNetworkPortMirroringInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetWorkloadNetworkPortMirroringArgs : global::Pulumi.InvokeArgs + { + /// + /// NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name + /// + [Input("portMirroringId", required: true)] + public string PortMirroringId { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetWorkloadNetworkPortMirroringArgs() + { + } + public static new GetWorkloadNetworkPortMirroringArgs Empty => new GetWorkloadNetworkPortMirroringArgs(); + } + + public sealed class GetWorkloadNetworkPortMirroringInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name + /// + [Input("portMirroringId", required: true)] + public Input PortMirroringId { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetWorkloadNetworkPortMirroringInvokeArgs() + { + } + public static new GetWorkloadNetworkPortMirroringInvokeArgs Empty => new GetWorkloadNetworkPortMirroringInvokeArgs(); + } + + + [OutputType] + public sealed class GetWorkloadNetworkPortMirroringResult + { + /// + /// Destination VM Group. + /// + public readonly string? Destination; + /// + /// Direction of port mirroring profile. + /// + public readonly string? Direction; + /// + /// Display name of the port mirroring profile. + /// + public readonly string? DisplayName; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// The provisioning state + /// + public readonly string ProvisioningState; + /// + /// NSX revision number. + /// + public readonly double? Revision; + /// + /// Source VM Group. + /// + public readonly string? Source; + /// + /// Port Mirroring Status. + /// + public readonly string Status; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetWorkloadNetworkPortMirroringResult( + string? destination, + + string? direction, + + string? displayName, + + string id, + + string name, + + string provisioningState, + + double? revision, + + string? source, + + string status, + + string type) + { + Destination = destination; + Direction = direction; + DisplayName = displayName; + Id = id; + Name = name; + ProvisioningState = provisioningState; + Revision = revision; + Source = source; + Status = status; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkPublicIP.cs b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkPublicIP.cs new file mode 100644 index 000000000000..4666d59adee7 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkPublicIP.cs @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetWorkloadNetworkPublicIP + { + /// + /// NSX Public IP Block + /// + public static Task InvokeAsync(GetWorkloadNetworkPublicIPArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getWorkloadNetworkPublicIP", args ?? new GetWorkloadNetworkPublicIPArgs(), options.WithDefaults()); + + /// + /// NSX Public IP Block + /// + public static Output Invoke(GetWorkloadNetworkPublicIPInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getWorkloadNetworkPublicIP", args ?? new GetWorkloadNetworkPublicIPInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetWorkloadNetworkPublicIPArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// NSX Public IP Block identifier. Generally the same as the Public IP Block's display name + /// + [Input("publicIPId", required: true)] + public string PublicIPId { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetWorkloadNetworkPublicIPArgs() + { + } + public static new GetWorkloadNetworkPublicIPArgs Empty => new GetWorkloadNetworkPublicIPArgs(); + } + + public sealed class GetWorkloadNetworkPublicIPInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// NSX Public IP Block identifier. Generally the same as the Public IP Block's display name + /// + [Input("publicIPId", required: true)] + public Input PublicIPId { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetWorkloadNetworkPublicIPInvokeArgs() + { + } + public static new GetWorkloadNetworkPublicIPInvokeArgs Empty => new GetWorkloadNetworkPublicIPInvokeArgs(); + } + + + [OutputType] + public sealed class GetWorkloadNetworkPublicIPResult + { + /// + /// Display name of the Public IP Block. + /// + public readonly string? DisplayName; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// Number of Public IPs requested. + /// + public readonly double? NumberOfPublicIPs; + /// + /// The provisioning state + /// + public readonly string ProvisioningState; + /// + /// CIDR Block of the Public IP Block. + /// + public readonly string PublicIPBlock; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetWorkloadNetworkPublicIPResult( + string? displayName, + + string id, + + string name, + + double? numberOfPublicIPs, + + string provisioningState, + + string publicIPBlock, + + string type) + { + DisplayName = displayName; + Id = id; + Name = name; + NumberOfPublicIPs = numberOfPublicIPs; + ProvisioningState = provisioningState; + PublicIPBlock = publicIPBlock; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkSegment.cs b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkSegment.cs new file mode 100644 index 000000000000..7262b9900759 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkSegment.cs @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetWorkloadNetworkSegment + { + /// + /// NSX Segment + /// + public static Task InvokeAsync(GetWorkloadNetworkSegmentArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getWorkloadNetworkSegment", args ?? new GetWorkloadNetworkSegmentArgs(), options.WithDefaults()); + + /// + /// NSX Segment + /// + public static Output Invoke(GetWorkloadNetworkSegmentInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getWorkloadNetworkSegment", args ?? new GetWorkloadNetworkSegmentInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetWorkloadNetworkSegmentArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// NSX Segment identifier. Generally the same as the Segment's display name + /// + [Input("segmentId", required: true)] + public string SegmentId { get; set; } = null!; + + public GetWorkloadNetworkSegmentArgs() + { + } + public static new GetWorkloadNetworkSegmentArgs Empty => new GetWorkloadNetworkSegmentArgs(); + } + + public sealed class GetWorkloadNetworkSegmentInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// NSX Segment identifier. Generally the same as the Segment's display name + /// + [Input("segmentId", required: true)] + public Input SegmentId { get; set; } = null!; + + public GetWorkloadNetworkSegmentInvokeArgs() + { + } + public static new GetWorkloadNetworkSegmentInvokeArgs Empty => new GetWorkloadNetworkSegmentInvokeArgs(); + } + + + [OutputType] + public sealed class GetWorkloadNetworkSegmentResult + { + /// + /// Gateway which to connect segment to. + /// + public readonly string? ConnectedGateway; + /// + /// Display name of the segment. + /// + public readonly string? DisplayName; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// Port Vif which segment is associated with. + /// + public readonly ImmutableArray PortVif; + /// + /// The provisioning state + /// + public readonly string ProvisioningState; + /// + /// NSX revision number. + /// + public readonly double? Revision; + /// + /// Segment status. + /// + public readonly string Status; + /// + /// Subnet which to connect segment to. + /// + public readonly Outputs.WorkloadNetworkSegmentSubnetResponse? Subnet; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetWorkloadNetworkSegmentResult( + string? connectedGateway, + + string? displayName, + + string id, + + string name, + + ImmutableArray portVif, + + string provisioningState, + + double? revision, + + string status, + + Outputs.WorkloadNetworkSegmentSubnetResponse? subnet, + + string type) + { + ConnectedGateway = connectedGateway; + DisplayName = displayName; + Id = id; + Name = name; + PortVif = portVif; + ProvisioningState = provisioningState; + Revision = revision; + Status = status; + Subnet = subnet; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkVMGroup.cs b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkVMGroup.cs new file mode 100644 index 000000000000..4535eef73f18 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GetWorkloadNetworkVMGroup.cs @@ -0,0 +1,145 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class GetWorkloadNetworkVMGroup + { + /// + /// NSX VM Group + /// + public static Task InvokeAsync(GetWorkloadNetworkVMGroupArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:getWorkloadNetworkVMGroup", args ?? new GetWorkloadNetworkVMGroupArgs(), options.WithDefaults()); + + /// + /// NSX VM Group + /// + public static Output Invoke(GetWorkloadNetworkVMGroupInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:getWorkloadNetworkVMGroup", args ?? new GetWorkloadNetworkVMGroupInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetWorkloadNetworkVMGroupArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// NSX VM Group identifier. Generally the same as the VM Group's display name + /// + [Input("vmGroupId", required: true)] + public string VmGroupId { get; set; } = null!; + + public GetWorkloadNetworkVMGroupArgs() + { + } + public static new GetWorkloadNetworkVMGroupArgs Empty => new GetWorkloadNetworkVMGroupArgs(); + } + + public sealed class GetWorkloadNetworkVMGroupInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// NSX VM Group identifier. Generally the same as the VM Group's display name + /// + [Input("vmGroupId", required: true)] + public Input VmGroupId { get; set; } = null!; + + public GetWorkloadNetworkVMGroupInvokeArgs() + { + } + public static new GetWorkloadNetworkVMGroupInvokeArgs Empty => new GetWorkloadNetworkVMGroupInvokeArgs(); + } + + + [OutputType] + public sealed class GetWorkloadNetworkVMGroupResult + { + /// + /// Display name of the VM group. + /// + public readonly string? DisplayName; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Virtual machine members of this group. + /// + public readonly ImmutableArray Members; + /// + /// Resource name. + /// + public readonly string Name; + /// + /// The provisioning state + /// + public readonly string ProvisioningState; + /// + /// NSX revision number. + /// + public readonly double? Revision; + /// + /// VM Group status. + /// + public readonly string Status; + /// + /// Resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetWorkloadNetworkVMGroupResult( + string? displayName, + + string id, + + ImmutableArray members, + + string name, + + string provisioningState, + + double? revision, + + string status, + + string type) + { + DisplayName = displayName; + Id = id; + Members = members; + Name = name; + ProvisioningState = provisioningState; + Revision = revision; + Status = status; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/GlobalReachConnection.cs b/sdk/dotnet/AVS/V20230301/GlobalReachConnection.cs new file mode 100644 index 000000000000..5f4c2d65819b --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/GlobalReachConnection.cs @@ -0,0 +1,161 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// A global reach connection resource + /// + [AzureNativeResourceType("azure-native:avs/v20230301:GlobalReachConnection")] + public partial class GlobalReachConnection : global::Pulumi.CustomResource + { + /// + /// The network used for global reach carved out from the original network block provided for the private cloud + /// + [Output("addressPrefix")] + public Output AddressPrefix { get; private set; } = null!; + + /// + /// Authorization key from the peer express route used for the global reach connection + /// + [Output("authorizationKey")] + public Output AuthorizationKey { get; private set; } = null!; + + /// + /// The connection status of the global reach connection + /// + [Output("circuitConnectionStatus")] + public Output CircuitConnectionStatus { get; private set; } = null!; + + /// + /// The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection + /// + [Output("expressRouteId")] + public Output ExpressRouteId { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Identifier of the ExpressRoute Circuit to peer with in the global reach connection + /// + [Output("peerExpressRouteCircuit")] + public Output PeerExpressRouteCircuit { get; private set; } = null!; + + /// + /// The state of the ExpressRoute Circuit Authorization provisioning + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a GlobalReachConnection resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public GlobalReachConnection(string name, GlobalReachConnectionArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:GlobalReachConnection", name, args ?? new GlobalReachConnectionArgs(), MakeResourceOptions(options, "")) + { + } + + private GlobalReachConnection(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:GlobalReachConnection", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:GlobalReachConnection"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200717preview:GlobalReachConnection"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:GlobalReachConnection"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:GlobalReachConnection"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:GlobalReachConnection"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:GlobalReachConnection"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing GlobalReachConnection resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static GlobalReachConnection Get(string name, Input id, CustomResourceOptions? options = null) + { + return new GlobalReachConnection(name, id, options); + } + } + + public sealed class GlobalReachConnectionArgs : global::Pulumi.ResourceArgs + { + /// + /// Authorization key from the peer express route used for the global reach connection + /// + [Input("authorizationKey")] + public Input? AuthorizationKey { get; set; } + + /// + /// The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection + /// + [Input("expressRouteId")] + public Input? ExpressRouteId { get; set; } + + /// + /// Name of the global reach connection in the private cloud + /// + [Input("globalReachConnectionName")] + public Input? GlobalReachConnectionName { get; set; } + + /// + /// Identifier of the ExpressRoute Circuit to peer with in the global reach connection + /// + [Input("peerExpressRouteCircuit")] + public Input? PeerExpressRouteCircuit { get; set; } + + /// + /// The name of the private cloud. + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GlobalReachConnectionArgs() + { + } + public static new GlobalReachConnectionArgs Empty => new GlobalReachConnectionArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/HcxEnterpriseSite.cs b/sdk/dotnet/AVS/V20230301/HcxEnterpriseSite.cs new file mode 100644 index 000000000000..5b22d84a9c80 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/HcxEnterpriseSite.cs @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// An HCX Enterprise Site resource + /// + [AzureNativeResourceType("azure-native:avs/v20230301:HcxEnterpriseSite")] + public partial class HcxEnterpriseSite : global::Pulumi.CustomResource + { + /// + /// The activation key + /// + [Output("activationKey")] + public Output ActivationKey { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The status of the HCX Enterprise Site + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a HcxEnterpriseSite resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public HcxEnterpriseSite(string name, HcxEnterpriseSiteArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:HcxEnterpriseSite", name, args ?? new HcxEnterpriseSiteArgs(), MakeResourceOptions(options, "")) + { + } + + private HcxEnterpriseSite(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:HcxEnterpriseSite", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:HcxEnterpriseSite"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200320:HcxEnterpriseSite"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200717preview:HcxEnterpriseSite"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:HcxEnterpriseSite"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:HcxEnterpriseSite"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:HcxEnterpriseSite"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:HcxEnterpriseSite"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing HcxEnterpriseSite resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static HcxEnterpriseSite Get(string name, Input id, CustomResourceOptions? options = null) + { + return new HcxEnterpriseSite(name, id, options); + } + } + + public sealed class HcxEnterpriseSiteArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the HCX Enterprise Site in the private cloud + /// + [Input("hcxEnterpriseSiteName")] + public Input? HcxEnterpriseSiteName { get; set; } + + /// + /// The name of the private cloud. + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public HcxEnterpriseSiteArgs() + { + } + public static new HcxEnterpriseSiteArgs Empty => new HcxEnterpriseSiteArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/AddonArcPropertiesArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/AddonArcPropertiesArgs.cs new file mode 100644 index 000000000000..faa64104820a --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/AddonArcPropertiesArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// The properties of an Arc addon + /// + public sealed class AddonArcPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of private cloud addon + /// Expected value is 'Arc'. + /// + [Input("addonType", required: true)] + public Input AddonType { get; set; } = null!; + + /// + /// The VMware vCenter resource ID + /// + [Input("vCenter")] + public Input? VCenter { get; set; } + + public AddonArcPropertiesArgs() + { + } + public static new AddonArcPropertiesArgs Empty => new AddonArcPropertiesArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/AddonHcxPropertiesArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/AddonHcxPropertiesArgs.cs new file mode 100644 index 000000000000..864fdf38132a --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/AddonHcxPropertiesArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// The properties of an HCX addon + /// + public sealed class AddonHcxPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of private cloud addon + /// Expected value is 'HCX'. + /// + [Input("addonType", required: true)] + public Input AddonType { get; set; } = null!; + + /// + /// The HCX offer, example VMware MaaS Cloud Provider (Enterprise) + /// + [Input("offer", required: true)] + public Input Offer { get; set; } = null!; + + public AddonHcxPropertiesArgs() + { + } + public static new AddonHcxPropertiesArgs Empty => new AddonHcxPropertiesArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/AddonSrmPropertiesArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/AddonSrmPropertiesArgs.cs new file mode 100644 index 000000000000..8ec216a0b27d --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/AddonSrmPropertiesArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// The properties of a Site Recovery Manager (SRM) addon + /// + public sealed class AddonSrmPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of private cloud addon + /// Expected value is 'SRM'. + /// + [Input("addonType", required: true)] + public Input AddonType { get; set; } = null!; + + /// + /// The Site Recovery Manager (SRM) license + /// + [Input("licenseKey")] + public Input? LicenseKey { get; set; } + + public AddonSrmPropertiesArgs() + { + } + public static new AddonSrmPropertiesArgs Empty => new AddonSrmPropertiesArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/AddonVrPropertiesArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/AddonVrPropertiesArgs.cs new file mode 100644 index 000000000000..afb3e4ff3cb1 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/AddonVrPropertiesArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// The properties of a vSphere Replication (VR) addon + /// + public sealed class AddonVrPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of private cloud addon + /// Expected value is 'VR'. + /// + [Input("addonType", required: true)] + public Input AddonType { get; set; } = null!; + + /// + /// The vSphere Replication Server (VRS) count + /// + [Input("vrsCount", required: true)] + public Input VrsCount { get; set; } = null!; + + public AddonVrPropertiesArgs() + { + } + public static new AddonVrPropertiesArgs Empty => new AddonVrPropertiesArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/AvailabilityPropertiesArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/AvailabilityPropertiesArgs.cs new file mode 100644 index 000000000000..2e08bf94627a --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/AvailabilityPropertiesArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// The properties describing private cloud availability zone distribution + /// + public sealed class AvailabilityPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The secondary availability zone for the private cloud + /// + [Input("secondaryZone")] + public Input? SecondaryZone { get; set; } + + /// + /// The availability strategy for the private cloud + /// + [Input("strategy")] + public InputUnion? Strategy { get; set; } + + /// + /// The primary availability zone for the private cloud + /// + [Input("zone")] + public Input? Zone { get; set; } + + public AvailabilityPropertiesArgs() + { + } + public static new AvailabilityPropertiesArgs Empty => new AvailabilityPropertiesArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/DiskPoolVolumeArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/DiskPoolVolumeArgs.cs new file mode 100644 index 000000000000..a5195ff1b778 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/DiskPoolVolumeArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// An iSCSI volume from Microsoft.StoragePool provider + /// + public sealed class DiskPoolVolumeArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the LUN to be used for datastore + /// + [Input("lunName", required: true)] + public Input LunName { get; set; } = null!; + + /// + /// Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN + /// + [Input("mountOption")] + public InputUnion? MountOption { get; set; } + + /// + /// Azure resource ID of the iSCSI target + /// + [Input("targetId", required: true)] + public Input TargetId { get; set; } = null!; + + public DiskPoolVolumeArgs() + { + MountOption = "MOUNT"; + } + public static new DiskPoolVolumeArgs Empty => new DiskPoolVolumeArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/EncryptionArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/EncryptionArgs.cs new file mode 100644 index 000000000000..bd126acd80ba --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/EncryptionArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// The properties of customer managed encryption key + /// + public sealed class EncryptionArgs : global::Pulumi.ResourceArgs + { + /// + /// The key vault where the encryption key is stored + /// + [Input("keyVaultProperties")] + public Input? KeyVaultProperties { get; set; } + + /// + /// Status of customer managed encryption key + /// + [Input("status")] + public InputUnion? Status { get; set; } + + public EncryptionArgs() + { + } + public static new EncryptionArgs Empty => new EncryptionArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/EncryptionKeyVaultPropertiesArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/EncryptionKeyVaultPropertiesArgs.cs new file mode 100644 index 000000000000..4b43f84b6646 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/EncryptionKeyVaultPropertiesArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// An Encryption Key + /// + public sealed class EncryptionKeyVaultPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the key. + /// + [Input("keyName")] + public Input? KeyName { get; set; } + + /// + /// The URL of the vault. + /// + [Input("keyVaultUrl")] + public Input? KeyVaultUrl { get; set; } + + /// + /// The version of the key. + /// + [Input("keyVersion")] + public Input? KeyVersion { get; set; } + + public EncryptionKeyVaultPropertiesArgs() + { + } + public static new EncryptionKeyVaultPropertiesArgs Empty => new EncryptionKeyVaultPropertiesArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/IdentitySourceArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/IdentitySourceArgs.cs new file mode 100644 index 000000000000..a9d82da0f864 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/IdentitySourceArgs.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// vCenter Single Sign On Identity Source + /// + public sealed class IdentitySourceArgs : global::Pulumi.ResourceArgs + { + /// + /// The domain's NetBIOS name + /// + [Input("alias")] + public Input? Alias { get; set; } + + /// + /// The base distinguished name for groups + /// + [Input("baseGroupDN")] + public Input? BaseGroupDN { get; set; } + + /// + /// The base distinguished name for users + /// + [Input("baseUserDN")] + public Input? BaseUserDN { get; set; } + + /// + /// The domain's dns name + /// + [Input("domain")] + public Input? Domain { get; set; } + + /// + /// The name of the identity source + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups. + /// + [Input("password")] + public Input? Password { get; set; } + + /// + /// Primary server URL + /// + [Input("primaryServer")] + public Input? PrimaryServer { get; set; } + + /// + /// Secondary server URL + /// + [Input("secondaryServer")] + public Input? SecondaryServer { get; set; } + + /// + /// Protect LDAP communication using SSL certificate (LDAPS) + /// + [Input("ssl")] + public InputUnion? Ssl { get; set; } + + /// + /// The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group + /// + [Input("username")] + public Input? Username { get; set; } + + public IdentitySourceArgs() + { + } + public static new IdentitySourceArgs Empty => new IdentitySourceArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/ManagementClusterArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/ManagementClusterArgs.cs new file mode 100644 index 000000000000..021395b0a6aa --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/ManagementClusterArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// The properties of a management cluster + /// + public sealed class ManagementClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// The cluster size + /// + [Input("clusterSize", required: true)] + public Input ClusterSize { get; set; } = null!; + + [Input("hosts")] + private InputList? _hosts; + + /// + /// The hosts + /// + public InputList Hosts + { + get => _hosts ?? (_hosts = new InputList()); + set => _hosts = value; + } + + public ManagementClusterArgs() + { + } + public static new ManagementClusterArgs Empty => new ManagementClusterArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/NetAppVolumeArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/NetAppVolumeArgs.cs new file mode 100644 index 000000000000..3113e372272f --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/NetAppVolumeArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// An Azure NetApp Files volume from Microsoft.NetApp provider + /// + public sealed class NetAppVolumeArgs : global::Pulumi.ResourceArgs + { + /// + /// Azure resource ID of the NetApp volume + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public NetAppVolumeArgs() + { + } + public static new NetAppVolumeArgs Empty => new NetAppVolumeArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/PSCredentialExecutionParameterArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/PSCredentialExecutionParameterArgs.cs new file mode 100644 index 000000000000..51b62fa26bc5 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/PSCredentialExecutionParameterArgs.cs @@ -0,0 +1,48 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// a powershell credential object + /// + public sealed class PSCredentialExecutionParameterArgs : global::Pulumi.ResourceArgs + { + /// + /// The parameter name + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// password for login + /// + [Input("password")] + public Input? Password { get; set; } + + /// + /// The type of execution parameter + /// Expected value is 'Credential'. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// username for login + /// + [Input("username")] + public Input? Username { get; set; } + + public PSCredentialExecutionParameterArgs() + { + } + public static new PSCredentialExecutionParameterArgs Empty => new PSCredentialExecutionParameterArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/PrivateCloudIdentityArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/PrivateCloudIdentityArgs.cs new file mode 100644 index 000000000000..44ea65920a36 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/PrivateCloudIdentityArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// Identity for the virtual machine. + /// + public sealed class PrivateCloudIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of identity used for the private cloud. The type 'SystemAssigned' refers to an implicitly created identity. The type 'None' will remove any identities from the Private Cloud. + /// + [Input("type")] + public InputUnion? Type { get; set; } + + public PrivateCloudIdentityArgs() + { + } + public static new PrivateCloudIdentityArgs Empty => new PrivateCloudIdentityArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/ScriptSecureStringExecutionParameterArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/ScriptSecureStringExecutionParameterArgs.cs new file mode 100644 index 000000000000..63512d9d363d --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/ScriptSecureStringExecutionParameterArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// a plain text value execution parameter + /// + public sealed class ScriptSecureStringExecutionParameterArgs : global::Pulumi.ResourceArgs + { + /// + /// The parameter name + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// A secure value for the passed parameter, not to be stored in logs + /// + [Input("secureValue")] + public Input? SecureValue { get; set; } + + /// + /// The type of execution parameter + /// Expected value is 'SecureValue'. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ScriptSecureStringExecutionParameterArgs() + { + } + public static new ScriptSecureStringExecutionParameterArgs Empty => new ScriptSecureStringExecutionParameterArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/ScriptStringExecutionParameterArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/ScriptStringExecutionParameterArgs.cs new file mode 100644 index 000000000000..4a6cb61a462a --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/ScriptStringExecutionParameterArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// a plain text value execution parameter + /// + public sealed class ScriptStringExecutionParameterArgs : global::Pulumi.ResourceArgs + { + /// + /// The parameter name + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The type of execution parameter + /// Expected value is 'Value'. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// The value for the passed parameter + /// + [Input("value")] + public Input? Value { get; set; } + + public ScriptStringExecutionParameterArgs() + { + } + public static new ScriptStringExecutionParameterArgs Empty => new ScriptStringExecutionParameterArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/SkuArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/SkuArgs.cs new file mode 100644 index 000000000000..d8eea23ef168 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/SkuArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// The resource model definition representing SKU + /// + public sealed class SkuArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the SKU. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public SkuArgs() + { + } + public static new SkuArgs Empty => new SkuArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/VmHostPlacementPolicyPropertiesArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/VmHostPlacementPolicyPropertiesArgs.cs new file mode 100644 index 000000000000..032ef7f86128 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/VmHostPlacementPolicyPropertiesArgs.cs @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// VM-Host placement policy properties + /// + public sealed class VmHostPlacementPolicyPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// vm-host placement policy affinity strength (should/must) + /// + [Input("affinityStrength")] + public InputUnion? AffinityStrength { get; set; } + + /// + /// placement policy affinity type + /// + [Input("affinityType", required: true)] + public InputUnion AffinityType { get; set; } = null!; + + /// + /// placement policy azure hybrid benefit opt-in type + /// + [Input("azureHybridBenefitType")] + public InputUnion? AzureHybridBenefitType { get; set; } + + /// + /// Display name of the placement policy + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + [Input("hostMembers", required: true)] + private InputList? _hostMembers; + + /// + /// Host members list + /// + public InputList HostMembers + { + get => _hostMembers ?? (_hostMembers = new InputList()); + set => _hostMembers = value; + } + + /// + /// Whether the placement policy is enabled or disabled + /// + [Input("state")] + public InputUnion? State { get; set; } + + /// + /// placement policy type + /// Expected value is 'VmHost'. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + [Input("vmMembers", required: true)] + private InputList? _vmMembers; + + /// + /// Virtual machine members list + /// + public InputList VmMembers + { + get => _vmMembers ?? (_vmMembers = new InputList()); + set => _vmMembers = value; + } + + public VmHostPlacementPolicyPropertiesArgs() + { + } + public static new VmHostPlacementPolicyPropertiesArgs Empty => new VmHostPlacementPolicyPropertiesArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/VmVmPlacementPolicyPropertiesArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/VmVmPlacementPolicyPropertiesArgs.cs new file mode 100644 index 000000000000..96b867e817ad --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/VmVmPlacementPolicyPropertiesArgs.cs @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// VM-VM placement policy properties + /// + public sealed class VmVmPlacementPolicyPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// placement policy affinity type + /// + [Input("affinityType", required: true)] + public InputUnion AffinityType { get; set; } = null!; + + /// + /// Display name of the placement policy + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Whether the placement policy is enabled or disabled + /// + [Input("state")] + public InputUnion? State { get; set; } + + /// + /// placement policy type + /// Expected value is 'VmVm'. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + [Input("vmMembers", required: true)] + private InputList? _vmMembers; + + /// + /// Virtual machine members list + /// + public InputList VmMembers + { + get => _vmMembers ?? (_vmMembers = new InputList()); + set => _vmMembers = value; + } + + public VmVmPlacementPolicyPropertiesArgs() + { + } + public static new VmVmPlacementPolicyPropertiesArgs Empty => new VmVmPlacementPolicyPropertiesArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/WorkloadNetworkDhcpRelayArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/WorkloadNetworkDhcpRelayArgs.cs new file mode 100644 index 000000000000..81bc75f22234 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/WorkloadNetworkDhcpRelayArgs.cs @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// NSX DHCP Relay + /// + public sealed class WorkloadNetworkDhcpRelayArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of DHCP: SERVER or RELAY. + /// Expected value is 'RELAY'. + /// + [Input("dhcpType", required: true)] + public Input DhcpType { get; set; } = null!; + + /// + /// Display name of the DHCP entity. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// NSX revision number. + /// + [Input("revision")] + public Input? Revision { get; set; } + + [Input("serverAddresses")] + private InputList? _serverAddresses; + + /// + /// DHCP Relay Addresses. Max 3. + /// + public InputList ServerAddresses + { + get => _serverAddresses ?? (_serverAddresses = new InputList()); + set => _serverAddresses = value; + } + + public WorkloadNetworkDhcpRelayArgs() + { + } + public static new WorkloadNetworkDhcpRelayArgs Empty => new WorkloadNetworkDhcpRelayArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/WorkloadNetworkDhcpServerArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/WorkloadNetworkDhcpServerArgs.cs new file mode 100644 index 000000000000..72a8ade4de67 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/WorkloadNetworkDhcpServerArgs.cs @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// NSX DHCP Server + /// + public sealed class WorkloadNetworkDhcpServerArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of DHCP: SERVER or RELAY. + /// Expected value is 'SERVER'. + /// + [Input("dhcpType", required: true)] + public Input DhcpType { get; set; } = null!; + + /// + /// Display name of the DHCP entity. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// DHCP Server Lease Time. + /// + [Input("leaseTime")] + public Input? LeaseTime { get; set; } + + /// + /// NSX revision number. + /// + [Input("revision")] + public Input? Revision { get; set; } + + /// + /// DHCP Server Address. + /// + [Input("serverAddress")] + public Input? ServerAddress { get; set; } + + public WorkloadNetworkDhcpServerArgs() + { + } + public static new WorkloadNetworkDhcpServerArgs Empty => new WorkloadNetworkDhcpServerArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/Inputs/WorkloadNetworkSegmentSubnetArgs.cs b/sdk/dotnet/AVS/V20230301/Inputs/WorkloadNetworkSegmentSubnetArgs.cs new file mode 100644 index 000000000000..466052fec2e5 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Inputs/WorkloadNetworkSegmentSubnetArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Inputs +{ + + /// + /// Subnet configuration for segment + /// + public sealed class WorkloadNetworkSegmentSubnetArgs : global::Pulumi.ResourceArgs + { + [Input("dhcpRanges")] + private InputList? _dhcpRanges; + + /// + /// DHCP Range assigned for subnet. + /// + public InputList DhcpRanges + { + get => _dhcpRanges ?? (_dhcpRanges = new InputList()); + set => _dhcpRanges = value; + } + + /// + /// Gateway address. + /// + [Input("gatewayAddress")] + public Input? GatewayAddress { get; set; } + + public WorkloadNetworkSegmentSubnetArgs() + { + } + public static new WorkloadNetworkSegmentSubnetArgs Empty => new WorkloadNetworkSegmentSubnetArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/ListClusterZones.cs b/sdk/dotnet/AVS/V20230301/ListClusterZones.cs new file mode 100644 index 000000000000..ac02b54c2988 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/ListClusterZones.cs @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class ListClusterZones + { + /// + /// List of all zones and associated hosts for a cluster + /// + public static Task InvokeAsync(ListClusterZonesArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:listClusterZones", args ?? new ListClusterZonesArgs(), options.WithDefaults()); + + /// + /// List of all zones and associated hosts for a cluster + /// + public static Output Invoke(ListClusterZonesInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:listClusterZones", args ?? new ListClusterZonesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class ListClusterZonesArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the cluster in the private cloud + /// + [Input("clusterName", required: true)] + public string ClusterName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public ListClusterZonesArgs() + { + } + public static new ListClusterZonesArgs Empty => new ListClusterZonesArgs(); + } + + public sealed class ListClusterZonesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the cluster in the private cloud + /// + [Input("clusterName", required: true)] + public Input ClusterName { get; set; } = null!; + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public ListClusterZonesInvokeArgs() + { + } + public static new ListClusterZonesInvokeArgs Empty => new ListClusterZonesInvokeArgs(); + } + + + [OutputType] + public sealed class ListClusterZonesResult + { + /// + /// Zone and associated hosts info + /// + public readonly ImmutableArray Zones; + + [OutputConstructor] + private ListClusterZonesResult(ImmutableArray zones) + { + Zones = zones; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/ListPrivateCloudAdminCredentials.cs b/sdk/dotnet/AVS/V20230301/ListPrivateCloudAdminCredentials.cs new file mode 100644 index 000000000000..7ff488ba89e3 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/ListPrivateCloudAdminCredentials.cs @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + public static class ListPrivateCloudAdminCredentials + { + /// + /// Administrative credentials for accessing vCenter and NSX-T + /// + public static Task InvokeAsync(ListPrivateCloudAdminCredentialsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:avs/v20230301:listPrivateCloudAdminCredentials", args ?? new ListPrivateCloudAdminCredentialsArgs(), options.WithDefaults()); + + /// + /// Administrative credentials for accessing vCenter and NSX-T + /// + public static Output Invoke(ListPrivateCloudAdminCredentialsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:avs/v20230301:listPrivateCloudAdminCredentials", args ?? new ListPrivateCloudAdminCredentialsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class ListPrivateCloudAdminCredentialsArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public string PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public ListPrivateCloudAdminCredentialsArgs() + { + } + public static new ListPrivateCloudAdminCredentialsArgs Empty => new ListPrivateCloudAdminCredentialsArgs(); + } + + public sealed class ListPrivateCloudAdminCredentialsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public ListPrivateCloudAdminCredentialsInvokeArgs() + { + } + public static new ListPrivateCloudAdminCredentialsInvokeArgs Empty => new ListPrivateCloudAdminCredentialsInvokeArgs(); + } + + + [OutputType] + public sealed class ListPrivateCloudAdminCredentialsResult + { + /// + /// NSX-T Manager password + /// + public readonly string NsxtPassword; + /// + /// NSX-T Manager username + /// + public readonly string NsxtUsername; + /// + /// vCenter admin password + /// + public readonly string VcenterPassword; + /// + /// vCenter admin username + /// + public readonly string VcenterUsername; + + [OutputConstructor] + private ListPrivateCloudAdminCredentialsResult( + string nsxtPassword, + + string nsxtUsername, + + string vcenterPassword, + + string vcenterUsername) + { + NsxtPassword = nsxtPassword; + NsxtUsername = nsxtUsername; + VcenterPassword = vcenterPassword; + VcenterUsername = vcenterUsername; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/AddonArcPropertiesResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/AddonArcPropertiesResponse.cs new file mode 100644 index 000000000000..47f380963d8d --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/AddonArcPropertiesResponse.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// The properties of an Arc addon + /// + [OutputType] + public sealed class AddonArcPropertiesResponse + { + /// + /// The type of private cloud addon + /// Expected value is 'Arc'. + /// + public readonly string AddonType; + /// + /// The state of the addon provisioning + /// + public readonly string ProvisioningState; + /// + /// The VMware vCenter resource ID + /// + public readonly string? VCenter; + + [OutputConstructor] + private AddonArcPropertiesResponse( + string addonType, + + string provisioningState, + + string? vCenter) + { + AddonType = addonType; + ProvisioningState = provisioningState; + VCenter = vCenter; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/AddonHcxPropertiesResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/AddonHcxPropertiesResponse.cs new file mode 100644 index 000000000000..c1689b44c5af --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/AddonHcxPropertiesResponse.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// The properties of an HCX addon + /// + [OutputType] + public sealed class AddonHcxPropertiesResponse + { + /// + /// The type of private cloud addon + /// Expected value is 'HCX'. + /// + public readonly string AddonType; + /// + /// The HCX offer, example VMware MaaS Cloud Provider (Enterprise) + /// + public readonly string Offer; + /// + /// The state of the addon provisioning + /// + public readonly string ProvisioningState; + + [OutputConstructor] + private AddonHcxPropertiesResponse( + string addonType, + + string offer, + + string provisioningState) + { + AddonType = addonType; + Offer = offer; + ProvisioningState = provisioningState; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/AddonSrmPropertiesResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/AddonSrmPropertiesResponse.cs new file mode 100644 index 000000000000..d25ffb270712 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/AddonSrmPropertiesResponse.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// The properties of a Site Recovery Manager (SRM) addon + /// + [OutputType] + public sealed class AddonSrmPropertiesResponse + { + /// + /// The type of private cloud addon + /// Expected value is 'SRM'. + /// + public readonly string AddonType; + /// + /// The Site Recovery Manager (SRM) license + /// + public readonly string? LicenseKey; + /// + /// The state of the addon provisioning + /// + public readonly string ProvisioningState; + + [OutputConstructor] + private AddonSrmPropertiesResponse( + string addonType, + + string? licenseKey, + + string provisioningState) + { + AddonType = addonType; + LicenseKey = licenseKey; + ProvisioningState = provisioningState; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/AddonVrPropertiesResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/AddonVrPropertiesResponse.cs new file mode 100644 index 000000000000..08deedbc9c67 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/AddonVrPropertiesResponse.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// The properties of a vSphere Replication (VR) addon + /// + [OutputType] + public sealed class AddonVrPropertiesResponse + { + /// + /// The type of private cloud addon + /// Expected value is 'VR'. + /// + public readonly string AddonType; + /// + /// The state of the addon provisioning + /// + public readonly string ProvisioningState; + /// + /// The vSphere Replication Server (VRS) count + /// + public readonly int VrsCount; + + [OutputConstructor] + private AddonVrPropertiesResponse( + string addonType, + + string provisioningState, + + int vrsCount) + { + AddonType = addonType; + ProvisioningState = provisioningState; + VrsCount = vrsCount; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/AvailabilityPropertiesResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/AvailabilityPropertiesResponse.cs new file mode 100644 index 000000000000..77701629c63e --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/AvailabilityPropertiesResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// The properties describing private cloud availability zone distribution + /// + [OutputType] + public sealed class AvailabilityPropertiesResponse + { + /// + /// The secondary availability zone for the private cloud + /// + public readonly int? SecondaryZone; + /// + /// The availability strategy for the private cloud + /// + public readonly string? Strategy; + /// + /// The primary availability zone for the private cloud + /// + public readonly int? Zone; + + [OutputConstructor] + private AvailabilityPropertiesResponse( + int? secondaryZone, + + string? strategy, + + int? zone) + { + SecondaryZone = secondaryZone; + Strategy = strategy; + Zone = zone; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/CircuitResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/CircuitResponse.cs new file mode 100644 index 000000000000..e102c15a3e9b --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/CircuitResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// An ExpressRoute Circuit + /// + [OutputType] + public sealed class CircuitResponse + { + /// + /// Identifier of the ExpressRoute Circuit (Microsoft Colo only) + /// + public readonly string ExpressRouteID; + /// + /// ExpressRoute Circuit private peering identifier + /// + public readonly string ExpressRoutePrivatePeeringID; + /// + /// CIDR of primary subnet + /// + public readonly string PrimarySubnet; + /// + /// CIDR of secondary subnet + /// + public readonly string SecondarySubnet; + + [OutputConstructor] + private CircuitResponse( + string expressRouteID, + + string expressRoutePrivatePeeringID, + + string primarySubnet, + + string secondarySubnet) + { + ExpressRouteID = expressRouteID; + ExpressRoutePrivatePeeringID = expressRoutePrivatePeeringID; + PrimarySubnet = primarySubnet; + SecondarySubnet = secondarySubnet; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/ClusterZoneResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/ClusterZoneResponse.cs new file mode 100644 index 000000000000..b9b6d1f72db3 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/ClusterZoneResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// Zone and associated hosts info + /// + [OutputType] + public sealed class ClusterZoneResponse + { + /// + /// List of hosts belonging to the availability zone in a cluster + /// + public readonly ImmutableArray Hosts; + /// + /// Availability zone identifier + /// + public readonly string Zone; + + [OutputConstructor] + private ClusterZoneResponse( + ImmutableArray hosts, + + string zone) + { + Hosts = hosts; + Zone = zone; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/DiskPoolVolumeResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/DiskPoolVolumeResponse.cs new file mode 100644 index 000000000000..4748b428f176 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/DiskPoolVolumeResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// An iSCSI volume from Microsoft.StoragePool provider + /// + [OutputType] + public sealed class DiskPoolVolumeResponse + { + /// + /// Name of the LUN to be used for datastore + /// + public readonly string LunName; + /// + /// Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN + /// + public readonly string? MountOption; + /// + /// Device path + /// + public readonly string Path; + /// + /// Azure resource ID of the iSCSI target + /// + public readonly string TargetId; + + [OutputConstructor] + private DiskPoolVolumeResponse( + string lunName, + + string? mountOption, + + string path, + + string targetId) + { + LunName = lunName; + MountOption = mountOption; + Path = path; + TargetId = targetId; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/EncryptionKeyVaultPropertiesResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/EncryptionKeyVaultPropertiesResponse.cs new file mode 100644 index 000000000000..8e0d38e02d1c --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/EncryptionKeyVaultPropertiesResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// An Encryption Key + /// + [OutputType] + public sealed class EncryptionKeyVaultPropertiesResponse + { + /// + /// The auto-detected version of the key if versionType is auto-detected. + /// + public readonly string AutoDetectedKeyVersion; + /// + /// The name of the key. + /// + public readonly string? KeyName; + /// + /// The state of key provided + /// + public readonly string KeyState; + /// + /// The URL of the vault. + /// + public readonly string? KeyVaultUrl; + /// + /// The version of the key. + /// + public readonly string? KeyVersion; + /// + /// Property of the key if user provided or auto detected + /// + public readonly string VersionType; + + [OutputConstructor] + private EncryptionKeyVaultPropertiesResponse( + string autoDetectedKeyVersion, + + string? keyName, + + string keyState, + + string? keyVaultUrl, + + string? keyVersion, + + string versionType) + { + AutoDetectedKeyVersion = autoDetectedKeyVersion; + KeyName = keyName; + KeyState = keyState; + KeyVaultUrl = keyVaultUrl; + KeyVersion = keyVersion; + VersionType = versionType; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/EncryptionResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/EncryptionResponse.cs new file mode 100644 index 000000000000..d1d7cb604aea --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/EncryptionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// The properties of customer managed encryption key + /// + [OutputType] + public sealed class EncryptionResponse + { + /// + /// The key vault where the encryption key is stored + /// + public readonly Outputs.EncryptionKeyVaultPropertiesResponse? KeyVaultProperties; + /// + /// Status of customer managed encryption key + /// + public readonly string? Status; + + [OutputConstructor] + private EncryptionResponse( + Outputs.EncryptionKeyVaultPropertiesResponse? keyVaultProperties, + + string? status) + { + KeyVaultProperties = keyVaultProperties; + Status = status; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/EndpointsResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/EndpointsResponse.cs new file mode 100644 index 000000000000..596f27eda3f7 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/EndpointsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// Endpoint addresses + /// + [OutputType] + public sealed class EndpointsResponse + { + /// + /// Endpoint for the HCX Cloud Manager + /// + public readonly string HcxCloudManager; + /// + /// Endpoint for the NSX-T Data Center manager + /// + public readonly string NsxtManager; + /// + /// Endpoint for Virtual Center Server Appliance + /// + public readonly string Vcsa; + + [OutputConstructor] + private EndpointsResponse( + string hcxCloudManager, + + string nsxtManager, + + string vcsa) + { + HcxCloudManager = hcxCloudManager; + NsxtManager = nsxtManager; + Vcsa = vcsa; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/IdentitySourceResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/IdentitySourceResponse.cs new file mode 100644 index 000000000000..b4097d4fa47c --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/IdentitySourceResponse.cs @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// vCenter Single Sign On Identity Source + /// + [OutputType] + public sealed class IdentitySourceResponse + { + /// + /// The domain's NetBIOS name + /// + public readonly string? Alias; + /// + /// The base distinguished name for groups + /// + public readonly string? BaseGroupDN; + /// + /// The base distinguished name for users + /// + public readonly string? BaseUserDN; + /// + /// The domain's dns name + /// + public readonly string? Domain; + /// + /// The name of the identity source + /// + public readonly string? Name; + /// + /// The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups. + /// + public readonly string? Password; + /// + /// Primary server URL + /// + public readonly string? PrimaryServer; + /// + /// Secondary server URL + /// + public readonly string? SecondaryServer; + /// + /// Protect LDAP communication using SSL certificate (LDAPS) + /// + public readonly string? Ssl; + /// + /// The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group + /// + public readonly string? Username; + + [OutputConstructor] + private IdentitySourceResponse( + string? alias, + + string? baseGroupDN, + + string? baseUserDN, + + string? domain, + + string? name, + + string? password, + + string? primaryServer, + + string? secondaryServer, + + string? ssl, + + string? username) + { + Alias = alias; + BaseGroupDN = baseGroupDN; + BaseUserDN = baseUserDN; + Domain = domain; + Name = name; + Password = password; + PrimaryServer = primaryServer; + SecondaryServer = secondaryServer; + Ssl = ssl; + Username = username; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/ManagementClusterResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/ManagementClusterResponse.cs new file mode 100644 index 000000000000..e33fd6abd1c4 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/ManagementClusterResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// The properties of a management cluster + /// + [OutputType] + public sealed class ManagementClusterResponse + { + /// + /// The identity + /// + public readonly int ClusterId; + /// + /// The cluster size + /// + public readonly int ClusterSize; + /// + /// The hosts + /// + public readonly ImmutableArray Hosts; + /// + /// The state of the cluster provisioning + /// + public readonly string ProvisioningState; + + [OutputConstructor] + private ManagementClusterResponse( + int clusterId, + + int clusterSize, + + ImmutableArray hosts, + + string provisioningState) + { + ClusterId = clusterId; + ClusterSize = clusterSize; + Hosts = hosts; + ProvisioningState = provisioningState; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/NetAppVolumeResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/NetAppVolumeResponse.cs new file mode 100644 index 000000000000..ab3645c384f4 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/NetAppVolumeResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// An Azure NetApp Files volume from Microsoft.NetApp provider + /// + [OutputType] + public sealed class NetAppVolumeResponse + { + /// + /// Azure resource ID of the NetApp volume + /// + public readonly string Id; + + [OutputConstructor] + private NetAppVolumeResponse(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/PSCredentialExecutionParameterResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/PSCredentialExecutionParameterResponse.cs new file mode 100644 index 000000000000..5098c465c6b7 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/PSCredentialExecutionParameterResponse.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// a powershell credential object + /// + [OutputType] + public sealed class PSCredentialExecutionParameterResponse + { + /// + /// The parameter name + /// + public readonly string Name; + /// + /// password for login + /// + public readonly string? Password; + /// + /// The type of execution parameter + /// Expected value is 'Credential'. + /// + public readonly string Type; + /// + /// username for login + /// + public readonly string? Username; + + [OutputConstructor] + private PSCredentialExecutionParameterResponse( + string name, + + string? password, + + string type, + + string? username) + { + Name = name; + Password = password; + Type = type; + Username = username; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/PrivateCloudIdentityResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/PrivateCloudIdentityResponse.cs new file mode 100644 index 000000000000..922acf031aef --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/PrivateCloudIdentityResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// Identity for the virtual machine. + /// + [OutputType] + public sealed class PrivateCloudIdentityResponse + { + /// + /// The principal ID of private cloud identity. This property will only be provided for a system assigned identity. + /// + public readonly string PrincipalId; + /// + /// The tenant ID associated with the private cloud. This property will only be provided for a system assigned identity. + /// + public readonly string TenantId; + /// + /// The type of identity used for the private cloud. The type 'SystemAssigned' refers to an implicitly created identity. The type 'None' will remove any identities from the Private Cloud. + /// + public readonly string? Type; + + [OutputConstructor] + private PrivateCloudIdentityResponse( + string principalId, + + string tenantId, + + string? type) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/ScriptSecureStringExecutionParameterResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/ScriptSecureStringExecutionParameterResponse.cs new file mode 100644 index 000000000000..97c22e545bf0 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/ScriptSecureStringExecutionParameterResponse.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// a plain text value execution parameter + /// + [OutputType] + public sealed class ScriptSecureStringExecutionParameterResponse + { + /// + /// The parameter name + /// + public readonly string Name; + /// + /// A secure value for the passed parameter, not to be stored in logs + /// + public readonly string? SecureValue; + /// + /// The type of execution parameter + /// Expected value is 'SecureValue'. + /// + public readonly string Type; + + [OutputConstructor] + private ScriptSecureStringExecutionParameterResponse( + string name, + + string? secureValue, + + string type) + { + Name = name; + SecureValue = secureValue; + Type = type; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/ScriptStringExecutionParameterResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/ScriptStringExecutionParameterResponse.cs new file mode 100644 index 000000000000..ae1eb24d4ec2 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/ScriptStringExecutionParameterResponse.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// a plain text value execution parameter + /// + [OutputType] + public sealed class ScriptStringExecutionParameterResponse + { + /// + /// The parameter name + /// + public readonly string Name; + /// + /// The type of execution parameter + /// Expected value is 'Value'. + /// + public readonly string Type; + /// + /// The value for the passed parameter + /// + public readonly string? Value; + + [OutputConstructor] + private ScriptStringExecutionParameterResponse( + string name, + + string type, + + string? value) + { + Name = name; + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/SkuResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/SkuResponse.cs new file mode 100644 index 000000000000..03318799b059 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/SkuResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// The resource model definition representing SKU + /// + [OutputType] + public sealed class SkuResponse + { + /// + /// The name of the SKU. + /// + public readonly string Name; + + [OutputConstructor] + private SkuResponse(string name) + { + Name = name; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/VmHostPlacementPolicyPropertiesResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/VmHostPlacementPolicyPropertiesResponse.cs new file mode 100644 index 000000000000..40567ab2bace --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/VmHostPlacementPolicyPropertiesResponse.cs @@ -0,0 +1,88 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// VM-Host placement policy properties + /// + [OutputType] + public sealed class VmHostPlacementPolicyPropertiesResponse + { + /// + /// vm-host placement policy affinity strength (should/must) + /// + public readonly string? AffinityStrength; + /// + /// placement policy affinity type + /// + public readonly string AffinityType; + /// + /// placement policy azure hybrid benefit opt-in type + /// + public readonly string? AzureHybridBenefitType; + /// + /// Display name of the placement policy + /// + public readonly string? DisplayName; + /// + /// Host members list + /// + public readonly ImmutableArray HostMembers; + /// + /// The provisioning state + /// + public readonly string ProvisioningState; + /// + /// Whether the placement policy is enabled or disabled + /// + public readonly string? State; + /// + /// placement policy type + /// Expected value is 'VmHost'. + /// + public readonly string Type; + /// + /// Virtual machine members list + /// + public readonly ImmutableArray VmMembers; + + [OutputConstructor] + private VmHostPlacementPolicyPropertiesResponse( + string? affinityStrength, + + string affinityType, + + string? azureHybridBenefitType, + + string? displayName, + + ImmutableArray hostMembers, + + string provisioningState, + + string? state, + + string type, + + ImmutableArray vmMembers) + { + AffinityStrength = affinityStrength; + AffinityType = affinityType; + AzureHybridBenefitType = azureHybridBenefitType; + DisplayName = displayName; + HostMembers = hostMembers; + ProvisioningState = provisioningState; + State = state; + Type = type; + VmMembers = vmMembers; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/VmVmPlacementPolicyPropertiesResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/VmVmPlacementPolicyPropertiesResponse.cs new file mode 100644 index 000000000000..6000e593c725 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/VmVmPlacementPolicyPropertiesResponse.cs @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// VM-VM placement policy properties + /// + [OutputType] + public sealed class VmVmPlacementPolicyPropertiesResponse + { + /// + /// placement policy affinity type + /// + public readonly string AffinityType; + /// + /// Display name of the placement policy + /// + public readonly string? DisplayName; + /// + /// The provisioning state + /// + public readonly string ProvisioningState; + /// + /// Whether the placement policy is enabled or disabled + /// + public readonly string? State; + /// + /// placement policy type + /// Expected value is 'VmVm'. + /// + public readonly string Type; + /// + /// Virtual machine members list + /// + public readonly ImmutableArray VmMembers; + + [OutputConstructor] + private VmVmPlacementPolicyPropertiesResponse( + string affinityType, + + string? displayName, + + string provisioningState, + + string? state, + + string type, + + ImmutableArray vmMembers) + { + AffinityType = affinityType; + DisplayName = displayName; + ProvisioningState = provisioningState; + State = state; + Type = type; + VmMembers = vmMembers; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/WorkloadNetworkDhcpRelayResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/WorkloadNetworkDhcpRelayResponse.cs new file mode 100644 index 000000000000..35fed680b41e --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/WorkloadNetworkDhcpRelayResponse.cs @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// NSX DHCP Relay + /// + [OutputType] + public sealed class WorkloadNetworkDhcpRelayResponse + { + /// + /// Type of DHCP: SERVER or RELAY. + /// Expected value is 'RELAY'. + /// + public readonly string DhcpType; + /// + /// Display name of the DHCP entity. + /// + public readonly string? DisplayName; + /// + /// The provisioning state + /// + public readonly string ProvisioningState; + /// + /// NSX revision number. + /// + public readonly double? Revision; + /// + /// NSX Segments consuming DHCP. + /// + public readonly ImmutableArray Segments; + /// + /// DHCP Relay Addresses. Max 3. + /// + public readonly ImmutableArray ServerAddresses; + + [OutputConstructor] + private WorkloadNetworkDhcpRelayResponse( + string dhcpType, + + string? displayName, + + string provisioningState, + + double? revision, + + ImmutableArray segments, + + ImmutableArray serverAddresses) + { + DhcpType = dhcpType; + DisplayName = displayName; + ProvisioningState = provisioningState; + Revision = revision; + Segments = segments; + ServerAddresses = serverAddresses; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/WorkloadNetworkDhcpServerResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/WorkloadNetworkDhcpServerResponse.cs new file mode 100644 index 000000000000..3de22475e3d0 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/WorkloadNetworkDhcpServerResponse.cs @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// NSX DHCP Server + /// + [OutputType] + public sealed class WorkloadNetworkDhcpServerResponse + { + /// + /// Type of DHCP: SERVER or RELAY. + /// Expected value is 'SERVER'. + /// + public readonly string DhcpType; + /// + /// Display name of the DHCP entity. + /// + public readonly string? DisplayName; + /// + /// DHCP Server Lease Time. + /// + public readonly double? LeaseTime; + /// + /// The provisioning state + /// + public readonly string ProvisioningState; + /// + /// NSX revision number. + /// + public readonly double? Revision; + /// + /// NSX Segments consuming DHCP. + /// + public readonly ImmutableArray Segments; + /// + /// DHCP Server Address. + /// + public readonly string? ServerAddress; + + [OutputConstructor] + private WorkloadNetworkDhcpServerResponse( + string dhcpType, + + string? displayName, + + double? leaseTime, + + string provisioningState, + + double? revision, + + ImmutableArray segments, + + string? serverAddress) + { + DhcpType = dhcpType; + DisplayName = displayName; + LeaseTime = leaseTime; + ProvisioningState = provisioningState; + Revision = revision; + Segments = segments; + ServerAddress = serverAddress; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/WorkloadNetworkSegmentPortVifResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/WorkloadNetworkSegmentPortVifResponse.cs new file mode 100644 index 000000000000..d1d85e8b5cae --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/WorkloadNetworkSegmentPortVifResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// Ports and any VIF attached to segment. + /// + [OutputType] + public sealed class WorkloadNetworkSegmentPortVifResponse + { + /// + /// Name of port or VIF attached to segment. + /// + public readonly string? PortName; + + [OutputConstructor] + private WorkloadNetworkSegmentPortVifResponse(string? portName) + { + PortName = portName; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/Outputs/WorkloadNetworkSegmentSubnetResponse.cs b/sdk/dotnet/AVS/V20230301/Outputs/WorkloadNetworkSegmentSubnetResponse.cs new file mode 100644 index 000000000000..581211b1e56e --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/Outputs/WorkloadNetworkSegmentSubnetResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301.Outputs +{ + + /// + /// Subnet configuration for segment + /// + [OutputType] + public sealed class WorkloadNetworkSegmentSubnetResponse + { + /// + /// DHCP Range assigned for subnet. + /// + public readonly ImmutableArray DhcpRanges; + /// + /// Gateway address. + /// + public readonly string? GatewayAddress; + + [OutputConstructor] + private WorkloadNetworkSegmentSubnetResponse( + ImmutableArray dhcpRanges, + + string? gatewayAddress) + { + DhcpRanges = dhcpRanges; + GatewayAddress = gatewayAddress; + } + } +} diff --git a/sdk/dotnet/AVS/V20230301/PlacementPolicy.cs b/sdk/dotnet/AVS/V20230301/PlacementPolicy.cs new file mode 100644 index 000000000000..26b562fce253 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/PlacementPolicy.cs @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// A vSphere Distributed Resource Scheduler (DRS) placement policy + /// + [AzureNativeResourceType("azure-native:avs/v20230301:PlacementPolicy")] + public partial class PlacementPolicy : global::Pulumi.CustomResource + { + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// placement policy properties + /// + [Output("properties")] + public Output> Properties { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a PlacementPolicy resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public PlacementPolicy(string name, PlacementPolicyArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:PlacementPolicy", name, args ?? new PlacementPolicyArgs(), MakeResourceOptions(options, "")) + { + } + + private PlacementPolicy(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:PlacementPolicy", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:PlacementPolicy"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:PlacementPolicy"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:PlacementPolicy"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing PlacementPolicy resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static PlacementPolicy Get(string name, Input id, CustomResourceOptions? options = null) + { + return new PlacementPolicy(name, id, options); + } + } + + public sealed class PlacementPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the cluster in the private cloud + /// + [Input("clusterName", required: true)] + public Input ClusterName { get; set; } = null!; + + /// + /// Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy + /// + [Input("placementPolicyName")] + public Input? PlacementPolicyName { get; set; } + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// placement policy properties + /// + [Input("properties")] + public InputUnion? Properties { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public PlacementPolicyArgs() + { + } + public static new PlacementPolicyArgs Empty => new PlacementPolicyArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/PrivateCloud.cs b/sdk/dotnet/AVS/V20230301/PrivateCloud.cs new file mode 100644 index 000000000000..a494ca630744 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/PrivateCloud.cs @@ -0,0 +1,343 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// A private cloud resource + /// + [AzureNativeResourceType("azure-native:avs/v20230301:PrivateCloud")] + public partial class PrivateCloud : global::Pulumi.CustomResource + { + /// + /// Properties describing how the cloud is distributed across availability zones + /// + [Output("availability")] + public Output Availability { get; private set; } = null!; + + /// + /// An ExpressRoute Circuit + /// + [Output("circuit")] + public Output Circuit { get; private set; } = null!; + + /// + /// Customer managed key encryption, can be enabled or disabled + /// + [Output("encryption")] + public Output Encryption { get; private set; } = null!; + + /// + /// The endpoints + /// + [Output("endpoints")] + public Output Endpoints { get; private set; } = null!; + + /// + /// Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). + /// + [Output("extendedNetworkBlocks")] + public Output> ExtendedNetworkBlocks { get; private set; } = null!; + + /// + /// Array of cloud link IDs from other clouds that connect to this one + /// + [Output("externalCloudLinks")] + public Output> ExternalCloudLinks { get; private set; } = null!; + + /// + /// The identity of the private cloud, if configured. + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// vCenter Single Sign On Identity Sources + /// + [Output("identitySources")] + public Output> IdentitySources { get; private set; } = null!; + + /// + /// Connectivity to internet is enabled or disabled + /// + [Output("internet")] + public Output Internet { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The default cluster used for management + /// + [Output("managementCluster")] + public Output ManagementCluster { get; private set; } = null!; + + /// + /// Network used to access vCenter Server and NSX-T Manager + /// + [Output("managementNetwork")] + public Output ManagementNetwork { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 + /// + [Output("networkBlock")] + public Output NetworkBlock { get; private set; } = null!; + + /// + /// Flag to indicate whether the private cloud has the quota for provisioned NSX Public IP count raised from 64 to 1024 + /// + [Output("nsxPublicIpQuotaRaised")] + public Output NsxPublicIpQuotaRaised { get; private set; } = null!; + + /// + /// Thumbprint of the NSX-T Manager SSL certificate + /// + [Output("nsxtCertificateThumbprint")] + public Output NsxtCertificateThumbprint { get; private set; } = null!; + + /// + /// Optionally, set the NSX-T Manager password when the private cloud is created + /// + [Output("nsxtPassword")] + public Output NsxtPassword { get; private set; } = null!; + + /// + /// Used for virtual machine cold migration, cloning, and snapshot migration + /// + [Output("provisioningNetwork")] + public Output ProvisioningNetwork { get; private set; } = null!; + + /// + /// The provisioning state + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud + /// + [Output("secondaryCircuit")] + public Output SecondaryCircuit { get; private set; } = null!; + + /// + /// The private cloud SKU + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Thumbprint of the vCenter Server SSL certificate + /// + [Output("vcenterCertificateThumbprint")] + public Output VcenterCertificateThumbprint { get; private set; } = null!; + + /// + /// Optionally, set the vCenter admin password when the private cloud is created + /// + [Output("vcenterPassword")] + public Output VcenterPassword { get; private set; } = null!; + + /// + /// Used for live migration of virtual machines + /// + [Output("vmotionNetwork")] + public Output VmotionNetwork { get; private set; } = null!; + + + /// + /// Create a PrivateCloud resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public PrivateCloud(string name, PrivateCloudArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:PrivateCloud", name, args ?? new PrivateCloudArgs(), MakeResourceOptions(options, "")) + { + } + + private PrivateCloud(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:PrivateCloud", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:PrivateCloud"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200320:PrivateCloud"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200717preview:PrivateCloud"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:PrivateCloud"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:PrivateCloud"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:PrivateCloud"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:PrivateCloud"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing PrivateCloud resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static PrivateCloud Get(string name, Input id, CustomResourceOptions? options = null) + { + return new PrivateCloud(name, id, options); + } + } + + public sealed class PrivateCloudArgs : global::Pulumi.ResourceArgs + { + /// + /// Properties describing how the cloud is distributed across availability zones + /// + [Input("availability")] + public Input? Availability { get; set; } + + /// + /// Customer managed key encryption, can be enabled or disabled + /// + [Input("encryption")] + public Input? Encryption { get; set; } + + [Input("extendedNetworkBlocks")] + private InputList? _extendedNetworkBlocks; + + /// + /// Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). + /// + public InputList ExtendedNetworkBlocks + { + get => _extendedNetworkBlocks ?? (_extendedNetworkBlocks = new InputList()); + set => _extendedNetworkBlocks = value; + } + + /// + /// The identity of the private cloud, if configured. + /// + [Input("identity")] + public Input? Identity { get; set; } + + [Input("identitySources")] + private InputList? _identitySources; + + /// + /// vCenter Single Sign On Identity Sources + /// + public InputList IdentitySources + { + get => _identitySources ?? (_identitySources = new InputList()); + set => _identitySources = value; + } + + /// + /// Connectivity to internet is enabled or disabled + /// + [Input("internet")] + public InputUnion? Internet { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The default cluster used for management + /// + [Input("managementCluster", required: true)] + public Input ManagementCluster { get; set; } = null!; + + /// + /// The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 + /// + [Input("networkBlock", required: true)] + public Input NetworkBlock { get; set; } = null!; + + /// + /// Optionally, set the NSX-T Manager password when the private cloud is created + /// + [Input("nsxtPassword")] + public Input? NsxtPassword { get; set; } + + /// + /// Name of the private cloud + /// + [Input("privateCloudName")] + public Input? PrivateCloudName { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The private cloud SKU + /// + [Input("sku", required: true)] + public Input Sku { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// Optionally, set the vCenter admin password when the private cloud is created + /// + [Input("vcenterPassword")] + public Input? VcenterPassword { get; set; } + + public PrivateCloudArgs() + { + Internet = "Disabled"; + } + public static new PrivateCloudArgs Empty => new PrivateCloudArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/README.md b/sdk/dotnet/AVS/V20230301/README.md similarity index 100% rename from sdk/dotnet/ContainerStorage/V20230301Preview/README.md rename to sdk/dotnet/AVS/V20230301/README.md diff --git a/sdk/dotnet/AVS/V20230301/ScriptExecution.cs b/sdk/dotnet/AVS/V20230301/ScriptExecution.cs new file mode 100644 index 000000000000..b15ae45e75df --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/ScriptExecution.cs @@ -0,0 +1,267 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// An instance of a script executed by a user - custom or AVS + /// + [AzureNativeResourceType("azure-native:avs/v20230301:ScriptExecution")] + public partial class ScriptExecution : global::Pulumi.CustomResource + { + /// + /// Standard error output stream from the powershell execution + /// + [Output("errors")] + public Output> Errors { get; private set; } = null!; + + /// + /// Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + /// + [Output("failureReason")] + public Output FailureReason { get; private set; } = null!; + + /// + /// Time the script execution was finished + /// + [Output("finishedAt")] + public Output FinishedAt { get; private set; } = null!; + + /// + /// Parameters that will be hidden/not visible to ARM, such as passwords and credentials + /// + [Output("hiddenParameters")] + public Output> HiddenParameters { get; private set; } = null!; + + /// + /// Standard information out stream from the powershell execution + /// + [Output("information")] + public Output> Information { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// User-defined dictionary. + /// + [Output("namedOutputs")] + public Output?> NamedOutputs { get; private set; } = null!; + + /// + /// Standard output stream from the powershell execution + /// + [Output("output")] + public Output> Output { get; private set; } = null!; + + /// + /// Parameters the script will accept + /// + [Output("parameters")] + public Output> Parameters { get; private set; } = null!; + + /// + /// The state of the script execution resource + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Time to live for the resource. If not provided, will be available for 60 days + /// + [Output("retention")] + public Output Retention { get; private set; } = null!; + + /// + /// A reference to the script cmdlet resource if user is running a AVS script + /// + [Output("scriptCmdletId")] + public Output ScriptCmdletId { get; private set; } = null!; + + /// + /// Time the script execution was started + /// + [Output("startedAt")] + public Output StartedAt { get; private set; } = null!; + + /// + /// Time the script execution was submitted + /// + [Output("submittedAt")] + public Output SubmittedAt { get; private set; } = null!; + + /// + /// Time limit for execution + /// + [Output("timeout")] + public Output Timeout { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Standard warning out stream from the powershell execution + /// + [Output("warnings")] + public Output> Warnings { get; private set; } = null!; + + + /// + /// Create a ScriptExecution resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ScriptExecution(string name, ScriptExecutionArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:ScriptExecution", name, args ?? new ScriptExecutionArgs(), MakeResourceOptions(options, "")) + { + } + + private ScriptExecution(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:ScriptExecution", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:ScriptExecution"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:ScriptExecution"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:ScriptExecution"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:ScriptExecution"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ScriptExecution resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static ScriptExecution Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ScriptExecution(name, id, options); + } + } + + public sealed class ScriptExecutionArgs : global::Pulumi.ResourceArgs + { + /// + /// Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + /// + [Input("failureReason")] + public Input? FailureReason { get; set; } + + [Input("hiddenParameters")] + private InputList? _hiddenParameters; + + /// + /// Parameters that will be hidden/not visible to ARM, such as passwords and credentials + /// + public InputList HiddenParameters + { + get => _hiddenParameters ?? (_hiddenParameters = new InputList()); + set => _hiddenParameters = value; + } + + [Input("namedOutputs")] + private InputMap? _namedOutputs; + + /// + /// User-defined dictionary. + /// + public InputMap NamedOutputs + { + get => _namedOutputs ?? (_namedOutputs = new InputMap()); + set => _namedOutputs = value; + } + + [Input("output")] + private InputList? _output; + + /// + /// Standard output stream from the powershell execution + /// + public InputList Output + { + get => _output ?? (_output = new InputList()); + set => _output = value; + } + + [Input("parameters")] + private InputList? _parameters; + + /// + /// Parameters the script will accept + /// + public InputList Parameters + { + get => _parameters ?? (_parameters = new InputList()); + set => _parameters = value; + } + + /// + /// The name of the private cloud. + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Time to live for the resource. If not provided, will be available for 60 days + /// + [Input("retention")] + public Input? Retention { get; set; } + + /// + /// A reference to the script cmdlet resource if user is running a AVS script + /// + [Input("scriptCmdletId")] + public Input? ScriptCmdletId { get; set; } + + /// + /// Name of the user-invoked script execution resource + /// + [Input("scriptExecutionName")] + public Input? ScriptExecutionName { get; set; } + + /// + /// Time limit for execution + /// + [Input("timeout", required: true)] + public Input Timeout { get; set; } = null!; + + public ScriptExecutionArgs() + { + } + public static new ScriptExecutionArgs Empty => new ScriptExecutionArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/WorkloadNetworkDhcp.cs b/sdk/dotnet/AVS/V20230301/WorkloadNetworkDhcp.cs new file mode 100644 index 000000000000..65254cae5396 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/WorkloadNetworkDhcp.cs @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// NSX DHCP + /// + [AzureNativeResourceType("azure-native:avs/v20230301:WorkloadNetworkDhcp")] + public partial class WorkloadNetworkDhcp : global::Pulumi.CustomResource + { + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// DHCP properties. + /// + [Output("properties")] + public Output> Properties { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a WorkloadNetworkDhcp resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public WorkloadNetworkDhcp(string name, WorkloadNetworkDhcpArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkDhcp", name, args ?? new WorkloadNetworkDhcpArgs(), MakeResourceOptions(options, "")) + { + } + + private WorkloadNetworkDhcp(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkDhcp", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:WorkloadNetworkDhcp"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200717preview:WorkloadNetworkDhcp"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:WorkloadNetworkDhcp"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkDhcp"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkDhcp"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkDhcp"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing WorkloadNetworkDhcp resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static WorkloadNetworkDhcp Get(string name, Input id, CustomResourceOptions? options = null) + { + return new WorkloadNetworkDhcp(name, id, options); + } + } + + public sealed class WorkloadNetworkDhcpArgs : global::Pulumi.ResourceArgs + { + /// + /// NSX DHCP identifier. Generally the same as the DHCP display name + /// + [Input("dhcpId")] + public Input? DhcpId { get; set; } + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// DHCP properties. + /// + [Input("properties")] + public InputUnion? Properties { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public WorkloadNetworkDhcpArgs() + { + } + public static new WorkloadNetworkDhcpArgs Empty => new WorkloadNetworkDhcpArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/WorkloadNetworkDnsService.cs b/sdk/dotnet/AVS/V20230301/WorkloadNetworkDnsService.cs new file mode 100644 index 000000000000..22f030e34ab2 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/WorkloadNetworkDnsService.cs @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// NSX DNS Service + /// + [AzureNativeResourceType("azure-native:avs/v20230301:WorkloadNetworkDnsService")] + public partial class WorkloadNetworkDnsService : global::Pulumi.CustomResource + { + /// + /// Default DNS zone of the DNS Service. + /// + [Output("defaultDnsZone")] + public Output DefaultDnsZone { get; private set; } = null!; + + /// + /// Display name of the DNS Service. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// DNS service IP of the DNS Service. + /// + [Output("dnsServiceIp")] + public Output DnsServiceIp { get; private set; } = null!; + + /// + /// FQDN zones of the DNS Service. + /// + [Output("fqdnZones")] + public Output> FqdnZones { get; private set; } = null!; + + /// + /// DNS Service log level. + /// + [Output("logLevel")] + public Output LogLevel { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The provisioning state + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// NSX revision number. + /// + [Output("revision")] + public Output Revision { get; private set; } = null!; + + /// + /// DNS Service status. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a WorkloadNetworkDnsService resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public WorkloadNetworkDnsService(string name, WorkloadNetworkDnsServiceArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkDnsService", name, args ?? new WorkloadNetworkDnsServiceArgs(), MakeResourceOptions(options, "")) + { + } + + private WorkloadNetworkDnsService(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkDnsService", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:WorkloadNetworkDnsService"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200717preview:WorkloadNetworkDnsService"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:WorkloadNetworkDnsService"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkDnsService"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkDnsService"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkDnsService"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing WorkloadNetworkDnsService resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static WorkloadNetworkDnsService Get(string name, Input id, CustomResourceOptions? options = null) + { + return new WorkloadNetworkDnsService(name, id, options); + } + } + + public sealed class WorkloadNetworkDnsServiceArgs : global::Pulumi.ResourceArgs + { + /// + /// Default DNS zone of the DNS Service. + /// + [Input("defaultDnsZone")] + public Input? DefaultDnsZone { get; set; } + + /// + /// Display name of the DNS Service. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// NSX DNS Service identifier. Generally the same as the DNS Service's display name + /// + [Input("dnsServiceId")] + public Input? DnsServiceId { get; set; } + + /// + /// DNS service IP of the DNS Service. + /// + [Input("dnsServiceIp")] + public Input? DnsServiceIp { get; set; } + + [Input("fqdnZones")] + private InputList? _fqdnZones; + + /// + /// FQDN zones of the DNS Service. + /// + public InputList FqdnZones + { + get => _fqdnZones ?? (_fqdnZones = new InputList()); + set => _fqdnZones = value; + } + + /// + /// DNS Service log level. + /// + [Input("logLevel")] + public InputUnion? LogLevel { get; set; } + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// NSX revision number. + /// + [Input("revision")] + public Input? Revision { get; set; } + + public WorkloadNetworkDnsServiceArgs() + { + } + public static new WorkloadNetworkDnsServiceArgs Empty => new WorkloadNetworkDnsServiceArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/WorkloadNetworkDnsZone.cs b/sdk/dotnet/AVS/V20230301/WorkloadNetworkDnsZone.cs new file mode 100644 index 000000000000..852007b3a564 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/WorkloadNetworkDnsZone.cs @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// NSX DNS Zone + /// + [AzureNativeResourceType("azure-native:avs/v20230301:WorkloadNetworkDnsZone")] + public partial class WorkloadNetworkDnsZone : global::Pulumi.CustomResource + { + /// + /// Display name of the DNS Zone. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// DNS Server IP array of the DNS Zone. + /// + [Output("dnsServerIps")] + public Output> DnsServerIps { get; private set; } = null!; + + /// + /// Number of DNS Services using the DNS zone. + /// + [Output("dnsServices")] + public Output DnsServices { get; private set; } = null!; + + /// + /// Domain names of the DNS Zone. + /// + [Output("domain")] + public Output> Domain { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The provisioning state + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// NSX revision number. + /// + [Output("revision")] + public Output Revision { get; private set; } = null!; + + /// + /// Source IP of the DNS Zone. + /// + [Output("sourceIp")] + public Output SourceIp { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a WorkloadNetworkDnsZone resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public WorkloadNetworkDnsZone(string name, WorkloadNetworkDnsZoneArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkDnsZone", name, args ?? new WorkloadNetworkDnsZoneArgs(), MakeResourceOptions(options, "")) + { + } + + private WorkloadNetworkDnsZone(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkDnsZone", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:WorkloadNetworkDnsZone"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200717preview:WorkloadNetworkDnsZone"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:WorkloadNetworkDnsZone"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkDnsZone"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkDnsZone"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkDnsZone"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing WorkloadNetworkDnsZone resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static WorkloadNetworkDnsZone Get(string name, Input id, CustomResourceOptions? options = null) + { + return new WorkloadNetworkDnsZone(name, id, options); + } + } + + public sealed class WorkloadNetworkDnsZoneArgs : global::Pulumi.ResourceArgs + { + /// + /// Display name of the DNS Zone. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + [Input("dnsServerIps")] + private InputList? _dnsServerIps; + + /// + /// DNS Server IP array of the DNS Zone. + /// + public InputList DnsServerIps + { + get => _dnsServerIps ?? (_dnsServerIps = new InputList()); + set => _dnsServerIps = value; + } + + /// + /// Number of DNS Services using the DNS zone. + /// + [Input("dnsServices")] + public Input? DnsServices { get; set; } + + /// + /// NSX DNS Zone identifier. Generally the same as the DNS Zone's display name + /// + [Input("dnsZoneId")] + public Input? DnsZoneId { get; set; } + + [Input("domain")] + private InputList? _domain; + + /// + /// Domain names of the DNS Zone. + /// + public InputList Domain + { + get => _domain ?? (_domain = new InputList()); + set => _domain = value; + } + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// NSX revision number. + /// + [Input("revision")] + public Input? Revision { get; set; } + + /// + /// Source IP of the DNS Zone. + /// + [Input("sourceIp")] + public Input? SourceIp { get; set; } + + public WorkloadNetworkDnsZoneArgs() + { + } + public static new WorkloadNetworkDnsZoneArgs Empty => new WorkloadNetworkDnsZoneArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/WorkloadNetworkPortMirroring.cs b/sdk/dotnet/AVS/V20230301/WorkloadNetworkPortMirroring.cs new file mode 100644 index 000000000000..60f3b0c2e632 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/WorkloadNetworkPortMirroring.cs @@ -0,0 +1,179 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// NSX Port Mirroring + /// + [AzureNativeResourceType("azure-native:avs/v20230301:WorkloadNetworkPortMirroring")] + public partial class WorkloadNetworkPortMirroring : global::Pulumi.CustomResource + { + /// + /// Destination VM Group. + /// + [Output("destination")] + public Output Destination { get; private set; } = null!; + + /// + /// Direction of port mirroring profile. + /// + [Output("direction")] + public Output Direction { get; private set; } = null!; + + /// + /// Display name of the port mirroring profile. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The provisioning state + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// NSX revision number. + /// + [Output("revision")] + public Output Revision { get; private set; } = null!; + + /// + /// Source VM Group. + /// + [Output("source")] + public Output Source { get; private set; } = null!; + + /// + /// Port Mirroring Status. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a WorkloadNetworkPortMirroring resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public WorkloadNetworkPortMirroring(string name, WorkloadNetworkPortMirroringArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkPortMirroring", name, args ?? new WorkloadNetworkPortMirroringArgs(), MakeResourceOptions(options, "")) + { + } + + private WorkloadNetworkPortMirroring(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkPortMirroring", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:WorkloadNetworkPortMirroring"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200717preview:WorkloadNetworkPortMirroring"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:WorkloadNetworkPortMirroring"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkPortMirroring"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkPortMirroring"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkPortMirroring"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing WorkloadNetworkPortMirroring resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static WorkloadNetworkPortMirroring Get(string name, Input id, CustomResourceOptions? options = null) + { + return new WorkloadNetworkPortMirroring(name, id, options); + } + } + + public sealed class WorkloadNetworkPortMirroringArgs : global::Pulumi.ResourceArgs + { + /// + /// Destination VM Group. + /// + [Input("destination")] + public Input? Destination { get; set; } + + /// + /// Direction of port mirroring profile. + /// + [Input("direction")] + public InputUnion? Direction { get; set; } + + /// + /// Display name of the port mirroring profile. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name + /// + [Input("portMirroringId")] + public Input? PortMirroringId { get; set; } + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// NSX revision number. + /// + [Input("revision")] + public Input? Revision { get; set; } + + /// + /// Source VM Group. + /// + [Input("source")] + public Input? Source { get; set; } + + public WorkloadNetworkPortMirroringArgs() + { + } + public static new WorkloadNetworkPortMirroringArgs Empty => new WorkloadNetworkPortMirroringArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/WorkloadNetworkPublicIP.cs b/sdk/dotnet/AVS/V20230301/WorkloadNetworkPublicIP.cs new file mode 100644 index 000000000000..32cd10bfdaf4 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/WorkloadNetworkPublicIP.cs @@ -0,0 +1,141 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// NSX Public IP Block + /// + [AzureNativeResourceType("azure-native:avs/v20230301:WorkloadNetworkPublicIP")] + public partial class WorkloadNetworkPublicIP : global::Pulumi.CustomResource + { + /// + /// Display name of the Public IP Block. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Number of Public IPs requested. + /// + [Output("numberOfPublicIPs")] + public Output NumberOfPublicIPs { get; private set; } = null!; + + /// + /// The provisioning state + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// CIDR Block of the Public IP Block. + /// + [Output("publicIPBlock")] + public Output PublicIPBlock { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a WorkloadNetworkPublicIP resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public WorkloadNetworkPublicIP(string name, WorkloadNetworkPublicIPArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkPublicIP", name, args ?? new WorkloadNetworkPublicIPArgs(), MakeResourceOptions(options, "")) + { + } + + private WorkloadNetworkPublicIP(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkPublicIP", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:WorkloadNetworkPublicIP"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkPublicIP"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkPublicIP"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkPublicIP"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing WorkloadNetworkPublicIP resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static WorkloadNetworkPublicIP Get(string name, Input id, CustomResourceOptions? options = null) + { + return new WorkloadNetworkPublicIP(name, id, options); + } + } + + public sealed class WorkloadNetworkPublicIPArgs : global::Pulumi.ResourceArgs + { + /// + /// Display name of the Public IP Block. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Number of Public IPs requested. + /// + [Input("numberOfPublicIPs")] + public Input? NumberOfPublicIPs { get; set; } + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// NSX Public IP Block identifier. Generally the same as the Public IP Block's display name + /// + [Input("publicIPId")] + public Input? PublicIPId { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public WorkloadNetworkPublicIPArgs() + { + } + public static new WorkloadNetworkPublicIPArgs Empty => new WorkloadNetworkPublicIPArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/WorkloadNetworkSegment.cs b/sdk/dotnet/AVS/V20230301/WorkloadNetworkSegment.cs new file mode 100644 index 000000000000..d5a813c474c9 --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/WorkloadNetworkSegment.cs @@ -0,0 +1,173 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// NSX Segment + /// + [AzureNativeResourceType("azure-native:avs/v20230301:WorkloadNetworkSegment")] + public partial class WorkloadNetworkSegment : global::Pulumi.CustomResource + { + /// + /// Gateway which to connect segment to. + /// + [Output("connectedGateway")] + public Output ConnectedGateway { get; private set; } = null!; + + /// + /// Display name of the segment. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Port Vif which segment is associated with. + /// + [Output("portVif")] + public Output> PortVif { get; private set; } = null!; + + /// + /// The provisioning state + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// NSX revision number. + /// + [Output("revision")] + public Output Revision { get; private set; } = null!; + + /// + /// Segment status. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Subnet which to connect segment to. + /// + [Output("subnet")] + public Output Subnet { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a WorkloadNetworkSegment resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public WorkloadNetworkSegment(string name, WorkloadNetworkSegmentArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkSegment", name, args ?? new WorkloadNetworkSegmentArgs(), MakeResourceOptions(options, "")) + { + } + + private WorkloadNetworkSegment(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkSegment", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:WorkloadNetworkSegment"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200717preview:WorkloadNetworkSegment"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:WorkloadNetworkSegment"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkSegment"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkSegment"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkSegment"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing WorkloadNetworkSegment resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static WorkloadNetworkSegment Get(string name, Input id, CustomResourceOptions? options = null) + { + return new WorkloadNetworkSegment(name, id, options); + } + } + + public sealed class WorkloadNetworkSegmentArgs : global::Pulumi.ResourceArgs + { + /// + /// Gateway which to connect segment to. + /// + [Input("connectedGateway")] + public Input? ConnectedGateway { get; set; } + + /// + /// Display name of the segment. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// NSX revision number. + /// + [Input("revision")] + public Input? Revision { get; set; } + + /// + /// NSX Segment identifier. Generally the same as the Segment's display name + /// + [Input("segmentId")] + public Input? SegmentId { get; set; } + + /// + /// Subnet which to connect segment to. + /// + [Input("subnet")] + public Input? Subnet { get; set; } + + public WorkloadNetworkSegmentArgs() + { + } + public static new WorkloadNetworkSegmentArgs Empty => new WorkloadNetworkSegmentArgs(); + } +} diff --git a/sdk/dotnet/AVS/V20230301/WorkloadNetworkVMGroup.cs b/sdk/dotnet/AVS/V20230301/WorkloadNetworkVMGroup.cs new file mode 100644 index 000000000000..f54a43db2a3f --- /dev/null +++ b/sdk/dotnet/AVS/V20230301/WorkloadNetworkVMGroup.cs @@ -0,0 +1,161 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AVS.V20230301 +{ + /// + /// NSX VM Group + /// + [AzureNativeResourceType("azure-native:avs/v20230301:WorkloadNetworkVMGroup")] + public partial class WorkloadNetworkVMGroup : global::Pulumi.CustomResource + { + /// + /// Display name of the VM group. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Virtual machine members of this group. + /// + [Output("members")] + public Output> Members { get; private set; } = null!; + + /// + /// Resource name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The provisioning state + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// NSX revision number. + /// + [Output("revision")] + public Output Revision { get; private set; } = null!; + + /// + /// VM Group status. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a WorkloadNetworkVMGroup resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public WorkloadNetworkVMGroup(string name, WorkloadNetworkVMGroupArgs args, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkVMGroup", name, args ?? new WorkloadNetworkVMGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private WorkloadNetworkVMGroup(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:avs/v20230301:WorkloadNetworkVMGroup", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:avs:WorkloadNetworkVMGroup"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20200717preview:WorkloadNetworkVMGroup"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210101preview:WorkloadNetworkVMGroup"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkVMGroup"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkVMGroup"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkVMGroup"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing WorkloadNetworkVMGroup resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static WorkloadNetworkVMGroup Get(string name, Input id, CustomResourceOptions? options = null) + { + return new WorkloadNetworkVMGroup(name, id, options); + } + } + + public sealed class WorkloadNetworkVMGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// Display name of the VM group. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + [Input("members")] + private InputList? _members; + + /// + /// Virtual machine members of this group. + /// + public InputList Members + { + get => _members ?? (_members = new InputList()); + set => _members = value; + } + + /// + /// Name of the private cloud + /// + [Input("privateCloudName", required: true)] + public Input PrivateCloudName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// NSX revision number. + /// + [Input("revision")] + public Input? Revision { get; set; } + + /// + /// NSX VM Group identifier. Generally the same as the VM Group's display name + /// + [Input("vmGroupId")] + public Input? VmGroupId { get; set; } + + public WorkloadNetworkVMGroupArgs() + { + } + public static new WorkloadNetworkVMGroupArgs Empty => new WorkloadNetworkVMGroupArgs(); + } +} diff --git a/sdk/dotnet/AVS/WorkloadNetworkDhcp.cs b/sdk/dotnet/AVS/WorkloadNetworkDhcp.cs index 50365374446b..9b4b42f12d10 100644 --- a/sdk/dotnet/AVS/WorkloadNetworkDhcp.cs +++ b/sdk/dotnet/AVS/WorkloadNetworkDhcp.cs @@ -64,6 +64,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkDhcp"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkDhcp"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkDhcp"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkDhcp"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/WorkloadNetworkDnsService.cs b/sdk/dotnet/AVS/WorkloadNetworkDnsService.cs index 35839b8f0dd5..fd6e3513e790 100644 --- a/sdk/dotnet/AVS/WorkloadNetworkDnsService.cs +++ b/sdk/dotnet/AVS/WorkloadNetworkDnsService.cs @@ -106,6 +106,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkDnsService"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkDnsService"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkDnsService"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkDnsService"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/WorkloadNetworkDnsZone.cs b/sdk/dotnet/AVS/WorkloadNetworkDnsZone.cs index 47f039eac21d..72f0e8405678 100644 --- a/sdk/dotnet/AVS/WorkloadNetworkDnsZone.cs +++ b/sdk/dotnet/AVS/WorkloadNetworkDnsZone.cs @@ -100,6 +100,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkDnsZone"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkDnsZone"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkDnsZone"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkDnsZone"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/WorkloadNetworkPortMirroring.cs b/sdk/dotnet/AVS/WorkloadNetworkPortMirroring.cs index 10529f531c75..101e15fb2fcf 100644 --- a/sdk/dotnet/AVS/WorkloadNetworkPortMirroring.cs +++ b/sdk/dotnet/AVS/WorkloadNetworkPortMirroring.cs @@ -100,6 +100,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkPortMirroring"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkPortMirroring"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkPortMirroring"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkPortMirroring"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/WorkloadNetworkPublicIP.cs b/sdk/dotnet/AVS/WorkloadNetworkPublicIP.cs index 6a254d314ada..79b3860676c5 100644 --- a/sdk/dotnet/AVS/WorkloadNetworkPublicIP.cs +++ b/sdk/dotnet/AVS/WorkloadNetworkPublicIP.cs @@ -80,6 +80,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkPublicIP"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkPublicIP"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkPublicIP"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkPublicIP"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/WorkloadNetworkSegment.cs b/sdk/dotnet/AVS/WorkloadNetworkSegment.cs index aa39baec7de0..f8e12079cb5e 100644 --- a/sdk/dotnet/AVS/WorkloadNetworkSegment.cs +++ b/sdk/dotnet/AVS/WorkloadNetworkSegment.cs @@ -100,6 +100,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkSegment"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkSegment"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkSegment"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkSegment"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AVS/WorkloadNetworkVMGroup.cs b/sdk/dotnet/AVS/WorkloadNetworkVMGroup.cs index f183c0b2e2b0..16b2bbf1d6a4 100644 --- a/sdk/dotnet/AVS/WorkloadNetworkVMGroup.cs +++ b/sdk/dotnet/AVS/WorkloadNetworkVMGroup.cs @@ -88,6 +88,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:avs/v20210601:WorkloadNetworkVMGroup"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20211201:WorkloadNetworkVMGroup"}, new global::Pulumi.Alias { Type = "azure-native:avs/v20220501:WorkloadNetworkVMGroup"}, + new global::Pulumi.Alias { Type = "azure-native:avs/v20230301:WorkloadNetworkVMGroup"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/AppPlatform/Outputs/ClusterResourcePropertiesResponse.cs b/sdk/dotnet/AppPlatform/Outputs/ClusterResourcePropertiesResponse.cs index d43b5da733a8..95dfd1a4d40d 100644 --- a/sdk/dotnet/AppPlatform/Outputs/ClusterResourcePropertiesResponse.cs +++ b/sdk/dotnet/AppPlatform/Outputs/ClusterResourcePropertiesResponse.cs @@ -45,7 +45,7 @@ public sealed class ClusterResourcePropertiesResponse /// public readonly string ProvisioningState; /// - /// ServiceInstanceEntity GUID which uniquely identifies a created resource + /// ServiceInstanceEntity Id which uniquely identifies a created resource /// public readonly string ServiceId; /// diff --git a/sdk/dotnet/AppPlatform/Outputs/DevToolPortalComponentResponse.cs b/sdk/dotnet/AppPlatform/Outputs/DevToolPortalComponentResponse.cs new file mode 100644 index 000000000000..4c5fb89dc4a5 --- /dev/null +++ b/sdk/dotnet/AppPlatform/Outputs/DevToolPortalComponentResponse.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AppPlatform.Outputs +{ + + [OutputType] + public sealed class DevToolPortalComponentResponse + { + /// + /// Collection of instances belong to Dev Tool Portal. + /// + public readonly ImmutableArray Instances; + public readonly string Name; + /// + /// The requested resource quantity for required CPU and Memory. + /// + public readonly Outputs.DevToolPortalResourceRequestsResponse ResourceRequests; + + [OutputConstructor] + private DevToolPortalComponentResponse( + ImmutableArray instances, + + string name, + + Outputs.DevToolPortalResourceRequestsResponse resourceRequests) + { + Instances = instances; + Name = name; + ResourceRequests = resourceRequests; + } + } +} diff --git a/sdk/dotnet/AppPlatform/Outputs/DevToolPortalPropertiesResponse.cs b/sdk/dotnet/AppPlatform/Outputs/DevToolPortalPropertiesResponse.cs index 275de42b0819..dccc6ed4179d 100644 --- a/sdk/dotnet/AppPlatform/Outputs/DevToolPortalPropertiesResponse.cs +++ b/sdk/dotnet/AppPlatform/Outputs/DevToolPortalPropertiesResponse.cs @@ -17,13 +17,13 @@ namespace Pulumi.AzureNative.AppPlatform.Outputs public sealed class DevToolPortalPropertiesResponse { /// - /// Settings for Dev Tool Portal + /// Collection of components belong to Dev Tool Portal. /// - public readonly Outputs.DevToolPortalFeatureSettingsResponse? Features; + public readonly ImmutableArray Components; /// - /// Collection of instances belong to Dev Tool Portal. + /// Settings for Dev Tool Portal /// - public readonly ImmutableArray Instances; + public readonly Outputs.DevToolPortalFeatureSettingsResponse? Features; /// /// State of the Dev Tool Portal. /// @@ -33,10 +33,6 @@ public sealed class DevToolPortalPropertiesResponse /// public readonly bool? Public; /// - /// The requested resource quantity for required CPU and Memory. - /// - public readonly Outputs.DevToolPortalResourceRequestsResponse ResourceRequests; - /// /// Single sign-on related configuration /// public readonly Outputs.DevToolPortalSsoPropertiesResponse? SsoProperties; @@ -47,25 +43,22 @@ public sealed class DevToolPortalPropertiesResponse [OutputConstructor] private DevToolPortalPropertiesResponse( - Outputs.DevToolPortalFeatureSettingsResponse? features, + ImmutableArray components, - ImmutableArray instances, + Outputs.DevToolPortalFeatureSettingsResponse? features, string provisioningState, bool? @public, - Outputs.DevToolPortalResourceRequestsResponse resourceRequests, - Outputs.DevToolPortalSsoPropertiesResponse? ssoProperties, string url) { + Components = components; Features = features; - Instances = instances; ProvisioningState = provisioningState; Public = @public; - ResourceRequests = resourceRequests; SsoProperties = ssoProperties; Url = url; } diff --git a/sdk/dotnet/AppPlatform/V20230501Preview/Outputs/ClusterResourcePropertiesResponse.cs b/sdk/dotnet/AppPlatform/V20230501Preview/Outputs/ClusterResourcePropertiesResponse.cs index 95c3a3f73cda..b6595ef40faf 100644 --- a/sdk/dotnet/AppPlatform/V20230501Preview/Outputs/ClusterResourcePropertiesResponse.cs +++ b/sdk/dotnet/AppPlatform/V20230501Preview/Outputs/ClusterResourcePropertiesResponse.cs @@ -45,7 +45,7 @@ public sealed class ClusterResourcePropertiesResponse /// public readonly string ProvisioningState; /// - /// ServiceInstanceEntity GUID which uniquely identifies a created resource + /// ServiceInstanceEntity Id which uniquely identifies a created resource /// public readonly string ServiceId; /// diff --git a/sdk/dotnet/AppPlatform/V20230501Preview/Outputs/DevToolPortalComponentResponse.cs b/sdk/dotnet/AppPlatform/V20230501Preview/Outputs/DevToolPortalComponentResponse.cs new file mode 100644 index 000000000000..6b2577fb30ae --- /dev/null +++ b/sdk/dotnet/AppPlatform/V20230501Preview/Outputs/DevToolPortalComponentResponse.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.AppPlatform.V20230501Preview.Outputs +{ + + [OutputType] + public sealed class DevToolPortalComponentResponse + { + /// + /// Collection of instances belong to Dev Tool Portal. + /// + public readonly ImmutableArray Instances; + public readonly string Name; + /// + /// The requested resource quantity for required CPU and Memory. + /// + public readonly Outputs.DevToolPortalResourceRequestsResponse ResourceRequests; + + [OutputConstructor] + private DevToolPortalComponentResponse( + ImmutableArray instances, + + string name, + + Outputs.DevToolPortalResourceRequestsResponse resourceRequests) + { + Instances = instances; + Name = name; + ResourceRequests = resourceRequests; + } + } +} diff --git a/sdk/dotnet/AppPlatform/V20230501Preview/Outputs/DevToolPortalPropertiesResponse.cs b/sdk/dotnet/AppPlatform/V20230501Preview/Outputs/DevToolPortalPropertiesResponse.cs index 78c5bbce9751..9309dedb35bd 100644 --- a/sdk/dotnet/AppPlatform/V20230501Preview/Outputs/DevToolPortalPropertiesResponse.cs +++ b/sdk/dotnet/AppPlatform/V20230501Preview/Outputs/DevToolPortalPropertiesResponse.cs @@ -17,13 +17,13 @@ namespace Pulumi.AzureNative.AppPlatform.V20230501Preview.Outputs public sealed class DevToolPortalPropertiesResponse { /// - /// Settings for Dev Tool Portal + /// Collection of components belong to Dev Tool Portal. /// - public readonly Outputs.DevToolPortalFeatureSettingsResponse? Features; + public readonly ImmutableArray Components; /// - /// Collection of instances belong to Dev Tool Portal. + /// Settings for Dev Tool Portal /// - public readonly ImmutableArray Instances; + public readonly Outputs.DevToolPortalFeatureSettingsResponse? Features; /// /// State of the Dev Tool Portal. /// @@ -33,10 +33,6 @@ public sealed class DevToolPortalPropertiesResponse /// public readonly bool? Public; /// - /// The requested resource quantity for required CPU and Memory. - /// - public readonly Outputs.DevToolPortalResourceRequestsResponse ResourceRequests; - /// /// Single sign-on related configuration /// public readonly Outputs.DevToolPortalSsoPropertiesResponse? SsoProperties; @@ -47,25 +43,22 @@ public sealed class DevToolPortalPropertiesResponse [OutputConstructor] private DevToolPortalPropertiesResponse( - Outputs.DevToolPortalFeatureSettingsResponse? features, + ImmutableArray components, - ImmutableArray instances, + Outputs.DevToolPortalFeatureSettingsResponse? features, string provisioningState, bool? @public, - Outputs.DevToolPortalResourceRequestsResponse resourceRequests, - Outputs.DevToolPortalSsoPropertiesResponse? ssoProperties, string url) { + Components = components; Features = features; - Instances = instances; ProvisioningState = provisioningState; Public = @public; - ResourceRequests = resourceRequests; SsoProperties = ssoProperties; Url = url; } diff --git a/sdk/dotnet/Compute/AvailabilitySet.cs b/sdk/dotnet/Compute/AvailabilitySet.cs index fdf87df52579..0dc0e844e565 100644 --- a/sdk/dotnet/Compute/AvailabilitySet.cs +++ b/sdk/dotnet/Compute/AvailabilitySet.cs @@ -122,6 +122,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:AvailabilitySet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:AvailabilitySet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:AvailabilitySet"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/CapacityReservation.cs b/sdk/dotnet/Compute/CapacityReservation.cs index 7ce4dad16734..8e5597ab99d0 100644 --- a/sdk/dotnet/Compute/CapacityReservation.cs +++ b/sdk/dotnet/Compute/CapacityReservation.cs @@ -126,6 +126,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:CapacityReservation"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:CapacityReservation"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:CapacityReservation"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:CapacityReservation"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/CapacityReservationGroup.cs b/sdk/dotnet/Compute/CapacityReservationGroup.cs index 927985921273..778c2a50d0c5 100644 --- a/sdk/dotnet/Compute/CapacityReservationGroup.cs +++ b/sdk/dotnet/Compute/CapacityReservationGroup.cs @@ -96,6 +96,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:CapacityReservationGroup"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:CapacityReservationGroup"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:CapacityReservationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:CapacityReservationGroup"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/DedicatedHost.cs b/sdk/dotnet/Compute/DedicatedHost.cs index 7ffd4a010bf9..6639718577cc 100644 --- a/sdk/dotnet/Compute/DedicatedHost.cs +++ b/sdk/dotnet/Compute/DedicatedHost.cs @@ -138,6 +138,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:DedicatedHost"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:DedicatedHost"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:DedicatedHost"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/DedicatedHostGroup.cs b/sdk/dotnet/Compute/DedicatedHostGroup.cs index 737c51052873..7c0c470b6a66 100644 --- a/sdk/dotnet/Compute/DedicatedHostGroup.cs +++ b/sdk/dotnet/Compute/DedicatedHostGroup.cs @@ -114,6 +114,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:DedicatedHostGroup"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:DedicatedHostGroup"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:DedicatedHostGroup"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/Disk.cs b/sdk/dotnet/Compute/Disk.cs index 45312d3ecf56..043fb8b4aa68 100644 --- a/sdk/dotnet/Compute/Disk.cs +++ b/sdk/dotnet/Compute/Disk.cs @@ -299,6 +299,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:Disk"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:Disk"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:Disk"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/DiskAccess.cs b/sdk/dotnet/Compute/DiskAccess.cs index 38dd871b5233..db66b9e68eb9 100644 --- a/sdk/dotnet/Compute/DiskAccess.cs +++ b/sdk/dotnet/Compute/DiskAccess.cs @@ -99,6 +99,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:DiskAccess"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:DiskAccess"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:DiskAccess"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/DiskAccessAPrivateEndpointConnection.cs b/sdk/dotnet/Compute/DiskAccessAPrivateEndpointConnection.cs index 904a0d91f9f8..d6e4198c31cc 100644 --- a/sdk/dotnet/Compute/DiskAccessAPrivateEndpointConnection.cs +++ b/sdk/dotnet/Compute/DiskAccessAPrivateEndpointConnection.cs @@ -79,6 +79,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/DiskEncryptionSet.cs b/sdk/dotnet/Compute/DiskEncryptionSet.cs index 55ce46688702..1155f2786692 100644 --- a/sdk/dotnet/Compute/DiskEncryptionSet.cs +++ b/sdk/dotnet/Compute/DiskEncryptionSet.cs @@ -131,6 +131,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:DiskEncryptionSet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:DiskEncryptionSet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:DiskEncryptionSet"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/Image.cs b/sdk/dotnet/Compute/Image.cs index cc4d789902f5..f4fce6ab3cbf 100644 --- a/sdk/dotnet/Compute/Image.cs +++ b/sdk/dotnet/Compute/Image.cs @@ -114,6 +114,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:Image"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:Image"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:Image"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/ProximityPlacementGroup.cs b/sdk/dotnet/Compute/ProximityPlacementGroup.cs index de6e15d91ad8..a8101c35a089 100644 --- a/sdk/dotnet/Compute/ProximityPlacementGroup.cs +++ b/sdk/dotnet/Compute/ProximityPlacementGroup.cs @@ -123,6 +123,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:ProximityPlacementGroup"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:ProximityPlacementGroup"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:ProximityPlacementGroup"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/RestorePoint.cs b/sdk/dotnet/Compute/RestorePoint.cs index 59f4fc5ab4f9..d0106908478d 100644 --- a/sdk/dotnet/Compute/RestorePoint.cs +++ b/sdk/dotnet/Compute/RestorePoint.cs @@ -103,6 +103,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:RestorePoint"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:RestorePoint"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:RestorePoint"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:RestorePoint"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/RestorePointCollection.cs b/sdk/dotnet/Compute/RestorePointCollection.cs index 7d7b828ad7ad..ffc7a1891832 100644 --- a/sdk/dotnet/Compute/RestorePointCollection.cs +++ b/sdk/dotnet/Compute/RestorePointCollection.cs @@ -97,6 +97,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:RestorePointCollection"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:RestorePointCollection"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:RestorePointCollection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:RestorePointCollection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/Snapshot.cs b/sdk/dotnet/Compute/Snapshot.cs index 337247697125..14ebcd2ce860 100644 --- a/sdk/dotnet/Compute/Snapshot.cs +++ b/sdk/dotnet/Compute/Snapshot.cs @@ -239,6 +239,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:Snapshot"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/SshPublicKey.cs b/sdk/dotnet/Compute/SshPublicKey.cs index d353c19d9c54..ac9b9f689b42 100644 --- a/sdk/dotnet/Compute/SshPublicKey.cs +++ b/sdk/dotnet/Compute/SshPublicKey.cs @@ -82,6 +82,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:SshPublicKey"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:SshPublicKey"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:SshPublicKey"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20211101/RestorePoint.cs b/sdk/dotnet/Compute/V20211101/RestorePoint.cs index a52a4d2a2f73..1070489a05fd 100644 --- a/sdk/dotnet/Compute/V20211101/RestorePoint.cs +++ b/sdk/dotnet/Compute/V20211101/RestorePoint.cs @@ -102,6 +102,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:RestorePoint"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:RestorePoint"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:RestorePoint"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:RestorePoint"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20211101/VirtualMachineExtension.cs b/sdk/dotnet/Compute/V20211101/VirtualMachineExtension.cs index e57ef39c43e3..e76f884633f5 100644 --- a/sdk/dotnet/Compute/V20211101/VirtualMachineExtension.cs +++ b/sdk/dotnet/Compute/V20211101/VirtualMachineExtension.cs @@ -151,6 +151,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20211101/VirtualMachineScaleSetExtension.cs b/sdk/dotnet/Compute/V20211101/VirtualMachineScaleSetExtension.cs index 6252e3f65139..ce8a6e936665 100644 --- a/sdk/dotnet/Compute/V20211101/VirtualMachineScaleSetExtension.cs +++ b/sdk/dotnet/Compute/V20211101/VirtualMachineScaleSetExtension.cs @@ -136,6 +136,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineScaleSetExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20211101/VirtualMachineScaleSetVMExtension.cs b/sdk/dotnet/Compute/V20211101/VirtualMachineScaleSetVMExtension.cs index 062e33bd5391..0dfd03f1befa 100644 --- a/sdk/dotnet/Compute/V20211101/VirtualMachineScaleSetVMExtension.cs +++ b/sdk/dotnet/Compute/V20211101/VirtualMachineScaleSetVMExtension.cs @@ -130,6 +130,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20220702/Disk.cs b/sdk/dotnet/Compute/V20220702/Disk.cs index 843c98119848..70f04d7976d1 100644 --- a/sdk/dotnet/Compute/V20220702/Disk.cs +++ b/sdk/dotnet/Compute/V20220702/Disk.cs @@ -298,6 +298,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:Disk"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:Disk"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:Disk"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20220702/DiskAccess.cs b/sdk/dotnet/Compute/V20220702/DiskAccess.cs index 89e615dd07b9..1b680d92a931 100644 --- a/sdk/dotnet/Compute/V20220702/DiskAccess.cs +++ b/sdk/dotnet/Compute/V20220702/DiskAccess.cs @@ -98,6 +98,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:DiskAccess"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:DiskAccess"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:DiskAccess"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20220702/DiskAccessAPrivateEndpointConnection.cs b/sdk/dotnet/Compute/V20220702/DiskAccessAPrivateEndpointConnection.cs index 21f93f671193..c763c9134461 100644 --- a/sdk/dotnet/Compute/V20220702/DiskAccessAPrivateEndpointConnection.cs +++ b/sdk/dotnet/Compute/V20220702/DiskAccessAPrivateEndpointConnection.cs @@ -78,6 +78,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20220702/DiskEncryptionSet.cs b/sdk/dotnet/Compute/V20220702/DiskEncryptionSet.cs index dca810ee8405..935781fd97dc 100644 --- a/sdk/dotnet/Compute/V20220702/DiskEncryptionSet.cs +++ b/sdk/dotnet/Compute/V20220702/DiskEncryptionSet.cs @@ -130,6 +130,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:DiskEncryptionSet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:DiskEncryptionSet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:DiskEncryptionSet"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20220702/Snapshot.cs b/sdk/dotnet/Compute/V20220702/Snapshot.cs index 732ee15b2e56..856466ed3ce5 100644 --- a/sdk/dotnet/Compute/V20220702/Snapshot.cs +++ b/sdk/dotnet/Compute/V20220702/Snapshot.cs @@ -238,6 +238,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:Snapshot"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20221101/RestorePoint.cs b/sdk/dotnet/Compute/V20221101/RestorePoint.cs index 44ccf76f2119..1602a1e39427 100644 --- a/sdk/dotnet/Compute/V20221101/RestorePoint.cs +++ b/sdk/dotnet/Compute/V20221101/RestorePoint.cs @@ -102,6 +102,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:RestorePoint"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:RestorePoint"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:RestorePoint"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:RestorePoint"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230102/Disk.cs b/sdk/dotnet/Compute/V20230102/Disk.cs index 537264a30d44..fc8b339b2e54 100644 --- a/sdk/dotnet/Compute/V20230102/Disk.cs +++ b/sdk/dotnet/Compute/V20230102/Disk.cs @@ -298,6 +298,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:Disk"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:Disk"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:Disk"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230102/DiskAccess.cs b/sdk/dotnet/Compute/V20230102/DiskAccess.cs index b7de0d0b2cbe..962834d66940 100644 --- a/sdk/dotnet/Compute/V20230102/DiskAccess.cs +++ b/sdk/dotnet/Compute/V20230102/DiskAccess.cs @@ -98,6 +98,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:DiskAccess"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:DiskAccess"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:DiskAccess"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230102/DiskAccessAPrivateEndpointConnection.cs b/sdk/dotnet/Compute/V20230102/DiskAccessAPrivateEndpointConnection.cs index f7d39247fb36..3ee1086913ae 100644 --- a/sdk/dotnet/Compute/V20230102/DiskAccessAPrivateEndpointConnection.cs +++ b/sdk/dotnet/Compute/V20230102/DiskAccessAPrivateEndpointConnection.cs @@ -78,6 +78,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230102/DiskEncryptionSet.cs b/sdk/dotnet/Compute/V20230102/DiskEncryptionSet.cs index d40326f40cef..6024215a5d23 100644 --- a/sdk/dotnet/Compute/V20230102/DiskEncryptionSet.cs +++ b/sdk/dotnet/Compute/V20230102/DiskEncryptionSet.cs @@ -130,6 +130,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:DiskEncryptionSet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:DiskEncryptionSet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:DiskEncryptionSet"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230102/Snapshot.cs b/sdk/dotnet/Compute/V20230102/Snapshot.cs index 6b2f5dfac912..e236b1a4a712 100644 --- a/sdk/dotnet/Compute/V20230102/Snapshot.cs +++ b/sdk/dotnet/Compute/V20230102/Snapshot.cs @@ -238,6 +238,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230402:Snapshot"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/AvailabilitySet.cs b/sdk/dotnet/Compute/V20230301/AvailabilitySet.cs index 6714b5260da0..1eda4af186a6 100644 --- a/sdk/dotnet/Compute/V20230301/AvailabilitySet.cs +++ b/sdk/dotnet/Compute/V20230301/AvailabilitySet.cs @@ -121,6 +121,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:AvailabilitySet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:AvailabilitySet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:AvailabilitySet"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/CapacityReservation.cs b/sdk/dotnet/Compute/V20230301/CapacityReservation.cs index c9247147ba5a..77f8213d1e0d 100644 --- a/sdk/dotnet/Compute/V20230301/CapacityReservation.cs +++ b/sdk/dotnet/Compute/V20230301/CapacityReservation.cs @@ -125,6 +125,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:CapacityReservation"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:CapacityReservation"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:CapacityReservation"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:CapacityReservation"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/CapacityReservationGroup.cs b/sdk/dotnet/Compute/V20230301/CapacityReservationGroup.cs index 3da95469ee79..e002b7122601 100644 --- a/sdk/dotnet/Compute/V20230301/CapacityReservationGroup.cs +++ b/sdk/dotnet/Compute/V20230301/CapacityReservationGroup.cs @@ -95,6 +95,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:CapacityReservationGroup"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:CapacityReservationGroup"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:CapacityReservationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:CapacityReservationGroup"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/DedicatedHost.cs b/sdk/dotnet/Compute/V20230301/DedicatedHost.cs index a2197032e14e..6f083fc7ebfd 100644 --- a/sdk/dotnet/Compute/V20230301/DedicatedHost.cs +++ b/sdk/dotnet/Compute/V20230301/DedicatedHost.cs @@ -137,6 +137,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:DedicatedHost"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:DedicatedHost"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:DedicatedHost"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/DedicatedHostGroup.cs b/sdk/dotnet/Compute/V20230301/DedicatedHostGroup.cs index 216199a750bf..3b87f91947a6 100644 --- a/sdk/dotnet/Compute/V20230301/DedicatedHostGroup.cs +++ b/sdk/dotnet/Compute/V20230301/DedicatedHostGroup.cs @@ -113,6 +113,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:DedicatedHostGroup"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:DedicatedHostGroup"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:DedicatedHostGroup"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/Image.cs b/sdk/dotnet/Compute/V20230301/Image.cs index b85d49782380..036b550d526f 100644 --- a/sdk/dotnet/Compute/V20230301/Image.cs +++ b/sdk/dotnet/Compute/V20230301/Image.cs @@ -113,6 +113,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:Image"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:Image"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:Image"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/ProximityPlacementGroup.cs b/sdk/dotnet/Compute/V20230301/ProximityPlacementGroup.cs index 866b8f83786c..2d1dd8d669f9 100644 --- a/sdk/dotnet/Compute/V20230301/ProximityPlacementGroup.cs +++ b/sdk/dotnet/Compute/V20230301/ProximityPlacementGroup.cs @@ -122,6 +122,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:ProximityPlacementGroup"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:ProximityPlacementGroup"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:ProximityPlacementGroup"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/RestorePoint.cs b/sdk/dotnet/Compute/V20230301/RestorePoint.cs index 543d976f2e02..040fa0377865 100644 --- a/sdk/dotnet/Compute/V20230301/RestorePoint.cs +++ b/sdk/dotnet/Compute/V20230301/RestorePoint.cs @@ -102,6 +102,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:RestorePoint"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:RestorePoint"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:RestorePoint"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:RestorePoint"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/RestorePointCollection.cs b/sdk/dotnet/Compute/V20230301/RestorePointCollection.cs index 6535dbb2f157..7289795236b3 100644 --- a/sdk/dotnet/Compute/V20230301/RestorePointCollection.cs +++ b/sdk/dotnet/Compute/V20230301/RestorePointCollection.cs @@ -96,6 +96,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:RestorePointCollection"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:RestorePointCollection"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:RestorePointCollection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:RestorePointCollection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/SshPublicKey.cs b/sdk/dotnet/Compute/V20230301/SshPublicKey.cs index 103ed5ba6ec3..e415019370b5 100644 --- a/sdk/dotnet/Compute/V20230301/SshPublicKey.cs +++ b/sdk/dotnet/Compute/V20230301/SshPublicKey.cs @@ -81,6 +81,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:SshPublicKey"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:SshPublicKey"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:SshPublicKey"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/VirtualMachine.cs b/sdk/dotnet/Compute/V20230301/VirtualMachine.cs index 9e34a4f07eab..198c264fb4a2 100644 --- a/sdk/dotnet/Compute/V20230301/VirtualMachine.cs +++ b/sdk/dotnet/Compute/V20230301/VirtualMachine.cs @@ -271,6 +271,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachine"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachine"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachine"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/VirtualMachineExtension.cs b/sdk/dotnet/Compute/V20230301/VirtualMachineExtension.cs index d1a75d4b81fd..227656af508a 100644 --- a/sdk/dotnet/Compute/V20230301/VirtualMachineExtension.cs +++ b/sdk/dotnet/Compute/V20230301/VirtualMachineExtension.cs @@ -157,6 +157,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/VirtualMachineRunCommandByVirtualMachine.cs b/sdk/dotnet/Compute/V20230301/VirtualMachineRunCommandByVirtualMachine.cs index 5e647eb218f8..3eb8cdb0ce06 100644 --- a/sdk/dotnet/Compute/V20230301/VirtualMachineRunCommandByVirtualMachine.cs +++ b/sdk/dotnet/Compute/V20230301/VirtualMachineRunCommandByVirtualMachine.cs @@ -158,6 +158,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineRunCommandByVirtualMachine"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSet.cs b/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSet.cs index 836d42ad331d..23592c0f862c 100644 --- a/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSet.cs +++ b/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSet.cs @@ -229,6 +229,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineScaleSet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineScaleSet"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetExtension.cs b/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetExtension.cs index 38ae470fafb4..f8b27922451f 100644 --- a/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetExtension.cs +++ b/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetExtension.cs @@ -136,6 +136,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineScaleSetExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineScaleSetExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetVM.cs b/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetVM.cs index ae52f540feaa..dd5a2c998181 100644 --- a/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetVM.cs +++ b/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetVM.cs @@ -219,6 +219,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineScaleSetVM"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetVM"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineScaleSetVM"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetVMExtension.cs b/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetVMExtension.cs index 762516502b82..4e654a97981f 100644 --- a/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetVMExtension.cs +++ b/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetVMExtension.cs @@ -142,6 +142,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetVMRunCommand.cs b/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetVMRunCommand.cs index 73aaaa7eab13..e9dc08f64add 100644 --- a/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetVMRunCommand.cs +++ b/sdk/dotnet/Compute/V20230301/VirtualMachineScaleSetVMRunCommand.cs @@ -158,6 +158,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineScaleSetVMRunCommand"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/V20230402/Disk.cs b/sdk/dotnet/Compute/V20230402/Disk.cs new file mode 100644 index 000000000000..73b2bb74398a --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Disk.cs @@ -0,0 +1,528 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402 +{ + /// + /// Disk resource. + /// + [AzureNativeResourceType("azure-native:compute/v20230402:Disk")] + public partial class Disk : global::Pulumi.CustomResource + { + /// + /// Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks. + /// + [Output("burstingEnabled")] + public Output BurstingEnabled { get; private set; } = null!; + + /// + /// Latest time when bursting was last enabled on a disk. + /// + [Output("burstingEnabledTime")] + public Output BurstingEnabledTime { get; private set; } = null!; + + /// + /// Percentage complete for the background copy when a resource is created via the CopyStart operation. + /// + [Output("completionPercent")] + public Output CompletionPercent { get; private set; } = null!; + + /// + /// Disk source information. CreationData information cannot be changed after the disk has been created. + /// + [Output("creationData")] + public Output CreationData { get; private set; } = null!; + + /// + /// Additional authentication requirements when exporting or uploading to a disk or snapshot. + /// + [Output("dataAccessAuthMode")] + public Output DataAccessAuthMode { get; private set; } = null!; + + /// + /// ARM id of the DiskAccess resource for using private endpoints on disks. + /// + [Output("diskAccessId")] + public Output DiskAccessId { get; private set; } = null!; + + /// + /// The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes. + /// + [Output("diskIOPSReadOnly")] + public Output DiskIOPSReadOnly { get; private set; } = null!; + + /// + /// The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. + /// + [Output("diskIOPSReadWrite")] + public Output DiskIOPSReadWrite { get; private set; } = null!; + + /// + /// The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + /// + [Output("diskMBpsReadOnly")] + public Output DiskMBpsReadOnly { get; private set; } = null!; + + /// + /// The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + /// + [Output("diskMBpsReadWrite")] + public Output DiskMBpsReadWrite { get; private set; } = null!; + + /// + /// The size of the disk in bytes. This field is read only. + /// + [Output("diskSizeBytes")] + public Output DiskSizeBytes { get; private set; } = null!; + + /// + /// If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + /// + [Output("diskSizeGB")] + public Output DiskSizeGB { get; private set; } = null!; + + /// + /// The state of the disk. + /// + [Output("diskState")] + public Output DiskState { get; private set; } = null!; + + /// + /// Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + /// + [Output("encryption")] + public Output Encryption { get; private set; } = null!; + + /// + /// Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + /// + [Output("encryptionSettingsCollection")] + public Output EncryptionSettingsCollection { get; private set; } = null!; + + /// + /// The extended location where the disk will be created. Extended location cannot be changed. + /// + [Output("extendedLocation")] + public Output ExtendedLocation { get; private set; } = null!; + + /// + /// The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + /// + [Output("hyperVGeneration")] + public Output HyperVGeneration { get; private set; } = null!; + + /// + /// The UTC time when the ownership state of the disk was last changed i.e., the time the disk was last attached or detached from a VM or the time when the VM to which the disk was attached was deallocated or started. + /// + [Output("lastOwnershipUpdateTime")] + public Output LastOwnershipUpdateTime { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// A relative URI containing the ID of the VM that has the disk attached. + /// + [Output("managedBy")] + public Output ManagedBy { get; private set; } = null!; + + /// + /// List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs. + /// + [Output("managedByExtended")] + public Output> ManagedByExtended { get; private set; } = null!; + + /// + /// The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time. + /// + [Output("maxShares")] + public Output MaxShares { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Policy for accessing the disk via network. + /// + [Output("networkAccessPolicy")] + public Output NetworkAccessPolicy { get; private set; } = null!; + + /// + /// Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. + /// + [Output("optimizedForFrequentAttach")] + public Output OptimizedForFrequentAttach { get; private set; } = null!; + + /// + /// The Operating System type. + /// + [Output("osType")] + public Output OsType { get; private set; } = null!; + + /// + /// Properties of the disk for which update is pending. + /// + [Output("propertyUpdatesInProgress")] + public Output PropertyUpdatesInProgress { get; private set; } = null!; + + /// + /// The disk provisioning state. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Policy for controlling export on the disk. + /// + [Output("publicNetworkAccess")] + public Output PublicNetworkAccess { get; private set; } = null!; + + /// + /// Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + /// + [Output("purchasePlan")] + public Output PurchasePlan { get; private set; } = null!; + + /// + /// Contains the security related information for the resource. + /// + [Output("securityProfile")] + public Output SecurityProfile { get; private set; } = null!; + + /// + /// Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs. + /// + [Output("shareInfo")] + public Output> ShareInfo { get; private set; } = null!; + + /// + /// The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// List of supported capabilities for the image from which the OS disk was created. + /// + [Output("supportedCapabilities")] + public Output SupportedCapabilities { get; private set; } = null!; + + /// + /// Indicates the OS on a disk supports hibernation. + /// + [Output("supportsHibernation")] + public Output SupportsHibernation { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + /// + [Output("tier")] + public Output Tier { get; private set; } = null!; + + /// + /// The time when the disk was created. + /// + [Output("timeCreated")] + public Output TimeCreated { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Unique Guid identifying the resource. + /// + [Output("uniqueId")] + public Output UniqueId { get; private set; } = null!; + + /// + /// The Logical zone list for Disk. + /// + [Output("zones")] + public Output> Zones { get; private set; } = null!; + + + /// + /// Create a Disk resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Disk(string name, DiskArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230402:Disk", name, args ?? new DiskArgs(), MakeResourceOptions(options, "")) + { + } + + private Disk(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230402:Disk", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20160430preview:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20170330:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180401:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180601:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180930:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190301:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191101:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200501:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200630:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200930:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210801:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:Disk"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:Disk"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Disk resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Disk Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Disk(name, id, options); + } + } + + public sealed class DiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks. + /// + [Input("burstingEnabled")] + public Input? BurstingEnabled { get; set; } + + /// + /// Percentage complete for the background copy when a resource is created via the CopyStart operation. + /// + [Input("completionPercent")] + public Input? CompletionPercent { get; set; } + + /// + /// Disk source information. CreationData information cannot be changed after the disk has been created. + /// + [Input("creationData", required: true)] + public Input CreationData { get; set; } = null!; + + /// + /// Additional authentication requirements when exporting or uploading to a disk or snapshot. + /// + [Input("dataAccessAuthMode")] + public InputUnion? DataAccessAuthMode { get; set; } + + /// + /// ARM id of the DiskAccess resource for using private endpoints on disks. + /// + [Input("diskAccessId")] + public Input? DiskAccessId { get; set; } + + /// + /// The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes. + /// + [Input("diskIOPSReadOnly")] + public Input? DiskIOPSReadOnly { get; set; } + + /// + /// The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. + /// + [Input("diskIOPSReadWrite")] + public Input? DiskIOPSReadWrite { get; set; } + + /// + /// The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + /// + [Input("diskMBpsReadOnly")] + public Input? DiskMBpsReadOnly { get; set; } + + /// + /// The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + /// + [Input("diskMBpsReadWrite")] + public Input? DiskMBpsReadWrite { get; set; } + + /// + /// The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + /// + [Input("diskName")] + public Input? DiskName { get; set; } + + /// + /// If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + /// + [Input("diskSizeGB")] + public Input? DiskSizeGB { get; set; } + + /// + /// Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + /// + [Input("encryption")] + public Input? Encryption { get; set; } + + /// + /// Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + /// + [Input("encryptionSettingsCollection")] + public Input? EncryptionSettingsCollection { get; set; } + + /// + /// The extended location where the disk will be created. Extended location cannot be changed. + /// + [Input("extendedLocation")] + public Input? ExtendedLocation { get; set; } + + /// + /// The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + /// + [Input("hyperVGeneration")] + public InputUnion? HyperVGeneration { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time. + /// + [Input("maxShares")] + public Input? MaxShares { get; set; } + + /// + /// Policy for accessing the disk via network. + /// + [Input("networkAccessPolicy")] + public InputUnion? NetworkAccessPolicy { get; set; } + + /// + /// Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. + /// + [Input("optimizedForFrequentAttach")] + public Input? OptimizedForFrequentAttach { get; set; } + + /// + /// The Operating System type. + /// + [Input("osType")] + public Input? OsType { get; set; } + + /// + /// Policy for controlling export on the disk. + /// + [Input("publicNetworkAccess")] + public InputUnion? PublicNetworkAccess { get; set; } + + /// + /// Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + /// + [Input("purchasePlan")] + public Input? PurchasePlan { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Contains the security related information for the resource. + /// + [Input("securityProfile")] + public Input? SecurityProfile { get; set; } + + /// + /// The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + /// + [Input("sku")] + public Input? Sku { get; set; } + + /// + /// List of supported capabilities for the image from which the OS disk was created. + /// + [Input("supportedCapabilities")] + public Input? SupportedCapabilities { get; set; } + + /// + /// Indicates the OS on a disk supports hibernation. + /// + [Input("supportsHibernation")] + public Input? SupportsHibernation { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + /// + [Input("tier")] + public Input? Tier { get; set; } + + [Input("zones")] + private InputList? _zones; + + /// + /// The Logical zone list for Disk. + /// + public InputList Zones + { + get => _zones ?? (_zones = new InputList()); + set => _zones = value; + } + + public DiskArgs() + { + } + public static new DiskArgs Empty => new DiskArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/DiskAccess.cs b/sdk/dotnet/Compute/V20230402/DiskAccess.cs new file mode 100644 index 000000000000..829e5e7b7262 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/DiskAccess.cs @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402 +{ + /// + /// disk access resource. + /// + [AzureNativeResourceType("azure-native:compute/v20230402:DiskAccess")] + public partial class DiskAccess : global::Pulumi.CustomResource + { + /// + /// The extended location where the disk access will be created. Extended location cannot be changed. + /// + [Output("extendedLocation")] + public Output ExtendedLocation { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// A readonly collection of private endpoint connections created on the disk. Currently only one endpoint connection is supported. + /// + [Output("privateEndpointConnections")] + public Output> PrivateEndpointConnections { get; private set; } = null!; + + /// + /// The disk access resource provisioning state. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The time when the disk access was created. + /// + [Output("timeCreated")] + public Output TimeCreated { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a DiskAccess resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DiskAccess(string name, DiskAccessArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230402:DiskAccess", name, args ?? new DiskAccessArgs(), MakeResourceOptions(options, "")) + { + } + + private DiskAccess(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230402:DiskAccess", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200501:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200630:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200930:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210801:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:DiskAccess"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:DiskAccess"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DiskAccess resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static DiskAccess Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DiskAccess(name, id, options); + } + } + + public sealed class DiskAccessArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + /// + [Input("diskAccessName")] + public Input? DiskAccessName { get; set; } + + /// + /// The extended location where the disk access will be created. Extended location cannot be changed. + /// + [Input("extendedLocation")] + public Input? ExtendedLocation { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public DiskAccessArgs() + { + } + public static new DiskAccessArgs Empty => new DiskAccessArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/DiskAccessAPrivateEndpointConnection.cs b/sdk/dotnet/Compute/V20230402/DiskAccessAPrivateEndpointConnection.cs new file mode 100644 index 000000000000..173b86f3ff81 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/DiskAccessAPrivateEndpointConnection.cs @@ -0,0 +1,134 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402 +{ + /// + /// The Private Endpoint Connection resource. + /// + [AzureNativeResourceType("azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection")] + public partial class DiskAccessAPrivateEndpointConnection : global::Pulumi.CustomResource + { + /// + /// private endpoint connection name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The resource of private end point. + /// + [Output("privateEndpoint")] + public Output PrivateEndpoint { get; private set; } = null!; + + /// + /// A collection of information about the state of the connection between DiskAccess and Virtual Network. + /// + [Output("privateLinkServiceConnectionState")] + public Output PrivateLinkServiceConnectionState { get; private set; } = null!; + + /// + /// The provisioning state of the private endpoint connection resource. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// private endpoint connection type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a DiskAccessAPrivateEndpointConnection resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DiskAccessAPrivateEndpointConnection(string name, DiskAccessAPrivateEndpointConnectionArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection", name, args ?? new DiskAccessAPrivateEndpointConnectionArgs(), MakeResourceOptions(options, "")) + { + } + + private DiskAccessAPrivateEndpointConnection(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:DiskAccessAPrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DiskAccessAPrivateEndpointConnection resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static DiskAccessAPrivateEndpointConnection Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DiskAccessAPrivateEndpointConnection(name, id, options); + } + } + + public sealed class DiskAccessAPrivateEndpointConnectionArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + /// + [Input("diskAccessName", required: true)] + public Input DiskAccessName { get; set; } = null!; + + /// + /// The name of the private endpoint connection. + /// + [Input("privateEndpointConnectionName")] + public Input? PrivateEndpointConnectionName { get; set; } + + /// + /// A collection of information about the state of the connection between DiskAccess and Virtual Network. + /// + [Input("privateLinkServiceConnectionState", required: true)] + public Input PrivateLinkServiceConnectionState { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public DiskAccessAPrivateEndpointConnectionArgs() + { + } + public static new DiskAccessAPrivateEndpointConnectionArgs Empty => new DiskAccessAPrivateEndpointConnectionArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/DiskEncryptionSet.cs b/sdk/dotnet/Compute/V20230402/DiskEncryptionSet.cs new file mode 100644 index 000000000000..bc7ae66d1d4e --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/DiskEncryptionSet.cs @@ -0,0 +1,222 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402 +{ + /// + /// disk encryption set resource. + /// + [AzureNativeResourceType("azure-native:compute/v20230402:DiskEncryptionSet")] + public partial class DiskEncryptionSet : global::Pulumi.CustomResource + { + /// + /// The key vault key which is currently used by this disk encryption set. + /// + [Output("activeKey")] + public Output ActiveKey { get; private set; } = null!; + + /// + /// The error that was encountered during auto-key rotation. If an error is present, then auto-key rotation will not be attempted until the error on this disk encryption set is fixed. + /// + [Output("autoKeyRotationError")] + public Output AutoKeyRotationError { get; private set; } = null!; + + /// + /// The type of key used to encrypt the data of the disk. + /// + [Output("encryptionType")] + public Output EncryptionType { get; private set; } = null!; + + /// + /// Multi-tenant application client id to access key vault in a different tenant. Setting the value to 'None' will clear the property. + /// + [Output("federatedClientId")] + public Output FederatedClientId { get; private set; } = null!; + + /// + /// The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// The time when the active key of this disk encryption set was updated. + /// + [Output("lastKeyRotationTimestamp")] + public Output LastKeyRotationTimestamp { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation. + /// + [Output("previousKeys")] + public Output> PreviousKeys { get; private set; } = null!; + + /// + /// The disk encryption set provisioning state. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Set this flag to true to enable auto-updating of this disk encryption set to the latest key version. + /// + [Output("rotationToLatestKeyVersionEnabled")] + public Output RotationToLatestKeyVersionEnabled { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a DiskEncryptionSet resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DiskEncryptionSet(string name, DiskEncryptionSetArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230402:DiskEncryptionSet", name, args ?? new DiskEncryptionSetArgs(), MakeResourceOptions(options, "")) + { + } + + private DiskEncryptionSet(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230402:DiskEncryptionSet", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191101:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200501:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200630:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200930:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210801:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:DiskEncryptionSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:DiskEncryptionSet"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DiskEncryptionSet resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static DiskEncryptionSet Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DiskEncryptionSet(name, id, options); + } + } + + public sealed class DiskEncryptionSetArgs : global::Pulumi.ResourceArgs + { + /// + /// The key vault key which is currently used by this disk encryption set. + /// + [Input("activeKey")] + public Input? ActiveKey { get; set; } + + /// + /// The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + /// + [Input("diskEncryptionSetName")] + public Input? DiskEncryptionSetName { get; set; } + + /// + /// The type of key used to encrypt the data of the disk. + /// + [Input("encryptionType")] + public InputUnion? EncryptionType { get; set; } + + /// + /// Multi-tenant application client id to access key vault in a different tenant. Setting the value to 'None' will clear the property. + /// + [Input("federatedClientId")] + public Input? FederatedClientId { get; set; } + + /// + /// The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Set this flag to true to enable auto-updating of this disk encryption set to the latest key version. + /// + [Input("rotationToLatestKeyVersionEnabled")] + public Input? RotationToLatestKeyVersionEnabled { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public DiskEncryptionSetArgs() + { + } + public static new DiskEncryptionSetArgs Empty => new DiskEncryptionSetArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Enums.cs b/sdk/dotnet/Compute/V20230402/Enums.cs new file mode 100644 index 000000000000..ff52513a980d --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Enums.cs @@ -0,0 +1,643 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.Compute.V20230402 +{ + /// + /// CPU architecture supported by an OS disk. + /// + [EnumType] + public readonly struct Architecture : IEquatable + { + private readonly string _value; + + private Architecture(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static Architecture X64 { get; } = new Architecture("x64"); + public static Architecture Arm64 { get; } = new Architecture("Arm64"); + + public static bool operator ==(Architecture left, Architecture right) => left.Equals(right); + public static bool operator !=(Architecture left, Architecture right) => !left.Equals(right); + + public static explicit operator string(Architecture value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is Architecture other && Equals(other); + public bool Equals(Architecture other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Indicates the error code if the background copy of a resource created via the CopyStart operation fails. + /// + [EnumType] + public readonly struct CopyCompletionErrorReason : IEquatable + { + private readonly string _value; + + private CopyCompletionErrorReason(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Indicates that the source snapshot was deleted while the background copy of the resource created via CopyStart operation was in progress. + /// + public static CopyCompletionErrorReason CopySourceNotFound { get; } = new CopyCompletionErrorReason("CopySourceNotFound"); + + public static bool operator ==(CopyCompletionErrorReason left, CopyCompletionErrorReason right) => left.Equals(right); + public static bool operator !=(CopyCompletionErrorReason left, CopyCompletionErrorReason right) => !left.Equals(right); + + public static explicit operator string(CopyCompletionErrorReason value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CopyCompletionErrorReason other && Equals(other); + public bool Equals(CopyCompletionErrorReason other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Additional authentication requirements when exporting or uploading to a disk or snapshot. + /// + [EnumType] + public readonly struct DataAccessAuthMode : IEquatable + { + private readonly string _value; + + private DataAccessAuthMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// When export/upload URL is used, the system checks if the user has an identity in Azure Active Directory and has necessary permissions to export/upload the data. Please refer to aka.ms/DisksAzureADAuth. + /// + public static DataAccessAuthMode AzureActiveDirectory { get; } = new DataAccessAuthMode("AzureActiveDirectory"); + /// + /// No additional authentication would be performed when accessing export/upload URL. + /// + public static DataAccessAuthMode None { get; } = new DataAccessAuthMode("None"); + + public static bool operator ==(DataAccessAuthMode left, DataAccessAuthMode right) => left.Equals(right); + public static bool operator !=(DataAccessAuthMode left, DataAccessAuthMode right) => !left.Equals(right); + + public static explicit operator string(DataAccessAuthMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DataAccessAuthMode other && Equals(other); + public bool Equals(DataAccessAuthMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// This enumerates the possible sources of a disk's creation. + /// + [EnumType] + public readonly struct DiskCreateOption : IEquatable + { + private readonly string _value; + + private DiskCreateOption(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Create an empty data disk of a size given by diskSizeGB. + /// + public static DiskCreateOption Empty { get; } = new DiskCreateOption("Empty"); + /// + /// Disk will be attached to a VM. + /// + public static DiskCreateOption Attach { get; } = new DiskCreateOption("Attach"); + /// + /// Create a new disk from a platform image specified by the given imageReference or galleryImageReference. + /// + public static DiskCreateOption FromImage { get; } = new DiskCreateOption("FromImage"); + /// + /// Create a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId. + /// + public static DiskCreateOption Import { get; } = new DiskCreateOption("Import"); + /// + /// Create a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId. + /// + public static DiskCreateOption Copy { get; } = new DiskCreateOption("Copy"); + /// + /// Create a new disk by copying from a backup recovery point. + /// + public static DiskCreateOption Restore { get; } = new DiskCreateOption("Restore"); + /// + /// Create a new disk by obtaining a write token and using it to directly upload the contents of the disk. + /// + public static DiskCreateOption Upload { get; } = new DiskCreateOption("Upload"); + /// + /// Create a new disk by using a deep copy process, where the resource creation is considered complete only after all data has been copied from the source. + /// + public static DiskCreateOption CopyStart { get; } = new DiskCreateOption("CopyStart"); + /// + /// Similar to Import create option. Create a new Trusted Launch VM or Confidential VM supported disk by importing additional blob for VM guest state specified by securityDataUri in storage account specified by storageAccountId + /// + public static DiskCreateOption ImportSecure { get; } = new DiskCreateOption("ImportSecure"); + /// + /// Similar to Upload create option. Create a new Trusted Launch VM or Confidential VM supported disk and upload using write token in both disk and VM guest state + /// + public static DiskCreateOption UploadPreparedSecure { get; } = new DiskCreateOption("UploadPreparedSecure"); + /// + /// Create a new disk by exporting from elastic san volume snapshot + /// + public static DiskCreateOption CopyFromSanSnapshot { get; } = new DiskCreateOption("CopyFromSanSnapshot"); + + public static bool operator ==(DiskCreateOption left, DiskCreateOption right) => left.Equals(right); + public static bool operator !=(DiskCreateOption left, DiskCreateOption right) => !left.Equals(right); + + public static explicit operator string(DiskCreateOption value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DiskCreateOption other && Equals(other); + public bool Equals(DiskCreateOption other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys. + /// + [EnumType] + public readonly struct DiskEncryptionSetIdentityType : IEquatable + { + private readonly string _value; + + private DiskEncryptionSetIdentityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DiskEncryptionSetIdentityType SystemAssigned { get; } = new DiskEncryptionSetIdentityType("SystemAssigned"); + public static DiskEncryptionSetIdentityType UserAssigned { get; } = new DiskEncryptionSetIdentityType("UserAssigned"); + public static DiskEncryptionSetIdentityType SystemAssigned_UserAssigned { get; } = new DiskEncryptionSetIdentityType("SystemAssigned, UserAssigned"); + public static DiskEncryptionSetIdentityType None { get; } = new DiskEncryptionSetIdentityType("None"); + + public static bool operator ==(DiskEncryptionSetIdentityType left, DiskEncryptionSetIdentityType right) => left.Equals(right); + public static bool operator !=(DiskEncryptionSetIdentityType left, DiskEncryptionSetIdentityType right) => !left.Equals(right); + + public static explicit operator string(DiskEncryptionSetIdentityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DiskEncryptionSetIdentityType other && Equals(other); + public bool Equals(DiskEncryptionSetIdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of key used to encrypt the data of the disk. + /// + [EnumType] + public readonly struct DiskEncryptionSetType : IEquatable + { + private readonly string _value; + + private DiskEncryptionSetType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Resource using diskEncryptionSet would be encrypted at rest with Customer managed key that can be changed and revoked by a customer. + /// + public static DiskEncryptionSetType EncryptionAtRestWithCustomerKey { get; } = new DiskEncryptionSetType("EncryptionAtRestWithCustomerKey"); + /// + /// Resource using diskEncryptionSet would be encrypted at rest with two layers of encryption. One of the keys is Customer managed and the other key is Platform managed. + /// + public static DiskEncryptionSetType EncryptionAtRestWithPlatformAndCustomerKeys { get; } = new DiskEncryptionSetType("EncryptionAtRestWithPlatformAndCustomerKeys"); + /// + /// Confidential VM supported disk and VM guest state would be encrypted with customer managed key. + /// + public static DiskEncryptionSetType ConfidentialVmEncryptedWithCustomerKey { get; } = new DiskEncryptionSetType("ConfidentialVmEncryptedWithCustomerKey"); + + public static bool operator ==(DiskEncryptionSetType left, DiskEncryptionSetType right) => left.Equals(right); + public static bool operator !=(DiskEncryptionSetType left, DiskEncryptionSetType right) => !left.Equals(right); + + public static explicit operator string(DiskEncryptionSetType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DiskEncryptionSetType other && Equals(other); + public bool Equals(DiskEncryptionSetType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the SecurityType of the VM. Applicable for OS disks only. + /// + [EnumType] + public readonly struct DiskSecurityTypes : IEquatable + { + private readonly string _value; + + private DiskSecurityTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Trusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM) + /// + public static DiskSecurityTypes TrustedLaunch { get; } = new DiskSecurityTypes("TrustedLaunch"); + /// + /// Indicates Confidential VM disk with only VM guest state encrypted + /// + public static DiskSecurityTypes ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey { get; } = new DiskSecurityTypes("ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey"); + /// + /// Indicates Confidential VM disk with both OS disk and VM guest state encrypted with a platform managed key + /// + public static DiskSecurityTypes ConfidentialVM_DiskEncryptedWithPlatformKey { get; } = new DiskSecurityTypes("ConfidentialVM_DiskEncryptedWithPlatformKey"); + /// + /// Indicates Confidential VM disk with both OS disk and VM guest state encrypted with a customer managed key + /// + public static DiskSecurityTypes ConfidentialVM_DiskEncryptedWithCustomerKey { get; } = new DiskSecurityTypes("ConfidentialVM_DiskEncryptedWithCustomerKey"); + + public static bool operator ==(DiskSecurityTypes left, DiskSecurityTypes right) => left.Equals(right); + public static bool operator !=(DiskSecurityTypes left, DiskSecurityTypes right) => !left.Equals(right); + + public static explicit operator string(DiskSecurityTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DiskSecurityTypes other && Equals(other); + public bool Equals(DiskSecurityTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The sku name. + /// + [EnumType] + public readonly struct DiskStorageAccountTypes : IEquatable + { + private readonly string _value; + + private DiskStorageAccountTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access. + /// + public static DiskStorageAccountTypes Standard_LRS { get; } = new DiskStorageAccountTypes("Standard_LRS"); + /// + /// Premium SSD locally redundant storage. Best for production and performance sensitive workloads. + /// + public static DiskStorageAccountTypes Premium_LRS { get; } = new DiskStorageAccountTypes("Premium_LRS"); + /// + /// Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test. + /// + public static DiskStorageAccountTypes StandardSSD_LRS { get; } = new DiskStorageAccountTypes("StandardSSD_LRS"); + /// + /// Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads. + /// + public static DiskStorageAccountTypes UltraSSD_LRS { get; } = new DiskStorageAccountTypes("UltraSSD_LRS"); + /// + /// Premium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures. + /// + public static DiskStorageAccountTypes Premium_ZRS { get; } = new DiskStorageAccountTypes("Premium_ZRS"); + /// + /// Standard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test that need storage resiliency against zone failures. + /// + public static DiskStorageAccountTypes StandardSSD_ZRS { get; } = new DiskStorageAccountTypes("StandardSSD_ZRS"); + /// + /// Premium SSD v2 locally redundant storage. Best for production and performance-sensitive workloads that consistently require low latency and high IOPS and throughput. + /// + public static DiskStorageAccountTypes PremiumV2_LRS { get; } = new DiskStorageAccountTypes("PremiumV2_LRS"); + + public static bool operator ==(DiskStorageAccountTypes left, DiskStorageAccountTypes right) => left.Equals(right); + public static bool operator !=(DiskStorageAccountTypes left, DiskStorageAccountTypes right) => !left.Equals(right); + + public static explicit operator string(DiskStorageAccountTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DiskStorageAccountTypes other && Equals(other); + public bool Equals(DiskStorageAccountTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of key used to encrypt the data of the disk. + /// + [EnumType] + public readonly struct EncryptionType : IEquatable + { + private readonly string _value; + + private EncryptionType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Disk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets. + /// + public static EncryptionType EncryptionAtRestWithPlatformKey { get; } = new EncryptionType("EncryptionAtRestWithPlatformKey"); + /// + /// Disk is encrypted at rest with Customer managed key that can be changed and revoked by a customer. + /// + public static EncryptionType EncryptionAtRestWithCustomerKey { get; } = new EncryptionType("EncryptionAtRestWithCustomerKey"); + /// + /// Disk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed. + /// + public static EncryptionType EncryptionAtRestWithPlatformAndCustomerKeys { get; } = new EncryptionType("EncryptionAtRestWithPlatformAndCustomerKeys"); + + public static bool operator ==(EncryptionType left, EncryptionType right) => left.Equals(right); + public static bool operator !=(EncryptionType left, EncryptionType right) => !left.Equals(right); + + public static explicit operator string(EncryptionType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is EncryptionType other && Equals(other); + public bool Equals(EncryptionType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of the extended location. + /// + [EnumType] + public readonly struct ExtendedLocationTypes : IEquatable + { + private readonly string _value; + + private ExtendedLocationTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ExtendedLocationTypes EdgeZone { get; } = new ExtendedLocationTypes("EdgeZone"); + + public static bool operator ==(ExtendedLocationTypes left, ExtendedLocationTypes right) => left.Equals(right); + public static bool operator !=(ExtendedLocationTypes left, ExtendedLocationTypes right) => !left.Equals(right); + + public static explicit operator string(ExtendedLocationTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ExtendedLocationTypes other && Equals(other); + public bool Equals(ExtendedLocationTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + /// + [EnumType] + public readonly struct HyperVGeneration : IEquatable + { + private readonly string _value; + + private HyperVGeneration(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static HyperVGeneration V1 { get; } = new HyperVGeneration("V1"); + public static HyperVGeneration V2 { get; } = new HyperVGeneration("V2"); + + public static bool operator ==(HyperVGeneration left, HyperVGeneration right) => left.Equals(right); + public static bool operator !=(HyperVGeneration left, HyperVGeneration right) => !left.Equals(right); + + public static explicit operator string(HyperVGeneration value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is HyperVGeneration other && Equals(other); + public bool Equals(HyperVGeneration other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Policy for accessing the disk via network. + /// + [EnumType] + public readonly struct NetworkAccessPolicy : IEquatable + { + private readonly string _value; + + private NetworkAccessPolicy(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// The disk can be exported or uploaded to from any network. + /// + public static NetworkAccessPolicy AllowAll { get; } = new NetworkAccessPolicy("AllowAll"); + /// + /// The disk can be exported or uploaded to using a DiskAccess resource's private endpoints. + /// + public static NetworkAccessPolicy AllowPrivate { get; } = new NetworkAccessPolicy("AllowPrivate"); + /// + /// The disk cannot be exported. + /// + public static NetworkAccessPolicy DenyAll { get; } = new NetworkAccessPolicy("DenyAll"); + + public static bool operator ==(NetworkAccessPolicy left, NetworkAccessPolicy right) => left.Equals(right); + public static bool operator !=(NetworkAccessPolicy left, NetworkAccessPolicy right) => !left.Equals(right); + + public static explicit operator string(NetworkAccessPolicy value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkAccessPolicy other && Equals(other); + public bool Equals(NetworkAccessPolicy other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The Operating System type. + /// + [EnumType] + public readonly struct OperatingSystemTypes : IEquatable + { + private readonly string _value; + + private OperatingSystemTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static OperatingSystemTypes Windows { get; } = new OperatingSystemTypes("Windows"); + public static OperatingSystemTypes Linux { get; } = new OperatingSystemTypes("Linux"); + + public static bool operator ==(OperatingSystemTypes left, OperatingSystemTypes right) => left.Equals(right); + public static bool operator !=(OperatingSystemTypes left, OperatingSystemTypes right) => !left.Equals(right); + + public static explicit operator string(OperatingSystemTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OperatingSystemTypes other && Equals(other); + public bool Equals(OperatingSystemTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + [EnumType] + public readonly struct PrivateEndpointServiceConnectionStatus : IEquatable + { + private readonly string _value; + + private PrivateEndpointServiceConnectionStatus(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PrivateEndpointServiceConnectionStatus Pending { get; } = new PrivateEndpointServiceConnectionStatus("Pending"); + public static PrivateEndpointServiceConnectionStatus Approved { get; } = new PrivateEndpointServiceConnectionStatus("Approved"); + public static PrivateEndpointServiceConnectionStatus Rejected { get; } = new PrivateEndpointServiceConnectionStatus("Rejected"); + + public static bool operator ==(PrivateEndpointServiceConnectionStatus left, PrivateEndpointServiceConnectionStatus right) => left.Equals(right); + public static bool operator !=(PrivateEndpointServiceConnectionStatus left, PrivateEndpointServiceConnectionStatus right) => !left.Equals(right); + + public static explicit operator string(PrivateEndpointServiceConnectionStatus value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PrivateEndpointServiceConnectionStatus other && Equals(other); + public bool Equals(PrivateEndpointServiceConnectionStatus other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Policy for controlling export on the disk. + /// + [EnumType] + public readonly struct PublicNetworkAccess : IEquatable + { + private readonly string _value; + + private PublicNetworkAccess(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// You can generate a SAS URI to access the underlying data of the disk publicly on the internet when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate. + /// + public static PublicNetworkAccess Enabled { get; } = new PublicNetworkAccess("Enabled"); + /// + /// You cannot access the underlying data of the disk publicly on the internet even when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate. + /// + public static PublicNetworkAccess Disabled { get; } = new PublicNetworkAccess("Disabled"); + + public static bool operator ==(PublicNetworkAccess left, PublicNetworkAccess right) => left.Equals(right); + public static bool operator !=(PublicNetworkAccess left, PublicNetworkAccess right) => !left.Equals(right); + + public static explicit operator string(PublicNetworkAccess value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PublicNetworkAccess other && Equals(other); + public bool Equals(PublicNetworkAccess other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The sku name. + /// + [EnumType] + public readonly struct SnapshotStorageAccountTypes : IEquatable + { + private readonly string _value; + + private SnapshotStorageAccountTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Standard HDD locally redundant storage + /// + public static SnapshotStorageAccountTypes Standard_LRS { get; } = new SnapshotStorageAccountTypes("Standard_LRS"); + /// + /// Premium SSD locally redundant storage + /// + public static SnapshotStorageAccountTypes Premium_LRS { get; } = new SnapshotStorageAccountTypes("Premium_LRS"); + /// + /// Standard zone redundant storage + /// + public static SnapshotStorageAccountTypes Standard_ZRS { get; } = new SnapshotStorageAccountTypes("Standard_ZRS"); + + public static bool operator ==(SnapshotStorageAccountTypes left, SnapshotStorageAccountTypes right) => left.Equals(right); + public static bool operator !=(SnapshotStorageAccountTypes left, SnapshotStorageAccountTypes right) => !left.Equals(right); + + public static explicit operator string(SnapshotStorageAccountTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SnapshotStorageAccountTypes other && Equals(other); + public bool Equals(SnapshotStorageAccountTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/Compute/V20230402/GetDisk.cs b/sdk/dotnet/Compute/V20230402/GetDisk.cs new file mode 100644 index 000000000000..9c5ee9e5ee14 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/GetDisk.cs @@ -0,0 +1,371 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402 +{ + public static class GetDisk + { + /// + /// Gets information about a disk. + /// + public static Task InvokeAsync(GetDiskArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230402:getDisk", args ?? new GetDiskArgs(), options.WithDefaults()); + + /// + /// Gets information about a disk. + /// + public static Output Invoke(GetDiskInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230402:getDisk", args ?? new GetDiskInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDiskArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + /// + [Input("diskName", required: true)] + public string DiskName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetDiskArgs() + { + } + public static new GetDiskArgs Empty => new GetDiskArgs(); + } + + public sealed class GetDiskInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + /// + [Input("diskName", required: true)] + public Input DiskName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetDiskInvokeArgs() + { + } + public static new GetDiskInvokeArgs Empty => new GetDiskInvokeArgs(); + } + + + [OutputType] + public sealed class GetDiskResult + { + /// + /// Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks. + /// + public readonly bool? BurstingEnabled; + /// + /// Latest time when bursting was last enabled on a disk. + /// + public readonly string BurstingEnabledTime; + /// + /// Percentage complete for the background copy when a resource is created via the CopyStart operation. + /// + public readonly double? CompletionPercent; + /// + /// Disk source information. CreationData information cannot be changed after the disk has been created. + /// + public readonly Outputs.CreationDataResponse CreationData; + /// + /// Additional authentication requirements when exporting or uploading to a disk or snapshot. + /// + public readonly string? DataAccessAuthMode; + /// + /// ARM id of the DiskAccess resource for using private endpoints on disks. + /// + public readonly string? DiskAccessId; + /// + /// The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes. + /// + public readonly double? DiskIOPSReadOnly; + /// + /// The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. + /// + public readonly double? DiskIOPSReadWrite; + /// + /// The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + /// + public readonly double? DiskMBpsReadOnly; + /// + /// The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + /// + public readonly double? DiskMBpsReadWrite; + /// + /// The size of the disk in bytes. This field is read only. + /// + public readonly double DiskSizeBytes; + /// + /// If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + /// + public readonly int? DiskSizeGB; + /// + /// The state of the disk. + /// + public readonly string DiskState; + /// + /// Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + /// + public readonly Outputs.EncryptionResponse? Encryption; + /// + /// Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + /// + public readonly Outputs.EncryptionSettingsCollectionResponse? EncryptionSettingsCollection; + /// + /// The extended location where the disk will be created. Extended location cannot be changed. + /// + public readonly Outputs.ExtendedLocationResponse? ExtendedLocation; + /// + /// The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + /// + public readonly string? HyperVGeneration; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The UTC time when the ownership state of the disk was last changed i.e., the time the disk was last attached or detached from a VM or the time when the VM to which the disk was attached was deallocated or started. + /// + public readonly string LastOwnershipUpdateTime; + /// + /// Resource location + /// + public readonly string Location; + /// + /// A relative URI containing the ID of the VM that has the disk attached. + /// + public readonly string ManagedBy; + /// + /// List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs. + /// + public readonly ImmutableArray ManagedByExtended; + /// + /// The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time. + /// + public readonly int? MaxShares; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Policy for accessing the disk via network. + /// + public readonly string? NetworkAccessPolicy; + /// + /// Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. + /// + public readonly bool? OptimizedForFrequentAttach; + /// + /// The Operating System type. + /// + public readonly string? OsType; + /// + /// Properties of the disk for which update is pending. + /// + public readonly Outputs.PropertyUpdatesInProgressResponse PropertyUpdatesInProgress; + /// + /// The disk provisioning state. + /// + public readonly string ProvisioningState; + /// + /// Policy for controlling export on the disk. + /// + public readonly string? PublicNetworkAccess; + /// + /// Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + /// + public readonly Outputs.PurchasePlanResponse? PurchasePlan; + /// + /// Contains the security related information for the resource. + /// + public readonly Outputs.DiskSecurityProfileResponse? SecurityProfile; + /// + /// Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs. + /// + public readonly ImmutableArray ShareInfo; + /// + /// The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + /// + public readonly Outputs.DiskSkuResponse? Sku; + /// + /// List of supported capabilities for the image from which the OS disk was created. + /// + public readonly Outputs.SupportedCapabilitiesResponse? SupportedCapabilities; + /// + /// Indicates the OS on a disk supports hibernation. + /// + public readonly bool? SupportsHibernation; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + /// + public readonly string? Tier; + /// + /// The time when the disk was created. + /// + public readonly string TimeCreated; + /// + /// Resource type + /// + public readonly string Type; + /// + /// Unique Guid identifying the resource. + /// + public readonly string UniqueId; + /// + /// The Logical zone list for Disk. + /// + public readonly ImmutableArray Zones; + + [OutputConstructor] + private GetDiskResult( + bool? burstingEnabled, + + string burstingEnabledTime, + + double? completionPercent, + + Outputs.CreationDataResponse creationData, + + string? dataAccessAuthMode, + + string? diskAccessId, + + double? diskIOPSReadOnly, + + double? diskIOPSReadWrite, + + double? diskMBpsReadOnly, + + double? diskMBpsReadWrite, + + double diskSizeBytes, + + int? diskSizeGB, + + string diskState, + + Outputs.EncryptionResponse? encryption, + + Outputs.EncryptionSettingsCollectionResponse? encryptionSettingsCollection, + + Outputs.ExtendedLocationResponse? extendedLocation, + + string? hyperVGeneration, + + string id, + + string lastOwnershipUpdateTime, + + string location, + + string managedBy, + + ImmutableArray managedByExtended, + + int? maxShares, + + string name, + + string? networkAccessPolicy, + + bool? optimizedForFrequentAttach, + + string? osType, + + Outputs.PropertyUpdatesInProgressResponse propertyUpdatesInProgress, + + string provisioningState, + + string? publicNetworkAccess, + + Outputs.PurchasePlanResponse? purchasePlan, + + Outputs.DiskSecurityProfileResponse? securityProfile, + + ImmutableArray shareInfo, + + Outputs.DiskSkuResponse? sku, + + Outputs.SupportedCapabilitiesResponse? supportedCapabilities, + + bool? supportsHibernation, + + ImmutableDictionary? tags, + + string? tier, + + string timeCreated, + + string type, + + string uniqueId, + + ImmutableArray zones) + { + BurstingEnabled = burstingEnabled; + BurstingEnabledTime = burstingEnabledTime; + CompletionPercent = completionPercent; + CreationData = creationData; + DataAccessAuthMode = dataAccessAuthMode; + DiskAccessId = diskAccessId; + DiskIOPSReadOnly = diskIOPSReadOnly; + DiskIOPSReadWrite = diskIOPSReadWrite; + DiskMBpsReadOnly = diskMBpsReadOnly; + DiskMBpsReadWrite = diskMBpsReadWrite; + DiskSizeBytes = diskSizeBytes; + DiskSizeGB = diskSizeGB; + DiskState = diskState; + Encryption = encryption; + EncryptionSettingsCollection = encryptionSettingsCollection; + ExtendedLocation = extendedLocation; + HyperVGeneration = hyperVGeneration; + Id = id; + LastOwnershipUpdateTime = lastOwnershipUpdateTime; + Location = location; + ManagedBy = managedBy; + ManagedByExtended = managedByExtended; + MaxShares = maxShares; + Name = name; + NetworkAccessPolicy = networkAccessPolicy; + OptimizedForFrequentAttach = optimizedForFrequentAttach; + OsType = osType; + PropertyUpdatesInProgress = propertyUpdatesInProgress; + ProvisioningState = provisioningState; + PublicNetworkAccess = publicNetworkAccess; + PurchasePlan = purchasePlan; + SecurityProfile = securityProfile; + ShareInfo = shareInfo; + Sku = sku; + SupportedCapabilities = supportedCapabilities; + SupportsHibernation = supportsHibernation; + Tags = tags; + Tier = tier; + TimeCreated = timeCreated; + Type = type; + UniqueId = uniqueId; + Zones = zones; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/GetDiskAccess.cs b/sdk/dotnet/Compute/V20230402/GetDiskAccess.cs new file mode 100644 index 000000000000..0bc15632585e --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/GetDiskAccess.cs @@ -0,0 +1,140 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402 +{ + public static class GetDiskAccess + { + /// + /// Gets information about a disk access resource. + /// + public static Task InvokeAsync(GetDiskAccessArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230402:getDiskAccess", args ?? new GetDiskAccessArgs(), options.WithDefaults()); + + /// + /// Gets information about a disk access resource. + /// + public static Output Invoke(GetDiskAccessInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230402:getDiskAccess", args ?? new GetDiskAccessInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDiskAccessArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + /// + [Input("diskAccessName", required: true)] + public string DiskAccessName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetDiskAccessArgs() + { + } + public static new GetDiskAccessArgs Empty => new GetDiskAccessArgs(); + } + + public sealed class GetDiskAccessInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + /// + [Input("diskAccessName", required: true)] + public Input DiskAccessName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetDiskAccessInvokeArgs() + { + } + public static new GetDiskAccessInvokeArgs Empty => new GetDiskAccessInvokeArgs(); + } + + + [OutputType] + public sealed class GetDiskAccessResult + { + /// + /// The extended location where the disk access will be created. Extended location cannot be changed. + /// + public readonly Outputs.ExtendedLocationResponse? ExtendedLocation; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// A readonly collection of private endpoint connections created on the disk. Currently only one endpoint connection is supported. + /// + public readonly ImmutableArray PrivateEndpointConnections; + /// + /// The disk access resource provisioning state. + /// + public readonly string ProvisioningState; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// The time when the disk access was created. + /// + public readonly string TimeCreated; + /// + /// Resource type + /// + public readonly string Type; + + [OutputConstructor] + private GetDiskAccessResult( + Outputs.ExtendedLocationResponse? extendedLocation, + + string id, + + string location, + + string name, + + ImmutableArray privateEndpointConnections, + + string provisioningState, + + ImmutableDictionary? tags, + + string timeCreated, + + string type) + { + ExtendedLocation = extendedLocation; + Id = id; + Location = location; + Name = name; + PrivateEndpointConnections = privateEndpointConnections; + ProvisioningState = provisioningState; + Tags = tags; + TimeCreated = timeCreated; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/GetDiskAccessAPrivateEndpointConnection.cs b/sdk/dotnet/Compute/V20230402/GetDiskAccessAPrivateEndpointConnection.cs new file mode 100644 index 000000000000..69efb4a59d36 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/GetDiskAccessAPrivateEndpointConnection.cs @@ -0,0 +1,131 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402 +{ + public static class GetDiskAccessAPrivateEndpointConnection + { + /// + /// Gets information about a private endpoint connection under a disk access resource. + /// + public static Task InvokeAsync(GetDiskAccessAPrivateEndpointConnectionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230402:getDiskAccessAPrivateEndpointConnection", args ?? new GetDiskAccessAPrivateEndpointConnectionArgs(), options.WithDefaults()); + + /// + /// Gets information about a private endpoint connection under a disk access resource. + /// + public static Output Invoke(GetDiskAccessAPrivateEndpointConnectionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230402:getDiskAccessAPrivateEndpointConnection", args ?? new GetDiskAccessAPrivateEndpointConnectionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDiskAccessAPrivateEndpointConnectionArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + /// + [Input("diskAccessName", required: true)] + public string DiskAccessName { get; set; } = null!; + + /// + /// The name of the private endpoint connection. + /// + [Input("privateEndpointConnectionName", required: true)] + public string PrivateEndpointConnectionName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetDiskAccessAPrivateEndpointConnectionArgs() + { + } + public static new GetDiskAccessAPrivateEndpointConnectionArgs Empty => new GetDiskAccessAPrivateEndpointConnectionArgs(); + } + + public sealed class GetDiskAccessAPrivateEndpointConnectionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + /// + [Input("diskAccessName", required: true)] + public Input DiskAccessName { get; set; } = null!; + + /// + /// The name of the private endpoint connection. + /// + [Input("privateEndpointConnectionName", required: true)] + public Input PrivateEndpointConnectionName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetDiskAccessAPrivateEndpointConnectionInvokeArgs() + { + } + public static new GetDiskAccessAPrivateEndpointConnectionInvokeArgs Empty => new GetDiskAccessAPrivateEndpointConnectionInvokeArgs(); + } + + + [OutputType] + public sealed class GetDiskAccessAPrivateEndpointConnectionResult + { + /// + /// private endpoint connection Id + /// + public readonly string Id; + /// + /// private endpoint connection name + /// + public readonly string Name; + /// + /// The resource of private end point. + /// + public readonly Outputs.PrivateEndpointResponse PrivateEndpoint; + /// + /// A collection of information about the state of the connection between DiskAccess and Virtual Network. + /// + public readonly Outputs.PrivateLinkServiceConnectionStateResponse PrivateLinkServiceConnectionState; + /// + /// The provisioning state of the private endpoint connection resource. + /// + public readonly string ProvisioningState; + /// + /// private endpoint connection type + /// + public readonly string Type; + + [OutputConstructor] + private GetDiskAccessAPrivateEndpointConnectionResult( + string id, + + string name, + + Outputs.PrivateEndpointResponse privateEndpoint, + + Outputs.PrivateLinkServiceConnectionStateResponse privateLinkServiceConnectionState, + + string provisioningState, + + string type) + { + Id = id; + Name = name; + PrivateEndpoint = privateEndpoint; + PrivateLinkServiceConnectionState = privateLinkServiceConnectionState; + ProvisioningState = provisioningState; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/GetDiskEncryptionSet.cs b/sdk/dotnet/Compute/V20230402/GetDiskEncryptionSet.cs new file mode 100644 index 000000000000..a16e76eb5544 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/GetDiskEncryptionSet.cs @@ -0,0 +1,175 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402 +{ + public static class GetDiskEncryptionSet + { + /// + /// Gets information about a disk encryption set. + /// + public static Task InvokeAsync(GetDiskEncryptionSetArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230402:getDiskEncryptionSet", args ?? new GetDiskEncryptionSetArgs(), options.WithDefaults()); + + /// + /// Gets information about a disk encryption set. + /// + public static Output Invoke(GetDiskEncryptionSetInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230402:getDiskEncryptionSet", args ?? new GetDiskEncryptionSetInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDiskEncryptionSetArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + /// + [Input("diskEncryptionSetName", required: true)] + public string DiskEncryptionSetName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetDiskEncryptionSetArgs() + { + } + public static new GetDiskEncryptionSetArgs Empty => new GetDiskEncryptionSetArgs(); + } + + public sealed class GetDiskEncryptionSetInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + /// + [Input("diskEncryptionSetName", required: true)] + public Input DiskEncryptionSetName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetDiskEncryptionSetInvokeArgs() + { + } + public static new GetDiskEncryptionSetInvokeArgs Empty => new GetDiskEncryptionSetInvokeArgs(); + } + + + [OutputType] + public sealed class GetDiskEncryptionSetResult + { + /// + /// The key vault key which is currently used by this disk encryption set. + /// + public readonly Outputs.KeyForDiskEncryptionSetResponse? ActiveKey; + /// + /// The error that was encountered during auto-key rotation. If an error is present, then auto-key rotation will not be attempted until the error on this disk encryption set is fixed. + /// + public readonly Outputs.ApiErrorResponse AutoKeyRotationError; + /// + /// The type of key used to encrypt the data of the disk. + /// + public readonly string? EncryptionType; + /// + /// Multi-tenant application client id to access key vault in a different tenant. Setting the value to 'None' will clear the property. + /// + public readonly string? FederatedClientId; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + /// + public readonly Outputs.EncryptionSetIdentityResponse? Identity; + /// + /// The time when the active key of this disk encryption set was updated. + /// + public readonly string LastKeyRotationTimestamp; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation. + /// + public readonly ImmutableArray PreviousKeys; + /// + /// The disk encryption set provisioning state. + /// + public readonly string ProvisioningState; + /// + /// Set this flag to true to enable auto-updating of this disk encryption set to the latest key version. + /// + public readonly bool? RotationToLatestKeyVersionEnabled; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Resource type + /// + public readonly string Type; + + [OutputConstructor] + private GetDiskEncryptionSetResult( + Outputs.KeyForDiskEncryptionSetResponse? activeKey, + + Outputs.ApiErrorResponse autoKeyRotationError, + + string? encryptionType, + + string? federatedClientId, + + string id, + + Outputs.EncryptionSetIdentityResponse? identity, + + string lastKeyRotationTimestamp, + + string location, + + string name, + + ImmutableArray previousKeys, + + string provisioningState, + + bool? rotationToLatestKeyVersionEnabled, + + ImmutableDictionary? tags, + + string type) + { + ActiveKey = activeKey; + AutoKeyRotationError = autoKeyRotationError; + EncryptionType = encryptionType; + FederatedClientId = federatedClientId; + Id = id; + Identity = identity; + LastKeyRotationTimestamp = lastKeyRotationTimestamp; + Location = location; + Name = name; + PreviousKeys = previousKeys; + ProvisioningState = provisioningState; + RotationToLatestKeyVersionEnabled = rotationToLatestKeyVersionEnabled; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/GetSnapshot.cs b/sdk/dotnet/Compute/V20230402/GetSnapshot.cs new file mode 100644 index 000000000000..94859c2b4389 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/GetSnapshot.cs @@ -0,0 +1,294 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402 +{ + public static class GetSnapshot + { + /// + /// Gets information about a snapshot. + /// + public static Task InvokeAsync(GetSnapshotArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230402:getSnapshot", args ?? new GetSnapshotArgs(), options.WithDefaults()); + + /// + /// Gets information about a snapshot. + /// + public static Output Invoke(GetSnapshotInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230402:getSnapshot", args ?? new GetSnapshotInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSnapshotArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters. + /// + [Input("snapshotName", required: true)] + public string SnapshotName { get; set; } = null!; + + public GetSnapshotArgs() + { + } + public static new GetSnapshotArgs Empty => new GetSnapshotArgs(); + } + + public sealed class GetSnapshotInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters. + /// + [Input("snapshotName", required: true)] + public Input SnapshotName { get; set; } = null!; + + public GetSnapshotInvokeArgs() + { + } + public static new GetSnapshotInvokeArgs Empty => new GetSnapshotInvokeArgs(); + } + + + [OutputType] + public sealed class GetSnapshotResult + { + /// + /// Percentage complete for the background copy when a resource is created via the CopyStart operation. + /// + public readonly double? CompletionPercent; + /// + /// Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + /// + public readonly Outputs.CopyCompletionErrorResponse? CopyCompletionError; + /// + /// Disk source information. CreationData information cannot be changed after the disk has been created. + /// + public readonly Outputs.CreationDataResponse CreationData; + /// + /// Additional authentication requirements when exporting or uploading to a disk or snapshot. + /// + public readonly string? DataAccessAuthMode; + /// + /// ARM id of the DiskAccess resource for using private endpoints on disks. + /// + public readonly string? DiskAccessId; + /// + /// The size of the disk in bytes. This field is read only. + /// + public readonly double DiskSizeBytes; + /// + /// If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + /// + public readonly int? DiskSizeGB; + /// + /// The state of the snapshot. + /// + public readonly string DiskState; + /// + /// Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + /// + public readonly Outputs.EncryptionResponse? Encryption; + /// + /// Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + /// + public readonly Outputs.EncryptionSettingsCollectionResponse? EncryptionSettingsCollection; + /// + /// The extended location where the snapshot will be created. Extended location cannot be changed. + /// + public readonly Outputs.ExtendedLocationResponse? ExtendedLocation; + /// + /// The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + /// + public readonly string? HyperVGeneration; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + /// + public readonly bool? Incremental; + /// + /// Incremental snapshots for a disk share an incremental snapshot family id. The Get Page Range Diff API can only be called on incremental snapshots with the same family id. + /// + public readonly string IncrementalSnapshotFamilyId; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Unused. Always Null. + /// + public readonly string ManagedBy; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Policy for accessing the disk via network. + /// + public readonly string? NetworkAccessPolicy; + /// + /// The Operating System type. + /// + public readonly string? OsType; + /// + /// The disk provisioning state. + /// + public readonly string ProvisioningState; + /// + /// Policy for controlling export on the disk. + /// + public readonly string? PublicNetworkAccess; + /// + /// Purchase plan information for the image from which the source disk for the snapshot was originally created. + /// + public readonly Outputs.PurchasePlanResponse? PurchasePlan; + /// + /// Contains the security related information for the resource. + /// + public readonly Outputs.DiskSecurityProfileResponse? SecurityProfile; + /// + /// The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + /// + public readonly Outputs.SnapshotSkuResponse? Sku; + /// + /// List of supported capabilities for the image from which the source disk from the snapshot was originally created. + /// + public readonly Outputs.SupportedCapabilitiesResponse? SupportedCapabilities; + /// + /// Indicates the OS on a snapshot supports hibernation. + /// + public readonly bool? SupportsHibernation; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// The time when the snapshot was created. + /// + public readonly string TimeCreated; + /// + /// Resource type + /// + public readonly string Type; + /// + /// Unique Guid identifying the resource. + /// + public readonly string UniqueId; + + [OutputConstructor] + private GetSnapshotResult( + double? completionPercent, + + Outputs.CopyCompletionErrorResponse? copyCompletionError, + + Outputs.CreationDataResponse creationData, + + string? dataAccessAuthMode, + + string? diskAccessId, + + double diskSizeBytes, + + int? diskSizeGB, + + string diskState, + + Outputs.EncryptionResponse? encryption, + + Outputs.EncryptionSettingsCollectionResponse? encryptionSettingsCollection, + + Outputs.ExtendedLocationResponse? extendedLocation, + + string? hyperVGeneration, + + string id, + + bool? incremental, + + string incrementalSnapshotFamilyId, + + string location, + + string managedBy, + + string name, + + string? networkAccessPolicy, + + string? osType, + + string provisioningState, + + string? publicNetworkAccess, + + Outputs.PurchasePlanResponse? purchasePlan, + + Outputs.DiskSecurityProfileResponse? securityProfile, + + Outputs.SnapshotSkuResponse? sku, + + Outputs.SupportedCapabilitiesResponse? supportedCapabilities, + + bool? supportsHibernation, + + ImmutableDictionary? tags, + + string timeCreated, + + string type, + + string uniqueId) + { + CompletionPercent = completionPercent; + CopyCompletionError = copyCompletionError; + CreationData = creationData; + DataAccessAuthMode = dataAccessAuthMode; + DiskAccessId = diskAccessId; + DiskSizeBytes = diskSizeBytes; + DiskSizeGB = diskSizeGB; + DiskState = diskState; + Encryption = encryption; + EncryptionSettingsCollection = encryptionSettingsCollection; + ExtendedLocation = extendedLocation; + HyperVGeneration = hyperVGeneration; + Id = id; + Incremental = incremental; + IncrementalSnapshotFamilyId = incrementalSnapshotFamilyId; + Location = location; + ManagedBy = managedBy; + Name = name; + NetworkAccessPolicy = networkAccessPolicy; + OsType = osType; + ProvisioningState = provisioningState; + PublicNetworkAccess = publicNetworkAccess; + PurchasePlan = purchasePlan; + SecurityProfile = securityProfile; + Sku = sku; + SupportedCapabilities = supportedCapabilities; + SupportsHibernation = supportsHibernation; + Tags = tags; + TimeCreated = timeCreated; + Type = type; + UniqueId = uniqueId; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/CopyCompletionErrorArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/CopyCompletionErrorArgs.cs new file mode 100644 index 000000000000..954f22a3d450 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/CopyCompletionErrorArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + /// + public sealed class CopyCompletionErrorArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates the error code if the background copy of a resource created via the CopyStart operation fails. + /// + [Input("errorCode", required: true)] + public InputUnion ErrorCode { get; set; } = null!; + + /// + /// Indicates the error message if the background copy of a resource created via the CopyStart operation fails. + /// + [Input("errorMessage", required: true)] + public Input ErrorMessage { get; set; } = null!; + + public CopyCompletionErrorArgs() + { + } + public static new CopyCompletionErrorArgs Empty => new CopyCompletionErrorArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/CreationDataArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/CreationDataArgs.cs new file mode 100644 index 000000000000..f94c93cf4354 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/CreationDataArgs.cs @@ -0,0 +1,89 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// Data used when creating a disk. + /// + public sealed class CreationDataArgs : global::Pulumi.ResourceArgs + { + /// + /// This enumerates the possible sources of a disk's creation. + /// + [Input("createOption", required: true)] + public InputUnion CreateOption { get; set; } = null!; + + /// + /// Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san volume snapshot. + /// + [Input("elasticSanResourceId")] + public Input? ElasticSanResourceId { get; set; } + + /// + /// Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + /// + [Input("galleryImageReference")] + public Input? GalleryImageReference { get; set; } + + /// + /// Disk source information for PIR or user images. + /// + [Input("imageReference")] + public Input? ImageReference { get; set; } + + /// + /// Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default. + /// + [Input("logicalSectorSize")] + public Input? LogicalSectorSize { get; set; } + + /// + /// Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + /// + [Input("performancePlus")] + public Input? PerformancePlus { get; set; } + + /// + /// If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state. + /// + [Input("securityDataUri")] + public Input? SecurityDataUri { get; set; } + + /// + /// If createOption is Copy, this is the ARM id of the source snapshot or disk. + /// + [Input("sourceResourceId")] + public Input? SourceResourceId { get; set; } + + /// + /// If createOption is Import, this is the URI of a blob to be imported into a managed disk. + /// + [Input("sourceUri")] + public Input? SourceUri { get; set; } + + /// + /// Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk. + /// + [Input("storageAccountId")] + public Input? StorageAccountId { get; set; } + + /// + /// If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer). + /// + [Input("uploadSizeBytes")] + public Input? UploadSizeBytes { get; set; } + + public CreationDataArgs() + { + } + public static new CreationDataArgs Empty => new CreationDataArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/DiskSecurityProfileArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/DiskSecurityProfileArgs.cs new file mode 100644 index 000000000000..9345704b9161 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/DiskSecurityProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// Contains the security related information for the resource. + /// + public sealed class DiskSecurityProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key + /// + [Input("secureVMDiskEncryptionSetId")] + public Input? SecureVMDiskEncryptionSetId { get; set; } + + /// + /// Specifies the SecurityType of the VM. Applicable for OS disks only. + /// + [Input("securityType")] + public InputUnion? SecurityType { get; set; } + + public DiskSecurityProfileArgs() + { + } + public static new DiskSecurityProfileArgs Empty => new DiskSecurityProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/DiskSkuArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/DiskSkuArgs.cs new file mode 100644 index 000000000000..dd72581231f8 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/DiskSkuArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + /// + public sealed class DiskSkuArgs : global::Pulumi.ResourceArgs + { + /// + /// The sku name. + /// + [Input("name")] + public InputUnion? Name { get; set; } + + public DiskSkuArgs() + { + } + public static new DiskSkuArgs Empty => new DiskSkuArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/EncryptionArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/EncryptionArgs.cs new file mode 100644 index 000000000000..19e66b9f9cf4 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/EncryptionArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// Encryption at rest settings for disk or snapshot + /// + public sealed class EncryptionArgs : global::Pulumi.ResourceArgs + { + /// + /// ResourceId of the disk encryption set to use for enabling encryption at rest. + /// + [Input("diskEncryptionSetId")] + public Input? DiskEncryptionSetId { get; set; } + + /// + /// The type of key used to encrypt the data of the disk. + /// + [Input("type")] + public InputUnion? Type { get; set; } + + public EncryptionArgs() + { + } + public static new EncryptionArgs Empty => new EncryptionArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/EncryptionSetIdentityArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/EncryptionSetIdentityArgs.cs new file mode 100644 index 000000000000..5c385fcb2714 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/EncryptionSetIdentityArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + /// + public sealed class EncryptionSetIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys. + /// + [Input("type")] + public InputUnion? Type { get; set; } + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// The list of user identities associated with the disk encryption set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } + + public EncryptionSetIdentityArgs() + { + } + public static new EncryptionSetIdentityArgs Empty => new EncryptionSetIdentityArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/EncryptionSettingsCollectionArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/EncryptionSettingsCollectionArgs.cs new file mode 100644 index 000000000000..bdbe594f0caf --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/EncryptionSettingsCollectionArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// Encryption settings for disk or snapshot + /// + public sealed class EncryptionSettingsCollectionArgs : global::Pulumi.ResourceArgs + { + /// + /// Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + [Input("encryptionSettings")] + private InputList? _encryptionSettings; + + /// + /// A collection of encryption settings, one for each disk volume. + /// + public InputList EncryptionSettings + { + get => _encryptionSettings ?? (_encryptionSettings = new InputList()); + set => _encryptionSettings = value; + } + + /// + /// Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + /// + [Input("encryptionSettingsVersion")] + public Input? EncryptionSettingsVersion { get; set; } + + public EncryptionSettingsCollectionArgs() + { + } + public static new EncryptionSettingsCollectionArgs Empty => new EncryptionSettingsCollectionArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/EncryptionSettingsElementArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/EncryptionSettingsElementArgs.cs new file mode 100644 index 000000000000..0c98e1921606 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/EncryptionSettingsElementArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// Encryption settings for one disk volume. + /// + public sealed class EncryptionSettingsElementArgs : global::Pulumi.ResourceArgs + { + /// + /// Key Vault Secret Url and vault id of the disk encryption key + /// + [Input("diskEncryptionKey")] + public Input? DiskEncryptionKey { get; set; } + + /// + /// Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key. + /// + [Input("keyEncryptionKey")] + public Input? KeyEncryptionKey { get; set; } + + public EncryptionSettingsElementArgs() + { + } + public static new EncryptionSettingsElementArgs Empty => new EncryptionSettingsElementArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/ExtendedLocationArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/ExtendedLocationArgs.cs new file mode 100644 index 000000000000..cd23045b5c27 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/ExtendedLocationArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// The complex type of the extended location. + /// + public sealed class ExtendedLocationArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the extended location. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The type of the extended location. + /// + [Input("type")] + public InputUnion? Type { get; set; } + + public ExtendedLocationArgs() + { + } + public static new ExtendedLocationArgs Empty => new ExtendedLocationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/ImageDiskReferenceArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/ImageDiskReferenceArgs.cs new file mode 100644 index 000000000000..703b9c078fb6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/ImageDiskReferenceArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// The source image used for creating the disk. + /// + public sealed class ImageDiskReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// A relative uri containing a community Azure Compute Gallery image reference. + /// + [Input("communityGalleryImageId")] + public Input? CommunityGalleryImageId { get; set; } + + /// + /// A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference. + /// + [Input("id")] + public Input? Id { get; set; } + + /// + /// If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null. + /// + [Input("lun")] + public Input? Lun { get; set; } + + /// + /// A relative uri containing a direct shared Azure Compute Gallery image reference. + /// + [Input("sharedGalleryImageId")] + public Input? SharedGalleryImageId { get; set; } + + public ImageDiskReferenceArgs() + { + } + public static new ImageDiskReferenceArgs Empty => new ImageDiskReferenceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/KeyForDiskEncryptionSetArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/KeyForDiskEncryptionSetArgs.cs new file mode 100644 index 000000000000..1a81d02b89d8 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/KeyForDiskEncryptionSetArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + /// + public sealed class KeyForDiskEncryptionSetArgs : global::Pulumi.ResourceArgs + { + /// + /// Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value. + /// + [Input("keyUrl", required: true)] + public Input KeyUrl { get; set; } = null!; + + /// + /// Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription. + /// + [Input("sourceVault")] + public Input? SourceVault { get; set; } + + public KeyForDiskEncryptionSetArgs() + { + } + public static new KeyForDiskEncryptionSetArgs Empty => new KeyForDiskEncryptionSetArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/KeyVaultAndKeyReferenceArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/KeyVaultAndKeyReferenceArgs.cs new file mode 100644 index 000000000000..0403e6b16819 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/KeyVaultAndKeyReferenceArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + /// + public sealed class KeyVaultAndKeyReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// Url pointing to a key or secret in KeyVault + /// + [Input("keyUrl", required: true)] + public Input KeyUrl { get; set; } = null!; + + /// + /// Resource id of the KeyVault containing the key or secret + /// + [Input("sourceVault", required: true)] + public Input SourceVault { get; set; } = null!; + + public KeyVaultAndKeyReferenceArgs() + { + } + public static new KeyVaultAndKeyReferenceArgs Empty => new KeyVaultAndKeyReferenceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/KeyVaultAndSecretReferenceArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/KeyVaultAndSecretReferenceArgs.cs new file mode 100644 index 000000000000..8979e3b4c41b --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/KeyVaultAndSecretReferenceArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// Key Vault Secret Url and vault id of the encryption key + /// + public sealed class KeyVaultAndSecretReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// Url pointing to a key or secret in KeyVault + /// + [Input("secretUrl", required: true)] + public Input SecretUrl { get; set; } = null!; + + /// + /// Resource id of the KeyVault containing the key or secret + /// + [Input("sourceVault", required: true)] + public Input SourceVault { get; set; } = null!; + + public KeyVaultAndSecretReferenceArgs() + { + } + public static new KeyVaultAndSecretReferenceArgs Empty => new KeyVaultAndSecretReferenceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/PrivateLinkServiceConnectionStateArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/PrivateLinkServiceConnectionStateArgs.cs new file mode 100644 index 000000000000..58715b19d8cb --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/PrivateLinkServiceConnectionStateArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + public sealed class PrivateLinkServiceConnectionStateArgs : global::Pulumi.ResourceArgs + { + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + [Input("actionsRequired")] + public Input? ActionsRequired { get; set; } + + /// + /// The reason for approval/rejection of the connection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + [Input("status")] + public InputUnion? Status { get; set; } + + public PrivateLinkServiceConnectionStateArgs() + { + } + public static new PrivateLinkServiceConnectionStateArgs Empty => new PrivateLinkServiceConnectionStateArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/PurchasePlanArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/PurchasePlanArgs.cs new file mode 100644 index 000000000000..d1bb220ed1da --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/PurchasePlanArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + /// + public sealed class PurchasePlanArgs : global::Pulumi.ResourceArgs + { + /// + /// The plan ID. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + /// + [Input("product", required: true)] + public Input Product { get; set; } = null!; + + /// + /// The Offer Promotion Code. + /// + [Input("promotionCode")] + public Input? PromotionCode { get; set; } + + /// + /// The publisher ID. + /// + [Input("publisher", required: true)] + public Input Publisher { get; set; } = null!; + + public PurchasePlanArgs() + { + } + public static new PurchasePlanArgs Empty => new PurchasePlanArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/SnapshotSkuArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/SnapshotSkuArgs.cs new file mode 100644 index 000000000000..03d2dc2a0dd9 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/SnapshotSkuArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + /// + public sealed class SnapshotSkuArgs : global::Pulumi.ResourceArgs + { + /// + /// The sku name. + /// + [Input("name")] + public InputUnion? Name { get; set; } + + public SnapshotSkuArgs() + { + } + public static new SnapshotSkuArgs Empty => new SnapshotSkuArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/SourceVaultArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/SourceVaultArgs.cs new file mode 100644 index 000000000000..4564f98d59d2 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/SourceVaultArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + /// + public sealed class SourceVaultArgs : global::Pulumi.ResourceArgs + { + /// + /// Resource Id + /// + [Input("id")] + public Input? Id { get; set; } + + public SourceVaultArgs() + { + } + public static new SourceVaultArgs Empty => new SourceVaultArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Inputs/SupportedCapabilitiesArgs.cs b/sdk/dotnet/Compute/V20230402/Inputs/SupportedCapabilitiesArgs.cs new file mode 100644 index 000000000000..b52fcd2ceb74 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Inputs/SupportedCapabilitiesArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Inputs +{ + + /// + /// List of supported capabilities persisted on the disk resource for VM use. + /// + public sealed class SupportedCapabilitiesArgs : global::Pulumi.ResourceArgs + { + /// + /// True if the image from which the OS disk is created supports accelerated networking. + /// + [Input("acceleratedNetwork")] + public Input? AcceleratedNetwork { get; set; } + + /// + /// CPU architecture supported by an OS disk. + /// + [Input("architecture")] + public InputUnion? Architecture { get; set; } + + /// + /// The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI. + /// + [Input("diskControllerTypes")] + public Input? DiskControllerTypes { get; set; } + + public SupportedCapabilitiesArgs() + { + } + public static new SupportedCapabilitiesArgs Empty => new SupportedCapabilitiesArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/ApiErrorBaseResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/ApiErrorBaseResponse.cs new file mode 100644 index 000000000000..b1c081998f17 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/ApiErrorBaseResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Api error base. + /// + [OutputType] + public sealed class ApiErrorBaseResponse + { + /// + /// The error code. + /// + public readonly string? Code; + /// + /// The error message. + /// + public readonly string? Message; + /// + /// The target of the particular error. + /// + public readonly string? Target; + + [OutputConstructor] + private ApiErrorBaseResponse( + string? code, + + string? message, + + string? target) + { + Code = code; + Message = message; + Target = target; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/ApiErrorResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/ApiErrorResponse.cs new file mode 100644 index 000000000000..c79e8885a28f --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/ApiErrorResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Api error. + /// + [OutputType] + public sealed class ApiErrorResponse + { + /// + /// The error code. + /// + public readonly string? Code; + /// + /// The Api error details + /// + public readonly ImmutableArray Details; + /// + /// The Api inner error + /// + public readonly Outputs.InnerErrorResponse? Innererror; + /// + /// The error message. + /// + public readonly string? Message; + /// + /// The target of the particular error. + /// + public readonly string? Target; + + [OutputConstructor] + private ApiErrorResponse( + string? code, + + ImmutableArray details, + + Outputs.InnerErrorResponse? innererror, + + string? message, + + string? target) + { + Code = code; + Details = details; + Innererror = innererror; + Message = message; + Target = target; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/CopyCompletionErrorResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/CopyCompletionErrorResponse.cs new file mode 100644 index 000000000000..c3cd24f8bf54 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/CopyCompletionErrorResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + /// + [OutputType] + public sealed class CopyCompletionErrorResponse + { + /// + /// Indicates the error code if the background copy of a resource created via the CopyStart operation fails. + /// + public readonly string ErrorCode; + /// + /// Indicates the error message if the background copy of a resource created via the CopyStart operation fails. + /// + public readonly string ErrorMessage; + + [OutputConstructor] + private CopyCompletionErrorResponse( + string errorCode, + + string errorMessage) + { + ErrorCode = errorCode; + ErrorMessage = errorMessage; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/CreationDataResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/CreationDataResponse.cs new file mode 100644 index 000000000000..ad4359a508c9 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/CreationDataResponse.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Data used when creating a disk. + /// + [OutputType] + public sealed class CreationDataResponse + { + /// + /// This enumerates the possible sources of a disk's creation. + /// + public readonly string CreateOption; + /// + /// Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san volume snapshot. + /// + public readonly string? ElasticSanResourceId; + /// + /// Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + /// + public readonly Outputs.ImageDiskReferenceResponse? GalleryImageReference; + /// + /// Disk source information for PIR or user images. + /// + public readonly Outputs.ImageDiskReferenceResponse? ImageReference; + /// + /// Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default. + /// + public readonly int? LogicalSectorSize; + /// + /// Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + /// + public readonly bool? PerformancePlus; + /// + /// If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state. + /// + public readonly string? SecurityDataUri; + /// + /// If createOption is Copy, this is the ARM id of the source snapshot or disk. + /// + public readonly string? SourceResourceId; + /// + /// If this field is set, this is the unique id identifying the source of this resource. + /// + public readonly string SourceUniqueId; + /// + /// If createOption is Import, this is the URI of a blob to be imported into a managed disk. + /// + public readonly string? SourceUri; + /// + /// Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk. + /// + public readonly string? StorageAccountId; + /// + /// If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer). + /// + public readonly double? UploadSizeBytes; + + [OutputConstructor] + private CreationDataResponse( + string createOption, + + string? elasticSanResourceId, + + Outputs.ImageDiskReferenceResponse? galleryImageReference, + + Outputs.ImageDiskReferenceResponse? imageReference, + + int? logicalSectorSize, + + bool? performancePlus, + + string? securityDataUri, + + string? sourceResourceId, + + string sourceUniqueId, + + string? sourceUri, + + string? storageAccountId, + + double? uploadSizeBytes) + { + CreateOption = createOption; + ElasticSanResourceId = elasticSanResourceId; + GalleryImageReference = galleryImageReference; + ImageReference = imageReference; + LogicalSectorSize = logicalSectorSize; + PerformancePlus = performancePlus; + SecurityDataUri = securityDataUri; + SourceResourceId = sourceResourceId; + SourceUniqueId = sourceUniqueId; + SourceUri = sourceUri; + StorageAccountId = storageAccountId; + UploadSizeBytes = uploadSizeBytes; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/DiskSecurityProfileResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/DiskSecurityProfileResponse.cs new file mode 100644 index 000000000000..c0a21a1a295f --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/DiskSecurityProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Contains the security related information for the resource. + /// + [OutputType] + public sealed class DiskSecurityProfileResponse + { + /// + /// ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key + /// + public readonly string? SecureVMDiskEncryptionSetId; + /// + /// Specifies the SecurityType of the VM. Applicable for OS disks only. + /// + public readonly string? SecurityType; + + [OutputConstructor] + private DiskSecurityProfileResponse( + string? secureVMDiskEncryptionSetId, + + string? securityType) + { + SecureVMDiskEncryptionSetId = secureVMDiskEncryptionSetId; + SecurityType = securityType; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/DiskSkuResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/DiskSkuResponse.cs new file mode 100644 index 000000000000..1e77eb53c2f3 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/DiskSkuResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + /// + [OutputType] + public sealed class DiskSkuResponse + { + /// + /// The sku name. + /// + public readonly string? Name; + /// + /// The sku tier. + /// + public readonly string Tier; + + [OutputConstructor] + private DiskSkuResponse( + string? name, + + string tier) + { + Name = name; + Tier = tier; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/EncryptionResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/EncryptionResponse.cs new file mode 100644 index 000000000000..dfeb6f874c2f --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/EncryptionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Encryption at rest settings for disk or snapshot + /// + [OutputType] + public sealed class EncryptionResponse + { + /// + /// ResourceId of the disk encryption set to use for enabling encryption at rest. + /// + public readonly string? DiskEncryptionSetId; + /// + /// The type of key used to encrypt the data of the disk. + /// + public readonly string? Type; + + [OutputConstructor] + private EncryptionResponse( + string? diskEncryptionSetId, + + string? type) + { + DiskEncryptionSetId = diskEncryptionSetId; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/EncryptionSetIdentityResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/EncryptionSetIdentityResponse.cs new file mode 100644 index 000000000000..9c824f7af66f --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/EncryptionSetIdentityResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + /// + [OutputType] + public sealed class EncryptionSetIdentityResponse + { + /// + /// The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity + /// + public readonly string PrincipalId; + /// + /// The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity + /// + public readonly string TenantId; + /// + /// The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys. + /// + public readonly string? Type; + /// + /// The list of user identities associated with the disk encryption set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + /// + public readonly ImmutableDictionary? UserAssignedIdentities; + + [OutputConstructor] + private EncryptionSetIdentityResponse( + string principalId, + + string tenantId, + + string? type, + + ImmutableDictionary? userAssignedIdentities) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + UserAssignedIdentities = userAssignedIdentities; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/EncryptionSettingsCollectionResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/EncryptionSettingsCollectionResponse.cs new file mode 100644 index 000000000000..f810b61d771c --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/EncryptionSettingsCollectionResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Encryption settings for disk or snapshot + /// + [OutputType] + public sealed class EncryptionSettingsCollectionResponse + { + /// + /// Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged. + /// + public readonly bool Enabled; + /// + /// A collection of encryption settings, one for each disk volume. + /// + public readonly ImmutableArray EncryptionSettings; + /// + /// Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + /// + public readonly string? EncryptionSettingsVersion; + + [OutputConstructor] + private EncryptionSettingsCollectionResponse( + bool enabled, + + ImmutableArray encryptionSettings, + + string? encryptionSettingsVersion) + { + Enabled = enabled; + EncryptionSettings = encryptionSettings; + EncryptionSettingsVersion = encryptionSettingsVersion; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/EncryptionSettingsElementResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/EncryptionSettingsElementResponse.cs new file mode 100644 index 000000000000..983ebea06a83 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/EncryptionSettingsElementResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Encryption settings for one disk volume. + /// + [OutputType] + public sealed class EncryptionSettingsElementResponse + { + /// + /// Key Vault Secret Url and vault id of the disk encryption key + /// + public readonly Outputs.KeyVaultAndSecretReferenceResponse? DiskEncryptionKey; + /// + /// Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key. + /// + public readonly Outputs.KeyVaultAndKeyReferenceResponse? KeyEncryptionKey; + + [OutputConstructor] + private EncryptionSettingsElementResponse( + Outputs.KeyVaultAndSecretReferenceResponse? diskEncryptionKey, + + Outputs.KeyVaultAndKeyReferenceResponse? keyEncryptionKey) + { + DiskEncryptionKey = diskEncryptionKey; + KeyEncryptionKey = keyEncryptionKey; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/ExtendedLocationResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/ExtendedLocationResponse.cs new file mode 100644 index 000000000000..fb512334c4bc --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/ExtendedLocationResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// The complex type of the extended location. + /// + [OutputType] + public sealed class ExtendedLocationResponse + { + /// + /// The name of the extended location. + /// + public readonly string? Name; + /// + /// The type of the extended location. + /// + public readonly string? Type; + + [OutputConstructor] + private ExtendedLocationResponse( + string? name, + + string? type) + { + Name = name; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/ImageDiskReferenceResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/ImageDiskReferenceResponse.cs new file mode 100644 index 000000000000..1dfd3e7c0631 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/ImageDiskReferenceResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// The source image used for creating the disk. + /// + [OutputType] + public sealed class ImageDiskReferenceResponse + { + /// + /// A relative uri containing a community Azure Compute Gallery image reference. + /// + public readonly string? CommunityGalleryImageId; + /// + /// A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference. + /// + public readonly string? Id; + /// + /// If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null. + /// + public readonly int? Lun; + /// + /// A relative uri containing a direct shared Azure Compute Gallery image reference. + /// + public readonly string? SharedGalleryImageId; + + [OutputConstructor] + private ImageDiskReferenceResponse( + string? communityGalleryImageId, + + string? id, + + int? lun, + + string? sharedGalleryImageId) + { + CommunityGalleryImageId = communityGalleryImageId; + Id = id; + Lun = lun; + SharedGalleryImageId = sharedGalleryImageId; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/InnerErrorResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/InnerErrorResponse.cs new file mode 100644 index 000000000000..47f54663b9ad --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/InnerErrorResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Inner error details. + /// + [OutputType] + public sealed class InnerErrorResponse + { + /// + /// The internal error message or exception dump. + /// + public readonly string? Errordetail; + /// + /// The exception type. + /// + public readonly string? Exceptiontype; + + [OutputConstructor] + private InnerErrorResponse( + string? errordetail, + + string? exceptiontype) + { + Errordetail = errordetail; + Exceptiontype = exceptiontype; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/KeyForDiskEncryptionSetResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/KeyForDiskEncryptionSetResponse.cs new file mode 100644 index 000000000000..4161eb3c34b3 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/KeyForDiskEncryptionSetResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + /// + [OutputType] + public sealed class KeyForDiskEncryptionSetResponse + { + /// + /// Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value. + /// + public readonly string KeyUrl; + /// + /// Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription. + /// + public readonly Outputs.SourceVaultResponse? SourceVault; + + [OutputConstructor] + private KeyForDiskEncryptionSetResponse( + string keyUrl, + + Outputs.SourceVaultResponse? sourceVault) + { + KeyUrl = keyUrl; + SourceVault = sourceVault; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/KeyVaultAndKeyReferenceResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/KeyVaultAndKeyReferenceResponse.cs new file mode 100644 index 000000000000..dca621362d39 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/KeyVaultAndKeyReferenceResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + /// + [OutputType] + public sealed class KeyVaultAndKeyReferenceResponse + { + /// + /// Url pointing to a key or secret in KeyVault + /// + public readonly string KeyUrl; + /// + /// Resource id of the KeyVault containing the key or secret + /// + public readonly Outputs.SourceVaultResponse SourceVault; + + [OutputConstructor] + private KeyVaultAndKeyReferenceResponse( + string keyUrl, + + Outputs.SourceVaultResponse sourceVault) + { + KeyUrl = keyUrl; + SourceVault = sourceVault; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/KeyVaultAndSecretReferenceResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/KeyVaultAndSecretReferenceResponse.cs new file mode 100644 index 000000000000..d5937185f955 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/KeyVaultAndSecretReferenceResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Key Vault Secret Url and vault id of the encryption key + /// + [OutputType] + public sealed class KeyVaultAndSecretReferenceResponse + { + /// + /// Url pointing to a key or secret in KeyVault + /// + public readonly string SecretUrl; + /// + /// Resource id of the KeyVault containing the key or secret + /// + public readonly Outputs.SourceVaultResponse SourceVault; + + [OutputConstructor] + private KeyVaultAndSecretReferenceResponse( + string secretUrl, + + Outputs.SourceVaultResponse sourceVault) + { + SecretUrl = secretUrl; + SourceVault = sourceVault; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/PrivateEndpointConnectionResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/PrivateEndpointConnectionResponse.cs new file mode 100644 index 000000000000..75af1bbbb468 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/PrivateEndpointConnectionResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// The Private Endpoint Connection resource. + /// + [OutputType] + public sealed class PrivateEndpointConnectionResponse + { + /// + /// private endpoint connection Id + /// + public readonly string Id; + /// + /// private endpoint connection name + /// + public readonly string Name; + /// + /// The resource of private end point. + /// + public readonly Outputs.PrivateEndpointResponse PrivateEndpoint; + /// + /// A collection of information about the state of the connection between DiskAccess and Virtual Network. + /// + public readonly Outputs.PrivateLinkServiceConnectionStateResponse PrivateLinkServiceConnectionState; + /// + /// The provisioning state of the private endpoint connection resource. + /// + public readonly string ProvisioningState; + /// + /// private endpoint connection type + /// + public readonly string Type; + + [OutputConstructor] + private PrivateEndpointConnectionResponse( + string id, + + string name, + + Outputs.PrivateEndpointResponse privateEndpoint, + + Outputs.PrivateLinkServiceConnectionStateResponse privateLinkServiceConnectionState, + + string provisioningState, + + string type) + { + Id = id; + Name = name; + PrivateEndpoint = privateEndpoint; + PrivateLinkServiceConnectionState = privateLinkServiceConnectionState; + ProvisioningState = provisioningState; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/PrivateEndpointResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/PrivateEndpointResponse.cs new file mode 100644 index 000000000000..e3c84cfb1cb5 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/PrivateEndpointResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// The Private Endpoint resource. + /// + [OutputType] + public sealed class PrivateEndpointResponse + { + /// + /// The ARM identifier for Private Endpoint + /// + public readonly string Id; + + [OutputConstructor] + private PrivateEndpointResponse(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/PrivateLinkServiceConnectionStateResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/PrivateLinkServiceConnectionStateResponse.cs new file mode 100644 index 000000000000..6ecd28aa00a5 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/PrivateLinkServiceConnectionStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + [OutputType] + public sealed class PrivateLinkServiceConnectionStateResponse + { + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + public readonly string? ActionsRequired; + /// + /// The reason for approval/rejection of the connection. + /// + public readonly string? Description; + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + public readonly string? Status; + + [OutputConstructor] + private PrivateLinkServiceConnectionStateResponse( + string? actionsRequired, + + string? description, + + string? status) + { + ActionsRequired = actionsRequired; + Description = description; + Status = status; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/PropertyUpdatesInProgressResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/PropertyUpdatesInProgressResponse.cs new file mode 100644 index 000000000000..55982c68c734 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/PropertyUpdatesInProgressResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Properties of the disk for which update is pending. + /// + [OutputType] + public sealed class PropertyUpdatesInProgressResponse + { + /// + /// The target performance tier of the disk if a tier change operation is in progress. + /// + public readonly string? TargetTier; + + [OutputConstructor] + private PropertyUpdatesInProgressResponse(string? targetTier) + { + TargetTier = targetTier; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/PurchasePlanResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/PurchasePlanResponse.cs new file mode 100644 index 000000000000..e89f6cb9e575 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/PurchasePlanResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + /// + [OutputType] + public sealed class PurchasePlanResponse + { + /// + /// The plan ID. + /// + public readonly string Name; + /// + /// Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + /// + public readonly string Product; + /// + /// The Offer Promotion Code. + /// + public readonly string? PromotionCode; + /// + /// The publisher ID. + /// + public readonly string Publisher; + + [OutputConstructor] + private PurchasePlanResponse( + string name, + + string product, + + string? promotionCode, + + string publisher) + { + Name = name; + Product = product; + PromotionCode = promotionCode; + Publisher = publisher; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/ShareInfoElementResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/ShareInfoElementResponse.cs new file mode 100644 index 000000000000..c94f5bacaf51 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/ShareInfoElementResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + [OutputType] + public sealed class ShareInfoElementResponse + { + /// + /// A relative URI containing the ID of the VM that has the disk attached. + /// + public readonly string VmUri; + + [OutputConstructor] + private ShareInfoElementResponse(string vmUri) + { + VmUri = vmUri; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/SnapshotSkuResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/SnapshotSkuResponse.cs new file mode 100644 index 000000000000..8b3676f74556 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/SnapshotSkuResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + /// + [OutputType] + public sealed class SnapshotSkuResponse + { + /// + /// The sku name. + /// + public readonly string? Name; + /// + /// The sku tier. + /// + public readonly string Tier; + + [OutputConstructor] + private SnapshotSkuResponse( + string? name, + + string tier) + { + Name = name; + Tier = tier; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/SourceVaultResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/SourceVaultResponse.cs new file mode 100644 index 000000000000..18072f08350a --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/SourceVaultResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + /// + [OutputType] + public sealed class SourceVaultResponse + { + /// + /// Resource Id + /// + public readonly string? Id; + + [OutputConstructor] + private SourceVaultResponse(string? id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/SupportedCapabilitiesResponse.cs b/sdk/dotnet/Compute/V20230402/Outputs/SupportedCapabilitiesResponse.cs new file mode 100644 index 000000000000..f679b67a2d0b --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/SupportedCapabilitiesResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + /// + /// List of supported capabilities persisted on the disk resource for VM use. + /// + [OutputType] + public sealed class SupportedCapabilitiesResponse + { + /// + /// True if the image from which the OS disk is created supports accelerated networking. + /// + public readonly bool? AcceleratedNetwork; + /// + /// CPU architecture supported by an OS disk. + /// + public readonly string? Architecture; + /// + /// The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI. + /// + public readonly string? DiskControllerTypes; + + [OutputConstructor] + private SupportedCapabilitiesResponse( + bool? acceleratedNetwork, + + string? architecture, + + string? diskControllerTypes) + { + AcceleratedNetwork = acceleratedNetwork; + Architecture = architecture; + DiskControllerTypes = diskControllerTypes; + } + } +} diff --git a/sdk/dotnet/Compute/V20230402/Outputs/UserAssignedIdentitiesResponseUserAssignedIdentities.cs b/sdk/dotnet/Compute/V20230402/Outputs/UserAssignedIdentitiesResponseUserAssignedIdentities.cs new file mode 100644 index 000000000000..1319c5ec31c5 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Outputs/UserAssignedIdentitiesResponseUserAssignedIdentities.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402.Outputs +{ + + [OutputType] + public sealed class UserAssignedIdentitiesResponseUserAssignedIdentities + { + /// + /// The client id of user assigned identity. + /// + public readonly string ClientId; + /// + /// The principal id of user assigned identity. + /// + public readonly string PrincipalId; + + [OutputConstructor] + private UserAssignedIdentitiesResponseUserAssignedIdentities( + string clientId, + + string principalId) + { + ClientId = clientId; + PrincipalId = principalId; + } + } +} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/README.md b/sdk/dotnet/Compute/V20230402/README.md similarity index 100% rename from sdk/dotnet/HybridCompute/V20230425Preview/README.md rename to sdk/dotnet/Compute/V20230402/README.md diff --git a/sdk/dotnet/Compute/V20230402/Snapshot.cs b/sdk/dotnet/Compute/V20230402/Snapshot.cs new file mode 100644 index 000000000000..71b300fe1bb7 --- /dev/null +++ b/sdk/dotnet/Compute/V20230402/Snapshot.cs @@ -0,0 +1,414 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230402 +{ + /// + /// Snapshot resource. + /// + [AzureNativeResourceType("azure-native:compute/v20230402:Snapshot")] + public partial class Snapshot : global::Pulumi.CustomResource + { + /// + /// Percentage complete for the background copy when a resource is created via the CopyStart operation. + /// + [Output("completionPercent")] + public Output CompletionPercent { get; private set; } = null!; + + /// + /// Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + /// + [Output("copyCompletionError")] + public Output CopyCompletionError { get; private set; } = null!; + + /// + /// Disk source information. CreationData information cannot be changed after the disk has been created. + /// + [Output("creationData")] + public Output CreationData { get; private set; } = null!; + + /// + /// Additional authentication requirements when exporting or uploading to a disk or snapshot. + /// + [Output("dataAccessAuthMode")] + public Output DataAccessAuthMode { get; private set; } = null!; + + /// + /// ARM id of the DiskAccess resource for using private endpoints on disks. + /// + [Output("diskAccessId")] + public Output DiskAccessId { get; private set; } = null!; + + /// + /// The size of the disk in bytes. This field is read only. + /// + [Output("diskSizeBytes")] + public Output DiskSizeBytes { get; private set; } = null!; + + /// + /// If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + /// + [Output("diskSizeGB")] + public Output DiskSizeGB { get; private set; } = null!; + + /// + /// The state of the snapshot. + /// + [Output("diskState")] + public Output DiskState { get; private set; } = null!; + + /// + /// Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + /// + [Output("encryption")] + public Output Encryption { get; private set; } = null!; + + /// + /// Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + /// + [Output("encryptionSettingsCollection")] + public Output EncryptionSettingsCollection { get; private set; } = null!; + + /// + /// The extended location where the snapshot will be created. Extended location cannot be changed. + /// + [Output("extendedLocation")] + public Output ExtendedLocation { get; private set; } = null!; + + /// + /// The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + /// + [Output("hyperVGeneration")] + public Output HyperVGeneration { get; private set; } = null!; + + /// + /// Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + /// + [Output("incremental")] + public Output Incremental { get; private set; } = null!; + + /// + /// Incremental snapshots for a disk share an incremental snapshot family id. The Get Page Range Diff API can only be called on incremental snapshots with the same family id. + /// + [Output("incrementalSnapshotFamilyId")] + public Output IncrementalSnapshotFamilyId { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Unused. Always Null. + /// + [Output("managedBy")] + public Output ManagedBy { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Policy for accessing the disk via network. + /// + [Output("networkAccessPolicy")] + public Output NetworkAccessPolicy { get; private set; } = null!; + + /// + /// The Operating System type. + /// + [Output("osType")] + public Output OsType { get; private set; } = null!; + + /// + /// The disk provisioning state. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Policy for controlling export on the disk. + /// + [Output("publicNetworkAccess")] + public Output PublicNetworkAccess { get; private set; } = null!; + + /// + /// Purchase plan information for the image from which the source disk for the snapshot was originally created. + /// + [Output("purchasePlan")] + public Output PurchasePlan { get; private set; } = null!; + + /// + /// Contains the security related information for the resource. + /// + [Output("securityProfile")] + public Output SecurityProfile { get; private set; } = null!; + + /// + /// The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// List of supported capabilities for the image from which the source disk from the snapshot was originally created. + /// + [Output("supportedCapabilities")] + public Output SupportedCapabilities { get; private set; } = null!; + + /// + /// Indicates the OS on a snapshot supports hibernation. + /// + [Output("supportsHibernation")] + public Output SupportsHibernation { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The time when the snapshot was created. + /// + [Output("timeCreated")] + public Output TimeCreated { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Unique Guid identifying the resource. + /// + [Output("uniqueId")] + public Output UniqueId { get; private set; } = null!; + + + /// + /// Create a Snapshot resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Snapshot(string name, SnapshotArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230402:Snapshot", name, args ?? new SnapshotArgs(), MakeResourceOptions(options, "")) + { + } + + private Snapshot(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230402:Snapshot", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20160430preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20170330:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180401:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180601:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180930:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190301:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191101:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200501:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200630:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200930:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210801:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211201:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220302:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220702:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230102:Snapshot"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Snapshot resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Snapshot Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Snapshot(name, id, options); + } + } + + public sealed class SnapshotArgs : global::Pulumi.ResourceArgs + { + /// + /// Percentage complete for the background copy when a resource is created via the CopyStart operation. + /// + [Input("completionPercent")] + public Input? CompletionPercent { get; set; } + + /// + /// Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + /// + [Input("copyCompletionError")] + public Input? CopyCompletionError { get; set; } + + /// + /// Disk source information. CreationData information cannot be changed after the disk has been created. + /// + [Input("creationData", required: true)] + public Input CreationData { get; set; } = null!; + + /// + /// Additional authentication requirements when exporting or uploading to a disk or snapshot. + /// + [Input("dataAccessAuthMode")] + public InputUnion? DataAccessAuthMode { get; set; } + + /// + /// ARM id of the DiskAccess resource for using private endpoints on disks. + /// + [Input("diskAccessId")] + public Input? DiskAccessId { get; set; } + + /// + /// If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + /// + [Input("diskSizeGB")] + public Input? DiskSizeGB { get; set; } + + /// + /// Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + /// + [Input("encryption")] + public Input? Encryption { get; set; } + + /// + /// Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + /// + [Input("encryptionSettingsCollection")] + public Input? EncryptionSettingsCollection { get; set; } + + /// + /// The extended location where the snapshot will be created. Extended location cannot be changed. + /// + [Input("extendedLocation")] + public Input? ExtendedLocation { get; set; } + + /// + /// The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + /// + [Input("hyperVGeneration")] + public InputUnion? HyperVGeneration { get; set; } + + /// + /// Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + /// + [Input("incremental")] + public Input? Incremental { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Policy for accessing the disk via network. + /// + [Input("networkAccessPolicy")] + public InputUnion? NetworkAccessPolicy { get; set; } + + /// + /// The Operating System type. + /// + [Input("osType")] + public Input? OsType { get; set; } + + /// + /// Policy for controlling export on the disk. + /// + [Input("publicNetworkAccess")] + public InputUnion? PublicNetworkAccess { get; set; } + + /// + /// Purchase plan information for the image from which the source disk for the snapshot was originally created. + /// + [Input("purchasePlan")] + public Input? PurchasePlan { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Contains the security related information for the resource. + /// + [Input("securityProfile")] + public Input? SecurityProfile { get; set; } + + /// + /// The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + /// + [Input("sku")] + public Input? Sku { get; set; } + + /// + /// The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters. + /// + [Input("snapshotName")] + public Input? SnapshotName { get; set; } + + /// + /// List of supported capabilities for the image from which the source disk from the snapshot was originally created. + /// + [Input("supportedCapabilities")] + public Input? SupportedCapabilities { get; set; } + + /// + /// Indicates the OS on a snapshot supports hibernation. + /// + [Input("supportsHibernation")] + public Input? SupportsHibernation { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public SnapshotArgs() + { + } + public static new SnapshotArgs Empty => new SnapshotArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/AvailabilitySet.cs b/sdk/dotnet/Compute/V20230701/AvailabilitySet.cs new file mode 100644 index 000000000000..49a44011a764 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/AvailabilitySet.cs @@ -0,0 +1,219 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to an availability set at creation time. An existing VM cannot be added to an availability set. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:AvailabilitySet")] + public partial class AvailabilitySet : global::Pulumi.CustomResource + { + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Fault Domain count. + /// + [Output("platformFaultDomainCount")] + public Output PlatformFaultDomainCount { get; private set; } = null!; + + /// + /// Update Domain count. + /// + [Output("platformUpdateDomainCount")] + public Output PlatformUpdateDomainCount { get; private set; } = null!; + + /// + /// Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. + /// + [Output("proximityPlacementGroup")] + public Output ProximityPlacementGroup { get; private set; } = null!; + + /// + /// Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// The resource status information. + /// + [Output("statuses")] + public Output> Statuses { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// A list of references to all virtual machines in the availability set. + /// + [Output("virtualMachines")] + public Output> VirtualMachines { get; private set; } = null!; + + + /// + /// Create a AvailabilitySet resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public AvailabilitySet(string name, AvailabilitySetArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:AvailabilitySet", name, args ?? new AvailabilitySetArgs(), MakeResourceOptions(options, "")) + { + } + + private AvailabilitySet(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:AvailabilitySet", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20150615:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20160330:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20160430preview:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20170330:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20171201:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180401:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180601:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20181001:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190301:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191201:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:AvailabilitySet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:AvailabilitySet"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing AvailabilitySet resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static AvailabilitySet Get(string name, Input id, CustomResourceOptions? options = null) + { + return new AvailabilitySet(name, id, options); + } + } + + public sealed class AvailabilitySetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the availability set. + /// + [Input("availabilitySetName")] + public Input? AvailabilitySetName { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Fault Domain count. + /// + [Input("platformFaultDomainCount")] + public Input? PlatformFaultDomainCount { get; set; } + + /// + /// Update Domain count. + /// + [Input("platformUpdateDomainCount")] + public Input? PlatformUpdateDomainCount { get; set; } + + /// + /// Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. + /// + [Input("proximityPlacementGroup")] + public Input? ProximityPlacementGroup { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. + /// + [Input("sku")] + public Input? Sku { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("virtualMachines")] + private InputList? _virtualMachines; + + /// + /// A list of references to all virtual machines in the availability set. + /// + public InputList VirtualMachines + { + get => _virtualMachines ?? (_virtualMachines = new InputList()); + set => _virtualMachines = value; + } + + public AvailabilitySetArgs() + { + } + public static new AvailabilitySetArgs Empty => new AvailabilitySetArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/CapacityReservation.cs b/sdk/dotnet/Compute/V20230701/CapacityReservation.cs new file mode 100644 index 000000000000..d44c39ca7f6f --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/CapacityReservation.cs @@ -0,0 +1,211 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Specifies information about the capacity reservation. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:CapacityReservation")] + public partial class CapacityReservation : global::Pulumi.CustomResource + { + /// + /// The Capacity reservation instance view. + /// + [Output("instanceView")] + public Output InstanceView { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Specifies the value of fault domain count that Capacity Reservation supports for requested VM size. **Note:** The fault domain count specified for a resource (like virtual machines scale set) must be less than or equal to this value if it deploys using capacity reservation. Minimum api-version: 2022-08-01. + /// + [Output("platformFaultDomainCount")] + public Output PlatformFaultDomainCount { get; private set; } = null!; + + /// + /// The provisioning state, which only appears in the response. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// The date time when the capacity reservation was last updated. + /// + [Output("provisioningTime")] + public Output ProvisioningTime { get; private set; } = null!; + + /// + /// A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource. + /// + [Output("reservationId")] + public Output ReservationId { get; private set; } = null!; + + /// + /// SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Specifies the time at which the Capacity Reservation resource was created. Minimum api-version: 2021-11-01. + /// + [Output("timeCreated")] + public Output TimeCreated { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// A list of all virtual machine resource ids that are associated with the capacity reservation. + /// + [Output("virtualMachinesAssociated")] + public Output> VirtualMachinesAssociated { get; private set; } = null!; + + /// + /// Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone. + /// + [Output("zones")] + public Output> Zones { get; private set; } = null!; + + + /// + /// Create a CapacityReservation resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public CapacityReservation(string name, CapacityReservationArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:CapacityReservation", name, args ?? new CapacityReservationArgs(), MakeResourceOptions(options, "")) + { + } + + private CapacityReservation(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:CapacityReservation", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:CapacityReservation"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:CapacityReservation"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:CapacityReservation"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:CapacityReservation"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:CapacityReservation"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:CapacityReservation"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:CapacityReservation"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:CapacityReservation"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing CapacityReservation resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static CapacityReservation Get(string name, Input id, CustomResourceOptions? options = null) + { + return new CapacityReservation(name, id, options); + } + } + + public sealed class CapacityReservationArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the capacity reservation group. + /// + [Input("capacityReservationGroupName", required: true)] + public Input CapacityReservationGroupName { get; set; } = null!; + + /// + /// The name of the capacity reservation. + /// + [Input("capacityReservationName")] + public Input? CapacityReservationName { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. + /// + [Input("sku", required: true)] + public Input Sku { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("zones")] + private InputList? _zones; + + /// + /// Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone. + /// + public InputList Zones + { + get => _zones ?? (_zones = new InputList()); + set => _zones = value; + } + + public CapacityReservationArgs() + { + } + public static new CapacityReservationArgs Empty => new CapacityReservationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/CapacityReservationGroup.cs b/sdk/dotnet/Compute/V20230701/CapacityReservationGroup.cs new file mode 100644 index 000000000000..a13f37398ef5 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/CapacityReservationGroup.cs @@ -0,0 +1,169 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Specifies information about the capacity reservation group that the capacity reservations should be assigned to. Currently, a capacity reservation can only be added to a capacity reservation group at creation time. An existing capacity reservation cannot be added or moved to another capacity reservation group. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:CapacityReservationGroup")] + public partial class CapacityReservationGroup : global::Pulumi.CustomResource + { + /// + /// A list of all capacity reservation resource ids that belong to capacity reservation group. + /// + [Output("capacityReservations")] + public Output> CapacityReservations { get; private set; } = null!; + + /// + /// The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group. + /// + [Output("instanceView")] + public Output InstanceView { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// A list of references to all virtual machines associated to the capacity reservation group. + /// + [Output("virtualMachinesAssociated")] + public Output> VirtualMachinesAssociated { get; private set; } = null!; + + /// + /// Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones. + /// + [Output("zones")] + public Output> Zones { get; private set; } = null!; + + + /// + /// Create a CapacityReservationGroup resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public CapacityReservationGroup(string name, CapacityReservationGroupArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:CapacityReservationGroup", name, args ?? new CapacityReservationGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private CapacityReservationGroup(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:CapacityReservationGroup", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:CapacityReservationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:CapacityReservationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:CapacityReservationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:CapacityReservationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:CapacityReservationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:CapacityReservationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:CapacityReservationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:CapacityReservationGroup"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing CapacityReservationGroup resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static CapacityReservationGroup Get(string name, Input id, CustomResourceOptions? options = null) + { + return new CapacityReservationGroup(name, id, options); + } + } + + public sealed class CapacityReservationGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the capacity reservation group. + /// + [Input("capacityReservationGroupName")] + public Input? CapacityReservationGroupName { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("zones")] + private InputList? _zones; + + /// + /// Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones. + /// + public InputList Zones + { + get => _zones ?? (_zones = new InputList()); + set => _zones = value; + } + + public CapacityReservationGroupArgs() + { + } + public static new CapacityReservationGroupArgs Empty => new CapacityReservationGroupArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/DedicatedHost.cs b/sdk/dotnet/Compute/V20230701/DedicatedHost.cs new file mode 100644 index 000000000000..45976960d5ac --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/DedicatedHost.cs @@ -0,0 +1,229 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Specifies information about the Dedicated host. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:DedicatedHost")] + public partial class DedicatedHost : global::Pulumi.CustomResource + { + /// + /// Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. + /// + [Output("autoReplaceOnFailure")] + public Output AutoReplaceOnFailure { get; private set; } = null!; + + /// + /// A unique id generated and assigned to the dedicated host by the platform. Does not change throughout the lifetime of the host. + /// + [Output("hostId")] + public Output HostId { get; private set; } = null!; + + /// + /// The dedicated host instance view. + /// + [Output("instanceView")] + public Output InstanceView { get; private set; } = null!; + + /// + /// Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + /// + [Output("licenseType")] + public Output LicenseType { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Fault domain of the dedicated host within a dedicated host group. + /// + [Output("platformFaultDomain")] + public Output PlatformFaultDomain { get; private set; } = null!; + + /// + /// The provisioning state, which only appears in the response. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// The date when the host was first provisioned. + /// + [Output("provisioningTime")] + public Output ProvisioningTime { get; private set; } = null!; + + /// + /// SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values. + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Specifies the time at which the Dedicated Host resource was created. Minimum api-version: 2021-11-01. + /// + [Output("timeCreated")] + public Output TimeCreated { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// A list of references to all virtual machines in the Dedicated Host. + /// + [Output("virtualMachines")] + public Output> VirtualMachines { get; private set; } = null!; + + + /// + /// Create a DedicatedHost resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DedicatedHost(string name, DedicatedHostArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:DedicatedHost", name, args ?? new DedicatedHostArgs(), MakeResourceOptions(options, "")) + { + } + + private DedicatedHost(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:DedicatedHost", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190301:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191201:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:DedicatedHost"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:DedicatedHost"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DedicatedHost resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static DedicatedHost Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DedicatedHost(name, id, options); + } + } + + public sealed class DedicatedHostArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. + /// + [Input("autoReplaceOnFailure")] + public Input? AutoReplaceOnFailure { get; set; } + + /// + /// The name of the dedicated host group. + /// + [Input("hostGroupName", required: true)] + public Input HostGroupName { get; set; } = null!; + + /// + /// The name of the dedicated host . + /// + [Input("hostName")] + public Input? HostName { get; set; } + + /// + /// Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + /// + [Input("licenseType")] + public Input? LicenseType { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Fault domain of the dedicated host within a dedicated host group. + /// + [Input("platformFaultDomain")] + public Input? PlatformFaultDomain { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values. + /// + [Input("sku", required: true)] + public Input Sku { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public DedicatedHostArgs() + { + } + public static new DedicatedHostArgs Empty => new DedicatedHostArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/DedicatedHostGroup.cs b/sdk/dotnet/Compute/V20230701/DedicatedHostGroup.cs new file mode 100644 index 000000000000..1e6ae03f4575 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/DedicatedHostGroup.cs @@ -0,0 +1,205 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Specifies information about the dedicated host group that the dedicated hosts should be assigned to. Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:DedicatedHostGroup")] + public partial class DedicatedHostGroup : global::Pulumi.CustomResource + { + /// + /// Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + /// + [Output("additionalCapabilities")] + public Output AdditionalCapabilities { get; private set; } = null!; + + /// + /// A list of references to all dedicated hosts in the dedicated host group. + /// + [Output("hosts")] + public Output> Hosts { get; private set; } = null!; + + /// + /// The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group. + /// + [Output("instanceView")] + public Output InstanceView { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Number of fault domains that the host group can span. + /// + [Output("platformFaultDomainCount")] + public Output PlatformFaultDomainCount { get; private set; } = null!; + + /// + /// Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. + /// + [Output("supportAutomaticPlacement")] + public Output SupportAutomaticPlacement { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone. + /// + [Output("zones")] + public Output> Zones { get; private set; } = null!; + + + /// + /// Create a DedicatedHostGroup resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DedicatedHostGroup(string name, DedicatedHostGroupArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:DedicatedHostGroup", name, args ?? new DedicatedHostGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private DedicatedHostGroup(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:DedicatedHostGroup", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190301:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191201:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:DedicatedHostGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:DedicatedHostGroup"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DedicatedHostGroup resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static DedicatedHostGroup Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DedicatedHostGroup(name, id, options); + } + } + + public sealed class DedicatedHostGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + /// + [Input("additionalCapabilities")] + public Input? AdditionalCapabilities { get; set; } + + /// + /// The name of the dedicated host group. + /// + [Input("hostGroupName")] + public Input? HostGroupName { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Number of fault domains that the host group can span. + /// + [Input("platformFaultDomainCount", required: true)] + public Input PlatformFaultDomainCount { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. + /// + [Input("supportAutomaticPlacement")] + public Input? SupportAutomaticPlacement { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("zones")] + private InputList? _zones; + + /// + /// Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone. + /// + public InputList Zones + { + get => _zones ?? (_zones = new InputList()); + set => _zones = value; + } + + public DedicatedHostGroupArgs() + { + } + public static new DedicatedHostGroupArgs Empty => new DedicatedHostGroupArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Enums.cs b/sdk/dotnet/Compute/V20230701/Enums.cs new file mode 100644 index 000000000000..f38cdc9453c1 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Enums.cs @@ -0,0 +1,1697 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + /// + [EnumType] + public readonly struct CachingTypes : IEquatable + { + private readonly string _value; + + private CachingTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static CachingTypes None { get; } = new CachingTypes("None"); + public static CachingTypes ReadOnly { get; } = new CachingTypes("ReadOnly"); + public static CachingTypes ReadWrite { get; } = new CachingTypes("ReadWrite"); + + public static bool operator ==(CachingTypes left, CachingTypes right) => left.Equals(right); + public static bool operator !=(CachingTypes left, CachingTypes right) => !left.Equals(right); + + public static explicit operator string(CachingTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CachingTypes other && Equals(other); + public bool Equals(CachingTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. + /// + [EnumType] + public readonly struct ComponentNames : IEquatable + { + private readonly string _value; + + private ComponentNames(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ComponentNames Microsoft_Windows_Shell_Setup { get; } = new ComponentNames("Microsoft-Windows-Shell-Setup"); + + public static bool operator ==(ComponentNames left, ComponentNames right) => left.Equals(right); + public static bool operator !=(ComponentNames left, ComponentNames right) => !left.Equals(right); + + public static explicit operator string(ComponentNames value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ComponentNames other && Equals(other); + public bool Equals(ComponentNames other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + /// + [EnumType] + public readonly struct ConsistencyModeTypes : IEquatable + { + private readonly string _value; + + private ConsistencyModeTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ConsistencyModeTypes CrashConsistent { get; } = new ConsistencyModeTypes("CrashConsistent"); + public static ConsistencyModeTypes FileSystemConsistent { get; } = new ConsistencyModeTypes("FileSystemConsistent"); + public static ConsistencyModeTypes ApplicationConsistent { get; } = new ConsistencyModeTypes("ApplicationConsistent"); + + public static bool operator ==(ConsistencyModeTypes left, ConsistencyModeTypes right) => left.Equals(right); + public static bool operator !=(ConsistencyModeTypes left, ConsistencyModeTypes right) => !left.Equals(right); + + public static explicit operator string(ConsistencyModeTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ConsistencyModeTypes other && Equals(other); + public bool Equals(ConsistencyModeTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + /// + [EnumType] + public readonly struct DedicatedHostLicenseTypes : IEquatable + { + private readonly string _value; + + private DedicatedHostLicenseTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DedicatedHostLicenseTypes None { get; } = new DedicatedHostLicenseTypes("None"); + public static DedicatedHostLicenseTypes Windows_Server_Hybrid { get; } = new DedicatedHostLicenseTypes("Windows_Server_Hybrid"); + public static DedicatedHostLicenseTypes Windows_Server_Perpetual { get; } = new DedicatedHostLicenseTypes("Windows_Server_Perpetual"); + + public static bool operator ==(DedicatedHostLicenseTypes left, DedicatedHostLicenseTypes right) => left.Equals(right); + public static bool operator !=(DedicatedHostLicenseTypes left, DedicatedHostLicenseTypes right) => !left.Equals(right); + + public static explicit operator string(DedicatedHostLicenseTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DedicatedHostLicenseTypes other && Equals(other); + public bool Equals(DedicatedHostLicenseTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specify what happens to the public IP when the VM is deleted + /// + [EnumType] + public readonly struct DeleteOptions : IEquatable + { + private readonly string _value; + + private DeleteOptions(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DeleteOptions Delete { get; } = new DeleteOptions("Delete"); + public static DeleteOptions Detach { get; } = new DeleteOptions("Detach"); + + public static bool operator ==(DeleteOptions left, DeleteOptions right) => left.Equals(right); + public static bool operator !=(DeleteOptions left, DeleteOptions right) => !left.Equals(right); + + public static explicit operator string(DeleteOptions value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DeleteOptions other && Equals(other); + public bool Equals(DeleteOptions other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the ephemeral disk settings for operating system disk. + /// + [EnumType] + public readonly struct DiffDiskOptions : IEquatable + { + private readonly string _value; + + private DiffDiskOptions(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DiffDiskOptions Local { get; } = new DiffDiskOptions("Local"); + + public static bool operator ==(DiffDiskOptions left, DiffDiskOptions right) => left.Equals(right); + public static bool operator !=(DiffDiskOptions left, DiffDiskOptions right) => !left.Equals(right); + + public static explicit operator string(DiffDiskOptions value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DiffDiskOptions other && Equals(other); + public bool Equals(DiffDiskOptions other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + /// + [EnumType] + public readonly struct DiffDiskPlacement : IEquatable + { + private readonly string _value; + + private DiffDiskPlacement(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DiffDiskPlacement CacheDisk { get; } = new DiffDiskPlacement("CacheDisk"); + public static DiffDiskPlacement ResourceDisk { get; } = new DiffDiskPlacement("ResourceDisk"); + + public static bool operator ==(DiffDiskPlacement left, DiffDiskPlacement right) => left.Equals(right); + public static bool operator !=(DiffDiskPlacement left, DiffDiskPlacement right) => !left.Equals(right); + + public static explicit operator string(DiffDiskPlacement value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DiffDiskPlacement other && Equals(other); + public bool Equals(DiffDiskPlacement other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01. + /// + [EnumType] + public readonly struct DiskControllerTypes : IEquatable + { + private readonly string _value; + + private DiskControllerTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DiskControllerTypes SCSI { get; } = new DiskControllerTypes("SCSI"); + public static DiskControllerTypes NVMe { get; } = new DiskControllerTypes("NVMe"); + + public static bool operator ==(DiskControllerTypes left, DiskControllerTypes right) => left.Equals(right); + public static bool operator !=(DiskControllerTypes left, DiskControllerTypes right) => !left.Equals(right); + + public static explicit operator string(DiskControllerTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DiskControllerTypes other && Equals(other); + public bool Equals(DiskControllerTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + /// + [EnumType] + public readonly struct DiskCreateOptionTypes : IEquatable + { + private readonly string _value; + + private DiskCreateOptionTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DiskCreateOptionTypes FromImage { get; } = new DiskCreateOptionTypes("FromImage"); + public static DiskCreateOptionTypes Empty { get; } = new DiskCreateOptionTypes("Empty"); + public static DiskCreateOptionTypes Attach { get; } = new DiskCreateOptionTypes("Attach"); + + public static bool operator ==(DiskCreateOptionTypes left, DiskCreateOptionTypes right) => left.Equals(right); + public static bool operator !=(DiskCreateOptionTypes left, DiskCreateOptionTypes right) => !left.Equals(right); + + public static explicit operator string(DiskCreateOptionTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DiskCreateOptionTypes other && Equals(other); + public bool Equals(DiskCreateOptionTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the OS disk is deleted when VM is deleted. **Detach.** If this value is used, the os disk is retained after VM is deleted. The default value is set to **Detach**. For an ephemeral OS Disk, the default value is set to **Delete**. The user cannot change the delete option for an ephemeral OS Disk. + /// + [EnumType] + public readonly struct DiskDeleteOptionTypes : IEquatable + { + private readonly string _value; + + private DiskDeleteOptionTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DiskDeleteOptionTypes Delete { get; } = new DiskDeleteOptionTypes("Delete"); + public static DiskDeleteOptionTypes Detach { get; } = new DiskDeleteOptionTypes("Detach"); + + public static bool operator ==(DiskDeleteOptionTypes left, DiskDeleteOptionTypes right) => left.Equals(right); + public static bool operator !=(DiskDeleteOptionTypes left, DiskDeleteOptionTypes right) => !left.Equals(right); + + public static explicit operator string(DiskDeleteOptionTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DiskDeleteOptionTypes other && Equals(other); + public bool Equals(DiskDeleteOptionTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + /// + [EnumType] + public readonly struct DiskDetachOptionTypes : IEquatable + { + private readonly string _value; + + private DiskDetachOptionTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DiskDetachOptionTypes ForceDetach { get; } = new DiskDetachOptionTypes("ForceDetach"); + + public static bool operator ==(DiskDetachOptionTypes left, DiskDetachOptionTypes right) => left.Equals(right); + public static bool operator !=(DiskDetachOptionTypes left, DiskDetachOptionTypes right) => !left.Equals(right); + + public static explicit operator string(DiskDetachOptionTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DiskDetachOptionTypes other && Equals(other); + public bool Equals(DiskDetachOptionTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created + /// + [EnumType] + public readonly struct DomainNameLabelScopeTypes : IEquatable + { + private readonly string _value; + + private DomainNameLabelScopeTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DomainNameLabelScopeTypes TenantReuse { get; } = new DomainNameLabelScopeTypes("TenantReuse"); + public static DomainNameLabelScopeTypes SubscriptionReuse { get; } = new DomainNameLabelScopeTypes("SubscriptionReuse"); + public static DomainNameLabelScopeTypes ResourceGroupReuse { get; } = new DomainNameLabelScopeTypes("ResourceGroupReuse"); + public static DomainNameLabelScopeTypes NoReuse { get; } = new DomainNameLabelScopeTypes("NoReuse"); + + public static bool operator ==(DomainNameLabelScopeTypes left, DomainNameLabelScopeTypes right) => left.Equals(right); + public static bool operator !=(DomainNameLabelScopeTypes left, DomainNameLabelScopeTypes right) => !left.Equals(right); + + public static explicit operator string(DomainNameLabelScopeTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DomainNameLabelScopeTypes other && Equals(other); + public bool Equals(DomainNameLabelScopeTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of the extended location. + /// + [EnumType] + public readonly struct ExtendedLocationTypes : IEquatable + { + private readonly string _value; + + private ExtendedLocationTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ExtendedLocationTypes EdgeZone { get; } = new ExtendedLocationTypes("EdgeZone"); + + public static bool operator ==(ExtendedLocationTypes left, ExtendedLocationTypes right) => left.Equals(right); + public static bool operator !=(ExtendedLocationTypes left, ExtendedLocationTypes right) => !left.Equals(right); + + public static explicit operator string(ExtendedLocationTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ExtendedLocationTypes other && Equals(other); + public bool Equals(ExtendedLocationTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + /// + [EnumType] + public readonly struct HyperVGenerationTypes : IEquatable + { + private readonly string _value; + + private HyperVGenerationTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static HyperVGenerationTypes V1 { get; } = new HyperVGenerationTypes("V1"); + public static HyperVGenerationTypes V2 { get; } = new HyperVGenerationTypes("V2"); + + public static bool operator ==(HyperVGenerationTypes left, HyperVGenerationTypes right) => left.Equals(right); + public static bool operator !=(HyperVGenerationTypes left, HyperVGenerationTypes right) => !left.Equals(right); + + public static explicit operator string(HyperVGenerationTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is HyperVGenerationTypes other && Equals(other); + public bool Equals(HyperVGenerationTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + /// + [EnumType] + public readonly struct IPVersion : IEquatable + { + private readonly string _value; + + private IPVersion(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static IPVersion IPv4 { get; } = new IPVersion("IPv4"); + public static IPVersion IPv6 { get; } = new IPVersion("IPv6"); + + public static bool operator ==(IPVersion left, IPVersion right) => left.Equals(right); + public static bool operator !=(IPVersion left, IPVersion right) => !left.Equals(right); + + public static explicit operator string(IPVersion value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is IPVersion other && Equals(other); + public bool Equals(IPVersion other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + /// + [EnumType] + public readonly struct IPVersions : IEquatable + { + private readonly string _value; + + private IPVersions(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static IPVersions IPv4 { get; } = new IPVersions("IPv4"); + public static IPVersions IPv6 { get; } = new IPVersions("IPv6"); + + public static bool operator ==(IPVersions left, IPVersions right) => left.Equals(right); + public static bool operator !=(IPVersions left, IPVersions right) => !left.Equals(right); + + public static explicit operator string(IPVersions value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is IPVersions other && Equals(other); + public bool Equals(IPVersions other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Interval value in minutes used to create LogAnalytics call rate logs. + /// + [EnumType] + public readonly struct IntervalInMins : IEquatable + { + private readonly string _value; + + private IntervalInMins(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static IntervalInMins ThreeMins { get; } = new IntervalInMins("ThreeMins"); + public static IntervalInMins FiveMins { get; } = new IntervalInMins("FiveMins"); + public static IntervalInMins ThirtyMins { get; } = new IntervalInMins("ThirtyMins"); + public static IntervalInMins SixtyMins { get; } = new IntervalInMins("SixtyMins"); + + public static bool operator ==(IntervalInMins left, IntervalInMins right) => left.Equals(right); + public static bool operator !=(IntervalInMins left, IntervalInMins right) => !left.Equals(right); + + public static explicit operator string(IntervalInMins value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is IntervalInMins other && Equals(other); + public bool Equals(IntervalInMins other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You control the timing of patch assessments on a virtual machine. <br /><br /> **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + /// + [EnumType] + public readonly struct LinuxPatchAssessmentMode : IEquatable + { + private readonly string _value; + + private LinuxPatchAssessmentMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static LinuxPatchAssessmentMode ImageDefault { get; } = new LinuxPatchAssessmentMode("ImageDefault"); + public static LinuxPatchAssessmentMode AutomaticByPlatform { get; } = new LinuxPatchAssessmentMode("AutomaticByPlatform"); + + public static bool operator ==(LinuxPatchAssessmentMode left, LinuxPatchAssessmentMode right) => left.Equals(right); + public static bool operator !=(LinuxPatchAssessmentMode left, LinuxPatchAssessmentMode right) => !left.Equals(right); + + public static explicit operator string(LinuxPatchAssessmentMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is LinuxPatchAssessmentMode other && Equals(other); + public bool Equals(LinuxPatchAssessmentMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + /// + [EnumType] + public readonly struct LinuxVMGuestPatchAutomaticByPlatformRebootSetting : IEquatable + { + private readonly string _value; + + private LinuxVMGuestPatchAutomaticByPlatformRebootSetting(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static LinuxVMGuestPatchAutomaticByPlatformRebootSetting Unknown { get; } = new LinuxVMGuestPatchAutomaticByPlatformRebootSetting("Unknown"); + public static LinuxVMGuestPatchAutomaticByPlatformRebootSetting IfRequired { get; } = new LinuxVMGuestPatchAutomaticByPlatformRebootSetting("IfRequired"); + public static LinuxVMGuestPatchAutomaticByPlatformRebootSetting Never { get; } = new LinuxVMGuestPatchAutomaticByPlatformRebootSetting("Never"); + public static LinuxVMGuestPatchAutomaticByPlatformRebootSetting Always { get; } = new LinuxVMGuestPatchAutomaticByPlatformRebootSetting("Always"); + + public static bool operator ==(LinuxVMGuestPatchAutomaticByPlatformRebootSetting left, LinuxVMGuestPatchAutomaticByPlatformRebootSetting right) => left.Equals(right); + public static bool operator !=(LinuxVMGuestPatchAutomaticByPlatformRebootSetting left, LinuxVMGuestPatchAutomaticByPlatformRebootSetting right) => !left.Equals(right); + + public static explicit operator string(LinuxVMGuestPatchAutomaticByPlatformRebootSetting value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is LinuxVMGuestPatchAutomaticByPlatformRebootSetting other && Equals(other); + public bool Equals(LinuxVMGuestPatchAutomaticByPlatformRebootSetting other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - The virtual machine's default patching configuration is used. <br /><br /> **AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true + /// + [EnumType] + public readonly struct LinuxVMGuestPatchMode : IEquatable + { + private readonly string _value; + + private LinuxVMGuestPatchMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static LinuxVMGuestPatchMode ImageDefault { get; } = new LinuxVMGuestPatchMode("ImageDefault"); + public static LinuxVMGuestPatchMode AutomaticByPlatform { get; } = new LinuxVMGuestPatchMode("AutomaticByPlatform"); + + public static bool operator ==(LinuxVMGuestPatchMode left, LinuxVMGuestPatchMode right) => left.Equals(right); + public static bool operator !=(LinuxVMGuestPatchMode left, LinuxVMGuestPatchMode right) => !left.Equals(right); + + public static explicit operator string(LinuxVMGuestPatchMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is LinuxVMGuestPatchMode other && Equals(other); + public bool Equals(LinuxVMGuestPatchMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations + /// + [EnumType] + public readonly struct NetworkApiVersion : IEquatable + { + private readonly string _value; + + private NetworkApiVersion(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static NetworkApiVersion NetworkApiVersion_2020_11_01 { get; } = new NetworkApiVersion("2020-11-01"); + + public static bool operator ==(NetworkApiVersion left, NetworkApiVersion right) => left.Equals(right); + public static bool operator !=(NetworkApiVersion left, NetworkApiVersion right) => !left.Equals(right); + + public static explicit operator string(NetworkApiVersion value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkApiVersion other && Equals(other); + public bool Equals(NetworkApiVersion other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + /// + [EnumType] + public readonly struct NetworkInterfaceAuxiliaryMode : IEquatable + { + private readonly string _value; + + private NetworkInterfaceAuxiliaryMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static NetworkInterfaceAuxiliaryMode None { get; } = new NetworkInterfaceAuxiliaryMode("None"); + public static NetworkInterfaceAuxiliaryMode AcceleratedConnections { get; } = new NetworkInterfaceAuxiliaryMode("AcceleratedConnections"); + public static NetworkInterfaceAuxiliaryMode Floating { get; } = new NetworkInterfaceAuxiliaryMode("Floating"); + + public static bool operator ==(NetworkInterfaceAuxiliaryMode left, NetworkInterfaceAuxiliaryMode right) => left.Equals(right); + public static bool operator !=(NetworkInterfaceAuxiliaryMode left, NetworkInterfaceAuxiliaryMode right) => !left.Equals(right); + + public static explicit operator string(NetworkInterfaceAuxiliaryMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkInterfaceAuxiliaryMode other && Equals(other); + public bool Equals(NetworkInterfaceAuxiliaryMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + /// + [EnumType] + public readonly struct NetworkInterfaceAuxiliarySku : IEquatable + { + private readonly string _value; + + private NetworkInterfaceAuxiliarySku(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static NetworkInterfaceAuxiliarySku None { get; } = new NetworkInterfaceAuxiliarySku("None"); + public static NetworkInterfaceAuxiliarySku A1 { get; } = new NetworkInterfaceAuxiliarySku("A1"); + public static NetworkInterfaceAuxiliarySku A2 { get; } = new NetworkInterfaceAuxiliarySku("A2"); + public static NetworkInterfaceAuxiliarySku A4 { get; } = new NetworkInterfaceAuxiliarySku("A4"); + public static NetworkInterfaceAuxiliarySku A8 { get; } = new NetworkInterfaceAuxiliarySku("A8"); + + public static bool operator ==(NetworkInterfaceAuxiliarySku left, NetworkInterfaceAuxiliarySku right) => left.Equals(right); + public static bool operator !=(NetworkInterfaceAuxiliarySku left, NetworkInterfaceAuxiliarySku right) => !left.Equals(right); + + public static explicit operator string(NetworkInterfaceAuxiliarySku value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkInterfaceAuxiliarySku other && Equals(other); + public bool Equals(NetworkInterfaceAuxiliarySku other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The OS State. For managed images, use Generalized. + /// + [EnumType] + public readonly struct OperatingSystemStateTypes : IEquatable + { + private readonly string _value; + + private OperatingSystemStateTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Generalized image. Needs to be provisioned during deployment time. + /// + public static OperatingSystemStateTypes Generalized { get; } = new OperatingSystemStateTypes("Generalized"); + /// + /// Specialized image. Contains already provisioned OS Disk. + /// + public static OperatingSystemStateTypes Specialized { get; } = new OperatingSystemStateTypes("Specialized"); + + public static bool operator ==(OperatingSystemStateTypes left, OperatingSystemStateTypes right) => left.Equals(right); + public static bool operator !=(OperatingSystemStateTypes left, OperatingSystemStateTypes right) => !left.Equals(right); + + public static explicit operator string(OperatingSystemStateTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OperatingSystemStateTypes other && Equals(other); + public bool Equals(OperatingSystemStateTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + /// + [EnumType] + public readonly struct OperatingSystemTypes : IEquatable + { + private readonly string _value; + + private OperatingSystemTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static OperatingSystemTypes Windows { get; } = new OperatingSystemTypes("Windows"); + public static OperatingSystemTypes Linux { get; } = new OperatingSystemTypes("Linux"); + + public static bool operator ==(OperatingSystemTypes left, OperatingSystemTypes right) => left.Equals(right); + public static bool operator !=(OperatingSystemTypes left, OperatingSystemTypes right) => !left.Equals(right); + + public static explicit operator string(OperatingSystemTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OperatingSystemTypes other && Equals(other); + public bool Equals(OperatingSystemTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the orchestration mode for the virtual machine scale set. + /// + [EnumType] + public readonly struct OrchestrationMode : IEquatable + { + private readonly string _value; + + private OrchestrationMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static OrchestrationMode Uniform { get; } = new OrchestrationMode("Uniform"); + public static OrchestrationMode Flexible { get; } = new OrchestrationMode("Flexible"); + + public static bool operator ==(OrchestrationMode left, OrchestrationMode right) => left.Equals(right); + public static bool operator !=(OrchestrationMode left, OrchestrationMode right) => !left.Equals(right); + + public static explicit operator string(OrchestrationMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OrchestrationMode other && Equals(other); + public bool Equals(OrchestrationMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The pass name. Currently, the only allowable value is OobeSystem. + /// + [EnumType] + public readonly struct PassNames : IEquatable + { + private readonly string _value; + + private PassNames(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PassNames OobeSystem { get; } = new PassNames("OobeSystem"); + + public static bool operator ==(PassNames left, PassNames right) => left.Equals(right); + public static bool operator !=(PassNames left, PassNames right) => !left.Equals(right); + + public static explicit operator string(PassNames value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PassNames other && Equals(other); + public bool Equals(PassNames other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** + /// + [EnumType] + public readonly struct ProtocolTypes : IEquatable + { + private readonly string _value; + + private ProtocolTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ProtocolTypes Http { get; } = new ProtocolTypes("Http"); + public static ProtocolTypes Https { get; } = new ProtocolTypes("Https"); + + public static bool operator ==(ProtocolTypes left, ProtocolTypes right) => left.Equals(right); + public static bool operator !=(ProtocolTypes left, ProtocolTypes right) => !left.Equals(right); + + public static explicit operator string(ProtocolTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ProtocolTypes other && Equals(other); + public bool Equals(ProtocolTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + /// + [EnumType] + public readonly struct ProximityPlacementGroupType : IEquatable + { + private readonly string _value; + + private ProximityPlacementGroupType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ProximityPlacementGroupType Standard { get; } = new ProximityPlacementGroupType("Standard"); + public static ProximityPlacementGroupType Ultra { get; } = new ProximityPlacementGroupType("Ultra"); + + public static bool operator ==(ProximityPlacementGroupType left, ProximityPlacementGroupType right) => left.Equals(right); + public static bool operator !=(ProximityPlacementGroupType left, ProximityPlacementGroupType right) => !left.Equals(right); + + public static explicit operator string(ProximityPlacementGroupType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ProximityPlacementGroupType other && Equals(other); + public bool Equals(ProximityPlacementGroupType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specify public IP sku name + /// + [EnumType] + public readonly struct PublicIPAddressSkuName : IEquatable + { + private readonly string _value; + + private PublicIPAddressSkuName(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PublicIPAddressSkuName Basic { get; } = new PublicIPAddressSkuName("Basic"); + public static PublicIPAddressSkuName Standard { get; } = new PublicIPAddressSkuName("Standard"); + + public static bool operator ==(PublicIPAddressSkuName left, PublicIPAddressSkuName right) => left.Equals(right); + public static bool operator !=(PublicIPAddressSkuName left, PublicIPAddressSkuName right) => !left.Equals(right); + + public static explicit operator string(PublicIPAddressSkuName value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PublicIPAddressSkuName other && Equals(other); + public bool Equals(PublicIPAddressSkuName other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specify public IP sku tier + /// + [EnumType] + public readonly struct PublicIPAddressSkuTier : IEquatable + { + private readonly string _value; + + private PublicIPAddressSkuTier(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PublicIPAddressSkuTier Regional { get; } = new PublicIPAddressSkuTier("Regional"); + public static PublicIPAddressSkuTier Global { get; } = new PublicIPAddressSkuTier("Global"); + + public static bool operator ==(PublicIPAddressSkuTier left, PublicIPAddressSkuTier right) => left.Equals(right); + public static bool operator !=(PublicIPAddressSkuTier left, PublicIPAddressSkuTier right) => !left.Equals(right); + + public static explicit operator string(PublicIPAddressSkuTier value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PublicIPAddressSkuTier other && Equals(other); + public bool Equals(PublicIPAddressSkuTier other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specify the public IP allocation type + /// + [EnumType] + public readonly struct PublicIPAllocationMethod : IEquatable + { + private readonly string _value; + + private PublicIPAllocationMethod(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PublicIPAllocationMethod Dynamic { get; } = new PublicIPAllocationMethod("Dynamic"); + public static PublicIPAllocationMethod Static { get; } = new PublicIPAllocationMethod("Static"); + + public static bool operator ==(PublicIPAllocationMethod left, PublicIPAllocationMethod right) => left.Equals(right); + public static bool operator !=(PublicIPAllocationMethod left, PublicIPAllocationMethod right) => !left.Equals(right); + + public static explicit operator string(PublicIPAllocationMethod value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PublicIPAllocationMethod other && Equals(other); + public bool Equals(PublicIPAllocationMethod other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. + /// + [EnumType] + public readonly struct RepairAction : IEquatable + { + private readonly string _value; + + private RepairAction(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static RepairAction Replace { get; } = new RepairAction("Replace"); + public static RepairAction Restart { get; } = new RepairAction("Restart"); + public static RepairAction Reimage { get; } = new RepairAction("Reimage"); + + public static bool operator ==(RepairAction left, RepairAction right) => left.Equals(right); + public static bool operator !=(RepairAction left, RepairAction right) => !left.Equals(right); + + public static explicit operator string(RepairAction value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is RepairAction other && Equals(other); + public bool Equals(RepairAction other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. + /// + [EnumType] + public readonly struct ResourceIdentityType : IEquatable + { + private readonly string _value; + + private ResourceIdentityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ResourceIdentityType SystemAssigned { get; } = new ResourceIdentityType("SystemAssigned"); + public static ResourceIdentityType UserAssigned { get; } = new ResourceIdentityType("UserAssigned"); + public static ResourceIdentityType SystemAssigned_UserAssigned { get; } = new ResourceIdentityType("SystemAssigned, UserAssigned"); + public static ResourceIdentityType None { get; } = new ResourceIdentityType("None"); + + public static bool operator ==(ResourceIdentityType left, ResourceIdentityType right) => left.Equals(right); + public static bool operator !=(ResourceIdentityType left, ResourceIdentityType right) => !left.Equals(right); + + public static explicit operator string(ResourceIdentityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ResourceIdentityType other && Equals(other); + public bool Equals(ResourceIdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of key used to encrypt the data of the disk restore point. + /// + [EnumType] + public readonly struct RestorePointEncryptionType : IEquatable + { + private readonly string _value; + + private RestorePointEncryptionType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Disk Restore Point is encrypted at rest with Platform managed key. + /// + public static RestorePointEncryptionType EncryptionAtRestWithPlatformKey { get; } = new RestorePointEncryptionType("EncryptionAtRestWithPlatformKey"); + /// + /// Disk Restore Point is encrypted at rest with Customer managed key that can be changed and revoked by a customer. + /// + public static RestorePointEncryptionType EncryptionAtRestWithCustomerKey { get; } = new RestorePointEncryptionType("EncryptionAtRestWithCustomerKey"); + /// + /// Disk Restore Point is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed. + /// + public static RestorePointEncryptionType EncryptionAtRestWithPlatformAndCustomerKeys { get; } = new RestorePointEncryptionType("EncryptionAtRestWithPlatformAndCustomerKeys"); + + public static bool operator ==(RestorePointEncryptionType left, RestorePointEncryptionType right) => left.Equals(right); + public static bool operator !=(RestorePointEncryptionType left, RestorePointEncryptionType right) => !left.Equals(right); + + public static explicit operator string(RestorePointEncryptionType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is RestorePointEncryptionType other && Equals(other); + public bool Equals(RestorePointEncryptionType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs. + /// + [EnumType] + public readonly struct SecurityEncryptionTypes : IEquatable + { + private readonly string _value; + + private SecurityEncryptionTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SecurityEncryptionTypes VMGuestStateOnly { get; } = new SecurityEncryptionTypes("VMGuestStateOnly"); + public static SecurityEncryptionTypes DiskWithVMGuestState { get; } = new SecurityEncryptionTypes("DiskWithVMGuestState"); + + public static bool operator ==(SecurityEncryptionTypes left, SecurityEncryptionTypes right) => left.Equals(right); + public static bool operator !=(SecurityEncryptionTypes left, SecurityEncryptionTypes right) => !left.Equals(right); + + public static explicit operator string(SecurityEncryptionTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SecurityEncryptionTypes other && Equals(other); + public bool Equals(SecurityEncryptionTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set. + /// + [EnumType] + public readonly struct SecurityTypes : IEquatable + { + private readonly string _value; + + private SecurityTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SecurityTypes TrustedLaunch { get; } = new SecurityTypes("TrustedLaunch"); + public static SecurityTypes ConfidentialVM { get; } = new SecurityTypes("ConfidentialVM"); + + public static bool operator ==(SecurityTypes left, SecurityTypes right) => left.Equals(right); + public static bool operator !=(SecurityTypes left, SecurityTypes right) => !left.Equals(right); + + public static explicit operator string(SecurityTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SecurityTypes other && Equals(other); + public bool Equals(SecurityTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. + /// + [EnumType] + public readonly struct SettingNames : IEquatable + { + private readonly string _value; + + private SettingNames(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SettingNames AutoLogon { get; } = new SettingNames("AutoLogon"); + public static SettingNames FirstLogonCommands { get; } = new SettingNames("FirstLogonCommands"); + + public static bool operator ==(SettingNames left, SettingNames right) => left.Equals(right); + public static bool operator !=(SettingNames left, SettingNames right) => !left.Equals(right); + + public static explicit operator string(SettingNames value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SettingNames other && Equals(other); + public bool Equals(SettingNames other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The level code. + /// + [EnumType] + public readonly struct StatusLevelTypes : IEquatable + { + private readonly string _value; + + private StatusLevelTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StatusLevelTypes Info { get; } = new StatusLevelTypes("Info"); + public static StatusLevelTypes Warning { get; } = new StatusLevelTypes("Warning"); + public static StatusLevelTypes Error { get; } = new StatusLevelTypes("Error"); + + public static bool operator ==(StatusLevelTypes left, StatusLevelTypes right) => left.Equals(right); + public static bool operator !=(StatusLevelTypes left, StatusLevelTypes right) => !left.Equals(right); + + public static explicit operator string(StatusLevelTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StatusLevelTypes other && Equals(other); + public bool Equals(StatusLevelTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + /// + [EnumType] + public readonly struct StorageAccountTypes : IEquatable + { + private readonly string _value; + + private StorageAccountTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StorageAccountTypes Standard_LRS { get; } = new StorageAccountTypes("Standard_LRS"); + public static StorageAccountTypes Premium_LRS { get; } = new StorageAccountTypes("Premium_LRS"); + public static StorageAccountTypes StandardSSD_LRS { get; } = new StorageAccountTypes("StandardSSD_LRS"); + public static StorageAccountTypes UltraSSD_LRS { get; } = new StorageAccountTypes("UltraSSD_LRS"); + public static StorageAccountTypes Premium_ZRS { get; } = new StorageAccountTypes("Premium_ZRS"); + public static StorageAccountTypes StandardSSD_ZRS { get; } = new StorageAccountTypes("StandardSSD_ZRS"); + public static StorageAccountTypes PremiumV2_LRS { get; } = new StorageAccountTypes("PremiumV2_LRS"); + + public static bool operator ==(StorageAccountTypes left, StorageAccountTypes right) => left.Equals(right); + public static bool operator !=(StorageAccountTypes left, StorageAccountTypes right) => !left.Equals(right); + + public static explicit operator string(StorageAccountTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StorageAccountTypes other && Equals(other); + public bool Equals(StorageAccountTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time. + /// + [EnumType] + public readonly struct UpgradeMode : IEquatable + { + private readonly string _value; + + private UpgradeMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static UpgradeMode Automatic { get; } = new UpgradeMode("Automatic"); + public static UpgradeMode Manual { get; } = new UpgradeMode("Manual"); + public static UpgradeMode Rolling { get; } = new UpgradeMode("Rolling"); + + public static bool operator ==(UpgradeMode left, UpgradeMode right) => left.Equals(right); + public static bool operator !=(UpgradeMode left, UpgradeMode right) => !left.Equals(right); + + public static explicit operator string(UpgradeMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is UpgradeMode other && Equals(other); + public bool Equals(UpgradeMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + /// + [EnumType] + public readonly struct VirtualMachineEvictionPolicyTypes : IEquatable + { + private readonly string _value; + + private VirtualMachineEvictionPolicyTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static VirtualMachineEvictionPolicyTypes Deallocate { get; } = new VirtualMachineEvictionPolicyTypes("Deallocate"); + public static VirtualMachineEvictionPolicyTypes Delete { get; } = new VirtualMachineEvictionPolicyTypes("Delete"); + + public static bool operator ==(VirtualMachineEvictionPolicyTypes left, VirtualMachineEvictionPolicyTypes right) => left.Equals(right); + public static bool operator !=(VirtualMachineEvictionPolicyTypes left, VirtualMachineEvictionPolicyTypes right) => !left.Equals(right); + + public static explicit operator string(VirtualMachineEvictionPolicyTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is VirtualMachineEvictionPolicyTypes other && Equals(other); + public bool Equals(VirtualMachineEvictionPolicyTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview. + /// + [EnumType] + public readonly struct VirtualMachinePriorityTypes : IEquatable + { + private readonly string _value; + + private VirtualMachinePriorityTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static VirtualMachinePriorityTypes Regular { get; } = new VirtualMachinePriorityTypes("Regular"); + public static VirtualMachinePriorityTypes Low { get; } = new VirtualMachinePriorityTypes("Low"); + public static VirtualMachinePriorityTypes Spot { get; } = new VirtualMachinePriorityTypes("Spot"); + + public static bool operator ==(VirtualMachinePriorityTypes left, VirtualMachinePriorityTypes right) => left.Equals(right); + public static bool operator !=(VirtualMachinePriorityTypes left, VirtualMachinePriorityTypes right) => !left.Equals(right); + + public static explicit operator string(VirtualMachinePriorityTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is VirtualMachinePriorityTypes other && Equals(other); + public bool Equals(VirtualMachinePriorityTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct VirtualMachineScaleSetScaleInRules : IEquatable + { + private readonly string _value; + + private VirtualMachineScaleSetScaleInRules(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static VirtualMachineScaleSetScaleInRules Default { get; } = new VirtualMachineScaleSetScaleInRules("Default"); + public static VirtualMachineScaleSetScaleInRules OldestVM { get; } = new VirtualMachineScaleSetScaleInRules("OldestVM"); + public static VirtualMachineScaleSetScaleInRules NewestVM { get; } = new VirtualMachineScaleSetScaleInRules("NewestVM"); + + public static bool operator ==(VirtualMachineScaleSetScaleInRules left, VirtualMachineScaleSetScaleInRules right) => left.Equals(right); + public static bool operator !=(VirtualMachineScaleSetScaleInRules left, VirtualMachineScaleSetScaleInRules right) => !left.Equals(right); + + public static explicit operator string(VirtualMachineScaleSetScaleInRules value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is VirtualMachineScaleSetScaleInRules other && Equals(other); + public bool Equals(VirtualMachineScaleSetScaleInRules other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. + /// + [EnumType] + public readonly struct VirtualMachineSizeTypes : IEquatable + { + private readonly string _value; + + private VirtualMachineSizeTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static VirtualMachineSizeTypes Basic_A0 { get; } = new VirtualMachineSizeTypes("Basic_A0"); + public static VirtualMachineSizeTypes Basic_A1 { get; } = new VirtualMachineSizeTypes("Basic_A1"); + public static VirtualMachineSizeTypes Basic_A2 { get; } = new VirtualMachineSizeTypes("Basic_A2"); + public static VirtualMachineSizeTypes Basic_A3 { get; } = new VirtualMachineSizeTypes("Basic_A3"); + public static VirtualMachineSizeTypes Basic_A4 { get; } = new VirtualMachineSizeTypes("Basic_A4"); + public static VirtualMachineSizeTypes Standard_A0 { get; } = new VirtualMachineSizeTypes("Standard_A0"); + public static VirtualMachineSizeTypes Standard_A1 { get; } = new VirtualMachineSizeTypes("Standard_A1"); + public static VirtualMachineSizeTypes Standard_A2 { get; } = new VirtualMachineSizeTypes("Standard_A2"); + public static VirtualMachineSizeTypes Standard_A3 { get; } = new VirtualMachineSizeTypes("Standard_A3"); + public static VirtualMachineSizeTypes Standard_A4 { get; } = new VirtualMachineSizeTypes("Standard_A4"); + public static VirtualMachineSizeTypes Standard_A5 { get; } = new VirtualMachineSizeTypes("Standard_A5"); + public static VirtualMachineSizeTypes Standard_A6 { get; } = new VirtualMachineSizeTypes("Standard_A6"); + public static VirtualMachineSizeTypes Standard_A7 { get; } = new VirtualMachineSizeTypes("Standard_A7"); + public static VirtualMachineSizeTypes Standard_A8 { get; } = new VirtualMachineSizeTypes("Standard_A8"); + public static VirtualMachineSizeTypes Standard_A9 { get; } = new VirtualMachineSizeTypes("Standard_A9"); + public static VirtualMachineSizeTypes Standard_A10 { get; } = new VirtualMachineSizeTypes("Standard_A10"); + public static VirtualMachineSizeTypes Standard_A11 { get; } = new VirtualMachineSizeTypes("Standard_A11"); + public static VirtualMachineSizeTypes Standard_A1_v2 { get; } = new VirtualMachineSizeTypes("Standard_A1_v2"); + public static VirtualMachineSizeTypes Standard_A2_v2 { get; } = new VirtualMachineSizeTypes("Standard_A2_v2"); + public static VirtualMachineSizeTypes Standard_A4_v2 { get; } = new VirtualMachineSizeTypes("Standard_A4_v2"); + public static VirtualMachineSizeTypes Standard_A8_v2 { get; } = new VirtualMachineSizeTypes("Standard_A8_v2"); + public static VirtualMachineSizeTypes Standard_A2m_v2 { get; } = new VirtualMachineSizeTypes("Standard_A2m_v2"); + public static VirtualMachineSizeTypes Standard_A4m_v2 { get; } = new VirtualMachineSizeTypes("Standard_A4m_v2"); + public static VirtualMachineSizeTypes Standard_A8m_v2 { get; } = new VirtualMachineSizeTypes("Standard_A8m_v2"); + public static VirtualMachineSizeTypes Standard_B1s { get; } = new VirtualMachineSizeTypes("Standard_B1s"); + public static VirtualMachineSizeTypes Standard_B1ms { get; } = new VirtualMachineSizeTypes("Standard_B1ms"); + public static VirtualMachineSizeTypes Standard_B2s { get; } = new VirtualMachineSizeTypes("Standard_B2s"); + public static VirtualMachineSizeTypes Standard_B2ms { get; } = new VirtualMachineSizeTypes("Standard_B2ms"); + public static VirtualMachineSizeTypes Standard_B4ms { get; } = new VirtualMachineSizeTypes("Standard_B4ms"); + public static VirtualMachineSizeTypes Standard_B8ms { get; } = new VirtualMachineSizeTypes("Standard_B8ms"); + public static VirtualMachineSizeTypes Standard_D1 { get; } = new VirtualMachineSizeTypes("Standard_D1"); + public static VirtualMachineSizeTypes Standard_D2 { get; } = new VirtualMachineSizeTypes("Standard_D2"); + public static VirtualMachineSizeTypes Standard_D3 { get; } = new VirtualMachineSizeTypes("Standard_D3"); + public static VirtualMachineSizeTypes Standard_D4 { get; } = new VirtualMachineSizeTypes("Standard_D4"); + public static VirtualMachineSizeTypes Standard_D11 { get; } = new VirtualMachineSizeTypes("Standard_D11"); + public static VirtualMachineSizeTypes Standard_D12 { get; } = new VirtualMachineSizeTypes("Standard_D12"); + public static VirtualMachineSizeTypes Standard_D13 { get; } = new VirtualMachineSizeTypes("Standard_D13"); + public static VirtualMachineSizeTypes Standard_D14 { get; } = new VirtualMachineSizeTypes("Standard_D14"); + public static VirtualMachineSizeTypes Standard_D1_v2 { get; } = new VirtualMachineSizeTypes("Standard_D1_v2"); + public static VirtualMachineSizeTypes Standard_D2_v2 { get; } = new VirtualMachineSizeTypes("Standard_D2_v2"); + public static VirtualMachineSizeTypes Standard_D3_v2 { get; } = new VirtualMachineSizeTypes("Standard_D3_v2"); + public static VirtualMachineSizeTypes Standard_D4_v2 { get; } = new VirtualMachineSizeTypes("Standard_D4_v2"); + public static VirtualMachineSizeTypes Standard_D5_v2 { get; } = new VirtualMachineSizeTypes("Standard_D5_v2"); + public static VirtualMachineSizeTypes Standard_D2_v3 { get; } = new VirtualMachineSizeTypes("Standard_D2_v3"); + public static VirtualMachineSizeTypes Standard_D4_v3 { get; } = new VirtualMachineSizeTypes("Standard_D4_v3"); + public static VirtualMachineSizeTypes Standard_D8_v3 { get; } = new VirtualMachineSizeTypes("Standard_D8_v3"); + public static VirtualMachineSizeTypes Standard_D16_v3 { get; } = new VirtualMachineSizeTypes("Standard_D16_v3"); + public static VirtualMachineSizeTypes Standard_D32_v3 { get; } = new VirtualMachineSizeTypes("Standard_D32_v3"); + public static VirtualMachineSizeTypes Standard_D64_v3 { get; } = new VirtualMachineSizeTypes("Standard_D64_v3"); + public static VirtualMachineSizeTypes Standard_D2s_v3 { get; } = new VirtualMachineSizeTypes("Standard_D2s_v3"); + public static VirtualMachineSizeTypes Standard_D4s_v3 { get; } = new VirtualMachineSizeTypes("Standard_D4s_v3"); + public static VirtualMachineSizeTypes Standard_D8s_v3 { get; } = new VirtualMachineSizeTypes("Standard_D8s_v3"); + public static VirtualMachineSizeTypes Standard_D16s_v3 { get; } = new VirtualMachineSizeTypes("Standard_D16s_v3"); + public static VirtualMachineSizeTypes Standard_D32s_v3 { get; } = new VirtualMachineSizeTypes("Standard_D32s_v3"); + public static VirtualMachineSizeTypes Standard_D64s_v3 { get; } = new VirtualMachineSizeTypes("Standard_D64s_v3"); + public static VirtualMachineSizeTypes Standard_D11_v2 { get; } = new VirtualMachineSizeTypes("Standard_D11_v2"); + public static VirtualMachineSizeTypes Standard_D12_v2 { get; } = new VirtualMachineSizeTypes("Standard_D12_v2"); + public static VirtualMachineSizeTypes Standard_D13_v2 { get; } = new VirtualMachineSizeTypes("Standard_D13_v2"); + public static VirtualMachineSizeTypes Standard_D14_v2 { get; } = new VirtualMachineSizeTypes("Standard_D14_v2"); + public static VirtualMachineSizeTypes Standard_D15_v2 { get; } = new VirtualMachineSizeTypes("Standard_D15_v2"); + public static VirtualMachineSizeTypes Standard_DS1 { get; } = new VirtualMachineSizeTypes("Standard_DS1"); + public static VirtualMachineSizeTypes Standard_DS2 { get; } = new VirtualMachineSizeTypes("Standard_DS2"); + public static VirtualMachineSizeTypes Standard_DS3 { get; } = new VirtualMachineSizeTypes("Standard_DS3"); + public static VirtualMachineSizeTypes Standard_DS4 { get; } = new VirtualMachineSizeTypes("Standard_DS4"); + public static VirtualMachineSizeTypes Standard_DS11 { get; } = new VirtualMachineSizeTypes("Standard_DS11"); + public static VirtualMachineSizeTypes Standard_DS12 { get; } = new VirtualMachineSizeTypes("Standard_DS12"); + public static VirtualMachineSizeTypes Standard_DS13 { get; } = new VirtualMachineSizeTypes("Standard_DS13"); + public static VirtualMachineSizeTypes Standard_DS14 { get; } = new VirtualMachineSizeTypes("Standard_DS14"); + public static VirtualMachineSizeTypes Standard_DS1_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS1_v2"); + public static VirtualMachineSizeTypes Standard_DS2_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS2_v2"); + public static VirtualMachineSizeTypes Standard_DS3_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS3_v2"); + public static VirtualMachineSizeTypes Standard_DS4_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS4_v2"); + public static VirtualMachineSizeTypes Standard_DS5_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS5_v2"); + public static VirtualMachineSizeTypes Standard_DS11_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS11_v2"); + public static VirtualMachineSizeTypes Standard_DS12_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS12_v2"); + public static VirtualMachineSizeTypes Standard_DS13_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS13_v2"); + public static VirtualMachineSizeTypes Standard_DS14_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS14_v2"); + public static VirtualMachineSizeTypes Standard_DS15_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS15_v2"); + public static VirtualMachineSizeTypes Standard_DS13_4_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS13-4_v2"); + public static VirtualMachineSizeTypes Standard_DS13_2_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS13-2_v2"); + public static VirtualMachineSizeTypes Standard_DS14_8_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS14-8_v2"); + public static VirtualMachineSizeTypes Standard_DS14_4_v2 { get; } = new VirtualMachineSizeTypes("Standard_DS14-4_v2"); + public static VirtualMachineSizeTypes Standard_E2_v3 { get; } = new VirtualMachineSizeTypes("Standard_E2_v3"); + public static VirtualMachineSizeTypes Standard_E4_v3 { get; } = new VirtualMachineSizeTypes("Standard_E4_v3"); + public static VirtualMachineSizeTypes Standard_E8_v3 { get; } = new VirtualMachineSizeTypes("Standard_E8_v3"); + public static VirtualMachineSizeTypes Standard_E16_v3 { get; } = new VirtualMachineSizeTypes("Standard_E16_v3"); + public static VirtualMachineSizeTypes Standard_E32_v3 { get; } = new VirtualMachineSizeTypes("Standard_E32_v3"); + public static VirtualMachineSizeTypes Standard_E64_v3 { get; } = new VirtualMachineSizeTypes("Standard_E64_v3"); + public static VirtualMachineSizeTypes Standard_E2s_v3 { get; } = new VirtualMachineSizeTypes("Standard_E2s_v3"); + public static VirtualMachineSizeTypes Standard_E4s_v3 { get; } = new VirtualMachineSizeTypes("Standard_E4s_v3"); + public static VirtualMachineSizeTypes Standard_E8s_v3 { get; } = new VirtualMachineSizeTypes("Standard_E8s_v3"); + public static VirtualMachineSizeTypes Standard_E16s_v3 { get; } = new VirtualMachineSizeTypes("Standard_E16s_v3"); + public static VirtualMachineSizeTypes Standard_E32s_v3 { get; } = new VirtualMachineSizeTypes("Standard_E32s_v3"); + public static VirtualMachineSizeTypes Standard_E64s_v3 { get; } = new VirtualMachineSizeTypes("Standard_E64s_v3"); + public static VirtualMachineSizeTypes Standard_E32_16_v3 { get; } = new VirtualMachineSizeTypes("Standard_E32-16_v3"); + public static VirtualMachineSizeTypes Standard_E32_8s_v3 { get; } = new VirtualMachineSizeTypes("Standard_E32-8s_v3"); + public static VirtualMachineSizeTypes Standard_E64_32s_v3 { get; } = new VirtualMachineSizeTypes("Standard_E64-32s_v3"); + public static VirtualMachineSizeTypes Standard_E64_16s_v3 { get; } = new VirtualMachineSizeTypes("Standard_E64-16s_v3"); + public static VirtualMachineSizeTypes Standard_F1 { get; } = new VirtualMachineSizeTypes("Standard_F1"); + public static VirtualMachineSizeTypes Standard_F2 { get; } = new VirtualMachineSizeTypes("Standard_F2"); + public static VirtualMachineSizeTypes Standard_F4 { get; } = new VirtualMachineSizeTypes("Standard_F4"); + public static VirtualMachineSizeTypes Standard_F8 { get; } = new VirtualMachineSizeTypes("Standard_F8"); + public static VirtualMachineSizeTypes Standard_F16 { get; } = new VirtualMachineSizeTypes("Standard_F16"); + public static VirtualMachineSizeTypes Standard_F1s { get; } = new VirtualMachineSizeTypes("Standard_F1s"); + public static VirtualMachineSizeTypes Standard_F2s { get; } = new VirtualMachineSizeTypes("Standard_F2s"); + public static VirtualMachineSizeTypes Standard_F4s { get; } = new VirtualMachineSizeTypes("Standard_F4s"); + public static VirtualMachineSizeTypes Standard_F8s { get; } = new VirtualMachineSizeTypes("Standard_F8s"); + public static VirtualMachineSizeTypes Standard_F16s { get; } = new VirtualMachineSizeTypes("Standard_F16s"); + public static VirtualMachineSizeTypes Standard_F2s_v2 { get; } = new VirtualMachineSizeTypes("Standard_F2s_v2"); + public static VirtualMachineSizeTypes Standard_F4s_v2 { get; } = new VirtualMachineSizeTypes("Standard_F4s_v2"); + public static VirtualMachineSizeTypes Standard_F8s_v2 { get; } = new VirtualMachineSizeTypes("Standard_F8s_v2"); + public static VirtualMachineSizeTypes Standard_F16s_v2 { get; } = new VirtualMachineSizeTypes("Standard_F16s_v2"); + public static VirtualMachineSizeTypes Standard_F32s_v2 { get; } = new VirtualMachineSizeTypes("Standard_F32s_v2"); + public static VirtualMachineSizeTypes Standard_F64s_v2 { get; } = new VirtualMachineSizeTypes("Standard_F64s_v2"); + public static VirtualMachineSizeTypes Standard_F72s_v2 { get; } = new VirtualMachineSizeTypes("Standard_F72s_v2"); + public static VirtualMachineSizeTypes Standard_G1 { get; } = new VirtualMachineSizeTypes("Standard_G1"); + public static VirtualMachineSizeTypes Standard_G2 { get; } = new VirtualMachineSizeTypes("Standard_G2"); + public static VirtualMachineSizeTypes Standard_G3 { get; } = new VirtualMachineSizeTypes("Standard_G3"); + public static VirtualMachineSizeTypes Standard_G4 { get; } = new VirtualMachineSizeTypes("Standard_G4"); + public static VirtualMachineSizeTypes Standard_G5 { get; } = new VirtualMachineSizeTypes("Standard_G5"); + public static VirtualMachineSizeTypes Standard_GS1 { get; } = new VirtualMachineSizeTypes("Standard_GS1"); + public static VirtualMachineSizeTypes Standard_GS2 { get; } = new VirtualMachineSizeTypes("Standard_GS2"); + public static VirtualMachineSizeTypes Standard_GS3 { get; } = new VirtualMachineSizeTypes("Standard_GS3"); + public static VirtualMachineSizeTypes Standard_GS4 { get; } = new VirtualMachineSizeTypes("Standard_GS4"); + public static VirtualMachineSizeTypes Standard_GS5 { get; } = new VirtualMachineSizeTypes("Standard_GS5"); + public static VirtualMachineSizeTypes Standard_GS4_8 { get; } = new VirtualMachineSizeTypes("Standard_GS4-8"); + public static VirtualMachineSizeTypes Standard_GS4_4 { get; } = new VirtualMachineSizeTypes("Standard_GS4-4"); + public static VirtualMachineSizeTypes Standard_GS5_16 { get; } = new VirtualMachineSizeTypes("Standard_GS5-16"); + public static VirtualMachineSizeTypes Standard_GS5_8 { get; } = new VirtualMachineSizeTypes("Standard_GS5-8"); + public static VirtualMachineSizeTypes Standard_H8 { get; } = new VirtualMachineSizeTypes("Standard_H8"); + public static VirtualMachineSizeTypes Standard_H16 { get; } = new VirtualMachineSizeTypes("Standard_H16"); + public static VirtualMachineSizeTypes Standard_H8m { get; } = new VirtualMachineSizeTypes("Standard_H8m"); + public static VirtualMachineSizeTypes Standard_H16m { get; } = new VirtualMachineSizeTypes("Standard_H16m"); + public static VirtualMachineSizeTypes Standard_H16r { get; } = new VirtualMachineSizeTypes("Standard_H16r"); + public static VirtualMachineSizeTypes Standard_H16mr { get; } = new VirtualMachineSizeTypes("Standard_H16mr"); + public static VirtualMachineSizeTypes Standard_L4s { get; } = new VirtualMachineSizeTypes("Standard_L4s"); + public static VirtualMachineSizeTypes Standard_L8s { get; } = new VirtualMachineSizeTypes("Standard_L8s"); + public static VirtualMachineSizeTypes Standard_L16s { get; } = new VirtualMachineSizeTypes("Standard_L16s"); + public static VirtualMachineSizeTypes Standard_L32s { get; } = new VirtualMachineSizeTypes("Standard_L32s"); + public static VirtualMachineSizeTypes Standard_M64s { get; } = new VirtualMachineSizeTypes("Standard_M64s"); + public static VirtualMachineSizeTypes Standard_M64ms { get; } = new VirtualMachineSizeTypes("Standard_M64ms"); + public static VirtualMachineSizeTypes Standard_M128s { get; } = new VirtualMachineSizeTypes("Standard_M128s"); + public static VirtualMachineSizeTypes Standard_M128ms { get; } = new VirtualMachineSizeTypes("Standard_M128ms"); + public static VirtualMachineSizeTypes Standard_M64_32ms { get; } = new VirtualMachineSizeTypes("Standard_M64-32ms"); + public static VirtualMachineSizeTypes Standard_M64_16ms { get; } = new VirtualMachineSizeTypes("Standard_M64-16ms"); + public static VirtualMachineSizeTypes Standard_M128_64ms { get; } = new VirtualMachineSizeTypes("Standard_M128-64ms"); + public static VirtualMachineSizeTypes Standard_M128_32ms { get; } = new VirtualMachineSizeTypes("Standard_M128-32ms"); + public static VirtualMachineSizeTypes Standard_NC6 { get; } = new VirtualMachineSizeTypes("Standard_NC6"); + public static VirtualMachineSizeTypes Standard_NC12 { get; } = new VirtualMachineSizeTypes("Standard_NC12"); + public static VirtualMachineSizeTypes Standard_NC24 { get; } = new VirtualMachineSizeTypes("Standard_NC24"); + public static VirtualMachineSizeTypes Standard_NC24r { get; } = new VirtualMachineSizeTypes("Standard_NC24r"); + public static VirtualMachineSizeTypes Standard_NC6s_v2 { get; } = new VirtualMachineSizeTypes("Standard_NC6s_v2"); + public static VirtualMachineSizeTypes Standard_NC12s_v2 { get; } = new VirtualMachineSizeTypes("Standard_NC12s_v2"); + public static VirtualMachineSizeTypes Standard_NC24s_v2 { get; } = new VirtualMachineSizeTypes("Standard_NC24s_v2"); + public static VirtualMachineSizeTypes Standard_NC24rs_v2 { get; } = new VirtualMachineSizeTypes("Standard_NC24rs_v2"); + public static VirtualMachineSizeTypes Standard_NC6s_v3 { get; } = new VirtualMachineSizeTypes("Standard_NC6s_v3"); + public static VirtualMachineSizeTypes Standard_NC12s_v3 { get; } = new VirtualMachineSizeTypes("Standard_NC12s_v3"); + public static VirtualMachineSizeTypes Standard_NC24s_v3 { get; } = new VirtualMachineSizeTypes("Standard_NC24s_v3"); + public static VirtualMachineSizeTypes Standard_NC24rs_v3 { get; } = new VirtualMachineSizeTypes("Standard_NC24rs_v3"); + public static VirtualMachineSizeTypes Standard_ND6s { get; } = new VirtualMachineSizeTypes("Standard_ND6s"); + public static VirtualMachineSizeTypes Standard_ND12s { get; } = new VirtualMachineSizeTypes("Standard_ND12s"); + public static VirtualMachineSizeTypes Standard_ND24s { get; } = new VirtualMachineSizeTypes("Standard_ND24s"); + public static VirtualMachineSizeTypes Standard_ND24rs { get; } = new VirtualMachineSizeTypes("Standard_ND24rs"); + public static VirtualMachineSizeTypes Standard_NV6 { get; } = new VirtualMachineSizeTypes("Standard_NV6"); + public static VirtualMachineSizeTypes Standard_NV12 { get; } = new VirtualMachineSizeTypes("Standard_NV12"); + public static VirtualMachineSizeTypes Standard_NV24 { get; } = new VirtualMachineSizeTypes("Standard_NV24"); + + public static bool operator ==(VirtualMachineSizeTypes left, VirtualMachineSizeTypes right) => left.Equals(right); + public static bool operator !=(VirtualMachineSizeTypes left, VirtualMachineSizeTypes right) => !left.Equals(right); + + public static explicit operator string(VirtualMachineSizeTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is VirtualMachineSizeTypes other && Equals(other); + public bool Equals(VirtualMachineSizeTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You control the timing of patch assessments on a virtual machine.<br /><br /> **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + /// + [EnumType] + public readonly struct WindowsPatchAssessmentMode : IEquatable + { + private readonly string _value; + + private WindowsPatchAssessmentMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static WindowsPatchAssessmentMode ImageDefault { get; } = new WindowsPatchAssessmentMode("ImageDefault"); + public static WindowsPatchAssessmentMode AutomaticByPlatform { get; } = new WindowsPatchAssessmentMode("AutomaticByPlatform"); + + public static bool operator ==(WindowsPatchAssessmentMode left, WindowsPatchAssessmentMode right) => left.Equals(right); + public static bool operator !=(WindowsPatchAssessmentMode left, WindowsPatchAssessmentMode right) => !left.Equals(right); + + public static explicit operator string(WindowsPatchAssessmentMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is WindowsPatchAssessmentMode other && Equals(other); + public bool Equals(WindowsPatchAssessmentMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + /// + [EnumType] + public readonly struct WindowsVMGuestPatchAutomaticByPlatformRebootSetting : IEquatable + { + private readonly string _value; + + private WindowsVMGuestPatchAutomaticByPlatformRebootSetting(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static WindowsVMGuestPatchAutomaticByPlatformRebootSetting Unknown { get; } = new WindowsVMGuestPatchAutomaticByPlatformRebootSetting("Unknown"); + public static WindowsVMGuestPatchAutomaticByPlatformRebootSetting IfRequired { get; } = new WindowsVMGuestPatchAutomaticByPlatformRebootSetting("IfRequired"); + public static WindowsVMGuestPatchAutomaticByPlatformRebootSetting Never { get; } = new WindowsVMGuestPatchAutomaticByPlatformRebootSetting("Never"); + public static WindowsVMGuestPatchAutomaticByPlatformRebootSetting Always { get; } = new WindowsVMGuestPatchAutomaticByPlatformRebootSetting("Always"); + + public static bool operator ==(WindowsVMGuestPatchAutomaticByPlatformRebootSetting left, WindowsVMGuestPatchAutomaticByPlatformRebootSetting right) => left.Equals(right); + public static bool operator !=(WindowsVMGuestPatchAutomaticByPlatformRebootSetting left, WindowsVMGuestPatchAutomaticByPlatformRebootSetting right) => !left.Equals(right); + + public static explicit operator string(WindowsVMGuestPatchAutomaticByPlatformRebootSetting value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is WindowsVMGuestPatchAutomaticByPlatformRebootSetting other && Equals(other); + public bool Equals(WindowsVMGuestPatchAutomaticByPlatformRebootSetting other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false<br /><br /> **AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. <br /><br /> **AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true + /// + [EnumType] + public readonly struct WindowsVMGuestPatchMode : IEquatable + { + private readonly string _value; + + private WindowsVMGuestPatchMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static WindowsVMGuestPatchMode Manual { get; } = new WindowsVMGuestPatchMode("Manual"); + public static WindowsVMGuestPatchMode AutomaticByOS { get; } = new WindowsVMGuestPatchMode("AutomaticByOS"); + public static WindowsVMGuestPatchMode AutomaticByPlatform { get; } = new WindowsVMGuestPatchMode("AutomaticByPlatform"); + + public static bool operator ==(WindowsVMGuestPatchMode left, WindowsVMGuestPatchMode right) => left.Equals(right); + public static bool operator !=(WindowsVMGuestPatchMode left, WindowsVMGuestPatchMode right) => !left.Equals(right); + + public static explicit operator string(WindowsVMGuestPatchMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is WindowsVMGuestPatchMode other && Equals(other); + public bool Equals(WindowsVMGuestPatchMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetAvailabilitySet.cs b/sdk/dotnet/Compute/V20230701/GetAvailabilitySet.cs new file mode 100644 index 000000000000..cc9aa5d86254 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetAvailabilitySet.cs @@ -0,0 +1,154 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetAvailabilitySet + { + /// + /// Retrieves information about an availability set. + /// + public static Task InvokeAsync(GetAvailabilitySetArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getAvailabilitySet", args ?? new GetAvailabilitySetArgs(), options.WithDefaults()); + + /// + /// Retrieves information about an availability set. + /// + public static Output Invoke(GetAvailabilitySetInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getAvailabilitySet", args ?? new GetAvailabilitySetInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAvailabilitySetArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the availability set. + /// + [Input("availabilitySetName", required: true)] + public string AvailabilitySetName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetAvailabilitySetArgs() + { + } + public static new GetAvailabilitySetArgs Empty => new GetAvailabilitySetArgs(); + } + + public sealed class GetAvailabilitySetInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the availability set. + /// + [Input("availabilitySetName", required: true)] + public Input AvailabilitySetName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetAvailabilitySetInvokeArgs() + { + } + public static new GetAvailabilitySetInvokeArgs Empty => new GetAvailabilitySetInvokeArgs(); + } + + + [OutputType] + public sealed class GetAvailabilitySetResult + { + /// + /// Resource Id + /// + public readonly string Id; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Fault Domain count. + /// + public readonly int? PlatformFaultDomainCount; + /// + /// Update Domain count. + /// + public readonly int? PlatformUpdateDomainCount; + /// + /// Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. + /// + public readonly Outputs.SubResourceResponse? ProximityPlacementGroup; + /// + /// Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. + /// + public readonly Outputs.SkuResponse? Sku; + /// + /// The resource status information. + /// + public readonly ImmutableArray Statuses; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Resource type + /// + public readonly string Type; + /// + /// A list of references to all virtual machines in the availability set. + /// + public readonly ImmutableArray VirtualMachines; + + [OutputConstructor] + private GetAvailabilitySetResult( + string id, + + string location, + + string name, + + int? platformFaultDomainCount, + + int? platformUpdateDomainCount, + + Outputs.SubResourceResponse? proximityPlacementGroup, + + Outputs.SkuResponse? sku, + + ImmutableArray statuses, + + ImmutableDictionary? tags, + + string type, + + ImmutableArray virtualMachines) + { + Id = id; + Location = location; + Name = name; + PlatformFaultDomainCount = platformFaultDomainCount; + PlatformUpdateDomainCount = platformUpdateDomainCount; + ProximityPlacementGroup = proximityPlacementGroup; + Sku = sku; + Statuses = statuses; + Tags = tags; + Type = type; + VirtualMachines = virtualMachines; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetCapacityReservation.cs b/sdk/dotnet/Compute/V20230701/GetCapacityReservation.cs new file mode 100644 index 000000000000..bb3796abf235 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetCapacityReservation.cs @@ -0,0 +1,199 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetCapacityReservation + { + /// + /// The operation that retrieves information about the capacity reservation. + /// + public static Task InvokeAsync(GetCapacityReservationArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getCapacityReservation", args ?? new GetCapacityReservationArgs(), options.WithDefaults()); + + /// + /// The operation that retrieves information about the capacity reservation. + /// + public static Output Invoke(GetCapacityReservationInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getCapacityReservation", args ?? new GetCapacityReservationInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCapacityReservationArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the capacity reservation group. + /// + [Input("capacityReservationGroupName", required: true)] + public string CapacityReservationGroupName { get; set; } = null!; + + /// + /// The name of the capacity reservation. + /// + [Input("capacityReservationName", required: true)] + public string CapacityReservationName { get; set; } = null!; + + /// + /// The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetCapacityReservationArgs() + { + } + public static new GetCapacityReservationArgs Empty => new GetCapacityReservationArgs(); + } + + public sealed class GetCapacityReservationInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the capacity reservation group. + /// + [Input("capacityReservationGroupName", required: true)] + public Input CapacityReservationGroupName { get; set; } = null!; + + /// + /// The name of the capacity reservation. + /// + [Input("capacityReservationName", required: true)] + public Input CapacityReservationName { get; set; } = null!; + + /// + /// The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetCapacityReservationInvokeArgs() + { + } + public static new GetCapacityReservationInvokeArgs Empty => new GetCapacityReservationInvokeArgs(); + } + + + [OutputType] + public sealed class GetCapacityReservationResult + { + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The Capacity reservation instance view. + /// + public readonly Outputs.CapacityReservationInstanceViewResponse InstanceView; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Specifies the value of fault domain count that Capacity Reservation supports for requested VM size. **Note:** The fault domain count specified for a resource (like virtual machines scale set) must be less than or equal to this value if it deploys using capacity reservation. Minimum api-version: 2022-08-01. + /// + public readonly int PlatformFaultDomainCount; + /// + /// The provisioning state, which only appears in the response. + /// + public readonly string ProvisioningState; + /// + /// The date time when the capacity reservation was last updated. + /// + public readonly string ProvisioningTime; + /// + /// A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource. + /// + public readonly string ReservationId; + /// + /// SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. + /// + public readonly Outputs.SkuResponse Sku; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Specifies the time at which the Capacity Reservation resource was created. Minimum api-version: 2021-11-01. + /// + public readonly string TimeCreated; + /// + /// Resource type + /// + public readonly string Type; + /// + /// A list of all virtual machine resource ids that are associated with the capacity reservation. + /// + public readonly ImmutableArray VirtualMachinesAssociated; + /// + /// Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone. + /// + public readonly ImmutableArray Zones; + + [OutputConstructor] + private GetCapacityReservationResult( + string id, + + Outputs.CapacityReservationInstanceViewResponse instanceView, + + string location, + + string name, + + int platformFaultDomainCount, + + string provisioningState, + + string provisioningTime, + + string reservationId, + + Outputs.SkuResponse sku, + + ImmutableDictionary? tags, + + string timeCreated, + + string type, + + ImmutableArray virtualMachinesAssociated, + + ImmutableArray zones) + { + Id = id; + InstanceView = instanceView; + Location = location; + Name = name; + PlatformFaultDomainCount = platformFaultDomainCount; + ProvisioningState = provisioningState; + ProvisioningTime = provisioningTime; + ReservationId = reservationId; + Sku = sku; + Tags = tags; + TimeCreated = timeCreated; + Type = type; + VirtualMachinesAssociated = virtualMachinesAssociated; + Zones = zones; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetCapacityReservationGroup.cs b/sdk/dotnet/Compute/V20230701/GetCapacityReservationGroup.cs new file mode 100644 index 000000000000..56f25b71aadb --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetCapacityReservationGroup.cs @@ -0,0 +1,152 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetCapacityReservationGroup + { + /// + /// The operation that retrieves information about a capacity reservation group. + /// + public static Task InvokeAsync(GetCapacityReservationGroupArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getCapacityReservationGroup", args ?? new GetCapacityReservationGroupArgs(), options.WithDefaults()); + + /// + /// The operation that retrieves information about a capacity reservation group. + /// + public static Output Invoke(GetCapacityReservationGroupInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getCapacityReservationGroup", args ?? new GetCapacityReservationGroupInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCapacityReservationGroupArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the capacity reservation group. + /// + [Input("capacityReservationGroupName", required: true)] + public string CapacityReservationGroupName { get; set; } = null!; + + /// + /// The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the capacity reservations under the capacity reservation group which is a snapshot of the runtime properties of a capacity reservation that is managed by the platform and can change outside of control plane operations. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetCapacityReservationGroupArgs() + { + } + public static new GetCapacityReservationGroupArgs Empty => new GetCapacityReservationGroupArgs(); + } + + public sealed class GetCapacityReservationGroupInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the capacity reservation group. + /// + [Input("capacityReservationGroupName", required: true)] + public Input CapacityReservationGroupName { get; set; } = null!; + + /// + /// The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the capacity reservations under the capacity reservation group which is a snapshot of the runtime properties of a capacity reservation that is managed by the platform and can change outside of control plane operations. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetCapacityReservationGroupInvokeArgs() + { + } + public static new GetCapacityReservationGroupInvokeArgs Empty => new GetCapacityReservationGroupInvokeArgs(); + } + + + [OutputType] + public sealed class GetCapacityReservationGroupResult + { + /// + /// A list of all capacity reservation resource ids that belong to capacity reservation group. + /// + public readonly ImmutableArray CapacityReservations; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group. + /// + public readonly Outputs.CapacityReservationGroupInstanceViewResponse InstanceView; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Resource type + /// + public readonly string Type; + /// + /// A list of references to all virtual machines associated to the capacity reservation group. + /// + public readonly ImmutableArray VirtualMachinesAssociated; + /// + /// Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones. + /// + public readonly ImmutableArray Zones; + + [OutputConstructor] + private GetCapacityReservationGroupResult( + ImmutableArray capacityReservations, + + string id, + + Outputs.CapacityReservationGroupInstanceViewResponse instanceView, + + string location, + + string name, + + ImmutableDictionary? tags, + + string type, + + ImmutableArray virtualMachinesAssociated, + + ImmutableArray zones) + { + CapacityReservations = capacityReservations; + Id = id; + InstanceView = instanceView; + Location = location; + Name = name; + Tags = tags; + Type = type; + VirtualMachinesAssociated = virtualMachinesAssociated; + Zones = zones; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetDedicatedHost.cs b/sdk/dotnet/Compute/V20230701/GetDedicatedHost.cs new file mode 100644 index 000000000000..741f5d908d7b --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetDedicatedHost.cs @@ -0,0 +1,206 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetDedicatedHost + { + /// + /// Retrieves information about a dedicated host. + /// + public static Task InvokeAsync(GetDedicatedHostArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getDedicatedHost", args ?? new GetDedicatedHostArgs(), options.WithDefaults()); + + /// + /// Retrieves information about a dedicated host. + /// + public static Output Invoke(GetDedicatedHostInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getDedicatedHost", args ?? new GetDedicatedHostInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDedicatedHostArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated host. 'UserData' is not supported for dedicated host. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the dedicated host group. + /// + [Input("hostGroupName", required: true)] + public string HostGroupName { get; set; } = null!; + + /// + /// The name of the dedicated host. + /// + [Input("hostName", required: true)] + public string HostName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetDedicatedHostArgs() + { + } + public static new GetDedicatedHostArgs Empty => new GetDedicatedHostArgs(); + } + + public sealed class GetDedicatedHostInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated host. 'UserData' is not supported for dedicated host. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the dedicated host group. + /// + [Input("hostGroupName", required: true)] + public Input HostGroupName { get; set; } = null!; + + /// + /// The name of the dedicated host. + /// + [Input("hostName", required: true)] + public Input HostName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetDedicatedHostInvokeArgs() + { + } + public static new GetDedicatedHostInvokeArgs Empty => new GetDedicatedHostInvokeArgs(); + } + + + [OutputType] + public sealed class GetDedicatedHostResult + { + /// + /// Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. + /// + public readonly bool? AutoReplaceOnFailure; + /// + /// A unique id generated and assigned to the dedicated host by the platform. Does not change throughout the lifetime of the host. + /// + public readonly string HostId; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The dedicated host instance view. + /// + public readonly Outputs.DedicatedHostInstanceViewResponse InstanceView; + /// + /// Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + /// + public readonly string? LicenseType; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Fault domain of the dedicated host within a dedicated host group. + /// + public readonly int? PlatformFaultDomain; + /// + /// The provisioning state, which only appears in the response. + /// + public readonly string ProvisioningState; + /// + /// The date when the host was first provisioned. + /// + public readonly string ProvisioningTime; + /// + /// SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values. + /// + public readonly Outputs.SkuResponse Sku; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Specifies the time at which the Dedicated Host resource was created. Minimum api-version: 2021-11-01. + /// + public readonly string TimeCreated; + /// + /// Resource type + /// + public readonly string Type; + /// + /// A list of references to all virtual machines in the Dedicated Host. + /// + public readonly ImmutableArray VirtualMachines; + + [OutputConstructor] + private GetDedicatedHostResult( + bool? autoReplaceOnFailure, + + string hostId, + + string id, + + Outputs.DedicatedHostInstanceViewResponse instanceView, + + string? licenseType, + + string location, + + string name, + + int? platformFaultDomain, + + string provisioningState, + + string provisioningTime, + + Outputs.SkuResponse sku, + + ImmutableDictionary? tags, + + string timeCreated, + + string type, + + ImmutableArray virtualMachines) + { + AutoReplaceOnFailure = autoReplaceOnFailure; + HostId = hostId; + Id = id; + InstanceView = instanceView; + LicenseType = licenseType; + Location = location; + Name = name; + PlatformFaultDomain = platformFaultDomain; + ProvisioningState = provisioningState; + ProvisioningTime = provisioningTime; + Sku = sku; + Tags = tags; + TimeCreated = timeCreated; + Type = type; + VirtualMachines = virtualMachines; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetDedicatedHostGroup.cs b/sdk/dotnet/Compute/V20230701/GetDedicatedHostGroup.cs new file mode 100644 index 000000000000..a2be0dfd6617 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetDedicatedHostGroup.cs @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetDedicatedHostGroup + { + /// + /// Retrieves information about a dedicated host group. + /// + public static Task InvokeAsync(GetDedicatedHostGroupArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getDedicatedHostGroup", args ?? new GetDedicatedHostGroupArgs(), options.WithDefaults()); + + /// + /// Retrieves information about a dedicated host group. + /// + public static Output Invoke(GetDedicatedHostGroupInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getDedicatedHostGroup", args ?? new GetDedicatedHostGroupInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDedicatedHostGroupArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated hosts under the dedicated host group. 'UserData' is not supported for dedicated host group. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the dedicated host group. + /// + [Input("hostGroupName", required: true)] + public string HostGroupName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetDedicatedHostGroupArgs() + { + } + public static new GetDedicatedHostGroupArgs Empty => new GetDedicatedHostGroupArgs(); + } + + public sealed class GetDedicatedHostGroupInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated hosts under the dedicated host group. 'UserData' is not supported for dedicated host group. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the dedicated host group. + /// + [Input("hostGroupName", required: true)] + public Input HostGroupName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetDedicatedHostGroupInvokeArgs() + { + } + public static new GetDedicatedHostGroupInvokeArgs Empty => new GetDedicatedHostGroupInvokeArgs(); + } + + + [OutputType] + public sealed class GetDedicatedHostGroupResult + { + /// + /// Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + /// + public readonly Outputs.DedicatedHostGroupPropertiesResponseAdditionalCapabilities? AdditionalCapabilities; + /// + /// A list of references to all dedicated hosts in the dedicated host group. + /// + public readonly ImmutableArray Hosts; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group. + /// + public readonly Outputs.DedicatedHostGroupInstanceViewResponse InstanceView; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Number of fault domains that the host group can span. + /// + public readonly int PlatformFaultDomainCount; + /// + /// Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. + /// + public readonly bool? SupportAutomaticPlacement; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Resource type + /// + public readonly string Type; + /// + /// Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone. + /// + public readonly ImmutableArray Zones; + + [OutputConstructor] + private GetDedicatedHostGroupResult( + Outputs.DedicatedHostGroupPropertiesResponseAdditionalCapabilities? additionalCapabilities, + + ImmutableArray hosts, + + string id, + + Outputs.DedicatedHostGroupInstanceViewResponse instanceView, + + string location, + + string name, + + int platformFaultDomainCount, + + bool? supportAutomaticPlacement, + + ImmutableDictionary? tags, + + string type, + + ImmutableArray zones) + { + AdditionalCapabilities = additionalCapabilities; + Hosts = hosts; + Id = id; + InstanceView = instanceView; + Location = location; + Name = name; + PlatformFaultDomainCount = platformFaultDomainCount; + SupportAutomaticPlacement = supportAutomaticPlacement; + Tags = tags; + Type = type; + Zones = zones; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetImage.cs b/sdk/dotnet/Compute/V20230701/GetImage.cs new file mode 100644 index 000000000000..a69c7a114aa6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetImage.cs @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetImage + { + /// + /// Gets an image. + /// + public static Task InvokeAsync(GetImageArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getImage", args ?? new GetImageArgs(), options.WithDefaults()); + + /// + /// Gets an image. + /// + public static Output Invoke(GetImageInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getImage", args ?? new GetImageInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetImageArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the image. + /// + [Input("imageName", required: true)] + public string ImageName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetImageArgs() + { + } + public static new GetImageArgs Empty => new GetImageArgs(); + } + + public sealed class GetImageInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the image. + /// + [Input("imageName", required: true)] + public Input ImageName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetImageInvokeArgs() + { + } + public static new GetImageInvokeArgs Empty => new GetImageInvokeArgs(); + } + + + [OutputType] + public sealed class GetImageResult + { + /// + /// The extended location of the Image. + /// + public readonly Outputs.ExtendedLocationResponse? ExtendedLocation; + /// + /// Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + /// + public readonly string? HyperVGeneration; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// The provisioning state. + /// + public readonly string ProvisioningState; + /// + /// The source virtual machine from which Image is created. + /// + public readonly Outputs.SubResourceResponse? SourceVirtualMachine; + /// + /// Specifies the storage settings for the virtual machine disks. + /// + public readonly Outputs.ImageStorageProfileResponse? StorageProfile; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Resource type + /// + public readonly string Type; + + [OutputConstructor] + private GetImageResult( + Outputs.ExtendedLocationResponse? extendedLocation, + + string? hyperVGeneration, + + string id, + + string location, + + string name, + + string provisioningState, + + Outputs.SubResourceResponse? sourceVirtualMachine, + + Outputs.ImageStorageProfileResponse? storageProfile, + + ImmutableDictionary? tags, + + string type) + { + ExtendedLocation = extendedLocation; + HyperVGeneration = hyperVGeneration; + Id = id; + Location = location; + Name = name; + ProvisioningState = provisioningState; + SourceVirtualMachine = sourceVirtualMachine; + StorageProfile = storageProfile; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetLogAnalyticExportRequestRateByInterval.cs b/sdk/dotnet/Compute/V20230701/GetLogAnalyticExportRequestRateByInterval.cs new file mode 100644 index 000000000000..750d090bfcc8 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetLogAnalyticExportRequestRateByInterval.cs @@ -0,0 +1,179 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetLogAnalyticExportRequestRateByInterval + { + /// + /// Export logs that show Api requests made by this subscription in the given time window to show throttling activities. + /// + public static Task InvokeAsync(GetLogAnalyticExportRequestRateByIntervalArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getLogAnalyticExportRequestRateByInterval", args ?? new GetLogAnalyticExportRequestRateByIntervalArgs(), options.WithDefaults()); + + /// + /// Export logs that show Api requests made by this subscription in the given time window to show throttling activities. + /// + public static Output Invoke(GetLogAnalyticExportRequestRateByIntervalInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getLogAnalyticExportRequestRateByInterval", args ?? new GetLogAnalyticExportRequestRateByIntervalInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetLogAnalyticExportRequestRateByIntervalArgs : global::Pulumi.InvokeArgs + { + /// + /// SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. + /// + [Input("blobContainerSasUri", required: true)] + public string BlobContainerSasUri { get; set; } = null!; + + /// + /// From time of the query + /// + [Input("fromTime", required: true)] + public string FromTime { get; set; } = null!; + + /// + /// Group query result by Client Application ID. + /// + [Input("groupByClientApplicationId")] + public bool? GroupByClientApplicationId { get; set; } + + /// + /// Group query result by Operation Name. + /// + [Input("groupByOperationName")] + public bool? GroupByOperationName { get; set; } + + /// + /// Group query result by Resource Name. + /// + [Input("groupByResourceName")] + public bool? GroupByResourceName { get; set; } + + /// + /// Group query result by Throttle Policy applied. + /// + [Input("groupByThrottlePolicy")] + public bool? GroupByThrottlePolicy { get; set; } + + /// + /// Group query result by User Agent. + /// + [Input("groupByUserAgent")] + public bool? GroupByUserAgent { get; set; } + + /// + /// Interval value in minutes used to create LogAnalytics call rate logs. + /// + [Input("intervalLength", required: true)] + public Pulumi.AzureNative.Compute.V20230701.IntervalInMins IntervalLength { get; set; } + + /// + /// The location upon which virtual-machine-sizes is queried. + /// + [Input("location", required: true)] + public string Location { get; set; } = null!; + + /// + /// To time of the query + /// + [Input("toTime", required: true)] + public string ToTime { get; set; } = null!; + + public GetLogAnalyticExportRequestRateByIntervalArgs() + { + } + public static new GetLogAnalyticExportRequestRateByIntervalArgs Empty => new GetLogAnalyticExportRequestRateByIntervalArgs(); + } + + public sealed class GetLogAnalyticExportRequestRateByIntervalInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. + /// + [Input("blobContainerSasUri", required: true)] + public Input BlobContainerSasUri { get; set; } = null!; + + /// + /// From time of the query + /// + [Input("fromTime", required: true)] + public Input FromTime { get; set; } = null!; + + /// + /// Group query result by Client Application ID. + /// + [Input("groupByClientApplicationId")] + public Input? GroupByClientApplicationId { get; set; } + + /// + /// Group query result by Operation Name. + /// + [Input("groupByOperationName")] + public Input? GroupByOperationName { get; set; } + + /// + /// Group query result by Resource Name. + /// + [Input("groupByResourceName")] + public Input? GroupByResourceName { get; set; } + + /// + /// Group query result by Throttle Policy applied. + /// + [Input("groupByThrottlePolicy")] + public Input? GroupByThrottlePolicy { get; set; } + + /// + /// Group query result by User Agent. + /// + [Input("groupByUserAgent")] + public Input? GroupByUserAgent { get; set; } + + /// + /// Interval value in minutes used to create LogAnalytics call rate logs. + /// + [Input("intervalLength", required: true)] + public Input IntervalLength { get; set; } = null!; + + /// + /// The location upon which virtual-machine-sizes is queried. + /// + [Input("location", required: true)] + public Input Location { get; set; } = null!; + + /// + /// To time of the query + /// + [Input("toTime", required: true)] + public Input ToTime { get; set; } = null!; + + public GetLogAnalyticExportRequestRateByIntervalInvokeArgs() + { + } + public static new GetLogAnalyticExportRequestRateByIntervalInvokeArgs Empty => new GetLogAnalyticExportRequestRateByIntervalInvokeArgs(); + } + + + [OutputType] + public sealed class GetLogAnalyticExportRequestRateByIntervalResult + { + /// + /// LogAnalyticsOutput + /// + public readonly Outputs.LogAnalyticsOutputResponse Properties; + + [OutputConstructor] + private GetLogAnalyticExportRequestRateByIntervalResult(Outputs.LogAnalyticsOutputResponse properties) + { + Properties = properties; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetLogAnalyticExportThrottledRequests.cs b/sdk/dotnet/Compute/V20230701/GetLogAnalyticExportThrottledRequests.cs new file mode 100644 index 000000000000..20cc2e24dbb6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetLogAnalyticExportThrottledRequests.cs @@ -0,0 +1,167 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetLogAnalyticExportThrottledRequests + { + /// + /// Export logs that show total throttled Api requests for this subscription in the given time window. + /// + public static Task InvokeAsync(GetLogAnalyticExportThrottledRequestsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getLogAnalyticExportThrottledRequests", args ?? new GetLogAnalyticExportThrottledRequestsArgs(), options.WithDefaults()); + + /// + /// Export logs that show total throttled Api requests for this subscription in the given time window. + /// + public static Output Invoke(GetLogAnalyticExportThrottledRequestsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getLogAnalyticExportThrottledRequests", args ?? new GetLogAnalyticExportThrottledRequestsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetLogAnalyticExportThrottledRequestsArgs : global::Pulumi.InvokeArgs + { + /// + /// SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. + /// + [Input("blobContainerSasUri", required: true)] + public string BlobContainerSasUri { get; set; } = null!; + + /// + /// From time of the query + /// + [Input("fromTime", required: true)] + public string FromTime { get; set; } = null!; + + /// + /// Group query result by Client Application ID. + /// + [Input("groupByClientApplicationId")] + public bool? GroupByClientApplicationId { get; set; } + + /// + /// Group query result by Operation Name. + /// + [Input("groupByOperationName")] + public bool? GroupByOperationName { get; set; } + + /// + /// Group query result by Resource Name. + /// + [Input("groupByResourceName")] + public bool? GroupByResourceName { get; set; } + + /// + /// Group query result by Throttle Policy applied. + /// + [Input("groupByThrottlePolicy")] + public bool? GroupByThrottlePolicy { get; set; } + + /// + /// Group query result by User Agent. + /// + [Input("groupByUserAgent")] + public bool? GroupByUserAgent { get; set; } + + /// + /// The location upon which virtual-machine-sizes is queried. + /// + [Input("location", required: true)] + public string Location { get; set; } = null!; + + /// + /// To time of the query + /// + [Input("toTime", required: true)] + public string ToTime { get; set; } = null!; + + public GetLogAnalyticExportThrottledRequestsArgs() + { + } + public static new GetLogAnalyticExportThrottledRequestsArgs Empty => new GetLogAnalyticExportThrottledRequestsArgs(); + } + + public sealed class GetLogAnalyticExportThrottledRequestsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. + /// + [Input("blobContainerSasUri", required: true)] + public Input BlobContainerSasUri { get; set; } = null!; + + /// + /// From time of the query + /// + [Input("fromTime", required: true)] + public Input FromTime { get; set; } = null!; + + /// + /// Group query result by Client Application ID. + /// + [Input("groupByClientApplicationId")] + public Input? GroupByClientApplicationId { get; set; } + + /// + /// Group query result by Operation Name. + /// + [Input("groupByOperationName")] + public Input? GroupByOperationName { get; set; } + + /// + /// Group query result by Resource Name. + /// + [Input("groupByResourceName")] + public Input? GroupByResourceName { get; set; } + + /// + /// Group query result by Throttle Policy applied. + /// + [Input("groupByThrottlePolicy")] + public Input? GroupByThrottlePolicy { get; set; } + + /// + /// Group query result by User Agent. + /// + [Input("groupByUserAgent")] + public Input? GroupByUserAgent { get; set; } + + /// + /// The location upon which virtual-machine-sizes is queried. + /// + [Input("location", required: true)] + public Input Location { get; set; } = null!; + + /// + /// To time of the query + /// + [Input("toTime", required: true)] + public Input ToTime { get; set; } = null!; + + public GetLogAnalyticExportThrottledRequestsInvokeArgs() + { + } + public static new GetLogAnalyticExportThrottledRequestsInvokeArgs Empty => new GetLogAnalyticExportThrottledRequestsInvokeArgs(); + } + + + [OutputType] + public sealed class GetLogAnalyticExportThrottledRequestsResult + { + /// + /// LogAnalyticsOutput + /// + public readonly Outputs.LogAnalyticsOutputResponse Properties; + + [OutputConstructor] + private GetLogAnalyticExportThrottledRequestsResult(Outputs.LogAnalyticsOutputResponse properties) + { + Properties = properties; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetProximityPlacementGroup.cs b/sdk/dotnet/Compute/V20230701/GetProximityPlacementGroup.cs new file mode 100644 index 000000000000..70b119280efa --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetProximityPlacementGroup.cs @@ -0,0 +1,173 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetProximityPlacementGroup + { + /// + /// Retrieves information about a proximity placement group . + /// + public static Task InvokeAsync(GetProximityPlacementGroupArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getProximityPlacementGroup", args ?? new GetProximityPlacementGroupArgs(), options.WithDefaults()); + + /// + /// Retrieves information about a proximity placement group . + /// + public static Output Invoke(GetProximityPlacementGroupInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getProximityPlacementGroup", args ?? new GetProximityPlacementGroupInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetProximityPlacementGroupArgs : global::Pulumi.InvokeArgs + { + /// + /// includeColocationStatus=true enables fetching the colocation status of all the resources in the proximity placement group. + /// + [Input("includeColocationStatus")] + public string? IncludeColocationStatus { get; set; } + + /// + /// The name of the proximity placement group. + /// + [Input("proximityPlacementGroupName", required: true)] + public string ProximityPlacementGroupName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetProximityPlacementGroupArgs() + { + } + public static new GetProximityPlacementGroupArgs Empty => new GetProximityPlacementGroupArgs(); + } + + public sealed class GetProximityPlacementGroupInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// includeColocationStatus=true enables fetching the colocation status of all the resources in the proximity placement group. + /// + [Input("includeColocationStatus")] + public Input? IncludeColocationStatus { get; set; } + + /// + /// The name of the proximity placement group. + /// + [Input("proximityPlacementGroupName", required: true)] + public Input ProximityPlacementGroupName { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetProximityPlacementGroupInvokeArgs() + { + } + public static new GetProximityPlacementGroupInvokeArgs Empty => new GetProximityPlacementGroupInvokeArgs(); + } + + + [OutputType] + public sealed class GetProximityPlacementGroupResult + { + /// + /// A list of references to all availability sets in the proximity placement group. + /// + public readonly ImmutableArray AvailabilitySets; + /// + /// Describes colocation status of the Proximity Placement Group. + /// + public readonly Outputs.InstanceViewStatusResponse? ColocationStatus; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// Specifies the user intent of the proximity placement group. + /// + public readonly Outputs.ProximityPlacementGroupPropertiesResponseIntent? Intent; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + /// + public readonly string? ProximityPlacementGroupType; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Resource type + /// + public readonly string Type; + /// + /// A list of references to all virtual machine scale sets in the proximity placement group. + /// + public readonly ImmutableArray VirtualMachineScaleSets; + /// + /// A list of references to all virtual machines in the proximity placement group. + /// + public readonly ImmutableArray VirtualMachines; + /// + /// Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. + /// + public readonly ImmutableArray Zones; + + [OutputConstructor] + private GetProximityPlacementGroupResult( + ImmutableArray availabilitySets, + + Outputs.InstanceViewStatusResponse? colocationStatus, + + string id, + + Outputs.ProximityPlacementGroupPropertiesResponseIntent? intent, + + string location, + + string name, + + string? proximityPlacementGroupType, + + ImmutableDictionary? tags, + + string type, + + ImmutableArray virtualMachineScaleSets, + + ImmutableArray virtualMachines, + + ImmutableArray zones) + { + AvailabilitySets = availabilitySets; + ColocationStatus = colocationStatus; + Id = id; + Intent = intent; + Location = location; + Name = name; + ProximityPlacementGroupType = proximityPlacementGroupType; + Tags = tags; + Type = type; + VirtualMachineScaleSets = virtualMachineScaleSets; + VirtualMachines = virtualMachines; + Zones = zones; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetRestorePoint.cs b/sdk/dotnet/Compute/V20230701/GetRestorePoint.cs new file mode 100644 index 000000000000..b3ab879ffe4b --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetRestorePoint.cs @@ -0,0 +1,171 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetRestorePoint + { + /// + /// The operation to get the restore point. + /// + public static Task InvokeAsync(GetRestorePointArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getRestorePoint", args ?? new GetRestorePointArgs(), options.WithDefaults()); + + /// + /// The operation to get the restore point. + /// + public static Output Invoke(GetRestorePointInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getRestorePoint", args ?? new GetRestorePointInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetRestorePointArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. 'InstanceView' retrieves information about the run-time state of a restore point. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the restore point collection. + /// + [Input("restorePointCollectionName", required: true)] + public string RestorePointCollectionName { get; set; } = null!; + + /// + /// The name of the restore point. + /// + [Input("restorePointName", required: true)] + public string RestorePointName { get; set; } = null!; + + public GetRestorePointArgs() + { + } + public static new GetRestorePointArgs Empty => new GetRestorePointArgs(); + } + + public sealed class GetRestorePointInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. 'InstanceView' retrieves information about the run-time state of a restore point. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the restore point collection. + /// + [Input("restorePointCollectionName", required: true)] + public Input RestorePointCollectionName { get; set; } = null!; + + /// + /// The name of the restore point. + /// + [Input("restorePointName", required: true)] + public Input RestorePointName { get; set; } = null!; + + public GetRestorePointInvokeArgs() + { + } + public static new GetRestorePointInvokeArgs Empty => new GetRestorePointInvokeArgs(); + } + + + [OutputType] + public sealed class GetRestorePointResult + { + /// + /// ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + /// + public readonly string? ConsistencyMode; + /// + /// List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + /// + public readonly ImmutableArray ExcludeDisks; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The restore point instance view. + /// + public readonly Outputs.RestorePointInstanceViewResponse InstanceView; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Gets the provisioning state of the restore point. + /// + public readonly string ProvisioningState; + /// + /// Gets the details of the VM captured at the time of the restore point creation. + /// + public readonly Outputs.RestorePointSourceMetadataResponse? SourceMetadata; + /// + /// Resource Id of the source restore point from which a copy needs to be created. + /// + public readonly Outputs.ApiEntityReferenceResponse? SourceRestorePoint; + /// + /// Gets the creation time of the restore point. + /// + public readonly string? TimeCreated; + /// + /// Resource type + /// + public readonly string Type; + + [OutputConstructor] + private GetRestorePointResult( + string? consistencyMode, + + ImmutableArray excludeDisks, + + string id, + + Outputs.RestorePointInstanceViewResponse instanceView, + + string name, + + string provisioningState, + + Outputs.RestorePointSourceMetadataResponse? sourceMetadata, + + Outputs.ApiEntityReferenceResponse? sourceRestorePoint, + + string? timeCreated, + + string type) + { + ConsistencyMode = consistencyMode; + ExcludeDisks = excludeDisks; + Id = id; + InstanceView = instanceView; + Name = name; + ProvisioningState = provisioningState; + SourceMetadata = sourceMetadata; + SourceRestorePoint = sourceRestorePoint; + TimeCreated = timeCreated; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetRestorePointCollection.cs b/sdk/dotnet/Compute/V20230701/GetRestorePointCollection.cs new file mode 100644 index 000000000000..4c330be4018b --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetRestorePointCollection.cs @@ -0,0 +1,152 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetRestorePointCollection + { + /// + /// The operation to get the restore point collection. + /// + public static Task InvokeAsync(GetRestorePointCollectionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getRestorePointCollection", args ?? new GetRestorePointCollectionArgs(), options.WithDefaults()); + + /// + /// The operation to get the restore point collection. + /// + public static Output Invoke(GetRestorePointCollectionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getRestorePointCollection", args ?? new GetRestorePointCollectionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetRestorePointCollectionArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. If expand=restorePoints, server will return all contained restore points in the restorePointCollection. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the restore point collection. + /// + [Input("restorePointCollectionName", required: true)] + public string RestorePointCollectionName { get; set; } = null!; + + public GetRestorePointCollectionArgs() + { + } + public static new GetRestorePointCollectionArgs Empty => new GetRestorePointCollectionArgs(); + } + + public sealed class GetRestorePointCollectionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. If expand=restorePoints, server will return all contained restore points in the restorePointCollection. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the restore point collection. + /// + [Input("restorePointCollectionName", required: true)] + public Input RestorePointCollectionName { get; set; } = null!; + + public GetRestorePointCollectionInvokeArgs() + { + } + public static new GetRestorePointCollectionInvokeArgs Empty => new GetRestorePointCollectionInvokeArgs(); + } + + + [OutputType] + public sealed class GetRestorePointCollectionResult + { + /// + /// Resource Id + /// + public readonly string Id; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// The provisioning state of the restore point collection. + /// + public readonly string ProvisioningState; + /// + /// The unique id of the restore point collection. + /// + public readonly string RestorePointCollectionId; + /// + /// A list containing all restore points created under this restore point collection. + /// + public readonly ImmutableArray RestorePoints; + /// + /// The properties of the source resource that this restore point collection is created from. + /// + public readonly Outputs.RestorePointCollectionSourcePropertiesResponse? Source; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Resource type + /// + public readonly string Type; + + [OutputConstructor] + private GetRestorePointCollectionResult( + string id, + + string location, + + string name, + + string provisioningState, + + string restorePointCollectionId, + + ImmutableArray restorePoints, + + Outputs.RestorePointCollectionSourcePropertiesResponse? source, + + ImmutableDictionary? tags, + + string type) + { + Id = id; + Location = location; + Name = name; + ProvisioningState = provisioningState; + RestorePointCollectionId = restorePointCollectionId; + RestorePoints = restorePoints; + Source = source; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetSshPublicKey.cs b/sdk/dotnet/Compute/V20230701/GetSshPublicKey.cs new file mode 100644 index 000000000000..0be5294c6fd6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetSshPublicKey.cs @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetSshPublicKey + { + /// + /// Retrieves information about an SSH public key. + /// + public static Task InvokeAsync(GetSshPublicKeyArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getSshPublicKey", args ?? new GetSshPublicKeyArgs(), options.WithDefaults()); + + /// + /// Retrieves information about an SSH public key. + /// + public static Output Invoke(GetSshPublicKeyInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getSshPublicKey", args ?? new GetSshPublicKeyInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSshPublicKeyArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the SSH public key. + /// + [Input("sshPublicKeyName", required: true)] + public string SshPublicKeyName { get; set; } = null!; + + public GetSshPublicKeyArgs() + { + } + public static new GetSshPublicKeyArgs Empty => new GetSshPublicKeyArgs(); + } + + public sealed class GetSshPublicKeyInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the SSH public key. + /// + [Input("sshPublicKeyName", required: true)] + public Input SshPublicKeyName { get; set; } = null!; + + public GetSshPublicKeyInvokeArgs() + { + } + public static new GetSshPublicKeyInvokeArgs Empty => new GetSshPublicKeyInvokeArgs(); + } + + + [OutputType] + public sealed class GetSshPublicKeyResult + { + /// + /// Resource Id + /// + public readonly string Id; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. + /// + public readonly string? PublicKey; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Resource type + /// + public readonly string Type; + + [OutputConstructor] + private GetSshPublicKeyResult( + string id, + + string location, + + string name, + + string? publicKey, + + ImmutableDictionary? tags, + + string type) + { + Id = id; + Location = location; + Name = name; + PublicKey = publicKey; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetVirtualMachine.cs b/sdk/dotnet/Compute/V20230701/GetVirtualMachine.cs new file mode 100644 index 000000000000..73cfb006bac6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetVirtualMachine.cs @@ -0,0 +1,341 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetVirtualMachine + { + /// + /// Retrieves information about the model view or the instance view of a virtual machine. + /// + public static Task InvokeAsync(GetVirtualMachineArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getVirtualMachine", args ?? new GetVirtualMachineArgs(), options.WithDefaults()); + + /// + /// Retrieves information about the model view or the instance view of a virtual machine. + /// + public static Output Invoke(GetVirtualMachineInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getVirtualMachine", args ?? new GetVirtualMachineInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVirtualMachineArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the virtual machine that is managed by the platform and can change outside of control plane operations. 'UserData' retrieves the UserData property as part of the VM model view that was provided by the user during the VM Create/Update operation. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the virtual machine. + /// + [Input("vmName", required: true)] + public string VmName { get; set; } = null!; + + public GetVirtualMachineArgs() + { + } + public static new GetVirtualMachineArgs Empty => new GetVirtualMachineArgs(); + } + + public sealed class GetVirtualMachineInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the virtual machine that is managed by the platform and can change outside of control plane operations. 'UserData' retrieves the UserData property as part of the VM model view that was provided by the user during the VM Create/Update operation. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the virtual machine. + /// + [Input("vmName", required: true)] + public Input VmName { get; set; } = null!; + + public GetVirtualMachineInvokeArgs() + { + } + public static new GetVirtualMachineInvokeArgs Empty => new GetVirtualMachineInvokeArgs(); + } + + + [OutputType] + public sealed class GetVirtualMachineResult + { + /// + /// Specifies additional capabilities enabled or disabled on the virtual machine. + /// + public readonly Outputs.AdditionalCapabilitiesResponse? AdditionalCapabilities; + /// + /// Specifies the gallery applications that should be made available to the VM/VMSS. + /// + public readonly Outputs.ApplicationProfileResponse? ApplicationProfile; + /// + /// Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + /// + public readonly Outputs.SubResourceResponse? AvailabilitySet; + /// + /// Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. + /// + public readonly Outputs.BillingProfileResponse? BillingProfile; + /// + /// Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. + /// + public readonly Outputs.CapacityReservationProfileResponse? CapacityReservation; + /// + /// Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + /// + public readonly Outputs.DiagnosticsProfileResponse? DiagnosticsProfile; + /// + /// Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + /// + public readonly string? EvictionPolicy; + /// + /// The extended location of the Virtual Machine. + /// + public readonly Outputs.ExtendedLocationResponse? ExtendedLocation; + /// + /// Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + /// + public readonly string? ExtensionsTimeBudget; + /// + /// Specifies the hardware settings for the virtual machine. + /// + public readonly Outputs.HardwareProfileResponse? HardwareProfile; + /// + /// Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. + /// + public readonly Outputs.SubResourceResponse? Host; + /// + /// Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. + /// + public readonly Outputs.SubResourceResponse? HostGroup; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The identity of the virtual machine, if configured. + /// + public readonly Outputs.VirtualMachineIdentityResponse? Identity; + /// + /// The virtual machine instance view. + /// + public readonly Outputs.VirtualMachineInstanceViewResponse InstanceView; + /// + /// Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 + /// + public readonly string? LicenseType; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Specifies the network interfaces of the virtual machine. + /// + public readonly Outputs.NetworkProfileResponse? NetworkProfile; + /// + /// Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. + /// + public readonly Outputs.OSProfileResponse? OsProfile; + /// + /// Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + /// + public readonly Outputs.PlanResponse? Plan; + /// + /// Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. + /// + public readonly int? PlatformFaultDomain; + /// + /// Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 + /// + public readonly string? Priority; + /// + /// The provisioning state, which only appears in the response. + /// + public readonly string ProvisioningState; + /// + /// Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. + /// + public readonly Outputs.SubResourceResponse? ProximityPlacementGroup; + /// + /// The virtual machine child extension resources. + /// + public readonly ImmutableArray Resources; + /// + /// Specifies Scheduled Event related configurations. + /// + public readonly Outputs.ScheduledEventsProfileResponse? ScheduledEventsProfile; + /// + /// Specifies the Security related profile settings for the virtual machine. + /// + public readonly Outputs.SecurityProfileResponse? SecurityProfile; + /// + /// Specifies the storage settings for the virtual machine disks. + /// + public readonly Outputs.StorageProfileResponse? StorageProfile; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01. + /// + public readonly string TimeCreated; + /// + /// Resource type + /// + public readonly string Type; + /// + /// UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + /// + public readonly string? UserData; + /// + /// Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. + /// + public readonly Outputs.SubResourceResponse? VirtualMachineScaleSet; + /// + /// Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. + /// + public readonly string VmId; + /// + /// The virtual machine zones. + /// + public readonly ImmutableArray Zones; + + [OutputConstructor] + private GetVirtualMachineResult( + Outputs.AdditionalCapabilitiesResponse? additionalCapabilities, + + Outputs.ApplicationProfileResponse? applicationProfile, + + Outputs.SubResourceResponse? availabilitySet, + + Outputs.BillingProfileResponse? billingProfile, + + Outputs.CapacityReservationProfileResponse? capacityReservation, + + Outputs.DiagnosticsProfileResponse? diagnosticsProfile, + + string? evictionPolicy, + + Outputs.ExtendedLocationResponse? extendedLocation, + + string? extensionsTimeBudget, + + Outputs.HardwareProfileResponse? hardwareProfile, + + Outputs.SubResourceResponse? host, + + Outputs.SubResourceResponse? hostGroup, + + string id, + + Outputs.VirtualMachineIdentityResponse? identity, + + Outputs.VirtualMachineInstanceViewResponse instanceView, + + string? licenseType, + + string location, + + string name, + + Outputs.NetworkProfileResponse? networkProfile, + + Outputs.OSProfileResponse? osProfile, + + Outputs.PlanResponse? plan, + + int? platformFaultDomain, + + string? priority, + + string provisioningState, + + Outputs.SubResourceResponse? proximityPlacementGroup, + + ImmutableArray resources, + + Outputs.ScheduledEventsProfileResponse? scheduledEventsProfile, + + Outputs.SecurityProfileResponse? securityProfile, + + Outputs.StorageProfileResponse? storageProfile, + + ImmutableDictionary? tags, + + string timeCreated, + + string type, + + string? userData, + + Outputs.SubResourceResponse? virtualMachineScaleSet, + + string vmId, + + ImmutableArray zones) + { + AdditionalCapabilities = additionalCapabilities; + ApplicationProfile = applicationProfile; + AvailabilitySet = availabilitySet; + BillingProfile = billingProfile; + CapacityReservation = capacityReservation; + DiagnosticsProfile = diagnosticsProfile; + EvictionPolicy = evictionPolicy; + ExtendedLocation = extendedLocation; + ExtensionsTimeBudget = extensionsTimeBudget; + HardwareProfile = hardwareProfile; + Host = host; + HostGroup = hostGroup; + Id = id; + Identity = identity; + InstanceView = instanceView; + LicenseType = licenseType; + Location = location; + Name = name; + NetworkProfile = networkProfile; + OsProfile = osProfile; + Plan = plan; + PlatformFaultDomain = platformFaultDomain; + Priority = priority; + ProvisioningState = provisioningState; + ProximityPlacementGroup = proximityPlacementGroup; + Resources = resources; + ScheduledEventsProfile = scheduledEventsProfile; + SecurityProfile = securityProfile; + StorageProfile = storageProfile; + Tags = tags; + TimeCreated = timeCreated; + Type = type; + UserData = userData; + VirtualMachineScaleSet = virtualMachineScaleSet; + VmId = vmId; + Zones = zones; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetVirtualMachineExtension.cs b/sdk/dotnet/Compute/V20230701/GetVirtualMachineExtension.cs new file mode 100644 index 000000000000..054fb537d003 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetVirtualMachineExtension.cs @@ -0,0 +1,220 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetVirtualMachineExtension + { + /// + /// The operation to get the extension. + /// + public static Task InvokeAsync(GetVirtualMachineExtensionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getVirtualMachineExtension", args ?? new GetVirtualMachineExtensionArgs(), options.WithDefaults()); + + /// + /// The operation to get the extension. + /// + public static Output Invoke(GetVirtualMachineExtensionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getVirtualMachineExtension", args ?? new GetVirtualMachineExtensionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVirtualMachineExtensionArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the virtual machine extension. + /// + [Input("vmExtensionName", required: true)] + public string VmExtensionName { get; set; } = null!; + + /// + /// The name of the virtual machine containing the extension. + /// + [Input("vmName", required: true)] + public string VmName { get; set; } = null!; + + public GetVirtualMachineExtensionArgs() + { + } + public static new GetVirtualMachineExtensionArgs Empty => new GetVirtualMachineExtensionArgs(); + } + + public sealed class GetVirtualMachineExtensionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the virtual machine extension. + /// + [Input("vmExtensionName", required: true)] + public Input VmExtensionName { get; set; } = null!; + + /// + /// The name of the virtual machine containing the extension. + /// + [Input("vmName", required: true)] + public Input VmName { get; set; } = null!; + + public GetVirtualMachineExtensionInvokeArgs() + { + } + public static new GetVirtualMachineExtensionInvokeArgs Empty => new GetVirtualMachineExtensionInvokeArgs(); + } + + + [OutputType] + public sealed class GetVirtualMachineExtensionResult + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + public readonly bool? AutoUpgradeMinorVersion; + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + public readonly bool? EnableAutomaticUpgrade; + /// + /// How the extension handler should be forced to update even if the extension configuration has not changed. + /// + public readonly string? ForceUpdateTag; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The virtual machine extension instance view. + /// + public readonly Outputs.VirtualMachineExtensionInstanceViewResponse? InstanceView; + /// + /// Resource location + /// + public readonly string? Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + public readonly object? ProtectedSettings; + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + public readonly Outputs.KeyVaultSecretReferenceResponse? ProtectedSettingsFromKeyVault; + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + public readonly ImmutableArray ProvisionAfterExtensions; + /// + /// The provisioning state, which only appears in the response. + /// + public readonly string ProvisioningState; + /// + /// The name of the extension handler publisher. + /// + public readonly string? Publisher; + /// + /// Json formatted public settings for the extension. + /// + public readonly object? Settings; + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + public readonly bool? SuppressFailures; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Resource type + /// + public readonly string Type; + /// + /// Specifies the version of the script handler. + /// + public readonly string? TypeHandlerVersion; + + [OutputConstructor] + private GetVirtualMachineExtensionResult( + bool? autoUpgradeMinorVersion, + + bool? enableAutomaticUpgrade, + + string? forceUpdateTag, + + string id, + + Outputs.VirtualMachineExtensionInstanceViewResponse? instanceView, + + string? location, + + string name, + + object? protectedSettings, + + Outputs.KeyVaultSecretReferenceResponse? protectedSettingsFromKeyVault, + + ImmutableArray provisionAfterExtensions, + + string provisioningState, + + string? publisher, + + object? settings, + + bool? suppressFailures, + + ImmutableDictionary? tags, + + string type, + + string? typeHandlerVersion) + { + AutoUpgradeMinorVersion = autoUpgradeMinorVersion; + EnableAutomaticUpgrade = enableAutomaticUpgrade; + ForceUpdateTag = forceUpdateTag; + Id = id; + InstanceView = instanceView; + Location = location; + Name = name; + ProtectedSettings = protectedSettings; + ProtectedSettingsFromKeyVault = protectedSettingsFromKeyVault; + ProvisionAfterExtensions = provisionAfterExtensions; + ProvisioningState = provisioningState; + Publisher = publisher; + Settings = settings; + SuppressFailures = suppressFailures; + Tags = tags; + Type = type; + TypeHandlerVersion = typeHandlerVersion; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetVirtualMachineRunCommandByVirtualMachine.cs b/sdk/dotnet/Compute/V20230701/GetVirtualMachineRunCommandByVirtualMachine.cs new file mode 100644 index 000000000000..210ca3d41002 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetVirtualMachineRunCommandByVirtualMachine.cs @@ -0,0 +1,234 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetVirtualMachineRunCommandByVirtualMachine + { + /// + /// The operation to get the run command. + /// + public static Task InvokeAsync(GetVirtualMachineRunCommandByVirtualMachineArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getVirtualMachineRunCommandByVirtualMachine", args ?? new GetVirtualMachineRunCommandByVirtualMachineArgs(), options.WithDefaults()); + + /// + /// The operation to get the run command. + /// + public static Output Invoke(GetVirtualMachineRunCommandByVirtualMachineInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getVirtualMachineRunCommandByVirtualMachine", args ?? new GetVirtualMachineRunCommandByVirtualMachineInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVirtualMachineRunCommandByVirtualMachineArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the virtual machine run command. + /// + [Input("runCommandName", required: true)] + public string RunCommandName { get; set; } = null!; + + /// + /// The name of the virtual machine containing the run command. + /// + [Input("vmName", required: true)] + public string VmName { get; set; } = null!; + + public GetVirtualMachineRunCommandByVirtualMachineArgs() + { + } + public static new GetVirtualMachineRunCommandByVirtualMachineArgs Empty => new GetVirtualMachineRunCommandByVirtualMachineArgs(); + } + + public sealed class GetVirtualMachineRunCommandByVirtualMachineInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the virtual machine run command. + /// + [Input("runCommandName", required: true)] + public Input RunCommandName { get; set; } = null!; + + /// + /// The name of the virtual machine containing the run command. + /// + [Input("vmName", required: true)] + public Input VmName { get; set; } = null!; + + public GetVirtualMachineRunCommandByVirtualMachineInvokeArgs() + { + } + public static new GetVirtualMachineRunCommandByVirtualMachineInvokeArgs Empty => new GetVirtualMachineRunCommandByVirtualMachineInvokeArgs(); + } + + + [OutputType] + public sealed class GetVirtualMachineRunCommandByVirtualMachineResult + { + /// + /// Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + /// + public readonly bool? AsyncExecution; + /// + /// User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + /// + public readonly Outputs.RunCommandManagedIdentityResponse? ErrorBlobManagedIdentity; + /// + /// Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + /// + public readonly string? ErrorBlobUri; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The virtual machine run command instance view. + /// + public readonly Outputs.VirtualMachineRunCommandInstanceViewResponse InstanceView; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + /// + public readonly Outputs.RunCommandManagedIdentityResponse? OutputBlobManagedIdentity; + /// + /// Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + /// + public readonly string? OutputBlobUri; + /// + /// The parameters used by the script. + /// + public readonly ImmutableArray Parameters; + /// + /// The parameters used by the script. + /// + public readonly ImmutableArray ProtectedParameters; + /// + /// The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + /// + public readonly string ProvisioningState; + /// + /// Specifies the user account password on the VM when executing the run command. + /// + public readonly string? RunAsPassword; + /// + /// Specifies the user account on the VM when executing the run command. + /// + public readonly string? RunAsUser; + /// + /// The source of the run command script. + /// + public readonly Outputs.VirtualMachineRunCommandScriptSourceResponse? Source; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// The timeout in seconds to execute the run command. + /// + public readonly int? TimeoutInSeconds; + /// + /// Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + /// + public readonly bool? TreatFailureAsDeploymentFailure; + /// + /// Resource type + /// + public readonly string Type; + + [OutputConstructor] + private GetVirtualMachineRunCommandByVirtualMachineResult( + bool? asyncExecution, + + Outputs.RunCommandManagedIdentityResponse? errorBlobManagedIdentity, + + string? errorBlobUri, + + string id, + + Outputs.VirtualMachineRunCommandInstanceViewResponse instanceView, + + string location, + + string name, + + Outputs.RunCommandManagedIdentityResponse? outputBlobManagedIdentity, + + string? outputBlobUri, + + ImmutableArray parameters, + + ImmutableArray protectedParameters, + + string provisioningState, + + string? runAsPassword, + + string? runAsUser, + + Outputs.VirtualMachineRunCommandScriptSourceResponse? source, + + ImmutableDictionary? tags, + + int? timeoutInSeconds, + + bool? treatFailureAsDeploymentFailure, + + string type) + { + AsyncExecution = asyncExecution; + ErrorBlobManagedIdentity = errorBlobManagedIdentity; + ErrorBlobUri = errorBlobUri; + Id = id; + InstanceView = instanceView; + Location = location; + Name = name; + OutputBlobManagedIdentity = outputBlobManagedIdentity; + OutputBlobUri = outputBlobUri; + Parameters = parameters; + ProtectedParameters = protectedParameters; + ProvisioningState = provisioningState; + RunAsPassword = runAsPassword; + RunAsUser = runAsUser; + Source = source; + Tags = tags; + TimeoutInSeconds = timeoutInSeconds; + TreatFailureAsDeploymentFailure = treatFailureAsDeploymentFailure; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSet.cs b/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSet.cs new file mode 100644 index 000000000000..ee4df1af5b82 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSet.cs @@ -0,0 +1,292 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetVirtualMachineScaleSet + { + /// + /// Display information about a virtual machine scale set. + /// + public static Task InvokeAsync(GetVirtualMachineScaleSetArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getVirtualMachineScaleSet", args ?? new GetVirtualMachineScaleSetArgs(), options.WithDefaults()); + + /// + /// Display information about a virtual machine scale set. + /// + public static Output Invoke(GetVirtualMachineScaleSetInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getVirtualMachineScaleSet", args ?? new GetVirtualMachineScaleSetInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVirtualMachineScaleSetArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. 'UserData' retrieves the UserData property of the VM scale set that was provided by the user during the VM scale set Create/Update operation + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the VM scale set. + /// + [Input("vmScaleSetName", required: true)] + public string VmScaleSetName { get; set; } = null!; + + public GetVirtualMachineScaleSetArgs() + { + } + public static new GetVirtualMachineScaleSetArgs Empty => new GetVirtualMachineScaleSetArgs(); + } + + public sealed class GetVirtualMachineScaleSetInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. 'UserData' retrieves the UserData property of the VM scale set that was provided by the user during the VM scale set Create/Update operation + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the VM scale set. + /// + [Input("vmScaleSetName", required: true)] + public Input VmScaleSetName { get; set; } = null!; + + public GetVirtualMachineScaleSetInvokeArgs() + { + } + public static new GetVirtualMachineScaleSetInvokeArgs Empty => new GetVirtualMachineScaleSetInvokeArgs(); + } + + + [OutputType] + public sealed class GetVirtualMachineScaleSetResult + { + /// + /// Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + /// + public readonly Outputs.AdditionalCapabilitiesResponse? AdditionalCapabilities; + /// + /// Policy for automatic repairs. + /// + public readonly Outputs.AutomaticRepairsPolicyResponse? AutomaticRepairsPolicy; + /// + /// Optional property which must either be set to True or omitted. + /// + public readonly bool? ConstrainedMaximumCapacity; + /// + /// When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + /// + public readonly bool? DoNotRunExtensionsOnOverprovisionedVMs; + /// + /// The extended location of the Virtual Machine Scale Set. + /// + public readonly Outputs.ExtendedLocationResponse? ExtendedLocation; + /// + /// Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + /// + public readonly Outputs.SubResourceResponse? HostGroup; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The identity of the virtual machine scale set, if configured. + /// + public readonly Outputs.VirtualMachineScaleSetIdentityResponse? Identity; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Specifies the orchestration mode for the virtual machine scale set. + /// + public readonly string? OrchestrationMode; + /// + /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. + /// + public readonly bool? Overprovision; + /// + /// Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + /// + public readonly Outputs.PlanResponse? Plan; + /// + /// Fault Domain count for each placement group. + /// + public readonly int? PlatformFaultDomainCount; + /// + /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + /// + public readonly Outputs.PriorityMixPolicyResponse? PriorityMixPolicy; + /// + /// The provisioning state, which only appears in the response. + /// + public readonly string ProvisioningState; + /// + /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + /// + public readonly Outputs.SubResourceResponse? ProximityPlacementGroup; + /// + /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + /// + public readonly Outputs.ScaleInPolicyResponse? ScaleInPolicy; + /// + /// When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. + /// + public readonly bool? SinglePlacementGroup; + /// + /// The virtual machine scale set sku. + /// + public readonly Outputs.SkuResponse? Sku; + /// + /// Specifies the Spot Restore properties for the virtual machine scale set. + /// + public readonly Outputs.SpotRestorePolicyResponse? SpotRestorePolicy; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. + /// + public readonly string TimeCreated; + /// + /// Resource type + /// + public readonly string Type; + /// + /// Specifies the ID which uniquely identifies a Virtual Machine Scale Set. + /// + public readonly string UniqueId; + /// + /// The upgrade policy. + /// + public readonly Outputs.UpgradePolicyResponse? UpgradePolicy; + /// + /// The virtual machine profile. + /// + public readonly Outputs.VirtualMachineScaleSetVMProfileResponse? VirtualMachineProfile; + /// + /// Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. + /// + public readonly bool? ZoneBalance; + /// + /// The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set + /// + public readonly ImmutableArray Zones; + + [OutputConstructor] + private GetVirtualMachineScaleSetResult( + Outputs.AdditionalCapabilitiesResponse? additionalCapabilities, + + Outputs.AutomaticRepairsPolicyResponse? automaticRepairsPolicy, + + bool? constrainedMaximumCapacity, + + bool? doNotRunExtensionsOnOverprovisionedVMs, + + Outputs.ExtendedLocationResponse? extendedLocation, + + Outputs.SubResourceResponse? hostGroup, + + string id, + + Outputs.VirtualMachineScaleSetIdentityResponse? identity, + + string location, + + string name, + + string? orchestrationMode, + + bool? overprovision, + + Outputs.PlanResponse? plan, + + int? platformFaultDomainCount, + + Outputs.PriorityMixPolicyResponse? priorityMixPolicy, + + string provisioningState, + + Outputs.SubResourceResponse? proximityPlacementGroup, + + Outputs.ScaleInPolicyResponse? scaleInPolicy, + + bool? singlePlacementGroup, + + Outputs.SkuResponse? sku, + + Outputs.SpotRestorePolicyResponse? spotRestorePolicy, + + ImmutableDictionary? tags, + + string timeCreated, + + string type, + + string uniqueId, + + Outputs.UpgradePolicyResponse? upgradePolicy, + + Outputs.VirtualMachineScaleSetVMProfileResponse? virtualMachineProfile, + + bool? zoneBalance, + + ImmutableArray zones) + { + AdditionalCapabilities = additionalCapabilities; + AutomaticRepairsPolicy = automaticRepairsPolicy; + ConstrainedMaximumCapacity = constrainedMaximumCapacity; + DoNotRunExtensionsOnOverprovisionedVMs = doNotRunExtensionsOnOverprovisionedVMs; + ExtendedLocation = extendedLocation; + HostGroup = hostGroup; + Id = id; + Identity = identity; + Location = location; + Name = name; + OrchestrationMode = orchestrationMode; + Overprovision = overprovision; + Plan = plan; + PlatformFaultDomainCount = platformFaultDomainCount; + PriorityMixPolicy = priorityMixPolicy; + ProvisioningState = provisioningState; + ProximityPlacementGroup = proximityPlacementGroup; + ScaleInPolicy = scaleInPolicy; + SinglePlacementGroup = singlePlacementGroup; + Sku = sku; + SpotRestorePolicy = spotRestorePolicy; + Tags = tags; + TimeCreated = timeCreated; + Type = type; + UniqueId = uniqueId; + UpgradePolicy = upgradePolicy; + VirtualMachineProfile = virtualMachineProfile; + ZoneBalance = zoneBalance; + Zones = zones; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSetExtension.cs b/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSetExtension.cs new file mode 100644 index 000000000000..b9cb5946aa9c --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSetExtension.cs @@ -0,0 +1,199 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetVirtualMachineScaleSetExtension + { + /// + /// The operation to get the extension. + /// + public static Task InvokeAsync(GetVirtualMachineScaleSetExtensionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getVirtualMachineScaleSetExtension", args ?? new GetVirtualMachineScaleSetExtensionArgs(), options.WithDefaults()); + + /// + /// The operation to get the extension. + /// + public static Output Invoke(GetVirtualMachineScaleSetExtensionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getVirtualMachineScaleSetExtension", args ?? new GetVirtualMachineScaleSetExtensionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVirtualMachineScaleSetExtensionArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the VM scale set containing the extension. + /// + [Input("vmScaleSetName", required: true)] + public string VmScaleSetName { get; set; } = null!; + + /// + /// The name of the VM scale set extension. + /// + [Input("vmssExtensionName", required: true)] + public string VmssExtensionName { get; set; } = null!; + + public GetVirtualMachineScaleSetExtensionArgs() + { + } + public static new GetVirtualMachineScaleSetExtensionArgs Empty => new GetVirtualMachineScaleSetExtensionArgs(); + } + + public sealed class GetVirtualMachineScaleSetExtensionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the VM scale set containing the extension. + /// + [Input("vmScaleSetName", required: true)] + public Input VmScaleSetName { get; set; } = null!; + + /// + /// The name of the VM scale set extension. + /// + [Input("vmssExtensionName", required: true)] + public Input VmssExtensionName { get; set; } = null!; + + public GetVirtualMachineScaleSetExtensionInvokeArgs() + { + } + public static new GetVirtualMachineScaleSetExtensionInvokeArgs Empty => new GetVirtualMachineScaleSetExtensionInvokeArgs(); + } + + + [OutputType] + public sealed class GetVirtualMachineScaleSetExtensionResult + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + public readonly bool? AutoUpgradeMinorVersion; + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + public readonly bool? EnableAutomaticUpgrade; + /// + /// If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + /// + public readonly string? ForceUpdateTag; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The name of the extension. + /// + public readonly string? Name; + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + public readonly object? ProtectedSettings; + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + public readonly Outputs.KeyVaultSecretReferenceResponse? ProtectedSettingsFromKeyVault; + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + public readonly ImmutableArray ProvisionAfterExtensions; + /// + /// The provisioning state, which only appears in the response. + /// + public readonly string ProvisioningState; + /// + /// The name of the extension handler publisher. + /// + public readonly string? Publisher; + /// + /// Json formatted public settings for the extension. + /// + public readonly object? Settings; + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + public readonly bool? SuppressFailures; + /// + /// Resource type + /// + public readonly string Type; + /// + /// Specifies the version of the script handler. + /// + public readonly string? TypeHandlerVersion; + + [OutputConstructor] + private GetVirtualMachineScaleSetExtensionResult( + bool? autoUpgradeMinorVersion, + + bool? enableAutomaticUpgrade, + + string? forceUpdateTag, + + string id, + + string? name, + + object? protectedSettings, + + Outputs.KeyVaultSecretReferenceResponse? protectedSettingsFromKeyVault, + + ImmutableArray provisionAfterExtensions, + + string provisioningState, + + string? publisher, + + object? settings, + + bool? suppressFailures, + + string type, + + string? typeHandlerVersion) + { + AutoUpgradeMinorVersion = autoUpgradeMinorVersion; + EnableAutomaticUpgrade = enableAutomaticUpgrade; + ForceUpdateTag = forceUpdateTag; + Id = id; + Name = name; + ProtectedSettings = protectedSettings; + ProtectedSettingsFromKeyVault = protectedSettingsFromKeyVault; + ProvisionAfterExtensions = provisionAfterExtensions; + ProvisioningState = provisioningState; + Publisher = publisher; + Settings = settings; + SuppressFailures = suppressFailures; + Type = type; + TypeHandlerVersion = typeHandlerVersion; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSetVM.cs b/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSetVM.cs new file mode 100644 index 000000000000..69820df71fca --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSetVM.cs @@ -0,0 +1,304 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetVirtualMachineScaleSetVM + { + /// + /// Gets a virtual machine from a VM scale set. + /// + public static Task InvokeAsync(GetVirtualMachineScaleSetVMArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getVirtualMachineScaleSetVM", args ?? new GetVirtualMachineScaleSetVMArgs(), options.WithDefaults()); + + /// + /// Gets a virtual machine from a VM scale set. + /// + public static Output Invoke(GetVirtualMachineScaleSetVMInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getVirtualMachineScaleSetVM", args ?? new GetVirtualMachineScaleSetVMInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVirtualMachineScaleSetVMArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. 'InstanceView' will retrieve the instance view of the virtual machine. 'UserData' will retrieve the UserData of the virtual machine. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The instance ID of the virtual machine. + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the VM scale set. + /// + [Input("vmScaleSetName", required: true)] + public string VmScaleSetName { get; set; } = null!; + + public GetVirtualMachineScaleSetVMArgs() + { + } + public static new GetVirtualMachineScaleSetVMArgs Empty => new GetVirtualMachineScaleSetVMArgs(); + } + + public sealed class GetVirtualMachineScaleSetVMInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. 'InstanceView' will retrieve the instance view of the virtual machine. 'UserData' will retrieve the UserData of the virtual machine. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The instance ID of the virtual machine. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the VM scale set. + /// + [Input("vmScaleSetName", required: true)] + public Input VmScaleSetName { get; set; } = null!; + + public GetVirtualMachineScaleSetVMInvokeArgs() + { + } + public static new GetVirtualMachineScaleSetVMInvokeArgs Empty => new GetVirtualMachineScaleSetVMInvokeArgs(); + } + + + [OutputType] + public sealed class GetVirtualMachineScaleSetVMResult + { + /// + /// Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + /// + public readonly Outputs.AdditionalCapabilitiesResponse? AdditionalCapabilities; + /// + /// Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. + /// + public readonly Outputs.SubResourceResponse? AvailabilitySet; + /// + /// Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + /// + public readonly Outputs.DiagnosticsProfileResponse? DiagnosticsProfile; + /// + /// Specifies the hardware settings for the virtual machine. + /// + public readonly Outputs.HardwareProfileResponse? HardwareProfile; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The identity of the virtual machine, if configured. + /// + public readonly Outputs.VirtualMachineIdentityResponse? Identity; + /// + /// The virtual machine instance ID. + /// + public readonly string InstanceId; + /// + /// The virtual machine instance view. + /// + public readonly Outputs.VirtualMachineScaleSetVMInstanceViewResponse InstanceView; + /// + /// Specifies whether the latest model has been applied to the virtual machine. + /// + public readonly bool LatestModelApplied; + /// + /// Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 + /// + public readonly string? LicenseType; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine. + /// + public readonly string ModelDefinitionApplied; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Specifies the network interfaces of the virtual machine. + /// + public readonly Outputs.NetworkProfileResponse? NetworkProfile; + /// + /// Specifies the network profile configuration of the virtual machine. + /// + public readonly Outputs.VirtualMachineScaleSetVMNetworkProfileConfigurationResponse? NetworkProfileConfiguration; + /// + /// Specifies the operating system settings for the virtual machine. + /// + public readonly Outputs.OSProfileResponse? OsProfile; + /// + /// Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + /// + public readonly Outputs.PlanResponse? Plan; + /// + /// Specifies the protection policy of the virtual machine. + /// + public readonly Outputs.VirtualMachineScaleSetVMProtectionPolicyResponse? ProtectionPolicy; + /// + /// The provisioning state, which only appears in the response. + /// + public readonly string ProvisioningState; + /// + /// The virtual machine child extension resources. + /// + public readonly ImmutableArray Resources; + /// + /// Specifies the Security related profile settings for the virtual machine. + /// + public readonly Outputs.SecurityProfileResponse? SecurityProfile; + /// + /// The virtual machine SKU. + /// + public readonly Outputs.SkuResponse Sku; + /// + /// Specifies the storage settings for the virtual machine disks. + /// + public readonly Outputs.StorageProfileResponse? StorageProfile; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Specifies the time at which the Virtual Machine resource was created.<br><br>Minimum api-version: 2021-11-01. + /// + public readonly string TimeCreated; + /// + /// Resource type + /// + public readonly string Type; + /// + /// UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. <br><br>Minimum api-version: 2021-03-01 + /// + public readonly string? UserData; + /// + /// Azure VM unique ID. + /// + public readonly string VmId; + /// + /// The virtual machine zones. + /// + public readonly ImmutableArray Zones; + + [OutputConstructor] + private GetVirtualMachineScaleSetVMResult( + Outputs.AdditionalCapabilitiesResponse? additionalCapabilities, + + Outputs.SubResourceResponse? availabilitySet, + + Outputs.DiagnosticsProfileResponse? diagnosticsProfile, + + Outputs.HardwareProfileResponse? hardwareProfile, + + string id, + + Outputs.VirtualMachineIdentityResponse? identity, + + string instanceId, + + Outputs.VirtualMachineScaleSetVMInstanceViewResponse instanceView, + + bool latestModelApplied, + + string? licenseType, + + string location, + + string modelDefinitionApplied, + + string name, + + Outputs.NetworkProfileResponse? networkProfile, + + Outputs.VirtualMachineScaleSetVMNetworkProfileConfigurationResponse? networkProfileConfiguration, + + Outputs.OSProfileResponse? osProfile, + + Outputs.PlanResponse? plan, + + Outputs.VirtualMachineScaleSetVMProtectionPolicyResponse? protectionPolicy, + + string provisioningState, + + ImmutableArray resources, + + Outputs.SecurityProfileResponse? securityProfile, + + Outputs.SkuResponse sku, + + Outputs.StorageProfileResponse? storageProfile, + + ImmutableDictionary? tags, + + string timeCreated, + + string type, + + string? userData, + + string vmId, + + ImmutableArray zones) + { + AdditionalCapabilities = additionalCapabilities; + AvailabilitySet = availabilitySet; + DiagnosticsProfile = diagnosticsProfile; + HardwareProfile = hardwareProfile; + Id = id; + Identity = identity; + InstanceId = instanceId; + InstanceView = instanceView; + LatestModelApplied = latestModelApplied; + LicenseType = licenseType; + Location = location; + ModelDefinitionApplied = modelDefinitionApplied; + Name = name; + NetworkProfile = networkProfile; + NetworkProfileConfiguration = networkProfileConfiguration; + OsProfile = osProfile; + Plan = plan; + ProtectionPolicy = protectionPolicy; + ProvisioningState = provisioningState; + Resources = resources; + SecurityProfile = securityProfile; + Sku = sku; + StorageProfile = storageProfile; + Tags = tags; + TimeCreated = timeCreated; + Type = type; + UserData = userData; + VmId = vmId; + Zones = zones; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSetVMExtension.cs b/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSetVMExtension.cs new file mode 100644 index 000000000000..60e98a259f38 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSetVMExtension.cs @@ -0,0 +1,225 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetVirtualMachineScaleSetVMExtension + { + /// + /// The operation to get the VMSS VM extension. + /// + public static Task InvokeAsync(GetVirtualMachineScaleSetVMExtensionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getVirtualMachineScaleSetVMExtension", args ?? new GetVirtualMachineScaleSetVMExtensionArgs(), options.WithDefaults()); + + /// + /// The operation to get the VMSS VM extension. + /// + public static Output Invoke(GetVirtualMachineScaleSetVMExtensionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getVirtualMachineScaleSetVMExtension", args ?? new GetVirtualMachineScaleSetVMExtensionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVirtualMachineScaleSetVMExtensionArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The instance ID of the virtual machine. + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the virtual machine extension. + /// + [Input("vmExtensionName", required: true)] + public string VmExtensionName { get; set; } = null!; + + /// + /// The name of the VM scale set. + /// + [Input("vmScaleSetName", required: true)] + public string VmScaleSetName { get; set; } = null!; + + public GetVirtualMachineScaleSetVMExtensionArgs() + { + } + public static new GetVirtualMachineScaleSetVMExtensionArgs Empty => new GetVirtualMachineScaleSetVMExtensionArgs(); + } + + public sealed class GetVirtualMachineScaleSetVMExtensionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The instance ID of the virtual machine. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the virtual machine extension. + /// + [Input("vmExtensionName", required: true)] + public Input VmExtensionName { get; set; } = null!; + + /// + /// The name of the VM scale set. + /// + [Input("vmScaleSetName", required: true)] + public Input VmScaleSetName { get; set; } = null!; + + public GetVirtualMachineScaleSetVMExtensionInvokeArgs() + { + } + public static new GetVirtualMachineScaleSetVMExtensionInvokeArgs Empty => new GetVirtualMachineScaleSetVMExtensionInvokeArgs(); + } + + + [OutputType] + public sealed class GetVirtualMachineScaleSetVMExtensionResult + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + public readonly bool? AutoUpgradeMinorVersion; + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + public readonly bool? EnableAutomaticUpgrade; + /// + /// How the extension handler should be forced to update even if the extension configuration has not changed. + /// + public readonly string? ForceUpdateTag; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The virtual machine extension instance view. + /// + public readonly Outputs.VirtualMachineExtensionInstanceViewResponse? InstanceView; + /// + /// The location of the extension. + /// + public readonly string? Location; + /// + /// The name of the extension. + /// + public readonly string Name; + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + public readonly object? ProtectedSettings; + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + public readonly Outputs.KeyVaultSecretReferenceResponse? ProtectedSettingsFromKeyVault; + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + public readonly ImmutableArray ProvisionAfterExtensions; + /// + /// The provisioning state, which only appears in the response. + /// + public readonly string ProvisioningState; + /// + /// The name of the extension handler publisher. + /// + public readonly string? Publisher; + /// + /// Json formatted public settings for the extension. + /// + public readonly object? Settings; + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + public readonly bool? SuppressFailures; + /// + /// Resource type + /// + public readonly string Type; + /// + /// Specifies the version of the script handler. + /// + public readonly string? TypeHandlerVersion; + + [OutputConstructor] + private GetVirtualMachineScaleSetVMExtensionResult( + bool? autoUpgradeMinorVersion, + + bool? enableAutomaticUpgrade, + + string? forceUpdateTag, + + string id, + + Outputs.VirtualMachineExtensionInstanceViewResponse? instanceView, + + string? location, + + string name, + + object? protectedSettings, + + Outputs.KeyVaultSecretReferenceResponse? protectedSettingsFromKeyVault, + + ImmutableArray provisionAfterExtensions, + + string provisioningState, + + string? publisher, + + object? settings, + + bool? suppressFailures, + + string type, + + string? typeHandlerVersion) + { + AutoUpgradeMinorVersion = autoUpgradeMinorVersion; + EnableAutomaticUpgrade = enableAutomaticUpgrade; + ForceUpdateTag = forceUpdateTag; + Id = id; + InstanceView = instanceView; + Location = location; + Name = name; + ProtectedSettings = protectedSettings; + ProtectedSettingsFromKeyVault = protectedSettingsFromKeyVault; + ProvisionAfterExtensions = provisionAfterExtensions; + ProvisioningState = provisioningState; + Publisher = publisher; + Settings = settings; + SuppressFailures = suppressFailures; + Type = type; + TypeHandlerVersion = typeHandlerVersion; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSetVMRunCommand.cs b/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSetVMRunCommand.cs new file mode 100644 index 000000000000..8f1de531d406 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/GetVirtualMachineScaleSetVMRunCommand.cs @@ -0,0 +1,246 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + public static class GetVirtualMachineScaleSetVMRunCommand + { + /// + /// The operation to get the VMSS VM run command. + /// + public static Task InvokeAsync(GetVirtualMachineScaleSetVMRunCommandArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:compute/v20230701:getVirtualMachineScaleSetVMRunCommand", args ?? new GetVirtualMachineScaleSetVMRunCommandArgs(), options.WithDefaults()); + + /// + /// The operation to get the VMSS VM run command. + /// + public static Output Invoke(GetVirtualMachineScaleSetVMRunCommandInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:compute/v20230701:getVirtualMachineScaleSetVMRunCommand", args ?? new GetVirtualMachineScaleSetVMRunCommandInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVirtualMachineScaleSetVMRunCommandArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The instance ID of the virtual machine. + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the virtual machine run command. + /// + [Input("runCommandName", required: true)] + public string RunCommandName { get; set; } = null!; + + /// + /// The name of the VM scale set. + /// + [Input("vmScaleSetName", required: true)] + public string VmScaleSetName { get; set; } = null!; + + public GetVirtualMachineScaleSetVMRunCommandArgs() + { + } + public static new GetVirtualMachineScaleSetVMRunCommandArgs Empty => new GetVirtualMachineScaleSetVMRunCommandArgs(); + } + + public sealed class GetVirtualMachineScaleSetVMRunCommandInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The expand expression to apply on the operation. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The instance ID of the virtual machine. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the virtual machine run command. + /// + [Input("runCommandName", required: true)] + public Input RunCommandName { get; set; } = null!; + + /// + /// The name of the VM scale set. + /// + [Input("vmScaleSetName", required: true)] + public Input VmScaleSetName { get; set; } = null!; + + public GetVirtualMachineScaleSetVMRunCommandInvokeArgs() + { + } + public static new GetVirtualMachineScaleSetVMRunCommandInvokeArgs Empty => new GetVirtualMachineScaleSetVMRunCommandInvokeArgs(); + } + + + [OutputType] + public sealed class GetVirtualMachineScaleSetVMRunCommandResult + { + /// + /// Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + /// + public readonly bool? AsyncExecution; + /// + /// User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + /// + public readonly Outputs.RunCommandManagedIdentityResponse? ErrorBlobManagedIdentity; + /// + /// Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + /// + public readonly string? ErrorBlobUri; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The virtual machine run command instance view. + /// + public readonly Outputs.VirtualMachineRunCommandInstanceViewResponse InstanceView; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + /// + public readonly Outputs.RunCommandManagedIdentityResponse? OutputBlobManagedIdentity; + /// + /// Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + /// + public readonly string? OutputBlobUri; + /// + /// The parameters used by the script. + /// + public readonly ImmutableArray Parameters; + /// + /// The parameters used by the script. + /// + public readonly ImmutableArray ProtectedParameters; + /// + /// The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + /// + public readonly string ProvisioningState; + /// + /// Specifies the user account password on the VM when executing the run command. + /// + public readonly string? RunAsPassword; + /// + /// Specifies the user account on the VM when executing the run command. + /// + public readonly string? RunAsUser; + /// + /// The source of the run command script. + /// + public readonly Outputs.VirtualMachineRunCommandScriptSourceResponse? Source; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// The timeout in seconds to execute the run command. + /// + public readonly int? TimeoutInSeconds; + /// + /// Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + /// + public readonly bool? TreatFailureAsDeploymentFailure; + /// + /// Resource type + /// + public readonly string Type; + + [OutputConstructor] + private GetVirtualMachineScaleSetVMRunCommandResult( + bool? asyncExecution, + + Outputs.RunCommandManagedIdentityResponse? errorBlobManagedIdentity, + + string? errorBlobUri, + + string id, + + Outputs.VirtualMachineRunCommandInstanceViewResponse instanceView, + + string location, + + string name, + + Outputs.RunCommandManagedIdentityResponse? outputBlobManagedIdentity, + + string? outputBlobUri, + + ImmutableArray parameters, + + ImmutableArray protectedParameters, + + string provisioningState, + + string? runAsPassword, + + string? runAsUser, + + Outputs.VirtualMachineRunCommandScriptSourceResponse? source, + + ImmutableDictionary? tags, + + int? timeoutInSeconds, + + bool? treatFailureAsDeploymentFailure, + + string type) + { + AsyncExecution = asyncExecution; + ErrorBlobManagedIdentity = errorBlobManagedIdentity; + ErrorBlobUri = errorBlobUri; + Id = id; + InstanceView = instanceView; + Location = location; + Name = name; + OutputBlobManagedIdentity = outputBlobManagedIdentity; + OutputBlobUri = outputBlobUri; + Parameters = parameters; + ProtectedParameters = protectedParameters; + ProvisioningState = provisioningState; + RunAsPassword = runAsPassword; + RunAsUser = runAsUser; + Source = source; + Tags = tags; + TimeoutInSeconds = timeoutInSeconds; + TreatFailureAsDeploymentFailure = treatFailureAsDeploymentFailure; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Image.cs b/sdk/dotnet/Compute/V20230701/Image.cs new file mode 100644 index 000000000000..574e7b1d091f --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Image.cs @@ -0,0 +1,199 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:Image")] + public partial class Image : global::Pulumi.CustomResource + { + /// + /// The extended location of the Image. + /// + [Output("extendedLocation")] + public Output ExtendedLocation { get; private set; } = null!; + + /// + /// Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + /// + [Output("hyperVGeneration")] + public Output HyperVGeneration { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The provisioning state. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// The source virtual machine from which Image is created. + /// + [Output("sourceVirtualMachine")] + public Output SourceVirtualMachine { get; private set; } = null!; + + /// + /// Specifies the storage settings for the virtual machine disks. + /// + [Output("storageProfile")] + public Output StorageProfile { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Image resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Image(string name, ImageArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:Image", name, args ?? new ImageArgs(), MakeResourceOptions(options, "")) + { + } + + private Image(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:Image", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20160430preview:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20170330:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20171201:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180401:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180601:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20181001:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190301:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191201:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:Image"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:Image"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Image resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Image Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Image(name, id, options); + } + } + + public sealed class ImageArgs : global::Pulumi.ResourceArgs + { + /// + /// The extended location of the Image. + /// + [Input("extendedLocation")] + public Input? ExtendedLocation { get; set; } + + /// + /// Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + /// + [Input("hyperVGeneration")] + public InputUnion? HyperVGeneration { get; set; } + + /// + /// The name of the image. + /// + [Input("imageName")] + public Input? ImageName { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The source virtual machine from which Image is created. + /// + [Input("sourceVirtualMachine")] + public Input? SourceVirtualMachine { get; set; } + + /// + /// Specifies the storage settings for the virtual machine disks. + /// + [Input("storageProfile")] + public Input? StorageProfile { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public ImageArgs() + { + } + public static new ImageArgs Empty => new ImageArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/AdditionalCapabilitiesArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/AdditionalCapabilitiesArgs.cs new file mode 100644 index 000000000000..bfe27f77a542 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/AdditionalCapabilitiesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Enables or disables a capability on the virtual machine or virtual machine scale set. + /// + public sealed class AdditionalCapabilitiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The flag that enables or disables hibernation capability on the VM. + /// + [Input("hibernationEnabled")] + public Input? HibernationEnabled { get; set; } + + /// + /// The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. + /// + [Input("ultraSSDEnabled")] + public Input? UltraSSDEnabled { get; set; } + + public AdditionalCapabilitiesArgs() + { + } + public static new AdditionalCapabilitiesArgs Empty => new AdditionalCapabilitiesArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/AdditionalUnattendContentArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/AdditionalUnattendContentArgs.cs new file mode 100644 index 000000000000..35cb0a00c859 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/AdditionalUnattendContentArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + /// + public sealed class AdditionalUnattendContentArgs : global::Pulumi.ResourceArgs + { + /// + /// The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. + /// + [Input("componentName")] + public Input? ComponentName { get; set; } + + /// + /// Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted. + /// + [Input("content")] + public Input? Content { get; set; } + + /// + /// The pass name. Currently, the only allowable value is OobeSystem. + /// + [Input("passName")] + public Input? PassName { get; set; } + + /// + /// Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. + /// + [Input("settingName")] + public Input? SettingName { get; set; } + + public AdditionalUnattendContentArgs() + { + } + public static new AdditionalUnattendContentArgs Empty => new AdditionalUnattendContentArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/ApiEntityReferenceArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/ApiEntityReferenceArgs.cs new file mode 100644 index 000000000000..9570a2adab81 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/ApiEntityReferenceArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// The API entity reference. + /// + public sealed class ApiEntityReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... + /// + [Input("id")] + public Input? Id { get; set; } + + public ApiEntityReferenceArgs() + { + } + public static new ApiEntityReferenceArgs Empty => new ApiEntityReferenceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/ApplicationProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/ApplicationProfileArgs.cs new file mode 100644 index 000000000000..02960e9a5488 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/ApplicationProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Contains the list of gallery applications that should be made available to the VM/VMSS + /// + public sealed class ApplicationProfileArgs : global::Pulumi.ResourceArgs + { + [Input("galleryApplications")] + private InputList? _galleryApplications; + + /// + /// Specifies the gallery applications that should be made available to the VM/VMSS + /// + public InputList GalleryApplications + { + get => _galleryApplications ?? (_galleryApplications = new InputList()); + set => _galleryApplications = value; + } + + public ApplicationProfileArgs() + { + } + public static new ApplicationProfileArgs Empty => new ApplicationProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/AutomaticOSUpgradePolicyArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/AutomaticOSUpgradePolicyArgs.cs new file mode 100644 index 000000000000..9eac51c391f8 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/AutomaticOSUpgradePolicyArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// The configuration parameters used for performing automatic OS upgrade. + /// + public sealed class AutomaticOSUpgradePolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether OS image rollback feature should be disabled. Default value is false. + /// + [Input("disableAutomaticRollback")] + public Input? DisableAutomaticRollback { get; set; } + + /// + /// Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true. + /// + [Input("enableAutomaticOSUpgrade")] + public Input? EnableAutomaticOSUpgrade { get; set; } + + /// + /// Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. + /// + [Input("useRollingUpgradePolicy")] + public Input? UseRollingUpgradePolicy { get; set; } + + public AutomaticOSUpgradePolicyArgs() + { + } + public static new AutomaticOSUpgradePolicyArgs Empty => new AutomaticOSUpgradePolicyArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/AutomaticRepairsPolicyArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/AutomaticRepairsPolicyArgs.cs new file mode 100644 index 000000000000..bc38356a6188 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/AutomaticRepairsPolicyArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the configuration parameters for automatic repairs on the virtual machine scale set. + /// + public sealed class AutomaticRepairsPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M). + /// + [Input("gracePeriod")] + public Input? GracePeriod { get; set; } + + /// + /// Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. + /// + [Input("repairAction")] + public InputUnion? RepairAction { get; set; } + + public AutomaticRepairsPolicyArgs() + { + } + public static new AutomaticRepairsPolicyArgs Empty => new AutomaticRepairsPolicyArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/BillingProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/BillingProfileArgs.cs new file mode 100644 index 000000000000..1cb74a0cd4bc --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/BillingProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the billing related details of a Azure Spot VM or VMSS. Minimum api-version: 2019-03-01. + /// + public sealed class BillingProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. <br><br> This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. <br><br> The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. <br><br> Possible values are: <br><br> - Any decimal value greater than zero. Example: 0.01538 <br><br> -1 – indicates default price to be up-to on-demand. <br><br> You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. <br><br>Minimum api-version: 2019-03-01. + /// + [Input("maxPrice")] + public Input? MaxPrice { get; set; } + + public BillingProfileArgs() + { + } + public static new BillingProfileArgs Empty => new BillingProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/BootDiagnosticsArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/BootDiagnosticsArgs.cs new file mode 100644 index 000000000000..856130057cfb --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/BootDiagnosticsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + /// + public sealed class BootDiagnosticsArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether boot diagnostics should be enabled on the Virtual Machine. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + /// + [Input("storageUri")] + public Input? StorageUri { get; set; } + + public BootDiagnosticsArgs() + { + } + public static new BootDiagnosticsArgs Empty => new BootDiagnosticsArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/CapacityReservationProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/CapacityReservationProfileArgs.cs new file mode 100644 index 000000000000..164a346289b9 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/CapacityReservationProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// The parameters of a capacity reservation Profile. + /// + public sealed class CapacityReservationProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the capacity reservation group resource id that should be used for allocating the virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details. + /// + [Input("capacityReservationGroup")] + public Input? CapacityReservationGroup { get; set; } + + public CapacityReservationProfileArgs() + { + } + public static new CapacityReservationProfileArgs Empty => new CapacityReservationProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/DataDiskArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/DataDiskArgs.cs new file mode 100644 index 000000000000..c18f1cd74aa7 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/DataDiskArgs.cs @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a data disk. + /// + public sealed class DataDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + /// + [Input("caching")] + public Input? Caching { get; set; } + + /// + /// Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + /// + [Input("createOption", required: true)] + public InputUnion CreateOption { get; set; } = null!; + + /// + /// Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the data disk is deleted when VM is deleted. **Detach.** If this value is used, the data disk is retained after VM is deleted. The default value is set to **Detach**. + /// + [Input("deleteOption")] + public InputUnion? DeleteOption { get; set; } + + /// + /// Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + /// + [Input("detachOption")] + public InputUnion? DetachOption { get; set; } + + /// + /// Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + /// + [Input("diskSizeGB")] + public Input? DiskSizeGB { get; set; } + + /// + /// The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + /// + [Input("image")] + public Input? Image { get; set; } + + /// + /// Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + /// + [Input("lun", required: true)] + public Input Lun { get; set; } = null!; + + /// + /// The managed disk parameters. + /// + [Input("managedDisk")] + public Input? ManagedDisk { get; set; } + + /// + /// The disk name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset + /// + [Input("toBeDetached")] + public Input? ToBeDetached { get; set; } + + /// + /// The virtual hard disk. + /// + [Input("vhd")] + public Input? Vhd { get; set; } + + /// + /// Specifies whether writeAccelerator should be enabled or disabled on the disk. + /// + [Input("writeAcceleratorEnabled")] + public Input? WriteAcceleratorEnabled { get; set; } + + public DataDiskArgs() + { + } + public static new DataDiskArgs Empty => new DataDiskArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs.cs new file mode 100644 index 000000000000..98aa56a31c94 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + /// + public sealed class DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The flag that enables or disables a capability to have UltraSSD Enabled Virtual Machines on Dedicated Hosts of the Dedicated Host Group. For the Virtual Machines to be UltraSSD Enabled, UltraSSDEnabled flag for the resource needs to be set true as well. The value is defaulted to 'false' when not provided. Please refer to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd for more details on Ultra SSD feature. **Note:** The ultraSSDEnabled setting can only be enabled for Host Groups that are created as zonal. Minimum api-version: 2022-03-01. + /// + [Input("ultraSSDEnabled")] + public Input? UltraSSDEnabled { get; set; } + + public DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs() + { + } + public static new DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs Empty => new DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/DiagnosticsProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/DiagnosticsProfileArgs.cs new file mode 100644 index 000000000000..87ee8e21cdf3 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/DiagnosticsProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + /// + public sealed class DiagnosticsProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. **NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + /// + [Input("bootDiagnostics")] + public Input? BootDiagnostics { get; set; } + + public DiagnosticsProfileArgs() + { + } + public static new DiagnosticsProfileArgs Empty => new DiagnosticsProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/DiffDiskSettingsArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/DiffDiskSettingsArgs.cs new file mode 100644 index 000000000000..747fef7599e7 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/DiffDiskSettingsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes the parameters of ephemeral disk settings that can be specified for operating system disk. **Note:** The ephemeral disk settings can only be specified for managed disk. + /// + public sealed class DiffDiskSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the ephemeral disk settings for operating system disk. + /// + [Input("option")] + public InputUnion? Option { get; set; } + + /// + /// Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + /// + [Input("placement")] + public InputUnion? Placement { get; set; } + + public DiffDiskSettingsArgs() + { + } + public static new DiffDiskSettingsArgs Empty => new DiffDiskSettingsArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/DiskEncryptionSetParametersArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/DiskEncryptionSetParametersArgs.cs new file mode 100644 index 000000000000..01fed0c1da12 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/DiskEncryptionSetParametersArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + /// + public sealed class DiskEncryptionSetParametersArgs : global::Pulumi.ResourceArgs + { + /// + /// Resource Id + /// + [Input("id")] + public Input? Id { get; set; } + + public DiskEncryptionSetParametersArgs() + { + } + public static new DiskEncryptionSetParametersArgs Empty => new DiskEncryptionSetParametersArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/DiskEncryptionSettingsArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/DiskEncryptionSettingsArgs.cs new file mode 100644 index 000000000000..a6badb32b911 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/DiskEncryptionSettingsArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a Encryption Settings for a Disk + /// + public sealed class DiskEncryptionSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the location of the disk encryption key, which is a Key Vault Secret. + /// + [Input("diskEncryptionKey")] + public Input? DiskEncryptionKey { get; set; } + + /// + /// Specifies whether disk encryption should be enabled on the virtual machine. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Specifies the location of the key encryption key in Key Vault. + /// + [Input("keyEncryptionKey")] + public Input? KeyEncryptionKey { get; set; } + + public DiskEncryptionSettingsArgs() + { + } + public static new DiskEncryptionSettingsArgs Empty => new DiskEncryptionSettingsArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/DiskRestorePointAttributesArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/DiskRestorePointAttributesArgs.cs new file mode 100644 index 000000000000..ac5df53119e3 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/DiskRestorePointAttributesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Disk Restore Point details. + /// + public sealed class DiskRestorePointAttributesArgs : global::Pulumi.ResourceArgs + { + /// + /// Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + /// + [Input("encryption")] + public Input? Encryption { get; set; } + + /// + /// Resource Id of the source disk restore point. + /// + [Input("sourceDiskRestorePoint")] + public Input? SourceDiskRestorePoint { get; set; } + + public DiskRestorePointAttributesArgs() + { + } + public static new DiskRestorePointAttributesArgs Empty => new DiskRestorePointAttributesArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/ExtendedLocationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/ExtendedLocationArgs.cs new file mode 100644 index 000000000000..1ce242583a25 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/ExtendedLocationArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// The complex type of the extended location. + /// + public sealed class ExtendedLocationArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the extended location. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The type of the extended location. + /// + [Input("type")] + public InputUnion? Type { get; set; } + + public ExtendedLocationArgs() + { + } + public static new ExtendedLocationArgs Empty => new ExtendedLocationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/HardwareProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/HardwareProfileArgs.cs new file mode 100644 index 000000000000..84e08c73db7e --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/HardwareProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the hardware settings for the virtual machine. + /// + public sealed class HardwareProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. + /// + [Input("vmSize")] + public InputUnion? VmSize { get; set; } + + /// + /// Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + /// + [Input("vmSizeProperties")] + public Input? VmSizeProperties { get; set; } + + public HardwareProfileArgs() + { + } + public static new HardwareProfileArgs Empty => new HardwareProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/ImageDataDiskArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/ImageDataDiskArgs.cs new file mode 100644 index 000000000000..702cff0d9266 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/ImageDataDiskArgs.cs @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a data disk. + /// + public sealed class ImageDataDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// The Virtual Hard Disk. + /// + [Input("blobUri")] + public Input? BlobUri { get; set; } + + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + /// + [Input("caching")] + public Input? Caching { get; set; } + + /// + /// Specifies the customer managed disk encryption set resource id for the managed image disk. + /// + [Input("diskEncryptionSet")] + public Input? DiskEncryptionSet { get; set; } + + /// + /// Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + /// + [Input("diskSizeGB")] + public Input? DiskSizeGB { get; set; } + + /// + /// Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + /// + [Input("lun", required: true)] + public Input Lun { get; set; } = null!; + + /// + /// The managedDisk. + /// + [Input("managedDisk")] + public Input? ManagedDisk { get; set; } + + /// + /// The snapshot. + /// + [Input("snapshot")] + public Input? Snapshot { get; set; } + + /// + /// Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + /// + [Input("storageAccountType")] + public InputUnion? StorageAccountType { get; set; } + + public ImageDataDiskArgs() + { + } + public static new ImageDataDiskArgs Empty => new ImageDataDiskArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/ImageOSDiskArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/ImageOSDiskArgs.cs new file mode 100644 index 000000000000..123558736623 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/ImageOSDiskArgs.cs @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes an Operating System disk. + /// + public sealed class ImageOSDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// The Virtual Hard Disk. + /// + [Input("blobUri")] + public Input? BlobUri { get; set; } + + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + /// + [Input("caching")] + public Input? Caching { get; set; } + + /// + /// Specifies the customer managed disk encryption set resource id for the managed image disk. + /// + [Input("diskEncryptionSet")] + public Input? DiskEncryptionSet { get; set; } + + /// + /// Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + /// + [Input("diskSizeGB")] + public Input? DiskSizeGB { get; set; } + + /// + /// The managedDisk. + /// + [Input("managedDisk")] + public Input? ManagedDisk { get; set; } + + /// + /// The OS State. For managed images, use Generalized. + /// + [Input("osState", required: true)] + public Input OsState { get; set; } = null!; + + /// + /// This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. Possible values are: **Windows,** **Linux.** + /// + [Input("osType", required: true)] + public Input OsType { get; set; } = null!; + + /// + /// The snapshot. + /// + [Input("snapshot")] + public Input? Snapshot { get; set; } + + /// + /// Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + /// + [Input("storageAccountType")] + public InputUnion? StorageAccountType { get; set; } + + public ImageOSDiskArgs() + { + } + public static new ImageOSDiskArgs Empty => new ImageOSDiskArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/ImageReferenceArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/ImageReferenceArgs.cs new file mode 100644 index 000000000000..74cd663bfec6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/ImageReferenceArgs.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set. + /// + public sealed class ImageReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call. + /// + [Input("communityGalleryImageId")] + public Input? CommunityGalleryImageId { get; set; } + + /// + /// Resource Id + /// + [Input("id")] + public Input? Id { get; set; } + + /// + /// Specifies the offer of the platform image or marketplace image used to create the virtual machine. + /// + [Input("offer")] + public Input? Offer { get; set; } + + /// + /// The image publisher. + /// + [Input("publisher")] + public Input? Publisher { get; set; } + + /// + /// Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call. + /// + [Input("sharedGalleryImageId")] + public Input? SharedGalleryImageId { get; set; } + + /// + /// The image SKU. + /// + [Input("sku")] + public Input? Sku { get; set; } + + /// + /// Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input. + /// + [Input("version")] + public Input? Version { get; set; } + + public ImageReferenceArgs() + { + } + public static new ImageReferenceArgs Empty => new ImageReferenceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/ImageStorageProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/ImageStorageProfileArgs.cs new file mode 100644 index 000000000000..bbc161ed85f0 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/ImageStorageProfileArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a storage profile. + /// + public sealed class ImageStorageProfileArgs : global::Pulumi.ResourceArgs + { + [Input("dataDisks")] + private InputList? _dataDisks; + + /// + /// Specifies the parameters that are used to add a data disk to a virtual machine. <br><br> For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + /// + /// Specifies information about the operating system disk used by the virtual machine. <br><br> For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + [Input("osDisk")] + public Input? OsDisk { get; set; } + + /// + /// Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). + /// + [Input("zoneResilient")] + public Input? ZoneResilient { get; set; } + + public ImageStorageProfileArgs() + { + } + public static new ImageStorageProfileArgs Empty => new ImageStorageProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/InstanceViewStatusArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/InstanceViewStatusArgs.cs new file mode 100644 index 000000000000..8a12eeb57a4a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/InstanceViewStatusArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Instance view status. + /// + public sealed class InstanceViewStatusArgs : global::Pulumi.ResourceArgs + { + /// + /// The status code. + /// + [Input("code")] + public Input? Code { get; set; } + + /// + /// The short localizable label for the status. + /// + [Input("displayStatus")] + public Input? DisplayStatus { get; set; } + + /// + /// The level code. + /// + [Input("level")] + public Input? Level { get; set; } + + /// + /// The detailed status message, including for alerts and error messages. + /// + [Input("message")] + public Input? Message { get; set; } + + /// + /// The time of the status. + /// + [Input("time")] + public Input? Time { get; set; } + + public InstanceViewStatusArgs() + { + } + public static new InstanceViewStatusArgs Empty => new InstanceViewStatusArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/KeyVaultKeyReferenceArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/KeyVaultKeyReferenceArgs.cs new file mode 100644 index 000000000000..e6d52a1b19de --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/KeyVaultKeyReferenceArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a reference to Key Vault Key + /// + public sealed class KeyVaultKeyReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// The URL referencing a key encryption key in Key Vault. + /// + [Input("keyUrl", required: true)] + public Input KeyUrl { get; set; } = null!; + + /// + /// The relative URL of the Key Vault containing the key. + /// + [Input("sourceVault", required: true)] + public Input SourceVault { get; set; } = null!; + + public KeyVaultKeyReferenceArgs() + { + } + public static new KeyVaultKeyReferenceArgs Empty => new KeyVaultKeyReferenceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/KeyVaultSecretReferenceArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/KeyVaultSecretReferenceArgs.cs new file mode 100644 index 000000000000..a11895b01c84 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/KeyVaultSecretReferenceArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a reference to Key Vault Secret + /// + public sealed class KeyVaultSecretReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// The URL referencing a secret in a Key Vault. + /// + [Input("secretUrl", required: true)] + public Input SecretUrl { get; set; } = null!; + + /// + /// The relative URL of the Key Vault containing the secret. + /// + [Input("sourceVault", required: true)] + public Input SourceVault { get; set; } = null!; + + public KeyVaultSecretReferenceArgs() + { + } + public static new KeyVaultSecretReferenceArgs Empty => new KeyVaultSecretReferenceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/LinuxConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/LinuxConfigurationArgs.cs new file mode 100644 index 000000000000..ac22f285ce96 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/LinuxConfigurationArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + /// + public sealed class LinuxConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether password authentication should be disabled. + /// + [Input("disablePasswordAuthentication")] + public Input? DisablePasswordAuthentication { get; set; } + + /// + /// Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false. + /// + [Input("enableVMAgentPlatformUpdates")] + public Input? EnableVMAgentPlatformUpdates { get; set; } + + /// + /// [Preview Feature] Specifies settings related to VM Guest Patching on Linux. + /// + [Input("patchSettings")] + public Input? PatchSettings { get; set; } + + /// + /// Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + /// + [Input("provisionVMAgent")] + public Input? ProvisionVMAgent { get; set; } + + /// + /// Specifies the ssh key configuration for a Linux OS. + /// + [Input("ssh")] + public Input? Ssh { get; set; } + + public LinuxConfigurationArgs() + { + } + public static new LinuxConfigurationArgs Empty => new LinuxConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/LinuxPatchSettingsArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/LinuxPatchSettingsArgs.cs new file mode 100644 index 000000000000..33b1eb0d273f --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/LinuxPatchSettingsArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies settings related to VM Guest Patching on Linux. + /// + public sealed class LinuxPatchSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You control the timing of patch assessments on a virtual machine. <br /><br /> **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + /// + [Input("assessmentMode")] + public InputUnion? AssessmentMode { get; set; } + + /// + /// Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux. + /// + [Input("automaticByPlatformSettings")] + public Input? AutomaticByPlatformSettings { get; set; } + + /// + /// Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - The virtual machine's default patching configuration is used. <br /><br /> **AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true + /// + [Input("patchMode")] + public InputUnion? PatchMode { get; set; } + + public LinuxPatchSettingsArgs() + { + } + public static new LinuxPatchSettingsArgs Empty => new LinuxPatchSettingsArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/LinuxVMGuestPatchAutomaticByPlatformSettingsArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/LinuxVMGuestPatchAutomaticByPlatformSettingsArgs.cs new file mode 100644 index 000000000000..ae0a59829146 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/LinuxVMGuestPatchAutomaticByPlatformSettingsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings. + /// + public sealed class LinuxVMGuestPatchAutomaticByPlatformSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Enables customer to schedule patching without accidental upgrades + /// + [Input("bypassPlatformSafetyChecksOnUserSchedule")] + public Input? BypassPlatformSafetyChecksOnUserSchedule { get; set; } + + /// + /// Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + /// + [Input("rebootSetting")] + public InputUnion? RebootSetting { get; set; } + + public LinuxVMGuestPatchAutomaticByPlatformSettingsArgs() + { + } + public static new LinuxVMGuestPatchAutomaticByPlatformSettingsArgs Empty => new LinuxVMGuestPatchAutomaticByPlatformSettingsArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/ManagedDiskParametersArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/ManagedDiskParametersArgs.cs new file mode 100644 index 000000000000..000299f1f785 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/ManagedDiskParametersArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// The parameters of a managed disk. + /// + public sealed class ManagedDiskParametersArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the customer managed disk encryption set resource id for the managed disk. + /// + [Input("diskEncryptionSet")] + public Input? DiskEncryptionSet { get; set; } + + /// + /// Resource Id + /// + [Input("id")] + public Input? Id { get; set; } + + /// + /// Specifies the security profile for the managed disk. + /// + [Input("securityProfile")] + public Input? SecurityProfile { get; set; } + + /// + /// Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + /// + [Input("storageAccountType")] + public InputUnion? StorageAccountType { get; set; } + + public ManagedDiskParametersArgs() + { + } + public static new ManagedDiskParametersArgs Empty => new ManagedDiskParametersArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/NetworkInterfaceReferenceArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/NetworkInterfaceReferenceArgs.cs new file mode 100644 index 000000000000..a7e001884802 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/NetworkInterfaceReferenceArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a network interface reference. + /// + public sealed class NetworkInterfaceReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// Specify what happens to the network interface when the VM is deleted + /// + [Input("deleteOption")] + public InputUnion? DeleteOption { get; set; } + + /// + /// Resource Id + /// + [Input("id")] + public Input? Id { get; set; } + + /// + /// Specifies the primary network interface in case the virtual machine has more than 1 network interface. + /// + [Input("primary")] + public Input? Primary { get; set; } + + public NetworkInterfaceReferenceArgs() + { + } + public static new NetworkInterfaceReferenceArgs Empty => new NetworkInterfaceReferenceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/NetworkProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/NetworkProfileArgs.cs new file mode 100644 index 000000000000..15b828c178d3 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/NetworkProfileArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the network interfaces or the networking configuration of the virtual machine. + /// + public sealed class NetworkProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations + /// + [Input("networkApiVersion")] + public InputUnion? NetworkApiVersion { get; set; } + + [Input("networkInterfaceConfigurations")] + private InputList? _networkInterfaceConfigurations; + + /// + /// Specifies the networking configurations that will be used to create the virtual machine networking resources. + /// + public InputList NetworkInterfaceConfigurations + { + get => _networkInterfaceConfigurations ?? (_networkInterfaceConfigurations = new InputList()); + set => _networkInterfaceConfigurations = value; + } + + [Input("networkInterfaces")] + private InputList? _networkInterfaces; + + /// + /// Specifies the list of resource Ids for the network interfaces associated with the virtual machine. + /// + public InputList NetworkInterfaces + { + get => _networkInterfaces ?? (_networkInterfaces = new InputList()); + set => _networkInterfaces = value; + } + + public NetworkProfileArgs() + { + } + public static new NetworkProfileArgs Empty => new NetworkProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/OSDiskArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/OSDiskArgs.cs new file mode 100644 index 000000000000..65f5d6495c83 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/OSDiskArgs.cs @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + public sealed class OSDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + /// + [Input("caching")] + public Input? Caching { get; set; } + + /// + /// Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + /// + [Input("createOption", required: true)] + public InputUnion CreateOption { get; set; } = null!; + + /// + /// Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the OS disk is deleted when VM is deleted. **Detach.** If this value is used, the os disk is retained after VM is deleted. The default value is set to **Detach**. For an ephemeral OS Disk, the default value is set to **Delete**. The user cannot change the delete option for an ephemeral OS Disk. + /// + [Input("deleteOption")] + public InputUnion? DeleteOption { get; set; } + + /// + /// Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine. + /// + [Input("diffDiskSettings")] + public Input? DiffDiskSettings { get; set; } + + /// + /// Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + /// + [Input("diskSizeGB")] + public Input? DiskSizeGB { get; set; } + + /// + /// Specifies the encryption settings for the OS Disk. Minimum api-version: 2015-06-15. + /// + [Input("encryptionSettings")] + public Input? EncryptionSettings { get; set; } + + /// + /// The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + /// + [Input("image")] + public Input? Image { get; set; } + + /// + /// The managed disk parameters. + /// + [Input("managedDisk")] + public Input? ManagedDisk { get; set; } + + /// + /// The disk name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + /// + [Input("osType")] + public Input? OsType { get; set; } + + /// + /// The virtual hard disk. + /// + [Input("vhd")] + public Input? Vhd { get; set; } + + /// + /// Specifies whether writeAccelerator should be enabled or disabled on the disk. + /// + [Input("writeAcceleratorEnabled")] + public Input? WriteAcceleratorEnabled { get; set; } + + public OSDiskArgs() + { + } + public static new OSDiskArgs Empty => new OSDiskArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/OSImageNotificationProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/OSImageNotificationProfileArgs.cs new file mode 100644 index 000000000000..4962f0de3382 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/OSImageNotificationProfileArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + public sealed class OSImageNotificationProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether the OS Image Scheduled event is enabled or disabled. + /// + [Input("enable")] + public Input? Enable { get; set; } + + /// + /// Length of time a Virtual Machine being reimaged or having its OS upgraded will have to potentially approve the OS Image Scheduled Event before the event is auto approved (timed out). The configuration is specified in ISO 8601 format, and the value must be 15 minutes (PT15M) + /// + [Input("notBeforeTimeout")] + public Input? NotBeforeTimeout { get; set; } + + public OSImageNotificationProfileArgs() + { + } + public static new OSImageNotificationProfileArgs Empty => new OSImageNotificationProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/OSProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/OSProfileArgs.cs new file mode 100644 index 000000000000..93fcfba66f80 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/OSProfileArgs.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned. + /// + public sealed class OSProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the password of the administrator account. <br><br> **Minimum-length (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\W_]) <br><br> **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" <br><br> For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp) <br><br> For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + /// + [Input("adminPassword")] + public Input? AdminPassword { get; set; } + + /// + /// Specifies the name of the administrator account. <br><br> This property cannot be updated after the VM is created. <br><br> **Windows-only restriction:** Cannot end in "." <br><br> **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length (Linux):** 64 characters <br><br> **Max-length (Windows):** 20 characters. + /// + [Input("adminUsername")] + public Input? AdminUsername { get; set; } + + /// + /// Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine. + /// + [Input("allowExtensionOperations")] + public Input? AllowExtensionOperations { get; set; } + + /// + /// Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters. **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules). + /// + [Input("computerName")] + public Input? ComputerName { get; set; } + + /// + /// Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property 'customData' is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init). + /// + [Input("customData")] + public Input? CustomData { get; set; } + + /// + /// Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + /// + [Input("linuxConfiguration")] + public Input? LinuxConfiguration { get; set; } + + /// + /// Optional property which must either be set to True or omitted. + /// + [Input("requireGuestProvisionSignal")] + public Input? RequireGuestProvisionSignal { get; set; } + + [Input("secrets")] + private InputList? _secrets; + + /// + /// Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + /// + public InputList Secrets + { + get => _secrets ?? (_secrets = new InputList()); + set => _secrets = value; + } + + /// + /// Specifies Windows operating system settings on the virtual machine. + /// + [Input("windowsConfiguration")] + public Input? WindowsConfiguration { get; set; } + + public OSProfileArgs() + { + } + public static new OSProfileArgs Empty => new OSProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/PatchSettingsArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/PatchSettingsArgs.cs new file mode 100644 index 000000000000..c1538b3a92eb --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/PatchSettingsArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies settings related to VM Guest Patching on Windows. + /// + public sealed class PatchSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You control the timing of patch assessments on a virtual machine.<br /><br /> **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + /// + [Input("assessmentMode")] + public InputUnion? AssessmentMode { get; set; } + + /// + /// Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Windows. + /// + [Input("automaticByPlatformSettings")] + public Input? AutomaticByPlatformSettings { get; set; } + + /// + /// Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + /// + [Input("enableHotpatching")] + public Input? EnableHotpatching { get; set; } + + /// + /// Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false<br /><br /> **AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. <br /><br /> **AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true + /// + [Input("patchMode")] + public InputUnion? PatchMode { get; set; } + + public PatchSettingsArgs() + { + } + public static new PatchSettingsArgs Empty => new PatchSettingsArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/PlanArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/PlanArgs.cs new file mode 100644 index 000000000000..bbcb66129492 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/PlanArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + /// + public sealed class PlanArgs : global::Pulumi.ResourceArgs + { + /// + /// The plan ID. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + /// + [Input("product")] + public Input? Product { get; set; } + + /// + /// The promotion code. + /// + [Input("promotionCode")] + public Input? PromotionCode { get; set; } + + /// + /// The publisher ID. + /// + [Input("publisher")] + public Input? Publisher { get; set; } + + public PlanArgs() + { + } + public static new PlanArgs Empty => new PlanArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/PriorityMixPolicyArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/PriorityMixPolicyArgs.cs new file mode 100644 index 000000000000..524bfa717825 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/PriorityMixPolicyArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the target splits for Spot and Regular priority VMs within a scale set with flexible orchestration mode. With this property the customer is able to specify the base number of regular priority VMs created as the VMSS flex instance scales out and the split between Spot and Regular priority VMs after this base target has been reached. + /// + public sealed class PriorityMixPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// The base number of regular priority VMs that will be created in this scale set as it scales out. + /// + [Input("baseRegularPriorityCount")] + public Input? BaseRegularPriorityCount { get; set; } + + /// + /// The percentage of VM instances, after the base regular priority count has been reached, that are expected to use regular priority. + /// + [Input("regularPriorityPercentageAboveBase")] + public Input? RegularPriorityPercentageAboveBase { get; set; } + + public PriorityMixPolicyArgs() + { + } + public static new PriorityMixPolicyArgs Empty => new PriorityMixPolicyArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/ProximityPlacementGroupPropertiesIntentArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/ProximityPlacementGroupPropertiesIntentArgs.cs new file mode 100644 index 000000000000..6574045fe9be --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/ProximityPlacementGroupPropertiesIntentArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the user intent of the proximity placement group. + /// + public sealed class ProximityPlacementGroupPropertiesIntentArgs : global::Pulumi.ResourceArgs + { + [Input("vmSizes")] + private InputList? _vmSizes; + + /// + /// Specifies possible sizes of virtual machines that can be created in the proximity placement group. + /// + public InputList VmSizes + { + get => _vmSizes ?? (_vmSizes = new InputList()); + set => _vmSizes = value; + } + + public ProximityPlacementGroupPropertiesIntentArgs() + { + } + public static new ProximityPlacementGroupPropertiesIntentArgs Empty => new ProximityPlacementGroupPropertiesIntentArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/PublicIPAddressSkuArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/PublicIPAddressSkuArgs.cs new file mode 100644 index 000000000000..3e7a0c721cf8 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/PublicIPAddressSkuArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + /// + public sealed class PublicIPAddressSkuArgs : global::Pulumi.ResourceArgs + { + /// + /// Specify public IP sku name + /// + [Input("name")] + public InputUnion? Name { get; set; } + + /// + /// Specify public IP sku tier + /// + [Input("tier")] + public InputUnion? Tier { get; set; } + + public PublicIPAddressSkuArgs() + { + } + public static new PublicIPAddressSkuArgs Empty => new PublicIPAddressSkuArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/RestorePointCollectionSourcePropertiesArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/RestorePointCollectionSourcePropertiesArgs.cs new file mode 100644 index 000000000000..a7ca3360b9e1 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/RestorePointCollectionSourcePropertiesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// The properties of the source resource that this restore point collection is created from. + /// + public sealed class RestorePointCollectionSourcePropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Resource Id of the source resource used to create this restore point collection + /// + [Input("id")] + public Input? Id { get; set; } + + public RestorePointCollectionSourcePropertiesArgs() + { + } + public static new RestorePointCollectionSourcePropertiesArgs Empty => new RestorePointCollectionSourcePropertiesArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/RestorePointEncryptionArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/RestorePointEncryptionArgs.cs new file mode 100644 index 000000000000..1c30265ad393 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/RestorePointEncryptionArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + /// + public sealed class RestorePointEncryptionArgs : global::Pulumi.ResourceArgs + { + /// + /// Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + /// + [Input("diskEncryptionSet")] + public Input? DiskEncryptionSet { get; set; } + + /// + /// The type of key used to encrypt the data of the disk restore point. + /// + [Input("type")] + public InputUnion? Type { get; set; } + + public RestorePointEncryptionArgs() + { + } + public static new RestorePointEncryptionArgs Empty => new RestorePointEncryptionArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/RestorePointSourceMetadataArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/RestorePointSourceMetadataArgs.cs new file mode 100644 index 000000000000..0eb42491bf84 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/RestorePointSourceMetadataArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes the properties of the Virtual Machine for which the restore point was created. The properties provided are a subset and the snapshot of the overall Virtual Machine properties captured at the time of the restore point creation. + /// + public sealed class RestorePointSourceMetadataArgs : global::Pulumi.ResourceArgs + { + /// + /// Gets the storage profile. + /// + [Input("storageProfile")] + public Input? StorageProfile { get; set; } + + public RestorePointSourceMetadataArgs() + { + } + public static new RestorePointSourceMetadataArgs Empty => new RestorePointSourceMetadataArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/RestorePointSourceVMDataDiskArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/RestorePointSourceVMDataDiskArgs.cs new file mode 100644 index 000000000000..3a83bd9eaad6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/RestorePointSourceVMDataDiskArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a data disk. + /// + public sealed class RestorePointSourceVMDataDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Contains Disk Restore Point properties. + /// + [Input("diskRestorePoint")] + public Input? DiskRestorePoint { get; set; } + + /// + /// Contains the managed disk details. + /// + [Input("managedDisk")] + public Input? ManagedDisk { get; set; } + + public RestorePointSourceVMDataDiskArgs() + { + } + public static new RestorePointSourceVMDataDiskArgs Empty => new RestorePointSourceVMDataDiskArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/RestorePointSourceVMOSDiskArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/RestorePointSourceVMOSDiskArgs.cs new file mode 100644 index 000000000000..a219761a2783 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/RestorePointSourceVMOSDiskArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes an Operating System disk. + /// + public sealed class RestorePointSourceVMOSDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Contains Disk Restore Point properties. + /// + [Input("diskRestorePoint")] + public Input? DiskRestorePoint { get; set; } + + /// + /// Gets the managed disk details + /// + [Input("managedDisk")] + public Input? ManagedDisk { get; set; } + + public RestorePointSourceVMOSDiskArgs() + { + } + public static new RestorePointSourceVMOSDiskArgs Empty => new RestorePointSourceVMOSDiskArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/RestorePointSourceVMStorageProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/RestorePointSourceVMStorageProfileArgs.cs new file mode 100644 index 000000000000..6c9c37f35a92 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/RestorePointSourceVMStorageProfileArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes the storage profile. + /// + public sealed class RestorePointSourceVMStorageProfileArgs : global::Pulumi.ResourceArgs + { + [Input("dataDisks")] + private InputList? _dataDisks; + + /// + /// Gets the data disks of the VM captured at the time of the restore point creation. + /// + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + /// + /// Gets the OS disk of the VM captured at the time of the restore point creation. + /// + [Input("osDisk")] + public Input? OsDisk { get; set; } + + public RestorePointSourceVMStorageProfileArgs() + { + } + public static new RestorePointSourceVMStorageProfileArgs Empty => new RestorePointSourceVMStorageProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/RollingUpgradePolicyArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/RollingUpgradePolicyArgs.cs new file mode 100644 index 000000000000..c20f1219bab9 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/RollingUpgradePolicyArgs.cs @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// The configuration parameters used while performing a rolling upgrade. + /// + public sealed class RollingUpgradePolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size. + /// + [Input("enableCrossZoneUpgrade")] + public Input? EnableCrossZoneUpgrade { get; set; } + + /// + /// The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. + /// + [Input("maxBatchInstancePercent")] + public Input? MaxBatchInstancePercent { get; set; } + + /// + /// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. + /// + [Input("maxSurge")] + public Input? MaxSurge { get; set; } + + /// + /// The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%. + /// + [Input("maxUnhealthyInstancePercent")] + public Input? MaxUnhealthyInstancePercent { get; set; } + + /// + /// The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%. + /// + [Input("maxUnhealthyUpgradedInstancePercent")] + public Input? MaxUnhealthyUpgradedInstancePercent { get; set; } + + /// + /// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). + /// + [Input("pauseTimeBetweenBatches")] + public Input? PauseTimeBetweenBatches { get; set; } + + /// + /// Upgrade all unhealthy instances in a scale set before any healthy instances. + /// + [Input("prioritizeUnhealthyInstances")] + public Input? PrioritizeUnhealthyInstances { get; set; } + + /// + /// Rollback failed instances to previous model if the Rolling Upgrade policy is violated. + /// + [Input("rollbackFailedInstancesOnPolicyBreach")] + public Input? RollbackFailedInstancesOnPolicyBreach { get; set; } + + public RollingUpgradePolicyArgs() + { + } + public static new RollingUpgradePolicyArgs Empty => new RollingUpgradePolicyArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/RunCommandInputParameterArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/RunCommandInputParameterArgs.cs new file mode 100644 index 000000000000..a5cbd876cc66 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/RunCommandInputParameterArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes the properties of a run command parameter. + /// + public sealed class RunCommandInputParameterArgs : global::Pulumi.ResourceArgs + { + /// + /// The run command parameter name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The run command parameter value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RunCommandInputParameterArgs() + { + } + public static new RunCommandInputParameterArgs Empty => new RunCommandInputParameterArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/RunCommandManagedIdentityArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/RunCommandManagedIdentityArgs.cs new file mode 100644 index 000000000000..1dbcc9b676c4 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/RunCommandManagedIdentityArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + /// + public sealed class RunCommandManagedIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. + /// + [Input("clientId")] + public Input? ClientId { get; set; } + + /// + /// Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. + /// + [Input("objectId")] + public Input? ObjectId { get; set; } + + public RunCommandManagedIdentityArgs() + { + } + public static new RunCommandManagedIdentityArgs Empty => new RunCommandManagedIdentityArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/ScaleInPolicyArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/ScaleInPolicyArgs.cs new file mode 100644 index 000000000000..f6a6b253505c --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/ScaleInPolicyArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a scale-in policy for a virtual machine scale set. + /// + public sealed class ScaleInPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// This property allows you to specify if virtual machines chosen for removal have to be force deleted when a virtual machine scale set is being scaled-in.(Feature in Preview) + /// + [Input("forceDeletion")] + public Input? ForceDeletion { get; set; } + + [Input("rules")] + private InputList>? _rules; + + /// + /// The rules to be followed when scaling-in a virtual machine scale set. <br><br> Possible values are: <br><br> **Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. <br><br> **OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. <br><br> **NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal. <br><br> + /// + public InputList> Rules + { + get => _rules ?? (_rules = new InputList>()); + set => _rules = value; + } + + public ScaleInPolicyArgs() + { + } + public static new ScaleInPolicyArgs Empty => new ScaleInPolicyArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/ScheduledEventsProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/ScheduledEventsProfileArgs.cs new file mode 100644 index 000000000000..fdf98049bad6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/ScheduledEventsProfileArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + public sealed class ScheduledEventsProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies OS Image Scheduled Event related configurations. + /// + [Input("osImageNotificationProfile")] + public Input? OsImageNotificationProfile { get; set; } + + /// + /// Specifies Terminate Scheduled Event related configurations. + /// + [Input("terminateNotificationProfile")] + public Input? TerminateNotificationProfile { get; set; } + + public ScheduledEventsProfileArgs() + { + } + public static new ScheduledEventsProfileArgs Empty => new ScheduledEventsProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/SecurityPostureReferenceArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/SecurityPostureReferenceArgs.cs new file mode 100644 index 000000000000..4c4f1f0bf7bc --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/SecurityPostureReferenceArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + /// + public sealed class SecurityPostureReferenceArgs : global::Pulumi.ResourceArgs + { + [Input("excludeExtensions")] + private InputList? _excludeExtensions; + + /// + /// List of virtual machine extensions to exclude when applying the Security Posture. + /// + public InputList ExcludeExtensions + { + get => _excludeExtensions ?? (_excludeExtensions = new InputList()); + set => _excludeExtensions = value; + } + + /// + /// The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest + /// + [Input("id")] + public Input? Id { get; set; } + + public SecurityPostureReferenceArgs() + { + } + public static new SecurityPostureReferenceArgs Empty => new SecurityPostureReferenceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/SecurityProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/SecurityProfileArgs.cs new file mode 100644 index 000000000000..8403df091498 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/SecurityProfileArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the Security profile settings for the virtual machine or virtual machine scale set. + /// + public sealed class SecurityProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. The default behavior is: The Encryption at host will be disabled unless this property is set to true for the resource. + /// + [Input("encryptionAtHost")] + public Input? EncryptionAtHost { get; set; } + + /// + /// Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set. + /// + [Input("securityType")] + public InputUnion? SecurityType { get; set; } + + /// + /// Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + /// + [Input("uefiSettings")] + public Input? UefiSettings { get; set; } + + public SecurityProfileArgs() + { + } + public static new SecurityProfileArgs Empty => new SecurityProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/ServiceArtifactReferenceArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/ServiceArtifactReferenceArgs.cs new file mode 100644 index 000000000000..85777d95a2ad --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/ServiceArtifactReferenceArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + /// + public sealed class ServiceArtifactReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} + /// + [Input("id")] + public Input? Id { get; set; } + + public ServiceArtifactReferenceArgs() + { + } + public static new ServiceArtifactReferenceArgs Empty => new ServiceArtifactReferenceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/SkuArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/SkuArgs.cs new file mode 100644 index 000000000000..dd9791eb828e --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/SkuArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + /// + public sealed class SkuArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the number of virtual machines in the scale set. + /// + [Input("capacity")] + public Input? Capacity { get; set; } + + /// + /// The sku name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Specifies the tier of virtual machines in a scale set.<br /><br /> Possible Values:<br /><br /> **Standard**<br /><br /> **Basic** + /// + [Input("tier")] + public Input? Tier { get; set; } + + public SkuArgs() + { + } + public static new SkuArgs Empty => new SkuArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/SpotRestorePolicyArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/SpotRestorePolicyArgs.cs new file mode 100644 index 000000000000..d8d3537abd4e --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/SpotRestorePolicyArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the Spot-Try-Restore properties for the virtual machine scale set. With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint. + /// + public sealed class SpotRestorePolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances + /// + [Input("restoreTimeout")] + public Input? RestoreTimeout { get; set; } + + public SpotRestorePolicyArgs() + { + } + public static new SpotRestorePolicyArgs Empty => new SpotRestorePolicyArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/SshConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/SshConfigurationArgs.cs new file mode 100644 index 000000000000..32f3bebee5c0 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/SshConfigurationArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// SSH configuration for Linux based VMs running on Azure + /// + public sealed class SshConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("publicKeys")] + private InputList? _publicKeys; + + /// + /// The list of SSH public keys used to authenticate with linux based VMs. + /// + public InputList PublicKeys + { + get => _publicKeys ?? (_publicKeys = new InputList()); + set => _publicKeys = value; + } + + public SshConfigurationArgs() + { + } + public static new SshConfigurationArgs Empty => new SshConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/SshPublicKeyArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/SshPublicKeyArgs.cs new file mode 100644 index 000000000000..fe39fe516938 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/SshPublicKeyArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + /// + public sealed class SshPublicKeyArgs : global::Pulumi.ResourceArgs + { + /// + /// SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + /// + [Input("keyData")] + public Input? KeyData { get; set; } + + /// + /// Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + /// + [Input("path")] + public Input? Path { get; set; } + + public SshPublicKeyArgs() + { + } + public static new SshPublicKeyArgs Empty => new SshPublicKeyArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/StorageProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/StorageProfileArgs.cs new file mode 100644 index 000000000000..466035a8e8d8 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/StorageProfileArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the storage settings for the virtual machine disks. + /// + public sealed class StorageProfileArgs : global::Pulumi.ResourceArgs + { + [Input("dataDisks")] + private InputList? _dataDisks; + + /// + /// Specifies the parameters that are used to add a data disk to a virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + /// + /// Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01. + /// + [Input("diskControllerType")] + public InputUnion? DiskControllerType { get; set; } + + /// + /// Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + /// + [Input("imageReference")] + public Input? ImageReference { get; set; } + + /// + /// Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + [Input("osDisk")] + public Input? OsDisk { get; set; } + + public StorageProfileArgs() + { + } + public static new StorageProfileArgs Empty => new StorageProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/SubResourceArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/SubResourceArgs.cs new file mode 100644 index 000000000000..8fcff97a44e4 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/SubResourceArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + public sealed class SubResourceArgs : global::Pulumi.ResourceArgs + { + /// + /// Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. + /// An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. + /// A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. + /// Example of a relative ID: $self/frontEndConfigurations/my-frontend. + /// + [Input("id")] + public Input? Id { get; set; } + + public SubResourceArgs() + { + } + public static new SubResourceArgs Empty => new SubResourceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/TerminateNotificationProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/TerminateNotificationProfileArgs.cs new file mode 100644 index 000000000000..bb34db59e8ff --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/TerminateNotificationProfileArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + public sealed class TerminateNotificationProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether the Terminate Scheduled event is enabled or disabled. + /// + [Input("enable")] + public Input? Enable { get; set; } + + /// + /// Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M) + /// + [Input("notBeforeTimeout")] + public Input? NotBeforeTimeout { get; set; } + + public TerminateNotificationProfileArgs() + { + } + public static new TerminateNotificationProfileArgs Empty => new TerminateNotificationProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/UefiSettingsArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/UefiSettingsArgs.cs new file mode 100644 index 000000000000..43a26dd78655 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/UefiSettingsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + /// + public sealed class UefiSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + /// + [Input("secureBootEnabled")] + public Input? SecureBootEnabled { get; set; } + + /// + /// Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + /// + [Input("vTpmEnabled")] + public Input? VTpmEnabled { get; set; } + + public UefiSettingsArgs() + { + } + public static new UefiSettingsArgs Empty => new UefiSettingsArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/UpgradePolicyArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/UpgradePolicyArgs.cs new file mode 100644 index 000000000000..8860862e9bc2 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/UpgradePolicyArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes an upgrade policy - automatic, manual, or rolling. + /// + public sealed class UpgradePolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Configuration parameters used for performing automatic OS Upgrade. + /// + [Input("automaticOSUpgradePolicy")] + public Input? AutomaticOSUpgradePolicy { get; set; } + + /// + /// Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time. + /// + [Input("mode")] + public Input? Mode { get; set; } + + /// + /// The configuration parameters used while performing a rolling upgrade. + /// + [Input("rollingUpgradePolicy")] + public Input? RollingUpgradePolicy { get; set; } + + public UpgradePolicyArgs() + { + } + public static new UpgradePolicyArgs Empty => new UpgradePolicyArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VMDiskSecurityProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VMDiskSecurityProfileArgs.cs new file mode 100644 index 000000000000..5bd39e62da71 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VMDiskSecurityProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the security profile settings for the managed disk. **Note:** It can only be set for Confidential VMs. + /// + public sealed class VMDiskSecurityProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + /// + [Input("diskEncryptionSet")] + public Input? DiskEncryptionSet { get; set; } + + /// + /// Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs. + /// + [Input("securityEncryptionType")] + public InputUnion? SecurityEncryptionType { get; set; } + + public VMDiskSecurityProfileArgs() + { + } + public static new VMDiskSecurityProfileArgs Empty => new VMDiskSecurityProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VMGalleryApplicationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VMGalleryApplicationArgs.cs new file mode 100644 index 000000000000..05b9c2cd1c2f --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VMGalleryApplicationArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the required information to reference a compute gallery application version + /// + public sealed class VMGalleryApplicationArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided + /// + [Input("configurationReference")] + public Input? ConfigurationReference { get; set; } + + /// + /// If set to true, when a new Gallery Application version is available in PIR/SIG, it will be automatically updated for the VM/VMSS + /// + [Input("enableAutomaticUpgrade")] + public Input? EnableAutomaticUpgrade { get; set; } + + /// + /// Optional, Specifies the order in which the packages have to be installed + /// + [Input("order")] + public Input? Order { get; set; } + + /// + /// Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + /// + [Input("packageReferenceId", required: true)] + public Input PackageReferenceId { get; set; } = null!; + + /// + /// Optional, Specifies a passthrough value for more generic context. + /// + [Input("tags")] + public Input? Tags { get; set; } + + /// + /// Optional, If true, any failure for any operation in the VmApplication will fail the deployment + /// + [Input("treatFailureAsDeploymentFailure")] + public Input? TreatFailureAsDeploymentFailure { get; set; } + + public VMGalleryApplicationArgs() + { + } + public static new VMGalleryApplicationArgs Empty => new VMGalleryApplicationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VMSizePropertiesArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VMSizePropertiesArgs.cs new file mode 100644 index 000000000000..68994e985807 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VMSizePropertiesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies VM Size Property settings on the virtual machine. + /// + public sealed class VMSizePropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). + /// + [Input("vCPUsAvailable")] + public Input? VCPUsAvailable { get; set; } + + /// + /// Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.** + /// + [Input("vCPUsPerCore")] + public Input? VCPUsPerCore { get; set; } + + public VMSizePropertiesArgs() + { + } + public static new VMSizePropertiesArgs Empty => new VMSizePropertiesArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VaultCertificateArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VaultCertificateArgs.cs new file mode 100644 index 000000000000..5d837f61e127 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VaultCertificateArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + /// + public sealed class VaultCertificateArgs : global::Pulumi.ResourceArgs + { + /// + /// For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name &lt;UppercaseThumbprint&gt;.crt for the X509 certificate file and &lt;UppercaseThumbprint&gt;.prv for private key. Both of these files are .pem formatted. + /// + [Input("certificateStore")] + public Input? CertificateStore { get; set; } + + /// + /// This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: <br><br> {<br> "data":"<Base64-encoded-certificate>",<br> "dataType":"pfx",<br> "password":"<pfx-file-password>"<br>} <br> To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + /// + [Input("certificateUrl")] + public Input? CertificateUrl { get; set; } + + public VaultCertificateArgs() + { + } + public static new VaultCertificateArgs Empty => new VaultCertificateArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VaultSecretGroupArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VaultSecretGroupArgs.cs new file mode 100644 index 000000000000..988d66226768 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VaultSecretGroupArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a set of certificates which are all in the same Key Vault. + /// + public sealed class VaultSecretGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// The relative URL of the Key Vault containing all of the certificates in VaultCertificates. + /// + [Input("sourceVault")] + public Input? SourceVault { get; set; } + + [Input("vaultCertificates")] + private InputList? _vaultCertificates; + + /// + /// The list of key vault references in SourceVault which contain certificates. + /// + public InputList VaultCertificates + { + get => _vaultCertificates ?? (_vaultCertificates = new InputList()); + set => _vaultCertificates = value; + } + + public VaultSecretGroupArgs() + { + } + public static new VaultSecretGroupArgs Empty => new VaultSecretGroupArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualHardDiskArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualHardDiskArgs.cs new file mode 100644 index 000000000000..eac92019ee06 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualHardDiskArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes the uri of a disk. + /// + public sealed class VirtualHardDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the virtual hard disk's uri. + /// + [Input("uri")] + public Input? Uri { get; set; } + + public VirtualHardDiskArgs() + { + } + public static new VirtualHardDiskArgs Empty => new VirtualHardDiskArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineExtensionArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineExtensionArgs.cs new file mode 100644 index 000000000000..677ec3607c4b --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineExtensionArgs.cs @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a Virtual Machine Extension. + /// + public sealed class VirtualMachineExtensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + [Input("autoUpgradeMinorVersion")] + public Input? AutoUpgradeMinorVersion { get; set; } + + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + [Input("enableAutomaticUpgrade")] + public Input? EnableAutomaticUpgrade { get; set; } + + /// + /// How the extension handler should be forced to update even if the extension configuration has not changed. + /// + [Input("forceUpdateTag")] + public Input? ForceUpdateTag { get; set; } + + /// + /// The virtual machine extension instance view. + /// + [Input("instanceView")] + public Input? InstanceView { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + [Input("protectedSettings")] + public Input? ProtectedSettings { get; set; } + + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + [Input("protectedSettingsFromKeyVault")] + public Input? ProtectedSettingsFromKeyVault { get; set; } + + [Input("provisionAfterExtensions")] + private InputList? _provisionAfterExtensions; + + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + public InputList ProvisionAfterExtensions + { + get => _provisionAfterExtensions ?? (_provisionAfterExtensions = new InputList()); + set => _provisionAfterExtensions = value; + } + + /// + /// The name of the extension handler publisher. + /// + [Input("publisher")] + public Input? Publisher { get; set; } + + /// + /// Json formatted public settings for the extension. + /// + [Input("settings")] + public Input? Settings { get; set; } + + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + [Input("suppressFailures")] + public Input? SuppressFailures { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// Specifies the type of the extension; an example is "CustomScriptExtension". + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Specifies the version of the script handler. + /// + [Input("typeHandlerVersion")] + public Input? TypeHandlerVersion { get; set; } + + public VirtualMachineExtensionArgs() + { + } + public static new VirtualMachineExtensionArgs Empty => new VirtualMachineExtensionArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineExtensionInstanceViewArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineExtensionInstanceViewArgs.cs new file mode 100644 index 000000000000..61c642a42a81 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineExtensionInstanceViewArgs.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// The instance view of a virtual machine extension. + /// + public sealed class VirtualMachineExtensionInstanceViewArgs : global::Pulumi.ResourceArgs + { + /// + /// The virtual machine extension name. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("statuses")] + private InputList? _statuses; + + /// + /// The resource status information. + /// + public InputList Statuses + { + get => _statuses ?? (_statuses = new InputList()); + set => _statuses = value; + } + + [Input("substatuses")] + private InputList? _substatuses; + + /// + /// The resource status information. + /// + public InputList Substatuses + { + get => _substatuses ?? (_substatuses = new InputList()); + set => _substatuses = value; + } + + /// + /// Specifies the type of the extension; an example is "CustomScriptExtension". + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Specifies the version of the script handler. + /// + [Input("typeHandlerVersion")] + public Input? TypeHandlerVersion { get; set; } + + public VirtualMachineExtensionInstanceViewArgs() + { + } + public static new VirtualMachineExtensionInstanceViewArgs Empty => new VirtualMachineExtensionInstanceViewArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineIdentityArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineIdentityArgs.cs new file mode 100644 index 000000000000..314ee6a31c79 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineIdentityArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Identity for the virtual machine. + /// + public sealed class VirtualMachineIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. + /// + [Input("type")] + public Input? Type { get; set; } + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } + + public VirtualMachineIdentityArgs() + { + } + public static new VirtualMachineIdentityArgs Empty => new VirtualMachineIdentityArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineIpTagArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineIpTagArgs.cs new file mode 100644 index 000000000000..bddc25fdeb43 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineIpTagArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Contains the IP tag associated with the public IP address. + /// + public sealed class VirtualMachineIpTagArgs : global::Pulumi.ResourceArgs + { + /// + /// IP tag type. Example: FirstPartyUsage. + /// + [Input("ipTagType")] + public Input? IpTagType { get; set; } + + /// + /// IP tag associated with the public IP. Example: SQL, Storage etc. + /// + [Input("tag")] + public Input? Tag { get; set; } + + public VirtualMachineIpTagArgs() + { + } + public static new VirtualMachineIpTagArgs Empty => new VirtualMachineIpTagArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineNetworkInterfaceConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineNetworkInterfaceConfigurationArgs.cs new file mode 100644 index 000000000000..87ced8fc3573 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineNetworkInterfaceConfigurationArgs.cs @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine network interface configurations. + /// + public sealed class VirtualMachineNetworkInterfaceConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + /// + [Input("auxiliaryMode")] + public InputUnion? AuxiliaryMode { get; set; } + + /// + /// Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + /// + [Input("auxiliarySku")] + public InputUnion? AuxiliarySku { get; set; } + + /// + /// Specify what happens to the network interface when the VM is deleted + /// + [Input("deleteOption")] + public InputUnion? DeleteOption { get; set; } + + /// + /// Specifies whether the network interface is disabled for tcp state tracking. + /// + [Input("disableTcpStateTracking")] + public Input? DisableTcpStateTracking { get; set; } + + /// + /// The dns settings to be applied on the network interfaces. + /// + [Input("dnsSettings")] + public Input? DnsSettings { get; set; } + + [Input("dscpConfiguration")] + public Input? DscpConfiguration { get; set; } + + /// + /// Specifies whether the network interface is accelerated networking-enabled. + /// + [Input("enableAcceleratedNetworking")] + public Input? EnableAcceleratedNetworking { get; set; } + + /// + /// Specifies whether the network interface is FPGA networking-enabled. + /// + [Input("enableFpga")] + public Input? EnableFpga { get; set; } + + /// + /// Whether IP forwarding enabled on this NIC. + /// + [Input("enableIPForwarding")] + public Input? EnableIPForwarding { get; set; } + + [Input("ipConfigurations", required: true)] + private InputList? _ipConfigurations; + + /// + /// Specifies the IP configurations of the network interface. + /// + public InputList IpConfigurations + { + get => _ipConfigurations ?? (_ipConfigurations = new InputList()); + set => _ipConfigurations = value; + } + + /// + /// The network interface configuration name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The network security group. + /// + [Input("networkSecurityGroup")] + public Input? NetworkSecurityGroup { get; set; } + + /// + /// Specifies the primary network interface in case the virtual machine has more than 1 network interface. + /// + [Input("primary")] + public Input? Primary { get; set; } + + public VirtualMachineNetworkInterfaceConfigurationArgs() + { + } + public static new VirtualMachineNetworkInterfaceConfigurationArgs Empty => new VirtualMachineNetworkInterfaceConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs.cs new file mode 100644 index 000000000000..2deba5f27573 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machines network configuration's DNS settings. + /// + public sealed class VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("dnsServers")] + private InputList? _dnsServers; + + /// + /// List of DNS servers IP addresses + /// + public InputList DnsServers + { + get => _dnsServers ?? (_dnsServers = new InputList()); + set => _dnsServers = value; + } + + public VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs() + { + } + public static new VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs Empty => new VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineNetworkInterfaceIPConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineNetworkInterfaceIPConfigurationArgs.cs new file mode 100644 index 000000000000..59bec6c02fe7 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineNetworkInterfaceIPConfigurationArgs.cs @@ -0,0 +1,89 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine network profile's IP configuration. + /// + public sealed class VirtualMachineNetworkInterfaceIPConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("applicationGatewayBackendAddressPools")] + private InputList? _applicationGatewayBackendAddressPools; + + /// + /// Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway. + /// + public InputList ApplicationGatewayBackendAddressPools + { + get => _applicationGatewayBackendAddressPools ?? (_applicationGatewayBackendAddressPools = new InputList()); + set => _applicationGatewayBackendAddressPools = value; + } + + [Input("applicationSecurityGroups")] + private InputList? _applicationSecurityGroups; + + /// + /// Specifies an array of references to application security group. + /// + public InputList ApplicationSecurityGroups + { + get => _applicationSecurityGroups ?? (_applicationSecurityGroups = new InputList()); + set => _applicationSecurityGroups = value; + } + + [Input("loadBalancerBackendAddressPools")] + private InputList? _loadBalancerBackendAddressPools; + + /// + /// Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]. + /// + public InputList LoadBalancerBackendAddressPools + { + get => _loadBalancerBackendAddressPools ?? (_loadBalancerBackendAddressPools = new InputList()); + set => _loadBalancerBackendAddressPools = value; + } + + /// + /// The IP configuration name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Specifies the primary network interface in case the virtual machine has more than 1 network interface. + /// + [Input("primary")] + public Input? Primary { get; set; } + + /// + /// Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + /// + [Input("privateIPAddressVersion")] + public InputUnion? PrivateIPAddressVersion { get; set; } + + /// + /// The publicIPAddressConfiguration. + /// + [Input("publicIPAddressConfiguration")] + public Input? PublicIPAddressConfiguration { get; set; } + + /// + /// Specifies the identifier of the subnet. + /// + [Input("subnet")] + public Input? Subnet { get; set; } + + public VirtualMachineNetworkInterfaceIPConfigurationArgs() + { + } + public static new VirtualMachineNetworkInterfaceIPConfigurationArgs Empty => new VirtualMachineNetworkInterfaceIPConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachinePublicIPAddressConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachinePublicIPAddressConfigurationArgs.cs new file mode 100644 index 000000000000..919c56d9b164 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachinePublicIPAddressConfigurationArgs.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machines IP Configuration's PublicIPAddress configuration + /// + public sealed class VirtualMachinePublicIPAddressConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Specify what happens to the public IP address when the VM is deleted + /// + [Input("deleteOption")] + public InputUnion? DeleteOption { get; set; } + + /// + /// The dns settings to be applied on the publicIP addresses . + /// + [Input("dnsSettings")] + public Input? DnsSettings { get; set; } + + /// + /// The idle timeout of the public IP address. + /// + [Input("idleTimeoutInMinutes")] + public Input? IdleTimeoutInMinutes { get; set; } + + [Input("ipTags")] + private InputList? _ipTags; + + /// + /// The list of IP tags associated with the public IP address. + /// + public InputList IpTags + { + get => _ipTags ?? (_ipTags = new InputList()); + set => _ipTags = value; + } + + /// + /// The publicIP address configuration name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + /// + [Input("publicIPAddressVersion")] + public InputUnion? PublicIPAddressVersion { get; set; } + + /// + /// Specify the public IP allocation type + /// + [Input("publicIPAllocationMethod")] + public InputUnion? PublicIPAllocationMethod { get; set; } + + /// + /// The PublicIPPrefix from which to allocate publicIP addresses. + /// + [Input("publicIPPrefix")] + public Input? PublicIPPrefix { get; set; } + + /// + /// Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + /// + [Input("sku")] + public Input? Sku { get; set; } + + public VirtualMachinePublicIPAddressConfigurationArgs() + { + } + public static new VirtualMachinePublicIPAddressConfigurationArgs Empty => new VirtualMachinePublicIPAddressConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs.cs new file mode 100644 index 000000000000..78ff237ed15a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machines network configuration's DNS settings. + /// + public sealed class VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID. + /// + [Input("domainNameLabel", required: true)] + public Input DomainNameLabel { get; set; } = null!; + + /// + /// The Domain name label scope of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the hashed domain name label with policy according to the domain name label scope and vm network profile unique ID. + /// + [Input("domainNameLabelScope")] + public InputUnion? DomainNameLabelScope { get; set; } + + public VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs() + { + } + public static new VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs Empty => new VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineRunCommandScriptSourceArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineRunCommandScriptSourceArgs.cs new file mode 100644 index 000000000000..a90c99892247 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineRunCommandScriptSourceArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes the script sources for run command. Use only one of script, scriptUri, commandId. + /// + public sealed class VirtualMachineRunCommandScriptSourceArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies a commandId of predefined built-in script. + /// + [Input("commandId")] + public Input? CommandId { get; set; } + + /// + /// Specifies the script content to be executed on the VM. + /// + [Input("script")] + public Input? Script { get; set; } + + /// + /// Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. + /// + [Input("scriptUri")] + public Input? ScriptUri { get; set; } + + /// + /// User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + /// + [Input("scriptUriManagedIdentity")] + public Input? ScriptUriManagedIdentity { get; set; } + + public VirtualMachineRunCommandScriptSourceArgs() + { + } + public static new VirtualMachineRunCommandScriptSourceArgs Empty => new VirtualMachineRunCommandScriptSourceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetDataDiskArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetDataDiskArgs.cs new file mode 100644 index 000000000000..d5e538437a93 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetDataDiskArgs.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine scale set data disk. + /// + public sealed class VirtualMachineScaleSetDataDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + /// + [Input("caching")] + public Input? Caching { get; set; } + + /// + /// The create option. + /// + [Input("createOption", required: true)] + public InputUnion CreateOption { get; set; } = null!; + + /// + /// Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).<br><br> Possible values: <br><br> **Delete** If this value is used, the data disk is deleted when the VMSS Flex VM is deleted.<br><br> **Detach** If this value is used, the data disk is retained after VMSS Flex VM is deleted.<br><br> The default value is set to **Delete**. + /// + [Input("deleteOption")] + public InputUnion? DeleteOption { get; set; } + + /// + /// Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + /// + [Input("diskIOPSReadWrite")] + public Input? DiskIOPSReadWrite { get; set; } + + /// + /// Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + /// + [Input("diskMBpsReadWrite")] + public Input? DiskMBpsReadWrite { get; set; } + + /// + /// Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + /// + [Input("diskSizeGB")] + public Input? DiskSizeGB { get; set; } + + /// + /// Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + /// + [Input("lun", required: true)] + public Input Lun { get; set; } = null!; + + /// + /// The managed disk parameters. + /// + [Input("managedDisk")] + public Input? ManagedDisk { get; set; } + + /// + /// The disk name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Specifies whether writeAccelerator should be enabled or disabled on the disk. + /// + [Input("writeAcceleratorEnabled")] + public Input? WriteAcceleratorEnabled { get; set; } + + public VirtualMachineScaleSetDataDiskArgs() + { + } + public static new VirtualMachineScaleSetDataDiskArgs Empty => new VirtualMachineScaleSetDataDiskArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetExtensionArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetExtensionArgs.cs new file mode 100644 index 000000000000..af5ef3409272 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetExtensionArgs.cs @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a Virtual Machine Scale Set Extension. + /// + public sealed class VirtualMachineScaleSetExtensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + [Input("autoUpgradeMinorVersion")] + public Input? AutoUpgradeMinorVersion { get; set; } + + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + [Input("enableAutomaticUpgrade")] + public Input? EnableAutomaticUpgrade { get; set; } + + /// + /// If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + /// + [Input("forceUpdateTag")] + public Input? ForceUpdateTag { get; set; } + + /// + /// The name of the extension. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + [Input("protectedSettings")] + public Input? ProtectedSettings { get; set; } + + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + [Input("protectedSettingsFromKeyVault")] + public Input? ProtectedSettingsFromKeyVault { get; set; } + + [Input("provisionAfterExtensions")] + private InputList? _provisionAfterExtensions; + + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + public InputList ProvisionAfterExtensions + { + get => _provisionAfterExtensions ?? (_provisionAfterExtensions = new InputList()); + set => _provisionAfterExtensions = value; + } + + /// + /// The name of the extension handler publisher. + /// + [Input("publisher")] + public Input? Publisher { get; set; } + + /// + /// Json formatted public settings for the extension. + /// + [Input("settings")] + public Input? Settings { get; set; } + + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + [Input("suppressFailures")] + public Input? SuppressFailures { get; set; } + + /// + /// Specifies the type of the extension; an example is "CustomScriptExtension". + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Specifies the version of the script handler. + /// + [Input("typeHandlerVersion")] + public Input? TypeHandlerVersion { get; set; } + + public VirtualMachineScaleSetExtensionArgs() + { + } + public static new VirtualMachineScaleSetExtensionArgs Empty => new VirtualMachineScaleSetExtensionArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetExtensionProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetExtensionProfileArgs.cs new file mode 100644 index 000000000000..7ef72e348247 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetExtensionProfileArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine scale set extension profile. + /// + public sealed class VirtualMachineScaleSetExtensionProfileArgs : global::Pulumi.ResourceArgs + { + [Input("extensions")] + private InputList? _extensions; + + /// + /// The virtual machine scale set child extension resources. + /// + public InputList Extensions + { + get => _extensions ?? (_extensions = new InputList()); + set => _extensions = value; + } + + /// + /// Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + /// + [Input("extensionsTimeBudget")] + public Input? ExtensionsTimeBudget { get; set; } + + public VirtualMachineScaleSetExtensionProfileArgs() + { + } + public static new VirtualMachineScaleSetExtensionProfileArgs Empty => new VirtualMachineScaleSetExtensionProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetHardwareProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetHardwareProfileArgs.cs new file mode 100644 index 000000000000..68d85f39e9f5 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetHardwareProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies the hardware settings for the virtual machine scale set. + /// + public sealed class VirtualMachineScaleSetHardwareProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-11-01. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + /// + [Input("vmSizeProperties")] + public Input? VmSizeProperties { get; set; } + + public VirtualMachineScaleSetHardwareProfileArgs() + { + } + public static new VirtualMachineScaleSetHardwareProfileArgs Empty => new VirtualMachineScaleSetHardwareProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetIPConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetIPConfigurationArgs.cs new file mode 100644 index 000000000000..d0c9248fb0a9 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetIPConfigurationArgs.cs @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine scale set network profile's IP configuration. + /// + public sealed class VirtualMachineScaleSetIPConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("applicationGatewayBackendAddressPools")] + private InputList? _applicationGatewayBackendAddressPools; + + /// + /// Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway. + /// + public InputList ApplicationGatewayBackendAddressPools + { + get => _applicationGatewayBackendAddressPools ?? (_applicationGatewayBackendAddressPools = new InputList()); + set => _applicationGatewayBackendAddressPools = value; + } + + [Input("applicationSecurityGroups")] + private InputList? _applicationSecurityGroups; + + /// + /// Specifies an array of references to application security group. + /// + public InputList ApplicationSecurityGroups + { + get => _applicationSecurityGroups ?? (_applicationSecurityGroups = new InputList()); + set => _applicationSecurityGroups = value; + } + + [Input("loadBalancerBackendAddressPools")] + private InputList? _loadBalancerBackendAddressPools; + + /// + /// Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + /// + public InputList LoadBalancerBackendAddressPools + { + get => _loadBalancerBackendAddressPools ?? (_loadBalancerBackendAddressPools = new InputList()); + set => _loadBalancerBackendAddressPools = value; + } + + [Input("loadBalancerInboundNatPools")] + private InputList? _loadBalancerInboundNatPools; + + /// + /// Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + /// + public InputList LoadBalancerInboundNatPools + { + get => _loadBalancerInboundNatPools ?? (_loadBalancerInboundNatPools = new InputList()); + set => _loadBalancerInboundNatPools = value; + } + + /// + /// The IP configuration name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Specifies the primary network interface in case the virtual machine has more than 1 network interface. + /// + [Input("primary")] + public Input? Primary { get; set; } + + /// + /// Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + /// + [Input("privateIPAddressVersion")] + public InputUnion? PrivateIPAddressVersion { get; set; } + + /// + /// The publicIPAddressConfiguration. + /// + [Input("publicIPAddressConfiguration")] + public Input? PublicIPAddressConfiguration { get; set; } + + /// + /// Specifies the identifier of the subnet. + /// + [Input("subnet")] + public Input? Subnet { get; set; } + + public VirtualMachineScaleSetIPConfigurationArgs() + { + } + public static new VirtualMachineScaleSetIPConfigurationArgs Empty => new VirtualMachineScaleSetIPConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetIdentityArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetIdentityArgs.cs new file mode 100644 index 000000000000..764496ab9991 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetIdentityArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Identity for the virtual machine scale set. + /// + public sealed class VirtualMachineScaleSetIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set. + /// + [Input("type")] + public Input? Type { get; set; } + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } + + public VirtualMachineScaleSetIdentityArgs() + { + } + public static new VirtualMachineScaleSetIdentityArgs Empty => new VirtualMachineScaleSetIdentityArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetIpTagArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetIpTagArgs.cs new file mode 100644 index 000000000000..e8231a0ec6c5 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetIpTagArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Contains the IP tag associated with the public IP address. + /// + public sealed class VirtualMachineScaleSetIpTagArgs : global::Pulumi.ResourceArgs + { + /// + /// IP tag type. Example: FirstPartyUsage. + /// + [Input("ipTagType")] + public Input? IpTagType { get; set; } + + /// + /// IP tag associated with the public IP. Example: SQL, Storage etc. + /// + [Input("tag")] + public Input? Tag { get; set; } + + public VirtualMachineScaleSetIpTagArgs() + { + } + public static new VirtualMachineScaleSetIpTagArgs Empty => new VirtualMachineScaleSetIpTagArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetManagedDiskParametersArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetManagedDiskParametersArgs.cs new file mode 100644 index 000000000000..34b0f605fc25 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetManagedDiskParametersArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes the parameters of a ScaleSet managed disk. + /// + public sealed class VirtualMachineScaleSetManagedDiskParametersArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the customer managed disk encryption set resource id for the managed disk. + /// + [Input("diskEncryptionSet")] + public Input? DiskEncryptionSet { get; set; } + + /// + /// Specifies the security profile for the managed disk. + /// + [Input("securityProfile")] + public Input? SecurityProfile { get; set; } + + /// + /// Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + /// + [Input("storageAccountType")] + public InputUnion? StorageAccountType { get; set; } + + public VirtualMachineScaleSetManagedDiskParametersArgs() + { + } + public static new VirtualMachineScaleSetManagedDiskParametersArgs Empty => new VirtualMachineScaleSetManagedDiskParametersArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetNetworkConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetNetworkConfigurationArgs.cs new file mode 100644 index 000000000000..f2baf2457179 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetNetworkConfigurationArgs.cs @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine scale set network profile's network configurations. + /// + public sealed class VirtualMachineScaleSetNetworkConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + /// + [Input("auxiliaryMode")] + public InputUnion? AuxiliaryMode { get; set; } + + /// + /// Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + /// + [Input("auxiliarySku")] + public InputUnion? AuxiliarySku { get; set; } + + /// + /// Specify what happens to the network interface when the VM is deleted + /// + [Input("deleteOption")] + public InputUnion? DeleteOption { get; set; } + + /// + /// Specifies whether the network interface is disabled for tcp state tracking. + /// + [Input("disableTcpStateTracking")] + public Input? DisableTcpStateTracking { get; set; } + + /// + /// The dns settings to be applied on the network interfaces. + /// + [Input("dnsSettings")] + public Input? DnsSettings { get; set; } + + /// + /// Specifies whether the network interface is accelerated networking-enabled. + /// + [Input("enableAcceleratedNetworking")] + public Input? EnableAcceleratedNetworking { get; set; } + + /// + /// Specifies whether the network interface is FPGA networking-enabled. + /// + [Input("enableFpga")] + public Input? EnableFpga { get; set; } + + /// + /// Whether IP forwarding enabled on this NIC. + /// + [Input("enableIPForwarding")] + public Input? EnableIPForwarding { get; set; } + + [Input("ipConfigurations", required: true)] + private InputList? _ipConfigurations; + + /// + /// Specifies the IP configurations of the network interface. + /// + public InputList IpConfigurations + { + get => _ipConfigurations ?? (_ipConfigurations = new InputList()); + set => _ipConfigurations = value; + } + + /// + /// The network configuration name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The network security group. + /// + [Input("networkSecurityGroup")] + public Input? NetworkSecurityGroup { get; set; } + + /// + /// Specifies the primary network interface in case the virtual machine has more than 1 network interface. + /// + [Input("primary")] + public Input? Primary { get; set; } + + public VirtualMachineScaleSetNetworkConfigurationArgs() + { + } + public static new VirtualMachineScaleSetNetworkConfigurationArgs Empty => new VirtualMachineScaleSetNetworkConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs.cs new file mode 100644 index 000000000000..2db325b18e62 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machines scale sets network configuration's DNS settings. + /// + public sealed class VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs : global::Pulumi.ResourceArgs + { + [Input("dnsServers")] + private InputList? _dnsServers; + + /// + /// List of DNS servers IP addresses + /// + public InputList DnsServers + { + get => _dnsServers ?? (_dnsServers = new InputList()); + set => _dnsServers = value; + } + + public VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs() + { + } + public static new VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs Empty => new VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetNetworkProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetNetworkProfileArgs.cs new file mode 100644 index 000000000000..62ecdb6e122a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetNetworkProfileArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine scale set network profile. + /// + public sealed class VirtualMachineScaleSetNetworkProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + /// + [Input("healthProbe")] + public Input? HealthProbe { get; set; } + + /// + /// specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible' + /// + [Input("networkApiVersion")] + public InputUnion? NetworkApiVersion { get; set; } + + [Input("networkInterfaceConfigurations")] + private InputList? _networkInterfaceConfigurations; + + /// + /// The list of network configurations. + /// + public InputList NetworkInterfaceConfigurations + { + get => _networkInterfaceConfigurations ?? (_networkInterfaceConfigurations = new InputList()); + set => _networkInterfaceConfigurations = value; + } + + public VirtualMachineScaleSetNetworkProfileArgs() + { + } + public static new VirtualMachineScaleSetNetworkProfileArgs Empty => new VirtualMachineScaleSetNetworkProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetOSDiskArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetOSDiskArgs.cs new file mode 100644 index 000000000000..5a23093bcd04 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetOSDiskArgs.cs @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine scale set operating system disk. + /// + public sealed class VirtualMachineScaleSetOSDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + /// + [Input("caching")] + public Input? Caching { get; set; } + + /// + /// Specifies how the virtual machines in the scale set should be created. The only allowed value is: **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described. + /// + [Input("createOption", required: true)] + public InputUnion CreateOption { get; set; } = null!; + + /// + /// Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only). <br><br> Possible values: <br><br> **Delete** If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.<br><br> **Detach** If this value is used, the OS disk is retained after VMSS Flex VM is deleted. <br><br> The default value is set to **Delete**. For an Ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for Ephemeral OS Disk. + /// + [Input("deleteOption")] + public InputUnion? DeleteOption { get; set; } + + /// + /// Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set. + /// + [Input("diffDiskSettings")] + public Input? DiffDiskSettings { get; set; } + + /// + /// Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + /// + [Input("diskSizeGB")] + public Input? DiskSizeGB { get; set; } + + /// + /// Specifies information about the unmanaged user image to base the scale set on. + /// + [Input("image")] + public Input? Image { get; set; } + + /// + /// The managed disk parameters. + /// + [Input("managedDisk")] + public Input? ManagedDisk { get; set; } + + /// + /// The disk name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + /// + [Input("osType")] + public Input? OsType { get; set; } + + [Input("vhdContainers")] + private InputList? _vhdContainers; + + /// + /// Specifies the container urls that are used to store operating system disks for the scale set. + /// + public InputList VhdContainers + { + get => _vhdContainers ?? (_vhdContainers = new InputList()); + set => _vhdContainers = value; + } + + /// + /// Specifies whether writeAccelerator should be enabled or disabled on the disk. + /// + [Input("writeAcceleratorEnabled")] + public Input? WriteAcceleratorEnabled { get; set; } + + public VirtualMachineScaleSetOSDiskArgs() + { + } + public static new VirtualMachineScaleSetOSDiskArgs Empty => new VirtualMachineScaleSetOSDiskArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetOSProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetOSProfileArgs.cs new file mode 100644 index 000000000000..d2bc21d4b382 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetOSProfileArgs.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine scale set OS profile. + /// + public sealed class VirtualMachineScaleSetOSProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the password of the administrator account. <br><br> **Minimum-length (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\W_]) <br><br> **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" <br><br> For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp) <br><br> For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + /// + [Input("adminPassword")] + public Input? AdminPassword { get; set; } + + /// + /// Specifies the name of the administrator account. <br><br> **Windows-only restriction:** Cannot end in "." <br><br> **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length (Linux):** 64 characters <br><br> **Max-length (Windows):** 20 characters + /// + [Input("adminUsername")] + public Input? AdminUsername { get; set; } + + /// + /// Specifies whether extension operations should be allowed on the virtual machine scale set. This may only be set to False when no extensions are present on the virtual machine scale set. + /// + [Input("allowExtensionOperations")] + public Input? AllowExtensionOperations { get; set; } + + /// + /// Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long. + /// + [Input("computerNamePrefix")] + public Input? ComputerNamePrefix { get; set; } + + /// + /// Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) + /// + [Input("customData")] + public Input? CustomData { get; set; } + + /// + /// Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + /// + [Input("linuxConfiguration")] + public Input? LinuxConfiguration { get; set; } + + /// + /// Optional property which must either be set to True or omitted. + /// + [Input("requireGuestProvisionSignal")] + public Input? RequireGuestProvisionSignal { get; set; } + + [Input("secrets")] + private InputList? _secrets; + + /// + /// Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + /// + public InputList Secrets + { + get => _secrets ?? (_secrets = new InputList()); + set => _secrets = value; + } + + /// + /// Specifies Windows operating system settings on the virtual machine. + /// + [Input("windowsConfiguration")] + public Input? WindowsConfiguration { get; set; } + + public VirtualMachineScaleSetOSProfileArgs() + { + } + public static new VirtualMachineScaleSetOSProfileArgs Empty => new VirtualMachineScaleSetOSProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetPublicIPAddressConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetPublicIPAddressConfigurationArgs.cs new file mode 100644 index 000000000000..3d53f15331ab --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetPublicIPAddressConfigurationArgs.cs @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration + /// + public sealed class VirtualMachineScaleSetPublicIPAddressConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Specify what happens to the public IP when the VM is deleted + /// + [Input("deleteOption")] + public InputUnion? DeleteOption { get; set; } + + /// + /// The dns settings to be applied on the publicIP addresses . + /// + [Input("dnsSettings")] + public Input? DnsSettings { get; set; } + + /// + /// The idle timeout of the public IP address. + /// + [Input("idleTimeoutInMinutes")] + public Input? IdleTimeoutInMinutes { get; set; } + + [Input("ipTags")] + private InputList? _ipTags; + + /// + /// The list of IP tags associated with the public IP address. + /// + public InputList IpTags + { + get => _ipTags ?? (_ipTags = new InputList()); + set => _ipTags = value; + } + + /// + /// The publicIP address configuration name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + /// + [Input("publicIPAddressVersion")] + public InputUnion? PublicIPAddressVersion { get; set; } + + /// + /// The PublicIPPrefix from which to allocate publicIP addresses. + /// + [Input("publicIPPrefix")] + public Input? PublicIPPrefix { get; set; } + + /// + /// Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + /// + [Input("sku")] + public Input? Sku { get; set; } + + public VirtualMachineScaleSetPublicIPAddressConfigurationArgs() + { + } + public static new VirtualMachineScaleSetPublicIPAddressConfigurationArgs Empty => new VirtualMachineScaleSetPublicIPAddressConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs.cs new file mode 100644 index 000000000000..f5f0b1fc640a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machines scale sets network configuration's DNS settings. + /// + public sealed class VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created + /// + [Input("domainNameLabel", required: true)] + public Input DomainNameLabel { get; set; } = null!; + + /// + /// The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created + /// + [Input("domainNameLabelScope")] + public InputUnion? DomainNameLabelScope { get; set; } + + public VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs() + { + } + public static new VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs Empty => new VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetStorageProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetStorageProfileArgs.cs new file mode 100644 index 000000000000..d70f9d633b28 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetStorageProfileArgs.cs @@ -0,0 +1,55 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine scale set storage profile. + /// + public sealed class VirtualMachineScaleSetStorageProfileArgs : global::Pulumi.ResourceArgs + { + [Input("dataDisks")] + private InputList? _dataDisks; + + /// + /// Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + [Input("diskControllerType")] + private InputList>? _diskControllerType; + public InputList> DiskControllerType + { + get => _diskControllerType ?? (_diskControllerType = new InputList>()); + set => _diskControllerType = value; + } + + /// + /// Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + /// + [Input("imageReference")] + public Input? ImageReference { get; set; } + + /// + /// Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + [Input("osDisk")] + public Input? OsDisk { get; set; } + + public VirtualMachineScaleSetStorageProfileArgs() + { + } + public static new VirtualMachineScaleSetStorageProfileArgs Empty => new VirtualMachineScaleSetStorageProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetVMNetworkProfileConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetVMNetworkProfileConfigurationArgs.cs new file mode 100644 index 000000000000..1e7651279e7b --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetVMNetworkProfileConfigurationArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine scale set VM network profile. + /// + public sealed class VirtualMachineScaleSetVMNetworkProfileConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("networkInterfaceConfigurations")] + private InputList? _networkInterfaceConfigurations; + + /// + /// The list of network configurations. + /// + public InputList NetworkInterfaceConfigurations + { + get => _networkInterfaceConfigurations ?? (_networkInterfaceConfigurations = new InputList()); + set => _networkInterfaceConfigurations = value; + } + + public VirtualMachineScaleSetVMNetworkProfileConfigurationArgs() + { + } + public static new VirtualMachineScaleSetVMNetworkProfileConfigurationArgs Empty => new VirtualMachineScaleSetVMNetworkProfileConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetVMProfileArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetVMProfileArgs.cs new file mode 100644 index 000000000000..400115131050 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetVMProfileArgs.cs @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes a virtual machine scale set virtual machine profile. + /// + public sealed class VirtualMachineScaleSetVMProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the gallery applications that should be made available to the VM/VMSS + /// + [Input("applicationProfile")] + public Input? ApplicationProfile { get; set; } + + /// + /// Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01. + /// + [Input("billingProfile")] + public Input? BillingProfile { get; set; } + + /// + /// Specifies the capacity reservation related details of a scale set. Minimum api-version: 2021-04-01. + /// + [Input("capacityReservation")] + public Input? CapacityReservation { get; set; } + + /// + /// Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + /// + [Input("diagnosticsProfile")] + public Input? DiagnosticsProfile { get; set; } + + /// + /// Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + /// + [Input("evictionPolicy")] + public InputUnion? EvictionPolicy { get; set; } + + /// + /// Specifies a collection of settings for extensions installed on virtual machines in the scale set. + /// + [Input("extensionProfile")] + public Input? ExtensionProfile { get; set; } + + /// + /// Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01. + /// + [Input("hardwareProfile")] + public Input? HardwareProfile { get; set; } + + /// + /// Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 + /// + [Input("licenseType")] + public Input? LicenseType { get; set; } + + /// + /// Specifies properties of the network interfaces of the virtual machines in the scale set. + /// + [Input("networkProfile")] + public Input? NetworkProfile { get; set; } + + /// + /// Specifies the operating system settings for the virtual machines in the scale set. + /// + [Input("osProfile")] + public Input? OsProfile { get; set; } + + /// + /// Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview. + /// + [Input("priority")] + public InputUnion? Priority { get; set; } + + /// + /// Specifies Scheduled Event related configurations. + /// + [Input("scheduledEventsProfile")] + public Input? ScheduledEventsProfile { get; set; } + + /// + /// Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + /// + [Input("securityPostureReference")] + public Input? SecurityPostureReference { get; set; } + + /// + /// Specifies the Security related profile settings for the virtual machines in the scale set. + /// + [Input("securityProfile")] + public Input? SecurityProfile { get; set; } + + /// + /// Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + /// + [Input("serviceArtifactReference")] + public Input? ServiceArtifactReference { get; set; } + + /// + /// Specifies the storage settings for the virtual machine disks. + /// + [Input("storageProfile")] + public Input? StorageProfile { get; set; } + + /// + /// UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + /// + [Input("userData")] + public Input? UserData { get; set; } + + public VirtualMachineScaleSetVMProfileArgs() + { + } + public static new VirtualMachineScaleSetVMProfileArgs Empty => new VirtualMachineScaleSetVMProfileArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetVMProtectionPolicyArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetVMProtectionPolicyArgs.cs new file mode 100644 index 000000000000..e6d662337bc6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/VirtualMachineScaleSetVMProtectionPolicyArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// The protection policy of a virtual machine scale set VM. + /// + public sealed class VirtualMachineScaleSetVMProtectionPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation. + /// + [Input("protectFromScaleIn")] + public Input? ProtectFromScaleIn { get; set; } + + /// + /// Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM. + /// + [Input("protectFromScaleSetActions")] + public Input? ProtectFromScaleSetActions { get; set; } + + public VirtualMachineScaleSetVMProtectionPolicyArgs() + { + } + public static new VirtualMachineScaleSetVMProtectionPolicyArgs Empty => new VirtualMachineScaleSetVMProtectionPolicyArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/WinRMConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/WinRMConfigurationArgs.cs new file mode 100644 index 000000000000..83ff73bec656 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/WinRMConfigurationArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes Windows Remote Management configuration of the VM + /// + public sealed class WinRMConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("listeners")] + private InputList? _listeners; + + /// + /// The list of Windows Remote Management listeners + /// + public InputList Listeners + { + get => _listeners ?? (_listeners = new InputList()); + set => _listeners = value; + } + + public WinRMConfigurationArgs() + { + } + public static new WinRMConfigurationArgs Empty => new WinRMConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/WinRMListenerArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/WinRMListenerArgs.cs new file mode 100644 index 000000000000..441a844ff974 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/WinRMListenerArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Describes Protocol and thumbprint of Windows Remote Management listener + /// + public sealed class WinRMListenerArgs : global::Pulumi.ResourceArgs + { + /// + /// This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be the Base64 encoding of the following JSON Object which is encoded in UTF-8: <br><br> {<br> "data":"<Base64-encoded-certificate>",<br> "dataType":"pfx",<br> "password":"<pfx-file-password>"<br>} <br> To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + /// + [Input("certificateUrl")] + public Input? CertificateUrl { get; set; } + + /// + /// Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** + /// + [Input("protocol")] + public Input? Protocol { get; set; } + + public WinRMListenerArgs() + { + } + public static new WinRMListenerArgs Empty => new WinRMListenerArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/WindowsConfigurationArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/WindowsConfigurationArgs.cs new file mode 100644 index 000000000000..9d62bd2dc2ca --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/WindowsConfigurationArgs.cs @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies Windows operating system settings on the virtual machine. + /// + public sealed class WindowsConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("additionalUnattendContent")] + private InputList? _additionalUnattendContent; + + /// + /// Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. + /// + public InputList AdditionalUnattendContent + { + get => _additionalUnattendContent ?? (_additionalUnattendContent = new InputList()); + set => _additionalUnattendContent = value; + } + + /// + /// Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + /// + [Input("enableAutomaticUpdates")] + public Input? EnableAutomaticUpdates { get; set; } + + /// + /// Indicates whether VMAgent Platform Updates is enabled for the Windows virtual machine. Default value is false. + /// + [Input("enableVMAgentPlatformUpdates")] + public Input? EnableVMAgentPlatformUpdates { get; set; } + + /// + /// [Preview Feature] Specifies settings related to VM Guest Patching on Windows. + /// + [Input("patchSettings")] + public Input? PatchSettings { get; set; } + + /// + /// Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, it is set to true by default. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + /// + [Input("provisionVMAgent")] + public Input? ProvisionVMAgent { get; set; } + + /// + /// Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). + /// + [Input("timeZone")] + public Input? TimeZone { get; set; } + + /// + /// Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. + /// + [Input("winRM")] + public Input? WinRM { get; set; } + + public WindowsConfigurationArgs() + { + } + public static new WindowsConfigurationArgs Empty => new WindowsConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Inputs/WindowsVMGuestPatchAutomaticByPlatformSettingsArgs.cs b/sdk/dotnet/Compute/V20230701/Inputs/WindowsVMGuestPatchAutomaticByPlatformSettingsArgs.cs new file mode 100644 index 000000000000..05dbcbaa2529 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Inputs/WindowsVMGuestPatchAutomaticByPlatformSettingsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Inputs +{ + + /// + /// Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings. + /// + public sealed class WindowsVMGuestPatchAutomaticByPlatformSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Enables customer to schedule patching without accidental upgrades + /// + [Input("bypassPlatformSafetyChecksOnUserSchedule")] + public Input? BypassPlatformSafetyChecksOnUserSchedule { get; set; } + + /// + /// Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + /// + [Input("rebootSetting")] + public InputUnion? RebootSetting { get; set; } + + public WindowsVMGuestPatchAutomaticByPlatformSettingsArgs() + { + } + public static new WindowsVMGuestPatchAutomaticByPlatformSettingsArgs Empty => new WindowsVMGuestPatchAutomaticByPlatformSettingsArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/AdditionalCapabilitiesResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/AdditionalCapabilitiesResponse.cs new file mode 100644 index 000000000000..1ac49e358275 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/AdditionalCapabilitiesResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Enables or disables a capability on the virtual machine or virtual machine scale set. + /// + [OutputType] + public sealed class AdditionalCapabilitiesResponse + { + /// + /// The flag that enables or disables hibernation capability on the VM. + /// + public readonly bool? HibernationEnabled; + /// + /// The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. + /// + public readonly bool? UltraSSDEnabled; + + [OutputConstructor] + private AdditionalCapabilitiesResponse( + bool? hibernationEnabled, + + bool? ultraSSDEnabled) + { + HibernationEnabled = hibernationEnabled; + UltraSSDEnabled = ultraSSDEnabled; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/AdditionalUnattendContentResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/AdditionalUnattendContentResponse.cs new file mode 100644 index 000000000000..50d3e4279309 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/AdditionalUnattendContentResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + /// + [OutputType] + public sealed class AdditionalUnattendContentResponse + { + /// + /// The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. + /// + public readonly string? ComponentName; + /// + /// Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted. + /// + public readonly string? Content; + /// + /// The pass name. Currently, the only allowable value is OobeSystem. + /// + public readonly string? PassName; + /// + /// Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. + /// + public readonly string? SettingName; + + [OutputConstructor] + private AdditionalUnattendContentResponse( + string? componentName, + + string? content, + + string? passName, + + string? settingName) + { + ComponentName = componentName; + Content = content; + PassName = passName; + SettingName = settingName; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ApiEntityReferenceResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ApiEntityReferenceResponse.cs new file mode 100644 index 000000000000..200045629807 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ApiEntityReferenceResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The API entity reference. + /// + [OutputType] + public sealed class ApiEntityReferenceResponse + { + /// + /// The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... + /// + public readonly string? Id; + + [OutputConstructor] + private ApiEntityReferenceResponse(string? id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ApiErrorBaseResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ApiErrorBaseResponse.cs new file mode 100644 index 000000000000..9501fa206600 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ApiErrorBaseResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Api error base. + /// + [OutputType] + public sealed class ApiErrorBaseResponse + { + /// + /// The error code. + /// + public readonly string? Code; + /// + /// The error message. + /// + public readonly string? Message; + /// + /// The target of the particular error. + /// + public readonly string? Target; + + [OutputConstructor] + private ApiErrorBaseResponse( + string? code, + + string? message, + + string? target) + { + Code = code; + Message = message; + Target = target; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ApiErrorResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ApiErrorResponse.cs new file mode 100644 index 000000000000..d0264b181874 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ApiErrorResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Api error. + /// + [OutputType] + public sealed class ApiErrorResponse + { + /// + /// The error code. + /// + public readonly string? Code; + /// + /// The Api error details + /// + public readonly ImmutableArray Details; + /// + /// The Api inner error + /// + public readonly Outputs.InnerErrorResponse? Innererror; + /// + /// The error message. + /// + public readonly string? Message; + /// + /// The target of the particular error. + /// + public readonly string? Target; + + [OutputConstructor] + private ApiErrorResponse( + string? code, + + ImmutableArray details, + + Outputs.InnerErrorResponse? innererror, + + string? message, + + string? target) + { + Code = code; + Details = details; + Innererror = innererror; + Message = message; + Target = target; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ApplicationProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ApplicationProfileResponse.cs new file mode 100644 index 000000000000..c35afdacd96f --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ApplicationProfileResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Contains the list of gallery applications that should be made available to the VM/VMSS + /// + [OutputType] + public sealed class ApplicationProfileResponse + { + /// + /// Specifies the gallery applications that should be made available to the VM/VMSS + /// + public readonly ImmutableArray GalleryApplications; + + [OutputConstructor] + private ApplicationProfileResponse(ImmutableArray galleryApplications) + { + GalleryApplications = galleryApplications; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/AutomaticOSUpgradePolicyResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/AutomaticOSUpgradePolicyResponse.cs new file mode 100644 index 000000000000..81bd0b820de6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/AutomaticOSUpgradePolicyResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The configuration parameters used for performing automatic OS upgrade. + /// + [OutputType] + public sealed class AutomaticOSUpgradePolicyResponse + { + /// + /// Whether OS image rollback feature should be disabled. Default value is false. + /// + public readonly bool? DisableAutomaticRollback; + /// + /// Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true. + /// + public readonly bool? EnableAutomaticOSUpgrade; + /// + /// Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. + /// + public readonly bool? UseRollingUpgradePolicy; + + [OutputConstructor] + private AutomaticOSUpgradePolicyResponse( + bool? disableAutomaticRollback, + + bool? enableAutomaticOSUpgrade, + + bool? useRollingUpgradePolicy) + { + DisableAutomaticRollback = disableAutomaticRollback; + EnableAutomaticOSUpgrade = enableAutomaticOSUpgrade; + UseRollingUpgradePolicy = useRollingUpgradePolicy; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/AutomaticRepairsPolicyResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/AutomaticRepairsPolicyResponse.cs new file mode 100644 index 000000000000..53cf1fd136fe --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/AutomaticRepairsPolicyResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the configuration parameters for automatic repairs on the virtual machine scale set. + /// + [OutputType] + public sealed class AutomaticRepairsPolicyResponse + { + /// + /// Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false. + /// + public readonly bool? Enabled; + /// + /// The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M). + /// + public readonly string? GracePeriod; + /// + /// Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. + /// + public readonly string? RepairAction; + + [OutputConstructor] + private AutomaticRepairsPolicyResponse( + bool? enabled, + + string? gracePeriod, + + string? repairAction) + { + Enabled = enabled; + GracePeriod = gracePeriod; + RepairAction = repairAction; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/AvailablePatchSummaryResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/AvailablePatchSummaryResponse.cs new file mode 100644 index 000000000000..ef76975b9976 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/AvailablePatchSummaryResponse.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes the properties of an virtual machine instance view for available patch summary. + /// + [OutputType] + public sealed class AvailablePatchSummaryResponse + { + /// + /// The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. + /// + public readonly string AssessmentActivityId; + /// + /// The number of critical or security patches that have been detected as available and not yet installed. + /// + public readonly int CriticalAndSecurityPatchCount; + /// + /// The errors that were encountered during execution of the operation. The details array contains the list of them. + /// + public readonly Outputs.ApiErrorResponse Error; + /// + /// The UTC timestamp when the operation began. + /// + public readonly string LastModifiedTime; + /// + /// The number of all available patches excluding critical and security. + /// + public readonly int OtherPatchCount; + /// + /// The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred. + /// + public readonly bool RebootPending; + /// + /// The UTC timestamp when the operation began. + /// + public readonly string StartTime; + /// + /// The overall success or failure status of the operation. It remains "InProgress" until the operation completes. At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings." + /// + public readonly string Status; + + [OutputConstructor] + private AvailablePatchSummaryResponse( + string assessmentActivityId, + + int criticalAndSecurityPatchCount, + + Outputs.ApiErrorResponse error, + + string lastModifiedTime, + + int otherPatchCount, + + bool rebootPending, + + string startTime, + + string status) + { + AssessmentActivityId = assessmentActivityId; + CriticalAndSecurityPatchCount = criticalAndSecurityPatchCount; + Error = error; + LastModifiedTime = lastModifiedTime; + OtherPatchCount = otherPatchCount; + RebootPending = rebootPending; + StartTime = startTime; + Status = status; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/BillingProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/BillingProfileResponse.cs new file mode 100644 index 000000000000..2750763bbe88 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/BillingProfileResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the billing related details of a Azure Spot VM or VMSS. Minimum api-version: 2019-03-01. + /// + [OutputType] + public sealed class BillingProfileResponse + { + /// + /// Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. <br><br> This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. <br><br> The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. <br><br> Possible values are: <br><br> - Any decimal value greater than zero. Example: 0.01538 <br><br> -1 – indicates default price to be up-to on-demand. <br><br> You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. <br><br>Minimum api-version: 2019-03-01. + /// + public readonly double? MaxPrice; + + [OutputConstructor] + private BillingProfileResponse(double? maxPrice) + { + MaxPrice = maxPrice; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/BootDiagnosticsInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/BootDiagnosticsInstanceViewResponse.cs new file mode 100644 index 000000000000..e2b6b119d330 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/BootDiagnosticsInstanceViewResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a virtual machine boot diagnostics. + /// + [OutputType] + public sealed class BootDiagnosticsInstanceViewResponse + { + /// + /// The console screenshot blob URI. **Note:** This will **not** be set if boot diagnostics is currently enabled with managed storage. + /// + public readonly string ConsoleScreenshotBlobUri; + /// + /// The serial console log blob Uri. **Note:** This will **not** be set if boot diagnostics is currently enabled with managed storage. + /// + public readonly string SerialConsoleLogBlobUri; + /// + /// The boot diagnostics status information for the VM. **Note:** It will be set only if there are errors encountered in enabling boot diagnostics. + /// + public readonly Outputs.InstanceViewStatusResponse Status; + + [OutputConstructor] + private BootDiagnosticsInstanceViewResponse( + string consoleScreenshotBlobUri, + + string serialConsoleLogBlobUri, + + Outputs.InstanceViewStatusResponse status) + { + ConsoleScreenshotBlobUri = consoleScreenshotBlobUri; + SerialConsoleLogBlobUri = serialConsoleLogBlobUri; + Status = status; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/BootDiagnosticsResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/BootDiagnosticsResponse.cs new file mode 100644 index 000000000000..371ddbc48659 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/BootDiagnosticsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + /// + [OutputType] + public sealed class BootDiagnosticsResponse + { + /// + /// Whether boot diagnostics should be enabled on the Virtual Machine. + /// + public readonly bool? Enabled; + /// + /// Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + /// + public readonly string? StorageUri; + + [OutputConstructor] + private BootDiagnosticsResponse( + bool? enabled, + + string? storageUri) + { + Enabled = enabled; + StorageUri = storageUri; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationGroupInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationGroupInstanceViewResponse.cs new file mode 100644 index 000000000000..bb939a898a3d --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationGroupInstanceViewResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + [OutputType] + public sealed class CapacityReservationGroupInstanceViewResponse + { + /// + /// List of instance view of the capacity reservations under the capacity reservation group. + /// + public readonly ImmutableArray CapacityReservations; + + [OutputConstructor] + private CapacityReservationGroupInstanceViewResponse(ImmutableArray capacityReservations) + { + CapacityReservations = capacityReservations; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationInstanceViewResponse.cs new file mode 100644 index 000000000000..eab8c095a91a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationInstanceViewResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a capacity reservation that provides as snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations. + /// + [OutputType] + public sealed class CapacityReservationInstanceViewResponse + { + /// + /// The resource status information. + /// + public readonly ImmutableArray Statuses; + /// + /// Unutilized capacity of the capacity reservation. + /// + public readonly Outputs.CapacityReservationUtilizationResponse? UtilizationInfo; + + [OutputConstructor] + private CapacityReservationInstanceViewResponse( + ImmutableArray statuses, + + Outputs.CapacityReservationUtilizationResponse? utilizationInfo) + { + Statuses = statuses; + UtilizationInfo = utilizationInfo; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationInstanceViewWithNameResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationInstanceViewWithNameResponse.cs new file mode 100644 index 000000000000..9bfe44c97994 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationInstanceViewWithNameResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a capacity reservation that includes the name of the capacity reservation. It is used for the response to the instance view of a capacity reservation group. + /// + [OutputType] + public sealed class CapacityReservationInstanceViewWithNameResponse + { + /// + /// The name of the capacity reservation. + /// + public readonly string Name; + /// + /// The resource status information. + /// + public readonly ImmutableArray Statuses; + /// + /// Unutilized capacity of the capacity reservation. + /// + public readonly Outputs.CapacityReservationUtilizationResponse? UtilizationInfo; + + [OutputConstructor] + private CapacityReservationInstanceViewWithNameResponse( + string name, + + ImmutableArray statuses, + + Outputs.CapacityReservationUtilizationResponse? utilizationInfo) + { + Name = name; + Statuses = statuses; + UtilizationInfo = utilizationInfo; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationProfileResponse.cs new file mode 100644 index 000000000000..44f708ff84df --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationProfileResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The parameters of a capacity reservation Profile. + /// + [OutputType] + public sealed class CapacityReservationProfileResponse + { + /// + /// Specifies the capacity reservation group resource id that should be used for allocating the virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details. + /// + public readonly Outputs.SubResourceResponse? CapacityReservationGroup; + + [OutputConstructor] + private CapacityReservationProfileResponse(Outputs.SubResourceResponse? capacityReservationGroup) + { + CapacityReservationGroup = capacityReservationGroup; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationUtilizationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationUtilizationResponse.cs new file mode 100644 index 000000000000..b48dcbc3e2a0 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/CapacityReservationUtilizationResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Represents the capacity reservation utilization in terms of resources allocated. + /// + [OutputType] + public sealed class CapacityReservationUtilizationResponse + { + /// + /// The value provides the current capacity of the VM size which was reserved successfully and for which the customer is getting billed. Minimum api-version: 2022-08-01. + /// + public readonly int CurrentCapacity; + /// + /// A list of all virtual machines resource ids allocated against the capacity reservation. + /// + public readonly ImmutableArray VirtualMachinesAllocated; + + [OutputConstructor] + private CapacityReservationUtilizationResponse( + int currentCapacity, + + ImmutableArray virtualMachinesAllocated) + { + CurrentCapacity = currentCapacity; + VirtualMachinesAllocated = virtualMachinesAllocated; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DataDiskResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DataDiskResponse.cs new file mode 100644 index 000000000000..20cf3d90dbbc --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DataDiskResponse.cs @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a data disk. + /// + [OutputType] + public sealed class DataDiskResponse + { + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + /// + public readonly string? Caching; + /// + /// Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + /// + public readonly string CreateOption; + /// + /// Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the data disk is deleted when VM is deleted. **Detach.** If this value is used, the data disk is retained after VM is deleted. The default value is set to **Detach**. + /// + public readonly string? DeleteOption; + /// + /// Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + /// + public readonly string? DetachOption; + /// + /// Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set. + /// + public readonly double DiskIOPSReadWrite; + /// + /// Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set. + /// + public readonly double DiskMBpsReadWrite; + /// + /// Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + /// + public readonly int? DiskSizeGB; + /// + /// The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + /// + public readonly Outputs.VirtualHardDiskResponse? Image; + /// + /// Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + /// + public readonly int Lun; + /// + /// The managed disk parameters. + /// + public readonly Outputs.ManagedDiskParametersResponse? ManagedDisk; + /// + /// The disk name. + /// + public readonly string? Name; + /// + /// Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset + /// + public readonly bool? ToBeDetached; + /// + /// The virtual hard disk. + /// + public readonly Outputs.VirtualHardDiskResponse? Vhd; + /// + /// Specifies whether writeAccelerator should be enabled or disabled on the disk. + /// + public readonly bool? WriteAcceleratorEnabled; + + [OutputConstructor] + private DataDiskResponse( + string? caching, + + string createOption, + + string? deleteOption, + + string? detachOption, + + double diskIOPSReadWrite, + + double diskMBpsReadWrite, + + int? diskSizeGB, + + Outputs.VirtualHardDiskResponse? image, + + int lun, + + Outputs.ManagedDiskParametersResponse? managedDisk, + + string? name, + + bool? toBeDetached, + + Outputs.VirtualHardDiskResponse? vhd, + + bool? writeAcceleratorEnabled) + { + Caching = caching; + CreateOption = createOption; + DeleteOption = deleteOption; + DetachOption = detachOption; + DiskIOPSReadWrite = diskIOPSReadWrite; + DiskMBpsReadWrite = diskMBpsReadWrite; + DiskSizeGB = diskSizeGB; + Image = image; + Lun = lun; + ManagedDisk = managedDisk; + Name = name; + ToBeDetached = toBeDetached; + Vhd = vhd; + WriteAcceleratorEnabled = writeAcceleratorEnabled; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostAllocatableVMResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostAllocatableVMResponse.cs new file mode 100644 index 000000000000..719b816f950a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostAllocatableVMResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Represents the dedicated host unutilized capacity in terms of a specific VM size. + /// + [OutputType] + public sealed class DedicatedHostAllocatableVMResponse + { + /// + /// Maximum number of VMs of size vmSize that can fit in the dedicated host's remaining capacity. + /// + public readonly double? Count; + /// + /// VM size in terms of which the unutilized capacity is represented. + /// + public readonly string? VmSize; + + [OutputConstructor] + private DedicatedHostAllocatableVMResponse( + double? count, + + string? vmSize) + { + Count = count; + VmSize = vmSize; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostAvailableCapacityResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostAvailableCapacityResponse.cs new file mode 100644 index 000000000000..d85a6ca4fcb4 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostAvailableCapacityResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Dedicated host unutilized capacity. + /// + [OutputType] + public sealed class DedicatedHostAvailableCapacityResponse + { + /// + /// The unutilized capacity of the dedicated host represented in terms of each VM size that is allowed to be deployed to the dedicated host. + /// + public readonly ImmutableArray AllocatableVMs; + + [OutputConstructor] + private DedicatedHostAvailableCapacityResponse(ImmutableArray allocatableVMs) + { + AllocatableVMs = allocatableVMs; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostGroupInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostGroupInstanceViewResponse.cs new file mode 100644 index 000000000000..6343fbeb42c9 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostGroupInstanceViewResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + [OutputType] + public sealed class DedicatedHostGroupInstanceViewResponse + { + /// + /// List of instance view of the dedicated hosts under the dedicated host group. + /// + public readonly ImmutableArray Hosts; + + [OutputConstructor] + private DedicatedHostGroupInstanceViewResponse(ImmutableArray hosts) + { + Hosts = hosts; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostGroupPropertiesResponseAdditionalCapabilities.cs b/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostGroupPropertiesResponseAdditionalCapabilities.cs new file mode 100644 index 000000000000..be575b25a1c1 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostGroupPropertiesResponseAdditionalCapabilities.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + /// + [OutputType] + public sealed class DedicatedHostGroupPropertiesResponseAdditionalCapabilities + { + /// + /// The flag that enables or disables a capability to have UltraSSD Enabled Virtual Machines on Dedicated Hosts of the Dedicated Host Group. For the Virtual Machines to be UltraSSD Enabled, UltraSSDEnabled flag for the resource needs to be set true as well. The value is defaulted to 'false' when not provided. Please refer to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd for more details on Ultra SSD feature. **Note:** The ultraSSDEnabled setting can only be enabled for Host Groups that are created as zonal. Minimum api-version: 2022-03-01. + /// + public readonly bool? UltraSSDEnabled; + + [OutputConstructor] + private DedicatedHostGroupPropertiesResponseAdditionalCapabilities(bool? ultraSSDEnabled) + { + UltraSSDEnabled = ultraSSDEnabled; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostInstanceViewResponse.cs new file mode 100644 index 000000000000..e2f439a7b699 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostInstanceViewResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a dedicated host. + /// + [OutputType] + public sealed class DedicatedHostInstanceViewResponse + { + /// + /// Specifies the unique id of the dedicated physical machine on which the dedicated host resides. + /// + public readonly string AssetId; + /// + /// Unutilized capacity of the dedicated host. + /// + public readonly Outputs.DedicatedHostAvailableCapacityResponse? AvailableCapacity; + /// + /// The resource status information. + /// + public readonly ImmutableArray Statuses; + + [OutputConstructor] + private DedicatedHostInstanceViewResponse( + string assetId, + + Outputs.DedicatedHostAvailableCapacityResponse? availableCapacity, + + ImmutableArray statuses) + { + AssetId = assetId; + AvailableCapacity = availableCapacity; + Statuses = statuses; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostInstanceViewWithNameResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostInstanceViewWithNameResponse.cs new file mode 100644 index 000000000000..b78bb55663de --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DedicatedHostInstanceViewWithNameResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a dedicated host that includes the name of the dedicated host. It is used for the response to the instance view of a dedicated host group. + /// + [OutputType] + public sealed class DedicatedHostInstanceViewWithNameResponse + { + /// + /// Specifies the unique id of the dedicated physical machine on which the dedicated host resides. + /// + public readonly string AssetId; + /// + /// Unutilized capacity of the dedicated host. + /// + public readonly Outputs.DedicatedHostAvailableCapacityResponse? AvailableCapacity; + /// + /// The name of the dedicated host. + /// + public readonly string Name; + /// + /// The resource status information. + /// + public readonly ImmutableArray Statuses; + + [OutputConstructor] + private DedicatedHostInstanceViewWithNameResponse( + string assetId, + + Outputs.DedicatedHostAvailableCapacityResponse? availableCapacity, + + string name, + + ImmutableArray statuses) + { + AssetId = assetId; + AvailableCapacity = availableCapacity; + Name = name; + Statuses = statuses; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DiagnosticsProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DiagnosticsProfileResponse.cs new file mode 100644 index 000000000000..01b7afe2b22d --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DiagnosticsProfileResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + /// + [OutputType] + public sealed class DiagnosticsProfileResponse + { + /// + /// Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. **NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + /// + public readonly Outputs.BootDiagnosticsResponse? BootDiagnostics; + + [OutputConstructor] + private DiagnosticsProfileResponse(Outputs.BootDiagnosticsResponse? bootDiagnostics) + { + BootDiagnostics = bootDiagnostics; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DiffDiskSettingsResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DiffDiskSettingsResponse.cs new file mode 100644 index 000000000000..23c4ce69380e --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DiffDiskSettingsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes the parameters of ephemeral disk settings that can be specified for operating system disk. **Note:** The ephemeral disk settings can only be specified for managed disk. + /// + [OutputType] + public sealed class DiffDiskSettingsResponse + { + /// + /// Specifies the ephemeral disk settings for operating system disk. + /// + public readonly string? Option; + /// + /// Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + /// + public readonly string? Placement; + + [OutputConstructor] + private DiffDiskSettingsResponse( + string? option, + + string? placement) + { + Option = option; + Placement = placement; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DiskEncryptionSetParametersResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DiskEncryptionSetParametersResponse.cs new file mode 100644 index 000000000000..a80e3612f11d --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DiskEncryptionSetParametersResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + /// + [OutputType] + public sealed class DiskEncryptionSetParametersResponse + { + /// + /// Resource Id + /// + public readonly string? Id; + + [OutputConstructor] + private DiskEncryptionSetParametersResponse(string? id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DiskEncryptionSettingsResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DiskEncryptionSettingsResponse.cs new file mode 100644 index 000000000000..16514c42c138 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DiskEncryptionSettingsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a Encryption Settings for a Disk + /// + [OutputType] + public sealed class DiskEncryptionSettingsResponse + { + /// + /// Specifies the location of the disk encryption key, which is a Key Vault Secret. + /// + public readonly Outputs.KeyVaultSecretReferenceResponse? DiskEncryptionKey; + /// + /// Specifies whether disk encryption should be enabled on the virtual machine. + /// + public readonly bool? Enabled; + /// + /// Specifies the location of the key encryption key in Key Vault. + /// + public readonly Outputs.KeyVaultKeyReferenceResponse? KeyEncryptionKey; + + [OutputConstructor] + private DiskEncryptionSettingsResponse( + Outputs.KeyVaultSecretReferenceResponse? diskEncryptionKey, + + bool? enabled, + + Outputs.KeyVaultKeyReferenceResponse? keyEncryptionKey) + { + DiskEncryptionKey = diskEncryptionKey; + Enabled = enabled; + KeyEncryptionKey = keyEncryptionKey; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DiskInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DiskInstanceViewResponse.cs new file mode 100644 index 000000000000..862c32acd4b2 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DiskInstanceViewResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of the disk. + /// + [OutputType] + public sealed class DiskInstanceViewResponse + { + /// + /// Specifies the encryption settings for the OS Disk. <br><br> Minimum api-version: 2015-06-15 + /// + public readonly ImmutableArray EncryptionSettings; + /// + /// The disk name. + /// + public readonly string? Name; + /// + /// The resource status information. + /// + public readonly ImmutableArray Statuses; + + [OutputConstructor] + private DiskInstanceViewResponse( + ImmutableArray encryptionSettings, + + string? name, + + ImmutableArray statuses) + { + EncryptionSettings = encryptionSettings; + Name = name; + Statuses = statuses; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DiskRestorePointAttributesResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DiskRestorePointAttributesResponse.cs new file mode 100644 index 000000000000..9df20d6fe2e3 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DiskRestorePointAttributesResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Disk Restore Point details. + /// + [OutputType] + public sealed class DiskRestorePointAttributesResponse + { + /// + /// Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + /// + public readonly Outputs.RestorePointEncryptionResponse? Encryption; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// Resource Id of the source disk restore point. + /// + public readonly Outputs.ApiEntityReferenceResponse? SourceDiskRestorePoint; + + [OutputConstructor] + private DiskRestorePointAttributesResponse( + Outputs.RestorePointEncryptionResponse? encryption, + + string id, + + Outputs.ApiEntityReferenceResponse? sourceDiskRestorePoint) + { + Encryption = encryption; + Id = id; + SourceDiskRestorePoint = sourceDiskRestorePoint; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DiskRestorePointInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DiskRestorePointInstanceViewResponse.cs new file mode 100644 index 000000000000..89dad514dbb1 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DiskRestorePointInstanceViewResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a disk restore point. + /// + [OutputType] + public sealed class DiskRestorePointInstanceViewResponse + { + /// + /// Disk restore point Id. + /// + public readonly string? Id; + /// + /// The disk restore point replication status information. + /// + public readonly Outputs.DiskRestorePointReplicationStatusResponse? ReplicationStatus; + + [OutputConstructor] + private DiskRestorePointInstanceViewResponse( + string? id, + + Outputs.DiskRestorePointReplicationStatusResponse? replicationStatus) + { + Id = id; + ReplicationStatus = replicationStatus; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/DiskRestorePointReplicationStatusResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/DiskRestorePointReplicationStatusResponse.cs new file mode 100644 index 000000000000..18c92306a0a4 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/DiskRestorePointReplicationStatusResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a disk restore point. + /// + [OutputType] + public sealed class DiskRestorePointReplicationStatusResponse + { + /// + /// Replication completion percentage. + /// + public readonly int? CompletionPercent; + /// + /// The resource status information. + /// + public readonly Outputs.InstanceViewStatusResponse? Status; + + [OutputConstructor] + private DiskRestorePointReplicationStatusResponse( + int? completionPercent, + + Outputs.InstanceViewStatusResponse? status) + { + CompletionPercent = completionPercent; + Status = status; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ExtendedLocationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ExtendedLocationResponse.cs new file mode 100644 index 000000000000..f350004eff49 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ExtendedLocationResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The complex type of the extended location. + /// + [OutputType] + public sealed class ExtendedLocationResponse + { + /// + /// The name of the extended location. + /// + public readonly string? Name; + /// + /// The type of the extended location. + /// + public readonly string? Type; + + [OutputConstructor] + private ExtendedLocationResponse( + string? name, + + string? type) + { + Name = name; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/HardwareProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/HardwareProfileResponse.cs new file mode 100644 index 000000000000..48d8272fb2da --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/HardwareProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the hardware settings for the virtual machine. + /// + [OutputType] + public sealed class HardwareProfileResponse + { + /// + /// Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. + /// + public readonly string? VmSize; + /// + /// Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + /// + public readonly Outputs.VMSizePropertiesResponse? VmSizeProperties; + + [OutputConstructor] + private HardwareProfileResponse( + string? vmSize, + + Outputs.VMSizePropertiesResponse? vmSizeProperties) + { + VmSize = vmSize; + VmSizeProperties = vmSizeProperties; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ImageDataDiskResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ImageDataDiskResponse.cs new file mode 100644 index 000000000000..7f6900a944e8 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ImageDataDiskResponse.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a data disk. + /// + [OutputType] + public sealed class ImageDataDiskResponse + { + /// + /// The Virtual Hard Disk. + /// + public readonly string? BlobUri; + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + /// + public readonly string? Caching; + /// + /// Specifies the customer managed disk encryption set resource id for the managed image disk. + /// + public readonly Outputs.DiskEncryptionSetParametersResponse? DiskEncryptionSet; + /// + /// Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + /// + public readonly int? DiskSizeGB; + /// + /// Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + /// + public readonly int Lun; + /// + /// The managedDisk. + /// + public readonly Outputs.SubResourceResponse? ManagedDisk; + /// + /// The snapshot. + /// + public readonly Outputs.SubResourceResponse? Snapshot; + /// + /// Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + /// + public readonly string? StorageAccountType; + + [OutputConstructor] + private ImageDataDiskResponse( + string? blobUri, + + string? caching, + + Outputs.DiskEncryptionSetParametersResponse? diskEncryptionSet, + + int? diskSizeGB, + + int lun, + + Outputs.SubResourceResponse? managedDisk, + + Outputs.SubResourceResponse? snapshot, + + string? storageAccountType) + { + BlobUri = blobUri; + Caching = caching; + DiskEncryptionSet = diskEncryptionSet; + DiskSizeGB = diskSizeGB; + Lun = lun; + ManagedDisk = managedDisk; + Snapshot = snapshot; + StorageAccountType = storageAccountType; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ImageOSDiskResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ImageOSDiskResponse.cs new file mode 100644 index 000000000000..46311f983fdc --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ImageOSDiskResponse.cs @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes an Operating System disk. + /// + [OutputType] + public sealed class ImageOSDiskResponse + { + /// + /// The Virtual Hard Disk. + /// + public readonly string? BlobUri; + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + /// + public readonly string? Caching; + /// + /// Specifies the customer managed disk encryption set resource id for the managed image disk. + /// + public readonly Outputs.DiskEncryptionSetParametersResponse? DiskEncryptionSet; + /// + /// Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + /// + public readonly int? DiskSizeGB; + /// + /// The managedDisk. + /// + public readonly Outputs.SubResourceResponse? ManagedDisk; + /// + /// The OS State. For managed images, use Generalized. + /// + public readonly string OsState; + /// + /// This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. Possible values are: **Windows,** **Linux.** + /// + public readonly string OsType; + /// + /// The snapshot. + /// + public readonly Outputs.SubResourceResponse? Snapshot; + /// + /// Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + /// + public readonly string? StorageAccountType; + + [OutputConstructor] + private ImageOSDiskResponse( + string? blobUri, + + string? caching, + + Outputs.DiskEncryptionSetParametersResponse? diskEncryptionSet, + + int? diskSizeGB, + + Outputs.SubResourceResponse? managedDisk, + + string osState, + + string osType, + + Outputs.SubResourceResponse? snapshot, + + string? storageAccountType) + { + BlobUri = blobUri; + Caching = caching; + DiskEncryptionSet = diskEncryptionSet; + DiskSizeGB = diskSizeGB; + ManagedDisk = managedDisk; + OsState = osState; + OsType = osType; + Snapshot = snapshot; + StorageAccountType = storageAccountType; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ImageReferenceResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ImageReferenceResponse.cs new file mode 100644 index 000000000000..45a640a368bc --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ImageReferenceResponse.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set. + /// + [OutputType] + public sealed class ImageReferenceResponse + { + /// + /// Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call. + /// + public readonly string? CommunityGalleryImageId; + /// + /// Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'. + /// + public readonly string ExactVersion; + /// + /// Resource Id + /// + public readonly string? Id; + /// + /// Specifies the offer of the platform image or marketplace image used to create the virtual machine. + /// + public readonly string? Offer; + /// + /// The image publisher. + /// + public readonly string? Publisher; + /// + /// Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call. + /// + public readonly string? SharedGalleryImageId; + /// + /// The image SKU. + /// + public readonly string? Sku; + /// + /// Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input. + /// + public readonly string? Version; + + [OutputConstructor] + private ImageReferenceResponse( + string? communityGalleryImageId, + + string exactVersion, + + string? id, + + string? offer, + + string? publisher, + + string? sharedGalleryImageId, + + string? sku, + + string? version) + { + CommunityGalleryImageId = communityGalleryImageId; + ExactVersion = exactVersion; + Id = id; + Offer = offer; + Publisher = publisher; + SharedGalleryImageId = sharedGalleryImageId; + Sku = sku; + Version = version; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ImageStorageProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ImageStorageProfileResponse.cs new file mode 100644 index 000000000000..9e0246ec3a90 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ImageStorageProfileResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a storage profile. + /// + [OutputType] + public sealed class ImageStorageProfileResponse + { + /// + /// Specifies the parameters that are used to add a data disk to a virtual machine. <br><br> For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + public readonly ImmutableArray DataDisks; + /// + /// Specifies information about the operating system disk used by the virtual machine. <br><br> For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + public readonly Outputs.ImageOSDiskResponse? OsDisk; + /// + /// Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). + /// + public readonly bool? ZoneResilient; + + [OutputConstructor] + private ImageStorageProfileResponse( + ImmutableArray dataDisks, + + Outputs.ImageOSDiskResponse? osDisk, + + bool? zoneResilient) + { + DataDisks = dataDisks; + OsDisk = osDisk; + ZoneResilient = zoneResilient; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/InnerErrorResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/InnerErrorResponse.cs new file mode 100644 index 000000000000..0abe3dd8035a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/InnerErrorResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Inner error details. + /// + [OutputType] + public sealed class InnerErrorResponse + { + /// + /// The internal error message or exception dump. + /// + public readonly string? Errordetail; + /// + /// The exception type. + /// + public readonly string? Exceptiontype; + + [OutputConstructor] + private InnerErrorResponse( + string? errordetail, + + string? exceptiontype) + { + Errordetail = errordetail; + Exceptiontype = exceptiontype; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/InstanceViewStatusResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/InstanceViewStatusResponse.cs new file mode 100644 index 000000000000..9d810ff2617d --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/InstanceViewStatusResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Instance view status. + /// + [OutputType] + public sealed class InstanceViewStatusResponse + { + /// + /// The status code. + /// + public readonly string? Code; + /// + /// The short localizable label for the status. + /// + public readonly string? DisplayStatus; + /// + /// The level code. + /// + public readonly string? Level; + /// + /// The detailed status message, including for alerts and error messages. + /// + public readonly string? Message; + /// + /// The time of the status. + /// + public readonly string? Time; + + [OutputConstructor] + private InstanceViewStatusResponse( + string? code, + + string? displayStatus, + + string? level, + + string? message, + + string? time) + { + Code = code; + DisplayStatus = displayStatus; + Level = level; + Message = message; + Time = time; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/KeyVaultKeyReferenceResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/KeyVaultKeyReferenceResponse.cs new file mode 100644 index 000000000000..4da48c36655a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/KeyVaultKeyReferenceResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a reference to Key Vault Key + /// + [OutputType] + public sealed class KeyVaultKeyReferenceResponse + { + /// + /// The URL referencing a key encryption key in Key Vault. + /// + public readonly string KeyUrl; + /// + /// The relative URL of the Key Vault containing the key. + /// + public readonly Outputs.SubResourceResponse SourceVault; + + [OutputConstructor] + private KeyVaultKeyReferenceResponse( + string keyUrl, + + Outputs.SubResourceResponse sourceVault) + { + KeyUrl = keyUrl; + SourceVault = sourceVault; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/KeyVaultSecretReferenceResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/KeyVaultSecretReferenceResponse.cs new file mode 100644 index 000000000000..bcea444593d6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/KeyVaultSecretReferenceResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a reference to Key Vault Secret + /// + [OutputType] + public sealed class KeyVaultSecretReferenceResponse + { + /// + /// The URL referencing a secret in a Key Vault. + /// + public readonly string SecretUrl; + /// + /// The relative URL of the Key Vault containing the secret. + /// + public readonly Outputs.SubResourceResponse SourceVault; + + [OutputConstructor] + private KeyVaultSecretReferenceResponse( + string secretUrl, + + Outputs.SubResourceResponse sourceVault) + { + SecretUrl = secretUrl; + SourceVault = sourceVault; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/LastPatchInstallationSummaryResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/LastPatchInstallationSummaryResponse.cs new file mode 100644 index 000000000000..ebdee43f6e2a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/LastPatchInstallationSummaryResponse.cs @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes the properties of the last installed patch summary. + /// + [OutputType] + public sealed class LastPatchInstallationSummaryResponse + { + /// + /// The errors that were encountered during execution of the operation. The details array contains the list of them. + /// + public readonly Outputs.ApiErrorResponse Error; + /// + /// The number of all available patches but excluded explicitly by a customer-specified exclusion list match. + /// + public readonly int ExcludedPatchCount; + /// + /// The count of patches that failed installation. + /// + public readonly int FailedPatchCount; + /// + /// The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. + /// + public readonly string InstallationActivityId; + /// + /// The count of patches that successfully installed. + /// + public readonly int InstalledPatchCount; + /// + /// The UTC timestamp when the operation began. + /// + public readonly string LastModifiedTime; + /// + /// Describes whether the operation ran out of time before it completed all its intended actions + /// + public readonly bool MaintenanceWindowExceeded; + /// + /// The number of all available patches but not going to be installed because it didn't match a classification or inclusion list entry. + /// + public readonly int NotSelectedPatchCount; + /// + /// The number of all available patches expected to be installed over the course of the patch installation operation. + /// + public readonly int PendingPatchCount; + /// + /// The UTC timestamp when the operation began. + /// + public readonly string StartTime; + /// + /// The overall success or failure status of the operation. It remains "InProgress" until the operation completes. At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings." + /// + public readonly string Status; + + [OutputConstructor] + private LastPatchInstallationSummaryResponse( + Outputs.ApiErrorResponse error, + + int excludedPatchCount, + + int failedPatchCount, + + string installationActivityId, + + int installedPatchCount, + + string lastModifiedTime, + + bool maintenanceWindowExceeded, + + int notSelectedPatchCount, + + int pendingPatchCount, + + string startTime, + + string status) + { + Error = error; + ExcludedPatchCount = excludedPatchCount; + FailedPatchCount = failedPatchCount; + InstallationActivityId = installationActivityId; + InstalledPatchCount = installedPatchCount; + LastModifiedTime = lastModifiedTime; + MaintenanceWindowExceeded = maintenanceWindowExceeded; + NotSelectedPatchCount = notSelectedPatchCount; + PendingPatchCount = pendingPatchCount; + StartTime = startTime; + Status = status; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/LinuxConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/LinuxConfigurationResponse.cs new file mode 100644 index 000000000000..019d62fac258 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/LinuxConfigurationResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + /// + [OutputType] + public sealed class LinuxConfigurationResponse + { + /// + /// Specifies whether password authentication should be disabled. + /// + public readonly bool? DisablePasswordAuthentication; + /// + /// Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false. + /// + public readonly bool? EnableVMAgentPlatformUpdates; + /// + /// [Preview Feature] Specifies settings related to VM Guest Patching on Linux. + /// + public readonly Outputs.LinuxPatchSettingsResponse? PatchSettings; + /// + /// Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + /// + public readonly bool? ProvisionVMAgent; + /// + /// Specifies the ssh key configuration for a Linux OS. + /// + public readonly Outputs.SshConfigurationResponse? Ssh; + + [OutputConstructor] + private LinuxConfigurationResponse( + bool? disablePasswordAuthentication, + + bool? enableVMAgentPlatformUpdates, + + Outputs.LinuxPatchSettingsResponse? patchSettings, + + bool? provisionVMAgent, + + Outputs.SshConfigurationResponse? ssh) + { + DisablePasswordAuthentication = disablePasswordAuthentication; + EnableVMAgentPlatformUpdates = enableVMAgentPlatformUpdates; + PatchSettings = patchSettings; + ProvisionVMAgent = provisionVMAgent; + Ssh = ssh; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/LinuxPatchSettingsResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/LinuxPatchSettingsResponse.cs new file mode 100644 index 000000000000..2c32a9259cf4 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/LinuxPatchSettingsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies settings related to VM Guest Patching on Linux. + /// + [OutputType] + public sealed class LinuxPatchSettingsResponse + { + /// + /// Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You control the timing of patch assessments on a virtual machine. <br /><br /> **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + /// + public readonly string? AssessmentMode; + /// + /// Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux. + /// + public readonly Outputs.LinuxVMGuestPatchAutomaticByPlatformSettingsResponse? AutomaticByPlatformSettings; + /// + /// Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - The virtual machine's default patching configuration is used. <br /><br /> **AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true + /// + public readonly string? PatchMode; + + [OutputConstructor] + private LinuxPatchSettingsResponse( + string? assessmentMode, + + Outputs.LinuxVMGuestPatchAutomaticByPlatformSettingsResponse? automaticByPlatformSettings, + + string? patchMode) + { + AssessmentMode = assessmentMode; + AutomaticByPlatformSettings = automaticByPlatformSettings; + PatchMode = patchMode; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/LinuxVMGuestPatchAutomaticByPlatformSettingsResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/LinuxVMGuestPatchAutomaticByPlatformSettingsResponse.cs new file mode 100644 index 000000000000..542baf84b66b --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/LinuxVMGuestPatchAutomaticByPlatformSettingsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings. + /// + [OutputType] + public sealed class LinuxVMGuestPatchAutomaticByPlatformSettingsResponse + { + /// + /// Enables customer to schedule patching without accidental upgrades + /// + public readonly bool? BypassPlatformSafetyChecksOnUserSchedule; + /// + /// Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + /// + public readonly string? RebootSetting; + + [OutputConstructor] + private LinuxVMGuestPatchAutomaticByPlatformSettingsResponse( + bool? bypassPlatformSafetyChecksOnUserSchedule, + + string? rebootSetting) + { + BypassPlatformSafetyChecksOnUserSchedule = bypassPlatformSafetyChecksOnUserSchedule; + RebootSetting = rebootSetting; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/LogAnalyticsOutputResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/LogAnalyticsOutputResponse.cs new file mode 100644 index 000000000000..9baba381fc99 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/LogAnalyticsOutputResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// LogAnalytics output properties + /// + [OutputType] + public sealed class LogAnalyticsOutputResponse + { + /// + /// Output file Uri path to blob container. + /// + public readonly string Output; + + [OutputConstructor] + private LogAnalyticsOutputResponse(string output) + { + Output = output; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/MaintenanceRedeployStatusResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/MaintenanceRedeployStatusResponse.cs new file mode 100644 index 000000000000..d15fd0db5944 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/MaintenanceRedeployStatusResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Maintenance Operation Status. + /// + [OutputType] + public sealed class MaintenanceRedeployStatusResponse + { + /// + /// True, if customer is allowed to perform Maintenance. + /// + public readonly bool? IsCustomerInitiatedMaintenanceAllowed; + /// + /// Message returned for the last Maintenance Operation. + /// + public readonly string? LastOperationMessage; + /// + /// The Last Maintenance Operation Result Code. + /// + public readonly string? LastOperationResultCode; + /// + /// End Time for the Maintenance Window. + /// + public readonly string? MaintenanceWindowEndTime; + /// + /// Start Time for the Maintenance Window. + /// + public readonly string? MaintenanceWindowStartTime; + /// + /// End Time for the Pre Maintenance Window. + /// + public readonly string? PreMaintenanceWindowEndTime; + /// + /// Start Time for the Pre Maintenance Window. + /// + public readonly string? PreMaintenanceWindowStartTime; + + [OutputConstructor] + private MaintenanceRedeployStatusResponse( + bool? isCustomerInitiatedMaintenanceAllowed, + + string? lastOperationMessage, + + string? lastOperationResultCode, + + string? maintenanceWindowEndTime, + + string? maintenanceWindowStartTime, + + string? preMaintenanceWindowEndTime, + + string? preMaintenanceWindowStartTime) + { + IsCustomerInitiatedMaintenanceAllowed = isCustomerInitiatedMaintenanceAllowed; + LastOperationMessage = lastOperationMessage; + LastOperationResultCode = lastOperationResultCode; + MaintenanceWindowEndTime = maintenanceWindowEndTime; + MaintenanceWindowStartTime = maintenanceWindowStartTime; + PreMaintenanceWindowEndTime = preMaintenanceWindowEndTime; + PreMaintenanceWindowStartTime = preMaintenanceWindowStartTime; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ManagedDiskParametersResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ManagedDiskParametersResponse.cs new file mode 100644 index 000000000000..f44b43ba82b6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ManagedDiskParametersResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The parameters of a managed disk. + /// + [OutputType] + public sealed class ManagedDiskParametersResponse + { + /// + /// Specifies the customer managed disk encryption set resource id for the managed disk. + /// + public readonly Outputs.DiskEncryptionSetParametersResponse? DiskEncryptionSet; + /// + /// Resource Id + /// + public readonly string? Id; + /// + /// Specifies the security profile for the managed disk. + /// + public readonly Outputs.VMDiskSecurityProfileResponse? SecurityProfile; + /// + /// Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + /// + public readonly string? StorageAccountType; + + [OutputConstructor] + private ManagedDiskParametersResponse( + Outputs.DiskEncryptionSetParametersResponse? diskEncryptionSet, + + string? id, + + Outputs.VMDiskSecurityProfileResponse? securityProfile, + + string? storageAccountType) + { + DiskEncryptionSet = diskEncryptionSet; + Id = id; + SecurityProfile = securityProfile; + StorageAccountType = storageAccountType; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/NetworkInterfaceReferenceResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/NetworkInterfaceReferenceResponse.cs new file mode 100644 index 000000000000..8ccfe235792a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/NetworkInterfaceReferenceResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a network interface reference. + /// + [OutputType] + public sealed class NetworkInterfaceReferenceResponse + { + /// + /// Specify what happens to the network interface when the VM is deleted + /// + public readonly string? DeleteOption; + /// + /// Resource Id + /// + public readonly string? Id; + /// + /// Specifies the primary network interface in case the virtual machine has more than 1 network interface. + /// + public readonly bool? Primary; + + [OutputConstructor] + private NetworkInterfaceReferenceResponse( + string? deleteOption, + + string? id, + + bool? primary) + { + DeleteOption = deleteOption; + Id = id; + Primary = primary; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/NetworkProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/NetworkProfileResponse.cs new file mode 100644 index 000000000000..dc01b419a150 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/NetworkProfileResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the network interfaces or the networking configuration of the virtual machine. + /// + [OutputType] + public sealed class NetworkProfileResponse + { + /// + /// specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations + /// + public readonly string? NetworkApiVersion; + /// + /// Specifies the networking configurations that will be used to create the virtual machine networking resources. + /// + public readonly ImmutableArray NetworkInterfaceConfigurations; + /// + /// Specifies the list of resource Ids for the network interfaces associated with the virtual machine. + /// + public readonly ImmutableArray NetworkInterfaces; + + [OutputConstructor] + private NetworkProfileResponse( + string? networkApiVersion, + + ImmutableArray networkInterfaceConfigurations, + + ImmutableArray networkInterfaces) + { + NetworkApiVersion = networkApiVersion; + NetworkInterfaceConfigurations = networkInterfaceConfigurations; + NetworkInterfaces = networkInterfaces; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/OSDiskResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/OSDiskResponse.cs new file mode 100644 index 000000000000..7b47e82fc98c --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/OSDiskResponse.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + [OutputType] + public sealed class OSDiskResponse + { + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + /// + public readonly string? Caching; + /// + /// Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + /// + public readonly string CreateOption; + /// + /// Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the OS disk is deleted when VM is deleted. **Detach.** If this value is used, the os disk is retained after VM is deleted. The default value is set to **Detach**. For an ephemeral OS Disk, the default value is set to **Delete**. The user cannot change the delete option for an ephemeral OS Disk. + /// + public readonly string? DeleteOption; + /// + /// Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine. + /// + public readonly Outputs.DiffDiskSettingsResponse? DiffDiskSettings; + /// + /// Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + /// + public readonly int? DiskSizeGB; + /// + /// Specifies the encryption settings for the OS Disk. Minimum api-version: 2015-06-15. + /// + public readonly Outputs.DiskEncryptionSettingsResponse? EncryptionSettings; + /// + /// The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + /// + public readonly Outputs.VirtualHardDiskResponse? Image; + /// + /// The managed disk parameters. + /// + public readonly Outputs.ManagedDiskParametersResponse? ManagedDisk; + /// + /// The disk name. + /// + public readonly string? Name; + /// + /// This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + /// + public readonly string? OsType; + /// + /// The virtual hard disk. + /// + public readonly Outputs.VirtualHardDiskResponse? Vhd; + /// + /// Specifies whether writeAccelerator should be enabled or disabled on the disk. + /// + public readonly bool? WriteAcceleratorEnabled; + + [OutputConstructor] + private OSDiskResponse( + string? caching, + + string createOption, + + string? deleteOption, + + Outputs.DiffDiskSettingsResponse? diffDiskSettings, + + int? diskSizeGB, + + Outputs.DiskEncryptionSettingsResponse? encryptionSettings, + + Outputs.VirtualHardDiskResponse? image, + + Outputs.ManagedDiskParametersResponse? managedDisk, + + string? name, + + string? osType, + + Outputs.VirtualHardDiskResponse? vhd, + + bool? writeAcceleratorEnabled) + { + Caching = caching; + CreateOption = createOption; + DeleteOption = deleteOption; + DiffDiskSettings = diffDiskSettings; + DiskSizeGB = diskSizeGB; + EncryptionSettings = encryptionSettings; + Image = image; + ManagedDisk = managedDisk; + Name = name; + OsType = osType; + Vhd = vhd; + WriteAcceleratorEnabled = writeAcceleratorEnabled; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/OSImageNotificationProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/OSImageNotificationProfileResponse.cs new file mode 100644 index 000000000000..cedf10007448 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/OSImageNotificationProfileResponse.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + [OutputType] + public sealed class OSImageNotificationProfileResponse + { + /// + /// Specifies whether the OS Image Scheduled event is enabled or disabled. + /// + public readonly bool? Enable; + /// + /// Length of time a Virtual Machine being reimaged or having its OS upgraded will have to potentially approve the OS Image Scheduled Event before the event is auto approved (timed out). The configuration is specified in ISO 8601 format, and the value must be 15 minutes (PT15M) + /// + public readonly string? NotBeforeTimeout; + + [OutputConstructor] + private OSImageNotificationProfileResponse( + bool? enable, + + string? notBeforeTimeout) + { + Enable = enable; + NotBeforeTimeout = notBeforeTimeout; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/OSProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/OSProfileResponse.cs new file mode 100644 index 000000000000..9218009171ac --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/OSProfileResponse.cs @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned. + /// + [OutputType] + public sealed class OSProfileResponse + { + /// + /// Specifies the password of the administrator account. <br><br> **Minimum-length (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\W_]) <br><br> **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" <br><br> For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp) <br><br> For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + /// + public readonly string? AdminPassword; + /// + /// Specifies the name of the administrator account. <br><br> This property cannot be updated after the VM is created. <br><br> **Windows-only restriction:** Cannot end in "." <br><br> **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length (Linux):** 64 characters <br><br> **Max-length (Windows):** 20 characters. + /// + public readonly string? AdminUsername; + /// + /// Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine. + /// + public readonly bool? AllowExtensionOperations; + /// + /// Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters. **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules). + /// + public readonly string? ComputerName; + /// + /// Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property 'customData' is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init). + /// + public readonly string? CustomData; + /// + /// Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + /// + public readonly Outputs.LinuxConfigurationResponse? LinuxConfiguration; + /// + /// Optional property which must either be set to True or omitted. + /// + public readonly bool? RequireGuestProvisionSignal; + /// + /// Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + /// + public readonly ImmutableArray Secrets; + /// + /// Specifies Windows operating system settings on the virtual machine. + /// + public readonly Outputs.WindowsConfigurationResponse? WindowsConfiguration; + + [OutputConstructor] + private OSProfileResponse( + string? adminPassword, + + string? adminUsername, + + bool? allowExtensionOperations, + + string? computerName, + + string? customData, + + Outputs.LinuxConfigurationResponse? linuxConfiguration, + + bool? requireGuestProvisionSignal, + + ImmutableArray secrets, + + Outputs.WindowsConfigurationResponse? windowsConfiguration) + { + AdminPassword = adminPassword; + AdminUsername = adminUsername; + AllowExtensionOperations = allowExtensionOperations; + ComputerName = computerName; + CustomData = customData; + LinuxConfiguration = linuxConfiguration; + RequireGuestProvisionSignal = requireGuestProvisionSignal; + Secrets = secrets; + WindowsConfiguration = windowsConfiguration; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/PatchSettingsResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/PatchSettingsResponse.cs new file mode 100644 index 000000000000..60eed9dda4ca --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/PatchSettingsResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies settings related to VM Guest Patching on Windows. + /// + [OutputType] + public sealed class PatchSettingsResponse + { + /// + /// Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You control the timing of patch assessments on a virtual machine.<br /><br /> **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + /// + public readonly string? AssessmentMode; + /// + /// Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Windows. + /// + public readonly Outputs.WindowsVMGuestPatchAutomaticByPlatformSettingsResponse? AutomaticByPlatformSettings; + /// + /// Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + /// + public readonly bool? EnableHotpatching; + /// + /// Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false<br /><br /> **AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. <br /><br /> **AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true + /// + public readonly string? PatchMode; + + [OutputConstructor] + private PatchSettingsResponse( + string? assessmentMode, + + Outputs.WindowsVMGuestPatchAutomaticByPlatformSettingsResponse? automaticByPlatformSettings, + + bool? enableHotpatching, + + string? patchMode) + { + AssessmentMode = assessmentMode; + AutomaticByPlatformSettings = automaticByPlatformSettings; + EnableHotpatching = enableHotpatching; + PatchMode = patchMode; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/PlanResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/PlanResponse.cs new file mode 100644 index 000000000000..645a10b7168d --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/PlanResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + /// + [OutputType] + public sealed class PlanResponse + { + /// + /// The plan ID. + /// + public readonly string? Name; + /// + /// Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + /// + public readonly string? Product; + /// + /// The promotion code. + /// + public readonly string? PromotionCode; + /// + /// The publisher ID. + /// + public readonly string? Publisher; + + [OutputConstructor] + private PlanResponse( + string? name, + + string? product, + + string? promotionCode, + + string? publisher) + { + Name = name; + Product = product; + PromotionCode = promotionCode; + Publisher = publisher; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/PriorityMixPolicyResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/PriorityMixPolicyResponse.cs new file mode 100644 index 000000000000..10ce05780e85 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/PriorityMixPolicyResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the target splits for Spot and Regular priority VMs within a scale set with flexible orchestration mode. With this property the customer is able to specify the base number of regular priority VMs created as the VMSS flex instance scales out and the split between Spot and Regular priority VMs after this base target has been reached. + /// + [OutputType] + public sealed class PriorityMixPolicyResponse + { + /// + /// The base number of regular priority VMs that will be created in this scale set as it scales out. + /// + public readonly int? BaseRegularPriorityCount; + /// + /// The percentage of VM instances, after the base regular priority count has been reached, that are expected to use regular priority. + /// + public readonly int? RegularPriorityPercentageAboveBase; + + [OutputConstructor] + private PriorityMixPolicyResponse( + int? baseRegularPriorityCount, + + int? regularPriorityPercentageAboveBase) + { + BaseRegularPriorityCount = baseRegularPriorityCount; + RegularPriorityPercentageAboveBase = regularPriorityPercentageAboveBase; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ProximityPlacementGroupPropertiesResponseIntent.cs b/sdk/dotnet/Compute/V20230701/Outputs/ProximityPlacementGroupPropertiesResponseIntent.cs new file mode 100644 index 000000000000..efa2602d61b0 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ProximityPlacementGroupPropertiesResponseIntent.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the user intent of the proximity placement group. + /// + [OutputType] + public sealed class ProximityPlacementGroupPropertiesResponseIntent + { + /// + /// Specifies possible sizes of virtual machines that can be created in the proximity placement group. + /// + public readonly ImmutableArray VmSizes; + + [OutputConstructor] + private ProximityPlacementGroupPropertiesResponseIntent(ImmutableArray vmSizes) + { + VmSizes = vmSizes; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/PublicIPAddressSkuResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/PublicIPAddressSkuResponse.cs new file mode 100644 index 000000000000..2254b41c1d0a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/PublicIPAddressSkuResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + /// + [OutputType] + public sealed class PublicIPAddressSkuResponse + { + /// + /// Specify public IP sku name + /// + public readonly string? Name; + /// + /// Specify public IP sku tier + /// + public readonly string? Tier; + + [OutputConstructor] + private PublicIPAddressSkuResponse( + string? name, + + string? tier) + { + Name = name; + Tier = tier; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/RestorePointCollectionSourcePropertiesResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointCollectionSourcePropertiesResponse.cs new file mode 100644 index 000000000000..e519c3ee99a9 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointCollectionSourcePropertiesResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The properties of the source resource that this restore point collection is created from. + /// + [OutputType] + public sealed class RestorePointCollectionSourcePropertiesResponse + { + /// + /// Resource Id of the source resource used to create this restore point collection + /// + public readonly string? Id; + /// + /// Location of the source resource used to create this restore point collection. + /// + public readonly string Location; + + [OutputConstructor] + private RestorePointCollectionSourcePropertiesResponse( + string? id, + + string location) + { + Id = id; + Location = location; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/RestorePointEncryptionResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointEncryptionResponse.cs new file mode 100644 index 000000000000..8d064550518a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointEncryptionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + /// + [OutputType] + public sealed class RestorePointEncryptionResponse + { + /// + /// Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + /// + public readonly Outputs.DiskEncryptionSetParametersResponse? DiskEncryptionSet; + /// + /// The type of key used to encrypt the data of the disk restore point. + /// + public readonly string? Type; + + [OutputConstructor] + private RestorePointEncryptionResponse( + Outputs.DiskEncryptionSetParametersResponse? diskEncryptionSet, + + string? type) + { + DiskEncryptionSet = diskEncryptionSet; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/RestorePointInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointInstanceViewResponse.cs new file mode 100644 index 000000000000..7b77aa7403b8 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointInstanceViewResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a restore point. + /// + [OutputType] + public sealed class RestorePointInstanceViewResponse + { + /// + /// The disk restore points information. + /// + public readonly ImmutableArray DiskRestorePoints; + /// + /// The resource status information. + /// + public readonly ImmutableArray Statuses; + + [OutputConstructor] + private RestorePointInstanceViewResponse( + ImmutableArray diskRestorePoints, + + ImmutableArray statuses) + { + DiskRestorePoints = diskRestorePoints; + Statuses = statuses; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/RestorePointResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointResponse.cs new file mode 100644 index 000000000000..1146c3240f4b --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointResponse.cs @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Restore Point details. + /// + [OutputType] + public sealed class RestorePointResponse + { + /// + /// ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + /// + public readonly string? ConsistencyMode; + /// + /// List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + /// + public readonly ImmutableArray ExcludeDisks; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The restore point instance view. + /// + public readonly Outputs.RestorePointInstanceViewResponse InstanceView; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Gets the provisioning state of the restore point. + /// + public readonly string ProvisioningState; + /// + /// Gets the details of the VM captured at the time of the restore point creation. + /// + public readonly Outputs.RestorePointSourceMetadataResponse? SourceMetadata; + /// + /// Resource Id of the source restore point from which a copy needs to be created. + /// + public readonly Outputs.ApiEntityReferenceResponse? SourceRestorePoint; + /// + /// Gets the creation time of the restore point. + /// + public readonly string? TimeCreated; + /// + /// Resource type + /// + public readonly string Type; + + [OutputConstructor] + private RestorePointResponse( + string? consistencyMode, + + ImmutableArray excludeDisks, + + string id, + + Outputs.RestorePointInstanceViewResponse instanceView, + + string name, + + string provisioningState, + + Outputs.RestorePointSourceMetadataResponse? sourceMetadata, + + Outputs.ApiEntityReferenceResponse? sourceRestorePoint, + + string? timeCreated, + + string type) + { + ConsistencyMode = consistencyMode; + ExcludeDisks = excludeDisks; + Id = id; + InstanceView = instanceView; + Name = name; + ProvisioningState = provisioningState; + SourceMetadata = sourceMetadata; + SourceRestorePoint = sourceRestorePoint; + TimeCreated = timeCreated; + Type = type; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/RestorePointSourceMetadataResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointSourceMetadataResponse.cs new file mode 100644 index 000000000000..abb6827f15cb --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointSourceMetadataResponse.cs @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes the properties of the Virtual Machine for which the restore point was created. The properties provided are a subset and the snapshot of the overall Virtual Machine properties captured at the time of the restore point creation. + /// + [OutputType] + public sealed class RestorePointSourceMetadataResponse + { + /// + /// Gets the diagnostics profile. + /// + public readonly Outputs.DiagnosticsProfileResponse DiagnosticsProfile; + /// + /// Gets the hardware profile. + /// + public readonly Outputs.HardwareProfileResponse HardwareProfile; + /// + /// HyperVGeneration of the source VM for which restore point is captured. + /// + public readonly string HyperVGeneration; + /// + /// Gets the license type, which is for bring your own license scenario. + /// + public readonly string LicenseType; + /// + /// Location of the VM from which the restore point was created. + /// + public readonly string Location; + /// + /// Gets the OS profile. + /// + public readonly Outputs.OSProfileResponse OsProfile; + /// + /// Gets the security profile. + /// + public readonly Outputs.SecurityProfileResponse SecurityProfile; + /// + /// Gets the storage profile. + /// + public readonly Outputs.RestorePointSourceVMStorageProfileResponse? StorageProfile; + /// + /// UserData associated with the source VM for which restore point is captured, which is a base-64 encoded value. + /// + public readonly string UserData; + /// + /// Gets the virtual machine unique id. + /// + public readonly string VmId; + + [OutputConstructor] + private RestorePointSourceMetadataResponse( + Outputs.DiagnosticsProfileResponse diagnosticsProfile, + + Outputs.HardwareProfileResponse hardwareProfile, + + string hyperVGeneration, + + string licenseType, + + string location, + + Outputs.OSProfileResponse osProfile, + + Outputs.SecurityProfileResponse securityProfile, + + Outputs.RestorePointSourceVMStorageProfileResponse? storageProfile, + + string userData, + + string vmId) + { + DiagnosticsProfile = diagnosticsProfile; + HardwareProfile = hardwareProfile; + HyperVGeneration = hyperVGeneration; + LicenseType = licenseType; + Location = location; + OsProfile = osProfile; + SecurityProfile = securityProfile; + StorageProfile = storageProfile; + UserData = userData; + VmId = vmId; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/RestorePointSourceVMDataDiskResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointSourceVMDataDiskResponse.cs new file mode 100644 index 000000000000..d5a4b40722c6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointSourceVMDataDiskResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a data disk. + /// + [OutputType] + public sealed class RestorePointSourceVMDataDiskResponse + { + /// + /// Gets the caching type. + /// + public readonly string Caching; + /// + /// Contains Disk Restore Point properties. + /// + public readonly Outputs.DiskRestorePointAttributesResponse? DiskRestorePoint; + /// + /// Gets the initial disk size in GB for blank data disks, and the new desired size for existing OS and Data disks. + /// + public readonly int DiskSizeGB; + /// + /// Gets the logical unit number. + /// + public readonly int Lun; + /// + /// Contains the managed disk details. + /// + public readonly Outputs.ManagedDiskParametersResponse? ManagedDisk; + /// + /// Gets the disk name. + /// + public readonly string Name; + /// + /// Shows true if the disk is write-accelerator enabled. + /// + public readonly bool WriteAcceleratorEnabled; + + [OutputConstructor] + private RestorePointSourceVMDataDiskResponse( + string caching, + + Outputs.DiskRestorePointAttributesResponse? diskRestorePoint, + + int diskSizeGB, + + int lun, + + Outputs.ManagedDiskParametersResponse? managedDisk, + + string name, + + bool writeAcceleratorEnabled) + { + Caching = caching; + DiskRestorePoint = diskRestorePoint; + DiskSizeGB = diskSizeGB; + Lun = lun; + ManagedDisk = managedDisk; + Name = name; + WriteAcceleratorEnabled = writeAcceleratorEnabled; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/RestorePointSourceVMOSDiskResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointSourceVMOSDiskResponse.cs new file mode 100644 index 000000000000..169329abeeb8 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointSourceVMOSDiskResponse.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes an Operating System disk. + /// + [OutputType] + public sealed class RestorePointSourceVMOSDiskResponse + { + /// + /// Gets the caching type. + /// + public readonly string Caching; + /// + /// Contains Disk Restore Point properties. + /// + public readonly Outputs.DiskRestorePointAttributesResponse? DiskRestorePoint; + /// + /// Gets the disk size in GB. + /// + public readonly int DiskSizeGB; + /// + /// Gets the disk encryption settings. + /// + public readonly Outputs.DiskEncryptionSettingsResponse EncryptionSettings; + /// + /// Gets the managed disk details + /// + public readonly Outputs.ManagedDiskParametersResponse? ManagedDisk; + /// + /// Gets the disk name. + /// + public readonly string Name; + /// + /// Gets the Operating System type. + /// + public readonly string OsType; + /// + /// Shows true if the disk is write-accelerator enabled. + /// + public readonly bool WriteAcceleratorEnabled; + + [OutputConstructor] + private RestorePointSourceVMOSDiskResponse( + string caching, + + Outputs.DiskRestorePointAttributesResponse? diskRestorePoint, + + int diskSizeGB, + + Outputs.DiskEncryptionSettingsResponse encryptionSettings, + + Outputs.ManagedDiskParametersResponse? managedDisk, + + string name, + + string osType, + + bool writeAcceleratorEnabled) + { + Caching = caching; + DiskRestorePoint = diskRestorePoint; + DiskSizeGB = diskSizeGB; + EncryptionSettings = encryptionSettings; + ManagedDisk = managedDisk; + Name = name; + OsType = osType; + WriteAcceleratorEnabled = writeAcceleratorEnabled; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/RestorePointSourceVMStorageProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointSourceVMStorageProfileResponse.cs new file mode 100644 index 000000000000..823361cdaac3 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/RestorePointSourceVMStorageProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes the storage profile. + /// + [OutputType] + public sealed class RestorePointSourceVMStorageProfileResponse + { + /// + /// Gets the data disks of the VM captured at the time of the restore point creation. + /// + public readonly ImmutableArray DataDisks; + /// + /// Gets the OS disk of the VM captured at the time of the restore point creation. + /// + public readonly Outputs.RestorePointSourceVMOSDiskResponse? OsDisk; + + [OutputConstructor] + private RestorePointSourceVMStorageProfileResponse( + ImmutableArray dataDisks, + + Outputs.RestorePointSourceVMOSDiskResponse? osDisk) + { + DataDisks = dataDisks; + OsDisk = osDisk; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/RollingUpgradePolicyResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/RollingUpgradePolicyResponse.cs new file mode 100644 index 000000000000..29fc37512a18 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/RollingUpgradePolicyResponse.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The configuration parameters used while performing a rolling upgrade. + /// + [OutputType] + public sealed class RollingUpgradePolicyResponse + { + /// + /// Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size. + /// + public readonly bool? EnableCrossZoneUpgrade; + /// + /// The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. + /// + public readonly int? MaxBatchInstancePercent; + /// + /// Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. + /// + public readonly bool? MaxSurge; + /// + /// The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%. + /// + public readonly int? MaxUnhealthyInstancePercent; + /// + /// The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%. + /// + public readonly int? MaxUnhealthyUpgradedInstancePercent; + /// + /// The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). + /// + public readonly string? PauseTimeBetweenBatches; + /// + /// Upgrade all unhealthy instances in a scale set before any healthy instances. + /// + public readonly bool? PrioritizeUnhealthyInstances; + /// + /// Rollback failed instances to previous model if the Rolling Upgrade policy is violated. + /// + public readonly bool? RollbackFailedInstancesOnPolicyBreach; + + [OutputConstructor] + private RollingUpgradePolicyResponse( + bool? enableCrossZoneUpgrade, + + int? maxBatchInstancePercent, + + bool? maxSurge, + + int? maxUnhealthyInstancePercent, + + int? maxUnhealthyUpgradedInstancePercent, + + string? pauseTimeBetweenBatches, + + bool? prioritizeUnhealthyInstances, + + bool? rollbackFailedInstancesOnPolicyBreach) + { + EnableCrossZoneUpgrade = enableCrossZoneUpgrade; + MaxBatchInstancePercent = maxBatchInstancePercent; + MaxSurge = maxSurge; + MaxUnhealthyInstancePercent = maxUnhealthyInstancePercent; + MaxUnhealthyUpgradedInstancePercent = maxUnhealthyUpgradedInstancePercent; + PauseTimeBetweenBatches = pauseTimeBetweenBatches; + PrioritizeUnhealthyInstances = prioritizeUnhealthyInstances; + RollbackFailedInstancesOnPolicyBreach = rollbackFailedInstancesOnPolicyBreach; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/RunCommandInputParameterResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/RunCommandInputParameterResponse.cs new file mode 100644 index 000000000000..25cc85a42a09 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/RunCommandInputParameterResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes the properties of a run command parameter. + /// + [OutputType] + public sealed class RunCommandInputParameterResponse + { + /// + /// The run command parameter name. + /// + public readonly string Name; + /// + /// The run command parameter value. + /// + public readonly string Value; + + [OutputConstructor] + private RunCommandInputParameterResponse( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/RunCommandManagedIdentityResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/RunCommandManagedIdentityResponse.cs new file mode 100644 index 000000000000..61c9d1b37980 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/RunCommandManagedIdentityResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + /// + [OutputType] + public sealed class RunCommandManagedIdentityResponse + { + /// + /// Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. + /// + public readonly string? ClientId; + /// + /// Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. + /// + public readonly string? ObjectId; + + [OutputConstructor] + private RunCommandManagedIdentityResponse( + string? clientId, + + string? objectId) + { + ClientId = clientId; + ObjectId = objectId; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ScaleInPolicyResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ScaleInPolicyResponse.cs new file mode 100644 index 000000000000..4017ccdbd1aa --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ScaleInPolicyResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a scale-in policy for a virtual machine scale set. + /// + [OutputType] + public sealed class ScaleInPolicyResponse + { + /// + /// This property allows you to specify if virtual machines chosen for removal have to be force deleted when a virtual machine scale set is being scaled-in.(Feature in Preview) + /// + public readonly bool? ForceDeletion; + /// + /// The rules to be followed when scaling-in a virtual machine scale set. <br><br> Possible values are: <br><br> **Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. <br><br> **OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. <br><br> **NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal. <br><br> + /// + public readonly ImmutableArray Rules; + + [OutputConstructor] + private ScaleInPolicyResponse( + bool? forceDeletion, + + ImmutableArray rules) + { + ForceDeletion = forceDeletion; + Rules = rules; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ScheduledEventsProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ScheduledEventsProfileResponse.cs new file mode 100644 index 000000000000..b8c2dc7e86a0 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ScheduledEventsProfileResponse.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + [OutputType] + public sealed class ScheduledEventsProfileResponse + { + /// + /// Specifies OS Image Scheduled Event related configurations. + /// + public readonly Outputs.OSImageNotificationProfileResponse? OsImageNotificationProfile; + /// + /// Specifies Terminate Scheduled Event related configurations. + /// + public readonly Outputs.TerminateNotificationProfileResponse? TerminateNotificationProfile; + + [OutputConstructor] + private ScheduledEventsProfileResponse( + Outputs.OSImageNotificationProfileResponse? osImageNotificationProfile, + + Outputs.TerminateNotificationProfileResponse? terminateNotificationProfile) + { + OsImageNotificationProfile = osImageNotificationProfile; + TerminateNotificationProfile = terminateNotificationProfile; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/SecurityPostureReferenceResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/SecurityPostureReferenceResponse.cs new file mode 100644 index 000000000000..39aca28f6f55 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/SecurityPostureReferenceResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + /// + [OutputType] + public sealed class SecurityPostureReferenceResponse + { + /// + /// List of virtual machine extensions to exclude when applying the Security Posture. + /// + public readonly ImmutableArray ExcludeExtensions; + /// + /// The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest + /// + public readonly string? Id; + + [OutputConstructor] + private SecurityPostureReferenceResponse( + ImmutableArray excludeExtensions, + + string? id) + { + ExcludeExtensions = excludeExtensions; + Id = id; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/SecurityProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/SecurityProfileResponse.cs new file mode 100644 index 000000000000..2bc2f0860815 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/SecurityProfileResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the Security profile settings for the virtual machine or virtual machine scale set. + /// + [OutputType] + public sealed class SecurityProfileResponse + { + /// + /// This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. The default behavior is: The Encryption at host will be disabled unless this property is set to true for the resource. + /// + public readonly bool? EncryptionAtHost; + /// + /// Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set. + /// + public readonly string? SecurityType; + /// + /// Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + /// + public readonly Outputs.UefiSettingsResponse? UefiSettings; + + [OutputConstructor] + private SecurityProfileResponse( + bool? encryptionAtHost, + + string? securityType, + + Outputs.UefiSettingsResponse? uefiSettings) + { + EncryptionAtHost = encryptionAtHost; + SecurityType = securityType; + UefiSettings = uefiSettings; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/ServiceArtifactReferenceResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/ServiceArtifactReferenceResponse.cs new file mode 100644 index 000000000000..68e620a39868 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/ServiceArtifactReferenceResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + /// + [OutputType] + public sealed class ServiceArtifactReferenceResponse + { + /// + /// The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} + /// + public readonly string? Id; + + [OutputConstructor] + private ServiceArtifactReferenceResponse(string? id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/SkuResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/SkuResponse.cs new file mode 100644 index 000000000000..cc62d8a5c625 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/SkuResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + /// + [OutputType] + public sealed class SkuResponse + { + /// + /// Specifies the number of virtual machines in the scale set. + /// + public readonly double? Capacity; + /// + /// The sku name. + /// + public readonly string? Name; + /// + /// Specifies the tier of virtual machines in a scale set.<br /><br /> Possible Values:<br /><br /> **Standard**<br /><br /> **Basic** + /// + public readonly string? Tier; + + [OutputConstructor] + private SkuResponse( + double? capacity, + + string? name, + + string? tier) + { + Capacity = capacity; + Name = name; + Tier = tier; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/SpotRestorePolicyResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/SpotRestorePolicyResponse.cs new file mode 100644 index 000000000000..a6aa0e717a5b --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/SpotRestorePolicyResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the Spot-Try-Restore properties for the virtual machine scale set. With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint. + /// + [OutputType] + public sealed class SpotRestorePolicyResponse + { + /// + /// Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints + /// + public readonly bool? Enabled; + /// + /// Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances + /// + public readonly string? RestoreTimeout; + + [OutputConstructor] + private SpotRestorePolicyResponse( + bool? enabled, + + string? restoreTimeout) + { + Enabled = enabled; + RestoreTimeout = restoreTimeout; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/SshConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/SshConfigurationResponse.cs new file mode 100644 index 000000000000..dbef7bbd30a1 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/SshConfigurationResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// SSH configuration for Linux based VMs running on Azure + /// + [OutputType] + public sealed class SshConfigurationResponse + { + /// + /// The list of SSH public keys used to authenticate with linux based VMs. + /// + public readonly ImmutableArray PublicKeys; + + [OutputConstructor] + private SshConfigurationResponse(ImmutableArray publicKeys) + { + PublicKeys = publicKeys; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/SshPublicKeyResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/SshPublicKeyResponse.cs new file mode 100644 index 000000000000..d9348ea449d3 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/SshPublicKeyResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + /// + [OutputType] + public sealed class SshPublicKeyResponse + { + /// + /// SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + /// + public readonly string? KeyData; + /// + /// Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + /// + public readonly string? Path; + + [OutputConstructor] + private SshPublicKeyResponse( + string? keyData, + + string? path) + { + KeyData = keyData; + Path = path; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/StorageProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/StorageProfileResponse.cs new file mode 100644 index 000000000000..388338e4fb29 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/StorageProfileResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the storage settings for the virtual machine disks. + /// + [OutputType] + public sealed class StorageProfileResponse + { + /// + /// Specifies the parameters that are used to add a data disk to a virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + public readonly ImmutableArray DataDisks; + /// + /// Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01. + /// + public readonly string? DiskControllerType; + /// + /// Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + /// + public readonly Outputs.ImageReferenceResponse? ImageReference; + /// + /// Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + public readonly Outputs.OSDiskResponse? OsDisk; + + [OutputConstructor] + private StorageProfileResponse( + ImmutableArray dataDisks, + + string? diskControllerType, + + Outputs.ImageReferenceResponse? imageReference, + + Outputs.OSDiskResponse? osDisk) + { + DataDisks = dataDisks; + DiskControllerType = diskControllerType; + ImageReference = imageReference; + OsDisk = osDisk; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/SubResourceReadOnlyResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/SubResourceReadOnlyResponse.cs new file mode 100644 index 000000000000..ea4fe41b9753 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/SubResourceReadOnlyResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + [OutputType] + public sealed class SubResourceReadOnlyResponse + { + /// + /// Resource Id + /// + public readonly string Id; + + [OutputConstructor] + private SubResourceReadOnlyResponse(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/SubResourceResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/SubResourceResponse.cs new file mode 100644 index 000000000000..4e7fa4f6b2fd --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/SubResourceResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + [OutputType] + public sealed class SubResourceResponse + { + /// + /// Resource Id + /// + public readonly string? Id; + + [OutputConstructor] + private SubResourceResponse(string? id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/SubResourceWithColocationStatusResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/SubResourceWithColocationStatusResponse.cs new file mode 100644 index 000000000000..61bb726fa804 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/SubResourceWithColocationStatusResponse.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + [OutputType] + public sealed class SubResourceWithColocationStatusResponse + { + /// + /// Describes colocation status of a resource in the Proximity Placement Group. + /// + public readonly Outputs.InstanceViewStatusResponse? ColocationStatus; + /// + /// Resource Id + /// + public readonly string? Id; + + [OutputConstructor] + private SubResourceWithColocationStatusResponse( + Outputs.InstanceViewStatusResponse? colocationStatus, + + string? id) + { + ColocationStatus = colocationStatus; + Id = id; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/TerminateNotificationProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/TerminateNotificationProfileResponse.cs new file mode 100644 index 000000000000..ebd44bce1519 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/TerminateNotificationProfileResponse.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + [OutputType] + public sealed class TerminateNotificationProfileResponse + { + /// + /// Specifies whether the Terminate Scheduled event is enabled or disabled. + /// + public readonly bool? Enable; + /// + /// Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M) + /// + public readonly string? NotBeforeTimeout; + + [OutputConstructor] + private TerminateNotificationProfileResponse( + bool? enable, + + string? notBeforeTimeout) + { + Enable = enable; + NotBeforeTimeout = notBeforeTimeout; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/UefiSettingsResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/UefiSettingsResponse.cs new file mode 100644 index 000000000000..e022a84600e9 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/UefiSettingsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + /// + [OutputType] + public sealed class UefiSettingsResponse + { + /// + /// Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + /// + public readonly bool? SecureBootEnabled; + /// + /// Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + /// + public readonly bool? VTpmEnabled; + + [OutputConstructor] + private UefiSettingsResponse( + bool? secureBootEnabled, + + bool? vTpmEnabled) + { + SecureBootEnabled = secureBootEnabled; + VTpmEnabled = vTpmEnabled; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/UpgradePolicyResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/UpgradePolicyResponse.cs new file mode 100644 index 000000000000..123a61d426c2 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/UpgradePolicyResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes an upgrade policy - automatic, manual, or rolling. + /// + [OutputType] + public sealed class UpgradePolicyResponse + { + /// + /// Configuration parameters used for performing automatic OS Upgrade. + /// + public readonly Outputs.AutomaticOSUpgradePolicyResponse? AutomaticOSUpgradePolicy; + /// + /// Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time. + /// + public readonly string? Mode; + /// + /// The configuration parameters used while performing a rolling upgrade. + /// + public readonly Outputs.RollingUpgradePolicyResponse? RollingUpgradePolicy; + + [OutputConstructor] + private UpgradePolicyResponse( + Outputs.AutomaticOSUpgradePolicyResponse? automaticOSUpgradePolicy, + + string? mode, + + Outputs.RollingUpgradePolicyResponse? rollingUpgradePolicy) + { + AutomaticOSUpgradePolicy = automaticOSUpgradePolicy; + Mode = mode; + RollingUpgradePolicy = rollingUpgradePolicy; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/UserAssignedIdentitiesResponseUserAssignedIdentities.cs b/sdk/dotnet/Compute/V20230701/Outputs/UserAssignedIdentitiesResponseUserAssignedIdentities.cs new file mode 100644 index 000000000000..eb5f6612f465 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/UserAssignedIdentitiesResponseUserAssignedIdentities.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + [OutputType] + public sealed class UserAssignedIdentitiesResponseUserAssignedIdentities + { + /// + /// The client id of user assigned identity. + /// + public readonly string ClientId; + /// + /// The principal id of user assigned identity. + /// + public readonly string PrincipalId; + + [OutputConstructor] + private UserAssignedIdentitiesResponseUserAssignedIdentities( + string clientId, + + string principalId) + { + ClientId = clientId; + PrincipalId = principalId; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VMDiskSecurityProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VMDiskSecurityProfileResponse.cs new file mode 100644 index 000000000000..059d1184b0d9 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VMDiskSecurityProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the security profile settings for the managed disk. **Note:** It can only be set for Confidential VMs. + /// + [OutputType] + public sealed class VMDiskSecurityProfileResponse + { + /// + /// Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + /// + public readonly Outputs.DiskEncryptionSetParametersResponse? DiskEncryptionSet; + /// + /// Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs. + /// + public readonly string? SecurityEncryptionType; + + [OutputConstructor] + private VMDiskSecurityProfileResponse( + Outputs.DiskEncryptionSetParametersResponse? diskEncryptionSet, + + string? securityEncryptionType) + { + DiskEncryptionSet = diskEncryptionSet; + SecurityEncryptionType = securityEncryptionType; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VMGalleryApplicationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VMGalleryApplicationResponse.cs new file mode 100644 index 000000000000..486eaf0789fb --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VMGalleryApplicationResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the required information to reference a compute gallery application version + /// + [OutputType] + public sealed class VMGalleryApplicationResponse + { + /// + /// Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided + /// + public readonly string? ConfigurationReference; + /// + /// If set to true, when a new Gallery Application version is available in PIR/SIG, it will be automatically updated for the VM/VMSS + /// + public readonly bool? EnableAutomaticUpgrade; + /// + /// Optional, Specifies the order in which the packages have to be installed + /// + public readonly int? Order; + /// + /// Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + /// + public readonly string PackageReferenceId; + /// + /// Optional, Specifies a passthrough value for more generic context. + /// + public readonly string? Tags; + /// + /// Optional, If true, any failure for any operation in the VmApplication will fail the deployment + /// + public readonly bool? TreatFailureAsDeploymentFailure; + + [OutputConstructor] + private VMGalleryApplicationResponse( + string? configurationReference, + + bool? enableAutomaticUpgrade, + + int? order, + + string packageReferenceId, + + string? tags, + + bool? treatFailureAsDeploymentFailure) + { + ConfigurationReference = configurationReference; + EnableAutomaticUpgrade = enableAutomaticUpgrade; + Order = order; + PackageReferenceId = packageReferenceId; + Tags = tags; + TreatFailureAsDeploymentFailure = treatFailureAsDeploymentFailure; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VMSizePropertiesResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VMSizePropertiesResponse.cs new file mode 100644 index 000000000000..4fecff256622 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VMSizePropertiesResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies VM Size Property settings on the virtual machine. + /// + [OutputType] + public sealed class VMSizePropertiesResponse + { + /// + /// Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). + /// + public readonly int? VCPUsAvailable; + /// + /// Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.** + /// + public readonly int? VCPUsPerCore; + + [OutputConstructor] + private VMSizePropertiesResponse( + int? vCPUsAvailable, + + int? vCPUsPerCore) + { + VCPUsAvailable = vCPUsAvailable; + VCPUsPerCore = vCPUsPerCore; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VaultCertificateResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VaultCertificateResponse.cs new file mode 100644 index 000000000000..66c971f88e70 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VaultCertificateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + /// + [OutputType] + public sealed class VaultCertificateResponse + { + /// + /// For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name &lt;UppercaseThumbprint&gt;.crt for the X509 certificate file and &lt;UppercaseThumbprint&gt;.prv for private key. Both of these files are .pem formatted. + /// + public readonly string? CertificateStore; + /// + /// This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: <br><br> {<br> "data":"<Base64-encoded-certificate>",<br> "dataType":"pfx",<br> "password":"<pfx-file-password>"<br>} <br> To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + /// + public readonly string? CertificateUrl; + + [OutputConstructor] + private VaultCertificateResponse( + string? certificateStore, + + string? certificateUrl) + { + CertificateStore = certificateStore; + CertificateUrl = certificateUrl; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VaultSecretGroupResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VaultSecretGroupResponse.cs new file mode 100644 index 000000000000..7fa261f99861 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VaultSecretGroupResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a set of certificates which are all in the same Key Vault. + /// + [OutputType] + public sealed class VaultSecretGroupResponse + { + /// + /// The relative URL of the Key Vault containing all of the certificates in VaultCertificates. + /// + public readonly Outputs.SubResourceResponse? SourceVault; + /// + /// The list of key vault references in SourceVault which contain certificates. + /// + public readonly ImmutableArray VaultCertificates; + + [OutputConstructor] + private VaultSecretGroupResponse( + Outputs.SubResourceResponse? sourceVault, + + ImmutableArray vaultCertificates) + { + SourceVault = sourceVault; + VaultCertificates = vaultCertificates; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualHardDiskResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualHardDiskResponse.cs new file mode 100644 index 000000000000..6459c9c5517d --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualHardDiskResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes the uri of a disk. + /// + [OutputType] + public sealed class VirtualHardDiskResponse + { + /// + /// Specifies the virtual hard disk's uri. + /// + public readonly string? Uri; + + [OutputConstructor] + private VirtualHardDiskResponse(string? uri) + { + Uri = uri; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineAgentInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineAgentInstanceViewResponse.cs new file mode 100644 index 000000000000..dff4885d5f82 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineAgentInstanceViewResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of the VM Agent running on the virtual machine. + /// + [OutputType] + public sealed class VirtualMachineAgentInstanceViewResponse + { + /// + /// The virtual machine extension handler instance view. + /// + public readonly ImmutableArray ExtensionHandlers; + /// + /// The resource status information. + /// + public readonly ImmutableArray Statuses; + /// + /// The VM Agent full version. + /// + public readonly string? VmAgentVersion; + + [OutputConstructor] + private VirtualMachineAgentInstanceViewResponse( + ImmutableArray extensionHandlers, + + ImmutableArray statuses, + + string? vmAgentVersion) + { + ExtensionHandlers = extensionHandlers; + Statuses = statuses; + VmAgentVersion = vmAgentVersion; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineExtensionHandlerInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineExtensionHandlerInstanceViewResponse.cs new file mode 100644 index 000000000000..c2981e6f1006 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineExtensionHandlerInstanceViewResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a virtual machine extension handler. + /// + [OutputType] + public sealed class VirtualMachineExtensionHandlerInstanceViewResponse + { + /// + /// The extension handler status. + /// + public readonly Outputs.InstanceViewStatusResponse? Status; + /// + /// Specifies the type of the extension; an example is "CustomScriptExtension". + /// + public readonly string? Type; + /// + /// Specifies the version of the script handler. + /// + public readonly string? TypeHandlerVersion; + + [OutputConstructor] + private VirtualMachineExtensionHandlerInstanceViewResponse( + Outputs.InstanceViewStatusResponse? status, + + string? type, + + string? typeHandlerVersion) + { + Status = status; + Type = type; + TypeHandlerVersion = typeHandlerVersion; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineExtensionInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineExtensionInstanceViewResponse.cs new file mode 100644 index 000000000000..a5fa486ad719 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineExtensionInstanceViewResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a virtual machine extension. + /// + [OutputType] + public sealed class VirtualMachineExtensionInstanceViewResponse + { + /// + /// The virtual machine extension name. + /// + public readonly string? Name; + /// + /// The resource status information. + /// + public readonly ImmutableArray Statuses; + /// + /// The resource status information. + /// + public readonly ImmutableArray Substatuses; + /// + /// Specifies the type of the extension; an example is "CustomScriptExtension". + /// + public readonly string? Type; + /// + /// Specifies the version of the script handler. + /// + public readonly string? TypeHandlerVersion; + + [OutputConstructor] + private VirtualMachineExtensionInstanceViewResponse( + string? name, + + ImmutableArray statuses, + + ImmutableArray substatuses, + + string? type, + + string? typeHandlerVersion) + { + Name = name; + Statuses = statuses; + Substatuses = substatuses; + Type = type; + TypeHandlerVersion = typeHandlerVersion; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineExtensionResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineExtensionResponse.cs new file mode 100644 index 000000000000..ada79b6d3482 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineExtensionResponse.cs @@ -0,0 +1,143 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a Virtual Machine Extension. + /// + [OutputType] + public sealed class VirtualMachineExtensionResponse + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + public readonly bool? AutoUpgradeMinorVersion; + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + public readonly bool? EnableAutomaticUpgrade; + /// + /// How the extension handler should be forced to update even if the extension configuration has not changed. + /// + public readonly string? ForceUpdateTag; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The virtual machine extension instance view. + /// + public readonly Outputs.VirtualMachineExtensionInstanceViewResponse? InstanceView; + /// + /// Resource location + /// + public readonly string? Location; + /// + /// Resource name + /// + public readonly string Name; + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + public readonly object? ProtectedSettings; + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + public readonly Outputs.KeyVaultSecretReferenceResponse? ProtectedSettingsFromKeyVault; + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + public readonly ImmutableArray ProvisionAfterExtensions; + /// + /// The provisioning state, which only appears in the response. + /// + public readonly string ProvisioningState; + /// + /// The name of the extension handler publisher. + /// + public readonly string? Publisher; + /// + /// Json formatted public settings for the extension. + /// + public readonly object? Settings; + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + public readonly bool? SuppressFailures; + /// + /// Resource tags + /// + public readonly ImmutableDictionary? Tags; + /// + /// Resource type + /// + public readonly string Type; + /// + /// Specifies the version of the script handler. + /// + public readonly string? TypeHandlerVersion; + + [OutputConstructor] + private VirtualMachineExtensionResponse( + bool? autoUpgradeMinorVersion, + + bool? enableAutomaticUpgrade, + + string? forceUpdateTag, + + string id, + + Outputs.VirtualMachineExtensionInstanceViewResponse? instanceView, + + string? location, + + string name, + + object? protectedSettings, + + Outputs.KeyVaultSecretReferenceResponse? protectedSettingsFromKeyVault, + + ImmutableArray provisionAfterExtensions, + + string provisioningState, + + string? publisher, + + object? settings, + + bool? suppressFailures, + + ImmutableDictionary? tags, + + string type, + + string? typeHandlerVersion) + { + AutoUpgradeMinorVersion = autoUpgradeMinorVersion; + EnableAutomaticUpgrade = enableAutomaticUpgrade; + ForceUpdateTag = forceUpdateTag; + Id = id; + InstanceView = instanceView; + Location = location; + Name = name; + ProtectedSettings = protectedSettings; + ProtectedSettingsFromKeyVault = protectedSettingsFromKeyVault; + ProvisionAfterExtensions = provisionAfterExtensions; + ProvisioningState = provisioningState; + Publisher = publisher; + Settings = settings; + SuppressFailures = suppressFailures; + Tags = tags; + Type = type; + TypeHandlerVersion = typeHandlerVersion; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineHealthStatusResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineHealthStatusResponse.cs new file mode 100644 index 000000000000..c2926c89813c --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineHealthStatusResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The health status of the VM. + /// + [OutputType] + public sealed class VirtualMachineHealthStatusResponse + { + /// + /// The health status information for the VM. + /// + public readonly Outputs.InstanceViewStatusResponse Status; + + [OutputConstructor] + private VirtualMachineHealthStatusResponse(Outputs.InstanceViewStatusResponse status) + { + Status = status; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineIdentityResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineIdentityResponse.cs new file mode 100644 index 000000000000..e1d606a349bd --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineIdentityResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Identity for the virtual machine. + /// + [OutputType] + public sealed class VirtualMachineIdentityResponse + { + /// + /// The principal id of virtual machine identity. This property will only be provided for a system assigned identity. + /// + public readonly string PrincipalId; + /// + /// The tenant id associated with the virtual machine. This property will only be provided for a system assigned identity. + /// + public readonly string TenantId; + /// + /// The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. + /// + public readonly string? Type; + /// + /// The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + /// + public readonly ImmutableDictionary? UserAssignedIdentities; + + [OutputConstructor] + private VirtualMachineIdentityResponse( + string principalId, + + string tenantId, + + string? type, + + ImmutableDictionary? userAssignedIdentities) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + UserAssignedIdentities = userAssignedIdentities; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineInstanceViewResponse.cs new file mode 100644 index 000000000000..36c7fe706d1f --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineInstanceViewResponse.cs @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a virtual machine. + /// + [OutputType] + public sealed class VirtualMachineInstanceViewResponse + { + /// + /// Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled. Minimum api-version: 2020-06-01. + /// + public readonly string AssignedHost; + /// + /// Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + /// + public readonly Outputs.BootDiagnosticsInstanceViewResponse? BootDiagnostics; + /// + /// The computer name assigned to the virtual machine. + /// + public readonly string? ComputerName; + /// + /// The virtual machine disk information. + /// + public readonly ImmutableArray Disks; + /// + /// The extensions information. + /// + public readonly ImmutableArray Extensions; + /// + /// Specifies the HyperVGeneration Type associated with a resource + /// + public readonly string? HyperVGeneration; + /// + /// The Maintenance Operation status on the virtual machine. + /// + public readonly Outputs.MaintenanceRedeployStatusResponse? MaintenanceRedeployStatus; + /// + /// The Operating System running on the virtual machine. + /// + public readonly string? OsName; + /// + /// The version of Operating System running on the virtual machine. + /// + public readonly string? OsVersion; + /// + /// [Preview Feature] The status of virtual machine patch operations. + /// + public readonly Outputs.VirtualMachinePatchStatusResponse? PatchStatus; + /// + /// Specifies the fault domain of the virtual machine. + /// + public readonly int? PlatformFaultDomain; + /// + /// Specifies the update domain of the virtual machine. + /// + public readonly int? PlatformUpdateDomain; + /// + /// The Remote desktop certificate thumbprint. + /// + public readonly string? RdpThumbPrint; + /// + /// The resource status information. + /// + public readonly ImmutableArray Statuses; + /// + /// The VM Agent running on the virtual machine. + /// + public readonly Outputs.VirtualMachineAgentInstanceViewResponse? VmAgent; + /// + /// The health status for the VM. + /// + public readonly Outputs.VirtualMachineHealthStatusResponse VmHealth; + + [OutputConstructor] + private VirtualMachineInstanceViewResponse( + string assignedHost, + + Outputs.BootDiagnosticsInstanceViewResponse? bootDiagnostics, + + string? computerName, + + ImmutableArray disks, + + ImmutableArray extensions, + + string? hyperVGeneration, + + Outputs.MaintenanceRedeployStatusResponse? maintenanceRedeployStatus, + + string? osName, + + string? osVersion, + + Outputs.VirtualMachinePatchStatusResponse? patchStatus, + + int? platformFaultDomain, + + int? platformUpdateDomain, + + string? rdpThumbPrint, + + ImmutableArray statuses, + + Outputs.VirtualMachineAgentInstanceViewResponse? vmAgent, + + Outputs.VirtualMachineHealthStatusResponse vmHealth) + { + AssignedHost = assignedHost; + BootDiagnostics = bootDiagnostics; + ComputerName = computerName; + Disks = disks; + Extensions = extensions; + HyperVGeneration = hyperVGeneration; + MaintenanceRedeployStatus = maintenanceRedeployStatus; + OsName = osName; + OsVersion = osVersion; + PatchStatus = patchStatus; + PlatformFaultDomain = platformFaultDomain; + PlatformUpdateDomain = platformUpdateDomain; + RdpThumbPrint = rdpThumbPrint; + Statuses = statuses; + VmAgent = vmAgent; + VmHealth = vmHealth; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineIpTagResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineIpTagResponse.cs new file mode 100644 index 000000000000..6a1e51be5b0d --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineIpTagResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Contains the IP tag associated with the public IP address. + /// + [OutputType] + public sealed class VirtualMachineIpTagResponse + { + /// + /// IP tag type. Example: FirstPartyUsage. + /// + public readonly string? IpTagType; + /// + /// IP tag associated with the public IP. Example: SQL, Storage etc. + /// + public readonly string? Tag; + + [OutputConstructor] + private VirtualMachineIpTagResponse( + string? ipTagType, + + string? tag) + { + IpTagType = ipTagType; + Tag = tag; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineNetworkInterfaceConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineNetworkInterfaceConfigurationResponse.cs new file mode 100644 index 000000000000..48b6a7285e4a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineNetworkInterfaceConfigurationResponse.cs @@ -0,0 +1,112 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine network interface configurations. + /// + [OutputType] + public sealed class VirtualMachineNetworkInterfaceConfigurationResponse + { + /// + /// Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + /// + public readonly string? AuxiliaryMode; + /// + /// Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + /// + public readonly string? AuxiliarySku; + /// + /// Specify what happens to the network interface when the VM is deleted + /// + public readonly string? DeleteOption; + /// + /// Specifies whether the network interface is disabled for tcp state tracking. + /// + public readonly bool? DisableTcpStateTracking; + /// + /// The dns settings to be applied on the network interfaces. + /// + public readonly Outputs.VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse? DnsSettings; + public readonly Outputs.SubResourceResponse? DscpConfiguration; + /// + /// Specifies whether the network interface is accelerated networking-enabled. + /// + public readonly bool? EnableAcceleratedNetworking; + /// + /// Specifies whether the network interface is FPGA networking-enabled. + /// + public readonly bool? EnableFpga; + /// + /// Whether IP forwarding enabled on this NIC. + /// + public readonly bool? EnableIPForwarding; + /// + /// Specifies the IP configurations of the network interface. + /// + public readonly ImmutableArray IpConfigurations; + /// + /// The network interface configuration name. + /// + public readonly string Name; + /// + /// The network security group. + /// + public readonly Outputs.SubResourceResponse? NetworkSecurityGroup; + /// + /// Specifies the primary network interface in case the virtual machine has more than 1 network interface. + /// + public readonly bool? Primary; + + [OutputConstructor] + private VirtualMachineNetworkInterfaceConfigurationResponse( + string? auxiliaryMode, + + string? auxiliarySku, + + string? deleteOption, + + bool? disableTcpStateTracking, + + Outputs.VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse? dnsSettings, + + Outputs.SubResourceResponse? dscpConfiguration, + + bool? enableAcceleratedNetworking, + + bool? enableFpga, + + bool? enableIPForwarding, + + ImmutableArray ipConfigurations, + + string name, + + Outputs.SubResourceResponse? networkSecurityGroup, + + bool? primary) + { + AuxiliaryMode = auxiliaryMode; + AuxiliarySku = auxiliarySku; + DeleteOption = deleteOption; + DisableTcpStateTracking = disableTcpStateTracking; + DnsSettings = dnsSettings; + DscpConfiguration = dscpConfiguration; + EnableAcceleratedNetworking = enableAcceleratedNetworking; + EnableFpga = enableFpga; + EnableIPForwarding = enableIPForwarding; + IpConfigurations = ipConfigurations; + Name = name; + NetworkSecurityGroup = networkSecurityGroup; + Primary = primary; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse.cs new file mode 100644 index 000000000000..c7a92c4e27ed --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machines network configuration's DNS settings. + /// + [OutputType] + public sealed class VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse + { + /// + /// List of DNS servers IP addresses + /// + public readonly ImmutableArray DnsServers; + + [OutputConstructor] + private VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse(ImmutableArray dnsServers) + { + DnsServers = dnsServers; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineNetworkInterfaceIPConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineNetworkInterfaceIPConfigurationResponse.cs new file mode 100644 index 000000000000..fc8b609ed175 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineNetworkInterfaceIPConfigurationResponse.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine network profile's IP configuration. + /// + [OutputType] + public sealed class VirtualMachineNetworkInterfaceIPConfigurationResponse + { + /// + /// Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway. + /// + public readonly ImmutableArray ApplicationGatewayBackendAddressPools; + /// + /// Specifies an array of references to application security group. + /// + public readonly ImmutableArray ApplicationSecurityGroups; + /// + /// Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]. + /// + public readonly ImmutableArray LoadBalancerBackendAddressPools; + /// + /// The IP configuration name. + /// + public readonly string Name; + /// + /// Specifies the primary network interface in case the virtual machine has more than 1 network interface. + /// + public readonly bool? Primary; + /// + /// Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + /// + public readonly string? PrivateIPAddressVersion; + /// + /// The publicIPAddressConfiguration. + /// + public readonly Outputs.VirtualMachinePublicIPAddressConfigurationResponse? PublicIPAddressConfiguration; + /// + /// Specifies the identifier of the subnet. + /// + public readonly Outputs.SubResourceResponse? Subnet; + + [OutputConstructor] + private VirtualMachineNetworkInterfaceIPConfigurationResponse( + ImmutableArray applicationGatewayBackendAddressPools, + + ImmutableArray applicationSecurityGroups, + + ImmutableArray loadBalancerBackendAddressPools, + + string name, + + bool? primary, + + string? privateIPAddressVersion, + + Outputs.VirtualMachinePublicIPAddressConfigurationResponse? publicIPAddressConfiguration, + + Outputs.SubResourceResponse? subnet) + { + ApplicationGatewayBackendAddressPools = applicationGatewayBackendAddressPools; + ApplicationSecurityGroups = applicationSecurityGroups; + LoadBalancerBackendAddressPools = loadBalancerBackendAddressPools; + Name = name; + Primary = primary; + PrivateIPAddressVersion = privateIPAddressVersion; + PublicIPAddressConfiguration = publicIPAddressConfiguration; + Subnet = subnet; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachinePatchStatusResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachinePatchStatusResponse.cs new file mode 100644 index 000000000000..a9c7ca70da71 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachinePatchStatusResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The status of virtual machine patch operations. + /// + [OutputType] + public sealed class VirtualMachinePatchStatusResponse + { + /// + /// The available patch summary of the latest assessment operation for the virtual machine. + /// + public readonly Outputs.AvailablePatchSummaryResponse? AvailablePatchSummary; + /// + /// The enablement status of the specified patchMode + /// + public readonly ImmutableArray ConfigurationStatuses; + /// + /// The installation summary of the latest installation operation for the virtual machine. + /// + public readonly Outputs.LastPatchInstallationSummaryResponse? LastPatchInstallationSummary; + + [OutputConstructor] + private VirtualMachinePatchStatusResponse( + Outputs.AvailablePatchSummaryResponse? availablePatchSummary, + + ImmutableArray configurationStatuses, + + Outputs.LastPatchInstallationSummaryResponse? lastPatchInstallationSummary) + { + AvailablePatchSummary = availablePatchSummary; + ConfigurationStatuses = configurationStatuses; + LastPatchInstallationSummary = lastPatchInstallationSummary; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachinePublicIPAddressConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachinePublicIPAddressConfigurationResponse.cs new file mode 100644 index 000000000000..5db74c517ab8 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachinePublicIPAddressConfigurationResponse.cs @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machines IP Configuration's PublicIPAddress configuration + /// + [OutputType] + public sealed class VirtualMachinePublicIPAddressConfigurationResponse + { + /// + /// Specify what happens to the public IP address when the VM is deleted + /// + public readonly string? DeleteOption; + /// + /// The dns settings to be applied on the publicIP addresses . + /// + public readonly Outputs.VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse? DnsSettings; + /// + /// The idle timeout of the public IP address. + /// + public readonly int? IdleTimeoutInMinutes; + /// + /// The list of IP tags associated with the public IP address. + /// + public readonly ImmutableArray IpTags; + /// + /// The publicIP address configuration name. + /// + public readonly string Name; + /// + /// Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + /// + public readonly string? PublicIPAddressVersion; + /// + /// Specify the public IP allocation type + /// + public readonly string? PublicIPAllocationMethod; + /// + /// The PublicIPPrefix from which to allocate publicIP addresses. + /// + public readonly Outputs.SubResourceResponse? PublicIPPrefix; + /// + /// Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + /// + public readonly Outputs.PublicIPAddressSkuResponse? Sku; + + [OutputConstructor] + private VirtualMachinePublicIPAddressConfigurationResponse( + string? deleteOption, + + Outputs.VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse? dnsSettings, + + int? idleTimeoutInMinutes, + + ImmutableArray ipTags, + + string name, + + string? publicIPAddressVersion, + + string? publicIPAllocationMethod, + + Outputs.SubResourceResponse? publicIPPrefix, + + Outputs.PublicIPAddressSkuResponse? sku) + { + DeleteOption = deleteOption; + DnsSettings = dnsSettings; + IdleTimeoutInMinutes = idleTimeoutInMinutes; + IpTags = ipTags; + Name = name; + PublicIPAddressVersion = publicIPAddressVersion; + PublicIPAllocationMethod = publicIPAllocationMethod; + PublicIPPrefix = publicIPPrefix; + Sku = sku; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse.cs new file mode 100644 index 000000000000..5410948ed7cf --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machines network configuration's DNS settings. + /// + [OutputType] + public sealed class VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse + { + /// + /// The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID. + /// + public readonly string DomainNameLabel; + /// + /// The Domain name label scope of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the hashed domain name label with policy according to the domain name label scope and vm network profile unique ID. + /// + public readonly string? DomainNameLabelScope; + + [OutputConstructor] + private VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse( + string domainNameLabel, + + string? domainNameLabelScope) + { + DomainNameLabel = domainNameLabel; + DomainNameLabelScope = domainNameLabelScope; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineRunCommandInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineRunCommandInstanceViewResponse.cs new file mode 100644 index 000000000000..2395a4863f68 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineRunCommandInstanceViewResponse.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a virtual machine run command. + /// + [OutputType] + public sealed class VirtualMachineRunCommandInstanceViewResponse + { + /// + /// Script end time. + /// + public readonly string? EndTime; + /// + /// Script error stream. + /// + public readonly string? Error; + /// + /// Communicate script configuration errors or execution messages. + /// + public readonly string? ExecutionMessage; + /// + /// Script execution status. + /// + public readonly string? ExecutionState; + /// + /// Exit code returned from script execution. + /// + public readonly int? ExitCode; + /// + /// Script output stream. + /// + public readonly string? Output; + /// + /// Script start time. + /// + public readonly string? StartTime; + /// + /// The resource status information. + /// + public readonly ImmutableArray Statuses; + + [OutputConstructor] + private VirtualMachineRunCommandInstanceViewResponse( + string? endTime, + + string? error, + + string? executionMessage, + + string? executionState, + + int? exitCode, + + string? output, + + string? startTime, + + ImmutableArray statuses) + { + EndTime = endTime; + Error = error; + ExecutionMessage = executionMessage; + ExecutionState = executionState; + ExitCode = exitCode; + Output = output; + StartTime = startTime; + Statuses = statuses; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineRunCommandScriptSourceResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineRunCommandScriptSourceResponse.cs new file mode 100644 index 000000000000..a771b3c9227b --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineRunCommandScriptSourceResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes the script sources for run command. Use only one of script, scriptUri, commandId. + /// + [OutputType] + public sealed class VirtualMachineRunCommandScriptSourceResponse + { + /// + /// Specifies a commandId of predefined built-in script. + /// + public readonly string? CommandId; + /// + /// Specifies the script content to be executed on the VM. + /// + public readonly string? Script; + /// + /// Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. + /// + public readonly string? ScriptUri; + /// + /// User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + /// + public readonly Outputs.RunCommandManagedIdentityResponse? ScriptUriManagedIdentity; + + [OutputConstructor] + private VirtualMachineRunCommandScriptSourceResponse( + string? commandId, + + string? script, + + string? scriptUri, + + Outputs.RunCommandManagedIdentityResponse? scriptUriManagedIdentity) + { + CommandId = commandId; + Script = script; + ScriptUri = scriptUri; + ScriptUriManagedIdentity = scriptUriManagedIdentity; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetDataDiskResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetDataDiskResponse.cs new file mode 100644 index 000000000000..fe5bbd8cde5b --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetDataDiskResponse.cs @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine scale set data disk. + /// + [OutputType] + public sealed class VirtualMachineScaleSetDataDiskResponse + { + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + /// + public readonly string? Caching; + /// + /// The create option. + /// + public readonly string CreateOption; + /// + /// Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).<br><br> Possible values: <br><br> **Delete** If this value is used, the data disk is deleted when the VMSS Flex VM is deleted.<br><br> **Detach** If this value is used, the data disk is retained after VMSS Flex VM is deleted.<br><br> The default value is set to **Delete**. + /// + public readonly string? DeleteOption; + /// + /// Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + /// + public readonly double? DiskIOPSReadWrite; + /// + /// Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + /// + public readonly double? DiskMBpsReadWrite; + /// + /// Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + /// + public readonly int? DiskSizeGB; + /// + /// Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + /// + public readonly int Lun; + /// + /// The managed disk parameters. + /// + public readonly Outputs.VirtualMachineScaleSetManagedDiskParametersResponse? ManagedDisk; + /// + /// The disk name. + /// + public readonly string? Name; + /// + /// Specifies whether writeAccelerator should be enabled or disabled on the disk. + /// + public readonly bool? WriteAcceleratorEnabled; + + [OutputConstructor] + private VirtualMachineScaleSetDataDiskResponse( + string? caching, + + string createOption, + + string? deleteOption, + + double? diskIOPSReadWrite, + + double? diskMBpsReadWrite, + + int? diskSizeGB, + + int lun, + + Outputs.VirtualMachineScaleSetManagedDiskParametersResponse? managedDisk, + + string? name, + + bool? writeAcceleratorEnabled) + { + Caching = caching; + CreateOption = createOption; + DeleteOption = deleteOption; + DiskIOPSReadWrite = diskIOPSReadWrite; + DiskMBpsReadWrite = diskMBpsReadWrite; + DiskSizeGB = diskSizeGB; + Lun = lun; + ManagedDisk = managedDisk; + Name = name; + WriteAcceleratorEnabled = writeAcceleratorEnabled; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetExtensionProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetExtensionProfileResponse.cs new file mode 100644 index 000000000000..39eae302da23 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetExtensionProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine scale set extension profile. + /// + [OutputType] + public sealed class VirtualMachineScaleSetExtensionProfileResponse + { + /// + /// The virtual machine scale set child extension resources. + /// + public readonly ImmutableArray Extensions; + /// + /// Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + /// + public readonly string? ExtensionsTimeBudget; + + [OutputConstructor] + private VirtualMachineScaleSetExtensionProfileResponse( + ImmutableArray extensions, + + string? extensionsTimeBudget) + { + Extensions = extensions; + ExtensionsTimeBudget = extensionsTimeBudget; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetExtensionResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetExtensionResponse.cs new file mode 100644 index 000000000000..0542c685e744 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetExtensionResponse.cs @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a Virtual Machine Scale Set Extension. + /// + [OutputType] + public sealed class VirtualMachineScaleSetExtensionResponse + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + public readonly bool? AutoUpgradeMinorVersion; + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + public readonly bool? EnableAutomaticUpgrade; + /// + /// If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + /// + public readonly string? ForceUpdateTag; + /// + /// Resource Id + /// + public readonly string Id; + /// + /// The name of the extension. + /// + public readonly string? Name; + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + public readonly object? ProtectedSettings; + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + public readonly Outputs.KeyVaultSecretReferenceResponse? ProtectedSettingsFromKeyVault; + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + public readonly ImmutableArray ProvisionAfterExtensions; + /// + /// The provisioning state, which only appears in the response. + /// + public readonly string ProvisioningState; + /// + /// The name of the extension handler publisher. + /// + public readonly string? Publisher; + /// + /// Json formatted public settings for the extension. + /// + public readonly object? Settings; + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + public readonly bool? SuppressFailures; + /// + /// Resource type + /// + public readonly string Type; + /// + /// Specifies the version of the script handler. + /// + public readonly string? TypeHandlerVersion; + + [OutputConstructor] + private VirtualMachineScaleSetExtensionResponse( + bool? autoUpgradeMinorVersion, + + bool? enableAutomaticUpgrade, + + string? forceUpdateTag, + + string id, + + string? name, + + object? protectedSettings, + + Outputs.KeyVaultSecretReferenceResponse? protectedSettingsFromKeyVault, + + ImmutableArray provisionAfterExtensions, + + string provisioningState, + + string? publisher, + + object? settings, + + bool? suppressFailures, + + string type, + + string? typeHandlerVersion) + { + AutoUpgradeMinorVersion = autoUpgradeMinorVersion; + EnableAutomaticUpgrade = enableAutomaticUpgrade; + ForceUpdateTag = forceUpdateTag; + Id = id; + Name = name; + ProtectedSettings = protectedSettings; + ProtectedSettingsFromKeyVault = protectedSettingsFromKeyVault; + ProvisionAfterExtensions = provisionAfterExtensions; + ProvisioningState = provisioningState; + Publisher = publisher; + Settings = settings; + SuppressFailures = suppressFailures; + Type = type; + TypeHandlerVersion = typeHandlerVersion; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetHardwareProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetHardwareProfileResponse.cs new file mode 100644 index 000000000000..e4d545c57973 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetHardwareProfileResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies the hardware settings for the virtual machine scale set. + /// + [OutputType] + public sealed class VirtualMachineScaleSetHardwareProfileResponse + { + /// + /// Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-11-01. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + /// + public readonly Outputs.VMSizePropertiesResponse? VmSizeProperties; + + [OutputConstructor] + private VirtualMachineScaleSetHardwareProfileResponse(Outputs.VMSizePropertiesResponse? vmSizeProperties) + { + VmSizeProperties = vmSizeProperties; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetIPConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetIPConfigurationResponse.cs new file mode 100644 index 000000000000..8410e78cdbdf --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetIPConfigurationResponse.cs @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine scale set network profile's IP configuration. + /// + [OutputType] + public sealed class VirtualMachineScaleSetIPConfigurationResponse + { + /// + /// Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway. + /// + public readonly ImmutableArray ApplicationGatewayBackendAddressPools; + /// + /// Specifies an array of references to application security group. + /// + public readonly ImmutableArray ApplicationSecurityGroups; + /// + /// Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + /// + public readonly ImmutableArray LoadBalancerBackendAddressPools; + /// + /// Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + /// + public readonly ImmutableArray LoadBalancerInboundNatPools; + /// + /// The IP configuration name. + /// + public readonly string Name; + /// + /// Specifies the primary network interface in case the virtual machine has more than 1 network interface. + /// + public readonly bool? Primary; + /// + /// Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + /// + public readonly string? PrivateIPAddressVersion; + /// + /// The publicIPAddressConfiguration. + /// + public readonly Outputs.VirtualMachineScaleSetPublicIPAddressConfigurationResponse? PublicIPAddressConfiguration; + /// + /// Specifies the identifier of the subnet. + /// + public readonly Outputs.ApiEntityReferenceResponse? Subnet; + + [OutputConstructor] + private VirtualMachineScaleSetIPConfigurationResponse( + ImmutableArray applicationGatewayBackendAddressPools, + + ImmutableArray applicationSecurityGroups, + + ImmutableArray loadBalancerBackendAddressPools, + + ImmutableArray loadBalancerInboundNatPools, + + string name, + + bool? primary, + + string? privateIPAddressVersion, + + Outputs.VirtualMachineScaleSetPublicIPAddressConfigurationResponse? publicIPAddressConfiguration, + + Outputs.ApiEntityReferenceResponse? subnet) + { + ApplicationGatewayBackendAddressPools = applicationGatewayBackendAddressPools; + ApplicationSecurityGroups = applicationSecurityGroups; + LoadBalancerBackendAddressPools = loadBalancerBackendAddressPools; + LoadBalancerInboundNatPools = loadBalancerInboundNatPools; + Name = name; + Primary = primary; + PrivateIPAddressVersion = privateIPAddressVersion; + PublicIPAddressConfiguration = publicIPAddressConfiguration; + Subnet = subnet; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetIdentityResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetIdentityResponse.cs new file mode 100644 index 000000000000..7b426d0d0920 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetIdentityResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Identity for the virtual machine scale set. + /// + [OutputType] + public sealed class VirtualMachineScaleSetIdentityResponse + { + /// + /// The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity. + /// + public readonly string PrincipalId; + /// + /// The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity. + /// + public readonly string TenantId; + /// + /// The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set. + /// + public readonly string? Type; + /// + /// The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + /// + public readonly ImmutableDictionary? UserAssignedIdentities; + + [OutputConstructor] + private VirtualMachineScaleSetIdentityResponse( + string principalId, + + string tenantId, + + string? type, + + ImmutableDictionary? userAssignedIdentities) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + UserAssignedIdentities = userAssignedIdentities; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetIpTagResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetIpTagResponse.cs new file mode 100644 index 000000000000..b361838498ad --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetIpTagResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Contains the IP tag associated with the public IP address. + /// + [OutputType] + public sealed class VirtualMachineScaleSetIpTagResponse + { + /// + /// IP tag type. Example: FirstPartyUsage. + /// + public readonly string? IpTagType; + /// + /// IP tag associated with the public IP. Example: SQL, Storage etc. + /// + public readonly string? Tag; + + [OutputConstructor] + private VirtualMachineScaleSetIpTagResponse( + string? ipTagType, + + string? tag) + { + IpTagType = ipTagType; + Tag = tag; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetManagedDiskParametersResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetManagedDiskParametersResponse.cs new file mode 100644 index 000000000000..b16473871be7 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetManagedDiskParametersResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes the parameters of a ScaleSet managed disk. + /// + [OutputType] + public sealed class VirtualMachineScaleSetManagedDiskParametersResponse + { + /// + /// Specifies the customer managed disk encryption set resource id for the managed disk. + /// + public readonly Outputs.DiskEncryptionSetParametersResponse? DiskEncryptionSet; + /// + /// Specifies the security profile for the managed disk. + /// + public readonly Outputs.VMDiskSecurityProfileResponse? SecurityProfile; + /// + /// Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + /// + public readonly string? StorageAccountType; + + [OutputConstructor] + private VirtualMachineScaleSetManagedDiskParametersResponse( + Outputs.DiskEncryptionSetParametersResponse? diskEncryptionSet, + + Outputs.VMDiskSecurityProfileResponse? securityProfile, + + string? storageAccountType) + { + DiskEncryptionSet = diskEncryptionSet; + SecurityProfile = securityProfile; + StorageAccountType = storageAccountType; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse.cs new file mode 100644 index 000000000000..a3087c0392e0 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machines scale sets network configuration's DNS settings. + /// + [OutputType] + public sealed class VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse + { + /// + /// List of DNS servers IP addresses + /// + public readonly ImmutableArray DnsServers; + + [OutputConstructor] + private VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse(ImmutableArray dnsServers) + { + DnsServers = dnsServers; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetNetworkConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetNetworkConfigurationResponse.cs new file mode 100644 index 000000000000..833ac0700edf --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetNetworkConfigurationResponse.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine scale set network profile's network configurations. + /// + [OutputType] + public sealed class VirtualMachineScaleSetNetworkConfigurationResponse + { + /// + /// Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + /// + public readonly string? AuxiliaryMode; + /// + /// Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + /// + public readonly string? AuxiliarySku; + /// + /// Specify what happens to the network interface when the VM is deleted + /// + public readonly string? DeleteOption; + /// + /// Specifies whether the network interface is disabled for tcp state tracking. + /// + public readonly bool? DisableTcpStateTracking; + /// + /// The dns settings to be applied on the network interfaces. + /// + public readonly Outputs.VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse? DnsSettings; + /// + /// Specifies whether the network interface is accelerated networking-enabled. + /// + public readonly bool? EnableAcceleratedNetworking; + /// + /// Specifies whether the network interface is FPGA networking-enabled. + /// + public readonly bool? EnableFpga; + /// + /// Whether IP forwarding enabled on this NIC. + /// + public readonly bool? EnableIPForwarding; + /// + /// Specifies the IP configurations of the network interface. + /// + public readonly ImmutableArray IpConfigurations; + /// + /// The network configuration name. + /// + public readonly string Name; + /// + /// The network security group. + /// + public readonly Outputs.SubResourceResponse? NetworkSecurityGroup; + /// + /// Specifies the primary network interface in case the virtual machine has more than 1 network interface. + /// + public readonly bool? Primary; + + [OutputConstructor] + private VirtualMachineScaleSetNetworkConfigurationResponse( + string? auxiliaryMode, + + string? auxiliarySku, + + string? deleteOption, + + bool? disableTcpStateTracking, + + Outputs.VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse? dnsSettings, + + bool? enableAcceleratedNetworking, + + bool? enableFpga, + + bool? enableIPForwarding, + + ImmutableArray ipConfigurations, + + string name, + + Outputs.SubResourceResponse? networkSecurityGroup, + + bool? primary) + { + AuxiliaryMode = auxiliaryMode; + AuxiliarySku = auxiliarySku; + DeleteOption = deleteOption; + DisableTcpStateTracking = disableTcpStateTracking; + DnsSettings = dnsSettings; + EnableAcceleratedNetworking = enableAcceleratedNetworking; + EnableFpga = enableFpga; + EnableIPForwarding = enableIPForwarding; + IpConfigurations = ipConfigurations; + Name = name; + NetworkSecurityGroup = networkSecurityGroup; + Primary = primary; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetNetworkProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetNetworkProfileResponse.cs new file mode 100644 index 000000000000..da8480ec474f --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetNetworkProfileResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine scale set network profile. + /// + [OutputType] + public sealed class VirtualMachineScaleSetNetworkProfileResponse + { + /// + /// A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + /// + public readonly Outputs.ApiEntityReferenceResponse? HealthProbe; + /// + /// specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible' + /// + public readonly string? NetworkApiVersion; + /// + /// The list of network configurations. + /// + public readonly ImmutableArray NetworkInterfaceConfigurations; + + [OutputConstructor] + private VirtualMachineScaleSetNetworkProfileResponse( + Outputs.ApiEntityReferenceResponse? healthProbe, + + string? networkApiVersion, + + ImmutableArray networkInterfaceConfigurations) + { + HealthProbe = healthProbe; + NetworkApiVersion = networkApiVersion; + NetworkInterfaceConfigurations = networkInterfaceConfigurations; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetOSDiskResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetOSDiskResponse.cs new file mode 100644 index 000000000000..46907c1dd585 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetOSDiskResponse.cs @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine scale set operating system disk. + /// + [OutputType] + public sealed class VirtualMachineScaleSetOSDiskResponse + { + /// + /// Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + /// + public readonly string? Caching; + /// + /// Specifies how the virtual machines in the scale set should be created. The only allowed value is: **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described. + /// + public readonly string CreateOption; + /// + /// Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only). <br><br> Possible values: <br><br> **Delete** If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.<br><br> **Detach** If this value is used, the OS disk is retained after VMSS Flex VM is deleted. <br><br> The default value is set to **Delete**. For an Ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for Ephemeral OS Disk. + /// + public readonly string? DeleteOption; + /// + /// Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set. + /// + public readonly Outputs.DiffDiskSettingsResponse? DiffDiskSettings; + /// + /// Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + /// + public readonly int? DiskSizeGB; + /// + /// Specifies information about the unmanaged user image to base the scale set on. + /// + public readonly Outputs.VirtualHardDiskResponse? Image; + /// + /// The managed disk parameters. + /// + public readonly Outputs.VirtualMachineScaleSetManagedDiskParametersResponse? ManagedDisk; + /// + /// The disk name. + /// + public readonly string? Name; + /// + /// This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + /// + public readonly string? OsType; + /// + /// Specifies the container urls that are used to store operating system disks for the scale set. + /// + public readonly ImmutableArray VhdContainers; + /// + /// Specifies whether writeAccelerator should be enabled or disabled on the disk. + /// + public readonly bool? WriteAcceleratorEnabled; + + [OutputConstructor] + private VirtualMachineScaleSetOSDiskResponse( + string? caching, + + string createOption, + + string? deleteOption, + + Outputs.DiffDiskSettingsResponse? diffDiskSettings, + + int? diskSizeGB, + + Outputs.VirtualHardDiskResponse? image, + + Outputs.VirtualMachineScaleSetManagedDiskParametersResponse? managedDisk, + + string? name, + + string? osType, + + ImmutableArray vhdContainers, + + bool? writeAcceleratorEnabled) + { + Caching = caching; + CreateOption = createOption; + DeleteOption = deleteOption; + DiffDiskSettings = diffDiskSettings; + DiskSizeGB = diskSizeGB; + Image = image; + ManagedDisk = managedDisk; + Name = name; + OsType = osType; + VhdContainers = vhdContainers; + WriteAcceleratorEnabled = writeAcceleratorEnabled; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetOSProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetOSProfileResponse.cs new file mode 100644 index 000000000000..092a94c16859 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetOSProfileResponse.cs @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine scale set OS profile. + /// + [OutputType] + public sealed class VirtualMachineScaleSetOSProfileResponse + { + /// + /// Specifies the password of the administrator account. <br><br> **Minimum-length (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\W_]) <br><br> **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" <br><br> For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp) <br><br> For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + /// + public readonly string? AdminPassword; + /// + /// Specifies the name of the administrator account. <br><br> **Windows-only restriction:** Cannot end in "." <br><br> **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length (Linux):** 64 characters <br><br> **Max-length (Windows):** 20 characters + /// + public readonly string? AdminUsername; + /// + /// Specifies whether extension operations should be allowed on the virtual machine scale set. This may only be set to False when no extensions are present on the virtual machine scale set. + /// + public readonly bool? AllowExtensionOperations; + /// + /// Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long. + /// + public readonly string? ComputerNamePrefix; + /// + /// Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) + /// + public readonly string? CustomData; + /// + /// Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + /// + public readonly Outputs.LinuxConfigurationResponse? LinuxConfiguration; + /// + /// Optional property which must either be set to True or omitted. + /// + public readonly bool? RequireGuestProvisionSignal; + /// + /// Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + /// + public readonly ImmutableArray Secrets; + /// + /// Specifies Windows operating system settings on the virtual machine. + /// + public readonly Outputs.WindowsConfigurationResponse? WindowsConfiguration; + + [OutputConstructor] + private VirtualMachineScaleSetOSProfileResponse( + string? adminPassword, + + string? adminUsername, + + bool? allowExtensionOperations, + + string? computerNamePrefix, + + string? customData, + + Outputs.LinuxConfigurationResponse? linuxConfiguration, + + bool? requireGuestProvisionSignal, + + ImmutableArray secrets, + + Outputs.WindowsConfigurationResponse? windowsConfiguration) + { + AdminPassword = adminPassword; + AdminUsername = adminUsername; + AllowExtensionOperations = allowExtensionOperations; + ComputerNamePrefix = computerNamePrefix; + CustomData = customData; + LinuxConfiguration = linuxConfiguration; + RequireGuestProvisionSignal = requireGuestProvisionSignal; + Secrets = secrets; + WindowsConfiguration = windowsConfiguration; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse.cs new file mode 100644 index 000000000000..258cad742dc6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machines scale sets network configuration's DNS settings. + /// + [OutputType] + public sealed class VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse + { + /// + /// The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created + /// + public readonly string DomainNameLabel; + /// + /// The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created + /// + public readonly string? DomainNameLabelScope; + + [OutputConstructor] + private VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse( + string domainNameLabel, + + string? domainNameLabelScope) + { + DomainNameLabel = domainNameLabel; + DomainNameLabelScope = domainNameLabelScope; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetPublicIPAddressConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetPublicIPAddressConfigurationResponse.cs new file mode 100644 index 000000000000..96618ddfa1e4 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetPublicIPAddressConfigurationResponse.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration + /// + [OutputType] + public sealed class VirtualMachineScaleSetPublicIPAddressConfigurationResponse + { + /// + /// Specify what happens to the public IP when the VM is deleted + /// + public readonly string? DeleteOption; + /// + /// The dns settings to be applied on the publicIP addresses . + /// + public readonly Outputs.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse? DnsSettings; + /// + /// The idle timeout of the public IP address. + /// + public readonly int? IdleTimeoutInMinutes; + /// + /// The list of IP tags associated with the public IP address. + /// + public readonly ImmutableArray IpTags; + /// + /// The publicIP address configuration name. + /// + public readonly string Name; + /// + /// Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + /// + public readonly string? PublicIPAddressVersion; + /// + /// The PublicIPPrefix from which to allocate publicIP addresses. + /// + public readonly Outputs.SubResourceResponse? PublicIPPrefix; + /// + /// Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + /// + public readonly Outputs.PublicIPAddressSkuResponse? Sku; + + [OutputConstructor] + private VirtualMachineScaleSetPublicIPAddressConfigurationResponse( + string? deleteOption, + + Outputs.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse? dnsSettings, + + int? idleTimeoutInMinutes, + + ImmutableArray ipTags, + + string name, + + string? publicIPAddressVersion, + + Outputs.SubResourceResponse? publicIPPrefix, + + Outputs.PublicIPAddressSkuResponse? sku) + { + DeleteOption = deleteOption; + DnsSettings = dnsSettings; + IdleTimeoutInMinutes = idleTimeoutInMinutes; + IpTags = ipTags; + Name = name; + PublicIPAddressVersion = publicIPAddressVersion; + PublicIPPrefix = publicIPPrefix; + Sku = sku; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetStorageProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetStorageProfileResponse.cs new file mode 100644 index 000000000000..87b8671a043e --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetStorageProfileResponse.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine scale set storage profile. + /// + [OutputType] + public sealed class VirtualMachineScaleSetStorageProfileResponse + { + /// + /// Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + public readonly ImmutableArray DataDisks; + public readonly ImmutableArray DiskControllerType; + /// + /// Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + /// + public readonly Outputs.ImageReferenceResponse? ImageReference; + /// + /// Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + /// + public readonly Outputs.VirtualMachineScaleSetOSDiskResponse? OsDisk; + + [OutputConstructor] + private VirtualMachineScaleSetStorageProfileResponse( + ImmutableArray dataDisks, + + ImmutableArray diskControllerType, + + Outputs.ImageReferenceResponse? imageReference, + + Outputs.VirtualMachineScaleSetOSDiskResponse? osDisk) + { + DataDisks = dataDisks; + DiskControllerType = diskControllerType; + ImageReference = imageReference; + OsDisk = osDisk; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetVMInstanceViewResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetVMInstanceViewResponse.cs new file mode 100644 index 000000000000..a7c7ec09cb79 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetVMInstanceViewResponse.cs @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The instance view of a virtual machine scale set VM. + /// + [OutputType] + public sealed class VirtualMachineScaleSetVMInstanceViewResponse + { + /// + /// Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled. Minimum api-version: 2020-06-01. + /// + public readonly string AssignedHost; + /// + /// Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + /// + public readonly Outputs.BootDiagnosticsInstanceViewResponse? BootDiagnostics; + /// + /// Specifies the host OS name of the virtual machine. <br><br> This name cannot be updated after the VM is created. <br><br> **Max-length (Windows):** 15 characters <br><br> **Max-length (Linux):** 64 characters. <br><br> For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions). + /// + public readonly string? ComputerName; + /// + /// The disks information. + /// + public readonly ImmutableArray Disks; + /// + /// The extensions information. + /// + public readonly ImmutableArray Extensions; + /// + /// The hypervisor generation of the Virtual Machine [V1, V2] + /// + public readonly string? HyperVGeneration; + /// + /// The Maintenance Operation status on the virtual machine. + /// + public readonly Outputs.MaintenanceRedeployStatusResponse? MaintenanceRedeployStatus; + /// + /// The Operating System running on the hybrid machine. + /// + public readonly string? OsName; + /// + /// The version of Operating System running on the hybrid machine. + /// + public readonly string? OsVersion; + /// + /// The placement group in which the VM is running. If the VM is deallocated it will not have a placementGroupId. + /// + public readonly string? PlacementGroupId; + /// + /// The Fault Domain count. + /// + public readonly int? PlatformFaultDomain; + /// + /// The Update Domain count. + /// + public readonly int? PlatformUpdateDomain; + /// + /// The Remote desktop certificate thumbprint. + /// + public readonly string? RdpThumbPrint; + /// + /// The resource status information. + /// + public readonly ImmutableArray Statuses; + /// + /// The VM Agent running on the virtual machine. + /// + public readonly Outputs.VirtualMachineAgentInstanceViewResponse? VmAgent; + /// + /// The health status for the VM. + /// + public readonly Outputs.VirtualMachineHealthStatusResponse VmHealth; + + [OutputConstructor] + private VirtualMachineScaleSetVMInstanceViewResponse( + string assignedHost, + + Outputs.BootDiagnosticsInstanceViewResponse? bootDiagnostics, + + string? computerName, + + ImmutableArray disks, + + ImmutableArray extensions, + + string? hyperVGeneration, + + Outputs.MaintenanceRedeployStatusResponse? maintenanceRedeployStatus, + + string? osName, + + string? osVersion, + + string? placementGroupId, + + int? platformFaultDomain, + + int? platformUpdateDomain, + + string? rdpThumbPrint, + + ImmutableArray statuses, + + Outputs.VirtualMachineAgentInstanceViewResponse? vmAgent, + + Outputs.VirtualMachineHealthStatusResponse vmHealth) + { + AssignedHost = assignedHost; + BootDiagnostics = bootDiagnostics; + ComputerName = computerName; + Disks = disks; + Extensions = extensions; + HyperVGeneration = hyperVGeneration; + MaintenanceRedeployStatus = maintenanceRedeployStatus; + OsName = osName; + OsVersion = osVersion; + PlacementGroupId = placementGroupId; + PlatformFaultDomain = platformFaultDomain; + PlatformUpdateDomain = platformUpdateDomain; + RdpThumbPrint = rdpThumbPrint; + Statuses = statuses; + VmAgent = vmAgent; + VmHealth = vmHealth; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetVMNetworkProfileConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetVMNetworkProfileConfigurationResponse.cs new file mode 100644 index 000000000000..bbe75697f9a6 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetVMNetworkProfileConfigurationResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine scale set VM network profile. + /// + [OutputType] + public sealed class VirtualMachineScaleSetVMNetworkProfileConfigurationResponse + { + /// + /// The list of network configurations. + /// + public readonly ImmutableArray NetworkInterfaceConfigurations; + + [OutputConstructor] + private VirtualMachineScaleSetVMNetworkProfileConfigurationResponse(ImmutableArray networkInterfaceConfigurations) + { + NetworkInterfaceConfigurations = networkInterfaceConfigurations; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetVMProfileResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetVMProfileResponse.cs new file mode 100644 index 000000000000..a894555ed933 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetVMProfileResponse.cs @@ -0,0 +1,143 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes a virtual machine scale set virtual machine profile. + /// + [OutputType] + public sealed class VirtualMachineScaleSetVMProfileResponse + { + /// + /// Specifies the gallery applications that should be made available to the VM/VMSS + /// + public readonly Outputs.ApplicationProfileResponse? ApplicationProfile; + /// + /// Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01. + /// + public readonly Outputs.BillingProfileResponse? BillingProfile; + /// + /// Specifies the capacity reservation related details of a scale set. Minimum api-version: 2021-04-01. + /// + public readonly Outputs.CapacityReservationProfileResponse? CapacityReservation; + /// + /// Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + /// + public readonly Outputs.DiagnosticsProfileResponse? DiagnosticsProfile; + /// + /// Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + /// + public readonly string? EvictionPolicy; + /// + /// Specifies a collection of settings for extensions installed on virtual machines in the scale set. + /// + public readonly Outputs.VirtualMachineScaleSetExtensionProfileResponse? ExtensionProfile; + /// + /// Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01. + /// + public readonly Outputs.VirtualMachineScaleSetHardwareProfileResponse? HardwareProfile; + /// + /// Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 + /// + public readonly string? LicenseType; + /// + /// Specifies properties of the network interfaces of the virtual machines in the scale set. + /// + public readonly Outputs.VirtualMachineScaleSetNetworkProfileResponse? NetworkProfile; + /// + /// Specifies the operating system settings for the virtual machines in the scale set. + /// + public readonly Outputs.VirtualMachineScaleSetOSProfileResponse? OsProfile; + /// + /// Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview. + /// + public readonly string? Priority; + /// + /// Specifies Scheduled Event related configurations. + /// + public readonly Outputs.ScheduledEventsProfileResponse? ScheduledEventsProfile; + /// + /// Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + /// + public readonly Outputs.SecurityPostureReferenceResponse? SecurityPostureReference; + /// + /// Specifies the Security related profile settings for the virtual machines in the scale set. + /// + public readonly Outputs.SecurityProfileResponse? SecurityProfile; + /// + /// Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + /// + public readonly Outputs.ServiceArtifactReferenceResponse? ServiceArtifactReference; + /// + /// Specifies the storage settings for the virtual machine disks. + /// + public readonly Outputs.VirtualMachineScaleSetStorageProfileResponse? StorageProfile; + /// + /// UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + /// + public readonly string? UserData; + + [OutputConstructor] + private VirtualMachineScaleSetVMProfileResponse( + Outputs.ApplicationProfileResponse? applicationProfile, + + Outputs.BillingProfileResponse? billingProfile, + + Outputs.CapacityReservationProfileResponse? capacityReservation, + + Outputs.DiagnosticsProfileResponse? diagnosticsProfile, + + string? evictionPolicy, + + Outputs.VirtualMachineScaleSetExtensionProfileResponse? extensionProfile, + + Outputs.VirtualMachineScaleSetHardwareProfileResponse? hardwareProfile, + + string? licenseType, + + Outputs.VirtualMachineScaleSetNetworkProfileResponse? networkProfile, + + Outputs.VirtualMachineScaleSetOSProfileResponse? osProfile, + + string? priority, + + Outputs.ScheduledEventsProfileResponse? scheduledEventsProfile, + + Outputs.SecurityPostureReferenceResponse? securityPostureReference, + + Outputs.SecurityProfileResponse? securityProfile, + + Outputs.ServiceArtifactReferenceResponse? serviceArtifactReference, + + Outputs.VirtualMachineScaleSetStorageProfileResponse? storageProfile, + + string? userData) + { + ApplicationProfile = applicationProfile; + BillingProfile = billingProfile; + CapacityReservation = capacityReservation; + DiagnosticsProfile = diagnosticsProfile; + EvictionPolicy = evictionPolicy; + ExtensionProfile = extensionProfile; + HardwareProfile = hardwareProfile; + LicenseType = licenseType; + NetworkProfile = networkProfile; + OsProfile = osProfile; + Priority = priority; + ScheduledEventsProfile = scheduledEventsProfile; + SecurityPostureReference = securityPostureReference; + SecurityProfile = securityProfile; + ServiceArtifactReference = serviceArtifactReference; + StorageProfile = storageProfile; + UserData = userData; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetVMProtectionPolicyResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetVMProtectionPolicyResponse.cs new file mode 100644 index 000000000000..9dc1d9c8337d --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/VirtualMachineScaleSetVMProtectionPolicyResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// The protection policy of a virtual machine scale set VM. + /// + [OutputType] + public sealed class VirtualMachineScaleSetVMProtectionPolicyResponse + { + /// + /// Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation. + /// + public readonly bool? ProtectFromScaleIn; + /// + /// Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM. + /// + public readonly bool? ProtectFromScaleSetActions; + + [OutputConstructor] + private VirtualMachineScaleSetVMProtectionPolicyResponse( + bool? protectFromScaleIn, + + bool? protectFromScaleSetActions) + { + ProtectFromScaleIn = protectFromScaleIn; + ProtectFromScaleSetActions = protectFromScaleSetActions; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/WinRMConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/WinRMConfigurationResponse.cs new file mode 100644 index 000000000000..f6c5c363ee45 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/WinRMConfigurationResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes Windows Remote Management configuration of the VM + /// + [OutputType] + public sealed class WinRMConfigurationResponse + { + /// + /// The list of Windows Remote Management listeners + /// + public readonly ImmutableArray Listeners; + + [OutputConstructor] + private WinRMConfigurationResponse(ImmutableArray listeners) + { + Listeners = listeners; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/WinRMListenerResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/WinRMListenerResponse.cs new file mode 100644 index 000000000000..637c797da83b --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/WinRMListenerResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Describes Protocol and thumbprint of Windows Remote Management listener + /// + [OutputType] + public sealed class WinRMListenerResponse + { + /// + /// This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be the Base64 encoding of the following JSON Object which is encoded in UTF-8: <br><br> {<br> "data":"<Base64-encoded-certificate>",<br> "dataType":"pfx",<br> "password":"<pfx-file-password>"<br>} <br> To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + /// + public readonly string? CertificateUrl; + /// + /// Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** + /// + public readonly string? Protocol; + + [OutputConstructor] + private WinRMListenerResponse( + string? certificateUrl, + + string? protocol) + { + CertificateUrl = certificateUrl; + Protocol = protocol; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/WindowsConfigurationResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/WindowsConfigurationResponse.cs new file mode 100644 index 000000000000..08ae636bdb1a --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/WindowsConfigurationResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies Windows operating system settings on the virtual machine. + /// + [OutputType] + public sealed class WindowsConfigurationResponse + { + /// + /// Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. + /// + public readonly ImmutableArray AdditionalUnattendContent; + /// + /// Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + /// + public readonly bool? EnableAutomaticUpdates; + /// + /// Indicates whether VMAgent Platform Updates is enabled for the Windows virtual machine. Default value is false. + /// + public readonly bool? EnableVMAgentPlatformUpdates; + /// + /// [Preview Feature] Specifies settings related to VM Guest Patching on Windows. + /// + public readonly Outputs.PatchSettingsResponse? PatchSettings; + /// + /// Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, it is set to true by default. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + /// + public readonly bool? ProvisionVMAgent; + /// + /// Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). + /// + public readonly string? TimeZone; + /// + /// Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. + /// + public readonly Outputs.WinRMConfigurationResponse? WinRM; + + [OutputConstructor] + private WindowsConfigurationResponse( + ImmutableArray additionalUnattendContent, + + bool? enableAutomaticUpdates, + + bool? enableVMAgentPlatformUpdates, + + Outputs.PatchSettingsResponse? patchSettings, + + bool? provisionVMAgent, + + string? timeZone, + + Outputs.WinRMConfigurationResponse? winRM) + { + AdditionalUnattendContent = additionalUnattendContent; + EnableAutomaticUpdates = enableAutomaticUpdates; + EnableVMAgentPlatformUpdates = enableVMAgentPlatformUpdates; + PatchSettings = patchSettings; + ProvisionVMAgent = provisionVMAgent; + TimeZone = timeZone; + WinRM = winRM; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/Outputs/WindowsVMGuestPatchAutomaticByPlatformSettingsResponse.cs b/sdk/dotnet/Compute/V20230701/Outputs/WindowsVMGuestPatchAutomaticByPlatformSettingsResponse.cs new file mode 100644 index 000000000000..e332d18b77b0 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/Outputs/WindowsVMGuestPatchAutomaticByPlatformSettingsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701.Outputs +{ + + /// + /// Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings. + /// + [OutputType] + public sealed class WindowsVMGuestPatchAutomaticByPlatformSettingsResponse + { + /// + /// Enables customer to schedule patching without accidental upgrades + /// + public readonly bool? BypassPlatformSafetyChecksOnUserSchedule; + /// + /// Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + /// + public readonly string? RebootSetting; + + [OutputConstructor] + private WindowsVMGuestPatchAutomaticByPlatformSettingsResponse( + bool? bypassPlatformSafetyChecksOnUserSchedule, + + string? rebootSetting) + { + BypassPlatformSafetyChecksOnUserSchedule = bypassPlatformSafetyChecksOnUserSchedule; + RebootSetting = rebootSetting; + } + } +} diff --git a/sdk/dotnet/Compute/V20230701/ProximityPlacementGroup.cs b/sdk/dotnet/Compute/V20230701/ProximityPlacementGroup.cs new file mode 100644 index 000000000000..1551e6414e34 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/ProximityPlacementGroup.cs @@ -0,0 +1,214 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Specifies information about the proximity placement group. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:ProximityPlacementGroup")] + public partial class ProximityPlacementGroup : global::Pulumi.CustomResource + { + /// + /// A list of references to all availability sets in the proximity placement group. + /// + [Output("availabilitySets")] + public Output> AvailabilitySets { get; private set; } = null!; + + /// + /// Describes colocation status of the Proximity Placement Group. + /// + [Output("colocationStatus")] + public Output ColocationStatus { get; private set; } = null!; + + /// + /// Specifies the user intent of the proximity placement group. + /// + [Output("intent")] + public Output Intent { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + /// + [Output("proximityPlacementGroupType")] + public Output ProximityPlacementGroupType { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// A list of references to all virtual machine scale sets in the proximity placement group. + /// + [Output("virtualMachineScaleSets")] + public Output> VirtualMachineScaleSets { get; private set; } = null!; + + /// + /// A list of references to all virtual machines in the proximity placement group. + /// + [Output("virtualMachines")] + public Output> VirtualMachines { get; private set; } = null!; + + /// + /// Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. + /// + [Output("zones")] + public Output> Zones { get; private set; } = null!; + + + /// + /// Create a ProximityPlacementGroup resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ProximityPlacementGroup(string name, ProximityPlacementGroupArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:ProximityPlacementGroup", name, args ?? new ProximityPlacementGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private ProximityPlacementGroup(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:ProximityPlacementGroup", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180401:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180601:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20181001:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190301:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191201:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:ProximityPlacementGroup"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:ProximityPlacementGroup"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ProximityPlacementGroup resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static ProximityPlacementGroup Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ProximityPlacementGroup(name, id, options); + } + } + + public sealed class ProximityPlacementGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// Describes colocation status of the Proximity Placement Group. + /// + [Input("colocationStatus")] + public Input? ColocationStatus { get; set; } + + /// + /// Specifies the user intent of the proximity placement group. + /// + [Input("intent")] + public Input? Intent { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the proximity placement group. + /// + [Input("proximityPlacementGroupName")] + public Input? ProximityPlacementGroupName { get; set; } + + /// + /// Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + /// + [Input("proximityPlacementGroupType")] + public InputUnion? ProximityPlacementGroupType { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("zones")] + private InputList? _zones; + + /// + /// Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. + /// + public InputList Zones + { + get => _zones ?? (_zones = new InputList()); + set => _zones = value; + } + + public ProximityPlacementGroupArgs() + { + } + public static new ProximityPlacementGroupArgs Empty => new ProximityPlacementGroupArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/README.md b/sdk/dotnet/Compute/V20230701/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/Compute/V20230701/RestorePoint.cs b/sdk/dotnet/Compute/V20230701/RestorePoint.cs new file mode 100644 index 000000000000..fc566b98be68 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/RestorePoint.cs @@ -0,0 +1,188 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Restore Point details. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:RestorePoint")] + public partial class RestorePoint : global::Pulumi.CustomResource + { + /// + /// ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + /// + [Output("consistencyMode")] + public Output ConsistencyMode { get; private set; } = null!; + + /// + /// List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + /// + [Output("excludeDisks")] + public Output> ExcludeDisks { get; private set; } = null!; + + /// + /// The restore point instance view. + /// + [Output("instanceView")] + public Output InstanceView { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Gets the provisioning state of the restore point. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Gets the details of the VM captured at the time of the restore point creation. + /// + [Output("sourceMetadata")] + public Output SourceMetadata { get; private set; } = null!; + + /// + /// Resource Id of the source restore point from which a copy needs to be created. + /// + [Output("sourceRestorePoint")] + public Output SourceRestorePoint { get; private set; } = null!; + + /// + /// Gets the creation time of the restore point. + /// + [Output("timeCreated")] + public Output TimeCreated { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a RestorePoint resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public RestorePoint(string name, RestorePointArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:RestorePoint", name, args ?? new RestorePointArgs(), MakeResourceOptions(options, "")) + { + } + + private RestorePoint(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:RestorePoint", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:RestorePoint"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:RestorePoint"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:RestorePoint"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:RestorePoint"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:RestorePoint"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:RestorePoint"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:RestorePoint"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:RestorePoint"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:RestorePoint"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing RestorePoint resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static RestorePoint Get(string name, Input id, CustomResourceOptions? options = null) + { + return new RestorePoint(name, id, options); + } + } + + public sealed class RestorePointArgs : global::Pulumi.ResourceArgs + { + /// + /// ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + /// + [Input("consistencyMode")] + public InputUnion? ConsistencyMode { get; set; } + + [Input("excludeDisks")] + private InputList? _excludeDisks; + + /// + /// List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + /// + public InputList ExcludeDisks + { + get => _excludeDisks ?? (_excludeDisks = new InputList()); + set => _excludeDisks = value; + } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the restore point collection. + /// + [Input("restorePointCollectionName", required: true)] + public Input RestorePointCollectionName { get; set; } = null!; + + /// + /// The name of the restore point. + /// + [Input("restorePointName")] + public Input? RestorePointName { get; set; } + + /// + /// Gets the details of the VM captured at the time of the restore point creation. + /// + [Input("sourceMetadata")] + public Input? SourceMetadata { get; set; } + + /// + /// Resource Id of the source restore point from which a copy needs to be created. + /// + [Input("sourceRestorePoint")] + public Input? SourceRestorePoint { get; set; } + + /// + /// Gets the creation time of the restore point. + /// + [Input("timeCreated")] + public Input? TimeCreated { get; set; } + + public RestorePointArgs() + { + } + public static new RestorePointArgs Empty => new RestorePointArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/RestorePointCollection.cs b/sdk/dotnet/Compute/V20230701/RestorePointCollection.cs new file mode 100644 index 000000000000..0d979b8b60b7 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/RestorePointCollection.cs @@ -0,0 +1,164 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Create or update Restore Point collection parameters. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:RestorePointCollection")] + public partial class RestorePointCollection : global::Pulumi.CustomResource + { + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The provisioning state of the restore point collection. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// The unique id of the restore point collection. + /// + [Output("restorePointCollectionId")] + public Output RestorePointCollectionId { get; private set; } = null!; + + /// + /// A list containing all restore points created under this restore point collection. + /// + [Output("restorePoints")] + public Output> RestorePoints { get; private set; } = null!; + + /// + /// The properties of the source resource that this restore point collection is created from. + /// + [Output("source")] + public Output Source { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a RestorePointCollection resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public RestorePointCollection(string name, RestorePointCollectionArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:RestorePointCollection", name, args ?? new RestorePointCollectionArgs(), MakeResourceOptions(options, "")) + { + } + + private RestorePointCollection(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:RestorePointCollection", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:RestorePointCollection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:RestorePointCollection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:RestorePointCollection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:RestorePointCollection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:RestorePointCollection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:RestorePointCollection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:RestorePointCollection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:RestorePointCollection"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:RestorePointCollection"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing RestorePointCollection resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static RestorePointCollection Get(string name, Input id, CustomResourceOptions? options = null) + { + return new RestorePointCollection(name, id, options); + } + } + + public sealed class RestorePointCollectionArgs : global::Pulumi.ResourceArgs + { + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the restore point collection. + /// + [Input("restorePointCollectionName")] + public Input? RestorePointCollectionName { get; set; } + + /// + /// The properties of the source resource that this restore point collection is created from. + /// + [Input("source")] + public Input? Source { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public RestorePointCollectionArgs() + { + } + public static new RestorePointCollectionArgs Empty => new RestorePointCollectionArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/SshPublicKey.cs b/sdk/dotnet/Compute/V20230701/SshPublicKey.cs new file mode 100644 index 000000000000..bf745a84c3b8 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/SshPublicKey.cs @@ -0,0 +1,149 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Specifies information about the SSH public key. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:SshPublicKey")] + public partial class SshPublicKey : global::Pulumi.CustomResource + { + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. + /// + [Output("publicKey")] + public Output PublicKey { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a SshPublicKey resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public SshPublicKey(string name, SshPublicKeyArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:SshPublicKey", name, args ?? new SshPublicKeyArgs(), MakeResourceOptions(options, "")) + { + } + + private SshPublicKey(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:SshPublicKey", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191201:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:SshPublicKey"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:SshPublicKey"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing SshPublicKey resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static SshPublicKey Get(string name, Input id, CustomResourceOptions? options = null) + { + return new SshPublicKey(name, id, options); + } + } + + public sealed class SshPublicKeyArgs : global::Pulumi.ResourceArgs + { + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. + /// + [Input("publicKey")] + public Input? PublicKey { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the SSH public key. + /// + [Input("sshPublicKeyName")] + public Input? SshPublicKeyName { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public SshPublicKeyArgs() + { + } + public static new SshPublicKeyArgs Empty => new SshPublicKeyArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/VirtualMachine.cs b/sdk/dotnet/Compute/V20230701/VirtualMachine.cs new file mode 100644 index 000000000000..cca032aa6ea8 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/VirtualMachine.cs @@ -0,0 +1,495 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Describes a Virtual Machine. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:VirtualMachine")] + public partial class VirtualMachine : global::Pulumi.CustomResource + { + /// + /// Specifies additional capabilities enabled or disabled on the virtual machine. + /// + [Output("additionalCapabilities")] + public Output AdditionalCapabilities { get; private set; } = null!; + + /// + /// Specifies the gallery applications that should be made available to the VM/VMSS. + /// + [Output("applicationProfile")] + public Output ApplicationProfile { get; private set; } = null!; + + /// + /// Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + /// + [Output("availabilitySet")] + public Output AvailabilitySet { get; private set; } = null!; + + /// + /// Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. + /// + [Output("billingProfile")] + public Output BillingProfile { get; private set; } = null!; + + /// + /// Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. + /// + [Output("capacityReservation")] + public Output CapacityReservation { get; private set; } = null!; + + /// + /// Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + /// + [Output("diagnosticsProfile")] + public Output DiagnosticsProfile { get; private set; } = null!; + + /// + /// Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + /// + [Output("evictionPolicy")] + public Output EvictionPolicy { get; private set; } = null!; + + /// + /// The extended location of the Virtual Machine. + /// + [Output("extendedLocation")] + public Output ExtendedLocation { get; private set; } = null!; + + /// + /// Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + /// + [Output("extensionsTimeBudget")] + public Output ExtensionsTimeBudget { get; private set; } = null!; + + /// + /// Specifies the hardware settings for the virtual machine. + /// + [Output("hardwareProfile")] + public Output HardwareProfile { get; private set; } = null!; + + /// + /// Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. + /// + [Output("host")] + public Output Host { get; private set; } = null!; + + /// + /// Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. + /// + [Output("hostGroup")] + public Output HostGroup { get; private set; } = null!; + + /// + /// The identity of the virtual machine, if configured. + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// The virtual machine instance view. + /// + [Output("instanceView")] + public Output InstanceView { get; private set; } = null!; + + /// + /// Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 + /// + [Output("licenseType")] + public Output LicenseType { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Specifies the network interfaces of the virtual machine. + /// + [Output("networkProfile")] + public Output NetworkProfile { get; private set; } = null!; + + /// + /// Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. + /// + [Output("osProfile")] + public Output OsProfile { get; private set; } = null!; + + /// + /// Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + /// + [Output("plan")] + public Output Plan { get; private set; } = null!; + + /// + /// Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. + /// + [Output("platformFaultDomain")] + public Output PlatformFaultDomain { get; private set; } = null!; + + /// + /// Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 + /// + [Output("priority")] + public Output Priority { get; private set; } = null!; + + /// + /// The provisioning state, which only appears in the response. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. + /// + [Output("proximityPlacementGroup")] + public Output ProximityPlacementGroup { get; private set; } = null!; + + /// + /// The virtual machine child extension resources. + /// + [Output("resources")] + public Output> Resources { get; private set; } = null!; + + /// + /// Specifies Scheduled Event related configurations. + /// + [Output("scheduledEventsProfile")] + public Output ScheduledEventsProfile { get; private set; } = null!; + + /// + /// Specifies the Security related profile settings for the virtual machine. + /// + [Output("securityProfile")] + public Output SecurityProfile { get; private set; } = null!; + + /// + /// Specifies the storage settings for the virtual machine disks. + /// + [Output("storageProfile")] + public Output StorageProfile { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01. + /// + [Output("timeCreated")] + public Output TimeCreated { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + /// + [Output("userData")] + public Output UserData { get; private set; } = null!; + + /// + /// Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. + /// + [Output("virtualMachineScaleSet")] + public Output VirtualMachineScaleSet { get; private set; } = null!; + + /// + /// Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. + /// + [Output("vmId")] + public Output VmId { get; private set; } = null!; + + /// + /// The virtual machine zones. + /// + [Output("zones")] + public Output> Zones { get; private set; } = null!; + + + /// + /// Create a VirtualMachine resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public VirtualMachine(string name, VirtualMachineArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachine", name, args ?? new VirtualMachineArgs(), MakeResourceOptions(options, "")) + { + } + + private VirtualMachine(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachine", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20150615:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20160330:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20160430preview:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20170330:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20171201:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180401:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180601:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20181001:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190301:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191201:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachine"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing VirtualMachine resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static VirtualMachine Get(string name, Input id, CustomResourceOptions? options = null) + { + return new VirtualMachine(name, id, options); + } + } + + public sealed class VirtualMachineArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies additional capabilities enabled or disabled on the virtual machine. + /// + [Input("additionalCapabilities")] + public Input? AdditionalCapabilities { get; set; } + + /// + /// Specifies the gallery applications that should be made available to the VM/VMSS. + /// + [Input("applicationProfile")] + public Input? ApplicationProfile { get; set; } + + /// + /// Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + /// + [Input("availabilitySet")] + public Input? AvailabilitySet { get; set; } + + /// + /// Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. + /// + [Input("billingProfile")] + public Input? BillingProfile { get; set; } + + /// + /// Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. + /// + [Input("capacityReservation")] + public Input? CapacityReservation { get; set; } + + /// + /// Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + /// + [Input("diagnosticsProfile")] + public Input? DiagnosticsProfile { get; set; } + + /// + /// Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + /// + [Input("evictionPolicy")] + public InputUnion? EvictionPolicy { get; set; } + + /// + /// The extended location of the Virtual Machine. + /// + [Input("extendedLocation")] + public Input? ExtendedLocation { get; set; } + + /// + /// Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + /// + [Input("extensionsTimeBudget")] + public Input? ExtensionsTimeBudget { get; set; } + + /// + /// Specifies the hardware settings for the virtual machine. + /// + [Input("hardwareProfile")] + public Input? HardwareProfile { get; set; } + + /// + /// Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. + /// + [Input("host")] + public Input? Host { get; set; } + + /// + /// Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. + /// + [Input("hostGroup")] + public Input? HostGroup { get; set; } + + /// + /// The identity of the virtual machine, if configured. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 + /// + [Input("licenseType")] + public Input? LicenseType { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Specifies the network interfaces of the virtual machine. + /// + [Input("networkProfile")] + public Input? NetworkProfile { get; set; } + + /// + /// Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. + /// + [Input("osProfile")] + public Input? OsProfile { get; set; } + + /// + /// Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + /// + [Input("plan")] + public Input? Plan { get; set; } + + /// + /// Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. + /// + [Input("platformFaultDomain")] + public Input? PlatformFaultDomain { get; set; } + + /// + /// Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 + /// + [Input("priority")] + public InputUnion? Priority { get; set; } + + /// + /// Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. + /// + [Input("proximityPlacementGroup")] + public Input? ProximityPlacementGroup { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Specifies Scheduled Event related configurations. + /// + [Input("scheduledEventsProfile")] + public Input? ScheduledEventsProfile { get; set; } + + /// + /// Specifies the Security related profile settings for the virtual machine. + /// + [Input("securityProfile")] + public Input? SecurityProfile { get; set; } + + /// + /// Specifies the storage settings for the virtual machine disks. + /// + [Input("storageProfile")] + public Input? StorageProfile { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + /// + [Input("userData")] + public Input? UserData { get; set; } + + /// + /// Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. + /// + [Input("virtualMachineScaleSet")] + public Input? VirtualMachineScaleSet { get; set; } + + /// + /// The name of the virtual machine. + /// + [Input("vmName")] + public Input? VmName { get; set; } + + [Input("zones")] + private InputList? _zones; + + /// + /// The virtual machine zones. + /// + public InputList Zones + { + get => _zones ?? (_zones = new InputList()); + set => _zones = value; + } + + public VirtualMachineArgs() + { + } + public static new VirtualMachineArgs Empty => new VirtualMachineArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/VirtualMachineExtension.cs b/sdk/dotnet/Compute/V20230701/VirtualMachineExtension.cs new file mode 100644 index 000000000000..e542a9c0ca49 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/VirtualMachineExtension.cs @@ -0,0 +1,303 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Describes a Virtual Machine Extension. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:VirtualMachineExtension")] + public partial class VirtualMachineExtension : global::Pulumi.CustomResource + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + [Output("autoUpgradeMinorVersion")] + public Output AutoUpgradeMinorVersion { get; private set; } = null!; + + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + [Output("enableAutomaticUpgrade")] + public Output EnableAutomaticUpgrade { get; private set; } = null!; + + /// + /// How the extension handler should be forced to update even if the extension configuration has not changed. + /// + [Output("forceUpdateTag")] + public Output ForceUpdateTag { get; private set; } = null!; + + /// + /// The virtual machine extension instance view. + /// + [Output("instanceView")] + public Output InstanceView { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + [Output("protectedSettings")] + public Output ProtectedSettings { get; private set; } = null!; + + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + [Output("protectedSettingsFromKeyVault")] + public Output ProtectedSettingsFromKeyVault { get; private set; } = null!; + + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + [Output("provisionAfterExtensions")] + public Output> ProvisionAfterExtensions { get; private set; } = null!; + + /// + /// The provisioning state, which only appears in the response. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// The name of the extension handler publisher. + /// + [Output("publisher")] + public Output Publisher { get; private set; } = null!; + + /// + /// Json formatted public settings for the extension. + /// + [Output("settings")] + public Output Settings { get; private set; } = null!; + + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + [Output("suppressFailures")] + public Output SuppressFailures { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Specifies the version of the script handler. + /// + [Output("typeHandlerVersion")] + public Output TypeHandlerVersion { get; private set; } = null!; + + + /// + /// Create a VirtualMachineExtension resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public VirtualMachineExtension(string name, VirtualMachineExtensionArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineExtension", name, args ?? new VirtualMachineExtensionArgs(), MakeResourceOptions(options, "")) + { + } + + private VirtualMachineExtension(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineExtension", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20150615:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20160330:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20160430preview:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20170330:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20171201:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180401:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180601:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20181001:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190301:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191201:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineExtension"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing VirtualMachineExtension resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static VirtualMachineExtension Get(string name, Input id, CustomResourceOptions? options = null) + { + return new VirtualMachineExtension(name, id, options); + } + } + + public sealed class VirtualMachineExtensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + [Input("autoUpgradeMinorVersion")] + public Input? AutoUpgradeMinorVersion { get; set; } + + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + [Input("enableAutomaticUpgrade")] + public Input? EnableAutomaticUpgrade { get; set; } + + /// + /// How the extension handler should be forced to update even if the extension configuration has not changed. + /// + [Input("forceUpdateTag")] + public Input? ForceUpdateTag { get; set; } + + /// + /// The virtual machine extension instance view. + /// + [Input("instanceView")] + public Input? InstanceView { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + [Input("protectedSettings")] + public Input? ProtectedSettings { get; set; } + + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + [Input("protectedSettingsFromKeyVault")] + public Input? ProtectedSettingsFromKeyVault { get; set; } + + [Input("provisionAfterExtensions")] + private InputList? _provisionAfterExtensions; + + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + public InputList ProvisionAfterExtensions + { + get => _provisionAfterExtensions ?? (_provisionAfterExtensions = new InputList()); + set => _provisionAfterExtensions = value; + } + + /// + /// The name of the extension handler publisher. + /// + [Input("publisher")] + public Input? Publisher { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Json formatted public settings for the extension. + /// + [Input("settings")] + public Input? Settings { get; set; } + + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + [Input("suppressFailures")] + public Input? SuppressFailures { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// Specifies the type of the extension; an example is "CustomScriptExtension". + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Specifies the version of the script handler. + /// + [Input("typeHandlerVersion")] + public Input? TypeHandlerVersion { get; set; } + + /// + /// The name of the virtual machine extension. + /// + [Input("vmExtensionName")] + public Input? VmExtensionName { get; set; } + + /// + /// The name of the virtual machine where the extension should be created or updated. + /// + [Input("vmName", required: true)] + public Input VmName { get; set; } = null!; + + public VirtualMachineExtensionArgs() + { + } + public static new VirtualMachineExtensionArgs Empty => new VirtualMachineExtensionArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/VirtualMachineRunCommandByVirtualMachine.cs b/sdk/dotnet/Compute/V20230701/VirtualMachineRunCommandByVirtualMachine.cs new file mode 100644 index 000000000000..d13fbba6f56f --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/VirtualMachineRunCommandByVirtualMachine.cs @@ -0,0 +1,312 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Describes a Virtual Machine run command. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine")] + public partial class VirtualMachineRunCommandByVirtualMachine : global::Pulumi.CustomResource + { + /// + /// Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + /// + [Output("asyncExecution")] + public Output AsyncExecution { get; private set; } = null!; + + /// + /// User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + /// + [Output("errorBlobManagedIdentity")] + public Output ErrorBlobManagedIdentity { get; private set; } = null!; + + /// + /// Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + /// + [Output("errorBlobUri")] + public Output ErrorBlobUri { get; private set; } = null!; + + /// + /// The virtual machine run command instance view. + /// + [Output("instanceView")] + public Output InstanceView { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + /// + [Output("outputBlobManagedIdentity")] + public Output OutputBlobManagedIdentity { get; private set; } = null!; + + /// + /// Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + /// + [Output("outputBlobUri")] + public Output OutputBlobUri { get; private set; } = null!; + + /// + /// The parameters used by the script. + /// + [Output("parameters")] + public Output> Parameters { get; private set; } = null!; + + /// + /// The parameters used by the script. + /// + [Output("protectedParameters")] + public Output> ProtectedParameters { get; private set; } = null!; + + /// + /// The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Specifies the user account password on the VM when executing the run command. + /// + [Output("runAsPassword")] + public Output RunAsPassword { get; private set; } = null!; + + /// + /// Specifies the user account on the VM when executing the run command. + /// + [Output("runAsUser")] + public Output RunAsUser { get; private set; } = null!; + + /// + /// The source of the run command script. + /// + [Output("source")] + public Output Source { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The timeout in seconds to execute the run command. + /// + [Output("timeoutInSeconds")] + public Output TimeoutInSeconds { get; private set; } = null!; + + /// + /// Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + /// + [Output("treatFailureAsDeploymentFailure")] + public Output TreatFailureAsDeploymentFailure { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a VirtualMachineRunCommandByVirtualMachine resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public VirtualMachineRunCommandByVirtualMachine(string name, VirtualMachineRunCommandByVirtualMachineArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine", name, args ?? new VirtualMachineRunCommandByVirtualMachineArgs(), MakeResourceOptions(options, "")) + { + } + + private VirtualMachineRunCommandByVirtualMachine(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:VirtualMachineRunCommandByVirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:VirtualMachineRunCommandByVirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:VirtualMachineRunCommandByVirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:VirtualMachineRunCommandByVirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:VirtualMachineRunCommandByVirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:VirtualMachineRunCommandByVirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:VirtualMachineRunCommandByVirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineRunCommandByVirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineRunCommandByVirtualMachine"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing VirtualMachineRunCommandByVirtualMachine resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static VirtualMachineRunCommandByVirtualMachine Get(string name, Input id, CustomResourceOptions? options = null) + { + return new VirtualMachineRunCommandByVirtualMachine(name, id, options); + } + } + + public sealed class VirtualMachineRunCommandByVirtualMachineArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + /// + [Input("asyncExecution")] + public Input? AsyncExecution { get; set; } + + /// + /// User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + /// + [Input("errorBlobManagedIdentity")] + public Input? ErrorBlobManagedIdentity { get; set; } + + /// + /// Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + /// + [Input("errorBlobUri")] + public Input? ErrorBlobUri { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + /// + [Input("outputBlobManagedIdentity")] + public Input? OutputBlobManagedIdentity { get; set; } + + /// + /// Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + /// + [Input("outputBlobUri")] + public Input? OutputBlobUri { get; set; } + + [Input("parameters")] + private InputList? _parameters; + + /// + /// The parameters used by the script. + /// + public InputList Parameters + { + get => _parameters ?? (_parameters = new InputList()); + set => _parameters = value; + } + + [Input("protectedParameters")] + private InputList? _protectedParameters; + + /// + /// The parameters used by the script. + /// + public InputList ProtectedParameters + { + get => _protectedParameters ?? (_protectedParameters = new InputList()); + set => _protectedParameters = value; + } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Specifies the user account password on the VM when executing the run command. + /// + [Input("runAsPassword")] + public Input? RunAsPassword { get; set; } + + /// + /// Specifies the user account on the VM when executing the run command. + /// + [Input("runAsUser")] + public Input? RunAsUser { get; set; } + + /// + /// The name of the virtual machine run command. + /// + [Input("runCommandName")] + public Input? RunCommandName { get; set; } + + /// + /// The source of the run command script. + /// + [Input("source")] + public Input? Source { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// The timeout in seconds to execute the run command. + /// + [Input("timeoutInSeconds")] + public Input? TimeoutInSeconds { get; set; } + + /// + /// Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + /// + [Input("treatFailureAsDeploymentFailure")] + public Input? TreatFailureAsDeploymentFailure { get; set; } + + /// + /// The name of the virtual machine where the run command should be created or updated. + /// + [Input("vmName", required: true)] + public Input VmName { get; set; } = null!; + + public VirtualMachineRunCommandByVirtualMachineArgs() + { + AsyncExecution = false; + TreatFailureAsDeploymentFailure = false; + } + public static new VirtualMachineRunCommandByVirtualMachineArgs Empty => new VirtualMachineRunCommandByVirtualMachineArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSet.cs b/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSet.cs new file mode 100644 index 000000000000..831c993565b4 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSet.cs @@ -0,0 +1,423 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Describes a Virtual Machine Scale Set. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:VirtualMachineScaleSet")] + public partial class VirtualMachineScaleSet : global::Pulumi.CustomResource + { + /// + /// Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + /// + [Output("additionalCapabilities")] + public Output AdditionalCapabilities { get; private set; } = null!; + + /// + /// Policy for automatic repairs. + /// + [Output("automaticRepairsPolicy")] + public Output AutomaticRepairsPolicy { get; private set; } = null!; + + /// + /// Optional property which must either be set to True or omitted. + /// + [Output("constrainedMaximumCapacity")] + public Output ConstrainedMaximumCapacity { get; private set; } = null!; + + /// + /// When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + /// + [Output("doNotRunExtensionsOnOverprovisionedVMs")] + public Output DoNotRunExtensionsOnOverprovisionedVMs { get; private set; } = null!; + + /// + /// The extended location of the Virtual Machine Scale Set. + /// + [Output("extendedLocation")] + public Output ExtendedLocation { get; private set; } = null!; + + /// + /// Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + /// + [Output("hostGroup")] + public Output HostGroup { get; private set; } = null!; + + /// + /// The identity of the virtual machine scale set, if configured. + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Specifies the orchestration mode for the virtual machine scale set. + /// + [Output("orchestrationMode")] + public Output OrchestrationMode { get; private set; } = null!; + + /// + /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. + /// + [Output("overprovision")] + public Output Overprovision { get; private set; } = null!; + + /// + /// Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + /// + [Output("plan")] + public Output Plan { get; private set; } = null!; + + /// + /// Fault Domain count for each placement group. + /// + [Output("platformFaultDomainCount")] + public Output PlatformFaultDomainCount { get; private set; } = null!; + + /// + /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + /// + [Output("priorityMixPolicy")] + public Output PriorityMixPolicy { get; private set; } = null!; + + /// + /// The provisioning state, which only appears in the response. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + /// + [Output("proximityPlacementGroup")] + public Output ProximityPlacementGroup { get; private set; } = null!; + + /// + /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + /// + [Output("scaleInPolicy")] + public Output ScaleInPolicy { get; private set; } = null!; + + /// + /// When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. + /// + [Output("singlePlacementGroup")] + public Output SinglePlacementGroup { get; private set; } = null!; + + /// + /// The virtual machine scale set sku. + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Specifies the Spot Restore properties for the virtual machine scale set. + /// + [Output("spotRestorePolicy")] + public Output SpotRestorePolicy { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. + /// + [Output("timeCreated")] + public Output TimeCreated { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Specifies the ID which uniquely identifies a Virtual Machine Scale Set. + /// + [Output("uniqueId")] + public Output UniqueId { get; private set; } = null!; + + /// + /// The upgrade policy. + /// + [Output("upgradePolicy")] + public Output UpgradePolicy { get; private set; } = null!; + + /// + /// The virtual machine profile. + /// + [Output("virtualMachineProfile")] + public Output VirtualMachineProfile { get; private set; } = null!; + + /// + /// Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. + /// + [Output("zoneBalance")] + public Output ZoneBalance { get; private set; } = null!; + + /// + /// The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set + /// + [Output("zones")] + public Output> Zones { get; private set; } = null!; + + + /// + /// Create a VirtualMachineScaleSet resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public VirtualMachineScaleSet(string name, VirtualMachineScaleSetArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineScaleSet", name, args ?? new VirtualMachineScaleSetArgs(), MakeResourceOptions(options, "")) + { + } + + private VirtualMachineScaleSet(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineScaleSet", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20150615:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20160330:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20160430preview:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20170330:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20171201:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180401:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180601:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20181001:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190301:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191201:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineScaleSet"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing VirtualMachineScaleSet resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static VirtualMachineScaleSet Get(string name, Input id, CustomResourceOptions? options = null) + { + return new VirtualMachineScaleSet(name, id, options); + } + } + + public sealed class VirtualMachineScaleSetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + /// + [Input("additionalCapabilities")] + public Input? AdditionalCapabilities { get; set; } + + /// + /// Policy for automatic repairs. + /// + [Input("automaticRepairsPolicy")] + public Input? AutomaticRepairsPolicy { get; set; } + + /// + /// Optional property which must either be set to True or omitted. + /// + [Input("constrainedMaximumCapacity")] + public Input? ConstrainedMaximumCapacity { get; set; } + + /// + /// When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + /// + [Input("doNotRunExtensionsOnOverprovisionedVMs")] + public Input? DoNotRunExtensionsOnOverprovisionedVMs { get; set; } + + /// + /// The extended location of the Virtual Machine Scale Set. + /// + [Input("extendedLocation")] + public Input? ExtendedLocation { get; set; } + + /// + /// Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + /// + [Input("hostGroup")] + public Input? HostGroup { get; set; } + + /// + /// The identity of the virtual machine scale set, if configured. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Specifies the orchestration mode for the virtual machine scale set. + /// + [Input("orchestrationMode")] + public InputUnion? OrchestrationMode { get; set; } + + /// + /// Specifies whether the Virtual Machine Scale Set should be overprovisioned. + /// + [Input("overprovision")] + public Input? Overprovision { get; set; } + + /// + /// Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + /// + [Input("plan")] + public Input? Plan { get; set; } + + /// + /// Fault Domain count for each placement group. + /// + [Input("platformFaultDomainCount")] + public Input? PlatformFaultDomainCount { get; set; } + + /// + /// Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + /// + [Input("priorityMixPolicy")] + public Input? PriorityMixPolicy { get; set; } + + /// + /// Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + /// + [Input("proximityPlacementGroup")] + public Input? ProximityPlacementGroup { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + /// + [Input("scaleInPolicy")] + public Input? ScaleInPolicy { get; set; } + + /// + /// When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. + /// + [Input("singlePlacementGroup")] + public Input? SinglePlacementGroup { get; set; } + + /// + /// The virtual machine scale set sku. + /// + [Input("sku")] + public Input? Sku { get; set; } + + /// + /// Specifies the Spot Restore properties for the virtual machine scale set. + /// + [Input("spotRestorePolicy")] + public Input? SpotRestorePolicy { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// The upgrade policy. + /// + [Input("upgradePolicy")] + public Input? UpgradePolicy { get; set; } + + /// + /// The virtual machine profile. + /// + [Input("virtualMachineProfile")] + public Input? VirtualMachineProfile { get; set; } + + /// + /// The name of the VM scale set to create or update. + /// + [Input("vmScaleSetName")] + public Input? VmScaleSetName { get; set; } + + /// + /// Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. + /// + [Input("zoneBalance")] + public Input? ZoneBalance { get; set; } + + [Input("zones")] + private InputList? _zones; + + /// + /// The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set + /// + public InputList Zones + { + get => _zones ?? (_zones = new InputList()); + set => _zones = value; + } + + public VirtualMachineScaleSetArgs() + { + } + public static new VirtualMachineScaleSetArgs Empty => new VirtualMachineScaleSetArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSetExtension.cs b/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSetExtension.cs new file mode 100644 index 000000000000..53eff87fb22c --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSetExtension.cs @@ -0,0 +1,264 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Describes a Virtual Machine Scale Set Extension. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:VirtualMachineScaleSetExtension")] + public partial class VirtualMachineScaleSetExtension : global::Pulumi.CustomResource + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + [Output("autoUpgradeMinorVersion")] + public Output AutoUpgradeMinorVersion { get; private set; } = null!; + + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + [Output("enableAutomaticUpgrade")] + public Output EnableAutomaticUpgrade { get; private set; } = null!; + + /// + /// If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + /// + [Output("forceUpdateTag")] + public Output ForceUpdateTag { get; private set; } = null!; + + /// + /// The name of the extension. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + [Output("protectedSettings")] + public Output ProtectedSettings { get; private set; } = null!; + + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + [Output("protectedSettingsFromKeyVault")] + public Output ProtectedSettingsFromKeyVault { get; private set; } = null!; + + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + [Output("provisionAfterExtensions")] + public Output> ProvisionAfterExtensions { get; private set; } = null!; + + /// + /// The provisioning state, which only appears in the response. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// The name of the extension handler publisher. + /// + [Output("publisher")] + public Output Publisher { get; private set; } = null!; + + /// + /// Json formatted public settings for the extension. + /// + [Output("settings")] + public Output Settings { get; private set; } = null!; + + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + [Output("suppressFailures")] + public Output SuppressFailures { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Specifies the version of the script handler. + /// + [Output("typeHandlerVersion")] + public Output TypeHandlerVersion { get; private set; } = null!; + + + /// + /// Create a VirtualMachineScaleSetExtension resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public VirtualMachineScaleSetExtension(string name, VirtualMachineScaleSetExtensionArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineScaleSetExtension", name, args ?? new VirtualMachineScaleSetExtensionArgs(), MakeResourceOptions(options, "")) + { + } + + private VirtualMachineScaleSetExtension(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineScaleSetExtension", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20170330:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20171201:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180401:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180601:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20181001:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190301:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191201:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineScaleSetExtension"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing VirtualMachineScaleSetExtension resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static VirtualMachineScaleSetExtension Get(string name, Input id, CustomResourceOptions? options = null) + { + return new VirtualMachineScaleSetExtension(name, id, options); + } + } + + public sealed class VirtualMachineScaleSetExtensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + [Input("autoUpgradeMinorVersion")] + public Input? AutoUpgradeMinorVersion { get; set; } + + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + [Input("enableAutomaticUpgrade")] + public Input? EnableAutomaticUpgrade { get; set; } + + /// + /// If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + /// + [Input("forceUpdateTag")] + public Input? ForceUpdateTag { get; set; } + + /// + /// The name of the extension. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + [Input("protectedSettings")] + public Input? ProtectedSettings { get; set; } + + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + [Input("protectedSettingsFromKeyVault")] + public Input? ProtectedSettingsFromKeyVault { get; set; } + + [Input("provisionAfterExtensions")] + private InputList? _provisionAfterExtensions; + + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + public InputList ProvisionAfterExtensions + { + get => _provisionAfterExtensions ?? (_provisionAfterExtensions = new InputList()); + set => _provisionAfterExtensions = value; + } + + /// + /// The name of the extension handler publisher. + /// + [Input("publisher")] + public Input? Publisher { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Json formatted public settings for the extension. + /// + [Input("settings")] + public Input? Settings { get; set; } + + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + [Input("suppressFailures")] + public Input? SuppressFailures { get; set; } + + /// + /// Specifies the type of the extension; an example is "CustomScriptExtension". + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Specifies the version of the script handler. + /// + [Input("typeHandlerVersion")] + public Input? TypeHandlerVersion { get; set; } + + /// + /// The name of the VM scale set where the extension should be create or updated. + /// + [Input("vmScaleSetName", required: true)] + public Input VmScaleSetName { get; set; } = null!; + + /// + /// The name of the VM scale set extension. + /// + [Input("vmssExtensionName")] + public Input? VmssExtensionName { get; set; } + + public VirtualMachineScaleSetExtensionArgs() + { + } + public static new VirtualMachineScaleSetExtensionArgs Empty => new VirtualMachineScaleSetExtensionArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSetVM.cs b/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSetVM.cs new file mode 100644 index 000000000000..9d9a41b19648 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSetVM.cs @@ -0,0 +1,377 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Describes a virtual machine scale set virtual machine. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:VirtualMachineScaleSetVM")] + public partial class VirtualMachineScaleSetVM : global::Pulumi.CustomResource + { + /// + /// Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + /// + [Output("additionalCapabilities")] + public Output AdditionalCapabilities { get; private set; } = null!; + + /// + /// Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. + /// + [Output("availabilitySet")] + public Output AvailabilitySet { get; private set; } = null!; + + /// + /// Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + /// + [Output("diagnosticsProfile")] + public Output DiagnosticsProfile { get; private set; } = null!; + + /// + /// Specifies the hardware settings for the virtual machine. + /// + [Output("hardwareProfile")] + public Output HardwareProfile { get; private set; } = null!; + + /// + /// The identity of the virtual machine, if configured. + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// The virtual machine instance ID. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// The virtual machine instance view. + /// + [Output("instanceView")] + public Output InstanceView { get; private set; } = null!; + + /// + /// Specifies whether the latest model has been applied to the virtual machine. + /// + [Output("latestModelApplied")] + public Output LatestModelApplied { get; private set; } = null!; + + /// + /// Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 + /// + [Output("licenseType")] + public Output LicenseType { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine. + /// + [Output("modelDefinitionApplied")] + public Output ModelDefinitionApplied { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Specifies the network interfaces of the virtual machine. + /// + [Output("networkProfile")] + public Output NetworkProfile { get; private set; } = null!; + + /// + /// Specifies the network profile configuration of the virtual machine. + /// + [Output("networkProfileConfiguration")] + public Output NetworkProfileConfiguration { get; private set; } = null!; + + /// + /// Specifies the operating system settings for the virtual machine. + /// + [Output("osProfile")] + public Output OsProfile { get; private set; } = null!; + + /// + /// Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + /// + [Output("plan")] + public Output Plan { get; private set; } = null!; + + /// + /// Specifies the protection policy of the virtual machine. + /// + [Output("protectionPolicy")] + public Output ProtectionPolicy { get; private set; } = null!; + + /// + /// The provisioning state, which only appears in the response. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// The virtual machine child extension resources. + /// + [Output("resources")] + public Output> Resources { get; private set; } = null!; + + /// + /// Specifies the Security related profile settings for the virtual machine. + /// + [Output("securityProfile")] + public Output SecurityProfile { get; private set; } = null!; + + /// + /// The virtual machine SKU. + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Specifies the storage settings for the virtual machine disks. + /// + [Output("storageProfile")] + public Output StorageProfile { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Specifies the time at which the Virtual Machine resource was created.<br><br>Minimum api-version: 2021-11-01. + /// + [Output("timeCreated")] + public Output TimeCreated { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. <br><br>Minimum api-version: 2021-03-01 + /// + [Output("userData")] + public Output UserData { get; private set; } = null!; + + /// + /// Azure VM unique ID. + /// + [Output("vmId")] + public Output VmId { get; private set; } = null!; + + /// + /// The virtual machine zones. + /// + [Output("zones")] + public Output> Zones { get; private set; } = null!; + + + /// + /// Create a VirtualMachineScaleSetVM resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public VirtualMachineScaleSetVM(string name, VirtualMachineScaleSetVMArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineScaleSetVM", name, args ?? new VirtualMachineScaleSetVMArgs(), MakeResourceOptions(options, "")) + { + } + + private VirtualMachineScaleSetVM(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineScaleSetVM", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20171201:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180401:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20180601:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20181001:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190301:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191201:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineScaleSetVM"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing VirtualMachineScaleSetVM resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static VirtualMachineScaleSetVM Get(string name, Input id, CustomResourceOptions? options = null) + { + return new VirtualMachineScaleSetVM(name, id, options); + } + } + + public sealed class VirtualMachineScaleSetVMArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + /// + [Input("additionalCapabilities")] + public Input? AdditionalCapabilities { get; set; } + + /// + /// Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. + /// + [Input("availabilitySet")] + public Input? AvailabilitySet { get; set; } + + /// + /// Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + /// + [Input("diagnosticsProfile")] + public Input? DiagnosticsProfile { get; set; } + + /// + /// Specifies the hardware settings for the virtual machine. + /// + [Input("hardwareProfile")] + public Input? HardwareProfile { get; set; } + + /// + /// The identity of the virtual machine, if configured. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// The instance ID of the virtual machine. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 + /// + [Input("licenseType")] + public Input? LicenseType { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Specifies the network interfaces of the virtual machine. + /// + [Input("networkProfile")] + public Input? NetworkProfile { get; set; } + + /// + /// Specifies the network profile configuration of the virtual machine. + /// + [Input("networkProfileConfiguration")] + public Input? NetworkProfileConfiguration { get; set; } + + /// + /// Specifies the operating system settings for the virtual machine. + /// + [Input("osProfile")] + public Input? OsProfile { get; set; } + + /// + /// Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + /// + [Input("plan")] + public Input? Plan { get; set; } + + /// + /// Specifies the protection policy of the virtual machine. + /// + [Input("protectionPolicy")] + public Input? ProtectionPolicy { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Specifies the Security related profile settings for the virtual machine. + /// + [Input("securityProfile")] + public Input? SecurityProfile { get; set; } + + /// + /// Specifies the storage settings for the virtual machine disks. + /// + [Input("storageProfile")] + public Input? StorageProfile { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. <br><br>Minimum api-version: 2021-03-01 + /// + [Input("userData")] + public Input? UserData { get; set; } + + /// + /// The name of the VM scale set where the extension should be create or updated. + /// + [Input("vmScaleSetName", required: true)] + public Input VmScaleSetName { get; set; } = null!; + + public VirtualMachineScaleSetVMArgs() + { + } + public static new VirtualMachineScaleSetVMArgs Empty => new VirtualMachineScaleSetVMArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSetVMExtension.cs b/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSetVMExtension.cs new file mode 100644 index 000000000000..36d09aafe0fa --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSetVMExtension.cs @@ -0,0 +1,282 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Describes a VMSS VM Extension. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension")] + public partial class VirtualMachineScaleSetVMExtension : global::Pulumi.CustomResource + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + [Output("autoUpgradeMinorVersion")] + public Output AutoUpgradeMinorVersion { get; private set; } = null!; + + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + [Output("enableAutomaticUpgrade")] + public Output EnableAutomaticUpgrade { get; private set; } = null!; + + /// + /// How the extension handler should be forced to update even if the extension configuration has not changed. + /// + [Output("forceUpdateTag")] + public Output ForceUpdateTag { get; private set; } = null!; + + /// + /// The virtual machine extension instance view. + /// + [Output("instanceView")] + public Output InstanceView { get; private set; } = null!; + + /// + /// The location of the extension. + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name of the extension. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + [Output("protectedSettings")] + public Output ProtectedSettings { get; private set; } = null!; + + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + [Output("protectedSettingsFromKeyVault")] + public Output ProtectedSettingsFromKeyVault { get; private set; } = null!; + + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + [Output("provisionAfterExtensions")] + public Output> ProvisionAfterExtensions { get; private set; } = null!; + + /// + /// The provisioning state, which only appears in the response. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// The name of the extension handler publisher. + /// + [Output("publisher")] + public Output Publisher { get; private set; } = null!; + + /// + /// Json formatted public settings for the extension. + /// + [Output("settings")] + public Output Settings { get; private set; } = null!; + + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + [Output("suppressFailures")] + public Output SuppressFailures { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Specifies the version of the script handler. + /// + [Output("typeHandlerVersion")] + public Output TypeHandlerVersion { get; private set; } = null!; + + + /// + /// Create a VirtualMachineScaleSetVMExtension resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public VirtualMachineScaleSetVMExtension(string name, VirtualMachineScaleSetVMExtensionArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension", name, args ?? new VirtualMachineScaleSetVMExtensionArgs(), MakeResourceOptions(options, "")) + { + } + + private VirtualMachineScaleSetVMExtension(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing VirtualMachineScaleSetVMExtension resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static VirtualMachineScaleSetVMExtension Get(string name, Input id, CustomResourceOptions? options = null) + { + return new VirtualMachineScaleSetVMExtension(name, id, options); + } + } + + public sealed class VirtualMachineScaleSetVMExtensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + /// + [Input("autoUpgradeMinorVersion")] + public Input? AutoUpgradeMinorVersion { get; set; } + + /// + /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + /// + [Input("enableAutomaticUpgrade")] + public Input? EnableAutomaticUpgrade { get; set; } + + /// + /// How the extension handler should be forced to update even if the extension configuration has not changed. + /// + [Input("forceUpdateTag")] + public Input? ForceUpdateTag { get; set; } + + /// + /// The instance ID of the virtual machine. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// The virtual machine extension instance view. + /// + [Input("instanceView")] + public Input? InstanceView { get; set; } + + /// + /// The location of the extension. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + /// + [Input("protectedSettings")] + public Input? ProtectedSettings { get; set; } + + /// + /// The extensions protected settings that are passed by reference, and consumed from key vault + /// + [Input("protectedSettingsFromKeyVault")] + public Input? ProtectedSettingsFromKeyVault { get; set; } + + [Input("provisionAfterExtensions")] + private InputList? _provisionAfterExtensions; + + /// + /// Collection of extension names after which this extension needs to be provisioned. + /// + public InputList ProvisionAfterExtensions + { + get => _provisionAfterExtensions ?? (_provisionAfterExtensions = new InputList()); + set => _provisionAfterExtensions = value; + } + + /// + /// The name of the extension handler publisher. + /// + [Input("publisher")] + public Input? Publisher { get; set; } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Json formatted public settings for the extension. + /// + [Input("settings")] + public Input? Settings { get; set; } + + /// + /// Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + /// + [Input("suppressFailures")] + public Input? SuppressFailures { get; set; } + + /// + /// Specifies the type of the extension; an example is "CustomScriptExtension". + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Specifies the version of the script handler. + /// + [Input("typeHandlerVersion")] + public Input? TypeHandlerVersion { get; set; } + + /// + /// The name of the virtual machine extension. + /// + [Input("vmExtensionName")] + public Input? VmExtensionName { get; set; } + + /// + /// The name of the VM scale set. + /// + [Input("vmScaleSetName", required: true)] + public Input VmScaleSetName { get; set; } = null!; + + public VirtualMachineScaleSetVMExtensionArgs() + { + } + public static new VirtualMachineScaleSetVMExtensionArgs Empty => new VirtualMachineScaleSetVMExtensionArgs(); + } +} diff --git a/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSetVMRunCommand.cs b/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSetVMRunCommand.cs new file mode 100644 index 000000000000..7670f7cc2412 --- /dev/null +++ b/sdk/dotnet/Compute/V20230701/VirtualMachineScaleSetVMRunCommand.cs @@ -0,0 +1,318 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Compute.V20230701 +{ + /// + /// Describes a Virtual Machine run command. + /// + [AzureNativeResourceType("azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand")] + public partial class VirtualMachineScaleSetVMRunCommand : global::Pulumi.CustomResource + { + /// + /// Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + /// + [Output("asyncExecution")] + public Output AsyncExecution { get; private set; } = null!; + + /// + /// User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + /// + [Output("errorBlobManagedIdentity")] + public Output ErrorBlobManagedIdentity { get; private set; } = null!; + + /// + /// Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + /// + [Output("errorBlobUri")] + public Output ErrorBlobUri { get; private set; } = null!; + + /// + /// The virtual machine run command instance view. + /// + [Output("instanceView")] + public Output InstanceView { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + /// + [Output("outputBlobManagedIdentity")] + public Output OutputBlobManagedIdentity { get; private set; } = null!; + + /// + /// Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + /// + [Output("outputBlobUri")] + public Output OutputBlobUri { get; private set; } = null!; + + /// + /// The parameters used by the script. + /// + [Output("parameters")] + public Output> Parameters { get; private set; } = null!; + + /// + /// The parameters used by the script. + /// + [Output("protectedParameters")] + public Output> ProtectedParameters { get; private set; } = null!; + + /// + /// The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Specifies the user account password on the VM when executing the run command. + /// + [Output("runAsPassword")] + public Output RunAsPassword { get; private set; } = null!; + + /// + /// Specifies the user account on the VM when executing the run command. + /// + [Output("runAsUser")] + public Output RunAsUser { get; private set; } = null!; + + /// + /// The source of the run command script. + /// + [Output("source")] + public Output Source { get; private set; } = null!; + + /// + /// Resource tags + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The timeout in seconds to execute the run command. + /// + [Output("timeoutInSeconds")] + public Output TimeoutInSeconds { get; private set; } = null!; + + /// + /// Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + /// + [Output("treatFailureAsDeploymentFailure")] + public Output TreatFailureAsDeploymentFailure { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a VirtualMachineScaleSetVMRunCommand resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public VirtualMachineScaleSetVMRunCommand(string name, VirtualMachineScaleSetVMRunCommandArgs args, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand", name, args ?? new VirtualMachineScaleSetVMRunCommandArgs(), MakeResourceOptions(options, "")) + { + } + + private VirtualMachineScaleSetVMRunCommand(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:compute:VirtualMachineScaleSetVMRunCommand"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20200601:VirtualMachineScaleSetVMRunCommand"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20201201:VirtualMachineScaleSetVMRunCommand"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210301:VirtualMachineScaleSetVMRunCommand"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210401:VirtualMachineScaleSetVMRunCommand"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20210701:VirtualMachineScaleSetVMRunCommand"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20211101:VirtualMachineScaleSetVMRunCommand"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220301:VirtualMachineScaleSetVMRunCommand"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineScaleSetVMRunCommand"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing VirtualMachineScaleSetVMRunCommand resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static VirtualMachineScaleSetVMRunCommand Get(string name, Input id, CustomResourceOptions? options = null) + { + return new VirtualMachineScaleSetVMRunCommand(name, id, options); + } + } + + public sealed class VirtualMachineScaleSetVMRunCommandArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + /// + [Input("asyncExecution")] + public Input? AsyncExecution { get; set; } + + /// + /// User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + /// + [Input("errorBlobManagedIdentity")] + public Input? ErrorBlobManagedIdentity { get; set; } + + /// + /// Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + /// + [Input("errorBlobUri")] + public Input? ErrorBlobUri { get; set; } + + /// + /// The instance ID of the virtual machine. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + /// + [Input("outputBlobManagedIdentity")] + public Input? OutputBlobManagedIdentity { get; set; } + + /// + /// Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + /// + [Input("outputBlobUri")] + public Input? OutputBlobUri { get; set; } + + [Input("parameters")] + private InputList? _parameters; + + /// + /// The parameters used by the script. + /// + public InputList Parameters + { + get => _parameters ?? (_parameters = new InputList()); + set => _parameters = value; + } + + [Input("protectedParameters")] + private InputList? _protectedParameters; + + /// + /// The parameters used by the script. + /// + public InputList ProtectedParameters + { + get => _protectedParameters ?? (_protectedParameters = new InputList()); + set => _protectedParameters = value; + } + + /// + /// The name of the resource group. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Specifies the user account password on the VM when executing the run command. + /// + [Input("runAsPassword")] + public Input? RunAsPassword { get; set; } + + /// + /// Specifies the user account on the VM when executing the run command. + /// + [Input("runAsUser")] + public Input? RunAsUser { get; set; } + + /// + /// The name of the virtual machine run command. + /// + [Input("runCommandName")] + public Input? RunCommandName { get; set; } + + /// + /// The source of the run command script. + /// + [Input("source")] + public Input? Source { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// The timeout in seconds to execute the run command. + /// + [Input("timeoutInSeconds")] + public Input? TimeoutInSeconds { get; set; } + + /// + /// Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + /// + [Input("treatFailureAsDeploymentFailure")] + public Input? TreatFailureAsDeploymentFailure { get; set; } + + /// + /// The name of the VM scale set. + /// + [Input("vmScaleSetName", required: true)] + public Input VmScaleSetName { get; set; } = null!; + + public VirtualMachineScaleSetVMRunCommandArgs() + { + AsyncExecution = false; + TreatFailureAsDeploymentFailure = false; + } + public static new VirtualMachineScaleSetVMRunCommandArgs Empty => new VirtualMachineScaleSetVMRunCommandArgs(); + } +} diff --git a/sdk/dotnet/Compute/VirtualMachine.cs b/sdk/dotnet/Compute/VirtualMachine.cs index 08ecb8afb672..9edf68cb880c 100644 --- a/sdk/dotnet/Compute/VirtualMachine.cs +++ b/sdk/dotnet/Compute/VirtualMachine.cs @@ -272,6 +272,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachine"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachine"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachine"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/VirtualMachineExtension.cs b/sdk/dotnet/Compute/VirtualMachineExtension.cs index 046e430464d2..5a2d3840e957 100644 --- a/sdk/dotnet/Compute/VirtualMachineExtension.cs +++ b/sdk/dotnet/Compute/VirtualMachineExtension.cs @@ -158,6 +158,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/VirtualMachineRunCommandByVirtualMachine.cs b/sdk/dotnet/Compute/VirtualMachineRunCommandByVirtualMachine.cs index 725493704e27..0d6bfa338c7b 100644 --- a/sdk/dotnet/Compute/VirtualMachineRunCommandByVirtualMachine.cs +++ b/sdk/dotnet/Compute/VirtualMachineRunCommandByVirtualMachine.cs @@ -159,6 +159,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineRunCommandByVirtualMachine"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/VirtualMachineScaleSet.cs b/sdk/dotnet/Compute/VirtualMachineScaleSet.cs index d3ee489e996f..d3118316fce0 100644 --- a/sdk/dotnet/Compute/VirtualMachineScaleSet.cs +++ b/sdk/dotnet/Compute/VirtualMachineScaleSet.cs @@ -230,6 +230,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSet"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineScaleSet"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineScaleSet"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/VirtualMachineScaleSetExtension.cs b/sdk/dotnet/Compute/VirtualMachineScaleSetExtension.cs index 71f369b3a2fb..3d66527d785c 100644 --- a/sdk/dotnet/Compute/VirtualMachineScaleSetExtension.cs +++ b/sdk/dotnet/Compute/VirtualMachineScaleSetExtension.cs @@ -137,6 +137,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineScaleSetExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineScaleSetExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/VirtualMachineScaleSetVM.cs b/sdk/dotnet/Compute/VirtualMachineScaleSetVM.cs index ed6e6e57a708..9f4646c13dd2 100644 --- a/sdk/dotnet/Compute/VirtualMachineScaleSetVM.cs +++ b/sdk/dotnet/Compute/VirtualMachineScaleSetVM.cs @@ -220,6 +220,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetVM"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetVM"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineScaleSetVM"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineScaleSetVM"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/VirtualMachineScaleSetVMExtension.cs b/sdk/dotnet/Compute/VirtualMachineScaleSetVMExtension.cs index b6304d28d32e..03da2f94c4d6 100644 --- a/sdk/dotnet/Compute/VirtualMachineScaleSetVMExtension.cs +++ b/sdk/dotnet/Compute/VirtualMachineScaleSetVMExtension.cs @@ -143,6 +143,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Compute/VirtualMachineScaleSetVMRunCommand.cs b/sdk/dotnet/Compute/VirtualMachineScaleSetVMRunCommand.cs index dbb8433ccddc..28ea2d1a2c92 100644 --- a/sdk/dotnet/Compute/VirtualMachineScaleSetVMRunCommand.cs +++ b/sdk/dotnet/Compute/VirtualMachineScaleSetVMRunCommand.cs @@ -159,6 +159,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand"}, new global::Pulumi.Alias { Type = "azure-native:compute/v20230301:VirtualMachineScaleSetVMRunCommand"}, + new global::Pulumi.Alias { Type = "azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/AgentPool.cs b/sdk/dotnet/ContainerService/AgentPool.cs index 24cc95924987..28191eff07cd 100644 --- a/sdk/dotnet/ContainerService/AgentPool.cs +++ b/sdk/dotnet/ContainerService/AgentPool.cs @@ -348,6 +348,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:AgentPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/MaintenanceConfiguration.cs b/sdk/dotnet/ContainerService/MaintenanceConfiguration.cs index ddf57f7764ad..b7921f361634 100644 --- a/sdk/dotnet/ContainerService/MaintenanceConfiguration.cs +++ b/sdk/dotnet/ContainerService/MaintenanceConfiguration.cs @@ -112,6 +112,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:MaintenanceConfiguration"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:MaintenanceConfiguration"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:MaintenanceConfiguration"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/ManagedCluster.cs b/sdk/dotnet/ContainerService/ManagedCluster.cs index 7ba77e935e5f..8138d0ec341b 100644 --- a/sdk/dotnet/ContainerService/ManagedCluster.cs +++ b/sdk/dotnet/ContainerService/ManagedCluster.cs @@ -363,6 +363,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:ManagedCluster"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/PrivateEndpointConnection.cs b/sdk/dotnet/ContainerService/PrivateEndpointConnection.cs index a2c4d6815126..9f97f311ee62 100644 --- a/sdk/dotnet/ContainerService/PrivateEndpointConnection.cs +++ b/sdk/dotnet/ContainerService/PrivateEndpointConnection.cs @@ -116,6 +116,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:PrivateEndpointConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/Snapshot.cs b/sdk/dotnet/ContainerService/Snapshot.cs index 5ca4526a284c..7eb052883fc8 100644 --- a/sdk/dotnet/ContainerService/Snapshot.cs +++ b/sdk/dotnet/ContainerService/Snapshot.cs @@ -155,6 +155,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:Snapshot"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20190601/ManagedCluster.cs b/sdk/dotnet/ContainerService/V20190601/ManagedCluster.cs index 26389b5509b4..7d51dc068aed 100644 --- a/sdk/dotnet/ContainerService/V20190601/ManagedCluster.cs +++ b/sdk/dotnet/ContainerService/V20190601/ManagedCluster.cs @@ -224,6 +224,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:ManagedCluster"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20200601/AgentPool.cs b/sdk/dotnet/ContainerService/V20200601/AgentPool.cs index 857e4215a9fa..0d3503bb1030 100644 --- a/sdk/dotnet/ContainerService/V20200601/AgentPool.cs +++ b/sdk/dotnet/ContainerService/V20200601/AgentPool.cs @@ -245,6 +245,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:AgentPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20210201/AgentPool.cs b/sdk/dotnet/ContainerService/V20210201/AgentPool.cs index fc8461d20262..1ceb303c1fbf 100644 --- a/sdk/dotnet/ContainerService/V20210201/AgentPool.cs +++ b/sdk/dotnet/ContainerService/V20210201/AgentPool.cs @@ -293,6 +293,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:AgentPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20210501/ManagedCluster.cs b/sdk/dotnet/ContainerService/V20210501/ManagedCluster.cs index 4458d3a0de0c..90f5cdee2166 100644 --- a/sdk/dotnet/ContainerService/V20210501/ManagedCluster.cs +++ b/sdk/dotnet/ContainerService/V20210501/ManagedCluster.cs @@ -308,6 +308,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:ManagedCluster"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20210801/AgentPool.cs b/sdk/dotnet/ContainerService/V20210801/AgentPool.cs index 729579d0e514..17d24a4aed06 100644 --- a/sdk/dotnet/ContainerService/V20210801/AgentPool.cs +++ b/sdk/dotnet/ContainerService/V20210801/AgentPool.cs @@ -335,6 +335,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:AgentPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20220402Preview/AgentPool.cs b/sdk/dotnet/ContainerService/V20220402Preview/AgentPool.cs index be3008c8a398..6e6dbc9343ac 100644 --- a/sdk/dotnet/ContainerService/V20220402Preview/AgentPool.cs +++ b/sdk/dotnet/ContainerService/V20220402Preview/AgentPool.cs @@ -365,6 +365,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:AgentPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230401/AgentPool.cs b/sdk/dotnet/ContainerService/V20230401/AgentPool.cs index bfe1f9d30694..40fc029dc31f 100644 --- a/sdk/dotnet/ContainerService/V20230401/AgentPool.cs +++ b/sdk/dotnet/ContainerService/V20230401/AgentPool.cs @@ -347,6 +347,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:AgentPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230401/MaintenanceConfiguration.cs b/sdk/dotnet/ContainerService/V20230401/MaintenanceConfiguration.cs index f1a964019329..d5dcb269e039 100644 --- a/sdk/dotnet/ContainerService/V20230401/MaintenanceConfiguration.cs +++ b/sdk/dotnet/ContainerService/V20230401/MaintenanceConfiguration.cs @@ -111,6 +111,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:MaintenanceConfiguration"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:MaintenanceConfiguration"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:MaintenanceConfiguration"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230401/ManagedCluster.cs b/sdk/dotnet/ContainerService/V20230401/ManagedCluster.cs index 727fe6c2202a..9ef2eadb725d 100644 --- a/sdk/dotnet/ContainerService/V20230401/ManagedCluster.cs +++ b/sdk/dotnet/ContainerService/V20230401/ManagedCluster.cs @@ -362,6 +362,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:ManagedCluster"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230401/PrivateEndpointConnection.cs b/sdk/dotnet/ContainerService/V20230401/PrivateEndpointConnection.cs index 9dbaf8f4e324..b8b8c24b6e20 100644 --- a/sdk/dotnet/ContainerService/V20230401/PrivateEndpointConnection.cs +++ b/sdk/dotnet/ContainerService/V20230401/PrivateEndpointConnection.cs @@ -115,6 +115,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:PrivateEndpointConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230401/Snapshot.cs b/sdk/dotnet/ContainerService/V20230401/Snapshot.cs index 196a6b3d9713..81cd83c56f6d 100644 --- a/sdk/dotnet/ContainerService/V20230401/Snapshot.cs +++ b/sdk/dotnet/ContainerService/V20230401/Snapshot.cs @@ -154,6 +154,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:Snapshot"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230502Preview/AgentPool.cs b/sdk/dotnet/ContainerService/V20230502Preview/AgentPool.cs index 29b0b3575c1a..d7b090275fce 100644 --- a/sdk/dotnet/ContainerService/V20230502Preview/AgentPool.cs +++ b/sdk/dotnet/ContainerService/V20230502Preview/AgentPool.cs @@ -377,6 +377,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:AgentPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230502Preview/MaintenanceConfiguration.cs b/sdk/dotnet/ContainerService/V20230502Preview/MaintenanceConfiguration.cs index af2f390d4916..035cf7782330 100644 --- a/sdk/dotnet/ContainerService/V20230502Preview/MaintenanceConfiguration.cs +++ b/sdk/dotnet/ContainerService/V20230502Preview/MaintenanceConfiguration.cs @@ -117,6 +117,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:MaintenanceConfiguration"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:MaintenanceConfiguration"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:MaintenanceConfiguration"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230502Preview/ManagedCluster.cs b/sdk/dotnet/ContainerService/V20230502Preview/ManagedCluster.cs index c626f64f59f9..0c85b1f4a5a5 100644 --- a/sdk/dotnet/ContainerService/V20230502Preview/ManagedCluster.cs +++ b/sdk/dotnet/ContainerService/V20230502Preview/ManagedCluster.cs @@ -404,6 +404,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:ManagedCluster"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230502Preview/PrivateEndpointConnection.cs b/sdk/dotnet/ContainerService/V20230502Preview/PrivateEndpointConnection.cs index 893d9f1aa9c2..6db27869d7d5 100644 --- a/sdk/dotnet/ContainerService/V20230502Preview/PrivateEndpointConnection.cs +++ b/sdk/dotnet/ContainerService/V20230502Preview/PrivateEndpointConnection.cs @@ -115,6 +115,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:PrivateEndpointConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230502Preview/Snapshot.cs b/sdk/dotnet/ContainerService/V20230502Preview/Snapshot.cs index 6d86a131bb30..f09d41fe7430 100644 --- a/sdk/dotnet/ContainerService/V20230502Preview/Snapshot.cs +++ b/sdk/dotnet/ContainerService/V20230502Preview/Snapshot.cs @@ -154,6 +154,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:Snapshot"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230601/AgentPool.cs b/sdk/dotnet/ContainerService/V20230601/AgentPool.cs index eba509c7fe52..11c9608c1e03 100644 --- a/sdk/dotnet/ContainerService/V20230601/AgentPool.cs +++ b/sdk/dotnet/ContainerService/V20230601/AgentPool.cs @@ -347,6 +347,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:AgentPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230601/MaintenanceConfiguration.cs b/sdk/dotnet/ContainerService/V20230601/MaintenanceConfiguration.cs index 7a29a25e12e3..feca1ce622f0 100644 --- a/sdk/dotnet/ContainerService/V20230601/MaintenanceConfiguration.cs +++ b/sdk/dotnet/ContainerService/V20230601/MaintenanceConfiguration.cs @@ -117,6 +117,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:MaintenanceConfiguration"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:MaintenanceConfiguration"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:MaintenanceConfiguration"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230601/ManagedCluster.cs b/sdk/dotnet/ContainerService/V20230601/ManagedCluster.cs index d56cb706b011..f41530539590 100644 --- a/sdk/dotnet/ContainerService/V20230601/ManagedCluster.cs +++ b/sdk/dotnet/ContainerService/V20230601/ManagedCluster.cs @@ -362,6 +362,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:ManagedCluster"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230601/PrivateEndpointConnection.cs b/sdk/dotnet/ContainerService/V20230601/PrivateEndpointConnection.cs index ea9d7a563d58..48d8f57b8d60 100644 --- a/sdk/dotnet/ContainerService/V20230601/PrivateEndpointConnection.cs +++ b/sdk/dotnet/ContainerService/V20230601/PrivateEndpointConnection.cs @@ -115,6 +115,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:PrivateEndpointConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230601/Snapshot.cs b/sdk/dotnet/ContainerService/V20230601/Snapshot.cs index c261418e1ac7..4eb5e51455ae 100644 --- a/sdk/dotnet/ContainerService/V20230601/Snapshot.cs +++ b/sdk/dotnet/ContainerService/V20230601/Snapshot.cs @@ -154,6 +154,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:Snapshot"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230602Preview/AgentPool.cs b/sdk/dotnet/ContainerService/V20230602Preview/AgentPool.cs index d76de423ffc0..3e8bfbe8209a 100644 --- a/sdk/dotnet/ContainerService/V20230602Preview/AgentPool.cs +++ b/sdk/dotnet/ContainerService/V20230602Preview/AgentPool.cs @@ -383,6 +383,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:AgentPool"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:AgentPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230602Preview/MaintenanceConfiguration.cs b/sdk/dotnet/ContainerService/V20230602Preview/MaintenanceConfiguration.cs index ec418803c1aa..ec0406e42c25 100644 --- a/sdk/dotnet/ContainerService/V20230602Preview/MaintenanceConfiguration.cs +++ b/sdk/dotnet/ContainerService/V20230602Preview/MaintenanceConfiguration.cs @@ -117,6 +117,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:MaintenanceConfiguration"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:MaintenanceConfiguration"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:MaintenanceConfiguration"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230602Preview/ManagedCluster.cs b/sdk/dotnet/ContainerService/V20230602Preview/ManagedCluster.cs index 6b37b9aa624d..9eab0e86c559 100644 --- a/sdk/dotnet/ContainerService/V20230602Preview/ManagedCluster.cs +++ b/sdk/dotnet/ContainerService/V20230602Preview/ManagedCluster.cs @@ -404,6 +404,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:ManagedCluster"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:ManagedCluster"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230602Preview/PrivateEndpointConnection.cs b/sdk/dotnet/ContainerService/V20230602Preview/PrivateEndpointConnection.cs index 3f8e4f180542..86d17a58f3bc 100644 --- a/sdk/dotnet/ContainerService/V20230602Preview/PrivateEndpointConnection.cs +++ b/sdk/dotnet/ContainerService/V20230602Preview/PrivateEndpointConnection.cs @@ -115,6 +115,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:PrivateEndpointConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230602Preview/Snapshot.cs b/sdk/dotnet/ContainerService/V20230602Preview/Snapshot.cs index ce518c098418..01287873aec6 100644 --- a/sdk/dotnet/ContainerService/V20230602Preview/Snapshot.cs +++ b/sdk/dotnet/ContainerService/V20230602Preview/Snapshot.cs @@ -154,6 +154,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:Snapshot"}, new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230701:Snapshot"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/ContainerService/V20230701/AgentPool.cs b/sdk/dotnet/ContainerService/V20230701/AgentPool.cs new file mode 100644 index 000000000000..7798ad2f29c1 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/AgentPool.cs @@ -0,0 +1,649 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + /// + /// Agent Pool. + /// + [AzureNativeResourceType("azure-native:containerservice/v20230701:AgentPool")] + public partial class AgentPool : global::Pulumi.CustomResource + { + /// + /// The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + /// + [Output("availabilityZones")] + public Output> AvailabilityZones { get; private set; } = null!; + + /// + /// Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + /// + [Output("count")] + public Output Count { get; private set; } = null!; + + /// + /// CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + /// + [Output("creationData")] + public Output CreationData { get; private set; } = null!; + + /// + /// If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used. + /// + [Output("currentOrchestratorVersion")] + public Output CurrentOrchestratorVersion { get; private set; } = null!; + + /// + /// Whether to enable auto-scaler + /// + [Output("enableAutoScaling")] + public Output EnableAutoScaling { get; private set; } = null!; + + /// + /// This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + /// + [Output("enableEncryptionAtHost")] + public Output EnableEncryptionAtHost { get; private set; } = null!; + + /// + /// See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + /// + [Output("enableFIPS")] + public Output EnableFIPS { get; private set; } = null!; + + /// + /// Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + /// + [Output("enableNodePublicIP")] + public Output EnableNodePublicIP { get; private set; } = null!; + + /// + /// Whether to enable UltraSSD + /// + [Output("enableUltraSSD")] + public Output EnableUltraSSD { get; private set; } = null!; + + /// + /// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + /// + [Output("gpuInstanceProfile")] + public Output GpuInstanceProfile { get; private set; } = null!; + + /// + /// This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + /// + [Output("hostGroupID")] + public Output HostGroupID { get; private set; } = null!; + + /// + /// The Kubelet configuration on the agent pool nodes. + /// + [Output("kubeletConfig")] + public Output KubeletConfig { get; private set; } = null!; + + /// + /// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + /// + [Output("kubeletDiskType")] + public Output KubeletDiskType { get; private set; } = null!; + + /// + /// The OS configuration of Linux agent nodes. + /// + [Output("linuxOSConfig")] + public Output LinuxOSConfig { get; private set; } = null!; + + /// + /// The maximum number of nodes for auto-scaling + /// + [Output("maxCount")] + public Output MaxCount { get; private set; } = null!; + + /// + /// The maximum number of pods that can run on a node. + /// + [Output("maxPods")] + public Output MaxPods { get; private set; } = null!; + + /// + /// The minimum number of nodes for auto-scaling + /// + [Output("minCount")] + public Output MinCount { get; private set; } = null!; + + /// + /// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + /// + [Output("mode")] + public Output Mode { get; private set; } = null!; + + /// + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The version of node image + /// + [Output("nodeImageVersion")] + public Output NodeImageVersion { get; private set; } = null!; + + /// + /// The node labels to be persisted across all nodes in agent pool. + /// + [Output("nodeLabels")] + public Output?> NodeLabels { get; private set; } = null!; + + /// + /// This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + /// + [Output("nodePublicIPPrefixID")] + public Output NodePublicIPPrefixID { get; private set; } = null!; + + /// + /// The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + /// + [Output("nodeTaints")] + public Output> NodeTaints { get; private set; } = null!; + + /// + /// Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + /// + [Output("orchestratorVersion")] + public Output OrchestratorVersion { get; private set; } = null!; + + /// + /// OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + /// + [Output("osDiskSizeGB")] + public Output OsDiskSizeGB { get; private set; } = null!; + + /// + /// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + /// + [Output("osDiskType")] + public Output OsDiskType { get; private set; } = null!; + + /// + /// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + /// + [Output("osSKU")] + public Output OsSKU { get; private set; } = null!; + + /// + /// The operating system type. The default is Linux. + /// + [Output("osType")] + public Output OsType { get; private set; } = null!; + + /// + /// If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + /// + [Output("podSubnetID")] + public Output PodSubnetID { get; private set; } = null!; + + /// + /// When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + /// + [Output("powerState")] + public Output PowerState { get; private set; } = null!; + + /// + /// The current deployment or provisioning state. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// The ID for Proximity Placement Group. + /// + [Output("proximityPlacementGroupID")] + public Output ProximityPlacementGroupID { get; private set; } = null!; + + /// + /// This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + /// + [Output("scaleDownMode")] + public Output ScaleDownMode { get; private set; } = null!; + + /// + /// This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + /// + [Output("scaleSetEvictionPolicy")] + public Output ScaleSetEvictionPolicy { get; private set; } = null!; + + /// + /// The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + /// + [Output("scaleSetPriority")] + public Output ScaleSetPriority { get; private set; } = null!; + + /// + /// Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + /// + [Output("spotMaxPrice")] + public Output SpotMaxPrice { get; private set; } = null!; + + /// + /// The tags to be persisted on the agent pool virtual machine scale set. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Settings for upgrading the agentpool + /// + [Output("upgradeSettings")] + public Output UpgradeSettings { get; private set; } = null!; + + /// + /// VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + /// + [Output("vmSize")] + public Output VmSize { get; private set; } = null!; + + /// + /// If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + /// + [Output("vnetSubnetID")] + public Output VnetSubnetID { get; private set; } = null!; + + /// + /// Determines the type of workload a node can run. + /// + [Output("workloadRuntime")] + public Output WorkloadRuntime { get; private set; } = null!; + + + /// + /// Create a AgentPool resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public AgentPool(string name, AgentPoolArgs args, CustomResourceOptions? options = null) + : base("azure-native:containerservice/v20230701:AgentPool", name, args ?? new AgentPoolArgs(), MakeResourceOptions(options, "")) + { + } + + private AgentPool(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:containerservice/v20230701:AgentPool", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:containerservice:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20190201:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20190401:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20190601:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20190801:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20191001:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20191101:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200101:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200201:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200301:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200401:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200601:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200701:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200901:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20201101:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20201201:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210201:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210301:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210501:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210701:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210801:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210901:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20211001:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20211101preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220101:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220102preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220201:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220202preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220301:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220302preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220401:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220402preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220502preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220601:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220602preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220701:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220702preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220802preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220803preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220901:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220902preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221002preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221101:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221102preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230101:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230102preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230201:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230202preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230301:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230302preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230401:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230402preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:AgentPool"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:AgentPool"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing AgentPool resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static AgentPool Get(string name, Input id, CustomResourceOptions? options = null) + { + return new AgentPool(name, id, options); + } + } + + public sealed class AgentPoolArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the agent pool. + /// + [Input("agentPoolName")] + public Input? AgentPoolName { get; set; } + + [Input("availabilityZones")] + private InputList? _availabilityZones; + + /// + /// The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + /// + public InputList AvailabilityZones + { + get => _availabilityZones ?? (_availabilityZones = new InputList()); + set => _availabilityZones = value; + } + + /// + /// Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + /// + [Input("creationData")] + public Input? CreationData { get; set; } + + /// + /// Whether to enable auto-scaler + /// + [Input("enableAutoScaling")] + public Input? EnableAutoScaling { get; set; } + + /// + /// This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + /// + [Input("enableEncryptionAtHost")] + public Input? EnableEncryptionAtHost { get; set; } + + /// + /// See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + /// + [Input("enableFIPS")] + public Input? EnableFIPS { get; set; } + + /// + /// Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + /// + [Input("enableNodePublicIP")] + public Input? EnableNodePublicIP { get; set; } + + /// + /// Whether to enable UltraSSD + /// + [Input("enableUltraSSD")] + public Input? EnableUltraSSD { get; set; } + + /// + /// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + /// + [Input("gpuInstanceProfile")] + public InputUnion? GpuInstanceProfile { get; set; } + + /// + /// This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + /// + [Input("hostGroupID")] + public Input? HostGroupID { get; set; } + + /// + /// The Kubelet configuration on the agent pool nodes. + /// + [Input("kubeletConfig")] + public Input? KubeletConfig { get; set; } + + /// + /// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + /// + [Input("kubeletDiskType")] + public InputUnion? KubeletDiskType { get; set; } + + /// + /// The OS configuration of Linux agent nodes. + /// + [Input("linuxOSConfig")] + public Input? LinuxOSConfig { get; set; } + + /// + /// The maximum number of nodes for auto-scaling + /// + [Input("maxCount")] + public Input? MaxCount { get; set; } + + /// + /// The maximum number of pods that can run on a node. + /// + [Input("maxPods")] + public Input? MaxPods { get; set; } + + /// + /// The minimum number of nodes for auto-scaling + /// + [Input("minCount")] + public Input? MinCount { get; set; } + + /// + /// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + /// + [Input("mode")] + public InputUnion? Mode { get; set; } + + [Input("nodeLabels")] + private InputMap? _nodeLabels; + + /// + /// The node labels to be persisted across all nodes in agent pool. + /// + public InputMap NodeLabels + { + get => _nodeLabels ?? (_nodeLabels = new InputMap()); + set => _nodeLabels = value; + } + + /// + /// This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + /// + [Input("nodePublicIPPrefixID")] + public Input? NodePublicIPPrefixID { get; set; } + + [Input("nodeTaints")] + private InputList? _nodeTaints; + + /// + /// The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + /// + public InputList NodeTaints + { + get => _nodeTaints ?? (_nodeTaints = new InputList()); + set => _nodeTaints = value; + } + + /// + /// Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + /// + [Input("orchestratorVersion")] + public Input? OrchestratorVersion { get; set; } + + /// + /// OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + /// + [Input("osDiskSizeGB")] + public Input? OsDiskSizeGB { get; set; } + + /// + /// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + /// + [Input("osDiskType")] + public InputUnion? OsDiskType { get; set; } + + /// + /// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + /// + [Input("osSKU")] + public InputUnion? OsSKU { get; set; } + + /// + /// The operating system type. The default is Linux. + /// + [Input("osType")] + public InputUnion? OsType { get; set; } + + /// + /// If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + /// + [Input("podSubnetID")] + public Input? PodSubnetID { get; set; } + + /// + /// When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + /// + [Input("powerState")] + public Input? PowerState { get; set; } + + /// + /// The ID for Proximity Placement Group. + /// + [Input("proximityPlacementGroupID")] + public Input? ProximityPlacementGroupID { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + /// + /// This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + /// + [Input("scaleDownMode")] + public InputUnion? ScaleDownMode { get; set; } + + /// + /// This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + /// + [Input("scaleSetEvictionPolicy")] + public InputUnion? ScaleSetEvictionPolicy { get; set; } + + /// + /// The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + /// + [Input("scaleSetPriority")] + public InputUnion? ScaleSetPriority { get; set; } + + /// + /// Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + /// + [Input("spotMaxPrice")] + public Input? SpotMaxPrice { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// The tags to be persisted on the agent pool virtual machine scale set. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// The type of Agent Pool. + /// + [Input("type")] + public InputUnion? Type { get; set; } + + /// + /// Settings for upgrading the agentpool + /// + [Input("upgradeSettings")] + public Input? UpgradeSettings { get; set; } + + /// + /// VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + /// + [Input("vmSize")] + public Input? VmSize { get; set; } + + /// + /// If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + /// + [Input("vnetSubnetID")] + public Input? VnetSubnetID { get; set; } + + /// + /// Determines the type of workload a node can run. + /// + [Input("workloadRuntime")] + public InputUnion? WorkloadRuntime { get; set; } + + public AgentPoolArgs() + { + } + public static new AgentPoolArgs Empty => new AgentPoolArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Enums.cs b/sdk/dotnet/ContainerService/V20230701/Enums.cs new file mode 100644 index 000000000000..ecdc18f87e3e --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Enums.cs @@ -0,0 +1,1331 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + /// + /// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + /// + [EnumType] + public readonly struct AgentPoolMode : IEquatable + { + private readonly string _value; + + private AgentPoolMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory. + /// + public static AgentPoolMode System { get; } = new AgentPoolMode("System"); + /// + /// User agent pools are primarily for hosting your application pods. + /// + public static AgentPoolMode User { get; } = new AgentPoolMode("User"); + + public static bool operator ==(AgentPoolMode left, AgentPoolMode right) => left.Equals(right); + public static bool operator !=(AgentPoolMode left, AgentPoolMode right) => !left.Equals(right); + + public static explicit operator string(AgentPoolMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AgentPoolMode other && Equals(other); + public bool Equals(AgentPoolMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of Agent Pool. + /// + [EnumType] + public readonly struct AgentPoolType : IEquatable + { + private readonly string _value; + + private AgentPoolType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Create an Agent Pool backed by a Virtual Machine Scale Set. + /// + public static AgentPoolType VirtualMachineScaleSets { get; } = new AgentPoolType("VirtualMachineScaleSets"); + /// + /// Use of this is strongly discouraged. + /// + public static AgentPoolType AvailabilitySet { get; } = new AgentPoolType("AvailabilitySet"); + + public static bool operator ==(AgentPoolType left, AgentPoolType right) => left.Equals(right); + public static bool operator !=(AgentPoolType left, AgentPoolType right) => !left.Equals(right); + + public static explicit operator string(AgentPoolType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AgentPoolType other && Equals(other); + public bool Equals(AgentPoolType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Tells whether the cluster is Running or Stopped + /// + [EnumType] + public readonly struct Code : IEquatable + { + private readonly string _value; + + private Code(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// The cluster is running. + /// + public static Code Running { get; } = new Code("Running"); + /// + /// The cluster is stopped. + /// + public static Code Stopped { get; } = new Code("Stopped"); + + public static bool operator ==(Code left, Code right) => left.Equals(right); + public static bool operator !=(Code left, Code right) => !left.Equals(right); + + public static explicit operator string(Code value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is Code other && Equals(other); + public bool Equals(Code other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The private link service connection status. + /// + [EnumType] + public readonly struct ConnectionStatus : IEquatable + { + private readonly string _value; + + private ConnectionStatus(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ConnectionStatus Pending { get; } = new ConnectionStatus("Pending"); + public static ConnectionStatus Approved { get; } = new ConnectionStatus("Approved"); + public static ConnectionStatus Rejected { get; } = new ConnectionStatus("Rejected"); + public static ConnectionStatus Disconnected { get; } = new ConnectionStatus("Disconnected"); + + public static bool operator ==(ConnectionStatus left, ConnectionStatus right) => left.Equals(right); + public static bool operator !=(ConnectionStatus left, ConnectionStatus right) => !left.Equals(right); + + public static explicit operator string(ConnectionStatus value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ConnectionStatus other && Equals(other); + public bool Equals(ConnectionStatus other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + /// + [EnumType] + public readonly struct Expander : IEquatable + { + private readonly string _value; + + private Expander(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources. + /// + public static Expander Least_waste { get; } = new Expander("least-waste"); + /// + /// Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once. + /// + public static Expander Most_pods { get; } = new Expander("most-pods"); + /// + /// Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md). + /// + public static Expander Priority { get; } = new Expander("priority"); + /// + /// Used when you don't have a particular need for the node groups to scale differently. + /// + public static Expander Random { get; } = new Expander("random"); + + public static bool operator ==(Expander left, Expander right) => left.Equals(right); + public static bool operator !=(Expander left, Expander right) => !left.Equals(right); + + public static explicit operator string(Expander value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is Expander other && Equals(other); + public bool Equals(Expander other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of the extended location. + /// + [EnumType] + public readonly struct ExtendedLocationTypes : IEquatable + { + private readonly string _value; + + private ExtendedLocationTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ExtendedLocationTypes EdgeZone { get; } = new ExtendedLocationTypes("EdgeZone"); + + public static bool operator ==(ExtendedLocationTypes left, ExtendedLocationTypes right) => left.Equals(right); + public static bool operator !=(ExtendedLocationTypes left, ExtendedLocationTypes right) => !left.Equals(right); + + public static explicit operator string(ExtendedLocationTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ExtendedLocationTypes other && Equals(other); + public bool Equals(ExtendedLocationTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + /// + [EnumType] + public readonly struct GPUInstanceProfile : IEquatable + { + private readonly string _value; + + private GPUInstanceProfile(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static GPUInstanceProfile MIG1g { get; } = new GPUInstanceProfile("MIG1g"); + public static GPUInstanceProfile MIG2g { get; } = new GPUInstanceProfile("MIG2g"); + public static GPUInstanceProfile MIG3g { get; } = new GPUInstanceProfile("MIG3g"); + public static GPUInstanceProfile MIG4g { get; } = new GPUInstanceProfile("MIG4g"); + public static GPUInstanceProfile MIG7g { get; } = new GPUInstanceProfile("MIG7g"); + + public static bool operator ==(GPUInstanceProfile left, GPUInstanceProfile right) => left.Equals(right); + public static bool operator !=(GPUInstanceProfile left, GPUInstanceProfile right) => !left.Equals(right); + + public static explicit operator string(GPUInstanceProfile value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GPUInstanceProfile other && Equals(other); + public bool Equals(GPUInstanceProfile other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The IP version to use for cluster networking and IP assignment. + /// + [EnumType] + public readonly struct IpFamily : IEquatable + { + private readonly string _value; + + private IpFamily(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static IpFamily IPv4 { get; } = new IpFamily("IPv4"); + public static IpFamily IPv6 { get; } = new IpFamily("IPv6"); + + public static bool operator ==(IpFamily left, IpFamily right) => left.Equals(right); + public static bool operator !=(IpFamily left, IpFamily right) => !left.Equals(right); + + public static explicit operator string(IpFamily value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is IpFamily other && Equals(other); + public bool Equals(IpFamily other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + /// + [EnumType] + public readonly struct KeyVaultNetworkAccessTypes : IEquatable + { + private readonly string _value; + + private KeyVaultNetworkAccessTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static KeyVaultNetworkAccessTypes Public { get; } = new KeyVaultNetworkAccessTypes("Public"); + public static KeyVaultNetworkAccessTypes Private { get; } = new KeyVaultNetworkAccessTypes("Private"); + + public static bool operator ==(KeyVaultNetworkAccessTypes left, KeyVaultNetworkAccessTypes right) => left.Equals(right); + public static bool operator !=(KeyVaultNetworkAccessTypes left, KeyVaultNetworkAccessTypes right) => !left.Equals(right); + + public static explicit operator string(KeyVaultNetworkAccessTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is KeyVaultNetworkAccessTypes other && Equals(other); + public bool Equals(KeyVaultNetworkAccessTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + /// + [EnumType] + public readonly struct KubeletDiskType : IEquatable + { + private readonly string _value; + + private KubeletDiskType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Kubelet will use the OS disk for its data. + /// + public static KubeletDiskType OS { get; } = new KubeletDiskType("OS"); + /// + /// Kubelet will use the temporary disk for its data. + /// + public static KubeletDiskType Temporary { get; } = new KubeletDiskType("Temporary"); + + public static bool operator ==(KubeletDiskType left, KubeletDiskType right) => left.Equals(right); + public static bool operator !=(KubeletDiskType left, KubeletDiskType right) => !left.Equals(right); + + public static explicit operator string(KubeletDiskType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is KubeletDiskType other && Equals(other); + public bool Equals(KubeletDiskType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + /// + [EnumType] + public readonly struct KubernetesSupportPlan : IEquatable + { + private readonly string _value; + + private KubernetesSupportPlan(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release. + /// + public static KubernetesSupportPlan KubernetesOfficial { get; } = new KubernetesSupportPlan("KubernetesOfficial"); + /// + /// Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support. + /// + public static KubernetesSupportPlan AKSLongTermSupport { get; } = new KubernetesSupportPlan("AKSLongTermSupport"); + + public static bool operator ==(KubernetesSupportPlan left, KubernetesSupportPlan right) => left.Equals(right); + public static bool operator !=(KubernetesSupportPlan left, KubernetesSupportPlan right) => !left.Equals(right); + + public static explicit operator string(KubernetesSupportPlan value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is KubernetesSupportPlan other && Equals(other); + public bool Equals(KubernetesSupportPlan other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + /// + [EnumType] + public readonly struct LicenseType : IEquatable + { + private readonly string _value; + + private LicenseType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// No additional licensing is applied. + /// + public static LicenseType None { get; } = new LicenseType("None"); + /// + /// Enables Azure Hybrid User Benefits for Windows VMs. + /// + public static LicenseType Windows_Server { get; } = new LicenseType("Windows_Server"); + + public static bool operator ==(LicenseType left, LicenseType right) => left.Equals(right); + public static bool operator !=(LicenseType left, LicenseType right) => !left.Equals(right); + + public static explicit operator string(LicenseType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is LicenseType other && Equals(other); + public bool Equals(LicenseType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + /// + [EnumType] + public readonly struct LoadBalancerSku : IEquatable + { + private readonly string _value; + + private LoadBalancerSku(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article. + /// + public static LoadBalancerSku Standard { get; } = new LoadBalancerSku("standard"); + /// + /// Use a basic Load Balancer with limited functionality. + /// + public static LoadBalancerSku Basic { get; } = new LoadBalancerSku("basic"); + + public static bool operator ==(LoadBalancerSku left, LoadBalancerSku right) => left.Equals(right); + public static bool operator !=(LoadBalancerSku left, LoadBalancerSku right) => !left.Equals(right); + + public static explicit operator string(LoadBalancerSku value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is LoadBalancerSku other && Equals(other); + public bool Equals(LoadBalancerSku other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The name of a managed cluster SKU. + /// + [EnumType] + public readonly struct ManagedClusterSKUName : IEquatable + { + private readonly string _value; + + private ManagedClusterSKUName(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Base option for the AKS control plane. + /// + public static ManagedClusterSKUName Base { get; } = new ManagedClusterSKUName("Base"); + + public static bool operator ==(ManagedClusterSKUName left, ManagedClusterSKUName right) => left.Equals(right); + public static bool operator !=(ManagedClusterSKUName left, ManagedClusterSKUName right) => !left.Equals(right); + + public static explicit operator string(ManagedClusterSKUName value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ManagedClusterSKUName other && Equals(other); + public bool Equals(ManagedClusterSKUName other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + /// + [EnumType] + public readonly struct ManagedClusterSKUTier : IEquatable + { + private readonly string _value; + + private ManagedClusterSKUTier(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions. + /// + public static ManagedClusterSKUTier Premium { get; } = new ManagedClusterSKUTier("Premium"); + /// + /// Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones. + /// + public static ManagedClusterSKUTier Standard { get; } = new ManagedClusterSKUTier("Standard"); + /// + /// The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases. + /// + public static ManagedClusterSKUTier Free { get; } = new ManagedClusterSKUTier("Free"); + + public static bool operator ==(ManagedClusterSKUTier left, ManagedClusterSKUTier right) => left.Equals(right); + public static bool operator !=(ManagedClusterSKUTier left, ManagedClusterSKUTier right) => !left.Equals(right); + + public static explicit operator string(ManagedClusterSKUTier value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ManagedClusterSKUTier other && Equals(other); + public bool Equals(ManagedClusterSKUTier other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Network dataplane used in the Kubernetes cluster. + /// + [EnumType] + public readonly struct NetworkDataplane : IEquatable + { + private readonly string _value; + + private NetworkDataplane(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Use Azure network dataplane. + /// + public static NetworkDataplane Azure { get; } = new NetworkDataplane("azure"); + /// + /// Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information. + /// + public static NetworkDataplane Cilium { get; } = new NetworkDataplane("cilium"); + + public static bool operator ==(NetworkDataplane left, NetworkDataplane right) => left.Equals(right); + public static bool operator !=(NetworkDataplane left, NetworkDataplane right) => !left.Equals(right); + + public static explicit operator string(NetworkDataplane value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkDataplane other && Equals(other); + public bool Equals(NetworkDataplane other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// This cannot be specified if networkPlugin is anything other than 'azure'. + /// + [EnumType] + public readonly struct NetworkMode : IEquatable + { + private readonly string _value; + + private NetworkMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information. + /// + public static NetworkMode Transparent { get; } = new NetworkMode("transparent"); + /// + /// This is no longer supported + /// + public static NetworkMode Bridge { get; } = new NetworkMode("bridge"); + + public static bool operator ==(NetworkMode left, NetworkMode right) => left.Equals(right); + public static bool operator !=(NetworkMode left, NetworkMode right) => !left.Equals(right); + + public static explicit operator string(NetworkMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkMode other && Equals(other); + public bool Equals(NetworkMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Network plugin used for building the Kubernetes network. + /// + [EnumType] + public readonly struct NetworkPlugin : IEquatable + { + private readonly string _value; + + private NetworkPlugin(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information. + /// + public static NetworkPlugin Azure { get; } = new NetworkPlugin("azure"); + /// + /// Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information. + /// + public static NetworkPlugin Kubenet { get; } = new NetworkPlugin("kubenet"); + /// + /// No CNI plugin is pre-installed. See [BYO CNI](https://docs.microsoft.com/en-us/azure/aks/use-byo-cni) for more information. + /// + public static NetworkPlugin None { get; } = new NetworkPlugin("none"); + + public static bool operator ==(NetworkPlugin left, NetworkPlugin right) => left.Equals(right); + public static bool operator !=(NetworkPlugin left, NetworkPlugin right) => !left.Equals(right); + + public static explicit operator string(NetworkPlugin value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkPlugin other && Equals(other); + public bool Equals(NetworkPlugin other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The mode the network plugin should use. + /// + [EnumType] + public readonly struct NetworkPluginMode : IEquatable + { + private readonly string _value; + + private NetworkPluginMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay. + /// + public static NetworkPluginMode Overlay { get; } = new NetworkPluginMode("overlay"); + + public static bool operator ==(NetworkPluginMode left, NetworkPluginMode right) => left.Equals(right); + public static bool operator !=(NetworkPluginMode left, NetworkPluginMode right) => !left.Equals(right); + + public static explicit operator string(NetworkPluginMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkPluginMode other && Equals(other); + public bool Equals(NetworkPluginMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Network policy used for building the Kubernetes network. + /// + [EnumType] + public readonly struct NetworkPolicy : IEquatable + { + private readonly string _value; + + private NetworkPolicy(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. + /// + public static NetworkPolicy Calico { get; } = new NetworkPolicy("calico"); + /// + /// Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. + /// + public static NetworkPolicy Azure { get; } = new NetworkPolicy("azure"); + /// + /// Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'. + /// + public static NetworkPolicy Cilium { get; } = new NetworkPolicy("cilium"); + + public static bool operator ==(NetworkPolicy left, NetworkPolicy right) => left.Equals(right); + public static bool operator !=(NetworkPolicy left, NetworkPolicy right) => !left.Equals(right); + + public static explicit operator string(NetworkPolicy value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkPolicy other && Equals(other); + public bool Equals(NetworkPolicy other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Manner in which the OS on your nodes is updated. The default is NodeImage. + /// + [EnumType] + public readonly struct NodeOSUpgradeChannel : IEquatable + { + private readonly string _value; + + private NodeOSUpgradeChannel(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates + /// + public static NodeOSUpgradeChannel None { get; } = new NodeOSUpgradeChannel("None"); + /// + /// OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice + /// + public static NodeOSUpgradeChannel Unmanaged { get; } = new NodeOSUpgradeChannel("Unmanaged"); + /// + /// AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images. + /// + public static NodeOSUpgradeChannel NodeImage { get; } = new NodeOSUpgradeChannel("NodeImage"); + + public static bool operator ==(NodeOSUpgradeChannel left, NodeOSUpgradeChannel right) => left.Equals(right); + public static bool operator !=(NodeOSUpgradeChannel left, NodeOSUpgradeChannel right) => !left.Equals(right); + + public static explicit operator string(NodeOSUpgradeChannel value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NodeOSUpgradeChannel other && Equals(other); + public bool Equals(NodeOSUpgradeChannel other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + /// + [EnumType] + public readonly struct OSDiskType : IEquatable + { + private readonly string _value; + + private OSDiskType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency. + /// + public static OSDiskType Managed { get; } = new OSDiskType("Managed"); + /// + /// Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades. + /// + public static OSDiskType Ephemeral { get; } = new OSDiskType("Ephemeral"); + + public static bool operator ==(OSDiskType left, OSDiskType right) => left.Equals(right); + public static bool operator !=(OSDiskType left, OSDiskType right) => !left.Equals(right); + + public static explicit operator string(OSDiskType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OSDiskType other && Equals(other); + public bool Equals(OSDiskType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + /// + [EnumType] + public readonly struct OSSKU : IEquatable + { + private readonly string _value; + + private OSSKU(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Use Ubuntu as the OS for node images. + /// + public static OSSKU Ubuntu { get; } = new OSSKU("Ubuntu"); + /// + /// Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. + /// + public static OSSKU AzureLinux { get; } = new OSSKU("AzureLinux"); + /// + /// Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. + /// + public static OSSKU CBLMariner { get; } = new OSSKU("CBLMariner"); + /// + /// Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa. + /// + public static OSSKU Windows2019 { get; } = new OSSKU("Windows2019"); + /// + /// Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa. + /// + public static OSSKU Windows2022 { get; } = new OSSKU("Windows2022"); + + public static bool operator ==(OSSKU left, OSSKU right) => left.Equals(right); + public static bool operator !=(OSSKU left, OSSKU right) => !left.Equals(right); + + public static explicit operator string(OSSKU value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OSSKU other && Equals(other); + public bool Equals(OSSKU other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The operating system type. The default is Linux. + /// + [EnumType] + public readonly struct OSType : IEquatable + { + private readonly string _value; + + private OSType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Use Linux. + /// + public static OSType Linux { get; } = new OSType("Linux"); + /// + /// Use Windows. + /// + public static OSType Windows { get; } = new OSType("Windows"); + + public static bool operator ==(OSType left, OSType right) => left.Equals(right); + public static bool operator !=(OSType left, OSType right) => !left.Equals(right); + + public static explicit operator string(OSType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OSType other && Equals(other); + public bool Equals(OSType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + /// + [EnumType] + public readonly struct OutboundType : IEquatable + { + private readonly string _value; + + private OutboundType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer). + /// + public static OutboundType LoadBalancer { get; } = new OutboundType("loadBalancer"); + /// + /// Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting). + /// + public static OutboundType UserDefinedRouting { get; } = new OutboundType("userDefinedRouting"); + /// + /// The AKS-managed NAT gateway is used for egress. + /// + public static OutboundType ManagedNATGateway { get; } = new OutboundType("managedNATGateway"); + /// + /// The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration. + /// + public static OutboundType UserAssignedNATGateway { get; } = new OutboundType("userAssignedNATGateway"); + + public static bool operator ==(OutboundType left, OutboundType right) => left.Equals(right); + public static bool operator !=(OutboundType left, OutboundType right) => !left.Equals(right); + + public static explicit operator string(OutboundType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OutboundType other && Equals(other); + public bool Equals(OutboundType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Allow or deny public network access for AKS + /// + [EnumType] + public readonly struct PublicNetworkAccess : IEquatable + { + private readonly string _value; + + private PublicNetworkAccess(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PublicNetworkAccess Enabled { get; } = new PublicNetworkAccess("Enabled"); + public static PublicNetworkAccess Disabled { get; } = new PublicNetworkAccess("Disabled"); + + public static bool operator ==(PublicNetworkAccess left, PublicNetworkAccess right) => left.Equals(right); + public static bool operator !=(PublicNetworkAccess left, PublicNetworkAccess right) => !left.Equals(right); + + public static explicit operator string(PublicNetworkAccess value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PublicNetworkAccess other && Equals(other); + public bool Equals(PublicNetworkAccess other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + /// + [EnumType] + public readonly struct ResourceIdentityType : IEquatable + { + private readonly string _value; + + private ResourceIdentityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources. + /// + public static ResourceIdentityType SystemAssigned { get; } = new ResourceIdentityType("SystemAssigned"); + /// + /// Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources. + /// + public static ResourceIdentityType UserAssigned { get; } = new ResourceIdentityType("UserAssigned"); + /// + /// Do not use a managed identity for the Managed Cluster, service principal will be used instead. + /// + public static ResourceIdentityType None { get; } = new ResourceIdentityType("None"); + + public static bool operator ==(ResourceIdentityType left, ResourceIdentityType right) => left.Equals(right); + public static bool operator !=(ResourceIdentityType left, ResourceIdentityType right) => !left.Equals(right); + + public static explicit operator string(ResourceIdentityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ResourceIdentityType other && Equals(other); + public bool Equals(ResourceIdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + /// + [EnumType] + public readonly struct ScaleDownMode : IEquatable + { + private readonly string _value; + + private ScaleDownMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Create new instances during scale up and remove instances during scale down. + /// + public static ScaleDownMode Delete { get; } = new ScaleDownMode("Delete"); + /// + /// Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down. + /// + public static ScaleDownMode Deallocate { get; } = new ScaleDownMode("Deallocate"); + + public static bool operator ==(ScaleDownMode left, ScaleDownMode right) => left.Equals(right); + public static bool operator !=(ScaleDownMode left, ScaleDownMode right) => !left.Equals(right); + + public static explicit operator string(ScaleDownMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ScaleDownMode other && Equals(other); + public bool Equals(ScaleDownMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + /// + [EnumType] + public readonly struct ScaleSetEvictionPolicy : IEquatable + { + private readonly string _value; + + private ScaleSetEvictionPolicy(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Nodes in the underlying Scale Set of the node pool are deleted when they're evicted. + /// + public static ScaleSetEvictionPolicy Delete { get; } = new ScaleSetEvictionPolicy("Delete"); + /// + /// Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading. + /// + public static ScaleSetEvictionPolicy Deallocate { get; } = new ScaleSetEvictionPolicy("Deallocate"); + + public static bool operator ==(ScaleSetEvictionPolicy left, ScaleSetEvictionPolicy right) => left.Equals(right); + public static bool operator !=(ScaleSetEvictionPolicy left, ScaleSetEvictionPolicy right) => !left.Equals(right); + + public static explicit operator string(ScaleSetEvictionPolicy value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ScaleSetEvictionPolicy other && Equals(other); + public bool Equals(ScaleSetEvictionPolicy other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + /// + [EnumType] + public readonly struct ScaleSetPriority : IEquatable + { + private readonly string _value; + + private ScaleSetPriority(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information. + /// + public static ScaleSetPriority Spot { get; } = new ScaleSetPriority("Spot"); + /// + /// Regular VMs will be used. + /// + public static ScaleSetPriority Regular { get; } = new ScaleSetPriority("Regular"); + + public static bool operator ==(ScaleSetPriority left, ScaleSetPriority right) => left.Equals(right); + public static bool operator !=(ScaleSetPriority left, ScaleSetPriority right) => !left.Equals(right); + + public static explicit operator string(ScaleSetPriority value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ScaleSetPriority other && Equals(other); + public bool Equals(ScaleSetPriority other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of a snapshot. The default is NodePool. + /// + [EnumType] + public readonly struct SnapshotType : IEquatable + { + private readonly string _value; + + private SnapshotType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// The snapshot is a snapshot of a node pool. + /// + public static SnapshotType NodePool { get; } = new SnapshotType("NodePool"); + + public static bool operator ==(SnapshotType left, SnapshotType right) => left.Equals(right); + public static bool operator !=(SnapshotType left, SnapshotType right) => !left.Equals(right); + + public static explicit operator string(SnapshotType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SnapshotType other && Equals(other); + public bool Equals(SnapshotType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies on which week of the month the dayOfWeek applies. + /// + [EnumType] + public readonly struct Type : IEquatable + { + private readonly string _value; + + private Type(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// First week of the month. + /// + public static Type First { get; } = new Type("First"); + /// + /// Second week of the month. + /// + public static Type Second { get; } = new Type("Second"); + /// + /// Third week of the month. + /// + public static Type Third { get; } = new Type("Third"); + /// + /// Fourth week of the month. + /// + public static Type Fourth { get; } = new Type("Fourth"); + /// + /// Last week of the month. + /// + public static Type Last { get; } = new Type("Last"); + + public static bool operator ==(Type left, Type right) => left.Equals(right); + public static bool operator !=(Type left, Type right) => !left.Equals(right); + + public static explicit operator string(Type value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is Type other && Equals(other); + public bool Equals(Type other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + /// + [EnumType] + public readonly struct UpgradeChannel : IEquatable + { + private readonly string _value; + + private UpgradeChannel(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1. + /// + public static UpgradeChannel Rapid { get; } = new UpgradeChannel("rapid"); + /// + /// Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6. + /// + public static UpgradeChannel Stable { get; } = new UpgradeChannel("stable"); + /// + /// Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. + /// + public static UpgradeChannel Patch { get; } = new UpgradeChannel("patch"); + /// + /// Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching + /// + public static UpgradeChannel Node_image { get; } = new UpgradeChannel("node-image"); + /// + /// Disables auto-upgrades and keeps the cluster at its current version of Kubernetes. + /// + public static UpgradeChannel None { get; } = new UpgradeChannel("none"); + + public static bool operator ==(UpgradeChannel left, UpgradeChannel right) => left.Equals(right); + public static bool operator !=(UpgradeChannel left, UpgradeChannel right) => !left.Equals(right); + + public static explicit operator string(UpgradeChannel value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is UpgradeChannel other && Equals(other); + public bool Equals(UpgradeChannel other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The day of the week. + /// + [EnumType] + public readonly struct WeekDay : IEquatable + { + private readonly string _value; + + private WeekDay(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static WeekDay Sunday { get; } = new WeekDay("Sunday"); + public static WeekDay Monday { get; } = new WeekDay("Monday"); + public static WeekDay Tuesday { get; } = new WeekDay("Tuesday"); + public static WeekDay Wednesday { get; } = new WeekDay("Wednesday"); + public static WeekDay Thursday { get; } = new WeekDay("Thursday"); + public static WeekDay Friday { get; } = new WeekDay("Friday"); + public static WeekDay Saturday { get; } = new WeekDay("Saturday"); + + public static bool operator ==(WeekDay left, WeekDay right) => left.Equals(right); + public static bool operator !=(WeekDay left, WeekDay right) => !left.Equals(right); + + public static explicit operator string(WeekDay value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is WeekDay other && Equals(other); + public bool Equals(WeekDay other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Determines the type of workload a node can run. + /// + [EnumType] + public readonly struct WorkloadRuntime : IEquatable + { + private readonly string _value; + + private WorkloadRuntime(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Nodes will use Kubelet to run standard OCI container workloads. + /// + public static WorkloadRuntime OCIContainer { get; } = new WorkloadRuntime("OCIContainer"); + /// + /// Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). + /// + public static WorkloadRuntime WasmWasi { get; } = new WorkloadRuntime("WasmWasi"); + + public static bool operator ==(WorkloadRuntime left, WorkloadRuntime right) => left.Equals(right); + public static bool operator !=(WorkloadRuntime left, WorkloadRuntime right) => !left.Equals(right); + + public static explicit operator string(WorkloadRuntime value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is WorkloadRuntime other && Equals(other); + public bool Equals(WorkloadRuntime other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/GetAgentPool.cs b/sdk/dotnet/ContainerService/V20230701/GetAgentPool.cs new file mode 100644 index 000000000000..34b732ca972b --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/GetAgentPool.cs @@ -0,0 +1,390 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + public static class GetAgentPool + { + /// + /// Agent Pool. + /// + public static Task InvokeAsync(GetAgentPoolArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerservice/v20230701:getAgentPool", args ?? new GetAgentPoolArgs(), options.WithDefaults()); + + /// + /// Agent Pool. + /// + public static Output Invoke(GetAgentPoolInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerservice/v20230701:getAgentPool", args ?? new GetAgentPoolInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAgentPoolArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the agent pool. + /// + [Input("agentPoolName", required: true)] + public string AgentPoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public string ResourceName { get; set; } = null!; + + public GetAgentPoolArgs() + { + } + public static new GetAgentPoolArgs Empty => new GetAgentPoolArgs(); + } + + public sealed class GetAgentPoolInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the agent pool. + /// + [Input("agentPoolName", required: true)] + public Input AgentPoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + public GetAgentPoolInvokeArgs() + { + } + public static new GetAgentPoolInvokeArgs Empty => new GetAgentPoolInvokeArgs(); + } + + + [OutputType] + public sealed class GetAgentPoolResult + { + /// + /// The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + /// + public readonly ImmutableArray AvailabilityZones; + /// + /// Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + /// + public readonly int? Count; + /// + /// CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + /// + public readonly Outputs.CreationDataResponse? CreationData; + /// + /// If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used. + /// + public readonly string CurrentOrchestratorVersion; + /// + /// Whether to enable auto-scaler + /// + public readonly bool? EnableAutoScaling; + /// + /// This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + /// + public readonly bool? EnableEncryptionAtHost; + /// + /// See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + /// + public readonly bool? EnableFIPS; + /// + /// Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + /// + public readonly bool? EnableNodePublicIP; + /// + /// Whether to enable UltraSSD + /// + public readonly bool? EnableUltraSSD; + /// + /// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + /// + public readonly string? GpuInstanceProfile; + /// + /// This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + /// + public readonly string? HostGroupID; + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// The Kubelet configuration on the agent pool nodes. + /// + public readonly Outputs.KubeletConfigResponse? KubeletConfig; + /// + /// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + /// + public readonly string? KubeletDiskType; + /// + /// The OS configuration of Linux agent nodes. + /// + public readonly Outputs.LinuxOSConfigResponse? LinuxOSConfig; + /// + /// The maximum number of nodes for auto-scaling + /// + public readonly int? MaxCount; + /// + /// The maximum number of pods that can run on a node. + /// + public readonly int? MaxPods; + /// + /// The minimum number of nodes for auto-scaling + /// + public readonly int? MinCount; + /// + /// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + /// + public readonly string? Mode; + /// + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. + /// + public readonly string Name; + /// + /// The version of node image + /// + public readonly string NodeImageVersion; + /// + /// The node labels to be persisted across all nodes in agent pool. + /// + public readonly ImmutableDictionary? NodeLabels; + /// + /// This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + /// + public readonly string? NodePublicIPPrefixID; + /// + /// The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + /// + public readonly ImmutableArray NodeTaints; + /// + /// Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + /// + public readonly string? OrchestratorVersion; + /// + /// OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + /// + public readonly int? OsDiskSizeGB; + /// + /// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + /// + public readonly string? OsDiskType; + /// + /// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + /// + public readonly string? OsSKU; + /// + /// The operating system type. The default is Linux. + /// + public readonly string? OsType; + /// + /// If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + /// + public readonly string? PodSubnetID; + /// + /// When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + /// + public readonly Outputs.PowerStateResponse? PowerState; + /// + /// The current deployment or provisioning state. + /// + public readonly string ProvisioningState; + /// + /// The ID for Proximity Placement Group. + /// + public readonly string? ProximityPlacementGroupID; + /// + /// This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + /// + public readonly string? ScaleDownMode; + /// + /// This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + /// + public readonly string? ScaleSetEvictionPolicy; + /// + /// The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + /// + public readonly string? ScaleSetPriority; + /// + /// Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + /// + public readonly double? SpotMaxPrice; + /// + /// The tags to be persisted on the agent pool virtual machine scale set. + /// + public readonly ImmutableDictionary? Tags; + /// + /// Resource type + /// + public readonly string Type; + /// + /// Settings for upgrading the agentpool + /// + public readonly Outputs.AgentPoolUpgradeSettingsResponse? UpgradeSettings; + /// + /// VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + /// + public readonly string? VmSize; + /// + /// If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + /// + public readonly string? VnetSubnetID; + /// + /// Determines the type of workload a node can run. + /// + public readonly string? WorkloadRuntime; + + [OutputConstructor] + private GetAgentPoolResult( + ImmutableArray availabilityZones, + + int? count, + + Outputs.CreationDataResponse? creationData, + + string currentOrchestratorVersion, + + bool? enableAutoScaling, + + bool? enableEncryptionAtHost, + + bool? enableFIPS, + + bool? enableNodePublicIP, + + bool? enableUltraSSD, + + string? gpuInstanceProfile, + + string? hostGroupID, + + string id, + + Outputs.KubeletConfigResponse? kubeletConfig, + + string? kubeletDiskType, + + Outputs.LinuxOSConfigResponse? linuxOSConfig, + + int? maxCount, + + int? maxPods, + + int? minCount, + + string? mode, + + string name, + + string nodeImageVersion, + + ImmutableDictionary? nodeLabels, + + string? nodePublicIPPrefixID, + + ImmutableArray nodeTaints, + + string? orchestratorVersion, + + int? osDiskSizeGB, + + string? osDiskType, + + string? osSKU, + + string? osType, + + string? podSubnetID, + + Outputs.PowerStateResponse? powerState, + + string provisioningState, + + string? proximityPlacementGroupID, + + string? scaleDownMode, + + string? scaleSetEvictionPolicy, + + string? scaleSetPriority, + + double? spotMaxPrice, + + ImmutableDictionary? tags, + + string type, + + Outputs.AgentPoolUpgradeSettingsResponse? upgradeSettings, + + string? vmSize, + + string? vnetSubnetID, + + string? workloadRuntime) + { + AvailabilityZones = availabilityZones; + Count = count; + CreationData = creationData; + CurrentOrchestratorVersion = currentOrchestratorVersion; + EnableAutoScaling = enableAutoScaling; + EnableEncryptionAtHost = enableEncryptionAtHost; + EnableFIPS = enableFIPS; + EnableNodePublicIP = enableNodePublicIP; + EnableUltraSSD = enableUltraSSD; + GpuInstanceProfile = gpuInstanceProfile; + HostGroupID = hostGroupID; + Id = id; + KubeletConfig = kubeletConfig; + KubeletDiskType = kubeletDiskType; + LinuxOSConfig = linuxOSConfig; + MaxCount = maxCount; + MaxPods = maxPods; + MinCount = minCount; + Mode = mode; + Name = name; + NodeImageVersion = nodeImageVersion; + NodeLabels = nodeLabels; + NodePublicIPPrefixID = nodePublicIPPrefixID; + NodeTaints = nodeTaints; + OrchestratorVersion = orchestratorVersion; + OsDiskSizeGB = osDiskSizeGB; + OsDiskType = osDiskType; + OsSKU = osSKU; + OsType = osType; + PodSubnetID = podSubnetID; + PowerState = powerState; + ProvisioningState = provisioningState; + ProximityPlacementGroupID = proximityPlacementGroupID; + ScaleDownMode = scaleDownMode; + ScaleSetEvictionPolicy = scaleSetEvictionPolicy; + ScaleSetPriority = scaleSetPriority; + SpotMaxPrice = spotMaxPrice; + Tags = tags; + Type = type; + UpgradeSettings = upgradeSettings; + VmSize = vmSize; + VnetSubnetID = vnetSubnetID; + WorkloadRuntime = workloadRuntime; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/GetMaintenanceConfiguration.cs b/sdk/dotnet/ContainerService/V20230701/GetMaintenanceConfiguration.cs new file mode 100644 index 000000000000..30b532e0a6b3 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/GetMaintenanceConfiguration.cs @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + public static class GetMaintenanceConfiguration + { + /// + /// See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + /// + public static Task InvokeAsync(GetMaintenanceConfigurationArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerservice/v20230701:getMaintenanceConfiguration", args ?? new GetMaintenanceConfigurationArgs(), options.WithDefaults()); + + /// + /// See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + /// + public static Output Invoke(GetMaintenanceConfigurationInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerservice/v20230701:getMaintenanceConfiguration", args ?? new GetMaintenanceConfigurationInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetMaintenanceConfigurationArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the maintenance configuration. + /// + [Input("configName", required: true)] + public string ConfigName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public string ResourceName { get; set; } = null!; + + public GetMaintenanceConfigurationArgs() + { + } + public static new GetMaintenanceConfigurationArgs Empty => new GetMaintenanceConfigurationArgs(); + } + + public sealed class GetMaintenanceConfigurationInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the maintenance configuration. + /// + [Input("configName", required: true)] + public Input ConfigName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + public GetMaintenanceConfigurationInvokeArgs() + { + } + public static new GetMaintenanceConfigurationInvokeArgs Empty => new GetMaintenanceConfigurationInvokeArgs(); + } + + + [OutputType] + public sealed class GetMaintenanceConfigurationResult + { + /// + /// Resource ID. + /// + public readonly string Id; + /// + /// Maintenance window for the maintenance configuration. + /// + public readonly Outputs.MaintenanceWindowResponse? MaintenanceWindow; + /// + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. + /// + public readonly string Name; + /// + /// Time slots on which upgrade is not allowed. + /// + public readonly ImmutableArray NotAllowedTime; + /// + /// The system metadata relating to this resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. + /// + public readonly ImmutableArray TimeInWeek; + /// + /// Resource type + /// + public readonly string Type; + + [OutputConstructor] + private GetMaintenanceConfigurationResult( + string id, + + Outputs.MaintenanceWindowResponse? maintenanceWindow, + + string name, + + ImmutableArray notAllowedTime, + + Outputs.SystemDataResponse systemData, + + ImmutableArray timeInWeek, + + string type) + { + Id = id; + MaintenanceWindow = maintenanceWindow; + Name = name; + NotAllowedTime = notAllowedTime; + SystemData = systemData; + TimeInWeek = timeInWeek; + Type = type; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/GetManagedCluster.cs b/sdk/dotnet/ContainerService/V20230701/GetManagedCluster.cs new file mode 100644 index 000000000000..445374f8e21e --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/GetManagedCluster.cs @@ -0,0 +1,399 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + public static class GetManagedCluster + { + /// + /// Managed cluster. + /// + public static Task InvokeAsync(GetManagedClusterArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerservice/v20230701:getManagedCluster", args ?? new GetManagedClusterArgs(), options.WithDefaults()); + + /// + /// Managed cluster. + /// + public static Output Invoke(GetManagedClusterInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerservice/v20230701:getManagedCluster", args ?? new GetManagedClusterInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetManagedClusterArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public string ResourceName { get; set; } = null!; + + public GetManagedClusterArgs() + { + } + public static new GetManagedClusterArgs Empty => new GetManagedClusterArgs(); + } + + public sealed class GetManagedClusterInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + public GetManagedClusterInvokeArgs() + { + } + public static new GetManagedClusterInvokeArgs Empty => new GetManagedClusterInvokeArgs(); + } + + + [OutputType] + public sealed class GetManagedClusterResult + { + /// + /// The Azure Active Directory configuration. + /// + public readonly Outputs.ManagedClusterAADProfileResponse? AadProfile; + /// + /// The profile of managed cluster add-on. + /// + public readonly ImmutableDictionary? AddonProfiles; + /// + /// The agent pool properties. + /// + public readonly ImmutableArray AgentPoolProfiles; + /// + /// The access profile for managed cluster API server. + /// + public readonly Outputs.ManagedClusterAPIServerAccessProfileResponse? ApiServerAccessProfile; + /// + /// Parameters to be applied to the cluster-autoscaler when enabled + /// + public readonly Outputs.ManagedClusterPropertiesResponseAutoScalerProfile? AutoScalerProfile; + /// + /// The auto upgrade configuration. + /// + public readonly Outputs.ManagedClusterAutoUpgradeProfileResponse? AutoUpgradeProfile; + /// + /// Azure Monitor addon profiles for monitoring the managed cluster. + /// + public readonly Outputs.ManagedClusterAzureMonitorProfileResponse? AzureMonitorProfile; + /// + /// The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. + /// + public readonly string AzurePortalFQDN; + /// + /// If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used. + /// + public readonly string CurrentKubernetesVersion; + /// + /// If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + /// + public readonly bool? DisableLocalAccounts; + /// + /// This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + /// + public readonly string? DiskEncryptionSetID; + /// + /// This cannot be updated once the Managed Cluster has been created. + /// + public readonly string? DnsPrefix; + /// + /// (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. + /// + public readonly bool? EnablePodSecurityPolicy; + /// + /// Whether to enable Kubernetes Role-Based Access Control. + /// + public readonly bool? EnableRBAC; + /// + /// The extended location of the Virtual Machine. + /// + public readonly Outputs.ExtendedLocationResponse? ExtendedLocation; + /// + /// The FQDN of the master pool. + /// + public readonly string Fqdn; + /// + /// This cannot be updated once the Managed Cluster has been created. + /// + public readonly string? FqdnSubdomain; + /// + /// Configurations for provisioning the cluster with HTTP proxy servers. + /// + public readonly Outputs.ManagedClusterHTTPProxyConfigResponse? HttpProxyConfig; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The identity of the managed cluster, if configured. + /// + public readonly Outputs.ManagedClusterIdentityResponse? Identity; + /// + /// Identities associated with the cluster. + /// + public readonly ImmutableDictionary? IdentityProfile; + /// + /// Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + /// + public readonly string? KubernetesVersion; + /// + /// The profile for Linux VMs in the Managed Cluster. + /// + public readonly Outputs.ContainerServiceLinuxProfileResponse? LinuxProfile; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// The max number of agent pools for the managed cluster. + /// + public readonly int MaxAgentPools; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The network configuration profile. + /// + public readonly Outputs.ContainerServiceNetworkProfileResponse? NetworkProfile; + /// + /// The name of the resource group containing agent pool nodes. + /// + public readonly string? NodeResourceGroup; + /// + /// The OIDC issuer profile of the Managed Cluster. + /// + public readonly Outputs.ManagedClusterOIDCIssuerProfileResponse? OidcIssuerProfile; + /// + /// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. + /// + public readonly Outputs.ManagedClusterPodIdentityProfileResponse? PodIdentityProfile; + /// + /// The Power State of the cluster. + /// + public readonly Outputs.PowerStateResponse PowerState; + /// + /// The FQDN of private cluster. + /// + public readonly string PrivateFQDN; + /// + /// Private link resources associated with the cluster. + /// + public readonly ImmutableArray PrivateLinkResources; + /// + /// The current provisioning state. + /// + public readonly string ProvisioningState; + /// + /// Allow or deny public network access for AKS + /// + public readonly string? PublicNetworkAccess; + /// + /// Security profile for the managed cluster. + /// + public readonly Outputs.ManagedClusterSecurityProfileResponse? SecurityProfile; + /// + /// Information about a service principal identity for the cluster to use for manipulating Azure APIs. + /// + public readonly Outputs.ManagedClusterServicePrincipalProfileResponse? ServicePrincipalProfile; + /// + /// The managed cluster SKU. + /// + public readonly Outputs.ManagedClusterSKUResponse? Sku; + /// + /// Storage profile for the managed cluster. + /// + public readonly Outputs.ManagedClusterStorageProfileResponse? StorageProfile; + /// + /// The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + /// + public readonly string? SupportPlan; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + /// + /// Settings for upgrading a cluster. + /// + public readonly Outputs.ClusterUpgradeSettingsResponse? UpgradeSettings; + /// + /// The profile for Windows VMs in the Managed Cluster. + /// + public readonly Outputs.ManagedClusterWindowsProfileResponse? WindowsProfile; + /// + /// Workload Auto-scaler profile for the managed cluster. + /// + public readonly Outputs.ManagedClusterWorkloadAutoScalerProfileResponse? WorkloadAutoScalerProfile; + + [OutputConstructor] + private GetManagedClusterResult( + Outputs.ManagedClusterAADProfileResponse? aadProfile, + + ImmutableDictionary? addonProfiles, + + ImmutableArray agentPoolProfiles, + + Outputs.ManagedClusterAPIServerAccessProfileResponse? apiServerAccessProfile, + + Outputs.ManagedClusterPropertiesResponseAutoScalerProfile? autoScalerProfile, + + Outputs.ManagedClusterAutoUpgradeProfileResponse? autoUpgradeProfile, + + Outputs.ManagedClusterAzureMonitorProfileResponse? azureMonitorProfile, + + string azurePortalFQDN, + + string currentKubernetesVersion, + + bool? disableLocalAccounts, + + string? diskEncryptionSetID, + + string? dnsPrefix, + + bool? enablePodSecurityPolicy, + + bool? enableRBAC, + + Outputs.ExtendedLocationResponse? extendedLocation, + + string fqdn, + + string? fqdnSubdomain, + + Outputs.ManagedClusterHTTPProxyConfigResponse? httpProxyConfig, + + string id, + + Outputs.ManagedClusterIdentityResponse? identity, + + ImmutableDictionary? identityProfile, + + string? kubernetesVersion, + + Outputs.ContainerServiceLinuxProfileResponse? linuxProfile, + + string location, + + int maxAgentPools, + + string name, + + Outputs.ContainerServiceNetworkProfileResponse? networkProfile, + + string? nodeResourceGroup, + + Outputs.ManagedClusterOIDCIssuerProfileResponse? oidcIssuerProfile, + + Outputs.ManagedClusterPodIdentityProfileResponse? podIdentityProfile, + + Outputs.PowerStateResponse powerState, + + string privateFQDN, + + ImmutableArray privateLinkResources, + + string provisioningState, + + string? publicNetworkAccess, + + Outputs.ManagedClusterSecurityProfileResponse? securityProfile, + + Outputs.ManagedClusterServicePrincipalProfileResponse? servicePrincipalProfile, + + Outputs.ManagedClusterSKUResponse? sku, + + Outputs.ManagedClusterStorageProfileResponse? storageProfile, + + string? supportPlan, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type, + + Outputs.ClusterUpgradeSettingsResponse? upgradeSettings, + + Outputs.ManagedClusterWindowsProfileResponse? windowsProfile, + + Outputs.ManagedClusterWorkloadAutoScalerProfileResponse? workloadAutoScalerProfile) + { + AadProfile = aadProfile; + AddonProfiles = addonProfiles; + AgentPoolProfiles = agentPoolProfiles; + ApiServerAccessProfile = apiServerAccessProfile; + AutoScalerProfile = autoScalerProfile; + AutoUpgradeProfile = autoUpgradeProfile; + AzureMonitorProfile = azureMonitorProfile; + AzurePortalFQDN = azurePortalFQDN; + CurrentKubernetesVersion = currentKubernetesVersion; + DisableLocalAccounts = disableLocalAccounts; + DiskEncryptionSetID = diskEncryptionSetID; + DnsPrefix = dnsPrefix; + EnablePodSecurityPolicy = enablePodSecurityPolicy; + EnableRBAC = enableRBAC; + ExtendedLocation = extendedLocation; + Fqdn = fqdn; + FqdnSubdomain = fqdnSubdomain; + HttpProxyConfig = httpProxyConfig; + Id = id; + Identity = identity; + IdentityProfile = identityProfile; + KubernetesVersion = kubernetesVersion; + LinuxProfile = linuxProfile; + Location = location; + MaxAgentPools = maxAgentPools; + Name = name; + NetworkProfile = networkProfile; + NodeResourceGroup = nodeResourceGroup; + OidcIssuerProfile = oidcIssuerProfile; + PodIdentityProfile = podIdentityProfile; + PowerState = powerState; + PrivateFQDN = privateFQDN; + PrivateLinkResources = privateLinkResources; + ProvisioningState = provisioningState; + PublicNetworkAccess = publicNetworkAccess; + SecurityProfile = securityProfile; + ServicePrincipalProfile = servicePrincipalProfile; + Sku = sku; + StorageProfile = storageProfile; + SupportPlan = supportPlan; + SystemData = systemData; + Tags = tags; + Type = type; + UpgradeSettings = upgradeSettings; + WindowsProfile = windowsProfile; + WorkloadAutoScalerProfile = workloadAutoScalerProfile; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/GetPrivateEndpointConnection.cs b/sdk/dotnet/ContainerService/V20230701/GetPrivateEndpointConnection.cs new file mode 100644 index 000000000000..4e35853ab727 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/GetPrivateEndpointConnection.cs @@ -0,0 +1,131 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + public static class GetPrivateEndpointConnection + { + /// + /// To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters + /// + public static Task InvokeAsync(GetPrivateEndpointConnectionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerservice/v20230701:getPrivateEndpointConnection", args ?? new GetPrivateEndpointConnectionArgs(), options.WithDefaults()); + + /// + /// To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters + /// + public static Output Invoke(GetPrivateEndpointConnectionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerservice/v20230701:getPrivateEndpointConnection", args ?? new GetPrivateEndpointConnectionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetPrivateEndpointConnectionArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the private endpoint connection. + /// + [Input("privateEndpointConnectionName", required: true)] + public string PrivateEndpointConnectionName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public string ResourceName { get; set; } = null!; + + public GetPrivateEndpointConnectionArgs() + { + } + public static new GetPrivateEndpointConnectionArgs Empty => new GetPrivateEndpointConnectionArgs(); + } + + public sealed class GetPrivateEndpointConnectionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the private endpoint connection. + /// + [Input("privateEndpointConnectionName", required: true)] + public Input PrivateEndpointConnectionName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + public GetPrivateEndpointConnectionInvokeArgs() + { + } + public static new GetPrivateEndpointConnectionInvokeArgs Empty => new GetPrivateEndpointConnectionInvokeArgs(); + } + + + [OutputType] + public sealed class GetPrivateEndpointConnectionResult + { + /// + /// The ID of the private endpoint connection. + /// + public readonly string Id; + /// + /// The name of the private endpoint connection. + /// + public readonly string Name; + /// + /// The resource of private endpoint. + /// + public readonly Outputs.PrivateEndpointResponse? PrivateEndpoint; + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + public readonly Outputs.PrivateLinkServiceConnectionStateResponse PrivateLinkServiceConnectionState; + /// + /// The current provisioning state. + /// + public readonly string ProvisioningState; + /// + /// The resource type. + /// + public readonly string Type; + + [OutputConstructor] + private GetPrivateEndpointConnectionResult( + string id, + + string name, + + Outputs.PrivateEndpointResponse? privateEndpoint, + + Outputs.PrivateLinkServiceConnectionStateResponse privateLinkServiceConnectionState, + + string provisioningState, + + string type) + { + Id = id; + Name = name; + PrivateEndpoint = privateEndpoint; + PrivateLinkServiceConnectionState = privateLinkServiceConnectionState; + ProvisioningState = provisioningState; + Type = type; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/GetSnapshot.cs b/sdk/dotnet/ContainerService/V20230701/GetSnapshot.cs new file mode 100644 index 000000000000..d120c47a8888 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/GetSnapshot.cs @@ -0,0 +1,175 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + public static class GetSnapshot + { + /// + /// A node pool snapshot resource. + /// + public static Task InvokeAsync(GetSnapshotArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerservice/v20230701:getSnapshot", args ?? new GetSnapshotArgs(), options.WithDefaults()); + + /// + /// A node pool snapshot resource. + /// + public static Output Invoke(GetSnapshotInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerservice/v20230701:getSnapshot", args ?? new GetSnapshotInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSnapshotArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public string ResourceName { get; set; } = null!; + + public GetSnapshotArgs() + { + } + public static new GetSnapshotArgs Empty => new GetSnapshotArgs(); + } + + public sealed class GetSnapshotInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + public GetSnapshotInvokeArgs() + { + } + public static new GetSnapshotInvokeArgs Empty => new GetSnapshotInvokeArgs(); + } + + + [OutputType] + public sealed class GetSnapshotResult + { + /// + /// CreationData to be used to specify the source agent pool resource ID to create this snapshot. + /// + public readonly Outputs.CreationDataResponse? CreationData; + /// + /// Whether to use a FIPS-enabled OS. + /// + public readonly bool EnableFIPS; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The version of Kubernetes. + /// + public readonly string KubernetesVersion; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The version of node image. + /// + public readonly string NodeImageVersion; + /// + /// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + /// + public readonly string OsSku; + /// + /// The operating system type. The default is Linux. + /// + public readonly string OsType; + /// + /// The type of a snapshot. The default is NodePool. + /// + public readonly string? SnapshotType; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + /// + /// The size of the VM. + /// + public readonly string VmSize; + + [OutputConstructor] + private GetSnapshotResult( + Outputs.CreationDataResponse? creationData, + + bool enableFIPS, + + string id, + + string kubernetesVersion, + + string location, + + string name, + + string nodeImageVersion, + + string osSku, + + string osType, + + string? snapshotType, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type, + + string vmSize) + { + CreationData = creationData; + EnableFIPS = enableFIPS; + Id = id; + KubernetesVersion = kubernetesVersion; + Location = location; + Name = name; + NodeImageVersion = nodeImageVersion; + OsSku = osSku; + OsType = osType; + SnapshotType = snapshotType; + SystemData = systemData; + Tags = tags; + Type = type; + VmSize = vmSize; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/AbsoluteMonthlyScheduleArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/AbsoluteMonthlyScheduleArgs.cs new file mode 100644 index 000000000000..9d5fac78727e --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/AbsoluteMonthlyScheduleArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + /// + public sealed class AbsoluteMonthlyScheduleArgs : global::Pulumi.ResourceArgs + { + /// + /// The date of the month. + /// + [Input("dayOfMonth", required: true)] + public Input DayOfMonth { get; set; } = null!; + + /// + /// Specifies the number of months between each set of occurrences. + /// + [Input("intervalMonths", required: true)] + public Input IntervalMonths { get; set; } = null!; + + public AbsoluteMonthlyScheduleArgs() + { + } + public static new AbsoluteMonthlyScheduleArgs Empty => new AbsoluteMonthlyScheduleArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/AgentPoolUpgradeSettingsArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/AgentPoolUpgradeSettingsArgs.cs new file mode 100644 index 000000000000..2b874fc07b81 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/AgentPoolUpgradeSettingsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Settings for upgrading an agentpool + /// + public sealed class AgentPoolUpgradeSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. + /// + [Input("drainTimeoutInMinutes")] + public Input? DrainTimeoutInMinutes { get; set; } + + /// + /// This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + /// + [Input("maxSurge")] + public Input? MaxSurge { get; set; } + + public AgentPoolUpgradeSettingsArgs() + { + } + public static new AgentPoolUpgradeSettingsArgs Empty => new AgentPoolUpgradeSettingsArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/AzureKeyVaultKmsArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/AzureKeyVaultKmsArgs.cs new file mode 100644 index 000000000000..78085ccf1fb1 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/AzureKeyVaultKmsArgs.cs @@ -0,0 +1,48 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Azure Key Vault key management service settings for the security profile. + /// + public sealed class AzureKeyVaultKmsArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable Azure Key Vault key management service. The default is false. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + /// + [Input("keyId")] + public Input? KeyId { get; set; } + + /// + /// Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + /// + [Input("keyVaultNetworkAccess")] + public InputUnion? KeyVaultNetworkAccess { get; set; } + + /// + /// Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + /// + [Input("keyVaultResourceId")] + public Input? KeyVaultResourceId { get; set; } + + public AzureKeyVaultKmsArgs() + { + KeyVaultNetworkAccess = "Public"; + } + public static new AzureKeyVaultKmsArgs Empty => new AzureKeyVaultKmsArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ClusterUpgradeSettingsArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ClusterUpgradeSettingsArgs.cs new file mode 100644 index 000000000000..0579802b1d7f --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ClusterUpgradeSettingsArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Settings for upgrading a cluster. + /// + public sealed class ClusterUpgradeSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Settings for overrides. + /// + [Input("overrideSettings")] + public Input? OverrideSettings { get; set; } + + public ClusterUpgradeSettingsArgs() + { + } + public static new ClusterUpgradeSettingsArgs Empty => new ClusterUpgradeSettingsArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ContainerServiceLinuxProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ContainerServiceLinuxProfileArgs.cs new file mode 100644 index 000000000000..c20204de0b50 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ContainerServiceLinuxProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Profile for Linux VMs in the container service cluster. + /// + public sealed class ContainerServiceLinuxProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// The administrator username to use for Linux VMs. + /// + [Input("adminUsername", required: true)] + public Input AdminUsername { get; set; } = null!; + + /// + /// The SSH configuration for Linux-based VMs running on Azure. + /// + [Input("ssh", required: true)] + public Input Ssh { get; set; } = null!; + + public ContainerServiceLinuxProfileArgs() + { + } + public static new ContainerServiceLinuxProfileArgs Empty => new ContainerServiceLinuxProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ContainerServiceNetworkProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ContainerServiceNetworkProfileArgs.cs new file mode 100644 index 000000000000..7f97993c8e77 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ContainerServiceNetworkProfileArgs.cs @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Profile of network configuration. + /// + public sealed class ContainerServiceNetworkProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + /// + [Input("dnsServiceIP")] + public Input? DnsServiceIP { get; set; } + + [Input("ipFamilies")] + private InputList>? _ipFamilies; + + /// + /// IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + /// + public InputList> IpFamilies + { + get => _ipFamilies ?? (_ipFamilies = new InputList>()); + set => _ipFamilies = value; + } + + /// + /// Profile of the cluster load balancer. + /// + [Input("loadBalancerProfile")] + public Input? LoadBalancerProfile { get; set; } + + /// + /// The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + /// + [Input("loadBalancerSku")] + public InputUnion? LoadBalancerSku { get; set; } + + /// + /// Profile of the cluster NAT gateway. + /// + [Input("natGatewayProfile")] + public Input? NatGatewayProfile { get; set; } + + /// + /// Network dataplane used in the Kubernetes cluster. + /// + [Input("networkDataplane")] + public InputUnion? NetworkDataplane { get; set; } + + /// + /// This cannot be specified if networkPlugin is anything other than 'azure'. + /// + [Input("networkMode")] + public InputUnion? NetworkMode { get; set; } + + /// + /// Network plugin used for building the Kubernetes network. + /// + [Input("networkPlugin")] + public InputUnion? NetworkPlugin { get; set; } + + /// + /// The mode the network plugin should use. + /// + [Input("networkPluginMode")] + public InputUnion? NetworkPluginMode { get; set; } + + /// + /// Network policy used for building the Kubernetes network. + /// + [Input("networkPolicy")] + public InputUnion? NetworkPolicy { get; set; } + + /// + /// This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + /// + [Input("outboundType")] + public InputUnion? OutboundType { get; set; } + + /// + /// A CIDR notation IP range from which to assign pod IPs when kubenet is used. + /// + [Input("podCidr")] + public Input? PodCidr { get; set; } + + [Input("podCidrs")] + private InputList? _podCidrs; + + /// + /// One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + /// + public InputList PodCidrs + { + get => _podCidrs ?? (_podCidrs = new InputList()); + set => _podCidrs = value; + } + + /// + /// A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + /// + [Input("serviceCidr")] + public Input? ServiceCidr { get; set; } + + [Input("serviceCidrs")] + private InputList? _serviceCidrs; + + /// + /// One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + /// + public InputList ServiceCidrs + { + get => _serviceCidrs ?? (_serviceCidrs = new InputList()); + set => _serviceCidrs = value; + } + + public ContainerServiceNetworkProfileArgs() + { + DnsServiceIP = "10.0.0.10"; + NetworkPlugin = "kubenet"; + OutboundType = "loadBalancer"; + PodCidr = "10.244.0.0/16"; + ServiceCidr = "10.0.0.0/16"; + } + public static new ContainerServiceNetworkProfileArgs Empty => new ContainerServiceNetworkProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ContainerServiceSshConfigurationArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ContainerServiceSshConfigurationArgs.cs new file mode 100644 index 000000000000..45791a750cae --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ContainerServiceSshConfigurationArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// SSH configuration for Linux-based VMs running on Azure. + /// + public sealed class ContainerServiceSshConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("publicKeys", required: true)] + private InputList? _publicKeys; + + /// + /// The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + /// + public InputList PublicKeys + { + get => _publicKeys ?? (_publicKeys = new InputList()); + set => _publicKeys = value; + } + + public ContainerServiceSshConfigurationArgs() + { + } + public static new ContainerServiceSshConfigurationArgs Empty => new ContainerServiceSshConfigurationArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ContainerServiceSshPublicKeyArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ContainerServiceSshPublicKeyArgs.cs new file mode 100644 index 000000000000..1dc82095e353 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ContainerServiceSshPublicKeyArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Contains information about SSH certificate public key data. + /// + public sealed class ContainerServiceSshPublicKeyArgs : global::Pulumi.ResourceArgs + { + /// + /// Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + /// + [Input("keyData", required: true)] + public Input KeyData { get; set; } = null!; + + public ContainerServiceSshPublicKeyArgs() + { + } + public static new ContainerServiceSshPublicKeyArgs Empty => new ContainerServiceSshPublicKeyArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/CreationDataArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/CreationDataArgs.cs new file mode 100644 index 000000000000..da2faae06253 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/CreationDataArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Data used when creating a target resource from a source resource. + /// + public sealed class CreationDataArgs : global::Pulumi.ResourceArgs + { + /// + /// This is the ARM ID of the source object to be used to create the target object. + /// + [Input("sourceResourceId")] + public Input? SourceResourceId { get; set; } + + public CreationDataArgs() + { + } + public static new CreationDataArgs Empty => new CreationDataArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/DailyScheduleArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/DailyScheduleArgs.cs new file mode 100644 index 000000000000..b2095e8a95a4 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/DailyScheduleArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// For schedules like: 'recur every day' or 'recur every 3 days'. + /// + public sealed class DailyScheduleArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the number of days between each set of occurrences. + /// + [Input("intervalDays", required: true)] + public Input IntervalDays { get; set; } = null!; + + public DailyScheduleArgs() + { + } + public static new DailyScheduleArgs Empty => new DailyScheduleArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/DateSpanArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/DateSpanArgs.cs new file mode 100644 index 000000000000..22898b467248 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/DateSpanArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// For example, between '2022-12-23' and '2023-01-05'. + /// + public sealed class DateSpanArgs : global::Pulumi.ResourceArgs + { + /// + /// The end date of the date span. + /// + [Input("end", required: true)] + public Input End { get; set; } = null!; + + /// + /// The start date of the date span. + /// + [Input("start", required: true)] + public Input Start { get; set; } = null!; + + public DateSpanArgs() + { + } + public static new DateSpanArgs Empty => new DateSpanArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/DelegatedResourceArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/DelegatedResourceArgs.cs new file mode 100644 index 000000000000..7afda80629ef --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/DelegatedResourceArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Delegated resource properties - internal use only. + /// + public sealed class DelegatedResourceArgs : global::Pulumi.ResourceArgs + { + /// + /// The source resource location - internal use only. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The delegation id of the referral delegation (optional) - internal use only. + /// + [Input("referralResource")] + public Input? ReferralResource { get; set; } + + /// + /// The ARM resource id of the delegated resource - internal use only. + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + /// + /// The tenant id of the delegated resource - internal use only. + /// + [Input("tenantId")] + public Input? TenantId { get; set; } + + public DelegatedResourceArgs() + { + } + public static new DelegatedResourceArgs Empty => new DelegatedResourceArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ExtendedLocationArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ExtendedLocationArgs.cs new file mode 100644 index 000000000000..d4bf3b2543c5 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ExtendedLocationArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// The complex type of the extended location. + /// + public sealed class ExtendedLocationArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the extended location. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The type of the extended location. + /// + [Input("type")] + public InputUnion? Type { get; set; } + + public ExtendedLocationArgs() + { + } + public static new ExtendedLocationArgs Empty => new ExtendedLocationArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/KubeletConfigArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/KubeletConfigArgs.cs new file mode 100644 index 000000000000..1361906bf330 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/KubeletConfigArgs.cs @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + /// + public sealed class KubeletConfigArgs : global::Pulumi.ResourceArgs + { + [Input("allowedUnsafeSysctls")] + private InputList? _allowedUnsafeSysctls; + + /// + /// Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + /// + public InputList AllowedUnsafeSysctls + { + get => _allowedUnsafeSysctls ?? (_allowedUnsafeSysctls = new InputList()); + set => _allowedUnsafeSysctls = value; + } + + /// + /// The maximum number of container log files that can be present for a container. The number must be ≥ 2. + /// + [Input("containerLogMaxFiles")] + public Input? ContainerLogMaxFiles { get; set; } + + /// + /// The maximum size (e.g. 10Mi) of container log file before it is rotated. + /// + [Input("containerLogMaxSizeMB")] + public Input? ContainerLogMaxSizeMB { get; set; } + + /// + /// The default is true. + /// + [Input("cpuCfsQuota")] + public Input? CpuCfsQuota { get; set; } + + /// + /// The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + /// + [Input("cpuCfsQuotaPeriod")] + public Input? CpuCfsQuotaPeriod { get; set; } + + /// + /// The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + /// + [Input("cpuManagerPolicy")] + public Input? CpuManagerPolicy { get; set; } + + /// + /// If set to true it will make the Kubelet fail to start if swap is enabled on the node. + /// + [Input("failSwapOn")] + public Input? FailSwapOn { get; set; } + + /// + /// To disable image garbage collection, set to 100. The default is 85% + /// + [Input("imageGcHighThreshold")] + public Input? ImageGcHighThreshold { get; set; } + + /// + /// This cannot be set higher than imageGcHighThreshold. The default is 80% + /// + [Input("imageGcLowThreshold")] + public Input? ImageGcLowThreshold { get; set; } + + /// + /// The maximum number of processes per pod. + /// + [Input("podMaxPids")] + public Input? PodMaxPids { get; set; } + + /// + /// For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + /// + [Input("topologyManagerPolicy")] + public Input? TopologyManagerPolicy { get; set; } + + public KubeletConfigArgs() + { + } + public static new KubeletConfigArgs Empty => new KubeletConfigArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/LinuxOSConfigArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/LinuxOSConfigArgs.cs new file mode 100644 index 000000000000..b4fc6f6af16a --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/LinuxOSConfigArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + /// + public sealed class LinuxOSConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The size in MB of a swap file that will be created on each node. + /// + [Input("swapFileSizeMB")] + public Input? SwapFileSizeMB { get; set; } + + /// + /// Sysctl settings for Linux agent nodes. + /// + [Input("sysctls")] + public Input? Sysctls { get; set; } + + /// + /// Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + /// + [Input("transparentHugePageDefrag")] + public Input? TransparentHugePageDefrag { get; set; } + + /// + /// Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + /// + [Input("transparentHugePageEnabled")] + public Input? TransparentHugePageEnabled { get; set; } + + public LinuxOSConfigArgs() + { + } + public static new LinuxOSConfigArgs Empty => new LinuxOSConfigArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/MaintenanceWindowArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/MaintenanceWindowArgs.cs new file mode 100644 index 000000000000..95e996720357 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/MaintenanceWindowArgs.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + /// + public sealed class MaintenanceWindowArgs : global::Pulumi.ResourceArgs + { + /// + /// Length of maintenance window range from 4 to 24 hours. + /// + [Input("durationHours", required: true)] + public Input DurationHours { get; set; } = null!; + + [Input("notAllowedDates")] + private InputList? _notAllowedDates; + + /// + /// Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. + /// + public InputList NotAllowedDates + { + get => _notAllowedDates ?? (_notAllowedDates = new InputList()); + set => _notAllowedDates = value; + } + + /// + /// Recurrence schedule for the maintenance window. + /// + [Input("schedule", required: true)] + public Input Schedule { get; set; } = null!; + + /// + /// The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + /// + [Input("startDate")] + public Input? StartDate { get; set; } + + /// + /// The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + /// + [Input("startTime", required: true)] + public Input StartTime { get; set; } = null!; + + /// + /// The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. + /// + [Input("utcOffset")] + public Input? UtcOffset { get; set; } + + public MaintenanceWindowArgs() + { + DurationHours = 24; + } + public static new MaintenanceWindowArgs Empty => new MaintenanceWindowArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAADProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAADProfileArgs.cs new file mode 100644 index 000000000000..a98b806e63fa --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAADProfileArgs.cs @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + /// + public sealed class ManagedClusterAADProfileArgs : global::Pulumi.ResourceArgs + { + [Input("adminGroupObjectIDs")] + private InputList? _adminGroupObjectIDs; + + /// + /// The list of AAD group object IDs that will have admin role of the cluster. + /// + public InputList AdminGroupObjectIDs + { + get => _adminGroupObjectIDs ?? (_adminGroupObjectIDs = new InputList()); + set => _adminGroupObjectIDs = value; + } + + /// + /// (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + /// + [Input("clientAppID")] + public Input? ClientAppID { get; set; } + + /// + /// Whether to enable Azure RBAC for Kubernetes authorization. + /// + [Input("enableAzureRBAC")] + public Input? EnableAzureRBAC { get; set; } + + /// + /// Whether to enable managed AAD. + /// + [Input("managed")] + public Input? Managed { get; set; } + + /// + /// (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + /// + [Input("serverAppID")] + public Input? ServerAppID { get; set; } + + /// + /// (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + /// + [Input("serverAppSecret")] + public Input? ServerAppSecret { get; set; } + + /// + /// The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + /// + [Input("tenantID")] + public Input? TenantID { get; set; } + + public ManagedClusterAADProfileArgs() + { + } + public static new ManagedClusterAADProfileArgs Empty => new ManagedClusterAADProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAPIServerAccessProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAPIServerAccessProfileArgs.cs new file mode 100644 index 000000000000..14ce0003be93 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAPIServerAccessProfileArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Access profile for managed cluster API server. + /// + public sealed class ManagedClusterAPIServerAccessProfileArgs : global::Pulumi.ResourceArgs + { + [Input("authorizedIPRanges")] + private InputList? _authorizedIPRanges; + + /// + /// IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + /// + public InputList AuthorizedIPRanges + { + get => _authorizedIPRanges ?? (_authorizedIPRanges = new InputList()); + set => _authorizedIPRanges = value; + } + + /// + /// Whether to disable run command for the cluster or not. + /// + [Input("disableRunCommand")] + public Input? DisableRunCommand { get; set; } + + /// + /// For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + /// + [Input("enablePrivateCluster")] + public Input? EnablePrivateCluster { get; set; } + + /// + /// Whether to create additional public FQDN for private cluster or not. + /// + [Input("enablePrivateClusterPublicFQDN")] + public Input? EnablePrivateClusterPublicFQDN { get; set; } + + /// + /// The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + /// + [Input("privateDNSZone")] + public Input? PrivateDNSZone { get; set; } + + public ManagedClusterAPIServerAccessProfileArgs() + { + } + public static new ManagedClusterAPIServerAccessProfileArgs Empty => new ManagedClusterAPIServerAccessProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAddonProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAddonProfileArgs.cs new file mode 100644 index 000000000000..5f85eefe4a0e --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAddonProfileArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// A Kubernetes add-on profile for a managed cluster. + /// + public sealed class ManagedClusterAddonProfileArgs : global::Pulumi.ResourceArgs + { + [Input("config")] + private InputMap? _config; + + /// + /// Key-value pairs for configuring an add-on. + /// + public InputMap Config + { + get => _config ?? (_config = new InputMap()); + set => _config = value; + } + + /// + /// Whether the add-on is enabled or not. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + public ManagedClusterAddonProfileArgs() + { + } + public static new ManagedClusterAddonProfileArgs Empty => new ManagedClusterAddonProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAgentPoolProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAgentPoolProfileArgs.cs new file mode 100644 index 000000000000..f3130a853f93 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAgentPoolProfileArgs.cs @@ -0,0 +1,281 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Profile for the container service agent pool. + /// + public sealed class ManagedClusterAgentPoolProfileArgs : global::Pulumi.ResourceArgs + { + [Input("availabilityZones")] + private InputList? _availabilityZones; + + /// + /// The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + /// + public InputList AvailabilityZones + { + get => _availabilityZones ?? (_availabilityZones = new InputList()); + set => _availabilityZones = value; + } + + /// + /// Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + /// + [Input("creationData")] + public Input? CreationData { get; set; } + + /// + /// Whether to enable auto-scaler + /// + [Input("enableAutoScaling")] + public Input? EnableAutoScaling { get; set; } + + /// + /// This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + /// + [Input("enableEncryptionAtHost")] + public Input? EnableEncryptionAtHost { get; set; } + + /// + /// See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + /// + [Input("enableFIPS")] + public Input? EnableFIPS { get; set; } + + /// + /// Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + /// + [Input("enableNodePublicIP")] + public Input? EnableNodePublicIP { get; set; } + + /// + /// Whether to enable UltraSSD + /// + [Input("enableUltraSSD")] + public Input? EnableUltraSSD { get; set; } + + /// + /// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + /// + [Input("gpuInstanceProfile")] + public InputUnion? GpuInstanceProfile { get; set; } + + /// + /// This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + /// + [Input("hostGroupID")] + public Input? HostGroupID { get; set; } + + /// + /// The Kubelet configuration on the agent pool nodes. + /// + [Input("kubeletConfig")] + public Input? KubeletConfig { get; set; } + + /// + /// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + /// + [Input("kubeletDiskType")] + public InputUnion? KubeletDiskType { get; set; } + + /// + /// The OS configuration of Linux agent nodes. + /// + [Input("linuxOSConfig")] + public Input? LinuxOSConfig { get; set; } + + /// + /// The maximum number of nodes for auto-scaling + /// + [Input("maxCount")] + public Input? MaxCount { get; set; } + + /// + /// The maximum number of pods that can run on a node. + /// + [Input("maxPods")] + public Input? MaxPods { get; set; } + + /// + /// The minimum number of nodes for auto-scaling + /// + [Input("minCount")] + public Input? MinCount { get; set; } + + /// + /// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + /// + [Input("mode")] + public InputUnion? Mode { get; set; } + + /// + /// Windows agent pool names must be 6 characters or less. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("nodeLabels")] + private InputMap? _nodeLabels; + + /// + /// The node labels to be persisted across all nodes in agent pool. + /// + public InputMap NodeLabels + { + get => _nodeLabels ?? (_nodeLabels = new InputMap()); + set => _nodeLabels = value; + } + + /// + /// This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + /// + [Input("nodePublicIPPrefixID")] + public Input? NodePublicIPPrefixID { get; set; } + + [Input("nodeTaints")] + private InputList? _nodeTaints; + + /// + /// The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + /// + public InputList NodeTaints + { + get => _nodeTaints ?? (_nodeTaints = new InputList()); + set => _nodeTaints = value; + } + + /// + /// Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + /// + [Input("orchestratorVersion")] + public Input? OrchestratorVersion { get; set; } + + /// + /// OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + /// + [Input("osDiskSizeGB")] + public Input? OsDiskSizeGB { get; set; } + + /// + /// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + /// + [Input("osDiskType")] + public InputUnion? OsDiskType { get; set; } + + /// + /// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + /// + [Input("osSKU")] + public InputUnion? OsSKU { get; set; } + + /// + /// The operating system type. The default is Linux. + /// + [Input("osType")] + public InputUnion? OsType { get; set; } + + /// + /// If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + /// + [Input("podSubnetID")] + public Input? PodSubnetID { get; set; } + + /// + /// When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + /// + [Input("powerState")] + public Input? PowerState { get; set; } + + /// + /// The ID for Proximity Placement Group. + /// + [Input("proximityPlacementGroupID")] + public Input? ProximityPlacementGroupID { get; set; } + + /// + /// This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + /// + [Input("scaleDownMode")] + public InputUnion? ScaleDownMode { get; set; } + + /// + /// This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + /// + [Input("scaleSetEvictionPolicy")] + public InputUnion? ScaleSetEvictionPolicy { get; set; } + + /// + /// The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + /// + [Input("scaleSetPriority")] + public InputUnion? ScaleSetPriority { get; set; } + + /// + /// Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + /// + [Input("spotMaxPrice")] + public Input? SpotMaxPrice { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// The tags to be persisted on the agent pool virtual machine scale set. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// The type of Agent Pool. + /// + [Input("type")] + public InputUnion? Type { get; set; } + + /// + /// Settings for upgrading the agentpool + /// + [Input("upgradeSettings")] + public Input? UpgradeSettings { get; set; } + + /// + /// VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + /// + [Input("vmSize")] + public Input? VmSize { get; set; } + + /// + /// If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + /// + [Input("vnetSubnetID")] + public Input? VnetSubnetID { get; set; } + + /// + /// Determines the type of workload a node can run. + /// + [Input("workloadRuntime")] + public InputUnion? WorkloadRuntime { get; set; } + + public ManagedClusterAgentPoolProfileArgs() + { + } + public static new ManagedClusterAgentPoolProfileArgs Empty => new ManagedClusterAgentPoolProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAutoUpgradeProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAutoUpgradeProfileArgs.cs new file mode 100644 index 000000000000..1acc74b7ed14 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAutoUpgradeProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Auto upgrade profile for a managed cluster. + /// + public sealed class ManagedClusterAutoUpgradeProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Manner in which the OS on your nodes is updated. The default is NodeImage. + /// + [Input("nodeOSUpgradeChannel")] + public InputUnion? NodeOSUpgradeChannel { get; set; } + + /// + /// For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + /// + [Input("upgradeChannel")] + public InputUnion? UpgradeChannel { get; set; } + + public ManagedClusterAutoUpgradeProfileArgs() + { + } + public static new ManagedClusterAutoUpgradeProfileArgs Empty => new ManagedClusterAutoUpgradeProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAzureMonitorProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAzureMonitorProfileArgs.cs new file mode 100644 index 000000000000..752ff129bc1a --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAzureMonitorProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Azure Monitor addon profiles for monitoring the managed cluster. + /// + public sealed class ManagedClusterAzureMonitorProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + /// + [Input("metrics")] + public Input? Metrics { get; set; } + + public ManagedClusterAzureMonitorProfileArgs() + { + } + public static new ManagedClusterAzureMonitorProfileArgs Empty => new ManagedClusterAzureMonitorProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAzureMonitorProfileKubeStateMetricsArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAzureMonitorProfileKubeStateMetricsArgs.cs new file mode 100644 index 000000000000..7c3f7b5d68df --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAzureMonitorProfileKubeStateMetricsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + /// + public sealed class ManagedClusterAzureMonitorProfileKubeStateMetricsArgs : global::Pulumi.ResourceArgs + { + /// + /// Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + /// + [Input("metricAnnotationsAllowList")] + public Input? MetricAnnotationsAllowList { get; set; } + + /// + /// Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + /// + [Input("metricLabelsAllowlist")] + public Input? MetricLabelsAllowlist { get; set; } + + public ManagedClusterAzureMonitorProfileKubeStateMetricsArgs() + { + } + public static new ManagedClusterAzureMonitorProfileKubeStateMetricsArgs Empty => new ManagedClusterAzureMonitorProfileKubeStateMetricsArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAzureMonitorProfileMetricsArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAzureMonitorProfileMetricsArgs.cs new file mode 100644 index 000000000000..8be3683b80ee --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterAzureMonitorProfileMetricsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + /// + public sealed class ManagedClusterAzureMonitorProfileMetricsArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + /// + [Input("kubeStateMetrics")] + public Input? KubeStateMetrics { get; set; } + + public ManagedClusterAzureMonitorProfileMetricsArgs() + { + } + public static new ManagedClusterAzureMonitorProfileMetricsArgs Empty => new ManagedClusterAzureMonitorProfileMetricsArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterHTTPProxyConfigArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterHTTPProxyConfigArgs.cs new file mode 100644 index 000000000000..13c0785fadde --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterHTTPProxyConfigArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Cluster HTTP proxy configuration. + /// + public sealed class ManagedClusterHTTPProxyConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The HTTP proxy server endpoint to use. + /// + [Input("httpProxy")] + public Input? HttpProxy { get; set; } + + /// + /// The HTTPS proxy server endpoint to use. + /// + [Input("httpsProxy")] + public Input? HttpsProxy { get; set; } + + [Input("noProxy")] + private InputList? _noProxy; + + /// + /// The endpoints that should not go through proxy. + /// + public InputList NoProxy + { + get => _noProxy ?? (_noProxy = new InputList()); + set => _noProxy = value; + } + + /// + /// Alternative CA cert to use for connecting to proxy servers. + /// + [Input("trustedCa")] + public Input? TrustedCa { get; set; } + + public ManagedClusterHTTPProxyConfigArgs() + { + } + public static new ManagedClusterHTTPProxyConfigArgs Empty => new ManagedClusterHTTPProxyConfigArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterIdentityArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterIdentityArgs.cs new file mode 100644 index 000000000000..1cada13c5218 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterIdentityArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Identity for the managed cluster. + /// + public sealed class ManagedClusterIdentityArgs : global::Pulumi.ResourceArgs + { + [Input("delegatedResources")] + private InputMap? _delegatedResources; + + /// + /// The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + /// + public InputMap DelegatedResources + { + get => _delegatedResources ?? (_delegatedResources = new InputMap()); + set => _delegatedResources = value; + } + + /// + /// For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + /// + [Input("type")] + public Input? Type { get; set; } + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } + + public ManagedClusterIdentityArgs() + { + } + public static new ManagedClusterIdentityArgs Empty => new ManagedClusterIdentityArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterLoadBalancerProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterLoadBalancerProfileArgs.cs new file mode 100644 index 000000000000..5ee92ac1250e --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterLoadBalancerProfileArgs.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Profile of the managed cluster load balancer. + /// + public sealed class ManagedClusterLoadBalancerProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + /// + [Input("allocatedOutboundPorts")] + public Input? AllocatedOutboundPorts { get; set; } + + [Input("effectiveOutboundIPs")] + private InputList? _effectiveOutboundIPs; + + /// + /// The effective outbound IP resources of the cluster load balancer. + /// + public InputList EffectiveOutboundIPs + { + get => _effectiveOutboundIPs ?? (_effectiveOutboundIPs = new InputList()); + set => _effectiveOutboundIPs = value; + } + + /// + /// Enable multiple standard load balancers per AKS cluster or not. + /// + [Input("enableMultipleStandardLoadBalancers")] + public Input? EnableMultipleStandardLoadBalancers { get; set; } + + /// + /// Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + /// + [Input("idleTimeoutInMinutes")] + public Input? IdleTimeoutInMinutes { get; set; } + + /// + /// Desired managed outbound IPs for the cluster load balancer. + /// + [Input("managedOutboundIPs")] + public Input? ManagedOutboundIPs { get; set; } + + /// + /// Desired outbound IP Prefix resources for the cluster load balancer. + /// + [Input("outboundIPPrefixes")] + public Input? OutboundIPPrefixes { get; set; } + + /// + /// Desired outbound IP resources for the cluster load balancer. + /// + [Input("outboundIPs")] + public Input? OutboundIPs { get; set; } + + public ManagedClusterLoadBalancerProfileArgs() + { + AllocatedOutboundPorts = 0; + IdleTimeoutInMinutes = 30; + } + public static new ManagedClusterLoadBalancerProfileArgs Empty => new ManagedClusterLoadBalancerProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.cs new file mode 100644 index 000000000000..e56e818ad99b --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Desired managed outbound IPs for the cluster load balancer. + /// + public sealed class ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs : global::Pulumi.ResourceArgs + { + /// + /// The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + /// + [Input("countIPv6")] + public Input? CountIPv6 { get; set; } + + public ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs() + { + Count = 1; + CountIPv6 = 0; + } + public static new ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs Empty => new ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs.cs new file mode 100644 index 000000000000..85fb926cca14 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Desired outbound IP Prefix resources for the cluster load balancer. + /// + public sealed class ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs : global::Pulumi.ResourceArgs + { + [Input("publicIPPrefixes")] + private InputList? _publicIPPrefixes; + + /// + /// A list of public IP prefix resources. + /// + public InputList PublicIPPrefixes + { + get => _publicIPPrefixes ?? (_publicIPPrefixes = new InputList()); + set => _publicIPPrefixes = value; + } + + public ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs() + { + } + public static new ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs Empty => new ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterLoadBalancerProfileOutboundIPsArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterLoadBalancerProfileOutboundIPsArgs.cs new file mode 100644 index 000000000000..c72976e556dc --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterLoadBalancerProfileOutboundIPsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Desired outbound IP resources for the cluster load balancer. + /// + public sealed class ManagedClusterLoadBalancerProfileOutboundIPsArgs : global::Pulumi.ResourceArgs + { + [Input("publicIPs")] + private InputList? _publicIPs; + + /// + /// A list of public IP resources. + /// + public InputList PublicIPs + { + get => _publicIPs ?? (_publicIPs = new InputList()); + set => _publicIPs = value; + } + + public ManagedClusterLoadBalancerProfileOutboundIPsArgs() + { + } + public static new ManagedClusterLoadBalancerProfileOutboundIPsArgs Empty => new ManagedClusterLoadBalancerProfileOutboundIPsArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterManagedOutboundIPProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterManagedOutboundIPProfileArgs.cs new file mode 100644 index 000000000000..b67056c04b96 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterManagedOutboundIPProfileArgs.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Profile of the managed outbound IP resources of the managed cluster. + /// + public sealed class ManagedClusterManagedOutboundIPProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + /// + [Input("count")] + public Input? Count { get; set; } + + public ManagedClusterManagedOutboundIPProfileArgs() + { + Count = 1; + } + public static new ManagedClusterManagedOutboundIPProfileArgs Empty => new ManagedClusterManagedOutboundIPProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterNATGatewayProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterNATGatewayProfileArgs.cs new file mode 100644 index 000000000000..8335c7bd65fc --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterNATGatewayProfileArgs.cs @@ -0,0 +1,48 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Profile of the managed cluster NAT gateway. + /// + public sealed class ManagedClusterNATGatewayProfileArgs : global::Pulumi.ResourceArgs + { + [Input("effectiveOutboundIPs")] + private InputList? _effectiveOutboundIPs; + + /// + /// The effective outbound IP resources of the cluster NAT gateway. + /// + public InputList EffectiveOutboundIPs + { + get => _effectiveOutboundIPs ?? (_effectiveOutboundIPs = new InputList()); + set => _effectiveOutboundIPs = value; + } + + /// + /// Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + /// + [Input("idleTimeoutInMinutes")] + public Input? IdleTimeoutInMinutes { get; set; } + + /// + /// Profile of the managed outbound IP resources of the cluster NAT gateway. + /// + [Input("managedOutboundIPProfile")] + public Input? ManagedOutboundIPProfile { get; set; } + + public ManagedClusterNATGatewayProfileArgs() + { + IdleTimeoutInMinutes = 4; + } + public static new ManagedClusterNATGatewayProfileArgs Empty => new ManagedClusterNATGatewayProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterOIDCIssuerProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterOIDCIssuerProfileArgs.cs new file mode 100644 index 000000000000..7b5798edaaf7 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterOIDCIssuerProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// The OIDC issuer profile of the Managed Cluster. + /// + public sealed class ManagedClusterOIDCIssuerProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether the OIDC issuer is enabled. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public ManagedClusterOIDCIssuerProfileArgs() + { + } + public static new ManagedClusterOIDCIssuerProfileArgs Empty => new ManagedClusterOIDCIssuerProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterPodIdentityArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterPodIdentityArgs.cs new file mode 100644 index 000000000000..5a5c65383745 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterPodIdentityArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Details about the pod identity assigned to the Managed Cluster. + /// + public sealed class ManagedClusterPodIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// The binding selector to use for the AzureIdentityBinding resource. + /// + [Input("bindingSelector")] + public Input? BindingSelector { get; set; } + + /// + /// The user assigned identity details. + /// + [Input("identity", required: true)] + public Input Identity { get; set; } = null!; + + /// + /// The name of the pod identity. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The namespace of the pod identity. + /// + [Input("namespace", required: true)] + public Input Namespace { get; set; } = null!; + + public ManagedClusterPodIdentityArgs() + { + } + public static new ManagedClusterPodIdentityArgs Empty => new ManagedClusterPodIdentityArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterPodIdentityExceptionArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterPodIdentityExceptionArgs.cs new file mode 100644 index 000000000000..68a4e7dc2b34 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterPodIdentityExceptionArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + /// + public sealed class ManagedClusterPodIdentityExceptionArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the pod identity exception. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The namespace of the pod identity exception. + /// + [Input("namespace", required: true)] + public Input Namespace { get; set; } = null!; + + [Input("podLabels", required: true)] + private InputMap? _podLabels; + + /// + /// The pod labels to match. + /// + public InputMap PodLabels + { + get => _podLabels ?? (_podLabels = new InputMap()); + set => _podLabels = value; + } + + public ManagedClusterPodIdentityExceptionArgs() + { + } + public static new ManagedClusterPodIdentityExceptionArgs Empty => new ManagedClusterPodIdentityExceptionArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterPodIdentityProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterPodIdentityProfileArgs.cs new file mode 100644 index 000000000000..d62d6ef0a669 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterPodIdentityProfileArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + /// + public sealed class ManagedClusterPodIdentityProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. + /// + [Input("allowNetworkPluginKubenet")] + public Input? AllowNetworkPluginKubenet { get; set; } + + /// + /// Whether the pod identity addon is enabled. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// The pod identities to use in the cluster. + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } + + [Input("userAssignedIdentityExceptions")] + private InputList? _userAssignedIdentityExceptions; + + /// + /// The pod identity exceptions to allow. + /// + public InputList UserAssignedIdentityExceptions + { + get => _userAssignedIdentityExceptions ?? (_userAssignedIdentityExceptions = new InputList()); + set => _userAssignedIdentityExceptions = value; + } + + public ManagedClusterPodIdentityProfileArgs() + { + } + public static new ManagedClusterPodIdentityProfileArgs Empty => new ManagedClusterPodIdentityProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterPropertiesAutoScalerProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterPropertiesAutoScalerProfileArgs.cs new file mode 100644 index 000000000000..175a72309c61 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterPropertiesAutoScalerProfileArgs.cs @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Parameters to be applied to the cluster-autoscaler when enabled + /// + public sealed class ManagedClusterPropertiesAutoScalerProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Valid values are 'true' and 'false' + /// + [Input("balanceSimilarNodeGroups")] + public Input? BalanceSimilarNodeGroups { get; set; } + + /// + /// If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + /// + [Input("expander")] + public InputUnion? Expander { get; set; } + + /// + /// The default is 10. + /// + [Input("maxEmptyBulkDelete")] + public Input? MaxEmptyBulkDelete { get; set; } + + /// + /// The default is 600. + /// + [Input("maxGracefulTerminationSec")] + public Input? MaxGracefulTerminationSec { get; set; } + + /// + /// The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + /// + [Input("maxNodeProvisionTime")] + public Input? MaxNodeProvisionTime { get; set; } + + /// + /// The default is 45. The maximum is 100 and the minimum is 0. + /// + [Input("maxTotalUnreadyPercentage")] + public Input? MaxTotalUnreadyPercentage { get; set; } + + /// + /// For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + /// + [Input("newPodScaleUpDelay")] + public Input? NewPodScaleUpDelay { get; set; } + + /// + /// This must be an integer. The default is 3. + /// + [Input("okTotalUnreadyCount")] + public Input? OkTotalUnreadyCount { get; set; } + + /// + /// The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + /// + [Input("scaleDownDelayAfterAdd")] + public Input? ScaleDownDelayAfterAdd { get; set; } + + /// + /// The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + /// + [Input("scaleDownDelayAfterDelete")] + public Input? ScaleDownDelayAfterDelete { get; set; } + + /// + /// The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + /// + [Input("scaleDownDelayAfterFailure")] + public Input? ScaleDownDelayAfterFailure { get; set; } + + /// + /// The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + /// + [Input("scaleDownUnneededTime")] + public Input? ScaleDownUnneededTime { get; set; } + + /// + /// The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + /// + [Input("scaleDownUnreadyTime")] + public Input? ScaleDownUnreadyTime { get; set; } + + /// + /// The default is '0.5'. + /// + [Input("scaleDownUtilizationThreshold")] + public Input? ScaleDownUtilizationThreshold { get; set; } + + /// + /// The default is '10'. Values must be an integer number of seconds. + /// + [Input("scanInterval")] + public Input? ScanInterval { get; set; } + + /// + /// The default is true. + /// + [Input("skipNodesWithLocalStorage")] + public Input? SkipNodesWithLocalStorage { get; set; } + + /// + /// The default is true. + /// + [Input("skipNodesWithSystemPods")] + public Input? SkipNodesWithSystemPods { get; set; } + + public ManagedClusterPropertiesAutoScalerProfileArgs() + { + } + public static new ManagedClusterPropertiesAutoScalerProfileArgs Empty => new ManagedClusterPropertiesAutoScalerProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSKUArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSKUArgs.cs new file mode 100644 index 000000000000..bbccbc209c0a --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSKUArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// The SKU of a Managed Cluster. + /// + public sealed class ManagedClusterSKUArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of a managed cluster SKU. + /// + [Input("name")] + public InputUnion? Name { get; set; } + + /// + /// If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + /// + [Input("tier")] + public InputUnion? Tier { get; set; } + + public ManagedClusterSKUArgs() + { + } + public static new ManagedClusterSKUArgs Empty => new ManagedClusterSKUArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileArgs.cs new file mode 100644 index 000000000000..796243ba5f79 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Security profile for the container service cluster. + /// + public sealed class ManagedClusterSecurityProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + /// + [Input("azureKeyVaultKms")] + public Input? AzureKeyVaultKms { get; set; } + + /// + /// Microsoft Defender settings for the security profile. + /// + [Input("defender")] + public Input? Defender { get; set; } + + /// + /// Image Cleaner settings for the security profile. + /// + [Input("imageCleaner")] + public Input? ImageCleaner { get; set; } + + /// + /// Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + /// + [Input("workloadIdentity")] + public Input? WorkloadIdentity { get; set; } + + public ManagedClusterSecurityProfileArgs() + { + } + public static new ManagedClusterSecurityProfileArgs Empty => new ManagedClusterSecurityProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileDefenderArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileDefenderArgs.cs new file mode 100644 index 000000000000..4eb0739ce897 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileDefenderArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Microsoft Defender settings for the security profile. + /// + public sealed class ManagedClusterSecurityProfileDefenderArgs : global::Pulumi.ResourceArgs + { + /// + /// Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + /// + [Input("logAnalyticsWorkspaceResourceId")] + public Input? LogAnalyticsWorkspaceResourceId { get; set; } + + /// + /// Microsoft Defender threat detection for Cloud settings for the security profile. + /// + [Input("securityMonitoring")] + public Input? SecurityMonitoring { get; set; } + + public ManagedClusterSecurityProfileDefenderArgs() + { + } + public static new ManagedClusterSecurityProfileDefenderArgs Empty => new ManagedClusterSecurityProfileDefenderArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs.cs new file mode 100644 index 000000000000..acf24be328cd --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Microsoft Defender settings for the security profile threat detection. + /// + public sealed class ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable Defender threat detection + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs() + { + } + public static new ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs Empty => new ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileImageCleanerArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileImageCleanerArgs.cs new file mode 100644 index 000000000000..e1321b03e630 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileImageCleanerArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. + /// + public sealed class ManagedClusterSecurityProfileImageCleanerArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable Image Cleaner on AKS cluster. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Image Cleaner scanning interval in hours. + /// + [Input("intervalHours")] + public Input? IntervalHours { get; set; } + + public ManagedClusterSecurityProfileImageCleanerArgs() + { + } + public static new ManagedClusterSecurityProfileImageCleanerArgs Empty => new ManagedClusterSecurityProfileImageCleanerArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileWorkloadIdentityArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileWorkloadIdentityArgs.cs new file mode 100644 index 000000000000..3c0eb8bb6073 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterSecurityProfileWorkloadIdentityArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Workload identity settings for the security profile. + /// + public sealed class ManagedClusterSecurityProfileWorkloadIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable workload identity. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public ManagedClusterSecurityProfileWorkloadIdentityArgs() + { + } + public static new ManagedClusterSecurityProfileWorkloadIdentityArgs Empty => new ManagedClusterSecurityProfileWorkloadIdentityArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterServicePrincipalProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterServicePrincipalProfileArgs.cs new file mode 100644 index 000000000000..543fc78483ed --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterServicePrincipalProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Information about a service principal identity for the cluster to use for manipulating Azure APIs. + /// + public sealed class ManagedClusterServicePrincipalProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID for the service principal. + /// + [Input("clientId", required: true)] + public Input ClientId { get; set; } = null!; + + /// + /// The secret password associated with the service principal in plain text. + /// + [Input("secret")] + public Input? Secret { get; set; } + + public ManagedClusterServicePrincipalProfileArgs() + { + } + public static new ManagedClusterServicePrincipalProfileArgs Empty => new ManagedClusterServicePrincipalProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileArgs.cs new file mode 100644 index 000000000000..c54fbe115c72 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Storage profile for the container service cluster. + /// + public sealed class ManagedClusterStorageProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// AzureBlob CSI Driver settings for the storage profile. + /// + [Input("blobCSIDriver")] + public Input? BlobCSIDriver { get; set; } + + /// + /// AzureDisk CSI Driver settings for the storage profile. + /// + [Input("diskCSIDriver")] + public Input? DiskCSIDriver { get; set; } + + /// + /// AzureFile CSI Driver settings for the storage profile. + /// + [Input("fileCSIDriver")] + public Input? FileCSIDriver { get; set; } + + /// + /// Snapshot Controller settings for the storage profile. + /// + [Input("snapshotController")] + public Input? SnapshotController { get; set; } + + public ManagedClusterStorageProfileArgs() + { + } + public static new ManagedClusterStorageProfileArgs Empty => new ManagedClusterStorageProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileBlobCSIDriverArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileBlobCSIDriverArgs.cs new file mode 100644 index 000000000000..3444fbcab662 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileBlobCSIDriverArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// AzureBlob CSI Driver settings for the storage profile. + /// + public sealed class ManagedClusterStorageProfileBlobCSIDriverArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable AzureBlob CSI Driver. The default value is false. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public ManagedClusterStorageProfileBlobCSIDriverArgs() + { + } + public static new ManagedClusterStorageProfileBlobCSIDriverArgs Empty => new ManagedClusterStorageProfileBlobCSIDriverArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileDiskCSIDriverArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileDiskCSIDriverArgs.cs new file mode 100644 index 000000000000..91ca050d6e17 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileDiskCSIDriverArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// AzureDisk CSI Driver settings for the storage profile. + /// + public sealed class ManagedClusterStorageProfileDiskCSIDriverArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable AzureDisk CSI Driver. The default value is true. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public ManagedClusterStorageProfileDiskCSIDriverArgs() + { + } + public static new ManagedClusterStorageProfileDiskCSIDriverArgs Empty => new ManagedClusterStorageProfileDiskCSIDriverArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileFileCSIDriverArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileFileCSIDriverArgs.cs new file mode 100644 index 000000000000..d530ee5372d5 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileFileCSIDriverArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// AzureFile CSI Driver settings for the storage profile. + /// + public sealed class ManagedClusterStorageProfileFileCSIDriverArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable AzureFile CSI Driver. The default value is true. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public ManagedClusterStorageProfileFileCSIDriverArgs() + { + } + public static new ManagedClusterStorageProfileFileCSIDriverArgs Empty => new ManagedClusterStorageProfileFileCSIDriverArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileSnapshotControllerArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileSnapshotControllerArgs.cs new file mode 100644 index 000000000000..855b2fe9e3f5 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterStorageProfileSnapshotControllerArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Snapshot Controller settings for the storage profile. + /// + public sealed class ManagedClusterStorageProfileSnapshotControllerArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable Snapshot Controller. The default value is true. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public ManagedClusterStorageProfileSnapshotControllerArgs() + { + } + public static new ManagedClusterStorageProfileSnapshotControllerArgs Empty => new ManagedClusterStorageProfileSnapshotControllerArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterWindowsProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterWindowsProfileArgs.cs new file mode 100644 index 000000000000..dd6ca0c76e4b --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterWindowsProfileArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Profile for Windows VMs in the managed cluster. + /// + public sealed class ManagedClusterWindowsProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the password of the administrator account. <br><br> **Minimum-length:** 8 characters <br><br> **Max-length:** 123 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\W_]) <br><br> **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + /// + [Input("adminPassword")] + public Input? AdminPassword { get; set; } + + /// + /// Specifies the name of the administrator account. <br><br> **Restriction:** Cannot end in "." <br><br> **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". <br><br> **Minimum-length:** 1 character <br><br> **Max-length:** 20 characters + /// + [Input("adminUsername", required: true)] + public Input AdminUsername { get; set; } = null!; + + /// + /// For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + /// + [Input("enableCSIProxy")] + public Input? EnableCSIProxy { get; set; } + + /// + /// The Windows gMSA Profile in the Managed Cluster. + /// + [Input("gmsaProfile")] + public Input? GmsaProfile { get; set; } + + /// + /// The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + /// + [Input("licenseType")] + public InputUnion? LicenseType { get; set; } + + public ManagedClusterWindowsProfileArgs() + { + } + public static new ManagedClusterWindowsProfileArgs Empty => new ManagedClusterWindowsProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterWorkloadAutoScalerProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterWorkloadAutoScalerProfileArgs.cs new file mode 100644 index 000000000000..a596ab580b3a --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterWorkloadAutoScalerProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Workload Auto-scaler profile for the managed cluster. + /// + public sealed class ManagedClusterWorkloadAutoScalerProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + /// + [Input("keda")] + public Input? Keda { get; set; } + + /// + /// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + /// + [Input("verticalPodAutoscaler")] + public Input? VerticalPodAutoscaler { get; set; } + + public ManagedClusterWorkloadAutoScalerProfileArgs() + { + } + public static new ManagedClusterWorkloadAutoScalerProfileArgs Empty => new ManagedClusterWorkloadAutoScalerProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterWorkloadAutoScalerProfileKedaArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterWorkloadAutoScalerProfileKedaArgs.cs new file mode 100644 index 000000000000..8b34377d7ee0 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterWorkloadAutoScalerProfileKedaArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + /// + public sealed class ManagedClusterWorkloadAutoScalerProfileKedaArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable KEDA. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + public ManagedClusterWorkloadAutoScalerProfileKedaArgs() + { + } + public static new ManagedClusterWorkloadAutoScalerProfileKedaArgs Empty => new ManagedClusterWorkloadAutoScalerProfileKedaArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs.cs new file mode 100644 index 000000000000..630a2df5b9b8 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + /// + public sealed class ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable VPA. Default value is false. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + public ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs() + { + Enabled = false; + } + public static new ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs Empty => new ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/PowerStateArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/PowerStateArgs.cs new file mode 100644 index 000000000000..131101388861 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/PowerStateArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Describes the Power State of the cluster + /// + public sealed class PowerStateArgs : global::Pulumi.ResourceArgs + { + /// + /// Tells whether the cluster is Running or Stopped + /// + [Input("code")] + public InputUnion? Code { get; set; } + + public PowerStateArgs() + { + } + public static new PowerStateArgs Empty => new PowerStateArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/PrivateEndpointArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/PrivateEndpointArgs.cs new file mode 100644 index 000000000000..cc7f94276062 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/PrivateEndpointArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Private endpoint which a connection belongs to. + /// + public sealed class PrivateEndpointArgs : global::Pulumi.ResourceArgs + { + /// + /// The resource ID of the private endpoint + /// + [Input("id")] + public Input? Id { get; set; } + + public PrivateEndpointArgs() + { + } + public static new PrivateEndpointArgs Empty => new PrivateEndpointArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/PrivateLinkResourceArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/PrivateLinkResourceArgs.cs new file mode 100644 index 000000000000..30e86480ba6f --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/PrivateLinkResourceArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// A private link resource + /// + public sealed class PrivateLinkResourceArgs : global::Pulumi.ResourceArgs + { + /// + /// The group ID of the resource. + /// + [Input("groupId")] + public Input? GroupId { get; set; } + + /// + /// The ID of the private link resource. + /// + [Input("id")] + public Input? Id { get; set; } + + /// + /// The name of the private link resource. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("requiredMembers")] + private InputList? _requiredMembers; + + /// + /// The RequiredMembers of the resource + /// + public InputList RequiredMembers + { + get => _requiredMembers ?? (_requiredMembers = new InputList()); + set => _requiredMembers = value; + } + + /// + /// The resource type. + /// + [Input("type")] + public Input? Type { get; set; } + + public PrivateLinkResourceArgs() + { + } + public static new PrivateLinkResourceArgs Empty => new PrivateLinkResourceArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/PrivateLinkServiceConnectionStateArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/PrivateLinkServiceConnectionStateArgs.cs new file mode 100644 index 000000000000..819a0eea3c5f --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/PrivateLinkServiceConnectionStateArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// The state of a private link service connection. + /// + public sealed class PrivateLinkServiceConnectionStateArgs : global::Pulumi.ResourceArgs + { + /// + /// The private link service connection description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The private link service connection status. + /// + [Input("status")] + public InputUnion? Status { get; set; } + + public PrivateLinkServiceConnectionStateArgs() + { + } + public static new PrivateLinkServiceConnectionStateArgs Empty => new PrivateLinkServiceConnectionStateArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/RelativeMonthlyScheduleArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/RelativeMonthlyScheduleArgs.cs new file mode 100644 index 000000000000..cbef10941e0a --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/RelativeMonthlyScheduleArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + /// + public sealed class RelativeMonthlyScheduleArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies on which day of the week the maintenance occurs. + /// + [Input("dayOfWeek", required: true)] + public InputUnion DayOfWeek { get; set; } = null!; + + /// + /// Specifies the number of months between each set of occurrences. + /// + [Input("intervalMonths", required: true)] + public Input IntervalMonths { get; set; } = null!; + + /// + /// Specifies on which week of the month the dayOfWeek applies. + /// + [Input("weekIndex", required: true)] + public InputUnion WeekIndex { get; set; } = null!; + + public RelativeMonthlyScheduleArgs() + { + } + public static new RelativeMonthlyScheduleArgs Empty => new RelativeMonthlyScheduleArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ResourceReferenceArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ResourceReferenceArgs.cs new file mode 100644 index 000000000000..cf8dda2e0ce5 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ResourceReferenceArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// A reference to an Azure resource. + /// + public sealed class ResourceReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// The fully qualified Azure resource id. + /// + [Input("id")] + public Input? Id { get; set; } + + public ResourceReferenceArgs() + { + } + public static new ResourceReferenceArgs Empty => new ResourceReferenceArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/ScheduleArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/ScheduleArgs.cs new file mode 100644 index 000000000000..8397f5c77f1b --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/ScheduleArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. + /// + public sealed class ScheduleArgs : global::Pulumi.ResourceArgs + { + /// + /// For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + /// + [Input("absoluteMonthly")] + public Input? AbsoluteMonthly { get; set; } + + /// + /// For schedules like: 'recur every day' or 'recur every 3 days'. + /// + [Input("daily")] + public Input? Daily { get; set; } + + /// + /// For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + /// + [Input("relativeMonthly")] + public Input? RelativeMonthly { get; set; } + + /// + /// For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + /// + [Input("weekly")] + public Input? Weekly { get; set; } + + public ScheduleArgs() + { + } + public static new ScheduleArgs Empty => new ScheduleArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/SysctlConfigArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/SysctlConfigArgs.cs new file mode 100644 index 000000000000..27a5a6740d7e --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/SysctlConfigArgs.cs @@ -0,0 +1,191 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Sysctl settings for Linux agent nodes. + /// + public sealed class SysctlConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Sysctl setting fs.aio-max-nr. + /// + [Input("fsAioMaxNr")] + public Input? FsAioMaxNr { get; set; } + + /// + /// Sysctl setting fs.file-max. + /// + [Input("fsFileMax")] + public Input? FsFileMax { get; set; } + + /// + /// Sysctl setting fs.inotify.max_user_watches. + /// + [Input("fsInotifyMaxUserWatches")] + public Input? FsInotifyMaxUserWatches { get; set; } + + /// + /// Sysctl setting fs.nr_open. + /// + [Input("fsNrOpen")] + public Input? FsNrOpen { get; set; } + + /// + /// Sysctl setting kernel.threads-max. + /// + [Input("kernelThreadsMax")] + public Input? KernelThreadsMax { get; set; } + + /// + /// Sysctl setting net.core.netdev_max_backlog. + /// + [Input("netCoreNetdevMaxBacklog")] + public Input? NetCoreNetdevMaxBacklog { get; set; } + + /// + /// Sysctl setting net.core.optmem_max. + /// + [Input("netCoreOptmemMax")] + public Input? NetCoreOptmemMax { get; set; } + + /// + /// Sysctl setting net.core.rmem_default. + /// + [Input("netCoreRmemDefault")] + public Input? NetCoreRmemDefault { get; set; } + + /// + /// Sysctl setting net.core.rmem_max. + /// + [Input("netCoreRmemMax")] + public Input? NetCoreRmemMax { get; set; } + + /// + /// Sysctl setting net.core.somaxconn. + /// + [Input("netCoreSomaxconn")] + public Input? NetCoreSomaxconn { get; set; } + + /// + /// Sysctl setting net.core.wmem_default. + /// + [Input("netCoreWmemDefault")] + public Input? NetCoreWmemDefault { get; set; } + + /// + /// Sysctl setting net.core.wmem_max. + /// + [Input("netCoreWmemMax")] + public Input? NetCoreWmemMax { get; set; } + + /// + /// Sysctl setting net.ipv4.ip_local_port_range. + /// + [Input("netIpv4IpLocalPortRange")] + public Input? NetIpv4IpLocalPortRange { get; set; } + + /// + /// Sysctl setting net.ipv4.neigh.default.gc_thresh1. + /// + [Input("netIpv4NeighDefaultGcThresh1")] + public Input? NetIpv4NeighDefaultGcThresh1 { get; set; } + + /// + /// Sysctl setting net.ipv4.neigh.default.gc_thresh2. + /// + [Input("netIpv4NeighDefaultGcThresh2")] + public Input? NetIpv4NeighDefaultGcThresh2 { get; set; } + + /// + /// Sysctl setting net.ipv4.neigh.default.gc_thresh3. + /// + [Input("netIpv4NeighDefaultGcThresh3")] + public Input? NetIpv4NeighDefaultGcThresh3 { get; set; } + + /// + /// Sysctl setting net.ipv4.tcp_fin_timeout. + /// + [Input("netIpv4TcpFinTimeout")] + public Input? NetIpv4TcpFinTimeout { get; set; } + + /// + /// Sysctl setting net.ipv4.tcp_keepalive_probes. + /// + [Input("netIpv4TcpKeepaliveProbes")] + public Input? NetIpv4TcpKeepaliveProbes { get; set; } + + /// + /// Sysctl setting net.ipv4.tcp_keepalive_time. + /// + [Input("netIpv4TcpKeepaliveTime")] + public Input? NetIpv4TcpKeepaliveTime { get; set; } + + /// + /// Sysctl setting net.ipv4.tcp_max_syn_backlog. + /// + [Input("netIpv4TcpMaxSynBacklog")] + public Input? NetIpv4TcpMaxSynBacklog { get; set; } + + /// + /// Sysctl setting net.ipv4.tcp_max_tw_buckets. + /// + [Input("netIpv4TcpMaxTwBuckets")] + public Input? NetIpv4TcpMaxTwBuckets { get; set; } + + /// + /// Sysctl setting net.ipv4.tcp_tw_reuse. + /// + [Input("netIpv4TcpTwReuse")] + public Input? NetIpv4TcpTwReuse { get; set; } + + /// + /// Sysctl setting net.ipv4.tcp_keepalive_intvl. + /// + [Input("netIpv4TcpkeepaliveIntvl")] + public Input? NetIpv4TcpkeepaliveIntvl { get; set; } + + /// + /// Sysctl setting net.netfilter.nf_conntrack_buckets. + /// + [Input("netNetfilterNfConntrackBuckets")] + public Input? NetNetfilterNfConntrackBuckets { get; set; } + + /// + /// Sysctl setting net.netfilter.nf_conntrack_max. + /// + [Input("netNetfilterNfConntrackMax")] + public Input? NetNetfilterNfConntrackMax { get; set; } + + /// + /// Sysctl setting vm.max_map_count. + /// + [Input("vmMaxMapCount")] + public Input? VmMaxMapCount { get; set; } + + /// + /// Sysctl setting vm.swappiness. + /// + [Input("vmSwappiness")] + public Input? VmSwappiness { get; set; } + + /// + /// Sysctl setting vm.vfs_cache_pressure. + /// + [Input("vmVfsCachePressure")] + public Input? VmVfsCachePressure { get; set; } + + public SysctlConfigArgs() + { + } + public static new SysctlConfigArgs Empty => new SysctlConfigArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/TimeInWeekArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/TimeInWeekArgs.cs new file mode 100644 index 000000000000..29377fa24bf4 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/TimeInWeekArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Time in a week. + /// + public sealed class TimeInWeekArgs : global::Pulumi.ResourceArgs + { + /// + /// The day of the week. + /// + [Input("day")] + public InputUnion? Day { get; set; } + + [Input("hourSlots")] + private InputList? _hourSlots; + + /// + /// Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + /// + public InputList HourSlots + { + get => _hourSlots ?? (_hourSlots = new InputList()); + set => _hourSlots = value; + } + + public TimeInWeekArgs() + { + } + public static new TimeInWeekArgs Empty => new TimeInWeekArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/TimeSpanArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/TimeSpanArgs.cs new file mode 100644 index 000000000000..a52e09945b92 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/TimeSpanArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + /// + public sealed class TimeSpanArgs : global::Pulumi.ResourceArgs + { + /// + /// The end of a time span + /// + [Input("end")] + public Input? End { get; set; } + + /// + /// The start of a time span + /// + [Input("start")] + public Input? Start { get; set; } + + public TimeSpanArgs() + { + } + public static new TimeSpanArgs Empty => new TimeSpanArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/UpgradeOverrideSettingsArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/UpgradeOverrideSettingsArgs.cs new file mode 100644 index 000000000000..1dbd938fae3e --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/UpgradeOverrideSettingsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Settings for overrides when upgrading a cluster. + /// + public sealed class UpgradeOverrideSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. + /// + [Input("forceUpgrade")] + public Input? ForceUpgrade { get; set; } + + /// + /// Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. + /// + [Input("until")] + public Input? Until { get; set; } + + public UpgradeOverrideSettingsArgs() + { + } + public static new UpgradeOverrideSettingsArgs Empty => new UpgradeOverrideSettingsArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/UserAssignedIdentityArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/UserAssignedIdentityArgs.cs new file mode 100644 index 000000000000..2b2db20f008c --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/UserAssignedIdentityArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Details about a user assigned identity. + /// + public sealed class UserAssignedIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// The client ID of the user assigned identity. + /// + [Input("clientId")] + public Input? ClientId { get; set; } + + /// + /// The object ID of the user assigned identity. + /// + [Input("objectId")] + public Input? ObjectId { get; set; } + + /// + /// The resource ID of the user assigned identity. + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + public UserAssignedIdentityArgs() + { + } + public static new UserAssignedIdentityArgs Empty => new UserAssignedIdentityArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/WeeklyScheduleArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/WeeklyScheduleArgs.cs new file mode 100644 index 000000000000..207ad19c001e --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/WeeklyScheduleArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + /// + public sealed class WeeklyScheduleArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies on which day of the week the maintenance occurs. + /// + [Input("dayOfWeek", required: true)] + public InputUnion DayOfWeek { get; set; } = null!; + + /// + /// Specifies the number of weeks between each set of occurrences. + /// + [Input("intervalWeeks", required: true)] + public Input IntervalWeeks { get; set; } = null!; + + public WeeklyScheduleArgs() + { + } + public static new WeeklyScheduleArgs Empty => new WeeklyScheduleArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Inputs/WindowsGmsaProfileArgs.cs b/sdk/dotnet/ContainerService/V20230701/Inputs/WindowsGmsaProfileArgs.cs new file mode 100644 index 000000000000..4ca4a2775e4d --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Inputs/WindowsGmsaProfileArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Inputs +{ + + /// + /// Windows gMSA Profile in the managed cluster. + /// + public sealed class WindowsGmsaProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the DNS server for Windows gMSA. <br><br> Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + /// + [Input("dnsServer")] + public Input? DnsServer { get; set; } + + /// + /// Specifies whether to enable Windows gMSA in the managed cluster. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Specifies the root domain name for Windows gMSA. <br><br> Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + /// + [Input("rootDomainName")] + public Input? RootDomainName { get; set; } + + public WindowsGmsaProfileArgs() + { + } + public static new WindowsGmsaProfileArgs Empty => new WindowsGmsaProfileArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/ListManagedClusterAdminCredentials.cs b/sdk/dotnet/ContainerService/V20230701/ListManagedClusterAdminCredentials.cs new file mode 100644 index 000000000000..9a1a058ef824 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/ListManagedClusterAdminCredentials.cs @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + public static class ListManagedClusterAdminCredentials + { + /// + /// The list credential result response. + /// + public static Task InvokeAsync(ListManagedClusterAdminCredentialsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerservice/v20230701:listManagedClusterAdminCredentials", args ?? new ListManagedClusterAdminCredentialsArgs(), options.WithDefaults()); + + /// + /// The list credential result response. + /// + public static Output Invoke(ListManagedClusterAdminCredentialsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerservice/v20230701:listManagedClusterAdminCredentials", args ?? new ListManagedClusterAdminCredentialsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class ListManagedClusterAdminCredentialsArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public string ResourceName { get; set; } = null!; + + /// + /// server fqdn type for credentials to be returned + /// + [Input("serverFqdn")] + public string? ServerFqdn { get; set; } + + public ListManagedClusterAdminCredentialsArgs() + { + } + public static new ListManagedClusterAdminCredentialsArgs Empty => new ListManagedClusterAdminCredentialsArgs(); + } + + public sealed class ListManagedClusterAdminCredentialsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + /// + /// server fqdn type for credentials to be returned + /// + [Input("serverFqdn")] + public Input? ServerFqdn { get; set; } + + public ListManagedClusterAdminCredentialsInvokeArgs() + { + } + public static new ListManagedClusterAdminCredentialsInvokeArgs Empty => new ListManagedClusterAdminCredentialsInvokeArgs(); + } + + + [OutputType] + public sealed class ListManagedClusterAdminCredentialsResult + { + /// + /// Base64-encoded Kubernetes configuration file. + /// + public readonly ImmutableArray Kubeconfigs; + + [OutputConstructor] + private ListManagedClusterAdminCredentialsResult(ImmutableArray kubeconfigs) + { + Kubeconfigs = kubeconfigs; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/ListManagedClusterMonitoringUserCredentials.cs b/sdk/dotnet/ContainerService/V20230701/ListManagedClusterMonitoringUserCredentials.cs new file mode 100644 index 000000000000..0a70e475dde7 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/ListManagedClusterMonitoringUserCredentials.cs @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + public static class ListManagedClusterMonitoringUserCredentials + { + /// + /// The list credential result response. + /// + public static Task InvokeAsync(ListManagedClusterMonitoringUserCredentialsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerservice/v20230701:listManagedClusterMonitoringUserCredentials", args ?? new ListManagedClusterMonitoringUserCredentialsArgs(), options.WithDefaults()); + + /// + /// The list credential result response. + /// + public static Output Invoke(ListManagedClusterMonitoringUserCredentialsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerservice/v20230701:listManagedClusterMonitoringUserCredentials", args ?? new ListManagedClusterMonitoringUserCredentialsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class ListManagedClusterMonitoringUserCredentialsArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public string ResourceName { get; set; } = null!; + + /// + /// server fqdn type for credentials to be returned + /// + [Input("serverFqdn")] + public string? ServerFqdn { get; set; } + + public ListManagedClusterMonitoringUserCredentialsArgs() + { + } + public static new ListManagedClusterMonitoringUserCredentialsArgs Empty => new ListManagedClusterMonitoringUserCredentialsArgs(); + } + + public sealed class ListManagedClusterMonitoringUserCredentialsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + /// + /// server fqdn type for credentials to be returned + /// + [Input("serverFqdn")] + public Input? ServerFqdn { get; set; } + + public ListManagedClusterMonitoringUserCredentialsInvokeArgs() + { + } + public static new ListManagedClusterMonitoringUserCredentialsInvokeArgs Empty => new ListManagedClusterMonitoringUserCredentialsInvokeArgs(); + } + + + [OutputType] + public sealed class ListManagedClusterMonitoringUserCredentialsResult + { + /// + /// Base64-encoded Kubernetes configuration file. + /// + public readonly ImmutableArray Kubeconfigs; + + [OutputConstructor] + private ListManagedClusterMonitoringUserCredentialsResult(ImmutableArray kubeconfigs) + { + Kubeconfigs = kubeconfigs; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/ListManagedClusterUserCredentials.cs b/sdk/dotnet/ContainerService/V20230701/ListManagedClusterUserCredentials.cs new file mode 100644 index 000000000000..4d3ba344f1b0 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/ListManagedClusterUserCredentials.cs @@ -0,0 +1,107 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + public static class ListManagedClusterUserCredentials + { + /// + /// The list credential result response. + /// + public static Task InvokeAsync(ListManagedClusterUserCredentialsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerservice/v20230701:listManagedClusterUserCredentials", args ?? new ListManagedClusterUserCredentialsArgs(), options.WithDefaults()); + + /// + /// The list credential result response. + /// + public static Output Invoke(ListManagedClusterUserCredentialsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerservice/v20230701:listManagedClusterUserCredentials", args ?? new ListManagedClusterUserCredentialsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class ListManagedClusterUserCredentialsArgs : global::Pulumi.InvokeArgs + { + /// + /// Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path. + /// + [Input("format")] + public string? Format { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public string ResourceName { get; set; } = null!; + + /// + /// server fqdn type for credentials to be returned + /// + [Input("serverFqdn")] + public string? ServerFqdn { get; set; } + + public ListManagedClusterUserCredentialsArgs() + { + } + public static new ListManagedClusterUserCredentialsArgs Empty => new ListManagedClusterUserCredentialsArgs(); + } + + public sealed class ListManagedClusterUserCredentialsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path. + /// + [Input("format")] + public Input? Format { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + /// + /// server fqdn type for credentials to be returned + /// + [Input("serverFqdn")] + public Input? ServerFqdn { get; set; } + + public ListManagedClusterUserCredentialsInvokeArgs() + { + } + public static new ListManagedClusterUserCredentialsInvokeArgs Empty => new ListManagedClusterUserCredentialsInvokeArgs(); + } + + + [OutputType] + public sealed class ListManagedClusterUserCredentialsResult + { + /// + /// Base64-encoded Kubernetes configuration file. + /// + public readonly ImmutableArray Kubeconfigs; + + [OutputConstructor] + private ListManagedClusterUserCredentialsResult(ImmutableArray kubeconfigs) + { + Kubeconfigs = kubeconfigs; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/MaintenanceConfiguration.cs b/sdk/dotnet/ContainerService/V20230701/MaintenanceConfiguration.cs new file mode 100644 index 000000000000..a024c4db172b --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/MaintenanceConfiguration.cs @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + /// + /// See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + /// + [AzureNativeResourceType("azure-native:containerservice/v20230701:MaintenanceConfiguration")] + public partial class MaintenanceConfiguration : global::Pulumi.CustomResource + { + /// + /// Maintenance window for the maintenance configuration. + /// + [Output("maintenanceWindow")] + public Output MaintenanceWindow { get; private set; } = null!; + + /// + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Time slots on which upgrade is not allowed. + /// + [Output("notAllowedTime")] + public Output> NotAllowedTime { get; private set; } = null!; + + /// + /// The system metadata relating to this resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. + /// + [Output("timeInWeek")] + public Output> TimeInWeek { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a MaintenanceConfiguration resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public MaintenanceConfiguration(string name, MaintenanceConfigurationArgs args, CustomResourceOptions? options = null) + : base("azure-native:containerservice/v20230701:MaintenanceConfiguration", name, args ?? new MaintenanceConfigurationArgs(), MakeResourceOptions(options, "")) + { + } + + private MaintenanceConfiguration(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:containerservice/v20230701:MaintenanceConfiguration", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:containerservice:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20201201:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210201:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210301:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210501:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210701:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210801:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210901:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20211001:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20211101preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220101:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220102preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220201:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220202preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220301:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220302preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220401:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220402preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220502preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220601:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220602preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220701:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220702preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220802preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220803preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220901:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220902preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221002preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221101:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221102preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230101:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230102preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230201:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230202preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230301:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230302preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230401:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230402preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:MaintenanceConfiguration"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:MaintenanceConfiguration"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing MaintenanceConfiguration resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static MaintenanceConfiguration Get(string name, Input id, CustomResourceOptions? options = null) + { + return new MaintenanceConfiguration(name, id, options); + } + } + + public sealed class MaintenanceConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the maintenance configuration. + /// + [Input("configName")] + public Input? ConfigName { get; set; } + + /// + /// Maintenance window for the maintenance configuration. + /// + [Input("maintenanceWindow")] + public Input? MaintenanceWindow { get; set; } + + [Input("notAllowedTime")] + private InputList? _notAllowedTime; + + /// + /// Time slots on which upgrade is not allowed. + /// + public InputList NotAllowedTime + { + get => _notAllowedTime ?? (_notAllowedTime = new InputList()); + set => _notAllowedTime = value; + } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + [Input("timeInWeek")] + private InputList? _timeInWeek; + + /// + /// If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. + /// + public InputList TimeInWeek + { + get => _timeInWeek ?? (_timeInWeek = new InputList()); + set => _timeInWeek = value; + } + + public MaintenanceConfigurationArgs() + { + } + public static new MaintenanceConfigurationArgs Empty => new MaintenanceConfigurationArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/ManagedCluster.cs b/sdk/dotnet/ContainerService/V20230701/ManagedCluster.cs new file mode 100644 index 000000000000..102c0022854d --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/ManagedCluster.cs @@ -0,0 +1,652 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + /// + /// Managed cluster. + /// + [AzureNativeResourceType("azure-native:containerservice/v20230701:ManagedCluster")] + public partial class ManagedCluster : global::Pulumi.CustomResource + { + /// + /// The Azure Active Directory configuration. + /// + [Output("aadProfile")] + public Output AadProfile { get; private set; } = null!; + + /// + /// The profile of managed cluster add-on. + /// + [Output("addonProfiles")] + public Output?> AddonProfiles { get; private set; } = null!; + + /// + /// The agent pool properties. + /// + [Output("agentPoolProfiles")] + public Output> AgentPoolProfiles { get; private set; } = null!; + + /// + /// The access profile for managed cluster API server. + /// + [Output("apiServerAccessProfile")] + public Output ApiServerAccessProfile { get; private set; } = null!; + + /// + /// Parameters to be applied to the cluster-autoscaler when enabled + /// + [Output("autoScalerProfile")] + public Output AutoScalerProfile { get; private set; } = null!; + + /// + /// The auto upgrade configuration. + /// + [Output("autoUpgradeProfile")] + public Output AutoUpgradeProfile { get; private set; } = null!; + + /// + /// Azure Monitor addon profiles for monitoring the managed cluster. + /// + [Output("azureMonitorProfile")] + public Output AzureMonitorProfile { get; private set; } = null!; + + /// + /// The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. + /// + [Output("azurePortalFQDN")] + public Output AzurePortalFQDN { get; private set; } = null!; + + /// + /// If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch> version being used. + /// + [Output("currentKubernetesVersion")] + public Output CurrentKubernetesVersion { get; private set; } = null!; + + /// + /// If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + /// + [Output("disableLocalAccounts")] + public Output DisableLocalAccounts { get; private set; } = null!; + + /// + /// This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + /// + [Output("diskEncryptionSetID")] + public Output DiskEncryptionSetID { get; private set; } = null!; + + /// + /// This cannot be updated once the Managed Cluster has been created. + /// + [Output("dnsPrefix")] + public Output DnsPrefix { get; private set; } = null!; + + /// + /// (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. + /// + [Output("enablePodSecurityPolicy")] + public Output EnablePodSecurityPolicy { get; private set; } = null!; + + /// + /// Whether to enable Kubernetes Role-Based Access Control. + /// + [Output("enableRBAC")] + public Output EnableRBAC { get; private set; } = null!; + + /// + /// The extended location of the Virtual Machine. + /// + [Output("extendedLocation")] + public Output ExtendedLocation { get; private set; } = null!; + + /// + /// The FQDN of the master pool. + /// + [Output("fqdn")] + public Output Fqdn { get; private set; } = null!; + + /// + /// This cannot be updated once the Managed Cluster has been created. + /// + [Output("fqdnSubdomain")] + public Output FqdnSubdomain { get; private set; } = null!; + + /// + /// Configurations for provisioning the cluster with HTTP proxy servers. + /// + [Output("httpProxyConfig")] + public Output HttpProxyConfig { get; private set; } = null!; + + /// + /// The identity of the managed cluster, if configured. + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// Identities associated with the cluster. + /// + [Output("identityProfile")] + public Output?> IdentityProfile { get; private set; } = null!; + + /// + /// Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + /// + [Output("kubernetesVersion")] + public Output KubernetesVersion { get; private set; } = null!; + + /// + /// The profile for Linux VMs in the Managed Cluster. + /// + [Output("linuxProfile")] + public Output LinuxProfile { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The max number of agent pools for the managed cluster. + /// + [Output("maxAgentPools")] + public Output MaxAgentPools { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The network configuration profile. + /// + [Output("networkProfile")] + public Output NetworkProfile { get; private set; } = null!; + + /// + /// The name of the resource group containing agent pool nodes. + /// + [Output("nodeResourceGroup")] + public Output NodeResourceGroup { get; private set; } = null!; + + /// + /// The OIDC issuer profile of the Managed Cluster. + /// + [Output("oidcIssuerProfile")] + public Output OidcIssuerProfile { get; private set; } = null!; + + /// + /// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. + /// + [Output("podIdentityProfile")] + public Output PodIdentityProfile { get; private set; } = null!; + + /// + /// The Power State of the cluster. + /// + [Output("powerState")] + public Output PowerState { get; private set; } = null!; + + /// + /// The FQDN of private cluster. + /// + [Output("privateFQDN")] + public Output PrivateFQDN { get; private set; } = null!; + + /// + /// Private link resources associated with the cluster. + /// + [Output("privateLinkResources")] + public Output> PrivateLinkResources { get; private set; } = null!; + + /// + /// The current provisioning state. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Allow or deny public network access for AKS + /// + [Output("publicNetworkAccess")] + public Output PublicNetworkAccess { get; private set; } = null!; + + /// + /// Security profile for the managed cluster. + /// + [Output("securityProfile")] + public Output SecurityProfile { get; private set; } = null!; + + /// + /// Information about a service principal identity for the cluster to use for manipulating Azure APIs. + /// + [Output("servicePrincipalProfile")] + public Output ServicePrincipalProfile { get; private set; } = null!; + + /// + /// The managed cluster SKU. + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Storage profile for the managed cluster. + /// + [Output("storageProfile")] + public Output StorageProfile { get; private set; } = null!; + + /// + /// The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + /// + [Output("supportPlan")] + public Output SupportPlan { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Settings for upgrading a cluster. + /// + [Output("upgradeSettings")] + public Output UpgradeSettings { get; private set; } = null!; + + /// + /// The profile for Windows VMs in the Managed Cluster. + /// + [Output("windowsProfile")] + public Output WindowsProfile { get; private set; } = null!; + + /// + /// Workload Auto-scaler profile for the managed cluster. + /// + [Output("workloadAutoScalerProfile")] + public Output WorkloadAutoScalerProfile { get; private set; } = null!; + + + /// + /// Create a ManagedCluster resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ManagedCluster(string name, ManagedClusterArgs args, CustomResourceOptions? options = null) + : base("azure-native:containerservice/v20230701:ManagedCluster", name, args ?? new ManagedClusterArgs(), MakeResourceOptions(options, "")) + { + } + + private ManagedCluster(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:containerservice/v20230701:ManagedCluster", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:containerservice:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20170831:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20180331:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20180801preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20190201:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20190401:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20190601:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20190801:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20191001:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20191101:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200101:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200201:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200301:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200401:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200601:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200701:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200901:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20201101:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20201201:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210201:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210301:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210501:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210701:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210801:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210901:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20211001:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20211101preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220101:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220102preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220201:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220202preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220301:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220302preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220401:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220402preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220502preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220601:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220602preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220701:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220702preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220802preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220803preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220901:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220902preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221002preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221101:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221102preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230101:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230102preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230201:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230202preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230301:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230302preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230401:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230402preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:ManagedCluster"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:ManagedCluster"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ManagedCluster resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static ManagedCluster Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ManagedCluster(name, id, options); + } + } + + public sealed class ManagedClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// The Azure Active Directory configuration. + /// + [Input("aadProfile")] + public Input? AadProfile { get; set; } + + [Input("addonProfiles")] + private InputMap? _addonProfiles; + + /// + /// The profile of managed cluster add-on. + /// + public InputMap AddonProfiles + { + get => _addonProfiles ?? (_addonProfiles = new InputMap()); + set => _addonProfiles = value; + } + + [Input("agentPoolProfiles")] + private InputList? _agentPoolProfiles; + + /// + /// The agent pool properties. + /// + public InputList AgentPoolProfiles + { + get => _agentPoolProfiles ?? (_agentPoolProfiles = new InputList()); + set => _agentPoolProfiles = value; + } + + /// + /// The access profile for managed cluster API server. + /// + [Input("apiServerAccessProfile")] + public Input? ApiServerAccessProfile { get; set; } + + /// + /// Parameters to be applied to the cluster-autoscaler when enabled + /// + [Input("autoScalerProfile")] + public Input? AutoScalerProfile { get; set; } + + /// + /// The auto upgrade configuration. + /// + [Input("autoUpgradeProfile")] + public Input? AutoUpgradeProfile { get; set; } + + /// + /// Azure Monitor addon profiles for monitoring the managed cluster. + /// + [Input("azureMonitorProfile")] + public Input? AzureMonitorProfile { get; set; } + + /// + /// If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + /// + [Input("disableLocalAccounts")] + public Input? DisableLocalAccounts { get; set; } + + /// + /// This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + /// + [Input("diskEncryptionSetID")] + public Input? DiskEncryptionSetID { get; set; } + + /// + /// This cannot be updated once the Managed Cluster has been created. + /// + [Input("dnsPrefix")] + public Input? DnsPrefix { get; set; } + + /// + /// (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. + /// + [Input("enablePodSecurityPolicy")] + public Input? EnablePodSecurityPolicy { get; set; } + + /// + /// Whether to enable Kubernetes Role-Based Access Control. + /// + [Input("enableRBAC")] + public Input? EnableRBAC { get; set; } + + /// + /// The extended location of the Virtual Machine. + /// + [Input("extendedLocation")] + public Input? ExtendedLocation { get; set; } + + /// + /// This cannot be updated once the Managed Cluster has been created. + /// + [Input("fqdnSubdomain")] + public Input? FqdnSubdomain { get; set; } + + /// + /// Configurations for provisioning the cluster with HTTP proxy servers. + /// + [Input("httpProxyConfig")] + public Input? HttpProxyConfig { get; set; } + + /// + /// The identity of the managed cluster, if configured. + /// + [Input("identity")] + public Input? Identity { get; set; } + + [Input("identityProfile")] + private InputMap? _identityProfile; + + /// + /// Identities associated with the cluster. + /// + public InputMap IdentityProfile + { + get => _identityProfile ?? (_identityProfile = new InputMap()); + set => _identityProfile = value; + } + + /// + /// Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + /// + [Input("kubernetesVersion")] + public Input? KubernetesVersion { get; set; } + + /// + /// The profile for Linux VMs in the Managed Cluster. + /// + [Input("linuxProfile")] + public Input? LinuxProfile { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The network configuration profile. + /// + [Input("networkProfile")] + public Input? NetworkProfile { get; set; } + + /// + /// The name of the resource group containing agent pool nodes. + /// + [Input("nodeResourceGroup")] + public Input? NodeResourceGroup { get; set; } + + /// + /// The OIDC issuer profile of the Managed Cluster. + /// + [Input("oidcIssuerProfile")] + public Input? OidcIssuerProfile { get; set; } + + /// + /// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. + /// + [Input("podIdentityProfile")] + public Input? PodIdentityProfile { get; set; } + + [Input("privateLinkResources")] + private InputList? _privateLinkResources; + + /// + /// Private link resources associated with the cluster. + /// + public InputList PrivateLinkResources + { + get => _privateLinkResources ?? (_privateLinkResources = new InputList()); + set => _privateLinkResources = value; + } + + /// + /// Allow or deny public network access for AKS + /// + [Input("publicNetworkAccess")] + public InputUnion? PublicNetworkAccess { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName")] + public Input? ResourceName { get; set; } + + /// + /// Security profile for the managed cluster. + /// + [Input("securityProfile")] + public Input? SecurityProfile { get; set; } + + /// + /// Information about a service principal identity for the cluster to use for manipulating Azure APIs. + /// + [Input("servicePrincipalProfile")] + public Input? ServicePrincipalProfile { get; set; } + + /// + /// The managed cluster SKU. + /// + [Input("sku")] + public Input? Sku { get; set; } + + /// + /// Storage profile for the managed cluster. + /// + [Input("storageProfile")] + public Input? StorageProfile { get; set; } + + /// + /// The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + /// + [Input("supportPlan")] + public InputUnion? SupportPlan { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// Settings for upgrading a cluster. + /// + [Input("upgradeSettings")] + public Input? UpgradeSettings { get; set; } + + /// + /// The profile for Windows VMs in the Managed Cluster. + /// + [Input("windowsProfile")] + public Input? WindowsProfile { get; set; } + + /// + /// Workload Auto-scaler profile for the managed cluster. + /// + [Input("workloadAutoScalerProfile")] + public Input? WorkloadAutoScalerProfile { get; set; } + + public ManagedClusterArgs() + { + } + public static new ManagedClusterArgs Empty => new ManagedClusterArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/AbsoluteMonthlyScheduleResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/AbsoluteMonthlyScheduleResponse.cs new file mode 100644 index 000000000000..385adb07cbb0 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/AbsoluteMonthlyScheduleResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + /// + [OutputType] + public sealed class AbsoluteMonthlyScheduleResponse + { + /// + /// The date of the month. + /// + public readonly int DayOfMonth; + /// + /// Specifies the number of months between each set of occurrences. + /// + public readonly int IntervalMonths; + + [OutputConstructor] + private AbsoluteMonthlyScheduleResponse( + int dayOfMonth, + + int intervalMonths) + { + DayOfMonth = dayOfMonth; + IntervalMonths = intervalMonths; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/AgentPoolUpgradeSettingsResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/AgentPoolUpgradeSettingsResponse.cs new file mode 100644 index 000000000000..3e36bdf5956e --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/AgentPoolUpgradeSettingsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Settings for upgrading an agentpool + /// + [OutputType] + public sealed class AgentPoolUpgradeSettingsResponse + { + /// + /// The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. + /// + public readonly int? DrainTimeoutInMinutes; + /// + /// This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + /// + public readonly string? MaxSurge; + + [OutputConstructor] + private AgentPoolUpgradeSettingsResponse( + int? drainTimeoutInMinutes, + + string? maxSurge) + { + DrainTimeoutInMinutes = drainTimeoutInMinutes; + MaxSurge = maxSurge; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/AzureKeyVaultKmsResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/AzureKeyVaultKmsResponse.cs new file mode 100644 index 000000000000..3d3aa6ce1446 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/AzureKeyVaultKmsResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Azure Key Vault key management service settings for the security profile. + /// + [OutputType] + public sealed class AzureKeyVaultKmsResponse + { + /// + /// Whether to enable Azure Key Vault key management service. The default is false. + /// + public readonly bool? Enabled; + /// + /// Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + /// + public readonly string? KeyId; + /// + /// Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + /// + public readonly string? KeyVaultNetworkAccess; + /// + /// Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + /// + public readonly string? KeyVaultResourceId; + + [OutputConstructor] + private AzureKeyVaultKmsResponse( + bool? enabled, + + string? keyId, + + string? keyVaultNetworkAccess, + + string? keyVaultResourceId) + { + Enabled = enabled; + KeyId = keyId; + KeyVaultNetworkAccess = keyVaultNetworkAccess; + KeyVaultResourceId = keyVaultResourceId; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ClusterUpgradeSettingsResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ClusterUpgradeSettingsResponse.cs new file mode 100644 index 000000000000..b1ccc2e02107 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ClusterUpgradeSettingsResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Settings for upgrading a cluster. + /// + [OutputType] + public sealed class ClusterUpgradeSettingsResponse + { + /// + /// Settings for overrides. + /// + public readonly Outputs.UpgradeOverrideSettingsResponse? OverrideSettings; + + [OutputConstructor] + private ClusterUpgradeSettingsResponse(Outputs.UpgradeOverrideSettingsResponse? overrideSettings) + { + OverrideSettings = overrideSettings; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ContainerServiceLinuxProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ContainerServiceLinuxProfileResponse.cs new file mode 100644 index 000000000000..124a502f73bd --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ContainerServiceLinuxProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Profile for Linux VMs in the container service cluster. + /// + [OutputType] + public sealed class ContainerServiceLinuxProfileResponse + { + /// + /// The administrator username to use for Linux VMs. + /// + public readonly string AdminUsername; + /// + /// The SSH configuration for Linux-based VMs running on Azure. + /// + public readonly Outputs.ContainerServiceSshConfigurationResponse Ssh; + + [OutputConstructor] + private ContainerServiceLinuxProfileResponse( + string adminUsername, + + Outputs.ContainerServiceSshConfigurationResponse ssh) + { + AdminUsername = adminUsername; + Ssh = ssh; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ContainerServiceNetworkProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ContainerServiceNetworkProfileResponse.cs new file mode 100644 index 000000000000..bd20db83b409 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ContainerServiceNetworkProfileResponse.cs @@ -0,0 +1,129 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Profile of network configuration. + /// + [OutputType] + public sealed class ContainerServiceNetworkProfileResponse + { + /// + /// An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + /// + public readonly string? DnsServiceIP; + /// + /// IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + /// + public readonly ImmutableArray IpFamilies; + /// + /// Profile of the cluster load balancer. + /// + public readonly Outputs.ManagedClusterLoadBalancerProfileResponse? LoadBalancerProfile; + /// + /// The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + /// + public readonly string? LoadBalancerSku; + /// + /// Profile of the cluster NAT gateway. + /// + public readonly Outputs.ManagedClusterNATGatewayProfileResponse? NatGatewayProfile; + /// + /// Network dataplane used in the Kubernetes cluster. + /// + public readonly string? NetworkDataplane; + /// + /// This cannot be specified if networkPlugin is anything other than 'azure'. + /// + public readonly string? NetworkMode; + /// + /// Network plugin used for building the Kubernetes network. + /// + public readonly string? NetworkPlugin; + /// + /// The mode the network plugin should use. + /// + public readonly string? NetworkPluginMode; + /// + /// Network policy used for building the Kubernetes network. + /// + public readonly string? NetworkPolicy; + /// + /// This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + /// + public readonly string? OutboundType; + /// + /// A CIDR notation IP range from which to assign pod IPs when kubenet is used. + /// + public readonly string? PodCidr; + /// + /// One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + /// + public readonly ImmutableArray PodCidrs; + /// + /// A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + /// + public readonly string? ServiceCidr; + /// + /// One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + /// + public readonly ImmutableArray ServiceCidrs; + + [OutputConstructor] + private ContainerServiceNetworkProfileResponse( + string? dnsServiceIP, + + ImmutableArray ipFamilies, + + Outputs.ManagedClusterLoadBalancerProfileResponse? loadBalancerProfile, + + string? loadBalancerSku, + + Outputs.ManagedClusterNATGatewayProfileResponse? natGatewayProfile, + + string? networkDataplane, + + string? networkMode, + + string? networkPlugin, + + string? networkPluginMode, + + string? networkPolicy, + + string? outboundType, + + string? podCidr, + + ImmutableArray podCidrs, + + string? serviceCidr, + + ImmutableArray serviceCidrs) + { + DnsServiceIP = dnsServiceIP; + IpFamilies = ipFamilies; + LoadBalancerProfile = loadBalancerProfile; + LoadBalancerSku = loadBalancerSku; + NatGatewayProfile = natGatewayProfile; + NetworkDataplane = networkDataplane; + NetworkMode = networkMode; + NetworkPlugin = networkPlugin; + NetworkPluginMode = networkPluginMode; + NetworkPolicy = networkPolicy; + OutboundType = outboundType; + PodCidr = podCidr; + PodCidrs = podCidrs; + ServiceCidr = serviceCidr; + ServiceCidrs = serviceCidrs; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ContainerServiceSshConfigurationResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ContainerServiceSshConfigurationResponse.cs new file mode 100644 index 000000000000..2905243761a3 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ContainerServiceSshConfigurationResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// SSH configuration for Linux-based VMs running on Azure. + /// + [OutputType] + public sealed class ContainerServiceSshConfigurationResponse + { + /// + /// The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + /// + public readonly ImmutableArray PublicKeys; + + [OutputConstructor] + private ContainerServiceSshConfigurationResponse(ImmutableArray publicKeys) + { + PublicKeys = publicKeys; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ContainerServiceSshPublicKeyResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ContainerServiceSshPublicKeyResponse.cs new file mode 100644 index 000000000000..34cd59b05970 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ContainerServiceSshPublicKeyResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Contains information about SSH certificate public key data. + /// + [OutputType] + public sealed class ContainerServiceSshPublicKeyResponse + { + /// + /// Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + /// + public readonly string KeyData; + + [OutputConstructor] + private ContainerServiceSshPublicKeyResponse(string keyData) + { + KeyData = keyData; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/CreationDataResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/CreationDataResponse.cs new file mode 100644 index 000000000000..c862208b7edb --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/CreationDataResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Data used when creating a target resource from a source resource. + /// + [OutputType] + public sealed class CreationDataResponse + { + /// + /// This is the ARM ID of the source object to be used to create the target object. + /// + public readonly string? SourceResourceId; + + [OutputConstructor] + private CreationDataResponse(string? sourceResourceId) + { + SourceResourceId = sourceResourceId; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/CredentialResultResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/CredentialResultResponse.cs new file mode 100644 index 000000000000..62aed04ebe5d --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/CredentialResultResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// The credential result response. + /// + [OutputType] + public sealed class CredentialResultResponse + { + /// + /// The name of the credential. + /// + public readonly string Name; + /// + /// Base64-encoded Kubernetes configuration file. + /// + public readonly string Value; + + [OutputConstructor] + private CredentialResultResponse( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/DailyScheduleResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/DailyScheduleResponse.cs new file mode 100644 index 000000000000..f24141cbb965 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/DailyScheduleResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// For schedules like: 'recur every day' or 'recur every 3 days'. + /// + [OutputType] + public sealed class DailyScheduleResponse + { + /// + /// Specifies the number of days between each set of occurrences. + /// + public readonly int IntervalDays; + + [OutputConstructor] + private DailyScheduleResponse(int intervalDays) + { + IntervalDays = intervalDays; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/DateSpanResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/DateSpanResponse.cs new file mode 100644 index 000000000000..773630633456 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/DateSpanResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// For example, between '2022-12-23' and '2023-01-05'. + /// + [OutputType] + public sealed class DateSpanResponse + { + /// + /// The end date of the date span. + /// + public readonly string End; + /// + /// The start date of the date span. + /// + public readonly string Start; + + [OutputConstructor] + private DateSpanResponse( + string end, + + string start) + { + End = end; + Start = start; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/DelegatedResourceResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/DelegatedResourceResponse.cs new file mode 100644 index 000000000000..a8982309ac49 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/DelegatedResourceResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Delegated resource properties - internal use only. + /// + [OutputType] + public sealed class DelegatedResourceResponse + { + /// + /// The source resource location - internal use only. + /// + public readonly string? Location; + /// + /// The delegation id of the referral delegation (optional) - internal use only. + /// + public readonly string? ReferralResource; + /// + /// The ARM resource id of the delegated resource - internal use only. + /// + public readonly string? ResourceId; + /// + /// The tenant id of the delegated resource - internal use only. + /// + public readonly string? TenantId; + + [OutputConstructor] + private DelegatedResourceResponse( + string? location, + + string? referralResource, + + string? resourceId, + + string? tenantId) + { + Location = location; + ReferralResource = referralResource; + ResourceId = resourceId; + TenantId = tenantId; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ExtendedLocationResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ExtendedLocationResponse.cs new file mode 100644 index 000000000000..3c8b8e929399 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ExtendedLocationResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// The complex type of the extended location. + /// + [OutputType] + public sealed class ExtendedLocationResponse + { + /// + /// The name of the extended location. + /// + public readonly string? Name; + /// + /// The type of the extended location. + /// + public readonly string? Type; + + [OutputConstructor] + private ExtendedLocationResponse( + string? name, + + string? type) + { + Name = name; + Type = type; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/KubeletConfigResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/KubeletConfigResponse.cs new file mode 100644 index 000000000000..fe49c37132db --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/KubeletConfigResponse.cs @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + /// + [OutputType] + public sealed class KubeletConfigResponse + { + /// + /// Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + /// + public readonly ImmutableArray AllowedUnsafeSysctls; + /// + /// The maximum number of container log files that can be present for a container. The number must be ≥ 2. + /// + public readonly int? ContainerLogMaxFiles; + /// + /// The maximum size (e.g. 10Mi) of container log file before it is rotated. + /// + public readonly int? ContainerLogMaxSizeMB; + /// + /// The default is true. + /// + public readonly bool? CpuCfsQuota; + /// + /// The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + /// + public readonly string? CpuCfsQuotaPeriod; + /// + /// The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + /// + public readonly string? CpuManagerPolicy; + /// + /// If set to true it will make the Kubelet fail to start if swap is enabled on the node. + /// + public readonly bool? FailSwapOn; + /// + /// To disable image garbage collection, set to 100. The default is 85% + /// + public readonly int? ImageGcHighThreshold; + /// + /// This cannot be set higher than imageGcHighThreshold. The default is 80% + /// + public readonly int? ImageGcLowThreshold; + /// + /// The maximum number of processes per pod. + /// + public readonly int? PodMaxPids; + /// + /// For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + /// + public readonly string? TopologyManagerPolicy; + + [OutputConstructor] + private KubeletConfigResponse( + ImmutableArray allowedUnsafeSysctls, + + int? containerLogMaxFiles, + + int? containerLogMaxSizeMB, + + bool? cpuCfsQuota, + + string? cpuCfsQuotaPeriod, + + string? cpuManagerPolicy, + + bool? failSwapOn, + + int? imageGcHighThreshold, + + int? imageGcLowThreshold, + + int? podMaxPids, + + string? topologyManagerPolicy) + { + AllowedUnsafeSysctls = allowedUnsafeSysctls; + ContainerLogMaxFiles = containerLogMaxFiles; + ContainerLogMaxSizeMB = containerLogMaxSizeMB; + CpuCfsQuota = cpuCfsQuota; + CpuCfsQuotaPeriod = cpuCfsQuotaPeriod; + CpuManagerPolicy = cpuManagerPolicy; + FailSwapOn = failSwapOn; + ImageGcHighThreshold = imageGcHighThreshold; + ImageGcLowThreshold = imageGcLowThreshold; + PodMaxPids = podMaxPids; + TopologyManagerPolicy = topologyManagerPolicy; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/LinuxOSConfigResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/LinuxOSConfigResponse.cs new file mode 100644 index 000000000000..de6311f87ae2 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/LinuxOSConfigResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + /// + [OutputType] + public sealed class LinuxOSConfigResponse + { + /// + /// The size in MB of a swap file that will be created on each node. + /// + public readonly int? SwapFileSizeMB; + /// + /// Sysctl settings for Linux agent nodes. + /// + public readonly Outputs.SysctlConfigResponse? Sysctls; + /// + /// Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + /// + public readonly string? TransparentHugePageDefrag; + /// + /// Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + /// + public readonly string? TransparentHugePageEnabled; + + [OutputConstructor] + private LinuxOSConfigResponse( + int? swapFileSizeMB, + + Outputs.SysctlConfigResponse? sysctls, + + string? transparentHugePageDefrag, + + string? transparentHugePageEnabled) + { + SwapFileSizeMB = swapFileSizeMB; + Sysctls = sysctls; + TransparentHugePageDefrag = transparentHugePageDefrag; + TransparentHugePageEnabled = transparentHugePageEnabled; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/MaintenanceWindowResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/MaintenanceWindowResponse.cs new file mode 100644 index 000000000000..fce5bbe9b0fd --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/MaintenanceWindowResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + /// + [OutputType] + public sealed class MaintenanceWindowResponse + { + /// + /// Length of maintenance window range from 4 to 24 hours. + /// + public readonly int DurationHours; + /// + /// Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. + /// + public readonly ImmutableArray NotAllowedDates; + /// + /// Recurrence schedule for the maintenance window. + /// + public readonly Outputs.ScheduleResponse Schedule; + /// + /// The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + /// + public readonly string? StartDate; + /// + /// The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + /// + public readonly string StartTime; + /// + /// The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. + /// + public readonly string? UtcOffset; + + [OutputConstructor] + private MaintenanceWindowResponse( + int durationHours, + + ImmutableArray notAllowedDates, + + Outputs.ScheduleResponse schedule, + + string? startDate, + + string startTime, + + string? utcOffset) + { + DurationHours = durationHours; + NotAllowedDates = notAllowedDates; + Schedule = schedule; + StartDate = startDate; + StartTime = startTime; + UtcOffset = utcOffset; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAADProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAADProfileResponse.cs new file mode 100644 index 000000000000..3267d24823da --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAADProfileResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + /// + [OutputType] + public sealed class ManagedClusterAADProfileResponse + { + /// + /// The list of AAD group object IDs that will have admin role of the cluster. + /// + public readonly ImmutableArray AdminGroupObjectIDs; + /// + /// (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + /// + public readonly string? ClientAppID; + /// + /// Whether to enable Azure RBAC for Kubernetes authorization. + /// + public readonly bool? EnableAzureRBAC; + /// + /// Whether to enable managed AAD. + /// + public readonly bool? Managed; + /// + /// (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + /// + public readonly string? ServerAppID; + /// + /// (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + /// + public readonly string? ServerAppSecret; + /// + /// The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + /// + public readonly string? TenantID; + + [OutputConstructor] + private ManagedClusterAADProfileResponse( + ImmutableArray adminGroupObjectIDs, + + string? clientAppID, + + bool? enableAzureRBAC, + + bool? managed, + + string? serverAppID, + + string? serverAppSecret, + + string? tenantID) + { + AdminGroupObjectIDs = adminGroupObjectIDs; + ClientAppID = clientAppID; + EnableAzureRBAC = enableAzureRBAC; + Managed = managed; + ServerAppID = serverAppID; + ServerAppSecret = serverAppSecret; + TenantID = tenantID; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAPIServerAccessProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAPIServerAccessProfileResponse.cs new file mode 100644 index 000000000000..cfd2072303fc --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAPIServerAccessProfileResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Access profile for managed cluster API server. + /// + [OutputType] + public sealed class ManagedClusterAPIServerAccessProfileResponse + { + /// + /// IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + /// + public readonly ImmutableArray AuthorizedIPRanges; + /// + /// Whether to disable run command for the cluster or not. + /// + public readonly bool? DisableRunCommand; + /// + /// For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + /// + public readonly bool? EnablePrivateCluster; + /// + /// Whether to create additional public FQDN for private cluster or not. + /// + public readonly bool? EnablePrivateClusterPublicFQDN; + /// + /// The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + /// + public readonly string? PrivateDNSZone; + + [OutputConstructor] + private ManagedClusterAPIServerAccessProfileResponse( + ImmutableArray authorizedIPRanges, + + bool? disableRunCommand, + + bool? enablePrivateCluster, + + bool? enablePrivateClusterPublicFQDN, + + string? privateDNSZone) + { + AuthorizedIPRanges = authorizedIPRanges; + DisableRunCommand = disableRunCommand; + EnablePrivateCluster = enablePrivateCluster; + EnablePrivateClusterPublicFQDN = enablePrivateClusterPublicFQDN; + PrivateDNSZone = privateDNSZone; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAddonProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAddonProfileResponse.cs new file mode 100644 index 000000000000..6863ccf71e69 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAddonProfileResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// A Kubernetes add-on profile for a managed cluster. + /// + [OutputType] + public sealed class ManagedClusterAddonProfileResponse + { + /// + /// Key-value pairs for configuring an add-on. + /// + public readonly ImmutableDictionary? Config; + /// + /// Whether the add-on is enabled or not. + /// + public readonly bool Enabled; + /// + /// Information of user assigned identity used by this add-on. + /// + public readonly Outputs.ManagedClusterAddonProfileResponseIdentity Identity; + + [OutputConstructor] + private ManagedClusterAddonProfileResponse( + ImmutableDictionary? config, + + bool enabled, + + Outputs.ManagedClusterAddonProfileResponseIdentity identity) + { + Config = config; + Enabled = enabled; + Identity = identity; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAddonProfileResponseIdentity.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAddonProfileResponseIdentity.cs new file mode 100644 index 000000000000..6377c62fce0d --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAddonProfileResponseIdentity.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Information of user assigned identity used by this add-on. + /// + [OutputType] + public sealed class ManagedClusterAddonProfileResponseIdentity + { + /// + /// The client ID of the user assigned identity. + /// + public readonly string? ClientId; + /// + /// The object ID of the user assigned identity. + /// + public readonly string? ObjectId; + /// + /// The resource ID of the user assigned identity. + /// + public readonly string? ResourceId; + + [OutputConstructor] + private ManagedClusterAddonProfileResponseIdentity( + string? clientId, + + string? objectId, + + string? resourceId) + { + ClientId = clientId; + ObjectId = objectId; + ResourceId = resourceId; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAgentPoolProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAgentPoolProfileResponse.cs new file mode 100644 index 000000000000..3a9efc5bbcc5 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAgentPoolProfileResponse.cs @@ -0,0 +1,318 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Profile for the container service agent pool. + /// + [OutputType] + public sealed class ManagedClusterAgentPoolProfileResponse + { + /// + /// The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + /// + public readonly ImmutableArray AvailabilityZones; + /// + /// Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + /// + public readonly int? Count; + /// + /// CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + /// + public readonly Outputs.CreationDataResponse? CreationData; + /// + /// If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly equal to it. If orchestratorVersion is <major.minor>, this field will contain the full <major.minor.patch> version being used. + /// + public readonly string CurrentOrchestratorVersion; + /// + /// Whether to enable auto-scaler + /// + public readonly bool? EnableAutoScaling; + /// + /// This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + /// + public readonly bool? EnableEncryptionAtHost; + /// + /// See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + /// + public readonly bool? EnableFIPS; + /// + /// Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + /// + public readonly bool? EnableNodePublicIP; + /// + /// Whether to enable UltraSSD + /// + public readonly bool? EnableUltraSSD; + /// + /// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + /// + public readonly string? GpuInstanceProfile; + /// + /// This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + /// + public readonly string? HostGroupID; + /// + /// The Kubelet configuration on the agent pool nodes. + /// + public readonly Outputs.KubeletConfigResponse? KubeletConfig; + /// + /// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + /// + public readonly string? KubeletDiskType; + /// + /// The OS configuration of Linux agent nodes. + /// + public readonly Outputs.LinuxOSConfigResponse? LinuxOSConfig; + /// + /// The maximum number of nodes for auto-scaling + /// + public readonly int? MaxCount; + /// + /// The maximum number of pods that can run on a node. + /// + public readonly int? MaxPods; + /// + /// The minimum number of nodes for auto-scaling + /// + public readonly int? MinCount; + /// + /// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + /// + public readonly string? Mode; + /// + /// Windows agent pool names must be 6 characters or less. + /// + public readonly string Name; + /// + /// The version of node image + /// + public readonly string NodeImageVersion; + /// + /// The node labels to be persisted across all nodes in agent pool. + /// + public readonly ImmutableDictionary? NodeLabels; + /// + /// This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + /// + public readonly string? NodePublicIPPrefixID; + /// + /// The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + /// + public readonly ImmutableArray NodeTaints; + /// + /// Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported. When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + /// + public readonly string? OrchestratorVersion; + /// + /// OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + /// + public readonly int? OsDiskSizeGB; + /// + /// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + /// + public readonly string? OsDiskType; + /// + /// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + /// + public readonly string? OsSKU; + /// + /// The operating system type. The default is Linux. + /// + public readonly string? OsType; + /// + /// If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + /// + public readonly string? PodSubnetID; + /// + /// When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + /// + public readonly Outputs.PowerStateResponse? PowerState; + /// + /// The current deployment or provisioning state. + /// + public readonly string ProvisioningState; + /// + /// The ID for Proximity Placement Group. + /// + public readonly string? ProximityPlacementGroupID; + /// + /// This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + /// + public readonly string? ScaleDownMode; + /// + /// This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + /// + public readonly string? ScaleSetEvictionPolicy; + /// + /// The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + /// + public readonly string? ScaleSetPriority; + /// + /// Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + /// + public readonly double? SpotMaxPrice; + /// + /// The tags to be persisted on the agent pool virtual machine scale set. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of Agent Pool. + /// + public readonly string? Type; + /// + /// Settings for upgrading the agentpool + /// + public readonly Outputs.AgentPoolUpgradeSettingsResponse? UpgradeSettings; + /// + /// VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + /// + public readonly string? VmSize; + /// + /// If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + /// + public readonly string? VnetSubnetID; + /// + /// Determines the type of workload a node can run. + /// + public readonly string? WorkloadRuntime; + + [OutputConstructor] + private ManagedClusterAgentPoolProfileResponse( + ImmutableArray availabilityZones, + + int? count, + + Outputs.CreationDataResponse? creationData, + + string currentOrchestratorVersion, + + bool? enableAutoScaling, + + bool? enableEncryptionAtHost, + + bool? enableFIPS, + + bool? enableNodePublicIP, + + bool? enableUltraSSD, + + string? gpuInstanceProfile, + + string? hostGroupID, + + Outputs.KubeletConfigResponse? kubeletConfig, + + string? kubeletDiskType, + + Outputs.LinuxOSConfigResponse? linuxOSConfig, + + int? maxCount, + + int? maxPods, + + int? minCount, + + string? mode, + + string name, + + string nodeImageVersion, + + ImmutableDictionary? nodeLabels, + + string? nodePublicIPPrefixID, + + ImmutableArray nodeTaints, + + string? orchestratorVersion, + + int? osDiskSizeGB, + + string? osDiskType, + + string? osSKU, + + string? osType, + + string? podSubnetID, + + Outputs.PowerStateResponse? powerState, + + string provisioningState, + + string? proximityPlacementGroupID, + + string? scaleDownMode, + + string? scaleSetEvictionPolicy, + + string? scaleSetPriority, + + double? spotMaxPrice, + + ImmutableDictionary? tags, + + string? type, + + Outputs.AgentPoolUpgradeSettingsResponse? upgradeSettings, + + string? vmSize, + + string? vnetSubnetID, + + string? workloadRuntime) + { + AvailabilityZones = availabilityZones; + Count = count; + CreationData = creationData; + CurrentOrchestratorVersion = currentOrchestratorVersion; + EnableAutoScaling = enableAutoScaling; + EnableEncryptionAtHost = enableEncryptionAtHost; + EnableFIPS = enableFIPS; + EnableNodePublicIP = enableNodePublicIP; + EnableUltraSSD = enableUltraSSD; + GpuInstanceProfile = gpuInstanceProfile; + HostGroupID = hostGroupID; + KubeletConfig = kubeletConfig; + KubeletDiskType = kubeletDiskType; + LinuxOSConfig = linuxOSConfig; + MaxCount = maxCount; + MaxPods = maxPods; + MinCount = minCount; + Mode = mode; + Name = name; + NodeImageVersion = nodeImageVersion; + NodeLabels = nodeLabels; + NodePublicIPPrefixID = nodePublicIPPrefixID; + NodeTaints = nodeTaints; + OrchestratorVersion = orchestratorVersion; + OsDiskSizeGB = osDiskSizeGB; + OsDiskType = osDiskType; + OsSKU = osSKU; + OsType = osType; + PodSubnetID = podSubnetID; + PowerState = powerState; + ProvisioningState = provisioningState; + ProximityPlacementGroupID = proximityPlacementGroupID; + ScaleDownMode = scaleDownMode; + ScaleSetEvictionPolicy = scaleSetEvictionPolicy; + ScaleSetPriority = scaleSetPriority; + SpotMaxPrice = spotMaxPrice; + Tags = tags; + Type = type; + UpgradeSettings = upgradeSettings; + VmSize = vmSize; + VnetSubnetID = vnetSubnetID; + WorkloadRuntime = workloadRuntime; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAutoUpgradeProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAutoUpgradeProfileResponse.cs new file mode 100644 index 000000000000..c5845ac041e8 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAutoUpgradeProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Auto upgrade profile for a managed cluster. + /// + [OutputType] + public sealed class ManagedClusterAutoUpgradeProfileResponse + { + /// + /// Manner in which the OS on your nodes is updated. The default is NodeImage. + /// + public readonly string? NodeOSUpgradeChannel; + /// + /// For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + /// + public readonly string? UpgradeChannel; + + [OutputConstructor] + private ManagedClusterAutoUpgradeProfileResponse( + string? nodeOSUpgradeChannel, + + string? upgradeChannel) + { + NodeOSUpgradeChannel = nodeOSUpgradeChannel; + UpgradeChannel = upgradeChannel; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAzureMonitorProfileKubeStateMetricsResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAzureMonitorProfileKubeStateMetricsResponse.cs new file mode 100644 index 000000000000..e9fc82caa414 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAzureMonitorProfileKubeStateMetricsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + /// + [OutputType] + public sealed class ManagedClusterAzureMonitorProfileKubeStateMetricsResponse + { + /// + /// Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + /// + public readonly string? MetricAnnotationsAllowList; + /// + /// Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + /// + public readonly string? MetricLabelsAllowlist; + + [OutputConstructor] + private ManagedClusterAzureMonitorProfileKubeStateMetricsResponse( + string? metricAnnotationsAllowList, + + string? metricLabelsAllowlist) + { + MetricAnnotationsAllowList = metricAnnotationsAllowList; + MetricLabelsAllowlist = metricLabelsAllowlist; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAzureMonitorProfileMetricsResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAzureMonitorProfileMetricsResponse.cs new file mode 100644 index 000000000000..1c2f6d8cb2ef --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAzureMonitorProfileMetricsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + /// + [OutputType] + public sealed class ManagedClusterAzureMonitorProfileMetricsResponse + { + /// + /// Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + /// + public readonly bool Enabled; + /// + /// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + /// + public readonly Outputs.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse? KubeStateMetrics; + + [OutputConstructor] + private ManagedClusterAzureMonitorProfileMetricsResponse( + bool enabled, + + Outputs.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse? kubeStateMetrics) + { + Enabled = enabled; + KubeStateMetrics = kubeStateMetrics; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAzureMonitorProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAzureMonitorProfileResponse.cs new file mode 100644 index 000000000000..5dae4f965e6c --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterAzureMonitorProfileResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Azure Monitor addon profiles for monitoring the managed cluster. + /// + [OutputType] + public sealed class ManagedClusterAzureMonitorProfileResponse + { + /// + /// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + /// + public readonly Outputs.ManagedClusterAzureMonitorProfileMetricsResponse? Metrics; + + [OutputConstructor] + private ManagedClusterAzureMonitorProfileResponse(Outputs.ManagedClusterAzureMonitorProfileMetricsResponse? metrics) + { + Metrics = metrics; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterHTTPProxyConfigResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterHTTPProxyConfigResponse.cs new file mode 100644 index 000000000000..a05e81ecff04 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterHTTPProxyConfigResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Cluster HTTP proxy configuration. + /// + [OutputType] + public sealed class ManagedClusterHTTPProxyConfigResponse + { + /// + /// The HTTP proxy server endpoint to use. + /// + public readonly string? HttpProxy; + /// + /// The HTTPS proxy server endpoint to use. + /// + public readonly string? HttpsProxy; + /// + /// The endpoints that should not go through proxy. + /// + public readonly ImmutableArray NoProxy; + /// + /// Alternative CA cert to use for connecting to proxy servers. + /// + public readonly string? TrustedCa; + + [OutputConstructor] + private ManagedClusterHTTPProxyConfigResponse( + string? httpProxy, + + string? httpsProxy, + + ImmutableArray noProxy, + + string? trustedCa) + { + HttpProxy = httpProxy; + HttpsProxy = httpsProxy; + NoProxy = noProxy; + TrustedCa = trustedCa; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterIdentityResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterIdentityResponse.cs new file mode 100644 index 000000000000..435a116e756d --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterIdentityResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Identity for the managed cluster. + /// + [OutputType] + public sealed class ManagedClusterIdentityResponse + { + /// + /// The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + /// + public readonly ImmutableDictionary? DelegatedResources; + /// + /// The principal id of the system assigned identity which is used by master components. + /// + public readonly string PrincipalId; + /// + /// The tenant id of the system assigned identity which is used by master components. + /// + public readonly string TenantId; + /// + /// For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + /// + public readonly string? Type; + /// + /// The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + /// + public readonly ImmutableDictionary? UserAssignedIdentities; + + [OutputConstructor] + private ManagedClusterIdentityResponse( + ImmutableDictionary? delegatedResources, + + string principalId, + + string tenantId, + + string? type, + + ImmutableDictionary? userAssignedIdentities) + { + DelegatedResources = delegatedResources; + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + UserAssignedIdentities = userAssignedIdentities; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterIdentityResponseUserAssignedIdentities.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterIdentityResponseUserAssignedIdentities.cs new file mode 100644 index 000000000000..f8a30dea9100 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterIdentityResponseUserAssignedIdentities.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + [OutputType] + public sealed class ManagedClusterIdentityResponseUserAssignedIdentities + { + /// + /// The client id of user assigned identity. + /// + public readonly string ClientId; + /// + /// The principal id of user assigned identity. + /// + public readonly string PrincipalId; + + [OutputConstructor] + private ManagedClusterIdentityResponseUserAssignedIdentities( + string clientId, + + string principalId) + { + ClientId = clientId; + PrincipalId = principalId; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterLoadBalancerProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterLoadBalancerProfileResponse.cs new file mode 100644 index 000000000000..45bcb62a4d37 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterLoadBalancerProfileResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Profile of the managed cluster load balancer. + /// + [OutputType] + public sealed class ManagedClusterLoadBalancerProfileResponse + { + /// + /// The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + /// + public readonly int? AllocatedOutboundPorts; + /// + /// The effective outbound IP resources of the cluster load balancer. + /// + public readonly ImmutableArray EffectiveOutboundIPs; + /// + /// Enable multiple standard load balancers per AKS cluster or not. + /// + public readonly bool? EnableMultipleStandardLoadBalancers; + /// + /// Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + /// + public readonly int? IdleTimeoutInMinutes; + /// + /// Desired managed outbound IPs for the cluster load balancer. + /// + public readonly Outputs.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs? ManagedOutboundIPs; + /// + /// Desired outbound IP Prefix resources for the cluster load balancer. + /// + public readonly Outputs.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes? OutboundIPPrefixes; + /// + /// Desired outbound IP resources for the cluster load balancer. + /// + public readonly Outputs.ManagedClusterLoadBalancerProfileResponseOutboundIPs? OutboundIPs; + + [OutputConstructor] + private ManagedClusterLoadBalancerProfileResponse( + int? allocatedOutboundPorts, + + ImmutableArray effectiveOutboundIPs, + + bool? enableMultipleStandardLoadBalancers, + + int? idleTimeoutInMinutes, + + Outputs.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs? managedOutboundIPs, + + Outputs.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes? outboundIPPrefixes, + + Outputs.ManagedClusterLoadBalancerProfileResponseOutboundIPs? outboundIPs) + { + AllocatedOutboundPorts = allocatedOutboundPorts; + EffectiveOutboundIPs = effectiveOutboundIPs; + EnableMultipleStandardLoadBalancers = enableMultipleStandardLoadBalancers; + IdleTimeoutInMinutes = idleTimeoutInMinutes; + ManagedOutboundIPs = managedOutboundIPs; + OutboundIPPrefixes = outboundIPPrefixes; + OutboundIPs = outboundIPs; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs.cs new file mode 100644 index 000000000000..187095b01dfd --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Desired managed outbound IPs for the cluster load balancer. + /// + [OutputType] + public sealed class ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs + { + /// + /// The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + /// + public readonly int? Count; + /// + /// The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + /// + public readonly int? CountIPv6; + + [OutputConstructor] + private ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs( + int? count, + + int? countIPv6) + { + Count = count; + CountIPv6 = countIPv6; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes.cs new file mode 100644 index 000000000000..98f1cfb91c8a --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Desired outbound IP Prefix resources for the cluster load balancer. + /// + [OutputType] + public sealed class ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes + { + /// + /// A list of public IP prefix resources. + /// + public readonly ImmutableArray PublicIPPrefixes; + + [OutputConstructor] + private ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes(ImmutableArray publicIPPrefixes) + { + PublicIPPrefixes = publicIPPrefixes; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterLoadBalancerProfileResponseOutboundIPs.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterLoadBalancerProfileResponseOutboundIPs.cs new file mode 100644 index 000000000000..d6e0b39cc9dd --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterLoadBalancerProfileResponseOutboundIPs.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Desired outbound IP resources for the cluster load balancer. + /// + [OutputType] + public sealed class ManagedClusterLoadBalancerProfileResponseOutboundIPs + { + /// + /// A list of public IP resources. + /// + public readonly ImmutableArray PublicIPs; + + [OutputConstructor] + private ManagedClusterLoadBalancerProfileResponseOutboundIPs(ImmutableArray publicIPs) + { + PublicIPs = publicIPs; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterManagedOutboundIPProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterManagedOutboundIPProfileResponse.cs new file mode 100644 index 000000000000..e03fae305d09 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterManagedOutboundIPProfileResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Profile of the managed outbound IP resources of the managed cluster. + /// + [OutputType] + public sealed class ManagedClusterManagedOutboundIPProfileResponse + { + /// + /// The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + /// + public readonly int? Count; + + [OutputConstructor] + private ManagedClusterManagedOutboundIPProfileResponse(int? count) + { + Count = count; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterNATGatewayProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterNATGatewayProfileResponse.cs new file mode 100644 index 000000000000..be844c93ad71 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterNATGatewayProfileResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Profile of the managed cluster NAT gateway. + /// + [OutputType] + public sealed class ManagedClusterNATGatewayProfileResponse + { + /// + /// The effective outbound IP resources of the cluster NAT gateway. + /// + public readonly ImmutableArray EffectiveOutboundIPs; + /// + /// Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + /// + public readonly int? IdleTimeoutInMinutes; + /// + /// Profile of the managed outbound IP resources of the cluster NAT gateway. + /// + public readonly Outputs.ManagedClusterManagedOutboundIPProfileResponse? ManagedOutboundIPProfile; + + [OutputConstructor] + private ManagedClusterNATGatewayProfileResponse( + ImmutableArray effectiveOutboundIPs, + + int? idleTimeoutInMinutes, + + Outputs.ManagedClusterManagedOutboundIPProfileResponse? managedOutboundIPProfile) + { + EffectiveOutboundIPs = effectiveOutboundIPs; + IdleTimeoutInMinutes = idleTimeoutInMinutes; + ManagedOutboundIPProfile = managedOutboundIPProfile; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterOIDCIssuerProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterOIDCIssuerProfileResponse.cs new file mode 100644 index 000000000000..4333e1e76fa4 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterOIDCIssuerProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// The OIDC issuer profile of the Managed Cluster. + /// + [OutputType] + public sealed class ManagedClusterOIDCIssuerProfileResponse + { + /// + /// Whether the OIDC issuer is enabled. + /// + public readonly bool? Enabled; + /// + /// The OIDC issuer url of the Managed Cluster. + /// + public readonly string IssuerURL; + + [OutputConstructor] + private ManagedClusterOIDCIssuerProfileResponse( + bool? enabled, + + string issuerURL) + { + Enabled = enabled; + IssuerURL = issuerURL; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityExceptionResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityExceptionResponse.cs new file mode 100644 index 000000000000..4ee79018fb66 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityExceptionResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + /// + [OutputType] + public sealed class ManagedClusterPodIdentityExceptionResponse + { + /// + /// The name of the pod identity exception. + /// + public readonly string Name; + /// + /// The namespace of the pod identity exception. + /// + public readonly string Namespace; + /// + /// The pod labels to match. + /// + public readonly ImmutableDictionary PodLabels; + + [OutputConstructor] + private ManagedClusterPodIdentityExceptionResponse( + string name, + + string @namespace, + + ImmutableDictionary podLabels) + { + Name = name; + Namespace = @namespace; + PodLabels = podLabels; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityProfileResponse.cs new file mode 100644 index 000000000000..c7ac3ba2cdf0 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityProfileResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + /// + [OutputType] + public sealed class ManagedClusterPodIdentityProfileResponse + { + /// + /// Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. + /// + public readonly bool? AllowNetworkPluginKubenet; + /// + /// Whether the pod identity addon is enabled. + /// + public readonly bool? Enabled; + /// + /// The pod identities to use in the cluster. + /// + public readonly ImmutableArray UserAssignedIdentities; + /// + /// The pod identity exceptions to allow. + /// + public readonly ImmutableArray UserAssignedIdentityExceptions; + + [OutputConstructor] + private ManagedClusterPodIdentityProfileResponse( + bool? allowNetworkPluginKubenet, + + bool? enabled, + + ImmutableArray userAssignedIdentities, + + ImmutableArray userAssignedIdentityExceptions) + { + AllowNetworkPluginKubenet = allowNetworkPluginKubenet; + Enabled = enabled; + UserAssignedIdentities = userAssignedIdentities; + UserAssignedIdentityExceptions = userAssignedIdentityExceptions; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityProvisioningErrorBodyResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityProvisioningErrorBodyResponse.cs new file mode 100644 index 000000000000..0caa453f8fea --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityProvisioningErrorBodyResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// An error response from the pod identity provisioning. + /// + [OutputType] + public sealed class ManagedClusterPodIdentityProvisioningErrorBodyResponse + { + /// + /// An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + /// + public readonly string? Code; + /// + /// A list of additional details about the error. + /// + public readonly ImmutableArray Details; + /// + /// A message describing the error, intended to be suitable for display in a user interface. + /// + public readonly string? Message; + /// + /// The target of the particular error. For example, the name of the property in error. + /// + public readonly string? Target; + + [OutputConstructor] + private ManagedClusterPodIdentityProvisioningErrorBodyResponse( + string? code, + + ImmutableArray details, + + string? message, + + string? target) + { + Code = code; + Details = details; + Message = message; + Target = target; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityProvisioningErrorResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityProvisioningErrorResponse.cs new file mode 100644 index 000000000000..a22552503824 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityProvisioningErrorResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// An error response from the pod identity provisioning. + /// + [OutputType] + public sealed class ManagedClusterPodIdentityProvisioningErrorResponse + { + /// + /// Details about the error. + /// + public readonly Outputs.ManagedClusterPodIdentityProvisioningErrorBodyResponse? Error; + + [OutputConstructor] + private ManagedClusterPodIdentityProvisioningErrorResponse(Outputs.ManagedClusterPodIdentityProvisioningErrorBodyResponse? error) + { + Error = error; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityResponse.cs new file mode 100644 index 000000000000..52beb636708b --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityResponse.cs @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Details about the pod identity assigned to the Managed Cluster. + /// + [OutputType] + public sealed class ManagedClusterPodIdentityResponse + { + /// + /// The binding selector to use for the AzureIdentityBinding resource. + /// + public readonly string? BindingSelector; + /// + /// The user assigned identity details. + /// + public readonly Outputs.UserAssignedIdentityResponse Identity; + /// + /// The name of the pod identity. + /// + public readonly string Name; + /// + /// The namespace of the pod identity. + /// + public readonly string Namespace; + public readonly Outputs.ManagedClusterPodIdentityResponseProvisioningInfo ProvisioningInfo; + /// + /// The current provisioning state of the pod identity. + /// + public readonly string ProvisioningState; + + [OutputConstructor] + private ManagedClusterPodIdentityResponse( + string? bindingSelector, + + Outputs.UserAssignedIdentityResponse identity, + + string name, + + string @namespace, + + Outputs.ManagedClusterPodIdentityResponseProvisioningInfo provisioningInfo, + + string provisioningState) + { + BindingSelector = bindingSelector; + Identity = identity; + Name = name; + Namespace = @namespace; + ProvisioningInfo = provisioningInfo; + ProvisioningState = provisioningState; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityResponseProvisioningInfo.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityResponseProvisioningInfo.cs new file mode 100644 index 000000000000..17568252ef71 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPodIdentityResponseProvisioningInfo.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + [OutputType] + public sealed class ManagedClusterPodIdentityResponseProvisioningInfo + { + /// + /// Pod identity assignment error (if any). + /// + public readonly Outputs.ManagedClusterPodIdentityProvisioningErrorResponse? Error; + + [OutputConstructor] + private ManagedClusterPodIdentityResponseProvisioningInfo(Outputs.ManagedClusterPodIdentityProvisioningErrorResponse? error) + { + Error = error; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPropertiesResponseAutoScalerProfile.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPropertiesResponseAutoScalerProfile.cs new file mode 100644 index 000000000000..82ff66accfbe --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterPropertiesResponseAutoScalerProfile.cs @@ -0,0 +1,143 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Parameters to be applied to the cluster-autoscaler when enabled + /// + [OutputType] + public sealed class ManagedClusterPropertiesResponseAutoScalerProfile + { + /// + /// Valid values are 'true' and 'false' + /// + public readonly string? BalanceSimilarNodeGroups; + /// + /// If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + /// + public readonly string? Expander; + /// + /// The default is 10. + /// + public readonly string? MaxEmptyBulkDelete; + /// + /// The default is 600. + /// + public readonly string? MaxGracefulTerminationSec; + /// + /// The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + /// + public readonly string? MaxNodeProvisionTime; + /// + /// The default is 45. The maximum is 100 and the minimum is 0. + /// + public readonly string? MaxTotalUnreadyPercentage; + /// + /// For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + /// + public readonly string? NewPodScaleUpDelay; + /// + /// This must be an integer. The default is 3. + /// + public readonly string? OkTotalUnreadyCount; + /// + /// The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + /// + public readonly string? ScaleDownDelayAfterAdd; + /// + /// The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + /// + public readonly string? ScaleDownDelayAfterDelete; + /// + /// The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + /// + public readonly string? ScaleDownDelayAfterFailure; + /// + /// The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + /// + public readonly string? ScaleDownUnneededTime; + /// + /// The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + /// + public readonly string? ScaleDownUnreadyTime; + /// + /// The default is '0.5'. + /// + public readonly string? ScaleDownUtilizationThreshold; + /// + /// The default is '10'. Values must be an integer number of seconds. + /// + public readonly string? ScanInterval; + /// + /// The default is true. + /// + public readonly string? SkipNodesWithLocalStorage; + /// + /// The default is true. + /// + public readonly string? SkipNodesWithSystemPods; + + [OutputConstructor] + private ManagedClusterPropertiesResponseAutoScalerProfile( + string? balanceSimilarNodeGroups, + + string? expander, + + string? maxEmptyBulkDelete, + + string? maxGracefulTerminationSec, + + string? maxNodeProvisionTime, + + string? maxTotalUnreadyPercentage, + + string? newPodScaleUpDelay, + + string? okTotalUnreadyCount, + + string? scaleDownDelayAfterAdd, + + string? scaleDownDelayAfterDelete, + + string? scaleDownDelayAfterFailure, + + string? scaleDownUnneededTime, + + string? scaleDownUnreadyTime, + + string? scaleDownUtilizationThreshold, + + string? scanInterval, + + string? skipNodesWithLocalStorage, + + string? skipNodesWithSystemPods) + { + BalanceSimilarNodeGroups = balanceSimilarNodeGroups; + Expander = expander; + MaxEmptyBulkDelete = maxEmptyBulkDelete; + MaxGracefulTerminationSec = maxGracefulTerminationSec; + MaxNodeProvisionTime = maxNodeProvisionTime; + MaxTotalUnreadyPercentage = maxTotalUnreadyPercentage; + NewPodScaleUpDelay = newPodScaleUpDelay; + OkTotalUnreadyCount = okTotalUnreadyCount; + ScaleDownDelayAfterAdd = scaleDownDelayAfterAdd; + ScaleDownDelayAfterDelete = scaleDownDelayAfterDelete; + ScaleDownDelayAfterFailure = scaleDownDelayAfterFailure; + ScaleDownUnneededTime = scaleDownUnneededTime; + ScaleDownUnreadyTime = scaleDownUnreadyTime; + ScaleDownUtilizationThreshold = scaleDownUtilizationThreshold; + ScanInterval = scanInterval; + SkipNodesWithLocalStorage = skipNodesWithLocalStorage; + SkipNodesWithSystemPods = skipNodesWithSystemPods; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSKUResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSKUResponse.cs new file mode 100644 index 000000000000..a03c1dc11b23 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSKUResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// The SKU of a Managed Cluster. + /// + [OutputType] + public sealed class ManagedClusterSKUResponse + { + /// + /// The name of a managed cluster SKU. + /// + public readonly string? Name; + /// + /// If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + /// + public readonly string? Tier; + + [OutputConstructor] + private ManagedClusterSKUResponse( + string? name, + + string? tier) + { + Name = name; + Tier = tier; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileDefenderResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileDefenderResponse.cs new file mode 100644 index 000000000000..246b1ce252bb --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileDefenderResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Microsoft Defender settings for the security profile. + /// + [OutputType] + public sealed class ManagedClusterSecurityProfileDefenderResponse + { + /// + /// Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + /// + public readonly string? LogAnalyticsWorkspaceResourceId; + /// + /// Microsoft Defender threat detection for Cloud settings for the security profile. + /// + public readonly Outputs.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse? SecurityMonitoring; + + [OutputConstructor] + private ManagedClusterSecurityProfileDefenderResponse( + string? logAnalyticsWorkspaceResourceId, + + Outputs.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse? securityMonitoring) + { + LogAnalyticsWorkspaceResourceId = logAnalyticsWorkspaceResourceId; + SecurityMonitoring = securityMonitoring; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse.cs new file mode 100644 index 000000000000..4a67da8c8622 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Microsoft Defender settings for the security profile threat detection. + /// + [OutputType] + public sealed class ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse + { + /// + /// Whether to enable Defender threat detection + /// + public readonly bool? Enabled; + + [OutputConstructor] + private ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileImageCleanerResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileImageCleanerResponse.cs new file mode 100644 index 000000000000..4e400ac2c417 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileImageCleanerResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. + /// + [OutputType] + public sealed class ManagedClusterSecurityProfileImageCleanerResponse + { + /// + /// Whether to enable Image Cleaner on AKS cluster. + /// + public readonly bool? Enabled; + /// + /// Image Cleaner scanning interval in hours. + /// + public readonly int? IntervalHours; + + [OutputConstructor] + private ManagedClusterSecurityProfileImageCleanerResponse( + bool? enabled, + + int? intervalHours) + { + Enabled = enabled; + IntervalHours = intervalHours; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileResponse.cs new file mode 100644 index 000000000000..c904a2152dce --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Security profile for the container service cluster. + /// + [OutputType] + public sealed class ManagedClusterSecurityProfileResponse + { + /// + /// Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + /// + public readonly Outputs.AzureKeyVaultKmsResponse? AzureKeyVaultKms; + /// + /// Microsoft Defender settings for the security profile. + /// + public readonly Outputs.ManagedClusterSecurityProfileDefenderResponse? Defender; + /// + /// Image Cleaner settings for the security profile. + /// + public readonly Outputs.ManagedClusterSecurityProfileImageCleanerResponse? ImageCleaner; + /// + /// Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + /// + public readonly Outputs.ManagedClusterSecurityProfileWorkloadIdentityResponse? WorkloadIdentity; + + [OutputConstructor] + private ManagedClusterSecurityProfileResponse( + Outputs.AzureKeyVaultKmsResponse? azureKeyVaultKms, + + Outputs.ManagedClusterSecurityProfileDefenderResponse? defender, + + Outputs.ManagedClusterSecurityProfileImageCleanerResponse? imageCleaner, + + Outputs.ManagedClusterSecurityProfileWorkloadIdentityResponse? workloadIdentity) + { + AzureKeyVaultKms = azureKeyVaultKms; + Defender = defender; + ImageCleaner = imageCleaner; + WorkloadIdentity = workloadIdentity; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileWorkloadIdentityResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileWorkloadIdentityResponse.cs new file mode 100644 index 000000000000..5020b15f2d7a --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterSecurityProfileWorkloadIdentityResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Workload identity settings for the security profile. + /// + [OutputType] + public sealed class ManagedClusterSecurityProfileWorkloadIdentityResponse + { + /// + /// Whether to enable workload identity. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private ManagedClusterSecurityProfileWorkloadIdentityResponse(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterServicePrincipalProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterServicePrincipalProfileResponse.cs new file mode 100644 index 000000000000..391e3db983a6 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterServicePrincipalProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Information about a service principal identity for the cluster to use for manipulating Azure APIs. + /// + [OutputType] + public sealed class ManagedClusterServicePrincipalProfileResponse + { + /// + /// The ID for the service principal. + /// + public readonly string ClientId; + /// + /// The secret password associated with the service principal in plain text. + /// + public readonly string? Secret; + + [OutputConstructor] + private ManagedClusterServicePrincipalProfileResponse( + string clientId, + + string? secret) + { + ClientId = clientId; + Secret = secret; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileBlobCSIDriverResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileBlobCSIDriverResponse.cs new file mode 100644 index 000000000000..920a6c3c5219 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileBlobCSIDriverResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// AzureBlob CSI Driver settings for the storage profile. + /// + [OutputType] + public sealed class ManagedClusterStorageProfileBlobCSIDriverResponse + { + /// + /// Whether to enable AzureBlob CSI Driver. The default value is false. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private ManagedClusterStorageProfileBlobCSIDriverResponse(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileDiskCSIDriverResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileDiskCSIDriverResponse.cs new file mode 100644 index 000000000000..775d150f2d77 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileDiskCSIDriverResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// AzureDisk CSI Driver settings for the storage profile. + /// + [OutputType] + public sealed class ManagedClusterStorageProfileDiskCSIDriverResponse + { + /// + /// Whether to enable AzureDisk CSI Driver. The default value is true. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private ManagedClusterStorageProfileDiskCSIDriverResponse(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileFileCSIDriverResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileFileCSIDriverResponse.cs new file mode 100644 index 000000000000..b7a0b167f465 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileFileCSIDriverResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// AzureFile CSI Driver settings for the storage profile. + /// + [OutputType] + public sealed class ManagedClusterStorageProfileFileCSIDriverResponse + { + /// + /// Whether to enable AzureFile CSI Driver. The default value is true. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private ManagedClusterStorageProfileFileCSIDriverResponse(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileResponse.cs new file mode 100644 index 000000000000..da6556e3dbb6 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Storage profile for the container service cluster. + /// + [OutputType] + public sealed class ManagedClusterStorageProfileResponse + { + /// + /// AzureBlob CSI Driver settings for the storage profile. + /// + public readonly Outputs.ManagedClusterStorageProfileBlobCSIDriverResponse? BlobCSIDriver; + /// + /// AzureDisk CSI Driver settings for the storage profile. + /// + public readonly Outputs.ManagedClusterStorageProfileDiskCSIDriverResponse? DiskCSIDriver; + /// + /// AzureFile CSI Driver settings for the storage profile. + /// + public readonly Outputs.ManagedClusterStorageProfileFileCSIDriverResponse? FileCSIDriver; + /// + /// Snapshot Controller settings for the storage profile. + /// + public readonly Outputs.ManagedClusterStorageProfileSnapshotControllerResponse? SnapshotController; + + [OutputConstructor] + private ManagedClusterStorageProfileResponse( + Outputs.ManagedClusterStorageProfileBlobCSIDriverResponse? blobCSIDriver, + + Outputs.ManagedClusterStorageProfileDiskCSIDriverResponse? diskCSIDriver, + + Outputs.ManagedClusterStorageProfileFileCSIDriverResponse? fileCSIDriver, + + Outputs.ManagedClusterStorageProfileSnapshotControllerResponse? snapshotController) + { + BlobCSIDriver = blobCSIDriver; + DiskCSIDriver = diskCSIDriver; + FileCSIDriver = fileCSIDriver; + SnapshotController = snapshotController; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileSnapshotControllerResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileSnapshotControllerResponse.cs new file mode 100644 index 000000000000..8470795a025c --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterStorageProfileSnapshotControllerResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Snapshot Controller settings for the storage profile. + /// + [OutputType] + public sealed class ManagedClusterStorageProfileSnapshotControllerResponse + { + /// + /// Whether to enable Snapshot Controller. The default value is true. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private ManagedClusterStorageProfileSnapshotControllerResponse(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterWindowsProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterWindowsProfileResponse.cs new file mode 100644 index 000000000000..518d23995ff8 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterWindowsProfileResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Profile for Windows VMs in the managed cluster. + /// + [OutputType] + public sealed class ManagedClusterWindowsProfileResponse + { + /// + /// Specifies the password of the administrator account. <br><br> **Minimum-length:** 8 characters <br><br> **Max-length:** 123 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\W_]) <br><br> **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + /// + public readonly string? AdminPassword; + /// + /// Specifies the name of the administrator account. <br><br> **Restriction:** Cannot end in "." <br><br> **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". <br><br> **Minimum-length:** 1 character <br><br> **Max-length:** 20 characters + /// + public readonly string AdminUsername; + /// + /// For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + /// + public readonly bool? EnableCSIProxy; + /// + /// The Windows gMSA Profile in the Managed Cluster. + /// + public readonly Outputs.WindowsGmsaProfileResponse? GmsaProfile; + /// + /// The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + /// + public readonly string? LicenseType; + + [OutputConstructor] + private ManagedClusterWindowsProfileResponse( + string? adminPassword, + + string adminUsername, + + bool? enableCSIProxy, + + Outputs.WindowsGmsaProfileResponse? gmsaProfile, + + string? licenseType) + { + AdminPassword = adminPassword; + AdminUsername = adminUsername; + EnableCSIProxy = enableCSIProxy; + GmsaProfile = gmsaProfile; + LicenseType = licenseType; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterWorkloadAutoScalerProfileKedaResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterWorkloadAutoScalerProfileKedaResponse.cs new file mode 100644 index 000000000000..b611c65caa0c --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterWorkloadAutoScalerProfileKedaResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + /// + [OutputType] + public sealed class ManagedClusterWorkloadAutoScalerProfileKedaResponse + { + /// + /// Whether to enable KEDA. + /// + public readonly bool Enabled; + + [OutputConstructor] + private ManagedClusterWorkloadAutoScalerProfileKedaResponse(bool enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterWorkloadAutoScalerProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterWorkloadAutoScalerProfileResponse.cs new file mode 100644 index 000000000000..69ac4e5311e3 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterWorkloadAutoScalerProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Workload Auto-scaler profile for the managed cluster. + /// + [OutputType] + public sealed class ManagedClusterWorkloadAutoScalerProfileResponse + { + /// + /// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + /// + public readonly Outputs.ManagedClusterWorkloadAutoScalerProfileKedaResponse? Keda; + /// + /// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + /// + public readonly Outputs.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse? VerticalPodAutoscaler; + + [OutputConstructor] + private ManagedClusterWorkloadAutoScalerProfileResponse( + Outputs.ManagedClusterWorkloadAutoScalerProfileKedaResponse? keda, + + Outputs.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse? verticalPodAutoscaler) + { + Keda = keda; + VerticalPodAutoscaler = verticalPodAutoscaler; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse.cs new file mode 100644 index 000000000000..496461d98290 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + /// + [OutputType] + public sealed class ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse + { + /// + /// Whether to enable VPA. Default value is false. + /// + public readonly bool Enabled; + + [OutputConstructor] + private ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse(bool enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/PowerStateResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/PowerStateResponse.cs new file mode 100644 index 000000000000..88e7bcb80112 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/PowerStateResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Describes the Power State of the cluster + /// + [OutputType] + public sealed class PowerStateResponse + { + /// + /// Tells whether the cluster is Running or Stopped + /// + public readonly string? Code; + + [OutputConstructor] + private PowerStateResponse(string? code) + { + Code = code; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/PrivateEndpointResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/PrivateEndpointResponse.cs new file mode 100644 index 000000000000..5bee8dca6fd5 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/PrivateEndpointResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Private endpoint which a connection belongs to. + /// + [OutputType] + public sealed class PrivateEndpointResponse + { + /// + /// The resource ID of the private endpoint + /// + public readonly string? Id; + + [OutputConstructor] + private PrivateEndpointResponse(string? id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/PrivateLinkResourceResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/PrivateLinkResourceResponse.cs new file mode 100644 index 000000000000..9396379b4583 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/PrivateLinkResourceResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// A private link resource + /// + [OutputType] + public sealed class PrivateLinkResourceResponse + { + /// + /// The group ID of the resource. + /// + public readonly string? GroupId; + /// + /// The ID of the private link resource. + /// + public readonly string? Id; + /// + /// The name of the private link resource. + /// + public readonly string? Name; + /// + /// The private link service ID of the resource, this field is exposed only to NRP internally. + /// + public readonly string PrivateLinkServiceID; + /// + /// The RequiredMembers of the resource + /// + public readonly ImmutableArray RequiredMembers; + /// + /// The resource type. + /// + public readonly string? Type; + + [OutputConstructor] + private PrivateLinkResourceResponse( + string? groupId, + + string? id, + + string? name, + + string privateLinkServiceID, + + ImmutableArray requiredMembers, + + string? type) + { + GroupId = groupId; + Id = id; + Name = name; + PrivateLinkServiceID = privateLinkServiceID; + RequiredMembers = requiredMembers; + Type = type; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/PrivateLinkServiceConnectionStateResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/PrivateLinkServiceConnectionStateResponse.cs new file mode 100644 index 000000000000..b2733c581905 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/PrivateLinkServiceConnectionStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// The state of a private link service connection. + /// + [OutputType] + public sealed class PrivateLinkServiceConnectionStateResponse + { + /// + /// The private link service connection description. + /// + public readonly string? Description; + /// + /// The private link service connection status. + /// + public readonly string? Status; + + [OutputConstructor] + private PrivateLinkServiceConnectionStateResponse( + string? description, + + string? status) + { + Description = description; + Status = status; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/RelativeMonthlyScheduleResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/RelativeMonthlyScheduleResponse.cs new file mode 100644 index 000000000000..b1edba567920 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/RelativeMonthlyScheduleResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + /// + [OutputType] + public sealed class RelativeMonthlyScheduleResponse + { + /// + /// Specifies on which day of the week the maintenance occurs. + /// + public readonly string DayOfWeek; + /// + /// Specifies the number of months between each set of occurrences. + /// + public readonly int IntervalMonths; + /// + /// Specifies on which week of the month the dayOfWeek applies. + /// + public readonly string WeekIndex; + + [OutputConstructor] + private RelativeMonthlyScheduleResponse( + string dayOfWeek, + + int intervalMonths, + + string weekIndex) + { + DayOfWeek = dayOfWeek; + IntervalMonths = intervalMonths; + WeekIndex = weekIndex; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ResourceReferenceResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ResourceReferenceResponse.cs new file mode 100644 index 000000000000..c53728416b33 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ResourceReferenceResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// A reference to an Azure resource. + /// + [OutputType] + public sealed class ResourceReferenceResponse + { + /// + /// The fully qualified Azure resource id. + /// + public readonly string? Id; + + [OutputConstructor] + private ResourceReferenceResponse(string? id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/ScheduleResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/ScheduleResponse.cs new file mode 100644 index 000000000000..b10d94a1c857 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/ScheduleResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. + /// + [OutputType] + public sealed class ScheduleResponse + { + /// + /// For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + /// + public readonly Outputs.AbsoluteMonthlyScheduleResponse? AbsoluteMonthly; + /// + /// For schedules like: 'recur every day' or 'recur every 3 days'. + /// + public readonly Outputs.DailyScheduleResponse? Daily; + /// + /// For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + /// + public readonly Outputs.RelativeMonthlyScheduleResponse? RelativeMonthly; + /// + /// For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + /// + public readonly Outputs.WeeklyScheduleResponse? Weekly; + + [OutputConstructor] + private ScheduleResponse( + Outputs.AbsoluteMonthlyScheduleResponse? absoluteMonthly, + + Outputs.DailyScheduleResponse? daily, + + Outputs.RelativeMonthlyScheduleResponse? relativeMonthly, + + Outputs.WeeklyScheduleResponse? weekly) + { + AbsoluteMonthly = absoluteMonthly; + Daily = daily; + RelativeMonthly = relativeMonthly; + Weekly = weekly; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/SysctlConfigResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/SysctlConfigResponse.cs new file mode 100644 index 000000000000..196b5a160d2f --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/SysctlConfigResponse.cs @@ -0,0 +1,220 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Sysctl settings for Linux agent nodes. + /// + [OutputType] + public sealed class SysctlConfigResponse + { + /// + /// Sysctl setting fs.aio-max-nr. + /// + public readonly int? FsAioMaxNr; + /// + /// Sysctl setting fs.file-max. + /// + public readonly int? FsFileMax; + /// + /// Sysctl setting fs.inotify.max_user_watches. + /// + public readonly int? FsInotifyMaxUserWatches; + /// + /// Sysctl setting fs.nr_open. + /// + public readonly int? FsNrOpen; + /// + /// Sysctl setting kernel.threads-max. + /// + public readonly int? KernelThreadsMax; + /// + /// Sysctl setting net.core.netdev_max_backlog. + /// + public readonly int? NetCoreNetdevMaxBacklog; + /// + /// Sysctl setting net.core.optmem_max. + /// + public readonly int? NetCoreOptmemMax; + /// + /// Sysctl setting net.core.rmem_default. + /// + public readonly int? NetCoreRmemDefault; + /// + /// Sysctl setting net.core.rmem_max. + /// + public readonly int? NetCoreRmemMax; + /// + /// Sysctl setting net.core.somaxconn. + /// + public readonly int? NetCoreSomaxconn; + /// + /// Sysctl setting net.core.wmem_default. + /// + public readonly int? NetCoreWmemDefault; + /// + /// Sysctl setting net.core.wmem_max. + /// + public readonly int? NetCoreWmemMax; + /// + /// Sysctl setting net.ipv4.ip_local_port_range. + /// + public readonly string? NetIpv4IpLocalPortRange; + /// + /// Sysctl setting net.ipv4.neigh.default.gc_thresh1. + /// + public readonly int? NetIpv4NeighDefaultGcThresh1; + /// + /// Sysctl setting net.ipv4.neigh.default.gc_thresh2. + /// + public readonly int? NetIpv4NeighDefaultGcThresh2; + /// + /// Sysctl setting net.ipv4.neigh.default.gc_thresh3. + /// + public readonly int? NetIpv4NeighDefaultGcThresh3; + /// + /// Sysctl setting net.ipv4.tcp_fin_timeout. + /// + public readonly int? NetIpv4TcpFinTimeout; + /// + /// Sysctl setting net.ipv4.tcp_keepalive_probes. + /// + public readonly int? NetIpv4TcpKeepaliveProbes; + /// + /// Sysctl setting net.ipv4.tcp_keepalive_time. + /// + public readonly int? NetIpv4TcpKeepaliveTime; + /// + /// Sysctl setting net.ipv4.tcp_max_syn_backlog. + /// + public readonly int? NetIpv4TcpMaxSynBacklog; + /// + /// Sysctl setting net.ipv4.tcp_max_tw_buckets. + /// + public readonly int? NetIpv4TcpMaxTwBuckets; + /// + /// Sysctl setting net.ipv4.tcp_tw_reuse. + /// + public readonly bool? NetIpv4TcpTwReuse; + /// + /// Sysctl setting net.ipv4.tcp_keepalive_intvl. + /// + public readonly int? NetIpv4TcpkeepaliveIntvl; + /// + /// Sysctl setting net.netfilter.nf_conntrack_buckets. + /// + public readonly int? NetNetfilterNfConntrackBuckets; + /// + /// Sysctl setting net.netfilter.nf_conntrack_max. + /// + public readonly int? NetNetfilterNfConntrackMax; + /// + /// Sysctl setting vm.max_map_count. + /// + public readonly int? VmMaxMapCount; + /// + /// Sysctl setting vm.swappiness. + /// + public readonly int? VmSwappiness; + /// + /// Sysctl setting vm.vfs_cache_pressure. + /// + public readonly int? VmVfsCachePressure; + + [OutputConstructor] + private SysctlConfigResponse( + int? fsAioMaxNr, + + int? fsFileMax, + + int? fsInotifyMaxUserWatches, + + int? fsNrOpen, + + int? kernelThreadsMax, + + int? netCoreNetdevMaxBacklog, + + int? netCoreOptmemMax, + + int? netCoreRmemDefault, + + int? netCoreRmemMax, + + int? netCoreSomaxconn, + + int? netCoreWmemDefault, + + int? netCoreWmemMax, + + string? netIpv4IpLocalPortRange, + + int? netIpv4NeighDefaultGcThresh1, + + int? netIpv4NeighDefaultGcThresh2, + + int? netIpv4NeighDefaultGcThresh3, + + int? netIpv4TcpFinTimeout, + + int? netIpv4TcpKeepaliveProbes, + + int? netIpv4TcpKeepaliveTime, + + int? netIpv4TcpMaxSynBacklog, + + int? netIpv4TcpMaxTwBuckets, + + bool? netIpv4TcpTwReuse, + + int? netIpv4TcpkeepaliveIntvl, + + int? netNetfilterNfConntrackBuckets, + + int? netNetfilterNfConntrackMax, + + int? vmMaxMapCount, + + int? vmSwappiness, + + int? vmVfsCachePressure) + { + FsAioMaxNr = fsAioMaxNr; + FsFileMax = fsFileMax; + FsInotifyMaxUserWatches = fsInotifyMaxUserWatches; + FsNrOpen = fsNrOpen; + KernelThreadsMax = kernelThreadsMax; + NetCoreNetdevMaxBacklog = netCoreNetdevMaxBacklog; + NetCoreOptmemMax = netCoreOptmemMax; + NetCoreRmemDefault = netCoreRmemDefault; + NetCoreRmemMax = netCoreRmemMax; + NetCoreSomaxconn = netCoreSomaxconn; + NetCoreWmemDefault = netCoreWmemDefault; + NetCoreWmemMax = netCoreWmemMax; + NetIpv4IpLocalPortRange = netIpv4IpLocalPortRange; + NetIpv4NeighDefaultGcThresh1 = netIpv4NeighDefaultGcThresh1; + NetIpv4NeighDefaultGcThresh2 = netIpv4NeighDefaultGcThresh2; + NetIpv4NeighDefaultGcThresh3 = netIpv4NeighDefaultGcThresh3; + NetIpv4TcpFinTimeout = netIpv4TcpFinTimeout; + NetIpv4TcpKeepaliveProbes = netIpv4TcpKeepaliveProbes; + NetIpv4TcpKeepaliveTime = netIpv4TcpKeepaliveTime; + NetIpv4TcpMaxSynBacklog = netIpv4TcpMaxSynBacklog; + NetIpv4TcpMaxTwBuckets = netIpv4TcpMaxTwBuckets; + NetIpv4TcpTwReuse = netIpv4TcpTwReuse; + NetIpv4TcpkeepaliveIntvl = netIpv4TcpkeepaliveIntvl; + NetNetfilterNfConntrackBuckets = netNetfilterNfConntrackBuckets; + NetNetfilterNfConntrackMax = netNetfilterNfConntrackMax; + VmMaxMapCount = vmMaxMapCount; + VmSwappiness = vmSwappiness; + VmVfsCachePressure = vmVfsCachePressure; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/SystemDataResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..b7f2bc54f7cd --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC). + /// + public readonly string? CreatedAt; + /// + /// The identity that created the resource. + /// + public readonly string? CreatedBy; + /// + /// The type of identity that created the resource. + /// + public readonly string? CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string? LastModifiedAt; + /// + /// The identity that last modified the resource. + /// + public readonly string? LastModifiedBy; + /// + /// The type of identity that last modified the resource. + /// + public readonly string? LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string? createdAt, + + string? createdBy, + + string? createdByType, + + string? lastModifiedAt, + + string? lastModifiedBy, + + string? lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/TimeInWeekResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/TimeInWeekResponse.cs new file mode 100644 index 000000000000..7d494baa9fa5 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/TimeInWeekResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Time in a week. + /// + [OutputType] + public sealed class TimeInWeekResponse + { + /// + /// The day of the week. + /// + public readonly string? Day; + /// + /// Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + /// + public readonly ImmutableArray HourSlots; + + [OutputConstructor] + private TimeInWeekResponse( + string? day, + + ImmutableArray hourSlots) + { + Day = day; + HourSlots = hourSlots; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/TimeSpanResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/TimeSpanResponse.cs new file mode 100644 index 000000000000..39dca3ac6d8c --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/TimeSpanResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + /// + [OutputType] + public sealed class TimeSpanResponse + { + /// + /// The end of a time span + /// + public readonly string? End; + /// + /// The start of a time span + /// + public readonly string? Start; + + [OutputConstructor] + private TimeSpanResponse( + string? end, + + string? start) + { + End = end; + Start = start; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/UpgradeOverrideSettingsResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/UpgradeOverrideSettingsResponse.cs new file mode 100644 index 000000000000..b3769bdbdd14 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/UpgradeOverrideSettingsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Settings for overrides when upgrading a cluster. + /// + [OutputType] + public sealed class UpgradeOverrideSettingsResponse + { + /// + /// Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. + /// + public readonly bool? ForceUpgrade; + /// + /// Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. + /// + public readonly string? Until; + + [OutputConstructor] + private UpgradeOverrideSettingsResponse( + bool? forceUpgrade, + + string? until) + { + ForceUpgrade = forceUpgrade; + Until = until; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/UserAssignedIdentityResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/UserAssignedIdentityResponse.cs new file mode 100644 index 000000000000..7155fdfc3c06 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/UserAssignedIdentityResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Details about a user assigned identity. + /// + [OutputType] + public sealed class UserAssignedIdentityResponse + { + /// + /// The client ID of the user assigned identity. + /// + public readonly string? ClientId; + /// + /// The object ID of the user assigned identity. + /// + public readonly string? ObjectId; + /// + /// The resource ID of the user assigned identity. + /// + public readonly string? ResourceId; + + [OutputConstructor] + private UserAssignedIdentityResponse( + string? clientId, + + string? objectId, + + string? resourceId) + { + ClientId = clientId; + ObjectId = objectId; + ResourceId = resourceId; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/WeeklyScheduleResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/WeeklyScheduleResponse.cs new file mode 100644 index 000000000000..ce1d965bf54c --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/WeeklyScheduleResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + /// + [OutputType] + public sealed class WeeklyScheduleResponse + { + /// + /// Specifies on which day of the week the maintenance occurs. + /// + public readonly string DayOfWeek; + /// + /// Specifies the number of weeks between each set of occurrences. + /// + public readonly int IntervalWeeks; + + [OutputConstructor] + private WeeklyScheduleResponse( + string dayOfWeek, + + int intervalWeeks) + { + DayOfWeek = dayOfWeek; + IntervalWeeks = intervalWeeks; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/Outputs/WindowsGmsaProfileResponse.cs b/sdk/dotnet/ContainerService/V20230701/Outputs/WindowsGmsaProfileResponse.cs new file mode 100644 index 000000000000..cd393a95ea00 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Outputs/WindowsGmsaProfileResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701.Outputs +{ + + /// + /// Windows gMSA Profile in the managed cluster. + /// + [OutputType] + public sealed class WindowsGmsaProfileResponse + { + /// + /// Specifies the DNS server for Windows gMSA. <br><br> Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + /// + public readonly string? DnsServer; + /// + /// Specifies whether to enable Windows gMSA in the managed cluster. + /// + public readonly bool? Enabled; + /// + /// Specifies the root domain name for Windows gMSA. <br><br> Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + /// + public readonly string? RootDomainName; + + [OutputConstructor] + private WindowsGmsaProfileResponse( + string? dnsServer, + + bool? enabled, + + string? rootDomainName) + { + DnsServer = dnsServer; + Enabled = enabled; + RootDomainName = rootDomainName; + } + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/PrivateEndpointConnection.cs b/sdk/dotnet/ContainerService/V20230701/PrivateEndpointConnection.cs new file mode 100644 index 000000000000..1bd7d39ecacc --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/PrivateEndpointConnection.cs @@ -0,0 +1,177 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + /// + /// A private endpoint connection + /// + [AzureNativeResourceType("azure-native:containerservice/v20230701:PrivateEndpointConnection")] + public partial class PrivateEndpointConnection : global::Pulumi.CustomResource + { + /// + /// The name of the private endpoint connection. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The resource of private endpoint. + /// + [Output("privateEndpoint")] + public Output PrivateEndpoint { get; private set; } = null!; + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + [Output("privateLinkServiceConnectionState")] + public Output PrivateLinkServiceConnectionState { get; private set; } = null!; + + /// + /// The current provisioning state. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// The resource type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a PrivateEndpointConnection resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public PrivateEndpointConnection(string name, PrivateEndpointConnectionArgs args, CustomResourceOptions? options = null) + : base("azure-native:containerservice/v20230701:PrivateEndpointConnection", name, args ?? new PrivateEndpointConnectionArgs(), MakeResourceOptions(options, "")) + { + } + + private PrivateEndpointConnection(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:containerservice/v20230701:PrivateEndpointConnection", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:containerservice:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200601:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200701:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20200901:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20201101:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20201201:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210201:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210301:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210501:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210701:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210801:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210901:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20211001:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20211101preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220101:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220102preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220201:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220202preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220301:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220302preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220401:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220402preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220502preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220601:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220602preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220701:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220702preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220802preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220803preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220901:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220902preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221002preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221101:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221102preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230101:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230102preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230201:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230202preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230301:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230302preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230401:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230402preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:PrivateEndpointConnection"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:PrivateEndpointConnection"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing PrivateEndpointConnection resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static PrivateEndpointConnection Get(string name, Input id, CustomResourceOptions? options = null) + { + return new PrivateEndpointConnection(name, id, options); + } + } + + public sealed class PrivateEndpointConnectionArgs : global::Pulumi.ResourceArgs + { + /// + /// The resource of private endpoint. + /// + [Input("privateEndpoint")] + public Input? PrivateEndpoint { get; set; } + + /// + /// The name of the private endpoint connection. + /// + [Input("privateEndpointConnectionName")] + public Input? PrivateEndpointConnectionName { get; set; } + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + [Input("privateLinkServiceConnectionState", required: true)] + public Input PrivateLinkServiceConnectionState { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName", required: true)] + public Input ResourceName { get; set; } = null!; + + public PrivateEndpointConnectionArgs() + { + } + public static new PrivateEndpointConnectionArgs Empty => new PrivateEndpointConnectionArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/V20230701/README.md b/sdk/dotnet/ContainerService/V20230701/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/ContainerService/V20230701/Snapshot.cs b/sdk/dotnet/ContainerService/V20230701/Snapshot.cs new file mode 100644 index 000000000000..3aa9b5214e20 --- /dev/null +++ b/sdk/dotnet/ContainerService/V20230701/Snapshot.cs @@ -0,0 +1,228 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerService.V20230701 +{ + /// + /// A node pool snapshot resource. + /// + [AzureNativeResourceType("azure-native:containerservice/v20230701:Snapshot")] + public partial class Snapshot : global::Pulumi.CustomResource + { + /// + /// CreationData to be used to specify the source agent pool resource ID to create this snapshot. + /// + [Output("creationData")] + public Output CreationData { get; private set; } = null!; + + /// + /// Whether to use a FIPS-enabled OS. + /// + [Output("enableFIPS")] + public Output EnableFIPS { get; private set; } = null!; + + /// + /// The version of Kubernetes. + /// + [Output("kubernetesVersion")] + public Output KubernetesVersion { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The version of node image. + /// + [Output("nodeImageVersion")] + public Output NodeImageVersion { get; private set; } = null!; + + /// + /// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + /// + [Output("osSku")] + public Output OsSku { get; private set; } = null!; + + /// + /// The operating system type. The default is Linux. + /// + [Output("osType")] + public Output OsType { get; private set; } = null!; + + /// + /// The type of a snapshot. The default is NodePool. + /// + [Output("snapshotType")] + public Output SnapshotType { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// The size of the VM. + /// + [Output("vmSize")] + public Output VmSize { get; private set; } = null!; + + + /// + /// Create a Snapshot resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Snapshot(string name, SnapshotArgs args, CustomResourceOptions? options = null) + : base("azure-native:containerservice/v20230701:Snapshot", name, args ?? new SnapshotArgs(), MakeResourceOptions(options, "")) + { + } + + private Snapshot(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:containerservice/v20230701:Snapshot", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:containerservice:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210801:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20210901:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20211001:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20211101preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220101:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220102preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220201:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220202preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220301:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220302preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220401:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220402preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220502preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220601:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220602preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220701:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220702preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220802preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220803preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220901:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20220902preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221002preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221101:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20221102preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230101:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230102preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230201:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230202preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230301:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230302preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230401:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230402preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230501:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230502preview:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230601:Snapshot"}, + new global::Pulumi.Alias { Type = "azure-native:containerservice/v20230602preview:Snapshot"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Snapshot resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Snapshot Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Snapshot(name, id, options); + } + } + + public sealed class SnapshotArgs : global::Pulumi.ResourceArgs + { + /// + /// CreationData to be used to specify the source agent pool resource ID to create this snapshot. + /// + [Input("creationData")] + public Input? CreationData { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the managed cluster resource. + /// + [Input("resourceName")] + public Input? ResourceName { get; set; } + + /// + /// The type of a snapshot. The default is NodePool. + /// + [Input("snapshotType")] + public InputUnion? SnapshotType { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public SnapshotArgs() + { + } + public static new SnapshotArgs Empty => new SnapshotArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/Enums.cs b/sdk/dotnet/ContainerStorage/Enums.cs index cd44fe4a6a2d..fb826468a5e6 100644 --- a/sdk/dotnet/ContainerStorage/Enums.cs +++ b/sdk/dotnet/ContainerStorage/Enums.cs @@ -8,7 +8,134 @@ namespace Pulumi.AzureNative.ContainerStorage { /// - /// Reclaim Policy, Delete or Retain + /// Sku name + /// + [EnumType] + public readonly struct AzureDiskSkuName : IEquatable + { + private readonly string _value; + + private AzureDiskSkuName(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Premium_LRS SKU + /// + public static AzureDiskSkuName Premium_LRS { get; } = new AzureDiskSkuName("Premium_LRS"); + /// + /// Standard_LRS SKU + /// + public static AzureDiskSkuName Standard_LRS { get; } = new AzureDiskSkuName("Standard_LRS"); + /// + /// StandardSSD_LRS SKU + /// + public static AzureDiskSkuName StandardSSD_LRS { get; } = new AzureDiskSkuName("StandardSSD_LRS"); + /// + /// UltraSSD_LRS SKU + /// + public static AzureDiskSkuName UltraSSD_LRS { get; } = new AzureDiskSkuName("UltraSSD_LRS"); + /// + /// Premium_ZRS SKU + /// + public static AzureDiskSkuName Premium_ZRS { get; } = new AzureDiskSkuName("Premium_ZRS"); + /// + /// PremiumV2_LRS SKU + /// + public static AzureDiskSkuName PremiumV2_LRS { get; } = new AzureDiskSkuName("PremiumV2_LRS"); + /// + /// StandardSSD_ZRS SKU + /// + public static AzureDiskSkuName StandardSSD_ZRS { get; } = new AzureDiskSkuName("StandardSSD_ZRS"); + + public static bool operator ==(AzureDiskSkuName left, AzureDiskSkuName right) => left.Equals(right); + public static bool operator !=(AzureDiskSkuName left, AzureDiskSkuName right) => !left.Equals(right); + + public static explicit operator string(AzureDiskSkuName value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AzureDiskSkuName other && Equals(other); + public bool Equals(AzureDiskSkuName other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Sku name + /// + [EnumType] + public readonly struct ElasticSanSkuName : IEquatable + { + private readonly string _value; + + private ElasticSanSkuName(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Premium_LRS SKU + /// + public static ElasticSanSkuName Premium_LRS { get; } = new ElasticSanSkuName("Premium_LRS"); + /// + /// Premium_ZRS SKU + /// + public static ElasticSanSkuName Premium_ZRS { get; } = new ElasticSanSkuName("Premium_ZRS"); + + public static bool operator ==(ElasticSanSkuName left, ElasticSanSkuName right) => left.Equals(right); + public static bool operator !=(ElasticSanSkuName left, ElasticSanSkuName right) => !left.Equals(right); + + public static explicit operator string(ElasticSanSkuName value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ElasticSanSkuName other && Equals(other); + public bool Equals(ElasticSanSkuName other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [EnumType] + public readonly struct ManagedServiceIdentityType : IEquatable + { + private readonly string _value; + + private ManagedServiceIdentityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ManagedServiceIdentityType None { get; } = new ManagedServiceIdentityType("None"); + public static ManagedServiceIdentityType SystemAssigned { get; } = new ManagedServiceIdentityType("SystemAssigned"); + public static ManagedServiceIdentityType UserAssigned { get; } = new ManagedServiceIdentityType("UserAssigned"); + public static ManagedServiceIdentityType SystemAssigned_UserAssigned { get; } = new ManagedServiceIdentityType("SystemAssigned, UserAssigned"); + + public static bool operator ==(ManagedServiceIdentityType left, ManagedServiceIdentityType right) => left.Equals(right); + public static bool operator !=(ManagedServiceIdentityType left, ManagedServiceIdentityType right) => !left.Equals(right); + + public static explicit operator string(ManagedServiceIdentityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ManagedServiceIdentityType other && Equals(other); + public bool Equals(ManagedServiceIdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted /// [EnumType] public readonly struct ReclaimPolicy : IEquatable @@ -45,35 +172,39 @@ private ReclaimPolicy(string value) } /// - /// Indicates how the volumes created from the snapshot should be attached + /// Availability Zones /// [EnumType] - public readonly struct VolumeMode : IEquatable + public readonly struct Zone : IEquatable { private readonly string _value; - private VolumeMode(string value) + private Zone(string value) { _value = value ?? throw new ArgumentNullException(nameof(value)); } /// - /// FileSystem volume mode + /// First availability zone. + /// + public static Zone Zone1 { get; } = new Zone("1"); + /// + /// Second availability zone. /// - public static VolumeMode Filesystem { get; } = new VolumeMode("Filesystem"); + public static Zone Zone2 { get; } = new Zone("2"); /// - /// Raw volume mode + /// Third availability zone. /// - public static VolumeMode Raw { get; } = new VolumeMode("Raw"); + public static Zone Zone3 { get; } = new Zone("3"); - public static bool operator ==(VolumeMode left, VolumeMode right) => left.Equals(right); - public static bool operator !=(VolumeMode left, VolumeMode right) => !left.Equals(right); + public static bool operator ==(Zone left, Zone right) => left.Equals(right); + public static bool operator !=(Zone left, Zone right) => !left.Equals(right); - public static explicit operator string(VolumeMode value) => value._value; + public static explicit operator string(Zone value) => value._value; [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is VolumeMode other && Equals(other); - public bool Equals(VolumeMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + public override bool Equals(object? obj) => obj is Zone other && Equals(other); + public bool Equals(Zone other) => string.Equals(_value, other._value, StringComparison.Ordinal); [EditorBrowsable(EditorBrowsableState.Never)] public override int GetHashCode() => _value?.GetHashCode() ?? 0; diff --git a/sdk/dotnet/ContainerStorage/GetPool.cs b/sdk/dotnet/ContainerStorage/GetPool.cs index 89ac0dfcbb41..09be7b99dc1b 100644 --- a/sdk/dotnet/ContainerStorage/GetPool.cs +++ b/sdk/dotnet/ContainerStorage/GetPool.cs @@ -13,14 +13,14 @@ public static class GetPool { /// /// Get a Pool - /// Azure REST API version: 2023-03-01-preview. + /// Azure REST API version: 2023-07-01-preview. /// public static Task InvokeAsync(GetPoolArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerstorage:getPool", args ?? new GetPoolArgs(), options.WithDefaults()); /// /// Get a Pool - /// Azure REST API version: 2023-03-01-preview. + /// Azure REST API version: 2023-07-01-preview. /// public static Output Invoke(GetPoolInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerstorage:getPool", args ?? new GetPoolInvokeArgs(), options.WithDefaults()); @@ -72,21 +72,9 @@ public GetPoolInvokeArgs() public sealed class GetPoolResult { /// - /// List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. + /// List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. /// - public readonly ImmutableArray Assignments; - /// - /// Disk Pool Properties - /// - public readonly Outputs.DiskPoolPropertiesResponse? DiskPoolProperties; - /// - /// Elastic San Pool Properties - /// - public readonly Outputs.ElasticSanPoolPropertiesResponse ElasticSanPoolProperties; - /// - /// Ephemeral Pool Properties - /// - public readonly Outputs.EphemeralPoolPropertiesResponse? EphemeralPoolProperties; + public readonly ImmutableArray Assignments; /// /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} /// @@ -100,18 +88,26 @@ public sealed class GetPoolResult /// public readonly string Name; /// - /// Initial capacity of the pool in GiB. + /// Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. /// - public readonly double PoolCapacityGiB; - /// - /// Type of the Pool: ephemeral, disk, managed, or elasticsan. - /// - public readonly double PoolType; + public readonly Outputs.PoolTypeResponse PoolType; /// /// The status of the last operation. /// public readonly string ProvisioningState; /// + /// ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + /// + public readonly string? ReclaimPolicy; + /// + /// Resources represent the resources the pool should have. + /// + public readonly Outputs.ResourcesResponse? Resources; + /// + /// The operational status of the resource + /// + public readonly Outputs.ResourceOperationalStatusResponse Status; + /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. /// public readonly Outputs.SystemDataResponse SystemData; @@ -130,13 +126,7 @@ public sealed class GetPoolResult [OutputConstructor] private GetPoolResult( - ImmutableArray assignments, - - Outputs.DiskPoolPropertiesResponse? diskPoolProperties, - - Outputs.ElasticSanPoolPropertiesResponse elasticSanPoolProperties, - - Outputs.EphemeralPoolPropertiesResponse? ephemeralPoolProperties, + ImmutableArray assignments, string id, @@ -144,12 +134,16 @@ private GetPoolResult( string name, - double poolCapacityGiB, - - double poolType, + Outputs.PoolTypeResponse poolType, string provisioningState, + string? reclaimPolicy, + + Outputs.ResourcesResponse? resources, + + Outputs.ResourceOperationalStatusResponse status, + Outputs.SystemDataResponse systemData, ImmutableDictionary? tags, @@ -159,15 +153,14 @@ private GetPoolResult( ImmutableArray zones) { Assignments = assignments; - DiskPoolProperties = diskPoolProperties; - ElasticSanPoolProperties = elasticSanPoolProperties; - EphemeralPoolProperties = ephemeralPoolProperties; Id = id; Location = location; Name = name; - PoolCapacityGiB = poolCapacityGiB; PoolType = poolType; ProvisioningState = provisioningState; + ReclaimPolicy = reclaimPolicy; + Resources = resources; + Status = status; SystemData = systemData; Tags = tags; Type = type; diff --git a/sdk/dotnet/ContainerStorage/GetSnapshot.cs b/sdk/dotnet/ContainerStorage/GetSnapshot.cs new file mode 100644 index 000000000000..badb70f70bfc --- /dev/null +++ b/sdk/dotnet/ContainerStorage/GetSnapshot.cs @@ -0,0 +1,140 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage +{ + public static class GetSnapshot + { + /// + /// Get a Snapshot + /// Azure REST API version: 2023-07-01-preview. + /// + public static Task InvokeAsync(GetSnapshotArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerstorage:getSnapshot", args ?? new GetSnapshotArgs(), options.WithDefaults()); + + /// + /// Get a Snapshot + /// Azure REST API version: 2023-07-01-preview. + /// + public static Output Invoke(GetSnapshotInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerstorage:getSnapshot", args ?? new GetSnapshotInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSnapshotArgs : global::Pulumi.InvokeArgs + { + /// + /// Pool Object + /// + [Input("poolName", required: true)] + public string PoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// Volume Snapshot Resource + /// + [Input("snapshotName", required: true)] + public string SnapshotName { get; set; } = null!; + + public GetSnapshotArgs() + { + } + public static new GetSnapshotArgs Empty => new GetSnapshotArgs(); + } + + public sealed class GetSnapshotInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Pool Object + /// + [Input("poolName", required: true)] + public Input PoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Volume Snapshot Resource + /// + [Input("snapshotName", required: true)] + public Input SnapshotName { get; set; } = null!; + + public GetSnapshotInvokeArgs() + { + } + public static new GetSnapshotInvokeArgs Empty => new GetSnapshotInvokeArgs(); + } + + + [OutputType] + public sealed class GetSnapshotResult + { + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The status of the last operation. + /// + public readonly string ProvisioningState; + /// + /// Reference to the source volume + /// + public readonly string Source; + /// + /// The status of the resource. + /// + public readonly Outputs.ResourceOperationalStatusResponse Status; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetSnapshotResult( + string id, + + string name, + + string provisioningState, + + string source, + + Outputs.ResourceOperationalStatusResponse status, + + Outputs.SystemDataResponse systemData, + + string type) + { + Id = id; + Name = name; + ProvisioningState = provisioningState; + Source = source; + Status = status; + SystemData = systemData; + Type = type; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/GetVolume.cs b/sdk/dotnet/ContainerStorage/GetVolume.cs index 518530a3d83b..8f86286ea0db 100644 --- a/sdk/dotnet/ContainerStorage/GetVolume.cs +++ b/sdk/dotnet/ContainerStorage/GetVolume.cs @@ -13,14 +13,14 @@ public static class GetVolume { /// /// Get a Volume - /// Azure REST API version: 2023-03-01-preview. + /// Azure REST API version: 2023-07-01-preview. /// public static Task InvokeAsync(GetVolumeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerstorage:getVolume", args ?? new GetVolumeArgs(), options.WithDefaults()); /// /// Get a Volume - /// Azure REST API version: 2023-03-01-preview. + /// Azure REST API version: 2023-07-01-preview. /// public static Output Invoke(GetVolumeInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerstorage:getVolume", args ?? new GetVolumeInvokeArgs(), options.WithDefaults()); @@ -96,10 +96,6 @@ public sealed class GetVolumeResult /// public readonly ImmutableDictionary Labels; /// - /// List of string mount options - /// - public readonly ImmutableArray MountOptions; - /// /// The name of the resource /// public readonly string Name; @@ -108,9 +104,9 @@ public sealed class GetVolumeResult /// public readonly string ProvisioningState; /// - /// Reclaim Policy, Delete or Retain + /// The status of the resource. /// - public readonly string ReclaimPolicy; + public readonly Outputs.ResourceOperationalStatusResponse Status; /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. /// @@ -120,9 +116,9 @@ public sealed class GetVolumeResult /// public readonly string Type; /// - /// Indicates how the volume should be attached + /// Properties of the volume /// - public readonly string VolumeMode; + public readonly Outputs.VolumeTypeResponse VolumeType; [OutputConstructor] private GetVolumeResult( @@ -132,30 +128,27 @@ private GetVolumeResult( ImmutableDictionary labels, - ImmutableArray mountOptions, - string name, string provisioningState, - string reclaimPolicy, + Outputs.ResourceOperationalStatusResponse status, Outputs.SystemDataResponse systemData, string type, - string volumeMode) + Outputs.VolumeTypeResponse volumeType) { CapacityGiB = capacityGiB; Id = id; Labels = labels; - MountOptions = mountOptions; Name = name; ProvisioningState = provisioningState; - ReclaimPolicy = reclaimPolicy; + Status = status; SystemData = systemData; Type = type; - VolumeMode = volumeMode; + VolumeType = volumeType; } } } diff --git a/sdk/dotnet/ContainerStorage/GetVolumeSnapshot.cs b/sdk/dotnet/ContainerStorage/GetVolumeSnapshot.cs deleted file mode 100644 index 8d2e2f41f308..000000000000 --- a/sdk/dotnet/ContainerStorage/GetVolumeSnapshot.cs +++ /dev/null @@ -1,154 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage -{ - public static class GetVolumeSnapshot - { - /// - /// Get a VolumeSnapshot - /// Azure REST API version: 2023-03-01-preview. - /// - public static Task InvokeAsync(GetVolumeSnapshotArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerstorage:getVolumeSnapshot", args ?? new GetVolumeSnapshotArgs(), options.WithDefaults()); - - /// - /// Get a VolumeSnapshot - /// Azure REST API version: 2023-03-01-preview. - /// - public static Output Invoke(GetVolumeSnapshotInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerstorage:getVolumeSnapshot", args ?? new GetVolumeSnapshotInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetVolumeSnapshotArgs : global::Pulumi.InvokeArgs - { - /// - /// Pool Object - /// - [Input("poolName", required: true)] - public string PoolName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public string ResourceGroupName { get; set; } = null!; - - /// - /// Volume Snapshot Resource - /// - [Input("volumeSnapshotName", required: true)] - public string VolumeSnapshotName { get; set; } = null!; - - public GetVolumeSnapshotArgs() - { - } - public static new GetVolumeSnapshotArgs Empty => new GetVolumeSnapshotArgs(); - } - - public sealed class GetVolumeSnapshotInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// Pool Object - /// - [Input("poolName", required: true)] - public Input PoolName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// Volume Snapshot Resource - /// - [Input("volumeSnapshotName", required: true)] - public Input VolumeSnapshotName { get; set; } = null!; - - public GetVolumeSnapshotInvokeArgs() - { - } - public static new GetVolumeSnapshotInvokeArgs Empty => new GetVolumeSnapshotInvokeArgs(); - } - - - [OutputType] - public sealed class GetVolumeSnapshotResult - { - /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - /// - public readonly string Id; - /// - /// List of string mount options - /// - public readonly ImmutableArray MountOptions; - /// - /// The name of the resource - /// - public readonly string Name; - /// - /// The status of the last operation. - /// - public readonly string ProvisioningState; - /// - /// Reclaim Policy, Delete or Retain - /// - public readonly string ReclaimPolicy; - /// - /// Reference to the source volume - /// - public readonly string Source; - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - public readonly Outputs.SystemDataResponse SystemData; - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - public readonly string Type; - /// - /// Indicates how the volumes created from the snapshot should be attached - /// - public readonly string VolumeMode; - - [OutputConstructor] - private GetVolumeSnapshotResult( - string id, - - ImmutableArray mountOptions, - - string name, - - string provisioningState, - - string reclaimPolicy, - - string source, - - Outputs.SystemDataResponse systemData, - - string type, - - string volumeMode) - { - Id = id; - MountOptions = mountOptions; - Name = name; - ProvisioningState = provisioningState; - ReclaimPolicy = reclaimPolicy; - Source = source; - SystemData = systemData; - Type = type; - VolumeMode = volumeMode; - } - } -} diff --git a/sdk/dotnet/ContainerStorage/Inputs/AssignmentArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/AssignmentArgs.cs new file mode 100644 index 000000000000..11294f0550d9 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Inputs/AssignmentArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Inputs +{ + + /// + /// Assignment Properties + /// + public sealed class AssignmentArgs : global::Pulumi.ResourceArgs + { + /// + /// Resource id for the assigned resource + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public AssignmentArgs() + { + } + public static new AssignmentArgs Empty => new AssignmentArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/Inputs/AzureDiskArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/AzureDiskArgs.cs new file mode 100644 index 000000000000..a55f8c94fecf --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Inputs/AzureDiskArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Inputs +{ + + /// + /// Azure Disk Pool Properties + /// + public sealed class AzureDiskArgs : global::Pulumi.ResourceArgs + { + [Input("disks")] + private InputList? _disks; + + /// + /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + /// + public InputList Disks + { + get => _disks ?? (_disks = new InputList()); + set => _disks = value; + } + + /// + /// Encryption specifies the encryption configuration for the Azure Disk pool + /// + [Input("encryption")] + public Input? Encryption { get; set; } + + /// + /// Sku name + /// + [Input("skuName")] + public InputUnion? SkuName { get; set; } + + public AzureDiskArgs() + { + } + public static new AzureDiskArgs Empty => new AzureDiskArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/Inputs/DiskArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/DiskArgs.cs new file mode 100644 index 000000000000..cb08bbdd69ae --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Inputs/DiskArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Inputs +{ + + /// + /// Model for disk for that pool is using + /// + public sealed class DiskArgs : global::Pulumi.ResourceArgs + { + /// + /// ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + /// + /// Reference is the location of the disk in an external system. + /// + [Input("reference", required: true)] + public Input Reference { get; set; } = null!; + + public DiskArgs() + { + } + public static new DiskArgs Empty => new DiskArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/Inputs/DiskPoolPropertiesArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/DiskPoolPropertiesArgs.cs deleted file mode 100644 index 4c50a604fb67..000000000000 --- a/sdk/dotnet/ContainerStorage/Inputs/DiskPoolPropertiesArgs.cs +++ /dev/null @@ -1,54 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.Inputs -{ - - /// - /// Disk Pool Properties - /// - public sealed class DiskPoolPropertiesArgs : global::Pulumi.ResourceArgs - { - [Input("csiParams")] - private InputMap? _csiParams; - - /// - /// List of KV pairs to set in StorageClass to configure CSI driver. - /// - public InputMap CsiParams - { - get => _csiParams ?? (_csiParams = new InputMap()); - set => _csiParams = value; - } - - [Input("disks")] - private InputList? _disks; - - /// - /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - /// - public InputList Disks - { - get => _disks ?? (_disks = new InputList()); - set => _disks = value; - } - - /// - /// Maximum capacity of the volumes in GiB the user intends to create. Default 512. - /// - [Input("maxVolumeCapacityGiB")] - public Input? MaxVolumeCapacityGiB { get; set; } - - public DiskPoolPropertiesArgs() - { - MaxVolumeCapacityGiB = 512; - } - public static new DiskPoolPropertiesArgs Empty => new DiskPoolPropertiesArgs(); - } -} diff --git a/sdk/dotnet/ContainerStorage/Inputs/ElasticSanArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/ElasticSanArgs.cs new file mode 100644 index 000000000000..396672cbd512 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Inputs/ElasticSanArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Inputs +{ + + /// + /// Elastic San Pool Properties + /// + public sealed class ElasticSanArgs : global::Pulumi.ResourceArgs + { + /// + /// Encryption specifies the encryption configuration for the Azure Disk pool + /// + [Input("encryption")] + public Input? Encryption { get; set; } + + /// + /// Sku name + /// + [Input("skuName")] + public InputUnion? SkuName { get; set; } + + public ElasticSanArgs() + { + } + public static new ElasticSanArgs Empty => new ElasticSanArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/Inputs/ElasticSanPoolPropertiesArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/ElasticSanPoolPropertiesArgs.cs deleted file mode 100644 index fb79a91f4214..000000000000 --- a/sdk/dotnet/ContainerStorage/Inputs/ElasticSanPoolPropertiesArgs.cs +++ /dev/null @@ -1,41 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.Inputs -{ - - /// - /// Elastic San Pool Properties - /// - public sealed class ElasticSanPoolPropertiesArgs : global::Pulumi.ResourceArgs - { - /// - /// Resource group of an existing SAN. - /// - [Input("resourceGroup", required: true)] - public Input ResourceGroup { get; set; } = null!; - - /// - /// Name of an existing SAN. - /// - [Input("sanName", required: true)] - public Input SanName { get; set; } = null!; - - /// - /// Volume group of an existing SAN. - /// - [Input("volumeGroup", required: true)] - public Input VolumeGroup { get; set; } = null!; - - public ElasticSanPoolPropertiesArgs() - { - } - public static new ElasticSanPoolPropertiesArgs Empty => new ElasticSanPoolPropertiesArgs(); - } -} diff --git a/sdk/dotnet/ContainerStorage/Inputs/EncryptionArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/EncryptionArgs.cs new file mode 100644 index 000000000000..d4982115e688 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Inputs/EncryptionArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Inputs +{ + + /// + /// Encryption key properties for the pool. + /// + public sealed class EncryptionArgs : global::Pulumi.ResourceArgs + { + /// + /// The managed service identities assigned to this resource. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// The name of the key vault key. + /// + [Input("keyName", required: true)] + public Input KeyName { get; set; } = null!; + + /// + /// The URI of the key vault. + /// + [Input("keyVaultUri", required: true)] + public Input KeyVaultUri { get; set; } = null!; + + public EncryptionArgs() + { + } + public static new EncryptionArgs Empty => new EncryptionArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/Inputs/EphemeralDiskArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/EphemeralDiskArgs.cs new file mode 100644 index 000000000000..918979a7ed1d --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Inputs/EphemeralDiskArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Inputs +{ + + /// + /// Ephemeral Disk Pool Properties + /// + public sealed class EphemeralDiskArgs : global::Pulumi.ResourceArgs + { + [Input("disks")] + private InputList? _disks; + + /// + /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + /// + public InputList Disks + { + get => _disks ?? (_disks = new InputList()); + set => _disks = value; + } + + /// + /// The number of data copies. Default 3. + /// + [Input("replicas")] + public Input? Replicas { get; set; } + + public EphemeralDiskArgs() + { + Replicas = 3; + } + public static new EphemeralDiskArgs Empty => new EphemeralDiskArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/Inputs/EphemeralPoolPropertiesArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/EphemeralPoolPropertiesArgs.cs deleted file mode 100644 index 568dce33c9c2..000000000000 --- a/sdk/dotnet/ContainerStorage/Inputs/EphemeralPoolPropertiesArgs.cs +++ /dev/null @@ -1,54 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.Inputs -{ - - /// - /// Ephemeral Pool Properties - /// - public sealed class EphemeralPoolPropertiesArgs : global::Pulumi.ResourceArgs - { - /// - /// Consent to format the local disks. - /// - [Input("diskFormat")] - public Input? DiskFormat { get; set; } - - [Input("diskSelector", required: true)] - private InputList? _diskSelector; - - /// - /// Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. - /// - public InputList DiskSelector - { - get => _diskSelector ?? (_diskSelector = new InputList()); - set => _diskSelector = value; - } - - [Input("disks", required: true)] - private InputList? _disks; - - /// - /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - /// - public InputList Disks - { - get => _disks ?? (_disks = new InputList()); - set => _disks = value; - } - - public EphemeralPoolPropertiesArgs() - { - DiskFormat = false; - } - public static new EphemeralPoolPropertiesArgs Empty => new EphemeralPoolPropertiesArgs(); - } -} diff --git a/sdk/dotnet/ContainerStorage/Inputs/ManagedServiceIdentityArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/ManagedServiceIdentityArgs.cs new file mode 100644 index 000000000000..c97d8094e20f --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Inputs/ManagedServiceIdentityArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Inputs +{ + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + public sealed class ManagedServiceIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Input("type", required: true)] + public InputUnion Type { get; set; } = null!; + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } + + public ManagedServiceIdentityArgs() + { + } + public static new ManagedServiceIdentityArgs Empty => new ManagedServiceIdentityArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/Inputs/PoolTypeArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/PoolTypeArgs.cs new file mode 100644 index 000000000000..5b8c306c48ad --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Inputs/PoolTypeArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Inputs +{ + + /// + /// Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + /// + public sealed class PoolTypeArgs : global::Pulumi.ResourceArgs + { + /// + /// Disk Pool Properties + /// + [Input("azureDisk")] + public Input? AzureDisk { get; set; } + + /// + /// Elastic San Pool Properties + /// + [Input("elasticSan")] + public Input? ElasticSan { get; set; } + + /// + /// Ephemeral Pool Properties + /// + [Input("ephemeralDisk")] + public Input? EphemeralDisk { get; set; } + + public PoolTypeArgs() + { + } + public static new PoolTypeArgs Empty => new PoolTypeArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/Inputs/RequestsArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/RequestsArgs.cs new file mode 100644 index 000000000000..8b9fdae7700c --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Inputs/RequestsArgs.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Inputs +{ + + /// + /// Requests for capacity for the pool. + /// + public sealed class RequestsArgs : global::Pulumi.ResourceArgs + { + /// + /// Requested capacity of the pool in GiB. + /// + [Input("storage")] + public Input? Storage { get; set; } + + public RequestsArgs() + { + Storage = 1024; + } + public static new RequestsArgs Empty => new RequestsArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/Inputs/ResourcesArgs.cs b/sdk/dotnet/ContainerStorage/Inputs/ResourcesArgs.cs new file mode 100644 index 000000000000..d0caf6cb334c --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Inputs/ResourcesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Inputs +{ + + /// + /// Resource Requests for the pool. + /// + public sealed class ResourcesArgs : global::Pulumi.ResourceArgs + { + /// + /// Requests for capacity for the pool. + /// + [Input("requests")] + public Input? Requests { get; set; } + + public ResourcesArgs() + { + } + public static new ResourcesArgs Empty => new ResourcesArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/AssignmentResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/AssignmentResponse.cs new file mode 100644 index 000000000000..d0ae75481951 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/AssignmentResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Assignment Properties + /// + [OutputType] + public sealed class AssignmentResponse + { + /// + /// Resource id for the assigned resource + /// + public readonly string Id; + /// + /// Indicates if the assignment is in a usable state + /// + public readonly Outputs.AssignmentStatusResponse Status; + + [OutputConstructor] + private AssignmentResponse( + string id, + + Outputs.AssignmentStatusResponse status) + { + Id = id; + Status = status; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/AssignmentStatusResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/AssignmentStatusResponse.cs new file mode 100644 index 000000000000..c5454a23aa99 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/AssignmentStatusResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Status of the assignment resource + /// + [OutputType] + public sealed class AssignmentStatusResponse + { + /// + /// Reason for the status + /// + public readonly string? Message; + /// + /// State of the assignment resource + /// + public readonly string State; + + [OutputConstructor] + private AssignmentStatusResponse( + string? message, + + string state) + { + Message = message; + State = state; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/AzureDiskResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/AzureDiskResponse.cs new file mode 100644 index 000000000000..ff665ea81ee3 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/AzureDiskResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Azure Disk Pool Properties + /// + [OutputType] + public sealed class AzureDiskResponse + { + /// + /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + /// + public readonly ImmutableArray Disks; + /// + /// Encryption specifies the encryption configuration for the Azure Disk pool + /// + public readonly Outputs.EncryptionResponse? Encryption; + /// + /// Managed resource group for the pool. + /// + public readonly string ResourceGroup; + /// + /// Sku name + /// + public readonly string? SkuName; + + [OutputConstructor] + private AzureDiskResponse( + ImmutableArray disks, + + Outputs.EncryptionResponse? encryption, + + string resourceGroup, + + string? skuName) + { + Disks = disks; + Encryption = encryption; + ResourceGroup = resourceGroup; + SkuName = skuName; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/DiskPoolPropertiesResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/DiskPoolPropertiesResponse.cs deleted file mode 100644 index b58799af2bbb..000000000000 --- a/sdk/dotnet/ContainerStorage/Outputs/DiskPoolPropertiesResponse.cs +++ /dev/null @@ -1,45 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.Outputs -{ - - /// - /// Disk Pool Properties - /// - [OutputType] - public sealed class DiskPoolPropertiesResponse - { - /// - /// List of KV pairs to set in StorageClass to configure CSI driver. - /// - public readonly ImmutableDictionary? CsiParams; - /// - /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - /// - public readonly ImmutableArray Disks; - /// - /// Maximum capacity of the volumes in GiB the user intends to create. Default 512. - /// - public readonly double? MaxVolumeCapacityGiB; - - [OutputConstructor] - private DiskPoolPropertiesResponse( - ImmutableDictionary? csiParams, - - ImmutableArray disks, - - double? maxVolumeCapacityGiB) - { - CsiParams = csiParams; - Disks = disks; - MaxVolumeCapacityGiB = maxVolumeCapacityGiB; - } - } -} diff --git a/sdk/dotnet/ContainerStorage/Outputs/DiskResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/DiskResponse.cs new file mode 100644 index 000000000000..2c3f4010ffeb --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/DiskResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Model for disk for that pool is using + /// + [OutputType] + public sealed class DiskResponse + { + /// + /// ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + /// + public readonly string Id; + /// + /// Reference is the location of the disk in an external system. + /// + public readonly string Reference; + + [OutputConstructor] + private DiskResponse( + string id, + + string reference) + { + Id = id; + Reference = reference; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/ElasticSanPoolPropertiesResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/ElasticSanPoolPropertiesResponse.cs deleted file mode 100644 index ed955a67cd2c..000000000000 --- a/sdk/dotnet/ContainerStorage/Outputs/ElasticSanPoolPropertiesResponse.cs +++ /dev/null @@ -1,45 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.Outputs -{ - - /// - /// Elastic San Pool Properties - /// - [OutputType] - public sealed class ElasticSanPoolPropertiesResponse - { - /// - /// Resource group of an existing SAN. - /// - public readonly string ResourceGroup; - /// - /// Name of an existing SAN. - /// - public readonly string SanName; - /// - /// Volume group of an existing SAN. - /// - public readonly string VolumeGroup; - - [OutputConstructor] - private ElasticSanPoolPropertiesResponse( - string resourceGroup, - - string sanName, - - string volumeGroup) - { - ResourceGroup = resourceGroup; - SanName = sanName; - VolumeGroup = volumeGroup; - } - } -} diff --git a/sdk/dotnet/ContainerStorage/Outputs/ElasticSanResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/ElasticSanResponse.cs new file mode 100644 index 000000000000..856d0ac6e9e3 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/ElasticSanResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Elastic San Pool Properties + /// + [OutputType] + public sealed class ElasticSanResponse + { + /// + /// Encryption specifies the encryption configuration for the Azure Disk pool + /// + public readonly Outputs.EncryptionResponse? Encryption; + /// + /// Managed resource group for the pool. + /// + public readonly string ResourceGroup; + /// + /// Sku name + /// + public readonly string? SkuName; + + [OutputConstructor] + private ElasticSanResponse( + Outputs.EncryptionResponse? encryption, + + string resourceGroup, + + string? skuName) + { + Encryption = encryption; + ResourceGroup = resourceGroup; + SkuName = skuName; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/ElasticSanVolumePropertiesResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/ElasticSanVolumePropertiesResponse.cs new file mode 100644 index 000000000000..eb84c997adfa --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/ElasticSanVolumePropertiesResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Properties of the ElasticSAN iSCSI target + /// + [OutputType] + public sealed class ElasticSanVolumePropertiesResponse + { + /// + /// iSCSI Target IQN (iSCSI Qualified Name); example: "iqn.2005-03.org.iscsi:server" + /// + public readonly string TargetIqn; + /// + /// iSCSI Target Portal Host Name + /// + public readonly string TargetPortalHostname; + /// + /// iSCSI Target Portal Port + /// + public readonly int TargetPortalPort; + + [OutputConstructor] + private ElasticSanVolumePropertiesResponse( + string targetIqn, + + string targetPortalHostname, + + int targetPortalPort) + { + TargetIqn = targetIqn; + TargetPortalHostname = targetPortalHostname; + TargetPortalPort = targetPortalPort; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/EncryptionResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/EncryptionResponse.cs new file mode 100644 index 000000000000..d2e95f297627 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/EncryptionResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Encryption key properties for the pool. + /// + [OutputType] + public sealed class EncryptionResponse + { + /// + /// The managed service identities assigned to this resource. + /// + public readonly Outputs.ManagedServiceIdentityResponse? Identity; + /// + /// The name of the key vault key. + /// + public readonly string KeyName; + /// + /// The URI of the key vault. + /// + public readonly string KeyVaultUri; + + [OutputConstructor] + private EncryptionResponse( + Outputs.ManagedServiceIdentityResponse? identity, + + string keyName, + + string keyVaultUri) + { + Identity = identity; + KeyName = keyName; + KeyVaultUri = keyVaultUri; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/EphemeralDiskResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/EphemeralDiskResponse.cs new file mode 100644 index 000000000000..959a7afde72a --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/EphemeralDiskResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Ephemeral Disk Pool Properties + /// + [OutputType] + public sealed class EphemeralDiskResponse + { + /// + /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + /// + public readonly ImmutableArray Disks; + /// + /// The number of data copies. Default 3. + /// + public readonly double? Replicas; + + [OutputConstructor] + private EphemeralDiskResponse( + ImmutableArray disks, + + double? replicas) + { + Disks = disks; + Replicas = replicas; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/EphemeralPoolPropertiesResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/EphemeralPoolPropertiesResponse.cs deleted file mode 100644 index 21405ce498f6..000000000000 --- a/sdk/dotnet/ContainerStorage/Outputs/EphemeralPoolPropertiesResponse.cs +++ /dev/null @@ -1,45 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.Outputs -{ - - /// - /// Ephemeral Pool Properties - /// - [OutputType] - public sealed class EphemeralPoolPropertiesResponse - { - /// - /// Consent to format the local disks. - /// - public readonly bool? DiskFormat; - /// - /// Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. - /// - public readonly ImmutableArray DiskSelector; - /// - /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - /// - public readonly ImmutableArray Disks; - - [OutputConstructor] - private EphemeralPoolPropertiesResponse( - bool? diskFormat, - - ImmutableArray diskSelector, - - ImmutableArray disks) - { - DiskFormat = diskFormat; - DiskSelector = diskSelector; - Disks = disks; - } - } -} diff --git a/sdk/dotnet/ContainerStorage/Outputs/ManagedServiceIdentityResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/ManagedServiceIdentityResponse.cs new file mode 100644 index 000000000000..7ea524ea3f2d --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/ManagedServiceIdentityResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + [OutputType] + public sealed class ManagedServiceIdentityResponse + { + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + public readonly string PrincipalId; + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + public readonly string TenantId; + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + public readonly string Type; + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + /// + public readonly ImmutableDictionary? UserAssignedIdentities; + + [OutputConstructor] + private ManagedServiceIdentityResponse( + string principalId, + + string tenantId, + + string type, + + ImmutableDictionary? userAssignedIdentities) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + UserAssignedIdentities = userAssignedIdentities; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/PoolTypeResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/PoolTypeResponse.cs new file mode 100644 index 000000000000..8bad8ba867ca --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/PoolTypeResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + /// + [OutputType] + public sealed class PoolTypeResponse + { + /// + /// Disk Pool Properties + /// + public readonly Outputs.AzureDiskResponse? AzureDisk; + /// + /// Elastic San Pool Properties + /// + public readonly Outputs.ElasticSanResponse? ElasticSan; + /// + /// Ephemeral Pool Properties + /// + public readonly Outputs.EphemeralDiskResponse? EphemeralDisk; + + [OutputConstructor] + private PoolTypeResponse( + Outputs.AzureDiskResponse? azureDisk, + + Outputs.ElasticSanResponse? elasticSan, + + Outputs.EphemeralDiskResponse? ephemeralDisk) + { + AzureDisk = azureDisk; + ElasticSan = elasticSan; + EphemeralDisk = ephemeralDisk; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/RequestsResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/RequestsResponse.cs new file mode 100644 index 000000000000..ff524695e092 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/RequestsResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Requests for capacity for the pool. + /// + [OutputType] + public sealed class RequestsResponse + { + /// + /// Requested capacity of the pool in GiB. + /// + public readonly double? Storage; + + [OutputConstructor] + private RequestsResponse(double? storage) + { + Storage = storage; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/ResourceOperationalStatusResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/ResourceOperationalStatusResponse.cs new file mode 100644 index 000000000000..c763f4495aa8 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/ResourceOperationalStatusResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Status of the resource + /// + [OutputType] + public sealed class ResourceOperationalStatusResponse + { + /// + /// Reason for state. + /// + public readonly string? Message; + /// + /// state of the resource + /// + public readonly string State; + + [OutputConstructor] + private ResourceOperationalStatusResponse( + string? message, + + string state) + { + Message = message; + State = state; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/ResourcesResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/ResourcesResponse.cs new file mode 100644 index 000000000000..efc0dff7c285 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/ResourcesResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Resource Requests for the pool. + /// + [OutputType] + public sealed class ResourcesResponse + { + /// + /// Requests for capacity for the pool. + /// + public readonly Outputs.RequestsResponse? Requests; + + [OutputConstructor] + private ResourcesResponse(Outputs.RequestsResponse? requests) + { + Requests = requests; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/UserAssignedIdentityResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/UserAssignedIdentityResponse.cs new file mode 100644 index 000000000000..33c2a957b2c9 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/UserAssignedIdentityResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// User assigned identity properties + /// + [OutputType] + public sealed class UserAssignedIdentityResponse + { + /// + /// The client ID of the assigned identity. + /// + public readonly string ClientId; + /// + /// The principal ID of the assigned identity. + /// + public readonly string PrincipalId; + + [OutputConstructor] + private UserAssignedIdentityResponse( + string clientId, + + string principalId) + { + ClientId = clientId; + PrincipalId = principalId; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Outputs/VolumeTypeResponse.cs b/sdk/dotnet/ContainerStorage/Outputs/VolumeTypeResponse.cs new file mode 100644 index 000000000000..cf6fd800cff1 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Outputs/VolumeTypeResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.Outputs +{ + + /// + /// Properties of the volume + /// + [OutputType] + public sealed class VolumeTypeResponse + { + /// + /// Properties of the ElasticSAN iSCSI target + /// + public readonly Outputs.ElasticSanVolumePropertiesResponse ElasticSan; + + [OutputConstructor] + private VolumeTypeResponse(Outputs.ElasticSanVolumePropertiesResponse elasticSan) + { + ElasticSan = elasticSan; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/Pool.cs b/sdk/dotnet/ContainerStorage/Pool.cs index 75d2b6c881ba..2ea6abb18362 100644 --- a/sdk/dotnet/ContainerStorage/Pool.cs +++ b/sdk/dotnet/ContainerStorage/Pool.cs @@ -11,34 +11,16 @@ namespace Pulumi.AzureNative.ContainerStorage { /// /// Pool resource - /// Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview + /// Azure REST API version: 2023-07-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview /// [AzureNativeResourceType("azure-native:containerstorage:Pool")] public partial class Pool : global::Pulumi.CustomResource { /// - /// List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. + /// List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. /// [Output("assignments")] - public Output> Assignments { get; private set; } = null!; - - /// - /// Disk Pool Properties - /// - [Output("diskPoolProperties")] - public Output DiskPoolProperties { get; private set; } = null!; - - /// - /// Elastic San Pool Properties - /// - [Output("elasticSanPoolProperties")] - public Output ElasticSanPoolProperties { get; private set; } = null!; - - /// - /// Ephemeral Pool Properties - /// - [Output("ephemeralPoolProperties")] - public Output EphemeralPoolProperties { get; private set; } = null!; + public Output> Assignments { get; private set; } = null!; /// /// The geo-location where the resource lives @@ -53,16 +35,10 @@ public partial class Pool : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// Initial capacity of the pool in GiB. - /// - [Output("poolCapacityGiB")] - public Output PoolCapacityGiB { get; private set; } = null!; - - /// - /// Type of the Pool: ephemeral, disk, managed, or elasticsan. + /// Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. /// [Output("poolType")] - public Output PoolType { get; private set; } = null!; + public Output PoolType { get; private set; } = null!; /// /// The status of the last operation. @@ -70,6 +46,24 @@ public partial class Pool : global::Pulumi.CustomResource [Output("provisioningState")] public Output ProvisioningState { get; private set; } = null!; + /// + /// ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + /// + [Output("reclaimPolicy")] + public Output ReclaimPolicy { get; private set; } = null!; + + /// + /// Resources represent the resources the pool should have. + /// + [Output("resources")] + public Output Resources { get; private set; } = null!; + + /// + /// The operational status of the resource + /// + [Output("status")] + public Output Status { get; private set; } = null!; + /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. /// @@ -119,7 +113,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? Version = Utilities.Version, Aliases = { - new global::Pulumi.Alias { Type = "azure-native:containerstorage/v20230301preview:Pool"}, + new global::Pulumi.Alias { Type = "azure-native:containerstorage/v20230701preview:Pool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); @@ -143,48 +137,24 @@ public static Pool Get(string name, Input id, CustomResourceOptions? opt public sealed class PoolArgs : global::Pulumi.ResourceArgs { - [Input("assignments", required: true)] - private InputList? _assignments; + [Input("assignments")] + private InputList? _assignments; /// - /// List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. + /// List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. /// - public InputList Assignments + public InputList Assignments { - get => _assignments ?? (_assignments = new InputList()); + get => _assignments ?? (_assignments = new InputList()); set => _assignments = value; } - /// - /// Disk Pool Properties - /// - [Input("diskPoolProperties")] - public Input? DiskPoolProperties { get; set; } - - /// - /// Elastic San Pool Properties - /// - [Input("elasticSanPoolProperties", required: true)] - public Input ElasticSanPoolProperties { get; set; } = null!; - - /// - /// Ephemeral Pool Properties - /// - [Input("ephemeralPoolProperties")] - public Input? EphemeralPoolProperties { get; set; } - /// /// The geo-location where the resource lives /// [Input("location")] public Input? Location { get; set; } - /// - /// Initial capacity of the pool in GiB. - /// - [Input("poolCapacityGiB", required: true)] - public Input PoolCapacityGiB { get; set; } = null!; - /// /// Pool Object /// @@ -192,10 +162,16 @@ public InputList Assignments public Input? PoolName { get; set; } /// - /// Type of the Pool: ephemeral, disk, managed, or elasticsan. + /// Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. /// [Input("poolType", required: true)] - public Input PoolType { get; set; } = null!; + public Input PoolType { get; set; } = null!; + + /// + /// ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + /// + [Input("reclaimPolicy")] + public InputUnion? ReclaimPolicy { get; set; } /// /// The name of the resource group. The name is case insensitive. @@ -203,6 +179,12 @@ public InputList Assignments [Input("resourceGroupName", required: true)] public Input ResourceGroupName { get; set; } = null!; + /// + /// Resources represent the resources the pool should have. + /// + [Input("resources")] + public Input? Resources { get; set; } + [Input("tags")] private InputMap? _tags; @@ -215,15 +197,15 @@ public InputMap Tags set => _tags = value; } - [Input("zones", required: true)] - private InputList? _zones; + [Input("zones")] + private InputList>? _zones; /// /// List of availability zones that resources can be created in. /// - public InputList Zones + public InputList> Zones { - get => _zones ?? (_zones = new InputList()); + get => _zones ?? (_zones = new InputList>()); set => _zones = value; } diff --git a/sdk/dotnet/ContainerStorage/Snapshot.cs b/sdk/dotnet/ContainerStorage/Snapshot.cs new file mode 100644 index 000000000000..75d362a9bd17 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/Snapshot.cs @@ -0,0 +1,133 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage +{ + /// + /// Concrete proxy resource types can be created by aliasing this type using a specific property type. + /// Azure REST API version: 2023-07-01-preview. + /// + [AzureNativeResourceType("azure-native:containerstorage:Snapshot")] + public partial class Snapshot : global::Pulumi.CustomResource + { + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The status of the last operation. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Reference to the source volume + /// + [Output("source")] + public Output Source { get; private set; } = null!; + + /// + /// The status of the resource. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Snapshot resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Snapshot(string name, SnapshotArgs args, CustomResourceOptions? options = null) + : base("azure-native:containerstorage:Snapshot", name, args ?? new SnapshotArgs(), MakeResourceOptions(options, "")) + { + } + + private Snapshot(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:containerstorage:Snapshot", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:containerstorage/v20230701preview:Snapshot"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Snapshot resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Snapshot Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Snapshot(name, id, options); + } + } + + public sealed class SnapshotArgs : global::Pulumi.ResourceArgs + { + /// + /// Pool Object + /// + [Input("poolName", required: true)] + public Input PoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Volume Snapshot Resource + /// + [Input("snapshotName")] + public Input? SnapshotName { get; set; } + + /// + /// Reference to the source volume + /// + [Input("source", required: true)] + public Input Source { get; set; } = null!; + + public SnapshotArgs() + { + } + public static new SnapshotArgs Empty => new SnapshotArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/Enums.cs b/sdk/dotnet/ContainerStorage/V20230301Preview/Enums.cs deleted file mode 100644 index ea101e95a936..000000000000 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/Enums.cs +++ /dev/null @@ -1,83 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.ComponentModel; -using Pulumi; - -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview -{ - /// - /// Reclaim Policy, Delete or Retain - /// - [EnumType] - public readonly struct ReclaimPolicy : IEquatable - { - private readonly string _value; - - private ReclaimPolicy(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - /// - /// Delete resource - /// - public static ReclaimPolicy Delete { get; } = new ReclaimPolicy("Delete"); - /// - /// Retain resource - /// - public static ReclaimPolicy Retain { get; } = new ReclaimPolicy("Retain"); - - public static bool operator ==(ReclaimPolicy left, ReclaimPolicy right) => left.Equals(right); - public static bool operator !=(ReclaimPolicy left, ReclaimPolicy right) => !left.Equals(right); - - public static explicit operator string(ReclaimPolicy value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is ReclaimPolicy other && Equals(other); - public bool Equals(ReclaimPolicy other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - /// - /// Indicates how the volumes created from the snapshot should be attached - /// - [EnumType] - public readonly struct VolumeMode : IEquatable - { - private readonly string _value; - - private VolumeMode(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - /// - /// FileSystem volume mode - /// - public static VolumeMode Filesystem { get; } = new VolumeMode("Filesystem"); - /// - /// Raw volume mode - /// - public static VolumeMode Raw { get; } = new VolumeMode("Raw"); - - public static bool operator ==(VolumeMode left, VolumeMode right) => left.Equals(right); - public static bool operator !=(VolumeMode left, VolumeMode right) => !left.Equals(right); - - public static explicit operator string(VolumeMode value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is VolumeMode other && Equals(other); - public bool Equals(VolumeMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } -} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/GetVolumeSnapshot.cs b/sdk/dotnet/ContainerStorage/V20230301Preview/GetVolumeSnapshot.cs deleted file mode 100644 index c6d3dbd0cf0d..000000000000 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/GetVolumeSnapshot.cs +++ /dev/null @@ -1,152 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview -{ - public static class GetVolumeSnapshot - { - /// - /// Get a VolumeSnapshot - /// - public static Task InvokeAsync(GetVolumeSnapshotArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerstorage/v20230301preview:getVolumeSnapshot", args ?? new GetVolumeSnapshotArgs(), options.WithDefaults()); - - /// - /// Get a VolumeSnapshot - /// - public static Output Invoke(GetVolumeSnapshotInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerstorage/v20230301preview:getVolumeSnapshot", args ?? new GetVolumeSnapshotInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetVolumeSnapshotArgs : global::Pulumi.InvokeArgs - { - /// - /// Pool Object - /// - [Input("poolName", required: true)] - public string PoolName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public string ResourceGroupName { get; set; } = null!; - - /// - /// Volume Snapshot Resource - /// - [Input("volumeSnapshotName", required: true)] - public string VolumeSnapshotName { get; set; } = null!; - - public GetVolumeSnapshotArgs() - { - } - public static new GetVolumeSnapshotArgs Empty => new GetVolumeSnapshotArgs(); - } - - public sealed class GetVolumeSnapshotInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// Pool Object - /// - [Input("poolName", required: true)] - public Input PoolName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// Volume Snapshot Resource - /// - [Input("volumeSnapshotName", required: true)] - public Input VolumeSnapshotName { get; set; } = null!; - - public GetVolumeSnapshotInvokeArgs() - { - } - public static new GetVolumeSnapshotInvokeArgs Empty => new GetVolumeSnapshotInvokeArgs(); - } - - - [OutputType] - public sealed class GetVolumeSnapshotResult - { - /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - /// - public readonly string Id; - /// - /// List of string mount options - /// - public readonly ImmutableArray MountOptions; - /// - /// The name of the resource - /// - public readonly string Name; - /// - /// The status of the last operation. - /// - public readonly string ProvisioningState; - /// - /// Reclaim Policy, Delete or Retain - /// - public readonly string ReclaimPolicy; - /// - /// Reference to the source volume - /// - public readonly string Source; - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - public readonly Outputs.SystemDataResponse SystemData; - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - public readonly string Type; - /// - /// Indicates how the volumes created from the snapshot should be attached - /// - public readonly string VolumeMode; - - [OutputConstructor] - private GetVolumeSnapshotResult( - string id, - - ImmutableArray mountOptions, - - string name, - - string provisioningState, - - string reclaimPolicy, - - string source, - - Outputs.SystemDataResponse systemData, - - string type, - - string volumeMode) - { - Id = id; - MountOptions = mountOptions; - Name = name; - ProvisioningState = provisioningState; - ReclaimPolicy = reclaimPolicy; - Source = source; - SystemData = systemData; - Type = type; - VolumeMode = volumeMode; - } - } -} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/Inputs/DiskPoolPropertiesArgs.cs b/sdk/dotnet/ContainerStorage/V20230301Preview/Inputs/DiskPoolPropertiesArgs.cs deleted file mode 100644 index f2a985dc250a..000000000000 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/Inputs/DiskPoolPropertiesArgs.cs +++ /dev/null @@ -1,54 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview.Inputs -{ - - /// - /// Disk Pool Properties - /// - public sealed class DiskPoolPropertiesArgs : global::Pulumi.ResourceArgs - { - [Input("csiParams")] - private InputMap? _csiParams; - - /// - /// List of KV pairs to set in StorageClass to configure CSI driver. - /// - public InputMap CsiParams - { - get => _csiParams ?? (_csiParams = new InputMap()); - set => _csiParams = value; - } - - [Input("disks")] - private InputList? _disks; - - /// - /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - /// - public InputList Disks - { - get => _disks ?? (_disks = new InputList()); - set => _disks = value; - } - - /// - /// Maximum capacity of the volumes in GiB the user intends to create. Default 512. - /// - [Input("maxVolumeCapacityGiB")] - public Input? MaxVolumeCapacityGiB { get; set; } - - public DiskPoolPropertiesArgs() - { - MaxVolumeCapacityGiB = 512; - } - public static new DiskPoolPropertiesArgs Empty => new DiskPoolPropertiesArgs(); - } -} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/Inputs/ElasticSanPoolPropertiesArgs.cs b/sdk/dotnet/ContainerStorage/V20230301Preview/Inputs/ElasticSanPoolPropertiesArgs.cs deleted file mode 100644 index 04ec71d17f06..000000000000 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/Inputs/ElasticSanPoolPropertiesArgs.cs +++ /dev/null @@ -1,41 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview.Inputs -{ - - /// - /// Elastic San Pool Properties - /// - public sealed class ElasticSanPoolPropertiesArgs : global::Pulumi.ResourceArgs - { - /// - /// Resource group of an existing SAN. - /// - [Input("resourceGroup", required: true)] - public Input ResourceGroup { get; set; } = null!; - - /// - /// Name of an existing SAN. - /// - [Input("sanName", required: true)] - public Input SanName { get; set; } = null!; - - /// - /// Volume group of an existing SAN. - /// - [Input("volumeGroup", required: true)] - public Input VolumeGroup { get; set; } = null!; - - public ElasticSanPoolPropertiesArgs() - { - } - public static new ElasticSanPoolPropertiesArgs Empty => new ElasticSanPoolPropertiesArgs(); - } -} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/Inputs/EphemeralPoolPropertiesArgs.cs b/sdk/dotnet/ContainerStorage/V20230301Preview/Inputs/EphemeralPoolPropertiesArgs.cs deleted file mode 100644 index 43786ed01f28..000000000000 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/Inputs/EphemeralPoolPropertiesArgs.cs +++ /dev/null @@ -1,54 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview.Inputs -{ - - /// - /// Ephemeral Pool Properties - /// - public sealed class EphemeralPoolPropertiesArgs : global::Pulumi.ResourceArgs - { - /// - /// Consent to format the local disks. - /// - [Input("diskFormat")] - public Input? DiskFormat { get; set; } - - [Input("diskSelector", required: true)] - private InputList? _diskSelector; - - /// - /// Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. - /// - public InputList DiskSelector - { - get => _diskSelector ?? (_diskSelector = new InputList()); - set => _diskSelector = value; - } - - [Input("disks", required: true)] - private InputList? _disks; - - /// - /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - /// - public InputList Disks - { - get => _disks ?? (_disks = new InputList()); - set => _disks = value; - } - - public EphemeralPoolPropertiesArgs() - { - DiskFormat = false; - } - public static new EphemeralPoolPropertiesArgs Empty => new EphemeralPoolPropertiesArgs(); - } -} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/Outputs/DiskPoolPropertiesResponse.cs b/sdk/dotnet/ContainerStorage/V20230301Preview/Outputs/DiskPoolPropertiesResponse.cs deleted file mode 100644 index 0dd7f43d4d69..000000000000 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/Outputs/DiskPoolPropertiesResponse.cs +++ /dev/null @@ -1,45 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview.Outputs -{ - - /// - /// Disk Pool Properties - /// - [OutputType] - public sealed class DiskPoolPropertiesResponse - { - /// - /// List of KV pairs to set in StorageClass to configure CSI driver. - /// - public readonly ImmutableDictionary? CsiParams; - /// - /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - /// - public readonly ImmutableArray Disks; - /// - /// Maximum capacity of the volumes in GiB the user intends to create. Default 512. - /// - public readonly double? MaxVolumeCapacityGiB; - - [OutputConstructor] - private DiskPoolPropertiesResponse( - ImmutableDictionary? csiParams, - - ImmutableArray disks, - - double? maxVolumeCapacityGiB) - { - CsiParams = csiParams; - Disks = disks; - MaxVolumeCapacityGiB = maxVolumeCapacityGiB; - } - } -} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/Outputs/ElasticSanPoolPropertiesResponse.cs b/sdk/dotnet/ContainerStorage/V20230301Preview/Outputs/ElasticSanPoolPropertiesResponse.cs deleted file mode 100644 index 1291a919697b..000000000000 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/Outputs/ElasticSanPoolPropertiesResponse.cs +++ /dev/null @@ -1,45 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview.Outputs -{ - - /// - /// Elastic San Pool Properties - /// - [OutputType] - public sealed class ElasticSanPoolPropertiesResponse - { - /// - /// Resource group of an existing SAN. - /// - public readonly string ResourceGroup; - /// - /// Name of an existing SAN. - /// - public readonly string SanName; - /// - /// Volume group of an existing SAN. - /// - public readonly string VolumeGroup; - - [OutputConstructor] - private ElasticSanPoolPropertiesResponse( - string resourceGroup, - - string sanName, - - string volumeGroup) - { - ResourceGroup = resourceGroup; - SanName = sanName; - VolumeGroup = volumeGroup; - } - } -} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/Outputs/EphemeralPoolPropertiesResponse.cs b/sdk/dotnet/ContainerStorage/V20230301Preview/Outputs/EphemeralPoolPropertiesResponse.cs deleted file mode 100644 index b5215f16be81..000000000000 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/Outputs/EphemeralPoolPropertiesResponse.cs +++ /dev/null @@ -1,45 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview.Outputs -{ - - /// - /// Ephemeral Pool Properties - /// - [OutputType] - public sealed class EphemeralPoolPropertiesResponse - { - /// - /// Consent to format the local disks. - /// - public readonly bool? DiskFormat; - /// - /// Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. - /// - public readonly ImmutableArray DiskSelector; - /// - /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - /// - public readonly ImmutableArray Disks; - - [OutputConstructor] - private EphemeralPoolPropertiesResponse( - bool? diskFormat, - - ImmutableArray diskSelector, - - ImmutableArray disks) - { - DiskFormat = diskFormat; - DiskSelector = diskSelector; - Disks = disks; - } - } -} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/Outputs/SystemDataResponse.cs b/sdk/dotnet/ContainerStorage/V20230301Preview/Outputs/SystemDataResponse.cs deleted file mode 100644 index e01e52203b70..000000000000 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/Outputs/SystemDataResponse.cs +++ /dev/null @@ -1,66 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview.Outputs -{ - - /// - /// Metadata pertaining to creation and last modification of the resource. - /// - [OutputType] - public sealed class SystemDataResponse - { - /// - /// The timestamp of resource creation (UTC). - /// - public readonly string? CreatedAt; - /// - /// The identity that created the resource. - /// - public readonly string? CreatedBy; - /// - /// The type of identity that created the resource. - /// - public readonly string? CreatedByType; - /// - /// The timestamp of resource last modification (UTC) - /// - public readonly string? LastModifiedAt; - /// - /// The identity that last modified the resource. - /// - public readonly string? LastModifiedBy; - /// - /// The type of identity that last modified the resource. - /// - public readonly string? LastModifiedByType; - - [OutputConstructor] - private SystemDataResponse( - string? createdAt, - - string? createdBy, - - string? createdByType, - - string? lastModifiedAt, - - string? lastModifiedBy, - - string? lastModifiedByType) - { - CreatedAt = createdAt; - CreatedBy = createdBy; - CreatedByType = createdByType; - LastModifiedAt = lastModifiedAt; - LastModifiedBy = lastModifiedBy; - LastModifiedByType = lastModifiedByType; - } - } -} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/Pool.cs b/sdk/dotnet/ContainerStorage/V20230301Preview/Pool.cs deleted file mode 100644 index 4b4c8c300604..000000000000 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/Pool.cs +++ /dev/null @@ -1,234 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview -{ - /// - /// Pool resource - /// - [AzureNativeResourceType("azure-native:containerstorage/v20230301preview:Pool")] - public partial class Pool : global::Pulumi.CustomResource - { - /// - /// List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - /// - [Output("assignments")] - public Output> Assignments { get; private set; } = null!; - - /// - /// Disk Pool Properties - /// - [Output("diskPoolProperties")] - public Output DiskPoolProperties { get; private set; } = null!; - - /// - /// Elastic San Pool Properties - /// - [Output("elasticSanPoolProperties")] - public Output ElasticSanPoolProperties { get; private set; } = null!; - - /// - /// Ephemeral Pool Properties - /// - [Output("ephemeralPoolProperties")] - public Output EphemeralPoolProperties { get; private set; } = null!; - - /// - /// The geo-location where the resource lives - /// - [Output("location")] - public Output Location { get; private set; } = null!; - - /// - /// The name of the resource - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// Initial capacity of the pool in GiB. - /// - [Output("poolCapacityGiB")] - public Output PoolCapacityGiB { get; private set; } = null!; - - /// - /// Type of the Pool: ephemeral, disk, managed, or elasticsan. - /// - [Output("poolType")] - public Output PoolType { get; private set; } = null!; - - /// - /// The status of the last operation. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - [Output("systemData")] - public Output SystemData { get; private set; } = null!; - - /// - /// Resource tags. - /// - [Output("tags")] - public Output?> Tags { get; private set; } = null!; - - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - [Output("type")] - public Output Type { get; private set; } = null!; - - /// - /// List of availability zones that resources can be created in. - /// - [Output("zones")] - public Output> Zones { get; private set; } = null!; - - - /// - /// Create a Pool resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public Pool(string name, PoolArgs args, CustomResourceOptions? options = null) - : base("azure-native:containerstorage/v20230301preview:Pool", name, args ?? new PoolArgs(), MakeResourceOptions(options, "")) - { - } - - private Pool(string name, Input id, CustomResourceOptions? options = null) - : base("azure-native:containerstorage/v20230301preview:Pool", name, null, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - Aliases = - { - new global::Pulumi.Alias { Type = "azure-native:containerstorage:Pool"}, - }, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing Pool resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// A bag of options that control this resource's behavior - public static Pool Get(string name, Input id, CustomResourceOptions? options = null) - { - return new Pool(name, id, options); - } - } - - public sealed class PoolArgs : global::Pulumi.ResourceArgs - { - [Input("assignments", required: true)] - private InputList? _assignments; - - /// - /// List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - /// - public InputList Assignments - { - get => _assignments ?? (_assignments = new InputList()); - set => _assignments = value; - } - - /// - /// Disk Pool Properties - /// - [Input("diskPoolProperties")] - public Input? DiskPoolProperties { get; set; } - - /// - /// Elastic San Pool Properties - /// - [Input("elasticSanPoolProperties", required: true)] - public Input ElasticSanPoolProperties { get; set; } = null!; - - /// - /// Ephemeral Pool Properties - /// - [Input("ephemeralPoolProperties")] - public Input? EphemeralPoolProperties { get; set; } - - /// - /// The geo-location where the resource lives - /// - [Input("location")] - public Input? Location { get; set; } - - /// - /// Initial capacity of the pool in GiB. - /// - [Input("poolCapacityGiB", required: true)] - public Input PoolCapacityGiB { get; set; } = null!; - - /// - /// Pool Object - /// - [Input("poolName")] - public Input? PoolName { get; set; } - - /// - /// Type of the Pool: ephemeral, disk, managed, or elasticsan. - /// - [Input("poolType", required: true)] - public Input PoolType { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - [Input("tags")] - private InputMap? _tags; - - /// - /// Resource tags. - /// - public InputMap Tags - { - get => _tags ?? (_tags = new InputMap()); - set => _tags = value; - } - - [Input("zones", required: true)] - private InputList? _zones; - - /// - /// List of availability zones that resources can be created in. - /// - public InputList Zones - { - get => _zones ?? (_zones = new InputList()); - set => _zones = value; - } - - public PoolArgs() - { - } - public static new PoolArgs Empty => new PoolArgs(); - } -} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/VolumeSnapshot.cs b/sdk/dotnet/ContainerStorage/V20230301Preview/VolumeSnapshot.cs deleted file mode 100644 index 019f78f54d3d..000000000000 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/VolumeSnapshot.cs +++ /dev/null @@ -1,168 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview -{ - /// - /// Concrete proxy resource types can be created by aliasing this type using a specific property type. - /// - [AzureNativeResourceType("azure-native:containerstorage/v20230301preview:VolumeSnapshot")] - public partial class VolumeSnapshot : global::Pulumi.CustomResource - { - /// - /// List of string mount options - /// - [Output("mountOptions")] - public Output> MountOptions { get; private set; } = null!; - - /// - /// The name of the resource - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// The status of the last operation. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// Reclaim Policy, Delete or Retain - /// - [Output("reclaimPolicy")] - public Output ReclaimPolicy { get; private set; } = null!; - - /// - /// Reference to the source volume - /// - [Output("source")] - public Output Source { get; private set; } = null!; - - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - [Output("systemData")] - public Output SystemData { get; private set; } = null!; - - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - [Output("type")] - public Output Type { get; private set; } = null!; - - /// - /// Indicates how the volumes created from the snapshot should be attached - /// - [Output("volumeMode")] - public Output VolumeMode { get; private set; } = null!; - - - /// - /// Create a VolumeSnapshot resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public VolumeSnapshot(string name, VolumeSnapshotArgs args, CustomResourceOptions? options = null) - : base("azure-native:containerstorage/v20230301preview:VolumeSnapshot", name, args ?? new VolumeSnapshotArgs(), MakeResourceOptions(options, "")) - { - } - - private VolumeSnapshot(string name, Input id, CustomResourceOptions? options = null) - : base("azure-native:containerstorage/v20230301preview:VolumeSnapshot", name, null, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - Aliases = - { - new global::Pulumi.Alias { Type = "azure-native:containerstorage:VolumeSnapshot"}, - }, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing VolumeSnapshot resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// A bag of options that control this resource's behavior - public static VolumeSnapshot Get(string name, Input id, CustomResourceOptions? options = null) - { - return new VolumeSnapshot(name, id, options); - } - } - - public sealed class VolumeSnapshotArgs : global::Pulumi.ResourceArgs - { - [Input("mountOptions", required: true)] - private InputList? _mountOptions; - - /// - /// List of string mount options - /// - public InputList MountOptions - { - get => _mountOptions ?? (_mountOptions = new InputList()); - set => _mountOptions = value; - } - - /// - /// Pool Object - /// - [Input("poolName", required: true)] - public Input PoolName { get; set; } = null!; - - /// - /// Reclaim Policy, Delete or Retain - /// - [Input("reclaimPolicy", required: true)] - public InputUnion ReclaimPolicy { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// Reference to the source volume - /// - [Input("source", required: true)] - public Input Source { get; set; } = null!; - - /// - /// Indicates how the volumes created from the snapshot should be attached - /// - [Input("volumeMode", required: true)] - public InputUnion VolumeMode { get; set; } = null!; - - /// - /// Volume Snapshot Resource - /// - [Input("volumeSnapshotName")] - public Input? VolumeSnapshotName { get; set; } - - public VolumeSnapshotArgs() - { - } - public static new VolumeSnapshotArgs Empty => new VolumeSnapshotArgs(); - } -} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Enums.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Enums.cs new file mode 100644 index 000000000000..7f092a9b23ee --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Enums.cs @@ -0,0 +1,214 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview +{ + /// + /// Sku name + /// + [EnumType] + public readonly struct AzureDiskSkuName : IEquatable + { + private readonly string _value; + + private AzureDiskSkuName(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Premium_LRS SKU + /// + public static AzureDiskSkuName Premium_LRS { get; } = new AzureDiskSkuName("Premium_LRS"); + /// + /// Standard_LRS SKU + /// + public static AzureDiskSkuName Standard_LRS { get; } = new AzureDiskSkuName("Standard_LRS"); + /// + /// StandardSSD_LRS SKU + /// + public static AzureDiskSkuName StandardSSD_LRS { get; } = new AzureDiskSkuName("StandardSSD_LRS"); + /// + /// UltraSSD_LRS SKU + /// + public static AzureDiskSkuName UltraSSD_LRS { get; } = new AzureDiskSkuName("UltraSSD_LRS"); + /// + /// Premium_ZRS SKU + /// + public static AzureDiskSkuName Premium_ZRS { get; } = new AzureDiskSkuName("Premium_ZRS"); + /// + /// PremiumV2_LRS SKU + /// + public static AzureDiskSkuName PremiumV2_LRS { get; } = new AzureDiskSkuName("PremiumV2_LRS"); + /// + /// StandardSSD_ZRS SKU + /// + public static AzureDiskSkuName StandardSSD_ZRS { get; } = new AzureDiskSkuName("StandardSSD_ZRS"); + + public static bool operator ==(AzureDiskSkuName left, AzureDiskSkuName right) => left.Equals(right); + public static bool operator !=(AzureDiskSkuName left, AzureDiskSkuName right) => !left.Equals(right); + + public static explicit operator string(AzureDiskSkuName value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AzureDiskSkuName other && Equals(other); + public bool Equals(AzureDiskSkuName other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Sku name + /// + [EnumType] + public readonly struct ElasticSanSkuName : IEquatable + { + private readonly string _value; + + private ElasticSanSkuName(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Premium_LRS SKU + /// + public static ElasticSanSkuName Premium_LRS { get; } = new ElasticSanSkuName("Premium_LRS"); + /// + /// Premium_ZRS SKU + /// + public static ElasticSanSkuName Premium_ZRS { get; } = new ElasticSanSkuName("Premium_ZRS"); + + public static bool operator ==(ElasticSanSkuName left, ElasticSanSkuName right) => left.Equals(right); + public static bool operator !=(ElasticSanSkuName left, ElasticSanSkuName right) => !left.Equals(right); + + public static explicit operator string(ElasticSanSkuName value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ElasticSanSkuName other && Equals(other); + public bool Equals(ElasticSanSkuName other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [EnumType] + public readonly struct ManagedServiceIdentityType : IEquatable + { + private readonly string _value; + + private ManagedServiceIdentityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ManagedServiceIdentityType None { get; } = new ManagedServiceIdentityType("None"); + public static ManagedServiceIdentityType SystemAssigned { get; } = new ManagedServiceIdentityType("SystemAssigned"); + public static ManagedServiceIdentityType UserAssigned { get; } = new ManagedServiceIdentityType("UserAssigned"); + public static ManagedServiceIdentityType SystemAssigned_UserAssigned { get; } = new ManagedServiceIdentityType("SystemAssigned, UserAssigned"); + + public static bool operator ==(ManagedServiceIdentityType left, ManagedServiceIdentityType right) => left.Equals(right); + public static bool operator !=(ManagedServiceIdentityType left, ManagedServiceIdentityType right) => !left.Equals(right); + + public static explicit operator string(ManagedServiceIdentityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ManagedServiceIdentityType other && Equals(other); + public bool Equals(ManagedServiceIdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + /// + [EnumType] + public readonly struct ReclaimPolicy : IEquatable + { + private readonly string _value; + + private ReclaimPolicy(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Delete resource + /// + public static ReclaimPolicy Delete { get; } = new ReclaimPolicy("Delete"); + /// + /// Retain resource + /// + public static ReclaimPolicy Retain { get; } = new ReclaimPolicy("Retain"); + + public static bool operator ==(ReclaimPolicy left, ReclaimPolicy right) => left.Equals(right); + public static bool operator !=(ReclaimPolicy left, ReclaimPolicy right) => !left.Equals(right); + + public static explicit operator string(ReclaimPolicy value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ReclaimPolicy other && Equals(other); + public bool Equals(ReclaimPolicy other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Availability Zones + /// + [EnumType] + public readonly struct Zone : IEquatable + { + private readonly string _value; + + private Zone(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// First availability zone. + /// + public static Zone Zone1 { get; } = new Zone("1"); + /// + /// Second availability zone. + /// + public static Zone Zone2 { get; } = new Zone("2"); + /// + /// Third availability zone. + /// + public static Zone Zone3 { get; } = new Zone("3"); + + public static bool operator ==(Zone left, Zone right) => left.Equals(right); + public static bool operator !=(Zone left, Zone right) => !left.Equals(right); + + public static explicit operator string(Zone value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is Zone other && Equals(other); + public bool Equals(Zone other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/GetPool.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/GetPool.cs similarity index 76% rename from sdk/dotnet/ContainerStorage/V20230301Preview/GetPool.cs rename to sdk/dotnet/ContainerStorage/V20230701Preview/GetPool.cs index f4428c4de03a..0fc58cf2134e 100644 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/GetPool.cs +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/GetPool.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; using Pulumi.Serialization; -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview { public static class GetPool { @@ -15,13 +15,13 @@ public static class GetPool /// Get a Pool /// public static Task InvokeAsync(GetPoolArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerstorage/v20230301preview:getPool", args ?? new GetPoolArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerstorage/v20230701preview:getPool", args ?? new GetPoolArgs(), options.WithDefaults()); /// /// Get a Pool /// public static Output Invoke(GetPoolInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerstorage/v20230301preview:getPool", args ?? new GetPoolInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerstorage/v20230701preview:getPool", args ?? new GetPoolInvokeArgs(), options.WithDefaults()); } @@ -70,21 +70,9 @@ public GetPoolInvokeArgs() public sealed class GetPoolResult { /// - /// List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. + /// List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. /// - public readonly ImmutableArray Assignments; - /// - /// Disk Pool Properties - /// - public readonly Outputs.DiskPoolPropertiesResponse? DiskPoolProperties; - /// - /// Elastic San Pool Properties - /// - public readonly Outputs.ElasticSanPoolPropertiesResponse ElasticSanPoolProperties; - /// - /// Ephemeral Pool Properties - /// - public readonly Outputs.EphemeralPoolPropertiesResponse? EphemeralPoolProperties; + public readonly ImmutableArray Assignments; /// /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} /// @@ -98,18 +86,26 @@ public sealed class GetPoolResult /// public readonly string Name; /// - /// Initial capacity of the pool in GiB. + /// Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. /// - public readonly double PoolCapacityGiB; - /// - /// Type of the Pool: ephemeral, disk, managed, or elasticsan. - /// - public readonly double PoolType; + public readonly Outputs.PoolTypeResponse PoolType; /// /// The status of the last operation. /// public readonly string ProvisioningState; /// + /// ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + /// + public readonly string? ReclaimPolicy; + /// + /// Resources represent the resources the pool should have. + /// + public readonly Outputs.ResourcesResponse? Resources; + /// + /// The operational status of the resource + /// + public readonly Outputs.ResourceOperationalStatusResponse Status; + /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. /// public readonly Outputs.SystemDataResponse SystemData; @@ -128,13 +124,7 @@ public sealed class GetPoolResult [OutputConstructor] private GetPoolResult( - ImmutableArray assignments, - - Outputs.DiskPoolPropertiesResponse? diskPoolProperties, - - Outputs.ElasticSanPoolPropertiesResponse elasticSanPoolProperties, - - Outputs.EphemeralPoolPropertiesResponse? ephemeralPoolProperties, + ImmutableArray assignments, string id, @@ -142,12 +132,16 @@ private GetPoolResult( string name, - double poolCapacityGiB, - - double poolType, + Outputs.PoolTypeResponse poolType, string provisioningState, + string? reclaimPolicy, + + Outputs.ResourcesResponse? resources, + + Outputs.ResourceOperationalStatusResponse status, + Outputs.SystemDataResponse systemData, ImmutableDictionary? tags, @@ -157,15 +151,14 @@ private GetPoolResult( ImmutableArray zones) { Assignments = assignments; - DiskPoolProperties = diskPoolProperties; - ElasticSanPoolProperties = elasticSanPoolProperties; - EphemeralPoolProperties = ephemeralPoolProperties; Id = id; Location = location; Name = name; - PoolCapacityGiB = poolCapacityGiB; PoolType = poolType; ProvisioningState = provisioningState; + ReclaimPolicy = reclaimPolicy; + Resources = resources; + Status = status; SystemData = systemData; Tags = tags; Type = type; diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/GetSnapshot.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/GetSnapshot.cs new file mode 100644 index 000000000000..492a2b226dd2 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/GetSnapshot.cs @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview +{ + public static class GetSnapshot + { + /// + /// Get a Snapshot + /// + public static Task InvokeAsync(GetSnapshotArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerstorage/v20230701preview:getSnapshot", args ?? new GetSnapshotArgs(), options.WithDefaults()); + + /// + /// Get a Snapshot + /// + public static Output Invoke(GetSnapshotInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerstorage/v20230701preview:getSnapshot", args ?? new GetSnapshotInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSnapshotArgs : global::Pulumi.InvokeArgs + { + /// + /// Pool Object + /// + [Input("poolName", required: true)] + public string PoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// Volume Snapshot Resource + /// + [Input("snapshotName", required: true)] + public string SnapshotName { get; set; } = null!; + + public GetSnapshotArgs() + { + } + public static new GetSnapshotArgs Empty => new GetSnapshotArgs(); + } + + public sealed class GetSnapshotInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Pool Object + /// + [Input("poolName", required: true)] + public Input PoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Volume Snapshot Resource + /// + [Input("snapshotName", required: true)] + public Input SnapshotName { get; set; } = null!; + + public GetSnapshotInvokeArgs() + { + } + public static new GetSnapshotInvokeArgs Empty => new GetSnapshotInvokeArgs(); + } + + + [OutputType] + public sealed class GetSnapshotResult + { + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The status of the last operation. + /// + public readonly string ProvisioningState; + /// + /// Reference to the source volume + /// + public readonly string Source; + /// + /// The status of the resource. + /// + public readonly Outputs.ResourceOperationalStatusResponse Status; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetSnapshotResult( + string id, + + string name, + + string provisioningState, + + string source, + + Outputs.ResourceOperationalStatusResponse status, + + Outputs.SystemDataResponse systemData, + + string type) + { + Id = id; + Name = name; + ProvisioningState = provisioningState; + Source = source; + Status = status; + SystemData = systemData; + Type = type; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/GetVolume.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/GetVolume.cs similarity index 85% rename from sdk/dotnet/ContainerStorage/V20230301Preview/GetVolume.cs rename to sdk/dotnet/ContainerStorage/V20230701Preview/GetVolume.cs index ac9ae4461c6e..f65e22a7590f 100644 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/GetVolume.cs +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/GetVolume.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; using Pulumi.Serialization; -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview { public static class GetVolume { @@ -15,13 +15,13 @@ public static class GetVolume /// Get a Volume /// public static Task InvokeAsync(GetVolumeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerstorage/v20230301preview:getVolume", args ?? new GetVolumeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:containerstorage/v20230701preview:getVolume", args ?? new GetVolumeArgs(), options.WithDefaults()); /// /// Get a Volume /// public static Output Invoke(GetVolumeInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerstorage/v20230301preview:getVolume", args ?? new GetVolumeInvokeArgs(), options.WithDefaults()); + => global::Pulumi.Deployment.Instance.Invoke("azure-native:containerstorage/v20230701preview:getVolume", args ?? new GetVolumeInvokeArgs(), options.WithDefaults()); } @@ -94,10 +94,6 @@ public sealed class GetVolumeResult /// public readonly ImmutableDictionary Labels; /// - /// List of string mount options - /// - public readonly ImmutableArray MountOptions; - /// /// The name of the resource /// public readonly string Name; @@ -106,9 +102,9 @@ public sealed class GetVolumeResult /// public readonly string ProvisioningState; /// - /// Reclaim Policy, Delete or Retain + /// The status of the resource. /// - public readonly string ReclaimPolicy; + public readonly Outputs.ResourceOperationalStatusResponse Status; /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. /// @@ -118,9 +114,9 @@ public sealed class GetVolumeResult /// public readonly string Type; /// - /// Indicates how the volume should be attached + /// Properties of the volume /// - public readonly string VolumeMode; + public readonly Outputs.VolumeTypeResponse VolumeType; [OutputConstructor] private GetVolumeResult( @@ -130,30 +126,27 @@ private GetVolumeResult( ImmutableDictionary labels, - ImmutableArray mountOptions, - string name, string provisioningState, - string reclaimPolicy, + Outputs.ResourceOperationalStatusResponse status, Outputs.SystemDataResponse systemData, string type, - string volumeMode) + Outputs.VolumeTypeResponse volumeType) { CapacityGiB = capacityGiB; Id = id; Labels = labels; - MountOptions = mountOptions; Name = name; ProvisioningState = provisioningState; - ReclaimPolicy = reclaimPolicy; + Status = status; SystemData = systemData; Type = type; - VolumeMode = volumeMode; + VolumeType = volumeType; } } } diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/AssignmentArgs.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/AssignmentArgs.cs new file mode 100644 index 000000000000..3bbd1cc6c0c1 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/AssignmentArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Inputs +{ + + /// + /// Assignment Properties + /// + public sealed class AssignmentArgs : global::Pulumi.ResourceArgs + { + /// + /// Resource id for the assigned resource + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public AssignmentArgs() + { + } + public static new AssignmentArgs Empty => new AssignmentArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/AzureDiskArgs.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/AzureDiskArgs.cs new file mode 100644 index 000000000000..d05302968dc3 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/AzureDiskArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Inputs +{ + + /// + /// Azure Disk Pool Properties + /// + public sealed class AzureDiskArgs : global::Pulumi.ResourceArgs + { + [Input("disks")] + private InputList? _disks; + + /// + /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + /// + public InputList Disks + { + get => _disks ?? (_disks = new InputList()); + set => _disks = value; + } + + /// + /// Encryption specifies the encryption configuration for the Azure Disk pool + /// + [Input("encryption")] + public Input? Encryption { get; set; } + + /// + /// Sku name + /// + [Input("skuName")] + public InputUnion? SkuName { get; set; } + + public AzureDiskArgs() + { + } + public static new AzureDiskArgs Empty => new AzureDiskArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/DiskArgs.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/DiskArgs.cs new file mode 100644 index 000000000000..c9a500cbec52 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/DiskArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Inputs +{ + + /// + /// Model for disk for that pool is using + /// + public sealed class DiskArgs : global::Pulumi.ResourceArgs + { + /// + /// ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + /// + /// Reference is the location of the disk in an external system. + /// + [Input("reference", required: true)] + public Input Reference { get; set; } = null!; + + public DiskArgs() + { + } + public static new DiskArgs Empty => new DiskArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/ElasticSanArgs.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/ElasticSanArgs.cs new file mode 100644 index 000000000000..81f8cbeb6442 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/ElasticSanArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Inputs +{ + + /// + /// Elastic San Pool Properties + /// + public sealed class ElasticSanArgs : global::Pulumi.ResourceArgs + { + /// + /// Encryption specifies the encryption configuration for the Azure Disk pool + /// + [Input("encryption")] + public Input? Encryption { get; set; } + + /// + /// Sku name + /// + [Input("skuName")] + public InputUnion? SkuName { get; set; } + + public ElasticSanArgs() + { + } + public static new ElasticSanArgs Empty => new ElasticSanArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/EncryptionArgs.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/EncryptionArgs.cs new file mode 100644 index 000000000000..e4aff883bb4a --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/EncryptionArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Inputs +{ + + /// + /// Encryption key properties for the pool. + /// + public sealed class EncryptionArgs : global::Pulumi.ResourceArgs + { + /// + /// The managed service identities assigned to this resource. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// The name of the key vault key. + /// + [Input("keyName", required: true)] + public Input KeyName { get; set; } = null!; + + /// + /// The URI of the key vault. + /// + [Input("keyVaultUri", required: true)] + public Input KeyVaultUri { get; set; } = null!; + + public EncryptionArgs() + { + } + public static new EncryptionArgs Empty => new EncryptionArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/EphemeralDiskArgs.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/EphemeralDiskArgs.cs new file mode 100644 index 000000000000..06e08495da12 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/EphemeralDiskArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Inputs +{ + + /// + /// Ephemeral Disk Pool Properties + /// + public sealed class EphemeralDiskArgs : global::Pulumi.ResourceArgs + { + [Input("disks")] + private InputList? _disks; + + /// + /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + /// + public InputList Disks + { + get => _disks ?? (_disks = new InputList()); + set => _disks = value; + } + + /// + /// The number of data copies. Default 3. + /// + [Input("replicas")] + public Input? Replicas { get; set; } + + public EphemeralDiskArgs() + { + Replicas = 3; + } + public static new EphemeralDiskArgs Empty => new EphemeralDiskArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/ManagedServiceIdentityArgs.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/ManagedServiceIdentityArgs.cs new file mode 100644 index 000000000000..1a7cdafff814 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/ManagedServiceIdentityArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Inputs +{ + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + public sealed class ManagedServiceIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Input("type", required: true)] + public InputUnion Type { get; set; } = null!; + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } + + public ManagedServiceIdentityArgs() + { + } + public static new ManagedServiceIdentityArgs Empty => new ManagedServiceIdentityArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/PoolTypeArgs.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/PoolTypeArgs.cs new file mode 100644 index 000000000000..d418d0199f63 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/PoolTypeArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Inputs +{ + + /// + /// Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + /// + public sealed class PoolTypeArgs : global::Pulumi.ResourceArgs + { + /// + /// Disk Pool Properties + /// + [Input("azureDisk")] + public Input? AzureDisk { get; set; } + + /// + /// Elastic San Pool Properties + /// + [Input("elasticSan")] + public Input? ElasticSan { get; set; } + + /// + /// Ephemeral Pool Properties + /// + [Input("ephemeralDisk")] + public Input? EphemeralDisk { get; set; } + + public PoolTypeArgs() + { + } + public static new PoolTypeArgs Empty => new PoolTypeArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/RequestsArgs.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/RequestsArgs.cs new file mode 100644 index 000000000000..9ddcb2da1a6e --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/RequestsArgs.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Inputs +{ + + /// + /// Requests for capacity for the pool. + /// + public sealed class RequestsArgs : global::Pulumi.ResourceArgs + { + /// + /// Requested capacity of the pool in GiB. + /// + [Input("storage")] + public Input? Storage { get; set; } + + public RequestsArgs() + { + Storage = 1024; + } + public static new RequestsArgs Empty => new RequestsArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/ResourcesArgs.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/ResourcesArgs.cs new file mode 100644 index 000000000000..dd4f1b6ecfae --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Inputs/ResourcesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Inputs +{ + + /// + /// Resource Requests for the pool. + /// + public sealed class ResourcesArgs : global::Pulumi.ResourceArgs + { + /// + /// Requests for capacity for the pool. + /// + [Input("requests")] + public Input? Requests { get; set; } + + public ResourcesArgs() + { + } + public static new ResourcesArgs Empty => new ResourcesArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/AssignmentResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/AssignmentResponse.cs new file mode 100644 index 000000000000..c116fac6e271 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/AssignmentResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Assignment Properties + /// + [OutputType] + public sealed class AssignmentResponse + { + /// + /// Resource id for the assigned resource + /// + public readonly string Id; + /// + /// Indicates if the assignment is in a usable state + /// + public readonly Outputs.AssignmentStatusResponse Status; + + [OutputConstructor] + private AssignmentResponse( + string id, + + Outputs.AssignmentStatusResponse status) + { + Id = id; + Status = status; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/AssignmentStatusResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/AssignmentStatusResponse.cs new file mode 100644 index 000000000000..6e6c6ab86fae --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/AssignmentStatusResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Status of the assignment resource + /// + [OutputType] + public sealed class AssignmentStatusResponse + { + /// + /// Reason for the status + /// + public readonly string? Message; + /// + /// State of the assignment resource + /// + public readonly string State; + + [OutputConstructor] + private AssignmentStatusResponse( + string? message, + + string state) + { + Message = message; + State = state; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/AzureDiskResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/AzureDiskResponse.cs new file mode 100644 index 000000000000..81a2f3470812 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/AzureDiskResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Azure Disk Pool Properties + /// + [OutputType] + public sealed class AzureDiskResponse + { + /// + /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + /// + public readonly ImmutableArray Disks; + /// + /// Encryption specifies the encryption configuration for the Azure Disk pool + /// + public readonly Outputs.EncryptionResponse? Encryption; + /// + /// Managed resource group for the pool. + /// + public readonly string ResourceGroup; + /// + /// Sku name + /// + public readonly string? SkuName; + + [OutputConstructor] + private AzureDiskResponse( + ImmutableArray disks, + + Outputs.EncryptionResponse? encryption, + + string resourceGroup, + + string? skuName) + { + Disks = disks; + Encryption = encryption; + ResourceGroup = resourceGroup; + SkuName = skuName; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/DiskResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/DiskResponse.cs new file mode 100644 index 000000000000..7149fb477eb0 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/DiskResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Model for disk for that pool is using + /// + [OutputType] + public sealed class DiskResponse + { + /// + /// ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + /// + public readonly string Id; + /// + /// Reference is the location of the disk in an external system. + /// + public readonly string Reference; + + [OutputConstructor] + private DiskResponse( + string id, + + string reference) + { + Id = id; + Reference = reference; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ElasticSanResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ElasticSanResponse.cs new file mode 100644 index 000000000000..794168f04d87 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ElasticSanResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Elastic San Pool Properties + /// + [OutputType] + public sealed class ElasticSanResponse + { + /// + /// Encryption specifies the encryption configuration for the Azure Disk pool + /// + public readonly Outputs.EncryptionResponse? Encryption; + /// + /// Managed resource group for the pool. + /// + public readonly string ResourceGroup; + /// + /// Sku name + /// + public readonly string? SkuName; + + [OutputConstructor] + private ElasticSanResponse( + Outputs.EncryptionResponse? encryption, + + string resourceGroup, + + string? skuName) + { + Encryption = encryption; + ResourceGroup = resourceGroup; + SkuName = skuName; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ElasticSanVolumePropertiesResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ElasticSanVolumePropertiesResponse.cs new file mode 100644 index 000000000000..86102e1b3224 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ElasticSanVolumePropertiesResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Properties of the ElasticSAN iSCSI target + /// + [OutputType] + public sealed class ElasticSanVolumePropertiesResponse + { + /// + /// iSCSI Target IQN (iSCSI Qualified Name); example: "iqn.2005-03.org.iscsi:server" + /// + public readonly string TargetIqn; + /// + /// iSCSI Target Portal Host Name + /// + public readonly string TargetPortalHostname; + /// + /// iSCSI Target Portal Port + /// + public readonly int TargetPortalPort; + + [OutputConstructor] + private ElasticSanVolumePropertiesResponse( + string targetIqn, + + string targetPortalHostname, + + int targetPortalPort) + { + TargetIqn = targetIqn; + TargetPortalHostname = targetPortalHostname; + TargetPortalPort = targetPortalPort; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/EncryptionResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/EncryptionResponse.cs new file mode 100644 index 000000000000..2f9af0a338a2 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/EncryptionResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Encryption key properties for the pool. + /// + [OutputType] + public sealed class EncryptionResponse + { + /// + /// The managed service identities assigned to this resource. + /// + public readonly Outputs.ManagedServiceIdentityResponse? Identity; + /// + /// The name of the key vault key. + /// + public readonly string KeyName; + /// + /// The URI of the key vault. + /// + public readonly string KeyVaultUri; + + [OutputConstructor] + private EncryptionResponse( + Outputs.ManagedServiceIdentityResponse? identity, + + string keyName, + + string keyVaultUri) + { + Identity = identity; + KeyName = keyName; + KeyVaultUri = keyVaultUri; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/EphemeralDiskResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/EphemeralDiskResponse.cs new file mode 100644 index 000000000000..e0f6a7bf93ee --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/EphemeralDiskResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Ephemeral Disk Pool Properties + /// + [OutputType] + public sealed class EphemeralDiskResponse + { + /// + /// Only required if individual disk selection is desired. Path to disk, e.g. <nodename>:/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + /// + public readonly ImmutableArray Disks; + /// + /// The number of data copies. Default 3. + /// + public readonly double? Replicas; + + [OutputConstructor] + private EphemeralDiskResponse( + ImmutableArray disks, + + double? replicas) + { + Disks = disks; + Replicas = replicas; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ManagedServiceIdentityResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ManagedServiceIdentityResponse.cs new file mode 100644 index 000000000000..1ae0d39b0ae1 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ManagedServiceIdentityResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + [OutputType] + public sealed class ManagedServiceIdentityResponse + { + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + public readonly string PrincipalId; + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + public readonly string TenantId; + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + public readonly string Type; + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + /// + public readonly ImmutableDictionary? UserAssignedIdentities; + + [OutputConstructor] + private ManagedServiceIdentityResponse( + string principalId, + + string tenantId, + + string type, + + ImmutableDictionary? userAssignedIdentities) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + UserAssignedIdentities = userAssignedIdentities; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/PoolTypeResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/PoolTypeResponse.cs new file mode 100644 index 000000000000..eea6f7305c05 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/PoolTypeResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + /// + [OutputType] + public sealed class PoolTypeResponse + { + /// + /// Disk Pool Properties + /// + public readonly Outputs.AzureDiskResponse? AzureDisk; + /// + /// Elastic San Pool Properties + /// + public readonly Outputs.ElasticSanResponse? ElasticSan; + /// + /// Ephemeral Pool Properties + /// + public readonly Outputs.EphemeralDiskResponse? EphemeralDisk; + + [OutputConstructor] + private PoolTypeResponse( + Outputs.AzureDiskResponse? azureDisk, + + Outputs.ElasticSanResponse? elasticSan, + + Outputs.EphemeralDiskResponse? ephemeralDisk) + { + AzureDisk = azureDisk; + ElasticSan = elasticSan; + EphemeralDisk = ephemeralDisk; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/RequestsResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/RequestsResponse.cs new file mode 100644 index 000000000000..be8125ac9906 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/RequestsResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Requests for capacity for the pool. + /// + [OutputType] + public sealed class RequestsResponse + { + /// + /// Requested capacity of the pool in GiB. + /// + public readonly double? Storage; + + [OutputConstructor] + private RequestsResponse(double? storage) + { + Storage = storage; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ResourceOperationalStatusResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ResourceOperationalStatusResponse.cs new file mode 100644 index 000000000000..6efd64855747 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ResourceOperationalStatusResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Status of the resource + /// + [OutputType] + public sealed class ResourceOperationalStatusResponse + { + /// + /// Reason for state. + /// + public readonly string? Message; + /// + /// state of the resource + /// + public readonly string State; + + [OutputConstructor] + private ResourceOperationalStatusResponse( + string? message, + + string state) + { + Message = message; + State = state; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ResourcesResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ResourcesResponse.cs new file mode 100644 index 000000000000..2b767a4538bc --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/ResourcesResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Resource Requests for the pool. + /// + [OutputType] + public sealed class ResourcesResponse + { + /// + /// Requests for capacity for the pool. + /// + public readonly Outputs.RequestsResponse? Requests; + + [OutputConstructor] + private ResourcesResponse(Outputs.RequestsResponse? requests) + { + Requests = requests; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/SystemDataResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..1f13bccd7ab4 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC). + /// + public readonly string? CreatedAt; + /// + /// The identity that created the resource. + /// + public readonly string? CreatedBy; + /// + /// The type of identity that created the resource. + /// + public readonly string? CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string? LastModifiedAt; + /// + /// The identity that last modified the resource. + /// + public readonly string? LastModifiedBy; + /// + /// The type of identity that last modified the resource. + /// + public readonly string? LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string? createdAt, + + string? createdBy, + + string? createdByType, + + string? lastModifiedAt, + + string? lastModifiedBy, + + string? lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/UserAssignedIdentityResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/UserAssignedIdentityResponse.cs new file mode 100644 index 000000000000..9a5bc5f5b352 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/UserAssignedIdentityResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// User assigned identity properties + /// + [OutputType] + public sealed class UserAssignedIdentityResponse + { + /// + /// The client ID of the assigned identity. + /// + public readonly string ClientId; + /// + /// The principal ID of the assigned identity. + /// + public readonly string PrincipalId; + + [OutputConstructor] + private UserAssignedIdentityResponse( + string clientId, + + string principalId) + { + ClientId = clientId; + PrincipalId = principalId; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/VolumeTypeResponse.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/VolumeTypeResponse.cs new file mode 100644 index 000000000000..00ad3417c477 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Outputs/VolumeTypeResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview.Outputs +{ + + /// + /// Properties of the volume + /// + [OutputType] + public sealed class VolumeTypeResponse + { + /// + /// Properties of the ElasticSAN iSCSI target + /// + public readonly Outputs.ElasticSanVolumePropertiesResponse ElasticSan; + + [OutputConstructor] + private VolumeTypeResponse(Outputs.ElasticSanVolumePropertiesResponse elasticSan) + { + ElasticSan = elasticSan; + } + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Pool.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Pool.cs new file mode 100644 index 000000000000..6a5798e50eba --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Pool.cs @@ -0,0 +1,216 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview +{ + /// + /// Pool resource + /// + [AzureNativeResourceType("azure-native:containerstorage/v20230701preview:Pool")] + public partial class Pool : global::Pulumi.CustomResource + { + /// + /// List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. + /// + [Output("assignments")] + public Output> Assignments { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. + /// + [Output("poolType")] + public Output PoolType { get; private set; } = null!; + + /// + /// The status of the last operation. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + /// + [Output("reclaimPolicy")] + public Output ReclaimPolicy { get; private set; } = null!; + + /// + /// Resources represent the resources the pool should have. + /// + [Output("resources")] + public Output Resources { get; private set; } = null!; + + /// + /// The operational status of the resource + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// List of availability zones that resources can be created in. + /// + [Output("zones")] + public Output> Zones { get; private set; } = null!; + + + /// + /// Create a Pool resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Pool(string name, PoolArgs args, CustomResourceOptions? options = null) + : base("azure-native:containerstorage/v20230701preview:Pool", name, args ?? new PoolArgs(), MakeResourceOptions(options, "")) + { + } + + private Pool(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:containerstorage/v20230701preview:Pool", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:containerstorage:Pool"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Pool resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Pool Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Pool(name, id, options); + } + } + + public sealed class PoolArgs : global::Pulumi.ResourceArgs + { + [Input("assignments")] + private InputList? _assignments; + + /// + /// List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. + /// + public InputList Assignments + { + get => _assignments ?? (_assignments = new InputList()); + set => _assignments = value; + } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Pool Object + /// + [Input("poolName")] + public Input? PoolName { get; set; } + + /// + /// Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. + /// + [Input("poolType", required: true)] + public Input PoolType { get; set; } = null!; + + /// + /// ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + /// + [Input("reclaimPolicy")] + public InputUnion? ReclaimPolicy { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Resources represent the resources the pool should have. + /// + [Input("resources")] + public Input? Resources { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("zones")] + private InputList>? _zones; + + /// + /// List of availability zones that resources can be created in. + /// + public InputList> Zones + { + get => _zones ?? (_zones = new InputList>()); + set => _zones = value; + } + + public PoolArgs() + { + } + public static new PoolArgs Empty => new PoolArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/README.md b/sdk/dotnet/ContainerStorage/V20230701Preview/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/ContainerStorage/V20230701Preview/Snapshot.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Snapshot.cs new file mode 100644 index 000000000000..7d2291450f19 --- /dev/null +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Snapshot.cs @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview +{ + /// + /// Concrete proxy resource types can be created by aliasing this type using a specific property type. + /// + [AzureNativeResourceType("azure-native:containerstorage/v20230701preview:Snapshot")] + public partial class Snapshot : global::Pulumi.CustomResource + { + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The status of the last operation. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Reference to the source volume + /// + [Output("source")] + public Output Source { get; private set; } = null!; + + /// + /// The status of the resource. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Snapshot resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Snapshot(string name, SnapshotArgs args, CustomResourceOptions? options = null) + : base("azure-native:containerstorage/v20230701preview:Snapshot", name, args ?? new SnapshotArgs(), MakeResourceOptions(options, "")) + { + } + + private Snapshot(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:containerstorage/v20230701preview:Snapshot", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:containerstorage:Snapshot"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Snapshot resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Snapshot Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Snapshot(name, id, options); + } + } + + public sealed class SnapshotArgs : global::Pulumi.ResourceArgs + { + /// + /// Pool Object + /// + [Input("poolName", required: true)] + public Input PoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Volume Snapshot Resource + /// + [Input("snapshotName")] + public Input? SnapshotName { get; set; } + + /// + /// Reference to the source volume + /// + [Input("source", required: true)] + public Input Source { get; set; } = null!; + + public SnapshotArgs() + { + } + public static new SnapshotArgs Empty => new SnapshotArgs(); + } +} diff --git a/sdk/dotnet/ContainerStorage/V20230301Preview/Volume.cs b/sdk/dotnet/ContainerStorage/V20230701Preview/Volume.cs similarity index 76% rename from sdk/dotnet/ContainerStorage/V20230301Preview/Volume.cs rename to sdk/dotnet/ContainerStorage/V20230701Preview/Volume.cs index 29206ce4260c..1fa719431cbe 100644 --- a/sdk/dotnet/ContainerStorage/V20230301Preview/Volume.cs +++ b/sdk/dotnet/ContainerStorage/V20230701Preview/Volume.cs @@ -7,12 +7,12 @@ using System.Threading.Tasks; using Pulumi.Serialization; -namespace Pulumi.AzureNative.ContainerStorage.V20230301Preview +namespace Pulumi.AzureNative.ContainerStorage.V20230701Preview { /// /// Concrete proxy resource types can be created by aliasing this type using a specific property type. /// - [AzureNativeResourceType("azure-native:containerstorage/v20230301preview:Volume")] + [AzureNativeResourceType("azure-native:containerstorage/v20230701preview:Volume")] public partial class Volume : global::Pulumi.CustomResource { /// @@ -27,12 +27,6 @@ public partial class Volume : global::Pulumi.CustomResource [Output("labels")] public Output> Labels { get; private set; } = null!; - /// - /// List of string mount options - /// - [Output("mountOptions")] - public Output> MountOptions { get; private set; } = null!; - /// /// The name of the resource /// @@ -46,10 +40,10 @@ public partial class Volume : global::Pulumi.CustomResource public Output ProvisioningState { get; private set; } = null!; /// - /// Reclaim Policy, Delete or Retain + /// The status of the resource. /// - [Output("reclaimPolicy")] - public Output ReclaimPolicy { get; private set; } = null!; + [Output("status")] + public Output Status { get; private set; } = null!; /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. @@ -64,10 +58,10 @@ public partial class Volume : global::Pulumi.CustomResource public Output Type { get; private set; } = null!; /// - /// Indicates how the volume should be attached + /// Properties of the volume /// - [Output("volumeMode")] - public Output VolumeMode { get; private set; } = null!; + [Output("volumeType")] + public Output VolumeType { get; private set; } = null!; /// @@ -78,12 +72,12 @@ public partial class Volume : global::Pulumi.CustomResource /// The arguments used to populate this resource's properties /// A bag of options that control this resource's behavior public Volume(string name, VolumeArgs args, CustomResourceOptions? options = null) - : base("azure-native:containerstorage/v20230301preview:Volume", name, args ?? new VolumeArgs(), MakeResourceOptions(options, "")) + : base("azure-native:containerstorage/v20230701preview:Volume", name, args ?? new VolumeArgs(), MakeResourceOptions(options, "")) { } private Volume(string name, Input id, CustomResourceOptions? options = null) - : base("azure-native:containerstorage/v20230301preview:Volume", name, null, MakeResourceOptions(options, id)) + : base("azure-native:containerstorage/v20230701preview:Volume", name, null, MakeResourceOptions(options, id)) { } @@ -136,42 +130,18 @@ public InputMap Labels set => _labels = value; } - [Input("mountOptions", required: true)] - private InputList? _mountOptions; - - /// - /// List of string mount options - /// - public InputList MountOptions - { - get => _mountOptions ?? (_mountOptions = new InputList()); - set => _mountOptions = value; - } - /// /// Pool Object /// [Input("poolName", required: true)] public Input PoolName { get; set; } = null!; - /// - /// Reclaim Policy, Delete or Retain - /// - [Input("reclaimPolicy", required: true)] - public InputUnion ReclaimPolicy { get; set; } = null!; - /// /// The name of the resource group. The name is case insensitive. /// [Input("resourceGroupName", required: true)] public Input ResourceGroupName { get; set; } = null!; - /// - /// Indicates how the volume should be attached - /// - [Input("volumeMode", required: true)] - public InputUnion VolumeMode { get; set; } = null!; - /// /// Volume Resource /// diff --git a/sdk/dotnet/ContainerStorage/Volume.cs b/sdk/dotnet/ContainerStorage/Volume.cs index 25d50c73c08a..935b7737bd09 100644 --- a/sdk/dotnet/ContainerStorage/Volume.cs +++ b/sdk/dotnet/ContainerStorage/Volume.cs @@ -11,7 +11,7 @@ namespace Pulumi.AzureNative.ContainerStorage { /// /// Concrete proxy resource types can be created by aliasing this type using a specific property type. - /// Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview + /// Azure REST API version: 2023-07-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview /// [AzureNativeResourceType("azure-native:containerstorage:Volume")] public partial class Volume : global::Pulumi.CustomResource @@ -28,12 +28,6 @@ public partial class Volume : global::Pulumi.CustomResource [Output("labels")] public Output> Labels { get; private set; } = null!; - /// - /// List of string mount options - /// - [Output("mountOptions")] - public Output> MountOptions { get; private set; } = null!; - /// /// The name of the resource /// @@ -47,10 +41,10 @@ public partial class Volume : global::Pulumi.CustomResource public Output ProvisioningState { get; private set; } = null!; /// - /// Reclaim Policy, Delete or Retain + /// The status of the resource. /// - [Output("reclaimPolicy")] - public Output ReclaimPolicy { get; private set; } = null!; + [Output("status")] + public Output Status { get; private set; } = null!; /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. @@ -65,10 +59,10 @@ public partial class Volume : global::Pulumi.CustomResource public Output Type { get; private set; } = null!; /// - /// Indicates how the volume should be attached + /// Properties of the volume /// - [Output("volumeMode")] - public Output VolumeMode { get; private set; } = null!; + [Output("volumeType")] + public Output VolumeType { get; private set; } = null!; /// @@ -95,7 +89,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? Version = Utilities.Version, Aliases = { - new global::Pulumi.Alias { Type = "azure-native:containerstorage/v20230301preview:Volume"}, + new global::Pulumi.Alias { Type = "azure-native:containerstorage/v20230701preview:Volume"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); @@ -137,42 +131,18 @@ public InputMap Labels set => _labels = value; } - [Input("mountOptions", required: true)] - private InputList? _mountOptions; - - /// - /// List of string mount options - /// - public InputList MountOptions - { - get => _mountOptions ?? (_mountOptions = new InputList()); - set => _mountOptions = value; - } - /// /// Pool Object /// [Input("poolName", required: true)] public Input PoolName { get; set; } = null!; - /// - /// Reclaim Policy, Delete or Retain - /// - [Input("reclaimPolicy", required: true)] - public InputUnion ReclaimPolicy { get; set; } = null!; - /// /// The name of the resource group. The name is case insensitive. /// [Input("resourceGroupName", required: true)] public Input ResourceGroupName { get; set; } = null!; - /// - /// Indicates how the volume should be attached - /// - [Input("volumeMode", required: true)] - public InputUnion VolumeMode { get; set; } = null!; - /// /// Volume Resource /// diff --git a/sdk/dotnet/ContainerStorage/VolumeSnapshot.cs b/sdk/dotnet/ContainerStorage/VolumeSnapshot.cs deleted file mode 100644 index 6ea5a62a805c..000000000000 --- a/sdk/dotnet/ContainerStorage/VolumeSnapshot.cs +++ /dev/null @@ -1,169 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.ContainerStorage -{ - /// - /// Concrete proxy resource types can be created by aliasing this type using a specific property type. - /// Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview - /// - [AzureNativeResourceType("azure-native:containerstorage:VolumeSnapshot")] - public partial class VolumeSnapshot : global::Pulumi.CustomResource - { - /// - /// List of string mount options - /// - [Output("mountOptions")] - public Output> MountOptions { get; private set; } = null!; - - /// - /// The name of the resource - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// The status of the last operation. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// Reclaim Policy, Delete or Retain - /// - [Output("reclaimPolicy")] - public Output ReclaimPolicy { get; private set; } = null!; - - /// - /// Reference to the source volume - /// - [Output("source")] - public Output Source { get; private set; } = null!; - - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - [Output("systemData")] - public Output SystemData { get; private set; } = null!; - - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - [Output("type")] - public Output Type { get; private set; } = null!; - - /// - /// Indicates how the volumes created from the snapshot should be attached - /// - [Output("volumeMode")] - public Output VolumeMode { get; private set; } = null!; - - - /// - /// Create a VolumeSnapshot resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public VolumeSnapshot(string name, VolumeSnapshotArgs args, CustomResourceOptions? options = null) - : base("azure-native:containerstorage:VolumeSnapshot", name, args ?? new VolumeSnapshotArgs(), MakeResourceOptions(options, "")) - { - } - - private VolumeSnapshot(string name, Input id, CustomResourceOptions? options = null) - : base("azure-native:containerstorage:VolumeSnapshot", name, null, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - Aliases = - { - new global::Pulumi.Alias { Type = "azure-native:containerstorage/v20230301preview:VolumeSnapshot"}, - }, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing VolumeSnapshot resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// A bag of options that control this resource's behavior - public static VolumeSnapshot Get(string name, Input id, CustomResourceOptions? options = null) - { - return new VolumeSnapshot(name, id, options); - } - } - - public sealed class VolumeSnapshotArgs : global::Pulumi.ResourceArgs - { - [Input("mountOptions", required: true)] - private InputList? _mountOptions; - - /// - /// List of string mount options - /// - public InputList MountOptions - { - get => _mountOptions ?? (_mountOptions = new InputList()); - set => _mountOptions = value; - } - - /// - /// Pool Object - /// - [Input("poolName", required: true)] - public Input PoolName { get; set; } = null!; - - /// - /// Reclaim Policy, Delete or Retain - /// - [Input("reclaimPolicy", required: true)] - public InputUnion ReclaimPolicy { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// Reference to the source volume - /// - [Input("source", required: true)] - public Input Source { get; set; } = null!; - - /// - /// Indicates how the volumes created from the snapshot should be attached - /// - [Input("volumeMode", required: true)] - public InputUnion VolumeMode { get; set; } = null!; - - /// - /// Volume Snapshot Resource - /// - [Input("volumeSnapshotName")] - public Input? VolumeSnapshotName { get; set; } - - public VolumeSnapshotArgs() - { - } - public static new VolumeSnapshotArgs Empty => new VolumeSnapshotArgs(); - } -} diff --git a/sdk/dotnet/DataBox/Job.cs b/sdk/dotnet/DataBox/Job.cs index 90b7a1717b83..816cf62915cc 100644 --- a/sdk/dotnet/DataBox/Job.cs +++ b/sdk/dotnet/DataBox/Job.cs @@ -185,6 +185,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:databox/v20220901:Job"}, new global::Pulumi.Alias { Type = "azure-native:databox/v20221001:Job"}, new global::Pulumi.Alias { Type = "azure-native:databox/v20221201:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20230301:Job"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DataBox/V20221201/Job.cs b/sdk/dotnet/DataBox/V20221201/Job.cs index 0f2f3dd30e3d..fb2467b77852 100644 --- a/sdk/dotnet/DataBox/V20221201/Job.cs +++ b/sdk/dotnet/DataBox/V20221201/Job.cs @@ -184,6 +184,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:databox/v20220201:Job"}, new global::Pulumi.Alias { Type = "azure-native:databox/v20220901:Job"}, new global::Pulumi.Alias { Type = "azure-native:databox/v20221001:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20230301:Job"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DataBox/V20230301/Enums.cs b/sdk/dotnet/DataBox/V20230301/Enums.cs new file mode 100644 index 000000000000..d6e0dd58148f --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Enums.cs @@ -0,0 +1,601 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.DataBox.V20230301 +{ + /// + /// Type of address. + /// + [EnumType] + public readonly struct AddressType : IEquatable + { + private readonly string _value; + + private AddressType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Address type not known. + /// + public static AddressType None { get; } = new AddressType("None"); + /// + /// Residential Address. + /// + public static AddressType Residential { get; } = new AddressType("Residential"); + /// + /// Commercial Address. + /// + public static AddressType Commercial { get; } = new AddressType("Commercial"); + + public static bool operator ==(AddressType left, AddressType right) => left.Equals(right); + public static bool operator !=(AddressType left, AddressType right) => !left.Equals(right); + + public static explicit operator string(AddressType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AddressType other && Equals(other); + public bool Equals(AddressType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Indicates the type of job details. + /// + [EnumType] + public readonly struct ClassDiscriminator : IEquatable + { + private readonly string _value; + + private ClassDiscriminator(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Data Box orders. + /// + public static ClassDiscriminator DataBox { get; } = new ClassDiscriminator("DataBox"); + /// + /// Data Box Disk orders. + /// + public static ClassDiscriminator DataBoxDisk { get; } = new ClassDiscriminator("DataBoxDisk"); + /// + /// Data Box Heavy orders. + /// + public static ClassDiscriminator DataBoxHeavy { get; } = new ClassDiscriminator("DataBoxHeavy"); + /// + /// Data Box Customer Disk orders. + /// + public static ClassDiscriminator DataBoxCustomerDisk { get; } = new ClassDiscriminator("DataBoxCustomerDisk"); + + public static bool operator ==(ClassDiscriminator left, ClassDiscriminator right) => left.Equals(right); + public static bool operator !=(ClassDiscriminator left, ClassDiscriminator right) => !left.Equals(right); + + public static explicit operator string(ClassDiscriminator value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ClassDiscriminator other && Equals(other); + public bool Equals(ClassDiscriminator other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of the account of data. + /// + [EnumType] + public readonly struct DataAccountType : IEquatable + { + private readonly string _value; + + private DataAccountType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Storage Accounts . + /// + public static DataAccountType StorageAccount { get; } = new DataAccountType("StorageAccount"); + /// + /// Azure Managed disk storage. + /// + public static DataAccountType ManagedDisk { get; } = new DataAccountType("ManagedDisk"); + + public static bool operator ==(DataAccountType left, DataAccountType right) => left.Equals(right); + public static bool operator !=(DataAccountType left, DataAccountType right) => !left.Equals(right); + + public static explicit operator string(DataAccountType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DataAccountType other && Equals(other); + public bool Equals(DataAccountType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Defines secondary layer of software-based encryption enablement. + /// + [EnumType] + public readonly struct DoubleEncryption : IEquatable + { + private readonly string _value; + + private DoubleEncryption(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Software-based encryption is enabled. + /// + public static DoubleEncryption Enabled { get; } = new DoubleEncryption("Enabled"); + /// + /// Software-based encryption is disabled. + /// + public static DoubleEncryption Disabled { get; } = new DoubleEncryption("Disabled"); + + public static bool operator ==(DoubleEncryption left, DoubleEncryption right) => left.Equals(right); + public static bool operator !=(DoubleEncryption left, DoubleEncryption right) => !left.Equals(right); + + public static explicit operator string(DoubleEncryption value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DoubleEncryption other && Equals(other); + public bool Equals(DoubleEncryption other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of the filter file. + /// + [EnumType] + public readonly struct FilterFileType : IEquatable + { + private readonly string _value; + + private FilterFileType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Filter file is of the type AzureBlob. + /// + public static FilterFileType AzureBlob { get; } = new FilterFileType("AzureBlob"); + /// + /// Filter file is of the type AzureFiles. + /// + public static FilterFileType AzureFile { get; } = new FilterFileType("AzureFile"); + + public static bool operator ==(FilterFileType left, FilterFileType right) => left.Equals(right); + public static bool operator !=(FilterFileType left, FilterFileType right) => !left.Equals(right); + + public static explicit operator string(FilterFileType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is FilterFileType other && Equals(other); + public bool Equals(FilterFileType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Defines Hardware level encryption (Only for disk) + /// + [EnumType] + public readonly struct HardwareEncryption : IEquatable + { + private readonly string _value; + + private HardwareEncryption(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Hardware-based encryption is enabled. + /// + public static HardwareEncryption Enabled { get; } = new HardwareEncryption("Enabled"); + /// + /// Hardware-based encryption is enabled. + /// + public static HardwareEncryption Disabled { get; } = new HardwareEncryption("Disabled"); + + public static bool operator ==(HardwareEncryption left, HardwareEncryption right) => left.Equals(right); + public static bool operator !=(HardwareEncryption left, HardwareEncryption right) => !left.Equals(right); + + public static explicit operator string(HardwareEncryption value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is HardwareEncryption other && Equals(other); + public bool Equals(HardwareEncryption other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Delivery type of Job. + /// + [EnumType] + public readonly struct JobDeliveryType : IEquatable + { + private readonly string _value; + + private JobDeliveryType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Non Scheduled job. + /// + public static JobDeliveryType NonScheduled { get; } = new JobDeliveryType("NonScheduled"); + /// + /// Scheduled job. + /// + public static JobDeliveryType Scheduled { get; } = new JobDeliveryType("Scheduled"); + + public static bool operator ==(JobDeliveryType left, JobDeliveryType right) => left.Equals(right); + public static bool operator !=(JobDeliveryType left, JobDeliveryType right) => !left.Equals(right); + + public static explicit operator string(JobDeliveryType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is JobDeliveryType other && Equals(other); + public bool Equals(JobDeliveryType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of encryption key used for key encryption. + /// + [EnumType] + public readonly struct KekType : IEquatable + { + private readonly string _value; + + private KekType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Key encryption key is managed by Microsoft. + /// + public static KekType MicrosoftManaged { get; } = new KekType("MicrosoftManaged"); + /// + /// Key encryption key is managed by the Customer. + /// + public static KekType CustomerManaged { get; } = new KekType("CustomerManaged"); + + public static bool operator ==(KekType left, KekType right) => left.Equals(right); + public static bool operator !=(KekType left, KekType right) => !left.Equals(right); + + public static explicit operator string(KekType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is KekType other && Equals(other); + public bool Equals(KekType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Level of the logs to be collected. + /// + [EnumType] + public readonly struct LogCollectionLevel : IEquatable + { + private readonly string _value; + + private LogCollectionLevel(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Only Errors will be collected in the logs. + /// + public static LogCollectionLevel Error { get; } = new LogCollectionLevel("Error"); + /// + /// Verbose logging (includes Errors, CRC, size information and others). + /// + public static LogCollectionLevel Verbose { get; } = new LogCollectionLevel("Verbose"); + + public static bool operator ==(LogCollectionLevel left, LogCollectionLevel right) => left.Equals(right); + public static bool operator !=(LogCollectionLevel left, LogCollectionLevel right) => !left.Equals(right); + + public static explicit operator string(LogCollectionLevel value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is LogCollectionLevel other && Equals(other); + public bool Equals(LogCollectionLevel other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Name of the stage. + /// + [EnumType] + public readonly struct NotificationStageName : IEquatable + { + private readonly string _value; + + private NotificationStageName(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Notification at device prepared stage. + /// + public static NotificationStageName DevicePrepared { get; } = new NotificationStageName("DevicePrepared"); + /// + /// Notification at device dispatched stage. + /// + public static NotificationStageName Dispatched { get; } = new NotificationStageName("Dispatched"); + /// + /// Notification at device delivered stage. + /// + public static NotificationStageName Delivered { get; } = new NotificationStageName("Delivered"); + /// + /// Notification at device picked up from user stage. + /// + public static NotificationStageName PickedUp { get; } = new NotificationStageName("PickedUp"); + /// + /// Notification at device received at Azure datacenter stage. + /// + public static NotificationStageName AtAzureDC { get; } = new NotificationStageName("AtAzureDC"); + /// + /// Notification at data copy started stage. + /// + public static NotificationStageName DataCopy { get; } = new NotificationStageName("DataCopy"); + /// + /// Notification at job created stage. + /// + public static NotificationStageName Created { get; } = new NotificationStageName("Created"); + /// + /// Notification at shipped devices to customer stage. + /// + public static NotificationStageName ShippedToCustomer { get; } = new NotificationStageName("ShippedToCustomer"); + + public static bool operator ==(NotificationStageName left, NotificationStageName right) => left.Equals(right); + public static bool operator !=(NotificationStageName left, NotificationStageName right) => !left.Equals(right); + + public static explicit operator string(NotificationStageName value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NotificationStageName other && Equals(other); + public bool Equals(NotificationStageName other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The sku name. + /// + [EnumType] + public readonly struct SkuName : IEquatable + { + private readonly string _value; + + private SkuName(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Data Box. + /// + public static SkuName DataBox { get; } = new SkuName("DataBox"); + /// + /// Data Box Disk. + /// + public static SkuName DataBoxDisk { get; } = new SkuName("DataBoxDisk"); + /// + /// Data Box Heavy. + /// + public static SkuName DataBoxHeavy { get; } = new SkuName("DataBoxHeavy"); + /// + /// Data Box Customer Disk. + /// + public static SkuName DataBoxCustomerDisk { get; } = new SkuName("DataBoxCustomerDisk"); + + public static bool operator ==(SkuName left, SkuName right) => left.Equals(right); + public static bool operator !=(SkuName left, SkuName right) => !left.Equals(right); + + public static explicit operator string(SkuName value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SkuName other && Equals(other); + public bool Equals(SkuName other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct StorageAccountAccessTier : IEquatable + { + private readonly string _value; + + private StorageAccountAccessTier(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Archive Access Tier shares requested by the customer. + /// + public static StorageAccountAccessTier Archive { get; } = new StorageAccountAccessTier("Archive"); + + public static bool operator ==(StorageAccountAccessTier left, StorageAccountAccessTier right) => left.Equals(right); + public static bool operator !=(StorageAccountAccessTier left, StorageAccountAccessTier right) => !left.Equals(right); + + public static explicit operator string(StorageAccountAccessTier value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StorageAccountAccessTier other && Equals(other); + public bool Equals(StorageAccountAccessTier other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of the configuration for transfer. + /// + [EnumType] + public readonly struct TransferConfigurationType : IEquatable + { + private readonly string _value; + + private TransferConfigurationType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Transfer all the data. + /// + public static TransferConfigurationType TransferAll { get; } = new TransferConfigurationType("TransferAll"); + /// + /// Transfer using filter. + /// + public static TransferConfigurationType TransferUsingFilter { get; } = new TransferConfigurationType("TransferUsingFilter"); + + public static bool operator ==(TransferConfigurationType left, TransferConfigurationType right) => left.Equals(right); + public static bool operator !=(TransferConfigurationType left, TransferConfigurationType right) => !left.Equals(right); + + public static explicit operator string(TransferConfigurationType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is TransferConfigurationType other && Equals(other); + public bool Equals(TransferConfigurationType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of the data transfer. + /// + [EnumType] + public readonly struct TransferType : IEquatable + { + private readonly string _value; + + private TransferType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Import data to azure. + /// + public static TransferType ImportToAzure { get; } = new TransferType("ImportToAzure"); + /// + /// Export data from azure. + /// + public static TransferType ExportFromAzure { get; } = new TransferType("ExportFromAzure"); + + public static bool operator ==(TransferType left, TransferType right) => left.Equals(right); + public static bool operator !=(TransferType left, TransferType right) => !left.Equals(right); + + public static explicit operator string(TransferType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is TransferType other && Equals(other); + public bool Equals(TransferType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Indicates Shipment Logistics type that the customer preferred. + /// + [EnumType] + public readonly struct TransportShipmentTypes : IEquatable + { + private readonly string _value; + + private TransportShipmentTypes(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Shipment Logistics is handled by the customer. + /// + public static TransportShipmentTypes CustomerManaged { get; } = new TransportShipmentTypes("CustomerManaged"); + /// + /// Shipment Logistics is handled by Microsoft. + /// + public static TransportShipmentTypes MicrosoftManaged { get; } = new TransportShipmentTypes("MicrosoftManaged"); + + public static bool operator ==(TransportShipmentTypes left, TransportShipmentTypes right) => left.Equals(right); + public static bool operator !=(TransportShipmentTypes left, TransportShipmentTypes right) => !left.Equals(right); + + public static explicit operator string(TransportShipmentTypes value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is TransportShipmentTypes other && Equals(other); + public bool Equals(TransportShipmentTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/DataBox/V20230301/GetJob.cs b/sdk/dotnet/DataBox/V20230301/GetJob.cs new file mode 100644 index 000000000000..de099aa13c3b --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/GetJob.cs @@ -0,0 +1,257 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301 +{ + public static class GetJob + { + /// + /// Gets information about the specified job. + /// + public static Task InvokeAsync(GetJobArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:databox/v20230301:getJob", args ?? new GetJobArgs(), options.WithDefaults()); + + /// + /// Gets information about the specified job. + /// + public static Output Invoke(GetJobInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:databox/v20230301:getJob", args ?? new GetJobInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetJobArgs : global::Pulumi.InvokeArgs + { + /// + /// $expand is supported on details parameter for job, which provides details on the job stages. + /// + [Input("expand")] + public string? Expand { get; set; } + + /// + /// The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + /// + [Input("jobName", required: true)] + public string JobName { get; set; } = null!; + + /// + /// The Resource Group Name + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetJobArgs() + { + } + public static new GetJobArgs Empty => new GetJobArgs(); + } + + public sealed class GetJobInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// $expand is supported on details parameter for job, which provides details on the job stages. + /// + [Input("expand")] + public Input? Expand { get; set; } + + /// + /// The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + /// + [Input("jobName", required: true)] + public Input JobName { get; set; } = null!; + + /// + /// The Resource Group Name + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetJobInvokeArgs() + { + } + public static new GetJobInvokeArgs Empty => new GetJobInvokeArgs(); + } + + + [OutputType] + public sealed class GetJobResult + { + /// + /// Reason for cancellation. + /// + public readonly string CancellationReason; + /// + /// Name of the stage where delay might be present. + /// + public readonly string DelayedStage; + /// + /// Delivery Info of Job. + /// + public readonly Outputs.JobDeliveryInfoResponse? DeliveryInfo; + /// + /// Delivery type of Job. + /// + public readonly string? DeliveryType; + /// + /// Details of a job run. This field will only be sent for expand details filter. + /// + public readonly object? Details; + /// + /// Top level error for the job. + /// + public readonly Outputs.CloudErrorResponse Error; + /// + /// Id of the object. + /// + public readonly string Id; + /// + /// Msi identity of the resource + /// + public readonly Outputs.ResourceIdentityResponse? Identity; + /// + /// Describes whether the job is cancellable or not. + /// + public readonly bool IsCancellable; + /// + /// Flag to indicate cancellation of scheduled job. + /// + public readonly bool IsCancellableWithoutFee; + /// + /// Describes whether the job is deletable or not. + /// + public readonly bool IsDeletable; + /// + /// Is Prepare To Ship Enabled on this job + /// + public readonly bool IsPrepareToShipEnabled; + /// + /// Describes whether the shipping address is editable or not. + /// + public readonly bool IsShippingAddressEditable; + /// + /// The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + /// + public readonly string Location; + /// + /// Name of the object. + /// + public readonly string Name; + /// + /// The Editable status for Reverse Shipping Address and Contact Info + /// + public readonly string ReverseShippingDetailsUpdate; + /// + /// The Editable status for Reverse Transport preferences + /// + public readonly string ReverseTransportPreferenceUpdate; + /// + /// The sku type. + /// + public readonly Outputs.SkuResponse Sku; + /// + /// Time at which the job was started in UTC ISO 8601 format. + /// + public readonly string StartTime; + /// + /// Name of the stage which is in progress. + /// + public readonly string Status; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + /// + public readonly ImmutableDictionary? Tags; + /// + /// Type of the data transfer. + /// + public readonly string TransferType; + /// + /// Type of the object. + /// + public readonly string Type; + + [OutputConstructor] + private GetJobResult( + string cancellationReason, + + string delayedStage, + + Outputs.JobDeliveryInfoResponse? deliveryInfo, + + string? deliveryType, + + object? details, + + Outputs.CloudErrorResponse error, + + string id, + + Outputs.ResourceIdentityResponse? identity, + + bool isCancellable, + + bool isCancellableWithoutFee, + + bool isDeletable, + + bool isPrepareToShipEnabled, + + bool isShippingAddressEditable, + + string location, + + string name, + + string reverseShippingDetailsUpdate, + + string reverseTransportPreferenceUpdate, + + Outputs.SkuResponse sku, + + string startTime, + + string status, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string transferType, + + string type) + { + CancellationReason = cancellationReason; + DelayedStage = delayedStage; + DeliveryInfo = deliveryInfo; + DeliveryType = deliveryType; + Details = details; + Error = error; + Id = id; + Identity = identity; + IsCancellable = isCancellable; + IsCancellableWithoutFee = isCancellableWithoutFee; + IsDeletable = isDeletable; + IsPrepareToShipEnabled = isPrepareToShipEnabled; + IsShippingAddressEditable = isShippingAddressEditable; + Location = location; + Name = name; + ReverseShippingDetailsUpdate = reverseShippingDetailsUpdate; + ReverseTransportPreferenceUpdate = reverseTransportPreferenceUpdate; + Sku = sku; + StartTime = startTime; + Status = status; + SystemData = systemData; + Tags = tags; + TransferType = transferType; + Type = type; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/AzureFileFilterDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/AzureFileFilterDetailsArgs.cs new file mode 100644 index 000000000000..bbf778525ea2 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/AzureFileFilterDetailsArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Filter details to transfer Azure files + /// + public sealed class AzureFileFilterDetailsArgs : global::Pulumi.ResourceArgs + { + [Input("filePathList")] + private InputList? _filePathList; + + /// + /// List of full path of the files to be transferred. + /// + public InputList FilePathList + { + get => _filePathList ?? (_filePathList = new InputList()); + set => _filePathList = value; + } + + [Input("filePrefixList")] + private InputList? _filePrefixList; + + /// + /// Prefix list of the Azure files to be transferred. + /// + public InputList FilePrefixList + { + get => _filePrefixList ?? (_filePrefixList = new InputList()); + set => _filePrefixList = value; + } + + [Input("fileShareList")] + private InputList? _fileShareList; + + /// + /// List of file shares to be transferred. + /// + public InputList FileShareList + { + get => _fileShareList ?? (_fileShareList = new InputList()); + set => _fileShareList = value; + } + + public AzureFileFilterDetailsArgs() + { + } + public static new AzureFileFilterDetailsArgs Empty => new AzureFileFilterDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/BlobFilterDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/BlobFilterDetailsArgs.cs new file mode 100644 index 000000000000..8ecd38ff3c98 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/BlobFilterDetailsArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Filter details to transfer Azure Blobs + /// + public sealed class BlobFilterDetailsArgs : global::Pulumi.ResourceArgs + { + [Input("blobPathList")] + private InputList? _blobPathList; + + /// + /// List of full path of the blobs to be transferred. + /// + public InputList BlobPathList + { + get => _blobPathList ?? (_blobPathList = new InputList()); + set => _blobPathList = value; + } + + [Input("blobPrefixList")] + private InputList? _blobPrefixList; + + /// + /// Prefix list of the Azure blobs to be transferred. + /// + public InputList BlobPrefixList + { + get => _blobPrefixList ?? (_blobPrefixList = new InputList()); + set => _blobPrefixList = value; + } + + [Input("containerList")] + private InputList? _containerList; + + /// + /// List of blob containers to be transferred. + /// + public InputList ContainerList + { + get => _containerList ?? (_containerList = new InputList()); + set => _containerList = value; + } + + public BlobFilterDetailsArgs() + { + } + public static new BlobFilterDetailsArgs Empty => new BlobFilterDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/ContactDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/ContactDetailsArgs.cs new file mode 100644 index 000000000000..bc49d00ff1c4 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/ContactDetailsArgs.cs @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Contact Details. + /// + public sealed class ContactDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Contact name of the person. + /// + [Input("contactName", required: true)] + public Input ContactName { get; set; } = null!; + + [Input("emailList", required: true)] + private InputList? _emailList; + + /// + /// List of Email-ids to be notified about job progress. + /// + public InputList EmailList + { + get => _emailList ?? (_emailList = new InputList()); + set => _emailList = value; + } + + /// + /// Mobile number of the contact person. + /// + [Input("mobile")] + public Input? Mobile { get; set; } + + [Input("notificationPreference")] + private InputList? _notificationPreference; + + /// + /// Notification preference for a job stage. + /// + public InputList NotificationPreference + { + get => _notificationPreference ?? (_notificationPreference = new InputList()); + set => _notificationPreference = value; + } + + /// + /// Phone number of the contact person. + /// + [Input("phone", required: true)] + public Input Phone { get; set; } = null!; + + /// + /// Phone extension number of the contact person. + /// + [Input("phoneExtension")] + public Input? PhoneExtension { get; set; } + + public ContactDetailsArgs() + { + } + public static new ContactDetailsArgs Empty => new ContactDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/ContactInfoArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/ContactInfoArgs.cs new file mode 100644 index 000000000000..361673a5d188 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/ContactInfoArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Contact Info. + /// + public sealed class ContactInfoArgs : global::Pulumi.ResourceArgs + { + /// + /// Contact name of the person. + /// + [Input("contactName", required: true)] + public Input ContactName { get; set; } = null!; + + /// + /// Mobile number of the contact person. + /// + [Input("mobile")] + public Input? Mobile { get; set; } + + /// + /// Phone number of the contact person. + /// + [Input("phone", required: true)] + public Input Phone { get; set; } = null!; + + /// + /// Phone extension number of the contact person. + /// + [Input("phoneExtension")] + public Input? PhoneExtension { get; set; } + + public ContactInfoArgs() + { + } + public static new ContactInfoArgs Empty => new ContactInfoArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/DataBoxCustomerDiskJobDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/DataBoxCustomerDiskJobDetailsArgs.cs new file mode 100644 index 000000000000..5553c94fc087 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/DataBoxCustomerDiskJobDetailsArgs.cs @@ -0,0 +1,115 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Customer disk job details. + /// + public sealed class DataBoxCustomerDiskJobDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Contact details for notification and shipping. + /// + [Input("contactDetails", required: true)] + public Input ContactDetails { get; set; } = null!; + + [Input("dataExportDetails")] + private InputList? _dataExportDetails; + + /// + /// Details of the data to be exported from azure. + /// + public InputList DataExportDetails + { + get => _dataExportDetails ?? (_dataExportDetails = new InputList()); + set => _dataExportDetails = value; + } + + [Input("dataImportDetails")] + private InputList? _dataImportDetails; + + /// + /// Details of the data to be imported into azure. + /// + public InputList DataImportDetails + { + get => _dataImportDetails ?? (_dataImportDetails = new InputList()); + set => _dataImportDetails = value; + } + + /// + /// Flag to indicate if disk manifest should be backed-up in the Storage Account. + /// + [Input("enableManifestBackup")] + public Input? EnableManifestBackup { get; set; } + + /// + /// The expected size of the data, which needs to be transferred in this job, in terabytes. + /// + [Input("expectedDataSizeInTeraBytes")] + public Input? ExpectedDataSizeInTeraBytes { get; set; } + + [Input("importDiskDetailsCollection")] + private InputMap? _importDiskDetailsCollection; + + /// + /// Contains the map of disk serial number to the disk details for import jobs. + /// + public InputMap ImportDiskDetailsCollection + { + get => _importDiskDetailsCollection ?? (_importDiskDetailsCollection = new InputMap()); + set => _importDiskDetailsCollection = value; + } + + /// + /// Indicates the type of job details. + /// Expected value is 'DataBoxCustomerDisk'. + /// + [Input("jobDetailsType", required: true)] + public Input JobDetailsType { get; set; } = null!; + + /// + /// Details about which key encryption type is being used. + /// + [Input("keyEncryptionKey")] + public Input? KeyEncryptionKey { get; set; } + + /// + /// Preferences for the order. + /// + [Input("preferences")] + public Input? Preferences { get; set; } + + /// + /// Return package shipping details. + /// + [Input("returnToCustomerPackageDetails", required: true)] + public Input ReturnToCustomerPackageDetails { get; set; } = null!; + + /// + /// Optional Reverse Shipping details for order. + /// + [Input("reverseShippingDetails")] + public Input? ReverseShippingDetails { get; set; } + + /// + /// Shipping address of the customer. + /// + [Input("shippingAddress")] + public Input? ShippingAddress { get; set; } + + public DataBoxCustomerDiskJobDetailsArgs() + { + EnableManifestBackup = false; + } + public static new DataBoxCustomerDiskJobDetailsArgs Empty => new DataBoxCustomerDiskJobDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/DataBoxDiskJobDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/DataBoxDiskJobDetailsArgs.cs new file mode 100644 index 000000000000..370e44215ef9 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/DataBoxDiskJobDetailsArgs.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// DataBox Disk Job Details. + /// + public sealed class DataBoxDiskJobDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Contact details for notification and shipping. + /// + [Input("contactDetails", required: true)] + public Input ContactDetails { get; set; } = null!; + + [Input("dataExportDetails")] + private InputList? _dataExportDetails; + + /// + /// Details of the data to be exported from azure. + /// + public InputList DataExportDetails + { + get => _dataExportDetails ?? (_dataExportDetails = new InputList()); + set => _dataExportDetails = value; + } + + [Input("dataImportDetails")] + private InputList? _dataImportDetails; + + /// + /// Details of the data to be imported into azure. + /// + public InputList DataImportDetails + { + get => _dataImportDetails ?? (_dataImportDetails = new InputList()); + set => _dataImportDetails = value; + } + + /// + /// The expected size of the data, which needs to be transferred in this job, in terabytes. + /// + [Input("expectedDataSizeInTeraBytes")] + public Input? ExpectedDataSizeInTeraBytes { get; set; } + + /// + /// Indicates the type of job details. + /// Expected value is 'DataBoxDisk'. + /// + [Input("jobDetailsType", required: true)] + public Input JobDetailsType { get; set; } = null!; + + /// + /// Details about which key encryption type is being used. + /// + [Input("keyEncryptionKey")] + public Input? KeyEncryptionKey { get; set; } + + /// + /// User entered passkey for DataBox Disk job. + /// + [Input("passkey")] + public Input? Passkey { get; set; } + + /// + /// Preferences for the order. + /// + [Input("preferences")] + public Input? Preferences { get; set; } + + [Input("preferredDisks")] + private InputMap? _preferredDisks; + + /// + /// User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. + /// + public InputMap PreferredDisks + { + get => _preferredDisks ?? (_preferredDisks = new InputMap()); + set => _preferredDisks = value; + } + + /// + /// Optional Reverse Shipping details for order. + /// + [Input("reverseShippingDetails")] + public Input? ReverseShippingDetails { get; set; } + + /// + /// Shipping address of the customer. + /// + [Input("shippingAddress")] + public Input? ShippingAddress { get; set; } + + public DataBoxDiskJobDetailsArgs() + { + } + public static new DataBoxDiskJobDetailsArgs Empty => new DataBoxDiskJobDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/DataBoxHeavyJobDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/DataBoxHeavyJobDetailsArgs.cs new file mode 100644 index 000000000000..ab09d1b3d601 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/DataBoxHeavyJobDetailsArgs.cs @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Databox Heavy Device Job Details + /// + public sealed class DataBoxHeavyJobDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Contact details for notification and shipping. + /// + [Input("contactDetails", required: true)] + public Input ContactDetails { get; set; } = null!; + + [Input("dataExportDetails")] + private InputList? _dataExportDetails; + + /// + /// Details of the data to be exported from azure. + /// + public InputList DataExportDetails + { + get => _dataExportDetails ?? (_dataExportDetails = new InputList()); + set => _dataExportDetails = value; + } + + [Input("dataImportDetails")] + private InputList? _dataImportDetails; + + /// + /// Details of the data to be imported into azure. + /// + public InputList DataImportDetails + { + get => _dataImportDetails ?? (_dataImportDetails = new InputList()); + set => _dataImportDetails = value; + } + + /// + /// Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + /// + [Input("devicePassword")] + public Input? DevicePassword { get; set; } + + /// + /// The expected size of the data, which needs to be transferred in this job, in terabytes. + /// + [Input("expectedDataSizeInTeraBytes")] + public Input? ExpectedDataSizeInTeraBytes { get; set; } + + /// + /// Indicates the type of job details. + /// Expected value is 'DataBoxHeavy'. + /// + [Input("jobDetailsType", required: true)] + public Input JobDetailsType { get; set; } = null!; + + /// + /// Details about which key encryption type is being used. + /// + [Input("keyEncryptionKey")] + public Input? KeyEncryptionKey { get; set; } + + /// + /// Preferences for the order. + /// + [Input("preferences")] + public Input? Preferences { get; set; } + + /// + /// Optional Reverse Shipping details for order. + /// + [Input("reverseShippingDetails")] + public Input? ReverseShippingDetails { get; set; } + + /// + /// Shipping address of the customer. + /// + [Input("shippingAddress")] + public Input? ShippingAddress { get; set; } + + public DataBoxHeavyJobDetailsArgs() + { + } + public static new DataBoxHeavyJobDetailsArgs Empty => new DataBoxHeavyJobDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/DataBoxJobDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/DataBoxJobDetailsArgs.cs new file mode 100644 index 000000000000..1cb0f40ef913 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/DataBoxJobDetailsArgs.cs @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Databox Job Details + /// + public sealed class DataBoxJobDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Contact details for notification and shipping. + /// + [Input("contactDetails", required: true)] + public Input ContactDetails { get; set; } = null!; + + [Input("dataExportDetails")] + private InputList? _dataExportDetails; + + /// + /// Details of the data to be exported from azure. + /// + public InputList DataExportDetails + { + get => _dataExportDetails ?? (_dataExportDetails = new InputList()); + set => _dataExportDetails = value; + } + + [Input("dataImportDetails")] + private InputList? _dataImportDetails; + + /// + /// Details of the data to be imported into azure. + /// + public InputList DataImportDetails + { + get => _dataImportDetails ?? (_dataImportDetails = new InputList()); + set => _dataImportDetails = value; + } + + /// + /// Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + /// + [Input("devicePassword")] + public Input? DevicePassword { get; set; } + + /// + /// The expected size of the data, which needs to be transferred in this job, in terabytes. + /// + [Input("expectedDataSizeInTeraBytes")] + public Input? ExpectedDataSizeInTeraBytes { get; set; } + + /// + /// Indicates the type of job details. + /// Expected value is 'DataBox'. + /// + [Input("jobDetailsType", required: true)] + public Input JobDetailsType { get; set; } = null!; + + /// + /// Details about which key encryption type is being used. + /// + [Input("keyEncryptionKey")] + public Input? KeyEncryptionKey { get; set; } + + /// + /// Preferences for the order. + /// + [Input("preferences")] + public Input? Preferences { get; set; } + + /// + /// Optional Reverse Shipping details for order. + /// + [Input("reverseShippingDetails")] + public Input? ReverseShippingDetails { get; set; } + + /// + /// Shipping address of the customer. + /// + [Input("shippingAddress")] + public Input? ShippingAddress { get; set; } + + public DataBoxJobDetailsArgs() + { + } + public static new DataBoxJobDetailsArgs Empty => new DataBoxJobDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/DataExportDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/DataExportDetailsArgs.cs new file mode 100644 index 000000000000..2eb9afe17463 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/DataExportDetailsArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Details of the data to be used for exporting data from azure. + /// + public sealed class DataExportDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Account details of the data to be transferred + /// + [Input("accountDetails", required: true)] + public InputUnion AccountDetails { get; set; } = null!; + + /// + /// Level of the logs to be collected. + /// + [Input("logCollectionLevel")] + public InputUnion? LogCollectionLevel { get; set; } + + /// + /// Configuration for the data transfer. + /// + [Input("transferConfiguration", required: true)] + public Input TransferConfiguration { get; set; } = null!; + + public DataExportDetailsArgs() + { + LogCollectionLevel = "Error"; + } + public static new DataExportDetailsArgs Empty => new DataExportDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/DataImportDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/DataImportDetailsArgs.cs new file mode 100644 index 000000000000..a4bb4c8d5979 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/DataImportDetailsArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Details of the data to be used for importing data to azure. + /// + public sealed class DataImportDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Account details of the data to be transferred + /// + [Input("accountDetails", required: true)] + public InputUnion AccountDetails { get; set; } = null!; + + /// + /// Level of the logs to be collected. + /// + [Input("logCollectionLevel")] + public InputUnion? LogCollectionLevel { get; set; } + + public DataImportDetailsArgs() + { + LogCollectionLevel = "Error"; + } + public static new DataImportDetailsArgs Empty => new DataImportDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/EncryptionPreferencesArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/EncryptionPreferencesArgs.cs new file mode 100644 index 000000000000..2e186482094e --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/EncryptionPreferencesArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Preferences related to the Encryption. + /// + public sealed class EncryptionPreferencesArgs : global::Pulumi.ResourceArgs + { + /// + /// Defines secondary layer of software-based encryption enablement. + /// + [Input("doubleEncryption")] + public InputUnion? DoubleEncryption { get; set; } + + /// + /// Defines Hardware level encryption (Only for disk) + /// + [Input("hardwareEncryption")] + public InputUnion? HardwareEncryption { get; set; } + + public EncryptionPreferencesArgs() + { + DoubleEncryption = "Disabled"; + } + public static new EncryptionPreferencesArgs Empty => new EncryptionPreferencesArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/FilterFileDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/FilterFileDetailsArgs.cs new file mode 100644 index 000000000000..40de817c679b --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/FilterFileDetailsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Details of the filter files to be used for data transfer. + /// + public sealed class FilterFileDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Path of the file that contains the details of all items to transfer. + /// + [Input("filterFilePath", required: true)] + public Input FilterFilePath { get; set; } = null!; + + /// + /// Type of the filter file. + /// + [Input("filterFileType", required: true)] + public InputUnion FilterFileType { get; set; } = null!; + + public FilterFileDetailsArgs() + { + } + public static new FilterFileDetailsArgs Empty => new FilterFileDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/IdentityPropertiesArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/IdentityPropertiesArgs.cs new file mode 100644 index 000000000000..319617a526d0 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/IdentityPropertiesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Managed identity properties. + /// + public sealed class IdentityPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Managed service identity type. + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// User assigned identity properties. + /// + [Input("userAssigned")] + public Input? UserAssigned { get; set; } + + public IdentityPropertiesArgs() + { + } + public static new IdentityPropertiesArgs Empty => new IdentityPropertiesArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/ImportDiskDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/ImportDiskDetailsArgs.cs new file mode 100644 index 000000000000..64b628ecf4a4 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/ImportDiskDetailsArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Import disk details + /// + public sealed class ImportDiskDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// BitLocker key used to encrypt the disk. + /// + [Input("bitLockerKey", required: true)] + public Input BitLockerKey { get; set; } = null!; + + /// + /// The relative path of the manifest file on the disk. + /// + [Input("manifestFile", required: true)] + public Input ManifestFile { get; set; } = null!; + + /// + /// The Base16-encoded MD5 hash of the manifest file on the disk. + /// + [Input("manifestHash", required: true)] + public Input ManifestHash { get; set; } = null!; + + public ImportDiskDetailsArgs() + { + } + public static new ImportDiskDetailsArgs Empty => new ImportDiskDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/JobDeliveryInfoArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/JobDeliveryInfoArgs.cs new file mode 100644 index 000000000000..c2c251e68047 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/JobDeliveryInfoArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Additional delivery info. + /// + public sealed class JobDeliveryInfoArgs : global::Pulumi.ResourceArgs + { + /// + /// Scheduled date time. + /// + [Input("scheduledDateTime")] + public Input? ScheduledDateTime { get; set; } + + public JobDeliveryInfoArgs() + { + } + public static new JobDeliveryInfoArgs Empty => new JobDeliveryInfoArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/KeyEncryptionKeyArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/KeyEncryptionKeyArgs.cs new file mode 100644 index 000000000000..5d43c487b86e --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/KeyEncryptionKeyArgs.cs @@ -0,0 +1,48 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Encryption key containing details about key to encrypt different keys. + /// + public sealed class KeyEncryptionKeyArgs : global::Pulumi.ResourceArgs + { + /// + /// Managed identity properties used for key encryption. + /// + [Input("identityProperties")] + public Input? IdentityProperties { get; set; } + + /// + /// Type of encryption key used for key encryption. + /// + [Input("kekType", required: true)] + public InputUnion KekType { get; set; } = null!; + + /// + /// Key encryption key. It is required in case of Customer managed KekType. + /// + [Input("kekUrl")] + public Input? KekUrl { get; set; } + + /// + /// Kek vault resource id. It is required in case of Customer managed KekType. + /// + [Input("kekVaultResourceID")] + public Input? KekVaultResourceID { get; set; } + + public KeyEncryptionKeyArgs() + { + KekType = "MicrosoftManaged"; + } + public static new KeyEncryptionKeyArgs Empty => new KeyEncryptionKeyArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/ManagedDiskDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/ManagedDiskDetailsArgs.cs new file mode 100644 index 000000000000..f2abafe9010c --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/ManagedDiskDetailsArgs.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Details of the managed disks. + /// + public sealed class ManagedDiskDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Account Type of the data to be transferred. + /// Expected value is 'ManagedDisk'. + /// + [Input("dataAccountType", required: true)] + public Input DataAccountType { get; set; } = null!; + + /// + /// Resource Group Id of the compute disks. + /// + [Input("resourceGroupId", required: true)] + public Input ResourceGroupId { get; set; } = null!; + + /// + /// Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + /// + [Input("sharePassword")] + public Input? SharePassword { get; set; } + + /// + /// Resource Id of the storage account that can be used to copy the vhd for staging. + /// + [Input("stagingStorageAccountId", required: true)] + public Input StagingStorageAccountId { get; set; } = null!; + + public ManagedDiskDetailsArgs() + { + DataAccountType = "StorageAccount"; + } + public static new ManagedDiskDetailsArgs Empty => new ManagedDiskDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/NotificationPreferenceArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/NotificationPreferenceArgs.cs new file mode 100644 index 000000000000..d6d04848f40c --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/NotificationPreferenceArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Notification preference for a job stage. + /// + public sealed class NotificationPreferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// Notification is required or not. + /// + [Input("sendNotification", required: true)] + public Input SendNotification { get; set; } = null!; + + /// + /// Name of the stage. + /// + [Input("stageName", required: true)] + public InputUnion StageName { get; set; } = null!; + + public NotificationPreferenceArgs() + { + SendNotification = true; + } + public static new NotificationPreferenceArgs Empty => new NotificationPreferenceArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/PackageCarrierDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/PackageCarrierDetailsArgs.cs new file mode 100644 index 000000000000..83bbc0b01fd6 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/PackageCarrierDetailsArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Package carrier details. + /// + public sealed class PackageCarrierDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Carrier Account Number of customer for customer disk. + /// + [Input("carrierAccountNumber")] + public Input? CarrierAccountNumber { get; set; } + + /// + /// Name of the carrier. + /// + [Input("carrierName")] + public Input? CarrierName { get; set; } + + /// + /// Tracking Id of shipment. + /// + [Input("trackingId")] + public Input? TrackingId { get; set; } + + public PackageCarrierDetailsArgs() + { + } + public static new PackageCarrierDetailsArgs Empty => new PackageCarrierDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/PreferencesArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/PreferencesArgs.cs new file mode 100644 index 000000000000..23731704f35a --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/PreferencesArgs.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Preferences related to the order + /// + public sealed class PreferencesArgs : global::Pulumi.ResourceArgs + { + /// + /// Preferences related to the Encryption. + /// + [Input("encryptionPreferences")] + public Input? EncryptionPreferences { get; set; } + + [Input("preferredDataCenterRegion")] + private InputList? _preferredDataCenterRegion; + + /// + /// Preferred data center region. + /// + public InputList PreferredDataCenterRegion + { + get => _preferredDataCenterRegion ?? (_preferredDataCenterRegion = new InputList()); + set => _preferredDataCenterRegion = value; + } + + /// + /// Optional Preferences related to the reverse shipment logistics of the sku. + /// + [Input("reverseTransportPreferences")] + public Input? ReverseTransportPreferences { get; set; } + + [Input("storageAccountAccessTierPreferences")] + private InputList>? _storageAccountAccessTierPreferences; + + /// + /// Preferences related to the Access Tier of storage accounts. + /// + public InputList> StorageAccountAccessTierPreferences + { + get => _storageAccountAccessTierPreferences ?? (_storageAccountAccessTierPreferences = new InputList>()); + set => _storageAccountAccessTierPreferences = value; + } + + /// + /// Preferences related to the shipment logistics of the sku. + /// + [Input("transportPreferences")] + public Input? TransportPreferences { get; set; } + + public PreferencesArgs() + { + } + public static new PreferencesArgs Empty => new PreferencesArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/ResourceIdentityArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/ResourceIdentityArgs.cs new file mode 100644 index 000000000000..9381c7edf38e --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/ResourceIdentityArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Msi identity details of the resource + /// + public sealed class ResourceIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// Identity type + /// + [Input("type")] + public Input? Type { get; set; } + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// User Assigned Identities + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } + + public ResourceIdentityArgs() + { + Type = "None"; + } + public static new ResourceIdentityArgs Empty => new ResourceIdentityArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/ReverseShippingDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/ReverseShippingDetailsArgs.cs new file mode 100644 index 000000000000..307d66370743 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/ReverseShippingDetailsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Reverse Shipping Address and contact details for a job. + /// + public sealed class ReverseShippingDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Contact Info. + /// + [Input("contactDetails")] + public Input? ContactDetails { get; set; } + + /// + /// Shipping address where customer wishes to receive the device. + /// + [Input("shippingAddress")] + public Input? ShippingAddress { get; set; } + + public ReverseShippingDetailsArgs() + { + } + public static new ReverseShippingDetailsArgs Empty => new ReverseShippingDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/ShippingAddressArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/ShippingAddressArgs.cs new file mode 100644 index 000000000000..5cb4862d762c --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/ShippingAddressArgs.cs @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Shipping address where customer wishes to receive the device. + /// + public sealed class ShippingAddressArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of address. + /// + [Input("addressType")] + public InputUnion? AddressType { get; set; } + + /// + /// Name of the City. + /// + [Input("city")] + public Input? City { get; set; } + + /// + /// Name of the company. + /// + [Input("companyName")] + public Input? CompanyName { get; set; } + + /// + /// Name of the Country. + /// + [Input("country", required: true)] + public Input Country { get; set; } = null!; + + /// + /// Postal code. + /// + [Input("postalCode")] + public Input? PostalCode { get; set; } + + /// + /// Flag to indicate if customer has chosen to skip default address validation + /// + [Input("skipAddressValidation")] + public Input? SkipAddressValidation { get; set; } + + /// + /// Name of the State or Province. + /// + [Input("stateOrProvince")] + public Input? StateOrProvince { get; set; } + + /// + /// Street Address line 1. + /// + [Input("streetAddress1", required: true)] + public Input StreetAddress1 { get; set; } = null!; + + /// + /// Street Address line 2. + /// + [Input("streetAddress2")] + public Input? StreetAddress2 { get; set; } + + /// + /// Street Address line 3. + /// + [Input("streetAddress3")] + public Input? StreetAddress3 { get; set; } + + /// + /// Tax Identification Number + /// + [Input("taxIdentificationNumber")] + public Input? TaxIdentificationNumber { get; set; } + + /// + /// Extended Zip Code. + /// + [Input("zipExtendedCode")] + public Input? ZipExtendedCode { get; set; } + + public ShippingAddressArgs() + { + AddressType = "None"; + } + public static new ShippingAddressArgs Empty => new ShippingAddressArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/SkuArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/SkuArgs.cs new file mode 100644 index 000000000000..f174c33d503b --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/SkuArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// The Sku. + /// + public sealed class SkuArgs : global::Pulumi.ResourceArgs + { + /// + /// The display name of the sku. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// The sku family. + /// + [Input("family")] + public Input? Family { get; set; } + + /// + /// The sku name. + /// + [Input("name", required: true)] + public InputUnion Name { get; set; } = null!; + + public SkuArgs() + { + } + public static new SkuArgs Empty => new SkuArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/StorageAccountDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/StorageAccountDetailsArgs.cs new file mode 100644 index 000000000000..17782b805bd7 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/StorageAccountDetailsArgs.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Details for the storage account. + /// + public sealed class StorageAccountDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Account Type of the data to be transferred. + /// Expected value is 'StorageAccount'. + /// + [Input("dataAccountType", required: true)] + public Input DataAccountType { get; set; } = null!; + + /// + /// Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + /// + [Input("sharePassword")] + public Input? SharePassword { get; set; } + + /// + /// Storage Account Resource Id. + /// + [Input("storageAccountId", required: true)] + public Input StorageAccountId { get; set; } = null!; + + public StorageAccountDetailsArgs() + { + DataAccountType = "StorageAccount"; + } + public static new StorageAccountDetailsArgs Empty => new StorageAccountDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/TransferAllDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/TransferAllDetailsArgs.cs new file mode 100644 index 000000000000..897c36e67193 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/TransferAllDetailsArgs.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Details to transfer all data. + /// + public sealed class TransferAllDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of the account of data + /// + [Input("dataAccountType", required: true)] + public InputUnion DataAccountType { get; set; } = null!; + + /// + /// To indicate if all Azure blobs have to be transferred + /// + [Input("transferAllBlobs")] + public Input? TransferAllBlobs { get; set; } + + /// + /// To indicate if all Azure Files have to be transferred + /// + [Input("transferAllFiles")] + public Input? TransferAllFiles { get; set; } + + public TransferAllDetailsArgs() + { + DataAccountType = "StorageAccount"; + } + public static new TransferAllDetailsArgs Empty => new TransferAllDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/TransferConfigurationArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/TransferConfigurationArgs.cs new file mode 100644 index 000000000000..5ee3ae301ab1 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/TransferConfigurationArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Configuration for defining the transfer of data. + /// + public sealed class TransferConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + /// + [Input("transferAllDetails")] + public Input? TransferAllDetails { get; set; } + + /// + /// Type of the configuration for transfer. + /// + [Input("transferConfigurationType", required: true)] + public InputUnion TransferConfigurationType { get; set; } = null!; + + /// + /// Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + /// + [Input("transferFilterDetails")] + public Input? TransferFilterDetails { get; set; } + + public TransferConfigurationArgs() + { + } + public static new TransferConfigurationArgs Empty => new TransferConfigurationArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/TransferConfigurationTransferAllDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/TransferConfigurationTransferAllDetailsArgs.cs new file mode 100644 index 000000000000..d8c5ddf7be98 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/TransferConfigurationTransferAllDetailsArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + /// + public sealed class TransferConfigurationTransferAllDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Details to transfer all data. + /// + [Input("include")] + public Input? Include { get; set; } + + public TransferConfigurationTransferAllDetailsArgs() + { + } + public static new TransferConfigurationTransferAllDetailsArgs Empty => new TransferConfigurationTransferAllDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/TransferConfigurationTransferFilterDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/TransferConfigurationTransferFilterDetailsArgs.cs new file mode 100644 index 000000000000..e3492e7bcd78 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/TransferConfigurationTransferFilterDetailsArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + /// + public sealed class TransferConfigurationTransferFilterDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Details of the filtering the transfer of data. + /// + [Input("include")] + public Input? Include { get; set; } + + public TransferConfigurationTransferFilterDetailsArgs() + { + } + public static new TransferConfigurationTransferFilterDetailsArgs Empty => new TransferConfigurationTransferFilterDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/TransferFilterDetailsArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/TransferFilterDetailsArgs.cs new file mode 100644 index 000000000000..a965615bafa3 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/TransferFilterDetailsArgs.cs @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Details of the filtering the transfer of data. + /// + public sealed class TransferFilterDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// Filter details to transfer Azure files. + /// + [Input("azureFileFilterDetails")] + public Input? AzureFileFilterDetails { get; set; } + + /// + /// Filter details to transfer blobs. + /// + [Input("blobFilterDetails")] + public Input? BlobFilterDetails { get; set; } + + /// + /// Type of the account of data. + /// + [Input("dataAccountType", required: true)] + public InputUnion DataAccountType { get; set; } = null!; + + [Input("filterFileDetails")] + private InputList? _filterFileDetails; + + /// + /// Details of the filter files to be used for data transfer. + /// + public InputList FilterFileDetails + { + get => _filterFileDetails ?? (_filterFileDetails = new InputList()); + set => _filterFileDetails = value; + } + + public TransferFilterDetailsArgs() + { + DataAccountType = "StorageAccount"; + } + public static new TransferFilterDetailsArgs Empty => new TransferFilterDetailsArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/TransportPreferencesArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/TransportPreferencesArgs.cs new file mode 100644 index 000000000000..04ce0c9a614a --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/TransportPreferencesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// Preferences related to the shipment logistics of the sku + /// + public sealed class TransportPreferencesArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates Shipment Logistics type that the customer preferred. + /// + [Input("preferredShipmentType", required: true)] + public InputUnion PreferredShipmentType { get; set; } = null!; + + public TransportPreferencesArgs() + { + } + public static new TransportPreferencesArgs Empty => new TransportPreferencesArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Inputs/UserAssignedPropertiesArgs.cs b/sdk/dotnet/DataBox/V20230301/Inputs/UserAssignedPropertiesArgs.cs new file mode 100644 index 000000000000..0cc56c96aa88 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Inputs/UserAssignedPropertiesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Inputs +{ + + /// + /// User assigned identity properties. + /// + public sealed class UserAssignedPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Arm resource id for user assigned identity to be used to fetch MSI token. + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + public UserAssignedPropertiesArgs() + { + } + public static new UserAssignedPropertiesArgs Empty => new UserAssignedPropertiesArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Job.cs b/sdk/dotnet/DataBox/V20230301/Job.cs new file mode 100644 index 000000000000..eecc060582e5 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Job.cs @@ -0,0 +1,289 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301 +{ + /// + /// Job Resource. + /// + [AzureNativeResourceType("azure-native:databox/v20230301:Job")] + public partial class Job : global::Pulumi.CustomResource + { + /// + /// Reason for cancellation. + /// + [Output("cancellationReason")] + public Output CancellationReason { get; private set; } = null!; + + /// + /// Name of the stage where delay might be present. + /// + [Output("delayedStage")] + public Output DelayedStage { get; private set; } = null!; + + /// + /// Delivery Info of Job. + /// + [Output("deliveryInfo")] + public Output DeliveryInfo { get; private set; } = null!; + + /// + /// Delivery type of Job. + /// + [Output("deliveryType")] + public Output DeliveryType { get; private set; } = null!; + + /// + /// Details of a job run. This field will only be sent for expand details filter. + /// + [Output("details")] + public Output Details { get; private set; } = null!; + + /// + /// Top level error for the job. + /// + [Output("error")] + public Output Error { get; private set; } = null!; + + /// + /// Msi identity of the resource + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// Describes whether the job is cancellable or not. + /// + [Output("isCancellable")] + public Output IsCancellable { get; private set; } = null!; + + /// + /// Flag to indicate cancellation of scheduled job. + /// + [Output("isCancellableWithoutFee")] + public Output IsCancellableWithoutFee { get; private set; } = null!; + + /// + /// Describes whether the job is deletable or not. + /// + [Output("isDeletable")] + public Output IsDeletable { get; private set; } = null!; + + /// + /// Is Prepare To Ship Enabled on this job + /// + [Output("isPrepareToShipEnabled")] + public Output IsPrepareToShipEnabled { get; private set; } = null!; + + /// + /// Describes whether the shipping address is editable or not. + /// + [Output("isShippingAddressEditable")] + public Output IsShippingAddressEditable { get; private set; } = null!; + + /// + /// The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Name of the object. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The Editable status for Reverse Shipping Address and Contact Info + /// + [Output("reverseShippingDetailsUpdate")] + public Output ReverseShippingDetailsUpdate { get; private set; } = null!; + + /// + /// The Editable status for Reverse Transport preferences + /// + [Output("reverseTransportPreferenceUpdate")] + public Output ReverseTransportPreferenceUpdate { get; private set; } = null!; + + /// + /// The sku type. + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Time at which the job was started in UTC ISO 8601 format. + /// + [Output("startTime")] + public Output StartTime { get; private set; } = null!; + + /// + /// Name of the stage which is in progress. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Type of the data transfer. + /// + [Output("transferType")] + public Output TransferType { get; private set; } = null!; + + /// + /// Type of the object. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Job resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Job(string name, JobArgs args, CustomResourceOptions? options = null) + : base("azure-native:databox/v20230301:Job", name, args ?? new JobArgs(), MakeResourceOptions(options, "")) + { + } + + private Job(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:databox/v20230301:Job", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:databox:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20180101:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20190901:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20200401:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20201101:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20210301:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20210501:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20210801preview:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20211201:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20220201:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20220901:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20221001:Job"}, + new global::Pulumi.Alias { Type = "azure-native:databox/v20221201:Job"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Job resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Job Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Job(name, id, options); + } + } + + public sealed class JobArgs : global::Pulumi.ResourceArgs + { + /// + /// Delivery Info of Job. + /// + [Input("deliveryInfo")] + public Input? DeliveryInfo { get; set; } + + /// + /// Delivery type of Job. + /// + [Input("deliveryType")] + public InputUnion? DeliveryType { get; set; } + + /// + /// Details of a job run. This field will only be sent for expand details filter. + /// + [Input("details")] + public object? Details { get; set; } + + /// + /// Msi identity of the resource + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + /// + [Input("jobName")] + public Input? JobName { get; set; } + + /// + /// The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The Resource Group Name + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The sku type. + /// + [Input("sku", required: true)] + public Input Sku { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// Type of the data transfer. + /// + [Input("transferType", required: true)] + public InputUnion TransferType { get; set; } = null!; + + public JobArgs() + { + DeliveryType = "NonScheduled"; + } + public static new JobArgs Empty => new JobArgs(); + } +} diff --git a/sdk/dotnet/DataBox/V20230301/ListJobCredentials.cs b/sdk/dotnet/DataBox/V20230301/ListJobCredentials.cs new file mode 100644 index 000000000000..ba91c32c2433 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/ListJobCredentials.cs @@ -0,0 +1,91 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301 +{ + public static class ListJobCredentials + { + /// + /// This method gets the unencrypted secrets related to the job. + /// + public static Task InvokeAsync(ListJobCredentialsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:databox/v20230301:listJobCredentials", args ?? new ListJobCredentialsArgs(), options.WithDefaults()); + + /// + /// This method gets the unencrypted secrets related to the job. + /// + public static Output Invoke(ListJobCredentialsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:databox/v20230301:listJobCredentials", args ?? new ListJobCredentialsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class ListJobCredentialsArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + /// + [Input("jobName", required: true)] + public string JobName { get; set; } = null!; + + /// + /// The Resource Group Name + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public ListJobCredentialsArgs() + { + } + public static new ListJobCredentialsArgs Empty => new ListJobCredentialsArgs(); + } + + public sealed class ListJobCredentialsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + /// + [Input("jobName", required: true)] + public Input JobName { get; set; } = null!; + + /// + /// The Resource Group Name + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public ListJobCredentialsInvokeArgs() + { + } + public static new ListJobCredentialsInvokeArgs Empty => new ListJobCredentialsInvokeArgs(); + } + + + [OutputType] + public sealed class ListJobCredentialsResult + { + /// + /// Link for the next set of unencrypted credentials. + /// + public readonly string? NextLink; + /// + /// List of unencrypted credentials. + /// + public readonly ImmutableArray Value; + + [OutputConstructor] + private ListJobCredentialsResult( + string? nextLink, + + ImmutableArray value) + { + NextLink = nextLink; + Value = value; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/AccountCredentialDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/AccountCredentialDetailsResponse.cs new file mode 100644 index 000000000000..a544335d38f9 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/AccountCredentialDetailsResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Credential details of the account. + /// + [OutputType] + public sealed class AccountCredentialDetailsResponse + { + /// + /// Connection string of the account endpoint to use the account as a storage endpoint on the device. + /// + public readonly string AccountConnectionString; + /// + /// Name of the account. + /// + public readonly string AccountName; + /// + /// Type of the account. + /// + public readonly string DataAccountType; + /// + /// Per share level unencrypted access credentials. + /// + public readonly ImmutableArray ShareCredentialDetails; + + [OutputConstructor] + private AccountCredentialDetailsResponse( + string accountConnectionString, + + string accountName, + + string dataAccountType, + + ImmutableArray shareCredentialDetails) + { + AccountConnectionString = accountConnectionString; + AccountName = accountName; + DataAccountType = dataAccountType; + ShareCredentialDetails = shareCredentialDetails; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/AdditionalErrorInfoResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/AdditionalErrorInfoResponse.cs new file mode 100644 index 000000000000..89ee99bce4cb --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/AdditionalErrorInfoResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// This class represents additional info which Resource Providers pass when an error occurs. + /// + [OutputType] + public sealed class AdditionalErrorInfoResponse + { + /// + /// Additional information of the type of error. + /// + public readonly object? Info; + /// + /// Type of error (e.g. CustomerIntervention, PolicyViolation, SecurityViolation). + /// + public readonly string? Type; + + [OutputConstructor] + private AdditionalErrorInfoResponse( + object? info, + + string? type) + { + Info = info; + Type = type; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/ApplianceNetworkConfigurationResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/ApplianceNetworkConfigurationResponse.cs new file mode 100644 index 000000000000..414ac8d1a792 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/ApplianceNetworkConfigurationResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// The Network Adapter configuration of a DataBox. + /// + [OutputType] + public sealed class ApplianceNetworkConfigurationResponse + { + /// + /// Mac Address. + /// + public readonly string MacAddress; + /// + /// Name of the network. + /// + public readonly string Name; + + [OutputConstructor] + private ApplianceNetworkConfigurationResponse( + string macAddress, + + string name) + { + MacAddress = macAddress; + Name = name; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/AzureFileFilterDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/AzureFileFilterDetailsResponse.cs new file mode 100644 index 000000000000..770c9c76df6e --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/AzureFileFilterDetailsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Filter details to transfer Azure files + /// + [OutputType] + public sealed class AzureFileFilterDetailsResponse + { + /// + /// List of full path of the files to be transferred. + /// + public readonly ImmutableArray FilePathList; + /// + /// Prefix list of the Azure files to be transferred. + /// + public readonly ImmutableArray FilePrefixList; + /// + /// List of file shares to be transferred. + /// + public readonly ImmutableArray FileShareList; + + [OutputConstructor] + private AzureFileFilterDetailsResponse( + ImmutableArray filePathList, + + ImmutableArray filePrefixList, + + ImmutableArray fileShareList) + { + FilePathList = filePathList; + FilePrefixList = filePrefixList; + FileShareList = fileShareList; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/BlobFilterDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/BlobFilterDetailsResponse.cs new file mode 100644 index 000000000000..b3aa7c10b6f4 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/BlobFilterDetailsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Filter details to transfer Azure Blobs + /// + [OutputType] + public sealed class BlobFilterDetailsResponse + { + /// + /// List of full path of the blobs to be transferred. + /// + public readonly ImmutableArray BlobPathList; + /// + /// Prefix list of the Azure blobs to be transferred. + /// + public readonly ImmutableArray BlobPrefixList; + /// + /// List of blob containers to be transferred. + /// + public readonly ImmutableArray ContainerList; + + [OutputConstructor] + private BlobFilterDetailsResponse( + ImmutableArray blobPathList, + + ImmutableArray blobPrefixList, + + ImmutableArray containerList) + { + BlobPathList = blobPathList; + BlobPrefixList = blobPrefixList; + ContainerList = containerList; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/CloudErrorResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/CloudErrorResponse.cs new file mode 100644 index 000000000000..c5c57cfd4fb9 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/CloudErrorResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Provides additional information about an http error response. + /// + [OutputType] + public sealed class CloudErrorResponse + { + /// + /// Gets or sets additional error info. + /// + public readonly ImmutableArray AdditionalInfo; + /// + /// Error code. + /// + public readonly string? Code; + /// + /// Gets or sets details for the error. + /// + public readonly ImmutableArray Details; + /// + /// The error message parsed from the body of the http error response. + /// + public readonly string? Message; + /// + /// Gets or sets the target of the error. + /// + public readonly string? Target; + + [OutputConstructor] + private CloudErrorResponse( + ImmutableArray additionalInfo, + + string? code, + + ImmutableArray details, + + string? message, + + string? target) + { + AdditionalInfo = additionalInfo; + Code = code; + Details = details; + Message = message; + Target = target; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/ContactDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/ContactDetailsResponse.cs new file mode 100644 index 000000000000..1ab3cd535b01 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/ContactDetailsResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Contact Details. + /// + [OutputType] + public sealed class ContactDetailsResponse + { + /// + /// Contact name of the person. + /// + public readonly string ContactName; + /// + /// List of Email-ids to be notified about job progress. + /// + public readonly ImmutableArray EmailList; + /// + /// Mobile number of the contact person. + /// + public readonly string? Mobile; + /// + /// Notification preference for a job stage. + /// + public readonly ImmutableArray NotificationPreference; + /// + /// Phone number of the contact person. + /// + public readonly string Phone; + /// + /// Phone extension number of the contact person. + /// + public readonly string? PhoneExtension; + + [OutputConstructor] + private ContactDetailsResponse( + string contactName, + + ImmutableArray emailList, + + string? mobile, + + ImmutableArray notificationPreference, + + string phone, + + string? phoneExtension) + { + ContactName = contactName; + EmailList = emailList; + Mobile = mobile; + NotificationPreference = notificationPreference; + Phone = phone; + PhoneExtension = phoneExtension; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/ContactInfoResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/ContactInfoResponse.cs new file mode 100644 index 000000000000..c409673b1665 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/ContactInfoResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Contact Info. + /// + [OutputType] + public sealed class ContactInfoResponse + { + /// + /// Contact name of the person. + /// + public readonly string ContactName; + /// + /// Mobile number of the contact person. + /// + public readonly string? Mobile; + /// + /// Phone number of the contact person. + /// + public readonly string Phone; + /// + /// Phone extension number of the contact person. + /// + public readonly string? PhoneExtension; + + [OutputConstructor] + private ContactInfoResponse( + string contactName, + + string? mobile, + + string phone, + + string? phoneExtension) + { + ContactName = contactName; + Mobile = mobile; + Phone = phone; + PhoneExtension = phoneExtension; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/CopyProgressResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/CopyProgressResponse.cs new file mode 100644 index 000000000000..7b97e100a605 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/CopyProgressResponse.cs @@ -0,0 +1,144 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Copy progress. + /// + [OutputType] + public sealed class CopyProgressResponse + { + /// + /// Id of the account where the data needs to be uploaded. + /// + public readonly string AccountId; + /// + /// Available actions on the job. + /// + public readonly ImmutableArray Actions; + /// + /// To indicate bytes transferred. + /// + public readonly double BytesProcessed; + /// + /// Data Account Type. + /// + public readonly string DataAccountType; + /// + /// To indicate directories errored out in the job. + /// + public readonly double DirectoriesErroredOut; + /// + /// Error, if any, in the stage + /// + public readonly Outputs.CloudErrorResponse Error; + /// + /// Number of files which could not be copied + /// + public readonly double FilesErroredOut; + /// + /// Number of files processed + /// + public readonly double FilesProcessed; + /// + /// To indicate directories renamed + /// + public readonly double InvalidDirectoriesProcessed; + /// + /// Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + /// + public readonly double InvalidFileBytesUploaded; + /// + /// Number of files not adhering to azure naming conventions which were processed by automatic renaming + /// + public readonly double InvalidFilesProcessed; + /// + /// To indicate if enumeration of data is in progress. + /// Until this is true, the TotalBytesToProcess may not be valid. + /// + public readonly bool IsEnumerationInProgress; + /// + /// Number of folders not adhering to azure naming conventions which were processed by automatic renaming + /// + public readonly double RenamedContainerCount; + /// + /// Name of the storage account. This will be empty for data account types other than storage account. + /// + public readonly string StorageAccountName; + /// + /// Total amount of data to be processed by the job. + /// + public readonly double TotalBytesToProcess; + /// + /// Total files to process + /// + public readonly double TotalFilesToProcess; + /// + /// Transfer type of data + /// + public readonly string TransferType; + + [OutputConstructor] + private CopyProgressResponse( + string accountId, + + ImmutableArray actions, + + double bytesProcessed, + + string dataAccountType, + + double directoriesErroredOut, + + Outputs.CloudErrorResponse error, + + double filesErroredOut, + + double filesProcessed, + + double invalidDirectoriesProcessed, + + double invalidFileBytesUploaded, + + double invalidFilesProcessed, + + bool isEnumerationInProgress, + + double renamedContainerCount, + + string storageAccountName, + + double totalBytesToProcess, + + double totalFilesToProcess, + + string transferType) + { + AccountId = accountId; + Actions = actions; + BytesProcessed = bytesProcessed; + DataAccountType = dataAccountType; + DirectoriesErroredOut = directoriesErroredOut; + Error = error; + FilesErroredOut = filesErroredOut; + FilesProcessed = filesProcessed; + InvalidDirectoriesProcessed = invalidDirectoriesProcessed; + InvalidFileBytesUploaded = invalidFileBytesUploaded; + InvalidFilesProcessed = invalidFilesProcessed; + IsEnumerationInProgress = isEnumerationInProgress; + RenamedContainerCount = renamedContainerCount; + StorageAccountName = storageAccountName; + TotalBytesToProcess = totalBytesToProcess; + TotalFilesToProcess = totalFilesToProcess; + TransferType = transferType; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/CustomerDiskJobSecretsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/CustomerDiskJobSecretsResponse.cs new file mode 100644 index 000000000000..08a31a14e7a9 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/CustomerDiskJobSecretsResponse.cs @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// The secrets related to customer disk job. + /// + [OutputType] + public sealed class CustomerDiskJobSecretsResponse + { + /// + /// Carrier Account Number of the customer + /// + public readonly string CarrierAccountNumber; + /// + /// Dc Access Security Code for Customer Managed Shipping + /// + public readonly Outputs.DcAccessSecurityCodeResponse DcAccessSecurityCode; + /// + /// Contains the list of secrets object for that device. + /// + public readonly ImmutableArray DiskSecrets; + /// + /// Error while fetching the secrets. + /// + public readonly Outputs.CloudErrorResponse Error; + /// + /// Used to indicate what type of job secrets object. + /// Expected value is 'DataBoxCustomerDisk'. + /// + public readonly string JobSecretsType; + + [OutputConstructor] + private CustomerDiskJobSecretsResponse( + string carrierAccountNumber, + + Outputs.DcAccessSecurityCodeResponse dcAccessSecurityCode, + + ImmutableArray diskSecrets, + + Outputs.CloudErrorResponse error, + + string jobSecretsType) + { + CarrierAccountNumber = carrierAccountNumber; + DcAccessSecurityCode = dcAccessSecurityCode; + DiskSecrets = diskSecrets; + Error = error; + JobSecretsType = jobSecretsType; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxAccountCopyLogDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxAccountCopyLogDetailsResponse.cs new file mode 100644 index 000000000000..8b4439785917 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxAccountCopyLogDetailsResponse.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Copy log details for a storage account of a DataBox job + /// + [OutputType] + public sealed class DataBoxAccountCopyLogDetailsResponse + { + /// + /// Account name. + /// + public readonly string AccountName; + /// + /// Indicates the type of job details. + /// Expected value is 'DataBox'. + /// + public readonly string CopyLogDetailsType; + /// + /// Link for copy logs. + /// + public readonly string CopyLogLink; + /// + /// Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose. + /// + public readonly string CopyVerboseLogLink; + + [OutputConstructor] + private DataBoxAccountCopyLogDetailsResponse( + string accountName, + + string copyLogDetailsType, + + string copyLogLink, + + string copyVerboseLogLink) + { + AccountName = accountName; + CopyLogDetailsType = copyLogDetailsType; + CopyLogLink = copyLogLink; + CopyVerboseLogLink = copyVerboseLogLink; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxCustomerDiskCopyLogDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxCustomerDiskCopyLogDetailsResponse.cs new file mode 100644 index 000000000000..4f6d0c9ffaad --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxCustomerDiskCopyLogDetailsResponse.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Copy Log Details for customer disk + /// + [OutputType] + public sealed class DataBoxCustomerDiskCopyLogDetailsResponse + { + /// + /// Indicates the type of job details. + /// Expected value is 'DataBoxCustomerDisk'. + /// + public readonly string CopyLogDetailsType; + /// + /// Link for copy error logs. + /// + public readonly string ErrorLogLink; + /// + /// Disk Serial Number. + /// + public readonly string SerialNumber; + /// + /// Link for copy verbose logs. + /// + public readonly string VerboseLogLink; + + [OutputConstructor] + private DataBoxCustomerDiskCopyLogDetailsResponse( + string copyLogDetailsType, + + string errorLogLink, + + string serialNumber, + + string verboseLogLink) + { + CopyLogDetailsType = copyLogDetailsType; + ErrorLogLink = errorLogLink; + SerialNumber = serialNumber; + VerboseLogLink = verboseLogLink; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxCustomerDiskCopyProgressResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxCustomerDiskCopyProgressResponse.cs new file mode 100644 index 000000000000..1d7d8d56b18a --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxCustomerDiskCopyProgressResponse.cs @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// DataBox CustomerDisk Copy Progress + /// + [OutputType] + public sealed class DataBoxCustomerDiskCopyProgressResponse + { + /// + /// Id of the account where the data needs to be uploaded. + /// + public readonly string AccountId; + /// + /// Available actions on the job. + /// + public readonly ImmutableArray Actions; + /// + /// To indicate bytes transferred. + /// + public readonly double BytesProcessed; + /// + /// The Status of the copy + /// + public readonly string CopyStatus; + /// + /// Data Account Type. + /// + public readonly string DataAccountType; + /// + /// To indicate directories errored out in the job. + /// + public readonly double DirectoriesErroredOut; + /// + /// Error, if any, in the stage + /// + public readonly Outputs.CloudErrorResponse Error; + /// + /// Number of files which could not be copied + /// + public readonly double FilesErroredOut; + /// + /// Number of files processed + /// + public readonly double FilesProcessed; + /// + /// To indicate directories renamed + /// + public readonly double InvalidDirectoriesProcessed; + /// + /// Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + /// + public readonly double InvalidFileBytesUploaded; + /// + /// Number of files not adhering to azure naming conventions which were processed by automatic renaming + /// + public readonly double InvalidFilesProcessed; + /// + /// To indicate if enumeration of data is in progress. + /// Until this is true, the TotalBytesToProcess may not be valid. + /// + public readonly bool IsEnumerationInProgress; + /// + /// Number of folders not adhering to azure naming conventions which were processed by automatic renaming + /// + public readonly double RenamedContainerCount; + /// + /// Disk Serial Number. + /// + public readonly string SerialNumber; + /// + /// Name of the storage account. This will be empty for data account types other than storage account. + /// + public readonly string StorageAccountName; + /// + /// Total amount of data to be processed by the job. + /// + public readonly double TotalBytesToProcess; + /// + /// Total files to process + /// + public readonly double TotalFilesToProcess; + /// + /// Transfer type of data + /// + public readonly string TransferType; + + [OutputConstructor] + private DataBoxCustomerDiskCopyProgressResponse( + string accountId, + + ImmutableArray actions, + + double bytesProcessed, + + string copyStatus, + + string dataAccountType, + + double directoriesErroredOut, + + Outputs.CloudErrorResponse error, + + double filesErroredOut, + + double filesProcessed, + + double invalidDirectoriesProcessed, + + double invalidFileBytesUploaded, + + double invalidFilesProcessed, + + bool isEnumerationInProgress, + + double renamedContainerCount, + + string serialNumber, + + string storageAccountName, + + double totalBytesToProcess, + + double totalFilesToProcess, + + string transferType) + { + AccountId = accountId; + Actions = actions; + BytesProcessed = bytesProcessed; + CopyStatus = copyStatus; + DataAccountType = dataAccountType; + DirectoriesErroredOut = directoriesErroredOut; + Error = error; + FilesErroredOut = filesErroredOut; + FilesProcessed = filesProcessed; + InvalidDirectoriesProcessed = invalidDirectoriesProcessed; + InvalidFileBytesUploaded = invalidFileBytesUploaded; + InvalidFilesProcessed = invalidFilesProcessed; + IsEnumerationInProgress = isEnumerationInProgress; + RenamedContainerCount = renamedContainerCount; + SerialNumber = serialNumber; + StorageAccountName = storageAccountName; + TotalBytesToProcess = totalBytesToProcess; + TotalFilesToProcess = totalFilesToProcess; + TransferType = transferType; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxCustomerDiskJobDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxCustomerDiskJobDetailsResponse.cs new file mode 100644 index 000000000000..5f8cc1715600 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxCustomerDiskJobDetailsResponse.cs @@ -0,0 +1,207 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Customer disk job details. + /// + [OutputType] + public sealed class DataBoxCustomerDiskJobDetailsResponse + { + /// + /// Available actions on the job. + /// + public readonly ImmutableArray Actions; + /// + /// Shared access key to download the chain of custody logs + /// + public readonly string ChainOfCustodySasKey; + /// + /// Contact details for notification and shipping. + /// + public readonly Outputs.ContactDetailsResponse ContactDetails; + /// + /// List of copy log details. + /// + public readonly ImmutableArray CopyLogDetails; + /// + /// Copy progress per disk. + /// + public readonly ImmutableArray CopyProgress; + /// + /// DataCenter code. + /// + public readonly string DataCenterCode; + /// + /// Details of the data to be exported from azure. + /// + public readonly ImmutableArray DataExportDetails; + /// + /// Details of the data to be imported into azure. + /// + public readonly ImmutableArray DataImportDetails; + /// + /// Datacenter address to ship to, for the given sku and storage location. + /// + public readonly Union DatacenterAddress; + /// + /// Delivery package shipping details. + /// + public readonly Outputs.PackageCarrierInfoResponse DeliverToDcPackageDetails; + /// + /// Delivery package shipping details. + /// + public readonly Outputs.PackageShippingDetailsResponse DeliveryPackage; + /// + /// Holds device data erasure details + /// + public readonly Outputs.DeviceErasureDetailsResponse DeviceErasureDetails; + /// + /// Flag to indicate if disk manifest should be backed-up in the Storage Account. + /// + public readonly bool? EnableManifestBackup; + /// + /// The expected size of the data, which needs to be transferred in this job, in terabytes. + /// + public readonly int? ExpectedDataSizeInTeraBytes; + /// + /// Contains the map of disk serial number to the disk details for export jobs. + /// + public readonly ImmutableDictionary ExportDiskDetailsCollection; + /// + /// Contains the map of disk serial number to the disk details for import jobs. + /// + public readonly ImmutableDictionary? ImportDiskDetailsCollection; + /// + /// Indicates the type of job details. + /// Expected value is 'DataBoxCustomerDisk'. + /// + public readonly string JobDetailsType; + /// + /// List of stages that run in the job. + /// + public readonly ImmutableArray JobStages; + /// + /// Details about which key encryption type is being used. + /// + public readonly Outputs.KeyEncryptionKeyResponse? KeyEncryptionKey; + /// + /// Last mitigation action performed on the job. + /// + public readonly Outputs.LastMitigationActionOnJobResponse LastMitigationActionOnJob; + /// + /// Preferences for the order. + /// + public readonly Outputs.PreferencesResponse? Preferences; + /// + /// Return package shipping details. + /// + public readonly Outputs.PackageShippingDetailsResponse ReturnPackage; + /// + /// Return package shipping details. + /// + public readonly Outputs.PackageCarrierDetailsResponse ReturnToCustomerPackageDetails; + /// + /// Shared access key to download the return shipment label + /// + public readonly string ReverseShipmentLabelSasKey; + /// + /// Optional Reverse Shipping details for order. + /// + public readonly Outputs.ReverseShippingDetailsResponse? ReverseShippingDetails; + /// + /// Shipping address of the customer. + /// + public readonly Outputs.ShippingAddressResponse? ShippingAddress; + + [OutputConstructor] + private DataBoxCustomerDiskJobDetailsResponse( + ImmutableArray actions, + + string chainOfCustodySasKey, + + Outputs.ContactDetailsResponse contactDetails, + + ImmutableArray copyLogDetails, + + ImmutableArray copyProgress, + + string dataCenterCode, + + ImmutableArray dataExportDetails, + + ImmutableArray dataImportDetails, + + Union datacenterAddress, + + Outputs.PackageCarrierInfoResponse deliverToDcPackageDetails, + + Outputs.PackageShippingDetailsResponse deliveryPackage, + + Outputs.DeviceErasureDetailsResponse deviceErasureDetails, + + bool? enableManifestBackup, + + int? expectedDataSizeInTeraBytes, + + ImmutableDictionary exportDiskDetailsCollection, + + ImmutableDictionary? importDiskDetailsCollection, + + string jobDetailsType, + + ImmutableArray jobStages, + + Outputs.KeyEncryptionKeyResponse? keyEncryptionKey, + + Outputs.LastMitigationActionOnJobResponse lastMitigationActionOnJob, + + Outputs.PreferencesResponse? preferences, + + Outputs.PackageShippingDetailsResponse returnPackage, + + Outputs.PackageCarrierDetailsResponse returnToCustomerPackageDetails, + + string reverseShipmentLabelSasKey, + + Outputs.ReverseShippingDetailsResponse? reverseShippingDetails, + + Outputs.ShippingAddressResponse? shippingAddress) + { + Actions = actions; + ChainOfCustodySasKey = chainOfCustodySasKey; + ContactDetails = contactDetails; + CopyLogDetails = copyLogDetails; + CopyProgress = copyProgress; + DataCenterCode = dataCenterCode; + DataExportDetails = dataExportDetails; + DataImportDetails = dataImportDetails; + DatacenterAddress = datacenterAddress; + DeliverToDcPackageDetails = deliverToDcPackageDetails; + DeliveryPackage = deliveryPackage; + DeviceErasureDetails = deviceErasureDetails; + EnableManifestBackup = enableManifestBackup; + ExpectedDataSizeInTeraBytes = expectedDataSizeInTeraBytes; + ExportDiskDetailsCollection = exportDiskDetailsCollection; + ImportDiskDetailsCollection = importDiskDetailsCollection; + JobDetailsType = jobDetailsType; + JobStages = jobStages; + KeyEncryptionKey = keyEncryptionKey; + LastMitigationActionOnJob = lastMitigationActionOnJob; + Preferences = preferences; + ReturnPackage = returnPackage; + ReturnToCustomerPackageDetails = returnToCustomerPackageDetails; + ReverseShipmentLabelSasKey = reverseShipmentLabelSasKey; + ReverseShippingDetails = reverseShippingDetails; + ShippingAddress = shippingAddress; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskCopyLogDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskCopyLogDetailsResponse.cs new file mode 100644 index 000000000000..413d1b2e1562 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskCopyLogDetailsResponse.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Copy Log Details for a disk + /// + [OutputType] + public sealed class DataBoxDiskCopyLogDetailsResponse + { + /// + /// Indicates the type of job details. + /// Expected value is 'DataBoxDisk'. + /// + public readonly string CopyLogDetailsType; + /// + /// Disk Serial Number. + /// + public readonly string DiskSerialNumber; + /// + /// Link for copy error logs. + /// + public readonly string ErrorLogLink; + /// + /// Link for copy verbose logs. + /// + public readonly string VerboseLogLink; + + [OutputConstructor] + private DataBoxDiskCopyLogDetailsResponse( + string copyLogDetailsType, + + string diskSerialNumber, + + string errorLogLink, + + string verboseLogLink) + { + CopyLogDetailsType = copyLogDetailsType; + DiskSerialNumber = diskSerialNumber; + ErrorLogLink = errorLogLink; + VerboseLogLink = verboseLogLink; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskCopyProgressResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskCopyProgressResponse.cs new file mode 100644 index 000000000000..5261c22da356 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskCopyProgressResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// DataBox Disk Copy Progress + /// + [OutputType] + public sealed class DataBoxDiskCopyProgressResponse + { + /// + /// Available actions on the job. + /// + public readonly ImmutableArray Actions; + /// + /// Bytes copied during the copy of disk. + /// + public readonly double BytesCopied; + /// + /// Error, if any, in the stage + /// + public readonly Outputs.CloudErrorResponse Error; + /// + /// Indicates the percentage completed for the copy of the disk. + /// + public readonly int PercentComplete; + /// + /// The serial number of the disk + /// + public readonly string SerialNumber; + /// + /// The Status of the copy + /// + public readonly string Status; + + [OutputConstructor] + private DataBoxDiskCopyProgressResponse( + ImmutableArray actions, + + double bytesCopied, + + Outputs.CloudErrorResponse error, + + int percentComplete, + + string serialNumber, + + string status) + { + Actions = actions; + BytesCopied = bytesCopied; + Error = error; + PercentComplete = percentComplete; + SerialNumber = serialNumber; + Status = status; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskGranularCopyLogDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskGranularCopyLogDetailsResponse.cs new file mode 100644 index 000000000000..348340f7e853 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskGranularCopyLogDetailsResponse.cs @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Granular Copy Log Details for customer disk + /// + [OutputType] + public sealed class DataBoxDiskGranularCopyLogDetailsResponse + { + /// + /// Account id. + /// + public readonly string AccountId; + /// + /// Indicates the type of job details. + /// Expected value is 'DataBoxCustomerDisk'. + /// + public readonly string CopyLogDetailsType; + /// + /// Link for copy error logs. + /// + public readonly string ErrorLogLink; + /// + /// Disk Serial Number. + /// + public readonly string SerialNumber; + /// + /// Link for copy verbose logs. + /// + public readonly string VerboseLogLink; + + [OutputConstructor] + private DataBoxDiskGranularCopyLogDetailsResponse( + string accountId, + + string copyLogDetailsType, + + string errorLogLink, + + string serialNumber, + + string verboseLogLink) + { + AccountId = accountId; + CopyLogDetailsType = copyLogDetailsType; + ErrorLogLink = errorLogLink; + SerialNumber = serialNumber; + VerboseLogLink = verboseLogLink; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskGranularCopyProgressResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskGranularCopyProgressResponse.cs new file mode 100644 index 000000000000..91f2672a430e --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskGranularCopyProgressResponse.cs @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// DataBox Disk Granular Copy Progress + /// + [OutputType] + public sealed class DataBoxDiskGranularCopyProgressResponse + { + /// + /// Id of the account where the data needs to be uploaded. + /// + public readonly string AccountId; + /// + /// Available actions on the job. + /// + public readonly ImmutableArray Actions; + /// + /// To indicate bytes transferred. + /// + public readonly double BytesProcessed; + /// + /// The Status of the copy + /// + public readonly string CopyStatus; + /// + /// Data Account Type. + /// + public readonly string DataAccountType; + /// + /// To indicate directories errored out in the job. + /// + public readonly double DirectoriesErroredOut; + /// + /// Error, if any, in the stage + /// + public readonly Outputs.CloudErrorResponse Error; + /// + /// Number of files which could not be copied + /// + public readonly double FilesErroredOut; + /// + /// Number of files processed + /// + public readonly double FilesProcessed; + /// + /// To indicate directories renamed + /// + public readonly double InvalidDirectoriesProcessed; + /// + /// Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + /// + public readonly double InvalidFileBytesUploaded; + /// + /// Number of files not adhering to azure naming conventions which were processed by automatic renaming + /// + public readonly double InvalidFilesProcessed; + /// + /// To indicate if enumeration of data is in progress. + /// Until this is true, the TotalBytesToProcess may not be valid. + /// + public readonly bool IsEnumerationInProgress; + /// + /// Number of folders not adhering to azure naming conventions which were processed by automatic renaming + /// + public readonly double RenamedContainerCount; + /// + /// Disk Serial Number. + /// + public readonly string SerialNumber; + /// + /// Name of the storage account. This will be empty for data account types other than storage account. + /// + public readonly string StorageAccountName; + /// + /// Total amount of data to be processed by the job. + /// + public readonly double TotalBytesToProcess; + /// + /// Total files to process + /// + public readonly double TotalFilesToProcess; + /// + /// Transfer type of data + /// + public readonly string TransferType; + + [OutputConstructor] + private DataBoxDiskGranularCopyProgressResponse( + string accountId, + + ImmutableArray actions, + + double bytesProcessed, + + string copyStatus, + + string dataAccountType, + + double directoriesErroredOut, + + Outputs.CloudErrorResponse error, + + double filesErroredOut, + + double filesProcessed, + + double invalidDirectoriesProcessed, + + double invalidFileBytesUploaded, + + double invalidFilesProcessed, + + bool isEnumerationInProgress, + + double renamedContainerCount, + + string serialNumber, + + string storageAccountName, + + double totalBytesToProcess, + + double totalFilesToProcess, + + string transferType) + { + AccountId = accountId; + Actions = actions; + BytesProcessed = bytesProcessed; + CopyStatus = copyStatus; + DataAccountType = dataAccountType; + DirectoriesErroredOut = directoriesErroredOut; + Error = error; + FilesErroredOut = filesErroredOut; + FilesProcessed = filesProcessed; + InvalidDirectoriesProcessed = invalidDirectoriesProcessed; + InvalidFileBytesUploaded = invalidFileBytesUploaded; + InvalidFilesProcessed = invalidFilesProcessed; + IsEnumerationInProgress = isEnumerationInProgress; + RenamedContainerCount = renamedContainerCount; + SerialNumber = serialNumber; + StorageAccountName = storageAccountName; + TotalBytesToProcess = totalBytesToProcess; + TotalFilesToProcess = totalFilesToProcess; + TransferType = transferType; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskJobDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskJobDetailsResponse.cs new file mode 100644 index 000000000000..da987a0d7cf8 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskJobDetailsResponse.cs @@ -0,0 +1,207 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// DataBox Disk Job Details. + /// + [OutputType] + public sealed class DataBoxDiskJobDetailsResponse + { + /// + /// Available actions on the job. + /// + public readonly ImmutableArray Actions; + /// + /// Shared access key to download the chain of custody logs + /// + public readonly string ChainOfCustodySasKey; + /// + /// Contact details for notification and shipping. + /// + public readonly Outputs.ContactDetailsResponse ContactDetails; + /// + /// List of copy log details. + /// + public readonly ImmutableArray CopyLogDetails; + /// + /// Copy progress per disk. + /// + public readonly ImmutableArray CopyProgress; + /// + /// DataCenter code. + /// + public readonly string DataCenterCode; + /// + /// Details of the data to be exported from azure. + /// + public readonly ImmutableArray DataExportDetails; + /// + /// Details of the data to be imported into azure. + /// + public readonly ImmutableArray DataImportDetails; + /// + /// Datacenter address to ship to, for the given sku and storage location. + /// + public readonly Union DatacenterAddress; + /// + /// Delivery package shipping details. + /// + public readonly Outputs.PackageShippingDetailsResponse DeliveryPackage; + /// + /// Holds device data erasure details + /// + public readonly Outputs.DeviceErasureDetailsResponse DeviceErasureDetails; + /// + /// Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer. + /// + public readonly ImmutableDictionary DisksAndSizeDetails; + /// + /// The expected size of the data, which needs to be transferred in this job, in terabytes. + /// + public readonly int? ExpectedDataSizeInTeraBytes; + /// + /// Copy progress per disk. + /// + public readonly ImmutableArray GranularCopyLogDetails; + /// + /// Copy progress per disk. + /// + public readonly ImmutableArray GranularCopyProgress; + /// + /// Indicates the type of job details. + /// Expected value is 'DataBoxDisk'. + /// + public readonly string JobDetailsType; + /// + /// List of stages that run in the job. + /// + public readonly ImmutableArray JobStages; + /// + /// Details about which key encryption type is being used. + /// + public readonly Outputs.KeyEncryptionKeyResponse? KeyEncryptionKey; + /// + /// Last mitigation action performed on the job. + /// + public readonly Outputs.LastMitigationActionOnJobResponse LastMitigationActionOnJob; + /// + /// User entered passkey for DataBox Disk job. + /// + public readonly string? Passkey; + /// + /// Preferences for the order. + /// + public readonly Outputs.PreferencesResponse? Preferences; + /// + /// User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. + /// + public readonly ImmutableDictionary? PreferredDisks; + /// + /// Return package shipping details. + /// + public readonly Outputs.PackageShippingDetailsResponse ReturnPackage; + /// + /// Shared access key to download the return shipment label + /// + public readonly string ReverseShipmentLabelSasKey; + /// + /// Optional Reverse Shipping details for order. + /// + public readonly Outputs.ReverseShippingDetailsResponse? ReverseShippingDetails; + /// + /// Shipping address of the customer. + /// + public readonly Outputs.ShippingAddressResponse? ShippingAddress; + + [OutputConstructor] + private DataBoxDiskJobDetailsResponse( + ImmutableArray actions, + + string chainOfCustodySasKey, + + Outputs.ContactDetailsResponse contactDetails, + + ImmutableArray copyLogDetails, + + ImmutableArray copyProgress, + + string dataCenterCode, + + ImmutableArray dataExportDetails, + + ImmutableArray dataImportDetails, + + Union datacenterAddress, + + Outputs.PackageShippingDetailsResponse deliveryPackage, + + Outputs.DeviceErasureDetailsResponse deviceErasureDetails, + + ImmutableDictionary disksAndSizeDetails, + + int? expectedDataSizeInTeraBytes, + + ImmutableArray granularCopyLogDetails, + + ImmutableArray granularCopyProgress, + + string jobDetailsType, + + ImmutableArray jobStages, + + Outputs.KeyEncryptionKeyResponse? keyEncryptionKey, + + Outputs.LastMitigationActionOnJobResponse lastMitigationActionOnJob, + + string? passkey, + + Outputs.PreferencesResponse? preferences, + + ImmutableDictionary? preferredDisks, + + Outputs.PackageShippingDetailsResponse returnPackage, + + string reverseShipmentLabelSasKey, + + Outputs.ReverseShippingDetailsResponse? reverseShippingDetails, + + Outputs.ShippingAddressResponse? shippingAddress) + { + Actions = actions; + ChainOfCustodySasKey = chainOfCustodySasKey; + ContactDetails = contactDetails; + CopyLogDetails = copyLogDetails; + CopyProgress = copyProgress; + DataCenterCode = dataCenterCode; + DataExportDetails = dataExportDetails; + DataImportDetails = dataImportDetails; + DatacenterAddress = datacenterAddress; + DeliveryPackage = deliveryPackage; + DeviceErasureDetails = deviceErasureDetails; + DisksAndSizeDetails = disksAndSizeDetails; + ExpectedDataSizeInTeraBytes = expectedDataSizeInTeraBytes; + GranularCopyLogDetails = granularCopyLogDetails; + GranularCopyProgress = granularCopyProgress; + JobDetailsType = jobDetailsType; + JobStages = jobStages; + KeyEncryptionKey = keyEncryptionKey; + LastMitigationActionOnJob = lastMitigationActionOnJob; + Passkey = passkey; + Preferences = preferences; + PreferredDisks = preferredDisks; + ReturnPackage = returnPackage; + ReverseShipmentLabelSasKey = reverseShipmentLabelSasKey; + ReverseShippingDetails = reverseShippingDetails; + ShippingAddress = shippingAddress; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskJobSecretsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskJobSecretsResponse.cs new file mode 100644 index 000000000000..fb24926e8aef --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxDiskJobSecretsResponse.cs @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// The secrets related to disk job. + /// + [OutputType] + public sealed class DataBoxDiskJobSecretsResponse + { + /// + /// Dc Access Security Code for Customer Managed Shipping + /// + public readonly Outputs.DcAccessSecurityCodeResponse DcAccessSecurityCode; + /// + /// Contains the list of secrets object for that device. + /// + public readonly ImmutableArray DiskSecrets; + /// + /// Error while fetching the secrets. + /// + public readonly Outputs.CloudErrorResponse Error; + /// + /// Whether passkey was provided by user. + /// + public readonly bool IsPasskeyUserDefined; + /// + /// Used to indicate what type of job secrets object. + /// Expected value is 'DataBoxDisk'. + /// + public readonly string JobSecretsType; + /// + /// PassKey for the disk Job. + /// + public readonly string PassKey; + + [OutputConstructor] + private DataBoxDiskJobSecretsResponse( + Outputs.DcAccessSecurityCodeResponse dcAccessSecurityCode, + + ImmutableArray diskSecrets, + + Outputs.CloudErrorResponse error, + + bool isPasskeyUserDefined, + + string jobSecretsType, + + string passKey) + { + DcAccessSecurityCode = dcAccessSecurityCode; + DiskSecrets = diskSecrets; + Error = error; + IsPasskeyUserDefined = isPasskeyUserDefined; + JobSecretsType = jobSecretsType; + PassKey = passKey; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxHeavyAccountCopyLogDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxHeavyAccountCopyLogDetailsResponse.cs new file mode 100644 index 000000000000..3a1bb2eea176 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxHeavyAccountCopyLogDetailsResponse.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Copy log details for a storage account for Databox heavy + /// + [OutputType] + public sealed class DataBoxHeavyAccountCopyLogDetailsResponse + { + /// + /// Account name. + /// + public readonly string AccountName; + /// + /// Indicates the type of job details. + /// Expected value is 'DataBoxHeavy'. + /// + public readonly string CopyLogDetailsType; + /// + /// Link for copy logs. + /// + public readonly ImmutableArray CopyLogLink; + /// + /// Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose. + /// + public readonly ImmutableArray CopyVerboseLogLink; + + [OutputConstructor] + private DataBoxHeavyAccountCopyLogDetailsResponse( + string accountName, + + string copyLogDetailsType, + + ImmutableArray copyLogLink, + + ImmutableArray copyVerboseLogLink) + { + AccountName = accountName; + CopyLogDetailsType = copyLogDetailsType; + CopyLogLink = copyLogLink; + CopyVerboseLogLink = copyVerboseLogLink; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxHeavyJobDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxHeavyJobDetailsResponse.cs new file mode 100644 index 000000000000..1d2f3583e458 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxHeavyJobDetailsResponse.cs @@ -0,0 +1,179 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Databox Heavy Device Job Details + /// + [OutputType] + public sealed class DataBoxHeavyJobDetailsResponse + { + /// + /// Available actions on the job. + /// + public readonly ImmutableArray Actions; + /// + /// Shared access key to download the chain of custody logs + /// + public readonly string ChainOfCustodySasKey; + /// + /// Contact details for notification and shipping. + /// + public readonly Outputs.ContactDetailsResponse ContactDetails; + /// + /// List of copy log details. + /// + public readonly ImmutableArray CopyLogDetails; + /// + /// Copy progress per account. + /// + public readonly ImmutableArray CopyProgress; + /// + /// DataCenter code. + /// + public readonly string DataCenterCode; + /// + /// Details of the data to be exported from azure. + /// + public readonly ImmutableArray DataExportDetails; + /// + /// Details of the data to be imported into azure. + /// + public readonly ImmutableArray DataImportDetails; + /// + /// Datacenter address to ship to, for the given sku and storage location. + /// + public readonly Union DatacenterAddress; + /// + /// Delivery package shipping details. + /// + public readonly Outputs.PackageShippingDetailsResponse DeliveryPackage; + /// + /// Holds device data erasure details + /// + public readonly Outputs.DeviceErasureDetailsResponse DeviceErasureDetails; + /// + /// Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + /// + public readonly string? DevicePassword; + /// + /// The expected size of the data, which needs to be transferred in this job, in terabytes. + /// + public readonly int? ExpectedDataSizeInTeraBytes; + /// + /// Indicates the type of job details. + /// Expected value is 'DataBoxHeavy'. + /// + public readonly string JobDetailsType; + /// + /// List of stages that run in the job. + /// + public readonly ImmutableArray JobStages; + /// + /// Details about which key encryption type is being used. + /// + public readonly Outputs.KeyEncryptionKeyResponse? KeyEncryptionKey; + /// + /// Last mitigation action performed on the job. + /// + public readonly Outputs.LastMitigationActionOnJobResponse LastMitigationActionOnJob; + /// + /// Preferences for the order. + /// + public readonly Outputs.PreferencesResponse? Preferences; + /// + /// Return package shipping details. + /// + public readonly Outputs.PackageShippingDetailsResponse ReturnPackage; + /// + /// Shared access key to download the return shipment label + /// + public readonly string ReverseShipmentLabelSasKey; + /// + /// Optional Reverse Shipping details for order. + /// + public readonly Outputs.ReverseShippingDetailsResponse? ReverseShippingDetails; + /// + /// Shipping address of the customer. + /// + public readonly Outputs.ShippingAddressResponse? ShippingAddress; + + [OutputConstructor] + private DataBoxHeavyJobDetailsResponse( + ImmutableArray actions, + + string chainOfCustodySasKey, + + Outputs.ContactDetailsResponse contactDetails, + + ImmutableArray copyLogDetails, + + ImmutableArray copyProgress, + + string dataCenterCode, + + ImmutableArray dataExportDetails, + + ImmutableArray dataImportDetails, + + Union datacenterAddress, + + Outputs.PackageShippingDetailsResponse deliveryPackage, + + Outputs.DeviceErasureDetailsResponse deviceErasureDetails, + + string? devicePassword, + + int? expectedDataSizeInTeraBytes, + + string jobDetailsType, + + ImmutableArray jobStages, + + Outputs.KeyEncryptionKeyResponse? keyEncryptionKey, + + Outputs.LastMitigationActionOnJobResponse lastMitigationActionOnJob, + + Outputs.PreferencesResponse? preferences, + + Outputs.PackageShippingDetailsResponse returnPackage, + + string reverseShipmentLabelSasKey, + + Outputs.ReverseShippingDetailsResponse? reverseShippingDetails, + + Outputs.ShippingAddressResponse? shippingAddress) + { + Actions = actions; + ChainOfCustodySasKey = chainOfCustodySasKey; + ContactDetails = contactDetails; + CopyLogDetails = copyLogDetails; + CopyProgress = copyProgress; + DataCenterCode = dataCenterCode; + DataExportDetails = dataExportDetails; + DataImportDetails = dataImportDetails; + DatacenterAddress = datacenterAddress; + DeliveryPackage = deliveryPackage; + DeviceErasureDetails = deviceErasureDetails; + DevicePassword = devicePassword; + ExpectedDataSizeInTeraBytes = expectedDataSizeInTeraBytes; + JobDetailsType = jobDetailsType; + JobStages = jobStages; + KeyEncryptionKey = keyEncryptionKey; + LastMitigationActionOnJob = lastMitigationActionOnJob; + Preferences = preferences; + ReturnPackage = returnPackage; + ReverseShipmentLabelSasKey = reverseShipmentLabelSasKey; + ReverseShippingDetails = reverseShippingDetails; + ShippingAddress = shippingAddress; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxHeavyJobSecretsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxHeavyJobSecretsResponse.cs new file mode 100644 index 000000000000..eea6f54fb256 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxHeavyJobSecretsResponse.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// The secrets related to a databox heavy job. + /// + [OutputType] + public sealed class DataBoxHeavyJobSecretsResponse + { + /// + /// Contains the list of secret objects for a databox heavy job. + /// + public readonly ImmutableArray CabinetPodSecrets; + /// + /// Dc Access Security Code for Customer Managed Shipping + /// + public readonly Outputs.DcAccessSecurityCodeResponse DcAccessSecurityCode; + /// + /// Error while fetching the secrets. + /// + public readonly Outputs.CloudErrorResponse Error; + /// + /// Used to indicate what type of job secrets object. + /// Expected value is 'DataBoxHeavy'. + /// + public readonly string JobSecretsType; + + [OutputConstructor] + private DataBoxHeavyJobSecretsResponse( + ImmutableArray cabinetPodSecrets, + + Outputs.DcAccessSecurityCodeResponse dcAccessSecurityCode, + + Outputs.CloudErrorResponse error, + + string jobSecretsType) + { + CabinetPodSecrets = cabinetPodSecrets; + DcAccessSecurityCode = dcAccessSecurityCode; + Error = error; + JobSecretsType = jobSecretsType; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxHeavySecretResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxHeavySecretResponse.cs new file mode 100644 index 000000000000..60a801b7e7c9 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxHeavySecretResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// The secrets related to a databox heavy. + /// + [OutputType] + public sealed class DataBoxHeavySecretResponse + { + /// + /// Per account level access credentials. + /// + public readonly ImmutableArray AccountCredentialDetails; + /// + /// Password for out of the box experience on device. + /// + public readonly string DevicePassword; + /// + /// Serial number of the assigned device. + /// + public readonly string DeviceSerialNumber; + /// + /// The base 64 encoded public key to authenticate with the device + /// + public readonly string EncodedValidationCertPubKey; + /// + /// Network configuration of the appliance. + /// + public readonly ImmutableArray NetworkConfigurations; + + [OutputConstructor] + private DataBoxHeavySecretResponse( + ImmutableArray accountCredentialDetails, + + string devicePassword, + + string deviceSerialNumber, + + string encodedValidationCertPubKey, + + ImmutableArray networkConfigurations) + { + AccountCredentialDetails = accountCredentialDetails; + DevicePassword = devicePassword; + DeviceSerialNumber = deviceSerialNumber; + EncodedValidationCertPubKey = encodedValidationCertPubKey; + NetworkConfigurations = networkConfigurations; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxJobDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxJobDetailsResponse.cs new file mode 100644 index 000000000000..14a8e164f02f --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxJobDetailsResponse.cs @@ -0,0 +1,179 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Databox Job Details + /// + [OutputType] + public sealed class DataBoxJobDetailsResponse + { + /// + /// Available actions on the job. + /// + public readonly ImmutableArray Actions; + /// + /// Shared access key to download the chain of custody logs + /// + public readonly string ChainOfCustodySasKey; + /// + /// Contact details for notification and shipping. + /// + public readonly Outputs.ContactDetailsResponse ContactDetails; + /// + /// List of copy log details. + /// + public readonly ImmutableArray CopyLogDetails; + /// + /// Copy progress per storage account. + /// + public readonly ImmutableArray CopyProgress; + /// + /// DataCenter code. + /// + public readonly string DataCenterCode; + /// + /// Details of the data to be exported from azure. + /// + public readonly ImmutableArray DataExportDetails; + /// + /// Details of the data to be imported into azure. + /// + public readonly ImmutableArray DataImportDetails; + /// + /// Datacenter address to ship to, for the given sku and storage location. + /// + public readonly Union DatacenterAddress; + /// + /// Delivery package shipping details. + /// + public readonly Outputs.PackageShippingDetailsResponse DeliveryPackage; + /// + /// Holds device data erasure details + /// + public readonly Outputs.DeviceErasureDetailsResponse DeviceErasureDetails; + /// + /// Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + /// + public readonly string? DevicePassword; + /// + /// The expected size of the data, which needs to be transferred in this job, in terabytes. + /// + public readonly int? ExpectedDataSizeInTeraBytes; + /// + /// Indicates the type of job details. + /// Expected value is 'DataBox'. + /// + public readonly string JobDetailsType; + /// + /// List of stages that run in the job. + /// + public readonly ImmutableArray JobStages; + /// + /// Details about which key encryption type is being used. + /// + public readonly Outputs.KeyEncryptionKeyResponse? KeyEncryptionKey; + /// + /// Last mitigation action performed on the job. + /// + public readonly Outputs.LastMitigationActionOnJobResponse LastMitigationActionOnJob; + /// + /// Preferences for the order. + /// + public readonly Outputs.PreferencesResponse? Preferences; + /// + /// Return package shipping details. + /// + public readonly Outputs.PackageShippingDetailsResponse ReturnPackage; + /// + /// Shared access key to download the return shipment label + /// + public readonly string ReverseShipmentLabelSasKey; + /// + /// Optional Reverse Shipping details for order. + /// + public readonly Outputs.ReverseShippingDetailsResponse? ReverseShippingDetails; + /// + /// Shipping address of the customer. + /// + public readonly Outputs.ShippingAddressResponse? ShippingAddress; + + [OutputConstructor] + private DataBoxJobDetailsResponse( + ImmutableArray actions, + + string chainOfCustodySasKey, + + Outputs.ContactDetailsResponse contactDetails, + + ImmutableArray copyLogDetails, + + ImmutableArray copyProgress, + + string dataCenterCode, + + ImmutableArray dataExportDetails, + + ImmutableArray dataImportDetails, + + Union datacenterAddress, + + Outputs.PackageShippingDetailsResponse deliveryPackage, + + Outputs.DeviceErasureDetailsResponse deviceErasureDetails, + + string? devicePassword, + + int? expectedDataSizeInTeraBytes, + + string jobDetailsType, + + ImmutableArray jobStages, + + Outputs.KeyEncryptionKeyResponse? keyEncryptionKey, + + Outputs.LastMitigationActionOnJobResponse lastMitigationActionOnJob, + + Outputs.PreferencesResponse? preferences, + + Outputs.PackageShippingDetailsResponse returnPackage, + + string reverseShipmentLabelSasKey, + + Outputs.ReverseShippingDetailsResponse? reverseShippingDetails, + + Outputs.ShippingAddressResponse? shippingAddress) + { + Actions = actions; + ChainOfCustodySasKey = chainOfCustodySasKey; + ContactDetails = contactDetails; + CopyLogDetails = copyLogDetails; + CopyProgress = copyProgress; + DataCenterCode = dataCenterCode; + DataExportDetails = dataExportDetails; + DataImportDetails = dataImportDetails; + DatacenterAddress = datacenterAddress; + DeliveryPackage = deliveryPackage; + DeviceErasureDetails = deviceErasureDetails; + DevicePassword = devicePassword; + ExpectedDataSizeInTeraBytes = expectedDataSizeInTeraBytes; + JobDetailsType = jobDetailsType; + JobStages = jobStages; + KeyEncryptionKey = keyEncryptionKey; + LastMitigationActionOnJob = lastMitigationActionOnJob; + Preferences = preferences; + ReturnPackage = returnPackage; + ReverseShipmentLabelSasKey = reverseShipmentLabelSasKey; + ReverseShippingDetails = reverseShippingDetails; + ShippingAddress = shippingAddress; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxSecretResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxSecretResponse.cs new file mode 100644 index 000000000000..152704bd102d --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataBoxSecretResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// The secrets related to a DataBox. + /// + [OutputType] + public sealed class DataBoxSecretResponse + { + /// + /// Per account level access credentials. + /// + public readonly ImmutableArray AccountCredentialDetails; + /// + /// Password for out of the box experience on device. + /// + public readonly string DevicePassword; + /// + /// Serial number of the assigned device. + /// + public readonly string DeviceSerialNumber; + /// + /// The base 64 encoded public key to authenticate with the device + /// + public readonly string EncodedValidationCertPubKey; + /// + /// Network configuration of the appliance. + /// + public readonly ImmutableArray NetworkConfigurations; + + [OutputConstructor] + private DataBoxSecretResponse( + ImmutableArray accountCredentialDetails, + + string devicePassword, + + string deviceSerialNumber, + + string encodedValidationCertPubKey, + + ImmutableArray networkConfigurations) + { + AccountCredentialDetails = accountCredentialDetails; + DevicePassword = devicePassword; + DeviceSerialNumber = deviceSerialNumber; + EncodedValidationCertPubKey = encodedValidationCertPubKey; + NetworkConfigurations = networkConfigurations; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataExportDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataExportDetailsResponse.cs new file mode 100644 index 000000000000..e1d852899a3b --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataExportDetailsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Details of the data to be used for exporting data from azure. + /// + [OutputType] + public sealed class DataExportDetailsResponse + { + /// + /// Account details of the data to be transferred + /// + public readonly Union AccountDetails; + /// + /// Level of the logs to be collected. + /// + public readonly string? LogCollectionLevel; + /// + /// Configuration for the data transfer. + /// + public readonly Outputs.TransferConfigurationResponse TransferConfiguration; + + [OutputConstructor] + private DataExportDetailsResponse( + Union accountDetails, + + string? logCollectionLevel, + + Outputs.TransferConfigurationResponse transferConfiguration) + { + AccountDetails = accountDetails; + LogCollectionLevel = logCollectionLevel; + TransferConfiguration = transferConfiguration; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataImportDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataImportDetailsResponse.cs new file mode 100644 index 000000000000..e7594edd573a --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataImportDetailsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Details of the data to be used for importing data to azure. + /// + [OutputType] + public sealed class DataImportDetailsResponse + { + /// + /// Account details of the data to be transferred + /// + public readonly Union AccountDetails; + /// + /// Level of the logs to be collected. + /// + public readonly string? LogCollectionLevel; + + [OutputConstructor] + private DataImportDetailsResponse( + Union accountDetails, + + string? logCollectionLevel) + { + AccountDetails = accountDetails; + LogCollectionLevel = logCollectionLevel; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DataboxJobSecretsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DataboxJobSecretsResponse.cs new file mode 100644 index 000000000000..ee0a71117d35 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DataboxJobSecretsResponse.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// The secrets related to a databox job. + /// + [OutputType] + public sealed class DataboxJobSecretsResponse + { + /// + /// Dc Access Security Code for Customer Managed Shipping + /// + public readonly Outputs.DcAccessSecurityCodeResponse DcAccessSecurityCode; + /// + /// Error while fetching the secrets. + /// + public readonly Outputs.CloudErrorResponse Error; + /// + /// Used to indicate what type of job secrets object. + /// Expected value is 'DataBox'. + /// + public readonly string JobSecretsType; + /// + /// Contains the list of secret objects for a job. + /// + public readonly ImmutableArray PodSecrets; + + [OutputConstructor] + private DataboxJobSecretsResponse( + Outputs.DcAccessSecurityCodeResponse dcAccessSecurityCode, + + Outputs.CloudErrorResponse error, + + string jobSecretsType, + + ImmutableArray podSecrets) + { + DcAccessSecurityCode = dcAccessSecurityCode; + Error = error; + JobSecretsType = jobSecretsType; + PodSecrets = podSecrets; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DatacenterAddressInstructionResponseResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DatacenterAddressInstructionResponseResponse.cs new file mode 100644 index 000000000000..dc80ebaf650e --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DatacenterAddressInstructionResponseResponse.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Datacenter instruction for given storage location. + /// + [OutputType] + public sealed class DatacenterAddressInstructionResponseResponse + { + /// + /// Data center communication instruction + /// + public readonly string CommunicationInstruction; + /// + /// Azure Location where the Data Center serves primarily. + /// + public readonly string DataCenterAzureLocation; + /// + /// Data center address type + /// Expected value is 'DatacenterAddressInstruction'. + /// + public readonly string DatacenterAddressType; + /// + /// List of supported carriers for return shipment. + /// + public readonly ImmutableArray SupportedCarriersForReturnShipment; + + [OutputConstructor] + private DatacenterAddressInstructionResponseResponse( + string communicationInstruction, + + string dataCenterAzureLocation, + + string datacenterAddressType, + + ImmutableArray supportedCarriersForReturnShipment) + { + CommunicationInstruction = communicationInstruction; + DataCenterAzureLocation = dataCenterAzureLocation; + DatacenterAddressType = datacenterAddressType; + SupportedCarriersForReturnShipment = supportedCarriersForReturnShipment; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DatacenterAddressLocationResponseResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DatacenterAddressLocationResponseResponse.cs new file mode 100644 index 000000000000..af43607e199a --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DatacenterAddressLocationResponseResponse.cs @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Datacenter address for given storage location. + /// + [OutputType] + public sealed class DatacenterAddressLocationResponseResponse + { + /// + /// Special instruction for shipping + /// + public readonly string AdditionalShippingInformation; + /// + /// Address type + /// + public readonly string AddressType; + /// + /// City name + /// + public readonly string City; + /// + /// Company name + /// + public readonly string Company; + /// + /// Contact person name + /// + public readonly string ContactPersonName; + /// + /// name of the country + /// + public readonly string Country; + /// + /// Azure Location where the Data Center serves primarily. + /// + public readonly string DataCenterAzureLocation; + /// + /// Data center address type + /// Expected value is 'DatacenterAddressLocation'. + /// + public readonly string DatacenterAddressType; + /// + /// Phone number + /// + public readonly string Phone; + /// + /// Phone extension + /// + public readonly string PhoneExtension; + /// + /// name of the state + /// + public readonly string State; + /// + /// Street address line 1 + /// + public readonly string Street1; + /// + /// Street address line 2 + /// + public readonly string Street2; + /// + /// Street address line 3 + /// + public readonly string Street3; + /// + /// List of supported carriers for return shipment. + /// + public readonly ImmutableArray SupportedCarriersForReturnShipment; + /// + /// Zip code + /// + public readonly string Zip; + + [OutputConstructor] + private DatacenterAddressLocationResponseResponse( + string additionalShippingInformation, + + string addressType, + + string city, + + string company, + + string contactPersonName, + + string country, + + string dataCenterAzureLocation, + + string datacenterAddressType, + + string phone, + + string phoneExtension, + + string state, + + string street1, + + string street2, + + string street3, + + ImmutableArray supportedCarriersForReturnShipment, + + string zip) + { + AdditionalShippingInformation = additionalShippingInformation; + AddressType = addressType; + City = city; + Company = company; + ContactPersonName = contactPersonName; + Country = country; + DataCenterAzureLocation = dataCenterAzureLocation; + DatacenterAddressType = datacenterAddressType; + Phone = phone; + PhoneExtension = phoneExtension; + State = state; + Street1 = street1; + Street2 = street2; + Street3 = street3; + SupportedCarriersForReturnShipment = supportedCarriersForReturnShipment; + Zip = zip; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DcAccessSecurityCodeResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DcAccessSecurityCodeResponse.cs new file mode 100644 index 000000000000..444b1c98191f --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DcAccessSecurityCodeResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Dc access security code + /// + [OutputType] + public sealed class DcAccessSecurityCodeResponse + { + /// + /// Forward Dc access security code. + /// + public readonly string? ForwardDCAccessCode; + /// + /// Reverse Dc access security code. + /// + public readonly string? ReverseDCAccessCode; + + [OutputConstructor] + private DcAccessSecurityCodeResponse( + string? forwardDCAccessCode, + + string? reverseDCAccessCode) + { + ForwardDCAccessCode = forwardDCAccessCode; + ReverseDCAccessCode = reverseDCAccessCode; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DeviceErasureDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DeviceErasureDetailsResponse.cs new file mode 100644 index 000000000000..54798a372eb0 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DeviceErasureDetailsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Device erasure details with erasure completion status and erasureordestructionlog sas key + /// + [OutputType] + public sealed class DeviceErasureDetailsResponse + { + /// + /// Holds the device erasure completion status + /// + public readonly string DeviceErasureStatus; + /// + /// Shared access key to download cleanup or destruction certificate for device + /// + public readonly string ErasureOrDestructionCertificateSasKey; + + [OutputConstructor] + private DeviceErasureDetailsResponse( + string deviceErasureStatus, + + string erasureOrDestructionCertificateSasKey) + { + DeviceErasureStatus = deviceErasureStatus; + ErasureOrDestructionCertificateSasKey = erasureOrDestructionCertificateSasKey; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/DiskSecretResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/DiskSecretResponse.cs new file mode 100644 index 000000000000..8b173a4d7782 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/DiskSecretResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Contains all the secrets of a Disk. + /// + [OutputType] + public sealed class DiskSecretResponse + { + /// + /// Bit Locker key of the disk which can be used to unlock the disk to copy data. + /// + public readonly string BitLockerKey; + /// + /// Serial number of the assigned disk. + /// + public readonly string DiskSerialNumber; + + [OutputConstructor] + private DiskSecretResponse( + string bitLockerKey, + + string diskSerialNumber) + { + BitLockerKey = bitLockerKey; + DiskSerialNumber = diskSerialNumber; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/EncryptionPreferencesResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/EncryptionPreferencesResponse.cs new file mode 100644 index 000000000000..1393834ca716 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/EncryptionPreferencesResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Preferences related to the Encryption. + /// + [OutputType] + public sealed class EncryptionPreferencesResponse + { + /// + /// Defines secondary layer of software-based encryption enablement. + /// + public readonly string? DoubleEncryption; + /// + /// Defines Hardware level encryption (Only for disk) + /// + public readonly string? HardwareEncryption; + + [OutputConstructor] + private EncryptionPreferencesResponse( + string? doubleEncryption, + + string? hardwareEncryption) + { + DoubleEncryption = doubleEncryption; + HardwareEncryption = hardwareEncryption; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/ExportDiskDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/ExportDiskDetailsResponse.cs new file mode 100644 index 000000000000..3e9cef7eaf00 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/ExportDiskDetailsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Export disk details + /// + [OutputType] + public sealed class ExportDiskDetailsResponse + { + /// + /// Path to backed up manifest, only returned if enableManifestBackup is true. + /// + public readonly string BackupManifestCloudPath; + /// + /// The relative path of the manifest file on the disk. + /// + public readonly string ManifestFile; + /// + /// The Base16-encoded MD5 hash of the manifest file on the disk. + /// + public readonly string ManifestHash; + + [OutputConstructor] + private ExportDiskDetailsResponse( + string backupManifestCloudPath, + + string manifestFile, + + string manifestHash) + { + BackupManifestCloudPath = backupManifestCloudPath; + ManifestFile = manifestFile; + ManifestHash = manifestHash; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/FilterFileDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/FilterFileDetailsResponse.cs new file mode 100644 index 000000000000..5d44e278db2c --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/FilterFileDetailsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Details of the filter files to be used for data transfer. + /// + [OutputType] + public sealed class FilterFileDetailsResponse + { + /// + /// Path of the file that contains the details of all items to transfer. + /// + public readonly string FilterFilePath; + /// + /// Type of the filter file. + /// + public readonly string FilterFileType; + + [OutputConstructor] + private FilterFileDetailsResponse( + string filterFilePath, + + string filterFileType) + { + FilterFilePath = filterFilePath; + FilterFileType = filterFileType; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/IdentityPropertiesResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/IdentityPropertiesResponse.cs new file mode 100644 index 000000000000..0f1c7849a48b --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/IdentityPropertiesResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Managed identity properties. + /// + [OutputType] + public sealed class IdentityPropertiesResponse + { + /// + /// Managed service identity type. + /// + public readonly string? Type; + /// + /// User assigned identity properties. + /// + public readonly Outputs.UserAssignedPropertiesResponse? UserAssigned; + + [OutputConstructor] + private IdentityPropertiesResponse( + string? type, + + Outputs.UserAssignedPropertiesResponse? userAssigned) + { + Type = type; + UserAssigned = userAssigned; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/ImportDiskDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/ImportDiskDetailsResponse.cs new file mode 100644 index 000000000000..f45e25871954 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/ImportDiskDetailsResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Import disk details + /// + [OutputType] + public sealed class ImportDiskDetailsResponse + { + /// + /// Path to backed up manifest, only returned if enableManifestBackup is true. + /// + public readonly string BackupManifestCloudPath; + /// + /// BitLocker key used to encrypt the disk. + /// + public readonly string BitLockerKey; + /// + /// The relative path of the manifest file on the disk. + /// + public readonly string ManifestFile; + /// + /// The Base16-encoded MD5 hash of the manifest file on the disk. + /// + public readonly string ManifestHash; + + [OutputConstructor] + private ImportDiskDetailsResponse( + string backupManifestCloudPath, + + string bitLockerKey, + + string manifestFile, + + string manifestHash) + { + BackupManifestCloudPath = backupManifestCloudPath; + BitLockerKey = bitLockerKey; + ManifestFile = manifestFile; + ManifestHash = manifestHash; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/JobDelayDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/JobDelayDetailsResponse.cs new file mode 100644 index 000000000000..f026b44fff75 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/JobDelayDetailsResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Job Delay Notification details + /// + [OutputType] + public sealed class JobDelayDetailsResponse + { + /// + /// Description of the delay. + /// + public readonly string Description; + /// + /// Delay Error code + /// + public readonly string ErrorCode; + /// + /// Timestamp when the delay notification was resolved. + /// + public readonly string ResolutionTime; + /// + /// Timestamp when the delay notification was created. + /// + public readonly string StartTime; + /// + /// Status of notification + /// + public readonly string Status; + + [OutputConstructor] + private JobDelayDetailsResponse( + string description, + + string errorCode, + + string resolutionTime, + + string startTime, + + string status) + { + Description = description; + ErrorCode = errorCode; + ResolutionTime = resolutionTime; + StartTime = startTime; + Status = status; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/JobDeliveryInfoResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/JobDeliveryInfoResponse.cs new file mode 100644 index 000000000000..a029aeaad7d5 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/JobDeliveryInfoResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Additional delivery info. + /// + [OutputType] + public sealed class JobDeliveryInfoResponse + { + /// + /// Scheduled date time. + /// + public readonly string? ScheduledDateTime; + + [OutputConstructor] + private JobDeliveryInfoResponse(string? scheduledDateTime) + { + ScheduledDateTime = scheduledDateTime; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/JobStagesResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/JobStagesResponse.cs new file mode 100644 index 000000000000..57bb127aa92c --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/JobStagesResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Job stages. + /// + [OutputType] + public sealed class JobStagesResponse + { + /// + /// Delay information for the job stages. + /// + public readonly ImmutableArray DelayInformation; + /// + /// Display name of the job stage. + /// + public readonly string DisplayName; + /// + /// Job Stage Details + /// + public readonly object JobStageDetails; + /// + /// Name of the job stage. + /// + public readonly string StageName; + /// + /// Status of the job stage. + /// + public readonly string StageStatus; + /// + /// Time for the job stage in UTC ISO 8601 format. + /// + public readonly string StageTime; + + [OutputConstructor] + private JobStagesResponse( + ImmutableArray delayInformation, + + string displayName, + + object jobStageDetails, + + string stageName, + + string stageStatus, + + string stageTime) + { + DelayInformation = delayInformation; + DisplayName = displayName; + JobStageDetails = jobStageDetails; + StageName = stageName; + StageStatus = stageStatus; + StageTime = stageTime; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/KeyEncryptionKeyResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/KeyEncryptionKeyResponse.cs new file mode 100644 index 000000000000..392084a0bbd7 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/KeyEncryptionKeyResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Encryption key containing details about key to encrypt different keys. + /// + [OutputType] + public sealed class KeyEncryptionKeyResponse + { + /// + /// Managed identity properties used for key encryption. + /// + public readonly Outputs.IdentityPropertiesResponse? IdentityProperties; + /// + /// Type of encryption key used for key encryption. + /// + public readonly string KekType; + /// + /// Key encryption key. It is required in case of Customer managed KekType. + /// + public readonly string? KekUrl; + /// + /// Kek vault resource id. It is required in case of Customer managed KekType. + /// + public readonly string? KekVaultResourceID; + + [OutputConstructor] + private KeyEncryptionKeyResponse( + Outputs.IdentityPropertiesResponse? identityProperties, + + string kekType, + + string? kekUrl, + + string? kekVaultResourceID) + { + IdentityProperties = identityProperties; + KekType = kekType; + KekUrl = kekUrl; + KekVaultResourceID = kekVaultResourceID; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/LastMitigationActionOnJobResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/LastMitigationActionOnJobResponse.cs new file mode 100644 index 000000000000..613831027e5b --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/LastMitigationActionOnJobResponse.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Last Mitigation Action Performed On Job + /// + [OutputType] + public sealed class LastMitigationActionOnJobResponse + { + /// + /// Action performed date time + /// + public readonly string? ActionDateTimeInUtc; + /// + /// Resolution code provided by customer + /// + public readonly string? CustomerResolution; + /// + /// Action performed by customer, + /// possibility is that mitigation might happen by customer or service or by ops + /// + public readonly bool? IsPerformedByCustomer; + + [OutputConstructor] + private LastMitigationActionOnJobResponse( + string? actionDateTimeInUtc, + + string? customerResolution, + + bool? isPerformedByCustomer) + { + ActionDateTimeInUtc = actionDateTimeInUtc; + CustomerResolution = customerResolution; + IsPerformedByCustomer = isPerformedByCustomer; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/ManagedDiskDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/ManagedDiskDetailsResponse.cs new file mode 100644 index 000000000000..d824e1dcdf19 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/ManagedDiskDetailsResponse.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Details of the managed disks. + /// + [OutputType] + public sealed class ManagedDiskDetailsResponse + { + /// + /// Account Type of the data to be transferred. + /// Expected value is 'ManagedDisk'. + /// + public readonly string DataAccountType; + /// + /// Resource Group Id of the compute disks. + /// + public readonly string ResourceGroupId; + /// + /// Resource Id of the storage account that can be used to copy the vhd for staging. + /// + public readonly string StagingStorageAccountId; + + [OutputConstructor] + private ManagedDiskDetailsResponse( + string dataAccountType, + + string resourceGroupId, + + string stagingStorageAccountId) + { + DataAccountType = dataAccountType; + ResourceGroupId = resourceGroupId; + StagingStorageAccountId = stagingStorageAccountId; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/NotificationPreferenceResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/NotificationPreferenceResponse.cs new file mode 100644 index 000000000000..a83d5d335c83 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/NotificationPreferenceResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Notification preference for a job stage. + /// + [OutputType] + public sealed class NotificationPreferenceResponse + { + /// + /// Notification is required or not. + /// + public readonly bool SendNotification; + /// + /// Name of the stage. + /// + public readonly string StageName; + + [OutputConstructor] + private NotificationPreferenceResponse( + bool sendNotification, + + string stageName) + { + SendNotification = sendNotification; + StageName = stageName; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/PackageCarrierDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/PackageCarrierDetailsResponse.cs new file mode 100644 index 000000000000..672f1a9de3f5 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/PackageCarrierDetailsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Package carrier details. + /// + [OutputType] + public sealed class PackageCarrierDetailsResponse + { + /// + /// Carrier Account Number of customer for customer disk. + /// + public readonly string? CarrierAccountNumber; + /// + /// Name of the carrier. + /// + public readonly string? CarrierName; + /// + /// Tracking Id of shipment. + /// + public readonly string? TrackingId; + + [OutputConstructor] + private PackageCarrierDetailsResponse( + string? carrierAccountNumber, + + string? carrierName, + + string? trackingId) + { + CarrierAccountNumber = carrierAccountNumber; + CarrierName = carrierName; + TrackingId = trackingId; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/PackageCarrierInfoResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/PackageCarrierInfoResponse.cs new file mode 100644 index 000000000000..dc94ec613a67 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/PackageCarrierInfoResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// package carrier info + /// + [OutputType] + public sealed class PackageCarrierInfoResponse + { + /// + /// Name of the carrier. + /// + public readonly string? CarrierName; + /// + /// Tracking Id of shipment. + /// + public readonly string? TrackingId; + + [OutputConstructor] + private PackageCarrierInfoResponse( + string? carrierName, + + string? trackingId) + { + CarrierName = carrierName; + TrackingId = trackingId; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/PackageShippingDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/PackageShippingDetailsResponse.cs new file mode 100644 index 000000000000..967a1e41bfb4 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/PackageShippingDetailsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// package shipping details + /// + [OutputType] + public sealed class PackageShippingDetailsResponse + { + /// + /// Name of the carrier. + /// + public readonly string CarrierName; + /// + /// Tracking Id of shipment. + /// + public readonly string TrackingId; + /// + /// Url where shipment can be tracked. + /// + public readonly string TrackingUrl; + + [OutputConstructor] + private PackageShippingDetailsResponse( + string carrierName, + + string trackingId, + + string trackingUrl) + { + CarrierName = carrierName; + TrackingId = trackingId; + TrackingUrl = trackingUrl; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/PreferencesResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/PreferencesResponse.cs new file mode 100644 index 000000000000..c8dd7d866bb0 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/PreferencesResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Preferences related to the order + /// + [OutputType] + public sealed class PreferencesResponse + { + /// + /// Preferences related to the Encryption. + /// + public readonly Outputs.EncryptionPreferencesResponse? EncryptionPreferences; + /// + /// Preferred data center region. + /// + public readonly ImmutableArray PreferredDataCenterRegion; + /// + /// Optional Preferences related to the reverse shipment logistics of the sku. + /// + public readonly Outputs.TransportPreferencesResponse? ReverseTransportPreferences; + /// + /// Preferences related to the Access Tier of storage accounts. + /// + public readonly ImmutableArray StorageAccountAccessTierPreferences; + /// + /// Preferences related to the shipment logistics of the sku. + /// + public readonly Outputs.TransportPreferencesResponse? TransportPreferences; + + [OutputConstructor] + private PreferencesResponse( + Outputs.EncryptionPreferencesResponse? encryptionPreferences, + + ImmutableArray preferredDataCenterRegion, + + Outputs.TransportPreferencesResponse? reverseTransportPreferences, + + ImmutableArray storageAccountAccessTierPreferences, + + Outputs.TransportPreferencesResponse? transportPreferences) + { + EncryptionPreferences = encryptionPreferences; + PreferredDataCenterRegion = preferredDataCenterRegion; + ReverseTransportPreferences = reverseTransportPreferences; + StorageAccountAccessTierPreferences = storageAccountAccessTierPreferences; + TransportPreferences = transportPreferences; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/ResourceIdentityResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/ResourceIdentityResponse.cs new file mode 100644 index 000000000000..4849c81ea825 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/ResourceIdentityResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Msi identity details of the resource + /// + [OutputType] + public sealed class ResourceIdentityResponse + { + /// + /// Service Principal Id backing the Msi + /// + public readonly string PrincipalId; + /// + /// Home Tenant Id + /// + public readonly string TenantId; + /// + /// Identity type + /// + public readonly string? Type; + /// + /// User Assigned Identities + /// + public readonly ImmutableDictionary? UserAssignedIdentities; + + [OutputConstructor] + private ResourceIdentityResponse( + string principalId, + + string tenantId, + + string? type, + + ImmutableDictionary? userAssignedIdentities) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + UserAssignedIdentities = userAssignedIdentities; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/ReverseShippingDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/ReverseShippingDetailsResponse.cs new file mode 100644 index 000000000000..11f5cb98251e --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/ReverseShippingDetailsResponse.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Reverse Shipping Address and contact details for a job. + /// + [OutputType] + public sealed class ReverseShippingDetailsResponse + { + /// + /// Contact Info. + /// + public readonly Outputs.ContactInfoResponse? ContactDetails; + /// + /// A flag to indicate whether Reverse Shipping details are updated or not after device has been prepared. + /// Read only field + /// + public readonly bool IsUpdated; + /// + /// Shipping address where customer wishes to receive the device. + /// + public readonly Outputs.ShippingAddressResponse? ShippingAddress; + + [OutputConstructor] + private ReverseShippingDetailsResponse( + Outputs.ContactInfoResponse? contactDetails, + + bool isUpdated, + + Outputs.ShippingAddressResponse? shippingAddress) + { + ContactDetails = contactDetails; + IsUpdated = isUpdated; + ShippingAddress = shippingAddress; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/ShareCredentialDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/ShareCredentialDetailsResponse.cs new file mode 100644 index 000000000000..2b6c96809b99 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/ShareCredentialDetailsResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Credential details of the shares in account. + /// + [OutputType] + public sealed class ShareCredentialDetailsResponse + { + /// + /// Password for the share. + /// + public readonly string Password; + /// + /// Name of the share. + /// + public readonly string ShareName; + /// + /// Type of the share. + /// + public readonly string ShareType; + /// + /// Access protocols supported on the device. + /// + public readonly ImmutableArray SupportedAccessProtocols; + /// + /// User name for the share. + /// + public readonly string UserName; + + [OutputConstructor] + private ShareCredentialDetailsResponse( + string password, + + string shareName, + + string shareType, + + ImmutableArray supportedAccessProtocols, + + string userName) + { + Password = password; + ShareName = shareName; + ShareType = shareType; + SupportedAccessProtocols = supportedAccessProtocols; + UserName = userName; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/ShippingAddressResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/ShippingAddressResponse.cs new file mode 100644 index 000000000000..e8140cb440a6 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/ShippingAddressResponse.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Shipping address where customer wishes to receive the device. + /// + [OutputType] + public sealed class ShippingAddressResponse + { + /// + /// Type of address. + /// + public readonly string? AddressType; + /// + /// Name of the City. + /// + public readonly string? City; + /// + /// Name of the company. + /// + public readonly string? CompanyName; + /// + /// Name of the Country. + /// + public readonly string Country; + /// + /// Postal code. + /// + public readonly string? PostalCode; + /// + /// Flag to indicate if customer has chosen to skip default address validation + /// + public readonly bool? SkipAddressValidation; + /// + /// Name of the State or Province. + /// + public readonly string? StateOrProvince; + /// + /// Street Address line 1. + /// + public readonly string StreetAddress1; + /// + /// Street Address line 2. + /// + public readonly string? StreetAddress2; + /// + /// Street Address line 3. + /// + public readonly string? StreetAddress3; + /// + /// Tax Identification Number + /// + public readonly string? TaxIdentificationNumber; + /// + /// Extended Zip Code. + /// + public readonly string? ZipExtendedCode; + + [OutputConstructor] + private ShippingAddressResponse( + string? addressType, + + string? city, + + string? companyName, + + string country, + + string? postalCode, + + bool? skipAddressValidation, + + string? stateOrProvince, + + string streetAddress1, + + string? streetAddress2, + + string? streetAddress3, + + string? taxIdentificationNumber, + + string? zipExtendedCode) + { + AddressType = addressType; + City = city; + CompanyName = companyName; + Country = country; + PostalCode = postalCode; + SkipAddressValidation = skipAddressValidation; + StateOrProvince = stateOrProvince; + StreetAddress1 = streetAddress1; + StreetAddress2 = streetAddress2; + StreetAddress3 = streetAddress3; + TaxIdentificationNumber = taxIdentificationNumber; + ZipExtendedCode = zipExtendedCode; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/SkuResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/SkuResponse.cs new file mode 100644 index 000000000000..51035241989a --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/SkuResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// The Sku. + /// + [OutputType] + public sealed class SkuResponse + { + /// + /// The display name of the sku. + /// + public readonly string? DisplayName; + /// + /// The sku family. + /// + public readonly string? Family; + /// + /// The sku name. + /// + public readonly string Name; + + [OutputConstructor] + private SkuResponse( + string? displayName, + + string? family, + + string name) + { + DisplayName = displayName; + Family = family; + Name = name; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/StorageAccountDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/StorageAccountDetailsResponse.cs new file mode 100644 index 000000000000..6b630a728514 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/StorageAccountDetailsResponse.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Details for the storage account. + /// + [OutputType] + public sealed class StorageAccountDetailsResponse + { + /// + /// Account Type of the data to be transferred. + /// Expected value is 'StorageAccount'. + /// + public readonly string DataAccountType; + /// + /// Storage Account Resource Id. + /// + public readonly string StorageAccountId; + + [OutputConstructor] + private StorageAccountDetailsResponse( + string dataAccountType, + + string storageAccountId) + { + DataAccountType = dataAccountType; + StorageAccountId = storageAccountId; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/SystemDataResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..15562736b0ca --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Provides details about resource creation and update time + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC) + /// + public readonly string CreatedAt; + /// + /// A string identifier for the identity that created the resource + /// + public readonly string CreatedBy; + /// + /// The type of identity that created the resource: user, application, managedIdentity + /// + public readonly string CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string LastModifiedAt; + /// + /// A string identifier for the identity that last modified the resource + /// + public readonly string LastModifiedBy; + /// + /// The type of identity that last modified the resource: user, application, managedIdentity + /// + public readonly string LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string createdAt, + + string createdBy, + + string createdByType, + + string lastModifiedAt, + + string lastModifiedBy, + + string lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/TransferAllDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/TransferAllDetailsResponse.cs new file mode 100644 index 000000000000..feeb0ede8609 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/TransferAllDetailsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Details to transfer all data. + /// + [OutputType] + public sealed class TransferAllDetailsResponse + { + /// + /// Type of the account of data + /// + public readonly string DataAccountType; + /// + /// To indicate if all Azure blobs have to be transferred + /// + public readonly bool? TransferAllBlobs; + /// + /// To indicate if all Azure Files have to be transferred + /// + public readonly bool? TransferAllFiles; + + [OutputConstructor] + private TransferAllDetailsResponse( + string dataAccountType, + + bool? transferAllBlobs, + + bool? transferAllFiles) + { + DataAccountType = dataAccountType; + TransferAllBlobs = transferAllBlobs; + TransferAllFiles = transferAllFiles; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/TransferConfigurationResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/TransferConfigurationResponse.cs new file mode 100644 index 000000000000..5e2bb996b910 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/TransferConfigurationResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Configuration for defining the transfer of data. + /// + [OutputType] + public sealed class TransferConfigurationResponse + { + /// + /// Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + /// + public readonly Outputs.TransferConfigurationResponseTransferAllDetails? TransferAllDetails; + /// + /// Type of the configuration for transfer. + /// + public readonly string TransferConfigurationType; + /// + /// Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + /// + public readonly Outputs.TransferConfigurationResponseTransferFilterDetails? TransferFilterDetails; + + [OutputConstructor] + private TransferConfigurationResponse( + Outputs.TransferConfigurationResponseTransferAllDetails? transferAllDetails, + + string transferConfigurationType, + + Outputs.TransferConfigurationResponseTransferFilterDetails? transferFilterDetails) + { + TransferAllDetails = transferAllDetails; + TransferConfigurationType = transferConfigurationType; + TransferFilterDetails = transferFilterDetails; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/TransferConfigurationResponseTransferAllDetails.cs b/sdk/dotnet/DataBox/V20230301/Outputs/TransferConfigurationResponseTransferAllDetails.cs new file mode 100644 index 000000000000..da498b079631 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/TransferConfigurationResponseTransferAllDetails.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + /// + [OutputType] + public sealed class TransferConfigurationResponseTransferAllDetails + { + /// + /// Details to transfer all data. + /// + public readonly Outputs.TransferAllDetailsResponse? Include; + + [OutputConstructor] + private TransferConfigurationResponseTransferAllDetails(Outputs.TransferAllDetailsResponse? include) + { + Include = include; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/TransferConfigurationResponseTransferFilterDetails.cs b/sdk/dotnet/DataBox/V20230301/Outputs/TransferConfigurationResponseTransferFilterDetails.cs new file mode 100644 index 000000000000..75a6f03305cc --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/TransferConfigurationResponseTransferFilterDetails.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + /// + [OutputType] + public sealed class TransferConfigurationResponseTransferFilterDetails + { + /// + /// Details of the filtering the transfer of data. + /// + public readonly Outputs.TransferFilterDetailsResponse? Include; + + [OutputConstructor] + private TransferConfigurationResponseTransferFilterDetails(Outputs.TransferFilterDetailsResponse? include) + { + Include = include; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/TransferFilterDetailsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/TransferFilterDetailsResponse.cs new file mode 100644 index 000000000000..31063cec1d5e --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/TransferFilterDetailsResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Details of the filtering the transfer of data. + /// + [OutputType] + public sealed class TransferFilterDetailsResponse + { + /// + /// Filter details to transfer Azure files. + /// + public readonly Outputs.AzureFileFilterDetailsResponse? AzureFileFilterDetails; + /// + /// Filter details to transfer blobs. + /// + public readonly Outputs.BlobFilterDetailsResponse? BlobFilterDetails; + /// + /// Type of the account of data. + /// + public readonly string DataAccountType; + /// + /// Details of the filter files to be used for data transfer. + /// + public readonly ImmutableArray FilterFileDetails; + + [OutputConstructor] + private TransferFilterDetailsResponse( + Outputs.AzureFileFilterDetailsResponse? azureFileFilterDetails, + + Outputs.BlobFilterDetailsResponse? blobFilterDetails, + + string dataAccountType, + + ImmutableArray filterFileDetails) + { + AzureFileFilterDetails = azureFileFilterDetails; + BlobFilterDetails = blobFilterDetails; + DataAccountType = dataAccountType; + FilterFileDetails = filterFileDetails; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/TransportPreferencesResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/TransportPreferencesResponse.cs new file mode 100644 index 000000000000..7f76e7c8d39e --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/TransportPreferencesResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Preferences related to the shipment logistics of the sku + /// + [OutputType] + public sealed class TransportPreferencesResponse + { + /// + /// Read only property which indicates whether transport preferences has been updated or not after device is prepared. + /// + public readonly bool IsUpdated; + /// + /// Indicates Shipment Logistics type that the customer preferred. + /// + public readonly string PreferredShipmentType; + + [OutputConstructor] + private TransportPreferencesResponse( + bool isUpdated, + + string preferredShipmentType) + { + IsUpdated = isUpdated; + PreferredShipmentType = preferredShipmentType; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/UnencryptedCredentialsResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/UnencryptedCredentialsResponse.cs new file mode 100644 index 000000000000..8baa0375cea3 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/UnencryptedCredentialsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Unencrypted credentials for accessing device. + /// + [OutputType] + public sealed class UnencryptedCredentialsResponse + { + /// + /// Name of the job. + /// + public readonly string JobName; + /// + /// Secrets related to this job. + /// + public readonly object JobSecrets; + + [OutputConstructor] + private UnencryptedCredentialsResponse( + string jobName, + + object jobSecrets) + { + JobName = jobName; + JobSecrets = jobSecrets; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/UserAssignedIdentityResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/UserAssignedIdentityResponse.cs new file mode 100644 index 000000000000..57cd3bf472e5 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/UserAssignedIdentityResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// Class defining User assigned identity details. + /// + [OutputType] + public sealed class UserAssignedIdentityResponse + { + /// + /// The client id of user assigned identity. + /// + public readonly string ClientId; + /// + /// The principal id of user assigned identity. + /// + public readonly string PrincipalId; + + [OutputConstructor] + private UserAssignedIdentityResponse( + string clientId, + + string principalId) + { + ClientId = clientId; + PrincipalId = principalId; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/Outputs/UserAssignedPropertiesResponse.cs b/sdk/dotnet/DataBox/V20230301/Outputs/UserAssignedPropertiesResponse.cs new file mode 100644 index 000000000000..97e6da93c426 --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/Outputs/UserAssignedPropertiesResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DataBox.V20230301.Outputs +{ + + /// + /// User assigned identity properties. + /// + [OutputType] + public sealed class UserAssignedPropertiesResponse + { + /// + /// Arm resource id for user assigned identity to be used to fetch MSI token. + /// + public readonly string? ResourceId; + + [OutputConstructor] + private UserAssignedPropertiesResponse(string? resourceId) + { + ResourceId = resourceId; + } + } +} diff --git a/sdk/dotnet/DataBox/V20230301/README.md b/sdk/dotnet/DataBox/V20230301/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/DataBox/V20230301/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/DesktopVirtualization/Application.cs b/sdk/dotnet/DesktopVirtualization/Application.cs index 1d754665c16e..f37ebb14a5fb 100644 --- a/sdk/dotnet/DesktopVirtualization/Application.cs +++ b/sdk/dotnet/DesktopVirtualization/Application.cs @@ -160,6 +160,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:Application"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:Application"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:Application"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/ApplicationGroup.cs b/sdk/dotnet/DesktopVirtualization/ApplicationGroup.cs index c6158a4f5b09..196e2288b669 100644 --- a/sdk/dotnet/DesktopVirtualization/ApplicationGroup.cs +++ b/sdk/dotnet/DesktopVirtualization/ApplicationGroup.cs @@ -157,6 +157,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ApplicationGroup"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:ApplicationGroup"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ApplicationGroup"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/Enums.cs b/sdk/dotnet/DesktopVirtualization/Enums.cs index ec27adb70648..8ff3281d281e 100644 --- a/sdk/dotnet/DesktopVirtualization/Enums.cs +++ b/sdk/dotnet/DesktopVirtualization/Enums.cs @@ -430,6 +430,37 @@ private ScalingHostPoolType(string value) public override string ToString() => _value; } + /// + /// Action to be taken after a logoff during the ramp up period. + /// + [EnumType] + public readonly struct SessionHandlingOperation : IEquatable + { + private readonly string _value; + + private SessionHandlingOperation(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SessionHandlingOperation None { get; } = new SessionHandlingOperation("None"); + public static SessionHandlingOperation Deallocate { get; } = new SessionHandlingOperation("Deallocate"); + + public static bool operator ==(SessionHandlingOperation left, SessionHandlingOperation right) => left.Equals(right); + public static bool operator !=(SessionHandlingOperation left, SessionHandlingOperation right) => !left.Equals(right); + + public static explicit operator string(SessionHandlingOperation value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SessionHandlingOperation other && Equals(other); + public bool Equals(SessionHandlingOperation other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The type of maintenance for session host components. /// @@ -498,6 +529,37 @@ private SessionHostLoadBalancingAlgorithm(string value) public override string ToString() => _value; } + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + /// + [EnumType] + public readonly struct SetStartVMOnConnect : IEquatable + { + private readonly string _value; + + private SetStartVMOnConnect(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SetStartVMOnConnect Enable { get; } = new SetStartVMOnConnect("Enable"); + public static SetStartVMOnConnect Disable { get; } = new SetStartVMOnConnect("Disable"); + + public static bool operator ==(SetStartVMOnConnect left, SetStartVMOnConnect right) => left.Equals(right); + public static bool operator !=(SetStartVMOnConnect left, SetStartVMOnConnect right) => !left.Equals(right); + + public static explicit operator string(SetStartVMOnConnect value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SetStartVMOnConnect other && Equals(other); + public bool Equals(SetStartVMOnConnect other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. /// @@ -531,6 +593,47 @@ private SkuTier(string value) public override string ToString() => _value; } + /// + /// The desired startup behavior during the ramp up period for personal vms in the hostpool. + /// + [EnumType] + public readonly struct StartupBehavior : IEquatable + { + private readonly string _value; + + private StartupBehavior(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Session hosts will not be started by the service. This setting depends on Start VM on Connect to be enabled to start the session hosts. + /// + public static StartupBehavior None { get; } = new StartupBehavior("None"); + /// + /// Session hosts with an assigned user will be started during Ramp Up + /// + public static StartupBehavior WithAssignedUser { get; } = new StartupBehavior("WithAssignedUser"); + /// + /// All personal session hosts in the hostpool will be started during ramp up. + /// + public static StartupBehavior All { get; } = new StartupBehavior("All"); + + public static bool operator ==(StartupBehavior left, StartupBehavior right) => left.Equals(right); + public static bool operator !=(StartupBehavior left, StartupBehavior right) => !left.Equals(right); + + public static explicit operator string(StartupBehavior value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StartupBehavior other && Equals(other); + public bool Equals(StartupBehavior other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Specifies when to stop hosts during ramp down period. /// diff --git a/sdk/dotnet/DesktopVirtualization/GetScalingPlanPersonalSchedule.cs b/sdk/dotnet/DesktopVirtualization/GetScalingPlanPersonalSchedule.cs new file mode 100644 index 000000000000..8f71f1b2ec29 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/GetScalingPlanPersonalSchedule.cs @@ -0,0 +1,301 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization +{ + public static class GetScalingPlanPersonalSchedule + { + /// + /// Get a ScalingPlanPersonalSchedule. + /// Azure REST API version: 2023-07-07-preview. + /// + public static Task InvokeAsync(GetScalingPlanPersonalScheduleArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:desktopvirtualization:getScalingPlanPersonalSchedule", args ?? new GetScalingPlanPersonalScheduleArgs(), options.WithDefaults()); + + /// + /// Get a ScalingPlanPersonalSchedule. + /// Azure REST API version: 2023-07-07-preview. + /// + public static Output Invoke(GetScalingPlanPersonalScheduleInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:desktopvirtualization:getScalingPlanPersonalSchedule", args ?? new GetScalingPlanPersonalScheduleInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetScalingPlanPersonalScheduleArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the scaling plan. + /// + [Input("scalingPlanName", required: true)] + public string ScalingPlanName { get; set; } = null!; + + /// + /// The name of the ScalingPlanSchedule + /// + [Input("scalingPlanScheduleName", required: true)] + public string ScalingPlanScheduleName { get; set; } = null!; + + public GetScalingPlanPersonalScheduleArgs() + { + } + public static new GetScalingPlanPersonalScheduleArgs Empty => new GetScalingPlanPersonalScheduleArgs(); + } + + public sealed class GetScalingPlanPersonalScheduleInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the scaling plan. + /// + [Input("scalingPlanName", required: true)] + public Input ScalingPlanName { get; set; } = null!; + + /// + /// The name of the ScalingPlanSchedule + /// + [Input("scalingPlanScheduleName", required: true)] + public Input ScalingPlanScheduleName { get; set; } = null!; + + public GetScalingPlanPersonalScheduleInvokeArgs() + { + } + public static new GetScalingPlanPersonalScheduleInvokeArgs Empty => new GetScalingPlanPersonalScheduleInvokeArgs(); + } + + + [OutputType] + public sealed class GetScalingPlanPersonalScheduleResult + { + /// + /// Set of days of the week on which this schedule is active. + /// + public readonly ImmutableArray DaysOfWeek; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// Action to be taken after a user disconnect during the off-peak period. + /// + public readonly string? OffPeakActionOnDisconnect; + /// + /// Action to be taken after a logoff during the off-peak period. + /// + public readonly string? OffPeakActionOnLogoff; + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + /// + public readonly int? OffPeakMinutesToWaitOnDisconnect; + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + /// + public readonly int? OffPeakMinutesToWaitOnLogoff; + /// + /// Starting time for off-peak period. + /// + public readonly Outputs.TimeResponse? OffPeakStartTime; + /// + /// The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + /// + public readonly string? OffPeakStartVMOnConnect; + /// + /// Action to be taken after a user disconnect during the peak period. + /// + public readonly string? PeakActionOnDisconnect; + /// + /// Action to be taken after a logoff during the peak period. + /// + public readonly string? PeakActionOnLogoff; + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + /// + public readonly int? PeakMinutesToWaitOnDisconnect; + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + /// + public readonly int? PeakMinutesToWaitOnLogoff; + /// + /// Starting time for peak period. + /// + public readonly Outputs.TimeResponse? PeakStartTime; + /// + /// The desired configuration of Start VM On Connect for the hostpool during the peak phase. + /// + public readonly string? PeakStartVMOnConnect; + /// + /// Action to be taken after a user disconnect during the ramp down period. + /// + public readonly string? RampDownActionOnDisconnect; + /// + /// Action to be taken after a logoff during the ramp down period. + /// + public readonly string? RampDownActionOnLogoff; + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + /// + public readonly int? RampDownMinutesToWaitOnDisconnect; + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + /// + public readonly int? RampDownMinutesToWaitOnLogoff; + /// + /// Starting time for ramp down period. + /// + public readonly Outputs.TimeResponse? RampDownStartTime; + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + /// + public readonly string? RampDownStartVMOnConnect; + /// + /// Action to be taken after a user disconnect during the ramp up period. + /// + public readonly string? RampUpActionOnDisconnect; + /// + /// Action to be taken after a logoff during the ramp up period. + /// + public readonly string? RampUpActionOnLogoff; + /// + /// The desired startup behavior during the ramp up period for personal vms in the hostpool. + /// + public readonly string? RampUpAutoStartHosts; + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + /// + public readonly int? RampUpMinutesToWaitOnDisconnect; + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + /// + public readonly int? RampUpMinutesToWaitOnLogoff; + /// + /// Starting time for ramp up period. + /// + public readonly Outputs.TimeResponse? RampUpStartTime; + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + /// + public readonly string? RampUpStartVMOnConnect; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetScalingPlanPersonalScheduleResult( + ImmutableArray daysOfWeek, + + string id, + + string name, + + string? offPeakActionOnDisconnect, + + string? offPeakActionOnLogoff, + + int? offPeakMinutesToWaitOnDisconnect, + + int? offPeakMinutesToWaitOnLogoff, + + Outputs.TimeResponse? offPeakStartTime, + + string? offPeakStartVMOnConnect, + + string? peakActionOnDisconnect, + + string? peakActionOnLogoff, + + int? peakMinutesToWaitOnDisconnect, + + int? peakMinutesToWaitOnLogoff, + + Outputs.TimeResponse? peakStartTime, + + string? peakStartVMOnConnect, + + string? rampDownActionOnDisconnect, + + string? rampDownActionOnLogoff, + + int? rampDownMinutesToWaitOnDisconnect, + + int? rampDownMinutesToWaitOnLogoff, + + Outputs.TimeResponse? rampDownStartTime, + + string? rampDownStartVMOnConnect, + + string? rampUpActionOnDisconnect, + + string? rampUpActionOnLogoff, + + string? rampUpAutoStartHosts, + + int? rampUpMinutesToWaitOnDisconnect, + + int? rampUpMinutesToWaitOnLogoff, + + Outputs.TimeResponse? rampUpStartTime, + + string? rampUpStartVMOnConnect, + + Outputs.SystemDataResponse systemData, + + string type) + { + DaysOfWeek = daysOfWeek; + Id = id; + Name = name; + OffPeakActionOnDisconnect = offPeakActionOnDisconnect; + OffPeakActionOnLogoff = offPeakActionOnLogoff; + OffPeakMinutesToWaitOnDisconnect = offPeakMinutesToWaitOnDisconnect; + OffPeakMinutesToWaitOnLogoff = offPeakMinutesToWaitOnLogoff; + OffPeakStartTime = offPeakStartTime; + OffPeakStartVMOnConnect = offPeakStartVMOnConnect; + PeakActionOnDisconnect = peakActionOnDisconnect; + PeakActionOnLogoff = peakActionOnLogoff; + PeakMinutesToWaitOnDisconnect = peakMinutesToWaitOnDisconnect; + PeakMinutesToWaitOnLogoff = peakMinutesToWaitOnLogoff; + PeakStartTime = peakStartTime; + PeakStartVMOnConnect = peakStartVMOnConnect; + RampDownActionOnDisconnect = rampDownActionOnDisconnect; + RampDownActionOnLogoff = rampDownActionOnLogoff; + RampDownMinutesToWaitOnDisconnect = rampDownMinutesToWaitOnDisconnect; + RampDownMinutesToWaitOnLogoff = rampDownMinutesToWaitOnLogoff; + RampDownStartTime = rampDownStartTime; + RampDownStartVMOnConnect = rampDownStartVMOnConnect; + RampUpActionOnDisconnect = rampUpActionOnDisconnect; + RampUpActionOnLogoff = rampUpActionOnLogoff; + RampUpAutoStartHosts = rampUpAutoStartHosts; + RampUpMinutesToWaitOnDisconnect = rampUpMinutesToWaitOnDisconnect; + RampUpMinutesToWaitOnLogoff = rampUpMinutesToWaitOnLogoff; + RampUpStartTime = rampUpStartTime; + RampUpStartVMOnConnect = rampUpStartVMOnConnect; + SystemData = systemData; + Type = type; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/HostPool.cs b/sdk/dotnet/DesktopVirtualization/HostPool.cs index 7779ac498f07..7f26cf7d3b51 100644 --- a/sdk/dotnet/DesktopVirtualization/HostPool.cs +++ b/sdk/dotnet/DesktopVirtualization/HostPool.cs @@ -241,6 +241,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:HostPool"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:HostPool"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:HostPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/MSIXPackage.cs b/sdk/dotnet/DesktopVirtualization/MSIXPackage.cs index e1f2d23e0455..05e0fc0c32c1 100644 --- a/sdk/dotnet/DesktopVirtualization/MSIXPackage.cs +++ b/sdk/dotnet/DesktopVirtualization/MSIXPackage.cs @@ -139,6 +139,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:MSIXPackage"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:MSIXPackage"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:MSIXPackage"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/PrivateEndpointConnectionByHostPool.cs b/sdk/dotnet/DesktopVirtualization/PrivateEndpointConnectionByHostPool.cs index 7e1e0eb715a5..70ca068e8634 100644 --- a/sdk/dotnet/DesktopVirtualization/PrivateEndpointConnectionByHostPool.cs +++ b/sdk/dotnet/DesktopVirtualization/PrivateEndpointConnectionByHostPool.cs @@ -82,6 +82,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByHostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/PrivateEndpointConnectionByWorkspace.cs b/sdk/dotnet/DesktopVirtualization/PrivateEndpointConnectionByWorkspace.cs index f9f9c0aba983..f7dafbdb3797 100644 --- a/sdk/dotnet/DesktopVirtualization/PrivateEndpointConnectionByWorkspace.cs +++ b/sdk/dotnet/DesktopVirtualization/PrivateEndpointConnectionByWorkspace.cs @@ -82,6 +82,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByWorkspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/ScalingPlan.cs b/sdk/dotnet/DesktopVirtualization/ScalingPlan.cs index baa31bab15a7..ffc824d18923 100644 --- a/sdk/dotnet/DesktopVirtualization/ScalingPlan.cs +++ b/sdk/dotnet/DesktopVirtualization/ScalingPlan.cs @@ -157,6 +157,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ScalingPlan"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:ScalingPlan"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ScalingPlan"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/ScalingPlanPersonalSchedule.cs b/sdk/dotnet/DesktopVirtualization/ScalingPlanPersonalSchedule.cs new file mode 100644 index 000000000000..035fb97b428d --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/ScalingPlanPersonalSchedule.cs @@ -0,0 +1,431 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization +{ + /// + /// Represents a ScalingPlanPersonalSchedule definition. + /// Azure REST API version: 2023-07-07-preview. + /// + [AzureNativeResourceType("azure-native:desktopvirtualization:ScalingPlanPersonalSchedule")] + public partial class ScalingPlanPersonalSchedule : global::Pulumi.CustomResource + { + /// + /// Set of days of the week on which this schedule is active. + /// + [Output("daysOfWeek")] + public Output> DaysOfWeek { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Action to be taken after a user disconnect during the off-peak period. + /// + [Output("offPeakActionOnDisconnect")] + public Output OffPeakActionOnDisconnect { get; private set; } = null!; + + /// + /// Action to be taken after a logoff during the off-peak period. + /// + [Output("offPeakActionOnLogoff")] + public Output OffPeakActionOnLogoff { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + /// + [Output("offPeakMinutesToWaitOnDisconnect")] + public Output OffPeakMinutesToWaitOnDisconnect { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + /// + [Output("offPeakMinutesToWaitOnLogoff")] + public Output OffPeakMinutesToWaitOnLogoff { get; private set; } = null!; + + /// + /// Starting time for off-peak period. + /// + [Output("offPeakStartTime")] + public Output OffPeakStartTime { get; private set; } = null!; + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + /// + [Output("offPeakStartVMOnConnect")] + public Output OffPeakStartVMOnConnect { get; private set; } = null!; + + /// + /// Action to be taken after a user disconnect during the peak period. + /// + [Output("peakActionOnDisconnect")] + public Output PeakActionOnDisconnect { get; private set; } = null!; + + /// + /// Action to be taken after a logoff during the peak period. + /// + [Output("peakActionOnLogoff")] + public Output PeakActionOnLogoff { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + /// + [Output("peakMinutesToWaitOnDisconnect")] + public Output PeakMinutesToWaitOnDisconnect { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + /// + [Output("peakMinutesToWaitOnLogoff")] + public Output PeakMinutesToWaitOnLogoff { get; private set; } = null!; + + /// + /// Starting time for peak period. + /// + [Output("peakStartTime")] + public Output PeakStartTime { get; private set; } = null!; + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the peak phase. + /// + [Output("peakStartVMOnConnect")] + public Output PeakStartVMOnConnect { get; private set; } = null!; + + /// + /// Action to be taken after a user disconnect during the ramp down period. + /// + [Output("rampDownActionOnDisconnect")] + public Output RampDownActionOnDisconnect { get; private set; } = null!; + + /// + /// Action to be taken after a logoff during the ramp down period. + /// + [Output("rampDownActionOnLogoff")] + public Output RampDownActionOnLogoff { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + /// + [Output("rampDownMinutesToWaitOnDisconnect")] + public Output RampDownMinutesToWaitOnDisconnect { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + /// + [Output("rampDownMinutesToWaitOnLogoff")] + public Output RampDownMinutesToWaitOnLogoff { get; private set; } = null!; + + /// + /// Starting time for ramp down period. + /// + [Output("rampDownStartTime")] + public Output RampDownStartTime { get; private set; } = null!; + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + /// + [Output("rampDownStartVMOnConnect")] + public Output RampDownStartVMOnConnect { get; private set; } = null!; + + /// + /// Action to be taken after a user disconnect during the ramp up period. + /// + [Output("rampUpActionOnDisconnect")] + public Output RampUpActionOnDisconnect { get; private set; } = null!; + + /// + /// Action to be taken after a logoff during the ramp up period. + /// + [Output("rampUpActionOnLogoff")] + public Output RampUpActionOnLogoff { get; private set; } = null!; + + /// + /// The desired startup behavior during the ramp up period for personal vms in the hostpool. + /// + [Output("rampUpAutoStartHosts")] + public Output RampUpAutoStartHosts { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + /// + [Output("rampUpMinutesToWaitOnDisconnect")] + public Output RampUpMinutesToWaitOnDisconnect { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + /// + [Output("rampUpMinutesToWaitOnLogoff")] + public Output RampUpMinutesToWaitOnLogoff { get; private set; } = null!; + + /// + /// Starting time for ramp up period. + /// + [Output("rampUpStartTime")] + public Output RampUpStartTime { get; private set; } = null!; + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + /// + [Output("rampUpStartVMOnConnect")] + public Output RampUpStartVMOnConnect { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a ScalingPlanPersonalSchedule resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ScalingPlanPersonalSchedule(string name, ScalingPlanPersonalScheduleArgs args, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization:ScalingPlanPersonalSchedule", name, args ?? new ScalingPlanPersonalScheduleArgs(), MakeResourceOptions(options, "")) + { + } + + private ScalingPlanPersonalSchedule(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization:ScalingPlanPersonalSchedule", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPersonalSchedule"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ScalingPlanPersonalSchedule resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static ScalingPlanPersonalSchedule Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ScalingPlanPersonalSchedule(name, id, options); + } + } + + public sealed class ScalingPlanPersonalScheduleArgs : global::Pulumi.ResourceArgs + { + [Input("daysOfWeek")] + private InputList>? _daysOfWeek; + + /// + /// Set of days of the week on which this schedule is active. + /// + public InputList> DaysOfWeek + { + get => _daysOfWeek ?? (_daysOfWeek = new InputList>()); + set => _daysOfWeek = value; + } + + /// + /// Action to be taken after a user disconnect during the off-peak period. + /// + [Input("offPeakActionOnDisconnect")] + public InputUnion? OffPeakActionOnDisconnect { get; set; } + + /// + /// Action to be taken after a logoff during the off-peak period. + /// + [Input("offPeakActionOnLogoff")] + public InputUnion? OffPeakActionOnLogoff { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + /// + [Input("offPeakMinutesToWaitOnDisconnect")] + public Input? OffPeakMinutesToWaitOnDisconnect { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + /// + [Input("offPeakMinutesToWaitOnLogoff")] + public Input? OffPeakMinutesToWaitOnLogoff { get; set; } + + /// + /// Starting time for off-peak period. + /// + [Input("offPeakStartTime")] + public Input? OffPeakStartTime { get; set; } + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + /// + [Input("offPeakStartVMOnConnect")] + public InputUnion? OffPeakStartVMOnConnect { get; set; } + + /// + /// Action to be taken after a user disconnect during the peak period. + /// + [Input("peakActionOnDisconnect")] + public InputUnion? PeakActionOnDisconnect { get; set; } + + /// + /// Action to be taken after a logoff during the peak period. + /// + [Input("peakActionOnLogoff")] + public InputUnion? PeakActionOnLogoff { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + /// + [Input("peakMinutesToWaitOnDisconnect")] + public Input? PeakMinutesToWaitOnDisconnect { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + /// + [Input("peakMinutesToWaitOnLogoff")] + public Input? PeakMinutesToWaitOnLogoff { get; set; } + + /// + /// Starting time for peak period. + /// + [Input("peakStartTime")] + public Input? PeakStartTime { get; set; } + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the peak phase. + /// + [Input("peakStartVMOnConnect")] + public InputUnion? PeakStartVMOnConnect { get; set; } + + /// + /// Action to be taken after a user disconnect during the ramp down period. + /// + [Input("rampDownActionOnDisconnect")] + public InputUnion? RampDownActionOnDisconnect { get; set; } + + /// + /// Action to be taken after a logoff during the ramp down period. + /// + [Input("rampDownActionOnLogoff")] + public InputUnion? RampDownActionOnLogoff { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + /// + [Input("rampDownMinutesToWaitOnDisconnect")] + public Input? RampDownMinutesToWaitOnDisconnect { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + /// + [Input("rampDownMinutesToWaitOnLogoff")] + public Input? RampDownMinutesToWaitOnLogoff { get; set; } + + /// + /// Starting time for ramp down period. + /// + [Input("rampDownStartTime")] + public Input? RampDownStartTime { get; set; } + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + /// + [Input("rampDownStartVMOnConnect")] + public InputUnion? RampDownStartVMOnConnect { get; set; } + + /// + /// Action to be taken after a user disconnect during the ramp up period. + /// + [Input("rampUpActionOnDisconnect")] + public InputUnion? RampUpActionOnDisconnect { get; set; } + + /// + /// Action to be taken after a logoff during the ramp up period. + /// + [Input("rampUpActionOnLogoff")] + public InputUnion? RampUpActionOnLogoff { get; set; } + + /// + /// The desired startup behavior during the ramp up period for personal vms in the hostpool. + /// + [Input("rampUpAutoStartHosts")] + public InputUnion? RampUpAutoStartHosts { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + /// + [Input("rampUpMinutesToWaitOnDisconnect")] + public Input? RampUpMinutesToWaitOnDisconnect { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + /// + [Input("rampUpMinutesToWaitOnLogoff")] + public Input? RampUpMinutesToWaitOnLogoff { get; set; } + + /// + /// Starting time for ramp up period. + /// + [Input("rampUpStartTime")] + public Input? RampUpStartTime { get; set; } + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + /// + [Input("rampUpStartVMOnConnect")] + public InputUnion? RampUpStartVMOnConnect { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the scaling plan. + /// + [Input("scalingPlanName", required: true)] + public Input ScalingPlanName { get; set; } = null!; + + /// + /// The name of the ScalingPlanSchedule + /// + [Input("scalingPlanScheduleName")] + public Input? ScalingPlanScheduleName { get; set; } + + public ScalingPlanPersonalScheduleArgs() + { + OffPeakStartVMOnConnect = "Enable"; + PeakStartVMOnConnect = "Enable"; + RampDownStartVMOnConnect = "Enable"; + RampUpStartVMOnConnect = "Enable"; + } + public static new ScalingPlanPersonalScheduleArgs Empty => new ScalingPlanPersonalScheduleArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/ScalingPlanPooledSchedule.cs b/sdk/dotnet/DesktopVirtualization/ScalingPlanPooledSchedule.cs index 8d228e3fd113..38a0205cdd5c 100644 --- a/sdk/dotnet/DesktopVirtualization/ScalingPlanPooledSchedule.cs +++ b/sdk/dotnet/DesktopVirtualization/ScalingPlanPooledSchedule.cs @@ -164,6 +164,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20210201Preview/ScalingPlan.cs b/sdk/dotnet/DesktopVirtualization/V20210201Preview/ScalingPlan.cs index d8c50142bf5d..f39234ae1fb3 100644 --- a/sdk/dotnet/DesktopVirtualization/V20210201Preview/ScalingPlan.cs +++ b/sdk/dotnet/DesktopVirtualization/V20210201Preview/ScalingPlan.cs @@ -156,6 +156,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ScalingPlan"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:ScalingPlan"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ScalingPlan"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20220210Preview/ScalingPlan.cs b/sdk/dotnet/DesktopVirtualization/V20220210Preview/ScalingPlan.cs index ce5e2f381493..46af3f90e736 100644 --- a/sdk/dotnet/DesktopVirtualization/V20220210Preview/ScalingPlan.cs +++ b/sdk/dotnet/DesktopVirtualization/V20220210Preview/ScalingPlan.cs @@ -156,6 +156,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ScalingPlan"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:ScalingPlan"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ScalingPlan"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20220401Preview/ApplicationGroup.cs b/sdk/dotnet/DesktopVirtualization/V20220401Preview/ApplicationGroup.cs index c1cc1b1405d1..d8c1e6ed98a5 100644 --- a/sdk/dotnet/DesktopVirtualization/V20220401Preview/ApplicationGroup.cs +++ b/sdk/dotnet/DesktopVirtualization/V20220401Preview/ApplicationGroup.cs @@ -162,6 +162,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:ApplicationGroup"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ApplicationGroup"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20220401Preview/HostPool.cs b/sdk/dotnet/DesktopVirtualization/V20220401Preview/HostPool.cs index b73e6dafcbdd..cfaed2717e56 100644 --- a/sdk/dotnet/DesktopVirtualization/V20220401Preview/HostPool.cs +++ b/sdk/dotnet/DesktopVirtualization/V20220401Preview/HostPool.cs @@ -258,6 +258,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:HostPool"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:HostPool"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:HostPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20220909/Application.cs b/sdk/dotnet/DesktopVirtualization/V20220909/Application.cs index e90d76cb70e2..d433189ddc46 100644 --- a/sdk/dotnet/DesktopVirtualization/V20220909/Application.cs +++ b/sdk/dotnet/DesktopVirtualization/V20220909/Application.cs @@ -159,6 +159,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:Application"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:Application"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:Application"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20220909/ApplicationGroup.cs b/sdk/dotnet/DesktopVirtualization/V20220909/ApplicationGroup.cs index 34fa7e05da86..7799d76c9034 100644 --- a/sdk/dotnet/DesktopVirtualization/V20220909/ApplicationGroup.cs +++ b/sdk/dotnet/DesktopVirtualization/V20220909/ApplicationGroup.cs @@ -156,6 +156,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ApplicationGroup"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ApplicationGroup"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20220909/HostPool.cs b/sdk/dotnet/DesktopVirtualization/V20220909/HostPool.cs index 706ca09bf377..d312eb96d729 100644 --- a/sdk/dotnet/DesktopVirtualization/V20220909/HostPool.cs +++ b/sdk/dotnet/DesktopVirtualization/V20220909/HostPool.cs @@ -240,6 +240,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:HostPool"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:HostPool"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:HostPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20220909/MSIXPackage.cs b/sdk/dotnet/DesktopVirtualization/V20220909/MSIXPackage.cs index 0e368604473f..408e1f8bbcd0 100644 --- a/sdk/dotnet/DesktopVirtualization/V20220909/MSIXPackage.cs +++ b/sdk/dotnet/DesktopVirtualization/V20220909/MSIXPackage.cs @@ -138,6 +138,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:MSIXPackage"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:MSIXPackage"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:MSIXPackage"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20220909/ScalingPlan.cs b/sdk/dotnet/DesktopVirtualization/V20220909/ScalingPlan.cs index 5394f6d7c33a..220796d9168c 100644 --- a/sdk/dotnet/DesktopVirtualization/V20220909/ScalingPlan.cs +++ b/sdk/dotnet/DesktopVirtualization/V20220909/ScalingPlan.cs @@ -156,6 +156,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:ScalingPlan"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ScalingPlan"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ScalingPlan"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20220909/ScalingPlanPooledSchedule.cs b/sdk/dotnet/DesktopVirtualization/V20220909/ScalingPlanPooledSchedule.cs index e5e93a282136..29f44523ffcc 100644 --- a/sdk/dotnet/DesktopVirtualization/V20220909/ScalingPlanPooledSchedule.cs +++ b/sdk/dotnet/DesktopVirtualization/V20220909/ScalingPlanPooledSchedule.cs @@ -163,6 +163,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization:ScalingPlanPooledSchedule"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20220909/Workspace.cs b/sdk/dotnet/DesktopVirtualization/V20220909/Workspace.cs index ad86ceb62825..ae128a83f0ee 100644 --- a/sdk/dotnet/DesktopVirtualization/V20220909/Workspace.cs +++ b/sdk/dotnet/DesktopVirtualization/V20220909/Workspace.cs @@ -144,6 +144,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:Workspace"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:Workspace"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:Workspace"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20221014Preview/Application.cs b/sdk/dotnet/DesktopVirtualization/V20221014Preview/Application.cs index 5b97a04f1965..4ca50c071ed3 100644 --- a/sdk/dotnet/DesktopVirtualization/V20221014Preview/Application.cs +++ b/sdk/dotnet/DesktopVirtualization/V20221014Preview/Application.cs @@ -159,6 +159,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:Application"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:Application"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:Application"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20221014Preview/ApplicationGroup.cs b/sdk/dotnet/DesktopVirtualization/V20221014Preview/ApplicationGroup.cs index 8646b04119bb..30d3c0a206b1 100644 --- a/sdk/dotnet/DesktopVirtualization/V20221014Preview/ApplicationGroup.cs +++ b/sdk/dotnet/DesktopVirtualization/V20221014Preview/ApplicationGroup.cs @@ -156,6 +156,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ApplicationGroup"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ApplicationGroup"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20221014Preview/HostPool.cs b/sdk/dotnet/DesktopVirtualization/V20221014Preview/HostPool.cs index 9fa93ae43130..af623547be4d 100644 --- a/sdk/dotnet/DesktopVirtualization/V20221014Preview/HostPool.cs +++ b/sdk/dotnet/DesktopVirtualization/V20221014Preview/HostPool.cs @@ -252,6 +252,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:HostPool"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:HostPool"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:HostPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20221014Preview/MSIXPackage.cs b/sdk/dotnet/DesktopVirtualization/V20221014Preview/MSIXPackage.cs index 5a1c73f92e85..f907165c780f 100644 --- a/sdk/dotnet/DesktopVirtualization/V20221014Preview/MSIXPackage.cs +++ b/sdk/dotnet/DesktopVirtualization/V20221014Preview/MSIXPackage.cs @@ -138,6 +138,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:MSIXPackage"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:MSIXPackage"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:MSIXPackage"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20221014Preview/PrivateEndpointConnectionByHostPool.cs b/sdk/dotnet/DesktopVirtualization/V20221014Preview/PrivateEndpointConnectionByHostPool.cs index 66e902370997..a006683cc111 100644 --- a/sdk/dotnet/DesktopVirtualization/V20221014Preview/PrivateEndpointConnectionByHostPool.cs +++ b/sdk/dotnet/DesktopVirtualization/V20221014Preview/PrivateEndpointConnectionByHostPool.cs @@ -81,6 +81,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByHostPool"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20221014Preview/PrivateEndpointConnectionByWorkspace.cs b/sdk/dotnet/DesktopVirtualization/V20221014Preview/PrivateEndpointConnectionByWorkspace.cs index 89c8199e9487..9293f6630f6d 100644 --- a/sdk/dotnet/DesktopVirtualization/V20221014Preview/PrivateEndpointConnectionByWorkspace.cs +++ b/sdk/dotnet/DesktopVirtualization/V20221014Preview/PrivateEndpointConnectionByWorkspace.cs @@ -81,6 +81,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByWorkspace"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20221014Preview/ScalingPlan.cs b/sdk/dotnet/DesktopVirtualization/V20221014Preview/ScalingPlan.cs index f7adc68c0a48..41c3b99018ab 100644 --- a/sdk/dotnet/DesktopVirtualization/V20221014Preview/ScalingPlan.cs +++ b/sdk/dotnet/DesktopVirtualization/V20221014Preview/ScalingPlan.cs @@ -156,6 +156,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:ScalingPlan"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ScalingPlan"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ScalingPlan"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20221014Preview/ScalingPlanPooledSchedule.cs b/sdk/dotnet/DesktopVirtualization/V20221014Preview/ScalingPlanPooledSchedule.cs index 760d36fb6518..1372a89ebe9e 100644 --- a/sdk/dotnet/DesktopVirtualization/V20221014Preview/ScalingPlanPooledSchedule.cs +++ b/sdk/dotnet/DesktopVirtualization/V20221014Preview/ScalingPlanPooledSchedule.cs @@ -163,6 +163,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization:ScalingPlanPooledSchedule"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20221014Preview/Workspace.cs b/sdk/dotnet/DesktopVirtualization/V20221014Preview/Workspace.cs index bca4cf2e98f8..f4a51a8f223c 100644 --- a/sdk/dotnet/DesktopVirtualization/V20221014Preview/Workspace.cs +++ b/sdk/dotnet/DesktopVirtualization/V20221014Preview/Workspace.cs @@ -156,6 +156,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:Workspace"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:Workspace"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:Workspace"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Application.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Application.cs new file mode 100644 index 000000000000..a146d304829e --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Application.cs @@ -0,0 +1,275 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + /// + /// Schema for Application properties. + /// + [AzureNativeResourceType("azure-native:desktopvirtualization/v20230707preview:Application")] + public partial class Application : global::Pulumi.CustomResource + { + /// + /// Resource Type of Application. + /// + [Output("applicationType")] + public Output ApplicationType { get; private set; } = null!; + + /// + /// Command Line Arguments for Application. + /// + [Output("commandLineArguments")] + public Output CommandLineArguments { get; private set; } = null!; + + /// + /// Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + /// + [Output("commandLineSetting")] + public Output CommandLineSetting { get; private set; } = null!; + + /// + /// Description of Application. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Specifies a path for the executable file for the application. + /// + [Output("filePath")] + public Output FilePath { get; private set; } = null!; + + /// + /// Friendly name of Application. + /// + [Output("friendlyName")] + public Output FriendlyName { get; private set; } = null!; + + /// + /// the icon a 64 bit string as a byte array. + /// + [Output("iconContent")] + public Output IconContent { get; private set; } = null!; + + /// + /// Hash of the icon. + /// + [Output("iconHash")] + public Output IconHash { get; private set; } = null!; + + /// + /// Index of the icon. + /// + [Output("iconIndex")] + public Output IconIndex { get; private set; } = null!; + + /// + /// Path to icon. + /// + [Output("iconPath")] + public Output IconPath { get; private set; } = null!; + + /// + /// Specifies the package application Id for MSIX applications + /// + [Output("msixPackageApplicationId")] + public Output MsixPackageApplicationId { get; private set; } = null!; + + /// + /// Specifies the package family name for MSIX applications + /// + [Output("msixPackageFamilyName")] + public Output MsixPackageFamilyName { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// ObjectId of Application. (internal use) + /// + [Output("objectId")] + public Output ObjectId { get; private set; } = null!; + + /// + /// Specifies whether to show the RemoteApp program in the RD Web Access server. + /// + [Output("showInPortal")] + public Output ShowInPortal { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Application resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Application(string name, ApplicationArgs args, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:Application", name, args ?? new ApplicationArgs(), MakeResourceOptions(options, "")) + { + } + + private Application(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:Application", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20190123preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20190924preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20191210preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20200921preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201019preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201102preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201110preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210114preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210201preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210309preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210401preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210712:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210903preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:Application"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:Application"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Application resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Application Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Application(name, id, options); + } + } + + public sealed class ApplicationArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the application group + /// + [Input("applicationGroupName", required: true)] + public Input ApplicationGroupName { get; set; } = null!; + + /// + /// The name of the application within the specified application group + /// + [Input("applicationName")] + public Input? ApplicationName { get; set; } + + /// + /// Resource Type of Application. + /// + [Input("applicationType")] + public InputUnion? ApplicationType { get; set; } + + /// + /// Command Line Arguments for Application. + /// + [Input("commandLineArguments")] + public Input? CommandLineArguments { get; set; } + + /// + /// Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + /// + [Input("commandLineSetting", required: true)] + public InputUnion CommandLineSetting { get; set; } = null!; + + /// + /// Description of Application. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Specifies a path for the executable file for the application. + /// + [Input("filePath")] + public Input? FilePath { get; set; } + + /// + /// Friendly name of Application. + /// + [Input("friendlyName")] + public Input? FriendlyName { get; set; } + + /// + /// Index of the icon. + /// + [Input("iconIndex")] + public Input? IconIndex { get; set; } + + /// + /// Path to icon. + /// + [Input("iconPath")] + public Input? IconPath { get; set; } + + /// + /// Specifies the package application Id for MSIX applications + /// + [Input("msixPackageApplicationId")] + public Input? MsixPackageApplicationId { get; set; } + + /// + /// Specifies the package family name for MSIX applications + /// + [Input("msixPackageFamilyName")] + public Input? MsixPackageFamilyName { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Specifies whether to show the RemoteApp program in the RD Web Access server. + /// + [Input("showInPortal")] + public Input? ShowInPortal { get; set; } + + public ApplicationArgs() + { + } + public static new ApplicationArgs Empty => new ApplicationArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/ApplicationGroup.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/ApplicationGroup.cs new file mode 100644 index 000000000000..b7ff6b8d8684 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/ApplicationGroup.cs @@ -0,0 +1,275 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + /// + /// Represents a ApplicationGroup definition. + /// + [AzureNativeResourceType("azure-native:desktopvirtualization/v20230707preview:ApplicationGroup")] + public partial class ApplicationGroup : global::Pulumi.CustomResource + { + /// + /// Resource Type of ApplicationGroup. + /// + [Output("applicationGroupType")] + public Output ApplicationGroupType { get; private set; } = null!; + + /// + /// Is cloud pc resource. + /// + [Output("cloudPcResource")] + public Output CloudPcResource { get; private set; } = null!; + + /// + /// Description of ApplicationGroup. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + /// + [Output("etag")] + public Output Etag { get; private set; } = null!; + + /// + /// Friendly name of ApplicationGroup. + /// + [Output("friendlyName")] + public Output FriendlyName { get; private set; } = null!; + + /// + /// HostPool arm path of ApplicationGroup. + /// + [Output("hostPoolArmPath")] + public Output HostPoolArmPath { get; private set; } = null!; + + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + /// + [Output("kind")] + public Output Kind { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + /// + [Output("managedBy")] + public Output ManagedBy { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// ObjectId of ApplicationGroup. (internal use) + /// + [Output("objectId")] + public Output ObjectId { get; private set; } = null!; + + [Output("plan")] + public Output Plan { get; private set; } = null!; + + /// + /// Boolean representing whether the applicationGroup is show in the feed. + /// + [Output("showInFeed")] + public Output ShowInFeed { get; private set; } = null!; + + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Workspace arm path of ApplicationGroup. + /// + [Output("workspaceArmPath")] + public Output WorkspaceArmPath { get; private set; } = null!; + + + /// + /// Create a ApplicationGroup resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ApplicationGroup(string name, ApplicationGroupArgs args, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:ApplicationGroup", name, args ?? new ApplicationGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private ApplicationGroup(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:ApplicationGroup", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20190123preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20190924preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20191210preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20200921preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201019preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201102preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201110preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210114preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210201preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210309preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210401preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210712:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210903preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:ApplicationGroup"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:ApplicationGroup"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ApplicationGroup resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static ApplicationGroup Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ApplicationGroup(name, id, options); + } + } + + public sealed class ApplicationGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the application group + /// + [Input("applicationGroupName")] + public Input? ApplicationGroupName { get; set; } + + /// + /// Resource Type of ApplicationGroup. + /// + [Input("applicationGroupType", required: true)] + public InputUnion ApplicationGroupType { get; set; } = null!; + + /// + /// Description of ApplicationGroup. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Friendly name of ApplicationGroup. + /// + [Input("friendlyName")] + public Input? FriendlyName { get; set; } + + /// + /// HostPool arm path of ApplicationGroup. + /// + [Input("hostPoolArmPath", required: true)] + public Input HostPoolArmPath { get; set; } = null!; + + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + /// + [Input("kind")] + public Input? Kind { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + /// + [Input("managedBy")] + public Input? ManagedBy { get; set; } + + [Input("plan")] + public Input? Plan { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Boolean representing whether the applicationGroup is show in the feed. + /// + [Input("showInFeed")] + public Input? ShowInFeed { get; set; } + + [Input("sku")] + public Input? Sku { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public ApplicationGroupArgs() + { + } + public static new ApplicationGroupArgs Empty => new ApplicationGroupArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Enums.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Enums.cs new file mode 100644 index 000000000000..6bc2fd80e7e1 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Enums.cs @@ -0,0 +1,731 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + /// + /// Resource Type of ApplicationGroup. + /// + [EnumType] + public readonly struct ApplicationGroupType : IEquatable + { + private readonly string _value; + + private ApplicationGroupType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ApplicationGroupType RemoteApp { get; } = new ApplicationGroupType("RemoteApp"); + public static ApplicationGroupType Desktop { get; } = new ApplicationGroupType("Desktop"); + + public static bool operator ==(ApplicationGroupType left, ApplicationGroupType right) => left.Equals(right); + public static bool operator !=(ApplicationGroupType left, ApplicationGroupType right) => !left.Equals(right); + + public static explicit operator string(ApplicationGroupType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ApplicationGroupType other && Equals(other); + public bool Equals(ApplicationGroupType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + /// + [EnumType] + public readonly struct CommandLineSetting : IEquatable + { + private readonly string _value; + + private CommandLineSetting(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static CommandLineSetting DoNotAllow { get; } = new CommandLineSetting("DoNotAllow"); + public static CommandLineSetting Allow { get; } = new CommandLineSetting("Allow"); + public static CommandLineSetting Require { get; } = new CommandLineSetting("Require"); + + public static bool operator ==(CommandLineSetting left, CommandLineSetting right) => left.Equals(right); + public static bool operator !=(CommandLineSetting left, CommandLineSetting right) => !left.Equals(right); + + public static explicit operator string(CommandLineSetting value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CommandLineSetting other && Equals(other); + public bool Equals(CommandLineSetting other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct DayOfWeek : IEquatable + { + private readonly string _value; + + private DayOfWeek(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DayOfWeek Monday { get; } = new DayOfWeek("Monday"); + public static DayOfWeek Tuesday { get; } = new DayOfWeek("Tuesday"); + public static DayOfWeek Wednesday { get; } = new DayOfWeek("Wednesday"); + public static DayOfWeek Thursday { get; } = new DayOfWeek("Thursday"); + public static DayOfWeek Friday { get; } = new DayOfWeek("Friday"); + public static DayOfWeek Saturday { get; } = new DayOfWeek("Saturday"); + public static DayOfWeek Sunday { get; } = new DayOfWeek("Sunday"); + + public static bool operator ==(DayOfWeek left, DayOfWeek right) => left.Equals(right); + public static bool operator !=(DayOfWeek left, DayOfWeek right) => !left.Equals(right); + + public static explicit operator string(DayOfWeek value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DayOfWeek other && Equals(other); + public bool Equals(DayOfWeek other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// HostPool type for desktop. + /// + [EnumType] + public readonly struct HostPoolType : IEquatable + { + private readonly string _value; + + private HostPoolType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost. + /// + public static HostPoolType Personal { get; } = new HostPoolType("Personal"); + /// + /// Users get a new (random) SessionHost every time it connects to the HostPool. + /// + public static HostPoolType Pooled { get; } = new HostPoolType("Pooled"); + /// + /// Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct. + /// + public static HostPoolType BYODesktop { get; } = new HostPoolType("BYODesktop"); + + public static bool operator ==(HostPoolType left, HostPoolType right) => left.Equals(right); + public static bool operator !=(HostPoolType left, HostPoolType right) => !left.Equals(right); + + public static explicit operator string(HostPoolType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is HostPoolType other && Equals(other); + public bool Equals(HostPoolType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + /// + [EnumType] + public readonly struct HostpoolPublicNetworkAccess : IEquatable + { + private readonly string _value; + + private HostpoolPublicNetworkAccess(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static HostpoolPublicNetworkAccess Enabled { get; } = new HostpoolPublicNetworkAccess("Enabled"); + public static HostpoolPublicNetworkAccess Disabled { get; } = new HostpoolPublicNetworkAccess("Disabled"); + public static HostpoolPublicNetworkAccess EnabledForSessionHostsOnly { get; } = new HostpoolPublicNetworkAccess("EnabledForSessionHostsOnly"); + public static HostpoolPublicNetworkAccess EnabledForClientsOnly { get; } = new HostpoolPublicNetworkAccess("EnabledForClientsOnly"); + + public static bool operator ==(HostpoolPublicNetworkAccess left, HostpoolPublicNetworkAccess right) => left.Equals(right); + public static bool operator !=(HostpoolPublicNetworkAccess left, HostpoolPublicNetworkAccess right) => !left.Equals(right); + + public static explicit operator string(HostpoolPublicNetworkAccess value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is HostpoolPublicNetworkAccess other && Equals(other); + public bool Equals(HostpoolPublicNetworkAccess other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of the load balancer. + /// + [EnumType] + public readonly struct LoadBalancerType : IEquatable + { + private readonly string _value; + + private LoadBalancerType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static LoadBalancerType BreadthFirst { get; } = new LoadBalancerType("BreadthFirst"); + public static LoadBalancerType DepthFirst { get; } = new LoadBalancerType("DepthFirst"); + public static LoadBalancerType Persistent { get; } = new LoadBalancerType("Persistent"); + + public static bool operator ==(LoadBalancerType left, LoadBalancerType right) => left.Equals(right); + public static bool operator !=(LoadBalancerType left, LoadBalancerType right) => !left.Equals(right); + + public static explicit operator string(LoadBalancerType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is LoadBalancerType other && Equals(other); + public bool Equals(LoadBalancerType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// PersonalDesktopAssignment type for HostPool. + /// + [EnumType] + public readonly struct PersonalDesktopAssignmentType : IEquatable + { + private readonly string _value; + + private PersonalDesktopAssignmentType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PersonalDesktopAssignmentType Automatic { get; } = new PersonalDesktopAssignmentType("Automatic"); + public static PersonalDesktopAssignmentType Direct { get; } = new PersonalDesktopAssignmentType("Direct"); + + public static bool operator ==(PersonalDesktopAssignmentType left, PersonalDesktopAssignmentType right) => left.Equals(right); + public static bool operator !=(PersonalDesktopAssignmentType left, PersonalDesktopAssignmentType right) => !left.Equals(right); + + public static explicit operator string(PersonalDesktopAssignmentType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PersonalDesktopAssignmentType other && Equals(other); + public bool Equals(PersonalDesktopAssignmentType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of preferred application group type, default to Desktop Application Group + /// + [EnumType] + public readonly struct PreferredAppGroupType : IEquatable + { + private readonly string _value; + + private PreferredAppGroupType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PreferredAppGroupType None { get; } = new PreferredAppGroupType("None"); + public static PreferredAppGroupType Desktop { get; } = new PreferredAppGroupType("Desktop"); + public static PreferredAppGroupType RailApplications { get; } = new PreferredAppGroupType("RailApplications"); + + public static bool operator ==(PreferredAppGroupType left, PreferredAppGroupType right) => left.Equals(right); + public static bool operator !=(PreferredAppGroupType left, PreferredAppGroupType right) => !left.Equals(right); + + public static explicit operator string(PreferredAppGroupType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PreferredAppGroupType other && Equals(other); + public bool Equals(PreferredAppGroupType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + [EnumType] + public readonly struct PrivateEndpointServiceConnectionStatus : IEquatable + { + private readonly string _value; + + private PrivateEndpointServiceConnectionStatus(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PrivateEndpointServiceConnectionStatus Pending { get; } = new PrivateEndpointServiceConnectionStatus("Pending"); + public static PrivateEndpointServiceConnectionStatus Approved { get; } = new PrivateEndpointServiceConnectionStatus("Approved"); + public static PrivateEndpointServiceConnectionStatus Rejected { get; } = new PrivateEndpointServiceConnectionStatus("Rejected"); + + public static bool operator ==(PrivateEndpointServiceConnectionStatus left, PrivateEndpointServiceConnectionStatus right) => left.Equals(right); + public static bool operator !=(PrivateEndpointServiceConnectionStatus left, PrivateEndpointServiceConnectionStatus right) => !left.Equals(right); + + public static explicit operator string(PrivateEndpointServiceConnectionStatus value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PrivateEndpointServiceConnectionStatus other && Equals(other); + public bool Equals(PrivateEndpointServiceConnectionStatus other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + /// + [EnumType] + public readonly struct PublicNetworkAccess : IEquatable + { + private readonly string _value; + + private PublicNetworkAccess(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PublicNetworkAccess Enabled { get; } = new PublicNetworkAccess("Enabled"); + public static PublicNetworkAccess Disabled { get; } = new PublicNetworkAccess("Disabled"); + + public static bool operator ==(PublicNetworkAccess left, PublicNetworkAccess right) => left.Equals(right); + public static bool operator !=(PublicNetworkAccess left, PublicNetworkAccess right) => !left.Equals(right); + + public static explicit operator string(PublicNetworkAccess value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PublicNetworkAccess other && Equals(other); + public bool Equals(PublicNetworkAccess other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of resetting the token. + /// + [EnumType] + public readonly struct RegistrationTokenOperation : IEquatable + { + private readonly string _value; + + private RegistrationTokenOperation(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static RegistrationTokenOperation Delete { get; } = new RegistrationTokenOperation("Delete"); + public static RegistrationTokenOperation None { get; } = new RegistrationTokenOperation("None"); + public static RegistrationTokenOperation Update { get; } = new RegistrationTokenOperation("Update"); + + public static bool operator ==(RegistrationTokenOperation left, RegistrationTokenOperation right) => left.Equals(right); + public static bool operator !=(RegistrationTokenOperation left, RegistrationTokenOperation right) => !left.Equals(right); + + public static explicit operator string(RegistrationTokenOperation value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is RegistrationTokenOperation other && Equals(other); + public bool Equals(RegistrationTokenOperation other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Resource Type of Application. + /// + [EnumType] + public readonly struct RemoteApplicationType : IEquatable + { + private readonly string _value; + + private RemoteApplicationType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static RemoteApplicationType InBuilt { get; } = new RemoteApplicationType("InBuilt"); + public static RemoteApplicationType MsixApplication { get; } = new RemoteApplicationType("MsixApplication"); + + public static bool operator ==(RemoteApplicationType left, RemoteApplicationType right) => left.Equals(right); + public static bool operator !=(RemoteApplicationType left, RemoteApplicationType right) => !left.Equals(right); + + public static explicit operator string(RemoteApplicationType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is RemoteApplicationType other && Equals(other); + public bool Equals(RemoteApplicationType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The identity type. + /// + [EnumType] + public readonly struct ResourceIdentityType : IEquatable + { + private readonly string _value; + + private ResourceIdentityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ResourceIdentityType SystemAssigned { get; } = new ResourceIdentityType("SystemAssigned"); + + public static bool operator ==(ResourceIdentityType left, ResourceIdentityType right) => left.Equals(right); + public static bool operator !=(ResourceIdentityType left, ResourceIdentityType right) => !left.Equals(right); + + public static explicit operator string(ResourceIdentityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ResourceIdentityType other && Equals(other); + public bool Equals(ResourceIdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of single sign on Secret Type. + /// + [EnumType] + public readonly struct SSOSecretType : IEquatable + { + private readonly string _value; + + private SSOSecretType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SSOSecretType SharedKey { get; } = new SSOSecretType("SharedKey"); + public static SSOSecretType Certificate { get; } = new SSOSecretType("Certificate"); + public static SSOSecretType SharedKeyInKeyVault { get; } = new SSOSecretType("SharedKeyInKeyVault"); + public static SSOSecretType CertificateInKeyVault { get; } = new SSOSecretType("CertificateInKeyVault"); + + public static bool operator ==(SSOSecretType left, SSOSecretType right) => left.Equals(right); + public static bool operator !=(SSOSecretType left, SSOSecretType right) => !left.Equals(right); + + public static explicit operator string(SSOSecretType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SSOSecretType other && Equals(other); + public bool Equals(SSOSecretType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// HostPool type for desktop. + /// + [EnumType] + public readonly struct ScalingHostPoolType : IEquatable + { + private readonly string _value; + + private ScalingHostPoolType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Users get a new (random) SessionHost every time it connects to the HostPool. + /// + public static ScalingHostPoolType Pooled { get; } = new ScalingHostPoolType("Pooled"); + + public static bool operator ==(ScalingHostPoolType left, ScalingHostPoolType right) => left.Equals(right); + public static bool operator !=(ScalingHostPoolType left, ScalingHostPoolType right) => !left.Equals(right); + + public static explicit operator string(ScalingHostPoolType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ScalingHostPoolType other && Equals(other); + public bool Equals(ScalingHostPoolType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Action to be taken after a logoff during the ramp up period. + /// + [EnumType] + public readonly struct SessionHandlingOperation : IEquatable + { + private readonly string _value; + + private SessionHandlingOperation(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SessionHandlingOperation None { get; } = new SessionHandlingOperation("None"); + public static SessionHandlingOperation Deallocate { get; } = new SessionHandlingOperation("Deallocate"); + + public static bool operator ==(SessionHandlingOperation left, SessionHandlingOperation right) => left.Equals(right); + public static bool operator !=(SessionHandlingOperation left, SessionHandlingOperation right) => !left.Equals(right); + + public static explicit operator string(SessionHandlingOperation value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SessionHandlingOperation other && Equals(other); + public bool Equals(SessionHandlingOperation other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of maintenance for session host components. + /// + [EnumType] + public readonly struct SessionHostComponentUpdateType : IEquatable + { + private readonly string _value; + + private SessionHostComponentUpdateType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Agent and other agent side components are delivery schedule is controlled by WVD Infra. + /// + public static SessionHostComponentUpdateType Default { get; } = new SessionHostComponentUpdateType("Default"); + /// + /// TenantAdmin have opted in for Scheduled Component Update feature. + /// + public static SessionHostComponentUpdateType Scheduled { get; } = new SessionHostComponentUpdateType("Scheduled"); + + public static bool operator ==(SessionHostComponentUpdateType left, SessionHostComponentUpdateType right) => left.Equals(right); + public static bool operator !=(SessionHostComponentUpdateType left, SessionHostComponentUpdateType right) => !left.Equals(right); + + public static explicit operator string(SessionHostComponentUpdateType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SessionHostComponentUpdateType other && Equals(other); + public bool Equals(SessionHostComponentUpdateType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Load balancing algorithm for ramp up period. + /// + [EnumType] + public readonly struct SessionHostLoadBalancingAlgorithm : IEquatable + { + private readonly string _value; + + private SessionHostLoadBalancingAlgorithm(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SessionHostLoadBalancingAlgorithm BreadthFirst { get; } = new SessionHostLoadBalancingAlgorithm("BreadthFirst"); + public static SessionHostLoadBalancingAlgorithm DepthFirst { get; } = new SessionHostLoadBalancingAlgorithm("DepthFirst"); + + public static bool operator ==(SessionHostLoadBalancingAlgorithm left, SessionHostLoadBalancingAlgorithm right) => left.Equals(right); + public static bool operator !=(SessionHostLoadBalancingAlgorithm left, SessionHostLoadBalancingAlgorithm right) => !left.Equals(right); + + public static explicit operator string(SessionHostLoadBalancingAlgorithm value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SessionHostLoadBalancingAlgorithm other && Equals(other); + public bool Equals(SessionHostLoadBalancingAlgorithm other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + /// + [EnumType] + public readonly struct SetStartVMOnConnect : IEquatable + { + private readonly string _value; + + private SetStartVMOnConnect(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SetStartVMOnConnect Enable { get; } = new SetStartVMOnConnect("Enable"); + public static SetStartVMOnConnect Disable { get; } = new SetStartVMOnConnect("Disable"); + + public static bool operator ==(SetStartVMOnConnect left, SetStartVMOnConnect right) => left.Equals(right); + public static bool operator !=(SetStartVMOnConnect left, SetStartVMOnConnect right) => !left.Equals(right); + + public static explicit operator string(SetStartVMOnConnect value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SetStartVMOnConnect other && Equals(other); + public bool Equals(SetStartVMOnConnect other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + /// + [EnumType] + public readonly struct SkuTier : IEquatable + { + private readonly string _value; + + private SkuTier(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SkuTier Free { get; } = new SkuTier("Free"); + public static SkuTier Basic { get; } = new SkuTier("Basic"); + public static SkuTier Standard { get; } = new SkuTier("Standard"); + public static SkuTier Premium { get; } = new SkuTier("Premium"); + + public static bool operator ==(SkuTier left, SkuTier right) => left.Equals(right); + public static bool operator !=(SkuTier left, SkuTier right) => !left.Equals(right); + + public static explicit operator string(SkuTier value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SkuTier other && Equals(other); + public bool Equals(SkuTier other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The desired startup behavior during the ramp up period for personal vms in the hostpool. + /// + [EnumType] + public readonly struct StartupBehavior : IEquatable + { + private readonly string _value; + + private StartupBehavior(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Session hosts will not be started by the service. This setting depends on Start VM on Connect to be enabled to start the session hosts. + /// + public static StartupBehavior None { get; } = new StartupBehavior("None"); + /// + /// Session hosts with an assigned user will be started during Ramp Up + /// + public static StartupBehavior WithAssignedUser { get; } = new StartupBehavior("WithAssignedUser"); + /// + /// All personal session hosts in the hostpool will be started during ramp up. + /// + public static StartupBehavior All { get; } = new StartupBehavior("All"); + + public static bool operator ==(StartupBehavior left, StartupBehavior right) => left.Equals(right); + public static bool operator !=(StartupBehavior left, StartupBehavior right) => !left.Equals(right); + + public static explicit operator string(StartupBehavior value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StartupBehavior other && Equals(other); + public bool Equals(StartupBehavior other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies when to stop hosts during ramp down period. + /// + [EnumType] + public readonly struct StopHostsWhen : IEquatable + { + private readonly string _value; + + private StopHostsWhen(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StopHostsWhen ZeroSessions { get; } = new StopHostsWhen("ZeroSessions"); + public static StopHostsWhen ZeroActiveSessions { get; } = new StopHostsWhen("ZeroActiveSessions"); + + public static bool operator ==(StopHostsWhen left, StopHostsWhen right) => left.Equals(right); + public static bool operator !=(StopHostsWhen left, StopHostsWhen right) => !left.Equals(right); + + public static explicit operator string(StopHostsWhen value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StopHostsWhen other && Equals(other); + public bool Equals(StopHostsWhen other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetApplication.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetApplication.cs new file mode 100644 index 000000000000..94f12d9a9ef8 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetApplication.cs @@ -0,0 +1,215 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + public static class GetApplication + { + /// + /// Get an application. + /// + public static Task InvokeAsync(GetApplicationArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:desktopvirtualization/v20230707preview:getApplication", args ?? new GetApplicationArgs(), options.WithDefaults()); + + /// + /// Get an application. + /// + public static Output Invoke(GetApplicationInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:desktopvirtualization/v20230707preview:getApplication", args ?? new GetApplicationInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetApplicationArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the application group + /// + [Input("applicationGroupName", required: true)] + public string ApplicationGroupName { get; set; } = null!; + + /// + /// The name of the application within the specified application group + /// + [Input("applicationName", required: true)] + public string ApplicationName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetApplicationArgs() + { + } + public static new GetApplicationArgs Empty => new GetApplicationArgs(); + } + + public sealed class GetApplicationInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the application group + /// + [Input("applicationGroupName", required: true)] + public Input ApplicationGroupName { get; set; } = null!; + + /// + /// The name of the application within the specified application group + /// + [Input("applicationName", required: true)] + public Input ApplicationName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetApplicationInvokeArgs() + { + } + public static new GetApplicationInvokeArgs Empty => new GetApplicationInvokeArgs(); + } + + + [OutputType] + public sealed class GetApplicationResult + { + /// + /// Resource Type of Application. + /// + public readonly string? ApplicationType; + /// + /// Command Line Arguments for Application. + /// + public readonly string? CommandLineArguments; + /// + /// Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + /// + public readonly string CommandLineSetting; + /// + /// Description of Application. + /// + public readonly string? Description; + /// + /// Specifies a path for the executable file for the application. + /// + public readonly string? FilePath; + /// + /// Friendly name of Application. + /// + public readonly string? FriendlyName; + /// + /// the icon a 64 bit string as a byte array. + /// + public readonly string IconContent; + /// + /// Hash of the icon. + /// + public readonly string IconHash; + /// + /// Index of the icon. + /// + public readonly int? IconIndex; + /// + /// Path to icon. + /// + public readonly string? IconPath; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// Specifies the package application Id for MSIX applications + /// + public readonly string? MsixPackageApplicationId; + /// + /// Specifies the package family name for MSIX applications + /// + public readonly string? MsixPackageFamilyName; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// ObjectId of Application. (internal use) + /// + public readonly string ObjectId; + /// + /// Specifies whether to show the RemoteApp program in the RD Web Access server. + /// + public readonly bool? ShowInPortal; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetApplicationResult( + string? applicationType, + + string? commandLineArguments, + + string commandLineSetting, + + string? description, + + string? filePath, + + string? friendlyName, + + string iconContent, + + string iconHash, + + int? iconIndex, + + string? iconPath, + + string id, + + string? msixPackageApplicationId, + + string? msixPackageFamilyName, + + string name, + + string objectId, + + bool? showInPortal, + + Outputs.SystemDataResponse systemData, + + string type) + { + ApplicationType = applicationType; + CommandLineArguments = commandLineArguments; + CommandLineSetting = commandLineSetting; + Description = description; + FilePath = filePath; + FriendlyName = friendlyName; + IconContent = iconContent; + IconHash = iconHash; + IconIndex = iconIndex; + IconPath = iconPath; + Id = id; + MsixPackageApplicationId = msixPackageApplicationId; + MsixPackageFamilyName = msixPackageFamilyName; + Name = name; + ObjectId = objectId; + ShowInPortal = showInPortal; + SystemData = systemData; + Type = type; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetApplicationGroup.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetApplicationGroup.cs new file mode 100644 index 000000000000..15dd0ae7e209 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetApplicationGroup.cs @@ -0,0 +1,208 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + public static class GetApplicationGroup + { + /// + /// Get an application group. + /// + public static Task InvokeAsync(GetApplicationGroupArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:desktopvirtualization/v20230707preview:getApplicationGroup", args ?? new GetApplicationGroupArgs(), options.WithDefaults()); + + /// + /// Get an application group. + /// + public static Output Invoke(GetApplicationGroupInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:desktopvirtualization/v20230707preview:getApplicationGroup", args ?? new GetApplicationGroupInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetApplicationGroupArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the application group + /// + [Input("applicationGroupName", required: true)] + public string ApplicationGroupName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetApplicationGroupArgs() + { + } + public static new GetApplicationGroupArgs Empty => new GetApplicationGroupArgs(); + } + + public sealed class GetApplicationGroupInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the application group + /// + [Input("applicationGroupName", required: true)] + public Input ApplicationGroupName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetApplicationGroupInvokeArgs() + { + } + public static new GetApplicationGroupInvokeArgs Empty => new GetApplicationGroupInvokeArgs(); + } + + + [OutputType] + public sealed class GetApplicationGroupResult + { + /// + /// Resource Type of ApplicationGroup. + /// + public readonly string ApplicationGroupType; + /// + /// Is cloud pc resource. + /// + public readonly bool CloudPcResource; + /// + /// Description of ApplicationGroup. + /// + public readonly string? Description; + /// + /// The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + /// + public readonly string Etag; + /// + /// Friendly name of ApplicationGroup. + /// + public readonly string? FriendlyName; + /// + /// HostPool arm path of ApplicationGroup. + /// + public readonly string HostPoolArmPath; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + public readonly Outputs.ResourceModelWithAllowedPropertySetResponseIdentity? Identity; + /// + /// Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + /// + public readonly string? Kind; + /// + /// The geo-location where the resource lives + /// + public readonly string? Location; + /// + /// The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + /// + public readonly string? ManagedBy; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// ObjectId of ApplicationGroup. (internal use) + /// + public readonly string ObjectId; + public readonly Outputs.ResourceModelWithAllowedPropertySetResponsePlan? Plan; + /// + /// Boolean representing whether the applicationGroup is show in the feed. + /// + public readonly bool? ShowInFeed; + public readonly Outputs.ResourceModelWithAllowedPropertySetResponseSku? Sku; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + /// + /// Workspace arm path of ApplicationGroup. + /// + public readonly string WorkspaceArmPath; + + [OutputConstructor] + private GetApplicationGroupResult( + string applicationGroupType, + + bool cloudPcResource, + + string? description, + + string etag, + + string? friendlyName, + + string hostPoolArmPath, + + string id, + + Outputs.ResourceModelWithAllowedPropertySetResponseIdentity? identity, + + string? kind, + + string? location, + + string? managedBy, + + string name, + + string objectId, + + Outputs.ResourceModelWithAllowedPropertySetResponsePlan? plan, + + bool? showInFeed, + + Outputs.ResourceModelWithAllowedPropertySetResponseSku? sku, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type, + + string workspaceArmPath) + { + ApplicationGroupType = applicationGroupType; + CloudPcResource = cloudPcResource; + Description = description; + Etag = etag; + FriendlyName = friendlyName; + HostPoolArmPath = hostPoolArmPath; + Id = id; + Identity = identity; + Kind = kind; + Location = location; + ManagedBy = managedBy; + Name = name; + ObjectId = objectId; + Plan = plan; + ShowInFeed = showInFeed; + Sku = sku; + SystemData = systemData; + Tags = tags; + Type = type; + WorkspaceArmPath = workspaceArmPath; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetHostPool.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetHostPool.cs new file mode 100644 index 000000000000..c38106e523e5 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetHostPool.cs @@ -0,0 +1,313 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + public static class GetHostPool + { + /// + /// Get a host pool. + /// + public static Task InvokeAsync(GetHostPoolArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:desktopvirtualization/v20230707preview:getHostPool", args ?? new GetHostPoolArgs(), options.WithDefaults()); + + /// + /// Get a host pool. + /// + public static Output Invoke(GetHostPoolInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:desktopvirtualization/v20230707preview:getHostPool", args ?? new GetHostPoolInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetHostPoolArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the host pool within the specified resource group + /// + [Input("hostPoolName", required: true)] + public string HostPoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetHostPoolArgs() + { + } + public static new GetHostPoolArgs Empty => new GetHostPoolArgs(); + } + + public sealed class GetHostPoolInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the host pool within the specified resource group + /// + [Input("hostPoolName", required: true)] + public Input HostPoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetHostPoolInvokeArgs() + { + } + public static new GetHostPoolInvokeArgs Empty => new GetHostPoolInvokeArgs(); + } + + + [OutputType] + public sealed class GetHostPoolResult + { + /// + /// The session host configuration for updating agent, monitoring agent, and stack component. + /// + public readonly Outputs.AgentUpdatePropertiesResponse? AgentUpdate; + /// + /// List of applicationGroup links. + /// + public readonly ImmutableArray ApplicationGroupReferences; + /// + /// Is cloud pc resource. + /// + public readonly bool CloudPcResource; + /// + /// Custom rdp property of HostPool. + /// + public readonly string? CustomRdpProperty; + /// + /// Description of HostPool. + /// + public readonly string? Description; + /// + /// The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + /// + public readonly string Etag; + /// + /// Friendly name of HostPool. + /// + public readonly string? FriendlyName; + /// + /// HostPool type for desktop. + /// + public readonly string HostPoolType; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + public readonly Outputs.ResourceModelWithAllowedPropertySetResponseIdentity? Identity; + /// + /// Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + /// + public readonly string? Kind; + /// + /// The type of the load balancer. + /// + public readonly string LoadBalancerType; + /// + /// The geo-location where the resource lives + /// + public readonly string? Location; + /// + /// The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + /// + public readonly string? ManagedBy; + /// + /// The max session limit of HostPool. + /// + public readonly int? MaxSessionLimit; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// ObjectId of HostPool. (internal use) + /// + public readonly string ObjectId; + /// + /// PersonalDesktopAssignment type for HostPool. + /// + public readonly string? PersonalDesktopAssignmentType; + public readonly Outputs.ResourceModelWithAllowedPropertySetResponsePlan? Plan; + /// + /// The type of preferred application group type, default to Desktop Application Group + /// + public readonly string PreferredAppGroupType; + /// + /// List of private endpoint connection associated with the specified resource + /// + public readonly ImmutableArray PrivateEndpointConnections; + /// + /// Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + /// + public readonly string? PublicNetworkAccess; + /// + /// The registration info of HostPool. + /// + public readonly Outputs.RegistrationInfoResponse? RegistrationInfo; + /// + /// The ring number of HostPool. + /// + public readonly int? Ring; + public readonly Outputs.ResourceModelWithAllowedPropertySetResponseSku? Sku; + /// + /// ClientId for the registered Relying Party used to issue WVD SSO certificates. + /// + public readonly string? SsoClientId; + /// + /// Path to Azure KeyVault storing the secret used for communication to ADFS. + /// + public readonly string? SsoClientSecretKeyVaultPath; + /// + /// The type of single sign on Secret Type. + /// + public readonly string? SsoSecretType; + /// + /// URL to customer ADFS server for signing WVD SSO certificates. + /// + public readonly string? SsoadfsAuthority; + /// + /// The flag to turn on/off StartVMOnConnect feature. + /// + public readonly bool? StartVMOnConnect; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + /// + /// Is validation environment. + /// + public readonly bool? ValidationEnvironment; + /// + /// VM template for sessionhosts configuration within hostpool. + /// + public readonly string? VmTemplate; + + [OutputConstructor] + private GetHostPoolResult( + Outputs.AgentUpdatePropertiesResponse? agentUpdate, + + ImmutableArray applicationGroupReferences, + + bool cloudPcResource, + + string? customRdpProperty, + + string? description, + + string etag, + + string? friendlyName, + + string hostPoolType, + + string id, + + Outputs.ResourceModelWithAllowedPropertySetResponseIdentity? identity, + + string? kind, + + string loadBalancerType, + + string? location, + + string? managedBy, + + int? maxSessionLimit, + + string name, + + string objectId, + + string? personalDesktopAssignmentType, + + Outputs.ResourceModelWithAllowedPropertySetResponsePlan? plan, + + string preferredAppGroupType, + + ImmutableArray privateEndpointConnections, + + string? publicNetworkAccess, + + Outputs.RegistrationInfoResponse? registrationInfo, + + int? ring, + + Outputs.ResourceModelWithAllowedPropertySetResponseSku? sku, + + string? ssoClientId, + + string? ssoClientSecretKeyVaultPath, + + string? ssoSecretType, + + string? ssoadfsAuthority, + + bool? startVMOnConnect, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type, + + bool? validationEnvironment, + + string? vmTemplate) + { + AgentUpdate = agentUpdate; + ApplicationGroupReferences = applicationGroupReferences; + CloudPcResource = cloudPcResource; + CustomRdpProperty = customRdpProperty; + Description = description; + Etag = etag; + FriendlyName = friendlyName; + HostPoolType = hostPoolType; + Id = id; + Identity = identity; + Kind = kind; + LoadBalancerType = loadBalancerType; + Location = location; + ManagedBy = managedBy; + MaxSessionLimit = maxSessionLimit; + Name = name; + ObjectId = objectId; + PersonalDesktopAssignmentType = personalDesktopAssignmentType; + Plan = plan; + PreferredAppGroupType = preferredAppGroupType; + PrivateEndpointConnections = privateEndpointConnections; + PublicNetworkAccess = publicNetworkAccess; + RegistrationInfo = registrationInfo; + Ring = ring; + Sku = sku; + SsoClientId = ssoClientId; + SsoClientSecretKeyVaultPath = ssoClientSecretKeyVaultPath; + SsoSecretType = ssoSecretType; + SsoadfsAuthority = ssoadfsAuthority; + StartVMOnConnect = startVMOnConnect; + SystemData = systemData; + Tags = tags; + Type = type; + ValidationEnvironment = validationEnvironment; + VmTemplate = vmTemplate; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetMSIXPackage.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetMSIXPackage.cs new file mode 100644 index 000000000000..dcd9f23362b0 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetMSIXPackage.cs @@ -0,0 +1,194 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + public static class GetMSIXPackage + { + /// + /// Get a msixpackage. + /// + public static Task InvokeAsync(GetMSIXPackageArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:desktopvirtualization/v20230707preview:getMSIXPackage", args ?? new GetMSIXPackageArgs(), options.WithDefaults()); + + /// + /// Get a msixpackage. + /// + public static Output Invoke(GetMSIXPackageInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:desktopvirtualization/v20230707preview:getMSIXPackage", args ?? new GetMSIXPackageInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetMSIXPackageArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the host pool within the specified resource group + /// + [Input("hostPoolName", required: true)] + public string HostPoolName { get; set; } = null!; + + /// + /// The version specific package full name of the MSIX package within specified hostpool + /// + [Input("msixPackageFullName", required: true)] + public string MsixPackageFullName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetMSIXPackageArgs() + { + } + public static new GetMSIXPackageArgs Empty => new GetMSIXPackageArgs(); + } + + public sealed class GetMSIXPackageInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the host pool within the specified resource group + /// + [Input("hostPoolName", required: true)] + public Input HostPoolName { get; set; } = null!; + + /// + /// The version specific package full name of the MSIX package within specified hostpool + /// + [Input("msixPackageFullName", required: true)] + public Input MsixPackageFullName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetMSIXPackageInvokeArgs() + { + } + public static new GetMSIXPackageInvokeArgs Empty => new GetMSIXPackageInvokeArgs(); + } + + + [OutputType] + public sealed class GetMSIXPackageResult + { + /// + /// User friendly Name to be displayed in the portal. + /// + public readonly string? DisplayName; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// VHD/CIM image path on Network Share. + /// + public readonly string? ImagePath; + /// + /// Make this version of the package the active one across the hostpool. + /// + public readonly bool? IsActive; + /// + /// Specifies how to register Package in feed. + /// + public readonly bool? IsRegularRegistration; + /// + /// Date Package was last updated, found in the appxmanifest.xml. + /// + public readonly string? LastUpdated; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// List of package applications. + /// + public readonly ImmutableArray PackageApplications; + /// + /// List of package dependencies. + /// + public readonly ImmutableArray PackageDependencies; + /// + /// Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. + /// + public readonly string? PackageFamilyName; + /// + /// Package Name from appxmanifest.xml. + /// + public readonly string? PackageName; + /// + /// Relative Path to the package inside the image. + /// + public readonly string? PackageRelativePath; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + /// + /// Package Version found in the appxmanifest.xml. + /// + public readonly string? Version; + + [OutputConstructor] + private GetMSIXPackageResult( + string? displayName, + + string id, + + string? imagePath, + + bool? isActive, + + bool? isRegularRegistration, + + string? lastUpdated, + + string name, + + ImmutableArray packageApplications, + + ImmutableArray packageDependencies, + + string? packageFamilyName, + + string? packageName, + + string? packageRelativePath, + + Outputs.SystemDataResponse systemData, + + string type, + + string? version) + { + DisplayName = displayName; + Id = id; + ImagePath = imagePath; + IsActive = isActive; + IsRegularRegistration = isRegularRegistration; + LastUpdated = lastUpdated; + Name = name; + PackageApplications = packageApplications; + PackageDependencies = packageDependencies; + PackageFamilyName = packageFamilyName; + PackageName = packageName; + PackageRelativePath = packageRelativePath; + SystemData = systemData; + Type = type; + Version = version; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetPrivateEndpointConnectionByHostPool.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetPrivateEndpointConnectionByHostPool.cs new file mode 100644 index 000000000000..eafe77cd3818 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetPrivateEndpointConnectionByHostPool.cs @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + public static class GetPrivateEndpointConnectionByHostPool + { + /// + /// Get a private endpoint connection. + /// + public static Task InvokeAsync(GetPrivateEndpointConnectionByHostPoolArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:desktopvirtualization/v20230707preview:getPrivateEndpointConnectionByHostPool", args ?? new GetPrivateEndpointConnectionByHostPoolArgs(), options.WithDefaults()); + + /// + /// Get a private endpoint connection. + /// + public static Output Invoke(GetPrivateEndpointConnectionByHostPoolInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:desktopvirtualization/v20230707preview:getPrivateEndpointConnectionByHostPool", args ?? new GetPrivateEndpointConnectionByHostPoolInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetPrivateEndpointConnectionByHostPoolArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the host pool within the specified resource group + /// + [Input("hostPoolName", required: true)] + public string HostPoolName { get; set; } = null!; + + /// + /// The name of the private endpoint connection associated with the Azure resource + /// + [Input("privateEndpointConnectionName", required: true)] + public string PrivateEndpointConnectionName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetPrivateEndpointConnectionByHostPoolArgs() + { + } + public static new GetPrivateEndpointConnectionByHostPoolArgs Empty => new GetPrivateEndpointConnectionByHostPoolArgs(); + } + + public sealed class GetPrivateEndpointConnectionByHostPoolInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the host pool within the specified resource group + /// + [Input("hostPoolName", required: true)] + public Input HostPoolName { get; set; } = null!; + + /// + /// The name of the private endpoint connection associated with the Azure resource + /// + [Input("privateEndpointConnectionName", required: true)] + public Input PrivateEndpointConnectionName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetPrivateEndpointConnectionByHostPoolInvokeArgs() + { + } + public static new GetPrivateEndpointConnectionByHostPoolInvokeArgs Empty => new GetPrivateEndpointConnectionByHostPoolInvokeArgs(); + } + + + [OutputType] + public sealed class GetPrivateEndpointConnectionByHostPoolResult + { + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The resource of private end point. + /// + public readonly Outputs.PrivateEndpointResponse? PrivateEndpoint; + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + public readonly Outputs.PrivateLinkServiceConnectionStateResponse PrivateLinkServiceConnectionState; + /// + /// The provisioning state of the private endpoint connection resource. + /// + public readonly string ProvisioningState; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetPrivateEndpointConnectionByHostPoolResult( + string id, + + string name, + + Outputs.PrivateEndpointResponse? privateEndpoint, + + Outputs.PrivateLinkServiceConnectionStateResponse privateLinkServiceConnectionState, + + string provisioningState, + + Outputs.SystemDataResponse systemData, + + string type) + { + Id = id; + Name = name; + PrivateEndpoint = privateEndpoint; + PrivateLinkServiceConnectionState = privateLinkServiceConnectionState; + ProvisioningState = provisioningState; + SystemData = systemData; + Type = type; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetPrivateEndpointConnectionByWorkspace.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetPrivateEndpointConnectionByWorkspace.cs new file mode 100644 index 000000000000..c1c1fd4a0caf --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetPrivateEndpointConnectionByWorkspace.cs @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + public static class GetPrivateEndpointConnectionByWorkspace + { + /// + /// Get a private endpoint connection. + /// + public static Task InvokeAsync(GetPrivateEndpointConnectionByWorkspaceArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:desktopvirtualization/v20230707preview:getPrivateEndpointConnectionByWorkspace", args ?? new GetPrivateEndpointConnectionByWorkspaceArgs(), options.WithDefaults()); + + /// + /// Get a private endpoint connection. + /// + public static Output Invoke(GetPrivateEndpointConnectionByWorkspaceInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:desktopvirtualization/v20230707preview:getPrivateEndpointConnectionByWorkspace", args ?? new GetPrivateEndpointConnectionByWorkspaceInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetPrivateEndpointConnectionByWorkspaceArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the private endpoint connection associated with the Azure resource + /// + [Input("privateEndpointConnectionName", required: true)] + public string PrivateEndpointConnectionName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the workspace + /// + [Input("workspaceName", required: true)] + public string WorkspaceName { get; set; } = null!; + + public GetPrivateEndpointConnectionByWorkspaceArgs() + { + } + public static new GetPrivateEndpointConnectionByWorkspaceArgs Empty => new GetPrivateEndpointConnectionByWorkspaceArgs(); + } + + public sealed class GetPrivateEndpointConnectionByWorkspaceInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the private endpoint connection associated with the Azure resource + /// + [Input("privateEndpointConnectionName", required: true)] + public Input PrivateEndpointConnectionName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the workspace + /// + [Input("workspaceName", required: true)] + public Input WorkspaceName { get; set; } = null!; + + public GetPrivateEndpointConnectionByWorkspaceInvokeArgs() + { + } + public static new GetPrivateEndpointConnectionByWorkspaceInvokeArgs Empty => new GetPrivateEndpointConnectionByWorkspaceInvokeArgs(); + } + + + [OutputType] + public sealed class GetPrivateEndpointConnectionByWorkspaceResult + { + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The resource of private end point. + /// + public readonly Outputs.PrivateEndpointResponse? PrivateEndpoint; + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + public readonly Outputs.PrivateLinkServiceConnectionStateResponse PrivateLinkServiceConnectionState; + /// + /// The provisioning state of the private endpoint connection resource. + /// + public readonly string ProvisioningState; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetPrivateEndpointConnectionByWorkspaceResult( + string id, + + string name, + + Outputs.PrivateEndpointResponse? privateEndpoint, + + Outputs.PrivateLinkServiceConnectionStateResponse privateLinkServiceConnectionState, + + string provisioningState, + + Outputs.SystemDataResponse systemData, + + string type) + { + Id = id; + Name = name; + PrivateEndpoint = privateEndpoint; + PrivateLinkServiceConnectionState = privateLinkServiceConnectionState; + ProvisioningState = provisioningState; + SystemData = systemData; + Type = type; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetScalingPlan.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetScalingPlan.cs new file mode 100644 index 000000000000..5420baa22ef0 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetScalingPlan.cs @@ -0,0 +1,208 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + public static class GetScalingPlan + { + /// + /// Get a scaling plan. + /// + public static Task InvokeAsync(GetScalingPlanArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:desktopvirtualization/v20230707preview:getScalingPlan", args ?? new GetScalingPlanArgs(), options.WithDefaults()); + + /// + /// Get a scaling plan. + /// + public static Output Invoke(GetScalingPlanInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:desktopvirtualization/v20230707preview:getScalingPlan", args ?? new GetScalingPlanInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetScalingPlanArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the scaling plan. + /// + [Input("scalingPlanName", required: true)] + public string ScalingPlanName { get; set; } = null!; + + public GetScalingPlanArgs() + { + } + public static new GetScalingPlanArgs Empty => new GetScalingPlanArgs(); + } + + public sealed class GetScalingPlanInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the scaling plan. + /// + [Input("scalingPlanName", required: true)] + public Input ScalingPlanName { get; set; } = null!; + + public GetScalingPlanInvokeArgs() + { + } + public static new GetScalingPlanInvokeArgs Empty => new GetScalingPlanInvokeArgs(); + } + + + [OutputType] + public sealed class GetScalingPlanResult + { + /// + /// Description of scaling plan. + /// + public readonly string? Description; + /// + /// The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + /// + public readonly string Etag; + /// + /// Exclusion tag for scaling plan. + /// + public readonly string? ExclusionTag; + /// + /// User friendly name of scaling plan. + /// + public readonly string? FriendlyName; + /// + /// List of ScalingHostPoolReference definitions. + /// + public readonly ImmutableArray HostPoolReferences; + /// + /// HostPool type for desktop. + /// + public readonly string? HostPoolType; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + public readonly Outputs.ResourceModelWithAllowedPropertySetResponseIdentity? Identity; + /// + /// Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + /// + public readonly string? Kind; + /// + /// The geo-location where the resource lives + /// + public readonly string? Location; + /// + /// The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + /// + public readonly string? ManagedBy; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// ObjectId of scaling plan. (internal use) + /// + public readonly string ObjectId; + public readonly Outputs.ResourceModelWithAllowedPropertySetResponsePlan? Plan; + /// + /// List of ScalingPlanPooledSchedule definitions. + /// + public readonly ImmutableArray Schedules; + public readonly Outputs.ResourceModelWithAllowedPropertySetResponseSku? Sku; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// Timezone of the scaling plan. + /// + public readonly string TimeZone; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetScalingPlanResult( + string? description, + + string etag, + + string? exclusionTag, + + string? friendlyName, + + ImmutableArray hostPoolReferences, + + string? hostPoolType, + + string id, + + Outputs.ResourceModelWithAllowedPropertySetResponseIdentity? identity, + + string? kind, + + string? location, + + string? managedBy, + + string name, + + string objectId, + + Outputs.ResourceModelWithAllowedPropertySetResponsePlan? plan, + + ImmutableArray schedules, + + Outputs.ResourceModelWithAllowedPropertySetResponseSku? sku, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string timeZone, + + string type) + { + Description = description; + Etag = etag; + ExclusionTag = exclusionTag; + FriendlyName = friendlyName; + HostPoolReferences = hostPoolReferences; + HostPoolType = hostPoolType; + Id = id; + Identity = identity; + Kind = kind; + Location = location; + ManagedBy = managedBy; + Name = name; + ObjectId = objectId; + Plan = plan; + Schedules = schedules; + Sku = sku; + SystemData = systemData; + Tags = tags; + TimeZone = timeZone; + Type = type; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetScalingPlanPersonalSchedule.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetScalingPlanPersonalSchedule.cs new file mode 100644 index 000000000000..3d8de065156f --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetScalingPlanPersonalSchedule.cs @@ -0,0 +1,299 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + public static class GetScalingPlanPersonalSchedule + { + /// + /// Get a ScalingPlanPersonalSchedule. + /// + public static Task InvokeAsync(GetScalingPlanPersonalScheduleArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:desktopvirtualization/v20230707preview:getScalingPlanPersonalSchedule", args ?? new GetScalingPlanPersonalScheduleArgs(), options.WithDefaults()); + + /// + /// Get a ScalingPlanPersonalSchedule. + /// + public static Output Invoke(GetScalingPlanPersonalScheduleInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:desktopvirtualization/v20230707preview:getScalingPlanPersonalSchedule", args ?? new GetScalingPlanPersonalScheduleInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetScalingPlanPersonalScheduleArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the scaling plan. + /// + [Input("scalingPlanName", required: true)] + public string ScalingPlanName { get; set; } = null!; + + /// + /// The name of the ScalingPlanSchedule + /// + [Input("scalingPlanScheduleName", required: true)] + public string ScalingPlanScheduleName { get; set; } = null!; + + public GetScalingPlanPersonalScheduleArgs() + { + } + public static new GetScalingPlanPersonalScheduleArgs Empty => new GetScalingPlanPersonalScheduleArgs(); + } + + public sealed class GetScalingPlanPersonalScheduleInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the scaling plan. + /// + [Input("scalingPlanName", required: true)] + public Input ScalingPlanName { get; set; } = null!; + + /// + /// The name of the ScalingPlanSchedule + /// + [Input("scalingPlanScheduleName", required: true)] + public Input ScalingPlanScheduleName { get; set; } = null!; + + public GetScalingPlanPersonalScheduleInvokeArgs() + { + } + public static new GetScalingPlanPersonalScheduleInvokeArgs Empty => new GetScalingPlanPersonalScheduleInvokeArgs(); + } + + + [OutputType] + public sealed class GetScalingPlanPersonalScheduleResult + { + /// + /// Set of days of the week on which this schedule is active. + /// + public readonly ImmutableArray DaysOfWeek; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// Action to be taken after a user disconnect during the off-peak period. + /// + public readonly string? OffPeakActionOnDisconnect; + /// + /// Action to be taken after a logoff during the off-peak period. + /// + public readonly string? OffPeakActionOnLogoff; + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + /// + public readonly int? OffPeakMinutesToWaitOnDisconnect; + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + /// + public readonly int? OffPeakMinutesToWaitOnLogoff; + /// + /// Starting time for off-peak period. + /// + public readonly Outputs.TimeResponse? OffPeakStartTime; + /// + /// The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + /// + public readonly string? OffPeakStartVMOnConnect; + /// + /// Action to be taken after a user disconnect during the peak period. + /// + public readonly string? PeakActionOnDisconnect; + /// + /// Action to be taken after a logoff during the peak period. + /// + public readonly string? PeakActionOnLogoff; + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + /// + public readonly int? PeakMinutesToWaitOnDisconnect; + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + /// + public readonly int? PeakMinutesToWaitOnLogoff; + /// + /// Starting time for peak period. + /// + public readonly Outputs.TimeResponse? PeakStartTime; + /// + /// The desired configuration of Start VM On Connect for the hostpool during the peak phase. + /// + public readonly string? PeakStartVMOnConnect; + /// + /// Action to be taken after a user disconnect during the ramp down period. + /// + public readonly string? RampDownActionOnDisconnect; + /// + /// Action to be taken after a logoff during the ramp down period. + /// + public readonly string? RampDownActionOnLogoff; + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + /// + public readonly int? RampDownMinutesToWaitOnDisconnect; + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + /// + public readonly int? RampDownMinutesToWaitOnLogoff; + /// + /// Starting time for ramp down period. + /// + public readonly Outputs.TimeResponse? RampDownStartTime; + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + /// + public readonly string? RampDownStartVMOnConnect; + /// + /// Action to be taken after a user disconnect during the ramp up period. + /// + public readonly string? RampUpActionOnDisconnect; + /// + /// Action to be taken after a logoff during the ramp up period. + /// + public readonly string? RampUpActionOnLogoff; + /// + /// The desired startup behavior during the ramp up period for personal vms in the hostpool. + /// + public readonly string? RampUpAutoStartHosts; + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + /// + public readonly int? RampUpMinutesToWaitOnDisconnect; + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + /// + public readonly int? RampUpMinutesToWaitOnLogoff; + /// + /// Starting time for ramp up period. + /// + public readonly Outputs.TimeResponse? RampUpStartTime; + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + /// + public readonly string? RampUpStartVMOnConnect; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetScalingPlanPersonalScheduleResult( + ImmutableArray daysOfWeek, + + string id, + + string name, + + string? offPeakActionOnDisconnect, + + string? offPeakActionOnLogoff, + + int? offPeakMinutesToWaitOnDisconnect, + + int? offPeakMinutesToWaitOnLogoff, + + Outputs.TimeResponse? offPeakStartTime, + + string? offPeakStartVMOnConnect, + + string? peakActionOnDisconnect, + + string? peakActionOnLogoff, + + int? peakMinutesToWaitOnDisconnect, + + int? peakMinutesToWaitOnLogoff, + + Outputs.TimeResponse? peakStartTime, + + string? peakStartVMOnConnect, + + string? rampDownActionOnDisconnect, + + string? rampDownActionOnLogoff, + + int? rampDownMinutesToWaitOnDisconnect, + + int? rampDownMinutesToWaitOnLogoff, + + Outputs.TimeResponse? rampDownStartTime, + + string? rampDownStartVMOnConnect, + + string? rampUpActionOnDisconnect, + + string? rampUpActionOnLogoff, + + string? rampUpAutoStartHosts, + + int? rampUpMinutesToWaitOnDisconnect, + + int? rampUpMinutesToWaitOnLogoff, + + Outputs.TimeResponse? rampUpStartTime, + + string? rampUpStartVMOnConnect, + + Outputs.SystemDataResponse systemData, + + string type) + { + DaysOfWeek = daysOfWeek; + Id = id; + Name = name; + OffPeakActionOnDisconnect = offPeakActionOnDisconnect; + OffPeakActionOnLogoff = offPeakActionOnLogoff; + OffPeakMinutesToWaitOnDisconnect = offPeakMinutesToWaitOnDisconnect; + OffPeakMinutesToWaitOnLogoff = offPeakMinutesToWaitOnLogoff; + OffPeakStartTime = offPeakStartTime; + OffPeakStartVMOnConnect = offPeakStartVMOnConnect; + PeakActionOnDisconnect = peakActionOnDisconnect; + PeakActionOnLogoff = peakActionOnLogoff; + PeakMinutesToWaitOnDisconnect = peakMinutesToWaitOnDisconnect; + PeakMinutesToWaitOnLogoff = peakMinutesToWaitOnLogoff; + PeakStartTime = peakStartTime; + PeakStartVMOnConnect = peakStartVMOnConnect; + RampDownActionOnDisconnect = rampDownActionOnDisconnect; + RampDownActionOnLogoff = rampDownActionOnLogoff; + RampDownMinutesToWaitOnDisconnect = rampDownMinutesToWaitOnDisconnect; + RampDownMinutesToWaitOnLogoff = rampDownMinutesToWaitOnLogoff; + RampDownStartTime = rampDownStartTime; + RampDownStartVMOnConnect = rampDownStartVMOnConnect; + RampUpActionOnDisconnect = rampUpActionOnDisconnect; + RampUpActionOnLogoff = rampUpActionOnLogoff; + RampUpAutoStartHosts = rampUpAutoStartHosts; + RampUpMinutesToWaitOnDisconnect = rampUpMinutesToWaitOnDisconnect; + RampUpMinutesToWaitOnLogoff = rampUpMinutesToWaitOnLogoff; + RampUpStartTime = rampUpStartTime; + RampUpStartVMOnConnect = rampUpStartVMOnConnect; + SystemData = systemData; + Type = type; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetScalingPlanPooledSchedule.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetScalingPlanPooledSchedule.cs new file mode 100644 index 000000000000..647f06221045 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetScalingPlanPooledSchedule.cs @@ -0,0 +1,236 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + public static class GetScalingPlanPooledSchedule + { + /// + /// Get a ScalingPlanPooledSchedule. + /// + public static Task InvokeAsync(GetScalingPlanPooledScheduleArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:desktopvirtualization/v20230707preview:getScalingPlanPooledSchedule", args ?? new GetScalingPlanPooledScheduleArgs(), options.WithDefaults()); + + /// + /// Get a ScalingPlanPooledSchedule. + /// + public static Output Invoke(GetScalingPlanPooledScheduleInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:desktopvirtualization/v20230707preview:getScalingPlanPooledSchedule", args ?? new GetScalingPlanPooledScheduleInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetScalingPlanPooledScheduleArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the scaling plan. + /// + [Input("scalingPlanName", required: true)] + public string ScalingPlanName { get; set; } = null!; + + /// + /// The name of the ScalingPlanSchedule + /// + [Input("scalingPlanScheduleName", required: true)] + public string ScalingPlanScheduleName { get; set; } = null!; + + public GetScalingPlanPooledScheduleArgs() + { + } + public static new GetScalingPlanPooledScheduleArgs Empty => new GetScalingPlanPooledScheduleArgs(); + } + + public sealed class GetScalingPlanPooledScheduleInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the scaling plan. + /// + [Input("scalingPlanName", required: true)] + public Input ScalingPlanName { get; set; } = null!; + + /// + /// The name of the ScalingPlanSchedule + /// + [Input("scalingPlanScheduleName", required: true)] + public Input ScalingPlanScheduleName { get; set; } = null!; + + public GetScalingPlanPooledScheduleInvokeArgs() + { + } + public static new GetScalingPlanPooledScheduleInvokeArgs Empty => new GetScalingPlanPooledScheduleInvokeArgs(); + } + + + [OutputType] + public sealed class GetScalingPlanPooledScheduleResult + { + /// + /// Set of days of the week on which this schedule is active. + /// + public readonly ImmutableArray DaysOfWeek; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// Load balancing algorithm for off-peak period. + /// + public readonly string? OffPeakLoadBalancingAlgorithm; + /// + /// Starting time for off-peak period. + /// + public readonly Outputs.TimeResponse? OffPeakStartTime; + /// + /// Load balancing algorithm for peak period. + /// + public readonly string? PeakLoadBalancingAlgorithm; + /// + /// Starting time for peak period. + /// + public readonly Outputs.TimeResponse? PeakStartTime; + /// + /// Capacity threshold for ramp down period. + /// + public readonly int? RampDownCapacityThresholdPct; + /// + /// Should users be logged off forcefully from hosts. + /// + public readonly bool? RampDownForceLogoffUsers; + /// + /// Load balancing algorithm for ramp down period. + /// + public readonly string? RampDownLoadBalancingAlgorithm; + /// + /// Minimum host percentage for ramp down period. + /// + public readonly int? RampDownMinimumHostsPct; + /// + /// Notification message for users during ramp down period. + /// + public readonly string? RampDownNotificationMessage; + /// + /// Starting time for ramp down period. + /// + public readonly Outputs.TimeResponse? RampDownStartTime; + /// + /// Specifies when to stop hosts during ramp down period. + /// + public readonly string? RampDownStopHostsWhen; + /// + /// Number of minutes to wait to stop hosts during ramp down period. + /// + public readonly int? RampDownWaitTimeMinutes; + /// + /// Capacity threshold for ramp up period. + /// + public readonly int? RampUpCapacityThresholdPct; + /// + /// Load balancing algorithm for ramp up period. + /// + public readonly string? RampUpLoadBalancingAlgorithm; + /// + /// Minimum host percentage for ramp up period. + /// + public readonly int? RampUpMinimumHostsPct; + /// + /// Starting time for ramp up period. + /// + public readonly Outputs.TimeResponse? RampUpStartTime; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetScalingPlanPooledScheduleResult( + ImmutableArray daysOfWeek, + + string id, + + string name, + + string? offPeakLoadBalancingAlgorithm, + + Outputs.TimeResponse? offPeakStartTime, + + string? peakLoadBalancingAlgorithm, + + Outputs.TimeResponse? peakStartTime, + + int? rampDownCapacityThresholdPct, + + bool? rampDownForceLogoffUsers, + + string? rampDownLoadBalancingAlgorithm, + + int? rampDownMinimumHostsPct, + + string? rampDownNotificationMessage, + + Outputs.TimeResponse? rampDownStartTime, + + string? rampDownStopHostsWhen, + + int? rampDownWaitTimeMinutes, + + int? rampUpCapacityThresholdPct, + + string? rampUpLoadBalancingAlgorithm, + + int? rampUpMinimumHostsPct, + + Outputs.TimeResponse? rampUpStartTime, + + Outputs.SystemDataResponse systemData, + + string type) + { + DaysOfWeek = daysOfWeek; + Id = id; + Name = name; + OffPeakLoadBalancingAlgorithm = offPeakLoadBalancingAlgorithm; + OffPeakStartTime = offPeakStartTime; + PeakLoadBalancingAlgorithm = peakLoadBalancingAlgorithm; + PeakStartTime = peakStartTime; + RampDownCapacityThresholdPct = rampDownCapacityThresholdPct; + RampDownForceLogoffUsers = rampDownForceLogoffUsers; + RampDownLoadBalancingAlgorithm = rampDownLoadBalancingAlgorithm; + RampDownMinimumHostsPct = rampDownMinimumHostsPct; + RampDownNotificationMessage = rampDownNotificationMessage; + RampDownStartTime = rampDownStartTime; + RampDownStopHostsWhen = rampDownStopHostsWhen; + RampDownWaitTimeMinutes = rampDownWaitTimeMinutes; + RampUpCapacityThresholdPct = rampUpCapacityThresholdPct; + RampUpLoadBalancingAlgorithm = rampUpLoadBalancingAlgorithm; + RampUpMinimumHostsPct = rampUpMinimumHostsPct; + RampUpStartTime = rampUpStartTime; + SystemData = systemData; + Type = type; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetWorkspace.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetWorkspace.cs new file mode 100644 index 000000000000..5b655dd82b43 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/GetWorkspace.cs @@ -0,0 +1,201 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + public static class GetWorkspace + { + /// + /// Get a workspace. + /// + public static Task InvokeAsync(GetWorkspaceArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:desktopvirtualization/v20230707preview:getWorkspace", args ?? new GetWorkspaceArgs(), options.WithDefaults()); + + /// + /// Get a workspace. + /// + public static Output Invoke(GetWorkspaceInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:desktopvirtualization/v20230707preview:getWorkspace", args ?? new GetWorkspaceInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetWorkspaceArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the workspace + /// + [Input("workspaceName", required: true)] + public string WorkspaceName { get; set; } = null!; + + public GetWorkspaceArgs() + { + } + public static new GetWorkspaceArgs Empty => new GetWorkspaceArgs(); + } + + public sealed class GetWorkspaceInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the workspace + /// + [Input("workspaceName", required: true)] + public Input WorkspaceName { get; set; } = null!; + + public GetWorkspaceInvokeArgs() + { + } + public static new GetWorkspaceInvokeArgs Empty => new GetWorkspaceInvokeArgs(); + } + + + [OutputType] + public sealed class GetWorkspaceResult + { + /// + /// List of applicationGroup resource Ids. + /// + public readonly ImmutableArray ApplicationGroupReferences; + /// + /// Is cloud pc resource. + /// + public readonly bool CloudPcResource; + /// + /// Description of Workspace. + /// + public readonly string? Description; + /// + /// The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + /// + public readonly string Etag; + /// + /// Friendly name of Workspace. + /// + public readonly string? FriendlyName; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + public readonly Outputs.ResourceModelWithAllowedPropertySetResponseIdentity? Identity; + /// + /// Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + /// + public readonly string? Kind; + /// + /// The geo-location where the resource lives + /// + public readonly string? Location; + /// + /// The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + /// + public readonly string? ManagedBy; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// ObjectId of Workspace. (internal use) + /// + public readonly string ObjectId; + public readonly Outputs.ResourceModelWithAllowedPropertySetResponsePlan? Plan; + /// + /// List of private endpoint connection associated with the specified resource + /// + public readonly ImmutableArray PrivateEndpointConnections; + /// + /// Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + /// + public readonly string? PublicNetworkAccess; + public readonly Outputs.ResourceModelWithAllowedPropertySetResponseSku? Sku; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetWorkspaceResult( + ImmutableArray applicationGroupReferences, + + bool cloudPcResource, + + string? description, + + string etag, + + string? friendlyName, + + string id, + + Outputs.ResourceModelWithAllowedPropertySetResponseIdentity? identity, + + string? kind, + + string? location, + + string? managedBy, + + string name, + + string objectId, + + Outputs.ResourceModelWithAllowedPropertySetResponsePlan? plan, + + ImmutableArray privateEndpointConnections, + + string? publicNetworkAccess, + + Outputs.ResourceModelWithAllowedPropertySetResponseSku? sku, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type) + { + ApplicationGroupReferences = applicationGroupReferences; + CloudPcResource = cloudPcResource; + Description = description; + Etag = etag; + FriendlyName = friendlyName; + Id = id; + Identity = identity; + Kind = kind; + Location = location; + ManagedBy = managedBy; + Name = name; + ObjectId = objectId; + Plan = plan; + PrivateEndpointConnections = privateEndpointConnections; + PublicNetworkAccess = publicNetworkAccess; + Sku = sku; + SystemData = systemData; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/HostPool.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/HostPool.cs new file mode 100644 index 000000000000..14aaa6f9a59d --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/HostPool.cs @@ -0,0 +1,449 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + /// + /// Represents a HostPool definition. + /// + [AzureNativeResourceType("azure-native:desktopvirtualization/v20230707preview:HostPool")] + public partial class HostPool : global::Pulumi.CustomResource + { + /// + /// The session host configuration for updating agent, monitoring agent, and stack component. + /// + [Output("agentUpdate")] + public Output AgentUpdate { get; private set; } = null!; + + /// + /// List of applicationGroup links. + /// + [Output("applicationGroupReferences")] + public Output> ApplicationGroupReferences { get; private set; } = null!; + + /// + /// Is cloud pc resource. + /// + [Output("cloudPcResource")] + public Output CloudPcResource { get; private set; } = null!; + + /// + /// Custom rdp property of HostPool. + /// + [Output("customRdpProperty")] + public Output CustomRdpProperty { get; private set; } = null!; + + /// + /// Description of HostPool. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + /// + [Output("etag")] + public Output Etag { get; private set; } = null!; + + /// + /// Friendly name of HostPool. + /// + [Output("friendlyName")] + public Output FriendlyName { get; private set; } = null!; + + /// + /// HostPool type for desktop. + /// + [Output("hostPoolType")] + public Output HostPoolType { get; private set; } = null!; + + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + /// + [Output("kind")] + public Output Kind { get; private set; } = null!; + + /// + /// The type of the load balancer. + /// + [Output("loadBalancerType")] + public Output LoadBalancerType { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + /// + [Output("managedBy")] + public Output ManagedBy { get; private set; } = null!; + + /// + /// The max session limit of HostPool. + /// + [Output("maxSessionLimit")] + public Output MaxSessionLimit { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// ObjectId of HostPool. (internal use) + /// + [Output("objectId")] + public Output ObjectId { get; private set; } = null!; + + /// + /// PersonalDesktopAssignment type for HostPool. + /// + [Output("personalDesktopAssignmentType")] + public Output PersonalDesktopAssignmentType { get; private set; } = null!; + + [Output("plan")] + public Output Plan { get; private set; } = null!; + + /// + /// The type of preferred application group type, default to Desktop Application Group + /// + [Output("preferredAppGroupType")] + public Output PreferredAppGroupType { get; private set; } = null!; + + /// + /// List of private endpoint connection associated with the specified resource + /// + [Output("privateEndpointConnections")] + public Output> PrivateEndpointConnections { get; private set; } = null!; + + /// + /// Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + /// + [Output("publicNetworkAccess")] + public Output PublicNetworkAccess { get; private set; } = null!; + + /// + /// The registration info of HostPool. + /// + [Output("registrationInfo")] + public Output RegistrationInfo { get; private set; } = null!; + + /// + /// The ring number of HostPool. + /// + [Output("ring")] + public Output Ring { get; private set; } = null!; + + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// ClientId for the registered Relying Party used to issue WVD SSO certificates. + /// + [Output("ssoClientId")] + public Output SsoClientId { get; private set; } = null!; + + /// + /// Path to Azure KeyVault storing the secret used for communication to ADFS. + /// + [Output("ssoClientSecretKeyVaultPath")] + public Output SsoClientSecretKeyVaultPath { get; private set; } = null!; + + /// + /// The type of single sign on Secret Type. + /// + [Output("ssoSecretType")] + public Output SsoSecretType { get; private set; } = null!; + + /// + /// URL to customer ADFS server for signing WVD SSO certificates. + /// + [Output("ssoadfsAuthority")] + public Output SsoadfsAuthority { get; private set; } = null!; + + /// + /// The flag to turn on/off StartVMOnConnect feature. + /// + [Output("startVMOnConnect")] + public Output StartVMOnConnect { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Is validation environment. + /// + [Output("validationEnvironment")] + public Output ValidationEnvironment { get; private set; } = null!; + + /// + /// VM template for sessionhosts configuration within hostpool. + /// + [Output("vmTemplate")] + public Output VmTemplate { get; private set; } = null!; + + + /// + /// Create a HostPool resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public HostPool(string name, HostPoolArgs args, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:HostPool", name, args ?? new HostPoolArgs(), MakeResourceOptions(options, "")) + { + } + + private HostPool(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:HostPool", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20190123preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20190924preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20191210preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20200921preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201019preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201102preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201110preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210114preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210201preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210309preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210401preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210712:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210903preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:HostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:HostPool"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing HostPool resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static HostPool Get(string name, Input id, CustomResourceOptions? options = null) + { + return new HostPool(name, id, options); + } + } + + public sealed class HostPoolArgs : global::Pulumi.ResourceArgs + { + /// + /// The session host configuration for updating agent, monitoring agent, and stack component. + /// + [Input("agentUpdate")] + public Input? AgentUpdate { get; set; } + + /// + /// Custom rdp property of HostPool. + /// + [Input("customRdpProperty")] + public Input? CustomRdpProperty { get; set; } + + /// + /// Description of HostPool. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Friendly name of HostPool. + /// + [Input("friendlyName")] + public Input? FriendlyName { get; set; } + + /// + /// The name of the host pool within the specified resource group + /// + [Input("hostPoolName")] + public Input? HostPoolName { get; set; } + + /// + /// HostPool type for desktop. + /// + [Input("hostPoolType", required: true)] + public InputUnion HostPoolType { get; set; } = null!; + + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + /// + [Input("kind")] + public Input? Kind { get; set; } + + /// + /// The type of the load balancer. + /// + [Input("loadBalancerType", required: true)] + public InputUnion LoadBalancerType { get; set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + /// + [Input("managedBy")] + public Input? ManagedBy { get; set; } + + /// + /// The max session limit of HostPool. + /// + [Input("maxSessionLimit")] + public Input? MaxSessionLimit { get; set; } + + /// + /// PersonalDesktopAssignment type for HostPool. + /// + [Input("personalDesktopAssignmentType")] + public InputUnion? PersonalDesktopAssignmentType { get; set; } + + [Input("plan")] + public Input? Plan { get; set; } + + /// + /// The type of preferred application group type, default to Desktop Application Group + /// + [Input("preferredAppGroupType", required: true)] + public InputUnion PreferredAppGroupType { get; set; } = null!; + + /// + /// Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + /// + [Input("publicNetworkAccess")] + public InputUnion? PublicNetworkAccess { get; set; } + + /// + /// The registration info of HostPool. + /// + [Input("registrationInfo")] + public Input? RegistrationInfo { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The ring number of HostPool. + /// + [Input("ring")] + public Input? Ring { get; set; } + + [Input("sku")] + public Input? Sku { get; set; } + + /// + /// ClientId for the registered Relying Party used to issue WVD SSO certificates. + /// + [Input("ssoClientId")] + public Input? SsoClientId { get; set; } + + /// + /// Path to Azure KeyVault storing the secret used for communication to ADFS. + /// + [Input("ssoClientSecretKeyVaultPath")] + public Input? SsoClientSecretKeyVaultPath { get; set; } + + /// + /// The type of single sign on Secret Type. + /// + [Input("ssoSecretType")] + public InputUnion? SsoSecretType { get; set; } + + /// + /// URL to customer ADFS server for signing WVD SSO certificates. + /// + [Input("ssoadfsAuthority")] + public Input? SsoadfsAuthority { get; set; } + + /// + /// The flag to turn on/off StartVMOnConnect feature. + /// + [Input("startVMOnConnect")] + public Input? StartVMOnConnect { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// Is validation environment. + /// + [Input("validationEnvironment")] + public Input? ValidationEnvironment { get; set; } + + /// + /// VM template for sessionhosts configuration within hostpool. + /// + [Input("vmTemplate")] + public Input? VmTemplate { get; set; } + + public HostPoolArgs() + { + } + public static new HostPoolArgs Empty => new HostPoolArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/AgentUpdatePropertiesArgs.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/AgentUpdatePropertiesArgs.cs new file mode 100644 index 000000000000..76170ac46f27 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/AgentUpdatePropertiesArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Inputs +{ + + /// + /// The session host configuration for updating agent, monitoring agent, and stack component. + /// + public sealed class AgentUpdatePropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. + /// + [Input("maintenanceWindowTimeZone")] + public Input? MaintenanceWindowTimeZone { get; set; } + + [Input("maintenanceWindows")] + private InputList? _maintenanceWindows; + + /// + /// List of maintenance windows. Maintenance windows are 2 hours long. + /// + public InputList MaintenanceWindows + { + get => _maintenanceWindows ?? (_maintenanceWindows = new InputList()); + set => _maintenanceWindows = value; + } + + /// + /// The type of maintenance for session host components. + /// + [Input("type")] + public InputUnion? Type { get; set; } + + /// + /// Whether to use localTime of the virtual machine. + /// + [Input("useSessionHostLocalTime")] + public Input? UseSessionHostLocalTime { get; set; } + + public AgentUpdatePropertiesArgs() + { + } + public static new AgentUpdatePropertiesArgs Empty => new AgentUpdatePropertiesArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/MaintenanceWindowPropertiesArgs.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/MaintenanceWindowPropertiesArgs.cs new file mode 100644 index 000000000000..9dd579cefe80 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/MaintenanceWindowPropertiesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Inputs +{ + + /// + /// Maintenance window starting hour and day of week. + /// + public sealed class MaintenanceWindowPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Day of the week. + /// + [Input("dayOfWeek")] + public Input? DayOfWeek { get; set; } + + /// + /// The update start hour of the day. (0 - 23) + /// + [Input("hour")] + public Input? Hour { get; set; } + + public MaintenanceWindowPropertiesArgs() + { + } + public static new MaintenanceWindowPropertiesArgs Empty => new MaintenanceWindowPropertiesArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/MsixPackageApplicationsArgs.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/MsixPackageApplicationsArgs.cs new file mode 100644 index 000000000000..4ac992f74bb5 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/MsixPackageApplicationsArgs.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Inputs +{ + + /// + /// Schema for MSIX Package Application properties. + /// + public sealed class MsixPackageApplicationsArgs : global::Pulumi.ResourceArgs + { + /// + /// Package Application Id, found in appxmanifest.xml. + /// + [Input("appId")] + public Input? AppId { get; set; } + + /// + /// Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml. + /// + [Input("appUserModelID")] + public Input? AppUserModelID { get; set; } + + /// + /// Description of Package Application. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// User friendly name. + /// + [Input("friendlyName")] + public Input? FriendlyName { get; set; } + + /// + /// User friendly name. + /// + [Input("iconImageName")] + public Input? IconImageName { get; set; } + + /// + /// the icon a 64 bit string as a byte array. + /// + [Input("rawIcon")] + public Input? RawIcon { get; set; } + + /// + /// the icon a 64 bit string as a byte array. + /// + [Input("rawPng")] + public Input? RawPng { get; set; } + + public MsixPackageApplicationsArgs() + { + } + public static new MsixPackageApplicationsArgs Empty => new MsixPackageApplicationsArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/MsixPackageDependenciesArgs.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/MsixPackageDependenciesArgs.cs new file mode 100644 index 000000000000..0d2edd518e90 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/MsixPackageDependenciesArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Inputs +{ + + /// + /// Schema for MSIX Package Dependencies properties. + /// + public sealed class MsixPackageDependenciesArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of package dependency. + /// + [Input("dependencyName")] + public Input? DependencyName { get; set; } + + /// + /// Dependency version required. + /// + [Input("minVersion")] + public Input? MinVersion { get; set; } + + /// + /// Name of dependency publisher. + /// + [Input("publisher")] + public Input? Publisher { get; set; } + + public MsixPackageDependenciesArgs() + { + } + public static new MsixPackageDependenciesArgs Empty => new MsixPackageDependenciesArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/PrivateLinkServiceConnectionStateArgs.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/PrivateLinkServiceConnectionStateArgs.cs new file mode 100644 index 000000000000..faa67c42068d --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/PrivateLinkServiceConnectionStateArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Inputs +{ + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + public sealed class PrivateLinkServiceConnectionStateArgs : global::Pulumi.ResourceArgs + { + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + [Input("actionsRequired")] + public Input? ActionsRequired { get; set; } + + /// + /// The reason for approval/rejection of the connection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + [Input("status")] + public InputUnion? Status { get; set; } + + public PrivateLinkServiceConnectionStateArgs() + { + } + public static new PrivateLinkServiceConnectionStateArgs Empty => new PrivateLinkServiceConnectionStateArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/RegistrationInfoArgs.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/RegistrationInfoArgs.cs new file mode 100644 index 000000000000..a5452cf9c1a1 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/RegistrationInfoArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Inputs +{ + + /// + /// Represents a RegistrationInfo definition. + /// + public sealed class RegistrationInfoArgs : global::Pulumi.ResourceArgs + { + /// + /// Expiration time of registration token. + /// + [Input("expirationTime")] + public Input? ExpirationTime { get; set; } + + /// + /// The type of resetting the token. + /// + [Input("registrationTokenOperation")] + public InputUnion? RegistrationTokenOperation { get; set; } + + /// + /// The registration token base64 encoded string. + /// + [Input("token")] + public Input? Token { get; set; } + + public RegistrationInfoArgs() + { + } + public static new RegistrationInfoArgs Empty => new RegistrationInfoArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ResourceModelWithAllowedPropertySetIdentityArgs.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ResourceModelWithAllowedPropertySetIdentityArgs.cs new file mode 100644 index 000000000000..87936f88e687 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ResourceModelWithAllowedPropertySetIdentityArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Inputs +{ + + public sealed class ResourceModelWithAllowedPropertySetIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// The identity type. + /// + [Input("type")] + public Input? Type { get; set; } + + public ResourceModelWithAllowedPropertySetIdentityArgs() + { + } + public static new ResourceModelWithAllowedPropertySetIdentityArgs Empty => new ResourceModelWithAllowedPropertySetIdentityArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ResourceModelWithAllowedPropertySetPlanArgs.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ResourceModelWithAllowedPropertySetPlanArgs.cs new file mode 100644 index 000000000000..d44fe95e22ad --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ResourceModelWithAllowedPropertySetPlanArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Inputs +{ + + public sealed class ResourceModelWithAllowedPropertySetPlanArgs : global::Pulumi.ResourceArgs + { + /// + /// A user defined name of the 3rd Party Artifact that is being procured. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. + /// + [Input("product", required: true)] + public Input Product { get; set; } = null!; + + /// + /// A publisher provided promotion code as provisioned in Data Market for the said product/artifact. + /// + [Input("promotionCode")] + public Input? PromotionCode { get; set; } + + /// + /// The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic + /// + [Input("publisher", required: true)] + public Input Publisher { get; set; } = null!; + + /// + /// The version of the desired product/artifact. + /// + [Input("version")] + public Input? Version { get; set; } + + public ResourceModelWithAllowedPropertySetPlanArgs() + { + } + public static new ResourceModelWithAllowedPropertySetPlanArgs Empty => new ResourceModelWithAllowedPropertySetPlanArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ResourceModelWithAllowedPropertySetSkuArgs.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ResourceModelWithAllowedPropertySetSkuArgs.cs new file mode 100644 index 000000000000..f5dbf340cd6c --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ResourceModelWithAllowedPropertySetSkuArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Inputs +{ + + public sealed class ResourceModelWithAllowedPropertySetSkuArgs : global::Pulumi.ResourceArgs + { + /// + /// If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. + /// + [Input("capacity")] + public Input? Capacity { get; set; } + + /// + /// If the service has different generations of hardware, for the same SKU, then that can be captured here. + /// + [Input("family")] + public Input? Family { get; set; } + + /// + /// The name of the SKU. Ex - P3. It is typically a letter+number code + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. + /// + [Input("size")] + public Input? Size { get; set; } + + /// + /// This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + /// + [Input("tier")] + public Input? Tier { get; set; } + + public ResourceModelWithAllowedPropertySetSkuArgs() + { + } + public static new ResourceModelWithAllowedPropertySetSkuArgs Empty => new ResourceModelWithAllowedPropertySetSkuArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ScalingHostPoolReferenceArgs.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ScalingHostPoolReferenceArgs.cs new file mode 100644 index 000000000000..bfff9ca34564 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ScalingHostPoolReferenceArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Inputs +{ + + /// + /// Scaling plan reference to hostpool. + /// + public sealed class ScalingHostPoolReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// Arm path of referenced hostpool. + /// + [Input("hostPoolArmPath")] + public Input? HostPoolArmPath { get; set; } + + /// + /// Is the scaling plan enabled for this hostpool. + /// + [Input("scalingPlanEnabled")] + public Input? ScalingPlanEnabled { get; set; } + + public ScalingHostPoolReferenceArgs() + { + } + public static new ScalingHostPoolReferenceArgs Empty => new ScalingHostPoolReferenceArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ScalingScheduleArgs.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ScalingScheduleArgs.cs new file mode 100644 index 000000000000..f86f124e8952 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/ScalingScheduleArgs.cs @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Inputs +{ + + /// + /// A ScalingPlanPooledSchedule. + /// + public sealed class ScalingScheduleArgs : global::Pulumi.ResourceArgs + { + [Input("daysOfWeek")] + private InputList? _daysOfWeek; + + /// + /// Set of days of the week on which this schedule is active. + /// + public InputList DaysOfWeek + { + get => _daysOfWeek ?? (_daysOfWeek = new InputList()); + set => _daysOfWeek = value; + } + + /// + /// Name of the ScalingPlanPooledSchedule. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Load balancing algorithm for off-peak period. + /// + [Input("offPeakLoadBalancingAlgorithm")] + public InputUnion? OffPeakLoadBalancingAlgorithm { get; set; } + + /// + /// Starting time for off-peak period. + /// + [Input("offPeakStartTime")] + public Input? OffPeakStartTime { get; set; } + + /// + /// Load balancing algorithm for peak period. + /// + [Input("peakLoadBalancingAlgorithm")] + public InputUnion? PeakLoadBalancingAlgorithm { get; set; } + + /// + /// Starting time for peak period. + /// + [Input("peakStartTime")] + public Input? PeakStartTime { get; set; } + + /// + /// Capacity threshold for ramp down period. + /// + [Input("rampDownCapacityThresholdPct")] + public Input? RampDownCapacityThresholdPct { get; set; } + + /// + /// Should users be logged off forcefully from hosts. + /// + [Input("rampDownForceLogoffUsers")] + public Input? RampDownForceLogoffUsers { get; set; } + + /// + /// Load balancing algorithm for ramp down period. + /// + [Input("rampDownLoadBalancingAlgorithm")] + public InputUnion? RampDownLoadBalancingAlgorithm { get; set; } + + /// + /// Minimum host percentage for ramp down period. + /// + [Input("rampDownMinimumHostsPct")] + public Input? RampDownMinimumHostsPct { get; set; } + + /// + /// Notification message for users during ramp down period. + /// + [Input("rampDownNotificationMessage")] + public Input? RampDownNotificationMessage { get; set; } + + /// + /// Starting time for ramp down period. + /// + [Input("rampDownStartTime")] + public Input? RampDownStartTime { get; set; } + + /// + /// Specifies when to stop hosts during ramp down period. + /// + [Input("rampDownStopHostsWhen")] + public InputUnion? RampDownStopHostsWhen { get; set; } + + /// + /// Number of minutes to wait to stop hosts during ramp down period. + /// + [Input("rampDownWaitTimeMinutes")] + public Input? RampDownWaitTimeMinutes { get; set; } + + /// + /// Capacity threshold for ramp up period. + /// + [Input("rampUpCapacityThresholdPct")] + public Input? RampUpCapacityThresholdPct { get; set; } + + /// + /// Load balancing algorithm for ramp up period. + /// + [Input("rampUpLoadBalancingAlgorithm")] + public InputUnion? RampUpLoadBalancingAlgorithm { get; set; } + + /// + /// Minimum host percentage for ramp up period. + /// + [Input("rampUpMinimumHostsPct")] + public Input? RampUpMinimumHostsPct { get; set; } + + /// + /// Starting time for ramp up period. + /// + [Input("rampUpStartTime")] + public Input? RampUpStartTime { get; set; } + + public ScalingScheduleArgs() + { + } + public static new ScalingScheduleArgs Empty => new ScalingScheduleArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/TimeArgs.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/TimeArgs.cs new file mode 100644 index 000000000000..abe96f0c59b0 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Inputs/TimeArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Inputs +{ + + /// + /// The time for a scaling action to occur. + /// + public sealed class TimeArgs : global::Pulumi.ResourceArgs + { + /// + /// The hour. + /// + [Input("hour", required: true)] + public Input Hour { get; set; } = null!; + + /// + /// The minute. + /// + [Input("minute", required: true)] + public Input Minute { get; set; } = null!; + + public TimeArgs() + { + } + public static new TimeArgs Empty => new TimeArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/MSIXPackage.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/MSIXPackage.cs new file mode 100644 index 000000000000..c132b3a14630 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/MSIXPackage.cs @@ -0,0 +1,266 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + /// + /// Schema for MSIX Package properties. + /// + [AzureNativeResourceType("azure-native:desktopvirtualization/v20230707preview:MSIXPackage")] + public partial class MSIXPackage : global::Pulumi.CustomResource + { + /// + /// User friendly Name to be displayed in the portal. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// VHD/CIM image path on Network Share. + /// + [Output("imagePath")] + public Output ImagePath { get; private set; } = null!; + + /// + /// Make this version of the package the active one across the hostpool. + /// + [Output("isActive")] + public Output IsActive { get; private set; } = null!; + + /// + /// Specifies how to register Package in feed. + /// + [Output("isRegularRegistration")] + public Output IsRegularRegistration { get; private set; } = null!; + + /// + /// Date Package was last updated, found in the appxmanifest.xml. + /// + [Output("lastUpdated")] + public Output LastUpdated { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// List of package applications. + /// + [Output("packageApplications")] + public Output> PackageApplications { get; private set; } = null!; + + /// + /// List of package dependencies. + /// + [Output("packageDependencies")] + public Output> PackageDependencies { get; private set; } = null!; + + /// + /// Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. + /// + [Output("packageFamilyName")] + public Output PackageFamilyName { get; private set; } = null!; + + /// + /// Package Name from appxmanifest.xml. + /// + [Output("packageName")] + public Output PackageName { get; private set; } = null!; + + /// + /// Relative Path to the package inside the image. + /// + [Output("packageRelativePath")] + public Output PackageRelativePath { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Package Version found in the appxmanifest.xml. + /// + [Output("version")] + public Output Version { get; private set; } = null!; + + + /// + /// Create a MSIXPackage resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public MSIXPackage(string name, MSIXPackageArgs args, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:MSIXPackage", name, args ?? new MSIXPackageArgs(), MakeResourceOptions(options, "")) + { + } + + private MSIXPackage(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:MSIXPackage", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20200921preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201019preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201102preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201110preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210114preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210201preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210309preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210401preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210712:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210903preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:MSIXPackage"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:MSIXPackage"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing MSIXPackage resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static MSIXPackage Get(string name, Input id, CustomResourceOptions? options = null) + { + return new MSIXPackage(name, id, options); + } + } + + public sealed class MSIXPackageArgs : global::Pulumi.ResourceArgs + { + /// + /// User friendly Name to be displayed in the portal. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// The name of the host pool within the specified resource group + /// + [Input("hostPoolName", required: true)] + public Input HostPoolName { get; set; } = null!; + + /// + /// VHD/CIM image path on Network Share. + /// + [Input("imagePath")] + public Input? ImagePath { get; set; } + + /// + /// Make this version of the package the active one across the hostpool. + /// + [Input("isActive")] + public Input? IsActive { get; set; } + + /// + /// Specifies how to register Package in feed. + /// + [Input("isRegularRegistration")] + public Input? IsRegularRegistration { get; set; } + + /// + /// Date Package was last updated, found in the appxmanifest.xml. + /// + [Input("lastUpdated")] + public Input? LastUpdated { get; set; } + + /// + /// The version specific package full name of the MSIX package within specified hostpool + /// + [Input("msixPackageFullName")] + public Input? MsixPackageFullName { get; set; } + + [Input("packageApplications")] + private InputList? _packageApplications; + + /// + /// List of package applications. + /// + public InputList PackageApplications + { + get => _packageApplications ?? (_packageApplications = new InputList()); + set => _packageApplications = value; + } + + [Input("packageDependencies")] + private InputList? _packageDependencies; + + /// + /// List of package dependencies. + /// + public InputList PackageDependencies + { + get => _packageDependencies ?? (_packageDependencies = new InputList()); + set => _packageDependencies = value; + } + + /// + /// Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. + /// + [Input("packageFamilyName")] + public Input? PackageFamilyName { get; set; } + + /// + /// Package Name from appxmanifest.xml. + /// + [Input("packageName")] + public Input? PackageName { get; set; } + + /// + /// Relative Path to the package inside the image. + /// + [Input("packageRelativePath")] + public Input? PackageRelativePath { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Package Version found in the appxmanifest.xml. + /// + [Input("version")] + public Input? Version { get; set; } + + public MSIXPackageArgs() + { + } + public static new MSIXPackageArgs Empty => new MSIXPackageArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/AgentUpdatePropertiesResponse.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/AgentUpdatePropertiesResponse.cs new file mode 100644 index 000000000000..1e7e52a7c1e9 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/AgentUpdatePropertiesResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + /// + /// The session host configuration for updating agent, monitoring agent, and stack component. + /// + [OutputType] + public sealed class AgentUpdatePropertiesResponse + { + /// + /// Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. + /// + public readonly string? MaintenanceWindowTimeZone; + /// + /// List of maintenance windows. Maintenance windows are 2 hours long. + /// + public readonly ImmutableArray MaintenanceWindows; + /// + /// The type of maintenance for session host components. + /// + public readonly string? Type; + /// + /// Whether to use localTime of the virtual machine. + /// + public readonly bool? UseSessionHostLocalTime; + + [OutputConstructor] + private AgentUpdatePropertiesResponse( + string? maintenanceWindowTimeZone, + + ImmutableArray maintenanceWindows, + + string? type, + + bool? useSessionHostLocalTime) + { + MaintenanceWindowTimeZone = maintenanceWindowTimeZone; + MaintenanceWindows = maintenanceWindows; + Type = type; + UseSessionHostLocalTime = useSessionHostLocalTime; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/MaintenanceWindowPropertiesResponse.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/MaintenanceWindowPropertiesResponse.cs new file mode 100644 index 000000000000..2098424978d7 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/MaintenanceWindowPropertiesResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + /// + /// Maintenance window starting hour and day of week. + /// + [OutputType] + public sealed class MaintenanceWindowPropertiesResponse + { + /// + /// Day of the week. + /// + public readonly string? DayOfWeek; + /// + /// The update start hour of the day. (0 - 23) + /// + public readonly int? Hour; + + [OutputConstructor] + private MaintenanceWindowPropertiesResponse( + string? dayOfWeek, + + int? hour) + { + DayOfWeek = dayOfWeek; + Hour = hour; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/MsixPackageApplicationsResponse.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/MsixPackageApplicationsResponse.cs new file mode 100644 index 000000000000..a236587dd28b --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/MsixPackageApplicationsResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + /// + /// Schema for MSIX Package Application properties. + /// + [OutputType] + public sealed class MsixPackageApplicationsResponse + { + /// + /// Package Application Id, found in appxmanifest.xml. + /// + public readonly string? AppId; + /// + /// Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml. + /// + public readonly string? AppUserModelID; + /// + /// Description of Package Application. + /// + public readonly string? Description; + /// + /// User friendly name. + /// + public readonly string? FriendlyName; + /// + /// User friendly name. + /// + public readonly string? IconImageName; + /// + /// the icon a 64 bit string as a byte array. + /// + public readonly string? RawIcon; + /// + /// the icon a 64 bit string as a byte array. + /// + public readonly string? RawPng; + + [OutputConstructor] + private MsixPackageApplicationsResponse( + string? appId, + + string? appUserModelID, + + string? description, + + string? friendlyName, + + string? iconImageName, + + string? rawIcon, + + string? rawPng) + { + AppId = appId; + AppUserModelID = appUserModelID; + Description = description; + FriendlyName = friendlyName; + IconImageName = iconImageName; + RawIcon = rawIcon; + RawPng = rawPng; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/MsixPackageDependenciesResponse.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/MsixPackageDependenciesResponse.cs new file mode 100644 index 000000000000..f0fa1cc99521 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/MsixPackageDependenciesResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + /// + /// Schema for MSIX Package Dependencies properties. + /// + [OutputType] + public sealed class MsixPackageDependenciesResponse + { + /// + /// Name of package dependency. + /// + public readonly string? DependencyName; + /// + /// Dependency version required. + /// + public readonly string? MinVersion; + /// + /// Name of dependency publisher. + /// + public readonly string? Publisher; + + [OutputConstructor] + private MsixPackageDependenciesResponse( + string? dependencyName, + + string? minVersion, + + string? publisher) + { + DependencyName = dependencyName; + MinVersion = minVersion; + Publisher = publisher; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/PrivateEndpointConnectionResponse.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/PrivateEndpointConnectionResponse.cs new file mode 100644 index 000000000000..f9c946280b04 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/PrivateEndpointConnectionResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + /// + /// The Private Endpoint Connection resource. + /// + [OutputType] + public sealed class PrivateEndpointConnectionResponse + { + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The resource of private end point. + /// + public readonly Outputs.PrivateEndpointResponse? PrivateEndpoint; + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + public readonly Outputs.PrivateLinkServiceConnectionStateResponse PrivateLinkServiceConnectionState; + /// + /// The provisioning state of the private endpoint connection resource. + /// + public readonly string ProvisioningState; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private PrivateEndpointConnectionResponse( + string id, + + string name, + + Outputs.PrivateEndpointResponse? privateEndpoint, + + Outputs.PrivateLinkServiceConnectionStateResponse privateLinkServiceConnectionState, + + string provisioningState, + + string type) + { + Id = id; + Name = name; + PrivateEndpoint = privateEndpoint; + PrivateLinkServiceConnectionState = privateLinkServiceConnectionState; + ProvisioningState = provisioningState; + Type = type; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/PrivateEndpointResponse.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/PrivateEndpointResponse.cs new file mode 100644 index 000000000000..ea21fe229ca7 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/PrivateEndpointResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + /// + /// The Private Endpoint resource. + /// + [OutputType] + public sealed class PrivateEndpointResponse + { + /// + /// The ARM identifier for Private Endpoint + /// + public readonly string Id; + + [OutputConstructor] + private PrivateEndpointResponse(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/PrivateLinkServiceConnectionStateResponse.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/PrivateLinkServiceConnectionStateResponse.cs new file mode 100644 index 000000000000..0c8d4b095b69 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/PrivateLinkServiceConnectionStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + [OutputType] + public sealed class PrivateLinkServiceConnectionStateResponse + { + /// + /// A message indicating if changes on the service provider require any updates on the consumer. + /// + public readonly string? ActionsRequired; + /// + /// The reason for approval/rejection of the connection. + /// + public readonly string? Description; + /// + /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + /// + public readonly string? Status; + + [OutputConstructor] + private PrivateLinkServiceConnectionStateResponse( + string? actionsRequired, + + string? description, + + string? status) + { + ActionsRequired = actionsRequired; + Description = description; + Status = status; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/RegistrationInfoResponse.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/RegistrationInfoResponse.cs new file mode 100644 index 000000000000..ae5886747cca --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/RegistrationInfoResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + /// + /// Represents a RegistrationInfo definition. + /// + [OutputType] + public sealed class RegistrationInfoResponse + { + /// + /// Expiration time of registration token. + /// + public readonly string? ExpirationTime; + /// + /// The type of resetting the token. + /// + public readonly string? RegistrationTokenOperation; + /// + /// The registration token base64 encoded string. + /// + public readonly string? Token; + + [OutputConstructor] + private RegistrationInfoResponse( + string? expirationTime, + + string? registrationTokenOperation, + + string? token) + { + ExpirationTime = expirationTime; + RegistrationTokenOperation = registrationTokenOperation; + Token = token; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ResourceModelWithAllowedPropertySetResponseIdentity.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ResourceModelWithAllowedPropertySetResponseIdentity.cs new file mode 100644 index 000000000000..75b59f8750cb --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ResourceModelWithAllowedPropertySetResponseIdentity.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + [OutputType] + public sealed class ResourceModelWithAllowedPropertySetResponseIdentity + { + /// + /// The principal ID of resource identity. + /// + public readonly string PrincipalId; + /// + /// The tenant ID of resource. + /// + public readonly string TenantId; + /// + /// The identity type. + /// + public readonly string? Type; + + [OutputConstructor] + private ResourceModelWithAllowedPropertySetResponseIdentity( + string principalId, + + string tenantId, + + string? type) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ResourceModelWithAllowedPropertySetResponsePlan.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ResourceModelWithAllowedPropertySetResponsePlan.cs new file mode 100644 index 000000000000..a265231d87d3 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ResourceModelWithAllowedPropertySetResponsePlan.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + [OutputType] + public sealed class ResourceModelWithAllowedPropertySetResponsePlan + { + /// + /// A user defined name of the 3rd Party Artifact that is being procured. + /// + public readonly string Name; + /// + /// The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. + /// + public readonly string Product; + /// + /// A publisher provided promotion code as provisioned in Data Market for the said product/artifact. + /// + public readonly string? PromotionCode; + /// + /// The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic + /// + public readonly string Publisher; + /// + /// The version of the desired product/artifact. + /// + public readonly string? Version; + + [OutputConstructor] + private ResourceModelWithAllowedPropertySetResponsePlan( + string name, + + string product, + + string? promotionCode, + + string publisher, + + string? version) + { + Name = name; + Product = product; + PromotionCode = promotionCode; + Publisher = publisher; + Version = version; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ResourceModelWithAllowedPropertySetResponseSku.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ResourceModelWithAllowedPropertySetResponseSku.cs new file mode 100644 index 000000000000..82a272d1fc06 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ResourceModelWithAllowedPropertySetResponseSku.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + [OutputType] + public sealed class ResourceModelWithAllowedPropertySetResponseSku + { + /// + /// If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. + /// + public readonly int? Capacity; + /// + /// If the service has different generations of hardware, for the same SKU, then that can be captured here. + /// + public readonly string? Family; + /// + /// The name of the SKU. Ex - P3. It is typically a letter+number code + /// + public readonly string Name; + /// + /// The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. + /// + public readonly string? Size; + /// + /// This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + /// + public readonly string? Tier; + + [OutputConstructor] + private ResourceModelWithAllowedPropertySetResponseSku( + int? capacity, + + string? family, + + string name, + + string? size, + + string? tier) + { + Capacity = capacity; + Family = family; + Name = name; + Size = size; + Tier = tier; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ScalingHostPoolReferenceResponse.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ScalingHostPoolReferenceResponse.cs new file mode 100644 index 000000000000..bb3c8964b033 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ScalingHostPoolReferenceResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + /// + /// Scaling plan reference to hostpool. + /// + [OutputType] + public sealed class ScalingHostPoolReferenceResponse + { + /// + /// Arm path of referenced hostpool. + /// + public readonly string? HostPoolArmPath; + /// + /// Is the scaling plan enabled for this hostpool. + /// + public readonly bool? ScalingPlanEnabled; + + [OutputConstructor] + private ScalingHostPoolReferenceResponse( + string? hostPoolArmPath, + + bool? scalingPlanEnabled) + { + HostPoolArmPath = hostPoolArmPath; + ScalingPlanEnabled = scalingPlanEnabled; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ScalingScheduleResponse.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ScalingScheduleResponse.cs new file mode 100644 index 000000000000..86484783e2a0 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/ScalingScheduleResponse.cs @@ -0,0 +1,150 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + /// + /// A ScalingPlanPooledSchedule. + /// + [OutputType] + public sealed class ScalingScheduleResponse + { + /// + /// Set of days of the week on which this schedule is active. + /// + public readonly ImmutableArray DaysOfWeek; + /// + /// Name of the ScalingPlanPooledSchedule. + /// + public readonly string? Name; + /// + /// Load balancing algorithm for off-peak period. + /// + public readonly string? OffPeakLoadBalancingAlgorithm; + /// + /// Starting time for off-peak period. + /// + public readonly Outputs.TimeResponse? OffPeakStartTime; + /// + /// Load balancing algorithm for peak period. + /// + public readonly string? PeakLoadBalancingAlgorithm; + /// + /// Starting time for peak period. + /// + public readonly Outputs.TimeResponse? PeakStartTime; + /// + /// Capacity threshold for ramp down period. + /// + public readonly int? RampDownCapacityThresholdPct; + /// + /// Should users be logged off forcefully from hosts. + /// + public readonly bool? RampDownForceLogoffUsers; + /// + /// Load balancing algorithm for ramp down period. + /// + public readonly string? RampDownLoadBalancingAlgorithm; + /// + /// Minimum host percentage for ramp down period. + /// + public readonly int? RampDownMinimumHostsPct; + /// + /// Notification message for users during ramp down period. + /// + public readonly string? RampDownNotificationMessage; + /// + /// Starting time for ramp down period. + /// + public readonly Outputs.TimeResponse? RampDownStartTime; + /// + /// Specifies when to stop hosts during ramp down period. + /// + public readonly string? RampDownStopHostsWhen; + /// + /// Number of minutes to wait to stop hosts during ramp down period. + /// + public readonly int? RampDownWaitTimeMinutes; + /// + /// Capacity threshold for ramp up period. + /// + public readonly int? RampUpCapacityThresholdPct; + /// + /// Load balancing algorithm for ramp up period. + /// + public readonly string? RampUpLoadBalancingAlgorithm; + /// + /// Minimum host percentage for ramp up period. + /// + public readonly int? RampUpMinimumHostsPct; + /// + /// Starting time for ramp up period. + /// + public readonly Outputs.TimeResponse? RampUpStartTime; + + [OutputConstructor] + private ScalingScheduleResponse( + ImmutableArray daysOfWeek, + + string? name, + + string? offPeakLoadBalancingAlgorithm, + + Outputs.TimeResponse? offPeakStartTime, + + string? peakLoadBalancingAlgorithm, + + Outputs.TimeResponse? peakStartTime, + + int? rampDownCapacityThresholdPct, + + bool? rampDownForceLogoffUsers, + + string? rampDownLoadBalancingAlgorithm, + + int? rampDownMinimumHostsPct, + + string? rampDownNotificationMessage, + + Outputs.TimeResponse? rampDownStartTime, + + string? rampDownStopHostsWhen, + + int? rampDownWaitTimeMinutes, + + int? rampUpCapacityThresholdPct, + + string? rampUpLoadBalancingAlgorithm, + + int? rampUpMinimumHostsPct, + + Outputs.TimeResponse? rampUpStartTime) + { + DaysOfWeek = daysOfWeek; + Name = name; + OffPeakLoadBalancingAlgorithm = offPeakLoadBalancingAlgorithm; + OffPeakStartTime = offPeakStartTime; + PeakLoadBalancingAlgorithm = peakLoadBalancingAlgorithm; + PeakStartTime = peakStartTime; + RampDownCapacityThresholdPct = rampDownCapacityThresholdPct; + RampDownForceLogoffUsers = rampDownForceLogoffUsers; + RampDownLoadBalancingAlgorithm = rampDownLoadBalancingAlgorithm; + RampDownMinimumHostsPct = rampDownMinimumHostsPct; + RampDownNotificationMessage = rampDownNotificationMessage; + RampDownStartTime = rampDownStartTime; + RampDownStopHostsWhen = rampDownStopHostsWhen; + RampDownWaitTimeMinutes = rampDownWaitTimeMinutes; + RampUpCapacityThresholdPct = rampUpCapacityThresholdPct; + RampUpLoadBalancingAlgorithm = rampUpLoadBalancingAlgorithm; + RampUpMinimumHostsPct = rampUpMinimumHostsPct; + RampUpStartTime = rampUpStartTime; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/SystemDataResponse.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..bdfa32f87b97 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC). + /// + public readonly string? CreatedAt; + /// + /// The identity that created the resource. + /// + public readonly string? CreatedBy; + /// + /// The type of identity that created the resource. + /// + public readonly string? CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string? LastModifiedAt; + /// + /// The identity that last modified the resource. + /// + public readonly string? LastModifiedBy; + /// + /// The type of identity that last modified the resource. + /// + public readonly string? LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string? createdAt, + + string? createdBy, + + string? createdByType, + + string? lastModifiedAt, + + string? lastModifiedBy, + + string? lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/TimeResponse.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/TimeResponse.cs new file mode 100644 index 000000000000..4266f56f252d --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Outputs/TimeResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview.Outputs +{ + + /// + /// The time for a scaling action to occur. + /// + [OutputType] + public sealed class TimeResponse + { + /// + /// The hour. + /// + public readonly int Hour; + /// + /// The minute. + /// + public readonly int Minute; + + [OutputConstructor] + private TimeResponse( + int hour, + + int minute) + { + Hour = hour; + Minute = minute; + } + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/PrivateEndpointConnectionByHostPool.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/PrivateEndpointConnectionByHostPool.cs new file mode 100644 index 000000000000..787807ebab52 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/PrivateEndpointConnectionByHostPool.cs @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + /// + /// The Private Endpoint Connection resource. + /// + [AzureNativeResourceType("azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool")] + public partial class PrivateEndpointConnectionByHostPool : global::Pulumi.CustomResource + { + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The resource of private end point. + /// + [Output("privateEndpoint")] + public Output PrivateEndpoint { get; private set; } = null!; + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + [Output("privateLinkServiceConnectionState")] + public Output PrivateLinkServiceConnectionState { get; private set; } = null!; + + /// + /// The provisioning state of the private endpoint connection resource. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a PrivateEndpointConnectionByHostPool resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public PrivateEndpointConnectionByHostPool(string name, PrivateEndpointConnectionByHostPoolArgs args, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool", name, args ?? new PrivateEndpointConnectionByHostPoolArgs(), MakeResourceOptions(options, "")) + { + } + + private PrivateEndpointConnectionByHostPool(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization:PrivateEndpointConnectionByHostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByHostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByHostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByHostPool"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing PrivateEndpointConnectionByHostPool resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static PrivateEndpointConnectionByHostPool Get(string name, Input id, CustomResourceOptions? options = null) + { + return new PrivateEndpointConnectionByHostPool(name, id, options); + } + } + + public sealed class PrivateEndpointConnectionByHostPoolArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the host pool within the specified resource group + /// + [Input("hostPoolName", required: true)] + public Input HostPoolName { get; set; } = null!; + + /// + /// The name of the private endpoint connection associated with the Azure resource + /// + [Input("privateEndpointConnectionName")] + public Input? PrivateEndpointConnectionName { get; set; } + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + [Input("privateLinkServiceConnectionState", required: true)] + public Input PrivateLinkServiceConnectionState { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public PrivateEndpointConnectionByHostPoolArgs() + { + } + public static new PrivateEndpointConnectionByHostPoolArgs Empty => new PrivateEndpointConnectionByHostPoolArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/PrivateEndpointConnectionByWorkspace.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/PrivateEndpointConnectionByWorkspace.cs new file mode 100644 index 000000000000..d1c931f3d0c4 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/PrivateEndpointConnectionByWorkspace.cs @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + /// + /// The Private Endpoint Connection resource. + /// + [AzureNativeResourceType("azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace")] + public partial class PrivateEndpointConnectionByWorkspace : global::Pulumi.CustomResource + { + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The resource of private end point. + /// + [Output("privateEndpoint")] + public Output PrivateEndpoint { get; private set; } = null!; + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + [Output("privateLinkServiceConnectionState")] + public Output PrivateLinkServiceConnectionState { get; private set; } = null!; + + /// + /// The provisioning state of the private endpoint connection resource. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a PrivateEndpointConnectionByWorkspace resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public PrivateEndpointConnectionByWorkspace(string name, PrivateEndpointConnectionByWorkspaceArgs args, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace", name, args ?? new PrivateEndpointConnectionByWorkspaceArgs(), MakeResourceOptions(options, "")) + { + } + + private PrivateEndpointConnectionByWorkspace(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization:PrivateEndpointConnectionByWorkspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByWorkspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByWorkspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByWorkspace"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing PrivateEndpointConnectionByWorkspace resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static PrivateEndpointConnectionByWorkspace Get(string name, Input id, CustomResourceOptions? options = null) + { + return new PrivateEndpointConnectionByWorkspace(name, id, options); + } + } + + public sealed class PrivateEndpointConnectionByWorkspaceArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the private endpoint connection associated with the Azure resource + /// + [Input("privateEndpointConnectionName")] + public Input? PrivateEndpointConnectionName { get; set; } + + /// + /// A collection of information about the state of the connection between service consumer and provider. + /// + [Input("privateLinkServiceConnectionState", required: true)] + public Input PrivateLinkServiceConnectionState { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the workspace + /// + [Input("workspaceName", required: true)] + public Input WorkspaceName { get; set; } = null!; + + public PrivateEndpointConnectionByWorkspaceArgs() + { + } + public static new PrivateEndpointConnectionByWorkspaceArgs Empty => new PrivateEndpointConnectionByWorkspaceArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/README.md b/sdk/dotnet/DesktopVirtualization/V20230707Preview/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/ScalingPlan.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/ScalingPlan.cs new file mode 100644 index 000000000000..5e807a764fa0 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/ScalingPlan.cs @@ -0,0 +1,294 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + /// + /// Represents a scaling plan definition. + /// + [AzureNativeResourceType("azure-native:desktopvirtualization/v20230707preview:ScalingPlan")] + public partial class ScalingPlan : global::Pulumi.CustomResource + { + /// + /// Description of scaling plan. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + /// + [Output("etag")] + public Output Etag { get; private set; } = null!; + + /// + /// Exclusion tag for scaling plan. + /// + [Output("exclusionTag")] + public Output ExclusionTag { get; private set; } = null!; + + /// + /// User friendly name of scaling plan. + /// + [Output("friendlyName")] + public Output FriendlyName { get; private set; } = null!; + + /// + /// List of ScalingHostPoolReference definitions. + /// + [Output("hostPoolReferences")] + public Output> HostPoolReferences { get; private set; } = null!; + + /// + /// HostPool type for desktop. + /// + [Output("hostPoolType")] + public Output HostPoolType { get; private set; } = null!; + + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + /// + [Output("kind")] + public Output Kind { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + /// + [Output("managedBy")] + public Output ManagedBy { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// ObjectId of scaling plan. (internal use) + /// + [Output("objectId")] + public Output ObjectId { get; private set; } = null!; + + [Output("plan")] + public Output Plan { get; private set; } = null!; + + /// + /// List of ScalingPlanPooledSchedule definitions. + /// + [Output("schedules")] + public Output> Schedules { get; private set; } = null!; + + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Timezone of the scaling plan. + /// + [Output("timeZone")] + public Output TimeZone { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a ScalingPlan resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ScalingPlan(string name, ScalingPlanArgs args, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:ScalingPlan", name, args ?? new ScalingPlanArgs(), MakeResourceOptions(options, "")) + { + } + + private ScalingPlan(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:ScalingPlan", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201110preview:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210114preview:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210201preview:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210309preview:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210401preview:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210712:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210903preview:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:ScalingPlan"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:ScalingPlan"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ScalingPlan resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static ScalingPlan Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ScalingPlan(name, id, options); + } + } + + public sealed class ScalingPlanArgs : global::Pulumi.ResourceArgs + { + /// + /// Description of scaling plan. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Exclusion tag for scaling plan. + /// + [Input("exclusionTag")] + public Input? ExclusionTag { get; set; } + + /// + /// User friendly name of scaling plan. + /// + [Input("friendlyName")] + public Input? FriendlyName { get; set; } + + [Input("hostPoolReferences")] + private InputList? _hostPoolReferences; + + /// + /// List of ScalingHostPoolReference definitions. + /// + public InputList HostPoolReferences + { + get => _hostPoolReferences ?? (_hostPoolReferences = new InputList()); + set => _hostPoolReferences = value; + } + + /// + /// HostPool type for desktop. + /// + [Input("hostPoolType")] + public InputUnion? HostPoolType { get; set; } + + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + /// + [Input("kind")] + public Input? Kind { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + /// + [Input("managedBy")] + public Input? ManagedBy { get; set; } + + [Input("plan")] + public Input? Plan { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the scaling plan. + /// + [Input("scalingPlanName")] + public Input? ScalingPlanName { get; set; } + + [Input("schedules")] + private InputList? _schedules; + + /// + /// List of ScalingPlanPooledSchedule definitions. + /// + public InputList Schedules + { + get => _schedules ?? (_schedules = new InputList()); + set => _schedules = value; + } + + [Input("sku")] + public Input? Sku { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// Timezone of the scaling plan. + /// + [Input("timeZone", required: true)] + public Input TimeZone { get; set; } = null!; + + public ScalingPlanArgs() + { + HostPoolType = "Pooled"; + } + public static new ScalingPlanArgs Empty => new ScalingPlanArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/ScalingPlanPersonalSchedule.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/ScalingPlanPersonalSchedule.cs new file mode 100644 index 000000000000..0e25ee2837e8 --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/ScalingPlanPersonalSchedule.cs @@ -0,0 +1,430 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + /// + /// Represents a ScalingPlanPersonalSchedule definition. + /// + [AzureNativeResourceType("azure-native:desktopvirtualization/v20230707preview:ScalingPlanPersonalSchedule")] + public partial class ScalingPlanPersonalSchedule : global::Pulumi.CustomResource + { + /// + /// Set of days of the week on which this schedule is active. + /// + [Output("daysOfWeek")] + public Output> DaysOfWeek { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Action to be taken after a user disconnect during the off-peak period. + /// + [Output("offPeakActionOnDisconnect")] + public Output OffPeakActionOnDisconnect { get; private set; } = null!; + + /// + /// Action to be taken after a logoff during the off-peak period. + /// + [Output("offPeakActionOnLogoff")] + public Output OffPeakActionOnLogoff { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + /// + [Output("offPeakMinutesToWaitOnDisconnect")] + public Output OffPeakMinutesToWaitOnDisconnect { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + /// + [Output("offPeakMinutesToWaitOnLogoff")] + public Output OffPeakMinutesToWaitOnLogoff { get; private set; } = null!; + + /// + /// Starting time for off-peak period. + /// + [Output("offPeakStartTime")] + public Output OffPeakStartTime { get; private set; } = null!; + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + /// + [Output("offPeakStartVMOnConnect")] + public Output OffPeakStartVMOnConnect { get; private set; } = null!; + + /// + /// Action to be taken after a user disconnect during the peak period. + /// + [Output("peakActionOnDisconnect")] + public Output PeakActionOnDisconnect { get; private set; } = null!; + + /// + /// Action to be taken after a logoff during the peak period. + /// + [Output("peakActionOnLogoff")] + public Output PeakActionOnLogoff { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + /// + [Output("peakMinutesToWaitOnDisconnect")] + public Output PeakMinutesToWaitOnDisconnect { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + /// + [Output("peakMinutesToWaitOnLogoff")] + public Output PeakMinutesToWaitOnLogoff { get; private set; } = null!; + + /// + /// Starting time for peak period. + /// + [Output("peakStartTime")] + public Output PeakStartTime { get; private set; } = null!; + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the peak phase. + /// + [Output("peakStartVMOnConnect")] + public Output PeakStartVMOnConnect { get; private set; } = null!; + + /// + /// Action to be taken after a user disconnect during the ramp down period. + /// + [Output("rampDownActionOnDisconnect")] + public Output RampDownActionOnDisconnect { get; private set; } = null!; + + /// + /// Action to be taken after a logoff during the ramp down period. + /// + [Output("rampDownActionOnLogoff")] + public Output RampDownActionOnLogoff { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + /// + [Output("rampDownMinutesToWaitOnDisconnect")] + public Output RampDownMinutesToWaitOnDisconnect { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + /// + [Output("rampDownMinutesToWaitOnLogoff")] + public Output RampDownMinutesToWaitOnLogoff { get; private set; } = null!; + + /// + /// Starting time for ramp down period. + /// + [Output("rampDownStartTime")] + public Output RampDownStartTime { get; private set; } = null!; + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + /// + [Output("rampDownStartVMOnConnect")] + public Output RampDownStartVMOnConnect { get; private set; } = null!; + + /// + /// Action to be taken after a user disconnect during the ramp up period. + /// + [Output("rampUpActionOnDisconnect")] + public Output RampUpActionOnDisconnect { get; private set; } = null!; + + /// + /// Action to be taken after a logoff during the ramp up period. + /// + [Output("rampUpActionOnLogoff")] + public Output RampUpActionOnLogoff { get; private set; } = null!; + + /// + /// The desired startup behavior during the ramp up period for personal vms in the hostpool. + /// + [Output("rampUpAutoStartHosts")] + public Output RampUpAutoStartHosts { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + /// + [Output("rampUpMinutesToWaitOnDisconnect")] + public Output RampUpMinutesToWaitOnDisconnect { get; private set; } = null!; + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + /// + [Output("rampUpMinutesToWaitOnLogoff")] + public Output RampUpMinutesToWaitOnLogoff { get; private set; } = null!; + + /// + /// Starting time for ramp up period. + /// + [Output("rampUpStartTime")] + public Output RampUpStartTime { get; private set; } = null!; + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + /// + [Output("rampUpStartVMOnConnect")] + public Output RampUpStartVMOnConnect { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a ScalingPlanPersonalSchedule resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ScalingPlanPersonalSchedule(string name, ScalingPlanPersonalScheduleArgs args, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:ScalingPlanPersonalSchedule", name, args ?? new ScalingPlanPersonalScheduleArgs(), MakeResourceOptions(options, "")) + { + } + + private ScalingPlanPersonalSchedule(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:ScalingPlanPersonalSchedule", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization:ScalingPlanPersonalSchedule"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ScalingPlanPersonalSchedule resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static ScalingPlanPersonalSchedule Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ScalingPlanPersonalSchedule(name, id, options); + } + } + + public sealed class ScalingPlanPersonalScheduleArgs : global::Pulumi.ResourceArgs + { + [Input("daysOfWeek")] + private InputList>? _daysOfWeek; + + /// + /// Set of days of the week on which this schedule is active. + /// + public InputList> DaysOfWeek + { + get => _daysOfWeek ?? (_daysOfWeek = new InputList>()); + set => _daysOfWeek = value; + } + + /// + /// Action to be taken after a user disconnect during the off-peak period. + /// + [Input("offPeakActionOnDisconnect")] + public InputUnion? OffPeakActionOnDisconnect { get; set; } + + /// + /// Action to be taken after a logoff during the off-peak period. + /// + [Input("offPeakActionOnLogoff")] + public InputUnion? OffPeakActionOnLogoff { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + /// + [Input("offPeakMinutesToWaitOnDisconnect")] + public Input? OffPeakMinutesToWaitOnDisconnect { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + /// + [Input("offPeakMinutesToWaitOnLogoff")] + public Input? OffPeakMinutesToWaitOnLogoff { get; set; } + + /// + /// Starting time for off-peak period. + /// + [Input("offPeakStartTime")] + public Input? OffPeakStartTime { get; set; } + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + /// + [Input("offPeakStartVMOnConnect")] + public InputUnion? OffPeakStartVMOnConnect { get; set; } + + /// + /// Action to be taken after a user disconnect during the peak period. + /// + [Input("peakActionOnDisconnect")] + public InputUnion? PeakActionOnDisconnect { get; set; } + + /// + /// Action to be taken after a logoff during the peak period. + /// + [Input("peakActionOnLogoff")] + public InputUnion? PeakActionOnLogoff { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + /// + [Input("peakMinutesToWaitOnDisconnect")] + public Input? PeakMinutesToWaitOnDisconnect { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + /// + [Input("peakMinutesToWaitOnLogoff")] + public Input? PeakMinutesToWaitOnLogoff { get; set; } + + /// + /// Starting time for peak period. + /// + [Input("peakStartTime")] + public Input? PeakStartTime { get; set; } + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the peak phase. + /// + [Input("peakStartVMOnConnect")] + public InputUnion? PeakStartVMOnConnect { get; set; } + + /// + /// Action to be taken after a user disconnect during the ramp down period. + /// + [Input("rampDownActionOnDisconnect")] + public InputUnion? RampDownActionOnDisconnect { get; set; } + + /// + /// Action to be taken after a logoff during the ramp down period. + /// + [Input("rampDownActionOnLogoff")] + public InputUnion? RampDownActionOnLogoff { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + /// + [Input("rampDownMinutesToWaitOnDisconnect")] + public Input? RampDownMinutesToWaitOnDisconnect { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + /// + [Input("rampDownMinutesToWaitOnLogoff")] + public Input? RampDownMinutesToWaitOnLogoff { get; set; } + + /// + /// Starting time for ramp down period. + /// + [Input("rampDownStartTime")] + public Input? RampDownStartTime { get; set; } + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + /// + [Input("rampDownStartVMOnConnect")] + public InputUnion? RampDownStartVMOnConnect { get; set; } + + /// + /// Action to be taken after a user disconnect during the ramp up period. + /// + [Input("rampUpActionOnDisconnect")] + public InputUnion? RampUpActionOnDisconnect { get; set; } + + /// + /// Action to be taken after a logoff during the ramp up period. + /// + [Input("rampUpActionOnLogoff")] + public InputUnion? RampUpActionOnLogoff { get; set; } + + /// + /// The desired startup behavior during the ramp up period for personal vms in the hostpool. + /// + [Input("rampUpAutoStartHosts")] + public InputUnion? RampUpAutoStartHosts { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + /// + [Input("rampUpMinutesToWaitOnDisconnect")] + public Input? RampUpMinutesToWaitOnDisconnect { get; set; } + + /// + /// The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + /// + [Input("rampUpMinutesToWaitOnLogoff")] + public Input? RampUpMinutesToWaitOnLogoff { get; set; } + + /// + /// Starting time for ramp up period. + /// + [Input("rampUpStartTime")] + public Input? RampUpStartTime { get; set; } + + /// + /// The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + /// + [Input("rampUpStartVMOnConnect")] + public InputUnion? RampUpStartVMOnConnect { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the scaling plan. + /// + [Input("scalingPlanName", required: true)] + public Input ScalingPlanName { get; set; } = null!; + + /// + /// The name of the ScalingPlanSchedule + /// + [Input("scalingPlanScheduleName")] + public Input? ScalingPlanScheduleName { get; set; } + + public ScalingPlanPersonalScheduleArgs() + { + OffPeakStartVMOnConnect = "Enable"; + PeakStartVMOnConnect = "Enable"; + RampDownStartVMOnConnect = "Enable"; + RampUpStartVMOnConnect = "Enable"; + } + public static new ScalingPlanPersonalScheduleArgs Empty => new ScalingPlanPersonalScheduleArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/ScalingPlanPooledSchedule.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/ScalingPlanPooledSchedule.cs new file mode 100644 index 000000000000..d7c81e0f14db --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/ScalingPlanPooledSchedule.cs @@ -0,0 +1,321 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + /// + /// Represents a ScalingPlanPooledSchedule definition. + /// + [AzureNativeResourceType("azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule")] + public partial class ScalingPlanPooledSchedule : global::Pulumi.CustomResource + { + /// + /// Set of days of the week on which this schedule is active. + /// + [Output("daysOfWeek")] + public Output> DaysOfWeek { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Load balancing algorithm for off-peak period. + /// + [Output("offPeakLoadBalancingAlgorithm")] + public Output OffPeakLoadBalancingAlgorithm { get; private set; } = null!; + + /// + /// Starting time for off-peak period. + /// + [Output("offPeakStartTime")] + public Output OffPeakStartTime { get; private set; } = null!; + + /// + /// Load balancing algorithm for peak period. + /// + [Output("peakLoadBalancingAlgorithm")] + public Output PeakLoadBalancingAlgorithm { get; private set; } = null!; + + /// + /// Starting time for peak period. + /// + [Output("peakStartTime")] + public Output PeakStartTime { get; private set; } = null!; + + /// + /// Capacity threshold for ramp down period. + /// + [Output("rampDownCapacityThresholdPct")] + public Output RampDownCapacityThresholdPct { get; private set; } = null!; + + /// + /// Should users be logged off forcefully from hosts. + /// + [Output("rampDownForceLogoffUsers")] + public Output RampDownForceLogoffUsers { get; private set; } = null!; + + /// + /// Load balancing algorithm for ramp down period. + /// + [Output("rampDownLoadBalancingAlgorithm")] + public Output RampDownLoadBalancingAlgorithm { get; private set; } = null!; + + /// + /// Minimum host percentage for ramp down period. + /// + [Output("rampDownMinimumHostsPct")] + public Output RampDownMinimumHostsPct { get; private set; } = null!; + + /// + /// Notification message for users during ramp down period. + /// + [Output("rampDownNotificationMessage")] + public Output RampDownNotificationMessage { get; private set; } = null!; + + /// + /// Starting time for ramp down period. + /// + [Output("rampDownStartTime")] + public Output RampDownStartTime { get; private set; } = null!; + + /// + /// Specifies when to stop hosts during ramp down period. + /// + [Output("rampDownStopHostsWhen")] + public Output RampDownStopHostsWhen { get; private set; } = null!; + + /// + /// Number of minutes to wait to stop hosts during ramp down period. + /// + [Output("rampDownWaitTimeMinutes")] + public Output RampDownWaitTimeMinutes { get; private set; } = null!; + + /// + /// Capacity threshold for ramp up period. + /// + [Output("rampUpCapacityThresholdPct")] + public Output RampUpCapacityThresholdPct { get; private set; } = null!; + + /// + /// Load balancing algorithm for ramp up period. + /// + [Output("rampUpLoadBalancingAlgorithm")] + public Output RampUpLoadBalancingAlgorithm { get; private set; } = null!; + + /// + /// Minimum host percentage for ramp up period. + /// + [Output("rampUpMinimumHostsPct")] + public Output RampUpMinimumHostsPct { get; private set; } = null!; + + /// + /// Starting time for ramp up period. + /// + [Output("rampUpStartTime")] + public Output RampUpStartTime { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a ScalingPlanPooledSchedule resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ScalingPlanPooledSchedule(string name, ScalingPlanPooledScheduleArgs args, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule", name, args ?? new ScalingPlanPooledScheduleArgs(), MakeResourceOptions(options, "")) + { + } + + private ScalingPlanPooledSchedule(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization:ScalingPlanPooledSchedule"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ScalingPlanPooledSchedule resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static ScalingPlanPooledSchedule Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ScalingPlanPooledSchedule(name, id, options); + } + } + + public sealed class ScalingPlanPooledScheduleArgs : global::Pulumi.ResourceArgs + { + [Input("daysOfWeek")] + private InputList>? _daysOfWeek; + + /// + /// Set of days of the week on which this schedule is active. + /// + public InputList> DaysOfWeek + { + get => _daysOfWeek ?? (_daysOfWeek = new InputList>()); + set => _daysOfWeek = value; + } + + /// + /// Load balancing algorithm for off-peak period. + /// + [Input("offPeakLoadBalancingAlgorithm")] + public InputUnion? OffPeakLoadBalancingAlgorithm { get; set; } + + /// + /// Starting time for off-peak period. + /// + [Input("offPeakStartTime")] + public Input? OffPeakStartTime { get; set; } + + /// + /// Load balancing algorithm for peak period. + /// + [Input("peakLoadBalancingAlgorithm")] + public InputUnion? PeakLoadBalancingAlgorithm { get; set; } + + /// + /// Starting time for peak period. + /// + [Input("peakStartTime")] + public Input? PeakStartTime { get; set; } + + /// + /// Capacity threshold for ramp down period. + /// + [Input("rampDownCapacityThresholdPct")] + public Input? RampDownCapacityThresholdPct { get; set; } + + /// + /// Should users be logged off forcefully from hosts. + /// + [Input("rampDownForceLogoffUsers")] + public Input? RampDownForceLogoffUsers { get; set; } + + /// + /// Load balancing algorithm for ramp down period. + /// + [Input("rampDownLoadBalancingAlgorithm")] + public InputUnion? RampDownLoadBalancingAlgorithm { get; set; } + + /// + /// Minimum host percentage for ramp down period. + /// + [Input("rampDownMinimumHostsPct")] + public Input? RampDownMinimumHostsPct { get; set; } + + /// + /// Notification message for users during ramp down period. + /// + [Input("rampDownNotificationMessage")] + public Input? RampDownNotificationMessage { get; set; } + + /// + /// Starting time for ramp down period. + /// + [Input("rampDownStartTime")] + public Input? RampDownStartTime { get; set; } + + /// + /// Specifies when to stop hosts during ramp down period. + /// + [Input("rampDownStopHostsWhen")] + public InputUnion? RampDownStopHostsWhen { get; set; } + + /// + /// Number of minutes to wait to stop hosts during ramp down period. + /// + [Input("rampDownWaitTimeMinutes")] + public Input? RampDownWaitTimeMinutes { get; set; } + + /// + /// Capacity threshold for ramp up period. + /// + [Input("rampUpCapacityThresholdPct")] + public Input? RampUpCapacityThresholdPct { get; set; } + + /// + /// Load balancing algorithm for ramp up period. + /// + [Input("rampUpLoadBalancingAlgorithm")] + public InputUnion? RampUpLoadBalancingAlgorithm { get; set; } + + /// + /// Minimum host percentage for ramp up period. + /// + [Input("rampUpMinimumHostsPct")] + public Input? RampUpMinimumHostsPct { get; set; } + + /// + /// Starting time for ramp up period. + /// + [Input("rampUpStartTime")] + public Input? RampUpStartTime { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the scaling plan. + /// + [Input("scalingPlanName", required: true)] + public Input ScalingPlanName { get; set; } = null!; + + /// + /// The name of the ScalingPlanSchedule + /// + [Input("scalingPlanScheduleName")] + public Input? ScalingPlanScheduleName { get; set; } + + public ScalingPlanPooledScheduleArgs() + { + } + public static new ScalingPlanPooledScheduleArgs Empty => new ScalingPlanPooledScheduleArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/V20230707Preview/Workspace.cs b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Workspace.cs new file mode 100644 index 000000000000..e352ddef13fb --- /dev/null +++ b/sdk/dotnet/DesktopVirtualization/V20230707Preview/Workspace.cs @@ -0,0 +1,269 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.DesktopVirtualization.V20230707Preview +{ + /// + /// Represents a Workspace definition. + /// + [AzureNativeResourceType("azure-native:desktopvirtualization/v20230707preview:Workspace")] + public partial class Workspace : global::Pulumi.CustomResource + { + /// + /// List of applicationGroup resource Ids. + /// + [Output("applicationGroupReferences")] + public Output> ApplicationGroupReferences { get; private set; } = null!; + + /// + /// Is cloud pc resource. + /// + [Output("cloudPcResource")] + public Output CloudPcResource { get; private set; } = null!; + + /// + /// Description of Workspace. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + /// + [Output("etag")] + public Output Etag { get; private set; } = null!; + + /// + /// Friendly name of Workspace. + /// + [Output("friendlyName")] + public Output FriendlyName { get; private set; } = null!; + + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + /// + [Output("kind")] + public Output Kind { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + /// + [Output("managedBy")] + public Output ManagedBy { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// ObjectId of Workspace. (internal use) + /// + [Output("objectId")] + public Output ObjectId { get; private set; } = null!; + + [Output("plan")] + public Output Plan { get; private set; } = null!; + + /// + /// List of private endpoint connection associated with the specified resource + /// + [Output("privateEndpointConnections")] + public Output> PrivateEndpointConnections { get; private set; } = null!; + + /// + /// Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + /// + [Output("publicNetworkAccess")] + public Output PublicNetworkAccess { get; private set; } = null!; + + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Workspace resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Workspace(string name, WorkspaceArgs args, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:Workspace", name, args ?? new WorkspaceArgs(), MakeResourceOptions(options, "")) + { + } + + private Workspace(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:desktopvirtualization/v20230707preview:Workspace", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20190123preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20190924preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20191210preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20200921preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201019preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201102preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20201110preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210114preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210201preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210309preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210401preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210712:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20210903preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220210preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:Workspace"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Workspace resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Workspace Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Workspace(name, id, options); + } + } + + public sealed class WorkspaceArgs : global::Pulumi.ResourceArgs + { + [Input("applicationGroupReferences")] + private InputList? _applicationGroupReferences; + + /// + /// List of applicationGroup resource Ids. + /// + public InputList ApplicationGroupReferences + { + get => _applicationGroupReferences ?? (_applicationGroupReferences = new InputList()); + set => _applicationGroupReferences = value; + } + + /// + /// Description of Workspace. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Friendly name of Workspace. + /// + [Input("friendlyName")] + public Input? FriendlyName { get; set; } + + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + /// + [Input("kind")] + public Input? Kind { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + /// + [Input("managedBy")] + public Input? ManagedBy { get; set; } + + [Input("plan")] + public Input? Plan { get; set; } + + /// + /// Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + /// + [Input("publicNetworkAccess")] + public InputUnion? PublicNetworkAccess { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("sku")] + public Input? Sku { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// The name of the workspace + /// + [Input("workspaceName")] + public Input? WorkspaceName { get; set; } + + public WorkspaceArgs() + { + } + public static new WorkspaceArgs Empty => new WorkspaceArgs(); + } +} diff --git a/sdk/dotnet/DesktopVirtualization/Workspace.cs b/sdk/dotnet/DesktopVirtualization/Workspace.cs index b59e1734b78e..060d4838e08b 100644 --- a/sdk/dotnet/DesktopVirtualization/Workspace.cs +++ b/sdk/dotnet/DesktopVirtualization/Workspace.cs @@ -145,6 +145,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220401preview:Workspace"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20220909:Workspace"}, new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20221014preview:Workspace"}, + new global::Pulumi.Alias { Type = "azure-native:desktopvirtualization/v20230707preview:Workspace"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HDInsight/ClusterPool.cs b/sdk/dotnet/HDInsight/ClusterPool.cs new file mode 100644 index 000000000000..38f982aabadb --- /dev/null +++ b/sdk/dotnet/HDInsight/ClusterPool.cs @@ -0,0 +1,223 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight +{ + /// + /// Cluster pool. + /// Azure REST API version: 2023-06-01-preview. + /// + [AzureNativeResourceType("azure-native:hdinsight:ClusterPool")] + public partial class ClusterPool : global::Pulumi.CustomResource + { + /// + /// Properties of underlying AKS cluster. + /// + [Output("aksClusterProfile")] + public Output AksClusterProfile { get; private set; } = null!; + + /// + /// A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region} + /// + [Output("aksManagedResourceGroupName")] + public Output AksManagedResourceGroupName { get; private set; } = null!; + + /// + /// CLuster pool profile. + /// + [Output("clusterPoolProfile")] + public Output ClusterPoolProfile { get; private set; } = null!; + + /// + /// CLuster pool compute profile. + /// + [Output("computeProfile")] + public Output ComputeProfile { get; private set; } = null!; + + /// + /// A unique id generated by the RP to identify the resource. + /// + [Output("deploymentId")] + public Output DeploymentId { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Cluster pool log analytics profile to enable OMS agent for AKS cluster. + /// + [Output("logAnalyticsProfile")] + public Output LogAnalyticsProfile { get; private set; } = null!; + + /// + /// A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + /// + [Output("managedResourceGroupName")] + public Output ManagedResourceGroupName { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Cluster pool network profile. + /// + [Output("networkProfile")] + public Output NetworkProfile { get; private set; } = null!; + + /// + /// Provisioning state of the resource. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Business status of the resource. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a ClusterPool resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ClusterPool(string name, ClusterPoolArgs args, CustomResourceOptions? options = null) + : base("azure-native:hdinsight:ClusterPool", name, args ?? new ClusterPoolArgs(), MakeResourceOptions(options, "")) + { + } + + private ClusterPool(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:hdinsight:ClusterPool", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:hdinsight/v20230601preview:ClusterPool"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ClusterPool resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static ClusterPool Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ClusterPool(name, id, options); + } + } + + public sealed class ClusterPoolArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the cluster pool. + /// + [Input("clusterPoolName")] + public Input? ClusterPoolName { get; set; } + + /// + /// CLuster pool profile. + /// + [Input("clusterPoolProfile")] + public Input? ClusterPoolProfile { get; set; } + + /// + /// CLuster pool compute profile. + /// + [Input("computeProfile", required: true)] + public Input ComputeProfile { get; set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Cluster pool log analytics profile to enable OMS agent for AKS cluster. + /// + [Input("logAnalyticsProfile")] + public Input? LogAnalyticsProfile { get; set; } + + /// + /// A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + /// + [Input("managedResourceGroupName")] + public Input? ManagedResourceGroupName { get; set; } + + /// + /// Cluster pool network profile. + /// + [Input("networkProfile")] + public Input? NetworkProfile { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public ClusterPoolArgs() + { + } + public static new ClusterPoolArgs Empty => new ClusterPoolArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/GetClusterPool.cs b/sdk/dotnet/HDInsight/GetClusterPool.cs new file mode 100644 index 000000000000..7996e4692d75 --- /dev/null +++ b/sdk/dotnet/HDInsight/GetClusterPool.cs @@ -0,0 +1,191 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight +{ + public static class GetClusterPool + { + /// + /// Gets a cluster pool. + /// Azure REST API version: 2023-06-01-preview. + /// + public static Task InvokeAsync(GetClusterPoolArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:hdinsight:getClusterPool", args ?? new GetClusterPoolArgs(), options.WithDefaults()); + + /// + /// Gets a cluster pool. + /// Azure REST API version: 2023-06-01-preview. + /// + public static Output Invoke(GetClusterPoolInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:hdinsight:getClusterPool", args ?? new GetClusterPoolInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetClusterPoolArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the cluster pool. + /// + [Input("clusterPoolName", required: true)] + public string ClusterPoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetClusterPoolArgs() + { + } + public static new GetClusterPoolArgs Empty => new GetClusterPoolArgs(); + } + + public sealed class GetClusterPoolInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the cluster pool. + /// + [Input("clusterPoolName", required: true)] + public Input ClusterPoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetClusterPoolInvokeArgs() + { + } + public static new GetClusterPoolInvokeArgs Empty => new GetClusterPoolInvokeArgs(); + } + + + [OutputType] + public sealed class GetClusterPoolResult + { + /// + /// Properties of underlying AKS cluster. + /// + public readonly Outputs.ClusterPoolResourcePropertiesResponseAksClusterProfile AksClusterProfile; + /// + /// A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region} + /// + public readonly string AksManagedResourceGroupName; + /// + /// CLuster pool profile. + /// + public readonly Outputs.ClusterPoolResourcePropertiesResponseClusterPoolProfile? ClusterPoolProfile; + /// + /// CLuster pool compute profile. + /// + public readonly Outputs.ClusterPoolResourcePropertiesResponseComputeProfile ComputeProfile; + /// + /// A unique id generated by the RP to identify the resource. + /// + public readonly string DeploymentId; + /// + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + /// + public readonly string Id; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// Cluster pool log analytics profile to enable OMS agent for AKS cluster. + /// + public readonly Outputs.ClusterPoolResourcePropertiesResponseLogAnalyticsProfile? LogAnalyticsProfile; + /// + /// A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + /// + public readonly string? ManagedResourceGroupName; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// Cluster pool network profile. + /// + public readonly Outputs.ClusterPoolResourcePropertiesResponseNetworkProfile? NetworkProfile; + /// + /// Provisioning state of the resource. + /// + public readonly string ProvisioningState; + /// + /// Business status of the resource. + /// + public readonly string Status; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetClusterPoolResult( + Outputs.ClusterPoolResourcePropertiesResponseAksClusterProfile aksClusterProfile, + + string aksManagedResourceGroupName, + + Outputs.ClusterPoolResourcePropertiesResponseClusterPoolProfile? clusterPoolProfile, + + Outputs.ClusterPoolResourcePropertiesResponseComputeProfile computeProfile, + + string deploymentId, + + string id, + + string location, + + Outputs.ClusterPoolResourcePropertiesResponseLogAnalyticsProfile? logAnalyticsProfile, + + string? managedResourceGroupName, + + string name, + + Outputs.ClusterPoolResourcePropertiesResponseNetworkProfile? networkProfile, + + string provisioningState, + + string status, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type) + { + AksClusterProfile = aksClusterProfile; + AksManagedResourceGroupName = aksManagedResourceGroupName; + ClusterPoolProfile = clusterPoolProfile; + ComputeProfile = computeProfile; + DeploymentId = deploymentId; + Id = id; + Location = location; + LogAnalyticsProfile = logAnalyticsProfile; + ManagedResourceGroupName = managedResourceGroupName; + Name = name; + NetworkProfile = networkProfile; + ProvisioningState = provisioningState; + Status = status; + SystemData = systemData; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/HDInsight/Inputs/ClusterPoolResourcePropertiesClusterPoolProfileArgs.cs b/sdk/dotnet/HDInsight/Inputs/ClusterPoolResourcePropertiesClusterPoolProfileArgs.cs new file mode 100644 index 000000000000..7c5f54f6d660 --- /dev/null +++ b/sdk/dotnet/HDInsight/Inputs/ClusterPoolResourcePropertiesClusterPoolProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.Inputs +{ + + /// + /// CLuster pool profile. + /// + public sealed class ClusterPoolResourcePropertiesClusterPoolProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Cluster pool version is a 2-part version. + /// + [Input("clusterPoolVersion", required: true)] + public Input ClusterPoolVersion { get; set; } = null!; + + public ClusterPoolResourcePropertiesClusterPoolProfileArgs() + { + } + public static new ClusterPoolResourcePropertiesClusterPoolProfileArgs Empty => new ClusterPoolResourcePropertiesClusterPoolProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/Inputs/ClusterPoolResourcePropertiesComputeProfileArgs.cs b/sdk/dotnet/HDInsight/Inputs/ClusterPoolResourcePropertiesComputeProfileArgs.cs new file mode 100644 index 000000000000..8920d8f50cca --- /dev/null +++ b/sdk/dotnet/HDInsight/Inputs/ClusterPoolResourcePropertiesComputeProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.Inputs +{ + + /// + /// CLuster pool compute profile. + /// + public sealed class ClusterPoolResourcePropertiesComputeProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// The virtual machine SKU. + /// + [Input("vmSize", required: true)] + public Input VmSize { get; set; } = null!; + + public ClusterPoolResourcePropertiesComputeProfileArgs() + { + } + public static new ClusterPoolResourcePropertiesComputeProfileArgs Empty => new ClusterPoolResourcePropertiesComputeProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/Inputs/ClusterPoolResourcePropertiesLogAnalyticsProfileArgs.cs b/sdk/dotnet/HDInsight/Inputs/ClusterPoolResourcePropertiesLogAnalyticsProfileArgs.cs new file mode 100644 index 000000000000..5f6798a34cdf --- /dev/null +++ b/sdk/dotnet/HDInsight/Inputs/ClusterPoolResourcePropertiesLogAnalyticsProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.Inputs +{ + + /// + /// Cluster pool log analytics profile to enable OMS agent for AKS cluster. + /// + public sealed class ClusterPoolResourcePropertiesLogAnalyticsProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// True if log analytics is enabled for cluster pool, otherwise false. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// Log analytics workspace to associate with the OMS agent. + /// + [Input("workspaceId")] + public Input? WorkspaceId { get; set; } + + public ClusterPoolResourcePropertiesLogAnalyticsProfileArgs() + { + } + public static new ClusterPoolResourcePropertiesLogAnalyticsProfileArgs Empty => new ClusterPoolResourcePropertiesLogAnalyticsProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/Inputs/ClusterPoolResourcePropertiesNetworkProfileArgs.cs b/sdk/dotnet/HDInsight/Inputs/ClusterPoolResourcePropertiesNetworkProfileArgs.cs new file mode 100644 index 000000000000..f1d2dd85e7f8 --- /dev/null +++ b/sdk/dotnet/HDInsight/Inputs/ClusterPoolResourcePropertiesNetworkProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.Inputs +{ + + /// + /// Cluster pool network profile. + /// + public sealed class ClusterPoolResourcePropertiesNetworkProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Cluster pool subnet resource id. + /// + [Input("subnetId", required: true)] + public Input SubnetId { get; set; } = null!; + + public ClusterPoolResourcePropertiesNetworkProfileArgs() + { + } + public static new ClusterPoolResourcePropertiesNetworkProfileArgs Empty => new ClusterPoolResourcePropertiesNetworkProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/Outputs/AksClusterProfileResponseAksClusterAgentPoolIdentityProfile.cs b/sdk/dotnet/HDInsight/Outputs/AksClusterProfileResponseAksClusterAgentPoolIdentityProfile.cs new file mode 100644 index 000000000000..d4ab40271702 --- /dev/null +++ b/sdk/dotnet/HDInsight/Outputs/AksClusterProfileResponseAksClusterAgentPoolIdentityProfile.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.Outputs +{ + + /// + /// Identity properties of the AKS cluster agentpool MSI + /// + [OutputType] + public sealed class AksClusterProfileResponseAksClusterAgentPoolIdentityProfile + { + /// + /// ClientId of the MSI. + /// + public readonly string MsiClientId; + /// + /// ObjectId of the MSI. + /// + public readonly string MsiObjectId; + /// + /// ResourceId of the MSI. + /// + public readonly string MsiResourceId; + + [OutputConstructor] + private AksClusterProfileResponseAksClusterAgentPoolIdentityProfile( + string msiClientId, + + string msiObjectId, + + string msiResourceId) + { + MsiClientId = msiClientId; + MsiObjectId = msiObjectId; + MsiResourceId = msiResourceId; + } + } +} diff --git a/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseAksClusterProfile.cs b/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseAksClusterProfile.cs new file mode 100644 index 000000000000..dd11ee225eb5 --- /dev/null +++ b/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseAksClusterProfile.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.Outputs +{ + + /// + /// Properties of underlying AKS cluster. + /// + [OutputType] + public sealed class ClusterPoolResourcePropertiesResponseAksClusterProfile + { + /// + /// Identity properties of the AKS cluster agentpool MSI + /// + public readonly Outputs.AksClusterProfileResponseAksClusterAgentPoolIdentityProfile? AksClusterAgentPoolIdentityProfile; + /// + /// ARM Resource ID of the AKS cluster + /// + public readonly string? AksClusterResourceId; + /// + /// AKS control plane and default node pool version of this ClusterPool + /// + public readonly string AksVersion; + + [OutputConstructor] + private ClusterPoolResourcePropertiesResponseAksClusterProfile( + Outputs.AksClusterProfileResponseAksClusterAgentPoolIdentityProfile? aksClusterAgentPoolIdentityProfile, + + string? aksClusterResourceId, + + string aksVersion) + { + AksClusterAgentPoolIdentityProfile = aksClusterAgentPoolIdentityProfile; + AksClusterResourceId = aksClusterResourceId; + AksVersion = aksVersion; + } + } +} diff --git a/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseClusterPoolProfile.cs b/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseClusterPoolProfile.cs new file mode 100644 index 000000000000..27ec44ed76c4 --- /dev/null +++ b/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseClusterPoolProfile.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.Outputs +{ + + /// + /// CLuster pool profile. + /// + [OutputType] + public sealed class ClusterPoolResourcePropertiesResponseClusterPoolProfile + { + /// + /// Cluster pool version is a 2-part version. + /// + public readonly string ClusterPoolVersion; + + [OutputConstructor] + private ClusterPoolResourcePropertiesResponseClusterPoolProfile(string clusterPoolVersion) + { + ClusterPoolVersion = clusterPoolVersion; + } + } +} diff --git a/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseComputeProfile.cs b/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseComputeProfile.cs new file mode 100644 index 000000000000..1ef3af6e2880 --- /dev/null +++ b/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseComputeProfile.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.Outputs +{ + + /// + /// CLuster pool compute profile. + /// + [OutputType] + public sealed class ClusterPoolResourcePropertiesResponseComputeProfile + { + /// + /// The number of virtual machines. + /// + public readonly int Count; + /// + /// The virtual machine SKU. + /// + public readonly string VmSize; + + [OutputConstructor] + private ClusterPoolResourcePropertiesResponseComputeProfile( + int count, + + string vmSize) + { + Count = count; + VmSize = vmSize; + } + } +} diff --git a/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseLogAnalyticsProfile.cs b/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseLogAnalyticsProfile.cs new file mode 100644 index 000000000000..3fd99cbc84ce --- /dev/null +++ b/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseLogAnalyticsProfile.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.Outputs +{ + + /// + /// Cluster pool log analytics profile to enable OMS agent for AKS cluster. + /// + [OutputType] + public sealed class ClusterPoolResourcePropertiesResponseLogAnalyticsProfile + { + /// + /// True if log analytics is enabled for cluster pool, otherwise false. + /// + public readonly bool Enabled; + /// + /// Log analytics workspace to associate with the OMS agent. + /// + public readonly string? WorkspaceId; + + [OutputConstructor] + private ClusterPoolResourcePropertiesResponseLogAnalyticsProfile( + bool enabled, + + string? workspaceId) + { + Enabled = enabled; + WorkspaceId = workspaceId; + } + } +} diff --git a/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseNetworkProfile.cs b/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseNetworkProfile.cs new file mode 100644 index 000000000000..8e231426cdd9 --- /dev/null +++ b/sdk/dotnet/HDInsight/Outputs/ClusterPoolResourcePropertiesResponseNetworkProfile.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.Outputs +{ + + /// + /// Cluster pool network profile. + /// + [OutputType] + public sealed class ClusterPoolResourcePropertiesResponseNetworkProfile + { + /// + /// Cluster pool subnet resource id. + /// + public readonly string SubnetId; + + [OutputConstructor] + private ClusterPoolResourcePropertiesResponseNetworkProfile(string subnetId) + { + SubnetId = subnetId; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Cluster.cs b/sdk/dotnet/HDInsight/V20230601Preview/Cluster.cs new file mode 100644 index 000000000000..7aaf60d7320f --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Cluster.cs @@ -0,0 +1,188 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview +{ + /// + /// The cluster. + /// + [AzureNativeResourceType("azure-native:hdinsight/v20230601preview:Cluster")] + public partial class Cluster : global::Pulumi.CustomResource + { + /// + /// Cluster profile. + /// + [Output("clusterProfile")] + public Output ClusterProfile { get; private set; } = null!; + + /// + /// The type of cluster. + /// + [Output("clusterType")] + public Output ClusterType { get; private set; } = null!; + + /// + /// The compute profile. + /// + [Output("computeProfile")] + public Output ComputeProfile { get; private set; } = null!; + + /// + /// A unique id generated by the RP to identify the resource. + /// + [Output("deploymentId")] + public Output DeploymentId { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Provisioning state of the resource. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Business status of the resource. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Cluster resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Cluster(string name, ClusterArgs args, CustomResourceOptions? options = null) + : base("azure-native:hdinsight/v20230601preview:Cluster", name, args ?? new ClusterArgs(), MakeResourceOptions(options, "")) + { + } + + private Cluster(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:hdinsight/v20230601preview:Cluster", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Cluster resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Cluster Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Cluster(name, id, options); + } + } + + public sealed class ClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the HDInsight cluster. + /// + [Input("clusterName")] + public Input? ClusterName { get; set; } + + /// + /// The name of the cluster pool. + /// + [Input("clusterPoolName", required: true)] + public Input ClusterPoolName { get; set; } = null!; + + /// + /// Cluster profile. + /// + [Input("clusterProfile", required: true)] + public Input ClusterProfile { get; set; } = null!; + + /// + /// The type of cluster. + /// + [Input("clusterType", required: true)] + public Input ClusterType { get; set; } = null!; + + /// + /// The compute profile. + /// + [Input("computeProfile", required: true)] + public Input ComputeProfile { get; set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public ClusterArgs() + { + } + public static new ClusterArgs Empty => new ClusterArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/ClusterPool.cs b/sdk/dotnet/HDInsight/V20230601Preview/ClusterPool.cs new file mode 100644 index 000000000000..c6c7ef63a931 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/ClusterPool.cs @@ -0,0 +1,222 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview +{ + /// + /// Cluster pool. + /// + [AzureNativeResourceType("azure-native:hdinsight/v20230601preview:ClusterPool")] + public partial class ClusterPool : global::Pulumi.CustomResource + { + /// + /// Properties of underlying AKS cluster. + /// + [Output("aksClusterProfile")] + public Output AksClusterProfile { get; private set; } = null!; + + /// + /// A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region} + /// + [Output("aksManagedResourceGroupName")] + public Output AksManagedResourceGroupName { get; private set; } = null!; + + /// + /// CLuster pool profile. + /// + [Output("clusterPoolProfile")] + public Output ClusterPoolProfile { get; private set; } = null!; + + /// + /// CLuster pool compute profile. + /// + [Output("computeProfile")] + public Output ComputeProfile { get; private set; } = null!; + + /// + /// A unique id generated by the RP to identify the resource. + /// + [Output("deploymentId")] + public Output DeploymentId { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Cluster pool log analytics profile to enable OMS agent for AKS cluster. + /// + [Output("logAnalyticsProfile")] + public Output LogAnalyticsProfile { get; private set; } = null!; + + /// + /// A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + /// + [Output("managedResourceGroupName")] + public Output ManagedResourceGroupName { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Cluster pool network profile. + /// + [Output("networkProfile")] + public Output NetworkProfile { get; private set; } = null!; + + /// + /// Provisioning state of the resource. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Business status of the resource. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a ClusterPool resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ClusterPool(string name, ClusterPoolArgs args, CustomResourceOptions? options = null) + : base("azure-native:hdinsight/v20230601preview:ClusterPool", name, args ?? new ClusterPoolArgs(), MakeResourceOptions(options, "")) + { + } + + private ClusterPool(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:hdinsight/v20230601preview:ClusterPool", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:hdinsight:ClusterPool"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ClusterPool resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static ClusterPool Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ClusterPool(name, id, options); + } + } + + public sealed class ClusterPoolArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the cluster pool. + /// + [Input("clusterPoolName")] + public Input? ClusterPoolName { get; set; } + + /// + /// CLuster pool profile. + /// + [Input("clusterPoolProfile")] + public Input? ClusterPoolProfile { get; set; } + + /// + /// CLuster pool compute profile. + /// + [Input("computeProfile", required: true)] + public Input ComputeProfile { get; set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Cluster pool log analytics profile to enable OMS agent for AKS cluster. + /// + [Input("logAnalyticsProfile")] + public Input? LogAnalyticsProfile { get; set; } + + /// + /// A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + /// + [Input("managedResourceGroupName")] + public Input? ManagedResourceGroupName { get; set; } + + /// + /// Cluster pool network profile. + /// + [Input("networkProfile")] + public Input? NetworkProfile { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public ClusterPoolArgs() + { + } + public static new ClusterPoolArgs Empty => new ClusterPoolArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Enums.cs b/sdk/dotnet/HDInsight/V20230601Preview/Enums.cs new file mode 100644 index 000000000000..491930ded9c5 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Enums.cs @@ -0,0 +1,200 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview +{ + /// + /// User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based. + /// + [EnumType] + public readonly struct AutoscaleType : IEquatable + { + private readonly string _value; + + private AutoscaleType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static AutoscaleType ScheduleBased { get; } = new AutoscaleType("ScheduleBased"); + public static AutoscaleType LoadBased { get; } = new AutoscaleType("LoadBased"); + + public static bool operator ==(AutoscaleType left, AutoscaleType right) => left.Equals(right); + public static bool operator !=(AutoscaleType left, AutoscaleType right) => !left.Equals(right); + + public static explicit operator string(AutoscaleType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AutoscaleType other && Equals(other); + public bool Equals(AutoscaleType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The comparison operator. + /// + [EnumType] + public readonly struct ComparisonOperator : IEquatable + { + private readonly string _value; + + private ComparisonOperator(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ComparisonOperator GreaterThan { get; } = new ComparisonOperator("greaterThan"); + public static ComparisonOperator GreaterThanOrEqual { get; } = new ComparisonOperator("greaterThanOrEqual"); + public static ComparisonOperator LessThan { get; } = new ComparisonOperator("lessThan"); + public static ComparisonOperator LessThanOrEqual { get; } = new ComparisonOperator("lessThanOrEqual"); + + public static bool operator ==(ComparisonOperator left, ComparisonOperator right) => left.Equals(right); + public static bool operator !=(ComparisonOperator left, ComparisonOperator right) => !left.Equals(right); + + public static explicit operator string(ComparisonOperator value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ComparisonOperator other && Equals(other); + public bool Equals(ComparisonOperator other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content is base64 encoded. Set it to none or skip it if the content is plain text. + /// + [EnumType] + public readonly struct ContentEncoding : IEquatable + { + private readonly string _value; + + private ContentEncoding(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ContentEncoding Base64 { get; } = new ContentEncoding("Base64"); + public static ContentEncoding None { get; } = new ContentEncoding("None"); + + public static bool operator ==(ContentEncoding left, ContentEncoding right) => left.Equals(right); + public static bool operator !=(ContentEncoding left, ContentEncoding right) => !left.Equals(right); + + public static explicit operator string(ContentEncoding value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ContentEncoding other && Equals(other); + public bool Equals(ContentEncoding other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of key vault object: secret, key or certificate. + /// + [EnumType] + public readonly struct KeyVaultObjectType : IEquatable + { + private readonly string _value; + + private KeyVaultObjectType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static KeyVaultObjectType Key { get; } = new KeyVaultObjectType("Key"); + public static KeyVaultObjectType Secret { get; } = new KeyVaultObjectType("Secret"); + public static KeyVaultObjectType Certificate { get; } = new KeyVaultObjectType("Certificate"); + + public static bool operator ==(KeyVaultObjectType left, KeyVaultObjectType right) => left.Equals(right); + public static bool operator !=(KeyVaultObjectType left, KeyVaultObjectType right) => !left.Equals(right); + + public static explicit operator string(KeyVaultObjectType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is KeyVaultObjectType other && Equals(other); + public bool Equals(KeyVaultObjectType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The action type. + /// + [EnumType] + public readonly struct ScaleActionType : IEquatable + { + private readonly string _value; + + private ScaleActionType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ScaleActionType Scaleup { get; } = new ScaleActionType("scaleup"); + public static ScaleActionType Scaledown { get; } = new ScaleActionType("scaledown"); + + public static bool operator ==(ScaleActionType left, ScaleActionType right) => left.Equals(right); + public static bool operator !=(ScaleActionType left, ScaleActionType right) => !left.Equals(right); + + public static explicit operator string(ScaleActionType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ScaleActionType other && Equals(other); + public bool Equals(ScaleActionType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct ScheduleDay : IEquatable + { + private readonly string _value; + + private ScheduleDay(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ScheduleDay Sunday { get; } = new ScheduleDay("Sunday"); + public static ScheduleDay Monday { get; } = new ScheduleDay("Monday"); + public static ScheduleDay Tuesday { get; } = new ScheduleDay("Tuesday"); + public static ScheduleDay Wednesday { get; } = new ScheduleDay("Wednesday"); + public static ScheduleDay Thursday { get; } = new ScheduleDay("Thursday"); + public static ScheduleDay Friday { get; } = new ScheduleDay("Friday"); + public static ScheduleDay Saturday { get; } = new ScheduleDay("Saturday"); + + public static bool operator ==(ScheduleDay left, ScheduleDay right) => left.Equals(right); + public static bool operator !=(ScheduleDay left, ScheduleDay right) => !left.Equals(right); + + public static explicit operator string(ScheduleDay value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ScheduleDay other && Equals(other); + public bool Equals(ScheduleDay other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/GetCluster.cs b/sdk/dotnet/HDInsight/V20230601Preview/GetCluster.cs new file mode 100644 index 000000000000..0f2e7d7ca852 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/GetCluster.cs @@ -0,0 +1,173 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview +{ + public static class GetCluster + { + /// + /// Gets a HDInsight cluster. + /// + public static Task InvokeAsync(GetClusterArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:hdinsight/v20230601preview:getCluster", args ?? new GetClusterArgs(), options.WithDefaults()); + + /// + /// Gets a HDInsight cluster. + /// + public static Output Invoke(GetClusterInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:hdinsight/v20230601preview:getCluster", args ?? new GetClusterInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetClusterArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the HDInsight cluster. + /// + [Input("clusterName", required: true)] + public string ClusterName { get; set; } = null!; + + /// + /// The name of the cluster pool. + /// + [Input("clusterPoolName", required: true)] + public string ClusterPoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetClusterArgs() + { + } + public static new GetClusterArgs Empty => new GetClusterArgs(); + } + + public sealed class GetClusterInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the HDInsight cluster. + /// + [Input("clusterName", required: true)] + public Input ClusterName { get; set; } = null!; + + /// + /// The name of the cluster pool. + /// + [Input("clusterPoolName", required: true)] + public Input ClusterPoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetClusterInvokeArgs() + { + } + public static new GetClusterInvokeArgs Empty => new GetClusterInvokeArgs(); + } + + + [OutputType] + public sealed class GetClusterResult + { + /// + /// Cluster profile. + /// + public readonly Outputs.ClusterProfileResponse ClusterProfile; + /// + /// The type of cluster. + /// + public readonly string ClusterType; + /// + /// The compute profile. + /// + public readonly Outputs.ComputeProfileResponse ComputeProfile; + /// + /// A unique id generated by the RP to identify the resource. + /// + public readonly string DeploymentId; + /// + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + /// + public readonly string Id; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// Provisioning state of the resource. + /// + public readonly string ProvisioningState; + /// + /// Business status of the resource. + /// + public readonly string Status; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetClusterResult( + Outputs.ClusterProfileResponse clusterProfile, + + string clusterType, + + Outputs.ComputeProfileResponse computeProfile, + + string deploymentId, + + string id, + + string location, + + string name, + + string provisioningState, + + string status, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type) + { + ClusterProfile = clusterProfile; + ClusterType = clusterType; + ComputeProfile = computeProfile; + DeploymentId = deploymentId; + Id = id; + Location = location; + Name = name; + ProvisioningState = provisioningState; + Status = status; + SystemData = systemData; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/GetClusterPool.cs b/sdk/dotnet/HDInsight/V20230601Preview/GetClusterPool.cs new file mode 100644 index 000000000000..d70777a57fe5 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/GetClusterPool.cs @@ -0,0 +1,189 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview +{ + public static class GetClusterPool + { + /// + /// Gets a cluster pool. + /// + public static Task InvokeAsync(GetClusterPoolArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:hdinsight/v20230601preview:getClusterPool", args ?? new GetClusterPoolArgs(), options.WithDefaults()); + + /// + /// Gets a cluster pool. + /// + public static Output Invoke(GetClusterPoolInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:hdinsight/v20230601preview:getClusterPool", args ?? new GetClusterPoolInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetClusterPoolArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the cluster pool. + /// + [Input("clusterPoolName", required: true)] + public string ClusterPoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetClusterPoolArgs() + { + } + public static new GetClusterPoolArgs Empty => new GetClusterPoolArgs(); + } + + public sealed class GetClusterPoolInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the cluster pool. + /// + [Input("clusterPoolName", required: true)] + public Input ClusterPoolName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetClusterPoolInvokeArgs() + { + } + public static new GetClusterPoolInvokeArgs Empty => new GetClusterPoolInvokeArgs(); + } + + + [OutputType] + public sealed class GetClusterPoolResult + { + /// + /// Properties of underlying AKS cluster. + /// + public readonly Outputs.ClusterPoolResourcePropertiesResponseAksClusterProfile AksClusterProfile; + /// + /// A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region} + /// + public readonly string AksManagedResourceGroupName; + /// + /// CLuster pool profile. + /// + public readonly Outputs.ClusterPoolResourcePropertiesResponseClusterPoolProfile? ClusterPoolProfile; + /// + /// CLuster pool compute profile. + /// + public readonly Outputs.ClusterPoolResourcePropertiesResponseComputeProfile ComputeProfile; + /// + /// A unique id generated by the RP to identify the resource. + /// + public readonly string DeploymentId; + /// + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + /// + public readonly string Id; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// Cluster pool log analytics profile to enable OMS agent for AKS cluster. + /// + public readonly Outputs.ClusterPoolResourcePropertiesResponseLogAnalyticsProfile? LogAnalyticsProfile; + /// + /// A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + /// + public readonly string? ManagedResourceGroupName; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// Cluster pool network profile. + /// + public readonly Outputs.ClusterPoolResourcePropertiesResponseNetworkProfile? NetworkProfile; + /// + /// Provisioning state of the resource. + /// + public readonly string ProvisioningState; + /// + /// Business status of the resource. + /// + public readonly string Status; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetClusterPoolResult( + Outputs.ClusterPoolResourcePropertiesResponseAksClusterProfile aksClusterProfile, + + string aksManagedResourceGroupName, + + Outputs.ClusterPoolResourcePropertiesResponseClusterPoolProfile? clusterPoolProfile, + + Outputs.ClusterPoolResourcePropertiesResponseComputeProfile computeProfile, + + string deploymentId, + + string id, + + string location, + + Outputs.ClusterPoolResourcePropertiesResponseLogAnalyticsProfile? logAnalyticsProfile, + + string? managedResourceGroupName, + + string name, + + Outputs.ClusterPoolResourcePropertiesResponseNetworkProfile? networkProfile, + + string provisioningState, + + string status, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type) + { + AksClusterProfile = aksClusterProfile; + AksManagedResourceGroupName = aksManagedResourceGroupName; + ClusterPoolProfile = clusterPoolProfile; + ComputeProfile = computeProfile; + DeploymentId = deploymentId; + Id = id; + Location = location; + LogAnalyticsProfile = logAnalyticsProfile; + ManagedResourceGroupName = managedResourceGroupName; + Name = name; + NetworkProfile = networkProfile; + ProvisioningState = provisioningState; + Status = status; + SystemData = systemData; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/AuthorizationProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/AuthorizationProfileArgs.cs new file mode 100644 index 000000000000..530355debfbf --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/AuthorizationProfileArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + /// + public sealed class AuthorizationProfileArgs : global::Pulumi.ResourceArgs + { + [Input("groupIds")] + private InputList? _groupIds; + + /// + /// AAD group Ids authorized for data plane access. + /// + public InputList GroupIds + { + get => _groupIds ?? (_groupIds = new InputList()); + set => _groupIds = value; + } + + [Input("userIds")] + private InputList? _userIds; + + /// + /// AAD user Ids authorized for data plane access. + /// + public InputList UserIds + { + get => _userIds ?? (_userIds = new InputList()); + set => _userIds = value; + } + + public AuthorizationProfileArgs() + { + } + public static new AuthorizationProfileArgs Empty => new AuthorizationProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/AutoscaleProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/AutoscaleProfileArgs.cs new file mode 100644 index 000000000000..d140cdcc4291 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/AutoscaleProfileArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + /// + public sealed class AutoscaleProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based. + /// + [Input("autoscaleType")] + public InputUnion? AutoscaleType { get; set; } + + /// + /// This indicates whether auto scale is enabled on HDInsight on AKS cluster. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// This property is for graceful decommission timeout; It has a default setting of 3600 seconds before forced shutdown takes place. This is the maximal time to wait for running containers and applications to complete before transition a DECOMMISSIONING node into DECOMMISSIONED. The default value is 3600 seconds. Negative value (like -1) is handled as infinite timeout. + /// + [Input("gracefulDecommissionTimeout")] + public Input? GracefulDecommissionTimeout { get; set; } + + /// + /// Profiles of load based Autoscale. + /// + [Input("loadBasedConfig")] + public Input? LoadBasedConfig { get; set; } + + /// + /// Profiles of schedule based Autoscale. + /// + [Input("scheduleBasedConfig")] + public Input? ScheduleBasedConfig { get; set; } + + public AutoscaleProfileArgs() + { + } + public static new AutoscaleProfileArgs Empty => new AutoscaleProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/CatalogOptionsArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/CatalogOptionsArgs.cs new file mode 100644 index 000000000000..5dc5706047ae --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/CatalogOptionsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Trino cluster catalog options. + /// + public sealed class CatalogOptionsArgs : global::Pulumi.ResourceArgs + { + [Input("hive")] + private InputList? _hive; + + /// + /// hive catalog options. + /// + public InputList Hive + { + get => _hive ?? (_hive = new InputList()); + set => _hive = value; + } + + public CatalogOptionsArgs() + { + } + public static new CatalogOptionsArgs Empty => new CatalogOptionsArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterConfigFileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterConfigFileArgs.cs new file mode 100644 index 000000000000..d84f7eca6f67 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterConfigFileArgs.cs @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Cluster configuration files. + /// + public sealed class ClusterConfigFileArgs : global::Pulumi.ResourceArgs + { + /// + /// Free form content of the entire configuration file. + /// + [Input("content")] + public Input? Content { get; set; } + + /// + /// This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content is base64 encoded. Set it to none or skip it if the content is plain text. + /// + [Input("encoding")] + public InputUnion? Encoding { get; set; } + + /// + /// Configuration file name. + /// + [Input("fileName", required: true)] + public Input FileName { get; set; } = null!; + + /// + /// Path of the config file if content is specified. + /// + [Input("path")] + public Input? Path { get; set; } + + [Input("values")] + private InputMap? _values; + + /// + /// List of key value pairs + /// where key represents a valid service configuration name and value represents the value of the config. + /// + public InputMap Values + { + get => _values ?? (_values = new InputMap()); + set => _values = value; + } + + public ClusterConfigFileArgs() + { + } + public static new ClusterConfigFileArgs Empty => new ClusterConfigFileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterLogAnalyticsApplicationLogsArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterLogAnalyticsApplicationLogsArgs.cs new file mode 100644 index 000000000000..5a502bbdf8e5 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterLogAnalyticsApplicationLogsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Collection of logs to be enabled or disabled for log analytics. + /// + public sealed class ClusterLogAnalyticsApplicationLogsArgs : global::Pulumi.ResourceArgs + { + /// + /// True if stderror is enabled, otherwise false. + /// + [Input("stdErrorEnabled")] + public Input? StdErrorEnabled { get; set; } + + /// + /// True if stdout is enabled, otherwise false. + /// + [Input("stdOutEnabled")] + public Input? StdOutEnabled { get; set; } + + public ClusterLogAnalyticsApplicationLogsArgs() + { + } + public static new ClusterLogAnalyticsApplicationLogsArgs Empty => new ClusterLogAnalyticsApplicationLogsArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterLogAnalyticsProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterLogAnalyticsProfileArgs.cs new file mode 100644 index 000000000000..a4b933450f6a --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterLogAnalyticsProfileArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Cluster log analytics profile to enable or disable OMS agent for cluster. + /// + public sealed class ClusterLogAnalyticsProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Collection of logs to be enabled or disabled for log analytics. + /// + [Input("applicationLogs")] + public Input? ApplicationLogs { get; set; } + + /// + /// True if log analytics is enabled for the cluster, otherwise false. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// True if metrics are enabled, otherwise false. + /// + [Input("metricsEnabled")] + public Input? MetricsEnabled { get; set; } + + public ClusterLogAnalyticsProfileArgs() + { + } + public static new ClusterLogAnalyticsProfileArgs Empty => new ClusterLogAnalyticsProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPoolResourcePropertiesClusterPoolProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPoolResourcePropertiesClusterPoolProfileArgs.cs new file mode 100644 index 000000000000..b673ed8d7b74 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPoolResourcePropertiesClusterPoolProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// CLuster pool profile. + /// + public sealed class ClusterPoolResourcePropertiesClusterPoolProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Cluster pool version is a 2-part version. + /// + [Input("clusterPoolVersion", required: true)] + public Input ClusterPoolVersion { get; set; } = null!; + + public ClusterPoolResourcePropertiesClusterPoolProfileArgs() + { + } + public static new ClusterPoolResourcePropertiesClusterPoolProfileArgs Empty => new ClusterPoolResourcePropertiesClusterPoolProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPoolResourcePropertiesComputeProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPoolResourcePropertiesComputeProfileArgs.cs new file mode 100644 index 000000000000..79c68a672ec9 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPoolResourcePropertiesComputeProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// CLuster pool compute profile. + /// + public sealed class ClusterPoolResourcePropertiesComputeProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// The virtual machine SKU. + /// + [Input("vmSize", required: true)] + public Input VmSize { get; set; } = null!; + + public ClusterPoolResourcePropertiesComputeProfileArgs() + { + } + public static new ClusterPoolResourcePropertiesComputeProfileArgs Empty => new ClusterPoolResourcePropertiesComputeProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPoolResourcePropertiesLogAnalyticsProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPoolResourcePropertiesLogAnalyticsProfileArgs.cs new file mode 100644 index 000000000000..b038d673e943 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPoolResourcePropertiesLogAnalyticsProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Cluster pool log analytics profile to enable OMS agent for AKS cluster. + /// + public sealed class ClusterPoolResourcePropertiesLogAnalyticsProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// True if log analytics is enabled for cluster pool, otherwise false. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// Log analytics workspace to associate with the OMS agent. + /// + [Input("workspaceId")] + public Input? WorkspaceId { get; set; } + + public ClusterPoolResourcePropertiesLogAnalyticsProfileArgs() + { + } + public static new ClusterPoolResourcePropertiesLogAnalyticsProfileArgs Empty => new ClusterPoolResourcePropertiesLogAnalyticsProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPoolResourcePropertiesNetworkProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPoolResourcePropertiesNetworkProfileArgs.cs new file mode 100644 index 000000000000..9807c9153b4a --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPoolResourcePropertiesNetworkProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Cluster pool network profile. + /// + public sealed class ClusterPoolResourcePropertiesNetworkProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Cluster pool subnet resource id. + /// + [Input("subnetId", required: true)] + public Input SubnetId { get; set; } = null!; + + public ClusterPoolResourcePropertiesNetworkProfileArgs() + { + } + public static new ClusterPoolResourcePropertiesNetworkProfileArgs Empty => new ClusterPoolResourcePropertiesNetworkProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterProfileArgs.cs new file mode 100644 index 000000000000..599a06c99a53 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterProfileArgs.cs @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Cluster profile. + /// + public sealed class ClusterProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + /// + [Input("authorizationProfile", required: true)] + public Input AuthorizationProfile { get; set; } = null!; + + /// + /// This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + /// + [Input("autoscaleProfile")] + public Input? AutoscaleProfile { get; set; } + + /// + /// Version with 3/4 part. + /// + [Input("clusterVersion", required: true)] + public Input ClusterVersion { get; set; } = null!; + + /// + /// The Flink cluster profile. + /// + [Input("flinkProfile")] + public Input? FlinkProfile { get; set; } + + /// + /// Identity Profile with details of an MSI. + /// + [Input("identityProfile", required: true)] + public Input IdentityProfile { get; set; } = null!; + + /// + /// Kafka cluster profile. + /// + [Input("kafkaProfile")] + public Input? KafkaProfile { get; set; } + + /// + /// LLAP cluster profile. + /// + [Input("llapProfile")] + public Input? LlapProfile { get; set; } + + /// + /// Cluster log analytics profile to enable or disable OMS agent for cluster. + /// + [Input("logAnalyticsProfile")] + public Input? LogAnalyticsProfile { get; set; } + + /// + /// Version with three part. + /// + [Input("ossVersion", required: true)] + public Input OssVersion { get; set; } = null!; + + /// + /// Cluster Prometheus profile. + /// + [Input("prometheusProfile")] + public Input? PrometheusProfile { get; set; } + + [Input("scriptActionProfiles")] + private InputList? _scriptActionProfiles; + + /// + /// The script action profile list. + /// + public InputList ScriptActionProfiles + { + get => _scriptActionProfiles ?? (_scriptActionProfiles = new InputList()); + set => _scriptActionProfiles = value; + } + + /// + /// The cluster secret profile. + /// + [Input("secretsProfile")] + public Input? SecretsProfile { get; set; } + + [Input("serviceConfigsProfiles")] + private InputList? _serviceConfigsProfiles; + + /// + /// The service configs profiles. + /// + public InputList ServiceConfigsProfiles + { + get => _serviceConfigsProfiles ?? (_serviceConfigsProfiles = new InputList()); + set => _serviceConfigsProfiles = value; + } + + /// + /// The spark cluster profile. + /// + [Input("sparkProfile")] + public Input? SparkProfile { get; set; } + + /// + /// Ssh profile for the cluster. + /// + [Input("sshProfile")] + public Input? SshProfile { get; set; } + + /// + /// Stub cluster profile. + /// + [Input("stubProfile")] + public Input? StubProfile { get; set; } + + /// + /// Trino Cluster profile. + /// + [Input("trinoProfile")] + public Input? TrinoProfile { get; set; } + + public ClusterProfileArgs() + { + } + public static new ClusterProfileArgs Empty => new ClusterProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPrometheusProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPrometheusProfileArgs.cs new file mode 100644 index 000000000000..ccacd6873878 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterPrometheusProfileArgs.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Cluster Prometheus profile. + /// + public sealed class ClusterPrometheusProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Enable Prometheus for cluster or not. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + public ClusterPrometheusProfileArgs() + { + Enabled = false; + } + public static new ClusterPrometheusProfileArgs Empty => new ClusterPrometheusProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterServiceConfigArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterServiceConfigArgs.cs new file mode 100644 index 000000000000..a4e7b4303895 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterServiceConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Cluster configs per component. + /// + public sealed class ClusterServiceConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the component the config files should apply to. + /// + [Input("component", required: true)] + public Input Component { get; set; } = null!; + + [Input("files", required: true)] + private InputList? _files; + + /// + /// List of Config Files. + /// + public InputList Files + { + get => _files ?? (_files = new InputList()); + set => _files = value; + } + + public ClusterServiceConfigArgs() + { + } + public static new ClusterServiceConfigArgs Empty => new ClusterServiceConfigArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterServiceConfigsProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterServiceConfigsProfileArgs.cs new file mode 100644 index 000000000000..ec514a999e17 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ClusterServiceConfigsProfileArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Cluster service configs. + /// + public sealed class ClusterServiceConfigsProfileArgs : global::Pulumi.ResourceArgs + { + [Input("configs", required: true)] + private InputList? _configs; + + /// + /// List of service configs. + /// + public InputList Configs + { + get => _configs ?? (_configs = new InputList()); + set => _configs = value; + } + + /// + /// Name of the service the configurations should apply to. + /// + [Input("serviceName", required: true)] + public Input ServiceName { get; set; } = null!; + + public ClusterServiceConfigsProfileArgs() + { + } + public static new ClusterServiceConfigsProfileArgs Empty => new ClusterServiceConfigsProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ComparisonRuleArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ComparisonRuleArgs.cs new file mode 100644 index 000000000000..e92ce5f4a8f1 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ComparisonRuleArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// The comparison rule. + /// + public sealed class ComparisonRuleArgs : global::Pulumi.ResourceArgs + { + /// + /// The comparison operator. + /// + [Input("operator", required: true)] + public InputUnion Operator { get; set; } = null!; + + /// + /// Threshold setting. + /// + [Input("threshold", required: true)] + public Input Threshold { get; set; } = null!; + + public ComparisonRuleArgs() + { + } + public static new ComparisonRuleArgs Empty => new ComparisonRuleArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ComputeProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ComputeProfileArgs.cs new file mode 100644 index 000000000000..17acd2aeb613 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ComputeProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// The compute profile. + /// + public sealed class ComputeProfileArgs : global::Pulumi.ResourceArgs + { + [Input("nodes", required: true)] + private InputList? _nodes; + + /// + /// The nodes definitions. + /// + public InputList Nodes + { + get => _nodes ?? (_nodes = new InputList()); + set => _nodes = value; + } + + public ComputeProfileArgs() + { + } + public static new ComputeProfileArgs Empty => new ComputeProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ComputeResourceDefinitionArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ComputeResourceDefinitionArgs.cs new file mode 100644 index 000000000000..48843286b21d --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ComputeResourceDefinitionArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// The cpu and memory requirement definition. + /// + public sealed class ComputeResourceDefinitionArgs : global::Pulumi.ResourceArgs + { + /// + /// The required CPU. + /// + [Input("cpu", required: true)] + public Input Cpu { get; set; } = null!; + + /// + /// The required memory in MB, Container memory will be 110 percentile + /// + [Input("memory", required: true)] + public Input Memory { get; set; } = null!; + + public ComputeResourceDefinitionArgs() + { + } + public static new ComputeResourceDefinitionArgs Empty => new ComputeResourceDefinitionArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/FlinkCatalogOptionsArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/FlinkCatalogOptionsArgs.cs new file mode 100644 index 000000000000..2f148c696454 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/FlinkCatalogOptionsArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Flink cluster catalog options. + /// + public sealed class FlinkCatalogOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Hive Catalog Option for Flink cluster. + /// + [Input("hive")] + public Input? Hive { get; set; } + + public FlinkCatalogOptionsArgs() + { + } + public static new FlinkCatalogOptionsArgs Empty => new FlinkCatalogOptionsArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/FlinkHiveCatalogOptionArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/FlinkHiveCatalogOptionArgs.cs new file mode 100644 index 000000000000..2288d6685cfd --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/FlinkHiveCatalogOptionArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Hive Catalog Option for Flink cluster. + /// + public sealed class FlinkHiveCatalogOptionArgs : global::Pulumi.ResourceArgs + { + /// + /// Secret reference name from secretsProfile.secrets containing password for database connection. + /// + [Input("metastoreDbConnectionPasswordSecret", required: true)] + public Input MetastoreDbConnectionPasswordSecret { get; set; } = null!; + + /// + /// Connection string for hive metastore database. + /// + [Input("metastoreDbConnectionURL", required: true)] + public Input MetastoreDbConnectionURL { get; set; } = null!; + + /// + /// User name for database connection. + /// + [Input("metastoreDbConnectionUserName", required: true)] + public Input MetastoreDbConnectionUserName { get; set; } = null!; + + public FlinkHiveCatalogOptionArgs() + { + } + public static new FlinkHiveCatalogOptionArgs Empty => new FlinkHiveCatalogOptionArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/FlinkProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/FlinkProfileArgs.cs new file mode 100644 index 000000000000..ccc17bf2cfe7 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/FlinkProfileArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// The Flink cluster profile. + /// + public sealed class FlinkProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Flink cluster catalog options. + /// + [Input("catalogOptions")] + public Input? CatalogOptions { get; set; } + + /// + /// History Server container/ process CPU and memory requirements + /// + [Input("historyServer")] + public Input? HistoryServer { get; set; } + + /// + /// Job Manager container/ process CPU and memory requirements + /// + [Input("jobManager", required: true)] + public Input JobManager { get; set; } = null!; + + /// + /// The number of task managers. + /// + [Input("numReplicas")] + public Input? NumReplicas { get; set; } + + /// + /// The storage profile + /// + [Input("storage", required: true)] + public Input Storage { get; set; } = null!; + + /// + /// Task Manager container/ process CPU and memory requirements + /// + [Input("taskManager", required: true)] + public Input TaskManager { get; set; } = null!; + + public FlinkProfileArgs() + { + } + public static new FlinkProfileArgs Empty => new FlinkProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/FlinkStorageProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/FlinkStorageProfileArgs.cs new file mode 100644 index 000000000000..e2d7cf641ed5 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/FlinkStorageProfileArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// The storage profile + /// + public sealed class FlinkStorageProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Storage account uri which is used for savepoint and checkpoint state. + /// + [Input("storageUri", required: true)] + public Input StorageUri { get; set; } = null!; + + /// + /// Storage key is only required for wasb(s) storage. + /// + [Input("storagekey")] + public Input? Storagekey { get; set; } + + public FlinkStorageProfileArgs() + { + } + public static new FlinkStorageProfileArgs Empty => new FlinkStorageProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/HiveCatalogOptionArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/HiveCatalogOptionArgs.cs new file mode 100644 index 000000000000..23b47159e1c3 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/HiveCatalogOptionArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Hive Catalog Option + /// + public sealed class HiveCatalogOptionArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of trino catalog which should use specified hive metastore. + /// + [Input("catalogName", required: true)] + public Input CatalogName { get; set; } = null!; + + /// + /// Secret reference name from secretsProfile.secrets containing password for database connection. + /// + [Input("metastoreDbConnectionPasswordSecret", required: true)] + public Input MetastoreDbConnectionPasswordSecret { get; set; } = null!; + + /// + /// Connection string for hive metastore database. + /// + [Input("metastoreDbConnectionURL", required: true)] + public Input MetastoreDbConnectionURL { get; set; } = null!; + + /// + /// User name for database connection. + /// + [Input("metastoreDbConnectionUserName", required: true)] + public Input MetastoreDbConnectionUserName { get; set; } = null!; + + /// + /// Metastore root directory URI, format: abfs[s]://<container>@<account_name>.dfs.core.windows.net/<path>. More details: https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri + /// + [Input("metastoreWarehouseDir", required: true)] + public Input MetastoreWarehouseDir { get; set; } = null!; + + public HiveCatalogOptionArgs() + { + } + public static new HiveCatalogOptionArgs Empty => new HiveCatalogOptionArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/IdentityProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/IdentityProfileArgs.cs new file mode 100644 index 000000000000..c8d38a75b6e3 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/IdentityProfileArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Identity Profile with details of an MSI. + /// + public sealed class IdentityProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// ClientId of the MSI. + /// + [Input("msiClientId", required: true)] + public Input MsiClientId { get; set; } = null!; + + /// + /// ObjectId of the MSI. + /// + [Input("msiObjectId", required: true)] + public Input MsiObjectId { get; set; } = null!; + + /// + /// ResourceId of the MSI. + /// + [Input("msiResourceId", required: true)] + public Input MsiResourceId { get; set; } = null!; + + public IdentityProfileArgs() + { + } + public static new IdentityProfileArgs Empty => new IdentityProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/LoadBasedConfigArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/LoadBasedConfigArgs.cs new file mode 100644 index 000000000000..17d2257fdb10 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/LoadBasedConfigArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Profile of load based Autoscale. + /// + public sealed class LoadBasedConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// This is a cool down period, this is a time period in seconds, which determines the amount of time that must elapse between a scaling activity started by a rule and the start of the next scaling activity, regardless of the rule that triggers it. The default value is 300 seconds. + /// + [Input("cooldownPeriod")] + public Input? CooldownPeriod { get; set; } + + /// + /// User needs to set the maximum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + /// + [Input("maxNodes", required: true)] + public Input MaxNodes { get; set; } = null!; + + /// + /// User needs to set the minimum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + /// + [Input("minNodes", required: true)] + public Input MinNodes { get; set; } = null!; + + /// + /// User can specify the poll interval, this is the time period (in seconds) after which scaling metrics are polled for triggering a scaling operation. + /// + [Input("pollInterval")] + public Input? PollInterval { get; set; } + + [Input("scalingRules", required: true)] + private InputList? _scalingRules; + + /// + /// The scaling rules. + /// + public InputList ScalingRules + { + get => _scalingRules ?? (_scalingRules = new InputList()); + set => _scalingRules = value; + } + + public LoadBasedConfigArgs() + { + } + public static new LoadBasedConfigArgs Empty => new LoadBasedConfigArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/NodeProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/NodeProfileArgs.cs new file mode 100644 index 000000000000..03e009306200 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/NodeProfileArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// The node profile. + /// + public sealed class NodeProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of virtual machines. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// The node type. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// The virtual machine SKU. + /// + [Input("vmSize", required: true)] + public Input VmSize { get; set; } = null!; + + public NodeProfileArgs() + { + } + public static new NodeProfileArgs Empty => new NodeProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ScalingRuleArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ScalingRuleArgs.cs new file mode 100644 index 000000000000..2c7195631153 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ScalingRuleArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// The scaling rule. + /// + public sealed class ScalingRuleArgs : global::Pulumi.ResourceArgs + { + /// + /// The action type. + /// + [Input("actionType", required: true)] + public InputUnion ActionType { get; set; } = null!; + + /// + /// The comparison rule. + /// + [Input("comparisonRule", required: true)] + public Input ComparisonRule { get; set; } = null!; + + /// + /// This is an evaluation count for a scaling condition, the number of times a trigger condition should be successful, before scaling activity is triggered. + /// + [Input("evaluationCount", required: true)] + public Input EvaluationCount { get; set; } = null!; + + /// + /// Metrics name for individual workloads. For example: cpu + /// + [Input("scalingMetric", required: true)] + public Input ScalingMetric { get; set; } = null!; + + public ScalingRuleArgs() + { + } + public static new ScalingRuleArgs Empty => new ScalingRuleArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ScheduleArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ScheduleArgs.cs new file mode 100644 index 000000000000..2ce6f4cb64c7 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ScheduleArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Schedule definition. + /// + public sealed class ScheduleArgs : global::Pulumi.ResourceArgs + { + /// + /// User has to set the node count anticipated at end of the scaling operation of the set current schedule configuration, format is integer. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + [Input("days", required: true)] + private InputList>? _days; + + /// + /// User has to set the days where schedule has to be set for autoscale operation. + /// + public InputList> Days + { + get => _days ?? (_days = new InputList>()); + set => _days = value; + } + + /// + /// User has to set the end time of current schedule configuration, format like 10:30 (HH:MM). + /// + [Input("endTime", required: true)] + public Input EndTime { get; set; } = null!; + + /// + /// User has to set the start time of current schedule configuration, format like 10:30 (HH:MM). + /// + [Input("startTime", required: true)] + public Input StartTime { get; set; } = null!; + + public ScheduleArgs() + { + } + public static new ScheduleArgs Empty => new ScheduleArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ScheduleBasedConfigArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ScheduleBasedConfigArgs.cs new file mode 100644 index 000000000000..23b28dfea059 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ScheduleBasedConfigArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Profile of schedule based Autoscale. + /// + public sealed class ScheduleBasedConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Setting default node count of current schedule configuration. Default node count specifies the number of nodes which are default when an specified scaling operation is executed (scale up/scale down) + /// + [Input("defaultCount", required: true)] + public Input DefaultCount { get; set; } = null!; + + [Input("schedules", required: true)] + private InputList? _schedules; + + /// + /// This specifies the schedules where scheduled based Autoscale to be enabled, the user has a choice to set multiple rules within the schedule across days and times (start/end). + /// + public InputList Schedules + { + get => _schedules ?? (_schedules = new InputList()); + set => _schedules = value; + } + + /// + /// User has to specify the timezone on which the schedule has to be set for schedule based autoscale configuration. + /// + [Input("timeZone", required: true)] + public Input TimeZone { get; set; } = null!; + + public ScheduleBasedConfigArgs() + { + } + public static new ScheduleBasedConfigArgs Empty => new ScheduleBasedConfigArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ScriptActionProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ScriptActionProfileArgs.cs new file mode 100644 index 000000000000..896be48ad8b2 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/ScriptActionProfileArgs.cs @@ -0,0 +1,72 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// The script action profile. + /// + public sealed class ScriptActionProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Script name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Additional parameters for the script action. It should be space-separated list of arguments required for script execution. + /// + [Input("parameters")] + public Input? Parameters { get; set; } + + [Input("services", required: true)] + private InputList? _services; + + /// + /// List of services to apply the script action. + /// + public InputList Services + { + get => _services ?? (_services = new InputList()); + set => _services = value; + } + + /// + /// Specify if the script should persist on the cluster. + /// + [Input("shouldPersist")] + public Input? ShouldPersist { get; set; } + + /// + /// Timeout duration for the script action in minutes. + /// + [Input("timeoutInMinutes")] + public Input? TimeoutInMinutes { get; set; } + + /// + /// Type of the script action. Supported type is bash scripts. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Url of the script file. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public ScriptActionProfileArgs() + { + ShouldPersist = true; + } + public static new ScriptActionProfileArgs Empty => new ScriptActionProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SecretReferenceArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SecretReferenceArgs.cs new file mode 100644 index 000000000000..0dfa0c3d7f2d --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SecretReferenceArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Secret reference and corresponding properties of a key vault secret. + /// + public sealed class SecretReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// Object identifier name of the secret in key vault. + /// + [Input("keyVaultObjectName", required: true)] + public Input KeyVaultObjectName { get; set; } = null!; + + /// + /// Reference name of the secret to be used in service configs. + /// + [Input("referenceName", required: true)] + public Input ReferenceName { get; set; } = null!; + + /// + /// Type of key vault object: secret, key or certificate. + /// + [Input("type", required: true)] + public InputUnion Type { get; set; } = null!; + + /// + /// Version of the secret in key vault. + /// + [Input("version")] + public Input? Version { get; set; } + + public SecretReferenceArgs() + { + } + public static new SecretReferenceArgs Empty => new SecretReferenceArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SecretsProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SecretsProfileArgs.cs new file mode 100644 index 000000000000..c16c05acad29 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SecretsProfileArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// The cluster secret profile. + /// + public sealed class SecretsProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the user Key Vault where all the cluster specific user secrets are stored. + /// + [Input("keyVaultResourceId", required: true)] + public Input KeyVaultResourceId { get; set; } = null!; + + [Input("secrets")] + private InputList? _secrets; + + /// + /// Properties of Key Vault secret. + /// + public InputList Secrets + { + get => _secrets ?? (_secrets = new InputList()); + set => _secrets = value; + } + + public SecretsProfileArgs() + { + } + public static new SecretsProfileArgs Empty => new SecretsProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SparkMetastoreSpecArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SparkMetastoreSpecArgs.cs new file mode 100644 index 000000000000..b67179edc368 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SparkMetastoreSpecArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// The metastore specification for Spark cluster. + /// + public sealed class SparkMetastoreSpecArgs : global::Pulumi.ResourceArgs + { + /// + /// The database name. + /// + [Input("dbName")] + public Input? DbName { get; set; } + + /// + /// The secret name which contains the database user password. + /// + [Input("dbPasswordSecretName", required: true)] + public Input DbPasswordSecretName { get; set; } = null!; + + /// + /// The database server host. + /// + [Input("dbServerHost", required: true)] + public Input DbServerHost { get; set; } = null!; + + /// + /// The database user name. + /// + [Input("dbUserName", required: true)] + public Input DbUserName { get; set; } = null!; + + /// + /// The key vault resource id. + /// + [Input("keyVaultId", required: true)] + public Input KeyVaultId { get; set; } = null!; + + /// + /// The thrift url. + /// + [Input("thriftUrl")] + public Input? ThriftUrl { get; set; } + + public SparkMetastoreSpecArgs() + { + } + public static new SparkMetastoreSpecArgs Empty => new SparkMetastoreSpecArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SparkProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SparkProfileArgs.cs new file mode 100644 index 000000000000..37085fad20e2 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SparkProfileArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// The spark cluster profile. + /// + public sealed class SparkProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// The default storage URL. + /// + [Input("defaultStorageUrl")] + public Input? DefaultStorageUrl { get; set; } + + /// + /// The metastore specification for Spark cluster. + /// + [Input("metastoreSpec")] + public Input? MetastoreSpec { get; set; } + + /// + /// Spark user plugins spec + /// + [Input("userPluginsSpec")] + public Input? UserPluginsSpec { get; set; } + + public SparkProfileArgs() + { + } + public static new SparkProfileArgs Empty => new SparkProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SparkUserPluginArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SparkUserPluginArgs.cs new file mode 100644 index 000000000000..2565aee745a9 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SparkUserPluginArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Spark user plugin. + /// + public sealed class SparkUserPluginArgs : global::Pulumi.ResourceArgs + { + /// + /// Fully qualified path to the folder containing the plugins. + /// + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + public SparkUserPluginArgs() + { + } + public static new SparkUserPluginArgs Empty => new SparkUserPluginArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SparkUserPluginsArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SparkUserPluginsArgs.cs new file mode 100644 index 000000000000..34f43902fd0e --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SparkUserPluginsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Spark user plugins spec + /// + public sealed class SparkUserPluginsArgs : global::Pulumi.ResourceArgs + { + [Input("plugins")] + private InputList? _plugins; + + /// + /// Spark user plugins. + /// + public InputList Plugins + { + get => _plugins ?? (_plugins = new InputList()); + set => _plugins = value; + } + + public SparkUserPluginsArgs() + { + } + public static new SparkUserPluginsArgs Empty => new SparkUserPluginsArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SshProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SshProfileArgs.cs new file mode 100644 index 000000000000..9f26967f4dad --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/SshProfileArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Ssh profile for the cluster. + /// + public sealed class SshProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of ssh pods per cluster. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + public SshProfileArgs() + { + } + public static new SshProfileArgs Empty => new SshProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoCoordinatorArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoCoordinatorArgs.cs new file mode 100644 index 000000000000..cacfa5d1cda5 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoCoordinatorArgs.cs @@ -0,0 +1,51 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Trino Coordinator. + /// + public sealed class TrinoCoordinatorArgs : global::Pulumi.ResourceArgs + { + /// + /// The flag that if enable debug or not. + /// + [Input("enable")] + public Input? Enable { get; set; } + + /// + /// The flag that if enable coordinator HA, uses multiple coordinator replicas with auto failover, one per each head node. Default: true. + /// + [Input("highAvailabilityEnabled")] + public Input? HighAvailabilityEnabled { get; set; } + + /// + /// The debug port. + /// + [Input("port")] + public Input? Port { get; set; } + + /// + /// The flag that if suspend debug or not. + /// + [Input("suspend")] + public Input? Suspend { get; set; } + + public TrinoCoordinatorArgs() + { + Enable = false; + HighAvailabilityEnabled = true; + Port = 8008; + Suspend = false; + } + public static new TrinoCoordinatorArgs Empty => new TrinoCoordinatorArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoProfileArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoProfileArgs.cs new file mode 100644 index 000000000000..f0a94649ed97 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoProfileArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Trino Cluster profile. + /// + public sealed class TrinoProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Trino cluster catalog options. + /// + [Input("catalogOptions")] + public Input? CatalogOptions { get; set; } + + /// + /// Trino Coordinator. + /// + [Input("coordinator")] + public Input? Coordinator { get; set; } + + /// + /// Trino user plugins spec + /// + [Input("userPluginsSpec")] + public Input? UserPluginsSpec { get; set; } + + /// + /// User telemetry + /// + [Input("userTelemetrySpec")] + public Input? UserTelemetrySpec { get; set; } + + /// + /// Trino worker. + /// + [Input("worker")] + public Input? Worker { get; set; } + + public TrinoProfileArgs() + { + } + public static new TrinoProfileArgs Empty => new TrinoProfileArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoTelemetryConfigArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoTelemetryConfigArgs.cs new file mode 100644 index 000000000000..ce63b12f524f --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoTelemetryConfigArgs.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Trino user telemetry definition. + /// + public sealed class TrinoTelemetryConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Hive Catalog name used to mount external tables on the logs written by trino, if not specified there tables are not created. + /// + [Input("hivecatalogName")] + public Input? HivecatalogName { get; set; } + + /// + /// Schema of the above catalog to use, to mount query logs as external tables, if not specified tables will be mounted under schema trinologs. + /// + [Input("hivecatalogSchema")] + public Input? HivecatalogSchema { get; set; } + + /// + /// Retention period for query log table partitions, this doesn't have any affect on actual data. + /// + [Input("partitionRetentionInDays")] + public Input? PartitionRetentionInDays { get; set; } + + /// + /// Azure storage location of the blobs. + /// + [Input("path")] + public Input? Path { get; set; } + + public TrinoTelemetryConfigArgs() + { + HivecatalogSchema = "trinologs"; + PartitionRetentionInDays = 365; + } + public static new TrinoTelemetryConfigArgs Empty => new TrinoTelemetryConfigArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoUserPluginArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoUserPluginArgs.cs new file mode 100644 index 000000000000..b4d64f747b9a --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoUserPluginArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Trino user plugin. + /// + public sealed class TrinoUserPluginArgs : global::Pulumi.ResourceArgs + { + /// + /// Denotes whether the plugin is active or not. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// This field maps to the sub-directory in trino plugins location, that will contain all the plugins under path. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Fully qualified path to the folder containing the plugins. + /// + [Input("path")] + public Input? Path { get; set; } + + public TrinoUserPluginArgs() + { + } + public static new TrinoUserPluginArgs Empty => new TrinoUserPluginArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoUserPluginsArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoUserPluginsArgs.cs new file mode 100644 index 000000000000..4a1eea5f4554 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoUserPluginsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Trino user plugins spec + /// + public sealed class TrinoUserPluginsArgs : global::Pulumi.ResourceArgs + { + [Input("plugins")] + private InputList? _plugins; + + /// + /// Trino user plugins. + /// + public InputList Plugins + { + get => _plugins ?? (_plugins = new InputList()); + set => _plugins = value; + } + + public TrinoUserPluginsArgs() + { + } + public static new TrinoUserPluginsArgs Empty => new TrinoUserPluginsArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoUserTelemetryArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoUserTelemetryArgs.cs new file mode 100644 index 000000000000..b1623647d5f9 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoUserTelemetryArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// User telemetry + /// + public sealed class TrinoUserTelemetryArgs : global::Pulumi.ResourceArgs + { + /// + /// Trino user telemetry definition. + /// + [Input("storage")] + public Input? Storage { get; set; } + + public TrinoUserTelemetryArgs() + { + } + public static new TrinoUserTelemetryArgs Empty => new TrinoUserTelemetryArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoWorkerArgs.cs b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoWorkerArgs.cs new file mode 100644 index 000000000000..45f009195b3d --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Inputs/TrinoWorkerArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Inputs +{ + + /// + /// Trino worker. + /// + public sealed class TrinoWorkerArgs : global::Pulumi.ResourceArgs + { + /// + /// The flag that if enable debug or not. + /// + [Input("enable")] + public Input? Enable { get; set; } + + /// + /// The debug port. + /// + [Input("port")] + public Input? Port { get; set; } + + /// + /// The flag that if suspend debug or not. + /// + [Input("suspend")] + public Input? Suspend { get; set; } + + public TrinoWorkerArgs() + { + Enable = false; + Port = 8008; + Suspend = false; + } + public static new TrinoWorkerArgs Empty => new TrinoWorkerArgs(); + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/AksClusterProfileResponseAksClusterAgentPoolIdentityProfile.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/AksClusterProfileResponseAksClusterAgentPoolIdentityProfile.cs new file mode 100644 index 000000000000..81c2b849f1b7 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/AksClusterProfileResponseAksClusterAgentPoolIdentityProfile.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Identity properties of the AKS cluster agentpool MSI + /// + [OutputType] + public sealed class AksClusterProfileResponseAksClusterAgentPoolIdentityProfile + { + /// + /// ClientId of the MSI. + /// + public readonly string MsiClientId; + /// + /// ObjectId of the MSI. + /// + public readonly string MsiObjectId; + /// + /// ResourceId of the MSI. + /// + public readonly string MsiResourceId; + + [OutputConstructor] + private AksClusterProfileResponseAksClusterAgentPoolIdentityProfile( + string msiClientId, + + string msiObjectId, + + string msiResourceId) + { + MsiClientId = msiClientId; + MsiObjectId = msiObjectId; + MsiResourceId = msiResourceId; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/AuthorizationProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/AuthorizationProfileResponse.cs new file mode 100644 index 000000000000..da39de7a7a3a --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/AuthorizationProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + /// + [OutputType] + public sealed class AuthorizationProfileResponse + { + /// + /// AAD group Ids authorized for data plane access. + /// + public readonly ImmutableArray GroupIds; + /// + /// AAD user Ids authorized for data plane access. + /// + public readonly ImmutableArray UserIds; + + [OutputConstructor] + private AuthorizationProfileResponse( + ImmutableArray groupIds, + + ImmutableArray userIds) + { + GroupIds = groupIds; + UserIds = userIds; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/AutoscaleProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/AutoscaleProfileResponse.cs new file mode 100644 index 000000000000..6c4c92adaa3b --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/AutoscaleProfileResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + /// + [OutputType] + public sealed class AutoscaleProfileResponse + { + /// + /// User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based. + /// + public readonly string? AutoscaleType; + /// + /// This indicates whether auto scale is enabled on HDInsight on AKS cluster. + /// + public readonly bool Enabled; + /// + /// This property is for graceful decommission timeout; It has a default setting of 3600 seconds before forced shutdown takes place. This is the maximal time to wait for running containers and applications to complete before transition a DECOMMISSIONING node into DECOMMISSIONED. The default value is 3600 seconds. Negative value (like -1) is handled as infinite timeout. + /// + public readonly int? GracefulDecommissionTimeout; + /// + /// Profiles of load based Autoscale. + /// + public readonly Outputs.LoadBasedConfigResponse? LoadBasedConfig; + /// + /// Profiles of schedule based Autoscale. + /// + public readonly Outputs.ScheduleBasedConfigResponse? ScheduleBasedConfig; + + [OutputConstructor] + private AutoscaleProfileResponse( + string? autoscaleType, + + bool enabled, + + int? gracefulDecommissionTimeout, + + Outputs.LoadBasedConfigResponse? loadBasedConfig, + + Outputs.ScheduleBasedConfigResponse? scheduleBasedConfig) + { + AutoscaleType = autoscaleType; + Enabled = enabled; + GracefulDecommissionTimeout = gracefulDecommissionTimeout; + LoadBasedConfig = loadBasedConfig; + ScheduleBasedConfig = scheduleBasedConfig; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/CatalogOptionsResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/CatalogOptionsResponse.cs new file mode 100644 index 000000000000..bb54a047588e --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/CatalogOptionsResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Trino cluster catalog options. + /// + [OutputType] + public sealed class CatalogOptionsResponse + { + /// + /// hive catalog options. + /// + public readonly ImmutableArray Hive; + + [OutputConstructor] + private CatalogOptionsResponse(ImmutableArray hive) + { + Hive = hive; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterConfigFileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterConfigFileResponse.cs new file mode 100644 index 000000000000..a440cacf2bc4 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterConfigFileResponse.cs @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Cluster configuration files. + /// + [OutputType] + public sealed class ClusterConfigFileResponse + { + /// + /// Free form content of the entire configuration file. + /// + public readonly string? Content; + /// + /// This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content is base64 encoded. Set it to none or skip it if the content is plain text. + /// + public readonly string? Encoding; + /// + /// Configuration file name. + /// + public readonly string FileName; + /// + /// Path of the config file if content is specified. + /// + public readonly string? Path; + /// + /// List of key value pairs + /// where key represents a valid service configuration name and value represents the value of the config. + /// + public readonly ImmutableDictionary? Values; + + [OutputConstructor] + private ClusterConfigFileResponse( + string? content, + + string? encoding, + + string fileName, + + string? path, + + ImmutableDictionary? values) + { + Content = content; + Encoding = encoding; + FileName = fileName; + Path = path; + Values = values; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterLogAnalyticsApplicationLogsResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterLogAnalyticsApplicationLogsResponse.cs new file mode 100644 index 000000000000..13241bb8f9a1 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterLogAnalyticsApplicationLogsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Collection of logs to be enabled or disabled for log analytics. + /// + [OutputType] + public sealed class ClusterLogAnalyticsApplicationLogsResponse + { + /// + /// True if stderror is enabled, otherwise false. + /// + public readonly bool? StdErrorEnabled; + /// + /// True if stdout is enabled, otherwise false. + /// + public readonly bool? StdOutEnabled; + + [OutputConstructor] + private ClusterLogAnalyticsApplicationLogsResponse( + bool? stdErrorEnabled, + + bool? stdOutEnabled) + { + StdErrorEnabled = stdErrorEnabled; + StdOutEnabled = stdOutEnabled; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterLogAnalyticsProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterLogAnalyticsProfileResponse.cs new file mode 100644 index 000000000000..542540147c70 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterLogAnalyticsProfileResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Cluster log analytics profile to enable or disable OMS agent for cluster. + /// + [OutputType] + public sealed class ClusterLogAnalyticsProfileResponse + { + /// + /// Collection of logs to be enabled or disabled for log analytics. + /// + public readonly Outputs.ClusterLogAnalyticsApplicationLogsResponse? ApplicationLogs; + /// + /// True if log analytics is enabled for the cluster, otherwise false. + /// + public readonly bool Enabled; + /// + /// True if metrics are enabled, otherwise false. + /// + public readonly bool? MetricsEnabled; + + [OutputConstructor] + private ClusterLogAnalyticsProfileResponse( + Outputs.ClusterLogAnalyticsApplicationLogsResponse? applicationLogs, + + bool enabled, + + bool? metricsEnabled) + { + ApplicationLogs = applicationLogs; + Enabled = enabled; + MetricsEnabled = metricsEnabled; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseAksClusterProfile.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseAksClusterProfile.cs new file mode 100644 index 000000000000..7d5cb01b9f40 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseAksClusterProfile.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Properties of underlying AKS cluster. + /// + [OutputType] + public sealed class ClusterPoolResourcePropertiesResponseAksClusterProfile + { + /// + /// Identity properties of the AKS cluster agentpool MSI + /// + public readonly Outputs.AksClusterProfileResponseAksClusterAgentPoolIdentityProfile? AksClusterAgentPoolIdentityProfile; + /// + /// ARM Resource ID of the AKS cluster + /// + public readonly string? AksClusterResourceId; + /// + /// AKS control plane and default node pool version of this ClusterPool + /// + public readonly string AksVersion; + + [OutputConstructor] + private ClusterPoolResourcePropertiesResponseAksClusterProfile( + Outputs.AksClusterProfileResponseAksClusterAgentPoolIdentityProfile? aksClusterAgentPoolIdentityProfile, + + string? aksClusterResourceId, + + string aksVersion) + { + AksClusterAgentPoolIdentityProfile = aksClusterAgentPoolIdentityProfile; + AksClusterResourceId = aksClusterResourceId; + AksVersion = aksVersion; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseClusterPoolProfile.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseClusterPoolProfile.cs new file mode 100644 index 000000000000..f6337cdaab35 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseClusterPoolProfile.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// CLuster pool profile. + /// + [OutputType] + public sealed class ClusterPoolResourcePropertiesResponseClusterPoolProfile + { + /// + /// Cluster pool version is a 2-part version. + /// + public readonly string ClusterPoolVersion; + + [OutputConstructor] + private ClusterPoolResourcePropertiesResponseClusterPoolProfile(string clusterPoolVersion) + { + ClusterPoolVersion = clusterPoolVersion; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseComputeProfile.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseComputeProfile.cs new file mode 100644 index 000000000000..f89ab563a5f2 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseComputeProfile.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// CLuster pool compute profile. + /// + [OutputType] + public sealed class ClusterPoolResourcePropertiesResponseComputeProfile + { + /// + /// The number of virtual machines. + /// + public readonly int Count; + /// + /// The virtual machine SKU. + /// + public readonly string VmSize; + + [OutputConstructor] + private ClusterPoolResourcePropertiesResponseComputeProfile( + int count, + + string vmSize) + { + Count = count; + VmSize = vmSize; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseLogAnalyticsProfile.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseLogAnalyticsProfile.cs new file mode 100644 index 000000000000..c172be5164f1 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseLogAnalyticsProfile.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Cluster pool log analytics profile to enable OMS agent for AKS cluster. + /// + [OutputType] + public sealed class ClusterPoolResourcePropertiesResponseLogAnalyticsProfile + { + /// + /// True if log analytics is enabled for cluster pool, otherwise false. + /// + public readonly bool Enabled; + /// + /// Log analytics workspace to associate with the OMS agent. + /// + public readonly string? WorkspaceId; + + [OutputConstructor] + private ClusterPoolResourcePropertiesResponseLogAnalyticsProfile( + bool enabled, + + string? workspaceId) + { + Enabled = enabled; + WorkspaceId = workspaceId; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseNetworkProfile.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseNetworkProfile.cs new file mode 100644 index 000000000000..851c496598e8 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPoolResourcePropertiesResponseNetworkProfile.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Cluster pool network profile. + /// + [OutputType] + public sealed class ClusterPoolResourcePropertiesResponseNetworkProfile + { + /// + /// Cluster pool subnet resource id. + /// + public readonly string SubnetId; + + [OutputConstructor] + private ClusterPoolResourcePropertiesResponseNetworkProfile(string subnetId) + { + SubnetId = subnetId; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterProfileResponse.cs new file mode 100644 index 000000000000..621f3186db45 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterProfileResponse.cs @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Cluster profile. + /// + [OutputType] + public sealed class ClusterProfileResponse + { + /// + /// Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + /// + public readonly Outputs.AuthorizationProfileResponse AuthorizationProfile; + /// + /// This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + /// + public readonly Outputs.AutoscaleProfileResponse? AutoscaleProfile; + /// + /// Version with 3/4 part. + /// + public readonly string ClusterVersion; + /// + /// Component list of this cluster type and version. + /// + public readonly ImmutableArray Components; + /// + /// Cluster connectivity profile. + /// + public readonly Outputs.ConnectivityProfileResponse ConnectivityProfile; + /// + /// The Flink cluster profile. + /// + public readonly Outputs.FlinkProfileResponse? FlinkProfile; + /// + /// Identity Profile with details of an MSI. + /// + public readonly Outputs.IdentityProfileResponse IdentityProfile; + /// + /// Kafka cluster profile. + /// + public readonly object? KafkaProfile; + /// + /// LLAP cluster profile. + /// + public readonly object? LlapProfile; + /// + /// Cluster log analytics profile to enable or disable OMS agent for cluster. + /// + public readonly Outputs.ClusterLogAnalyticsProfileResponse? LogAnalyticsProfile; + /// + /// Version with three part. + /// + public readonly string OssVersion; + /// + /// Cluster Prometheus profile. + /// + public readonly Outputs.ClusterPrometheusProfileResponse? PrometheusProfile; + /// + /// The script action profile list. + /// + public readonly ImmutableArray ScriptActionProfiles; + /// + /// The cluster secret profile. + /// + public readonly Outputs.SecretsProfileResponse? SecretsProfile; + /// + /// The service configs profiles. + /// + public readonly ImmutableArray ServiceConfigsProfiles; + /// + /// The spark cluster profile. + /// + public readonly Outputs.SparkProfileResponse? SparkProfile; + /// + /// Ssh profile for the cluster. + /// + public readonly Outputs.SshProfileResponse? SshProfile; + /// + /// Stub cluster profile. + /// + public readonly object? StubProfile; + /// + /// Trino Cluster profile. + /// + public readonly Outputs.TrinoProfileResponse? TrinoProfile; + + [OutputConstructor] + private ClusterProfileResponse( + Outputs.AuthorizationProfileResponse authorizationProfile, + + Outputs.AutoscaleProfileResponse? autoscaleProfile, + + string clusterVersion, + + ImmutableArray components, + + Outputs.ConnectivityProfileResponse connectivityProfile, + + Outputs.FlinkProfileResponse? flinkProfile, + + Outputs.IdentityProfileResponse identityProfile, + + object? kafkaProfile, + + object? llapProfile, + + Outputs.ClusterLogAnalyticsProfileResponse? logAnalyticsProfile, + + string ossVersion, + + Outputs.ClusterPrometheusProfileResponse? prometheusProfile, + + ImmutableArray scriptActionProfiles, + + Outputs.SecretsProfileResponse? secretsProfile, + + ImmutableArray serviceConfigsProfiles, + + Outputs.SparkProfileResponse? sparkProfile, + + Outputs.SshProfileResponse? sshProfile, + + object? stubProfile, + + Outputs.TrinoProfileResponse? trinoProfile) + { + AuthorizationProfile = authorizationProfile; + AutoscaleProfile = autoscaleProfile; + ClusterVersion = clusterVersion; + Components = components; + ConnectivityProfile = connectivityProfile; + FlinkProfile = flinkProfile; + IdentityProfile = identityProfile; + KafkaProfile = kafkaProfile; + LlapProfile = llapProfile; + LogAnalyticsProfile = logAnalyticsProfile; + OssVersion = ossVersion; + PrometheusProfile = prometheusProfile; + ScriptActionProfiles = scriptActionProfiles; + SecretsProfile = secretsProfile; + ServiceConfigsProfiles = serviceConfigsProfiles; + SparkProfile = sparkProfile; + SshProfile = sshProfile; + StubProfile = stubProfile; + TrinoProfile = trinoProfile; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterProfileResponseComponents.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterProfileResponseComponents.cs new file mode 100644 index 000000000000..03af7eb73ccf --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterProfileResponseComponents.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + [OutputType] + public sealed class ClusterProfileResponseComponents + { + public readonly string? Name; + public readonly string? Version; + + [OutputConstructor] + private ClusterProfileResponseComponents( + string? name, + + string? version) + { + Name = name; + Version = version; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPrometheusProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPrometheusProfileResponse.cs new file mode 100644 index 000000000000..3924a096fadb --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterPrometheusProfileResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Cluster Prometheus profile. + /// + [OutputType] + public sealed class ClusterPrometheusProfileResponse + { + /// + /// Enable Prometheus for cluster or not. + /// + public readonly bool Enabled; + + [OutputConstructor] + private ClusterPrometheusProfileResponse(bool enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterServiceConfigResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterServiceConfigResponse.cs new file mode 100644 index 000000000000..d68eceb3ccb7 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterServiceConfigResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Cluster configs per component. + /// + [OutputType] + public sealed class ClusterServiceConfigResponse + { + /// + /// Name of the component the config files should apply to. + /// + public readonly string Component; + /// + /// List of Config Files. + /// + public readonly ImmutableArray Files; + + [OutputConstructor] + private ClusterServiceConfigResponse( + string component, + + ImmutableArray files) + { + Component = component; + Files = files; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterServiceConfigsProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterServiceConfigsProfileResponse.cs new file mode 100644 index 000000000000..198050d944b9 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ClusterServiceConfigsProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Cluster service configs. + /// + [OutputType] + public sealed class ClusterServiceConfigsProfileResponse + { + /// + /// List of service configs. + /// + public readonly ImmutableArray Configs; + /// + /// Name of the service the configurations should apply to. + /// + public readonly string ServiceName; + + [OutputConstructor] + private ClusterServiceConfigsProfileResponse( + ImmutableArray configs, + + string serviceName) + { + Configs = configs; + ServiceName = serviceName; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ComparisonRuleResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ComparisonRuleResponse.cs new file mode 100644 index 000000000000..57f233fd7e47 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ComparisonRuleResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// The comparison rule. + /// + [OutputType] + public sealed class ComparisonRuleResponse + { + /// + /// The comparison operator. + /// + public readonly string Operator; + /// + /// Threshold setting. + /// + public readonly double Threshold; + + [OutputConstructor] + private ComparisonRuleResponse( + string @operator, + + double threshold) + { + Operator = @operator; + Threshold = threshold; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ComputeProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ComputeProfileResponse.cs new file mode 100644 index 000000000000..d91df2d4f630 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ComputeProfileResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// The compute profile. + /// + [OutputType] + public sealed class ComputeProfileResponse + { + /// + /// The nodes definitions. + /// + public readonly ImmutableArray Nodes; + + [OutputConstructor] + private ComputeProfileResponse(ImmutableArray nodes) + { + Nodes = nodes; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ComputeResourceDefinitionResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ComputeResourceDefinitionResponse.cs new file mode 100644 index 000000000000..93f8f9fe19ab --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ComputeResourceDefinitionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// The cpu and memory requirement definition. + /// + [OutputType] + public sealed class ComputeResourceDefinitionResponse + { + /// + /// The required CPU. + /// + public readonly double Cpu; + /// + /// The required memory in MB, Container memory will be 110 percentile + /// + public readonly double Memory; + + [OutputConstructor] + private ComputeResourceDefinitionResponse( + double cpu, + + double memory) + { + Cpu = cpu; + Memory = memory; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ConnectivityProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ConnectivityProfileResponse.cs new file mode 100644 index 000000000000..50f0c534a6d4 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ConnectivityProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Cluster connectivity profile. + /// + [OutputType] + public sealed class ConnectivityProfileResponse + { + /// + /// List of SSH connectivity endpoints. + /// + public readonly ImmutableArray Ssh; + /// + /// Web connectivity endpoint details. + /// + public readonly Outputs.ConnectivityProfileResponseWeb Web; + + [OutputConstructor] + private ConnectivityProfileResponse( + ImmutableArray ssh, + + Outputs.ConnectivityProfileResponseWeb web) + { + Ssh = ssh; + Web = web; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ConnectivityProfileResponseWeb.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ConnectivityProfileResponseWeb.cs new file mode 100644 index 000000000000..f439e73facf9 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ConnectivityProfileResponseWeb.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Web connectivity endpoint details. + /// + [OutputType] + public sealed class ConnectivityProfileResponseWeb + { + /// + /// Web connectivity endpoint. + /// + public readonly string Fqdn; + + [OutputConstructor] + private ConnectivityProfileResponseWeb(string fqdn) + { + Fqdn = fqdn; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/FlinkCatalogOptionsResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/FlinkCatalogOptionsResponse.cs new file mode 100644 index 000000000000..0aee73971989 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/FlinkCatalogOptionsResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Flink cluster catalog options. + /// + [OutputType] + public sealed class FlinkCatalogOptionsResponse + { + /// + /// Hive Catalog Option for Flink cluster. + /// + public readonly Outputs.FlinkHiveCatalogOptionResponse? Hive; + + [OutputConstructor] + private FlinkCatalogOptionsResponse(Outputs.FlinkHiveCatalogOptionResponse? hive) + { + Hive = hive; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/FlinkHiveCatalogOptionResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/FlinkHiveCatalogOptionResponse.cs new file mode 100644 index 000000000000..a6dd6f7ff68b --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/FlinkHiveCatalogOptionResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Hive Catalog Option for Flink cluster. + /// + [OutputType] + public sealed class FlinkHiveCatalogOptionResponse + { + /// + /// Secret reference name from secretsProfile.secrets containing password for database connection. + /// + public readonly string MetastoreDbConnectionPasswordSecret; + /// + /// Connection string for hive metastore database. + /// + public readonly string MetastoreDbConnectionURL; + /// + /// User name for database connection. + /// + public readonly string MetastoreDbConnectionUserName; + + [OutputConstructor] + private FlinkHiveCatalogOptionResponse( + string metastoreDbConnectionPasswordSecret, + + string metastoreDbConnectionURL, + + string metastoreDbConnectionUserName) + { + MetastoreDbConnectionPasswordSecret = metastoreDbConnectionPasswordSecret; + MetastoreDbConnectionURL = metastoreDbConnectionURL; + MetastoreDbConnectionUserName = metastoreDbConnectionUserName; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/FlinkProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/FlinkProfileResponse.cs new file mode 100644 index 000000000000..d9f0d0437472 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/FlinkProfileResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// The Flink cluster profile. + /// + [OutputType] + public sealed class FlinkProfileResponse + { + /// + /// Flink cluster catalog options. + /// + public readonly Outputs.FlinkCatalogOptionsResponse? CatalogOptions; + /// + /// History Server container/ process CPU and memory requirements + /// + public readonly Outputs.ComputeResourceDefinitionResponse? HistoryServer; + /// + /// Job Manager container/ process CPU and memory requirements + /// + public readonly Outputs.ComputeResourceDefinitionResponse JobManager; + /// + /// The number of task managers. + /// + public readonly int? NumReplicas; + /// + /// The storage profile + /// + public readonly Outputs.FlinkStorageProfileResponse Storage; + /// + /// Task Manager container/ process CPU and memory requirements + /// + public readonly Outputs.ComputeResourceDefinitionResponse TaskManager; + + [OutputConstructor] + private FlinkProfileResponse( + Outputs.FlinkCatalogOptionsResponse? catalogOptions, + + Outputs.ComputeResourceDefinitionResponse? historyServer, + + Outputs.ComputeResourceDefinitionResponse jobManager, + + int? numReplicas, + + Outputs.FlinkStorageProfileResponse storage, + + Outputs.ComputeResourceDefinitionResponse taskManager) + { + CatalogOptions = catalogOptions; + HistoryServer = historyServer; + JobManager = jobManager; + NumReplicas = numReplicas; + Storage = storage; + TaskManager = taskManager; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/FlinkStorageProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/FlinkStorageProfileResponse.cs new file mode 100644 index 000000000000..08dc54aa9f80 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/FlinkStorageProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// The storage profile + /// + [OutputType] + public sealed class FlinkStorageProfileResponse + { + /// + /// Storage account uri which is used for savepoint and checkpoint state. + /// + public readonly string StorageUri; + /// + /// Storage key is only required for wasb(s) storage. + /// + public readonly string? Storagekey; + + [OutputConstructor] + private FlinkStorageProfileResponse( + string storageUri, + + string? storagekey) + { + StorageUri = storageUri; + Storagekey = storagekey; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/HiveCatalogOptionResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/HiveCatalogOptionResponse.cs new file mode 100644 index 000000000000..16c04d029c82 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/HiveCatalogOptionResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Hive Catalog Option + /// + [OutputType] + public sealed class HiveCatalogOptionResponse + { + /// + /// Name of trino catalog which should use specified hive metastore. + /// + public readonly string CatalogName; + /// + /// Secret reference name from secretsProfile.secrets containing password for database connection. + /// + public readonly string MetastoreDbConnectionPasswordSecret; + /// + /// Connection string for hive metastore database. + /// + public readonly string MetastoreDbConnectionURL; + /// + /// User name for database connection. + /// + public readonly string MetastoreDbConnectionUserName; + /// + /// Metastore root directory URI, format: abfs[s]://<container>@<account_name>.dfs.core.windows.net/<path>. More details: https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri + /// + public readonly string MetastoreWarehouseDir; + + [OutputConstructor] + private HiveCatalogOptionResponse( + string catalogName, + + string metastoreDbConnectionPasswordSecret, + + string metastoreDbConnectionURL, + + string metastoreDbConnectionUserName, + + string metastoreWarehouseDir) + { + CatalogName = catalogName; + MetastoreDbConnectionPasswordSecret = metastoreDbConnectionPasswordSecret; + MetastoreDbConnectionURL = metastoreDbConnectionURL; + MetastoreDbConnectionUserName = metastoreDbConnectionUserName; + MetastoreWarehouseDir = metastoreWarehouseDir; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/IdentityProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/IdentityProfileResponse.cs new file mode 100644 index 000000000000..5c3779b2e9be --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/IdentityProfileResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Identity Profile with details of an MSI. + /// + [OutputType] + public sealed class IdentityProfileResponse + { + /// + /// ClientId of the MSI. + /// + public readonly string MsiClientId; + /// + /// ObjectId of the MSI. + /// + public readonly string MsiObjectId; + /// + /// ResourceId of the MSI. + /// + public readonly string MsiResourceId; + + [OutputConstructor] + private IdentityProfileResponse( + string msiClientId, + + string msiObjectId, + + string msiResourceId) + { + MsiClientId = msiClientId; + MsiObjectId = msiObjectId; + MsiResourceId = msiResourceId; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/LoadBasedConfigResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/LoadBasedConfigResponse.cs new file mode 100644 index 000000000000..42ab5797be4c --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/LoadBasedConfigResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Profile of load based Autoscale. + /// + [OutputType] + public sealed class LoadBasedConfigResponse + { + /// + /// This is a cool down period, this is a time period in seconds, which determines the amount of time that must elapse between a scaling activity started by a rule and the start of the next scaling activity, regardless of the rule that triggers it. The default value is 300 seconds. + /// + public readonly int? CooldownPeriod; + /// + /// User needs to set the maximum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + /// + public readonly int MaxNodes; + /// + /// User needs to set the minimum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + /// + public readonly int MinNodes; + /// + /// User can specify the poll interval, this is the time period (in seconds) after which scaling metrics are polled for triggering a scaling operation. + /// + public readonly int? PollInterval; + /// + /// The scaling rules. + /// + public readonly ImmutableArray ScalingRules; + + [OutputConstructor] + private LoadBasedConfigResponse( + int? cooldownPeriod, + + int maxNodes, + + int minNodes, + + int? pollInterval, + + ImmutableArray scalingRules) + { + CooldownPeriod = cooldownPeriod; + MaxNodes = maxNodes; + MinNodes = minNodes; + PollInterval = pollInterval; + ScalingRules = scalingRules; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/NodeProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/NodeProfileResponse.cs new file mode 100644 index 000000000000..e2137cdfa68a --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/NodeProfileResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// The node profile. + /// + [OutputType] + public sealed class NodeProfileResponse + { + /// + /// The number of virtual machines. + /// + public readonly int Count; + /// + /// The node type. + /// + public readonly string Type; + /// + /// The virtual machine SKU. + /// + public readonly string VmSize; + + [OutputConstructor] + private NodeProfileResponse( + int count, + + string type, + + string vmSize) + { + Count = count; + Type = type; + VmSize = vmSize; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ScalingRuleResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ScalingRuleResponse.cs new file mode 100644 index 000000000000..1b9b172b5a53 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ScalingRuleResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// The scaling rule. + /// + [OutputType] + public sealed class ScalingRuleResponse + { + /// + /// The action type. + /// + public readonly string ActionType; + /// + /// The comparison rule. + /// + public readonly Outputs.ComparisonRuleResponse ComparisonRule; + /// + /// This is an evaluation count for a scaling condition, the number of times a trigger condition should be successful, before scaling activity is triggered. + /// + public readonly int EvaluationCount; + /// + /// Metrics name for individual workloads. For example: cpu + /// + public readonly string ScalingMetric; + + [OutputConstructor] + private ScalingRuleResponse( + string actionType, + + Outputs.ComparisonRuleResponse comparisonRule, + + int evaluationCount, + + string scalingMetric) + { + ActionType = actionType; + ComparisonRule = comparisonRule; + EvaluationCount = evaluationCount; + ScalingMetric = scalingMetric; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ScheduleBasedConfigResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ScheduleBasedConfigResponse.cs new file mode 100644 index 000000000000..f68d15467fcb --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ScheduleBasedConfigResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Profile of schedule based Autoscale. + /// + [OutputType] + public sealed class ScheduleBasedConfigResponse + { + /// + /// Setting default node count of current schedule configuration. Default node count specifies the number of nodes which are default when an specified scaling operation is executed (scale up/scale down) + /// + public readonly int DefaultCount; + /// + /// This specifies the schedules where scheduled based Autoscale to be enabled, the user has a choice to set multiple rules within the schedule across days and times (start/end). + /// + public readonly ImmutableArray Schedules; + /// + /// User has to specify the timezone on which the schedule has to be set for schedule based autoscale configuration. + /// + public readonly string TimeZone; + + [OutputConstructor] + private ScheduleBasedConfigResponse( + int defaultCount, + + ImmutableArray schedules, + + string timeZone) + { + DefaultCount = defaultCount; + Schedules = schedules; + TimeZone = timeZone; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ScheduleResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ScheduleResponse.cs new file mode 100644 index 000000000000..0e6bdbebff1b --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ScheduleResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Schedule definition. + /// + [OutputType] + public sealed class ScheduleResponse + { + /// + /// User has to set the node count anticipated at end of the scaling operation of the set current schedule configuration, format is integer. + /// + public readonly int Count; + /// + /// User has to set the days where schedule has to be set for autoscale operation. + /// + public readonly ImmutableArray Days; + /// + /// User has to set the end time of current schedule configuration, format like 10:30 (HH:MM). + /// + public readonly string EndTime; + /// + /// User has to set the start time of current schedule configuration, format like 10:30 (HH:MM). + /// + public readonly string StartTime; + + [OutputConstructor] + private ScheduleResponse( + int count, + + ImmutableArray days, + + string endTime, + + string startTime) + { + Count = count; + Days = days; + EndTime = endTime; + StartTime = startTime; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ScriptActionProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ScriptActionProfileResponse.cs new file mode 100644 index 000000000000..018ec1a9dd93 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/ScriptActionProfileResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// The script action profile. + /// + [OutputType] + public sealed class ScriptActionProfileResponse + { + /// + /// Script name. + /// + public readonly string Name; + /// + /// Additional parameters for the script action. It should be space-separated list of arguments required for script execution. + /// + public readonly string? Parameters; + /// + /// List of services to apply the script action. + /// + public readonly ImmutableArray Services; + /// + /// Specify if the script should persist on the cluster. + /// + public readonly bool? ShouldPersist; + /// + /// Timeout duration for the script action in minutes. + /// + public readonly int? TimeoutInMinutes; + /// + /// Type of the script action. Supported type is bash scripts. + /// + public readonly string Type; + /// + /// Url of the script file. + /// + public readonly string Url; + + [OutputConstructor] + private ScriptActionProfileResponse( + string name, + + string? parameters, + + ImmutableArray services, + + bool? shouldPersist, + + int? timeoutInMinutes, + + string type, + + string url) + { + Name = name; + Parameters = parameters; + Services = services; + ShouldPersist = shouldPersist; + TimeoutInMinutes = timeoutInMinutes; + Type = type; + Url = url; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SecretReferenceResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SecretReferenceResponse.cs new file mode 100644 index 000000000000..cc1f51f7468a --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SecretReferenceResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Secret reference and corresponding properties of a key vault secret. + /// + [OutputType] + public sealed class SecretReferenceResponse + { + /// + /// Object identifier name of the secret in key vault. + /// + public readonly string KeyVaultObjectName; + /// + /// Reference name of the secret to be used in service configs. + /// + public readonly string ReferenceName; + /// + /// Type of key vault object: secret, key or certificate. + /// + public readonly string Type; + /// + /// Version of the secret in key vault. + /// + public readonly string? Version; + + [OutputConstructor] + private SecretReferenceResponse( + string keyVaultObjectName, + + string referenceName, + + string type, + + string? version) + { + KeyVaultObjectName = keyVaultObjectName; + ReferenceName = referenceName; + Type = type; + Version = version; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SecretsProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SecretsProfileResponse.cs new file mode 100644 index 000000000000..280e85c698f2 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SecretsProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// The cluster secret profile. + /// + [OutputType] + public sealed class SecretsProfileResponse + { + /// + /// Name of the user Key Vault where all the cluster specific user secrets are stored. + /// + public readonly string KeyVaultResourceId; + /// + /// Properties of Key Vault secret. + /// + public readonly ImmutableArray Secrets; + + [OutputConstructor] + private SecretsProfileResponse( + string keyVaultResourceId, + + ImmutableArray secrets) + { + KeyVaultResourceId = keyVaultResourceId; + Secrets = secrets; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SparkMetastoreSpecResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SparkMetastoreSpecResponse.cs new file mode 100644 index 000000000000..e0a75d5af52a --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SparkMetastoreSpecResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// The metastore specification for Spark cluster. + /// + [OutputType] + public sealed class SparkMetastoreSpecResponse + { + /// + /// The database name. + /// + public readonly string? DbName; + /// + /// The secret name which contains the database user password. + /// + public readonly string DbPasswordSecretName; + /// + /// The database server host. + /// + public readonly string DbServerHost; + /// + /// The database user name. + /// + public readonly string DbUserName; + /// + /// The key vault resource id. + /// + public readonly string KeyVaultId; + /// + /// The thrift url. + /// + public readonly string? ThriftUrl; + + [OutputConstructor] + private SparkMetastoreSpecResponse( + string? dbName, + + string dbPasswordSecretName, + + string dbServerHost, + + string dbUserName, + + string keyVaultId, + + string? thriftUrl) + { + DbName = dbName; + DbPasswordSecretName = dbPasswordSecretName; + DbServerHost = dbServerHost; + DbUserName = dbUserName; + KeyVaultId = keyVaultId; + ThriftUrl = thriftUrl; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SparkProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SparkProfileResponse.cs new file mode 100644 index 000000000000..b3ec3f84654c --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SparkProfileResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// The spark cluster profile. + /// + [OutputType] + public sealed class SparkProfileResponse + { + /// + /// The default storage URL. + /// + public readonly string? DefaultStorageUrl; + /// + /// The metastore specification for Spark cluster. + /// + public readonly Outputs.SparkMetastoreSpecResponse? MetastoreSpec; + /// + /// Spark user plugins spec + /// + public readonly Outputs.SparkUserPluginsResponse? UserPluginsSpec; + + [OutputConstructor] + private SparkProfileResponse( + string? defaultStorageUrl, + + Outputs.SparkMetastoreSpecResponse? metastoreSpec, + + Outputs.SparkUserPluginsResponse? userPluginsSpec) + { + DefaultStorageUrl = defaultStorageUrl; + MetastoreSpec = metastoreSpec; + UserPluginsSpec = userPluginsSpec; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SparkUserPluginResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SparkUserPluginResponse.cs new file mode 100644 index 000000000000..23c263ff162b --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SparkUserPluginResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Spark user plugin. + /// + [OutputType] + public sealed class SparkUserPluginResponse + { + /// + /// Fully qualified path to the folder containing the plugins. + /// + public readonly string Path; + + [OutputConstructor] + private SparkUserPluginResponse(string path) + { + Path = path; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SparkUserPluginsResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SparkUserPluginsResponse.cs new file mode 100644 index 000000000000..396f307a22dc --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SparkUserPluginsResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Spark user plugins spec + /// + [OutputType] + public sealed class SparkUserPluginsResponse + { + /// + /// Spark user plugins. + /// + public readonly ImmutableArray Plugins; + + [OutputConstructor] + private SparkUserPluginsResponse(ImmutableArray plugins) + { + Plugins = plugins; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SshConnectivityEndpointResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SshConnectivityEndpointResponse.cs new file mode 100644 index 000000000000..2dff2785b533 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SshConnectivityEndpointResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// SSH connectivity endpoint details. + /// + [OutputType] + public sealed class SshConnectivityEndpointResponse + { + /// + /// SSH connectivity endpoint. + /// + public readonly string Endpoint; + + [OutputConstructor] + private SshConnectivityEndpointResponse(string endpoint) + { + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SshProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SshProfileResponse.cs new file mode 100644 index 000000000000..a76ec691e586 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SshProfileResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Ssh profile for the cluster. + /// + [OutputType] + public sealed class SshProfileResponse + { + /// + /// Number of ssh pods per cluster. + /// + public readonly int Count; + /// + /// Prefix of the pod names. Pod number will be appended to the prefix. The ingress URLs for the pods will be available at <clusterFqdn>/<sshBasePath>/<prefix>-<number> + /// + public readonly string PodPrefix; + + [OutputConstructor] + private SshProfileResponse( + int count, + + string podPrefix) + { + Count = count; + PodPrefix = podPrefix; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SystemDataResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..e538adfcce0c --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC). + /// + public readonly string? CreatedAt; + /// + /// The identity that created the resource. + /// + public readonly string? CreatedBy; + /// + /// The type of identity that created the resource. + /// + public readonly string? CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string? LastModifiedAt; + /// + /// The identity that last modified the resource. + /// + public readonly string? LastModifiedBy; + /// + /// The type of identity that last modified the resource. + /// + public readonly string? LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string? createdAt, + + string? createdBy, + + string? createdByType, + + string? lastModifiedAt, + + string? lastModifiedBy, + + string? lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoCoordinatorResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoCoordinatorResponse.cs new file mode 100644 index 000000000000..11a7c34d69ad --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoCoordinatorResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Trino Coordinator. + /// + [OutputType] + public sealed class TrinoCoordinatorResponse + { + /// + /// The flag that if enable debug or not. + /// + public readonly bool? Enable; + /// + /// The flag that if enable coordinator HA, uses multiple coordinator replicas with auto failover, one per each head node. Default: true. + /// + public readonly bool? HighAvailabilityEnabled; + /// + /// The debug port. + /// + public readonly int? Port; + /// + /// The flag that if suspend debug or not. + /// + public readonly bool? Suspend; + + [OutputConstructor] + private TrinoCoordinatorResponse( + bool? enable, + + bool? highAvailabilityEnabled, + + int? port, + + bool? suspend) + { + Enable = enable; + HighAvailabilityEnabled = highAvailabilityEnabled; + Port = port; + Suspend = suspend; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoProfileResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoProfileResponse.cs new file mode 100644 index 000000000000..3aa89549dbfa --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoProfileResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Trino Cluster profile. + /// + [OutputType] + public sealed class TrinoProfileResponse + { + /// + /// Trino cluster catalog options. + /// + public readonly Outputs.CatalogOptionsResponse? CatalogOptions; + /// + /// Trino Coordinator. + /// + public readonly Outputs.TrinoCoordinatorResponse? Coordinator; + /// + /// Trino user plugins spec + /// + public readonly Outputs.TrinoUserPluginsResponse? UserPluginsSpec; + /// + /// User telemetry + /// + public readonly Outputs.TrinoUserTelemetryResponse? UserTelemetrySpec; + /// + /// Trino worker. + /// + public readonly Outputs.TrinoWorkerResponse? Worker; + + [OutputConstructor] + private TrinoProfileResponse( + Outputs.CatalogOptionsResponse? catalogOptions, + + Outputs.TrinoCoordinatorResponse? coordinator, + + Outputs.TrinoUserPluginsResponse? userPluginsSpec, + + Outputs.TrinoUserTelemetryResponse? userTelemetrySpec, + + Outputs.TrinoWorkerResponse? worker) + { + CatalogOptions = catalogOptions; + Coordinator = coordinator; + UserPluginsSpec = userPluginsSpec; + UserTelemetrySpec = userTelemetrySpec; + Worker = worker; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoTelemetryConfigResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoTelemetryConfigResponse.cs new file mode 100644 index 000000000000..1580554470a1 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoTelemetryConfigResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Trino user telemetry definition. + /// + [OutputType] + public sealed class TrinoTelemetryConfigResponse + { + /// + /// Hive Catalog name used to mount external tables on the logs written by trino, if not specified there tables are not created. + /// + public readonly string? HivecatalogName; + /// + /// Schema of the above catalog to use, to mount query logs as external tables, if not specified tables will be mounted under schema trinologs. + /// + public readonly string? HivecatalogSchema; + /// + /// Retention period for query log table partitions, this doesn't have any affect on actual data. + /// + public readonly int? PartitionRetentionInDays; + /// + /// Azure storage location of the blobs. + /// + public readonly string? Path; + + [OutputConstructor] + private TrinoTelemetryConfigResponse( + string? hivecatalogName, + + string? hivecatalogSchema, + + int? partitionRetentionInDays, + + string? path) + { + HivecatalogName = hivecatalogName; + HivecatalogSchema = hivecatalogSchema; + PartitionRetentionInDays = partitionRetentionInDays; + Path = path; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoUserPluginResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoUserPluginResponse.cs new file mode 100644 index 000000000000..484f5f0a3a7b --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoUserPluginResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Trino user plugin. + /// + [OutputType] + public sealed class TrinoUserPluginResponse + { + /// + /// Denotes whether the plugin is active or not. + /// + public readonly bool? Enabled; + /// + /// This field maps to the sub-directory in trino plugins location, that will contain all the plugins under path. + /// + public readonly string? Name; + /// + /// Fully qualified path to the folder containing the plugins. + /// + public readonly string? Path; + + [OutputConstructor] + private TrinoUserPluginResponse( + bool? enabled, + + string? name, + + string? path) + { + Enabled = enabled; + Name = name; + Path = path; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoUserPluginsResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoUserPluginsResponse.cs new file mode 100644 index 000000000000..dfdb57e78bd4 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoUserPluginsResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Trino user plugins spec + /// + [OutputType] + public sealed class TrinoUserPluginsResponse + { + /// + /// Trino user plugins. + /// + public readonly ImmutableArray Plugins; + + [OutputConstructor] + private TrinoUserPluginsResponse(ImmutableArray plugins) + { + Plugins = plugins; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoUserTelemetryResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoUserTelemetryResponse.cs new file mode 100644 index 000000000000..a21f06732c43 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoUserTelemetryResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// User telemetry + /// + [OutputType] + public sealed class TrinoUserTelemetryResponse + { + /// + /// Trino user telemetry definition. + /// + public readonly Outputs.TrinoTelemetryConfigResponse? Storage; + + [OutputConstructor] + private TrinoUserTelemetryResponse(Outputs.TrinoTelemetryConfigResponse? storage) + { + Storage = storage; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoWorkerResponse.cs b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoWorkerResponse.cs new file mode 100644 index 000000000000..4ab61c124d66 --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/Outputs/TrinoWorkerResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.HDInsight.V20230601Preview.Outputs +{ + + /// + /// Trino worker. + /// + [OutputType] + public sealed class TrinoWorkerResponse + { + /// + /// The flag that if enable debug or not. + /// + public readonly bool? Enable; + /// + /// The debug port. + /// + public readonly int? Port; + /// + /// The flag that if suspend debug or not. + /// + public readonly bool? Suspend; + + [OutputConstructor] + private TrinoWorkerResponse( + bool? enable, + + int? port, + + bool? suspend) + { + Enable = enable; + Port = port; + Suspend = suspend; + } + } +} diff --git a/sdk/dotnet/HDInsight/V20230601Preview/README.md b/sdk/dotnet/HDInsight/V20230601Preview/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/HDInsight/V20230601Preview/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/HybridCompute/GetMachineRunCommand.cs b/sdk/dotnet/HybridCompute/GetMachineRunCommand.cs deleted file mode 100644 index d55cb3779063..000000000000 --- a/sdk/dotnet/HybridCompute/GetMachineRunCommand.cs +++ /dev/null @@ -1,224 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute -{ - public static class GetMachineRunCommand - { - /// - /// The operation to get a run command. - /// Azure REST API version: 2023-04-25-preview. - /// - public static Task InvokeAsync(GetMachineRunCommandArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:hybridcompute:getMachineRunCommand", args ?? new GetMachineRunCommandArgs(), options.WithDefaults()); - - /// - /// The operation to get a run command. - /// Azure REST API version: 2023-04-25-preview. - /// - public static Output Invoke(GetMachineRunCommandInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("azure-native:hybridcompute:getMachineRunCommand", args ?? new GetMachineRunCommandInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetMachineRunCommandArgs : global::Pulumi.InvokeArgs - { - /// - /// The name of the hybrid machine. - /// - [Input("machineName", required: true)] - public string MachineName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public string ResourceGroupName { get; set; } = null!; - - /// - /// The name of the run command. - /// - [Input("runCommandName", required: true)] - public string RunCommandName { get; set; } = null!; - - public GetMachineRunCommandArgs() - { - } - public static new GetMachineRunCommandArgs Empty => new GetMachineRunCommandArgs(); - } - - public sealed class GetMachineRunCommandInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// The name of the hybrid machine. - /// - [Input("machineName", required: true)] - public Input MachineName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// The name of the run command. - /// - [Input("runCommandName", required: true)] - public Input RunCommandName { get; set; } = null!; - - public GetMachineRunCommandInvokeArgs() - { - } - public static new GetMachineRunCommandInvokeArgs Empty => new GetMachineRunCommandInvokeArgs(); - } - - - [OutputType] - public sealed class GetMachineRunCommandResult - { - /// - /// Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - /// - public readonly bool? AsyncExecution; - /// - /// User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - /// - public readonly Outputs.RunCommandManagedIdentityResponse? ErrorBlobManagedIdentity; - /// - /// Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - /// - public readonly string? ErrorBlobUri; - /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - /// - public readonly string Id; - /// - /// The machine run command instance view. - /// - public readonly Outputs.MachineRunCommandInstanceViewResponse InstanceView; - /// - /// The geo-location where the resource lives - /// - public readonly string Location; - /// - /// The name of the resource - /// - public readonly string Name; - /// - /// User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - /// - public readonly Outputs.RunCommandManagedIdentityResponse? OutputBlobManagedIdentity; - /// - /// Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - /// - public readonly string? OutputBlobUri; - /// - /// The parameters used by the script. - /// - public readonly ImmutableArray Parameters; - /// - /// The parameters used by the script. - /// - public readonly ImmutableArray ProtectedParameters; - /// - /// The provisioning state, which only appears in the response. - /// - public readonly string ProvisioningState; - /// - /// Specifies the user account password on the machine when executing the run command. - /// - public readonly string? RunAsPassword; - /// - /// Specifies the user account on the machine when executing the run command. - /// - public readonly string? RunAsUser; - /// - /// The source of the run command script. - /// - public readonly Outputs.MachineRunCommandScriptSourceResponse? Source; - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - public readonly Outputs.SystemDataResponse SystemData; - /// - /// Resource tags. - /// - public readonly ImmutableDictionary? Tags; - /// - /// The timeout in seconds to execute the run command. - /// - public readonly int? TimeoutInSeconds; - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - public readonly string Type; - - [OutputConstructor] - private GetMachineRunCommandResult( - bool? asyncExecution, - - Outputs.RunCommandManagedIdentityResponse? errorBlobManagedIdentity, - - string? errorBlobUri, - - string id, - - Outputs.MachineRunCommandInstanceViewResponse instanceView, - - string location, - - string name, - - Outputs.RunCommandManagedIdentityResponse? outputBlobManagedIdentity, - - string? outputBlobUri, - - ImmutableArray parameters, - - ImmutableArray protectedParameters, - - string provisioningState, - - string? runAsPassword, - - string? runAsUser, - - Outputs.MachineRunCommandScriptSourceResponse? source, - - Outputs.SystemDataResponse systemData, - - ImmutableDictionary? tags, - - int? timeoutInSeconds, - - string type) - { - AsyncExecution = asyncExecution; - ErrorBlobManagedIdentity = errorBlobManagedIdentity; - ErrorBlobUri = errorBlobUri; - Id = id; - InstanceView = instanceView; - Location = location; - Name = name; - OutputBlobManagedIdentity = outputBlobManagedIdentity; - OutputBlobUri = outputBlobUri; - Parameters = parameters; - ProtectedParameters = protectedParameters; - ProvisioningState = provisioningState; - RunAsPassword = runAsPassword; - RunAsUser = runAsUser; - Source = source; - SystemData = systemData; - Tags = tags; - TimeoutInSeconds = timeoutInSeconds; - Type = type; - } - } -} diff --git a/sdk/dotnet/HybridCompute/Inputs/MachineRunCommandScriptSourceArgs.cs b/sdk/dotnet/HybridCompute/Inputs/MachineRunCommandScriptSourceArgs.cs deleted file mode 100644 index a79fefa5efa4..000000000000 --- a/sdk/dotnet/HybridCompute/Inputs/MachineRunCommandScriptSourceArgs.cs +++ /dev/null @@ -1,47 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.Inputs -{ - - /// - /// Describes the script sources for run command. Use only one of script, scriptUri, commandId. - /// - public sealed class MachineRunCommandScriptSourceArgs : global::Pulumi.ResourceArgs - { - /// - /// Specifies the commandId of predefined built-in script. - /// - [Input("commandId")] - public Input? CommandId { get; set; } - - /// - /// Specifies the script content to be executed on the machine. - /// - [Input("script")] - public Input? Script { get; set; } - - /// - /// Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - /// - [Input("scriptUri")] - public Input? ScriptUri { get; set; } - - /// - /// User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - /// - [Input("scriptUriManagedIdentity")] - public Input? ScriptUriManagedIdentity { get; set; } - - public MachineRunCommandScriptSourceArgs() - { - } - public static new MachineRunCommandScriptSourceArgs Empty => new MachineRunCommandScriptSourceArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/Inputs/RunCommandInputParameterArgs.cs b/sdk/dotnet/HybridCompute/Inputs/RunCommandInputParameterArgs.cs deleted file mode 100644 index 1a38334cbd68..000000000000 --- a/sdk/dotnet/HybridCompute/Inputs/RunCommandInputParameterArgs.cs +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.Inputs -{ - - /// - /// Describes the properties of a run command parameter. - /// - public sealed class RunCommandInputParameterArgs : global::Pulumi.ResourceArgs - { - /// - /// The run command parameter name. - /// - [Input("name", required: true)] - public Input Name { get; set; } = null!; - - /// - /// The run command parameter value. - /// - [Input("value", required: true)] - public Input Value { get; set; } = null!; - - public RunCommandInputParameterArgs() - { - } - public static new RunCommandInputParameterArgs Empty => new RunCommandInputParameterArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/Inputs/RunCommandManagedIdentityArgs.cs b/sdk/dotnet/HybridCompute/Inputs/RunCommandManagedIdentityArgs.cs deleted file mode 100644 index 3e49aa5ad68e..000000000000 --- a/sdk/dotnet/HybridCompute/Inputs/RunCommandManagedIdentityArgs.cs +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.Inputs -{ - - /// - /// Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - /// - public sealed class RunCommandManagedIdentityArgs : global::Pulumi.ResourceArgs - { - /// - /// Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - /// - [Input("clientId")] - public Input? ClientId { get; set; } - - /// - /// Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - /// - [Input("objectId")] - public Input? ObjectId { get; set; } - - public RunCommandManagedIdentityArgs() - { - } - public static new RunCommandManagedIdentityArgs Empty => new RunCommandManagedIdentityArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/Machine.cs b/sdk/dotnet/HybridCompute/Machine.cs index 2429a4b1f1f8..ce6de696a1f1 100644 --- a/sdk/dotnet/HybridCompute/Machine.cs +++ b/sdk/dotnet/HybridCompute/Machine.cs @@ -271,7 +271,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:Machine"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:Machine"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:Machine"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/MachineExtension.cs b/sdk/dotnet/HybridCompute/MachineExtension.cs index d12bf10e53bf..4767c25091be 100644 --- a/sdk/dotnet/HybridCompute/MachineExtension.cs +++ b/sdk/dotnet/HybridCompute/MachineExtension.cs @@ -144,7 +144,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:MachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:MachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:MachineExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/MachineRunCommand.cs b/sdk/dotnet/HybridCompute/MachineRunCommand.cs deleted file mode 100644 index 3cab6d93053d..000000000000 --- a/sdk/dotnet/HybridCompute/MachineRunCommand.cs +++ /dev/null @@ -1,296 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute -{ - /// - /// Describes a Run Command - /// Azure REST API version: 2023-04-25-preview. - /// - [AzureNativeResourceType("azure-native:hybridcompute:MachineRunCommand")] - public partial class MachineRunCommand : global::Pulumi.CustomResource - { - /// - /// Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - /// - [Output("asyncExecution")] - public Output AsyncExecution { get; private set; } = null!; - - /// - /// User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - /// - [Output("errorBlobManagedIdentity")] - public Output ErrorBlobManagedIdentity { get; private set; } = null!; - - /// - /// Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - /// - [Output("errorBlobUri")] - public Output ErrorBlobUri { get; private set; } = null!; - - /// - /// The machine run command instance view. - /// - [Output("instanceView")] - public Output InstanceView { get; private set; } = null!; - - /// - /// The geo-location where the resource lives - /// - [Output("location")] - public Output Location { get; private set; } = null!; - - /// - /// The name of the resource - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - /// - [Output("outputBlobManagedIdentity")] - public Output OutputBlobManagedIdentity { get; private set; } = null!; - - /// - /// Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - /// - [Output("outputBlobUri")] - public Output OutputBlobUri { get; private set; } = null!; - - /// - /// The parameters used by the script. - /// - [Output("parameters")] - public Output> Parameters { get; private set; } = null!; - - /// - /// The parameters used by the script. - /// - [Output("protectedParameters")] - public Output> ProtectedParameters { get; private set; } = null!; - - /// - /// The provisioning state, which only appears in the response. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// Specifies the user account password on the machine when executing the run command. - /// - [Output("runAsPassword")] - public Output RunAsPassword { get; private set; } = null!; - - /// - /// Specifies the user account on the machine when executing the run command. - /// - [Output("runAsUser")] - public Output RunAsUser { get; private set; } = null!; - - /// - /// The source of the run command script. - /// - [Output("source")] - public Output Source { get; private set; } = null!; - - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - [Output("systemData")] - public Output SystemData { get; private set; } = null!; - - /// - /// Resource tags. - /// - [Output("tags")] - public Output?> Tags { get; private set; } = null!; - - /// - /// The timeout in seconds to execute the run command. - /// - [Output("timeoutInSeconds")] - public Output TimeoutInSeconds { get; private set; } = null!; - - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - [Output("type")] - public Output Type { get; private set; } = null!; - - - /// - /// Create a MachineRunCommand resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public MachineRunCommand(string name, MachineRunCommandArgs args, CustomResourceOptions? options = null) - : base("azure-native:hybridcompute:MachineRunCommand", name, args ?? new MachineRunCommandArgs(), MakeResourceOptions(options, "")) - { - } - - private MachineRunCommand(string name, Input id, CustomResourceOptions? options = null) - : base("azure-native:hybridcompute:MachineRunCommand", name, null, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - Aliases = - { - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:MachineRunCommand"}, - }, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing MachineRunCommand resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// A bag of options that control this resource's behavior - public static MachineRunCommand Get(string name, Input id, CustomResourceOptions? options = null) - { - return new MachineRunCommand(name, id, options); - } - } - - public sealed class MachineRunCommandArgs : global::Pulumi.ResourceArgs - { - /// - /// Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - /// - [Input("asyncExecution")] - public Input? AsyncExecution { get; set; } - - /// - /// User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - /// - [Input("errorBlobManagedIdentity")] - public Input? ErrorBlobManagedIdentity { get; set; } - - /// - /// Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - /// - [Input("errorBlobUri")] - public Input? ErrorBlobUri { get; set; } - - /// - /// The geo-location where the resource lives - /// - [Input("location")] - public Input? Location { get; set; } - - /// - /// The name of the hybrid machine. - /// - [Input("machineName", required: true)] - public Input MachineName { get; set; } = null!; - - /// - /// User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - /// - [Input("outputBlobManagedIdentity")] - public Input? OutputBlobManagedIdentity { get; set; } - - /// - /// Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - /// - [Input("outputBlobUri")] - public Input? OutputBlobUri { get; set; } - - [Input("parameters")] - private InputList? _parameters; - - /// - /// The parameters used by the script. - /// - public InputList Parameters - { - get => _parameters ?? (_parameters = new InputList()); - set => _parameters = value; - } - - [Input("protectedParameters")] - private InputList? _protectedParameters; - - /// - /// The parameters used by the script. - /// - public InputList ProtectedParameters - { - get => _protectedParameters ?? (_protectedParameters = new InputList()); - set => _protectedParameters = value; - } - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// Specifies the user account password on the machine when executing the run command. - /// - [Input("runAsPassword")] - public Input? RunAsPassword { get; set; } - - /// - /// Specifies the user account on the machine when executing the run command. - /// - [Input("runAsUser")] - public Input? RunAsUser { get; set; } - - /// - /// The name of the run command. - /// - [Input("runCommandName")] - public Input? RunCommandName { get; set; } - - /// - /// The source of the run command script. - /// - [Input("source")] - public Input? Source { get; set; } - - [Input("tags")] - private InputMap? _tags; - - /// - /// Resource tags. - /// - public InputMap Tags - { - get => _tags ?? (_tags = new InputMap()); - set => _tags = value; - } - - /// - /// The timeout in seconds to execute the run command. - /// - [Input("timeoutInSeconds")] - public Input? TimeoutInSeconds { get; set; } - - public MachineRunCommandArgs() - { - AsyncExecution = false; - } - public static new MachineRunCommandArgs Empty => new MachineRunCommandArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/Outputs/MachineRunCommandInstanceViewResponse.cs b/sdk/dotnet/HybridCompute/Outputs/MachineRunCommandInstanceViewResponse.cs deleted file mode 100644 index 98d3f29c0fc0..000000000000 --- a/sdk/dotnet/HybridCompute/Outputs/MachineRunCommandInstanceViewResponse.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.Outputs -{ - - /// - /// Describes the Machine Extension Instance View. - /// - [OutputType] - public sealed class MachineRunCommandInstanceViewResponse - { - /// - /// The run command name. - /// - public readonly string? Name; - /// - /// Instance view status. - /// - public readonly Outputs.MachineRunCommandInstanceViewResponseStatus? Status; - - [OutputConstructor] - private MachineRunCommandInstanceViewResponse( - string? name, - - Outputs.MachineRunCommandInstanceViewResponseStatus? status) - { - Name = name; - Status = status; - } - } -} diff --git a/sdk/dotnet/HybridCompute/Outputs/MachineRunCommandInstanceViewResponseStatus.cs b/sdk/dotnet/HybridCompute/Outputs/MachineRunCommandInstanceViewResponseStatus.cs deleted file mode 100644 index 097b4191abd4..000000000000 --- a/sdk/dotnet/HybridCompute/Outputs/MachineRunCommandInstanceViewResponseStatus.cs +++ /dev/null @@ -1,59 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.Outputs -{ - - /// - /// Instance view status. - /// - [OutputType] - public sealed class MachineRunCommandInstanceViewResponseStatus - { - /// - /// The status code. - /// - public readonly string? Code; - /// - /// The short localizable label for the status. - /// - public readonly string? DisplayStatus; - /// - /// The level code. - /// - public readonly string? Level; - /// - /// The detailed status message, including for alerts and error messages. - /// - public readonly string? Message; - /// - /// The time of the status. - /// - public readonly string? Time; - - [OutputConstructor] - private MachineRunCommandInstanceViewResponseStatus( - string? code, - - string? displayStatus, - - string? level, - - string? message, - - string? time) - { - Code = code; - DisplayStatus = displayStatus; - Level = level; - Message = message; - Time = time; - } - } -} diff --git a/sdk/dotnet/HybridCompute/Outputs/MachineRunCommandScriptSourceResponse.cs b/sdk/dotnet/HybridCompute/Outputs/MachineRunCommandScriptSourceResponse.cs deleted file mode 100644 index df2bc5127f3d..000000000000 --- a/sdk/dotnet/HybridCompute/Outputs/MachineRunCommandScriptSourceResponse.cs +++ /dev/null @@ -1,52 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.Outputs -{ - - /// - /// Describes the script sources for run command. Use only one of script, scriptUri, commandId. - /// - [OutputType] - public sealed class MachineRunCommandScriptSourceResponse - { - /// - /// Specifies the commandId of predefined built-in script. - /// - public readonly string? CommandId; - /// - /// Specifies the script content to be executed on the machine. - /// - public readonly string? Script; - /// - /// Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - /// - public readonly string? ScriptUri; - /// - /// User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - /// - public readonly Outputs.RunCommandManagedIdentityResponse? ScriptUriManagedIdentity; - - [OutputConstructor] - private MachineRunCommandScriptSourceResponse( - string? commandId, - - string? script, - - string? scriptUri, - - Outputs.RunCommandManagedIdentityResponse? scriptUriManagedIdentity) - { - CommandId = commandId; - Script = script; - ScriptUri = scriptUri; - ScriptUriManagedIdentity = scriptUriManagedIdentity; - } - } -} diff --git a/sdk/dotnet/HybridCompute/Outputs/RunCommandInputParameterResponse.cs b/sdk/dotnet/HybridCompute/Outputs/RunCommandInputParameterResponse.cs deleted file mode 100644 index afef559bd18d..000000000000 --- a/sdk/dotnet/HybridCompute/Outputs/RunCommandInputParameterResponse.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.Outputs -{ - - /// - /// Describes the properties of a run command parameter. - /// - [OutputType] - public sealed class RunCommandInputParameterResponse - { - /// - /// The run command parameter name. - /// - public readonly string Name; - /// - /// The run command parameter value. - /// - public readonly string Value; - - [OutputConstructor] - private RunCommandInputParameterResponse( - string name, - - string value) - { - Name = name; - Value = value; - } - } -} diff --git a/sdk/dotnet/HybridCompute/Outputs/RunCommandManagedIdentityResponse.cs b/sdk/dotnet/HybridCompute/Outputs/RunCommandManagedIdentityResponse.cs deleted file mode 100644 index 102a660cc83e..000000000000 --- a/sdk/dotnet/HybridCompute/Outputs/RunCommandManagedIdentityResponse.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.Outputs -{ - - /// - /// Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - /// - [OutputType] - public sealed class RunCommandManagedIdentityResponse - { - /// - /// Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - /// - public readonly string? ClientId; - /// - /// Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - /// - public readonly string? ObjectId; - - [OutputConstructor] - private RunCommandManagedIdentityResponse( - string? clientId, - - string? objectId) - { - ClientId = clientId; - ObjectId = objectId; - } - } -} diff --git a/sdk/dotnet/HybridCompute/PrivateEndpointConnection.cs b/sdk/dotnet/HybridCompute/PrivateEndpointConnection.cs index 45dab2a12498..d77688060821 100644 --- a/sdk/dotnet/HybridCompute/PrivateEndpointConnection.cs +++ b/sdk/dotnet/HybridCompute/PrivateEndpointConnection.cs @@ -80,7 +80,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/PrivateLinkScope.cs b/sdk/dotnet/HybridCompute/PrivateLinkScope.cs index 46171bb7c152..94e2858f0801 100644 --- a/sdk/dotnet/HybridCompute/PrivateLinkScope.cs +++ b/sdk/dotnet/HybridCompute/PrivateLinkScope.cs @@ -92,7 +92,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:PrivateLinkScope"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:PrivateLinkScope"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:PrivateLinkScope"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/V20200802/Machine.cs b/sdk/dotnet/HybridCompute/V20200802/Machine.cs index 6d1c512840fa..0523ee2e5372 100644 --- a/sdk/dotnet/HybridCompute/V20200802/Machine.cs +++ b/sdk/dotnet/HybridCompute/V20200802/Machine.cs @@ -201,7 +201,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:Machine"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:Machine"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:Machine"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/V20200815Preview/Machine.cs b/sdk/dotnet/HybridCompute/V20200815Preview/Machine.cs index 0cc739a1fdf9..4fce430d0a6f 100644 --- a/sdk/dotnet/HybridCompute/V20200815Preview/Machine.cs +++ b/sdk/dotnet/HybridCompute/V20200815Preview/Machine.cs @@ -207,7 +207,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:Machine"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:Machine"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:Machine"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/V20200815Preview/MachineExtension.cs b/sdk/dotnet/HybridCompute/V20200815Preview/MachineExtension.cs index 39915ef6ce73..5420f6486000 100644 --- a/sdk/dotnet/HybridCompute/V20200815Preview/MachineExtension.cs +++ b/sdk/dotnet/HybridCompute/V20200815Preview/MachineExtension.cs @@ -131,7 +131,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:MachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:MachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:MachineExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/V20200815Preview/PrivateEndpointConnection.cs b/sdk/dotnet/HybridCompute/V20200815Preview/PrivateEndpointConnection.cs index 07563ce15dfe..af56c9965b91 100644 --- a/sdk/dotnet/HybridCompute/V20200815Preview/PrivateEndpointConnection.cs +++ b/sdk/dotnet/HybridCompute/V20200815Preview/PrivateEndpointConnection.cs @@ -85,7 +85,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/V20200815Preview/PrivateLinkScope.cs b/sdk/dotnet/HybridCompute/V20200815Preview/PrivateLinkScope.cs index 59c41d7c22f3..ea757f8fba52 100644 --- a/sdk/dotnet/HybridCompute/V20200815Preview/PrivateLinkScope.cs +++ b/sdk/dotnet/HybridCompute/V20200815Preview/PrivateLinkScope.cs @@ -97,7 +97,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:PrivateLinkScope"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:PrivateLinkScope"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:PrivateLinkScope"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/V20220510Preview/Machine.cs b/sdk/dotnet/HybridCompute/V20220510Preview/Machine.cs index d308a9195834..f547815052d6 100644 --- a/sdk/dotnet/HybridCompute/V20220510Preview/Machine.cs +++ b/sdk/dotnet/HybridCompute/V20220510Preview/Machine.cs @@ -108,7 +108,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:Machine"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:Machine"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:Machine"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/V20220510Preview/MachineExtension.cs b/sdk/dotnet/HybridCompute/V20220510Preview/MachineExtension.cs index 2d851e285406..a75f048d5ec3 100644 --- a/sdk/dotnet/HybridCompute/V20220510Preview/MachineExtension.cs +++ b/sdk/dotnet/HybridCompute/V20220510Preview/MachineExtension.cs @@ -95,7 +95,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:MachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:MachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:MachineExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/V20221227/Machine.cs b/sdk/dotnet/HybridCompute/V20221227/Machine.cs index 57df2b1e85b3..474fa96852da 100644 --- a/sdk/dotnet/HybridCompute/V20221227/Machine.cs +++ b/sdk/dotnet/HybridCompute/V20221227/Machine.cs @@ -270,7 +270,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221110:Machine"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:Machine"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:Machine"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/V20221227/MachineExtension.cs b/sdk/dotnet/HybridCompute/V20221227/MachineExtension.cs index e90acd6da1ba..712ab253acd3 100644 --- a/sdk/dotnet/HybridCompute/V20221227/MachineExtension.cs +++ b/sdk/dotnet/HybridCompute/V20221227/MachineExtension.cs @@ -143,7 +143,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221110:MachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:MachineExtension"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:MachineExtension"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/V20221227/PrivateEndpointConnection.cs b/sdk/dotnet/HybridCompute/V20221227/PrivateEndpointConnection.cs index 2b75a672d62e..0fa93e5696bb 100644 --- a/sdk/dotnet/HybridCompute/V20221227/PrivateEndpointConnection.cs +++ b/sdk/dotnet/HybridCompute/V20221227/PrivateEndpointConnection.cs @@ -79,7 +79,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221110:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/V20221227/PrivateLinkScope.cs b/sdk/dotnet/HybridCompute/V20221227/PrivateLinkScope.cs index 8a30d11678ea..14e6460a399a 100644 --- a/sdk/dotnet/HybridCompute/V20221227/PrivateLinkScope.cs +++ b/sdk/dotnet/HybridCompute/V20221227/PrivateLinkScope.cs @@ -91,7 +91,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221110:PrivateLinkScope"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:PrivateLinkScope"}, new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230425preview:PrivateLinkScope"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Enums.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Enums.cs deleted file mode 100644 index 1a5463c2f8f7..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Enums.cs +++ /dev/null @@ -1,205 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.ComponentModel; -using Pulumi; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview -{ - /// - /// Specifies the assessment mode. - /// - [EnumType] - public readonly struct AssessmentModeTypes : IEquatable - { - private readonly string _value; - - private AssessmentModeTypes(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static AssessmentModeTypes ImageDefault { get; } = new AssessmentModeTypes("ImageDefault"); - public static AssessmentModeTypes AutomaticByPlatform { get; } = new AssessmentModeTypes("AutomaticByPlatform"); - - public static bool operator ==(AssessmentModeTypes left, AssessmentModeTypes right) => left.Equals(right); - public static bool operator !=(AssessmentModeTypes left, AssessmentModeTypes right) => !left.Equals(right); - - public static explicit operator string(AssessmentModeTypes value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is AssessmentModeTypes other && Equals(other); - public bool Equals(AssessmentModeTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - /// - /// Specifies the patch mode. - /// - [EnumType] - public readonly struct PatchModeTypes : IEquatable - { - private readonly string _value; - - private PatchModeTypes(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static PatchModeTypes ImageDefault { get; } = new PatchModeTypes("ImageDefault"); - public static PatchModeTypes AutomaticByPlatform { get; } = new PatchModeTypes("AutomaticByPlatform"); - public static PatchModeTypes AutomaticByOS { get; } = new PatchModeTypes("AutomaticByOS"); - public static PatchModeTypes Manual { get; } = new PatchModeTypes("Manual"); - - public static bool operator ==(PatchModeTypes left, PatchModeTypes right) => left.Equals(right); - public static bool operator !=(PatchModeTypes left, PatchModeTypes right) => !left.Equals(right); - - public static explicit operator string(PatchModeTypes value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is PatchModeTypes other && Equals(other); - public bool Equals(PatchModeTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - /// - /// Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - /// - [EnumType] - public readonly struct PrivateCloudKind : IEquatable - { - private readonly string _value; - - private PrivateCloudKind(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static PrivateCloudKind AVS { get; } = new PrivateCloudKind("AVS"); - public static PrivateCloudKind HCI { get; } = new PrivateCloudKind("HCI"); - public static PrivateCloudKind SCVMM { get; } = new PrivateCloudKind("SCVMM"); - public static PrivateCloudKind VMware { get; } = new PrivateCloudKind("VMware"); - - public static bool operator ==(PrivateCloudKind left, PrivateCloudKind right) => left.Equals(right); - public static bool operator !=(PrivateCloudKind left, PrivateCloudKind right) => !left.Equals(right); - - public static explicit operator string(PrivateCloudKind value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is PrivateCloudKind other && Equals(other); - public bool Equals(PrivateCloudKind other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - /// - /// Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. - /// - [EnumType] - public readonly struct PublicNetworkAccessType : IEquatable - { - private readonly string _value; - - private PublicNetworkAccessType(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - /// - /// Allows Azure Arc agents to communicate with Azure Arc services over both public (internet) and private endpoints. - /// - public static PublicNetworkAccessType Enabled { get; } = new PublicNetworkAccessType("Enabled"); - /// - /// Does not allow Azure Arc agents to communicate with Azure Arc services over public (internet) endpoints. The agents must use the private link. - /// - public static PublicNetworkAccessType Disabled { get; } = new PublicNetworkAccessType("Disabled"); - - public static bool operator ==(PublicNetworkAccessType left, PublicNetworkAccessType right) => left.Equals(right); - public static bool operator !=(PublicNetworkAccessType left, PublicNetworkAccessType right) => !left.Equals(right); - - public static explicit operator string(PublicNetworkAccessType value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is PublicNetworkAccessType other && Equals(other); - public bool Equals(PublicNetworkAccessType other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - /// - /// The identity type. - /// - [EnumType] - public readonly struct ResourceIdentityType : IEquatable - { - private readonly string _value; - - private ResourceIdentityType(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static ResourceIdentityType SystemAssigned { get; } = new ResourceIdentityType("SystemAssigned"); - - public static bool operator ==(ResourceIdentityType left, ResourceIdentityType right) => left.Equals(right); - public static bool operator !=(ResourceIdentityType left, ResourceIdentityType right) => !left.Equals(right); - - public static explicit operator string(ResourceIdentityType value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is ResourceIdentityType other && Equals(other); - public bool Equals(ResourceIdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - /// - /// The level code. - /// - [EnumType] - public readonly struct StatusLevelTypes : IEquatable - { - private readonly string _value; - - private StatusLevelTypes(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static StatusLevelTypes Info { get; } = new StatusLevelTypes("Info"); - public static StatusLevelTypes Warning { get; } = new StatusLevelTypes("Warning"); - public static StatusLevelTypes Error { get; } = new StatusLevelTypes("Error"); - - public static bool operator ==(StatusLevelTypes left, StatusLevelTypes right) => left.Equals(right); - public static bool operator !=(StatusLevelTypes left, StatusLevelTypes right) => !left.Equals(right); - - public static explicit operator string(StatusLevelTypes value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is StatusLevelTypes other && Equals(other); - public bool Equals(StatusLevelTypes other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/GetMachine.cs b/sdk/dotnet/HybridCompute/V20230425Preview/GetMachine.cs deleted file mode 100644 index 5451b0d7b764..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/GetMachine.cs +++ /dev/null @@ -1,355 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview -{ - public static class GetMachine - { - /// - /// Retrieves information about the model view or the instance view of a hybrid machine. - /// - public static Task InvokeAsync(GetMachineArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:hybridcompute/v20230425preview:getMachine", args ?? new GetMachineArgs(), options.WithDefaults()); - - /// - /// Retrieves information about the model view or the instance view of a hybrid machine. - /// - public static Output Invoke(GetMachineInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("azure-native:hybridcompute/v20230425preview:getMachine", args ?? new GetMachineInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetMachineArgs : global::Pulumi.InvokeArgs - { - /// - /// The expand expression to apply on the operation. - /// - [Input("expand")] - public string? Expand { get; set; } - - /// - /// The name of the hybrid machine. - /// - [Input("machineName", required: true)] - public string MachineName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public string ResourceGroupName { get; set; } = null!; - - public GetMachineArgs() - { - } - public static new GetMachineArgs Empty => new GetMachineArgs(); - } - - public sealed class GetMachineInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// The expand expression to apply on the operation. - /// - [Input("expand")] - public Input? Expand { get; set; } - - /// - /// The name of the hybrid machine. - /// - [Input("machineName", required: true)] - public Input MachineName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - public GetMachineInvokeArgs() - { - } - public static new GetMachineInvokeArgs Empty => new GetMachineInvokeArgs(); - } - - - [OutputType] - public sealed class GetMachineResult - { - /// - /// Specifies the AD fully qualified display name. - /// - public readonly string AdFqdn; - /// - /// Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. - /// - public readonly Outputs.AgentConfigurationResponse AgentConfiguration; - /// - /// The info of the machine w.r.t Agent Upgrade - /// - public readonly Outputs.AgentUpgradeResponse? AgentUpgrade; - /// - /// The hybrid machine agent full version. - /// - public readonly string AgentVersion; - /// - /// Public Key that the client provides to be used during initial resource onboarding - /// - public readonly string? ClientPublicKey; - /// - /// The metadata of the cloud environment (Azure/GCP/AWS/OCI...). - /// - public readonly Outputs.CloudMetadataResponse? CloudMetadata; - /// - /// Detected properties from the machine. - /// - public readonly ImmutableDictionary DetectedProperties; - /// - /// Specifies the hybrid machine display name. - /// - public readonly string DisplayName; - /// - /// Specifies the DNS fully qualified display name. - /// - public readonly string DnsFqdn; - /// - /// Specifies the Windows domain name. - /// - public readonly string DomainName; - /// - /// Details about the error state. - /// - public readonly ImmutableArray ErrorDetails; - /// - /// Machine Extensions information (deprecated field) - /// - public readonly ImmutableArray Extensions; - /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - /// - public readonly string Id; - /// - /// Identity for the resource. - /// - public readonly Outputs.IdentityResponse? Identity; - /// - /// Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - /// - public readonly string? Kind; - /// - /// The time of the last status change. - /// - public readonly string LastStatusChange; - /// - /// The geo-location where the resource lives - /// - public readonly string Location; - /// - /// Metadata pertaining to the geographic location of the resource. - /// - public readonly Outputs.LocationDataResponse? LocationData; - /// - /// Specifies the hybrid machine FQDN. - /// - public readonly string MachineFqdn; - /// - /// Specifies whether any MS SQL instance is discovered on the machine. - /// - public readonly string? MssqlDiscovered; - /// - /// The name of the resource - /// - public readonly string Name; - /// - /// Information about the network the machine is on. - /// - public readonly Outputs.NetworkProfileResponse NetworkProfile; - /// - /// The Operating System running on the hybrid machine. - /// - public readonly string OsName; - /// - /// Specifies the operating system settings for the hybrid machine. - /// - public readonly Outputs.OSProfileResponse? OsProfile; - /// - /// Specifies the Operating System product SKU. - /// - public readonly string OsSku; - /// - /// The type of Operating System (windows/linux). - /// - public readonly string? OsType; - /// - /// The version of Operating System running on the hybrid machine. - /// - public readonly string OsVersion; - /// - /// The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - /// - public readonly string? ParentClusterResourceId; - /// - /// The resource id of the private link scope this machine is assigned to, if any. - /// - public readonly string? PrivateLinkScopeResourceId; - /// - /// The provisioning state, which only appears in the response. - /// - public readonly string ProvisioningState; - /// - /// The list of extensions affiliated to the machine - /// - public readonly ImmutableArray Resources; - /// - /// Statuses of dependent services that are reported back to ARM. - /// - public readonly Outputs.ServiceStatusesResponse? ServiceStatuses; - /// - /// The status of the hybrid machine agent. - /// - public readonly string Status; - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - public readonly Outputs.SystemDataResponse SystemData; - /// - /// Resource tags. - /// - public readonly ImmutableDictionary? Tags; - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - public readonly string Type; - /// - /// Specifies the hybrid machine unique ID. - /// - public readonly string? VmId; - /// - /// Specifies the Arc Machine's unique SMBIOS ID - /// - public readonly string VmUuid; - - [OutputConstructor] - private GetMachineResult( - string adFqdn, - - Outputs.AgentConfigurationResponse agentConfiguration, - - Outputs.AgentUpgradeResponse? agentUpgrade, - - string agentVersion, - - string? clientPublicKey, - - Outputs.CloudMetadataResponse? cloudMetadata, - - ImmutableDictionary detectedProperties, - - string displayName, - - string dnsFqdn, - - string domainName, - - ImmutableArray errorDetails, - - ImmutableArray extensions, - - string id, - - Outputs.IdentityResponse? identity, - - string? kind, - - string lastStatusChange, - - string location, - - Outputs.LocationDataResponse? locationData, - - string machineFqdn, - - string? mssqlDiscovered, - - string name, - - Outputs.NetworkProfileResponse networkProfile, - - string osName, - - Outputs.OSProfileResponse? osProfile, - - string osSku, - - string? osType, - - string osVersion, - - string? parentClusterResourceId, - - string? privateLinkScopeResourceId, - - string provisioningState, - - ImmutableArray resources, - - Outputs.ServiceStatusesResponse? serviceStatuses, - - string status, - - Outputs.SystemDataResponse systemData, - - ImmutableDictionary? tags, - - string type, - - string? vmId, - - string vmUuid) - { - AdFqdn = adFqdn; - AgentConfiguration = agentConfiguration; - AgentUpgrade = agentUpgrade; - AgentVersion = agentVersion; - ClientPublicKey = clientPublicKey; - CloudMetadata = cloudMetadata; - DetectedProperties = detectedProperties; - DisplayName = displayName; - DnsFqdn = dnsFqdn; - DomainName = domainName; - ErrorDetails = errorDetails; - Extensions = extensions; - Id = id; - Identity = identity; - Kind = kind; - LastStatusChange = lastStatusChange; - Location = location; - LocationData = locationData; - MachineFqdn = machineFqdn; - MssqlDiscovered = mssqlDiscovered; - Name = name; - NetworkProfile = networkProfile; - OsName = osName; - OsProfile = osProfile; - OsSku = osSku; - OsType = osType; - OsVersion = osVersion; - ParentClusterResourceId = parentClusterResourceId; - PrivateLinkScopeResourceId = privateLinkScopeResourceId; - ProvisioningState = provisioningState; - Resources = resources; - ServiceStatuses = serviceStatuses; - Status = status; - SystemData = systemData; - Tags = tags; - Type = type; - VmId = vmId; - VmUuid = vmUuid; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/GetMachineExtension.cs b/sdk/dotnet/HybridCompute/V20230425Preview/GetMachineExtension.cs deleted file mode 100644 index 6cd6abd2f550..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/GetMachineExtension.cs +++ /dev/null @@ -1,194 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview -{ - public static class GetMachineExtension - { - /// - /// The operation to get the extension. - /// - public static Task InvokeAsync(GetMachineExtensionArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:hybridcompute/v20230425preview:getMachineExtension", args ?? new GetMachineExtensionArgs(), options.WithDefaults()); - - /// - /// The operation to get the extension. - /// - public static Output Invoke(GetMachineExtensionInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("azure-native:hybridcompute/v20230425preview:getMachineExtension", args ?? new GetMachineExtensionInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetMachineExtensionArgs : global::Pulumi.InvokeArgs - { - /// - /// The name of the machine extension. - /// - [Input("extensionName", required: true)] - public string ExtensionName { get; set; } = null!; - - /// - /// The name of the machine containing the extension. - /// - [Input("machineName", required: true)] - public string MachineName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public string ResourceGroupName { get; set; } = null!; - - public GetMachineExtensionArgs() - { - } - public static new GetMachineExtensionArgs Empty => new GetMachineExtensionArgs(); - } - - public sealed class GetMachineExtensionInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// The name of the machine extension. - /// - [Input("extensionName", required: true)] - public Input ExtensionName { get; set; } = null!; - - /// - /// The name of the machine containing the extension. - /// - [Input("machineName", required: true)] - public Input MachineName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - public GetMachineExtensionInvokeArgs() - { - } - public static new GetMachineExtensionInvokeArgs Empty => new GetMachineExtensionInvokeArgs(); - } - - - [OutputType] - public sealed class GetMachineExtensionResult - { - /// - /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - /// - public readonly bool? AutoUpgradeMinorVersion; - /// - /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - /// - public readonly bool? EnableAutomaticUpgrade; - /// - /// How the extension handler should be forced to update even if the extension configuration has not changed. - /// - public readonly string? ForceUpdateTag; - /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - /// - public readonly string Id; - /// - /// The machine extension instance view. - /// - public readonly Outputs.MachineExtensionInstanceViewResponse? InstanceView; - /// - /// The geo-location where the resource lives - /// - public readonly string Location; - /// - /// The name of the resource - /// - public readonly string Name; - /// - /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - /// - public readonly object? ProtectedSettings; - /// - /// The provisioning state, which only appears in the response. - /// - public readonly string ProvisioningState; - /// - /// The name of the extension handler publisher. - /// - public readonly string? Publisher; - /// - /// Json formatted public settings for the extension. - /// - public readonly object? Settings; - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - public readonly Outputs.SystemDataResponse SystemData; - /// - /// Resource tags. - /// - public readonly ImmutableDictionary? Tags; - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - public readonly string Type; - /// - /// Specifies the version of the script handler. - /// - public readonly string? TypeHandlerVersion; - - [OutputConstructor] - private GetMachineExtensionResult( - bool? autoUpgradeMinorVersion, - - bool? enableAutomaticUpgrade, - - string? forceUpdateTag, - - string id, - - Outputs.MachineExtensionInstanceViewResponse? instanceView, - - string location, - - string name, - - object? protectedSettings, - - string provisioningState, - - string? publisher, - - object? settings, - - Outputs.SystemDataResponse systemData, - - ImmutableDictionary? tags, - - string type, - - string? typeHandlerVersion) - { - AutoUpgradeMinorVersion = autoUpgradeMinorVersion; - EnableAutomaticUpgrade = enableAutomaticUpgrade; - ForceUpdateTag = forceUpdateTag; - Id = id; - InstanceView = instanceView; - Location = location; - Name = name; - ProtectedSettings = protectedSettings; - ProvisioningState = provisioningState; - Publisher = publisher; - Settings = settings; - SystemData = systemData; - Tags = tags; - Type = type; - TypeHandlerVersion = typeHandlerVersion; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/GetMachineRunCommand.cs b/sdk/dotnet/HybridCompute/V20230425Preview/GetMachineRunCommand.cs deleted file mode 100644 index 40b59b0f0bcb..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/GetMachineRunCommand.cs +++ /dev/null @@ -1,222 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview -{ - public static class GetMachineRunCommand - { - /// - /// The operation to get a run command. - /// - public static Task InvokeAsync(GetMachineRunCommandArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:hybridcompute/v20230425preview:getMachineRunCommand", args ?? new GetMachineRunCommandArgs(), options.WithDefaults()); - - /// - /// The operation to get a run command. - /// - public static Output Invoke(GetMachineRunCommandInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("azure-native:hybridcompute/v20230425preview:getMachineRunCommand", args ?? new GetMachineRunCommandInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetMachineRunCommandArgs : global::Pulumi.InvokeArgs - { - /// - /// The name of the hybrid machine. - /// - [Input("machineName", required: true)] - public string MachineName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public string ResourceGroupName { get; set; } = null!; - - /// - /// The name of the run command. - /// - [Input("runCommandName", required: true)] - public string RunCommandName { get; set; } = null!; - - public GetMachineRunCommandArgs() - { - } - public static new GetMachineRunCommandArgs Empty => new GetMachineRunCommandArgs(); - } - - public sealed class GetMachineRunCommandInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// The name of the hybrid machine. - /// - [Input("machineName", required: true)] - public Input MachineName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// The name of the run command. - /// - [Input("runCommandName", required: true)] - public Input RunCommandName { get; set; } = null!; - - public GetMachineRunCommandInvokeArgs() - { - } - public static new GetMachineRunCommandInvokeArgs Empty => new GetMachineRunCommandInvokeArgs(); - } - - - [OutputType] - public sealed class GetMachineRunCommandResult - { - /// - /// Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - /// - public readonly bool? AsyncExecution; - /// - /// User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - /// - public readonly Outputs.RunCommandManagedIdentityResponse? ErrorBlobManagedIdentity; - /// - /// Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - /// - public readonly string? ErrorBlobUri; - /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - /// - public readonly string Id; - /// - /// The machine run command instance view. - /// - public readonly Outputs.MachineRunCommandInstanceViewResponse InstanceView; - /// - /// The geo-location where the resource lives - /// - public readonly string Location; - /// - /// The name of the resource - /// - public readonly string Name; - /// - /// User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - /// - public readonly Outputs.RunCommandManagedIdentityResponse? OutputBlobManagedIdentity; - /// - /// Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - /// - public readonly string? OutputBlobUri; - /// - /// The parameters used by the script. - /// - public readonly ImmutableArray Parameters; - /// - /// The parameters used by the script. - /// - public readonly ImmutableArray ProtectedParameters; - /// - /// The provisioning state, which only appears in the response. - /// - public readonly string ProvisioningState; - /// - /// Specifies the user account password on the machine when executing the run command. - /// - public readonly string? RunAsPassword; - /// - /// Specifies the user account on the machine when executing the run command. - /// - public readonly string? RunAsUser; - /// - /// The source of the run command script. - /// - public readonly Outputs.MachineRunCommandScriptSourceResponse? Source; - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - public readonly Outputs.SystemDataResponse SystemData; - /// - /// Resource tags. - /// - public readonly ImmutableDictionary? Tags; - /// - /// The timeout in seconds to execute the run command. - /// - public readonly int? TimeoutInSeconds; - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - public readonly string Type; - - [OutputConstructor] - private GetMachineRunCommandResult( - bool? asyncExecution, - - Outputs.RunCommandManagedIdentityResponse? errorBlobManagedIdentity, - - string? errorBlobUri, - - string id, - - Outputs.MachineRunCommandInstanceViewResponse instanceView, - - string location, - - string name, - - Outputs.RunCommandManagedIdentityResponse? outputBlobManagedIdentity, - - string? outputBlobUri, - - ImmutableArray parameters, - - ImmutableArray protectedParameters, - - string provisioningState, - - string? runAsPassword, - - string? runAsUser, - - Outputs.MachineRunCommandScriptSourceResponse? source, - - Outputs.SystemDataResponse systemData, - - ImmutableDictionary? tags, - - int? timeoutInSeconds, - - string type) - { - AsyncExecution = asyncExecution; - ErrorBlobManagedIdentity = errorBlobManagedIdentity; - ErrorBlobUri = errorBlobUri; - Id = id; - InstanceView = instanceView; - Location = location; - Name = name; - OutputBlobManagedIdentity = outputBlobManagedIdentity; - OutputBlobUri = outputBlobUri; - Parameters = parameters; - ProtectedParameters = protectedParameters; - ProvisioningState = provisioningState; - RunAsPassword = runAsPassword; - RunAsUser = runAsUser; - Source = source; - SystemData = systemData; - Tags = tags; - TimeoutInSeconds = timeoutInSeconds; - Type = type; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/GetPrivateEndpointConnection.cs b/sdk/dotnet/HybridCompute/V20230425Preview/GetPrivateEndpointConnection.cs deleted file mode 100644 index 971ef67c6124..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/GetPrivateEndpointConnection.cs +++ /dev/null @@ -1,124 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview -{ - public static class GetPrivateEndpointConnection - { - /// - /// Gets a private endpoint connection. - /// - public static Task InvokeAsync(GetPrivateEndpointConnectionArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:hybridcompute/v20230425preview:getPrivateEndpointConnection", args ?? new GetPrivateEndpointConnectionArgs(), options.WithDefaults()); - - /// - /// Gets a private endpoint connection. - /// - public static Output Invoke(GetPrivateEndpointConnectionInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("azure-native:hybridcompute/v20230425preview:getPrivateEndpointConnection", args ?? new GetPrivateEndpointConnectionInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetPrivateEndpointConnectionArgs : global::Pulumi.InvokeArgs - { - /// - /// The name of the private endpoint connection. - /// - [Input("privateEndpointConnectionName", required: true)] - public string PrivateEndpointConnectionName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public string ResourceGroupName { get; set; } = null!; - - /// - /// The name of the Azure Arc PrivateLinkScope resource. - /// - [Input("scopeName", required: true)] - public string ScopeName { get; set; } = null!; - - public GetPrivateEndpointConnectionArgs() - { - } - public static new GetPrivateEndpointConnectionArgs Empty => new GetPrivateEndpointConnectionArgs(); - } - - public sealed class GetPrivateEndpointConnectionInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// The name of the private endpoint connection. - /// - [Input("privateEndpointConnectionName", required: true)] - public Input PrivateEndpointConnectionName { get; set; } = null!; - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// The name of the Azure Arc PrivateLinkScope resource. - /// - [Input("scopeName", required: true)] - public Input ScopeName { get; set; } = null!; - - public GetPrivateEndpointConnectionInvokeArgs() - { - } - public static new GetPrivateEndpointConnectionInvokeArgs Empty => new GetPrivateEndpointConnectionInvokeArgs(); - } - - - [OutputType] - public sealed class GetPrivateEndpointConnectionResult - { - /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - /// - public readonly string Id; - /// - /// The name of the resource - /// - public readonly string Name; - /// - /// Resource properties. - /// - public readonly Outputs.PrivateEndpointConnectionPropertiesResponse Properties; - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - public readonly Outputs.SystemDataResponse SystemData; - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - public readonly string Type; - - [OutputConstructor] - private GetPrivateEndpointConnectionResult( - string id, - - string name, - - Outputs.PrivateEndpointConnectionPropertiesResponse properties, - - Outputs.SystemDataResponse systemData, - - string type) - { - Id = id; - Name = name; - Properties = properties; - SystemData = systemData; - Type = type; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/GetPrivateLinkScope.cs b/sdk/dotnet/HybridCompute/V20230425Preview/GetPrivateLinkScope.cs deleted file mode 100644 index 8c921f30ebee..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/GetPrivateLinkScope.cs +++ /dev/null @@ -1,126 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview -{ - public static class GetPrivateLinkScope - { - /// - /// Returns a Azure Arc PrivateLinkScope. - /// - public static Task InvokeAsync(GetPrivateLinkScopeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:hybridcompute/v20230425preview:getPrivateLinkScope", args ?? new GetPrivateLinkScopeArgs(), options.WithDefaults()); - - /// - /// Returns a Azure Arc PrivateLinkScope. - /// - public static Output Invoke(GetPrivateLinkScopeInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("azure-native:hybridcompute/v20230425preview:getPrivateLinkScope", args ?? new GetPrivateLinkScopeInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetPrivateLinkScopeArgs : global::Pulumi.InvokeArgs - { - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public string ResourceGroupName { get; set; } = null!; - - /// - /// The name of the Azure Arc PrivateLinkScope resource. - /// - [Input("scopeName", required: true)] - public string ScopeName { get; set; } = null!; - - public GetPrivateLinkScopeArgs() - { - } - public static new GetPrivateLinkScopeArgs Empty => new GetPrivateLinkScopeArgs(); - } - - public sealed class GetPrivateLinkScopeInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// The name of the Azure Arc PrivateLinkScope resource. - /// - [Input("scopeName", required: true)] - public Input ScopeName { get; set; } = null!; - - public GetPrivateLinkScopeInvokeArgs() - { - } - public static new GetPrivateLinkScopeInvokeArgs Empty => new GetPrivateLinkScopeInvokeArgs(); - } - - - [OutputType] - public sealed class GetPrivateLinkScopeResult - { - /// - /// Azure resource Id - /// - public readonly string Id; - /// - /// Resource location - /// - public readonly string Location; - /// - /// Azure resource name - /// - public readonly string Name; - /// - /// Properties that define a Azure Arc PrivateLinkScope resource. - /// - public readonly Outputs.HybridComputePrivateLinkScopePropertiesResponse Properties; - /// - /// The system meta data relating to this resource. - /// - public readonly Outputs.SystemDataResponse SystemData; - /// - /// Resource tags - /// - public readonly ImmutableDictionary? Tags; - /// - /// Azure resource type - /// - public readonly string Type; - - [OutputConstructor] - private GetPrivateLinkScopeResult( - string id, - - string location, - - string name, - - Outputs.HybridComputePrivateLinkScopePropertiesResponse properties, - - Outputs.SystemDataResponse systemData, - - ImmutableDictionary? tags, - - string type) - { - Id = id; - Location = location; - Name = name; - Properties = properties; - SystemData = systemData; - Tags = tags; - Type = type; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/AgentUpgradeArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/AgentUpgradeArgs.cs deleted file mode 100644 index 5df9763e5c2e..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/AgentUpgradeArgs.cs +++ /dev/null @@ -1,41 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// The info w.r.t Agent Upgrade. - /// - public sealed class AgentUpgradeArgs : global::Pulumi.ResourceArgs - { - /// - /// The correlation ID passed in from RSM per upgrade. - /// - [Input("correlationId")] - public Input? CorrelationId { get; set; } - - /// - /// Specifies the version info w.r.t AgentUpgrade for the machine. - /// - [Input("desiredVersion")] - public Input? DesiredVersion { get; set; } - - /// - /// Specifies if RSM should try to upgrade this machine - /// - [Input("enableAutomaticUpgrade")] - public Input? EnableAutomaticUpgrade { get; set; } - - public AgentUpgradeArgs() - { - } - public static new AgentUpgradeArgs Empty => new AgentUpgradeArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/HybridComputePrivateLinkScopePropertiesArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/HybridComputePrivateLinkScopePropertiesArgs.cs deleted file mode 100644 index 1b2e5cf19b0c..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/HybridComputePrivateLinkScopePropertiesArgs.cs +++ /dev/null @@ -1,29 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Properties that define a Azure Arc PrivateLinkScope resource. - /// - public sealed class HybridComputePrivateLinkScopePropertiesArgs : global::Pulumi.ResourceArgs - { - /// - /// Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. - /// - [Input("publicNetworkAccess")] - public InputUnion? PublicNetworkAccess { get; set; } - - public HybridComputePrivateLinkScopePropertiesArgs() - { - } - public static new HybridComputePrivateLinkScopePropertiesArgs Empty => new HybridComputePrivateLinkScopePropertiesArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/IdentityArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/IdentityArgs.cs deleted file mode 100644 index 8abeb61cf1c4..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/IdentityArgs.cs +++ /dev/null @@ -1,29 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Identity for the resource. - /// - public sealed class IdentityArgs : global::Pulumi.ResourceArgs - { - /// - /// The identity type. - /// - [Input("type")] - public Input? Type { get; set; } - - public IdentityArgs() - { - } - public static new IdentityArgs Empty => new IdentityArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/LocationDataArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/LocationDataArgs.cs deleted file mode 100644 index 182edd6a1850..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/LocationDataArgs.cs +++ /dev/null @@ -1,47 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Metadata pertaining to the geographic location of the resource. - /// - public sealed class LocationDataArgs : global::Pulumi.ResourceArgs - { - /// - /// The city or locality where the resource is located. - /// - [Input("city")] - public Input? City { get; set; } - - /// - /// The country or region where the resource is located - /// - [Input("countryOrRegion")] - public Input? CountryOrRegion { get; set; } - - /// - /// The district, state, or province where the resource is located. - /// - [Input("district")] - public Input? District { get; set; } - - /// - /// A canonical name for the geographic or physical location. - /// - [Input("name", required: true)] - public Input Name { get; set; } = null!; - - public LocationDataArgs() - { - } - public static new LocationDataArgs Empty => new LocationDataArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/MachineExtensionInstanceViewArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/MachineExtensionInstanceViewArgs.cs deleted file mode 100644 index b2aa5b05c16b..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/MachineExtensionInstanceViewArgs.cs +++ /dev/null @@ -1,47 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Describes the Machine Extension Instance View. - /// - public sealed class MachineExtensionInstanceViewArgs : global::Pulumi.ResourceArgs - { - /// - /// The machine extension name. - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// Instance view status. - /// - [Input("status")] - public Input? Status { get; set; } - - /// - /// Specifies the type of the extension; an example is "CustomScriptExtension". - /// - [Input("type")] - public Input? Type { get; set; } - - /// - /// Specifies the version of the script handler. - /// - [Input("typeHandlerVersion")] - public Input? TypeHandlerVersion { get; set; } - - public MachineExtensionInstanceViewArgs() - { - } - public static new MachineExtensionInstanceViewArgs Empty => new MachineExtensionInstanceViewArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/MachineExtensionInstanceViewStatusArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/MachineExtensionInstanceViewStatusArgs.cs deleted file mode 100644 index af66dda55f9d..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/MachineExtensionInstanceViewStatusArgs.cs +++ /dev/null @@ -1,53 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Instance view status. - /// - public sealed class MachineExtensionInstanceViewStatusArgs : global::Pulumi.ResourceArgs - { - /// - /// The status code. - /// - [Input("code")] - public Input? Code { get; set; } - - /// - /// The short localizable label for the status. - /// - [Input("displayStatus")] - public Input? DisplayStatus { get; set; } - - /// - /// The level code. - /// - [Input("level")] - public InputUnion? Level { get; set; } - - /// - /// The detailed status message, including for alerts and error messages. - /// - [Input("message")] - public Input? Message { get; set; } - - /// - /// The time of the status. - /// - [Input("time")] - public Input? Time { get; set; } - - public MachineExtensionInstanceViewStatusArgs() - { - } - public static new MachineExtensionInstanceViewStatusArgs Empty => new MachineExtensionInstanceViewStatusArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/MachineRunCommandScriptSourceArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/MachineRunCommandScriptSourceArgs.cs deleted file mode 100644 index 63b61ebba6a2..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/MachineRunCommandScriptSourceArgs.cs +++ /dev/null @@ -1,47 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Describes the script sources for run command. Use only one of script, scriptUri, commandId. - /// - public sealed class MachineRunCommandScriptSourceArgs : global::Pulumi.ResourceArgs - { - /// - /// Specifies the commandId of predefined built-in script. - /// - [Input("commandId")] - public Input? CommandId { get; set; } - - /// - /// Specifies the script content to be executed on the machine. - /// - [Input("script")] - public Input? Script { get; set; } - - /// - /// Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - /// - [Input("scriptUri")] - public Input? ScriptUri { get; set; } - - /// - /// User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - /// - [Input("scriptUriManagedIdentity")] - public Input? ScriptUriManagedIdentity { get; set; } - - public MachineRunCommandScriptSourceArgs() - { - } - public static new MachineRunCommandScriptSourceArgs Empty => new MachineRunCommandScriptSourceArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/OSProfileArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/OSProfileArgs.cs deleted file mode 100644 index 82a93fdaaf48..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/OSProfileArgs.cs +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Specifies the operating system settings for the hybrid machine. - /// - public sealed class OSProfileArgs : global::Pulumi.ResourceArgs - { - /// - /// Specifies the linux configuration for update management. - /// - [Input("linuxConfiguration")] - public Input? LinuxConfiguration { get; set; } - - /// - /// Specifies the windows configuration for update management. - /// - [Input("windowsConfiguration")] - public Input? WindowsConfiguration { get; set; } - - public OSProfileArgs() - { - } - public static new OSProfileArgs Empty => new OSProfileArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/OSProfileLinuxConfigurationArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/OSProfileLinuxConfigurationArgs.cs deleted file mode 100644 index b2c307cd20dd..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/OSProfileLinuxConfigurationArgs.cs +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Specifies the linux configuration for update management. - /// - public sealed class OSProfileLinuxConfigurationArgs : global::Pulumi.ResourceArgs - { - /// - /// Specifies the assessment mode. - /// - [Input("assessmentMode")] - public InputUnion? AssessmentMode { get; set; } - - /// - /// Specifies the patch mode. - /// - [Input("patchMode")] - public InputUnion? PatchMode { get; set; } - - public OSProfileLinuxConfigurationArgs() - { - } - public static new OSProfileLinuxConfigurationArgs Empty => new OSProfileLinuxConfigurationArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/OSProfileWindowsConfigurationArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/OSProfileWindowsConfigurationArgs.cs deleted file mode 100644 index 59248749b8b4..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/OSProfileWindowsConfigurationArgs.cs +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Specifies the windows configuration for update management. - /// - public sealed class OSProfileWindowsConfigurationArgs : global::Pulumi.ResourceArgs - { - /// - /// Specifies the assessment mode. - /// - [Input("assessmentMode")] - public InputUnion? AssessmentMode { get; set; } - - /// - /// Specifies the patch mode. - /// - [Input("patchMode")] - public InputUnion? PatchMode { get; set; } - - public OSProfileWindowsConfigurationArgs() - { - } - public static new OSProfileWindowsConfigurationArgs Empty => new OSProfileWindowsConfigurationArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/PrivateEndpointConnectionPropertiesArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/PrivateEndpointConnectionPropertiesArgs.cs deleted file mode 100644 index 902bb412530a..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/PrivateEndpointConnectionPropertiesArgs.cs +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Properties of a private endpoint connection. - /// - public sealed class PrivateEndpointConnectionPropertiesArgs : global::Pulumi.ResourceArgs - { - /// - /// Private endpoint which the connection belongs to. - /// - [Input("privateEndpoint")] - public Input? PrivateEndpoint { get; set; } - - /// - /// Connection state of the private endpoint connection. - /// - [Input("privateLinkServiceConnectionState")] - public Input? PrivateLinkServiceConnectionState { get; set; } - - public PrivateEndpointConnectionPropertiesArgs() - { - } - public static new PrivateEndpointConnectionPropertiesArgs Empty => new PrivateEndpointConnectionPropertiesArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/PrivateEndpointPropertyArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/PrivateEndpointPropertyArgs.cs deleted file mode 100644 index f197a0b6040a..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/PrivateEndpointPropertyArgs.cs +++ /dev/null @@ -1,29 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Private endpoint which the connection belongs to. - /// - public sealed class PrivateEndpointPropertyArgs : global::Pulumi.ResourceArgs - { - /// - /// Resource id of the private endpoint. - /// - [Input("id")] - public Input? Id { get; set; } - - public PrivateEndpointPropertyArgs() - { - } - public static new PrivateEndpointPropertyArgs Empty => new PrivateEndpointPropertyArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/PrivateLinkServiceConnectionStatePropertyArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/PrivateLinkServiceConnectionStatePropertyArgs.cs deleted file mode 100644 index 865726522fa3..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/PrivateLinkServiceConnectionStatePropertyArgs.cs +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// State of the private endpoint connection. - /// - public sealed class PrivateLinkServiceConnectionStatePropertyArgs : global::Pulumi.ResourceArgs - { - /// - /// The private link service connection description. - /// - [Input("description", required: true)] - public Input Description { get; set; } = null!; - - /// - /// The private link service connection status. - /// - [Input("status", required: true)] - public Input Status { get; set; } = null!; - - public PrivateLinkServiceConnectionStatePropertyArgs() - { - } - public static new PrivateLinkServiceConnectionStatePropertyArgs Empty => new PrivateLinkServiceConnectionStatePropertyArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/RunCommandInputParameterArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/RunCommandInputParameterArgs.cs deleted file mode 100644 index 597f80dec4fd..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/RunCommandInputParameterArgs.cs +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Describes the properties of a run command parameter. - /// - public sealed class RunCommandInputParameterArgs : global::Pulumi.ResourceArgs - { - /// - /// The run command parameter name. - /// - [Input("name", required: true)] - public Input Name { get; set; } = null!; - - /// - /// The run command parameter value. - /// - [Input("value", required: true)] - public Input Value { get; set; } = null!; - - public RunCommandInputParameterArgs() - { - } - public static new RunCommandInputParameterArgs Empty => new RunCommandInputParameterArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/RunCommandManagedIdentityArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/RunCommandManagedIdentityArgs.cs deleted file mode 100644 index c3b9e6abc361..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/RunCommandManagedIdentityArgs.cs +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - /// - public sealed class RunCommandManagedIdentityArgs : global::Pulumi.ResourceArgs - { - /// - /// Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - /// - [Input("clientId")] - public Input? ClientId { get; set; } - - /// - /// Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - /// - [Input("objectId")] - public Input? ObjectId { get; set; } - - public RunCommandManagedIdentityArgs() - { - } - public static new RunCommandManagedIdentityArgs Empty => new RunCommandManagedIdentityArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/ServiceStatusArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/ServiceStatusArgs.cs deleted file mode 100644 index bed5ff7c1a4b..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/ServiceStatusArgs.cs +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Describes the status and behavior of a service. - /// - public sealed class ServiceStatusArgs : global::Pulumi.ResourceArgs - { - /// - /// The behavior of the service when the Arc-enabled machine starts up. - /// - [Input("startupType")] - public Input? StartupType { get; set; } - - /// - /// The current status of the service. - /// - [Input("status")] - public Input? Status { get; set; } - - public ServiceStatusArgs() - { - } - public static new ServiceStatusArgs Empty => new ServiceStatusArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/ServiceStatusesArgs.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/ServiceStatusesArgs.cs deleted file mode 100644 index 162f1130ee1f..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Inputs/ServiceStatusesArgs.cs +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Inputs -{ - - /// - /// Reports the state and behavior of dependent services. - /// - public sealed class ServiceStatusesArgs : global::Pulumi.ResourceArgs - { - /// - /// The state of the extension service on the Arc-enabled machine. - /// - [Input("extensionService")] - public Input? ExtensionService { get; set; } - - /// - /// The state of the guest configuration service on the Arc-enabled machine. - /// - [Input("guestConfigurationService")] - public Input? GuestConfigurationService { get; set; } - - public ServiceStatusesArgs() - { - } - public static new ServiceStatusesArgs Empty => new ServiceStatusesArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Machine.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Machine.cs deleted file mode 100644 index e5cbb40d8aed..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Machine.cs +++ /dev/null @@ -1,428 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview -{ - /// - /// Describes a hybrid machine. - /// - [AzureNativeResourceType("azure-native:hybridcompute/v20230425preview:Machine")] - public partial class Machine : global::Pulumi.CustomResource - { - /// - /// Specifies the AD fully qualified display name. - /// - [Output("adFqdn")] - public Output AdFqdn { get; private set; } = null!; - - /// - /// Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. - /// - [Output("agentConfiguration")] - public Output AgentConfiguration { get; private set; } = null!; - - /// - /// The info of the machine w.r.t Agent Upgrade - /// - [Output("agentUpgrade")] - public Output AgentUpgrade { get; private set; } = null!; - - /// - /// The hybrid machine agent full version. - /// - [Output("agentVersion")] - public Output AgentVersion { get; private set; } = null!; - - /// - /// Public Key that the client provides to be used during initial resource onboarding - /// - [Output("clientPublicKey")] - public Output ClientPublicKey { get; private set; } = null!; - - /// - /// The metadata of the cloud environment (Azure/GCP/AWS/OCI...). - /// - [Output("cloudMetadata")] - public Output CloudMetadata { get; private set; } = null!; - - /// - /// Detected properties from the machine. - /// - [Output("detectedProperties")] - public Output> DetectedProperties { get; private set; } = null!; - - /// - /// Specifies the hybrid machine display name. - /// - [Output("displayName")] - public Output DisplayName { get; private set; } = null!; - - /// - /// Specifies the DNS fully qualified display name. - /// - [Output("dnsFqdn")] - public Output DnsFqdn { get; private set; } = null!; - - /// - /// Specifies the Windows domain name. - /// - [Output("domainName")] - public Output DomainName { get; private set; } = null!; - - /// - /// Details about the error state. - /// - [Output("errorDetails")] - public Output> ErrorDetails { get; private set; } = null!; - - /// - /// Machine Extensions information (deprecated field) - /// - [Output("extensions")] - public Output> Extensions { get; private set; } = null!; - - /// - /// Identity for the resource. - /// - [Output("identity")] - public Output Identity { get; private set; } = null!; - - /// - /// Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - /// - [Output("kind")] - public Output Kind { get; private set; } = null!; - - /// - /// The time of the last status change. - /// - [Output("lastStatusChange")] - public Output LastStatusChange { get; private set; } = null!; - - /// - /// The geo-location where the resource lives - /// - [Output("location")] - public Output Location { get; private set; } = null!; - - /// - /// Metadata pertaining to the geographic location of the resource. - /// - [Output("locationData")] - public Output LocationData { get; private set; } = null!; - - /// - /// Specifies the hybrid machine FQDN. - /// - [Output("machineFqdn")] - public Output MachineFqdn { get; private set; } = null!; - - /// - /// Specifies whether any MS SQL instance is discovered on the machine. - /// - [Output("mssqlDiscovered")] - public Output MssqlDiscovered { get; private set; } = null!; - - /// - /// The name of the resource - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// Information about the network the machine is on. - /// - [Output("networkProfile")] - public Output NetworkProfile { get; private set; } = null!; - - /// - /// The Operating System running on the hybrid machine. - /// - [Output("osName")] - public Output OsName { get; private set; } = null!; - - /// - /// Specifies the operating system settings for the hybrid machine. - /// - [Output("osProfile")] - public Output OsProfile { get; private set; } = null!; - - /// - /// Specifies the Operating System product SKU. - /// - [Output("osSku")] - public Output OsSku { get; private set; } = null!; - - /// - /// The type of Operating System (windows/linux). - /// - [Output("osType")] - public Output OsType { get; private set; } = null!; - - /// - /// The version of Operating System running on the hybrid machine. - /// - [Output("osVersion")] - public Output OsVersion { get; private set; } = null!; - - /// - /// The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - /// - [Output("parentClusterResourceId")] - public Output ParentClusterResourceId { get; private set; } = null!; - - /// - /// The resource id of the private link scope this machine is assigned to, if any. - /// - [Output("privateLinkScopeResourceId")] - public Output PrivateLinkScopeResourceId { get; private set; } = null!; - - /// - /// The provisioning state, which only appears in the response. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// The list of extensions affiliated to the machine - /// - [Output("resources")] - public Output> Resources { get; private set; } = null!; - - /// - /// Statuses of dependent services that are reported back to ARM. - /// - [Output("serviceStatuses")] - public Output ServiceStatuses { get; private set; } = null!; - - /// - /// The status of the hybrid machine agent. - /// - [Output("status")] - public Output Status { get; private set; } = null!; - - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - [Output("systemData")] - public Output SystemData { get; private set; } = null!; - - /// - /// Resource tags. - /// - [Output("tags")] - public Output?> Tags { get; private set; } = null!; - - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - [Output("type")] - public Output Type { get; private set; } = null!; - - /// - /// Specifies the hybrid machine unique ID. - /// - [Output("vmId")] - public Output VmId { get; private set; } = null!; - - /// - /// Specifies the Arc Machine's unique SMBIOS ID - /// - [Output("vmUuid")] - public Output VmUuid { get; private set; } = null!; - - - /// - /// Create a Machine resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public Machine(string name, MachineArgs args, CustomResourceOptions? options = null) - : base("azure-native:hybridcompute/v20230425preview:Machine", name, args ?? new MachineArgs(), MakeResourceOptions(options, "")) - { - } - - private Machine(string name, Input id, CustomResourceOptions? options = null) - : base("azure-native:hybridcompute/v20230425preview:Machine", name, null, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - Aliases = - { - new global::Pulumi.Alias { Type = "azure-native:hybridcompute:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20190318preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20190802preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20191212:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20200730preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20200802:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20200815preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210128preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210325preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210422preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210517preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210520:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210610preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20211210preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20220310:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20220510preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20220811preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221110:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:Machine"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:Machine"}, - }, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing Machine resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// A bag of options that control this resource's behavior - public static Machine Get(string name, Input id, CustomResourceOptions? options = null) - { - return new Machine(name, id, options); - } - } - - public sealed class MachineArgs : global::Pulumi.ResourceArgs - { - /// - /// The info of the machine w.r.t Agent Upgrade - /// - [Input("agentUpgrade")] - public Input? AgentUpgrade { get; set; } - - /// - /// Public Key that the client provides to be used during initial resource onboarding - /// - [Input("clientPublicKey")] - public Input? ClientPublicKey { get; set; } - - [Input("extensions")] - private InputList? _extensions; - - /// - /// Machine Extensions information (deprecated field) - /// - public InputList Extensions - { - get => _extensions ?? (_extensions = new InputList()); - set => _extensions = value; - } - - /// - /// Identity for the resource. - /// - [Input("identity")] - public Input? Identity { get; set; } - - /// - /// Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - /// - [Input("kind")] - public InputUnion? Kind { get; set; } - - /// - /// The geo-location where the resource lives - /// - [Input("location")] - public Input? Location { get; set; } - - /// - /// Metadata pertaining to the geographic location of the resource. - /// - [Input("locationData")] - public Input? LocationData { get; set; } - - /// - /// The name of the hybrid machine. - /// - [Input("machineName")] - public Input? MachineName { get; set; } - - /// - /// Specifies whether any MS SQL instance is discovered on the machine. - /// - [Input("mssqlDiscovered")] - public Input? MssqlDiscovered { get; set; } - - /// - /// Specifies the operating system settings for the hybrid machine. - /// - [Input("osProfile")] - public Input? OsProfile { get; set; } - - /// - /// The type of Operating System (windows/linux). - /// - [Input("osType")] - public Input? OsType { get; set; } - - /// - /// The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - /// - [Input("parentClusterResourceId")] - public Input? ParentClusterResourceId { get; set; } - - /// - /// The resource id of the private link scope this machine is assigned to, if any. - /// - [Input("privateLinkScopeResourceId")] - public Input? PrivateLinkScopeResourceId { get; set; } - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// Statuses of dependent services that are reported back to ARM. - /// - [Input("serviceStatuses")] - public Input? ServiceStatuses { get; set; } - - [Input("tags")] - private InputMap? _tags; - - /// - /// Resource tags. - /// - public InputMap Tags - { - get => _tags ?? (_tags = new InputMap()); - set => _tags = value; - } - - /// - /// Specifies the hybrid machine unique ID. - /// - [Input("vmId")] - public Input? VmId { get; set; } - - public MachineArgs() - { - } - public static new MachineArgs Empty => new MachineArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/MachineExtension.cs b/sdk/dotnet/HybridCompute/V20230425Preview/MachineExtension.cs deleted file mode 100644 index da12e66ff394..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/MachineExtension.cs +++ /dev/null @@ -1,265 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview -{ - /// - /// Describes a Machine Extension. - /// - [AzureNativeResourceType("azure-native:hybridcompute/v20230425preview:MachineExtension")] - public partial class MachineExtension : global::Pulumi.CustomResource - { - /// - /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - /// - [Output("autoUpgradeMinorVersion")] - public Output AutoUpgradeMinorVersion { get; private set; } = null!; - - /// - /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - /// - [Output("enableAutomaticUpgrade")] - public Output EnableAutomaticUpgrade { get; private set; } = null!; - - /// - /// How the extension handler should be forced to update even if the extension configuration has not changed. - /// - [Output("forceUpdateTag")] - public Output ForceUpdateTag { get; private set; } = null!; - - /// - /// The machine extension instance view. - /// - [Output("instanceView")] - public Output InstanceView { get; private set; } = null!; - - /// - /// The geo-location where the resource lives - /// - [Output("location")] - public Output Location { get; private set; } = null!; - - /// - /// The name of the resource - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - /// - [Output("protectedSettings")] - public Output ProtectedSettings { get; private set; } = null!; - - /// - /// The provisioning state, which only appears in the response. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// The name of the extension handler publisher. - /// - [Output("publisher")] - public Output Publisher { get; private set; } = null!; - - /// - /// Json formatted public settings for the extension. - /// - [Output("settings")] - public Output Settings { get; private set; } = null!; - - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - [Output("systemData")] - public Output SystemData { get; private set; } = null!; - - /// - /// Resource tags. - /// - [Output("tags")] - public Output?> Tags { get; private set; } = null!; - - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - [Output("type")] - public Output Type { get; private set; } = null!; - - /// - /// Specifies the version of the script handler. - /// - [Output("typeHandlerVersion")] - public Output TypeHandlerVersion { get; private set; } = null!; - - - /// - /// Create a MachineExtension resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public MachineExtension(string name, MachineExtensionArgs args, CustomResourceOptions? options = null) - : base("azure-native:hybridcompute/v20230425preview:MachineExtension", name, args ?? new MachineExtensionArgs(), MakeResourceOptions(options, "")) - { - } - - private MachineExtension(string name, Input id, CustomResourceOptions? options = null) - : base("azure-native:hybridcompute/v20230425preview:MachineExtension", name, null, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - Aliases = - { - new global::Pulumi.Alias { Type = "azure-native:hybridcompute:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20190802preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20191212:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20200730preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20200802:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20200815preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210128preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210325preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210422preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210517preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210520:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210610preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20211210preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20220310:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20220510preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20220811preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221110:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:MachineExtension"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:MachineExtension"}, - }, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing MachineExtension resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// A bag of options that control this resource's behavior - public static MachineExtension Get(string name, Input id, CustomResourceOptions? options = null) - { - return new MachineExtension(name, id, options); - } - } - - public sealed class MachineExtensionArgs : global::Pulumi.ResourceArgs - { - /// - /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - /// - [Input("autoUpgradeMinorVersion")] - public Input? AutoUpgradeMinorVersion { get; set; } - - /// - /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - /// - [Input("enableAutomaticUpgrade")] - public Input? EnableAutomaticUpgrade { get; set; } - - /// - /// The name of the machine extension. - /// - [Input("extensionName")] - public Input? ExtensionName { get; set; } - - /// - /// How the extension handler should be forced to update even if the extension configuration has not changed. - /// - [Input("forceUpdateTag")] - public Input? ForceUpdateTag { get; set; } - - /// - /// The machine extension instance view. - /// - [Input("instanceView")] - public Input? InstanceView { get; set; } - - /// - /// The geo-location where the resource lives - /// - [Input("location")] - public Input? Location { get; set; } - - /// - /// The name of the machine where the extension should be created or updated. - /// - [Input("machineName", required: true)] - public Input MachineName { get; set; } = null!; - - /// - /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - /// - [Input("protectedSettings")] - public Input? ProtectedSettings { get; set; } - - /// - /// The name of the extension handler publisher. - /// - [Input("publisher")] - public Input? Publisher { get; set; } - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// Json formatted public settings for the extension. - /// - [Input("settings")] - public Input? Settings { get; set; } - - [Input("tags")] - private InputMap? _tags; - - /// - /// Resource tags. - /// - public InputMap Tags - { - get => _tags ?? (_tags = new InputMap()); - set => _tags = value; - } - - /// - /// Specifies the type of the extension; an example is "CustomScriptExtension". - /// - [Input("type")] - public Input? Type { get; set; } - - /// - /// Specifies the version of the script handler. - /// - [Input("typeHandlerVersion")] - public Input? TypeHandlerVersion { get; set; } - - public MachineExtensionArgs() - { - } - public static new MachineExtensionArgs Empty => new MachineExtensionArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/MachineRunCommand.cs b/sdk/dotnet/HybridCompute/V20230425Preview/MachineRunCommand.cs deleted file mode 100644 index 7bfbc6caa5e6..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/MachineRunCommand.cs +++ /dev/null @@ -1,295 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview -{ - /// - /// Describes a Run Command - /// - [AzureNativeResourceType("azure-native:hybridcompute/v20230425preview:MachineRunCommand")] - public partial class MachineRunCommand : global::Pulumi.CustomResource - { - /// - /// Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - /// - [Output("asyncExecution")] - public Output AsyncExecution { get; private set; } = null!; - - /// - /// User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - /// - [Output("errorBlobManagedIdentity")] - public Output ErrorBlobManagedIdentity { get; private set; } = null!; - - /// - /// Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - /// - [Output("errorBlobUri")] - public Output ErrorBlobUri { get; private set; } = null!; - - /// - /// The machine run command instance view. - /// - [Output("instanceView")] - public Output InstanceView { get; private set; } = null!; - - /// - /// The geo-location where the resource lives - /// - [Output("location")] - public Output Location { get; private set; } = null!; - - /// - /// The name of the resource - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - /// - [Output("outputBlobManagedIdentity")] - public Output OutputBlobManagedIdentity { get; private set; } = null!; - - /// - /// Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - /// - [Output("outputBlobUri")] - public Output OutputBlobUri { get; private set; } = null!; - - /// - /// The parameters used by the script. - /// - [Output("parameters")] - public Output> Parameters { get; private set; } = null!; - - /// - /// The parameters used by the script. - /// - [Output("protectedParameters")] - public Output> ProtectedParameters { get; private set; } = null!; - - /// - /// The provisioning state, which only appears in the response. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// Specifies the user account password on the machine when executing the run command. - /// - [Output("runAsPassword")] - public Output RunAsPassword { get; private set; } = null!; - - /// - /// Specifies the user account on the machine when executing the run command. - /// - [Output("runAsUser")] - public Output RunAsUser { get; private set; } = null!; - - /// - /// The source of the run command script. - /// - [Output("source")] - public Output Source { get; private set; } = null!; - - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - [Output("systemData")] - public Output SystemData { get; private set; } = null!; - - /// - /// Resource tags. - /// - [Output("tags")] - public Output?> Tags { get; private set; } = null!; - - /// - /// The timeout in seconds to execute the run command. - /// - [Output("timeoutInSeconds")] - public Output TimeoutInSeconds { get; private set; } = null!; - - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - [Output("type")] - public Output Type { get; private set; } = null!; - - - /// - /// Create a MachineRunCommand resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public MachineRunCommand(string name, MachineRunCommandArgs args, CustomResourceOptions? options = null) - : base("azure-native:hybridcompute/v20230425preview:MachineRunCommand", name, args ?? new MachineRunCommandArgs(), MakeResourceOptions(options, "")) - { - } - - private MachineRunCommand(string name, Input id, CustomResourceOptions? options = null) - : base("azure-native:hybridcompute/v20230425preview:MachineRunCommand", name, null, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - Aliases = - { - new global::Pulumi.Alias { Type = "azure-native:hybridcompute:MachineRunCommand"}, - }, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing MachineRunCommand resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// A bag of options that control this resource's behavior - public static MachineRunCommand Get(string name, Input id, CustomResourceOptions? options = null) - { - return new MachineRunCommand(name, id, options); - } - } - - public sealed class MachineRunCommandArgs : global::Pulumi.ResourceArgs - { - /// - /// Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - /// - [Input("asyncExecution")] - public Input? AsyncExecution { get; set; } - - /// - /// User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - /// - [Input("errorBlobManagedIdentity")] - public Input? ErrorBlobManagedIdentity { get; set; } - - /// - /// Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - /// - [Input("errorBlobUri")] - public Input? ErrorBlobUri { get; set; } - - /// - /// The geo-location where the resource lives - /// - [Input("location")] - public Input? Location { get; set; } - - /// - /// The name of the hybrid machine. - /// - [Input("machineName", required: true)] - public Input MachineName { get; set; } = null!; - - /// - /// User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - /// - [Input("outputBlobManagedIdentity")] - public Input? OutputBlobManagedIdentity { get; set; } - - /// - /// Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - /// - [Input("outputBlobUri")] - public Input? OutputBlobUri { get; set; } - - [Input("parameters")] - private InputList? _parameters; - - /// - /// The parameters used by the script. - /// - public InputList Parameters - { - get => _parameters ?? (_parameters = new InputList()); - set => _parameters = value; - } - - [Input("protectedParameters")] - private InputList? _protectedParameters; - - /// - /// The parameters used by the script. - /// - public InputList ProtectedParameters - { - get => _protectedParameters ?? (_protectedParameters = new InputList()); - set => _protectedParameters = value; - } - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// Specifies the user account password on the machine when executing the run command. - /// - [Input("runAsPassword")] - public Input? RunAsPassword { get; set; } - - /// - /// Specifies the user account on the machine when executing the run command. - /// - [Input("runAsUser")] - public Input? RunAsUser { get; set; } - - /// - /// The name of the run command. - /// - [Input("runCommandName")] - public Input? RunCommandName { get; set; } - - /// - /// The source of the run command script. - /// - [Input("source")] - public Input? Source { get; set; } - - [Input("tags")] - private InputMap? _tags; - - /// - /// Resource tags. - /// - public InputMap Tags - { - get => _tags ?? (_tags = new InputMap()); - set => _tags = value; - } - - /// - /// The timeout in seconds to execute the run command. - /// - [Input("timeoutInSeconds")] - public Input? TimeoutInSeconds { get; set; } - - public MachineRunCommandArgs() - { - AsyncExecution = false; - } - public static new MachineRunCommandArgs Empty => new MachineRunCommandArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/AgentConfigurationResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/AgentConfigurationResponse.cs deleted file mode 100644 index e91da0ad3998..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/AgentConfigurationResponse.cs +++ /dev/null @@ -1,80 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. - /// - [OutputType] - public sealed class AgentConfigurationResponse - { - /// - /// Name of configuration mode to use. Modes are pre-defined configurations of security controls, extension allowlists and guest configuration, maintained by Microsoft. - /// - public readonly string ConfigMode; - /// - /// Array of extensions that are allowed to be installed or updated. - /// - public readonly ImmutableArray ExtensionsAllowList; - /// - /// Array of extensions that are blocked (cannot be installed or updated) - /// - public readonly ImmutableArray ExtensionsBlockList; - /// - /// Specifies whether the extension service is enabled or disabled. - /// - public readonly string ExtensionsEnabled; - /// - /// Specified whether the guest configuration service is enabled or disabled. - /// - public readonly string GuestConfigurationEnabled; - /// - /// Specifies the list of ports that the agent will be able to listen on. - /// - public readonly ImmutableArray IncomingConnectionsPorts; - /// - /// List of service names which should not use the specified proxy server. - /// - public readonly ImmutableArray ProxyBypass; - /// - /// Specifies the URL of the proxy to be used. - /// - public readonly string ProxyUrl; - - [OutputConstructor] - private AgentConfigurationResponse( - string configMode, - - ImmutableArray extensionsAllowList, - - ImmutableArray extensionsBlockList, - - string extensionsEnabled, - - string guestConfigurationEnabled, - - ImmutableArray incomingConnectionsPorts, - - ImmutableArray proxyBypass, - - string proxyUrl) - { - ConfigMode = configMode; - ExtensionsAllowList = extensionsAllowList; - ExtensionsBlockList = extensionsBlockList; - ExtensionsEnabled = extensionsEnabled; - GuestConfigurationEnabled = guestConfigurationEnabled; - IncomingConnectionsPorts = incomingConnectionsPorts; - ProxyBypass = proxyBypass; - ProxyUrl = proxyUrl; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/AgentUpgradeResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/AgentUpgradeResponse.cs deleted file mode 100644 index 096bbbb27552..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/AgentUpgradeResponse.cs +++ /dev/null @@ -1,73 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// The info w.r.t Agent Upgrade. - /// - [OutputType] - public sealed class AgentUpgradeResponse - { - /// - /// The correlation ID passed in from RSM per upgrade. - /// - public readonly string? CorrelationId; - /// - /// Specifies the version info w.r.t AgentUpgrade for the machine. - /// - public readonly string? DesiredVersion; - /// - /// Specifies if RSM should try to upgrade this machine - /// - public readonly bool? EnableAutomaticUpgrade; - /// - /// Specifies the version of the last attempt - /// - public readonly string LastAttemptDesiredVersion; - /// - /// Failure message of last upgrade attempt if any. - /// - public readonly string LastAttemptMessage; - /// - /// Specifies the status of Agent Upgrade. - /// - public readonly string LastAttemptStatus; - /// - /// Timestamp of last upgrade attempt - /// - public readonly string LastAttemptTimestamp; - - [OutputConstructor] - private AgentUpgradeResponse( - string? correlationId, - - string? desiredVersion, - - bool? enableAutomaticUpgrade, - - string lastAttemptDesiredVersion, - - string lastAttemptMessage, - - string lastAttemptStatus, - - string lastAttemptTimestamp) - { - CorrelationId = correlationId; - DesiredVersion = desiredVersion; - EnableAutomaticUpgrade = enableAutomaticUpgrade; - LastAttemptDesiredVersion = lastAttemptDesiredVersion; - LastAttemptMessage = lastAttemptMessage; - LastAttemptStatus = lastAttemptStatus; - LastAttemptTimestamp = lastAttemptTimestamp; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/CloudMetadataResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/CloudMetadataResponse.cs deleted file mode 100644 index 36bc8fb9fcea..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/CloudMetadataResponse.cs +++ /dev/null @@ -1,30 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// The metadata of the cloud environment (Azure/GCP/AWS/OCI...). - /// - [OutputType] - public sealed class CloudMetadataResponse - { - /// - /// Specifies the cloud provider (Azure/AWS/GCP...). - /// - public readonly string Provider; - - [OutputConstructor] - private CloudMetadataResponse(string provider) - { - Provider = provider; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ConfigurationExtensionResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ConfigurationExtensionResponse.cs deleted file mode 100644 index 6a9a8244e73b..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ConfigurationExtensionResponse.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Describes properties that can identify extensions. - /// - [OutputType] - public sealed class ConfigurationExtensionResponse - { - /// - /// Publisher of the extension. - /// - public readonly string Publisher; - /// - /// Type of the extension. - /// - public readonly string Type; - - [OutputConstructor] - private ConfigurationExtensionResponse( - string publisher, - - string type) - { - Publisher = publisher; - Type = type; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ErrorAdditionalInfoResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ErrorAdditionalInfoResponse.cs deleted file mode 100644 index 1fd77dac0519..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ErrorAdditionalInfoResponse.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// The resource management error additional info. - /// - [OutputType] - public sealed class ErrorAdditionalInfoResponse - { - /// - /// The additional info. - /// - public readonly object Info; - /// - /// The additional info type. - /// - public readonly string Type; - - [OutputConstructor] - private ErrorAdditionalInfoResponse( - object info, - - string type) - { - Info = info; - Type = type; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ErrorDetailResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ErrorDetailResponse.cs deleted file mode 100644 index 47de88bd00a2..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ErrorDetailResponse.cs +++ /dev/null @@ -1,59 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// The error detail. - /// - [OutputType] - public sealed class ErrorDetailResponse - { - /// - /// The error additional info. - /// - public readonly ImmutableArray AdditionalInfo; - /// - /// The error code. - /// - public readonly string Code; - /// - /// The error details. - /// - public readonly ImmutableArray Details; - /// - /// The error message. - /// - public readonly string Message; - /// - /// The error target. - /// - public readonly string Target; - - [OutputConstructor] - private ErrorDetailResponse( - ImmutableArray additionalInfo, - - string code, - - ImmutableArray details, - - string message, - - string target) - { - AdditionalInfo = additionalInfo; - Code = code; - Details = details; - Message = message; - Target = target; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/HybridComputePrivateLinkScopePropertiesResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/HybridComputePrivateLinkScopePropertiesResponse.cs deleted file mode 100644 index 9b296bf2c3c5..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/HybridComputePrivateLinkScopePropertiesResponse.cs +++ /dev/null @@ -1,52 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Properties that define a Azure Arc PrivateLinkScope resource. - /// - [OutputType] - public sealed class HybridComputePrivateLinkScopePropertiesResponse - { - /// - /// The collection of associated Private Endpoint Connections. - /// - public readonly ImmutableArray PrivateEndpointConnections; - /// - /// The Guid id of the private link scope. - /// - public readonly string PrivateLinkScopeId; - /// - /// Current state of this PrivateLinkScope: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Provisioning ,Succeeded, Canceled and Failed. - /// - public readonly string ProvisioningState; - /// - /// Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. - /// - public readonly string? PublicNetworkAccess; - - [OutputConstructor] - private HybridComputePrivateLinkScopePropertiesResponse( - ImmutableArray privateEndpointConnections, - - string privateLinkScopeId, - - string provisioningState, - - string? publicNetworkAccess) - { - PrivateEndpointConnections = privateEndpointConnections; - PrivateLinkScopeId = privateLinkScopeId; - ProvisioningState = provisioningState; - PublicNetworkAccess = publicNetworkAccess; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/IdentityResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/IdentityResponse.cs deleted file mode 100644 index ec1df906ac9a..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/IdentityResponse.cs +++ /dev/null @@ -1,45 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Identity for the resource. - /// - [OutputType] - public sealed class IdentityResponse - { - /// - /// The principal ID of resource identity. - /// - public readonly string PrincipalId; - /// - /// The tenant ID of resource. - /// - public readonly string TenantId; - /// - /// The identity type. - /// - public readonly string? Type; - - [OutputConstructor] - private IdentityResponse( - string principalId, - - string tenantId, - - string? type) - { - PrincipalId = principalId; - TenantId = tenantId; - Type = type; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/IpAddressResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/IpAddressResponse.cs deleted file mode 100644 index 1c250c7793c5..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/IpAddressResponse.cs +++ /dev/null @@ -1,45 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Describes properties of the IP address. - /// - [OutputType] - public sealed class IpAddressResponse - { - /// - /// Represents the IP Address. - /// - public readonly string? Address; - /// - /// Represents the Ip Address Version. - /// - public readonly string? IpAddressVersion; - /// - /// The subnet to which this IP address belongs. - /// - public readonly Outputs.SubnetResponse Subnet; - - [OutputConstructor] - private IpAddressResponse( - string? address, - - string? ipAddressVersion, - - Outputs.SubnetResponse subnet) - { - Address = address; - IpAddressVersion = ipAddressVersion; - Subnet = subnet; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/LocationDataResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/LocationDataResponse.cs deleted file mode 100644 index 403cd93106c4..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/LocationDataResponse.cs +++ /dev/null @@ -1,52 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Metadata pertaining to the geographic location of the resource. - /// - [OutputType] - public sealed class LocationDataResponse - { - /// - /// The city or locality where the resource is located. - /// - public readonly string? City; - /// - /// The country or region where the resource is located - /// - public readonly string? CountryOrRegion; - /// - /// The district, state, or province where the resource is located. - /// - public readonly string? District; - /// - /// A canonical name for the geographic or physical location. - /// - public readonly string Name; - - [OutputConstructor] - private LocationDataResponse( - string? city, - - string? countryOrRegion, - - string? district, - - string name) - { - City = city; - CountryOrRegion = countryOrRegion; - District = district; - Name = name; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineExtensionInstanceViewResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineExtensionInstanceViewResponse.cs deleted file mode 100644 index 9fa0762d318d..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineExtensionInstanceViewResponse.cs +++ /dev/null @@ -1,52 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Describes the Machine Extension Instance View. - /// - [OutputType] - public sealed class MachineExtensionInstanceViewResponse - { - /// - /// The machine extension name. - /// - public readonly string? Name; - /// - /// Instance view status. - /// - public readonly Outputs.MachineExtensionInstanceViewResponseStatus? Status; - /// - /// Specifies the type of the extension; an example is "CustomScriptExtension". - /// - public readonly string? Type; - /// - /// Specifies the version of the script handler. - /// - public readonly string? TypeHandlerVersion; - - [OutputConstructor] - private MachineExtensionInstanceViewResponse( - string? name, - - Outputs.MachineExtensionInstanceViewResponseStatus? status, - - string? type, - - string? typeHandlerVersion) - { - Name = name; - Status = status; - Type = type; - TypeHandlerVersion = typeHandlerVersion; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineExtensionInstanceViewResponseStatus.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineExtensionInstanceViewResponseStatus.cs deleted file mode 100644 index 33b1ca482b58..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineExtensionInstanceViewResponseStatus.cs +++ /dev/null @@ -1,59 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Instance view status. - /// - [OutputType] - public sealed class MachineExtensionInstanceViewResponseStatus - { - /// - /// The status code. - /// - public readonly string? Code; - /// - /// The short localizable label for the status. - /// - public readonly string? DisplayStatus; - /// - /// The level code. - /// - public readonly string? Level; - /// - /// The detailed status message, including for alerts and error messages. - /// - public readonly string? Message; - /// - /// The time of the status. - /// - public readonly string? Time; - - [OutputConstructor] - private MachineExtensionInstanceViewResponseStatus( - string? code, - - string? displayStatus, - - string? level, - - string? message, - - string? time) - { - Code = code; - DisplayStatus = displayStatus; - Level = level; - Message = message; - Time = time; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineExtensionResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineExtensionResponse.cs deleted file mode 100644 index d2d3f2a0003f..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineExtensionResponse.cs +++ /dev/null @@ -1,129 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Describes a Machine Extension. - /// - [OutputType] - public sealed class MachineExtensionResponse - { - /// - /// Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - /// - public readonly bool? AutoUpgradeMinorVersion; - /// - /// Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - /// - public readonly bool? EnableAutomaticUpgrade; - /// - /// How the extension handler should be forced to update even if the extension configuration has not changed. - /// - public readonly string? ForceUpdateTag; - /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - /// - public readonly string Id; - /// - /// The machine extension instance view. - /// - public readonly Outputs.MachineExtensionInstanceViewResponse? InstanceView; - /// - /// The geo-location where the resource lives - /// - public readonly string Location; - /// - /// The name of the resource - /// - public readonly string Name; - /// - /// The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - /// - public readonly object? ProtectedSettings; - /// - /// The provisioning state, which only appears in the response. - /// - public readonly string ProvisioningState; - /// - /// The name of the extension handler publisher. - /// - public readonly string? Publisher; - /// - /// Json formatted public settings for the extension. - /// - public readonly object? Settings; - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - public readonly Outputs.SystemDataResponse SystemData; - /// - /// Resource tags. - /// - public readonly ImmutableDictionary? Tags; - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - public readonly string Type; - /// - /// Specifies the version of the script handler. - /// - public readonly string? TypeHandlerVersion; - - [OutputConstructor] - private MachineExtensionResponse( - bool? autoUpgradeMinorVersion, - - bool? enableAutomaticUpgrade, - - string? forceUpdateTag, - - string id, - - Outputs.MachineExtensionInstanceViewResponse? instanceView, - - string location, - - string name, - - object? protectedSettings, - - string provisioningState, - - string? publisher, - - object? settings, - - Outputs.SystemDataResponse systemData, - - ImmutableDictionary? tags, - - string type, - - string? typeHandlerVersion) - { - AutoUpgradeMinorVersion = autoUpgradeMinorVersion; - EnableAutomaticUpgrade = enableAutomaticUpgrade; - ForceUpdateTag = forceUpdateTag; - Id = id; - InstanceView = instanceView; - Location = location; - Name = name; - ProtectedSettings = protectedSettings; - ProvisioningState = provisioningState; - Publisher = publisher; - Settings = settings; - SystemData = systemData; - Tags = tags; - Type = type; - TypeHandlerVersion = typeHandlerVersion; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineRunCommandInstanceViewResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineRunCommandInstanceViewResponse.cs deleted file mode 100644 index b2e7be6696f4..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineRunCommandInstanceViewResponse.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Describes the Machine Extension Instance View. - /// - [OutputType] - public sealed class MachineRunCommandInstanceViewResponse - { - /// - /// The run command name. - /// - public readonly string? Name; - /// - /// Instance view status. - /// - public readonly Outputs.MachineRunCommandInstanceViewResponseStatus? Status; - - [OutputConstructor] - private MachineRunCommandInstanceViewResponse( - string? name, - - Outputs.MachineRunCommandInstanceViewResponseStatus? status) - { - Name = name; - Status = status; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineRunCommandInstanceViewResponseStatus.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineRunCommandInstanceViewResponseStatus.cs deleted file mode 100644 index a2c5273336d6..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineRunCommandInstanceViewResponseStatus.cs +++ /dev/null @@ -1,59 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Instance view status. - /// - [OutputType] - public sealed class MachineRunCommandInstanceViewResponseStatus - { - /// - /// The status code. - /// - public readonly string? Code; - /// - /// The short localizable label for the status. - /// - public readonly string? DisplayStatus; - /// - /// The level code. - /// - public readonly string? Level; - /// - /// The detailed status message, including for alerts and error messages. - /// - public readonly string? Message; - /// - /// The time of the status. - /// - public readonly string? Time; - - [OutputConstructor] - private MachineRunCommandInstanceViewResponseStatus( - string? code, - - string? displayStatus, - - string? level, - - string? message, - - string? time) - { - Code = code; - DisplayStatus = displayStatus; - Level = level; - Message = message; - Time = time; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineRunCommandScriptSourceResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineRunCommandScriptSourceResponse.cs deleted file mode 100644 index d531d1ef11f2..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/MachineRunCommandScriptSourceResponse.cs +++ /dev/null @@ -1,52 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Describes the script sources for run command. Use only one of script, scriptUri, commandId. - /// - [OutputType] - public sealed class MachineRunCommandScriptSourceResponse - { - /// - /// Specifies the commandId of predefined built-in script. - /// - public readonly string? CommandId; - /// - /// Specifies the script content to be executed on the machine. - /// - public readonly string? Script; - /// - /// Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - /// - public readonly string? ScriptUri; - /// - /// User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - /// - public readonly Outputs.RunCommandManagedIdentityResponse? ScriptUriManagedIdentity; - - [OutputConstructor] - private MachineRunCommandScriptSourceResponse( - string? commandId, - - string? script, - - string? scriptUri, - - Outputs.RunCommandManagedIdentityResponse? scriptUriManagedIdentity) - { - CommandId = commandId; - Script = script; - ScriptUri = scriptUri; - ScriptUriManagedIdentity = scriptUriManagedIdentity; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/NetworkInterfaceResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/NetworkInterfaceResponse.cs deleted file mode 100644 index fa442cea4861..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/NetworkInterfaceResponse.cs +++ /dev/null @@ -1,30 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Describes a network interface. - /// - [OutputType] - public sealed class NetworkInterfaceResponse - { - /// - /// The list of IP addresses in this interface. - /// - public readonly ImmutableArray IpAddresses; - - [OutputConstructor] - private NetworkInterfaceResponse(ImmutableArray ipAddresses) - { - IpAddresses = ipAddresses; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/NetworkProfileResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/NetworkProfileResponse.cs deleted file mode 100644 index 97d652530c87..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/NetworkProfileResponse.cs +++ /dev/null @@ -1,30 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Describes the network information on this machine. - /// - [OutputType] - public sealed class NetworkProfileResponse - { - /// - /// The list of network interfaces. - /// - public readonly ImmutableArray NetworkInterfaces; - - [OutputConstructor] - private NetworkProfileResponse(ImmutableArray networkInterfaces) - { - NetworkInterfaces = networkInterfaces; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/OSProfileResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/OSProfileResponse.cs deleted file mode 100644 index 5e6ff3a938de..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/OSProfileResponse.cs +++ /dev/null @@ -1,45 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Specifies the operating system settings for the hybrid machine. - /// - [OutputType] - public sealed class OSProfileResponse - { - /// - /// Specifies the host OS name of the hybrid machine. - /// - public readonly string ComputerName; - /// - /// Specifies the linux configuration for update management. - /// - public readonly Outputs.OSProfileResponseLinuxConfiguration? LinuxConfiguration; - /// - /// Specifies the windows configuration for update management. - /// - public readonly Outputs.OSProfileResponseWindowsConfiguration? WindowsConfiguration; - - [OutputConstructor] - private OSProfileResponse( - string computerName, - - Outputs.OSProfileResponseLinuxConfiguration? linuxConfiguration, - - Outputs.OSProfileResponseWindowsConfiguration? windowsConfiguration) - { - ComputerName = computerName; - LinuxConfiguration = linuxConfiguration; - WindowsConfiguration = windowsConfiguration; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/OSProfileResponseLinuxConfiguration.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/OSProfileResponseLinuxConfiguration.cs deleted file mode 100644 index 5568101628c7..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/OSProfileResponseLinuxConfiguration.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Specifies the linux configuration for update management. - /// - [OutputType] - public sealed class OSProfileResponseLinuxConfiguration - { - /// - /// Specifies the assessment mode. - /// - public readonly string? AssessmentMode; - /// - /// Specifies the patch mode. - /// - public readonly string? PatchMode; - - [OutputConstructor] - private OSProfileResponseLinuxConfiguration( - string? assessmentMode, - - string? patchMode) - { - AssessmentMode = assessmentMode; - PatchMode = patchMode; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/OSProfileResponseWindowsConfiguration.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/OSProfileResponseWindowsConfiguration.cs deleted file mode 100644 index 4fcdaa314f1a..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/OSProfileResponseWindowsConfiguration.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Specifies the windows configuration for update management. - /// - [OutputType] - public sealed class OSProfileResponseWindowsConfiguration - { - /// - /// Specifies the assessment mode. - /// - public readonly string? AssessmentMode; - /// - /// Specifies the patch mode. - /// - public readonly string? PatchMode; - - [OutputConstructor] - private OSProfileResponseWindowsConfiguration( - string? assessmentMode, - - string? patchMode) - { - AssessmentMode = assessmentMode; - PatchMode = patchMode; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/PrivateEndpointConnectionDataModelResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/PrivateEndpointConnectionDataModelResponse.cs deleted file mode 100644 index 1f556bf74975..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/PrivateEndpointConnectionDataModelResponse.cs +++ /dev/null @@ -1,52 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// The Data Model for a Private Endpoint Connection associated with a Private Link Scope - /// - [OutputType] - public sealed class PrivateEndpointConnectionDataModelResponse - { - /// - /// The ARM Resource Id of the Private Endpoint. - /// - public readonly string Id; - /// - /// The Name of the Private Endpoint. - /// - public readonly string Name; - /// - /// The Private Endpoint Connection properties. - /// - public readonly Outputs.PrivateEndpointConnectionPropertiesResponse? Properties; - /// - /// Azure resource type - /// - public readonly string Type; - - [OutputConstructor] - private PrivateEndpointConnectionDataModelResponse( - string id, - - string name, - - Outputs.PrivateEndpointConnectionPropertiesResponse? properties, - - string type) - { - Id = id; - Name = name; - Properties = properties; - Type = type; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/PrivateEndpointConnectionPropertiesResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/PrivateEndpointConnectionPropertiesResponse.cs deleted file mode 100644 index 8d378ea73b4f..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/PrivateEndpointConnectionPropertiesResponse.cs +++ /dev/null @@ -1,52 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Properties of a private endpoint connection. - /// - [OutputType] - public sealed class PrivateEndpointConnectionPropertiesResponse - { - /// - /// List of group IDs. - /// - public readonly ImmutableArray GroupIds; - /// - /// Private endpoint which the connection belongs to. - /// - public readonly Outputs.PrivateEndpointPropertyResponse? PrivateEndpoint; - /// - /// Connection state of the private endpoint connection. - /// - public readonly Outputs.PrivateLinkServiceConnectionStatePropertyResponse? PrivateLinkServiceConnectionState; - /// - /// State of the private endpoint connection. - /// - public readonly string ProvisioningState; - - [OutputConstructor] - private PrivateEndpointConnectionPropertiesResponse( - ImmutableArray groupIds, - - Outputs.PrivateEndpointPropertyResponse? privateEndpoint, - - Outputs.PrivateLinkServiceConnectionStatePropertyResponse? privateLinkServiceConnectionState, - - string provisioningState) - { - GroupIds = groupIds; - PrivateEndpoint = privateEndpoint; - PrivateLinkServiceConnectionState = privateLinkServiceConnectionState; - ProvisioningState = provisioningState; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/PrivateEndpointPropertyResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/PrivateEndpointPropertyResponse.cs deleted file mode 100644 index c9b502e00151..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/PrivateEndpointPropertyResponse.cs +++ /dev/null @@ -1,30 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Private endpoint which the connection belongs to. - /// - [OutputType] - public sealed class PrivateEndpointPropertyResponse - { - /// - /// Resource id of the private endpoint. - /// - public readonly string? Id; - - [OutputConstructor] - private PrivateEndpointPropertyResponse(string? id) - { - Id = id; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/PrivateLinkServiceConnectionStatePropertyResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/PrivateLinkServiceConnectionStatePropertyResponse.cs deleted file mode 100644 index db3e22e040aa..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/PrivateLinkServiceConnectionStatePropertyResponse.cs +++ /dev/null @@ -1,45 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// State of the private endpoint connection. - /// - [OutputType] - public sealed class PrivateLinkServiceConnectionStatePropertyResponse - { - /// - /// The actions required for private link service connection. - /// - public readonly string ActionsRequired; - /// - /// The private link service connection description. - /// - public readonly string Description; - /// - /// The private link service connection status. - /// - public readonly string Status; - - [OutputConstructor] - private PrivateLinkServiceConnectionStatePropertyResponse( - string actionsRequired, - - string description, - - string status) - { - ActionsRequired = actionsRequired; - Description = description; - Status = status; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/RunCommandInputParameterResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/RunCommandInputParameterResponse.cs deleted file mode 100644 index 5e8302deddf0..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/RunCommandInputParameterResponse.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Describes the properties of a run command parameter. - /// - [OutputType] - public sealed class RunCommandInputParameterResponse - { - /// - /// The run command parameter name. - /// - public readonly string Name; - /// - /// The run command parameter value. - /// - public readonly string Value; - - [OutputConstructor] - private RunCommandInputParameterResponse( - string name, - - string value) - { - Name = name; - Value = value; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/RunCommandManagedIdentityResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/RunCommandManagedIdentityResponse.cs deleted file mode 100644 index 4cbfadd68eec..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/RunCommandManagedIdentityResponse.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - /// - [OutputType] - public sealed class RunCommandManagedIdentityResponse - { - /// - /// Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - /// - public readonly string? ClientId; - /// - /// Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - /// - public readonly string? ObjectId; - - [OutputConstructor] - private RunCommandManagedIdentityResponse( - string? clientId, - - string? objectId) - { - ClientId = clientId; - ObjectId = objectId; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ServiceStatusResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ServiceStatusResponse.cs deleted file mode 100644 index 608c217d3407..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ServiceStatusResponse.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Describes the status and behavior of a service. - /// - [OutputType] - public sealed class ServiceStatusResponse - { - /// - /// The behavior of the service when the Arc-enabled machine starts up. - /// - public readonly string? StartupType; - /// - /// The current status of the service. - /// - public readonly string? Status; - - [OutputConstructor] - private ServiceStatusResponse( - string? startupType, - - string? status) - { - StartupType = startupType; - Status = status; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ServiceStatusesResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ServiceStatusesResponse.cs deleted file mode 100644 index d54ecc91e546..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/ServiceStatusesResponse.cs +++ /dev/null @@ -1,38 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Reports the state and behavior of dependent services. - /// - [OutputType] - public sealed class ServiceStatusesResponse - { - /// - /// The state of the extension service on the Arc-enabled machine. - /// - public readonly Outputs.ServiceStatusResponse? ExtensionService; - /// - /// The state of the guest configuration service on the Arc-enabled machine. - /// - public readonly Outputs.ServiceStatusResponse? GuestConfigurationService; - - [OutputConstructor] - private ServiceStatusesResponse( - Outputs.ServiceStatusResponse? extensionService, - - Outputs.ServiceStatusResponse? guestConfigurationService) - { - ExtensionService = extensionService; - GuestConfigurationService = guestConfigurationService; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/SubnetResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/SubnetResponse.cs deleted file mode 100644 index becfada81c92..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/SubnetResponse.cs +++ /dev/null @@ -1,30 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Describes the subnet. - /// - [OutputType] - public sealed class SubnetResponse - { - /// - /// Represents address prefix. - /// - public readonly string? AddressPrefix; - - [OutputConstructor] - private SubnetResponse(string? addressPrefix) - { - AddressPrefix = addressPrefix; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/SystemDataResponse.cs b/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/SystemDataResponse.cs deleted file mode 100644 index 0ad4dff0d0b3..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/Outputs/SystemDataResponse.cs +++ /dev/null @@ -1,66 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview.Outputs -{ - - /// - /// Metadata pertaining to creation and last modification of the resource. - /// - [OutputType] - public sealed class SystemDataResponse - { - /// - /// The timestamp of resource creation (UTC). - /// - public readonly string? CreatedAt; - /// - /// The identity that created the resource. - /// - public readonly string? CreatedBy; - /// - /// The type of identity that created the resource. - /// - public readonly string? CreatedByType; - /// - /// The timestamp of resource last modification (UTC) - /// - public readonly string? LastModifiedAt; - /// - /// The identity that last modified the resource. - /// - public readonly string? LastModifiedBy; - /// - /// The type of identity that last modified the resource. - /// - public readonly string? LastModifiedByType; - - [OutputConstructor] - private SystemDataResponse( - string? createdAt, - - string? createdBy, - - string? createdByType, - - string? lastModifiedAt, - - string? lastModifiedBy, - - string? lastModifiedByType) - { - CreatedAt = createdAt; - CreatedBy = createdBy; - CreatedByType = createdByType; - LastModifiedAt = lastModifiedAt; - LastModifiedBy = lastModifiedBy; - LastModifiedByType = lastModifiedByType; - } - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/PrivateEndpointConnection.cs b/sdk/dotnet/HybridCompute/V20230425Preview/PrivateEndpointConnection.cs deleted file mode 100644 index 1d6da6ba793d..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/PrivateEndpointConnection.cs +++ /dev/null @@ -1,135 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview -{ - /// - /// A private endpoint connection - /// - [AzureNativeResourceType("azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection")] - public partial class PrivateEndpointConnection : global::Pulumi.CustomResource - { - /// - /// The name of the resource - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// Resource properties. - /// - [Output("properties")] - public Output Properties { get; private set; } = null!; - - /// - /// Azure Resource Manager metadata containing createdBy and modifiedBy information. - /// - [Output("systemData")] - public Output SystemData { get; private set; } = null!; - - /// - /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - /// - [Output("type")] - public Output Type { get; private set; } = null!; - - - /// - /// Create a PrivateEndpointConnection resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public PrivateEndpointConnection(string name, PrivateEndpointConnectionArgs args, CustomResourceOptions? options = null) - : base("azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection", name, args ?? new PrivateEndpointConnectionArgs(), MakeResourceOptions(options, "")) - { - } - - private PrivateEndpointConnection(string name, Input id, CustomResourceOptions? options = null) - : base("azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection", name, null, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - Aliases = - { - new global::Pulumi.Alias { Type = "azure-native:hybridcompute:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20200815preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210520:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20220310:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221110:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection"}, - }, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing PrivateEndpointConnection resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// A bag of options that control this resource's behavior - public static PrivateEndpointConnection Get(string name, Input id, CustomResourceOptions? options = null) - { - return new PrivateEndpointConnection(name, id, options); - } - } - - public sealed class PrivateEndpointConnectionArgs : global::Pulumi.ResourceArgs - { - /// - /// The name of the private endpoint connection. - /// - [Input("privateEndpointConnectionName")] - public Input? PrivateEndpointConnectionName { get; set; } - - /// - /// Resource properties. - /// - [Input("properties")] - public Input? Properties { get; set; } - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// The name of the Azure Arc PrivateLinkScope resource. - /// - [Input("scopeName", required: true)] - public Input ScopeName { get; set; } = null!; - - public PrivateEndpointConnectionArgs() - { - } - public static new PrivateEndpointConnectionArgs Empty => new PrivateEndpointConnectionArgs(); - } -} diff --git a/sdk/dotnet/HybridCompute/V20230425Preview/PrivateLinkScope.cs b/sdk/dotnet/HybridCompute/V20230425Preview/PrivateLinkScope.cs deleted file mode 100644 index 9361502533f7..000000000000 --- a/sdk/dotnet/HybridCompute/V20230425Preview/PrivateLinkScope.cs +++ /dev/null @@ -1,159 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AzureNative.HybridCompute.V20230425Preview -{ - /// - /// An Azure Arc PrivateLinkScope definition. - /// - [AzureNativeResourceType("azure-native:hybridcompute/v20230425preview:PrivateLinkScope")] - public partial class PrivateLinkScope : global::Pulumi.CustomResource - { - /// - /// Resource location - /// - [Output("location")] - public Output Location { get; private set; } = null!; - - /// - /// Azure resource name - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// Properties that define a Azure Arc PrivateLinkScope resource. - /// - [Output("properties")] - public Output Properties { get; private set; } = null!; - - /// - /// The system meta data relating to this resource. - /// - [Output("systemData")] - public Output SystemData { get; private set; } = null!; - - /// - /// Resource tags - /// - [Output("tags")] - public Output?> Tags { get; private set; } = null!; - - /// - /// Azure resource type - /// - [Output("type")] - public Output Type { get; private set; } = null!; - - - /// - /// Create a PrivateLinkScope resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public PrivateLinkScope(string name, PrivateLinkScopeArgs args, CustomResourceOptions? options = null) - : base("azure-native:hybridcompute/v20230425preview:PrivateLinkScope", name, args ?? new PrivateLinkScopeArgs(), MakeResourceOptions(options, "")) - { - } - - private PrivateLinkScope(string name, Input id, CustomResourceOptions? options = null) - : base("azure-native:hybridcompute/v20230425preview:PrivateLinkScope", name, null, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - Aliases = - { - new global::Pulumi.Alias { Type = "azure-native:hybridcompute:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20200815preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210128preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210325preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210422preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210517preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210520:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20210610preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20211210preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20220310:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20220510preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20220811preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221110:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20221227preview:PrivateLinkScope"}, - new global::Pulumi.Alias { Type = "azure-native:hybridcompute/v20230315preview:PrivateLinkScope"}, - }, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing PrivateLinkScope resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// A bag of options that control this resource's behavior - public static PrivateLinkScope Get(string name, Input id, CustomResourceOptions? options = null) - { - return new PrivateLinkScope(name, id, options); - } - } - - public sealed class PrivateLinkScopeArgs : global::Pulumi.ResourceArgs - { - /// - /// Resource location - /// - [Input("location")] - public Input? Location { get; set; } - - /// - /// Properties that define a Azure Arc PrivateLinkScope resource. - /// - [Input("properties")] - public Input? Properties { get; set; } - - /// - /// The name of the resource group. The name is case insensitive. - /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; - - /// - /// The name of the Azure Arc PrivateLinkScope resource. - /// - [Input("scopeName")] - public Input? ScopeName { get; set; } - - [Input("tags")] - private InputMap? _tags; - - /// - /// Resource tags - /// - public InputMap Tags - { - get => _tags ?? (_tags = new InputMap()); - set => _tags = value; - } - - public PrivateLinkScopeArgs() - { - } - public static new PrivateLinkScopeArgs Empty => new PrivateLinkScopeArgs(); - } -} diff --git a/sdk/dotnet/MachineLearningServices/Inputs/RegistryArgs.cs b/sdk/dotnet/MachineLearningServices/Inputs/RegistryArgs.cs index 37fa87fd7b90..a227b347610b 100644 --- a/sdk/dotnet/MachineLearningServices/Inputs/RegistryArgs.cs +++ b/sdk/dotnet/MachineLearningServices/Inputs/RegistryArgs.cs @@ -39,6 +39,18 @@ public sealed class RegistryArgs : global::Pulumi.ResourceArgs [Input("mlFlowRegistryUri")] public Input? MlFlowRegistryUri { get; set; } + [Input("privateEndpointConnections")] + private InputList? _privateEndpointConnections; + + /// + /// Private endpoint connections info used for pending connections in private link portal + /// + public InputList PrivateEndpointConnections + { + get => _privateEndpointConnections ?? (_privateEndpointConnections = new InputList()); + set => _privateEndpointConnections = value; + } + /// /// Is the Registry accessible from the internet? /// Possible values: "Enabled" or "Disabled" @@ -58,18 +70,6 @@ public InputList RegionDetails set => _regionDetails = value; } - [Input("registryPrivateEndpointConnections")] - private InputList? _registryPrivateEndpointConnections; - - /// - /// Private endpoint connections info used for pending connections in private link portal - /// - public InputList RegistryPrivateEndpointConnections - { - get => _registryPrivateEndpointConnections ?? (_registryPrivateEndpointConnections = new InputList()); - set => _registryPrivateEndpointConnections = value; - } - public RegistryArgs() { } diff --git a/sdk/dotnet/MachineLearningServices/Inputs/RegistryPrivateEndpointConnectionArgs.cs b/sdk/dotnet/MachineLearningServices/Inputs/RegistryPrivateEndpointConnectionArgs.cs index 290140d79f04..d81b8a8772cd 100644 --- a/sdk/dotnet/MachineLearningServices/Inputs/RegistryPrivateEndpointConnectionArgs.cs +++ b/sdk/dotnet/MachineLearningServices/Inputs/RegistryPrivateEndpointConnectionArgs.cs @@ -17,7 +17,7 @@ public sealed class RegistryPrivateEndpointConnectionArgs : global::Pulumi.Resou { /// /// This is the private endpoint connection name created on SRP - /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} /// [Input("id")] public Input? Id { get; set; } diff --git a/sdk/dotnet/MachineLearningServices/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs b/sdk/dotnet/MachineLearningServices/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs index d3c963eac9e0..63b4812d15a0 100644 --- a/sdk/dotnet/MachineLearningServices/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs +++ b/sdk/dotnet/MachineLearningServices/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs @@ -34,16 +34,16 @@ public InputList GroupIds public Input? PrivateEndpoint { get; set; } /// - /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + /// The connection state. /// - [Input("provisioningState")] - public Input? ProvisioningState { get; set; } + [Input("privateLinkServiceConnectionState")] + public Input? PrivateLinkServiceConnectionState { get; set; } /// - /// The connection state. + /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. /// - [Input("registryPrivateLinkServiceConnectionState")] - public Input? RegistryPrivateLinkServiceConnectionState { get; set; } + [Input("provisioningState")] + public Input? ProvisioningState { get; set; } public RegistryPrivateEndpointConnectionPropertiesArgs() { diff --git a/sdk/dotnet/MachineLearningServices/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs b/sdk/dotnet/MachineLearningServices/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs index d001cd559d4e..e6e7837f36d5 100644 --- a/sdk/dotnet/MachineLearningServices/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs +++ b/sdk/dotnet/MachineLearningServices/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs @@ -25,13 +25,13 @@ public sealed class RegistryPrivateEndpointConnectionPropertiesResponse /// public readonly Outputs.PrivateEndpointResourceResponse? PrivateEndpoint; /// - /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + /// The connection state. /// - public readonly string? ProvisioningState; + public readonly Outputs.RegistryPrivateLinkServiceConnectionStateResponse? PrivateLinkServiceConnectionState; /// - /// The connection state. + /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. /// - public readonly Outputs.RegistryPrivateLinkServiceConnectionStateResponse? RegistryPrivateLinkServiceConnectionState; + public readonly string? ProvisioningState; [OutputConstructor] private RegistryPrivateEndpointConnectionPropertiesResponse( @@ -39,14 +39,14 @@ private RegistryPrivateEndpointConnectionPropertiesResponse( Outputs.PrivateEndpointResourceResponse? privateEndpoint, - string? provisioningState, + Outputs.RegistryPrivateLinkServiceConnectionStateResponse? privateLinkServiceConnectionState, - Outputs.RegistryPrivateLinkServiceConnectionStateResponse? registryPrivateLinkServiceConnectionState) + string? provisioningState) { GroupIds = groupIds; PrivateEndpoint = privateEndpoint; + PrivateLinkServiceConnectionState = privateLinkServiceConnectionState; ProvisioningState = provisioningState; - RegistryPrivateLinkServiceConnectionState = registryPrivateLinkServiceConnectionState; } } } diff --git a/sdk/dotnet/MachineLearningServices/Outputs/RegistryPrivateEndpointConnectionResponse.cs b/sdk/dotnet/MachineLearningServices/Outputs/RegistryPrivateEndpointConnectionResponse.cs index 7befc2a6bf77..0623764e2afa 100644 --- a/sdk/dotnet/MachineLearningServices/Outputs/RegistryPrivateEndpointConnectionResponse.cs +++ b/sdk/dotnet/MachineLearningServices/Outputs/RegistryPrivateEndpointConnectionResponse.cs @@ -18,7 +18,7 @@ public sealed class RegistryPrivateEndpointConnectionResponse { /// /// This is the private endpoint connection name created on SRP - /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} /// public readonly string? Id; /// diff --git a/sdk/dotnet/MachineLearningServices/Outputs/RegistryResponse.cs b/sdk/dotnet/MachineLearningServices/Outputs/RegistryResponse.cs index 0f3d58bf1568..26de525c8c91 100644 --- a/sdk/dotnet/MachineLearningServices/Outputs/RegistryResponse.cs +++ b/sdk/dotnet/MachineLearningServices/Outputs/RegistryResponse.cs @@ -33,6 +33,10 @@ public sealed class RegistryResponse /// public readonly string? MlFlowRegistryUri; /// + /// Private endpoint connections info used for pending connections in private link portal + /// + public readonly ImmutableArray PrivateEndpointConnections; + /// /// Is the Registry accessible from the internet? /// Possible values: "Enabled" or "Disabled" /// @@ -41,10 +45,6 @@ public sealed class RegistryResponse /// Details of each region the registry is in /// public readonly ImmutableArray RegionDetails; - /// - /// Private endpoint connections info used for pending connections in private link portal - /// - public readonly ImmutableArray RegistryPrivateEndpointConnections; [OutputConstructor] private RegistryResponse( @@ -56,19 +56,19 @@ private RegistryResponse( string? mlFlowRegistryUri, - string? publicNetworkAccess, + ImmutableArray privateEndpointConnections, - ImmutableArray regionDetails, + string? publicNetworkAccess, - ImmutableArray registryPrivateEndpointConnections) + ImmutableArray regionDetails) { DiscoveryUrl = discoveryUrl; IntellectualPropertyPublisher = intellectualPropertyPublisher; ManagedResourceGroup = managedResourceGroup; MlFlowRegistryUri = mlFlowRegistryUri; + PrivateEndpointConnections = privateEndpointConnections; PublicNetworkAccess = publicNetworkAccess; RegionDetails = regionDetails; - RegistryPrivateEndpointConnections = registryPrivateEndpointConnections; } } } diff --git a/sdk/dotnet/MachineLearningServices/V20230401/Inputs/RegistryArgs.cs b/sdk/dotnet/MachineLearningServices/V20230401/Inputs/RegistryArgs.cs index dbd53da13914..dbb7d8fd9e8c 100644 --- a/sdk/dotnet/MachineLearningServices/V20230401/Inputs/RegistryArgs.cs +++ b/sdk/dotnet/MachineLearningServices/V20230401/Inputs/RegistryArgs.cs @@ -39,6 +39,18 @@ public sealed class RegistryArgs : global::Pulumi.ResourceArgs [Input("mlFlowRegistryUri")] public Input? MlFlowRegistryUri { get; set; } + [Input("privateEndpointConnections")] + private InputList? _privateEndpointConnections; + + /// + /// Private endpoint connections info used for pending connections in private link portal + /// + public InputList PrivateEndpointConnections + { + get => _privateEndpointConnections ?? (_privateEndpointConnections = new InputList()); + set => _privateEndpointConnections = value; + } + /// /// Is the Registry accessible from the internet? /// Possible values: "Enabled" or "Disabled" @@ -58,18 +70,6 @@ public InputList RegionDetails set => _regionDetails = value; } - [Input("registryPrivateEndpointConnections")] - private InputList? _registryPrivateEndpointConnections; - - /// - /// Private endpoint connections info used for pending connections in private link portal - /// - public InputList RegistryPrivateEndpointConnections - { - get => _registryPrivateEndpointConnections ?? (_registryPrivateEndpointConnections = new InputList()); - set => _registryPrivateEndpointConnections = value; - } - public RegistryArgs() { } diff --git a/sdk/dotnet/MachineLearningServices/V20230401/Inputs/RegistryPrivateEndpointConnectionArgs.cs b/sdk/dotnet/MachineLearningServices/V20230401/Inputs/RegistryPrivateEndpointConnectionArgs.cs index db5aa7d2e2dd..784edade0da5 100644 --- a/sdk/dotnet/MachineLearningServices/V20230401/Inputs/RegistryPrivateEndpointConnectionArgs.cs +++ b/sdk/dotnet/MachineLearningServices/V20230401/Inputs/RegistryPrivateEndpointConnectionArgs.cs @@ -17,7 +17,7 @@ public sealed class RegistryPrivateEndpointConnectionArgs : global::Pulumi.Resou { /// /// This is the private endpoint connection name created on SRP - /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} /// [Input("id")] public Input? Id { get; set; } diff --git a/sdk/dotnet/MachineLearningServices/V20230401/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs b/sdk/dotnet/MachineLearningServices/V20230401/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs index b55ef700d97a..cfee483a6004 100644 --- a/sdk/dotnet/MachineLearningServices/V20230401/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs +++ b/sdk/dotnet/MachineLearningServices/V20230401/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs @@ -34,16 +34,16 @@ public InputList GroupIds public Input? PrivateEndpoint { get; set; } /// - /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + /// The connection state. /// - [Input("provisioningState")] - public Input? ProvisioningState { get; set; } + [Input("privateLinkServiceConnectionState")] + public Input? PrivateLinkServiceConnectionState { get; set; } /// - /// The connection state. + /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. /// - [Input("registryPrivateLinkServiceConnectionState")] - public Input? RegistryPrivateLinkServiceConnectionState { get; set; } + [Input("provisioningState")] + public Input? ProvisioningState { get; set; } public RegistryPrivateEndpointConnectionPropertiesArgs() { diff --git a/sdk/dotnet/MachineLearningServices/V20230401/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs b/sdk/dotnet/MachineLearningServices/V20230401/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs index c1479d4d82d1..dd7f124f9221 100644 --- a/sdk/dotnet/MachineLearningServices/V20230401/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs +++ b/sdk/dotnet/MachineLearningServices/V20230401/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs @@ -25,13 +25,13 @@ public sealed class RegistryPrivateEndpointConnectionPropertiesResponse /// public readonly Outputs.PrivateEndpointResourceResponse? PrivateEndpoint; /// - /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + /// The connection state. /// - public readonly string? ProvisioningState; + public readonly Outputs.RegistryPrivateLinkServiceConnectionStateResponse? PrivateLinkServiceConnectionState; /// - /// The connection state. + /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. /// - public readonly Outputs.RegistryPrivateLinkServiceConnectionStateResponse? RegistryPrivateLinkServiceConnectionState; + public readonly string? ProvisioningState; [OutputConstructor] private RegistryPrivateEndpointConnectionPropertiesResponse( @@ -39,14 +39,14 @@ private RegistryPrivateEndpointConnectionPropertiesResponse( Outputs.PrivateEndpointResourceResponse? privateEndpoint, - string? provisioningState, + Outputs.RegistryPrivateLinkServiceConnectionStateResponse? privateLinkServiceConnectionState, - Outputs.RegistryPrivateLinkServiceConnectionStateResponse? registryPrivateLinkServiceConnectionState) + string? provisioningState) { GroupIds = groupIds; PrivateEndpoint = privateEndpoint; + PrivateLinkServiceConnectionState = privateLinkServiceConnectionState; ProvisioningState = provisioningState; - RegistryPrivateLinkServiceConnectionState = registryPrivateLinkServiceConnectionState; } } } diff --git a/sdk/dotnet/MachineLearningServices/V20230401/Outputs/RegistryPrivateEndpointConnectionResponse.cs b/sdk/dotnet/MachineLearningServices/V20230401/Outputs/RegistryPrivateEndpointConnectionResponse.cs index a106cf1caf2e..959cd48cd68d 100644 --- a/sdk/dotnet/MachineLearningServices/V20230401/Outputs/RegistryPrivateEndpointConnectionResponse.cs +++ b/sdk/dotnet/MachineLearningServices/V20230401/Outputs/RegistryPrivateEndpointConnectionResponse.cs @@ -18,7 +18,7 @@ public sealed class RegistryPrivateEndpointConnectionResponse { /// /// This is the private endpoint connection name created on SRP - /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} /// public readonly string? Id; /// diff --git a/sdk/dotnet/MachineLearningServices/V20230401/Outputs/RegistryResponse.cs b/sdk/dotnet/MachineLearningServices/V20230401/Outputs/RegistryResponse.cs index 6115e8461d05..f59c6005af39 100644 --- a/sdk/dotnet/MachineLearningServices/V20230401/Outputs/RegistryResponse.cs +++ b/sdk/dotnet/MachineLearningServices/V20230401/Outputs/RegistryResponse.cs @@ -33,6 +33,10 @@ public sealed class RegistryResponse /// public readonly string? MlFlowRegistryUri; /// + /// Private endpoint connections info used for pending connections in private link portal + /// + public readonly ImmutableArray PrivateEndpointConnections; + /// /// Is the Registry accessible from the internet? /// Possible values: "Enabled" or "Disabled" /// @@ -41,10 +45,6 @@ public sealed class RegistryResponse /// Details of each region the registry is in /// public readonly ImmutableArray RegionDetails; - /// - /// Private endpoint connections info used for pending connections in private link portal - /// - public readonly ImmutableArray RegistryPrivateEndpointConnections; [OutputConstructor] private RegistryResponse( @@ -56,19 +56,19 @@ private RegistryResponse( string? mlFlowRegistryUri, - string? publicNetworkAccess, + ImmutableArray privateEndpointConnections, - ImmutableArray regionDetails, + string? publicNetworkAccess, - ImmutableArray registryPrivateEndpointConnections) + ImmutableArray regionDetails) { DiscoveryUrl = discoveryUrl; IntellectualPropertyPublisher = intellectualPropertyPublisher; ManagedResourceGroup = managedResourceGroup; MlFlowRegistryUri = mlFlowRegistryUri; + PrivateEndpointConnections = privateEndpointConnections; PublicNetworkAccess = publicNetworkAccess; RegionDetails = regionDetails; - RegistryPrivateEndpointConnections = registryPrivateEndpointConnections; } } } diff --git a/sdk/dotnet/MachineLearningServices/V20230401Preview/Inputs/RegistryArgs.cs b/sdk/dotnet/MachineLearningServices/V20230401Preview/Inputs/RegistryArgs.cs index 4b761fc32d41..f50da605d6df 100644 --- a/sdk/dotnet/MachineLearningServices/V20230401Preview/Inputs/RegistryArgs.cs +++ b/sdk/dotnet/MachineLearningServices/V20230401Preview/Inputs/RegistryArgs.cs @@ -39,6 +39,18 @@ public sealed class RegistryArgs : global::Pulumi.ResourceArgs [Input("mlFlowRegistryUri")] public Input? MlFlowRegistryUri { get; set; } + [Input("privateEndpointConnections")] + private InputList? _privateEndpointConnections; + + /// + /// Private endpoint connections info used for pending connections in private link portal + /// + public InputList PrivateEndpointConnections + { + get => _privateEndpointConnections ?? (_privateEndpointConnections = new InputList()); + set => _privateEndpointConnections = value; + } + /// /// Is the Registry accessible from the internet? /// Possible values: "Enabled" or "Disabled" @@ -58,18 +70,6 @@ public InputList RegionDetails set => _regionDetails = value; } - [Input("registryPrivateEndpointConnections")] - private InputList? _registryPrivateEndpointConnections; - - /// - /// Private endpoint connections info used for pending connections in private link portal - /// - public InputList RegistryPrivateEndpointConnections - { - get => _registryPrivateEndpointConnections ?? (_registryPrivateEndpointConnections = new InputList()); - set => _registryPrivateEndpointConnections = value; - } - public RegistryArgs() { } diff --git a/sdk/dotnet/MachineLearningServices/V20230401Preview/Inputs/RegistryPrivateEndpointConnectionArgs.cs b/sdk/dotnet/MachineLearningServices/V20230401Preview/Inputs/RegistryPrivateEndpointConnectionArgs.cs index 389eab66a9f6..b80c2a16e6cf 100644 --- a/sdk/dotnet/MachineLearningServices/V20230401Preview/Inputs/RegistryPrivateEndpointConnectionArgs.cs +++ b/sdk/dotnet/MachineLearningServices/V20230401Preview/Inputs/RegistryPrivateEndpointConnectionArgs.cs @@ -17,7 +17,7 @@ public sealed class RegistryPrivateEndpointConnectionArgs : global::Pulumi.Resou { /// /// This is the private endpoint connection name created on SRP - /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} /// [Input("id")] public Input? Id { get; set; } diff --git a/sdk/dotnet/MachineLearningServices/V20230401Preview/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs b/sdk/dotnet/MachineLearningServices/V20230401Preview/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs index 57677c3ebc95..81cb5d768019 100644 --- a/sdk/dotnet/MachineLearningServices/V20230401Preview/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs +++ b/sdk/dotnet/MachineLearningServices/V20230401Preview/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs @@ -34,16 +34,16 @@ public InputList GroupIds public Input? PrivateEndpoint { get; set; } /// - /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + /// The connection state. /// - [Input("provisioningState")] - public Input? ProvisioningState { get; set; } + [Input("privateLinkServiceConnectionState")] + public Input? PrivateLinkServiceConnectionState { get; set; } /// - /// The connection state. + /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. /// - [Input("registryPrivateLinkServiceConnectionState")] - public Input? RegistryPrivateLinkServiceConnectionState { get; set; } + [Input("provisioningState")] + public Input? ProvisioningState { get; set; } public RegistryPrivateEndpointConnectionPropertiesArgs() { diff --git a/sdk/dotnet/MachineLearningServices/V20230401Preview/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs b/sdk/dotnet/MachineLearningServices/V20230401Preview/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs index f244e149cf02..2469cdd10bcd 100644 --- a/sdk/dotnet/MachineLearningServices/V20230401Preview/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs +++ b/sdk/dotnet/MachineLearningServices/V20230401Preview/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs @@ -25,13 +25,13 @@ public sealed class RegistryPrivateEndpointConnectionPropertiesResponse /// public readonly Outputs.PrivateEndpointResourceResponse? PrivateEndpoint; /// - /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + /// The connection state. /// - public readonly string? ProvisioningState; + public readonly Outputs.RegistryPrivateLinkServiceConnectionStateResponse? PrivateLinkServiceConnectionState; /// - /// The connection state. + /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. /// - public readonly Outputs.RegistryPrivateLinkServiceConnectionStateResponse? RegistryPrivateLinkServiceConnectionState; + public readonly string? ProvisioningState; [OutputConstructor] private RegistryPrivateEndpointConnectionPropertiesResponse( @@ -39,14 +39,14 @@ private RegistryPrivateEndpointConnectionPropertiesResponse( Outputs.PrivateEndpointResourceResponse? privateEndpoint, - string? provisioningState, + Outputs.RegistryPrivateLinkServiceConnectionStateResponse? privateLinkServiceConnectionState, - Outputs.RegistryPrivateLinkServiceConnectionStateResponse? registryPrivateLinkServiceConnectionState) + string? provisioningState) { GroupIds = groupIds; PrivateEndpoint = privateEndpoint; + PrivateLinkServiceConnectionState = privateLinkServiceConnectionState; ProvisioningState = provisioningState; - RegistryPrivateLinkServiceConnectionState = registryPrivateLinkServiceConnectionState; } } } diff --git a/sdk/dotnet/MachineLearningServices/V20230401Preview/Outputs/RegistryPrivateEndpointConnectionResponse.cs b/sdk/dotnet/MachineLearningServices/V20230401Preview/Outputs/RegistryPrivateEndpointConnectionResponse.cs index 299a8cf4baf8..2c66cb5aba79 100644 --- a/sdk/dotnet/MachineLearningServices/V20230401Preview/Outputs/RegistryPrivateEndpointConnectionResponse.cs +++ b/sdk/dotnet/MachineLearningServices/V20230401Preview/Outputs/RegistryPrivateEndpointConnectionResponse.cs @@ -18,7 +18,7 @@ public sealed class RegistryPrivateEndpointConnectionResponse { /// /// This is the private endpoint connection name created on SRP - /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} /// public readonly string? Id; /// diff --git a/sdk/dotnet/MachineLearningServices/V20230401Preview/Outputs/RegistryResponse.cs b/sdk/dotnet/MachineLearningServices/V20230401Preview/Outputs/RegistryResponse.cs index c34315fe0f54..5b54b6d20ccd 100644 --- a/sdk/dotnet/MachineLearningServices/V20230401Preview/Outputs/RegistryResponse.cs +++ b/sdk/dotnet/MachineLearningServices/V20230401Preview/Outputs/RegistryResponse.cs @@ -33,6 +33,10 @@ public sealed class RegistryResponse /// public readonly string? MlFlowRegistryUri; /// + /// Private endpoint connections info used for pending connections in private link portal + /// + public readonly ImmutableArray PrivateEndpointConnections; + /// /// Is the Registry accessible from the internet? /// Possible values: "Enabled" or "Disabled" /// @@ -41,10 +45,6 @@ public sealed class RegistryResponse /// Details of each region the registry is in /// public readonly ImmutableArray RegionDetails; - /// - /// Private endpoint connections info used for pending connections in private link portal - /// - public readonly ImmutableArray RegistryPrivateEndpointConnections; [OutputConstructor] private RegistryResponse( @@ -56,19 +56,19 @@ private RegistryResponse( string? mlFlowRegistryUri, - string? publicNetworkAccess, + ImmutableArray privateEndpointConnections, - ImmutableArray regionDetails, + string? publicNetworkAccess, - ImmutableArray registryPrivateEndpointConnections) + ImmutableArray regionDetails) { DiscoveryUrl = discoveryUrl; IntellectualPropertyPublisher = intellectualPropertyPublisher; ManagedResourceGroup = managedResourceGroup; MlFlowRegistryUri = mlFlowRegistryUri; + PrivateEndpointConnections = privateEndpointConnections; PublicNetworkAccess = publicNetworkAccess; RegionDetails = regionDetails; - RegistryPrivateEndpointConnections = registryPrivateEndpointConnections; } } } diff --git a/sdk/dotnet/MachineLearningServices/V20230601Preview/Inputs/RegistryArgs.cs b/sdk/dotnet/MachineLearningServices/V20230601Preview/Inputs/RegistryArgs.cs index d3a33b811305..42138146e37b 100644 --- a/sdk/dotnet/MachineLearningServices/V20230601Preview/Inputs/RegistryArgs.cs +++ b/sdk/dotnet/MachineLearningServices/V20230601Preview/Inputs/RegistryArgs.cs @@ -39,6 +39,18 @@ public sealed class RegistryArgs : global::Pulumi.ResourceArgs [Input("mlFlowRegistryUri")] public Input? MlFlowRegistryUri { get; set; } + [Input("privateEndpointConnections")] + private InputList? _privateEndpointConnections; + + /// + /// Private endpoint connections info used for pending connections in private link portal + /// + public InputList PrivateEndpointConnections + { + get => _privateEndpointConnections ?? (_privateEndpointConnections = new InputList()); + set => _privateEndpointConnections = value; + } + /// /// Is the Registry accessible from the internet? /// Possible values: "Enabled" or "Disabled" @@ -58,18 +70,6 @@ public InputList RegionDetails set => _regionDetails = value; } - [Input("registryPrivateEndpointConnections")] - private InputList? _registryPrivateEndpointConnections; - - /// - /// Private endpoint connections info used for pending connections in private link portal - /// - public InputList RegistryPrivateEndpointConnections - { - get => _registryPrivateEndpointConnections ?? (_registryPrivateEndpointConnections = new InputList()); - set => _registryPrivateEndpointConnections = value; - } - public RegistryArgs() { } diff --git a/sdk/dotnet/MachineLearningServices/V20230601Preview/Inputs/RegistryPrivateEndpointConnectionArgs.cs b/sdk/dotnet/MachineLearningServices/V20230601Preview/Inputs/RegistryPrivateEndpointConnectionArgs.cs index c5db620de935..a320eb54463b 100644 --- a/sdk/dotnet/MachineLearningServices/V20230601Preview/Inputs/RegistryPrivateEndpointConnectionArgs.cs +++ b/sdk/dotnet/MachineLearningServices/V20230601Preview/Inputs/RegistryPrivateEndpointConnectionArgs.cs @@ -17,7 +17,7 @@ public sealed class RegistryPrivateEndpointConnectionArgs : global::Pulumi.Resou { /// /// This is the private endpoint connection name created on SRP - /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} /// [Input("id")] public Input? Id { get; set; } diff --git a/sdk/dotnet/MachineLearningServices/V20230601Preview/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs b/sdk/dotnet/MachineLearningServices/V20230601Preview/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs index 206f891af8a5..0c3ada1fa953 100644 --- a/sdk/dotnet/MachineLearningServices/V20230601Preview/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs +++ b/sdk/dotnet/MachineLearningServices/V20230601Preview/Inputs/RegistryPrivateEndpointConnectionPropertiesArgs.cs @@ -34,16 +34,16 @@ public InputList GroupIds public Input? PrivateEndpoint { get; set; } /// - /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + /// The connection state. /// - [Input("provisioningState")] - public Input? ProvisioningState { get; set; } + [Input("privateLinkServiceConnectionState")] + public Input? PrivateLinkServiceConnectionState { get; set; } /// - /// The connection state. + /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. /// - [Input("registryPrivateLinkServiceConnectionState")] - public Input? RegistryPrivateLinkServiceConnectionState { get; set; } + [Input("provisioningState")] + public Input? ProvisioningState { get; set; } public RegistryPrivateEndpointConnectionPropertiesArgs() { diff --git a/sdk/dotnet/MachineLearningServices/V20230601Preview/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs b/sdk/dotnet/MachineLearningServices/V20230601Preview/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs index 2de8b3b5d86f..66d39e0c21c8 100644 --- a/sdk/dotnet/MachineLearningServices/V20230601Preview/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs +++ b/sdk/dotnet/MachineLearningServices/V20230601Preview/Outputs/RegistryPrivateEndpointConnectionPropertiesResponse.cs @@ -25,13 +25,13 @@ public sealed class RegistryPrivateEndpointConnectionPropertiesResponse /// public readonly Outputs.PrivateEndpointResourceResponse? PrivateEndpoint; /// - /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + /// The connection state. /// - public readonly string? ProvisioningState; + public readonly Outputs.RegistryPrivateLinkServiceConnectionStateResponse? PrivateLinkServiceConnectionState; /// - /// The connection state. + /// One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. /// - public readonly Outputs.RegistryPrivateLinkServiceConnectionStateResponse? RegistryPrivateLinkServiceConnectionState; + public readonly string? ProvisioningState; [OutputConstructor] private RegistryPrivateEndpointConnectionPropertiesResponse( @@ -39,14 +39,14 @@ private RegistryPrivateEndpointConnectionPropertiesResponse( Outputs.PrivateEndpointResourceResponse? privateEndpoint, - string? provisioningState, + Outputs.RegistryPrivateLinkServiceConnectionStateResponse? privateLinkServiceConnectionState, - Outputs.RegistryPrivateLinkServiceConnectionStateResponse? registryPrivateLinkServiceConnectionState) + string? provisioningState) { GroupIds = groupIds; PrivateEndpoint = privateEndpoint; + PrivateLinkServiceConnectionState = privateLinkServiceConnectionState; ProvisioningState = provisioningState; - RegistryPrivateLinkServiceConnectionState = registryPrivateLinkServiceConnectionState; } } } diff --git a/sdk/dotnet/MachineLearningServices/V20230601Preview/Outputs/RegistryPrivateEndpointConnectionResponse.cs b/sdk/dotnet/MachineLearningServices/V20230601Preview/Outputs/RegistryPrivateEndpointConnectionResponse.cs index 93cdbf69cb73..fab13539a745 100644 --- a/sdk/dotnet/MachineLearningServices/V20230601Preview/Outputs/RegistryPrivateEndpointConnectionResponse.cs +++ b/sdk/dotnet/MachineLearningServices/V20230601Preview/Outputs/RegistryPrivateEndpointConnectionResponse.cs @@ -18,7 +18,7 @@ public sealed class RegistryPrivateEndpointConnectionResponse { /// /// This is the private endpoint connection name created on SRP - /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + /// Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} /// public readonly string? Id; /// diff --git a/sdk/dotnet/MachineLearningServices/V20230601Preview/Outputs/RegistryResponse.cs b/sdk/dotnet/MachineLearningServices/V20230601Preview/Outputs/RegistryResponse.cs index 72b55ab3cc00..11181df9c6c4 100644 --- a/sdk/dotnet/MachineLearningServices/V20230601Preview/Outputs/RegistryResponse.cs +++ b/sdk/dotnet/MachineLearningServices/V20230601Preview/Outputs/RegistryResponse.cs @@ -33,6 +33,10 @@ public sealed class RegistryResponse /// public readonly string? MlFlowRegistryUri; /// + /// Private endpoint connections info used for pending connections in private link portal + /// + public readonly ImmutableArray PrivateEndpointConnections; + /// /// Is the Registry accessible from the internet? /// Possible values: "Enabled" or "Disabled" /// @@ -41,10 +45,6 @@ public sealed class RegistryResponse /// Details of each region the registry is in /// public readonly ImmutableArray RegionDetails; - /// - /// Private endpoint connections info used for pending connections in private link portal - /// - public readonly ImmutableArray RegistryPrivateEndpointConnections; [OutputConstructor] private RegistryResponse( @@ -56,19 +56,19 @@ private RegistryResponse( string? mlFlowRegistryUri, - string? publicNetworkAccess, + ImmutableArray privateEndpointConnections, - ImmutableArray regionDetails, + string? publicNetworkAccess, - ImmutableArray registryPrivateEndpointConnections) + ImmutableArray regionDetails) { DiscoveryUrl = discoveryUrl; IntellectualPropertyPublisher = intellectualPropertyPublisher; ManagedResourceGroup = managedResourceGroup; MlFlowRegistryUri = mlFlowRegistryUri; + PrivateEndpointConnections = privateEndpointConnections; PublicNetworkAccess = publicNetworkAccess; RegionDetails = regionDetails; - RegistryPrivateEndpointConnections = registryPrivateEndpointConnections; } } } diff --git a/sdk/dotnet/ManagedNetworkFabric/Enums.cs b/sdk/dotnet/ManagedNetworkFabric/Enums.cs index 867ddb0ad516..1c06ea6e8f66 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Enums.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Enums.cs @@ -319,7 +319,7 @@ private Encapsulation(string value) } /// - /// Encapsulation Type. + /// Encapsulation Type that needs to be matched. /// [EnumType] public readonly struct EncapsulationType : IEquatable @@ -601,7 +601,7 @@ private PortType(string value) } /// - /// IP Prefix Type. + /// IP Prefix Type that needs to be matched. /// [EnumType] public readonly struct PrefixType : IEquatable @@ -694,7 +694,7 @@ private RedistributeStaticRoutes(string value) } /// - /// IP Address type. + /// IP Address type that needs to be matched. /// [EnumType] public readonly struct SourceDestinationType : IEquatable diff --git a/sdk/dotnet/ManagedNetworkFabric/Inputs/CommonDynamicMatchConfigurationArgs.cs b/sdk/dotnet/ManagedNetworkFabric/Inputs/CommonDynamicMatchConfigurationArgs.cs index 95753749c565..80bf441a7ad5 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Inputs/CommonDynamicMatchConfigurationArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Inputs/CommonDynamicMatchConfigurationArgs.cs @@ -31,7 +31,7 @@ public InputList IpGroups private InputList? _portGroups; /// - /// List of the port group. + /// List of the port groups. /// public InputList PortGroups { diff --git a/sdk/dotnet/ManagedNetworkFabric/Inputs/IpMatchConditionArgs.cs b/sdk/dotnet/ManagedNetworkFabric/Inputs/IpMatchConditionArgs.cs index 18c1ed393140..3e57e88ed9f7 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Inputs/IpMatchConditionArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Inputs/IpMatchConditionArgs.cs @@ -31,7 +31,7 @@ public InputList IpGroupNames private InputList? _ipPrefixValues; /// - /// The list of IP Prefixes. + /// The list of IP Prefixes that need to be matched. /// public InputList IpPrefixValues { @@ -40,13 +40,13 @@ public InputList IpPrefixValues } /// - /// IP Prefix Type. + /// IP Prefix Type that needs to be matched. /// [Input("prefixType")] public InputUnion? PrefixType { get; set; } /// - /// IP Address type. + /// IP Address type that needs to be matched. /// [Input("type")] public InputUnion? Type { get; set; } diff --git a/sdk/dotnet/ManagedNetworkFabric/Inputs/NetworkTapRuleMatchConditionArgs.cs b/sdk/dotnet/ManagedNetworkFabric/Inputs/NetworkTapRuleMatchConditionArgs.cs index 9de299717247..b730cf47ea0b 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Inputs/NetworkTapRuleMatchConditionArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Inputs/NetworkTapRuleMatchConditionArgs.cs @@ -16,7 +16,7 @@ namespace Pulumi.AzureNative.ManagedNetworkFabric.Inputs public sealed class NetworkTapRuleMatchConditionArgs : global::Pulumi.ResourceArgs { /// - /// Encapsulation Type. + /// Encapsulation Type that needs to be matched. /// [Input("encapsulationType")] public InputUnion? EncapsulationType { get; set; } diff --git a/sdk/dotnet/ManagedNetworkFabric/Inputs/PortConditionArgs.cs b/sdk/dotnet/ManagedNetworkFabric/Inputs/PortConditionArgs.cs index 727c4584ddb7..c775deb03c22 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Inputs/PortConditionArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Inputs/PortConditionArgs.cs @@ -25,7 +25,7 @@ public sealed class PortConditionArgs : global::Pulumi.ResourceArgs private InputList? _portGroupNames; /// - /// List of the port Group Names that to be matched. + /// List of the port Group Names that need to be matched. /// public InputList PortGroupNames { diff --git a/sdk/dotnet/ManagedNetworkFabric/Inputs/PortGroupPropertiesArgs.cs b/sdk/dotnet/ManagedNetworkFabric/Inputs/PortGroupPropertiesArgs.cs index 82dc94c043bd..5fd837dae620 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Inputs/PortGroupPropertiesArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Inputs/PortGroupPropertiesArgs.cs @@ -25,7 +25,7 @@ public sealed class PortGroupPropertiesArgs : global::Pulumi.ResourceArgs private InputList? _ports; /// - /// List of the ports that needs to be matched. + /// List of the ports that need to be matched. /// public InputList Ports { diff --git a/sdk/dotnet/ManagedNetworkFabric/Inputs/VlanMatchConditionArgs.cs b/sdk/dotnet/ManagedNetworkFabric/Inputs/VlanMatchConditionArgs.cs index bd7afb214126..1c832943a48b 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Inputs/VlanMatchConditionArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Inputs/VlanMatchConditionArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AzureNative.ManagedNetworkFabric.Inputs { /// - /// The vlan match conditions that needs to be matched. + /// The vlan match conditions that need to be matched. /// public sealed class VlanMatchConditionArgs : global::Pulumi.ResourceArgs { @@ -19,7 +19,7 @@ public sealed class VlanMatchConditionArgs : global::Pulumi.ResourceArgs private InputList? _innerVlans; /// - /// List of inner vlans that needs to be matched. + /// List of inner vlans that need to be matched. /// public InputList InnerVlans { @@ -31,7 +31,7 @@ public InputList InnerVlans private InputList? _vlanGroupNames; /// - /// List of vlan group names that to be matched. + /// List of vlan group names that need to be matched. /// public InputList VlanGroupNames { @@ -43,7 +43,7 @@ public InputList VlanGroupNames private InputList? _vlans; /// - /// List of vlans that needs to be matched. + /// List of vlans that need to be matched. /// public InputList Vlans { diff --git a/sdk/dotnet/ManagedNetworkFabric/Outputs/CommonDynamicMatchConfigurationResponse.cs b/sdk/dotnet/ManagedNetworkFabric/Outputs/CommonDynamicMatchConfigurationResponse.cs index 2c5ea45301a0..aff3688b69c1 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Outputs/CommonDynamicMatchConfigurationResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Outputs/CommonDynamicMatchConfigurationResponse.cs @@ -21,7 +21,7 @@ public sealed class CommonDynamicMatchConfigurationResponse /// public readonly ImmutableArray IpGroups; /// - /// List of the port group. + /// List of the port groups. /// public readonly ImmutableArray PortGroups; /// diff --git a/sdk/dotnet/ManagedNetworkFabric/Outputs/IpMatchConditionResponse.cs b/sdk/dotnet/ManagedNetworkFabric/Outputs/IpMatchConditionResponse.cs index 5f93329e2af3..931092d59253 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Outputs/IpMatchConditionResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Outputs/IpMatchConditionResponse.cs @@ -21,15 +21,15 @@ public sealed class IpMatchConditionResponse /// public readonly ImmutableArray IpGroupNames; /// - /// The list of IP Prefixes. + /// The list of IP Prefixes that need to be matched. /// public readonly ImmutableArray IpPrefixValues; /// - /// IP Prefix Type. + /// IP Prefix Type that needs to be matched. /// public readonly string? PrefixType; /// - /// IP Address type. + /// IP Address type that needs to be matched. /// public readonly string? Type; diff --git a/sdk/dotnet/ManagedNetworkFabric/Outputs/NetworkTapRuleMatchConditionResponse.cs b/sdk/dotnet/ManagedNetworkFabric/Outputs/NetworkTapRuleMatchConditionResponse.cs index eaf5b490e928..fe689bceef6a 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Outputs/NetworkTapRuleMatchConditionResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Outputs/NetworkTapRuleMatchConditionResponse.cs @@ -17,7 +17,7 @@ namespace Pulumi.AzureNative.ManagedNetworkFabric.Outputs public sealed class NetworkTapRuleMatchConditionResponse { /// - /// Encapsulation Type. + /// Encapsulation Type that needs to be matched. /// public readonly string? EncapsulationType; /// diff --git a/sdk/dotnet/ManagedNetworkFabric/Outputs/PortConditionResponse.cs b/sdk/dotnet/ManagedNetworkFabric/Outputs/PortConditionResponse.cs index 5f3d583e4e15..bddfc89e48b8 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Outputs/PortConditionResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Outputs/PortConditionResponse.cs @@ -21,7 +21,7 @@ public sealed class PortConditionResponse /// public readonly string Layer4Protocol; /// - /// List of the port Group Names that to be matched. + /// List of the port Group Names that need to be matched. /// public readonly ImmutableArray PortGroupNames; /// diff --git a/sdk/dotnet/ManagedNetworkFabric/Outputs/PortGroupPropertiesResponse.cs b/sdk/dotnet/ManagedNetworkFabric/Outputs/PortGroupPropertiesResponse.cs index 2cee2b3a0297..2f1d0c5fa212 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Outputs/PortGroupPropertiesResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Outputs/PortGroupPropertiesResponse.cs @@ -21,7 +21,7 @@ public sealed class PortGroupPropertiesResponse /// public readonly string? Name; /// - /// List of the ports that needs to be matched. + /// List of the ports that need to be matched. /// public readonly ImmutableArray Ports; diff --git a/sdk/dotnet/ManagedNetworkFabric/Outputs/VlanMatchConditionResponse.cs b/sdk/dotnet/ManagedNetworkFabric/Outputs/VlanMatchConditionResponse.cs index 09deacffa7b6..4cf3387eaf0a 100644 --- a/sdk/dotnet/ManagedNetworkFabric/Outputs/VlanMatchConditionResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/Outputs/VlanMatchConditionResponse.cs @@ -11,21 +11,21 @@ namespace Pulumi.AzureNative.ManagedNetworkFabric.Outputs { /// - /// The vlan match conditions that needs to be matched. + /// The vlan match conditions that need to be matched. /// [OutputType] public sealed class VlanMatchConditionResponse { /// - /// List of inner vlans that needs to be matched. + /// List of inner vlans that need to be matched. /// public readonly ImmutableArray InnerVlans; /// - /// List of vlan group names that to be matched. + /// List of vlan group names that need to be matched. /// public readonly ImmutableArray VlanGroupNames; /// - /// List of vlans that needs to be matched. + /// List of vlans that need to be matched. /// public readonly ImmutableArray Vlans; diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/AccessControlList.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/AccessControlList.cs index 95a50d063d1a..1de669dae145 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/AccessControlList.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/AccessControlList.cs @@ -45,6 +45,12 @@ public partial class AccessControlList : global::Pulumi.CustomResource [Output("configurationType")] public Output ConfigurationType { get; private set; } = null!; + /// + /// Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + /// + [Output("defaultAction")] + public Output DefaultAction { get; private set; } = null!; + /// /// List of dynamic match configurations. /// @@ -173,6 +179,12 @@ public sealed class AccessControlListArgs : global::Pulumi.ResourceArgs [Input("configurationType", required: true)] public InputUnion ConfigurationType { get; set; } = null!; + /// + /// Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + /// + [Input("defaultAction")] + public InputUnion? DefaultAction { get; set; } + [Input("dynamicMatchConfigurations")] private InputList? _dynamicMatchConfigurations; @@ -223,6 +235,7 @@ public InputMap Tags public AccessControlListArgs() { + DefaultAction = "Permit"; } public static new AccessControlListArgs Empty => new AccessControlListArgs(); } diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Enums.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Enums.cs index dd5c9241b766..c7604eb912d7 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Enums.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Enums.cs @@ -164,7 +164,7 @@ private BooleanEnumProperty(string value) } /// - /// Action to be taken on the configuration. Example: Permit | Deny. + /// Default action that needs to be applied when no condition is matched. Example: Permit | Deny. /// [EnumType] public readonly struct CommunityActionTypes : IEquatable @@ -321,7 +321,7 @@ private Encapsulation(string value) } /// - /// Encapsulation Type. + /// Encapsulation Type that needs to be matched. /// [EnumType] public readonly struct EncapsulationType : IEquatable @@ -757,7 +757,7 @@ private PortType(string value) } /// - /// IP Prefix Type. + /// IP Prefix Type that needs to be matched. /// [EnumType] public readonly struct PrefixType : IEquatable @@ -913,7 +913,7 @@ private RoutePolicyConditionType(string value) } /// - /// IP Address type. + /// IP Address type that needs to be matched. /// [EnumType] public readonly struct SourceDestinationType : IEquatable diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/GetAccessControlList.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/GetAccessControlList.cs index 5ac2a00a797c..f2173bacd1a3 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/GetAccessControlList.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/GetAccessControlList.cs @@ -90,6 +90,10 @@ public sealed class GetAccessControlListResult /// public readonly string ConfigurationType; /// + /// Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + /// + public readonly string? DefaultAction; + /// /// List of dynamic match configurations. /// public readonly ImmutableArray DynamicMatchConfigurations; @@ -142,6 +146,8 @@ private GetAccessControlListResult( string configurationType, + string? defaultAction, + ImmutableArray dynamicMatchConfigurations, string id, @@ -167,6 +173,7 @@ private GetAccessControlListResult( Annotation = annotation; ConfigurationState = configurationState; ConfigurationType = configurationType; + DefaultAction = defaultAction; DynamicMatchConfigurations = dynamicMatchConfigurations; Id = id; LastSyncedTime = lastSyncedTime; diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/GetRoutePolicy.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/GetRoutePolicy.cs index af2b0975b252..e050d948b38d 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/GetRoutePolicy.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/GetRoutePolicy.cs @@ -86,6 +86,10 @@ public sealed class GetRoutePolicyResult /// public readonly string ConfigurationState; /// + /// Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + /// + public readonly string? DefaultAction; + /// /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" /// public readonly string Id; @@ -132,6 +136,8 @@ private GetRoutePolicyResult( string configurationState, + string? defaultAction, + string id, string location, @@ -154,6 +160,7 @@ private GetRoutePolicyResult( AdministrativeState = administrativeState; Annotation = annotation; ConfigurationState = configurationState; + DefaultAction = defaultAction; Id = id; Location = location; Name = name; diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/AccessControlListMatchConditionArgs.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/AccessControlListMatchConditionArgs.cs index b2b6bb2b9e24..8c039c01cf7a 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/AccessControlListMatchConditionArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/AccessControlListMatchConditionArgs.cs @@ -19,7 +19,7 @@ public sealed class AccessControlListMatchConditionArgs : global::Pulumi.Resourc private InputList? _dscpMarkings; /// - /// List of DSCP Markings that needs to be matched. + /// List of DSCP Markings that need to be matched. /// public InputList DscpMarkings { @@ -31,7 +31,7 @@ public InputList DscpMarkings private InputList? _etherTypes; /// - /// List of ether type values that needs to be matched. + /// List of ether type values that need to be matched. /// public InputList EtherTypes { @@ -43,7 +43,7 @@ public InputList EtherTypes private InputList? _fragments; /// - /// List of IP fragment packets that needs to be matched. + /// List of IP fragment packets that need to be matched. /// public InputList Fragments { @@ -61,7 +61,7 @@ public InputList Fragments private InputList? _ipLengths; /// - /// List of IP Lengths that needs to be matched. + /// List of IP Lengths that need to be matched. /// public InputList IpLengths { @@ -91,7 +91,7 @@ public InputList ProtocolTypes private InputList? _ttlValues; /// - /// List of TTL [Time To Live] values that needs to be matched. + /// List of TTL [Time To Live] values that need to be matched. /// public InputList TtlValues { diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/AccessControlListPortConditionArgs.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/AccessControlListPortConditionArgs.cs index 8470a93dc568..aef316ede647 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/AccessControlListPortConditionArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/AccessControlListPortConditionArgs.cs @@ -19,7 +19,7 @@ public sealed class AccessControlListPortConditionArgs : global::Pulumi.Resource private InputList? _flags; /// - /// List of protocol flags that needs to be matched. + /// List of protocol flags that need to be matched. /// public InputList Flags { @@ -37,7 +37,7 @@ public InputList Flags private InputList? _portGroupNames; /// - /// List of the port Group Names that to be matched. + /// List of the port Group Names that need to be matched. /// public InputList PortGroupNames { diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/CommonDynamicMatchConfigurationArgs.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/CommonDynamicMatchConfigurationArgs.cs index c48b30c68bec..ad15745d56ce 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/CommonDynamicMatchConfigurationArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/CommonDynamicMatchConfigurationArgs.cs @@ -31,7 +31,7 @@ public InputList IpGroups private InputList? _portGroups; /// - /// List of the port group. + /// List of the port groups. /// public InputList PortGroups { diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/IpMatchConditionArgs.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/IpMatchConditionArgs.cs index 8b741f518c2d..3d52ab73b43a 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/IpMatchConditionArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/IpMatchConditionArgs.cs @@ -31,7 +31,7 @@ public InputList IpGroupNames private InputList? _ipPrefixValues; /// - /// The list of IP Prefixes. + /// The list of IP Prefixes that need to be matched. /// public InputList IpPrefixValues { @@ -40,13 +40,13 @@ public InputList IpPrefixValues } /// - /// IP Prefix Type. + /// IP Prefix Type that needs to be matched. /// [Input("prefixType")] public InputUnion? PrefixType { get; set; } /// - /// IP Address type. + /// IP Address type that needs to be matched. /// [Input("type")] public InputUnion? Type { get; set; } diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/NetworkTapRuleMatchConditionArgs.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/NetworkTapRuleMatchConditionArgs.cs index bdf017d22710..f1ab3faadda3 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/NetworkTapRuleMatchConditionArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/NetworkTapRuleMatchConditionArgs.cs @@ -16,7 +16,7 @@ namespace Pulumi.AzureNative.ManagedNetworkFabric.V20230615.Inputs public sealed class NetworkTapRuleMatchConditionArgs : global::Pulumi.ResourceArgs { /// - /// Encapsulation Type. + /// Encapsulation Type that needs to be matched. /// [Input("encapsulationType")] public InputUnion? EncapsulationType { get; set; } diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/PortConditionArgs.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/PortConditionArgs.cs index 4f3c235a8548..3e031b9077de 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/PortConditionArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/PortConditionArgs.cs @@ -25,7 +25,7 @@ public sealed class PortConditionArgs : global::Pulumi.ResourceArgs private InputList? _portGroupNames; /// - /// List of the port Group Names that to be matched. + /// List of the port Group Names that need to be matched. /// public InputList PortGroupNames { diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/PortGroupPropertiesArgs.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/PortGroupPropertiesArgs.cs index 9f15d1d33f92..9e11ceabbad4 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/PortGroupPropertiesArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/PortGroupPropertiesArgs.cs @@ -25,7 +25,7 @@ public sealed class PortGroupPropertiesArgs : global::Pulumi.ResourceArgs private InputList? _ports; /// - /// List of the ports that needs to be matched. + /// List of the ports that need to be matched. /// public InputList Ports { diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/VlanMatchConditionArgs.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/VlanMatchConditionArgs.cs index 36823f660d3e..3dd410a8dcfa 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/VlanMatchConditionArgs.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Inputs/VlanMatchConditionArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AzureNative.ManagedNetworkFabric.V20230615.Inputs { /// - /// The vlan match conditions that needs to be matched. + /// The vlan match conditions that need to be matched. /// public sealed class VlanMatchConditionArgs : global::Pulumi.ResourceArgs { @@ -19,7 +19,7 @@ public sealed class VlanMatchConditionArgs : global::Pulumi.ResourceArgs private InputList? _innerVlans; /// - /// List of inner vlans that needs to be matched. + /// List of inner vlans that need to be matched. /// public InputList InnerVlans { @@ -31,7 +31,7 @@ public InputList InnerVlans private InputList? _vlanGroupNames; /// - /// List of vlan group names that to be matched. + /// List of vlan group names that need to be matched. /// public InputList VlanGroupNames { @@ -43,7 +43,7 @@ public InputList VlanGroupNames private InputList? _vlans; /// - /// List of vlans that needs to be matched. + /// List of vlans that need to be matched. /// public InputList Vlans { diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/AccessControlListMatchConditionResponse.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/AccessControlListMatchConditionResponse.cs index b295b42ef679..15689cddae94 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/AccessControlListMatchConditionResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/AccessControlListMatchConditionResponse.cs @@ -17,15 +17,15 @@ namespace Pulumi.AzureNative.ManagedNetworkFabric.V20230615.Outputs public sealed class AccessControlListMatchConditionResponse { /// - /// List of DSCP Markings that needs to be matched. + /// List of DSCP Markings that need to be matched. /// public readonly ImmutableArray DscpMarkings; /// - /// List of ether type values that needs to be matched. + /// List of ether type values that need to be matched. /// public readonly ImmutableArray EtherTypes; /// - /// List of IP fragment packets that needs to be matched. + /// List of IP fragment packets that need to be matched. /// public readonly ImmutableArray Fragments; /// @@ -33,7 +33,7 @@ public sealed class AccessControlListMatchConditionResponse /// public readonly Outputs.IpMatchConditionResponse? IpCondition; /// - /// List of IP Lengths that needs to be matched. + /// List of IP Lengths that need to be matched. /// public readonly ImmutableArray IpLengths; /// @@ -45,7 +45,7 @@ public sealed class AccessControlListMatchConditionResponse /// public readonly ImmutableArray ProtocolTypes; /// - /// List of TTL [Time To Live] values that needs to be matched. + /// List of TTL [Time To Live] values that need to be matched. /// public readonly ImmutableArray TtlValues; /// diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/AccessControlListPortConditionResponse.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/AccessControlListPortConditionResponse.cs index 55cec8ead2a0..b00f61e2357b 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/AccessControlListPortConditionResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/AccessControlListPortConditionResponse.cs @@ -17,7 +17,7 @@ namespace Pulumi.AzureNative.ManagedNetworkFabric.V20230615.Outputs public sealed class AccessControlListPortConditionResponse { /// - /// List of protocol flags that needs to be matched. + /// List of protocol flags that need to be matched. /// public readonly ImmutableArray Flags; /// @@ -25,7 +25,7 @@ public sealed class AccessControlListPortConditionResponse /// public readonly string Layer4Protocol; /// - /// List of the port Group Names that to be matched. + /// List of the port Group Names that need to be matched. /// public readonly ImmutableArray PortGroupNames; /// diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/CommonDynamicMatchConfigurationResponse.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/CommonDynamicMatchConfigurationResponse.cs index eaa211fd0899..05048845708e 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/CommonDynamicMatchConfigurationResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/CommonDynamicMatchConfigurationResponse.cs @@ -21,7 +21,7 @@ public sealed class CommonDynamicMatchConfigurationResponse /// public readonly ImmutableArray IpGroups; /// - /// List of the port group. + /// List of the port groups. /// public readonly ImmutableArray PortGroups; /// diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/IpMatchConditionResponse.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/IpMatchConditionResponse.cs index 3e9616b2a5c1..fe1e86707f43 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/IpMatchConditionResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/IpMatchConditionResponse.cs @@ -21,15 +21,15 @@ public sealed class IpMatchConditionResponse /// public readonly ImmutableArray IpGroupNames; /// - /// The list of IP Prefixes. + /// The list of IP Prefixes that need to be matched. /// public readonly ImmutableArray IpPrefixValues; /// - /// IP Prefix Type. + /// IP Prefix Type that needs to be matched. /// public readonly string? PrefixType; /// - /// IP Address type. + /// IP Address type that needs to be matched. /// public readonly string? Type; diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/NetworkTapRuleMatchConditionResponse.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/NetworkTapRuleMatchConditionResponse.cs index 4f114e118d44..680ebe87d0aa 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/NetworkTapRuleMatchConditionResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/NetworkTapRuleMatchConditionResponse.cs @@ -17,7 +17,7 @@ namespace Pulumi.AzureNative.ManagedNetworkFabric.V20230615.Outputs public sealed class NetworkTapRuleMatchConditionResponse { /// - /// Encapsulation Type. + /// Encapsulation Type that needs to be matched. /// public readonly string? EncapsulationType; /// diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/PortConditionResponse.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/PortConditionResponse.cs index 7738554d9936..91d5b1ff35de 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/PortConditionResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/PortConditionResponse.cs @@ -21,7 +21,7 @@ public sealed class PortConditionResponse /// public readonly string Layer4Protocol; /// - /// List of the port Group Names that to be matched. + /// List of the port Group Names that need to be matched. /// public readonly ImmutableArray PortGroupNames; /// diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/PortGroupPropertiesResponse.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/PortGroupPropertiesResponse.cs index e1ba31e3a45f..f458cd9d52ba 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/PortGroupPropertiesResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/PortGroupPropertiesResponse.cs @@ -21,7 +21,7 @@ public sealed class PortGroupPropertiesResponse /// public readonly string? Name; /// - /// List of the ports that needs to be matched. + /// List of the ports that need to be matched. /// public readonly ImmutableArray Ports; diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/VlanMatchConditionResponse.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/VlanMatchConditionResponse.cs index f3983d6c469f..5d55258d99e2 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/VlanMatchConditionResponse.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/Outputs/VlanMatchConditionResponse.cs @@ -11,21 +11,21 @@ namespace Pulumi.AzureNative.ManagedNetworkFabric.V20230615.Outputs { /// - /// The vlan match conditions that needs to be matched. + /// The vlan match conditions that need to be matched. /// [OutputType] public sealed class VlanMatchConditionResponse { /// - /// List of inner vlans that needs to be matched. + /// List of inner vlans that need to be matched. /// public readonly ImmutableArray InnerVlans; /// - /// List of vlan group names that to be matched. + /// List of vlan group names that need to be matched. /// public readonly ImmutableArray VlanGroupNames; /// - /// List of vlans that needs to be matched. + /// List of vlans that need to be matched. /// public readonly ImmutableArray Vlans; diff --git a/sdk/dotnet/ManagedNetworkFabric/V20230615/RoutePolicy.cs b/sdk/dotnet/ManagedNetworkFabric/V20230615/RoutePolicy.cs index 10a8f6e5ca4d..55a7212d28e7 100644 --- a/sdk/dotnet/ManagedNetworkFabric/V20230615/RoutePolicy.cs +++ b/sdk/dotnet/ManagedNetworkFabric/V20230615/RoutePolicy.cs @@ -39,6 +39,12 @@ public partial class RoutePolicy : global::Pulumi.CustomResource [Output("configurationState")] public Output ConfigurationState { get; private set; } = null!; + /// + /// Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + /// + [Output("defaultAction")] + public Output DefaultAction { get; private set; } = null!; + /// /// The geo-location where the resource lives /// @@ -149,6 +155,12 @@ public sealed class RoutePolicyArgs : global::Pulumi.ResourceArgs [Input("annotation")] public Input? Annotation { get; set; } + /// + /// Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + /// + [Input("defaultAction")] + public InputUnion? DefaultAction { get; set; } + /// /// The geo-location where the resource lives /// @@ -200,6 +212,7 @@ public InputMap Tags public RoutePolicyArgs() { AddressFamilyType = "IPv4"; + DefaultAction = "Deny"; } public static new RoutePolicyArgs Empty => new RoutePolicyArgs(); } diff --git a/sdk/dotnet/Maps/Account.cs b/sdk/dotnet/Maps/Account.cs index 1f25b2658653..55a477467afa 100644 --- a/sdk/dotnet/Maps/Account.cs +++ b/sdk/dotnet/Maps/Account.cs @@ -95,6 +95,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:maps/v20210201:Account"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20210701preview:Account"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20211201preview:Account"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20230601:Account"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Maps/Creator.cs b/sdk/dotnet/Maps/Creator.cs index 7983f70f10cb..7b6f5ea4e687 100644 --- a/sdk/dotnet/Maps/Creator.cs +++ b/sdk/dotnet/Maps/Creator.cs @@ -75,6 +75,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:maps/v20210201:Creator"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20210701preview:Creator"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20211201preview:Creator"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20230601:Creator"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Maps/V20180501/Account.cs b/sdk/dotnet/Maps/V20180501/Account.cs index bde445d4bd0c..3fc188fb174e 100644 --- a/sdk/dotnet/Maps/V20180501/Account.cs +++ b/sdk/dotnet/Maps/V20180501/Account.cs @@ -82,6 +82,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:maps/v20210201:Account"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20210701preview:Account"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20211201preview:Account"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20230601:Account"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Maps/V20200201Preview/Creator.cs b/sdk/dotnet/Maps/V20200201Preview/Creator.cs index 42df0fc9d25f..4017d2c1e497 100644 --- a/sdk/dotnet/Maps/V20200201Preview/Creator.cs +++ b/sdk/dotnet/Maps/V20200201Preview/Creator.cs @@ -74,6 +74,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:maps/v20210201:Creator"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20210701preview:Creator"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20211201preview:Creator"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20230601:Creator"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Maps/V20210201/Account.cs b/sdk/dotnet/Maps/V20210201/Account.cs index c12713ae590d..130e2ebc775b 100644 --- a/sdk/dotnet/Maps/V20210201/Account.cs +++ b/sdk/dotnet/Maps/V20210201/Account.cs @@ -94,6 +94,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:maps/v20200201preview:Account"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20210701preview:Account"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20211201preview:Account"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20230601:Account"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Maps/V20210201/Creator.cs b/sdk/dotnet/Maps/V20210201/Creator.cs index 086fb9234a5a..b5d1d1353baf 100644 --- a/sdk/dotnet/Maps/V20210201/Creator.cs +++ b/sdk/dotnet/Maps/V20210201/Creator.cs @@ -74,6 +74,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:maps/v20200201preview:Creator"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20210701preview:Creator"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20211201preview:Creator"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20230601:Creator"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Maps/V20211201Preview/Account.cs b/sdk/dotnet/Maps/V20211201Preview/Account.cs index 0aadc4d4d49c..a6001faf038d 100644 --- a/sdk/dotnet/Maps/V20211201Preview/Account.cs +++ b/sdk/dotnet/Maps/V20211201Preview/Account.cs @@ -100,6 +100,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:maps/v20200201preview:Account"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20210201:Account"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20210701preview:Account"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20230601:Account"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Maps/V20211201Preview/Creator.cs b/sdk/dotnet/Maps/V20211201Preview/Creator.cs index 8d0d42baf0fa..d890494767d5 100644 --- a/sdk/dotnet/Maps/V20211201Preview/Creator.cs +++ b/sdk/dotnet/Maps/V20211201Preview/Creator.cs @@ -80,6 +80,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? new global::Pulumi.Alias { Type = "azure-native:maps/v20200201preview:Creator"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20210201:Creator"}, new global::Pulumi.Alias { Type = "azure-native:maps/v20210701preview:Creator"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20230601:Creator"}, }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/Maps/V20230601/Account.cs b/sdk/dotnet/Maps/V20230601/Account.cs new file mode 100644 index 000000000000..6f500a57c9c4 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Account.cs @@ -0,0 +1,186 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601 +{ + /// + /// An Azure resource which represents access to a suite of Maps REST APIs. + /// + [AzureNativeResourceType("azure-native:maps/v20230601:Account")] + public partial class Account : global::Pulumi.CustomResource + { + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// Get or Set Kind property. + /// + [Output("kind")] + public Output Kind { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The map account properties. + /// + [Output("properties")] + public Output Properties { get; private set; } = null!; + + /// + /// The SKU of this account. + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Account resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Account(string name, AccountArgs args, CustomResourceOptions? options = null) + : base("azure-native:maps/v20230601:Account", name, args ?? new AccountArgs(), MakeResourceOptions(options, "")) + { + } + + private Account(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:maps/v20230601:Account", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:maps:Account"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20170101preview:Account"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20180501:Account"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20200201preview:Account"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20210201:Account"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20210701preview:Account"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20211201preview:Account"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Account resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Account Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Account(name, id, options); + } + } + + public sealed class AccountArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the Maps Account. + /// + [Input("accountName")] + public Input? AccountName { get; set; } + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// Get or Set Kind property. + /// + [Input("kind")] + public InputUnion? Kind { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The map account properties. + /// + [Input("properties")] + public Input? Properties { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The SKU of this account. + /// + [Input("sku", required: true)] + public Input Sku { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public AccountArgs() + { + } + public static new AccountArgs Empty => new AccountArgs(); + } +} diff --git a/sdk/dotnet/Maps/V20230601/Creator.cs b/sdk/dotnet/Maps/V20230601/Creator.cs new file mode 100644 index 000000000000..67d2e844f8d0 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Creator.cs @@ -0,0 +1,154 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601 +{ + /// + /// An Azure resource which represents Maps Creator product and provides ability to manage private location data. + /// + [AzureNativeResourceType("azure-native:maps/v20230601:Creator")] + public partial class Creator : global::Pulumi.CustomResource + { + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The Creator resource properties. + /// + [Output("properties")] + public Output Properties { get; private set; } = null!; + + /// + /// The system meta data relating to this resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Creator resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Creator(string name, CreatorArgs args, CustomResourceOptions? options = null) + : base("azure-native:maps/v20230601:Creator", name, args ?? new CreatorArgs(), MakeResourceOptions(options, "")) + { + } + + private Creator(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:maps/v20230601:Creator", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:maps:Creator"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20200201preview:Creator"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20210201:Creator"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20210701preview:Creator"}, + new global::Pulumi.Alias { Type = "azure-native:maps/v20211201preview:Creator"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Creator resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static Creator Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Creator(name, id, options); + } + } + + public sealed class CreatorArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the Maps Account. + /// + [Input("accountName", required: true)] + public Input AccountName { get; set; } = null!; + + /// + /// The name of the Maps Creator instance. + /// + [Input("creatorName")] + public Input? CreatorName { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The Creator resource properties. + /// + [Input("properties", required: true)] + public Input Properties { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public CreatorArgs() + { + } + public static new CreatorArgs Empty => new CreatorArgs(); + } +} diff --git a/sdk/dotnet/Maps/V20230601/Enums.cs b/sdk/dotnet/Maps/V20230601/Enums.cs new file mode 100644 index 000000000000..a4a3faee0393 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Enums.cs @@ -0,0 +1,200 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.Maps.V20230601 +{ + /// + /// Values can be systemAssignedIdentity or userAssignedIdentity + /// + [EnumType] + public readonly struct IdentityType : IEquatable + { + private readonly string _value; + + private IdentityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static IdentityType SystemAssignedIdentity { get; } = new IdentityType("systemAssignedIdentity"); + public static IdentityType UserAssignedIdentity { get; } = new IdentityType("userAssignedIdentity"); + public static IdentityType DelegatedResourceIdentity { get; } = new IdentityType("delegatedResourceIdentity"); + + public static bool operator ==(IdentityType left, IdentityType right) => left.Equals(right); + public static bool operator !=(IdentityType left, IdentityType right) => !left.Equals(right); + + public static explicit operator string(IdentityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is IdentityType other && Equals(other); + public bool Equals(IdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Values are enabled and disabled. + /// + [EnumType] + public readonly struct InfrastructureEncryption : IEquatable + { + private readonly string _value; + + private InfrastructureEncryption(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static InfrastructureEncryption Enabled { get; } = new InfrastructureEncryption("enabled"); + public static InfrastructureEncryption Disabled { get; } = new InfrastructureEncryption("disabled"); + + public static bool operator ==(InfrastructureEncryption left, InfrastructureEncryption right) => left.Equals(right); + public static bool operator !=(InfrastructureEncryption left, InfrastructureEncryption right) => !left.Equals(right); + + public static explicit operator string(InfrastructureEncryption value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is InfrastructureEncryption other && Equals(other); + public bool Equals(InfrastructureEncryption other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Get or Set Kind property. + /// + [EnumType] + public readonly struct Kind : IEquatable + { + private readonly string _value; + + private Kind(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static Kind Gen1 { get; } = new Kind("Gen1"); + public static Kind Gen2 { get; } = new Kind("Gen2"); + + public static bool operator ==(Kind left, Kind right) => left.Equals(right); + public static bool operator !=(Kind left, Kind right) => !left.Equals(right); + + public static explicit operator string(Kind value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is Kind other && Equals(other); + public bool Equals(Kind other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [EnumType] + public readonly struct ManagedServiceIdentityType : IEquatable + { + private readonly string _value; + + private ManagedServiceIdentityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ManagedServiceIdentityType None { get; } = new ManagedServiceIdentityType("None"); + public static ManagedServiceIdentityType SystemAssigned { get; } = new ManagedServiceIdentityType("SystemAssigned"); + public static ManagedServiceIdentityType UserAssigned { get; } = new ManagedServiceIdentityType("UserAssigned"); + public static ManagedServiceIdentityType SystemAssigned_UserAssigned { get; } = new ManagedServiceIdentityType("SystemAssigned, UserAssigned"); + + public static bool operator ==(ManagedServiceIdentityType left, ManagedServiceIdentityType right) => left.Equals(right); + public static bool operator !=(ManagedServiceIdentityType left, ManagedServiceIdentityType right) => !left.Equals(right); + + public static explicit operator string(ManagedServiceIdentityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ManagedServiceIdentityType other && Equals(other); + public bool Equals(ManagedServiceIdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The name of the SKU, in standard format (such as S0). + /// + [EnumType] + public readonly struct Name : IEquatable + { + private readonly string _value; + + private Name(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static Name S0 { get; } = new Name("S0"); + public static Name S1 { get; } = new Name("S1"); + public static Name G2 { get; } = new Name("G2"); + + public static bool operator ==(Name left, Name right) => left.Equals(right); + public static bool operator !=(Name left, Name right) => !left.Equals(right); + + public static explicit operator string(Name value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is Name other && Equals(other); + public bool Equals(Name other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The Map account key to use for signing. Picking `primaryKey` or `secondaryKey` will use the Map account Shared Keys, and using `managedIdentity` will use the auto-renewed private key to sign the SAS. + /// + [EnumType] + public readonly struct SigningKey : IEquatable + { + private readonly string _value; + + private SigningKey(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SigningKey PrimaryKey { get; } = new SigningKey("primaryKey"); + public static SigningKey SecondaryKey { get; } = new SigningKey("secondaryKey"); + public static SigningKey ManagedIdentity { get; } = new SigningKey("managedIdentity"); + + public static bool operator ==(SigningKey left, SigningKey right) => left.Equals(right); + public static bool operator !=(SigningKey left, SigningKey right) => !left.Equals(right); + + public static explicit operator string(SigningKey value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SigningKey other && Equals(other); + public bool Equals(SigningKey other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/Maps/V20230601/GetAccount.cs b/sdk/dotnet/Maps/V20230601/GetAccount.cs new file mode 100644 index 000000000000..004b6e32c577 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/GetAccount.cs @@ -0,0 +1,147 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601 +{ + public static class GetAccount + { + /// + /// Get a Maps Account. + /// + public static Task InvokeAsync(GetAccountArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:maps/v20230601:getAccount", args ?? new GetAccountArgs(), options.WithDefaults()); + + /// + /// Get a Maps Account. + /// + public static Output Invoke(GetAccountInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:maps/v20230601:getAccount", args ?? new GetAccountInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAccountArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the Maps Account. + /// + [Input("accountName", required: true)] + public string AccountName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetAccountArgs() + { + } + public static new GetAccountArgs Empty => new GetAccountArgs(); + } + + public sealed class GetAccountInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the Maps Account. + /// + [Input("accountName", required: true)] + public Input AccountName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetAccountInvokeArgs() + { + } + public static new GetAccountInvokeArgs Empty => new GetAccountInvokeArgs(); + } + + + [OutputType] + public sealed class GetAccountResult + { + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + public readonly Outputs.ManagedServiceIdentityResponse? Identity; + /// + /// Get or Set Kind property. + /// + public readonly string? Kind; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The map account properties. + /// + public readonly Outputs.MapsAccountPropertiesResponse Properties; + /// + /// The SKU of this account. + /// + public readonly Outputs.SkuResponse Sku; + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetAccountResult( + string id, + + Outputs.ManagedServiceIdentityResponse? identity, + + string? kind, + + string location, + + string name, + + Outputs.MapsAccountPropertiesResponse properties, + + Outputs.SkuResponse sku, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type) + { + Id = id; + Identity = identity; + Kind = kind; + Location = location; + Name = name; + Properties = properties; + Sku = sku; + SystemData = systemData; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/GetCreator.cs b/sdk/dotnet/Maps/V20230601/GetCreator.cs new file mode 100644 index 000000000000..483123a09a00 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/GetCreator.cs @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601 +{ + public static class GetCreator + { + /// + /// Get a Maps Creator resource. + /// + public static Task InvokeAsync(GetCreatorArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:maps/v20230601:getCreator", args ?? new GetCreatorArgs(), options.WithDefaults()); + + /// + /// Get a Maps Creator resource. + /// + public static Output Invoke(GetCreatorInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:maps/v20230601:getCreator", args ?? new GetCreatorInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCreatorArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the Maps Account. + /// + [Input("accountName", required: true)] + public string AccountName { get; set; } = null!; + + /// + /// The name of the Maps Creator instance. + /// + [Input("creatorName", required: true)] + public string CreatorName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetCreatorArgs() + { + } + public static new GetCreatorArgs Empty => new GetCreatorArgs(); + } + + public sealed class GetCreatorInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the Maps Account. + /// + [Input("accountName", required: true)] + public Input AccountName { get; set; } = null!; + + /// + /// The name of the Maps Creator instance. + /// + [Input("creatorName", required: true)] + public Input CreatorName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetCreatorInvokeArgs() + { + } + public static new GetCreatorInvokeArgs Empty => new GetCreatorInvokeArgs(); + } + + + [OutputType] + public sealed class GetCreatorResult + { + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The Creator resource properties. + /// + public readonly Outputs.CreatorPropertiesResponse Properties; + /// + /// The system meta data relating to this resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetCreatorResult( + string id, + + string location, + + string name, + + Outputs.CreatorPropertiesResponse properties, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type) + { + Id = id; + Location = location; + Name = name; + Properties = properties; + SystemData = systemData; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Inputs/CorsRuleArgs.cs b/sdk/dotnet/Maps/V20230601/Inputs/CorsRuleArgs.cs new file mode 100644 index 000000000000..873584eb18c2 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Inputs/CorsRuleArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Inputs +{ + + /// + /// Specifies a CORS rule for the Map Account. + /// + public sealed class CorsRuleArgs : global::Pulumi.ResourceArgs + { + [Input("allowedOrigins", required: true)] + private InputList? _allowedOrigins; + + /// + /// Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" to allow all domains + /// + public InputList AllowedOrigins + { + get => _allowedOrigins ?? (_allowedOrigins = new InputList()); + set => _allowedOrigins = value; + } + + public CorsRuleArgs() + { + } + public static new CorsRuleArgs Empty => new CorsRuleArgs(); + } +} diff --git a/sdk/dotnet/Maps/V20230601/Inputs/CorsRulesArgs.cs b/sdk/dotnet/Maps/V20230601/Inputs/CorsRulesArgs.cs new file mode 100644 index 000000000000..cc4f0b9cad53 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Inputs/CorsRulesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Inputs +{ + + /// + /// Sets the CORS rules. You can include up to five CorsRule elements in the request. + /// + public sealed class CorsRulesArgs : global::Pulumi.ResourceArgs + { + [Input("corsRules")] + private InputList? _corsRules; + + /// + /// The list of CORS rules. You can include up to five CorsRule elements in the request. + /// + public InputList CorsRules + { + get => _corsRules ?? (_corsRules = new InputList()); + set => _corsRules = value; + } + + public CorsRulesArgs() + { + } + public static new CorsRulesArgs Empty => new CorsRulesArgs(); + } +} diff --git a/sdk/dotnet/Maps/V20230601/Inputs/CreatorPropertiesArgs.cs b/sdk/dotnet/Maps/V20230601/Inputs/CreatorPropertiesArgs.cs new file mode 100644 index 000000000000..61194e1a833a --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Inputs/CreatorPropertiesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Inputs +{ + + /// + /// Creator resource properties + /// + public sealed class CreatorPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The storage units to be allocated. Integer values from 1 to 100, inclusive. + /// + [Input("storageUnits", required: true)] + public Input StorageUnits { get; set; } = null!; + + public CreatorPropertiesArgs() + { + } + public static new CreatorPropertiesArgs Empty => new CreatorPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Maps/V20230601/Inputs/CustomerManagedKeyEncryptionArgs.cs b/sdk/dotnet/Maps/V20230601/Inputs/CustomerManagedKeyEncryptionArgs.cs new file mode 100644 index 000000000000..b838639da971 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Inputs/CustomerManagedKeyEncryptionArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Inputs +{ + + /// + /// All Customer-managed key encryption properties for the resource. + /// + public sealed class CustomerManagedKeyEncryptionArgs : global::Pulumi.ResourceArgs + { + /// + /// All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + /// + [Input("keyEncryptionKeyIdentity")] + public Input? KeyEncryptionKeyIdentity { get; set; } + + /// + /// key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek. + /// + [Input("keyEncryptionKeyUrl")] + public Input? KeyEncryptionKeyUrl { get; set; } + + public CustomerManagedKeyEncryptionArgs() + { + } + public static new CustomerManagedKeyEncryptionArgs Empty => new CustomerManagedKeyEncryptionArgs(); + } +} diff --git a/sdk/dotnet/Maps/V20230601/Inputs/CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs.cs b/sdk/dotnet/Maps/V20230601/Inputs/CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs.cs new file mode 100644 index 000000000000..abb41025bdce --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Inputs/CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Inputs +{ + + /// + /// All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + /// + public sealed class CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only. + /// + [Input("delegatedIdentityClientId")] + public Input? DelegatedIdentityClientId { get; set; } + + /// + /// Values can be systemAssignedIdentity or userAssignedIdentity + /// + [Input("identityType")] + public InputUnion? IdentityType { get; set; } + + /// + /// user assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and delegatedResourceIdentity. + /// + [Input("userAssignedIdentityResourceId")] + public Input? UserAssignedIdentityResourceId { get; set; } + + public CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs() + { + } + public static new CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs Empty => new CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs(); + } +} diff --git a/sdk/dotnet/Maps/V20230601/Inputs/EncryptionArgs.cs b/sdk/dotnet/Maps/V20230601/Inputs/EncryptionArgs.cs new file mode 100644 index 000000000000..4dd8890692e2 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Inputs/EncryptionArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Inputs +{ + + /// + /// (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + /// + public sealed class EncryptionArgs : global::Pulumi.ResourceArgs + { + /// + /// All Customer-managed key encryption properties for the resource. + /// + [Input("customerManagedKeyEncryption")] + public Input? CustomerManagedKeyEncryption { get; set; } + + /// + /// Values are enabled and disabled. + /// + [Input("infrastructureEncryption")] + public InputUnion? InfrastructureEncryption { get; set; } + + public EncryptionArgs() + { + } + public static new EncryptionArgs Empty => new EncryptionArgs(); + } +} diff --git a/sdk/dotnet/Maps/V20230601/Inputs/LinkedResourceArgs.cs b/sdk/dotnet/Maps/V20230601/Inputs/LinkedResourceArgs.cs new file mode 100644 index 000000000000..f707c9f9c6c9 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Inputs/LinkedResourceArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Inputs +{ + + /// + /// Linked resource is reference to a resource deployed in an Azure subscription, add the linked resource `uniqueName` value as an optional parameter for operations on Azure Maps Geospatial REST APIs. + /// + public sealed class LinkedResourceArgs : global::Pulumi.ResourceArgs + { + /// + /// ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + /// + /// A provided name which uniquely identifies the linked resource. + /// + [Input("uniqueName", required: true)] + public Input UniqueName { get; set; } = null!; + + public LinkedResourceArgs() + { + } + public static new LinkedResourceArgs Empty => new LinkedResourceArgs(); + } +} diff --git a/sdk/dotnet/Maps/V20230601/Inputs/ManagedServiceIdentityArgs.cs b/sdk/dotnet/Maps/V20230601/Inputs/ManagedServiceIdentityArgs.cs new file mode 100644 index 000000000000..7bb831b617ed --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Inputs/ManagedServiceIdentityArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Inputs +{ + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + public sealed class ManagedServiceIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Input("type", required: true)] + public InputUnion Type { get; set; } = null!; + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } + + public ManagedServiceIdentityArgs() + { + } + public static new ManagedServiceIdentityArgs Empty => new ManagedServiceIdentityArgs(); + } +} diff --git a/sdk/dotnet/Maps/V20230601/Inputs/MapsAccountPropertiesArgs.cs b/sdk/dotnet/Maps/V20230601/Inputs/MapsAccountPropertiesArgs.cs new file mode 100644 index 000000000000..c4e90250c09b --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Inputs/MapsAccountPropertiesArgs.cs @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Inputs +{ + + /// + /// Additional Map account properties + /// + public sealed class MapsAccountPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service. + /// + [Input("cors")] + public Input? Cors { get; set; } + + /// + /// Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys and Shared Access Signature Token authentication from any usage. + /// + [Input("disableLocalAuth")] + public Input? DisableLocalAuth { get; set; } + + /// + /// (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + /// + [Input("encryption")] + public Input? Encryption { get; set; } + + [Input("linkedResources")] + private InputList? _linkedResources; + + /// + /// The array of associated resources to the Map account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Map Account Managed Identity(s) permissions to those resource(s). + /// + public InputList LinkedResources + { + get => _linkedResources ?? (_linkedResources = new InputList()); + set => _linkedResources = value; + } + + public MapsAccountPropertiesArgs() + { + DisableLocalAuth = false; + } + public static new MapsAccountPropertiesArgs Empty => new MapsAccountPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Maps/V20230601/Inputs/SkuArgs.cs b/sdk/dotnet/Maps/V20230601/Inputs/SkuArgs.cs new file mode 100644 index 000000000000..2993cd83a521 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Inputs/SkuArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Inputs +{ + + /// + /// The SKU of the Maps Account. + /// + public sealed class SkuArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the SKU, in standard format (such as S0). + /// + [Input("name", required: true)] + public InputUnion Name { get; set; } = null!; + + public SkuArgs() + { + } + public static new SkuArgs Empty => new SkuArgs(); + } +} diff --git a/sdk/dotnet/Maps/V20230601/ListAccountKeys.cs b/sdk/dotnet/Maps/V20230601/ListAccountKeys.cs new file mode 100644 index 000000000000..3799f61e5865 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/ListAccountKeys.cs @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601 +{ + public static class ListAccountKeys + { + /// + /// Get the keys to use with the Maps APIs. A key is used to authenticate and authorize access to the Maps REST APIs. Only one key is needed at a time; two are given to provide seamless key regeneration. + /// + public static Task InvokeAsync(ListAccountKeysArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:maps/v20230601:listAccountKeys", args ?? new ListAccountKeysArgs(), options.WithDefaults()); + + /// + /// Get the keys to use with the Maps APIs. A key is used to authenticate and authorize access to the Maps REST APIs. Only one key is needed at a time; two are given to provide seamless key regeneration. + /// + public static Output Invoke(ListAccountKeysInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:maps/v20230601:listAccountKeys", args ?? new ListAccountKeysInvokeArgs(), options.WithDefaults()); + } + + + public sealed class ListAccountKeysArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the Maps Account. + /// + [Input("accountName", required: true)] + public string AccountName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public ListAccountKeysArgs() + { + } + public static new ListAccountKeysArgs Empty => new ListAccountKeysArgs(); + } + + public sealed class ListAccountKeysInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the Maps Account. + /// + [Input("accountName", required: true)] + public Input AccountName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public ListAccountKeysInvokeArgs() + { + } + public static new ListAccountKeysInvokeArgs Empty => new ListAccountKeysInvokeArgs(); + } + + + [OutputType] + public sealed class ListAccountKeysResult + { + /// + /// The primary key for accessing the Maps REST APIs. + /// + public readonly string PrimaryKey; + /// + /// The last updated date and time of the primary key. + /// + public readonly string PrimaryKeyLastUpdated; + /// + /// The secondary key for accessing the Maps REST APIs. + /// + public readonly string SecondaryKey; + /// + /// The last updated date and time of the secondary key. + /// + public readonly string SecondaryKeyLastUpdated; + + [OutputConstructor] + private ListAccountKeysResult( + string primaryKey, + + string primaryKeyLastUpdated, + + string secondaryKey, + + string secondaryKeyLastUpdated) + { + PrimaryKey = primaryKey; + PrimaryKeyLastUpdated = primaryKeyLastUpdated; + SecondaryKey = secondaryKey; + SecondaryKeyLastUpdated = secondaryKeyLastUpdated; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/ListAccountSas.cs b/sdk/dotnet/Maps/V20230601/ListAccountSas.cs new file mode 100644 index 000000000000..7a7885606b77 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/ListAccountSas.cs @@ -0,0 +1,177 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601 +{ + public static class ListAccountSas + { + /// + /// Create and list an account shared access signature token. Use this SAS token for authentication to Azure Maps REST APIs through various Azure Maps SDKs. As prerequisite to create a SAS Token. + /// + /// Prerequisites: + /// 1. Create or have an existing User Assigned Managed Identity in the same Azure region as the account. + /// 2. Create or update an Azure Map account with the same Azure region as the User Assigned Managed Identity is placed. + /// + public static Task InvokeAsync(ListAccountSasArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:maps/v20230601:listAccountSas", args ?? new ListAccountSasArgs(), options.WithDefaults()); + + /// + /// Create and list an account shared access signature token. Use this SAS token for authentication to Azure Maps REST APIs through various Azure Maps SDKs. As prerequisite to create a SAS Token. + /// + /// Prerequisites: + /// 1. Create or have an existing User Assigned Managed Identity in the same Azure region as the account. + /// 2. Create or update an Azure Map account with the same Azure region as the User Assigned Managed Identity is placed. + /// + public static Output Invoke(ListAccountSasInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:maps/v20230601:listAccountSas", args ?? new ListAccountSasInvokeArgs(), options.WithDefaults()); + } + + + public sealed class ListAccountSasArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the Maps Account. + /// + [Input("accountName", required: true)] + public string AccountName { get; set; } = null!; + + /// + /// The date time offset of when the token validity expires. For example "2017-05-24T10:42:03.1567373Z". Maximum duration allowed is 24 hours between `start` and `expiry`. + /// + [Input("expiry", required: true)] + public string Expiry { get; set; } = null!; + + /// + /// Required parameter which represents the desired maximum request per second to allowed for the given SAS token. This does not guarantee perfect accuracy in measurements but provides application safe guards of abuse with eventual enforcement. + /// + [Input("maxRatePerSecond", required: true)] + public int MaxRatePerSecond { get; set; } + + /// + /// The principal Id also known as the object Id of a User Assigned Managed Identity currently assigned to the Map Account. To assign a Managed Identity of the account, use operation Create or Update an assign a User Assigned Identity resource Id. + /// + [Input("principalId", required: true)] + public string PrincipalId { get; set; } = null!; + + [Input("regions")] + private List? _regions; + + /// + /// Optional, allows control of which region locations are permitted access to Azure Maps REST APIs with the SAS token. Example: "eastus", "westus2". Omitting this parameter will allow all region locations to be accessible. + /// + public List Regions + { + get => _regions ?? (_regions = new List()); + set => _regions = value; + } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The Map account key to use for signing. Picking `primaryKey` or `secondaryKey` will use the Map account Shared Keys, and using `managedIdentity` will use the auto-renewed private key to sign the SAS. + /// + [Input("signingKey", required: true)] + public Union SigningKey { get; set; } = null!; + + /// + /// The date time offset of when the token validity begins. For example "2017-05-24T10:42:03.1567373Z". Maximum duration allowed is 24 hours between `start` and `expiry`. + /// + [Input("start", required: true)] + public string Start { get; set; } = null!; + + public ListAccountSasArgs() + { + MaxRatePerSecond = 500; + } + public static new ListAccountSasArgs Empty => new ListAccountSasArgs(); + } + + public sealed class ListAccountSasInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the Maps Account. + /// + [Input("accountName", required: true)] + public Input AccountName { get; set; } = null!; + + /// + /// The date time offset of when the token validity expires. For example "2017-05-24T10:42:03.1567373Z". Maximum duration allowed is 24 hours between `start` and `expiry`. + /// + [Input("expiry", required: true)] + public Input Expiry { get; set; } = null!; + + /// + /// Required parameter which represents the desired maximum request per second to allowed for the given SAS token. This does not guarantee perfect accuracy in measurements but provides application safe guards of abuse with eventual enforcement. + /// + [Input("maxRatePerSecond", required: true)] + public Input MaxRatePerSecond { get; set; } = null!; + + /// + /// The principal Id also known as the object Id of a User Assigned Managed Identity currently assigned to the Map Account. To assign a Managed Identity of the account, use operation Create or Update an assign a User Assigned Identity resource Id. + /// + [Input("principalId", required: true)] + public Input PrincipalId { get; set; } = null!; + + [Input("regions")] + private InputList? _regions; + + /// + /// Optional, allows control of which region locations are permitted access to Azure Maps REST APIs with the SAS token. Example: "eastus", "westus2". Omitting this parameter will allow all region locations to be accessible. + /// + public InputList Regions + { + get => _regions ?? (_regions = new InputList()); + set => _regions = value; + } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The Map account key to use for signing. Picking `primaryKey` or `secondaryKey` will use the Map account Shared Keys, and using `managedIdentity` will use the auto-renewed private key to sign the SAS. + /// + [Input("signingKey", required: true)] + public InputUnion SigningKey { get; set; } = null!; + + /// + /// The date time offset of when the token validity begins. For example "2017-05-24T10:42:03.1567373Z". Maximum duration allowed is 24 hours between `start` and `expiry`. + /// + [Input("start", required: true)] + public Input Start { get; set; } = null!; + + public ListAccountSasInvokeArgs() + { + MaxRatePerSecond = 500; + } + public static new ListAccountSasInvokeArgs Empty => new ListAccountSasInvokeArgs(); + } + + + [OutputType] + public sealed class ListAccountSasResult + { + /// + /// The shared access signature access token. + /// + public readonly string AccountSasToken; + + [OutputConstructor] + private ListAccountSasResult(string accountSasToken) + { + AccountSasToken = accountSasToken; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Outputs/CorsRuleResponse.cs b/sdk/dotnet/Maps/V20230601/Outputs/CorsRuleResponse.cs new file mode 100644 index 000000000000..e9019d740b39 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Outputs/CorsRuleResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Outputs +{ + + /// + /// Specifies a CORS rule for the Map Account. + /// + [OutputType] + public sealed class CorsRuleResponse + { + /// + /// Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" to allow all domains + /// + public readonly ImmutableArray AllowedOrigins; + + [OutputConstructor] + private CorsRuleResponse(ImmutableArray allowedOrigins) + { + AllowedOrigins = allowedOrigins; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Outputs/CorsRulesResponse.cs b/sdk/dotnet/Maps/V20230601/Outputs/CorsRulesResponse.cs new file mode 100644 index 000000000000..7f7a60d4f6c9 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Outputs/CorsRulesResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Outputs +{ + + /// + /// Sets the CORS rules. You can include up to five CorsRule elements in the request. + /// + [OutputType] + public sealed class CorsRulesResponse + { + /// + /// The list of CORS rules. You can include up to five CorsRule elements in the request. + /// + public readonly ImmutableArray CorsRules; + + [OutputConstructor] + private CorsRulesResponse(ImmutableArray corsRules) + { + CorsRules = corsRules; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Outputs/CreatorPropertiesResponse.cs b/sdk/dotnet/Maps/V20230601/Outputs/CreatorPropertiesResponse.cs new file mode 100644 index 000000000000..fd0a7144f24e --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Outputs/CreatorPropertiesResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Outputs +{ + + /// + /// Creator resource properties + /// + [OutputType] + public sealed class CreatorPropertiesResponse + { + /// + /// The state of the resource provisioning, terminal states: Succeeded, Failed, Canceled + /// + public readonly string ProvisioningState; + /// + /// The storage units to be allocated. Integer values from 1 to 100, inclusive. + /// + public readonly int StorageUnits; + + [OutputConstructor] + private CreatorPropertiesResponse( + string provisioningState, + + int storageUnits) + { + ProvisioningState = provisioningState; + StorageUnits = storageUnits; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Outputs/CustomerManagedKeyEncryptionResponse.cs b/sdk/dotnet/Maps/V20230601/Outputs/CustomerManagedKeyEncryptionResponse.cs new file mode 100644 index 000000000000..659c5345db0d --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Outputs/CustomerManagedKeyEncryptionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Outputs +{ + + /// + /// All Customer-managed key encryption properties for the resource. + /// + [OutputType] + public sealed class CustomerManagedKeyEncryptionResponse + { + /// + /// All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + /// + public readonly Outputs.CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity? KeyEncryptionKeyIdentity; + /// + /// key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek. + /// + public readonly string? KeyEncryptionKeyUrl; + + [OutputConstructor] + private CustomerManagedKeyEncryptionResponse( + Outputs.CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity? keyEncryptionKeyIdentity, + + string? keyEncryptionKeyUrl) + { + KeyEncryptionKeyIdentity = keyEncryptionKeyIdentity; + KeyEncryptionKeyUrl = keyEncryptionKeyUrl; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Outputs/CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity.cs b/sdk/dotnet/Maps/V20230601/Outputs/CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity.cs new file mode 100644 index 000000000000..4d522fc30aef --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Outputs/CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Outputs +{ + + /// + /// All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + /// + [OutputType] + public sealed class CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity + { + /// + /// delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only. + /// + public readonly string? DelegatedIdentityClientId; + /// + /// Values can be systemAssignedIdentity or userAssignedIdentity + /// + public readonly string? IdentityType; + /// + /// user assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and delegatedResourceIdentity. + /// + public readonly string? UserAssignedIdentityResourceId; + + [OutputConstructor] + private CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity( + string? delegatedIdentityClientId, + + string? identityType, + + string? userAssignedIdentityResourceId) + { + DelegatedIdentityClientId = delegatedIdentityClientId; + IdentityType = identityType; + UserAssignedIdentityResourceId = userAssignedIdentityResourceId; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Outputs/EncryptionResponse.cs b/sdk/dotnet/Maps/V20230601/Outputs/EncryptionResponse.cs new file mode 100644 index 000000000000..49d00aae14a5 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Outputs/EncryptionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Outputs +{ + + /// + /// (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + /// + [OutputType] + public sealed class EncryptionResponse + { + /// + /// All Customer-managed key encryption properties for the resource. + /// + public readonly Outputs.CustomerManagedKeyEncryptionResponse? CustomerManagedKeyEncryption; + /// + /// Values are enabled and disabled. + /// + public readonly string? InfrastructureEncryption; + + [OutputConstructor] + private EncryptionResponse( + Outputs.CustomerManagedKeyEncryptionResponse? customerManagedKeyEncryption, + + string? infrastructureEncryption) + { + CustomerManagedKeyEncryption = customerManagedKeyEncryption; + InfrastructureEncryption = infrastructureEncryption; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Outputs/LinkedResourceResponse.cs b/sdk/dotnet/Maps/V20230601/Outputs/LinkedResourceResponse.cs new file mode 100644 index 000000000000..d6aec1fcd4f3 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Outputs/LinkedResourceResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Outputs +{ + + /// + /// Linked resource is reference to a resource deployed in an Azure subscription, add the linked resource `uniqueName` value as an optional parameter for operations on Azure Maps Geospatial REST APIs. + /// + [OutputType] + public sealed class LinkedResourceResponse + { + /// + /// ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'. + /// + public readonly string Id; + /// + /// A provided name which uniquely identifies the linked resource. + /// + public readonly string UniqueName; + + [OutputConstructor] + private LinkedResourceResponse( + string id, + + string uniqueName) + { + Id = id; + UniqueName = uniqueName; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Outputs/ManagedServiceIdentityResponse.cs b/sdk/dotnet/Maps/V20230601/Outputs/ManagedServiceIdentityResponse.cs new file mode 100644 index 000000000000..067c996f82aa --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Outputs/ManagedServiceIdentityResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Outputs +{ + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + [OutputType] + public sealed class ManagedServiceIdentityResponse + { + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + public readonly string PrincipalId; + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + public readonly string TenantId; + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + public readonly string Type; + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + /// + public readonly ImmutableDictionary? UserAssignedIdentities; + + [OutputConstructor] + private ManagedServiceIdentityResponse( + string principalId, + + string tenantId, + + string type, + + ImmutableDictionary? userAssignedIdentities) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + UserAssignedIdentities = userAssignedIdentities; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Outputs/MapsAccountPropertiesResponse.cs b/sdk/dotnet/Maps/V20230601/Outputs/MapsAccountPropertiesResponse.cs new file mode 100644 index 000000000000..dab58ce3d148 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Outputs/MapsAccountPropertiesResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Outputs +{ + + /// + /// Additional Map account properties + /// + [OutputType] + public sealed class MapsAccountPropertiesResponse + { + /// + /// Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service. + /// + public readonly Outputs.CorsRulesResponse? Cors; + /// + /// Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys and Shared Access Signature Token authentication from any usage. + /// + public readonly bool? DisableLocalAuth; + /// + /// (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + /// + public readonly Outputs.EncryptionResponse? Encryption; + /// + /// The array of associated resources to the Map account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Map Account Managed Identity(s) permissions to those resource(s). + /// + public readonly ImmutableArray LinkedResources; + /// + /// The provisioning state of the Map account resource, Account updates can only be performed on terminal states. Terminal states: `Succeeded` and `Failed` + /// + public readonly string ProvisioningState; + /// + /// A unique identifier for the maps account + /// + public readonly string UniqueId; + + [OutputConstructor] + private MapsAccountPropertiesResponse( + Outputs.CorsRulesResponse? cors, + + bool? disableLocalAuth, + + Outputs.EncryptionResponse? encryption, + + ImmutableArray linkedResources, + + string provisioningState, + + string uniqueId) + { + Cors = cors; + DisableLocalAuth = disableLocalAuth; + Encryption = encryption; + LinkedResources = linkedResources; + ProvisioningState = provisioningState; + UniqueId = uniqueId; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Outputs/SkuResponse.cs b/sdk/dotnet/Maps/V20230601/Outputs/SkuResponse.cs new file mode 100644 index 000000000000..cd4acef67384 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Outputs/SkuResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Outputs +{ + + /// + /// The SKU of the Maps Account. + /// + [OutputType] + public sealed class SkuResponse + { + /// + /// The name of the SKU, in standard format (such as S0). + /// + public readonly string Name; + /// + /// Gets the sku tier. This is based on the SKU name. + /// + public readonly string Tier; + + [OutputConstructor] + private SkuResponse( + string name, + + string tier) + { + Name = name; + Tier = tier; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Outputs/SystemDataResponse.cs b/sdk/dotnet/Maps/V20230601/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..d131e68aef4d --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Outputs +{ + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC). + /// + public readonly string? CreatedAt; + /// + /// The identity that created the resource. + /// + public readonly string? CreatedBy; + /// + /// The type of identity that created the resource. + /// + public readonly string? CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string? LastModifiedAt; + /// + /// The identity that last modified the resource. + /// + public readonly string? LastModifiedBy; + /// + /// The type of identity that last modified the resource. + /// + public readonly string? LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string? createdAt, + + string? createdBy, + + string? createdByType, + + string? lastModifiedAt, + + string? lastModifiedBy, + + string? lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/Outputs/UserAssignedIdentityResponse.cs b/sdk/dotnet/Maps/V20230601/Outputs/UserAssignedIdentityResponse.cs new file mode 100644 index 000000000000..ac9d752b34f6 --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/Outputs/UserAssignedIdentityResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Maps.V20230601.Outputs +{ + + /// + /// User assigned identity properties + /// + [OutputType] + public sealed class UserAssignedIdentityResponse + { + /// + /// The client ID of the assigned identity. + /// + public readonly string ClientId; + /// + /// The principal ID of the assigned identity. + /// + public readonly string PrincipalId; + + [OutputConstructor] + private UserAssignedIdentityResponse( + string clientId, + + string principalId) + { + ClientId = clientId; + PrincipalId = principalId; + } + } +} diff --git a/sdk/dotnet/Maps/V20230601/README.md b/sdk/dotnet/Maps/V20230601/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/Maps/V20230601/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/MobilePacketCore/Enums.cs b/sdk/dotnet/MobilePacketCore/Enums.cs new file mode 100644 index 000000000000..f4dd0cb180e0 --- /dev/null +++ b/sdk/dotnet/MobilePacketCore/Enums.cs @@ -0,0 +1,176 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.MobilePacketCore +{ + /// + /// Administrative state of the network function + /// + [EnumType] + public readonly struct NetworkFunctionAdministrativeState : IEquatable + { + private readonly string _value; + + private NetworkFunctionAdministrativeState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Resource has been commissioned + /// + public static NetworkFunctionAdministrativeState Commissioned { get; } = new NetworkFunctionAdministrativeState("Commissioned"); + /// + /// Resource has been decommissioned + /// + public static NetworkFunctionAdministrativeState Decommissioned { get; } = new NetworkFunctionAdministrativeState("Decommissioned"); + + public static bool operator ==(NetworkFunctionAdministrativeState left, NetworkFunctionAdministrativeState right) => left.Equals(right); + public static bool operator !=(NetworkFunctionAdministrativeState left, NetworkFunctionAdministrativeState right) => !left.Equals(right); + + public static explicit operator string(NetworkFunctionAdministrativeState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkFunctionAdministrativeState other && Equals(other); + public bool Equals(NetworkFunctionAdministrativeState other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of network function + /// + [EnumType] + public readonly struct NetworkFunctionType : IEquatable + { + private readonly string _value; + + private NetworkFunctionType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Access and Mobility Function + /// + public static NetworkFunctionType AMF { get; } = new NetworkFunctionType("AMF"); + /// + /// Session Management Function + /// + public static NetworkFunctionType SMF { get; } = new NetworkFunctionType("SMF"); + /// + /// User Plane Function + /// + public static NetworkFunctionType UPF { get; } = new NetworkFunctionType("UPF"); + /// + /// Network Repository Function + /// + public static NetworkFunctionType NRF { get; } = new NetworkFunctionType("NRF"); + /// + /// Network Slice Selection Function + /// + public static NetworkFunctionType NSSF { get; } = new NetworkFunctionType("NSSF"); + /// + /// Mobility Management Entity + /// + public static NetworkFunctionType MME { get; } = new NetworkFunctionType("MME"); + /// + /// System Architecture Evolution Gateway Control Plane, control and user plane separation (CUPS) architecture + /// + public static NetworkFunctionType SaegwControlPlane { get; } = new NetworkFunctionType("SaegwControlPlane"); + /// + /// System Architecture Evolution Gateway User Plane, control and user plane separation (CUPS) architecture + /// + public static NetworkFunctionType SaegwUserPlane { get; } = new NetworkFunctionType("SaegwUserPlane"); + /// + /// System Architecture Evolution Gateway. This combines the Serving Gateway (SGW) and the Packet Data Network Gateway (PGW) functionality + /// + public static NetworkFunctionType Saegw { get; } = new NetworkFunctionType("Saegw"); + /// + /// Evolved Packet Data Gateway + /// + public static NetworkFunctionType EPDG { get; } = new NetworkFunctionType("ePDG"); + /// + /// Non-3GPP Interworking Function + /// + public static NetworkFunctionType N3IWF { get; } = new NetworkFunctionType("N3IWF"); + /// + /// Remote Platform As A Service Components + /// + public static NetworkFunctionType RemotePaaS { get; } = new NetworkFunctionType("RemotePaaS"); + /// + /// Element Management System + /// + public static NetworkFunctionType EMS { get; } = new NetworkFunctionType("EMS"); + /// + /// Operations and Policy Manager + /// + public static NetworkFunctionType OperationsPolicyManager { get; } = new NetworkFunctionType("OperationsPolicyManager"); + + public static bool operator ==(NetworkFunctionType left, NetworkFunctionType right) => left.Equals(right); + public static bool operator !=(NetworkFunctionType left, NetworkFunctionType right) => !left.Equals(right); + + public static explicit operator string(NetworkFunctionType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkFunctionType other && Equals(other); + public bool Equals(NetworkFunctionType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Provisioned SKU Value. + /// + [EnumType] + public readonly struct SkuDefinitions : IEquatable + { + private readonly string _value; + + private SkuDefinitions(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Azure Lab SKU + /// + public static SkuDefinitions AzureLab { get; } = new SkuDefinitions("AzureLab"); + /// + /// Azure Production SKU + /// + public static SkuDefinitions AzureProduction { get; } = new SkuDefinitions("AzureProduction"); + /// + /// Nexus Lab SKU + /// + public static SkuDefinitions NexusLab { get; } = new SkuDefinitions("NexusLab"); + /// + /// Nexus Production SKU + /// + public static SkuDefinitions NexusProduction { get; } = new SkuDefinitions("NexusProduction"); + + public static bool operator ==(SkuDefinitions left, SkuDefinitions right) => left.Equals(right); + public static bool operator !=(SkuDefinitions left, SkuDefinitions right) => !left.Equals(right); + + public static explicit operator string(SkuDefinitions value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SkuDefinitions other && Equals(other); + public bool Equals(SkuDefinitions other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/MobilePacketCore/GetNetworkFunction.cs b/sdk/dotnet/MobilePacketCore/GetNetworkFunction.cs new file mode 100644 index 000000000000..f39bfe5f6e7c --- /dev/null +++ b/sdk/dotnet/MobilePacketCore/GetNetworkFunction.cs @@ -0,0 +1,184 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.MobilePacketCore +{ + public static class GetNetworkFunction + { + /// + /// Get a NetworkFunctionResource + /// Azure REST API version: 2023-05-15-preview. + /// + public static Task InvokeAsync(GetNetworkFunctionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:mobilepacketcore:getNetworkFunction", args ?? new GetNetworkFunctionArgs(), options.WithDefaults()); + + /// + /// Get a NetworkFunctionResource + /// Azure REST API version: 2023-05-15-preview. + /// + public static Output Invoke(GetNetworkFunctionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:mobilepacketcore:getNetworkFunction", args ?? new GetNetworkFunctionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetNetworkFunctionArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the network function + /// + [Input("networkFunctionName", required: true)] + public string NetworkFunctionName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetNetworkFunctionArgs() + { + } + public static new GetNetworkFunctionArgs Empty => new GetNetworkFunctionArgs(); + } + + public sealed class GetNetworkFunctionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the network function + /// + [Input("networkFunctionName", required: true)] + public Input NetworkFunctionName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetNetworkFunctionInvokeArgs() + { + } + public static new GetNetworkFunctionInvokeArgs Empty => new GetNetworkFunctionInvokeArgs(); + } + + + [OutputType] + public sealed class GetNetworkFunctionResult + { + /// + /// Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + /// + public readonly int? Capacity; + /// + /// User provided deployment notes. This is used to optionally provide details about the NF deployment + /// + public readonly string? DeploymentNotes; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// Count of infrastructure elements used by this network function (vCPUs, in units of 8) + /// + public readonly int InfrastructureElementCount; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// Administrative state of the network function + /// + public readonly string NetworkFunctionAdministrativeState; + /// + /// Operational state of the network function + /// + public readonly string NetworkFunctionOperationalStatus; + /// + /// Type of network function + /// + public readonly string NetworkFunctionType; + /// + /// The status of the last operation. + /// + public readonly string ProvisioningState; + /// + /// Provisioned SKU Value. + /// + public readonly string Sku; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + /// + /// User provided description + /// + public readonly string? UserDescription; + + [OutputConstructor] + private GetNetworkFunctionResult( + int? capacity, + + string? deploymentNotes, + + string id, + + int infrastructureElementCount, + + string location, + + string name, + + string networkFunctionAdministrativeState, + + string networkFunctionOperationalStatus, + + string networkFunctionType, + + string provisioningState, + + string sku, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type, + + string? userDescription) + { + Capacity = capacity; + DeploymentNotes = deploymentNotes; + Id = id; + InfrastructureElementCount = infrastructureElementCount; + Location = location; + Name = name; + NetworkFunctionAdministrativeState = networkFunctionAdministrativeState; + NetworkFunctionOperationalStatus = networkFunctionOperationalStatus; + NetworkFunctionType = networkFunctionType; + ProvisioningState = provisioningState; + Sku = sku; + SystemData = systemData; + Tags = tags; + Type = type; + UserDescription = userDescription; + } + } +} diff --git a/sdk/dotnet/MobilePacketCore/NetworkFunction.cs b/sdk/dotnet/MobilePacketCore/NetworkFunction.cs new file mode 100644 index 000000000000..35d6b66dcbf6 --- /dev/null +++ b/sdk/dotnet/MobilePacketCore/NetworkFunction.cs @@ -0,0 +1,223 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.MobilePacketCore +{ + /// + /// AO5GC Network Function Resource + /// Azure REST API version: 2023-05-15-preview. + /// + [AzureNativeResourceType("azure-native:mobilepacketcore:NetworkFunction")] + public partial class NetworkFunction : global::Pulumi.CustomResource + { + /// + /// Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + /// + [Output("capacity")] + public Output Capacity { get; private set; } = null!; + + /// + /// User provided deployment notes. This is used to optionally provide details about the NF deployment + /// + [Output("deploymentNotes")] + public Output DeploymentNotes { get; private set; } = null!; + + /// + /// Count of infrastructure elements used by this network function (vCPUs, in units of 8) + /// + [Output("infrastructureElementCount")] + public Output InfrastructureElementCount { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Administrative state of the network function + /// + [Output("networkFunctionAdministrativeState")] + public Output NetworkFunctionAdministrativeState { get; private set; } = null!; + + /// + /// Operational state of the network function + /// + [Output("networkFunctionOperationalStatus")] + public Output NetworkFunctionOperationalStatus { get; private set; } = null!; + + /// + /// Type of network function + /// + [Output("networkFunctionType")] + public Output NetworkFunctionType { get; private set; } = null!; + + /// + /// The status of the last operation. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Provisioned SKU Value. + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// User provided description + /// + [Output("userDescription")] + public Output UserDescription { get; private set; } = null!; + + + /// + /// Create a NetworkFunction resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public NetworkFunction(string name, NetworkFunctionArgs args, CustomResourceOptions? options = null) + : base("azure-native:mobilepacketcore:NetworkFunction", name, args ?? new NetworkFunctionArgs(), MakeResourceOptions(options, "")) + { + } + + private NetworkFunction(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:mobilepacketcore:NetworkFunction", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:mobilepacketcore/v20230515preview:NetworkFunction"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing NetworkFunction resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static NetworkFunction Get(string name, Input id, CustomResourceOptions? options = null) + { + return new NetworkFunction(name, id, options); + } + } + + public sealed class NetworkFunctionArgs : global::Pulumi.ResourceArgs + { + /// + /// Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + /// + [Input("capacity")] + public Input? Capacity { get; set; } + + /// + /// User provided deployment notes. This is used to optionally provide details about the NF deployment + /// + [Input("deploymentNotes")] + public Input? DeploymentNotes { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Administrative state of the network function + /// + [Input("networkFunctionAdministrativeState", required: true)] + public InputUnion NetworkFunctionAdministrativeState { get; set; } = null!; + + /// + /// The name of the network function + /// + [Input("networkFunctionName")] + public Input? NetworkFunctionName { get; set; } + + /// + /// Type of network function + /// + [Input("networkFunctionType", required: true)] + public InputUnion NetworkFunctionType { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Provisioned SKU Value. + /// + [Input("sku", required: true)] + public InputUnion Sku { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// User provided description + /// + [Input("userDescription")] + public Input? UserDescription { get; set; } + + public NetworkFunctionArgs() + { + } + public static new NetworkFunctionArgs Empty => new NetworkFunctionArgs(); + } +} diff --git a/sdk/dotnet/MobilePacketCore/Outputs/SystemDataResponse.cs b/sdk/dotnet/MobilePacketCore/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..3a6bf168dd30 --- /dev/null +++ b/sdk/dotnet/MobilePacketCore/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.MobilePacketCore.Outputs +{ + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC). + /// + public readonly string? CreatedAt; + /// + /// The identity that created the resource. + /// + public readonly string? CreatedBy; + /// + /// The type of identity that created the resource. + /// + public readonly string? CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string? LastModifiedAt; + /// + /// The identity that last modified the resource. + /// + public readonly string? LastModifiedBy; + /// + /// The type of identity that last modified the resource. + /// + public readonly string? LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string? createdAt, + + string? createdBy, + + string? createdByType, + + string? lastModifiedAt, + + string? lastModifiedBy, + + string? lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/MobilePacketCore/README.md b/sdk/dotnet/MobilePacketCore/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/MobilePacketCore/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/MobilePacketCore/V20230515Preview/Enums.cs b/sdk/dotnet/MobilePacketCore/V20230515Preview/Enums.cs new file mode 100644 index 000000000000..bc424d91c3ec --- /dev/null +++ b/sdk/dotnet/MobilePacketCore/V20230515Preview/Enums.cs @@ -0,0 +1,176 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.MobilePacketCore.V20230515Preview +{ + /// + /// Administrative state of the network function + /// + [EnumType] + public readonly struct NetworkFunctionAdministrativeState : IEquatable + { + private readonly string _value; + + private NetworkFunctionAdministrativeState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Resource has been commissioned + /// + public static NetworkFunctionAdministrativeState Commissioned { get; } = new NetworkFunctionAdministrativeState("Commissioned"); + /// + /// Resource has been decommissioned + /// + public static NetworkFunctionAdministrativeState Decommissioned { get; } = new NetworkFunctionAdministrativeState("Decommissioned"); + + public static bool operator ==(NetworkFunctionAdministrativeState left, NetworkFunctionAdministrativeState right) => left.Equals(right); + public static bool operator !=(NetworkFunctionAdministrativeState left, NetworkFunctionAdministrativeState right) => !left.Equals(right); + + public static explicit operator string(NetworkFunctionAdministrativeState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkFunctionAdministrativeState other && Equals(other); + public bool Equals(NetworkFunctionAdministrativeState other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of network function + /// + [EnumType] + public readonly struct NetworkFunctionType : IEquatable + { + private readonly string _value; + + private NetworkFunctionType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Access and Mobility Function + /// + public static NetworkFunctionType AMF { get; } = new NetworkFunctionType("AMF"); + /// + /// Session Management Function + /// + public static NetworkFunctionType SMF { get; } = new NetworkFunctionType("SMF"); + /// + /// User Plane Function + /// + public static NetworkFunctionType UPF { get; } = new NetworkFunctionType("UPF"); + /// + /// Network Repository Function + /// + public static NetworkFunctionType NRF { get; } = new NetworkFunctionType("NRF"); + /// + /// Network Slice Selection Function + /// + public static NetworkFunctionType NSSF { get; } = new NetworkFunctionType("NSSF"); + /// + /// Mobility Management Entity + /// + public static NetworkFunctionType MME { get; } = new NetworkFunctionType("MME"); + /// + /// System Architecture Evolution Gateway Control Plane, control and user plane separation (CUPS) architecture + /// + public static NetworkFunctionType SaegwControlPlane { get; } = new NetworkFunctionType("SaegwControlPlane"); + /// + /// System Architecture Evolution Gateway User Plane, control and user plane separation (CUPS) architecture + /// + public static NetworkFunctionType SaegwUserPlane { get; } = new NetworkFunctionType("SaegwUserPlane"); + /// + /// System Architecture Evolution Gateway. This combines the Serving Gateway (SGW) and the Packet Data Network Gateway (PGW) functionality + /// + public static NetworkFunctionType Saegw { get; } = new NetworkFunctionType("Saegw"); + /// + /// Evolved Packet Data Gateway + /// + public static NetworkFunctionType EPDG { get; } = new NetworkFunctionType("ePDG"); + /// + /// Non-3GPP Interworking Function + /// + public static NetworkFunctionType N3IWF { get; } = new NetworkFunctionType("N3IWF"); + /// + /// Remote Platform As A Service Components + /// + public static NetworkFunctionType RemotePaaS { get; } = new NetworkFunctionType("RemotePaaS"); + /// + /// Element Management System + /// + public static NetworkFunctionType EMS { get; } = new NetworkFunctionType("EMS"); + /// + /// Operations and Policy Manager + /// + public static NetworkFunctionType OperationsPolicyManager { get; } = new NetworkFunctionType("OperationsPolicyManager"); + + public static bool operator ==(NetworkFunctionType left, NetworkFunctionType right) => left.Equals(right); + public static bool operator !=(NetworkFunctionType left, NetworkFunctionType right) => !left.Equals(right); + + public static explicit operator string(NetworkFunctionType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkFunctionType other && Equals(other); + public bool Equals(NetworkFunctionType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Provisioned SKU Value. + /// + [EnumType] + public readonly struct SkuDefinitions : IEquatable + { + private readonly string _value; + + private SkuDefinitions(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Azure Lab SKU + /// + public static SkuDefinitions AzureLab { get; } = new SkuDefinitions("AzureLab"); + /// + /// Azure Production SKU + /// + public static SkuDefinitions AzureProduction { get; } = new SkuDefinitions("AzureProduction"); + /// + /// Nexus Lab SKU + /// + public static SkuDefinitions NexusLab { get; } = new SkuDefinitions("NexusLab"); + /// + /// Nexus Production SKU + /// + public static SkuDefinitions NexusProduction { get; } = new SkuDefinitions("NexusProduction"); + + public static bool operator ==(SkuDefinitions left, SkuDefinitions right) => left.Equals(right); + public static bool operator !=(SkuDefinitions left, SkuDefinitions right) => !left.Equals(right); + + public static explicit operator string(SkuDefinitions value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SkuDefinitions other && Equals(other); + public bool Equals(SkuDefinitions other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/MobilePacketCore/V20230515Preview/GetNetworkFunction.cs b/sdk/dotnet/MobilePacketCore/V20230515Preview/GetNetworkFunction.cs new file mode 100644 index 000000000000..82a0ae2705bd --- /dev/null +++ b/sdk/dotnet/MobilePacketCore/V20230515Preview/GetNetworkFunction.cs @@ -0,0 +1,182 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.MobilePacketCore.V20230515Preview +{ + public static class GetNetworkFunction + { + /// + /// Get a NetworkFunctionResource + /// + public static Task InvokeAsync(GetNetworkFunctionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:mobilepacketcore/v20230515preview:getNetworkFunction", args ?? new GetNetworkFunctionArgs(), options.WithDefaults()); + + /// + /// Get a NetworkFunctionResource + /// + public static Output Invoke(GetNetworkFunctionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:mobilepacketcore/v20230515preview:getNetworkFunction", args ?? new GetNetworkFunctionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetNetworkFunctionArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the network function + /// + [Input("networkFunctionName", required: true)] + public string NetworkFunctionName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetNetworkFunctionArgs() + { + } + public static new GetNetworkFunctionArgs Empty => new GetNetworkFunctionArgs(); + } + + public sealed class GetNetworkFunctionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the network function + /// + [Input("networkFunctionName", required: true)] + public Input NetworkFunctionName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetNetworkFunctionInvokeArgs() + { + } + public static new GetNetworkFunctionInvokeArgs Empty => new GetNetworkFunctionInvokeArgs(); + } + + + [OutputType] + public sealed class GetNetworkFunctionResult + { + /// + /// Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + /// + public readonly int? Capacity; + /// + /// User provided deployment notes. This is used to optionally provide details about the NF deployment + /// + public readonly string? DeploymentNotes; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// Count of infrastructure elements used by this network function (vCPUs, in units of 8) + /// + public readonly int InfrastructureElementCount; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// Administrative state of the network function + /// + public readonly string NetworkFunctionAdministrativeState; + /// + /// Operational state of the network function + /// + public readonly string NetworkFunctionOperationalStatus; + /// + /// Type of network function + /// + public readonly string NetworkFunctionType; + /// + /// The status of the last operation. + /// + public readonly string ProvisioningState; + /// + /// Provisioned SKU Value. + /// + public readonly string Sku; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + /// + /// User provided description + /// + public readonly string? UserDescription; + + [OutputConstructor] + private GetNetworkFunctionResult( + int? capacity, + + string? deploymentNotes, + + string id, + + int infrastructureElementCount, + + string location, + + string name, + + string networkFunctionAdministrativeState, + + string networkFunctionOperationalStatus, + + string networkFunctionType, + + string provisioningState, + + string sku, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type, + + string? userDescription) + { + Capacity = capacity; + DeploymentNotes = deploymentNotes; + Id = id; + InfrastructureElementCount = infrastructureElementCount; + Location = location; + Name = name; + NetworkFunctionAdministrativeState = networkFunctionAdministrativeState; + NetworkFunctionOperationalStatus = networkFunctionOperationalStatus; + NetworkFunctionType = networkFunctionType; + ProvisioningState = provisioningState; + Sku = sku; + SystemData = systemData; + Tags = tags; + Type = type; + UserDescription = userDescription; + } + } +} diff --git a/sdk/dotnet/MobilePacketCore/V20230515Preview/NetworkFunction.cs b/sdk/dotnet/MobilePacketCore/V20230515Preview/NetworkFunction.cs new file mode 100644 index 000000000000..e15f1eb585b0 --- /dev/null +++ b/sdk/dotnet/MobilePacketCore/V20230515Preview/NetworkFunction.cs @@ -0,0 +1,222 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.MobilePacketCore.V20230515Preview +{ + /// + /// AO5GC Network Function Resource + /// + [AzureNativeResourceType("azure-native:mobilepacketcore/v20230515preview:NetworkFunction")] + public partial class NetworkFunction : global::Pulumi.CustomResource + { + /// + /// Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + /// + [Output("capacity")] + public Output Capacity { get; private set; } = null!; + + /// + /// User provided deployment notes. This is used to optionally provide details about the NF deployment + /// + [Output("deploymentNotes")] + public Output DeploymentNotes { get; private set; } = null!; + + /// + /// Count of infrastructure elements used by this network function (vCPUs, in units of 8) + /// + [Output("infrastructureElementCount")] + public Output InfrastructureElementCount { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Administrative state of the network function + /// + [Output("networkFunctionAdministrativeState")] + public Output NetworkFunctionAdministrativeState { get; private set; } = null!; + + /// + /// Operational state of the network function + /// + [Output("networkFunctionOperationalStatus")] + public Output NetworkFunctionOperationalStatus { get; private set; } = null!; + + /// + /// Type of network function + /// + [Output("networkFunctionType")] + public Output NetworkFunctionType { get; private set; } = null!; + + /// + /// The status of the last operation. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Provisioned SKU Value. + /// + [Output("sku")] + public Output Sku { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// User provided description + /// + [Output("userDescription")] + public Output UserDescription { get; private set; } = null!; + + + /// + /// Create a NetworkFunction resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public NetworkFunction(string name, NetworkFunctionArgs args, CustomResourceOptions? options = null) + : base("azure-native:mobilepacketcore/v20230515preview:NetworkFunction", name, args ?? new NetworkFunctionArgs(), MakeResourceOptions(options, "")) + { + } + + private NetworkFunction(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:mobilepacketcore/v20230515preview:NetworkFunction", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:mobilepacketcore:NetworkFunction"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing NetworkFunction resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static NetworkFunction Get(string name, Input id, CustomResourceOptions? options = null) + { + return new NetworkFunction(name, id, options); + } + } + + public sealed class NetworkFunctionArgs : global::Pulumi.ResourceArgs + { + /// + /// Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + /// + [Input("capacity")] + public Input? Capacity { get; set; } + + /// + /// User provided deployment notes. This is used to optionally provide details about the NF deployment + /// + [Input("deploymentNotes")] + public Input? DeploymentNotes { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Administrative state of the network function + /// + [Input("networkFunctionAdministrativeState", required: true)] + public InputUnion NetworkFunctionAdministrativeState { get; set; } = null!; + + /// + /// The name of the network function + /// + [Input("networkFunctionName")] + public Input? NetworkFunctionName { get; set; } + + /// + /// Type of network function + /// + [Input("networkFunctionType", required: true)] + public InputUnion NetworkFunctionType { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// Provisioned SKU Value. + /// + [Input("sku", required: true)] + public InputUnion Sku { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// User provided description + /// + [Input("userDescription")] + public Input? UserDescription { get; set; } + + public NetworkFunctionArgs() + { + } + public static new NetworkFunctionArgs Empty => new NetworkFunctionArgs(); + } +} diff --git a/sdk/dotnet/MobilePacketCore/V20230515Preview/Outputs/SystemDataResponse.cs b/sdk/dotnet/MobilePacketCore/V20230515Preview/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..26ac66de9b93 --- /dev/null +++ b/sdk/dotnet/MobilePacketCore/V20230515Preview/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.MobilePacketCore.V20230515Preview.Outputs +{ + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC). + /// + public readonly string? CreatedAt; + /// + /// The identity that created the resource. + /// + public readonly string? CreatedBy; + /// + /// The type of identity that created the resource. + /// + public readonly string? CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string? LastModifiedAt; + /// + /// The identity that last modified the resource. + /// + public readonly string? LastModifiedBy; + /// + /// The type of identity that last modified the resource. + /// + public readonly string? LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string? createdAt, + + string? createdBy, + + string? createdByType, + + string? lastModifiedAt, + + string? lastModifiedBy, + + string? lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/MobilePacketCore/V20230515Preview/README.md b/sdk/dotnet/MobilePacketCore/V20230515Preview/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/MobilePacketCore/V20230515Preview/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/ResourceConnector/Enums.cs b/sdk/dotnet/ResourceConnector/Enums.cs index b0bc0f9b2450..a6123ff8dbf6 100644 --- a/sdk/dotnet/ResourceConnector/Enums.cs +++ b/sdk/dotnet/ResourceConnector/Enums.cs @@ -53,8 +53,6 @@ private Provider(string value) public static Provider VMWare { get; } = new Provider("VMWare"); public static Provider HCI { get; } = new Provider("HCI"); public static Provider SCVMM { get; } = new Provider("SCVMM"); - public static Provider KubeVirt { get; } = new Provider("KubeVirt"); - public static Provider OpenStack { get; } = new Provider("OpenStack"); public static bool operator ==(Provider left, Provider right) => left.Equals(right); public static bool operator !=(Provider left, Provider right) => !left.Equals(right); diff --git a/sdk/dotnet/ResourceConnector/ListApplianceKeys.cs b/sdk/dotnet/ResourceConnector/ListApplianceKeys.cs index 6313ee1263c9..8805925a1a1b 100644 --- a/sdk/dotnet/ResourceConnector/ListApplianceKeys.cs +++ b/sdk/dotnet/ResourceConnector/ListApplianceKeys.cs @@ -29,6 +29,12 @@ public static Output Invoke(ListApplianceKeysInvokeArgs public sealed class ListApplianceKeysArgs : global::Pulumi.InvokeArgs { + /// + /// This sets the type of artifact being returned, when empty no artifact endpoint is returned. + /// + [Input("artifactType")] + public string? ArtifactType { get; set; } + /// /// The name of the resource group. The name is case insensitive. /// @@ -49,6 +55,12 @@ public ListApplianceKeysArgs() public sealed class ListApplianceKeysInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// This sets the type of artifact being returned, when empty no artifact endpoint is returned. + /// + [Input("artifactType")] + public Input? ArtifactType { get; set; } + /// /// The name of the resource group. The name is case insensitive. /// diff --git a/sdk/dotnet/ResourceConnector/V20221027/Enums.cs b/sdk/dotnet/ResourceConnector/V20221027/Enums.cs index c64d946855be..a65385dafc2b 100644 --- a/sdk/dotnet/ResourceConnector/V20221027/Enums.cs +++ b/sdk/dotnet/ResourceConnector/V20221027/Enums.cs @@ -53,8 +53,6 @@ private Provider(string value) public static Provider VMWare { get; } = new Provider("VMWare"); public static Provider HCI { get; } = new Provider("HCI"); public static Provider SCVMM { get; } = new Provider("SCVMM"); - public static Provider KubeVirt { get; } = new Provider("KubeVirt"); - public static Provider OpenStack { get; } = new Provider("OpenStack"); public static bool operator ==(Provider left, Provider right) => left.Equals(right); public static bool operator !=(Provider left, Provider right) => !left.Equals(right); diff --git a/sdk/dotnet/ResourceConnector/V20221027/ListApplianceKeys.cs b/sdk/dotnet/ResourceConnector/V20221027/ListApplianceKeys.cs index 17f5a93823d2..370c061536c0 100644 --- a/sdk/dotnet/ResourceConnector/V20221027/ListApplianceKeys.cs +++ b/sdk/dotnet/ResourceConnector/V20221027/ListApplianceKeys.cs @@ -27,6 +27,12 @@ public static Output Invoke(ListApplianceKeysInvokeArgs public sealed class ListApplianceKeysArgs : global::Pulumi.InvokeArgs { + /// + /// This sets the type of artifact being returned, when empty no artifact endpoint is returned. + /// + [Input("artifactType")] + public string? ArtifactType { get; set; } + /// /// The name of the resource group. The name is case insensitive. /// @@ -47,6 +53,12 @@ public ListApplianceKeysArgs() public sealed class ListApplianceKeysInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// This sets the type of artifact being returned, when empty no artifact endpoint is returned. + /// + [Input("artifactType")] + public Input? ArtifactType { get; set; } + /// /// The name of the resource group. The name is case insensitive. /// diff --git a/sdk/dotnet/StorageTasks/Enums.cs b/sdk/dotnet/StorageTasks/Enums.cs new file mode 100644 index 000000000000..1fb382191710 --- /dev/null +++ b/sdk/dotnet/StorageTasks/Enums.cs @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.StorageTasks +{ + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [EnumType] + public readonly struct ManagedServiceIdentityType : IEquatable + { + private readonly string _value; + + private ManagedServiceIdentityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ManagedServiceIdentityType None { get; } = new ManagedServiceIdentityType("None"); + public static ManagedServiceIdentityType SystemAssigned { get; } = new ManagedServiceIdentityType("SystemAssigned"); + public static ManagedServiceIdentityType UserAssigned { get; } = new ManagedServiceIdentityType("UserAssigned"); + public static ManagedServiceIdentityType SystemAssigned_UserAssigned { get; } = new ManagedServiceIdentityType("SystemAssigned,UserAssigned"); + + public static bool operator ==(ManagedServiceIdentityType left, ManagedServiceIdentityType right) => left.Equals(right); + public static bool operator !=(ManagedServiceIdentityType left, ManagedServiceIdentityType right) => !left.Equals(right); + + public static explicit operator string(ManagedServiceIdentityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ManagedServiceIdentityType other && Equals(other); + public bool Equals(ManagedServiceIdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Action to be taken when the operation fails for a object. + /// + [EnumType] + public readonly struct OnFailure : IEquatable + { + private readonly string _value; + + private OnFailure(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static OnFailure @Break { get; } = new OnFailure("break"); + + public static bool operator ==(OnFailure left, OnFailure right) => left.Equals(right); + public static bool operator !=(OnFailure left, OnFailure right) => !left.Equals(right); + + public static explicit operator string(OnFailure value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OnFailure other && Equals(other); + public bool Equals(OnFailure other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Action to be taken when the operation is successful for a object. + /// + [EnumType] + public readonly struct OnSuccess : IEquatable + { + private readonly string _value; + + private OnSuccess(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static OnSuccess @Continue { get; } = new OnSuccess("continue"); + + public static bool operator ==(OnSuccess left, OnSuccess right) => left.Equals(right); + public static bool operator !=(OnSuccess left, OnSuccess right) => !left.Equals(right); + + public static explicit operator string(OnSuccess value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OnSuccess other && Equals(other); + public bool Equals(OnSuccess other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The operation to be performed on the object. + /// + [EnumType] + public readonly struct StorageTaskOperationName : IEquatable + { + private readonly string _value; + + private StorageTaskOperationName(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StorageTaskOperationName SetBlobTier { get; } = new StorageTaskOperationName("SetBlobTier"); + public static StorageTaskOperationName SetBlobTags { get; } = new StorageTaskOperationName("SetBlobTags"); + public static StorageTaskOperationName SetBlobImmutabilityPolicy { get; } = new StorageTaskOperationName("SetBlobImmutabilityPolicy"); + public static StorageTaskOperationName SetBlobLegalHold { get; } = new StorageTaskOperationName("SetBlobLegalHold"); + public static StorageTaskOperationName SetBlobExpiry { get; } = new StorageTaskOperationName("SetBlobExpiry"); + public static StorageTaskOperationName DeleteBlob { get; } = new StorageTaskOperationName("DeleteBlob"); + public static StorageTaskOperationName UndeleteBlob { get; } = new StorageTaskOperationName("UndeleteBlob"); + + public static bool operator ==(StorageTaskOperationName left, StorageTaskOperationName right) => left.Equals(right); + public static bool operator !=(StorageTaskOperationName left, StorageTaskOperationName right) => !left.Equals(right); + + public static explicit operator string(StorageTaskOperationName value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StorageTaskOperationName other && Equals(other); + public bool Equals(StorageTaskOperationName other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/StorageTasks/GetStorageTask.cs b/sdk/dotnet/StorageTasks/GetStorageTask.cs new file mode 100644 index 000000000000..d7b6c132203a --- /dev/null +++ b/sdk/dotnet/StorageTasks/GetStorageTask.cs @@ -0,0 +1,170 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks +{ + public static class GetStorageTask + { + /// + /// Get the storage task properties + /// Azure REST API version: 2023-01-01. + /// + public static Task InvokeAsync(GetStorageTaskArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:storagetasks:getStorageTask", args ?? new GetStorageTaskArgs(), options.WithDefaults()); + + /// + /// Get the storage task properties + /// Azure REST API version: 2023-01-01. + /// + public static Output Invoke(GetStorageTaskInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:storagetasks:getStorageTask", args ?? new GetStorageTaskInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetStorageTaskArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + /// + [Input("storageTaskName", required: true)] + public string StorageTaskName { get; set; } = null!; + + public GetStorageTaskArgs() + { + } + public static new GetStorageTaskArgs Empty => new GetStorageTaskArgs(); + } + + public sealed class GetStorageTaskInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + /// + [Input("storageTaskName", required: true)] + public Input StorageTaskName { get; set; } = null!; + + public GetStorageTaskInvokeArgs() + { + } + public static new GetStorageTaskInvokeArgs Empty => new GetStorageTaskInvokeArgs(); + } + + + [OutputType] + public sealed class GetStorageTaskResult + { + /// + /// The storage task action that is executed + /// + public readonly Outputs.StorageTaskActionResponse Action; + /// + /// The creation date and time of the storage task in UTC. + /// + public readonly string CreationTimeInUtc; + /// + /// Text that describes the purpose of the storage task + /// + public readonly string Description; + /// + /// Storage Task is enabled when set to true and disabled when set to false + /// + public readonly bool Enabled; + /// + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + /// + public readonly string Id; + /// + /// The managed service identity of the resource. + /// + public readonly Outputs.ManagedServiceIdentityResponse? Identity; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// Represents the provisioning state of the storage task. + /// + public readonly string ProvisioningState; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// Storage task version. + /// + public readonly double TaskVersion; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetStorageTaskResult( + Outputs.StorageTaskActionResponse action, + + string creationTimeInUtc, + + string description, + + bool enabled, + + string id, + + Outputs.ManagedServiceIdentityResponse? identity, + + string location, + + string name, + + string provisioningState, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + double taskVersion, + + string type) + { + Action = action; + CreationTimeInUtc = creationTimeInUtc; + Description = description; + Enabled = enabled; + Id = id; + Identity = identity; + Location = location; + Name = name; + ProvisioningState = provisioningState; + SystemData = systemData; + Tags = tags; + TaskVersion = taskVersion; + Type = type; + } + } +} diff --git a/sdk/dotnet/StorageTasks/Inputs/ElseConditionArgs.cs b/sdk/dotnet/StorageTasks/Inputs/ElseConditionArgs.cs new file mode 100644 index 000000000000..4912887b761c --- /dev/null +++ b/sdk/dotnet/StorageTasks/Inputs/ElseConditionArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.Inputs +{ + + /// + /// The else block of storage task operation + /// + public sealed class ElseConditionArgs : global::Pulumi.ResourceArgs + { + [Input("operations", required: true)] + private InputList? _operations; + + /// + /// List of operations to execute in the else block + /// + public InputList Operations + { + get => _operations ?? (_operations = new InputList()); + set => _operations = value; + } + + public ElseConditionArgs() + { + } + public static new ElseConditionArgs Empty => new ElseConditionArgs(); + } +} diff --git a/sdk/dotnet/StorageTasks/Inputs/IfConditionArgs.cs b/sdk/dotnet/StorageTasks/Inputs/IfConditionArgs.cs new file mode 100644 index 000000000000..159aa693b7d7 --- /dev/null +++ b/sdk/dotnet/StorageTasks/Inputs/IfConditionArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.Inputs +{ + + /// + /// The if block of storage task operation + /// + public sealed class IfConditionArgs : global::Pulumi.ResourceArgs + { + /// + /// The condition predicate which is composed of object properties, eg: blob and container properties. + /// + [Input("condition", required: true)] + public Input Condition { get; set; } = null!; + + [Input("operations", required: true)] + private InputList? _operations; + + /// + /// List of operations to execute when the condition predicate satisfies. + /// + public InputList Operations + { + get => _operations ?? (_operations = new InputList()); + set => _operations = value; + } + + public IfConditionArgs() + { + } + public static new IfConditionArgs Empty => new IfConditionArgs(); + } +} diff --git a/sdk/dotnet/StorageTasks/Inputs/ManagedServiceIdentityArgs.cs b/sdk/dotnet/StorageTasks/Inputs/ManagedServiceIdentityArgs.cs new file mode 100644 index 000000000000..88276d4fd133 --- /dev/null +++ b/sdk/dotnet/StorageTasks/Inputs/ManagedServiceIdentityArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.Inputs +{ + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + public sealed class ManagedServiceIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Input("type", required: true)] + public InputUnion Type { get; set; } = null!; + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } + + public ManagedServiceIdentityArgs() + { + } + public static new ManagedServiceIdentityArgs Empty => new ManagedServiceIdentityArgs(); + } +} diff --git a/sdk/dotnet/StorageTasks/Inputs/StorageTaskActionArgs.cs b/sdk/dotnet/StorageTasks/Inputs/StorageTaskActionArgs.cs new file mode 100644 index 000000000000..e064f701ff5f --- /dev/null +++ b/sdk/dotnet/StorageTasks/Inputs/StorageTaskActionArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.Inputs +{ + + /// + /// The storage task action represents conditional statements and operations to be performed on target objects. + /// + public sealed class StorageTaskActionArgs : global::Pulumi.ResourceArgs + { + /// + /// The else block of storage task operation + /// + [Input("else")] + public Input? Else { get; set; } + + /// + /// The if block of storage task operation + /// + [Input("if", required: true)] + public Input If { get; set; } = null!; + + public StorageTaskActionArgs() + { + } + public static new StorageTaskActionArgs Empty => new StorageTaskActionArgs(); + } +} diff --git a/sdk/dotnet/StorageTasks/Inputs/StorageTaskOperationArgs.cs b/sdk/dotnet/StorageTasks/Inputs/StorageTaskOperationArgs.cs new file mode 100644 index 000000000000..7281251a9810 --- /dev/null +++ b/sdk/dotnet/StorageTasks/Inputs/StorageTaskOperationArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.Inputs +{ + + /// + /// Represents an operation to be performed on the object + /// + public sealed class StorageTaskOperationArgs : global::Pulumi.ResourceArgs + { + /// + /// The operation to be performed on the object. + /// + [Input("name", required: true)] + public InputUnion Name { get; set; } = null!; + + /// + /// Action to be taken when the operation fails for a object. + /// + [Input("onFailure")] + public Input? OnFailure { get; set; } + + /// + /// Action to be taken when the operation is successful for a object. + /// + [Input("onSuccess")] + public Input? OnSuccess { get; set; } + + [Input("parameters")] + private InputMap? _parameters; + + /// + /// Key-value parameters for the operation. + /// + public InputMap Parameters + { + get => _parameters ?? (_parameters = new InputMap()); + set => _parameters = value; + } + + public StorageTaskOperationArgs() + { + } + public static new StorageTaskOperationArgs Empty => new StorageTaskOperationArgs(); + } +} diff --git a/sdk/dotnet/StorageTasks/Outputs/ElseConditionResponse.cs b/sdk/dotnet/StorageTasks/Outputs/ElseConditionResponse.cs new file mode 100644 index 000000000000..a7ab725197bc --- /dev/null +++ b/sdk/dotnet/StorageTasks/Outputs/ElseConditionResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.Outputs +{ + + /// + /// The else block of storage task operation + /// + [OutputType] + public sealed class ElseConditionResponse + { + /// + /// List of operations to execute in the else block + /// + public readonly ImmutableArray Operations; + + [OutputConstructor] + private ElseConditionResponse(ImmutableArray operations) + { + Operations = operations; + } + } +} diff --git a/sdk/dotnet/StorageTasks/Outputs/IfConditionResponse.cs b/sdk/dotnet/StorageTasks/Outputs/IfConditionResponse.cs new file mode 100644 index 000000000000..56be5b6ec4f6 --- /dev/null +++ b/sdk/dotnet/StorageTasks/Outputs/IfConditionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.Outputs +{ + + /// + /// The if block of storage task operation + /// + [OutputType] + public sealed class IfConditionResponse + { + /// + /// The condition predicate which is composed of object properties, eg: blob and container properties. + /// + public readonly string Condition; + /// + /// List of operations to execute when the condition predicate satisfies. + /// + public readonly ImmutableArray Operations; + + [OutputConstructor] + private IfConditionResponse( + string condition, + + ImmutableArray operations) + { + Condition = condition; + Operations = operations; + } + } +} diff --git a/sdk/dotnet/StorageTasks/Outputs/ManagedServiceIdentityResponse.cs b/sdk/dotnet/StorageTasks/Outputs/ManagedServiceIdentityResponse.cs new file mode 100644 index 000000000000..2a59ed69fdf6 --- /dev/null +++ b/sdk/dotnet/StorageTasks/Outputs/ManagedServiceIdentityResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.Outputs +{ + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + [OutputType] + public sealed class ManagedServiceIdentityResponse + { + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + public readonly string PrincipalId; + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + public readonly string TenantId; + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + public readonly string Type; + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + /// + public readonly ImmutableDictionary? UserAssignedIdentities; + + [OutputConstructor] + private ManagedServiceIdentityResponse( + string principalId, + + string tenantId, + + string type, + + ImmutableDictionary? userAssignedIdentities) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + UserAssignedIdentities = userAssignedIdentities; + } + } +} diff --git a/sdk/dotnet/StorageTasks/Outputs/StorageTaskActionResponse.cs b/sdk/dotnet/StorageTasks/Outputs/StorageTaskActionResponse.cs new file mode 100644 index 000000000000..2335cc2bebce --- /dev/null +++ b/sdk/dotnet/StorageTasks/Outputs/StorageTaskActionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.Outputs +{ + + /// + /// The storage task action represents conditional statements and operations to be performed on target objects. + /// + [OutputType] + public sealed class StorageTaskActionResponse + { + /// + /// The else block of storage task operation + /// + public readonly Outputs.ElseConditionResponse? Else; + /// + /// The if block of storage task operation + /// + public readonly Outputs.IfConditionResponse If; + + [OutputConstructor] + private StorageTaskActionResponse( + Outputs.ElseConditionResponse? @else, + + Outputs.IfConditionResponse @if) + { + Else = @else; + If = @if; + } + } +} diff --git a/sdk/dotnet/StorageTasks/Outputs/StorageTaskOperationResponse.cs b/sdk/dotnet/StorageTasks/Outputs/StorageTaskOperationResponse.cs new file mode 100644 index 000000000000..f1aa42e42f19 --- /dev/null +++ b/sdk/dotnet/StorageTasks/Outputs/StorageTaskOperationResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.Outputs +{ + + /// + /// Represents an operation to be performed on the object + /// + [OutputType] + public sealed class StorageTaskOperationResponse + { + /// + /// The operation to be performed on the object. + /// + public readonly string Name; + /// + /// Action to be taken when the operation fails for a object. + /// + public readonly string? OnFailure; + /// + /// Action to be taken when the operation is successful for a object. + /// + public readonly string? OnSuccess; + /// + /// Key-value parameters for the operation. + /// + public readonly ImmutableDictionary? Parameters; + + [OutputConstructor] + private StorageTaskOperationResponse( + string name, + + string? onFailure, + + string? onSuccess, + + ImmutableDictionary? parameters) + { + Name = name; + OnFailure = onFailure; + OnSuccess = onSuccess; + Parameters = parameters; + } + } +} diff --git a/sdk/dotnet/StorageTasks/Outputs/SystemDataResponse.cs b/sdk/dotnet/StorageTasks/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..4ba2fb28892c --- /dev/null +++ b/sdk/dotnet/StorageTasks/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.Outputs +{ + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC). + /// + public readonly string? CreatedAt; + /// + /// The identity that created the resource. + /// + public readonly string? CreatedBy; + /// + /// The type of identity that created the resource. + /// + public readonly string? CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string? LastModifiedAt; + /// + /// The identity that last modified the resource. + /// + public readonly string? LastModifiedBy; + /// + /// The type of identity that last modified the resource. + /// + public readonly string? LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string? createdAt, + + string? createdBy, + + string? createdByType, + + string? lastModifiedAt, + + string? lastModifiedBy, + + string? lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/StorageTasks/Outputs/UserAssignedIdentityResponse.cs b/sdk/dotnet/StorageTasks/Outputs/UserAssignedIdentityResponse.cs new file mode 100644 index 000000000000..97eaf567e96e --- /dev/null +++ b/sdk/dotnet/StorageTasks/Outputs/UserAssignedIdentityResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.Outputs +{ + + /// + /// User assigned identity properties + /// + [OutputType] + public sealed class UserAssignedIdentityResponse + { + /// + /// The client ID of the assigned identity. + /// + public readonly string ClientId; + /// + /// The principal ID of the assigned identity. + /// + public readonly string PrincipalId; + + [OutputConstructor] + private UserAssignedIdentityResponse( + string clientId, + + string principalId) + { + ClientId = clientId; + PrincipalId = principalId; + } + } +} diff --git a/sdk/dotnet/StorageTasks/README.md b/sdk/dotnet/StorageTasks/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/StorageTasks/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/StorageTasks/StorageTask.cs b/sdk/dotnet/StorageTasks/StorageTask.cs new file mode 100644 index 000000000000..dc5381bb300f --- /dev/null +++ b/sdk/dotnet/StorageTasks/StorageTask.cs @@ -0,0 +1,199 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks +{ + /// + /// Represents Storage Task. + /// Azure REST API version: 2023-01-01. + /// + [AzureNativeResourceType("azure-native:storagetasks:StorageTask")] + public partial class StorageTask : global::Pulumi.CustomResource + { + /// + /// The storage task action that is executed + /// + [Output("action")] + public Output Action { get; private set; } = null!; + + /// + /// The creation date and time of the storage task in UTC. + /// + [Output("creationTimeInUtc")] + public Output CreationTimeInUtc { get; private set; } = null!; + + /// + /// Text that describes the purpose of the storage task + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Storage Task is enabled when set to true and disabled when set to false + /// + [Output("enabled")] + public Output Enabled { get; private set; } = null!; + + /// + /// The managed service identity of the resource. + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Represents the provisioning state of the storage task. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Storage task version. + /// + [Output("taskVersion")] + public Output TaskVersion { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a StorageTask resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public StorageTask(string name, StorageTaskArgs args, CustomResourceOptions? options = null) + : base("azure-native:storagetasks:StorageTask", name, args ?? new StorageTaskArgs(), MakeResourceOptions(options, "")) + { + } + + private StorageTask(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:storagetasks:StorageTask", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:storagetasks/v20230101:StorageTask"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing StorageTask resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static StorageTask Get(string name, Input id, CustomResourceOptions? options = null) + { + return new StorageTask(name, id, options); + } + } + + public sealed class StorageTaskArgs : global::Pulumi.ResourceArgs + { + /// + /// The storage task action that is executed + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + /// + /// Text that describes the purpose of the storage task + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// Storage Task is enabled when set to true and disabled when set to false + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// The managed service identity of the resource. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + /// + [Input("storageTaskName")] + public Input? StorageTaskName { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public StorageTaskArgs() + { + } + public static new StorageTaskArgs Empty => new StorageTaskArgs(); + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Enums.cs b/sdk/dotnet/StorageTasks/V20230101/Enums.cs new file mode 100644 index 000000000000..19939d1b5c06 --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Enums.cs @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AzureNative.StorageTasks.V20230101 +{ + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [EnumType] + public readonly struct ManagedServiceIdentityType : IEquatable + { + private readonly string _value; + + private ManagedServiceIdentityType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ManagedServiceIdentityType None { get; } = new ManagedServiceIdentityType("None"); + public static ManagedServiceIdentityType SystemAssigned { get; } = new ManagedServiceIdentityType("SystemAssigned"); + public static ManagedServiceIdentityType UserAssigned { get; } = new ManagedServiceIdentityType("UserAssigned"); + public static ManagedServiceIdentityType SystemAssigned_UserAssigned { get; } = new ManagedServiceIdentityType("SystemAssigned,UserAssigned"); + + public static bool operator ==(ManagedServiceIdentityType left, ManagedServiceIdentityType right) => left.Equals(right); + public static bool operator !=(ManagedServiceIdentityType left, ManagedServiceIdentityType right) => !left.Equals(right); + + public static explicit operator string(ManagedServiceIdentityType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ManagedServiceIdentityType other && Equals(other); + public bool Equals(ManagedServiceIdentityType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Action to be taken when the operation fails for a object. + /// + [EnumType] + public readonly struct OnFailure : IEquatable + { + private readonly string _value; + + private OnFailure(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static OnFailure @Break { get; } = new OnFailure("break"); + + public static bool operator ==(OnFailure left, OnFailure right) => left.Equals(right); + public static bool operator !=(OnFailure left, OnFailure right) => !left.Equals(right); + + public static explicit operator string(OnFailure value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OnFailure other && Equals(other); + public bool Equals(OnFailure other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Action to be taken when the operation is successful for a object. + /// + [EnumType] + public readonly struct OnSuccess : IEquatable + { + private readonly string _value; + + private OnSuccess(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static OnSuccess @Continue { get; } = new OnSuccess("continue"); + + public static bool operator ==(OnSuccess left, OnSuccess right) => left.Equals(right); + public static bool operator !=(OnSuccess left, OnSuccess right) => !left.Equals(right); + + public static explicit operator string(OnSuccess value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OnSuccess other && Equals(other); + public bool Equals(OnSuccess other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The operation to be performed on the object. + /// + [EnumType] + public readonly struct StorageTaskOperationName : IEquatable + { + private readonly string _value; + + private StorageTaskOperationName(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StorageTaskOperationName SetBlobTier { get; } = new StorageTaskOperationName("SetBlobTier"); + public static StorageTaskOperationName SetBlobTags { get; } = new StorageTaskOperationName("SetBlobTags"); + public static StorageTaskOperationName SetBlobImmutabilityPolicy { get; } = new StorageTaskOperationName("SetBlobImmutabilityPolicy"); + public static StorageTaskOperationName SetBlobLegalHold { get; } = new StorageTaskOperationName("SetBlobLegalHold"); + public static StorageTaskOperationName SetBlobExpiry { get; } = new StorageTaskOperationName("SetBlobExpiry"); + public static StorageTaskOperationName DeleteBlob { get; } = new StorageTaskOperationName("DeleteBlob"); + public static StorageTaskOperationName UndeleteBlob { get; } = new StorageTaskOperationName("UndeleteBlob"); + + public static bool operator ==(StorageTaskOperationName left, StorageTaskOperationName right) => left.Equals(right); + public static bool operator !=(StorageTaskOperationName left, StorageTaskOperationName right) => !left.Equals(right); + + public static explicit operator string(StorageTaskOperationName value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StorageTaskOperationName other && Equals(other); + public bool Equals(StorageTaskOperationName other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/GetStorageTask.cs b/sdk/dotnet/StorageTasks/V20230101/GetStorageTask.cs new file mode 100644 index 000000000000..285bf1574dde --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/GetStorageTask.cs @@ -0,0 +1,168 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101 +{ + public static class GetStorageTask + { + /// + /// Get the storage task properties + /// + public static Task InvokeAsync(GetStorageTaskArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:storagetasks/v20230101:getStorageTask", args ?? new GetStorageTaskArgs(), options.WithDefaults()); + + /// + /// Get the storage task properties + /// + public static Output Invoke(GetStorageTaskInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:storagetasks/v20230101:getStorageTask", args ?? new GetStorageTaskInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetStorageTaskArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + /// + /// The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + /// + [Input("storageTaskName", required: true)] + public string StorageTaskName { get; set; } = null!; + + public GetStorageTaskArgs() + { + } + public static new GetStorageTaskArgs Empty => new GetStorageTaskArgs(); + } + + public sealed class GetStorageTaskInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + /// + [Input("storageTaskName", required: true)] + public Input StorageTaskName { get; set; } = null!; + + public GetStorageTaskInvokeArgs() + { + } + public static new GetStorageTaskInvokeArgs Empty => new GetStorageTaskInvokeArgs(); + } + + + [OutputType] + public sealed class GetStorageTaskResult + { + /// + /// The storage task action that is executed + /// + public readonly Outputs.StorageTaskActionResponse Action; + /// + /// The creation date and time of the storage task in UTC. + /// + public readonly string CreationTimeInUtc; + /// + /// Text that describes the purpose of the storage task + /// + public readonly string Description; + /// + /// Storage Task is enabled when set to true and disabled when set to false + /// + public readonly bool Enabled; + /// + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + /// + public readonly string Id; + /// + /// The managed service identity of the resource. + /// + public readonly Outputs.ManagedServiceIdentityResponse? Identity; + /// + /// The geo-location where the resource lives + /// + public readonly string Location; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// Represents the provisioning state of the storage task. + /// + public readonly string ProvisioningState; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Resource tags. + /// + public readonly ImmutableDictionary? Tags; + /// + /// Storage task version. + /// + public readonly double TaskVersion; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private GetStorageTaskResult( + Outputs.StorageTaskActionResponse action, + + string creationTimeInUtc, + + string description, + + bool enabled, + + string id, + + Outputs.ManagedServiceIdentityResponse? identity, + + string location, + + string name, + + string provisioningState, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + double taskVersion, + + string type) + { + Action = action; + CreationTimeInUtc = creationTimeInUtc; + Description = description; + Enabled = enabled; + Id = id; + Identity = identity; + Location = location; + Name = name; + ProvisioningState = provisioningState; + SystemData = systemData; + Tags = tags; + TaskVersion = taskVersion; + Type = type; + } + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Inputs/ElseConditionArgs.cs b/sdk/dotnet/StorageTasks/V20230101/Inputs/ElseConditionArgs.cs new file mode 100644 index 000000000000..306d5a973ac2 --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Inputs/ElseConditionArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101.Inputs +{ + + /// + /// The else block of storage task operation + /// + public sealed class ElseConditionArgs : global::Pulumi.ResourceArgs + { + [Input("operations", required: true)] + private InputList? _operations; + + /// + /// List of operations to execute in the else block + /// + public InputList Operations + { + get => _operations ?? (_operations = new InputList()); + set => _operations = value; + } + + public ElseConditionArgs() + { + } + public static new ElseConditionArgs Empty => new ElseConditionArgs(); + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Inputs/IfConditionArgs.cs b/sdk/dotnet/StorageTasks/V20230101/Inputs/IfConditionArgs.cs new file mode 100644 index 000000000000..6d5108d516a1 --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Inputs/IfConditionArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101.Inputs +{ + + /// + /// The if block of storage task operation + /// + public sealed class IfConditionArgs : global::Pulumi.ResourceArgs + { + /// + /// The condition predicate which is composed of object properties, eg: blob and container properties. + /// + [Input("condition", required: true)] + public Input Condition { get; set; } = null!; + + [Input("operations", required: true)] + private InputList? _operations; + + /// + /// List of operations to execute when the condition predicate satisfies. + /// + public InputList Operations + { + get => _operations ?? (_operations = new InputList()); + set => _operations = value; + } + + public IfConditionArgs() + { + } + public static new IfConditionArgs Empty => new IfConditionArgs(); + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Inputs/ManagedServiceIdentityArgs.cs b/sdk/dotnet/StorageTasks/V20230101/Inputs/ManagedServiceIdentityArgs.cs new file mode 100644 index 000000000000..524a59384980 --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Inputs/ManagedServiceIdentityArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101.Inputs +{ + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + public sealed class ManagedServiceIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + [Input("type", required: true)] + public InputUnion Type { get; set; } = null!; + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } + + public ManagedServiceIdentityArgs() + { + } + public static new ManagedServiceIdentityArgs Empty => new ManagedServiceIdentityArgs(); + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Inputs/StorageTaskActionArgs.cs b/sdk/dotnet/StorageTasks/V20230101/Inputs/StorageTaskActionArgs.cs new file mode 100644 index 000000000000..485b93f741db --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Inputs/StorageTaskActionArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101.Inputs +{ + + /// + /// The storage task action represents conditional statements and operations to be performed on target objects. + /// + public sealed class StorageTaskActionArgs : global::Pulumi.ResourceArgs + { + /// + /// The else block of storage task operation + /// + [Input("else")] + public Input? Else { get; set; } + + /// + /// The if block of storage task operation + /// + [Input("if", required: true)] + public Input If { get; set; } = null!; + + public StorageTaskActionArgs() + { + } + public static new StorageTaskActionArgs Empty => new StorageTaskActionArgs(); + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Inputs/StorageTaskOperationArgs.cs b/sdk/dotnet/StorageTasks/V20230101/Inputs/StorageTaskOperationArgs.cs new file mode 100644 index 000000000000..e2d7e36a0843 --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Inputs/StorageTaskOperationArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101.Inputs +{ + + /// + /// Represents an operation to be performed on the object + /// + public sealed class StorageTaskOperationArgs : global::Pulumi.ResourceArgs + { + /// + /// The operation to be performed on the object. + /// + [Input("name", required: true)] + public InputUnion Name { get; set; } = null!; + + /// + /// Action to be taken when the operation fails for a object. + /// + [Input("onFailure")] + public Input? OnFailure { get; set; } + + /// + /// Action to be taken when the operation is successful for a object. + /// + [Input("onSuccess")] + public Input? OnSuccess { get; set; } + + [Input("parameters")] + private InputMap? _parameters; + + /// + /// Key-value parameters for the operation. + /// + public InputMap Parameters + { + get => _parameters ?? (_parameters = new InputMap()); + set => _parameters = value; + } + + public StorageTaskOperationArgs() + { + } + public static new StorageTaskOperationArgs Empty => new StorageTaskOperationArgs(); + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Outputs/ElseConditionResponse.cs b/sdk/dotnet/StorageTasks/V20230101/Outputs/ElseConditionResponse.cs new file mode 100644 index 000000000000..9502861895a9 --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Outputs/ElseConditionResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101.Outputs +{ + + /// + /// The else block of storage task operation + /// + [OutputType] + public sealed class ElseConditionResponse + { + /// + /// List of operations to execute in the else block + /// + public readonly ImmutableArray Operations; + + [OutputConstructor] + private ElseConditionResponse(ImmutableArray operations) + { + Operations = operations; + } + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Outputs/IfConditionResponse.cs b/sdk/dotnet/StorageTasks/V20230101/Outputs/IfConditionResponse.cs new file mode 100644 index 000000000000..8b6625039256 --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Outputs/IfConditionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101.Outputs +{ + + /// + /// The if block of storage task operation + /// + [OutputType] + public sealed class IfConditionResponse + { + /// + /// The condition predicate which is composed of object properties, eg: blob and container properties. + /// + public readonly string Condition; + /// + /// List of operations to execute when the condition predicate satisfies. + /// + public readonly ImmutableArray Operations; + + [OutputConstructor] + private IfConditionResponse( + string condition, + + ImmutableArray operations) + { + Condition = condition; + Operations = operations; + } + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Outputs/ManagedServiceIdentityResponse.cs b/sdk/dotnet/StorageTasks/V20230101/Outputs/ManagedServiceIdentityResponse.cs new file mode 100644 index 000000000000..49b5184aa776 --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Outputs/ManagedServiceIdentityResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101.Outputs +{ + + /// + /// Managed service identity (system assigned and/or user assigned identities) + /// + [OutputType] + public sealed class ManagedServiceIdentityResponse + { + /// + /// The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + public readonly string PrincipalId; + /// + /// The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + /// + public readonly string TenantId; + /// + /// Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + /// + public readonly string Type; + /// + /// The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + /// + public readonly ImmutableDictionary? UserAssignedIdentities; + + [OutputConstructor] + private ManagedServiceIdentityResponse( + string principalId, + + string tenantId, + + string type, + + ImmutableDictionary? userAssignedIdentities) + { + PrincipalId = principalId; + TenantId = tenantId; + Type = type; + UserAssignedIdentities = userAssignedIdentities; + } + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Outputs/StorageTaskActionResponse.cs b/sdk/dotnet/StorageTasks/V20230101/Outputs/StorageTaskActionResponse.cs new file mode 100644 index 000000000000..9180050bc18e --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Outputs/StorageTaskActionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101.Outputs +{ + + /// + /// The storage task action represents conditional statements and operations to be performed on target objects. + /// + [OutputType] + public sealed class StorageTaskActionResponse + { + /// + /// The else block of storage task operation + /// + public readonly Outputs.ElseConditionResponse? Else; + /// + /// The if block of storage task operation + /// + public readonly Outputs.IfConditionResponse If; + + [OutputConstructor] + private StorageTaskActionResponse( + Outputs.ElseConditionResponse? @else, + + Outputs.IfConditionResponse @if) + { + Else = @else; + If = @if; + } + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Outputs/StorageTaskOperationResponse.cs b/sdk/dotnet/StorageTasks/V20230101/Outputs/StorageTaskOperationResponse.cs new file mode 100644 index 000000000000..f6be0e766113 --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Outputs/StorageTaskOperationResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101.Outputs +{ + + /// + /// Represents an operation to be performed on the object + /// + [OutputType] + public sealed class StorageTaskOperationResponse + { + /// + /// The operation to be performed on the object. + /// + public readonly string Name; + /// + /// Action to be taken when the operation fails for a object. + /// + public readonly string? OnFailure; + /// + /// Action to be taken when the operation is successful for a object. + /// + public readonly string? OnSuccess; + /// + /// Key-value parameters for the operation. + /// + public readonly ImmutableDictionary? Parameters; + + [OutputConstructor] + private StorageTaskOperationResponse( + string name, + + string? onFailure, + + string? onSuccess, + + ImmutableDictionary? parameters) + { + Name = name; + OnFailure = onFailure; + OnSuccess = onSuccess; + Parameters = parameters; + } + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Outputs/SystemDataResponse.cs b/sdk/dotnet/StorageTasks/V20230101/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..69a91c7f0372 --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101.Outputs +{ + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC). + /// + public readonly string? CreatedAt; + /// + /// The identity that created the resource. + /// + public readonly string? CreatedBy; + /// + /// The type of identity that created the resource. + /// + public readonly string? CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string? LastModifiedAt; + /// + /// The identity that last modified the resource. + /// + public readonly string? LastModifiedBy; + /// + /// The type of identity that last modified the resource. + /// + public readonly string? LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string? createdAt, + + string? createdBy, + + string? createdByType, + + string? lastModifiedAt, + + string? lastModifiedBy, + + string? lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/Outputs/UserAssignedIdentityResponse.cs b/sdk/dotnet/StorageTasks/V20230101/Outputs/UserAssignedIdentityResponse.cs new file mode 100644 index 000000000000..513b500fe110 --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/Outputs/UserAssignedIdentityResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101.Outputs +{ + + /// + /// User assigned identity properties + /// + [OutputType] + public sealed class UserAssignedIdentityResponse + { + /// + /// The client ID of the assigned identity. + /// + public readonly string ClientId; + /// + /// The principal ID of the assigned identity. + /// + public readonly string PrincipalId; + + [OutputConstructor] + private UserAssignedIdentityResponse( + string clientId, + + string principalId) + { + ClientId = clientId; + PrincipalId = principalId; + } + } +} diff --git a/sdk/dotnet/StorageTasks/V20230101/README.md b/sdk/dotnet/StorageTasks/V20230101/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/StorageTasks/V20230101/StorageTask.cs b/sdk/dotnet/StorageTasks/V20230101/StorageTask.cs new file mode 100644 index 000000000000..f590c3b2efa2 --- /dev/null +++ b/sdk/dotnet/StorageTasks/V20230101/StorageTask.cs @@ -0,0 +1,198 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.StorageTasks.V20230101 +{ + /// + /// Represents Storage Task. + /// + [AzureNativeResourceType("azure-native:storagetasks/v20230101:StorageTask")] + public partial class StorageTask : global::Pulumi.CustomResource + { + /// + /// The storage task action that is executed + /// + [Output("action")] + public Output Action { get; private set; } = null!; + + /// + /// The creation date and time of the storage task in UTC. + /// + [Output("creationTimeInUtc")] + public Output CreationTimeInUtc { get; private set; } = null!; + + /// + /// Text that describes the purpose of the storage task + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Storage Task is enabled when set to true and disabled when set to false + /// + [Output("enabled")] + public Output Enabled { get; private set; } = null!; + + /// + /// The managed service identity of the resource. + /// + [Output("identity")] + public Output Identity { get; private set; } = null!; + + /// + /// The geo-location where the resource lives + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Represents the provisioning state of the storage task. + /// + [Output("provisioningState")] + public Output ProvisioningState { get; private set; } = null!; + + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Resource tags. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Storage task version. + /// + [Output("taskVersion")] + public Output TaskVersion { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a StorageTask resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public StorageTask(string name, StorageTaskArgs args, CustomResourceOptions? options = null) + : base("azure-native:storagetasks/v20230101:StorageTask", name, args ?? new StorageTaskArgs(), MakeResourceOptions(options, "")) + { + } + + private StorageTask(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:storagetasks/v20230101:StorageTask", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:storagetasks:StorageTask"}, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing StorageTask resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static StorageTask Get(string name, Input id, CustomResourceOptions? options = null) + { + return new StorageTask(name, id, options); + } + } + + public sealed class StorageTaskArgs : global::Pulumi.ResourceArgs + { + /// + /// The storage task action that is executed + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + /// + /// Text that describes the purpose of the storage task + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// Storage Task is enabled when set to true and disabled when set to false + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// The managed service identity of the resource. + /// + [Input("identity")] + public Input? Identity { get; set; } + + /// + /// The geo-location where the resource lives + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + /// + /// The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + /// + [Input("storageTaskName")] + public Input? StorageTaskName { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Resource tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public StorageTaskArgs() + { + } + public static new StorageTaskArgs Empty => new StorageTaskArgs(); + } +} diff --git a/sdk/nodejs/avs/addon.ts b/sdk/nodejs/avs/addon.ts index cec7f1832fa9..416bffe47091 100644 --- a/sdk/nodejs/avs/addon.ts +++ b/sdk/nodejs/avs/addon.ts @@ -80,7 +80,7 @@ export class Addon extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:Addon" }, { type: "azure-native:avs/v20210101preview:Addon" }, { type: "azure-native:avs/v20210601:Addon" }, { type: "azure-native:avs/v20211201:Addon" }, { type: "azure-native:avs/v20220501:Addon" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:Addon" }, { type: "azure-native:avs/v20210101preview:Addon" }, { type: "azure-native:avs/v20210601:Addon" }, { type: "azure-native:avs/v20211201:Addon" }, { type: "azure-native:avs/v20220501:Addon" }, { type: "azure-native:avs/v20230301:Addon" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Addon.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/authorization.ts b/sdk/nodejs/avs/authorization.ts index 34e533f22bd2..eed98852e293 100644 --- a/sdk/nodejs/avs/authorization.ts +++ b/sdk/nodejs/avs/authorization.ts @@ -95,7 +95,7 @@ export class Authorization extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200320:Authorization" }, { type: "azure-native:avs/v20200717preview:Authorization" }, { type: "azure-native:avs/v20210101preview:Authorization" }, { type: "azure-native:avs/v20210601:Authorization" }, { type: "azure-native:avs/v20211201:Authorization" }, { type: "azure-native:avs/v20220501:Authorization" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200320:Authorization" }, { type: "azure-native:avs/v20200717preview:Authorization" }, { type: "azure-native:avs/v20210101preview:Authorization" }, { type: "azure-native:avs/v20210601:Authorization" }, { type: "azure-native:avs/v20211201:Authorization" }, { type: "azure-native:avs/v20220501:Authorization" }, { type: "azure-native:avs/v20230301:Authorization" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Authorization.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/cloudLink.ts b/sdk/nodejs/avs/cloudLink.ts index 77e74521546f..b19d40cead98 100644 --- a/sdk/nodejs/avs/cloudLink.ts +++ b/sdk/nodejs/avs/cloudLink.ts @@ -83,7 +83,7 @@ export class CloudLink extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20210601:CloudLink" }, { type: "azure-native:avs/v20211201:CloudLink" }, { type: "azure-native:avs/v20220501:CloudLink" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20210601:CloudLink" }, { type: "azure-native:avs/v20211201:CloudLink" }, { type: "azure-native:avs/v20220501:CloudLink" }, { type: "azure-native:avs/v20230301:CloudLink" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(CloudLink.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/cluster.ts b/sdk/nodejs/avs/cluster.ts index f0d23e943787..53372525f180 100644 --- a/sdk/nodejs/avs/cluster.ts +++ b/sdk/nodejs/avs/cluster.ts @@ -107,7 +107,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200320:Cluster" }, { type: "azure-native:avs/v20200717preview:Cluster" }, { type: "azure-native:avs/v20210101preview:Cluster" }, { type: "azure-native:avs/v20210601:Cluster" }, { type: "azure-native:avs/v20211201:Cluster" }, { type: "azure-native:avs/v20220501:Cluster" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200320:Cluster" }, { type: "azure-native:avs/v20200717preview:Cluster" }, { type: "azure-native:avs/v20210101preview:Cluster" }, { type: "azure-native:avs/v20210601:Cluster" }, { type: "azure-native:avs/v20211201:Cluster" }, { type: "azure-native:avs/v20220501:Cluster" }, { type: "azure-native:avs/v20230301:Cluster" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Cluster.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/datastore.ts b/sdk/nodejs/avs/datastore.ts index 340d9a378f99..55f4050ecd20 100644 --- a/sdk/nodejs/avs/datastore.ts +++ b/sdk/nodejs/avs/datastore.ts @@ -102,7 +102,7 @@ export class Datastore extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20210101preview:Datastore" }, { type: "azure-native:avs/v20210601:Datastore" }, { type: "azure-native:avs/v20211201:Datastore" }, { type: "azure-native:avs/v20220501:Datastore" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20210101preview:Datastore" }, { type: "azure-native:avs/v20210601:Datastore" }, { type: "azure-native:avs/v20211201:Datastore" }, { type: "azure-native:avs/v20220501:Datastore" }, { type: "azure-native:avs/v20230301:Datastore" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Datastore.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/globalReachConnection.ts b/sdk/nodejs/avs/globalReachConnection.ts index 2d121f4e7ced..1f6a83f7f79c 100644 --- a/sdk/nodejs/avs/globalReachConnection.ts +++ b/sdk/nodejs/avs/globalReachConnection.ts @@ -107,7 +107,7 @@ export class GlobalReachConnection extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:GlobalReachConnection" }, { type: "azure-native:avs/v20210101preview:GlobalReachConnection" }, { type: "azure-native:avs/v20210601:GlobalReachConnection" }, { type: "azure-native:avs/v20211201:GlobalReachConnection" }, { type: "azure-native:avs/v20220501:GlobalReachConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:GlobalReachConnection" }, { type: "azure-native:avs/v20210101preview:GlobalReachConnection" }, { type: "azure-native:avs/v20210601:GlobalReachConnection" }, { type: "azure-native:avs/v20211201:GlobalReachConnection" }, { type: "azure-native:avs/v20220501:GlobalReachConnection" }, { type: "azure-native:avs/v20230301:GlobalReachConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(GlobalReachConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/hcxEnterpriseSite.ts b/sdk/nodejs/avs/hcxEnterpriseSite.ts index 489aab45b79a..6ddc7a4e43a2 100644 --- a/sdk/nodejs/avs/hcxEnterpriseSite.ts +++ b/sdk/nodejs/avs/hcxEnterpriseSite.ts @@ -83,7 +83,7 @@ export class HcxEnterpriseSite extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200320:HcxEnterpriseSite" }, { type: "azure-native:avs/v20200717preview:HcxEnterpriseSite" }, { type: "azure-native:avs/v20210101preview:HcxEnterpriseSite" }, { type: "azure-native:avs/v20210601:HcxEnterpriseSite" }, { type: "azure-native:avs/v20211201:HcxEnterpriseSite" }, { type: "azure-native:avs/v20220501:HcxEnterpriseSite" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200320:HcxEnterpriseSite" }, { type: "azure-native:avs/v20200717preview:HcxEnterpriseSite" }, { type: "azure-native:avs/v20210101preview:HcxEnterpriseSite" }, { type: "azure-native:avs/v20210601:HcxEnterpriseSite" }, { type: "azure-native:avs/v20211201:HcxEnterpriseSite" }, { type: "azure-native:avs/v20220501:HcxEnterpriseSite" }, { type: "azure-native:avs/v20230301:HcxEnterpriseSite" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(HcxEnterpriseSite.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/index.ts b/sdk/nodejs/avs/index.ts index 344b493ec44a..bfdcaab5824e 100644 --- a/sdk/nodejs/avs/index.ts +++ b/sdk/nodejs/avs/index.ts @@ -199,12 +199,14 @@ import * as v20200320 from "./v20200320"; import * as v20210101preview from "./v20210101preview"; import * as v20210601 from "./v20210601"; import * as v20220501 from "./v20220501"; +import * as v20230301 from "./v20230301"; export { v20200320, v20210101preview, v20210601, v20220501, + v20230301, }; const _module = { diff --git a/sdk/nodejs/avs/placementPolicy.ts b/sdk/nodejs/avs/placementPolicy.ts index d085c361a0ee..50c60d9f7612 100644 --- a/sdk/nodejs/avs/placementPolicy.ts +++ b/sdk/nodejs/avs/placementPolicy.ts @@ -84,7 +84,7 @@ export class PlacementPolicy extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20211201:PlacementPolicy" }, { type: "azure-native:avs/v20220501:PlacementPolicy" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20211201:PlacementPolicy" }, { type: "azure-native:avs/v20220501:PlacementPolicy" }, { type: "azure-native:avs/v20230301:PlacementPolicy" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PlacementPolicy.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/privateCloud.ts b/sdk/nodejs/avs/privateCloud.ts index f48e32fd1cbc..6bcbe0b20909 100644 --- a/sdk/nodejs/avs/privateCloud.ts +++ b/sdk/nodejs/avs/privateCloud.ts @@ -217,7 +217,7 @@ export class PrivateCloud extends pulumi.CustomResource { resourceInputs["vmotionNetwork"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200320:PrivateCloud" }, { type: "azure-native:avs/v20200717preview:PrivateCloud" }, { type: "azure-native:avs/v20210101preview:PrivateCloud" }, { type: "azure-native:avs/v20210601:PrivateCloud" }, { type: "azure-native:avs/v20211201:PrivateCloud" }, { type: "azure-native:avs/v20220501:PrivateCloud" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200320:PrivateCloud" }, { type: "azure-native:avs/v20200717preview:PrivateCloud" }, { type: "azure-native:avs/v20210101preview:PrivateCloud" }, { type: "azure-native:avs/v20210601:PrivateCloud" }, { type: "azure-native:avs/v20211201:PrivateCloud" }, { type: "azure-native:avs/v20220501:PrivateCloud" }, { type: "azure-native:avs/v20230301:PrivateCloud" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateCloud.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/scriptExecution.ts b/sdk/nodejs/avs/scriptExecution.ts index 5bf41215b4e7..044219585314 100644 --- a/sdk/nodejs/avs/scriptExecution.ts +++ b/sdk/nodejs/avs/scriptExecution.ts @@ -167,7 +167,7 @@ export class ScriptExecution extends pulumi.CustomResource { resourceInputs["warnings"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20210601:ScriptExecution" }, { type: "azure-native:avs/v20211201:ScriptExecution" }, { type: "azure-native:avs/v20220501:ScriptExecution" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20210601:ScriptExecution" }, { type: "azure-native:avs/v20211201:ScriptExecution" }, { type: "azure-native:avs/v20220501:ScriptExecution" }, { type: "azure-native:avs/v20230301:ScriptExecution" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ScriptExecution.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20200320/cluster.ts b/sdk/nodejs/avs/v20200320/cluster.ts index df3c19e14a8a..c8923999a64c 100644 --- a/sdk/nodejs/avs/v20200320/cluster.ts +++ b/sdk/nodejs/avs/v20200320/cluster.ts @@ -109,7 +109,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:Cluster" }, { type: "azure-native:avs/v20200717preview:Cluster" }, { type: "azure-native:avs/v20210101preview:Cluster" }, { type: "azure-native:avs/v20210601:Cluster" }, { type: "azure-native:avs/v20211201:Cluster" }, { type: "azure-native:avs/v20220501:Cluster" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:Cluster" }, { type: "azure-native:avs/v20200717preview:Cluster" }, { type: "azure-native:avs/v20210101preview:Cluster" }, { type: "azure-native:avs/v20210601:Cluster" }, { type: "azure-native:avs/v20211201:Cluster" }, { type: "azure-native:avs/v20220501:Cluster" }, { type: "azure-native:avs/v20230301:Cluster" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Cluster.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20210101preview/addon.ts b/sdk/nodejs/avs/v20210101preview/addon.ts index 906d28e633b3..bfd12d5c31ef 100644 --- a/sdk/nodejs/avs/v20210101preview/addon.ts +++ b/sdk/nodejs/avs/v20210101preview/addon.ts @@ -91,7 +91,7 @@ export class Addon extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:Addon" }, { type: "azure-native:avs/v20200717preview:Addon" }, { type: "azure-native:avs/v20210601:Addon" }, { type: "azure-native:avs/v20211201:Addon" }, { type: "azure-native:avs/v20220501:Addon" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:Addon" }, { type: "azure-native:avs/v20200717preview:Addon" }, { type: "azure-native:avs/v20210601:Addon" }, { type: "azure-native:avs/v20211201:Addon" }, { type: "azure-native:avs/v20220501:Addon" }, { type: "azure-native:avs/v20230301:Addon" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Addon.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20210101preview/workloadNetworkDhcp.ts b/sdk/nodejs/avs/v20210101preview/workloadNetworkDhcp.ts index da64b9af18f1..904af1d954b6 100644 --- a/sdk/nodejs/avs/v20210101preview/workloadNetworkDhcp.ts +++ b/sdk/nodejs/avs/v20210101preview/workloadNetworkDhcp.ts @@ -106,7 +106,7 @@ export class WorkloadNetworkDhcp extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20220501:WorkloadNetworkDhcp" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20220501:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20230301:WorkloadNetworkDhcp" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkDhcp.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20210601/cluster.ts b/sdk/nodejs/avs/v20210601/cluster.ts index c9526caeb692..f016d3d43577 100644 --- a/sdk/nodejs/avs/v20210601/cluster.ts +++ b/sdk/nodejs/avs/v20210601/cluster.ts @@ -106,7 +106,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:Cluster" }, { type: "azure-native:avs/v20200320:Cluster" }, { type: "azure-native:avs/v20200717preview:Cluster" }, { type: "azure-native:avs/v20210101preview:Cluster" }, { type: "azure-native:avs/v20211201:Cluster" }, { type: "azure-native:avs/v20220501:Cluster" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:Cluster" }, { type: "azure-native:avs/v20200320:Cluster" }, { type: "azure-native:avs/v20200717preview:Cluster" }, { type: "azure-native:avs/v20210101preview:Cluster" }, { type: "azure-native:avs/v20211201:Cluster" }, { type: "azure-native:avs/v20220501:Cluster" }, { type: "azure-native:avs/v20230301:Cluster" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Cluster.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/addon.ts b/sdk/nodejs/avs/v20220501/addon.ts index 82d1d8b2a535..8d6376aa0b59 100644 --- a/sdk/nodejs/avs/v20220501/addon.ts +++ b/sdk/nodejs/avs/v20220501/addon.ts @@ -79,7 +79,7 @@ export class Addon extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:Addon" }, { type: "azure-native:avs/v20200717preview:Addon" }, { type: "azure-native:avs/v20210101preview:Addon" }, { type: "azure-native:avs/v20210601:Addon" }, { type: "azure-native:avs/v20211201:Addon" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:Addon" }, { type: "azure-native:avs/v20200717preview:Addon" }, { type: "azure-native:avs/v20210101preview:Addon" }, { type: "azure-native:avs/v20210601:Addon" }, { type: "azure-native:avs/v20211201:Addon" }, { type: "azure-native:avs/v20230301:Addon" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Addon.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/authorization.ts b/sdk/nodejs/avs/v20220501/authorization.ts index 0e3effe277cf..8e6c2e736377 100644 --- a/sdk/nodejs/avs/v20220501/authorization.ts +++ b/sdk/nodejs/avs/v20220501/authorization.ts @@ -94,7 +94,7 @@ export class Authorization extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:Authorization" }, { type: "azure-native:avs/v20200320:Authorization" }, { type: "azure-native:avs/v20200717preview:Authorization" }, { type: "azure-native:avs/v20210101preview:Authorization" }, { type: "azure-native:avs/v20210601:Authorization" }, { type: "azure-native:avs/v20211201:Authorization" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:Authorization" }, { type: "azure-native:avs/v20200320:Authorization" }, { type: "azure-native:avs/v20200717preview:Authorization" }, { type: "azure-native:avs/v20210101preview:Authorization" }, { type: "azure-native:avs/v20210601:Authorization" }, { type: "azure-native:avs/v20211201:Authorization" }, { type: "azure-native:avs/v20230301:Authorization" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Authorization.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/cloudLink.ts b/sdk/nodejs/avs/v20220501/cloudLink.ts index f510daeed602..a8afb4cb8fe0 100644 --- a/sdk/nodejs/avs/v20220501/cloudLink.ts +++ b/sdk/nodejs/avs/v20220501/cloudLink.ts @@ -82,7 +82,7 @@ export class CloudLink extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:CloudLink" }, { type: "azure-native:avs/v20210601:CloudLink" }, { type: "azure-native:avs/v20211201:CloudLink" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:CloudLink" }, { type: "azure-native:avs/v20210601:CloudLink" }, { type: "azure-native:avs/v20211201:CloudLink" }, { type: "azure-native:avs/v20230301:CloudLink" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(CloudLink.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/cluster.ts b/sdk/nodejs/avs/v20220501/cluster.ts index dca7bf2731d4..8d9d445754b0 100644 --- a/sdk/nodejs/avs/v20220501/cluster.ts +++ b/sdk/nodejs/avs/v20220501/cluster.ts @@ -106,7 +106,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:Cluster" }, { type: "azure-native:avs/v20200320:Cluster" }, { type: "azure-native:avs/v20200717preview:Cluster" }, { type: "azure-native:avs/v20210101preview:Cluster" }, { type: "azure-native:avs/v20210601:Cluster" }, { type: "azure-native:avs/v20211201:Cluster" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:Cluster" }, { type: "azure-native:avs/v20200320:Cluster" }, { type: "azure-native:avs/v20200717preview:Cluster" }, { type: "azure-native:avs/v20210101preview:Cluster" }, { type: "azure-native:avs/v20210601:Cluster" }, { type: "azure-native:avs/v20211201:Cluster" }, { type: "azure-native:avs/v20230301:Cluster" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Cluster.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/datastore.ts b/sdk/nodejs/avs/v20220501/datastore.ts index 23494e9093f2..18ad951b61eb 100644 --- a/sdk/nodejs/avs/v20220501/datastore.ts +++ b/sdk/nodejs/avs/v20220501/datastore.ts @@ -101,7 +101,7 @@ export class Datastore extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:Datastore" }, { type: "azure-native:avs/v20210101preview:Datastore" }, { type: "azure-native:avs/v20210601:Datastore" }, { type: "azure-native:avs/v20211201:Datastore" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:Datastore" }, { type: "azure-native:avs/v20210101preview:Datastore" }, { type: "azure-native:avs/v20210601:Datastore" }, { type: "azure-native:avs/v20211201:Datastore" }, { type: "azure-native:avs/v20230301:Datastore" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Datastore.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/globalReachConnection.ts b/sdk/nodejs/avs/v20220501/globalReachConnection.ts index 1676e6a2c3f6..e1b50c54e00d 100644 --- a/sdk/nodejs/avs/v20220501/globalReachConnection.ts +++ b/sdk/nodejs/avs/v20220501/globalReachConnection.ts @@ -106,7 +106,7 @@ export class GlobalReachConnection extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:GlobalReachConnection" }, { type: "azure-native:avs/v20200717preview:GlobalReachConnection" }, { type: "azure-native:avs/v20210101preview:GlobalReachConnection" }, { type: "azure-native:avs/v20210601:GlobalReachConnection" }, { type: "azure-native:avs/v20211201:GlobalReachConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:GlobalReachConnection" }, { type: "azure-native:avs/v20200717preview:GlobalReachConnection" }, { type: "azure-native:avs/v20210101preview:GlobalReachConnection" }, { type: "azure-native:avs/v20210601:GlobalReachConnection" }, { type: "azure-native:avs/v20211201:GlobalReachConnection" }, { type: "azure-native:avs/v20230301:GlobalReachConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(GlobalReachConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/hcxEnterpriseSite.ts b/sdk/nodejs/avs/v20220501/hcxEnterpriseSite.ts index 7d50840fd64e..c09f00ef52e4 100644 --- a/sdk/nodejs/avs/v20220501/hcxEnterpriseSite.ts +++ b/sdk/nodejs/avs/v20220501/hcxEnterpriseSite.ts @@ -82,7 +82,7 @@ export class HcxEnterpriseSite extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:HcxEnterpriseSite" }, { type: "azure-native:avs/v20200320:HcxEnterpriseSite" }, { type: "azure-native:avs/v20200717preview:HcxEnterpriseSite" }, { type: "azure-native:avs/v20210101preview:HcxEnterpriseSite" }, { type: "azure-native:avs/v20210601:HcxEnterpriseSite" }, { type: "azure-native:avs/v20211201:HcxEnterpriseSite" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:HcxEnterpriseSite" }, { type: "azure-native:avs/v20200320:HcxEnterpriseSite" }, { type: "azure-native:avs/v20200717preview:HcxEnterpriseSite" }, { type: "azure-native:avs/v20210101preview:HcxEnterpriseSite" }, { type: "azure-native:avs/v20210601:HcxEnterpriseSite" }, { type: "azure-native:avs/v20211201:HcxEnterpriseSite" }, { type: "azure-native:avs/v20230301:HcxEnterpriseSite" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(HcxEnterpriseSite.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/placementPolicy.ts b/sdk/nodejs/avs/v20220501/placementPolicy.ts index cd0a0029f2d1..ded8f815b013 100644 --- a/sdk/nodejs/avs/v20220501/placementPolicy.ts +++ b/sdk/nodejs/avs/v20220501/placementPolicy.ts @@ -83,7 +83,7 @@ export class PlacementPolicy extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:PlacementPolicy" }, { type: "azure-native:avs/v20211201:PlacementPolicy" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:PlacementPolicy" }, { type: "azure-native:avs/v20211201:PlacementPolicy" }, { type: "azure-native:avs/v20230301:PlacementPolicy" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PlacementPolicy.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/privateCloud.ts b/sdk/nodejs/avs/v20220501/privateCloud.ts index 78c9df068115..04db7242c89c 100644 --- a/sdk/nodejs/avs/v20220501/privateCloud.ts +++ b/sdk/nodejs/avs/v20220501/privateCloud.ts @@ -216,7 +216,7 @@ export class PrivateCloud extends pulumi.CustomResource { resourceInputs["vmotionNetwork"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:PrivateCloud" }, { type: "azure-native:avs/v20200320:PrivateCloud" }, { type: "azure-native:avs/v20200717preview:PrivateCloud" }, { type: "azure-native:avs/v20210101preview:PrivateCloud" }, { type: "azure-native:avs/v20210601:PrivateCloud" }, { type: "azure-native:avs/v20211201:PrivateCloud" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:PrivateCloud" }, { type: "azure-native:avs/v20200320:PrivateCloud" }, { type: "azure-native:avs/v20200717preview:PrivateCloud" }, { type: "azure-native:avs/v20210101preview:PrivateCloud" }, { type: "azure-native:avs/v20210601:PrivateCloud" }, { type: "azure-native:avs/v20211201:PrivateCloud" }, { type: "azure-native:avs/v20230301:PrivateCloud" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateCloud.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/scriptExecution.ts b/sdk/nodejs/avs/v20220501/scriptExecution.ts index 384f64bef59e..719b704de24f 100644 --- a/sdk/nodejs/avs/v20220501/scriptExecution.ts +++ b/sdk/nodejs/avs/v20220501/scriptExecution.ts @@ -166,7 +166,7 @@ export class ScriptExecution extends pulumi.CustomResource { resourceInputs["warnings"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:ScriptExecution" }, { type: "azure-native:avs/v20210601:ScriptExecution" }, { type: "azure-native:avs/v20211201:ScriptExecution" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:ScriptExecution" }, { type: "azure-native:avs/v20210601:ScriptExecution" }, { type: "azure-native:avs/v20211201:ScriptExecution" }, { type: "azure-native:avs/v20230301:ScriptExecution" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ScriptExecution.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/workloadNetworkDhcp.ts b/sdk/nodejs/avs/v20220501/workloadNetworkDhcp.ts index aad47d9ffe76..4d2b6164a5b1 100644 --- a/sdk/nodejs/avs/v20220501/workloadNetworkDhcp.ts +++ b/sdk/nodejs/avs/v20220501/workloadNetworkDhcp.ts @@ -79,7 +79,7 @@ export class WorkloadNetworkDhcp extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDhcp" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20230301:WorkloadNetworkDhcp" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkDhcp.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/workloadNetworkDnsService.ts b/sdk/nodejs/avs/v20220501/workloadNetworkDnsService.ts index 1236dc89e839..85c12bf5197c 100644 --- a/sdk/nodejs/avs/v20220501/workloadNetworkDnsService.ts +++ b/sdk/nodejs/avs/v20220501/workloadNetworkDnsService.ts @@ -121,7 +121,7 @@ export class WorkloadNetworkDnsService extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDnsService" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20230301:WorkloadNetworkDnsService" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkDnsService.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/workloadNetworkDnsZone.ts b/sdk/nodejs/avs/v20220501/workloadNetworkDnsZone.ts index d21020c830c0..8838c4042e24 100644 --- a/sdk/nodejs/avs/v20220501/workloadNetworkDnsZone.ts +++ b/sdk/nodejs/avs/v20220501/workloadNetworkDnsZone.ts @@ -112,7 +112,7 @@ export class WorkloadNetworkDnsZone extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDnsZone" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20230301:WorkloadNetworkDnsZone" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkDnsZone.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/workloadNetworkPortMirroring.ts b/sdk/nodejs/avs/v20220501/workloadNetworkPortMirroring.ts index ac45ba12a5d6..b8a852b0f649 100644 --- a/sdk/nodejs/avs/v20220501/workloadNetworkPortMirroring.ts +++ b/sdk/nodejs/avs/v20220501/workloadNetworkPortMirroring.ts @@ -115,7 +115,7 @@ export class WorkloadNetworkPortMirroring extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20210601:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20211201:WorkloadNetworkPortMirroring" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20210601:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20211201:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20230301:WorkloadNetworkPortMirroring" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkPortMirroring.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/workloadNetworkPublicIP.ts b/sdk/nodejs/avs/v20220501/workloadNetworkPublicIP.ts index 4b2981f33e63..f2de96cae700 100644 --- a/sdk/nodejs/avs/v20220501/workloadNetworkPublicIP.ts +++ b/sdk/nodejs/avs/v20220501/workloadNetworkPublicIP.ts @@ -94,7 +94,7 @@ export class WorkloadNetworkPublicIP extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20210601:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20211201:WorkloadNetworkPublicIP" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20210601:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20211201:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20230301:WorkloadNetworkPublicIP" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkPublicIP.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/workloadNetworkSegment.ts b/sdk/nodejs/avs/v20220501/workloadNetworkSegment.ts index 5d2cd8a2335e..a46db543d7a4 100644 --- a/sdk/nodejs/avs/v20220501/workloadNetworkSegment.ts +++ b/sdk/nodejs/avs/v20220501/workloadNetworkSegment.ts @@ -115,7 +115,7 @@ export class WorkloadNetworkSegment extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20210601:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20211201:WorkloadNetworkSegment" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20210601:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20211201:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20230301:WorkloadNetworkSegment" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkSegment.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20220501/workloadNetworkVMGroup.ts b/sdk/nodejs/avs/v20220501/workloadNetworkVMGroup.ts index 23b1e84feb48..c6e198b3f571 100644 --- a/sdk/nodejs/avs/v20220501/workloadNetworkVMGroup.ts +++ b/sdk/nodejs/avs/v20220501/workloadNetworkVMGroup.ts @@ -100,7 +100,7 @@ export class WorkloadNetworkVMGroup extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20210601:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20211201:WorkloadNetworkVMGroup" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20210601:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20211201:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20230301:WorkloadNetworkVMGroup" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkVMGroup.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/v20230301/addon.ts b/sdk/nodejs/avs/v20230301/addon.ts new file mode 100644 index 000000000000..c43ad1b47ece --- /dev/null +++ b/sdk/nodejs/avs/v20230301/addon.ts @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * An addon resource + */ +export class Addon extends pulumi.CustomResource { + /** + * Get an existing Addon 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Addon { + return new Addon(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:Addon'; + + /** + * Returns true if the given object is an instance of Addon. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Addon { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Addon.__pulumiType; + } + + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The properties of an addon resource + */ + public readonly properties!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Addon 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: AddonArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["addonName"] = args ? args.addonName : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["name"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:Addon" }, { type: "azure-native:avs/v20200717preview:Addon" }, { type: "azure-native:avs/v20210101preview:Addon" }, { type: "azure-native:avs/v20210601:Addon" }, { type: "azure-native:avs/v20211201:Addon" }, { type: "azure-native:avs/v20220501:Addon" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Addon.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Addon resource. + */ +export interface AddonArgs { + /** + * Name of the addon for the private cloud + */ + addonName?: pulumi.Input; + /** + * The name of the private cloud. + */ + privateCloudName: pulumi.Input; + /** + * The properties of an addon resource + */ + properties?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/authorization.ts b/sdk/nodejs/avs/v20230301/authorization.ts new file mode 100644 index 000000000000..7e84d97f149e --- /dev/null +++ b/sdk/nodejs/avs/v20230301/authorization.ts @@ -0,0 +1,123 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * ExpressRoute Circuit Authorization + */ +export class Authorization extends pulumi.CustomResource { + /** + * Get an existing Authorization 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Authorization { + return new Authorization(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:Authorization'; + + /** + * Returns true if the given object is an instance of Authorization. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Authorization { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Authorization.__pulumiType; + } + + /** + * The ID of the ExpressRoute Circuit Authorization + */ + public /*out*/ readonly expressRouteAuthorizationId!: pulumi.Output; + /** + * The key of the ExpressRoute Circuit Authorization + */ + public /*out*/ readonly expressRouteAuthorizationKey!: pulumi.Output; + /** + * The ID of the ExpressRoute Circuit + */ + public readonly expressRouteId!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The state of the ExpressRoute Circuit Authorization provisioning + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Authorization 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: AuthorizationArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["authorizationName"] = args ? args.authorizationName : undefined; + resourceInputs["expressRouteId"] = args ? args.expressRouteId : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["expressRouteAuthorizationId"] = undefined /*out*/; + resourceInputs["expressRouteAuthorizationKey"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["expressRouteAuthorizationId"] = undefined /*out*/; + resourceInputs["expressRouteAuthorizationKey"] = undefined /*out*/; + resourceInputs["expressRouteId"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:Authorization" }, { type: "azure-native:avs/v20200320:Authorization" }, { type: "azure-native:avs/v20200717preview:Authorization" }, { type: "azure-native:avs/v20210101preview:Authorization" }, { type: "azure-native:avs/v20210601:Authorization" }, { type: "azure-native:avs/v20211201:Authorization" }, { type: "azure-native:avs/v20220501:Authorization" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Authorization.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Authorization resource. + */ +export interface AuthorizationArgs { + /** + * Name of the ExpressRoute Circuit Authorization in the private cloud + */ + authorizationName?: pulumi.Input; + /** + * The ID of the ExpressRoute Circuit + */ + expressRouteId?: pulumi.Input; + /** + * The name of the private cloud. + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/cloudLink.ts b/sdk/nodejs/avs/v20230301/cloudLink.ts new file mode 100644 index 000000000000..c9208f736386 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/cloudLink.ts @@ -0,0 +1,111 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * A cloud link resource + */ +export class CloudLink extends pulumi.CustomResource { + /** + * Get an existing CloudLink 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): CloudLink { + return new CloudLink(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:CloudLink'; + + /** + * Returns true if the given object is an instance of CloudLink. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is CloudLink { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CloudLink.__pulumiType; + } + + /** + * Identifier of the other private cloud participating in the link. + */ + public readonly linkedCloud!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The state of the cloud link. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a CloudLink 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: CloudLinkArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["cloudLinkName"] = args ? args.cloudLinkName : undefined; + resourceInputs["linkedCloud"] = args ? args.linkedCloud : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["linkedCloud"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:CloudLink" }, { type: "azure-native:avs/v20210601:CloudLink" }, { type: "azure-native:avs/v20211201:CloudLink" }, { type: "azure-native:avs/v20220501:CloudLink" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(CloudLink.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a CloudLink resource. + */ +export interface CloudLinkArgs { + /** + * Name of the cloud link resource + */ + cloudLinkName?: pulumi.Input; + /** + * Identifier of the other private cloud participating in the link. + */ + linkedCloud?: pulumi.Input; + /** + * The name of the private cloud. + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/cluster.ts b/sdk/nodejs/avs/v20230301/cluster.ts new file mode 100644 index 000000000000..5d583123b9c5 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/cluster.ts @@ -0,0 +1,143 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * A cluster resource + */ +export class Cluster extends pulumi.CustomResource { + /** + * Get an existing Cluster 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Cluster { + return new Cluster(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:Cluster'; + + /** + * Returns true if the given object is an instance of Cluster. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Cluster { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Cluster.__pulumiType; + } + + /** + * The identity + */ + public /*out*/ readonly clusterId!: pulumi.Output; + /** + * The cluster size + */ + public readonly clusterSize!: pulumi.Output; + /** + * The hosts + */ + public readonly hosts!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The state of the cluster provisioning + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * The cluster SKU + */ + public readonly sku!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Cluster 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: ClusterArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.sku === undefined) && !opts.urn) { + throw new Error("Missing required property 'sku'"); + } + resourceInputs["clusterName"] = args ? args.clusterName : undefined; + resourceInputs["clusterSize"] = args ? args.clusterSize : undefined; + resourceInputs["hosts"] = args ? args.hosts : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["clusterId"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["clusterId"] = undefined /*out*/; + resourceInputs["clusterSize"] = undefined /*out*/; + resourceInputs["hosts"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:Cluster" }, { type: "azure-native:avs/v20200320:Cluster" }, { type: "azure-native:avs/v20200717preview:Cluster" }, { type: "azure-native:avs/v20210101preview:Cluster" }, { type: "azure-native:avs/v20210601:Cluster" }, { type: "azure-native:avs/v20211201:Cluster" }, { type: "azure-native:avs/v20220501:Cluster" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Cluster.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Cluster resource. + */ +export interface ClusterArgs { + /** + * Name of the cluster in the private cloud + */ + clusterName?: pulumi.Input; + /** + * The cluster size + */ + clusterSize?: pulumi.Input; + /** + * The hosts + */ + hosts?: pulumi.Input[]>; + /** + * The name of the private cloud. + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The cluster SKU + */ + sku: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/datastore.ts b/sdk/nodejs/avs/v20230301/datastore.ts new file mode 100644 index 000000000000..1f0ad74364d0 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/datastore.ts @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * A datastore resource + */ +export class Datastore extends pulumi.CustomResource { + /** + * Get an existing Datastore 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Datastore { + return new Datastore(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:Datastore'; + + /** + * Returns true if the given object is an instance of Datastore. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Datastore { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Datastore.__pulumiType; + } + + /** + * An iSCSI volume + */ + public readonly diskPoolVolume!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * An Azure NetApp Files volume + */ + public readonly netAppVolume!: pulumi.Output; + /** + * The state of the datastore provisioning + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * The operational status of the datastore + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Datastore 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: DatastoreArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.clusterName === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterName'"); + } + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["clusterName"] = args ? args.clusterName : undefined; + resourceInputs["datastoreName"] = args ? args.datastoreName : undefined; + resourceInputs["diskPoolVolume"] = args ? (args.diskPoolVolume ? pulumi.output(args.diskPoolVolume).apply(inputs.avs.v20230301.diskPoolVolumeArgsProvideDefaults) : undefined) : undefined; + resourceInputs["netAppVolume"] = args ? args.netAppVolume : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["diskPoolVolume"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["netAppVolume"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:Datastore" }, { type: "azure-native:avs/v20210101preview:Datastore" }, { type: "azure-native:avs/v20210601:Datastore" }, { type: "azure-native:avs/v20211201:Datastore" }, { type: "azure-native:avs/v20220501:Datastore" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Datastore.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Datastore resource. + */ +export interface DatastoreArgs { + /** + * Name of the cluster in the private cloud + */ + clusterName: pulumi.Input; + /** + * Name of the datastore in the private cloud cluster + */ + datastoreName?: pulumi.Input; + /** + * An iSCSI volume + */ + diskPoolVolume?: pulumi.Input; + /** + * An Azure NetApp Files volume + */ + netAppVolume?: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getAddon.ts b/sdk/nodejs/avs/v20230301/getAddon.ts new file mode 100644 index 000000000000..118e54c2293b --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getAddon.ts @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * An addon resource + */ +export function getAddon(args: GetAddonArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getAddon", { + "addonName": args.addonName, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetAddonArgs { + /** + * Name of the addon for the private cloud + */ + addonName: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * An addon resource + */ +export interface GetAddonResult { + /** + * Resource ID. + */ + readonly id: string; + /** + * Resource name. + */ + readonly name: string; + /** + * The properties of an addon resource + */ + readonly properties: outputs.avs.v20230301.AddonArcPropertiesResponse | outputs.avs.v20230301.AddonHcxPropertiesResponse | outputs.avs.v20230301.AddonSrmPropertiesResponse | outputs.avs.v20230301.AddonVrPropertiesResponse; + /** + * Resource type. + */ + readonly type: string; +} +/** + * An addon resource + */ +export function getAddonOutput(args: GetAddonOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getAddon(a, opts)) +} + +export interface GetAddonOutputArgs { + /** + * Name of the addon for the private cloud + */ + addonName: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getAuthorization.ts b/sdk/nodejs/avs/v20230301/getAuthorization.ts new file mode 100644 index 000000000000..20feb6514966 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getAuthorization.ts @@ -0,0 +1,88 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * ExpressRoute Circuit Authorization + */ +export function getAuthorization(args: GetAuthorizationArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getAuthorization", { + "authorizationName": args.authorizationName, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetAuthorizationArgs { + /** + * Name of the ExpressRoute Circuit Authorization in the private cloud + */ + authorizationName: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * ExpressRoute Circuit Authorization + */ +export interface GetAuthorizationResult { + /** + * The ID of the ExpressRoute Circuit Authorization + */ + readonly expressRouteAuthorizationId: string; + /** + * The key of the ExpressRoute Circuit Authorization + */ + readonly expressRouteAuthorizationKey: string; + /** + * The ID of the ExpressRoute Circuit + */ + readonly expressRouteId?: string; + /** + * Resource ID. + */ + readonly id: string; + /** + * Resource name. + */ + readonly name: string; + /** + * The state of the ExpressRoute Circuit Authorization provisioning + */ + readonly provisioningState: string; + /** + * Resource type. + */ + readonly type: string; +} +/** + * ExpressRoute Circuit Authorization + */ +export function getAuthorizationOutput(args: GetAuthorizationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getAuthorization(a, opts)) +} + +export interface GetAuthorizationOutputArgs { + /** + * Name of the ExpressRoute Circuit Authorization in the private cloud + */ + authorizationName: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getCloudLink.ts b/sdk/nodejs/avs/v20230301/getCloudLink.ts new file mode 100644 index 000000000000..5da5ea7b2853 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getCloudLink.ts @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * A cloud link resource + */ +export function getCloudLink(args: GetCloudLinkArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getCloudLink", { + "cloudLinkName": args.cloudLinkName, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetCloudLinkArgs { + /** + * Name of the cloud link resource + */ + cloudLinkName: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * A cloud link resource + */ +export interface GetCloudLinkResult { + /** + * Resource ID. + */ + readonly id: string; + /** + * Identifier of the other private cloud participating in the link. + */ + readonly linkedCloud?: string; + /** + * Resource name. + */ + readonly name: string; + /** + * The state of the cloud link. + */ + readonly status: string; + /** + * Resource type. + */ + readonly type: string; +} +/** + * A cloud link resource + */ +export function getCloudLinkOutput(args: GetCloudLinkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCloudLink(a, opts)) +} + +export interface GetCloudLinkOutputArgs { + /** + * Name of the cloud link resource + */ + cloudLinkName: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getCluster.ts b/sdk/nodejs/avs/v20230301/getCluster.ts new file mode 100644 index 000000000000..e39f70c2a3b0 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getCluster.ts @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * A cluster resource + */ +export function getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getCluster", { + "clusterName": args.clusterName, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetClusterArgs { + /** + * Name of the cluster in the private cloud + */ + clusterName: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * A cluster resource + */ +export interface GetClusterResult { + /** + * The identity + */ + readonly clusterId: number; + /** + * The cluster size + */ + readonly clusterSize?: number; + /** + * The hosts + */ + readonly hosts?: string[]; + /** + * Resource ID. + */ + readonly id: string; + /** + * Resource name. + */ + readonly name: string; + /** + * The state of the cluster provisioning + */ + readonly provisioningState: string; + /** + * The cluster SKU + */ + readonly sku: outputs.avs.v20230301.SkuResponse; + /** + * Resource type. + */ + readonly type: string; +} +/** + * A cluster resource + */ +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCluster(a, opts)) +} + +export interface GetClusterOutputArgs { + /** + * Name of the cluster in the private cloud + */ + clusterName: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getDatastore.ts b/sdk/nodejs/avs/v20230301/getDatastore.ts new file mode 100644 index 000000000000..e06c2d155346 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getDatastore.ts @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * A datastore resource + */ +export function getDatastore(args: GetDatastoreArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getDatastore", { + "clusterName": args.clusterName, + "datastoreName": args.datastoreName, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetDatastoreArgs { + /** + * Name of the cluster in the private cloud + */ + clusterName: string; + /** + * Name of the datastore in the private cloud cluster + */ + datastoreName: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * A datastore resource + */ +export interface GetDatastoreResult { + /** + * An iSCSI volume + */ + readonly diskPoolVolume?: outputs.avs.v20230301.DiskPoolVolumeResponse; + /** + * Resource ID. + */ + readonly id: string; + /** + * Resource name. + */ + readonly name: string; + /** + * An Azure NetApp Files volume + */ + readonly netAppVolume?: outputs.avs.v20230301.NetAppVolumeResponse; + /** + * The state of the datastore provisioning + */ + readonly provisioningState: string; + /** + * The operational status of the datastore + */ + readonly status: string; + /** + * Resource type. + */ + readonly type: string; +} +/** + * A datastore resource + */ +export function getDatastoreOutput(args: GetDatastoreOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDatastore(a, opts)) +} + +export interface GetDatastoreOutputArgs { + /** + * Name of the cluster in the private cloud + */ + clusterName: pulumi.Input; + /** + * Name of the datastore in the private cloud cluster + */ + datastoreName: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getGlobalReachConnection.ts b/sdk/nodejs/avs/v20230301/getGlobalReachConnection.ts new file mode 100644 index 000000000000..9fa69b8064f4 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getGlobalReachConnection.ts @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * A global reach connection resource + */ +export function getGlobalReachConnection(args: GetGlobalReachConnectionArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getGlobalReachConnection", { + "globalReachConnectionName": args.globalReachConnectionName, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetGlobalReachConnectionArgs { + /** + * Name of the global reach connection in the private cloud + */ + globalReachConnectionName: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * A global reach connection resource + */ +export interface GetGlobalReachConnectionResult { + /** + * The network used for global reach carved out from the original network block provided for the private cloud + */ + readonly addressPrefix: string; + /** + * Authorization key from the peer express route used for the global reach connection + */ + readonly authorizationKey?: string; + /** + * The connection status of the global reach connection + */ + readonly circuitConnectionStatus: string; + /** + * The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection + */ + readonly expressRouteId?: string; + /** + * Resource ID. + */ + readonly id: string; + /** + * Resource name. + */ + readonly name: string; + /** + * Identifier of the ExpressRoute Circuit to peer with in the global reach connection + */ + readonly peerExpressRouteCircuit?: string; + /** + * The state of the ExpressRoute Circuit Authorization provisioning + */ + readonly provisioningState: string; + /** + * Resource type. + */ + readonly type: string; +} +/** + * A global reach connection resource + */ +export function getGlobalReachConnectionOutput(args: GetGlobalReachConnectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getGlobalReachConnection(a, opts)) +} + +export interface GetGlobalReachConnectionOutputArgs { + /** + * Name of the global reach connection in the private cloud + */ + globalReachConnectionName: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getHcxEnterpriseSite.ts b/sdk/nodejs/avs/v20230301/getHcxEnterpriseSite.ts new file mode 100644 index 000000000000..059bbcc9759f --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getHcxEnterpriseSite.ts @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * An HCX Enterprise Site resource + */ +export function getHcxEnterpriseSite(args: GetHcxEnterpriseSiteArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getHcxEnterpriseSite", { + "hcxEnterpriseSiteName": args.hcxEnterpriseSiteName, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetHcxEnterpriseSiteArgs { + /** + * Name of the HCX Enterprise Site in the private cloud + */ + hcxEnterpriseSiteName: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * An HCX Enterprise Site resource + */ +export interface GetHcxEnterpriseSiteResult { + /** + * The activation key + */ + readonly activationKey: string; + /** + * Resource ID. + */ + readonly id: string; + /** + * Resource name. + */ + readonly name: string; + /** + * The status of the HCX Enterprise Site + */ + readonly status: string; + /** + * Resource type. + */ + readonly type: string; +} +/** + * An HCX Enterprise Site resource + */ +export function getHcxEnterpriseSiteOutput(args: GetHcxEnterpriseSiteOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getHcxEnterpriseSite(a, opts)) +} + +export interface GetHcxEnterpriseSiteOutputArgs { + /** + * Name of the HCX Enterprise Site in the private cloud + */ + hcxEnterpriseSiteName: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getPlacementPolicy.ts b/sdk/nodejs/avs/v20230301/getPlacementPolicy.ts new file mode 100644 index 000000000000..3df6c3e7a625 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getPlacementPolicy.ts @@ -0,0 +1,88 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * A vSphere Distributed Resource Scheduler (DRS) placement policy + */ +export function getPlacementPolicy(args: GetPlacementPolicyArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getPlacementPolicy", { + "clusterName": args.clusterName, + "placementPolicyName": args.placementPolicyName, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetPlacementPolicyArgs { + /** + * Name of the cluster in the private cloud + */ + clusterName: string; + /** + * Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy + */ + placementPolicyName: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * A vSphere Distributed Resource Scheduler (DRS) placement policy + */ +export interface GetPlacementPolicyResult { + /** + * Resource ID. + */ + readonly id: string; + /** + * Resource name. + */ + readonly name: string; + /** + * placement policy properties + */ + readonly properties: outputs.avs.v20230301.VmHostPlacementPolicyPropertiesResponse | outputs.avs.v20230301.VmVmPlacementPolicyPropertiesResponse; + /** + * Resource type. + */ + readonly type: string; +} +/** + * A vSphere Distributed Resource Scheduler (DRS) placement policy + */ +export function getPlacementPolicyOutput(args: GetPlacementPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getPlacementPolicy(a, opts)) +} + +export interface GetPlacementPolicyOutputArgs { + /** + * Name of the cluster in the private cloud + */ + clusterName: pulumi.Input; + /** + * Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy + */ + placementPolicyName: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getPrivateCloud.ts b/sdk/nodejs/avs/v20230301/getPrivateCloud.ts new file mode 100644 index 000000000000..5b1cab3af050 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getPrivateCloud.ts @@ -0,0 +1,162 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * A private cloud resource + */ +export function getPrivateCloud(args: GetPrivateCloudArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getPrivateCloud", { + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetPrivateCloudArgs { + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * A private cloud resource + */ +export interface GetPrivateCloudResult { + /** + * Properties describing how the cloud is distributed across availability zones + */ + readonly availability?: outputs.avs.v20230301.AvailabilityPropertiesResponse; + /** + * An ExpressRoute Circuit + */ + readonly circuit?: outputs.avs.v20230301.CircuitResponse; + /** + * Customer managed key encryption, can be enabled or disabled + */ + readonly encryption?: outputs.avs.v20230301.EncryptionResponse; + /** + * The endpoints + */ + readonly endpoints: outputs.avs.v20230301.EndpointsResponse; + /** + * Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). + */ + readonly extendedNetworkBlocks?: string[]; + /** + * Array of cloud link IDs from other clouds that connect to this one + */ + readonly externalCloudLinks: string[]; + /** + * Resource ID. + */ + readonly id: string; + /** + * The identity of the private cloud, if configured. + */ + readonly identity?: outputs.avs.v20230301.PrivateCloudIdentityResponse; + /** + * vCenter Single Sign On Identity Sources + */ + readonly identitySources?: outputs.avs.v20230301.IdentitySourceResponse[]; + /** + * Connectivity to internet is enabled or disabled + */ + readonly internet?: string; + /** + * Resource location + */ + readonly location: string; + /** + * The default cluster used for management + */ + readonly managementCluster: outputs.avs.v20230301.ManagementClusterResponse; + /** + * Network used to access vCenter Server and NSX-T Manager + */ + readonly managementNetwork: string; + /** + * Resource name. + */ + readonly name: string; + /** + * The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 + */ + readonly networkBlock: string; + /** + * Flag to indicate whether the private cloud has the quota for provisioned NSX Public IP count raised from 64 to 1024 + */ + readonly nsxPublicIpQuotaRaised: string; + /** + * Thumbprint of the NSX-T Manager SSL certificate + */ + readonly nsxtCertificateThumbprint: string; + /** + * Optionally, set the NSX-T Manager password when the private cloud is created + */ + readonly nsxtPassword?: string; + /** + * Used for virtual machine cold migration, cloning, and snapshot migration + */ + readonly provisioningNetwork: string; + /** + * The provisioning state + */ + readonly provisioningState: string; + /** + * A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud + */ + readonly secondaryCircuit?: outputs.avs.v20230301.CircuitResponse; + /** + * The private cloud SKU + */ + readonly sku: outputs.avs.v20230301.SkuResponse; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Resource type. + */ + readonly type: string; + /** + * Thumbprint of the vCenter Server SSL certificate + */ + readonly vcenterCertificateThumbprint: string; + /** + * Optionally, set the vCenter admin password when the private cloud is created + */ + readonly vcenterPassword?: string; + /** + * Used for live migration of virtual machines + */ + readonly vmotionNetwork: string; +} +/** + * A private cloud resource + */ +export function getPrivateCloudOutput(args: GetPrivateCloudOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getPrivateCloud(a, opts)) +} + +export interface GetPrivateCloudOutputArgs { + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getScriptExecution.ts b/sdk/nodejs/avs/v20230301/getScriptExecution.ts new file mode 100644 index 000000000000..e567390ba0f5 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getScriptExecution.ts @@ -0,0 +1,135 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * An instance of a script executed by a user - custom or AVS + */ +export function getScriptExecution(args: GetScriptExecutionArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getScriptExecution", { + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + "scriptExecutionName": args.scriptExecutionName, + }, opts); +} + +export interface GetScriptExecutionArgs { + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * Name of the user-invoked script execution resource + */ + scriptExecutionName: string; +} + +/** + * An instance of a script executed by a user - custom or AVS + */ +export interface GetScriptExecutionResult { + /** + * Standard error output stream from the powershell execution + */ + readonly errors: string[]; + /** + * Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + */ + readonly failureReason?: string; + /** + * Time the script execution was finished + */ + readonly finishedAt: string; + /** + * Parameters that will be hidden/not visible to ARM, such as passwords and credentials + */ + readonly hiddenParameters?: (outputs.avs.v20230301.PSCredentialExecutionParameterResponse | outputs.avs.v20230301.ScriptSecureStringExecutionParameterResponse | outputs.avs.v20230301.ScriptStringExecutionParameterResponse)[]; + /** + * Resource ID. + */ + readonly id: string; + /** + * Standard information out stream from the powershell execution + */ + readonly information: string[]; + /** + * Resource name. + */ + readonly name: string; + /** + * User-defined dictionary. + */ + readonly namedOutputs?: {[key: string]: any}; + /** + * Standard output stream from the powershell execution + */ + readonly output?: string[]; + /** + * Parameters the script will accept + */ + readonly parameters?: (outputs.avs.v20230301.PSCredentialExecutionParameterResponse | outputs.avs.v20230301.ScriptSecureStringExecutionParameterResponse | outputs.avs.v20230301.ScriptStringExecutionParameterResponse)[]; + /** + * The state of the script execution resource + */ + readonly provisioningState: string; + /** + * Time to live for the resource. If not provided, will be available for 60 days + */ + readonly retention?: string; + /** + * A reference to the script cmdlet resource if user is running a AVS script + */ + readonly scriptCmdletId?: string; + /** + * Time the script execution was started + */ + readonly startedAt: string; + /** + * Time the script execution was submitted + */ + readonly submittedAt: string; + /** + * Time limit for execution + */ + readonly timeout: string; + /** + * Resource type. + */ + readonly type: string; + /** + * Standard warning out stream from the powershell execution + */ + readonly warnings: string[]; +} +/** + * An instance of a script executed by a user - custom or AVS + */ +export function getScriptExecutionOutput(args: GetScriptExecutionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getScriptExecution(a, opts)) +} + +export interface GetScriptExecutionOutputArgs { + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Name of the user-invoked script execution resource + */ + scriptExecutionName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getScriptExecutionLogs.ts b/sdk/nodejs/avs/v20230301/getScriptExecutionLogs.ts new file mode 100644 index 000000000000..a83de96627d7 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getScriptExecutionLogs.ts @@ -0,0 +1,135 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Return the logs for a script execution resource + */ +export function getScriptExecutionLogs(args: GetScriptExecutionLogsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getScriptExecutionLogs", { + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + "scriptExecutionName": args.scriptExecutionName, + }, opts); +} + +export interface GetScriptExecutionLogsArgs { + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * Name of the user-invoked script execution resource + */ + scriptExecutionName: string; +} + +/** + * An instance of a script executed by a user - custom or AVS + */ +export interface GetScriptExecutionLogsResult { + /** + * Standard error output stream from the powershell execution + */ + readonly errors: string[]; + /** + * Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + */ + readonly failureReason?: string; + /** + * Time the script execution was finished + */ + readonly finishedAt: string; + /** + * Parameters that will be hidden/not visible to ARM, such as passwords and credentials + */ + readonly hiddenParameters?: (outputs.avs.v20230301.PSCredentialExecutionParameterResponse | outputs.avs.v20230301.ScriptSecureStringExecutionParameterResponse | outputs.avs.v20230301.ScriptStringExecutionParameterResponse)[]; + /** + * Resource ID. + */ + readonly id: string; + /** + * Standard information out stream from the powershell execution + */ + readonly information: string[]; + /** + * Resource name. + */ + readonly name: string; + /** + * User-defined dictionary. + */ + readonly namedOutputs?: {[key: string]: any}; + /** + * Standard output stream from the powershell execution + */ + readonly output?: string[]; + /** + * Parameters the script will accept + */ + readonly parameters?: (outputs.avs.v20230301.PSCredentialExecutionParameterResponse | outputs.avs.v20230301.ScriptSecureStringExecutionParameterResponse | outputs.avs.v20230301.ScriptStringExecutionParameterResponse)[]; + /** + * The state of the script execution resource + */ + readonly provisioningState: string; + /** + * Time to live for the resource. If not provided, will be available for 60 days + */ + readonly retention?: string; + /** + * A reference to the script cmdlet resource if user is running a AVS script + */ + readonly scriptCmdletId?: string; + /** + * Time the script execution was started + */ + readonly startedAt: string; + /** + * Time the script execution was submitted + */ + readonly submittedAt: string; + /** + * Time limit for execution + */ + readonly timeout: string; + /** + * Resource type. + */ + readonly type: string; + /** + * Standard warning out stream from the powershell execution + */ + readonly warnings: string[]; +} +/** + * Return the logs for a script execution resource + */ +export function getScriptExecutionLogsOutput(args: GetScriptExecutionLogsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getScriptExecutionLogs(a, opts)) +} + +export interface GetScriptExecutionLogsOutputArgs { + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Name of the user-invoked script execution resource + */ + scriptExecutionName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getWorkloadNetworkDhcp.ts b/sdk/nodejs/avs/v20230301/getWorkloadNetworkDhcp.ts new file mode 100644 index 000000000000..7a5dbe8f3330 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getWorkloadNetworkDhcp.ts @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * NSX DHCP + */ +export function getWorkloadNetworkDhcp(args: GetWorkloadNetworkDhcpArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getWorkloadNetworkDhcp", { + "dhcpId": args.dhcpId, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetWorkloadNetworkDhcpArgs { + /** + * NSX DHCP identifier. Generally the same as the DHCP display name + */ + dhcpId: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * NSX DHCP + */ +export interface GetWorkloadNetworkDhcpResult { + /** + * Resource ID. + */ + readonly id: string; + /** + * Resource name. + */ + readonly name: string; + /** + * DHCP properties. + */ + readonly properties: outputs.avs.v20230301.WorkloadNetworkDhcpRelayResponse | outputs.avs.v20230301.WorkloadNetworkDhcpServerResponse; + /** + * Resource type. + */ + readonly type: string; +} +/** + * NSX DHCP + */ +export function getWorkloadNetworkDhcpOutput(args: GetWorkloadNetworkDhcpOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getWorkloadNetworkDhcp(a, opts)) +} + +export interface GetWorkloadNetworkDhcpOutputArgs { + /** + * NSX DHCP identifier. Generally the same as the DHCP display name + */ + dhcpId: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getWorkloadNetworkDnsService.ts b/sdk/nodejs/avs/v20230301/getWorkloadNetworkDnsService.ts new file mode 100644 index 000000000000..944e68ae9800 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getWorkloadNetworkDnsService.ts @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * NSX DNS Service + */ +export function getWorkloadNetworkDnsService(args: GetWorkloadNetworkDnsServiceArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getWorkloadNetworkDnsService", { + "dnsServiceId": args.dnsServiceId, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetWorkloadNetworkDnsServiceArgs { + /** + * NSX DNS Service identifier. Generally the same as the DNS Service's display name + */ + dnsServiceId: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * NSX DNS Service + */ +export interface GetWorkloadNetworkDnsServiceResult { + /** + * Default DNS zone of the DNS Service. + */ + readonly defaultDnsZone?: string; + /** + * Display name of the DNS Service. + */ + readonly displayName?: string; + /** + * DNS service IP of the DNS Service. + */ + readonly dnsServiceIp?: string; + /** + * FQDN zones of the DNS Service. + */ + readonly fqdnZones?: string[]; + /** + * Resource ID. + */ + readonly id: string; + /** + * DNS Service log level. + */ + readonly logLevel?: string; + /** + * Resource name. + */ + readonly name: string; + /** + * The provisioning state + */ + readonly provisioningState: string; + /** + * NSX revision number. + */ + readonly revision?: number; + /** + * DNS Service status. + */ + readonly status: string; + /** + * Resource type. + */ + readonly type: string; +} +/** + * NSX DNS Service + */ +export function getWorkloadNetworkDnsServiceOutput(args: GetWorkloadNetworkDnsServiceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getWorkloadNetworkDnsService(a, opts)) +} + +export interface GetWorkloadNetworkDnsServiceOutputArgs { + /** + * NSX DNS Service identifier. Generally the same as the DNS Service's display name + */ + dnsServiceId: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getWorkloadNetworkDnsZone.ts b/sdk/nodejs/avs/v20230301/getWorkloadNetworkDnsZone.ts new file mode 100644 index 000000000000..9d3a533aedd5 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getWorkloadNetworkDnsZone.ts @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * NSX DNS Zone + */ +export function getWorkloadNetworkDnsZone(args: GetWorkloadNetworkDnsZoneArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getWorkloadNetworkDnsZone", { + "dnsZoneId": args.dnsZoneId, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetWorkloadNetworkDnsZoneArgs { + /** + * NSX DNS Zone identifier. Generally the same as the DNS Zone's display name + */ + dnsZoneId: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * NSX DNS Zone + */ +export interface GetWorkloadNetworkDnsZoneResult { + /** + * Display name of the DNS Zone. + */ + readonly displayName?: string; + /** + * DNS Server IP array of the DNS Zone. + */ + readonly dnsServerIps?: string[]; + /** + * Number of DNS Services using the DNS zone. + */ + readonly dnsServices?: number; + /** + * Domain names of the DNS Zone. + */ + readonly domain?: string[]; + /** + * Resource ID. + */ + readonly id: string; + /** + * Resource name. + */ + readonly name: string; + /** + * The provisioning state + */ + readonly provisioningState: string; + /** + * NSX revision number. + */ + readonly revision?: number; + /** + * Source IP of the DNS Zone. + */ + readonly sourceIp?: string; + /** + * Resource type. + */ + readonly type: string; +} +/** + * NSX DNS Zone + */ +export function getWorkloadNetworkDnsZoneOutput(args: GetWorkloadNetworkDnsZoneOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getWorkloadNetworkDnsZone(a, opts)) +} + +export interface GetWorkloadNetworkDnsZoneOutputArgs { + /** + * NSX DNS Zone identifier. Generally the same as the DNS Zone's display name + */ + dnsZoneId: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getWorkloadNetworkPortMirroring.ts b/sdk/nodejs/avs/v20230301/getWorkloadNetworkPortMirroring.ts new file mode 100644 index 000000000000..966c9a97c9a5 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getWorkloadNetworkPortMirroring.ts @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * NSX Port Mirroring + */ +export function getWorkloadNetworkPortMirroring(args: GetWorkloadNetworkPortMirroringArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getWorkloadNetworkPortMirroring", { + "portMirroringId": args.portMirroringId, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetWorkloadNetworkPortMirroringArgs { + /** + * NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name + */ + portMirroringId: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * NSX Port Mirroring + */ +export interface GetWorkloadNetworkPortMirroringResult { + /** + * Destination VM Group. + */ + readonly destination?: string; + /** + * Direction of port mirroring profile. + */ + readonly direction?: string; + /** + * Display name of the port mirroring profile. + */ + readonly displayName?: string; + /** + * Resource ID. + */ + readonly id: string; + /** + * Resource name. + */ + readonly name: string; + /** + * The provisioning state + */ + readonly provisioningState: string; + /** + * NSX revision number. + */ + readonly revision?: number; + /** + * Source VM Group. + */ + readonly source?: string; + /** + * Port Mirroring Status. + */ + readonly status: string; + /** + * Resource type. + */ + readonly type: string; +} +/** + * NSX Port Mirroring + */ +export function getWorkloadNetworkPortMirroringOutput(args: GetWorkloadNetworkPortMirroringOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getWorkloadNetworkPortMirroring(a, opts)) +} + +export interface GetWorkloadNetworkPortMirroringOutputArgs { + /** + * NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name + */ + portMirroringId: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getWorkloadNetworkPublicIP.ts b/sdk/nodejs/avs/v20230301/getWorkloadNetworkPublicIP.ts new file mode 100644 index 000000000000..d5f43b1f08f1 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getWorkloadNetworkPublicIP.ts @@ -0,0 +1,88 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * NSX Public IP Block + */ +export function getWorkloadNetworkPublicIP(args: GetWorkloadNetworkPublicIPArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getWorkloadNetworkPublicIP", { + "privateCloudName": args.privateCloudName, + "publicIPId": args.publicIPId, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetWorkloadNetworkPublicIPArgs { + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * NSX Public IP Block identifier. Generally the same as the Public IP Block's display name + */ + publicIPId: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * NSX Public IP Block + */ +export interface GetWorkloadNetworkPublicIPResult { + /** + * Display name of the Public IP Block. + */ + readonly displayName?: string; + /** + * Resource ID. + */ + readonly id: string; + /** + * Resource name. + */ + readonly name: string; + /** + * Number of Public IPs requested. + */ + readonly numberOfPublicIPs?: number; + /** + * The provisioning state + */ + readonly provisioningState: string; + /** + * CIDR Block of the Public IP Block. + */ + readonly publicIPBlock: string; + /** + * Resource type. + */ + readonly type: string; +} +/** + * NSX Public IP Block + */ +export function getWorkloadNetworkPublicIPOutput(args: GetWorkloadNetworkPublicIPOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getWorkloadNetworkPublicIP(a, opts)) +} + +export interface GetWorkloadNetworkPublicIPOutputArgs { + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * NSX Public IP Block identifier. Generally the same as the Public IP Block's display name + */ + publicIPId: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getWorkloadNetworkSegment.ts b/sdk/nodejs/avs/v20230301/getWorkloadNetworkSegment.ts new file mode 100644 index 000000000000..c5a3053c1a6b --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getWorkloadNetworkSegment.ts @@ -0,0 +1,103 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * NSX Segment + */ +export function getWorkloadNetworkSegment(args: GetWorkloadNetworkSegmentArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getWorkloadNetworkSegment", { + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + "segmentId": args.segmentId, + }, opts); +} + +export interface GetWorkloadNetworkSegmentArgs { + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * NSX Segment identifier. Generally the same as the Segment's display name + */ + segmentId: string; +} + +/** + * NSX Segment + */ +export interface GetWorkloadNetworkSegmentResult { + /** + * Gateway which to connect segment to. + */ + readonly connectedGateway?: string; + /** + * Display name of the segment. + */ + readonly displayName?: string; + /** + * Resource ID. + */ + readonly id: string; + /** + * Resource name. + */ + readonly name: string; + /** + * Port Vif which segment is associated with. + */ + readonly portVif: outputs.avs.v20230301.WorkloadNetworkSegmentPortVifResponse[]; + /** + * The provisioning state + */ + readonly provisioningState: string; + /** + * NSX revision number. + */ + readonly revision?: number; + /** + * Segment status. + */ + readonly status: string; + /** + * Subnet which to connect segment to. + */ + readonly subnet?: outputs.avs.v20230301.WorkloadNetworkSegmentSubnetResponse; + /** + * Resource type. + */ + readonly type: string; +} +/** + * NSX Segment + */ +export function getWorkloadNetworkSegmentOutput(args: GetWorkloadNetworkSegmentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getWorkloadNetworkSegment(a, opts)) +} + +export interface GetWorkloadNetworkSegmentOutputArgs { + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * NSX Segment identifier. Generally the same as the Segment's display name + */ + segmentId: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/getWorkloadNetworkVMGroup.ts b/sdk/nodejs/avs/v20230301/getWorkloadNetworkVMGroup.ts new file mode 100644 index 000000000000..7905502f051e --- /dev/null +++ b/sdk/nodejs/avs/v20230301/getWorkloadNetworkVMGroup.ts @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * NSX VM Group + */ +export function getWorkloadNetworkVMGroup(args: GetWorkloadNetworkVMGroupArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:getWorkloadNetworkVMGroup", { + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + "vmGroupId": args.vmGroupId, + }, opts); +} + +export interface GetWorkloadNetworkVMGroupArgs { + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * NSX VM Group identifier. Generally the same as the VM Group's display name + */ + vmGroupId: string; +} + +/** + * NSX VM Group + */ +export interface GetWorkloadNetworkVMGroupResult { + /** + * Display name of the VM group. + */ + readonly displayName?: string; + /** + * Resource ID. + */ + readonly id: string; + /** + * Virtual machine members of this group. + */ + readonly members?: string[]; + /** + * Resource name. + */ + readonly name: string; + /** + * The provisioning state + */ + readonly provisioningState: string; + /** + * NSX revision number. + */ + readonly revision?: number; + /** + * VM Group status. + */ + readonly status: string; + /** + * Resource type. + */ + readonly type: string; +} +/** + * NSX VM Group + */ +export function getWorkloadNetworkVMGroupOutput(args: GetWorkloadNetworkVMGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getWorkloadNetworkVMGroup(a, opts)) +} + +export interface GetWorkloadNetworkVMGroupOutputArgs { + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * NSX VM Group identifier. Generally the same as the VM Group's display name + */ + vmGroupId: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/globalReachConnection.ts b/sdk/nodejs/avs/v20230301/globalReachConnection.ts new file mode 100644 index 000000000000..a5f12f7d2575 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/globalReachConnection.ts @@ -0,0 +1,143 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * A global reach connection resource + */ +export class GlobalReachConnection extends pulumi.CustomResource { + /** + * Get an existing GlobalReachConnection 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): GlobalReachConnection { + return new GlobalReachConnection(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:GlobalReachConnection'; + + /** + * Returns true if the given object is an instance of GlobalReachConnection. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is GlobalReachConnection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === GlobalReachConnection.__pulumiType; + } + + /** + * The network used for global reach carved out from the original network block provided for the private cloud + */ + public /*out*/ readonly addressPrefix!: pulumi.Output; + /** + * Authorization key from the peer express route used for the global reach connection + */ + public readonly authorizationKey!: pulumi.Output; + /** + * The connection status of the global reach connection + */ + public /*out*/ readonly circuitConnectionStatus!: pulumi.Output; + /** + * The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection + */ + public readonly expressRouteId!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Identifier of the ExpressRoute Circuit to peer with in the global reach connection + */ + public readonly peerExpressRouteCircuit!: pulumi.Output; + /** + * The state of the ExpressRoute Circuit Authorization provisioning + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a GlobalReachConnection 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: GlobalReachConnectionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["authorizationKey"] = args ? args.authorizationKey : undefined; + resourceInputs["expressRouteId"] = args ? args.expressRouteId : undefined; + resourceInputs["globalReachConnectionName"] = args ? args.globalReachConnectionName : undefined; + resourceInputs["peerExpressRouteCircuit"] = args ? args.peerExpressRouteCircuit : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["addressPrefix"] = undefined /*out*/; + resourceInputs["circuitConnectionStatus"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["addressPrefix"] = undefined /*out*/; + resourceInputs["authorizationKey"] = undefined /*out*/; + resourceInputs["circuitConnectionStatus"] = undefined /*out*/; + resourceInputs["expressRouteId"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["peerExpressRouteCircuit"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:GlobalReachConnection" }, { type: "azure-native:avs/v20200717preview:GlobalReachConnection" }, { type: "azure-native:avs/v20210101preview:GlobalReachConnection" }, { type: "azure-native:avs/v20210601:GlobalReachConnection" }, { type: "azure-native:avs/v20211201:GlobalReachConnection" }, { type: "azure-native:avs/v20220501:GlobalReachConnection" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(GlobalReachConnection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a GlobalReachConnection resource. + */ +export interface GlobalReachConnectionArgs { + /** + * Authorization key from the peer express route used for the global reach connection + */ + authorizationKey?: pulumi.Input; + /** + * The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection + */ + expressRouteId?: pulumi.Input; + /** + * Name of the global reach connection in the private cloud + */ + globalReachConnectionName?: pulumi.Input; + /** + * Identifier of the ExpressRoute Circuit to peer with in the global reach connection + */ + peerExpressRouteCircuit?: pulumi.Input; + /** + * The name of the private cloud. + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/hcxEnterpriseSite.ts b/sdk/nodejs/avs/v20230301/hcxEnterpriseSite.ts new file mode 100644 index 000000000000..08810306a892 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/hcxEnterpriseSite.ts @@ -0,0 +1,107 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * An HCX Enterprise Site resource + */ +export class HcxEnterpriseSite extends pulumi.CustomResource { + /** + * Get an existing HcxEnterpriseSite 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): HcxEnterpriseSite { + return new HcxEnterpriseSite(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:HcxEnterpriseSite'; + + /** + * Returns true if the given object is an instance of HcxEnterpriseSite. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is HcxEnterpriseSite { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === HcxEnterpriseSite.__pulumiType; + } + + /** + * The activation key + */ + public /*out*/ readonly activationKey!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The status of the HCX Enterprise Site + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a HcxEnterpriseSite 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: HcxEnterpriseSiteArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["hcxEnterpriseSiteName"] = args ? args.hcxEnterpriseSiteName : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["activationKey"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["activationKey"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:HcxEnterpriseSite" }, { type: "azure-native:avs/v20200320:HcxEnterpriseSite" }, { type: "azure-native:avs/v20200717preview:HcxEnterpriseSite" }, { type: "azure-native:avs/v20210101preview:HcxEnterpriseSite" }, { type: "azure-native:avs/v20210601:HcxEnterpriseSite" }, { type: "azure-native:avs/v20211201:HcxEnterpriseSite" }, { type: "azure-native:avs/v20220501:HcxEnterpriseSite" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(HcxEnterpriseSite.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a HcxEnterpriseSite resource. + */ +export interface HcxEnterpriseSiteArgs { + /** + * Name of the HCX Enterprise Site in the private cloud + */ + hcxEnterpriseSiteName?: pulumi.Input; + /** + * The name of the private cloud. + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/index.ts b/sdk/nodejs/avs/v20230301/index.ts new file mode 100644 index 000000000000..5bd25ef8c9c9 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/index.ts @@ -0,0 +1,240 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { AddonArgs } from "./addon"; +export type Addon = import("./addon").Addon; +export const Addon: typeof import("./addon").Addon = null as any; +utilities.lazyLoad(exports, ["Addon"], () => require("./addon")); + +export { AuthorizationArgs } from "./authorization"; +export type Authorization = import("./authorization").Authorization; +export const Authorization: typeof import("./authorization").Authorization = null as any; +utilities.lazyLoad(exports, ["Authorization"], () => require("./authorization")); + +export { CloudLinkArgs } from "./cloudLink"; +export type CloudLink = import("./cloudLink").CloudLink; +export const CloudLink: typeof import("./cloudLink").CloudLink = null as any; +utilities.lazyLoad(exports, ["CloudLink"], () => require("./cloudLink")); + +export { ClusterArgs } from "./cluster"; +export type Cluster = import("./cluster").Cluster; +export const Cluster: typeof import("./cluster").Cluster = null as any; +utilities.lazyLoad(exports, ["Cluster"], () => require("./cluster")); + +export { DatastoreArgs } from "./datastore"; +export type Datastore = import("./datastore").Datastore; +export const Datastore: typeof import("./datastore").Datastore = null as any; +utilities.lazyLoad(exports, ["Datastore"], () => require("./datastore")); + +export { GetAddonArgs, GetAddonResult, GetAddonOutputArgs } from "./getAddon"; +export const getAddon: typeof import("./getAddon").getAddon = null as any; +export const getAddonOutput: typeof import("./getAddon").getAddonOutput = null as any; +utilities.lazyLoad(exports, ["getAddon","getAddonOutput"], () => require("./getAddon")); + +export { GetAuthorizationArgs, GetAuthorizationResult, GetAuthorizationOutputArgs } from "./getAuthorization"; +export const getAuthorization: typeof import("./getAuthorization").getAuthorization = null as any; +export const getAuthorizationOutput: typeof import("./getAuthorization").getAuthorizationOutput = null as any; +utilities.lazyLoad(exports, ["getAuthorization","getAuthorizationOutput"], () => require("./getAuthorization")); + +export { GetCloudLinkArgs, GetCloudLinkResult, GetCloudLinkOutputArgs } from "./getCloudLink"; +export const getCloudLink: typeof import("./getCloudLink").getCloudLink = null as any; +export const getCloudLinkOutput: typeof import("./getCloudLink").getCloudLinkOutput = null as any; +utilities.lazyLoad(exports, ["getCloudLink","getCloudLinkOutput"], () => require("./getCloudLink")); + +export { GetClusterArgs, GetClusterResult, GetClusterOutputArgs } from "./getCluster"; +export const getCluster: typeof import("./getCluster").getCluster = null as any; +export const getClusterOutput: typeof import("./getCluster").getClusterOutput = null as any; +utilities.lazyLoad(exports, ["getCluster","getClusterOutput"], () => require("./getCluster")); + +export { GetDatastoreArgs, GetDatastoreResult, GetDatastoreOutputArgs } from "./getDatastore"; +export const getDatastore: typeof import("./getDatastore").getDatastore = null as any; +export const getDatastoreOutput: typeof import("./getDatastore").getDatastoreOutput = null as any; +utilities.lazyLoad(exports, ["getDatastore","getDatastoreOutput"], () => require("./getDatastore")); + +export { GetGlobalReachConnectionArgs, GetGlobalReachConnectionResult, GetGlobalReachConnectionOutputArgs } from "./getGlobalReachConnection"; +export const getGlobalReachConnection: typeof import("./getGlobalReachConnection").getGlobalReachConnection = null as any; +export const getGlobalReachConnectionOutput: typeof import("./getGlobalReachConnection").getGlobalReachConnectionOutput = null as any; +utilities.lazyLoad(exports, ["getGlobalReachConnection","getGlobalReachConnectionOutput"], () => require("./getGlobalReachConnection")); + +export { GetHcxEnterpriseSiteArgs, GetHcxEnterpriseSiteResult, GetHcxEnterpriseSiteOutputArgs } from "./getHcxEnterpriseSite"; +export const getHcxEnterpriseSite: typeof import("./getHcxEnterpriseSite").getHcxEnterpriseSite = null as any; +export const getHcxEnterpriseSiteOutput: typeof import("./getHcxEnterpriseSite").getHcxEnterpriseSiteOutput = null as any; +utilities.lazyLoad(exports, ["getHcxEnterpriseSite","getHcxEnterpriseSiteOutput"], () => require("./getHcxEnterpriseSite")); + +export { GetPlacementPolicyArgs, GetPlacementPolicyResult, GetPlacementPolicyOutputArgs } from "./getPlacementPolicy"; +export const getPlacementPolicy: typeof import("./getPlacementPolicy").getPlacementPolicy = null as any; +export const getPlacementPolicyOutput: typeof import("./getPlacementPolicy").getPlacementPolicyOutput = null as any; +utilities.lazyLoad(exports, ["getPlacementPolicy","getPlacementPolicyOutput"], () => require("./getPlacementPolicy")); + +export { GetPrivateCloudArgs, GetPrivateCloudResult, GetPrivateCloudOutputArgs } from "./getPrivateCloud"; +export const getPrivateCloud: typeof import("./getPrivateCloud").getPrivateCloud = null as any; +export const getPrivateCloudOutput: typeof import("./getPrivateCloud").getPrivateCloudOutput = null as any; +utilities.lazyLoad(exports, ["getPrivateCloud","getPrivateCloudOutput"], () => require("./getPrivateCloud")); + +export { GetScriptExecutionArgs, GetScriptExecutionResult, GetScriptExecutionOutputArgs } from "./getScriptExecution"; +export const getScriptExecution: typeof import("./getScriptExecution").getScriptExecution = null as any; +export const getScriptExecutionOutput: typeof import("./getScriptExecution").getScriptExecutionOutput = null as any; +utilities.lazyLoad(exports, ["getScriptExecution","getScriptExecutionOutput"], () => require("./getScriptExecution")); + +export { GetScriptExecutionLogsArgs, GetScriptExecutionLogsResult, GetScriptExecutionLogsOutputArgs } from "./getScriptExecutionLogs"; +export const getScriptExecutionLogs: typeof import("./getScriptExecutionLogs").getScriptExecutionLogs = null as any; +export const getScriptExecutionLogsOutput: typeof import("./getScriptExecutionLogs").getScriptExecutionLogsOutput = null as any; +utilities.lazyLoad(exports, ["getScriptExecutionLogs","getScriptExecutionLogsOutput"], () => require("./getScriptExecutionLogs")); + +export { GetWorkloadNetworkDhcpArgs, GetWorkloadNetworkDhcpResult, GetWorkloadNetworkDhcpOutputArgs } from "./getWorkloadNetworkDhcp"; +export const getWorkloadNetworkDhcp: typeof import("./getWorkloadNetworkDhcp").getWorkloadNetworkDhcp = null as any; +export const getWorkloadNetworkDhcpOutput: typeof import("./getWorkloadNetworkDhcp").getWorkloadNetworkDhcpOutput = null as any; +utilities.lazyLoad(exports, ["getWorkloadNetworkDhcp","getWorkloadNetworkDhcpOutput"], () => require("./getWorkloadNetworkDhcp")); + +export { GetWorkloadNetworkDnsServiceArgs, GetWorkloadNetworkDnsServiceResult, GetWorkloadNetworkDnsServiceOutputArgs } from "./getWorkloadNetworkDnsService"; +export const getWorkloadNetworkDnsService: typeof import("./getWorkloadNetworkDnsService").getWorkloadNetworkDnsService = null as any; +export const getWorkloadNetworkDnsServiceOutput: typeof import("./getWorkloadNetworkDnsService").getWorkloadNetworkDnsServiceOutput = null as any; +utilities.lazyLoad(exports, ["getWorkloadNetworkDnsService","getWorkloadNetworkDnsServiceOutput"], () => require("./getWorkloadNetworkDnsService")); + +export { GetWorkloadNetworkDnsZoneArgs, GetWorkloadNetworkDnsZoneResult, GetWorkloadNetworkDnsZoneOutputArgs } from "./getWorkloadNetworkDnsZone"; +export const getWorkloadNetworkDnsZone: typeof import("./getWorkloadNetworkDnsZone").getWorkloadNetworkDnsZone = null as any; +export const getWorkloadNetworkDnsZoneOutput: typeof import("./getWorkloadNetworkDnsZone").getWorkloadNetworkDnsZoneOutput = null as any; +utilities.lazyLoad(exports, ["getWorkloadNetworkDnsZone","getWorkloadNetworkDnsZoneOutput"], () => require("./getWorkloadNetworkDnsZone")); + +export { GetWorkloadNetworkPortMirroringArgs, GetWorkloadNetworkPortMirroringResult, GetWorkloadNetworkPortMirroringOutputArgs } from "./getWorkloadNetworkPortMirroring"; +export const getWorkloadNetworkPortMirroring: typeof import("./getWorkloadNetworkPortMirroring").getWorkloadNetworkPortMirroring = null as any; +export const getWorkloadNetworkPortMirroringOutput: typeof import("./getWorkloadNetworkPortMirroring").getWorkloadNetworkPortMirroringOutput = null as any; +utilities.lazyLoad(exports, ["getWorkloadNetworkPortMirroring","getWorkloadNetworkPortMirroringOutput"], () => require("./getWorkloadNetworkPortMirroring")); + +export { GetWorkloadNetworkPublicIPArgs, GetWorkloadNetworkPublicIPResult, GetWorkloadNetworkPublicIPOutputArgs } from "./getWorkloadNetworkPublicIP"; +export const getWorkloadNetworkPublicIP: typeof import("./getWorkloadNetworkPublicIP").getWorkloadNetworkPublicIP = null as any; +export const getWorkloadNetworkPublicIPOutput: typeof import("./getWorkloadNetworkPublicIP").getWorkloadNetworkPublicIPOutput = null as any; +utilities.lazyLoad(exports, ["getWorkloadNetworkPublicIP","getWorkloadNetworkPublicIPOutput"], () => require("./getWorkloadNetworkPublicIP")); + +export { GetWorkloadNetworkSegmentArgs, GetWorkloadNetworkSegmentResult, GetWorkloadNetworkSegmentOutputArgs } from "./getWorkloadNetworkSegment"; +export const getWorkloadNetworkSegment: typeof import("./getWorkloadNetworkSegment").getWorkloadNetworkSegment = null as any; +export const getWorkloadNetworkSegmentOutput: typeof import("./getWorkloadNetworkSegment").getWorkloadNetworkSegmentOutput = null as any; +utilities.lazyLoad(exports, ["getWorkloadNetworkSegment","getWorkloadNetworkSegmentOutput"], () => require("./getWorkloadNetworkSegment")); + +export { GetWorkloadNetworkVMGroupArgs, GetWorkloadNetworkVMGroupResult, GetWorkloadNetworkVMGroupOutputArgs } from "./getWorkloadNetworkVMGroup"; +export const getWorkloadNetworkVMGroup: typeof import("./getWorkloadNetworkVMGroup").getWorkloadNetworkVMGroup = null as any; +export const getWorkloadNetworkVMGroupOutput: typeof import("./getWorkloadNetworkVMGroup").getWorkloadNetworkVMGroupOutput = null as any; +utilities.lazyLoad(exports, ["getWorkloadNetworkVMGroup","getWorkloadNetworkVMGroupOutput"], () => require("./getWorkloadNetworkVMGroup")); + +export { GlobalReachConnectionArgs } from "./globalReachConnection"; +export type GlobalReachConnection = import("./globalReachConnection").GlobalReachConnection; +export const GlobalReachConnection: typeof import("./globalReachConnection").GlobalReachConnection = null as any; +utilities.lazyLoad(exports, ["GlobalReachConnection"], () => require("./globalReachConnection")); + +export { HcxEnterpriseSiteArgs } from "./hcxEnterpriseSite"; +export type HcxEnterpriseSite = import("./hcxEnterpriseSite").HcxEnterpriseSite; +export const HcxEnterpriseSite: typeof import("./hcxEnterpriseSite").HcxEnterpriseSite = null as any; +utilities.lazyLoad(exports, ["HcxEnterpriseSite"], () => require("./hcxEnterpriseSite")); + +export { ListClusterZonesArgs, ListClusterZonesResult, ListClusterZonesOutputArgs } from "./listClusterZones"; +export const listClusterZones: typeof import("./listClusterZones").listClusterZones = null as any; +export const listClusterZonesOutput: typeof import("./listClusterZones").listClusterZonesOutput = null as any; +utilities.lazyLoad(exports, ["listClusterZones","listClusterZonesOutput"], () => require("./listClusterZones")); + +export { ListPrivateCloudAdminCredentialsArgs, ListPrivateCloudAdminCredentialsResult, ListPrivateCloudAdminCredentialsOutputArgs } from "./listPrivateCloudAdminCredentials"; +export const listPrivateCloudAdminCredentials: typeof import("./listPrivateCloudAdminCredentials").listPrivateCloudAdminCredentials = null as any; +export const listPrivateCloudAdminCredentialsOutput: typeof import("./listPrivateCloudAdminCredentials").listPrivateCloudAdminCredentialsOutput = null as any; +utilities.lazyLoad(exports, ["listPrivateCloudAdminCredentials","listPrivateCloudAdminCredentialsOutput"], () => require("./listPrivateCloudAdminCredentials")); + +export { PlacementPolicyArgs } from "./placementPolicy"; +export type PlacementPolicy = import("./placementPolicy").PlacementPolicy; +export const PlacementPolicy: typeof import("./placementPolicy").PlacementPolicy = null as any; +utilities.lazyLoad(exports, ["PlacementPolicy"], () => require("./placementPolicy")); + +export { PrivateCloudArgs } from "./privateCloud"; +export type PrivateCloud = import("./privateCloud").PrivateCloud; +export const PrivateCloud: typeof import("./privateCloud").PrivateCloud = null as any; +utilities.lazyLoad(exports, ["PrivateCloud"], () => require("./privateCloud")); + +export { ScriptExecutionArgs } from "./scriptExecution"; +export type ScriptExecution = import("./scriptExecution").ScriptExecution; +export const ScriptExecution: typeof import("./scriptExecution").ScriptExecution = null as any; +utilities.lazyLoad(exports, ["ScriptExecution"], () => require("./scriptExecution")); + +export { WorkloadNetworkDhcpArgs } from "./workloadNetworkDhcp"; +export type WorkloadNetworkDhcp = import("./workloadNetworkDhcp").WorkloadNetworkDhcp; +export const WorkloadNetworkDhcp: typeof import("./workloadNetworkDhcp").WorkloadNetworkDhcp = null as any; +utilities.lazyLoad(exports, ["WorkloadNetworkDhcp"], () => require("./workloadNetworkDhcp")); + +export { WorkloadNetworkDnsServiceArgs } from "./workloadNetworkDnsService"; +export type WorkloadNetworkDnsService = import("./workloadNetworkDnsService").WorkloadNetworkDnsService; +export const WorkloadNetworkDnsService: typeof import("./workloadNetworkDnsService").WorkloadNetworkDnsService = null as any; +utilities.lazyLoad(exports, ["WorkloadNetworkDnsService"], () => require("./workloadNetworkDnsService")); + +export { WorkloadNetworkDnsZoneArgs } from "./workloadNetworkDnsZone"; +export type WorkloadNetworkDnsZone = import("./workloadNetworkDnsZone").WorkloadNetworkDnsZone; +export const WorkloadNetworkDnsZone: typeof import("./workloadNetworkDnsZone").WorkloadNetworkDnsZone = null as any; +utilities.lazyLoad(exports, ["WorkloadNetworkDnsZone"], () => require("./workloadNetworkDnsZone")); + +export { WorkloadNetworkPortMirroringArgs } from "./workloadNetworkPortMirroring"; +export type WorkloadNetworkPortMirroring = import("./workloadNetworkPortMirroring").WorkloadNetworkPortMirroring; +export const WorkloadNetworkPortMirroring: typeof import("./workloadNetworkPortMirroring").WorkloadNetworkPortMirroring = null as any; +utilities.lazyLoad(exports, ["WorkloadNetworkPortMirroring"], () => require("./workloadNetworkPortMirroring")); + +export { WorkloadNetworkPublicIPArgs } from "./workloadNetworkPublicIP"; +export type WorkloadNetworkPublicIP = import("./workloadNetworkPublicIP").WorkloadNetworkPublicIP; +export const WorkloadNetworkPublicIP: typeof import("./workloadNetworkPublicIP").WorkloadNetworkPublicIP = null as any; +utilities.lazyLoad(exports, ["WorkloadNetworkPublicIP"], () => require("./workloadNetworkPublicIP")); + +export { WorkloadNetworkSegmentArgs } from "./workloadNetworkSegment"; +export type WorkloadNetworkSegment = import("./workloadNetworkSegment").WorkloadNetworkSegment; +export const WorkloadNetworkSegment: typeof import("./workloadNetworkSegment").WorkloadNetworkSegment = null as any; +utilities.lazyLoad(exports, ["WorkloadNetworkSegment"], () => require("./workloadNetworkSegment")); + +export { WorkloadNetworkVMGroupArgs } from "./workloadNetworkVMGroup"; +export type WorkloadNetworkVMGroup = import("./workloadNetworkVMGroup").WorkloadNetworkVMGroup; +export const WorkloadNetworkVMGroup: typeof import("./workloadNetworkVMGroup").WorkloadNetworkVMGroup = null as any; +utilities.lazyLoad(exports, ["WorkloadNetworkVMGroup"], () => require("./workloadNetworkVMGroup")); + + +// Export enums: +export * from "../../types/enums/avs/v20230301"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:avs/v20230301:Addon": + return new Addon(name, undefined, { urn }) + case "azure-native:avs/v20230301:Authorization": + return new Authorization(name, undefined, { urn }) + case "azure-native:avs/v20230301:CloudLink": + return new CloudLink(name, undefined, { urn }) + case "azure-native:avs/v20230301:Cluster": + return new Cluster(name, undefined, { urn }) + case "azure-native:avs/v20230301:Datastore": + return new Datastore(name, undefined, { urn }) + case "azure-native:avs/v20230301:GlobalReachConnection": + return new GlobalReachConnection(name, undefined, { urn }) + case "azure-native:avs/v20230301:HcxEnterpriseSite": + return new HcxEnterpriseSite(name, undefined, { urn }) + case "azure-native:avs/v20230301:PlacementPolicy": + return new PlacementPolicy(name, undefined, { urn }) + case "azure-native:avs/v20230301:PrivateCloud": + return new PrivateCloud(name, undefined, { urn }) + case "azure-native:avs/v20230301:ScriptExecution": + return new ScriptExecution(name, undefined, { urn }) + case "azure-native:avs/v20230301:WorkloadNetworkDhcp": + return new WorkloadNetworkDhcp(name, undefined, { urn }) + case "azure-native:avs/v20230301:WorkloadNetworkDnsService": + return new WorkloadNetworkDnsService(name, undefined, { urn }) + case "azure-native:avs/v20230301:WorkloadNetworkDnsZone": + return new WorkloadNetworkDnsZone(name, undefined, { urn }) + case "azure-native:avs/v20230301:WorkloadNetworkPortMirroring": + return new WorkloadNetworkPortMirroring(name, undefined, { urn }) + case "azure-native:avs/v20230301:WorkloadNetworkPublicIP": + return new WorkloadNetworkPublicIP(name, undefined, { urn }) + case "azure-native:avs/v20230301:WorkloadNetworkSegment": + return new WorkloadNetworkSegment(name, undefined, { urn }) + case "azure-native:avs/v20230301:WorkloadNetworkVMGroup": + return new WorkloadNetworkVMGroup(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "avs/v20230301", _module) diff --git a/sdk/nodejs/avs/v20230301/listClusterZones.ts b/sdk/nodejs/avs/v20230301/listClusterZones.ts new file mode 100644 index 000000000000..656d8974b7ae --- /dev/null +++ b/sdk/nodejs/avs/v20230301/listClusterZones.ts @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * List of all zones and associated hosts for a cluster + */ +export function listClusterZones(args: ListClusterZonesArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:listClusterZones", { + "clusterName": args.clusterName, + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface ListClusterZonesArgs { + /** + * Name of the cluster in the private cloud + */ + clusterName: string; + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * List of all zones and associated hosts for a cluster + */ +export interface ListClusterZonesResult { + /** + * Zone and associated hosts info + */ + readonly zones?: outputs.avs.v20230301.ClusterZoneResponse[]; +} +/** + * List of all zones and associated hosts for a cluster + */ +export function listClusterZonesOutput(args: ListClusterZonesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => listClusterZones(a, opts)) +} + +export interface ListClusterZonesOutputArgs { + /** + * Name of the cluster in the private cloud + */ + clusterName: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/listPrivateCloudAdminCredentials.ts b/sdk/nodejs/avs/v20230301/listPrivateCloudAdminCredentials.ts new file mode 100644 index 000000000000..9f009722d3f1 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/listPrivateCloudAdminCredentials.ts @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * Administrative credentials for accessing vCenter and NSX-T + */ +export function listPrivateCloudAdminCredentials(args: ListPrivateCloudAdminCredentialsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:avs/v20230301:listPrivateCloudAdminCredentials", { + "privateCloudName": args.privateCloudName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface ListPrivateCloudAdminCredentialsArgs { + /** + * Name of the private cloud + */ + privateCloudName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * Administrative credentials for accessing vCenter and NSX-T + */ +export interface ListPrivateCloudAdminCredentialsResult { + /** + * NSX-T Manager password + */ + readonly nsxtPassword: string; + /** + * NSX-T Manager username + */ + readonly nsxtUsername: string; + /** + * vCenter admin password + */ + readonly vcenterPassword: string; + /** + * vCenter admin username + */ + readonly vcenterUsername: string; +} +/** + * Administrative credentials for accessing vCenter and NSX-T + */ +export function listPrivateCloudAdminCredentialsOutput(args: ListPrivateCloudAdminCredentialsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => listPrivateCloudAdminCredentials(a, opts)) +} + +export interface ListPrivateCloudAdminCredentialsOutputArgs { + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/placementPolicy.ts b/sdk/nodejs/avs/v20230301/placementPolicy.ts new file mode 100644 index 000000000000..36984b316f05 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/placementPolicy.ts @@ -0,0 +1,116 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * A vSphere Distributed Resource Scheduler (DRS) placement policy + */ +export class PlacementPolicy extends pulumi.CustomResource { + /** + * Get an existing PlacementPolicy 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): PlacementPolicy { + return new PlacementPolicy(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:PlacementPolicy'; + + /** + * Returns true if the given object is an instance of PlacementPolicy. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is PlacementPolicy { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === PlacementPolicy.__pulumiType; + } + + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * placement policy properties + */ + public readonly properties!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a PlacementPolicy 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: PlacementPolicyArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.clusterName === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterName'"); + } + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["clusterName"] = args ? args.clusterName : undefined; + resourceInputs["placementPolicyName"] = args ? args.placementPolicyName : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["name"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:PlacementPolicy" }, { type: "azure-native:avs/v20211201:PlacementPolicy" }, { type: "azure-native:avs/v20220501:PlacementPolicy" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(PlacementPolicy.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a PlacementPolicy resource. + */ +export interface PlacementPolicyArgs { + /** + * Name of the cluster in the private cloud + */ + clusterName: pulumi.Input; + /** + * Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy + */ + placementPolicyName?: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * placement policy properties + */ + properties?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/privateCloud.ts b/sdk/nodejs/avs/v20230301/privateCloud.ts new file mode 100644 index 000000000000..3c3a7a0196ad --- /dev/null +++ b/sdk/nodejs/avs/v20230301/privateCloud.ts @@ -0,0 +1,295 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * A private cloud resource + */ +export class PrivateCloud extends pulumi.CustomResource { + /** + * Get an existing PrivateCloud 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): PrivateCloud { + return new PrivateCloud(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:PrivateCloud'; + + /** + * Returns true if the given object is an instance of PrivateCloud. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is PrivateCloud { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === PrivateCloud.__pulumiType; + } + + /** + * Properties describing how the cloud is distributed across availability zones + */ + public readonly availability!: pulumi.Output; + /** + * An ExpressRoute Circuit + */ + public /*out*/ readonly circuit!: pulumi.Output; + /** + * Customer managed key encryption, can be enabled or disabled + */ + public readonly encryption!: pulumi.Output; + /** + * The endpoints + */ + public /*out*/ readonly endpoints!: pulumi.Output; + /** + * Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). + */ + public readonly extendedNetworkBlocks!: pulumi.Output; + /** + * Array of cloud link IDs from other clouds that connect to this one + */ + public /*out*/ readonly externalCloudLinks!: pulumi.Output; + /** + * The identity of the private cloud, if configured. + */ + public readonly identity!: pulumi.Output; + /** + * vCenter Single Sign On Identity Sources + */ + public readonly identitySources!: pulumi.Output; + /** + * Connectivity to internet is enabled or disabled + */ + public readonly internet!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * The default cluster used for management + */ + public readonly managementCluster!: pulumi.Output; + /** + * Network used to access vCenter Server and NSX-T Manager + */ + public /*out*/ readonly managementNetwork!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 + */ + public readonly networkBlock!: pulumi.Output; + /** + * Flag to indicate whether the private cloud has the quota for provisioned NSX Public IP count raised from 64 to 1024 + */ + public /*out*/ readonly nsxPublicIpQuotaRaised!: pulumi.Output; + /** + * Thumbprint of the NSX-T Manager SSL certificate + */ + public /*out*/ readonly nsxtCertificateThumbprint!: pulumi.Output; + /** + * Optionally, set the NSX-T Manager password when the private cloud is created + */ + public readonly nsxtPassword!: pulumi.Output; + /** + * Used for virtual machine cold migration, cloning, and snapshot migration + */ + public /*out*/ readonly provisioningNetwork!: pulumi.Output; + /** + * The provisioning state + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud + */ + public /*out*/ readonly secondaryCircuit!: pulumi.Output; + /** + * The private cloud SKU + */ + public readonly sku!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * Thumbprint of the vCenter Server SSL certificate + */ + public /*out*/ readonly vcenterCertificateThumbprint!: pulumi.Output; + /** + * Optionally, set the vCenter admin password when the private cloud is created + */ + public readonly vcenterPassword!: pulumi.Output; + /** + * Used for live migration of virtual machines + */ + public /*out*/ readonly vmotionNetwork!: pulumi.Output; + + /** + * Create a PrivateCloud 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: PrivateCloudArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.managementCluster === undefined) && !opts.urn) { + throw new Error("Missing required property 'managementCluster'"); + } + if ((!args || args.networkBlock === undefined) && !opts.urn) { + throw new Error("Missing required property 'networkBlock'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.sku === undefined) && !opts.urn) { + throw new Error("Missing required property 'sku'"); + } + resourceInputs["availability"] = args ? args.availability : undefined; + resourceInputs["encryption"] = args ? args.encryption : undefined; + resourceInputs["extendedNetworkBlocks"] = args ? args.extendedNetworkBlocks : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["identitySources"] = args ? args.identitySources : undefined; + resourceInputs["internet"] = (args ? args.internet : undefined) ?? "Disabled"; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["managementCluster"] = args ? args.managementCluster : undefined; + resourceInputs["networkBlock"] = args ? args.networkBlock : undefined; + resourceInputs["nsxtPassword"] = args ? args.nsxtPassword : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["vcenterPassword"] = args ? args.vcenterPassword : undefined; + resourceInputs["circuit"] = undefined /*out*/; + resourceInputs["endpoints"] = undefined /*out*/; + resourceInputs["externalCloudLinks"] = undefined /*out*/; + resourceInputs["managementNetwork"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["nsxPublicIpQuotaRaised"] = undefined /*out*/; + resourceInputs["nsxtCertificateThumbprint"] = undefined /*out*/; + resourceInputs["provisioningNetwork"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["secondaryCircuit"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["vcenterCertificateThumbprint"] = undefined /*out*/; + resourceInputs["vmotionNetwork"] = undefined /*out*/; + } else { + resourceInputs["availability"] = undefined /*out*/; + resourceInputs["circuit"] = undefined /*out*/; + resourceInputs["encryption"] = undefined /*out*/; + resourceInputs["endpoints"] = undefined /*out*/; + resourceInputs["extendedNetworkBlocks"] = undefined /*out*/; + resourceInputs["externalCloudLinks"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["identitySources"] = undefined /*out*/; + resourceInputs["internet"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["managementCluster"] = undefined /*out*/; + resourceInputs["managementNetwork"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkBlock"] = undefined /*out*/; + resourceInputs["nsxPublicIpQuotaRaised"] = undefined /*out*/; + resourceInputs["nsxtCertificateThumbprint"] = undefined /*out*/; + resourceInputs["nsxtPassword"] = undefined /*out*/; + resourceInputs["provisioningNetwork"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["secondaryCircuit"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["vcenterCertificateThumbprint"] = undefined /*out*/; + resourceInputs["vcenterPassword"] = undefined /*out*/; + resourceInputs["vmotionNetwork"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:PrivateCloud" }, { type: "azure-native:avs/v20200320:PrivateCloud" }, { type: "azure-native:avs/v20200717preview:PrivateCloud" }, { type: "azure-native:avs/v20210101preview:PrivateCloud" }, { type: "azure-native:avs/v20210601:PrivateCloud" }, { type: "azure-native:avs/v20211201:PrivateCloud" }, { type: "azure-native:avs/v20220501:PrivateCloud" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(PrivateCloud.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a PrivateCloud resource. + */ +export interface PrivateCloudArgs { + /** + * Properties describing how the cloud is distributed across availability zones + */ + availability?: pulumi.Input; + /** + * Customer managed key encryption, can be enabled or disabled + */ + encryption?: pulumi.Input; + /** + * Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). + */ + extendedNetworkBlocks?: pulumi.Input[]>; + /** + * The identity of the private cloud, if configured. + */ + identity?: pulumi.Input; + /** + * vCenter Single Sign On Identity Sources + */ + identitySources?: pulumi.Input[]>; + /** + * Connectivity to internet is enabled or disabled + */ + internet?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * The default cluster used for management + */ + managementCluster: pulumi.Input; + /** + * The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 + */ + networkBlock: pulumi.Input; + /** + * Optionally, set the NSX-T Manager password when the private cloud is created + */ + nsxtPassword?: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The private cloud SKU + */ + sku: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Optionally, set the vCenter admin password when the private cloud is created + */ + vcenterPassword?: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/scriptExecution.ts b/sdk/nodejs/avs/v20230301/scriptExecution.ts new file mode 100644 index 000000000000..4fabb35e1384 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/scriptExecution.ts @@ -0,0 +1,223 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * An instance of a script executed by a user - custom or AVS + */ +export class ScriptExecution extends pulumi.CustomResource { + /** + * Get an existing ScriptExecution 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ScriptExecution { + return new ScriptExecution(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:ScriptExecution'; + + /** + * Returns true if the given object is an instance of ScriptExecution. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ScriptExecution { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ScriptExecution.__pulumiType; + } + + /** + * Standard error output stream from the powershell execution + */ + public /*out*/ readonly errors!: pulumi.Output; + /** + * Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + */ + public readonly failureReason!: pulumi.Output; + /** + * Time the script execution was finished + */ + public /*out*/ readonly finishedAt!: pulumi.Output; + /** + * Parameters that will be hidden/not visible to ARM, such as passwords and credentials + */ + public readonly hiddenParameters!: pulumi.Output<(outputs.avs.v20230301.PSCredentialExecutionParameterResponse | outputs.avs.v20230301.ScriptSecureStringExecutionParameterResponse | outputs.avs.v20230301.ScriptStringExecutionParameterResponse)[] | undefined>; + /** + * Standard information out stream from the powershell execution + */ + public /*out*/ readonly information!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * User-defined dictionary. + */ + public readonly namedOutputs!: pulumi.Output<{[key: string]: any} | undefined>; + /** + * Standard output stream from the powershell execution + */ + public readonly output!: pulumi.Output; + /** + * Parameters the script will accept + */ + public readonly parameters!: pulumi.Output<(outputs.avs.v20230301.PSCredentialExecutionParameterResponse | outputs.avs.v20230301.ScriptSecureStringExecutionParameterResponse | outputs.avs.v20230301.ScriptStringExecutionParameterResponse)[] | undefined>; + /** + * The state of the script execution resource + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Time to live for the resource. If not provided, will be available for 60 days + */ + public readonly retention!: pulumi.Output; + /** + * A reference to the script cmdlet resource if user is running a AVS script + */ + public readonly scriptCmdletId!: pulumi.Output; + /** + * Time the script execution was started + */ + public /*out*/ readonly startedAt!: pulumi.Output; + /** + * Time the script execution was submitted + */ + public /*out*/ readonly submittedAt!: pulumi.Output; + /** + * Time limit for execution + */ + public readonly timeout!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * Standard warning out stream from the powershell execution + */ + public /*out*/ readonly warnings!: pulumi.Output; + + /** + * Create a ScriptExecution 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: ScriptExecutionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.timeout === undefined) && !opts.urn) { + throw new Error("Missing required property 'timeout'"); + } + resourceInputs["failureReason"] = args ? args.failureReason : undefined; + resourceInputs["hiddenParameters"] = args ? args.hiddenParameters : undefined; + resourceInputs["namedOutputs"] = args ? args.namedOutputs : undefined; + resourceInputs["output"] = args ? args.output : undefined; + resourceInputs["parameters"] = args ? args.parameters : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["retention"] = args ? args.retention : undefined; + resourceInputs["scriptCmdletId"] = args ? args.scriptCmdletId : undefined; + resourceInputs["scriptExecutionName"] = args ? args.scriptExecutionName : undefined; + resourceInputs["timeout"] = args ? args.timeout : undefined; + resourceInputs["errors"] = undefined /*out*/; + resourceInputs["finishedAt"] = undefined /*out*/; + resourceInputs["information"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["startedAt"] = undefined /*out*/; + resourceInputs["submittedAt"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["warnings"] = undefined /*out*/; + } else { + resourceInputs["errors"] = undefined /*out*/; + resourceInputs["failureReason"] = undefined /*out*/; + resourceInputs["finishedAt"] = undefined /*out*/; + resourceInputs["hiddenParameters"] = undefined /*out*/; + resourceInputs["information"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["namedOutputs"] = undefined /*out*/; + resourceInputs["output"] = undefined /*out*/; + resourceInputs["parameters"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["retention"] = undefined /*out*/; + resourceInputs["scriptCmdletId"] = undefined /*out*/; + resourceInputs["startedAt"] = undefined /*out*/; + resourceInputs["submittedAt"] = undefined /*out*/; + resourceInputs["timeout"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["warnings"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:ScriptExecution" }, { type: "azure-native:avs/v20210601:ScriptExecution" }, { type: "azure-native:avs/v20211201:ScriptExecution" }, { type: "azure-native:avs/v20220501:ScriptExecution" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(ScriptExecution.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ScriptExecution resource. + */ +export interface ScriptExecutionArgs { + /** + * Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + */ + failureReason?: pulumi.Input; + /** + * Parameters that will be hidden/not visible to ARM, such as passwords and credentials + */ + hiddenParameters?: pulumi.Input[]>; + /** + * User-defined dictionary. + */ + namedOutputs?: pulumi.Input<{[key: string]: any}>; + /** + * Standard output stream from the powershell execution + */ + output?: pulumi.Input[]>; + /** + * Parameters the script will accept + */ + parameters?: pulumi.Input[]>; + /** + * The name of the private cloud. + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Time to live for the resource. If not provided, will be available for 60 days + */ + retention?: pulumi.Input; + /** + * A reference to the script cmdlet resource if user is running a AVS script + */ + scriptCmdletId?: pulumi.Input; + /** + * Name of the user-invoked script execution resource + */ + scriptExecutionName?: pulumi.Input; + /** + * Time limit for execution + */ + timeout: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/workloadNetworkDhcp.ts b/sdk/nodejs/avs/v20230301/workloadNetworkDhcp.ts new file mode 100644 index 000000000000..4fb12a828077 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/workloadNetworkDhcp.ts @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * NSX DHCP + */ +export class WorkloadNetworkDhcp extends pulumi.CustomResource { + /** + * Get an existing WorkloadNetworkDhcp 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): WorkloadNetworkDhcp { + return new WorkloadNetworkDhcp(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:WorkloadNetworkDhcp'; + + /** + * Returns true if the given object is an instance of WorkloadNetworkDhcp. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is WorkloadNetworkDhcp { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === WorkloadNetworkDhcp.__pulumiType; + } + + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * DHCP properties. + */ + public readonly properties!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a WorkloadNetworkDhcp 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: WorkloadNetworkDhcpArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["dhcpId"] = args ? args.dhcpId : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["name"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20220501:WorkloadNetworkDhcp" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(WorkloadNetworkDhcp.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a WorkloadNetworkDhcp resource. + */ +export interface WorkloadNetworkDhcpArgs { + /** + * NSX DHCP identifier. Generally the same as the DHCP display name + */ + dhcpId?: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * DHCP properties. + */ + properties?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/workloadNetworkDnsService.ts b/sdk/nodejs/avs/v20230301/workloadNetworkDnsService.ts new file mode 100644 index 000000000000..ebf0eefd8569 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/workloadNetworkDnsService.ts @@ -0,0 +1,170 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * NSX DNS Service + */ +export class WorkloadNetworkDnsService extends pulumi.CustomResource { + /** + * Get an existing WorkloadNetworkDnsService 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): WorkloadNetworkDnsService { + return new WorkloadNetworkDnsService(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:WorkloadNetworkDnsService'; + + /** + * Returns true if the given object is an instance of WorkloadNetworkDnsService. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is WorkloadNetworkDnsService { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === WorkloadNetworkDnsService.__pulumiType; + } + + /** + * Default DNS zone of the DNS Service. + */ + public readonly defaultDnsZone!: pulumi.Output; + /** + * Display name of the DNS Service. + */ + public readonly displayName!: pulumi.Output; + /** + * DNS service IP of the DNS Service. + */ + public readonly dnsServiceIp!: pulumi.Output; + /** + * FQDN zones of the DNS Service. + */ + public readonly fqdnZones!: pulumi.Output; + /** + * DNS Service log level. + */ + public readonly logLevel!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The provisioning state + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * NSX revision number. + */ + public readonly revision!: pulumi.Output; + /** + * DNS Service status. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a WorkloadNetworkDnsService 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: WorkloadNetworkDnsServiceArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["defaultDnsZone"] = args ? args.defaultDnsZone : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["dnsServiceId"] = args ? args.dnsServiceId : undefined; + resourceInputs["dnsServiceIp"] = args ? args.dnsServiceIp : undefined; + resourceInputs["fqdnZones"] = args ? args.fqdnZones : undefined; + resourceInputs["logLevel"] = args ? args.logLevel : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["revision"] = args ? args.revision : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["defaultDnsZone"] = undefined /*out*/; + resourceInputs["displayName"] = undefined /*out*/; + resourceInputs["dnsServiceIp"] = undefined /*out*/; + resourceInputs["fqdnZones"] = undefined /*out*/; + resourceInputs["logLevel"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["revision"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20220501:WorkloadNetworkDnsService" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(WorkloadNetworkDnsService.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a WorkloadNetworkDnsService resource. + */ +export interface WorkloadNetworkDnsServiceArgs { + /** + * Default DNS zone of the DNS Service. + */ + defaultDnsZone?: pulumi.Input; + /** + * Display name of the DNS Service. + */ + displayName?: pulumi.Input; + /** + * NSX DNS Service identifier. Generally the same as the DNS Service's display name + */ + dnsServiceId?: pulumi.Input; + /** + * DNS service IP of the DNS Service. + */ + dnsServiceIp?: pulumi.Input; + /** + * FQDN zones of the DNS Service. + */ + fqdnZones?: pulumi.Input[]>; + /** + * DNS Service log level. + */ + logLevel?: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * NSX revision number. + */ + revision?: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/workloadNetworkDnsZone.ts b/sdk/nodejs/avs/v20230301/workloadNetworkDnsZone.ts new file mode 100644 index 000000000000..59ce4c6f0c1b --- /dev/null +++ b/sdk/nodejs/avs/v20230301/workloadNetworkDnsZone.ts @@ -0,0 +1,161 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * NSX DNS Zone + */ +export class WorkloadNetworkDnsZone extends pulumi.CustomResource { + /** + * Get an existing WorkloadNetworkDnsZone 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): WorkloadNetworkDnsZone { + return new WorkloadNetworkDnsZone(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:WorkloadNetworkDnsZone'; + + /** + * Returns true if the given object is an instance of WorkloadNetworkDnsZone. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is WorkloadNetworkDnsZone { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === WorkloadNetworkDnsZone.__pulumiType; + } + + /** + * Display name of the DNS Zone. + */ + public readonly displayName!: pulumi.Output; + /** + * DNS Server IP array of the DNS Zone. + */ + public readonly dnsServerIps!: pulumi.Output; + /** + * Number of DNS Services using the DNS zone. + */ + public readonly dnsServices!: pulumi.Output; + /** + * Domain names of the DNS Zone. + */ + public readonly domain!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The provisioning state + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * NSX revision number. + */ + public readonly revision!: pulumi.Output; + /** + * Source IP of the DNS Zone. + */ + public readonly sourceIp!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a WorkloadNetworkDnsZone 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: WorkloadNetworkDnsZoneArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["dnsServerIps"] = args ? args.dnsServerIps : undefined; + resourceInputs["dnsServices"] = args ? args.dnsServices : undefined; + resourceInputs["dnsZoneId"] = args ? args.dnsZoneId : undefined; + resourceInputs["domain"] = args ? args.domain : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["revision"] = args ? args.revision : undefined; + resourceInputs["sourceIp"] = args ? args.sourceIp : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["displayName"] = undefined /*out*/; + resourceInputs["dnsServerIps"] = undefined /*out*/; + resourceInputs["dnsServices"] = undefined /*out*/; + resourceInputs["domain"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["revision"] = undefined /*out*/; + resourceInputs["sourceIp"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20220501:WorkloadNetworkDnsZone" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(WorkloadNetworkDnsZone.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a WorkloadNetworkDnsZone resource. + */ +export interface WorkloadNetworkDnsZoneArgs { + /** + * Display name of the DNS Zone. + */ + displayName?: pulumi.Input; + /** + * DNS Server IP array of the DNS Zone. + */ + dnsServerIps?: pulumi.Input[]>; + /** + * Number of DNS Services using the DNS zone. + */ + dnsServices?: pulumi.Input; + /** + * NSX DNS Zone identifier. Generally the same as the DNS Zone's display name + */ + dnsZoneId?: pulumi.Input; + /** + * Domain names of the DNS Zone. + */ + domain?: pulumi.Input[]>; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * NSX revision number. + */ + revision?: pulumi.Input; + /** + * Source IP of the DNS Zone. + */ + sourceIp?: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/workloadNetworkPortMirroring.ts b/sdk/nodejs/avs/v20230301/workloadNetworkPortMirroring.ts new file mode 100644 index 000000000000..49c0f3d50590 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/workloadNetworkPortMirroring.ts @@ -0,0 +1,160 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * NSX Port Mirroring + */ +export class WorkloadNetworkPortMirroring extends pulumi.CustomResource { + /** + * Get an existing WorkloadNetworkPortMirroring 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): WorkloadNetworkPortMirroring { + return new WorkloadNetworkPortMirroring(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:WorkloadNetworkPortMirroring'; + + /** + * Returns true if the given object is an instance of WorkloadNetworkPortMirroring. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is WorkloadNetworkPortMirroring { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === WorkloadNetworkPortMirroring.__pulumiType; + } + + /** + * Destination VM Group. + */ + public readonly destination!: pulumi.Output; + /** + * Direction of port mirroring profile. + */ + public readonly direction!: pulumi.Output; + /** + * Display name of the port mirroring profile. + */ + public readonly displayName!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The provisioning state + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * NSX revision number. + */ + public readonly revision!: pulumi.Output; + /** + * Source VM Group. + */ + public readonly source!: pulumi.Output; + /** + * Port Mirroring Status. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a WorkloadNetworkPortMirroring 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: WorkloadNetworkPortMirroringArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["destination"] = args ? args.destination : undefined; + resourceInputs["direction"] = args ? args.direction : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["portMirroringId"] = args ? args.portMirroringId : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["revision"] = args ? args.revision : undefined; + resourceInputs["source"] = args ? args.source : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["destination"] = undefined /*out*/; + resourceInputs["direction"] = undefined /*out*/; + resourceInputs["displayName"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["revision"] = undefined /*out*/; + resourceInputs["source"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20210601:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20211201:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20220501:WorkloadNetworkPortMirroring" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(WorkloadNetworkPortMirroring.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a WorkloadNetworkPortMirroring resource. + */ +export interface WorkloadNetworkPortMirroringArgs { + /** + * Destination VM Group. + */ + destination?: pulumi.Input; + /** + * Direction of port mirroring profile. + */ + direction?: pulumi.Input; + /** + * Display name of the port mirroring profile. + */ + displayName?: pulumi.Input; + /** + * NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name + */ + portMirroringId?: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * NSX revision number. + */ + revision?: pulumi.Input; + /** + * Source VM Group. + */ + source?: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/workloadNetworkPublicIP.ts b/sdk/nodejs/avs/v20230301/workloadNetworkPublicIP.ts new file mode 100644 index 000000000000..4e9f06e31541 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/workloadNetworkPublicIP.ts @@ -0,0 +1,127 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * NSX Public IP Block + */ +export class WorkloadNetworkPublicIP extends pulumi.CustomResource { + /** + * Get an existing WorkloadNetworkPublicIP 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): WorkloadNetworkPublicIP { + return new WorkloadNetworkPublicIP(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:WorkloadNetworkPublicIP'; + + /** + * Returns true if the given object is an instance of WorkloadNetworkPublicIP. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is WorkloadNetworkPublicIP { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === WorkloadNetworkPublicIP.__pulumiType; + } + + /** + * Display name of the Public IP Block. + */ + public readonly displayName!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Number of Public IPs requested. + */ + public readonly numberOfPublicIPs!: pulumi.Output; + /** + * The provisioning state + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * CIDR Block of the Public IP Block. + */ + public /*out*/ readonly publicIPBlock!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a WorkloadNetworkPublicIP 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: WorkloadNetworkPublicIPArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["numberOfPublicIPs"] = args ? args.numberOfPublicIPs : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["publicIPId"] = args ? args.publicIPId : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["publicIPBlock"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["displayName"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["numberOfPublicIPs"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["publicIPBlock"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20210601:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20211201:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20220501:WorkloadNetworkPublicIP" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(WorkloadNetworkPublicIP.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a WorkloadNetworkPublicIP resource. + */ +export interface WorkloadNetworkPublicIPArgs { + /** + * Display name of the Public IP Block. + */ + displayName?: pulumi.Input; + /** + * Number of Public IPs requested. + */ + numberOfPublicIPs?: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * NSX Public IP Block identifier. Generally the same as the Public IP Block's display name + */ + publicIPId?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/workloadNetworkSegment.ts b/sdk/nodejs/avs/v20230301/workloadNetworkSegment.ts new file mode 100644 index 000000000000..11fc4315e24f --- /dev/null +++ b/sdk/nodejs/avs/v20230301/workloadNetworkSegment.ts @@ -0,0 +1,156 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * NSX Segment + */ +export class WorkloadNetworkSegment extends pulumi.CustomResource { + /** + * Get an existing WorkloadNetworkSegment 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): WorkloadNetworkSegment { + return new WorkloadNetworkSegment(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:WorkloadNetworkSegment'; + + /** + * Returns true if the given object is an instance of WorkloadNetworkSegment. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is WorkloadNetworkSegment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === WorkloadNetworkSegment.__pulumiType; + } + + /** + * Gateway which to connect segment to. + */ + public readonly connectedGateway!: pulumi.Output; + /** + * Display name of the segment. + */ + public readonly displayName!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Port Vif which segment is associated with. + */ + public /*out*/ readonly portVif!: pulumi.Output; + /** + * The provisioning state + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * NSX revision number. + */ + public readonly revision!: pulumi.Output; + /** + * Segment status. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Subnet which to connect segment to. + */ + public readonly subnet!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a WorkloadNetworkSegment 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: WorkloadNetworkSegmentArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["connectedGateway"] = args ? args.connectedGateway : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["revision"] = args ? args.revision : undefined; + resourceInputs["segmentId"] = args ? args.segmentId : undefined; + resourceInputs["subnet"] = args ? args.subnet : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["portVif"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["connectedGateway"] = undefined /*out*/; + resourceInputs["displayName"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["portVif"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["revision"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["subnet"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20210601:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20211201:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20220501:WorkloadNetworkSegment" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(WorkloadNetworkSegment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a WorkloadNetworkSegment resource. + */ +export interface WorkloadNetworkSegmentArgs { + /** + * Gateway which to connect segment to. + */ + connectedGateway?: pulumi.Input; + /** + * Display name of the segment. + */ + displayName?: pulumi.Input; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * NSX revision number. + */ + revision?: pulumi.Input; + /** + * NSX Segment identifier. Generally the same as the Segment's display name + */ + segmentId?: pulumi.Input; + /** + * Subnet which to connect segment to. + */ + subnet?: pulumi.Input; +} diff --git a/sdk/nodejs/avs/v20230301/workloadNetworkVMGroup.ts b/sdk/nodejs/avs/v20230301/workloadNetworkVMGroup.ts new file mode 100644 index 000000000000..cabe6e148c56 --- /dev/null +++ b/sdk/nodejs/avs/v20230301/workloadNetworkVMGroup.ts @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * NSX VM Group + */ +export class WorkloadNetworkVMGroup extends pulumi.CustomResource { + /** + * Get an existing WorkloadNetworkVMGroup 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): WorkloadNetworkVMGroup { + return new WorkloadNetworkVMGroup(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:avs/v20230301:WorkloadNetworkVMGroup'; + + /** + * Returns true if the given object is an instance of WorkloadNetworkVMGroup. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is WorkloadNetworkVMGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === WorkloadNetworkVMGroup.__pulumiType; + } + + /** + * Display name of the VM group. + */ + public readonly displayName!: pulumi.Output; + /** + * Virtual machine members of this group. + */ + public readonly members!: pulumi.Output; + /** + * Resource name. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The provisioning state + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * NSX revision number. + */ + public readonly revision!: pulumi.Output; + /** + * VM Group status. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a WorkloadNetworkVMGroup 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: WorkloadNetworkVMGroupArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateCloudName === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateCloudName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["members"] = args ? args.members : undefined; + resourceInputs["privateCloudName"] = args ? args.privateCloudName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["revision"] = args ? args.revision : undefined; + resourceInputs["vmGroupId"] = args ? args.vmGroupId : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["displayName"] = undefined /*out*/; + resourceInputs["members"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["revision"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:avs:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20200717preview:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20210601:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20211201:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20220501:WorkloadNetworkVMGroup" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(WorkloadNetworkVMGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a WorkloadNetworkVMGroup resource. + */ +export interface WorkloadNetworkVMGroupArgs { + /** + * Display name of the VM group. + */ + displayName?: pulumi.Input; + /** + * Virtual machine members of this group. + */ + members?: pulumi.Input[]>; + /** + * Name of the private cloud + */ + privateCloudName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * NSX revision number. + */ + revision?: pulumi.Input; + /** + * NSX VM Group identifier. Generally the same as the VM Group's display name + */ + vmGroupId?: pulumi.Input; +} diff --git a/sdk/nodejs/avs/workloadNetworkDhcp.ts b/sdk/nodejs/avs/workloadNetworkDhcp.ts index a8c6ace290e1..df2a236b0e13 100644 --- a/sdk/nodejs/avs/workloadNetworkDhcp.ts +++ b/sdk/nodejs/avs/workloadNetworkDhcp.ts @@ -80,7 +80,7 @@ export class WorkloadNetworkDhcp extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20220501:WorkloadNetworkDhcp" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20220501:WorkloadNetworkDhcp" }, { type: "azure-native:avs/v20230301:WorkloadNetworkDhcp" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkDhcp.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/workloadNetworkDnsService.ts b/sdk/nodejs/avs/workloadNetworkDnsService.ts index 23f37befcc2c..3458a1929691 100644 --- a/sdk/nodejs/avs/workloadNetworkDnsService.ts +++ b/sdk/nodejs/avs/workloadNetworkDnsService.ts @@ -122,7 +122,7 @@ export class WorkloadNetworkDnsService extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20220501:WorkloadNetworkDnsService" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20220501:WorkloadNetworkDnsService" }, { type: "azure-native:avs/v20230301:WorkloadNetworkDnsService" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkDnsService.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/workloadNetworkDnsZone.ts b/sdk/nodejs/avs/workloadNetworkDnsZone.ts index 33d291d2596c..da6533023110 100644 --- a/sdk/nodejs/avs/workloadNetworkDnsZone.ts +++ b/sdk/nodejs/avs/workloadNetworkDnsZone.ts @@ -113,7 +113,7 @@ export class WorkloadNetworkDnsZone extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20220501:WorkloadNetworkDnsZone" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20210601:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20211201:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20220501:WorkloadNetworkDnsZone" }, { type: "azure-native:avs/v20230301:WorkloadNetworkDnsZone" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkDnsZone.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/workloadNetworkPortMirroring.ts b/sdk/nodejs/avs/workloadNetworkPortMirroring.ts index d9e9858004b1..d286e4c0c08d 100644 --- a/sdk/nodejs/avs/workloadNetworkPortMirroring.ts +++ b/sdk/nodejs/avs/workloadNetworkPortMirroring.ts @@ -116,7 +116,7 @@ export class WorkloadNetworkPortMirroring extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20210601:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20211201:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20220501:WorkloadNetworkPortMirroring" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20210601:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20211201:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20220501:WorkloadNetworkPortMirroring" }, { type: "azure-native:avs/v20230301:WorkloadNetworkPortMirroring" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkPortMirroring.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/workloadNetworkPublicIP.ts b/sdk/nodejs/avs/workloadNetworkPublicIP.ts index 7820dc309caf..9fd266b04917 100644 --- a/sdk/nodejs/avs/workloadNetworkPublicIP.ts +++ b/sdk/nodejs/avs/workloadNetworkPublicIP.ts @@ -95,7 +95,7 @@ export class WorkloadNetworkPublicIP extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20210601:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20211201:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20220501:WorkloadNetworkPublicIP" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20210601:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20211201:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20220501:WorkloadNetworkPublicIP" }, { type: "azure-native:avs/v20230301:WorkloadNetworkPublicIP" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkPublicIP.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/workloadNetworkSegment.ts b/sdk/nodejs/avs/workloadNetworkSegment.ts index 77310d769fef..566c837ef4fa 100644 --- a/sdk/nodejs/avs/workloadNetworkSegment.ts +++ b/sdk/nodejs/avs/workloadNetworkSegment.ts @@ -116,7 +116,7 @@ export class WorkloadNetworkSegment extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20210601:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20211201:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20220501:WorkloadNetworkSegment" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20210601:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20211201:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20220501:WorkloadNetworkSegment" }, { type: "azure-native:avs/v20230301:WorkloadNetworkSegment" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkSegment.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/avs/workloadNetworkVMGroup.ts b/sdk/nodejs/avs/workloadNetworkVMGroup.ts index e9c3454422cd..4bf229e3d860 100644 --- a/sdk/nodejs/avs/workloadNetworkVMGroup.ts +++ b/sdk/nodejs/avs/workloadNetworkVMGroup.ts @@ -101,7 +101,7 @@ export class WorkloadNetworkVMGroup extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20210601:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20211201:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20220501:WorkloadNetworkVMGroup" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:avs/v20200717preview:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20210101preview:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20210601:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20211201:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20220501:WorkloadNetworkVMGroup" }, { type: "azure-native:avs/v20230301:WorkloadNetworkVMGroup" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(WorkloadNetworkVMGroup.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/availabilitySet.ts b/sdk/nodejs/compute/availabilitySet.ts index 5d31ff83527d..d8119522fe43 100644 --- a/sdk/nodejs/compute/availabilitySet.ts +++ b/sdk/nodejs/compute/availabilitySet.ts @@ -118,7 +118,7 @@ export class AvailabilitySet extends pulumi.CustomResource { resourceInputs["virtualMachines"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20150615:AvailabilitySet" }, { type: "azure-native:compute/v20160330:AvailabilitySet" }, { type: "azure-native:compute/v20160430preview:AvailabilitySet" }, { type: "azure-native:compute/v20170330:AvailabilitySet" }, { type: "azure-native:compute/v20171201:AvailabilitySet" }, { type: "azure-native:compute/v20180401:AvailabilitySet" }, { type: "azure-native:compute/v20180601:AvailabilitySet" }, { type: "azure-native:compute/v20181001:AvailabilitySet" }, { type: "azure-native:compute/v20190301:AvailabilitySet" }, { type: "azure-native:compute/v20190701:AvailabilitySet" }, { type: "azure-native:compute/v20191201:AvailabilitySet" }, { type: "azure-native:compute/v20200601:AvailabilitySet" }, { type: "azure-native:compute/v20201201:AvailabilitySet" }, { type: "azure-native:compute/v20210301:AvailabilitySet" }, { type: "azure-native:compute/v20210401:AvailabilitySet" }, { type: "azure-native:compute/v20210701:AvailabilitySet" }, { type: "azure-native:compute/v20211101:AvailabilitySet" }, { type: "azure-native:compute/v20220301:AvailabilitySet" }, { type: "azure-native:compute/v20220801:AvailabilitySet" }, { type: "azure-native:compute/v20221101:AvailabilitySet" }, { type: "azure-native:compute/v20230301:AvailabilitySet" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20150615:AvailabilitySet" }, { type: "azure-native:compute/v20160330:AvailabilitySet" }, { type: "azure-native:compute/v20160430preview:AvailabilitySet" }, { type: "azure-native:compute/v20170330:AvailabilitySet" }, { type: "azure-native:compute/v20171201:AvailabilitySet" }, { type: "azure-native:compute/v20180401:AvailabilitySet" }, { type: "azure-native:compute/v20180601:AvailabilitySet" }, { type: "azure-native:compute/v20181001:AvailabilitySet" }, { type: "azure-native:compute/v20190301:AvailabilitySet" }, { type: "azure-native:compute/v20190701:AvailabilitySet" }, { type: "azure-native:compute/v20191201:AvailabilitySet" }, { type: "azure-native:compute/v20200601:AvailabilitySet" }, { type: "azure-native:compute/v20201201:AvailabilitySet" }, { type: "azure-native:compute/v20210301:AvailabilitySet" }, { type: "azure-native:compute/v20210401:AvailabilitySet" }, { type: "azure-native:compute/v20210701:AvailabilitySet" }, { type: "azure-native:compute/v20211101:AvailabilitySet" }, { type: "azure-native:compute/v20220301:AvailabilitySet" }, { type: "azure-native:compute/v20220801:AvailabilitySet" }, { type: "azure-native:compute/v20221101:AvailabilitySet" }, { type: "azure-native:compute/v20230301:AvailabilitySet" }, { type: "azure-native:compute/v20230701:AvailabilitySet" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(AvailabilitySet.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/capacityReservation.ts b/sdk/nodejs/compute/capacityReservation.ts index 7b0292a4426c..f739ecd4f8a1 100644 --- a/sdk/nodejs/compute/capacityReservation.ts +++ b/sdk/nodejs/compute/capacityReservation.ts @@ -143,7 +143,7 @@ export class CapacityReservation extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20210401:CapacityReservation" }, { type: "azure-native:compute/v20210701:CapacityReservation" }, { type: "azure-native:compute/v20211101:CapacityReservation" }, { type: "azure-native:compute/v20220301:CapacityReservation" }, { type: "azure-native:compute/v20220801:CapacityReservation" }, { type: "azure-native:compute/v20221101:CapacityReservation" }, { type: "azure-native:compute/v20230301:CapacityReservation" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20210401:CapacityReservation" }, { type: "azure-native:compute/v20210701:CapacityReservation" }, { type: "azure-native:compute/v20211101:CapacityReservation" }, { type: "azure-native:compute/v20220301:CapacityReservation" }, { type: "azure-native:compute/v20220801:CapacityReservation" }, { type: "azure-native:compute/v20221101:CapacityReservation" }, { type: "azure-native:compute/v20230301:CapacityReservation" }, { type: "azure-native:compute/v20230701:CapacityReservation" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(CapacityReservation.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/capacityReservationGroup.ts b/sdk/nodejs/compute/capacityReservationGroup.ts index a151f0c744dc..f546ce2573f1 100644 --- a/sdk/nodejs/compute/capacityReservationGroup.ts +++ b/sdk/nodejs/compute/capacityReservationGroup.ts @@ -106,7 +106,7 @@ export class CapacityReservationGroup extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20210401:CapacityReservationGroup" }, { type: "azure-native:compute/v20210701:CapacityReservationGroup" }, { type: "azure-native:compute/v20211101:CapacityReservationGroup" }, { type: "azure-native:compute/v20220301:CapacityReservationGroup" }, { type: "azure-native:compute/v20220801:CapacityReservationGroup" }, { type: "azure-native:compute/v20221101:CapacityReservationGroup" }, { type: "azure-native:compute/v20230301:CapacityReservationGroup" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20210401:CapacityReservationGroup" }, { type: "azure-native:compute/v20210701:CapacityReservationGroup" }, { type: "azure-native:compute/v20211101:CapacityReservationGroup" }, { type: "azure-native:compute/v20220301:CapacityReservationGroup" }, { type: "azure-native:compute/v20220801:CapacityReservationGroup" }, { type: "azure-native:compute/v20221101:CapacityReservationGroup" }, { type: "azure-native:compute/v20230301:CapacityReservationGroup" }, { type: "azure-native:compute/v20230701:CapacityReservationGroup" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(CapacityReservationGroup.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/dedicatedHost.ts b/sdk/nodejs/compute/dedicatedHost.ts index fd5d79c7ea44..b1d6ff039d4d 100644 --- a/sdk/nodejs/compute/dedicatedHost.ts +++ b/sdk/nodejs/compute/dedicatedHost.ts @@ -149,7 +149,7 @@ export class DedicatedHost extends pulumi.CustomResource { resourceInputs["virtualMachines"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20190301:DedicatedHost" }, { type: "azure-native:compute/v20190701:DedicatedHost" }, { type: "azure-native:compute/v20191201:DedicatedHost" }, { type: "azure-native:compute/v20200601:DedicatedHost" }, { type: "azure-native:compute/v20201201:DedicatedHost" }, { type: "azure-native:compute/v20210301:DedicatedHost" }, { type: "azure-native:compute/v20210401:DedicatedHost" }, { type: "azure-native:compute/v20210701:DedicatedHost" }, { type: "azure-native:compute/v20211101:DedicatedHost" }, { type: "azure-native:compute/v20220301:DedicatedHost" }, { type: "azure-native:compute/v20220801:DedicatedHost" }, { type: "azure-native:compute/v20221101:DedicatedHost" }, { type: "azure-native:compute/v20230301:DedicatedHost" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20190301:DedicatedHost" }, { type: "azure-native:compute/v20190701:DedicatedHost" }, { type: "azure-native:compute/v20191201:DedicatedHost" }, { type: "azure-native:compute/v20200601:DedicatedHost" }, { type: "azure-native:compute/v20201201:DedicatedHost" }, { type: "azure-native:compute/v20210301:DedicatedHost" }, { type: "azure-native:compute/v20210401:DedicatedHost" }, { type: "azure-native:compute/v20210701:DedicatedHost" }, { type: "azure-native:compute/v20211101:DedicatedHost" }, { type: "azure-native:compute/v20220301:DedicatedHost" }, { type: "azure-native:compute/v20220801:DedicatedHost" }, { type: "azure-native:compute/v20221101:DedicatedHost" }, { type: "azure-native:compute/v20230301:DedicatedHost" }, { type: "azure-native:compute/v20230701:DedicatedHost" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DedicatedHost.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/dedicatedHostGroup.ts b/sdk/nodejs/compute/dedicatedHostGroup.ts index 2898385fc879..c9867a3593a1 100644 --- a/sdk/nodejs/compute/dedicatedHostGroup.ts +++ b/sdk/nodejs/compute/dedicatedHostGroup.ts @@ -121,7 +121,7 @@ export class DedicatedHostGroup extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20190301:DedicatedHostGroup" }, { type: "azure-native:compute/v20190701:DedicatedHostGroup" }, { type: "azure-native:compute/v20191201:DedicatedHostGroup" }, { type: "azure-native:compute/v20200601:DedicatedHostGroup" }, { type: "azure-native:compute/v20201201:DedicatedHostGroup" }, { type: "azure-native:compute/v20210301:DedicatedHostGroup" }, { type: "azure-native:compute/v20210401:DedicatedHostGroup" }, { type: "azure-native:compute/v20210701:DedicatedHostGroup" }, { type: "azure-native:compute/v20211101:DedicatedHostGroup" }, { type: "azure-native:compute/v20220301:DedicatedHostGroup" }, { type: "azure-native:compute/v20220801:DedicatedHostGroup" }, { type: "azure-native:compute/v20221101:DedicatedHostGroup" }, { type: "azure-native:compute/v20230301:DedicatedHostGroup" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20190301:DedicatedHostGroup" }, { type: "azure-native:compute/v20190701:DedicatedHostGroup" }, { type: "azure-native:compute/v20191201:DedicatedHostGroup" }, { type: "azure-native:compute/v20200601:DedicatedHostGroup" }, { type: "azure-native:compute/v20201201:DedicatedHostGroup" }, { type: "azure-native:compute/v20210301:DedicatedHostGroup" }, { type: "azure-native:compute/v20210401:DedicatedHostGroup" }, { type: "azure-native:compute/v20210701:DedicatedHostGroup" }, { type: "azure-native:compute/v20211101:DedicatedHostGroup" }, { type: "azure-native:compute/v20220301:DedicatedHostGroup" }, { type: "azure-native:compute/v20220801:DedicatedHostGroup" }, { type: "azure-native:compute/v20221101:DedicatedHostGroup" }, { type: "azure-native:compute/v20230301:DedicatedHostGroup" }, { type: "azure-native:compute/v20230701:DedicatedHostGroup" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DedicatedHostGroup.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/disk.ts b/sdk/nodejs/compute/disk.ts index 8f6dc962160f..c17c9c44634c 100644 --- a/sdk/nodejs/compute/disk.ts +++ b/sdk/nodejs/compute/disk.ts @@ -301,7 +301,7 @@ export class Disk extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20160430preview:Disk" }, { type: "azure-native:compute/v20170330:Disk" }, { type: "azure-native:compute/v20180401:Disk" }, { type: "azure-native:compute/v20180601:Disk" }, { type: "azure-native:compute/v20180930:Disk" }, { type: "azure-native:compute/v20190301:Disk" }, { type: "azure-native:compute/v20190701:Disk" }, { type: "azure-native:compute/v20191101:Disk" }, { type: "azure-native:compute/v20200501:Disk" }, { type: "azure-native:compute/v20200630:Disk" }, { type: "azure-native:compute/v20200930:Disk" }, { type: "azure-native:compute/v20201201:Disk" }, { type: "azure-native:compute/v20210401:Disk" }, { type: "azure-native:compute/v20210801:Disk" }, { type: "azure-native:compute/v20211201:Disk" }, { type: "azure-native:compute/v20220302:Disk" }, { type: "azure-native:compute/v20220702:Disk" }, { type: "azure-native:compute/v20230102:Disk" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20160430preview:Disk" }, { type: "azure-native:compute/v20170330:Disk" }, { type: "azure-native:compute/v20180401:Disk" }, { type: "azure-native:compute/v20180601:Disk" }, { type: "azure-native:compute/v20180930:Disk" }, { type: "azure-native:compute/v20190301:Disk" }, { type: "azure-native:compute/v20190701:Disk" }, { type: "azure-native:compute/v20191101:Disk" }, { type: "azure-native:compute/v20200501:Disk" }, { type: "azure-native:compute/v20200630:Disk" }, { type: "azure-native:compute/v20200930:Disk" }, { type: "azure-native:compute/v20201201:Disk" }, { type: "azure-native:compute/v20210401:Disk" }, { type: "azure-native:compute/v20210801:Disk" }, { type: "azure-native:compute/v20211201:Disk" }, { type: "azure-native:compute/v20220302:Disk" }, { type: "azure-native:compute/v20220702:Disk" }, { type: "azure-native:compute/v20230102:Disk" }, { type: "azure-native:compute/v20230402:Disk" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Disk.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/diskAccess.ts b/sdk/nodejs/compute/diskAccess.ts index 92fce3e35530..3c69ae2d888e 100644 --- a/sdk/nodejs/compute/diskAccess.ts +++ b/sdk/nodejs/compute/diskAccess.ts @@ -106,7 +106,7 @@ export class DiskAccess extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20200501:DiskAccess" }, { type: "azure-native:compute/v20200630:DiskAccess" }, { type: "azure-native:compute/v20200930:DiskAccess" }, { type: "azure-native:compute/v20201201:DiskAccess" }, { type: "azure-native:compute/v20210401:DiskAccess" }, { type: "azure-native:compute/v20210801:DiskAccess" }, { type: "azure-native:compute/v20211201:DiskAccess" }, { type: "azure-native:compute/v20220302:DiskAccess" }, { type: "azure-native:compute/v20220702:DiskAccess" }, { type: "azure-native:compute/v20230102:DiskAccess" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20200501:DiskAccess" }, { type: "azure-native:compute/v20200630:DiskAccess" }, { type: "azure-native:compute/v20200930:DiskAccess" }, { type: "azure-native:compute/v20201201:DiskAccess" }, { type: "azure-native:compute/v20210401:DiskAccess" }, { type: "azure-native:compute/v20210801:DiskAccess" }, { type: "azure-native:compute/v20211201:DiskAccess" }, { type: "azure-native:compute/v20220302:DiskAccess" }, { type: "azure-native:compute/v20220702:DiskAccess" }, { type: "azure-native:compute/v20230102:DiskAccess" }, { type: "azure-native:compute/v20230402:DiskAccess" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DiskAccess.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/diskAccessAPrivateEndpointConnection.ts b/sdk/nodejs/compute/diskAccessAPrivateEndpointConnection.ts index ebd42d8fdd9e..55f334efd509 100644 --- a/sdk/nodejs/compute/diskAccessAPrivateEndpointConnection.ts +++ b/sdk/nodejs/compute/diskAccessAPrivateEndpointConnection.ts @@ -95,7 +95,7 @@ export class DiskAccessAPrivateEndpointConnection extends pulumi.CustomResource resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DiskAccessAPrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/diskEncryptionSet.ts b/sdk/nodejs/compute/diskEncryptionSet.ts index cc2e7cebc124..6b04076a87ed 100644 --- a/sdk/nodejs/compute/diskEncryptionSet.ts +++ b/sdk/nodejs/compute/diskEncryptionSet.ts @@ -136,7 +136,7 @@ export class DiskEncryptionSet extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20190701:DiskEncryptionSet" }, { type: "azure-native:compute/v20191101:DiskEncryptionSet" }, { type: "azure-native:compute/v20200501:DiskEncryptionSet" }, { type: "azure-native:compute/v20200630:DiskEncryptionSet" }, { type: "azure-native:compute/v20200930:DiskEncryptionSet" }, { type: "azure-native:compute/v20201201:DiskEncryptionSet" }, { type: "azure-native:compute/v20210401:DiskEncryptionSet" }, { type: "azure-native:compute/v20210801:DiskEncryptionSet" }, { type: "azure-native:compute/v20211201:DiskEncryptionSet" }, { type: "azure-native:compute/v20220302:DiskEncryptionSet" }, { type: "azure-native:compute/v20220702:DiskEncryptionSet" }, { type: "azure-native:compute/v20230102:DiskEncryptionSet" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20190701:DiskEncryptionSet" }, { type: "azure-native:compute/v20191101:DiskEncryptionSet" }, { type: "azure-native:compute/v20200501:DiskEncryptionSet" }, { type: "azure-native:compute/v20200630:DiskEncryptionSet" }, { type: "azure-native:compute/v20200930:DiskEncryptionSet" }, { type: "azure-native:compute/v20201201:DiskEncryptionSet" }, { type: "azure-native:compute/v20210401:DiskEncryptionSet" }, { type: "azure-native:compute/v20210801:DiskEncryptionSet" }, { type: "azure-native:compute/v20211201:DiskEncryptionSet" }, { type: "azure-native:compute/v20220302:DiskEncryptionSet" }, { type: "azure-native:compute/v20220702:DiskEncryptionSet" }, { type: "azure-native:compute/v20230102:DiskEncryptionSet" }, { type: "azure-native:compute/v20230402:DiskEncryptionSet" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DiskEncryptionSet.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/image.ts b/sdk/nodejs/compute/image.ts index 9e4aad7934e9..1b31fe4428f6 100644 --- a/sdk/nodejs/compute/image.ts +++ b/sdk/nodejs/compute/image.ts @@ -112,7 +112,7 @@ export class Image extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20160430preview:Image" }, { type: "azure-native:compute/v20170330:Image" }, { type: "azure-native:compute/v20171201:Image" }, { type: "azure-native:compute/v20180401:Image" }, { type: "azure-native:compute/v20180601:Image" }, { type: "azure-native:compute/v20181001:Image" }, { type: "azure-native:compute/v20190301:Image" }, { type: "azure-native:compute/v20190701:Image" }, { type: "azure-native:compute/v20191201:Image" }, { type: "azure-native:compute/v20200601:Image" }, { type: "azure-native:compute/v20201201:Image" }, { type: "azure-native:compute/v20210301:Image" }, { type: "azure-native:compute/v20210401:Image" }, { type: "azure-native:compute/v20210701:Image" }, { type: "azure-native:compute/v20211101:Image" }, { type: "azure-native:compute/v20220301:Image" }, { type: "azure-native:compute/v20220801:Image" }, { type: "azure-native:compute/v20221101:Image" }, { type: "azure-native:compute/v20230301:Image" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20160430preview:Image" }, { type: "azure-native:compute/v20170330:Image" }, { type: "azure-native:compute/v20171201:Image" }, { type: "azure-native:compute/v20180401:Image" }, { type: "azure-native:compute/v20180601:Image" }, { type: "azure-native:compute/v20181001:Image" }, { type: "azure-native:compute/v20190301:Image" }, { type: "azure-native:compute/v20190701:Image" }, { type: "azure-native:compute/v20191201:Image" }, { type: "azure-native:compute/v20200601:Image" }, { type: "azure-native:compute/v20201201:Image" }, { type: "azure-native:compute/v20210301:Image" }, { type: "azure-native:compute/v20210401:Image" }, { type: "azure-native:compute/v20210701:Image" }, { type: "azure-native:compute/v20211101:Image" }, { type: "azure-native:compute/v20220301:Image" }, { type: "azure-native:compute/v20220801:Image" }, { type: "azure-native:compute/v20221101:Image" }, { type: "azure-native:compute/v20230301:Image" }, { type: "azure-native:compute/v20230701:Image" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Image.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/index.ts b/sdk/nodejs/compute/index.ts index 2c3201f0853b..4ab7c66a37af 100644 --- a/sdk/nodejs/compute/index.ts +++ b/sdk/nodejs/compute/index.ts @@ -323,6 +323,8 @@ import * as v20220904 from "./v20220904"; import * as v20221101 from "./v20221101"; import * as v20230102 from "./v20230102"; import * as v20230301 from "./v20230301"; +import * as v20230402 from "./v20230402"; +import * as v20230701 from "./v20230701"; export { v20201201, @@ -338,6 +340,8 @@ export { v20221101, v20230102, v20230301, + v20230402, + v20230701, }; const _module = { diff --git a/sdk/nodejs/compute/proximityPlacementGroup.ts b/sdk/nodejs/compute/proximityPlacementGroup.ts index 97863e45ce42..daeec1d8e778 100644 --- a/sdk/nodejs/compute/proximityPlacementGroup.ts +++ b/sdk/nodejs/compute/proximityPlacementGroup.ts @@ -124,7 +124,7 @@ export class ProximityPlacementGroup extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20180401:ProximityPlacementGroup" }, { type: "azure-native:compute/v20180601:ProximityPlacementGroup" }, { type: "azure-native:compute/v20181001:ProximityPlacementGroup" }, { type: "azure-native:compute/v20190301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20190701:ProximityPlacementGroup" }, { type: "azure-native:compute/v20191201:ProximityPlacementGroup" }, { type: "azure-native:compute/v20200601:ProximityPlacementGroup" }, { type: "azure-native:compute/v20201201:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210401:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210701:ProximityPlacementGroup" }, { type: "azure-native:compute/v20211101:ProximityPlacementGroup" }, { type: "azure-native:compute/v20220301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20220801:ProximityPlacementGroup" }, { type: "azure-native:compute/v20221101:ProximityPlacementGroup" }, { type: "azure-native:compute/v20230301:ProximityPlacementGroup" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20180401:ProximityPlacementGroup" }, { type: "azure-native:compute/v20180601:ProximityPlacementGroup" }, { type: "azure-native:compute/v20181001:ProximityPlacementGroup" }, { type: "azure-native:compute/v20190301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20190701:ProximityPlacementGroup" }, { type: "azure-native:compute/v20191201:ProximityPlacementGroup" }, { type: "azure-native:compute/v20200601:ProximityPlacementGroup" }, { type: "azure-native:compute/v20201201:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210401:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210701:ProximityPlacementGroup" }, { type: "azure-native:compute/v20211101:ProximityPlacementGroup" }, { type: "azure-native:compute/v20220301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20220801:ProximityPlacementGroup" }, { type: "azure-native:compute/v20221101:ProximityPlacementGroup" }, { type: "azure-native:compute/v20230301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20230701:ProximityPlacementGroup" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ProximityPlacementGroup.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/restorePoint.ts b/sdk/nodejs/compute/restorePoint.ts index b8581a343318..bfe66678fd01 100644 --- a/sdk/nodejs/compute/restorePoint.ts +++ b/sdk/nodejs/compute/restorePoint.ts @@ -116,7 +116,7 @@ export class RestorePoint extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20210301:RestorePoint" }, { type: "azure-native:compute/v20210401:RestorePoint" }, { type: "azure-native:compute/v20210701:RestorePoint" }, { type: "azure-native:compute/v20211101:RestorePoint" }, { type: "azure-native:compute/v20220301:RestorePoint" }, { type: "azure-native:compute/v20220801:RestorePoint" }, { type: "azure-native:compute/v20221101:RestorePoint" }, { type: "azure-native:compute/v20230301:RestorePoint" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20210301:RestorePoint" }, { type: "azure-native:compute/v20210401:RestorePoint" }, { type: "azure-native:compute/v20210701:RestorePoint" }, { type: "azure-native:compute/v20211101:RestorePoint" }, { type: "azure-native:compute/v20220301:RestorePoint" }, { type: "azure-native:compute/v20220801:RestorePoint" }, { type: "azure-native:compute/v20221101:RestorePoint" }, { type: "azure-native:compute/v20230301:RestorePoint" }, { type: "azure-native:compute/v20230701:RestorePoint" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(RestorePoint.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/restorePointCollection.ts b/sdk/nodejs/compute/restorePointCollection.ts index 563c9e59c17a..5f9696e8ad06 100644 --- a/sdk/nodejs/compute/restorePointCollection.ts +++ b/sdk/nodejs/compute/restorePointCollection.ts @@ -106,7 +106,7 @@ export class RestorePointCollection extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20210301:RestorePointCollection" }, { type: "azure-native:compute/v20210401:RestorePointCollection" }, { type: "azure-native:compute/v20210701:RestorePointCollection" }, { type: "azure-native:compute/v20211101:RestorePointCollection" }, { type: "azure-native:compute/v20220301:RestorePointCollection" }, { type: "azure-native:compute/v20220801:RestorePointCollection" }, { type: "azure-native:compute/v20221101:RestorePointCollection" }, { type: "azure-native:compute/v20230301:RestorePointCollection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20210301:RestorePointCollection" }, { type: "azure-native:compute/v20210401:RestorePointCollection" }, { type: "azure-native:compute/v20210701:RestorePointCollection" }, { type: "azure-native:compute/v20211101:RestorePointCollection" }, { type: "azure-native:compute/v20220301:RestorePointCollection" }, { type: "azure-native:compute/v20220801:RestorePointCollection" }, { type: "azure-native:compute/v20221101:RestorePointCollection" }, { type: "azure-native:compute/v20230301:RestorePointCollection" }, { type: "azure-native:compute/v20230701:RestorePointCollection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(RestorePointCollection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/snapshot.ts b/sdk/nodejs/compute/snapshot.ts index f25d568b51d2..43c6e48cf904 100644 --- a/sdk/nodejs/compute/snapshot.ts +++ b/sdk/nodejs/compute/snapshot.ts @@ -241,7 +241,7 @@ export class Snapshot extends pulumi.CustomResource { resourceInputs["uniqueId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20160430preview:Snapshot" }, { type: "azure-native:compute/v20170330:Snapshot" }, { type: "azure-native:compute/v20180401:Snapshot" }, { type: "azure-native:compute/v20180601:Snapshot" }, { type: "azure-native:compute/v20180930:Snapshot" }, { type: "azure-native:compute/v20190301:Snapshot" }, { type: "azure-native:compute/v20190701:Snapshot" }, { type: "azure-native:compute/v20191101:Snapshot" }, { type: "azure-native:compute/v20200501:Snapshot" }, { type: "azure-native:compute/v20200630:Snapshot" }, { type: "azure-native:compute/v20200930:Snapshot" }, { type: "azure-native:compute/v20201201:Snapshot" }, { type: "azure-native:compute/v20210401:Snapshot" }, { type: "azure-native:compute/v20210801:Snapshot" }, { type: "azure-native:compute/v20211201:Snapshot" }, { type: "azure-native:compute/v20220302:Snapshot" }, { type: "azure-native:compute/v20220702:Snapshot" }, { type: "azure-native:compute/v20230102:Snapshot" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20160430preview:Snapshot" }, { type: "azure-native:compute/v20170330:Snapshot" }, { type: "azure-native:compute/v20180401:Snapshot" }, { type: "azure-native:compute/v20180601:Snapshot" }, { type: "azure-native:compute/v20180930:Snapshot" }, { type: "azure-native:compute/v20190301:Snapshot" }, { type: "azure-native:compute/v20190701:Snapshot" }, { type: "azure-native:compute/v20191101:Snapshot" }, { type: "azure-native:compute/v20200501:Snapshot" }, { type: "azure-native:compute/v20200630:Snapshot" }, { type: "azure-native:compute/v20200930:Snapshot" }, { type: "azure-native:compute/v20201201:Snapshot" }, { type: "azure-native:compute/v20210401:Snapshot" }, { type: "azure-native:compute/v20210801:Snapshot" }, { type: "azure-native:compute/v20211201:Snapshot" }, { type: "azure-native:compute/v20220302:Snapshot" }, { type: "azure-native:compute/v20220702:Snapshot" }, { type: "azure-native:compute/v20230102:Snapshot" }, { type: "azure-native:compute/v20230402:Snapshot" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Snapshot.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/sshPublicKey.ts b/sdk/nodejs/compute/sshPublicKey.ts index 443124a95a68..076016add03c 100644 --- a/sdk/nodejs/compute/sshPublicKey.ts +++ b/sdk/nodejs/compute/sshPublicKey.ts @@ -85,7 +85,7 @@ export class SshPublicKey extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20191201:SshPublicKey" }, { type: "azure-native:compute/v20200601:SshPublicKey" }, { type: "azure-native:compute/v20201201:SshPublicKey" }, { type: "azure-native:compute/v20210301:SshPublicKey" }, { type: "azure-native:compute/v20210401:SshPublicKey" }, { type: "azure-native:compute/v20210701:SshPublicKey" }, { type: "azure-native:compute/v20211101:SshPublicKey" }, { type: "azure-native:compute/v20220301:SshPublicKey" }, { type: "azure-native:compute/v20220801:SshPublicKey" }, { type: "azure-native:compute/v20221101:SshPublicKey" }, { type: "azure-native:compute/v20230301:SshPublicKey" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20191201:SshPublicKey" }, { type: "azure-native:compute/v20200601:SshPublicKey" }, { type: "azure-native:compute/v20201201:SshPublicKey" }, { type: "azure-native:compute/v20210301:SshPublicKey" }, { type: "azure-native:compute/v20210401:SshPublicKey" }, { type: "azure-native:compute/v20210701:SshPublicKey" }, { type: "azure-native:compute/v20211101:SshPublicKey" }, { type: "azure-native:compute/v20220301:SshPublicKey" }, { type: "azure-native:compute/v20220801:SshPublicKey" }, { type: "azure-native:compute/v20221101:SshPublicKey" }, { type: "azure-native:compute/v20230301:SshPublicKey" }, { type: "azure-native:compute/v20230701:SshPublicKey" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(SshPublicKey.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20211101/restorePoint.ts b/sdk/nodejs/compute/v20211101/restorePoint.ts index c0d199414cb7..d4867c530502 100644 --- a/sdk/nodejs/compute/v20211101/restorePoint.ts +++ b/sdk/nodejs/compute/v20211101/restorePoint.ts @@ -115,7 +115,7 @@ export class RestorePoint extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:RestorePoint" }, { type: "azure-native:compute/v20210301:RestorePoint" }, { type: "azure-native:compute/v20210401:RestorePoint" }, { type: "azure-native:compute/v20210701:RestorePoint" }, { type: "azure-native:compute/v20220301:RestorePoint" }, { type: "azure-native:compute/v20220801:RestorePoint" }, { type: "azure-native:compute/v20221101:RestorePoint" }, { type: "azure-native:compute/v20230301:RestorePoint" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:RestorePoint" }, { type: "azure-native:compute/v20210301:RestorePoint" }, { type: "azure-native:compute/v20210401:RestorePoint" }, { type: "azure-native:compute/v20210701:RestorePoint" }, { type: "azure-native:compute/v20220301:RestorePoint" }, { type: "azure-native:compute/v20220801:RestorePoint" }, { type: "azure-native:compute/v20221101:RestorePoint" }, { type: "azure-native:compute/v20230301:RestorePoint" }, { type: "azure-native:compute/v20230701:RestorePoint" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(RestorePoint.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20211101/virtualMachineExtension.ts b/sdk/nodejs/compute/v20211101/virtualMachineExtension.ts index b049984ccc20..cb5ea84dc441 100644 --- a/sdk/nodejs/compute/v20211101/virtualMachineExtension.ts +++ b/sdk/nodejs/compute/v20211101/virtualMachineExtension.ts @@ -151,7 +151,7 @@ export class VirtualMachineExtension extends pulumi.CustomResource { resourceInputs["typeHandlerVersion"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineExtension" }, { type: "azure-native:compute/v20150615:VirtualMachineExtension" }, { type: "azure-native:compute/v20160330:VirtualMachineExtension" }, { type: "azure-native:compute/v20160430preview:VirtualMachineExtension" }, { type: "azure-native:compute/v20170330:VirtualMachineExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineExtension" }, { type: "azure-native:compute/v20150615:VirtualMachineExtension" }, { type: "azure-native:compute/v20160330:VirtualMachineExtension" }, { type: "azure-native:compute/v20160430preview:VirtualMachineExtension" }, { type: "azure-native:compute/v20170330:VirtualMachineExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineExtension" }, { type: "azure-native:compute/v20230701:VirtualMachineExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20211101/virtualMachineScaleSetExtension.ts b/sdk/nodejs/compute/v20211101/virtualMachineScaleSetExtension.ts index bf6c4cff3b42..78c8c5685b2d 100644 --- a/sdk/nodejs/compute/v20211101/virtualMachineScaleSetExtension.ts +++ b/sdk/nodejs/compute/v20211101/virtualMachineScaleSetExtension.ts @@ -136,7 +136,7 @@ export class VirtualMachineScaleSetExtension extends pulumi.CustomResource { resourceInputs["typeHandlerVersion"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20170330:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20170330:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20230701:VirtualMachineScaleSetExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineScaleSetExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20211101/virtualMachineScaleSetVMExtension.ts b/sdk/nodejs/compute/v20211101/virtualMachineScaleSetVMExtension.ts index c0e86cc6d8b0..ada5aa0fc396 100644 --- a/sdk/nodejs/compute/v20211101/virtualMachineScaleSetVMExtension.ts +++ b/sdk/nodejs/compute/v20211101/virtualMachineScaleSetVMExtension.ts @@ -143,7 +143,7 @@ export class VirtualMachineScaleSetVMExtension extends pulumi.CustomResource { resourceInputs["typeHandlerVersion"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineScaleSetVMExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20220702/disk.ts b/sdk/nodejs/compute/v20220702/disk.ts index 24642c6ad190..85037b742a03 100644 --- a/sdk/nodejs/compute/v20220702/disk.ts +++ b/sdk/nodejs/compute/v20220702/disk.ts @@ -300,7 +300,7 @@ export class Disk extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:Disk" }, { type: "azure-native:compute/v20160430preview:Disk" }, { type: "azure-native:compute/v20170330:Disk" }, { type: "azure-native:compute/v20180401:Disk" }, { type: "azure-native:compute/v20180601:Disk" }, { type: "azure-native:compute/v20180930:Disk" }, { type: "azure-native:compute/v20190301:Disk" }, { type: "azure-native:compute/v20190701:Disk" }, { type: "azure-native:compute/v20191101:Disk" }, { type: "azure-native:compute/v20200501:Disk" }, { type: "azure-native:compute/v20200630:Disk" }, { type: "azure-native:compute/v20200930:Disk" }, { type: "azure-native:compute/v20201201:Disk" }, { type: "azure-native:compute/v20210401:Disk" }, { type: "azure-native:compute/v20210801:Disk" }, { type: "azure-native:compute/v20211201:Disk" }, { type: "azure-native:compute/v20220302:Disk" }, { type: "azure-native:compute/v20230102:Disk" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:Disk" }, { type: "azure-native:compute/v20160430preview:Disk" }, { type: "azure-native:compute/v20170330:Disk" }, { type: "azure-native:compute/v20180401:Disk" }, { type: "azure-native:compute/v20180601:Disk" }, { type: "azure-native:compute/v20180930:Disk" }, { type: "azure-native:compute/v20190301:Disk" }, { type: "azure-native:compute/v20190701:Disk" }, { type: "azure-native:compute/v20191101:Disk" }, { type: "azure-native:compute/v20200501:Disk" }, { type: "azure-native:compute/v20200630:Disk" }, { type: "azure-native:compute/v20200930:Disk" }, { type: "azure-native:compute/v20201201:Disk" }, { type: "azure-native:compute/v20210401:Disk" }, { type: "azure-native:compute/v20210801:Disk" }, { type: "azure-native:compute/v20211201:Disk" }, { type: "azure-native:compute/v20220302:Disk" }, { type: "azure-native:compute/v20230102:Disk" }, { type: "azure-native:compute/v20230402:Disk" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Disk.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20220702/diskAccess.ts b/sdk/nodejs/compute/v20220702/diskAccess.ts index bdd086c7e1f8..9ae352f9dc24 100644 --- a/sdk/nodejs/compute/v20220702/diskAccess.ts +++ b/sdk/nodejs/compute/v20220702/diskAccess.ts @@ -105,7 +105,7 @@ export class DiskAccess extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskAccess" }, { type: "azure-native:compute/v20200501:DiskAccess" }, { type: "azure-native:compute/v20200630:DiskAccess" }, { type: "azure-native:compute/v20200930:DiskAccess" }, { type: "azure-native:compute/v20201201:DiskAccess" }, { type: "azure-native:compute/v20210401:DiskAccess" }, { type: "azure-native:compute/v20210801:DiskAccess" }, { type: "azure-native:compute/v20211201:DiskAccess" }, { type: "azure-native:compute/v20220302:DiskAccess" }, { type: "azure-native:compute/v20230102:DiskAccess" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskAccess" }, { type: "azure-native:compute/v20200501:DiskAccess" }, { type: "azure-native:compute/v20200630:DiskAccess" }, { type: "azure-native:compute/v20200930:DiskAccess" }, { type: "azure-native:compute/v20201201:DiskAccess" }, { type: "azure-native:compute/v20210401:DiskAccess" }, { type: "azure-native:compute/v20210801:DiskAccess" }, { type: "azure-native:compute/v20211201:DiskAccess" }, { type: "azure-native:compute/v20220302:DiskAccess" }, { type: "azure-native:compute/v20230102:DiskAccess" }, { type: "azure-native:compute/v20230402:DiskAccess" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DiskAccess.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20220702/diskAccessAPrivateEndpointConnection.ts b/sdk/nodejs/compute/v20220702/diskAccessAPrivateEndpointConnection.ts index 099c1a7d5f60..b355eb3f3ede 100644 --- a/sdk/nodejs/compute/v20220702/diskAccessAPrivateEndpointConnection.ts +++ b/sdk/nodejs/compute/v20220702/diskAccessAPrivateEndpointConnection.ts @@ -94,7 +94,7 @@ export class DiskAccessAPrivateEndpointConnection extends pulumi.CustomResource resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DiskAccessAPrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20220702/diskEncryptionSet.ts b/sdk/nodejs/compute/v20220702/diskEncryptionSet.ts index 686e9769a194..b7b8782f239f 100644 --- a/sdk/nodejs/compute/v20220702/diskEncryptionSet.ts +++ b/sdk/nodejs/compute/v20220702/diskEncryptionSet.ts @@ -135,7 +135,7 @@ export class DiskEncryptionSet extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskEncryptionSet" }, { type: "azure-native:compute/v20190701:DiskEncryptionSet" }, { type: "azure-native:compute/v20191101:DiskEncryptionSet" }, { type: "azure-native:compute/v20200501:DiskEncryptionSet" }, { type: "azure-native:compute/v20200630:DiskEncryptionSet" }, { type: "azure-native:compute/v20200930:DiskEncryptionSet" }, { type: "azure-native:compute/v20201201:DiskEncryptionSet" }, { type: "azure-native:compute/v20210401:DiskEncryptionSet" }, { type: "azure-native:compute/v20210801:DiskEncryptionSet" }, { type: "azure-native:compute/v20211201:DiskEncryptionSet" }, { type: "azure-native:compute/v20220302:DiskEncryptionSet" }, { type: "azure-native:compute/v20230102:DiskEncryptionSet" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskEncryptionSet" }, { type: "azure-native:compute/v20190701:DiskEncryptionSet" }, { type: "azure-native:compute/v20191101:DiskEncryptionSet" }, { type: "azure-native:compute/v20200501:DiskEncryptionSet" }, { type: "azure-native:compute/v20200630:DiskEncryptionSet" }, { type: "azure-native:compute/v20200930:DiskEncryptionSet" }, { type: "azure-native:compute/v20201201:DiskEncryptionSet" }, { type: "azure-native:compute/v20210401:DiskEncryptionSet" }, { type: "azure-native:compute/v20210801:DiskEncryptionSet" }, { type: "azure-native:compute/v20211201:DiskEncryptionSet" }, { type: "azure-native:compute/v20220302:DiskEncryptionSet" }, { type: "azure-native:compute/v20230102:DiskEncryptionSet" }, { type: "azure-native:compute/v20230402:DiskEncryptionSet" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DiskEncryptionSet.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20220702/snapshot.ts b/sdk/nodejs/compute/v20220702/snapshot.ts index 72f3d06f833e..587bf72ee0e9 100644 --- a/sdk/nodejs/compute/v20220702/snapshot.ts +++ b/sdk/nodejs/compute/v20220702/snapshot.ts @@ -240,7 +240,7 @@ export class Snapshot extends pulumi.CustomResource { resourceInputs["uniqueId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:Snapshot" }, { type: "azure-native:compute/v20160430preview:Snapshot" }, { type: "azure-native:compute/v20170330:Snapshot" }, { type: "azure-native:compute/v20180401:Snapshot" }, { type: "azure-native:compute/v20180601:Snapshot" }, { type: "azure-native:compute/v20180930:Snapshot" }, { type: "azure-native:compute/v20190301:Snapshot" }, { type: "azure-native:compute/v20190701:Snapshot" }, { type: "azure-native:compute/v20191101:Snapshot" }, { type: "azure-native:compute/v20200501:Snapshot" }, { type: "azure-native:compute/v20200630:Snapshot" }, { type: "azure-native:compute/v20200930:Snapshot" }, { type: "azure-native:compute/v20201201:Snapshot" }, { type: "azure-native:compute/v20210401:Snapshot" }, { type: "azure-native:compute/v20210801:Snapshot" }, { type: "azure-native:compute/v20211201:Snapshot" }, { type: "azure-native:compute/v20220302:Snapshot" }, { type: "azure-native:compute/v20230102:Snapshot" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:Snapshot" }, { type: "azure-native:compute/v20160430preview:Snapshot" }, { type: "azure-native:compute/v20170330:Snapshot" }, { type: "azure-native:compute/v20180401:Snapshot" }, { type: "azure-native:compute/v20180601:Snapshot" }, { type: "azure-native:compute/v20180930:Snapshot" }, { type: "azure-native:compute/v20190301:Snapshot" }, { type: "azure-native:compute/v20190701:Snapshot" }, { type: "azure-native:compute/v20191101:Snapshot" }, { type: "azure-native:compute/v20200501:Snapshot" }, { type: "azure-native:compute/v20200630:Snapshot" }, { type: "azure-native:compute/v20200930:Snapshot" }, { type: "azure-native:compute/v20201201:Snapshot" }, { type: "azure-native:compute/v20210401:Snapshot" }, { type: "azure-native:compute/v20210801:Snapshot" }, { type: "azure-native:compute/v20211201:Snapshot" }, { type: "azure-native:compute/v20220302:Snapshot" }, { type: "azure-native:compute/v20230102:Snapshot" }, { type: "azure-native:compute/v20230402:Snapshot" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Snapshot.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20221101/restorePoint.ts b/sdk/nodejs/compute/v20221101/restorePoint.ts index f094ad91eb71..5605fa10a309 100644 --- a/sdk/nodejs/compute/v20221101/restorePoint.ts +++ b/sdk/nodejs/compute/v20221101/restorePoint.ts @@ -115,7 +115,7 @@ export class RestorePoint extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:RestorePoint" }, { type: "azure-native:compute/v20210301:RestorePoint" }, { type: "azure-native:compute/v20210401:RestorePoint" }, { type: "azure-native:compute/v20210701:RestorePoint" }, { type: "azure-native:compute/v20211101:RestorePoint" }, { type: "azure-native:compute/v20220301:RestorePoint" }, { type: "azure-native:compute/v20220801:RestorePoint" }, { type: "azure-native:compute/v20230301:RestorePoint" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:RestorePoint" }, { type: "azure-native:compute/v20210301:RestorePoint" }, { type: "azure-native:compute/v20210401:RestorePoint" }, { type: "azure-native:compute/v20210701:RestorePoint" }, { type: "azure-native:compute/v20211101:RestorePoint" }, { type: "azure-native:compute/v20220301:RestorePoint" }, { type: "azure-native:compute/v20220801:RestorePoint" }, { type: "azure-native:compute/v20230301:RestorePoint" }, { type: "azure-native:compute/v20230701:RestorePoint" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(RestorePoint.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230102/disk.ts b/sdk/nodejs/compute/v20230102/disk.ts index 1e50a3b10eeb..14646990759b 100644 --- a/sdk/nodejs/compute/v20230102/disk.ts +++ b/sdk/nodejs/compute/v20230102/disk.ts @@ -300,7 +300,7 @@ export class Disk extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:Disk" }, { type: "azure-native:compute/v20160430preview:Disk" }, { type: "azure-native:compute/v20170330:Disk" }, { type: "azure-native:compute/v20180401:Disk" }, { type: "azure-native:compute/v20180601:Disk" }, { type: "azure-native:compute/v20180930:Disk" }, { type: "azure-native:compute/v20190301:Disk" }, { type: "azure-native:compute/v20190701:Disk" }, { type: "azure-native:compute/v20191101:Disk" }, { type: "azure-native:compute/v20200501:Disk" }, { type: "azure-native:compute/v20200630:Disk" }, { type: "azure-native:compute/v20200930:Disk" }, { type: "azure-native:compute/v20201201:Disk" }, { type: "azure-native:compute/v20210401:Disk" }, { type: "azure-native:compute/v20210801:Disk" }, { type: "azure-native:compute/v20211201:Disk" }, { type: "azure-native:compute/v20220302:Disk" }, { type: "azure-native:compute/v20220702:Disk" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:Disk" }, { type: "azure-native:compute/v20160430preview:Disk" }, { type: "azure-native:compute/v20170330:Disk" }, { type: "azure-native:compute/v20180401:Disk" }, { type: "azure-native:compute/v20180601:Disk" }, { type: "azure-native:compute/v20180930:Disk" }, { type: "azure-native:compute/v20190301:Disk" }, { type: "azure-native:compute/v20190701:Disk" }, { type: "azure-native:compute/v20191101:Disk" }, { type: "azure-native:compute/v20200501:Disk" }, { type: "azure-native:compute/v20200630:Disk" }, { type: "azure-native:compute/v20200930:Disk" }, { type: "azure-native:compute/v20201201:Disk" }, { type: "azure-native:compute/v20210401:Disk" }, { type: "azure-native:compute/v20210801:Disk" }, { type: "azure-native:compute/v20211201:Disk" }, { type: "azure-native:compute/v20220302:Disk" }, { type: "azure-native:compute/v20220702:Disk" }, { type: "azure-native:compute/v20230402:Disk" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Disk.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230102/diskAccess.ts b/sdk/nodejs/compute/v20230102/diskAccess.ts index 0ed704a01825..7d353c49605c 100644 --- a/sdk/nodejs/compute/v20230102/diskAccess.ts +++ b/sdk/nodejs/compute/v20230102/diskAccess.ts @@ -105,7 +105,7 @@ export class DiskAccess extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskAccess" }, { type: "azure-native:compute/v20200501:DiskAccess" }, { type: "azure-native:compute/v20200630:DiskAccess" }, { type: "azure-native:compute/v20200930:DiskAccess" }, { type: "azure-native:compute/v20201201:DiskAccess" }, { type: "azure-native:compute/v20210401:DiskAccess" }, { type: "azure-native:compute/v20210801:DiskAccess" }, { type: "azure-native:compute/v20211201:DiskAccess" }, { type: "azure-native:compute/v20220302:DiskAccess" }, { type: "azure-native:compute/v20220702:DiskAccess" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskAccess" }, { type: "azure-native:compute/v20200501:DiskAccess" }, { type: "azure-native:compute/v20200630:DiskAccess" }, { type: "azure-native:compute/v20200930:DiskAccess" }, { type: "azure-native:compute/v20201201:DiskAccess" }, { type: "azure-native:compute/v20210401:DiskAccess" }, { type: "azure-native:compute/v20210801:DiskAccess" }, { type: "azure-native:compute/v20211201:DiskAccess" }, { type: "azure-native:compute/v20220302:DiskAccess" }, { type: "azure-native:compute/v20220702:DiskAccess" }, { type: "azure-native:compute/v20230402:DiskAccess" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DiskAccess.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230102/diskAccessAPrivateEndpointConnection.ts b/sdk/nodejs/compute/v20230102/diskAccessAPrivateEndpointConnection.ts index 361b47e58f2b..fa5eab346479 100644 --- a/sdk/nodejs/compute/v20230102/diskAccessAPrivateEndpointConnection.ts +++ b/sdk/nodejs/compute/v20230102/diskAccessAPrivateEndpointConnection.ts @@ -94,7 +94,7 @@ export class DiskAccessAPrivateEndpointConnection extends pulumi.CustomResource resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DiskAccessAPrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230102/diskEncryptionSet.ts b/sdk/nodejs/compute/v20230102/diskEncryptionSet.ts index 0be1723009dc..98fd3997da47 100644 --- a/sdk/nodejs/compute/v20230102/diskEncryptionSet.ts +++ b/sdk/nodejs/compute/v20230102/diskEncryptionSet.ts @@ -135,7 +135,7 @@ export class DiskEncryptionSet extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskEncryptionSet" }, { type: "azure-native:compute/v20190701:DiskEncryptionSet" }, { type: "azure-native:compute/v20191101:DiskEncryptionSet" }, { type: "azure-native:compute/v20200501:DiskEncryptionSet" }, { type: "azure-native:compute/v20200630:DiskEncryptionSet" }, { type: "azure-native:compute/v20200930:DiskEncryptionSet" }, { type: "azure-native:compute/v20201201:DiskEncryptionSet" }, { type: "azure-native:compute/v20210401:DiskEncryptionSet" }, { type: "azure-native:compute/v20210801:DiskEncryptionSet" }, { type: "azure-native:compute/v20211201:DiskEncryptionSet" }, { type: "azure-native:compute/v20220302:DiskEncryptionSet" }, { type: "azure-native:compute/v20220702:DiskEncryptionSet" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskEncryptionSet" }, { type: "azure-native:compute/v20190701:DiskEncryptionSet" }, { type: "azure-native:compute/v20191101:DiskEncryptionSet" }, { type: "azure-native:compute/v20200501:DiskEncryptionSet" }, { type: "azure-native:compute/v20200630:DiskEncryptionSet" }, { type: "azure-native:compute/v20200930:DiskEncryptionSet" }, { type: "azure-native:compute/v20201201:DiskEncryptionSet" }, { type: "azure-native:compute/v20210401:DiskEncryptionSet" }, { type: "azure-native:compute/v20210801:DiskEncryptionSet" }, { type: "azure-native:compute/v20211201:DiskEncryptionSet" }, { type: "azure-native:compute/v20220302:DiskEncryptionSet" }, { type: "azure-native:compute/v20220702:DiskEncryptionSet" }, { type: "azure-native:compute/v20230402:DiskEncryptionSet" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DiskEncryptionSet.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230102/snapshot.ts b/sdk/nodejs/compute/v20230102/snapshot.ts index ca2938484432..a553abe46da8 100644 --- a/sdk/nodejs/compute/v20230102/snapshot.ts +++ b/sdk/nodejs/compute/v20230102/snapshot.ts @@ -240,7 +240,7 @@ export class Snapshot extends pulumi.CustomResource { resourceInputs["uniqueId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:Snapshot" }, { type: "azure-native:compute/v20160430preview:Snapshot" }, { type: "azure-native:compute/v20170330:Snapshot" }, { type: "azure-native:compute/v20180401:Snapshot" }, { type: "azure-native:compute/v20180601:Snapshot" }, { type: "azure-native:compute/v20180930:Snapshot" }, { type: "azure-native:compute/v20190301:Snapshot" }, { type: "azure-native:compute/v20190701:Snapshot" }, { type: "azure-native:compute/v20191101:Snapshot" }, { type: "azure-native:compute/v20200501:Snapshot" }, { type: "azure-native:compute/v20200630:Snapshot" }, { type: "azure-native:compute/v20200930:Snapshot" }, { type: "azure-native:compute/v20201201:Snapshot" }, { type: "azure-native:compute/v20210401:Snapshot" }, { type: "azure-native:compute/v20210801:Snapshot" }, { type: "azure-native:compute/v20211201:Snapshot" }, { type: "azure-native:compute/v20220302:Snapshot" }, { type: "azure-native:compute/v20220702:Snapshot" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:Snapshot" }, { type: "azure-native:compute/v20160430preview:Snapshot" }, { type: "azure-native:compute/v20170330:Snapshot" }, { type: "azure-native:compute/v20180401:Snapshot" }, { type: "azure-native:compute/v20180601:Snapshot" }, { type: "azure-native:compute/v20180930:Snapshot" }, { type: "azure-native:compute/v20190301:Snapshot" }, { type: "azure-native:compute/v20190701:Snapshot" }, { type: "azure-native:compute/v20191101:Snapshot" }, { type: "azure-native:compute/v20200501:Snapshot" }, { type: "azure-native:compute/v20200630:Snapshot" }, { type: "azure-native:compute/v20200930:Snapshot" }, { type: "azure-native:compute/v20201201:Snapshot" }, { type: "azure-native:compute/v20210401:Snapshot" }, { type: "azure-native:compute/v20210801:Snapshot" }, { type: "azure-native:compute/v20211201:Snapshot" }, { type: "azure-native:compute/v20220302:Snapshot" }, { type: "azure-native:compute/v20220702:Snapshot" }, { type: "azure-native:compute/v20230402:Snapshot" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Snapshot.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/availabilitySet.ts b/sdk/nodejs/compute/v20230301/availabilitySet.ts index ee8033b9e06d..a481a97ebf16 100644 --- a/sdk/nodejs/compute/v20230301/availabilitySet.ts +++ b/sdk/nodejs/compute/v20230301/availabilitySet.ts @@ -117,7 +117,7 @@ export class AvailabilitySet extends pulumi.CustomResource { resourceInputs["virtualMachines"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:AvailabilitySet" }, { type: "azure-native:compute/v20150615:AvailabilitySet" }, { type: "azure-native:compute/v20160330:AvailabilitySet" }, { type: "azure-native:compute/v20160430preview:AvailabilitySet" }, { type: "azure-native:compute/v20170330:AvailabilitySet" }, { type: "azure-native:compute/v20171201:AvailabilitySet" }, { type: "azure-native:compute/v20180401:AvailabilitySet" }, { type: "azure-native:compute/v20180601:AvailabilitySet" }, { type: "azure-native:compute/v20181001:AvailabilitySet" }, { type: "azure-native:compute/v20190301:AvailabilitySet" }, { type: "azure-native:compute/v20190701:AvailabilitySet" }, { type: "azure-native:compute/v20191201:AvailabilitySet" }, { type: "azure-native:compute/v20200601:AvailabilitySet" }, { type: "azure-native:compute/v20201201:AvailabilitySet" }, { type: "azure-native:compute/v20210301:AvailabilitySet" }, { type: "azure-native:compute/v20210401:AvailabilitySet" }, { type: "azure-native:compute/v20210701:AvailabilitySet" }, { type: "azure-native:compute/v20211101:AvailabilitySet" }, { type: "azure-native:compute/v20220301:AvailabilitySet" }, { type: "azure-native:compute/v20220801:AvailabilitySet" }, { type: "azure-native:compute/v20221101:AvailabilitySet" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:AvailabilitySet" }, { type: "azure-native:compute/v20150615:AvailabilitySet" }, { type: "azure-native:compute/v20160330:AvailabilitySet" }, { type: "azure-native:compute/v20160430preview:AvailabilitySet" }, { type: "azure-native:compute/v20170330:AvailabilitySet" }, { type: "azure-native:compute/v20171201:AvailabilitySet" }, { type: "azure-native:compute/v20180401:AvailabilitySet" }, { type: "azure-native:compute/v20180601:AvailabilitySet" }, { type: "azure-native:compute/v20181001:AvailabilitySet" }, { type: "azure-native:compute/v20190301:AvailabilitySet" }, { type: "azure-native:compute/v20190701:AvailabilitySet" }, { type: "azure-native:compute/v20191201:AvailabilitySet" }, { type: "azure-native:compute/v20200601:AvailabilitySet" }, { type: "azure-native:compute/v20201201:AvailabilitySet" }, { type: "azure-native:compute/v20210301:AvailabilitySet" }, { type: "azure-native:compute/v20210401:AvailabilitySet" }, { type: "azure-native:compute/v20210701:AvailabilitySet" }, { type: "azure-native:compute/v20211101:AvailabilitySet" }, { type: "azure-native:compute/v20220301:AvailabilitySet" }, { type: "azure-native:compute/v20220801:AvailabilitySet" }, { type: "azure-native:compute/v20221101:AvailabilitySet" }, { type: "azure-native:compute/v20230701:AvailabilitySet" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(AvailabilitySet.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/capacityReservation.ts b/sdk/nodejs/compute/v20230301/capacityReservation.ts index 2516b4f5e7da..0d297a82ad35 100644 --- a/sdk/nodejs/compute/v20230301/capacityReservation.ts +++ b/sdk/nodejs/compute/v20230301/capacityReservation.ts @@ -142,7 +142,7 @@ export class CapacityReservation extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:CapacityReservation" }, { type: "azure-native:compute/v20210401:CapacityReservation" }, { type: "azure-native:compute/v20210701:CapacityReservation" }, { type: "azure-native:compute/v20211101:CapacityReservation" }, { type: "azure-native:compute/v20220301:CapacityReservation" }, { type: "azure-native:compute/v20220801:CapacityReservation" }, { type: "azure-native:compute/v20221101:CapacityReservation" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:CapacityReservation" }, { type: "azure-native:compute/v20210401:CapacityReservation" }, { type: "azure-native:compute/v20210701:CapacityReservation" }, { type: "azure-native:compute/v20211101:CapacityReservation" }, { type: "azure-native:compute/v20220301:CapacityReservation" }, { type: "azure-native:compute/v20220801:CapacityReservation" }, { type: "azure-native:compute/v20221101:CapacityReservation" }, { type: "azure-native:compute/v20230701:CapacityReservation" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(CapacityReservation.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/capacityReservationGroup.ts b/sdk/nodejs/compute/v20230301/capacityReservationGroup.ts index c73eeacc2ff5..49eb6e9ed325 100644 --- a/sdk/nodejs/compute/v20230301/capacityReservationGroup.ts +++ b/sdk/nodejs/compute/v20230301/capacityReservationGroup.ts @@ -105,7 +105,7 @@ export class CapacityReservationGroup extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:CapacityReservationGroup" }, { type: "azure-native:compute/v20210401:CapacityReservationGroup" }, { type: "azure-native:compute/v20210701:CapacityReservationGroup" }, { type: "azure-native:compute/v20211101:CapacityReservationGroup" }, { type: "azure-native:compute/v20220301:CapacityReservationGroup" }, { type: "azure-native:compute/v20220801:CapacityReservationGroup" }, { type: "azure-native:compute/v20221101:CapacityReservationGroup" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:CapacityReservationGroup" }, { type: "azure-native:compute/v20210401:CapacityReservationGroup" }, { type: "azure-native:compute/v20210701:CapacityReservationGroup" }, { type: "azure-native:compute/v20211101:CapacityReservationGroup" }, { type: "azure-native:compute/v20220301:CapacityReservationGroup" }, { type: "azure-native:compute/v20220801:CapacityReservationGroup" }, { type: "azure-native:compute/v20221101:CapacityReservationGroup" }, { type: "azure-native:compute/v20230701:CapacityReservationGroup" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(CapacityReservationGroup.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/dedicatedHost.ts b/sdk/nodejs/compute/v20230301/dedicatedHost.ts index ba314f7b3bf0..b1d5e8e0762b 100644 --- a/sdk/nodejs/compute/v20230301/dedicatedHost.ts +++ b/sdk/nodejs/compute/v20230301/dedicatedHost.ts @@ -148,7 +148,7 @@ export class DedicatedHost extends pulumi.CustomResource { resourceInputs["virtualMachines"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:DedicatedHost" }, { type: "azure-native:compute/v20190301:DedicatedHost" }, { type: "azure-native:compute/v20190701:DedicatedHost" }, { type: "azure-native:compute/v20191201:DedicatedHost" }, { type: "azure-native:compute/v20200601:DedicatedHost" }, { type: "azure-native:compute/v20201201:DedicatedHost" }, { type: "azure-native:compute/v20210301:DedicatedHost" }, { type: "azure-native:compute/v20210401:DedicatedHost" }, { type: "azure-native:compute/v20210701:DedicatedHost" }, { type: "azure-native:compute/v20211101:DedicatedHost" }, { type: "azure-native:compute/v20220301:DedicatedHost" }, { type: "azure-native:compute/v20220801:DedicatedHost" }, { type: "azure-native:compute/v20221101:DedicatedHost" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:DedicatedHost" }, { type: "azure-native:compute/v20190301:DedicatedHost" }, { type: "azure-native:compute/v20190701:DedicatedHost" }, { type: "azure-native:compute/v20191201:DedicatedHost" }, { type: "azure-native:compute/v20200601:DedicatedHost" }, { type: "azure-native:compute/v20201201:DedicatedHost" }, { type: "azure-native:compute/v20210301:DedicatedHost" }, { type: "azure-native:compute/v20210401:DedicatedHost" }, { type: "azure-native:compute/v20210701:DedicatedHost" }, { type: "azure-native:compute/v20211101:DedicatedHost" }, { type: "azure-native:compute/v20220301:DedicatedHost" }, { type: "azure-native:compute/v20220801:DedicatedHost" }, { type: "azure-native:compute/v20221101:DedicatedHost" }, { type: "azure-native:compute/v20230701:DedicatedHost" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DedicatedHost.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/dedicatedHostGroup.ts b/sdk/nodejs/compute/v20230301/dedicatedHostGroup.ts index 708e91a0a708..3f37884f0022 100644 --- a/sdk/nodejs/compute/v20230301/dedicatedHostGroup.ts +++ b/sdk/nodejs/compute/v20230301/dedicatedHostGroup.ts @@ -120,7 +120,7 @@ export class DedicatedHostGroup extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:DedicatedHostGroup" }, { type: "azure-native:compute/v20190301:DedicatedHostGroup" }, { type: "azure-native:compute/v20190701:DedicatedHostGroup" }, { type: "azure-native:compute/v20191201:DedicatedHostGroup" }, { type: "azure-native:compute/v20200601:DedicatedHostGroup" }, { type: "azure-native:compute/v20201201:DedicatedHostGroup" }, { type: "azure-native:compute/v20210301:DedicatedHostGroup" }, { type: "azure-native:compute/v20210401:DedicatedHostGroup" }, { type: "azure-native:compute/v20210701:DedicatedHostGroup" }, { type: "azure-native:compute/v20211101:DedicatedHostGroup" }, { type: "azure-native:compute/v20220301:DedicatedHostGroup" }, { type: "azure-native:compute/v20220801:DedicatedHostGroup" }, { type: "azure-native:compute/v20221101:DedicatedHostGroup" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:DedicatedHostGroup" }, { type: "azure-native:compute/v20190301:DedicatedHostGroup" }, { type: "azure-native:compute/v20190701:DedicatedHostGroup" }, { type: "azure-native:compute/v20191201:DedicatedHostGroup" }, { type: "azure-native:compute/v20200601:DedicatedHostGroup" }, { type: "azure-native:compute/v20201201:DedicatedHostGroup" }, { type: "azure-native:compute/v20210301:DedicatedHostGroup" }, { type: "azure-native:compute/v20210401:DedicatedHostGroup" }, { type: "azure-native:compute/v20210701:DedicatedHostGroup" }, { type: "azure-native:compute/v20211101:DedicatedHostGroup" }, { type: "azure-native:compute/v20220301:DedicatedHostGroup" }, { type: "azure-native:compute/v20220801:DedicatedHostGroup" }, { type: "azure-native:compute/v20221101:DedicatedHostGroup" }, { type: "azure-native:compute/v20230701:DedicatedHostGroup" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(DedicatedHostGroup.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/image.ts b/sdk/nodejs/compute/v20230301/image.ts index abf471262323..3c03b285e220 100644 --- a/sdk/nodejs/compute/v20230301/image.ts +++ b/sdk/nodejs/compute/v20230301/image.ts @@ -111,7 +111,7 @@ export class Image extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:Image" }, { type: "azure-native:compute/v20160430preview:Image" }, { type: "azure-native:compute/v20170330:Image" }, { type: "azure-native:compute/v20171201:Image" }, { type: "azure-native:compute/v20180401:Image" }, { type: "azure-native:compute/v20180601:Image" }, { type: "azure-native:compute/v20181001:Image" }, { type: "azure-native:compute/v20190301:Image" }, { type: "azure-native:compute/v20190701:Image" }, { type: "azure-native:compute/v20191201:Image" }, { type: "azure-native:compute/v20200601:Image" }, { type: "azure-native:compute/v20201201:Image" }, { type: "azure-native:compute/v20210301:Image" }, { type: "azure-native:compute/v20210401:Image" }, { type: "azure-native:compute/v20210701:Image" }, { type: "azure-native:compute/v20211101:Image" }, { type: "azure-native:compute/v20220301:Image" }, { type: "azure-native:compute/v20220801:Image" }, { type: "azure-native:compute/v20221101:Image" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:Image" }, { type: "azure-native:compute/v20160430preview:Image" }, { type: "azure-native:compute/v20170330:Image" }, { type: "azure-native:compute/v20171201:Image" }, { type: "azure-native:compute/v20180401:Image" }, { type: "azure-native:compute/v20180601:Image" }, { type: "azure-native:compute/v20181001:Image" }, { type: "azure-native:compute/v20190301:Image" }, { type: "azure-native:compute/v20190701:Image" }, { type: "azure-native:compute/v20191201:Image" }, { type: "azure-native:compute/v20200601:Image" }, { type: "azure-native:compute/v20201201:Image" }, { type: "azure-native:compute/v20210301:Image" }, { type: "azure-native:compute/v20210401:Image" }, { type: "azure-native:compute/v20210701:Image" }, { type: "azure-native:compute/v20211101:Image" }, { type: "azure-native:compute/v20220301:Image" }, { type: "azure-native:compute/v20220801:Image" }, { type: "azure-native:compute/v20221101:Image" }, { type: "azure-native:compute/v20230701:Image" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Image.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/proximityPlacementGroup.ts b/sdk/nodejs/compute/v20230301/proximityPlacementGroup.ts index f4b0a2a65d05..c9d9af194969 100644 --- a/sdk/nodejs/compute/v20230301/proximityPlacementGroup.ts +++ b/sdk/nodejs/compute/v20230301/proximityPlacementGroup.ts @@ -123,7 +123,7 @@ export class ProximityPlacementGroup extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:ProximityPlacementGroup" }, { type: "azure-native:compute/v20180401:ProximityPlacementGroup" }, { type: "azure-native:compute/v20180601:ProximityPlacementGroup" }, { type: "azure-native:compute/v20181001:ProximityPlacementGroup" }, { type: "azure-native:compute/v20190301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20190701:ProximityPlacementGroup" }, { type: "azure-native:compute/v20191201:ProximityPlacementGroup" }, { type: "azure-native:compute/v20200601:ProximityPlacementGroup" }, { type: "azure-native:compute/v20201201:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210401:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210701:ProximityPlacementGroup" }, { type: "azure-native:compute/v20211101:ProximityPlacementGroup" }, { type: "azure-native:compute/v20220301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20220801:ProximityPlacementGroup" }, { type: "azure-native:compute/v20221101:ProximityPlacementGroup" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:ProximityPlacementGroup" }, { type: "azure-native:compute/v20180401:ProximityPlacementGroup" }, { type: "azure-native:compute/v20180601:ProximityPlacementGroup" }, { type: "azure-native:compute/v20181001:ProximityPlacementGroup" }, { type: "azure-native:compute/v20190301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20190701:ProximityPlacementGroup" }, { type: "azure-native:compute/v20191201:ProximityPlacementGroup" }, { type: "azure-native:compute/v20200601:ProximityPlacementGroup" }, { type: "azure-native:compute/v20201201:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210401:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210701:ProximityPlacementGroup" }, { type: "azure-native:compute/v20211101:ProximityPlacementGroup" }, { type: "azure-native:compute/v20220301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20220801:ProximityPlacementGroup" }, { type: "azure-native:compute/v20221101:ProximityPlacementGroup" }, { type: "azure-native:compute/v20230701:ProximityPlacementGroup" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ProximityPlacementGroup.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/restorePoint.ts b/sdk/nodejs/compute/v20230301/restorePoint.ts index 31991ce8b5bb..063425fe9b73 100644 --- a/sdk/nodejs/compute/v20230301/restorePoint.ts +++ b/sdk/nodejs/compute/v20230301/restorePoint.ts @@ -115,7 +115,7 @@ export class RestorePoint extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:RestorePoint" }, { type: "azure-native:compute/v20210301:RestorePoint" }, { type: "azure-native:compute/v20210401:RestorePoint" }, { type: "azure-native:compute/v20210701:RestorePoint" }, { type: "azure-native:compute/v20211101:RestorePoint" }, { type: "azure-native:compute/v20220301:RestorePoint" }, { type: "azure-native:compute/v20220801:RestorePoint" }, { type: "azure-native:compute/v20221101:RestorePoint" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:RestorePoint" }, { type: "azure-native:compute/v20210301:RestorePoint" }, { type: "azure-native:compute/v20210401:RestorePoint" }, { type: "azure-native:compute/v20210701:RestorePoint" }, { type: "azure-native:compute/v20211101:RestorePoint" }, { type: "azure-native:compute/v20220301:RestorePoint" }, { type: "azure-native:compute/v20220801:RestorePoint" }, { type: "azure-native:compute/v20221101:RestorePoint" }, { type: "azure-native:compute/v20230701:RestorePoint" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(RestorePoint.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/restorePointCollection.ts b/sdk/nodejs/compute/v20230301/restorePointCollection.ts index 93316425c65a..d3b2f43f0b94 100644 --- a/sdk/nodejs/compute/v20230301/restorePointCollection.ts +++ b/sdk/nodejs/compute/v20230301/restorePointCollection.ts @@ -105,7 +105,7 @@ export class RestorePointCollection extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:RestorePointCollection" }, { type: "azure-native:compute/v20210301:RestorePointCollection" }, { type: "azure-native:compute/v20210401:RestorePointCollection" }, { type: "azure-native:compute/v20210701:RestorePointCollection" }, { type: "azure-native:compute/v20211101:RestorePointCollection" }, { type: "azure-native:compute/v20220301:RestorePointCollection" }, { type: "azure-native:compute/v20220801:RestorePointCollection" }, { type: "azure-native:compute/v20221101:RestorePointCollection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:RestorePointCollection" }, { type: "azure-native:compute/v20210301:RestorePointCollection" }, { type: "azure-native:compute/v20210401:RestorePointCollection" }, { type: "azure-native:compute/v20210701:RestorePointCollection" }, { type: "azure-native:compute/v20211101:RestorePointCollection" }, { type: "azure-native:compute/v20220301:RestorePointCollection" }, { type: "azure-native:compute/v20220801:RestorePointCollection" }, { type: "azure-native:compute/v20221101:RestorePointCollection" }, { type: "azure-native:compute/v20230701:RestorePointCollection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(RestorePointCollection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/sshPublicKey.ts b/sdk/nodejs/compute/v20230301/sshPublicKey.ts index af3701dd9091..2a5dcbefa18f 100644 --- a/sdk/nodejs/compute/v20230301/sshPublicKey.ts +++ b/sdk/nodejs/compute/v20230301/sshPublicKey.ts @@ -84,7 +84,7 @@ export class SshPublicKey extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:SshPublicKey" }, { type: "azure-native:compute/v20191201:SshPublicKey" }, { type: "azure-native:compute/v20200601:SshPublicKey" }, { type: "azure-native:compute/v20201201:SshPublicKey" }, { type: "azure-native:compute/v20210301:SshPublicKey" }, { type: "azure-native:compute/v20210401:SshPublicKey" }, { type: "azure-native:compute/v20210701:SshPublicKey" }, { type: "azure-native:compute/v20211101:SshPublicKey" }, { type: "azure-native:compute/v20220301:SshPublicKey" }, { type: "azure-native:compute/v20220801:SshPublicKey" }, { type: "azure-native:compute/v20221101:SshPublicKey" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:SshPublicKey" }, { type: "azure-native:compute/v20191201:SshPublicKey" }, { type: "azure-native:compute/v20200601:SshPublicKey" }, { type: "azure-native:compute/v20201201:SshPublicKey" }, { type: "azure-native:compute/v20210301:SshPublicKey" }, { type: "azure-native:compute/v20210401:SshPublicKey" }, { type: "azure-native:compute/v20210701:SshPublicKey" }, { type: "azure-native:compute/v20211101:SshPublicKey" }, { type: "azure-native:compute/v20220301:SshPublicKey" }, { type: "azure-native:compute/v20220801:SshPublicKey" }, { type: "azure-native:compute/v20221101:SshPublicKey" }, { type: "azure-native:compute/v20230701:SshPublicKey" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(SshPublicKey.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/virtualMachine.ts b/sdk/nodejs/compute/v20230301/virtualMachine.ts index 019db2667b4d..7c4bdaaaa90a 100644 --- a/sdk/nodejs/compute/v20230301/virtualMachine.ts +++ b/sdk/nodejs/compute/v20230301/virtualMachine.ts @@ -267,7 +267,7 @@ export class VirtualMachine extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachine" }, { type: "azure-native:compute/v20150615:VirtualMachine" }, { type: "azure-native:compute/v20160330:VirtualMachine" }, { type: "azure-native:compute/v20160430preview:VirtualMachine" }, { type: "azure-native:compute/v20170330:VirtualMachine" }, { type: "azure-native:compute/v20171201:VirtualMachine" }, { type: "azure-native:compute/v20180401:VirtualMachine" }, { type: "azure-native:compute/v20180601:VirtualMachine" }, { type: "azure-native:compute/v20181001:VirtualMachine" }, { type: "azure-native:compute/v20190301:VirtualMachine" }, { type: "azure-native:compute/v20190701:VirtualMachine" }, { type: "azure-native:compute/v20191201:VirtualMachine" }, { type: "azure-native:compute/v20200601:VirtualMachine" }, { type: "azure-native:compute/v20201201:VirtualMachine" }, { type: "azure-native:compute/v20210301:VirtualMachine" }, { type: "azure-native:compute/v20210401:VirtualMachine" }, { type: "azure-native:compute/v20210701:VirtualMachine" }, { type: "azure-native:compute/v20211101:VirtualMachine" }, { type: "azure-native:compute/v20220301:VirtualMachine" }, { type: "azure-native:compute/v20220801:VirtualMachine" }, { type: "azure-native:compute/v20221101:VirtualMachine" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachine" }, { type: "azure-native:compute/v20150615:VirtualMachine" }, { type: "azure-native:compute/v20160330:VirtualMachine" }, { type: "azure-native:compute/v20160430preview:VirtualMachine" }, { type: "azure-native:compute/v20170330:VirtualMachine" }, { type: "azure-native:compute/v20171201:VirtualMachine" }, { type: "azure-native:compute/v20180401:VirtualMachine" }, { type: "azure-native:compute/v20180601:VirtualMachine" }, { type: "azure-native:compute/v20181001:VirtualMachine" }, { type: "azure-native:compute/v20190301:VirtualMachine" }, { type: "azure-native:compute/v20190701:VirtualMachine" }, { type: "azure-native:compute/v20191201:VirtualMachine" }, { type: "azure-native:compute/v20200601:VirtualMachine" }, { type: "azure-native:compute/v20201201:VirtualMachine" }, { type: "azure-native:compute/v20210301:VirtualMachine" }, { type: "azure-native:compute/v20210401:VirtualMachine" }, { type: "azure-native:compute/v20210701:VirtualMachine" }, { type: "azure-native:compute/v20211101:VirtualMachine" }, { type: "azure-native:compute/v20220301:VirtualMachine" }, { type: "azure-native:compute/v20220801:VirtualMachine" }, { type: "azure-native:compute/v20221101:VirtualMachine" }, { type: "azure-native:compute/v20230701:VirtualMachine" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachine.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/virtualMachineExtension.ts b/sdk/nodejs/compute/v20230301/virtualMachineExtension.ts index 75d33416d3da..16d6728058de 100644 --- a/sdk/nodejs/compute/v20230301/virtualMachineExtension.ts +++ b/sdk/nodejs/compute/v20230301/virtualMachineExtension.ts @@ -157,7 +157,7 @@ export class VirtualMachineExtension extends pulumi.CustomResource { resourceInputs["typeHandlerVersion"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineExtension" }, { type: "azure-native:compute/v20150615:VirtualMachineExtension" }, { type: "azure-native:compute/v20160330:VirtualMachineExtension" }, { type: "azure-native:compute/v20160430preview:VirtualMachineExtension" }, { type: "azure-native:compute/v20170330:VirtualMachineExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineExtension" }, { type: "azure-native:compute/v20150615:VirtualMachineExtension" }, { type: "azure-native:compute/v20160330:VirtualMachineExtension" }, { type: "azure-native:compute/v20160430preview:VirtualMachineExtension" }, { type: "azure-native:compute/v20170330:VirtualMachineExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineExtension" }, { type: "azure-native:compute/v20230701:VirtualMachineExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/virtualMachineRunCommandByVirtualMachine.ts b/sdk/nodejs/compute/v20230301/virtualMachineRunCommandByVirtualMachine.ts index 81129a88ea6c..00916f168f50 100644 --- a/sdk/nodejs/compute/v20230301/virtualMachineRunCommandByVirtualMachine.ts +++ b/sdk/nodejs/compute/v20230301/virtualMachineRunCommandByVirtualMachine.ts @@ -169,7 +169,7 @@ export class VirtualMachineRunCommandByVirtualMachine extends pulumi.CustomResou resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20200601:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20201201:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210301:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210401:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210701:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20211101:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20220301:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20200601:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20201201:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210301:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210401:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210701:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20211101:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20220301:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineRunCommandByVirtualMachine.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/virtualMachineScaleSet.ts b/sdk/nodejs/compute/v20230301/virtualMachineScaleSet.ts index 09ede41b0e33..b63d6c74219b 100644 --- a/sdk/nodejs/compute/v20230301/virtualMachineScaleSet.ts +++ b/sdk/nodejs/compute/v20230301/virtualMachineScaleSet.ts @@ -225,7 +225,7 @@ export class VirtualMachineScaleSet extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20150615:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20160330:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20160430preview:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20170330:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSet" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20150615:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20160330:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20160430preview:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20170330:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20230701:VirtualMachineScaleSet" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineScaleSet.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/virtualMachineScaleSetExtension.ts b/sdk/nodejs/compute/v20230301/virtualMachineScaleSetExtension.ts index bd476306190d..08f68208ec01 100644 --- a/sdk/nodejs/compute/v20230301/virtualMachineScaleSetExtension.ts +++ b/sdk/nodejs/compute/v20230301/virtualMachineScaleSetExtension.ts @@ -139,7 +139,7 @@ export class VirtualMachineScaleSetExtension extends pulumi.CustomResource { resourceInputs["typeHandlerVersion"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20170330:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20170330:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20230701:VirtualMachineScaleSetExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineScaleSetExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/virtualMachineScaleSetVM.ts b/sdk/nodejs/compute/v20230301/virtualMachineScaleSetVM.ts index 8594eda6824d..bd4c84974f53 100644 --- a/sdk/nodejs/compute/v20230301/virtualMachineScaleSetVM.ts +++ b/sdk/nodejs/compute/v20230301/virtualMachineScaleSetVM.ts @@ -222,7 +222,7 @@ export class VirtualMachineScaleSetVM extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVM" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20230701:VirtualMachineScaleSetVM" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineScaleSetVM.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/virtualMachineScaleSetVMExtension.ts b/sdk/nodejs/compute/v20230301/virtualMachineScaleSetVMExtension.ts index 49a8360be7b3..ce4041e35076 100644 --- a/sdk/nodejs/compute/v20230301/virtualMachineScaleSetVMExtension.ts +++ b/sdk/nodejs/compute/v20230301/virtualMachineScaleSetVMExtension.ts @@ -155,7 +155,7 @@ export class VirtualMachineScaleSetVMExtension extends pulumi.CustomResource { resourceInputs["typeHandlerVersion"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineScaleSetVMExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230301/virtualMachineScaleSetVMRunCommand.ts b/sdk/nodejs/compute/v20230301/virtualMachineScaleSetVMRunCommand.ts index 8ff27933b32a..6dbbfe155c63 100644 --- a/sdk/nodejs/compute/v20230301/virtualMachineScaleSetVMRunCommand.ts +++ b/sdk/nodejs/compute/v20230301/virtualMachineScaleSetVMRunCommand.ts @@ -173,7 +173,7 @@ export class VirtualMachineScaleSetVMRunCommand extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineScaleSetVMRunCommand.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/v20230402/disk.ts b/sdk/nodejs/compute/v20230402/disk.ts new file mode 100644 index 000000000000..1f84149bc6c9 --- /dev/null +++ b/sdk/nodejs/compute/v20230402/disk.ts @@ -0,0 +1,439 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Disk resource. + */ +export class Disk extends pulumi.CustomResource { + /** + * Get an existing Disk 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Disk { + return new Disk(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230402:Disk'; + + /** + * Returns true if the given object is an instance of Disk. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Disk { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Disk.__pulumiType; + } + + /** + * Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks. + */ + public readonly burstingEnabled!: pulumi.Output; + /** + * Latest time when bursting was last enabled on a disk. + */ + public /*out*/ readonly burstingEnabledTime!: pulumi.Output; + /** + * Percentage complete for the background copy when a resource is created via the CopyStart operation. + */ + public readonly completionPercent!: pulumi.Output; + /** + * Disk source information. CreationData information cannot be changed after the disk has been created. + */ + public readonly creationData!: pulumi.Output; + /** + * Additional authentication requirements when exporting or uploading to a disk or snapshot. + */ + public readonly dataAccessAuthMode!: pulumi.Output; + /** + * ARM id of the DiskAccess resource for using private endpoints on disks. + */ + public readonly diskAccessId!: pulumi.Output; + /** + * The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes. + */ + public readonly diskIOPSReadOnly!: pulumi.Output; + /** + * The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. + */ + public readonly diskIOPSReadWrite!: pulumi.Output; + /** + * The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + */ + public readonly diskMBpsReadOnly!: pulumi.Output; + /** + * The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + */ + public readonly diskMBpsReadWrite!: pulumi.Output; + /** + * The size of the disk in bytes. This field is read only. + */ + public /*out*/ readonly diskSizeBytes!: pulumi.Output; + /** + * If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + */ + public readonly diskSizeGB!: pulumi.Output; + /** + * The state of the disk. + */ + public /*out*/ readonly diskState!: pulumi.Output; + /** + * Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + */ + public readonly encryption!: pulumi.Output; + /** + * Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + */ + public readonly encryptionSettingsCollection!: pulumi.Output; + /** + * The extended location where the disk will be created. Extended location cannot be changed. + */ + public readonly extendedLocation!: pulumi.Output; + /** + * The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + */ + public readonly hyperVGeneration!: pulumi.Output; + /** + * The UTC time when the ownership state of the disk was last changed i.e., the time the disk was last attached or detached from a VM or the time when the VM to which the disk was attached was deallocated or started. + */ + public /*out*/ readonly lastOwnershipUpdateTime!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * A relative URI containing the ID of the VM that has the disk attached. + */ + public /*out*/ readonly managedBy!: pulumi.Output; + /** + * List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs. + */ + public /*out*/ readonly managedByExtended!: pulumi.Output; + /** + * The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time. + */ + public readonly maxShares!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Policy for accessing the disk via network. + */ + public readonly networkAccessPolicy!: pulumi.Output; + /** + * Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. + */ + public readonly optimizedForFrequentAttach!: pulumi.Output; + /** + * The Operating System type. + */ + public readonly osType!: pulumi.Output; + /** + * Properties of the disk for which update is pending. + */ + public /*out*/ readonly propertyUpdatesInProgress!: pulumi.Output; + /** + * The disk provisioning state. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Policy for controlling export on the disk. + */ + public readonly publicNetworkAccess!: pulumi.Output; + /** + * Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + */ + public readonly purchasePlan!: pulumi.Output; + /** + * Contains the security related information for the resource. + */ + public readonly securityProfile!: pulumi.Output; + /** + * Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs. + */ + public /*out*/ readonly shareInfo!: pulumi.Output; + /** + * The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + */ + public readonly sku!: pulumi.Output; + /** + * List of supported capabilities for the image from which the OS disk was created. + */ + public readonly supportedCapabilities!: pulumi.Output; + /** + * Indicates the OS on a disk supports hibernation. + */ + public readonly supportsHibernation!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + */ + public readonly tier!: pulumi.Output; + /** + * The time when the disk was created. + */ + public /*out*/ readonly timeCreated!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * Unique Guid identifying the resource. + */ + public /*out*/ readonly uniqueId!: pulumi.Output; + /** + * The Logical zone list for Disk. + */ + public readonly zones!: pulumi.Output; + + /** + * Create a Disk 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: DiskArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.creationData === undefined) && !opts.urn) { + throw new Error("Missing required property 'creationData'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["burstingEnabled"] = args ? args.burstingEnabled : undefined; + resourceInputs["completionPercent"] = args ? args.completionPercent : undefined; + resourceInputs["creationData"] = args ? args.creationData : undefined; + resourceInputs["dataAccessAuthMode"] = args ? args.dataAccessAuthMode : undefined; + resourceInputs["diskAccessId"] = args ? args.diskAccessId : undefined; + resourceInputs["diskIOPSReadOnly"] = args ? args.diskIOPSReadOnly : undefined; + resourceInputs["diskIOPSReadWrite"] = args ? args.diskIOPSReadWrite : undefined; + resourceInputs["diskMBpsReadOnly"] = args ? args.diskMBpsReadOnly : undefined; + resourceInputs["diskMBpsReadWrite"] = args ? args.diskMBpsReadWrite : undefined; + resourceInputs["diskName"] = args ? args.diskName : undefined; + resourceInputs["diskSizeGB"] = args ? args.diskSizeGB : undefined; + resourceInputs["encryption"] = args ? args.encryption : undefined; + resourceInputs["encryptionSettingsCollection"] = args ? args.encryptionSettingsCollection : undefined; + resourceInputs["extendedLocation"] = args ? args.extendedLocation : undefined; + resourceInputs["hyperVGeneration"] = args ? args.hyperVGeneration : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["maxShares"] = args ? args.maxShares : undefined; + resourceInputs["networkAccessPolicy"] = args ? args.networkAccessPolicy : undefined; + resourceInputs["optimizedForFrequentAttach"] = args ? args.optimizedForFrequentAttach : undefined; + resourceInputs["osType"] = args ? args.osType : undefined; + resourceInputs["publicNetworkAccess"] = args ? args.publicNetworkAccess : undefined; + resourceInputs["purchasePlan"] = args ? args.purchasePlan : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["securityProfile"] = args ? args.securityProfile : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["supportedCapabilities"] = args ? args.supportedCapabilities : undefined; + resourceInputs["supportsHibernation"] = args ? args.supportsHibernation : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tier"] = args ? args.tier : undefined; + resourceInputs["zones"] = args ? args.zones : undefined; + resourceInputs["burstingEnabledTime"] = undefined /*out*/; + resourceInputs["diskSizeBytes"] = undefined /*out*/; + resourceInputs["diskState"] = undefined /*out*/; + resourceInputs["lastOwnershipUpdateTime"] = undefined /*out*/; + resourceInputs["managedBy"] = undefined /*out*/; + resourceInputs["managedByExtended"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["propertyUpdatesInProgress"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["shareInfo"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["uniqueId"] = undefined /*out*/; + } else { + resourceInputs["burstingEnabled"] = undefined /*out*/; + resourceInputs["burstingEnabledTime"] = undefined /*out*/; + resourceInputs["completionPercent"] = undefined /*out*/; + resourceInputs["creationData"] = undefined /*out*/; + resourceInputs["dataAccessAuthMode"] = undefined /*out*/; + resourceInputs["diskAccessId"] = undefined /*out*/; + resourceInputs["diskIOPSReadOnly"] = undefined /*out*/; + resourceInputs["diskIOPSReadWrite"] = undefined /*out*/; + resourceInputs["diskMBpsReadOnly"] = undefined /*out*/; + resourceInputs["diskMBpsReadWrite"] = undefined /*out*/; + resourceInputs["diskSizeBytes"] = undefined /*out*/; + resourceInputs["diskSizeGB"] = undefined /*out*/; + resourceInputs["diskState"] = undefined /*out*/; + resourceInputs["encryption"] = undefined /*out*/; + resourceInputs["encryptionSettingsCollection"] = undefined /*out*/; + resourceInputs["extendedLocation"] = undefined /*out*/; + resourceInputs["hyperVGeneration"] = undefined /*out*/; + resourceInputs["lastOwnershipUpdateTime"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["managedBy"] = undefined /*out*/; + resourceInputs["managedByExtended"] = undefined /*out*/; + resourceInputs["maxShares"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkAccessPolicy"] = undefined /*out*/; + resourceInputs["optimizedForFrequentAttach"] = undefined /*out*/; + resourceInputs["osType"] = undefined /*out*/; + resourceInputs["propertyUpdatesInProgress"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["publicNetworkAccess"] = undefined /*out*/; + resourceInputs["purchasePlan"] = undefined /*out*/; + resourceInputs["securityProfile"] = undefined /*out*/; + resourceInputs["shareInfo"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["supportedCapabilities"] = undefined /*out*/; + resourceInputs["supportsHibernation"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["tier"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["uniqueId"] = undefined /*out*/; + resourceInputs["zones"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:Disk" }, { type: "azure-native:compute/v20160430preview:Disk" }, { type: "azure-native:compute/v20170330:Disk" }, { type: "azure-native:compute/v20180401:Disk" }, { type: "azure-native:compute/v20180601:Disk" }, { type: "azure-native:compute/v20180930:Disk" }, { type: "azure-native:compute/v20190301:Disk" }, { type: "azure-native:compute/v20190701:Disk" }, { type: "azure-native:compute/v20191101:Disk" }, { type: "azure-native:compute/v20200501:Disk" }, { type: "azure-native:compute/v20200630:Disk" }, { type: "azure-native:compute/v20200930:Disk" }, { type: "azure-native:compute/v20201201:Disk" }, { type: "azure-native:compute/v20210401:Disk" }, { type: "azure-native:compute/v20210801:Disk" }, { type: "azure-native:compute/v20211201:Disk" }, { type: "azure-native:compute/v20220302:Disk" }, { type: "azure-native:compute/v20220702:Disk" }, { type: "azure-native:compute/v20230102:Disk" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Disk.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Disk resource. + */ +export interface DiskArgs { + /** + * Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks. + */ + burstingEnabled?: pulumi.Input; + /** + * Percentage complete for the background copy when a resource is created via the CopyStart operation. + */ + completionPercent?: pulumi.Input; + /** + * Disk source information. CreationData information cannot be changed after the disk has been created. + */ + creationData: pulumi.Input; + /** + * Additional authentication requirements when exporting or uploading to a disk or snapshot. + */ + dataAccessAuthMode?: pulumi.Input; + /** + * ARM id of the DiskAccess resource for using private endpoints on disks. + */ + diskAccessId?: pulumi.Input; + /** + * The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes. + */ + diskIOPSReadOnly?: pulumi.Input; + /** + * The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. + */ + diskIOPSReadWrite?: pulumi.Input; + /** + * The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + */ + diskMBpsReadOnly?: pulumi.Input; + /** + * The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + */ + diskMBpsReadWrite?: pulumi.Input; + /** + * The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + */ + diskName?: pulumi.Input; + /** + * If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + */ + diskSizeGB?: pulumi.Input; + /** + * Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + */ + encryption?: pulumi.Input; + /** + * Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + */ + encryptionSettingsCollection?: pulumi.Input; + /** + * The extended location where the disk will be created. Extended location cannot be changed. + */ + extendedLocation?: pulumi.Input; + /** + * The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + */ + hyperVGeneration?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time. + */ + maxShares?: pulumi.Input; + /** + * Policy for accessing the disk via network. + */ + networkAccessPolicy?: pulumi.Input; + /** + * Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. + */ + optimizedForFrequentAttach?: pulumi.Input; + /** + * The Operating System type. + */ + osType?: pulumi.Input; + /** + * Policy for controlling export on the disk. + */ + publicNetworkAccess?: pulumi.Input; + /** + * Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + */ + purchasePlan?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Contains the security related information for the resource. + */ + securityProfile?: pulumi.Input; + /** + * The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + */ + sku?: pulumi.Input; + /** + * List of supported capabilities for the image from which the OS disk was created. + */ + supportedCapabilities?: pulumi.Input; + /** + * Indicates the OS on a disk supports hibernation. + */ + supportsHibernation?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + */ + tier?: pulumi.Input; + /** + * The Logical zone list for Disk. + */ + zones?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/compute/v20230402/diskAccess.ts b/sdk/nodejs/compute/v20230402/diskAccess.ts new file mode 100644 index 000000000000..408b2f2988c2 --- /dev/null +++ b/sdk/nodejs/compute/v20230402/diskAccess.ts @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * disk access resource. + */ +export class DiskAccess extends pulumi.CustomResource { + /** + * Get an existing DiskAccess 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): DiskAccess { + return new DiskAccess(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230402:DiskAccess'; + + /** + * Returns true if the given object is an instance of DiskAccess. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DiskAccess { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DiskAccess.__pulumiType; + } + + /** + * The extended location where the disk access will be created. Extended location cannot be changed. + */ + public readonly extendedLocation!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * A readonly collection of private endpoint connections created on the disk. Currently only one endpoint connection is supported. + */ + public /*out*/ readonly privateEndpointConnections!: pulumi.Output; + /** + * The disk access resource provisioning state. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The time when the disk access was created. + */ + public /*out*/ readonly timeCreated!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a DiskAccess 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: DiskAccessArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["diskAccessName"] = args ? args.diskAccessName : undefined; + resourceInputs["extendedLocation"] = args ? args.extendedLocation : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["privateEndpointConnections"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["extendedLocation"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["privateEndpointConnections"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskAccess" }, { type: "azure-native:compute/v20200501:DiskAccess" }, { type: "azure-native:compute/v20200630:DiskAccess" }, { type: "azure-native:compute/v20200930:DiskAccess" }, { type: "azure-native:compute/v20201201:DiskAccess" }, { type: "azure-native:compute/v20210401:DiskAccess" }, { type: "azure-native:compute/v20210801:DiskAccess" }, { type: "azure-native:compute/v20211201:DiskAccess" }, { type: "azure-native:compute/v20220302:DiskAccess" }, { type: "azure-native:compute/v20220702:DiskAccess" }, { type: "azure-native:compute/v20230102:DiskAccess" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(DiskAccess.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DiskAccess resource. + */ +export interface DiskAccessArgs { + /** + * The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + */ + diskAccessName?: pulumi.Input; + /** + * The extended location where the disk access will be created. Extended location cannot be changed. + */ + extendedLocation?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/compute/v20230402/diskAccessAPrivateEndpointConnection.ts b/sdk/nodejs/compute/v20230402/diskAccessAPrivateEndpointConnection.ts new file mode 100644 index 000000000000..51c023a59ffe --- /dev/null +++ b/sdk/nodejs/compute/v20230402/diskAccessAPrivateEndpointConnection.ts @@ -0,0 +1,123 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The Private Endpoint Connection resource. + */ +export class DiskAccessAPrivateEndpointConnection extends pulumi.CustomResource { + /** + * Get an existing DiskAccessAPrivateEndpointConnection 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): DiskAccessAPrivateEndpointConnection { + return new DiskAccessAPrivateEndpointConnection(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection'; + + /** + * Returns true if the given object is an instance of DiskAccessAPrivateEndpointConnection. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DiskAccessAPrivateEndpointConnection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DiskAccessAPrivateEndpointConnection.__pulumiType; + } + + /** + * private endpoint connection name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The resource of private end point. + */ + public /*out*/ readonly privateEndpoint!: pulumi.Output; + /** + * A collection of information about the state of the connection between DiskAccess and Virtual Network. + */ + public readonly privateLinkServiceConnectionState!: pulumi.Output; + /** + * The provisioning state of the private endpoint connection resource. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * private endpoint connection type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a DiskAccessAPrivateEndpointConnection 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: DiskAccessAPrivateEndpointConnectionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.diskAccessName === undefined) && !opts.urn) { + throw new Error("Missing required property 'diskAccessName'"); + } + if ((!args || args.privateLinkServiceConnectionState === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateLinkServiceConnectionState'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["diskAccessName"] = args ? args.diskAccessName : undefined; + resourceInputs["privateEndpointConnectionName"] = args ? args.privateEndpointConnectionName : undefined; + resourceInputs["privateLinkServiceConnectionState"] = args ? args.privateLinkServiceConnectionState : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["privateEndpoint"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["name"] = undefined /*out*/; + resourceInputs["privateEndpoint"] = undefined /*out*/; + resourceInputs["privateLinkServiceConnectionState"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection" }, { type: "azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(DiskAccessAPrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DiskAccessAPrivateEndpointConnection resource. + */ +export interface DiskAccessAPrivateEndpointConnectionArgs { + /** + * The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + */ + diskAccessName: pulumi.Input; + /** + * The name of the private endpoint connection. + */ + privateEndpointConnectionName?: pulumi.Input; + /** + * A collection of information about the state of the connection between DiskAccess and Virtual Network. + */ + privateLinkServiceConnectionState: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230402/diskEncryptionSet.ts b/sdk/nodejs/compute/v20230402/diskEncryptionSet.ts new file mode 100644 index 000000000000..6b670281bb92 --- /dev/null +++ b/sdk/nodejs/compute/v20230402/diskEncryptionSet.ts @@ -0,0 +1,184 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * disk encryption set resource. + */ +export class DiskEncryptionSet extends pulumi.CustomResource { + /** + * Get an existing DiskEncryptionSet 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): DiskEncryptionSet { + return new DiskEncryptionSet(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230402:DiskEncryptionSet'; + + /** + * Returns true if the given object is an instance of DiskEncryptionSet. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DiskEncryptionSet { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DiskEncryptionSet.__pulumiType; + } + + /** + * The key vault key which is currently used by this disk encryption set. + */ + public readonly activeKey!: pulumi.Output; + /** + * The error that was encountered during auto-key rotation. If an error is present, then auto-key rotation will not be attempted until the error on this disk encryption set is fixed. + */ + public /*out*/ readonly autoKeyRotationError!: pulumi.Output; + /** + * The type of key used to encrypt the data of the disk. + */ + public readonly encryptionType!: pulumi.Output; + /** + * Multi-tenant application client id to access key vault in a different tenant. Setting the value to 'None' will clear the property. + */ + public readonly federatedClientId!: pulumi.Output; + /** + * The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + */ + public readonly identity!: pulumi.Output; + /** + * The time when the active key of this disk encryption set was updated. + */ + public /*out*/ readonly lastKeyRotationTimestamp!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation. + */ + public /*out*/ readonly previousKeys!: pulumi.Output; + /** + * The disk encryption set provisioning state. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Set this flag to true to enable auto-updating of this disk encryption set to the latest key version. + */ + public readonly rotationToLatestKeyVersionEnabled!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a DiskEncryptionSet 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: DiskEncryptionSetArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["activeKey"] = args ? args.activeKey : undefined; + resourceInputs["diskEncryptionSetName"] = args ? args.diskEncryptionSetName : undefined; + resourceInputs["encryptionType"] = args ? args.encryptionType : undefined; + resourceInputs["federatedClientId"] = args ? args.federatedClientId : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["rotationToLatestKeyVersionEnabled"] = args ? args.rotationToLatestKeyVersionEnabled : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["autoKeyRotationError"] = undefined /*out*/; + resourceInputs["lastKeyRotationTimestamp"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["previousKeys"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["activeKey"] = undefined /*out*/; + resourceInputs["autoKeyRotationError"] = undefined /*out*/; + resourceInputs["encryptionType"] = undefined /*out*/; + resourceInputs["federatedClientId"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["lastKeyRotationTimestamp"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["previousKeys"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["rotationToLatestKeyVersionEnabled"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:DiskEncryptionSet" }, { type: "azure-native:compute/v20190701:DiskEncryptionSet" }, { type: "azure-native:compute/v20191101:DiskEncryptionSet" }, { type: "azure-native:compute/v20200501:DiskEncryptionSet" }, { type: "azure-native:compute/v20200630:DiskEncryptionSet" }, { type: "azure-native:compute/v20200930:DiskEncryptionSet" }, { type: "azure-native:compute/v20201201:DiskEncryptionSet" }, { type: "azure-native:compute/v20210401:DiskEncryptionSet" }, { type: "azure-native:compute/v20210801:DiskEncryptionSet" }, { type: "azure-native:compute/v20211201:DiskEncryptionSet" }, { type: "azure-native:compute/v20220302:DiskEncryptionSet" }, { type: "azure-native:compute/v20220702:DiskEncryptionSet" }, { type: "azure-native:compute/v20230102:DiskEncryptionSet" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(DiskEncryptionSet.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DiskEncryptionSet resource. + */ +export interface DiskEncryptionSetArgs { + /** + * The key vault key which is currently used by this disk encryption set. + */ + activeKey?: pulumi.Input; + /** + * The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + */ + diskEncryptionSetName?: pulumi.Input; + /** + * The type of key used to encrypt the data of the disk. + */ + encryptionType?: pulumi.Input; + /** + * Multi-tenant application client id to access key vault in a different tenant. Setting the value to 'None' will clear the property. + */ + federatedClientId?: pulumi.Input; + /** + * The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + */ + identity?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Set this flag to true to enable auto-updating of this disk encryption set to the latest key version. + */ + rotationToLatestKeyVersionEnabled?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/compute/v20230402/getDisk.ts b/sdk/nodejs/compute/v20230402/getDisk.ts new file mode 100644 index 000000000000..2ccb9ec3a113 --- /dev/null +++ b/sdk/nodejs/compute/v20230402/getDisk.ts @@ -0,0 +1,222 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets information about a disk. + */ +export function getDisk(args: GetDiskArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230402:getDisk", { + "diskName": args.diskName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetDiskArgs { + /** + * The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + */ + diskName: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; +} + +/** + * Disk resource. + */ +export interface GetDiskResult { + /** + * Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks. + */ + readonly burstingEnabled?: boolean; + /** + * Latest time when bursting was last enabled on a disk. + */ + readonly burstingEnabledTime: string; + /** + * Percentage complete for the background copy when a resource is created via the CopyStart operation. + */ + readonly completionPercent?: number; + /** + * Disk source information. CreationData information cannot be changed after the disk has been created. + */ + readonly creationData: outputs.compute.v20230402.CreationDataResponse; + /** + * Additional authentication requirements when exporting or uploading to a disk or snapshot. + */ + readonly dataAccessAuthMode?: string; + /** + * ARM id of the DiskAccess resource for using private endpoints on disks. + */ + readonly diskAccessId?: string; + /** + * The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes. + */ + readonly diskIOPSReadOnly?: number; + /** + * The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. + */ + readonly diskIOPSReadWrite?: number; + /** + * The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + */ + readonly diskMBpsReadOnly?: number; + /** + * The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + */ + readonly diskMBpsReadWrite?: number; + /** + * The size of the disk in bytes. This field is read only. + */ + readonly diskSizeBytes: number; + /** + * If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + */ + readonly diskSizeGB?: number; + /** + * The state of the disk. + */ + readonly diskState: string; + /** + * Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + */ + readonly encryption?: outputs.compute.v20230402.EncryptionResponse; + /** + * Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + */ + readonly encryptionSettingsCollection?: outputs.compute.v20230402.EncryptionSettingsCollectionResponse; + /** + * The extended location where the disk will be created. Extended location cannot be changed. + */ + readonly extendedLocation?: outputs.compute.v20230402.ExtendedLocationResponse; + /** + * The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + */ + readonly hyperVGeneration?: string; + /** + * Resource Id + */ + readonly id: string; + /** + * The UTC time when the ownership state of the disk was last changed i.e., the time the disk was last attached or detached from a VM or the time when the VM to which the disk was attached was deallocated or started. + */ + readonly lastOwnershipUpdateTime: string; + /** + * Resource location + */ + readonly location: string; + /** + * A relative URI containing the ID of the VM that has the disk attached. + */ + readonly managedBy: string; + /** + * List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs. + */ + readonly managedByExtended: string[]; + /** + * The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time. + */ + readonly maxShares?: number; + /** + * Resource name + */ + readonly name: string; + /** + * Policy for accessing the disk via network. + */ + readonly networkAccessPolicy?: string; + /** + * Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. + */ + readonly optimizedForFrequentAttach?: boolean; + /** + * The Operating System type. + */ + readonly osType?: string; + /** + * Properties of the disk for which update is pending. + */ + readonly propertyUpdatesInProgress: outputs.compute.v20230402.PropertyUpdatesInProgressResponse; + /** + * The disk provisioning state. + */ + readonly provisioningState: string; + /** + * Policy for controlling export on the disk. + */ + readonly publicNetworkAccess?: string; + /** + * Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + */ + readonly purchasePlan?: outputs.compute.v20230402.PurchasePlanResponse; + /** + * Contains the security related information for the resource. + */ + readonly securityProfile?: outputs.compute.v20230402.DiskSecurityProfileResponse; + /** + * Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs. + */ + readonly shareInfo: outputs.compute.v20230402.ShareInfoElementResponse[]; + /** + * The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + */ + readonly sku?: outputs.compute.v20230402.DiskSkuResponse; + /** + * List of supported capabilities for the image from which the OS disk was created. + */ + readonly supportedCapabilities?: outputs.compute.v20230402.SupportedCapabilitiesResponse; + /** + * Indicates the OS on a disk supports hibernation. + */ + readonly supportsHibernation?: boolean; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + */ + readonly tier?: string; + /** + * The time when the disk was created. + */ + readonly timeCreated: string; + /** + * Resource type + */ + readonly type: string; + /** + * Unique Guid identifying the resource. + */ + readonly uniqueId: string; + /** + * The Logical zone list for Disk. + */ + readonly zones?: string[]; +} +/** + * Gets information about a disk. + */ +export function getDiskOutput(args: GetDiskOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDisk(a, opts)) +} + +export interface GetDiskOutputArgs { + /** + * The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + */ + diskName: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230402/getDiskAccess.ts b/sdk/nodejs/compute/v20230402/getDiskAccess.ts new file mode 100644 index 000000000000..85e96eb714ed --- /dev/null +++ b/sdk/nodejs/compute/v20230402/getDiskAccess.ts @@ -0,0 +1,90 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets information about a disk access resource. + */ +export function getDiskAccess(args: GetDiskAccessArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230402:getDiskAccess", { + "diskAccessName": args.diskAccessName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetDiskAccessArgs { + /** + * The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + */ + diskAccessName: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; +} + +/** + * disk access resource. + */ +export interface GetDiskAccessResult { + /** + * The extended location where the disk access will be created. Extended location cannot be changed. + */ + readonly extendedLocation?: outputs.compute.v20230402.ExtendedLocationResponse; + /** + * Resource Id + */ + readonly id: string; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * A readonly collection of private endpoint connections created on the disk. Currently only one endpoint connection is supported. + */ + readonly privateEndpointConnections: outputs.compute.v20230402.PrivateEndpointConnectionResponse[]; + /** + * The disk access resource provisioning state. + */ + readonly provisioningState: string; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * The time when the disk access was created. + */ + readonly timeCreated: string; + /** + * Resource type + */ + readonly type: string; +} +/** + * Gets information about a disk access resource. + */ +export function getDiskAccessOutput(args: GetDiskAccessOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDiskAccess(a, opts)) +} + +export interface GetDiskAccessOutputArgs { + /** + * The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + */ + diskAccessName: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230402/getDiskAccessAPrivateEndpointConnection.ts b/sdk/nodejs/compute/v20230402/getDiskAccessAPrivateEndpointConnection.ts new file mode 100644 index 000000000000..fd56def1258d --- /dev/null +++ b/sdk/nodejs/compute/v20230402/getDiskAccessAPrivateEndpointConnection.ts @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets information about a private endpoint connection under a disk access resource. + */ +export function getDiskAccessAPrivateEndpointConnection(args: GetDiskAccessAPrivateEndpointConnectionArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230402:getDiskAccessAPrivateEndpointConnection", { + "diskAccessName": args.diskAccessName, + "privateEndpointConnectionName": args.privateEndpointConnectionName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetDiskAccessAPrivateEndpointConnectionArgs { + /** + * The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + */ + diskAccessName: string; + /** + * The name of the private endpoint connection. + */ + privateEndpointConnectionName: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; +} + +/** + * The Private Endpoint Connection resource. + */ +export interface GetDiskAccessAPrivateEndpointConnectionResult { + /** + * private endpoint connection Id + */ + readonly id: string; + /** + * private endpoint connection name + */ + readonly name: string; + /** + * The resource of private end point. + */ + readonly privateEndpoint: outputs.compute.v20230402.PrivateEndpointResponse; + /** + * A collection of information about the state of the connection between DiskAccess and Virtual Network. + */ + readonly privateLinkServiceConnectionState: outputs.compute.v20230402.PrivateLinkServiceConnectionStateResponse; + /** + * The provisioning state of the private endpoint connection resource. + */ + readonly provisioningState: string; + /** + * private endpoint connection type + */ + readonly type: string; +} +/** + * Gets information about a private endpoint connection under a disk access resource. + */ +export function getDiskAccessAPrivateEndpointConnectionOutput(args: GetDiskAccessAPrivateEndpointConnectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDiskAccessAPrivateEndpointConnection(a, opts)) +} + +export interface GetDiskAccessAPrivateEndpointConnectionOutputArgs { + /** + * The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + */ + diskAccessName: pulumi.Input; + /** + * The name of the private endpoint connection. + */ + privateEndpointConnectionName: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230402/getDiskEncryptionSet.ts b/sdk/nodejs/compute/v20230402/getDiskEncryptionSet.ts new file mode 100644 index 000000000000..4331f702329f --- /dev/null +++ b/sdk/nodejs/compute/v20230402/getDiskEncryptionSet.ts @@ -0,0 +1,110 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets information about a disk encryption set. + */ +export function getDiskEncryptionSet(args: GetDiskEncryptionSetArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230402:getDiskEncryptionSet", { + "diskEncryptionSetName": args.diskEncryptionSetName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetDiskEncryptionSetArgs { + /** + * The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + */ + diskEncryptionSetName: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; +} + +/** + * disk encryption set resource. + */ +export interface GetDiskEncryptionSetResult { + /** + * The key vault key which is currently used by this disk encryption set. + */ + readonly activeKey?: outputs.compute.v20230402.KeyForDiskEncryptionSetResponse; + /** + * The error that was encountered during auto-key rotation. If an error is present, then auto-key rotation will not be attempted until the error on this disk encryption set is fixed. + */ + readonly autoKeyRotationError: outputs.compute.v20230402.ApiErrorResponse; + /** + * The type of key used to encrypt the data of the disk. + */ + readonly encryptionType?: string; + /** + * Multi-tenant application client id to access key vault in a different tenant. Setting the value to 'None' will clear the property. + */ + readonly federatedClientId?: string; + /** + * Resource Id + */ + readonly id: string; + /** + * The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + */ + readonly identity?: outputs.compute.v20230402.EncryptionSetIdentityResponse; + /** + * The time when the active key of this disk encryption set was updated. + */ + readonly lastKeyRotationTimestamp: string; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation. + */ + readonly previousKeys: outputs.compute.v20230402.KeyForDiskEncryptionSetResponse[]; + /** + * The disk encryption set provisioning state. + */ + readonly provisioningState: string; + /** + * Set this flag to true to enable auto-updating of this disk encryption set to the latest key version. + */ + readonly rotationToLatestKeyVersionEnabled?: boolean; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Resource type + */ + readonly type: string; +} +/** + * Gets information about a disk encryption set. + */ +export function getDiskEncryptionSetOutput(args: GetDiskEncryptionSetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDiskEncryptionSet(a, opts)) +} + +export interface GetDiskEncryptionSetOutputArgs { + /** + * The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + */ + diskEncryptionSetName: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230402/getSnapshot.ts b/sdk/nodejs/compute/v20230402/getSnapshot.ts new file mode 100644 index 000000000000..24bd8de3746f --- /dev/null +++ b/sdk/nodejs/compute/v20230402/getSnapshot.ts @@ -0,0 +1,178 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets information about a snapshot. + */ +export function getSnapshot(args: GetSnapshotArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230402:getSnapshot", { + "resourceGroupName": args.resourceGroupName, + "snapshotName": args.snapshotName, + }, opts); +} + +export interface GetSnapshotArgs { + /** + * The name of the resource group. + */ + resourceGroupName: string; + /** + * The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters. + */ + snapshotName: string; +} + +/** + * Snapshot resource. + */ +export interface GetSnapshotResult { + /** + * Percentage complete for the background copy when a resource is created via the CopyStart operation. + */ + readonly completionPercent?: number; + /** + * Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + */ + readonly copyCompletionError?: outputs.compute.v20230402.CopyCompletionErrorResponse; + /** + * Disk source information. CreationData information cannot be changed after the disk has been created. + */ + readonly creationData: outputs.compute.v20230402.CreationDataResponse; + /** + * Additional authentication requirements when exporting or uploading to a disk or snapshot. + */ + readonly dataAccessAuthMode?: string; + /** + * ARM id of the DiskAccess resource for using private endpoints on disks. + */ + readonly diskAccessId?: string; + /** + * The size of the disk in bytes. This field is read only. + */ + readonly diskSizeBytes: number; + /** + * If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + */ + readonly diskSizeGB?: number; + /** + * The state of the snapshot. + */ + readonly diskState: string; + /** + * Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + */ + readonly encryption?: outputs.compute.v20230402.EncryptionResponse; + /** + * Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + */ + readonly encryptionSettingsCollection?: outputs.compute.v20230402.EncryptionSettingsCollectionResponse; + /** + * The extended location where the snapshot will be created. Extended location cannot be changed. + */ + readonly extendedLocation?: outputs.compute.v20230402.ExtendedLocationResponse; + /** + * The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + */ + readonly hyperVGeneration?: string; + /** + * Resource Id + */ + readonly id: string; + /** + * Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + */ + readonly incremental?: boolean; + /** + * Incremental snapshots for a disk share an incremental snapshot family id. The Get Page Range Diff API can only be called on incremental snapshots with the same family id. + */ + readonly incrementalSnapshotFamilyId: string; + /** + * Resource location + */ + readonly location: string; + /** + * Unused. Always Null. + */ + readonly managedBy: string; + /** + * Resource name + */ + readonly name: string; + /** + * Policy for accessing the disk via network. + */ + readonly networkAccessPolicy?: string; + /** + * The Operating System type. + */ + readonly osType?: string; + /** + * The disk provisioning state. + */ + readonly provisioningState: string; + /** + * Policy for controlling export on the disk. + */ + readonly publicNetworkAccess?: string; + /** + * Purchase plan information for the image from which the source disk for the snapshot was originally created. + */ + readonly purchasePlan?: outputs.compute.v20230402.PurchasePlanResponse; + /** + * Contains the security related information for the resource. + */ + readonly securityProfile?: outputs.compute.v20230402.DiskSecurityProfileResponse; + /** + * The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + */ + readonly sku?: outputs.compute.v20230402.SnapshotSkuResponse; + /** + * List of supported capabilities for the image from which the source disk from the snapshot was originally created. + */ + readonly supportedCapabilities?: outputs.compute.v20230402.SupportedCapabilitiesResponse; + /** + * Indicates the OS on a snapshot supports hibernation. + */ + readonly supportsHibernation?: boolean; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * The time when the snapshot was created. + */ + readonly timeCreated: string; + /** + * Resource type + */ + readonly type: string; + /** + * Unique Guid identifying the resource. + */ + readonly uniqueId: string; +} +/** + * Gets information about a snapshot. + */ +export function getSnapshotOutput(args: GetSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getSnapshot(a, opts)) +} + +export interface GetSnapshotOutputArgs { + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters. + */ + snapshotName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230402/index.ts b/sdk/nodejs/compute/v20230402/index.ts new file mode 100644 index 000000000000..57cb9cdbe341 --- /dev/null +++ b/sdk/nodejs/compute/v20230402/index.ts @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { DiskArgs } from "./disk"; +export type Disk = import("./disk").Disk; +export const Disk: typeof import("./disk").Disk = null as any; +utilities.lazyLoad(exports, ["Disk"], () => require("./disk")); + +export { DiskAccessArgs } from "./diskAccess"; +export type DiskAccess = import("./diskAccess").DiskAccess; +export const DiskAccess: typeof import("./diskAccess").DiskAccess = null as any; +utilities.lazyLoad(exports, ["DiskAccess"], () => require("./diskAccess")); + +export { DiskAccessAPrivateEndpointConnectionArgs } from "./diskAccessAPrivateEndpointConnection"; +export type DiskAccessAPrivateEndpointConnection = import("./diskAccessAPrivateEndpointConnection").DiskAccessAPrivateEndpointConnection; +export const DiskAccessAPrivateEndpointConnection: typeof import("./diskAccessAPrivateEndpointConnection").DiskAccessAPrivateEndpointConnection = null as any; +utilities.lazyLoad(exports, ["DiskAccessAPrivateEndpointConnection"], () => require("./diskAccessAPrivateEndpointConnection")); + +export { DiskEncryptionSetArgs } from "./diskEncryptionSet"; +export type DiskEncryptionSet = import("./diskEncryptionSet").DiskEncryptionSet; +export const DiskEncryptionSet: typeof import("./diskEncryptionSet").DiskEncryptionSet = null as any; +utilities.lazyLoad(exports, ["DiskEncryptionSet"], () => require("./diskEncryptionSet")); + +export { GetDiskArgs, GetDiskResult, GetDiskOutputArgs } from "./getDisk"; +export const getDisk: typeof import("./getDisk").getDisk = null as any; +export const getDiskOutput: typeof import("./getDisk").getDiskOutput = null as any; +utilities.lazyLoad(exports, ["getDisk","getDiskOutput"], () => require("./getDisk")); + +export { GetDiskAccessArgs, GetDiskAccessResult, GetDiskAccessOutputArgs } from "./getDiskAccess"; +export const getDiskAccess: typeof import("./getDiskAccess").getDiskAccess = null as any; +export const getDiskAccessOutput: typeof import("./getDiskAccess").getDiskAccessOutput = null as any; +utilities.lazyLoad(exports, ["getDiskAccess","getDiskAccessOutput"], () => require("./getDiskAccess")); + +export { GetDiskAccessAPrivateEndpointConnectionArgs, GetDiskAccessAPrivateEndpointConnectionResult, GetDiskAccessAPrivateEndpointConnectionOutputArgs } from "./getDiskAccessAPrivateEndpointConnection"; +export const getDiskAccessAPrivateEndpointConnection: typeof import("./getDiskAccessAPrivateEndpointConnection").getDiskAccessAPrivateEndpointConnection = null as any; +export const getDiskAccessAPrivateEndpointConnectionOutput: typeof import("./getDiskAccessAPrivateEndpointConnection").getDiskAccessAPrivateEndpointConnectionOutput = null as any; +utilities.lazyLoad(exports, ["getDiskAccessAPrivateEndpointConnection","getDiskAccessAPrivateEndpointConnectionOutput"], () => require("./getDiskAccessAPrivateEndpointConnection")); + +export { GetDiskEncryptionSetArgs, GetDiskEncryptionSetResult, GetDiskEncryptionSetOutputArgs } from "./getDiskEncryptionSet"; +export const getDiskEncryptionSet: typeof import("./getDiskEncryptionSet").getDiskEncryptionSet = null as any; +export const getDiskEncryptionSetOutput: typeof import("./getDiskEncryptionSet").getDiskEncryptionSetOutput = null as any; +utilities.lazyLoad(exports, ["getDiskEncryptionSet","getDiskEncryptionSetOutput"], () => require("./getDiskEncryptionSet")); + +export { GetSnapshotArgs, GetSnapshotResult, GetSnapshotOutputArgs } from "./getSnapshot"; +export const getSnapshot: typeof import("./getSnapshot").getSnapshot = null as any; +export const getSnapshotOutput: typeof import("./getSnapshot").getSnapshotOutput = null as any; +utilities.lazyLoad(exports, ["getSnapshot","getSnapshotOutput"], () => require("./getSnapshot")); + +export { SnapshotArgs } from "./snapshot"; +export type Snapshot = import("./snapshot").Snapshot; +export const Snapshot: typeof import("./snapshot").Snapshot = null as any; +utilities.lazyLoad(exports, ["Snapshot"], () => require("./snapshot")); + + +// Export enums: +export * from "../../types/enums/compute/v20230402"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:compute/v20230402:Disk": + return new Disk(name, undefined, { urn }) + case "azure-native:compute/v20230402:DiskAccess": + return new DiskAccess(name, undefined, { urn }) + case "azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection": + return new DiskAccessAPrivateEndpointConnection(name, undefined, { urn }) + case "azure-native:compute/v20230402:DiskEncryptionSet": + return new DiskEncryptionSet(name, undefined, { urn }) + case "azure-native:compute/v20230402:Snapshot": + return new Snapshot(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "compute/v20230402", _module) diff --git a/sdk/nodejs/compute/v20230402/snapshot.ts b/sdk/nodejs/compute/v20230402/snapshot.ts new file mode 100644 index 000000000000..cbb8f092fbfd --- /dev/null +++ b/sdk/nodejs/compute/v20230402/snapshot.ts @@ -0,0 +1,345 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Snapshot resource. + */ +export class Snapshot extends pulumi.CustomResource { + /** + * Get an existing Snapshot 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Snapshot { + return new Snapshot(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230402:Snapshot'; + + /** + * Returns true if the given object is an instance of Snapshot. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Snapshot { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Snapshot.__pulumiType; + } + + /** + * Percentage complete for the background copy when a resource is created via the CopyStart operation. + */ + public readonly completionPercent!: pulumi.Output; + /** + * Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + */ + public readonly copyCompletionError!: pulumi.Output; + /** + * Disk source information. CreationData information cannot be changed after the disk has been created. + */ + public readonly creationData!: pulumi.Output; + /** + * Additional authentication requirements when exporting or uploading to a disk or snapshot. + */ + public readonly dataAccessAuthMode!: pulumi.Output; + /** + * ARM id of the DiskAccess resource for using private endpoints on disks. + */ + public readonly diskAccessId!: pulumi.Output; + /** + * The size of the disk in bytes. This field is read only. + */ + public /*out*/ readonly diskSizeBytes!: pulumi.Output; + /** + * If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + */ + public readonly diskSizeGB!: pulumi.Output; + /** + * The state of the snapshot. + */ + public /*out*/ readonly diskState!: pulumi.Output; + /** + * Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + */ + public readonly encryption!: pulumi.Output; + /** + * Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + */ + public readonly encryptionSettingsCollection!: pulumi.Output; + /** + * The extended location where the snapshot will be created. Extended location cannot be changed. + */ + public readonly extendedLocation!: pulumi.Output; + /** + * The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + */ + public readonly hyperVGeneration!: pulumi.Output; + /** + * Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + */ + public readonly incremental!: pulumi.Output; + /** + * Incremental snapshots for a disk share an incremental snapshot family id. The Get Page Range Diff API can only be called on incremental snapshots with the same family id. + */ + public /*out*/ readonly incrementalSnapshotFamilyId!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Unused. Always Null. + */ + public /*out*/ readonly managedBy!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Policy for accessing the disk via network. + */ + public readonly networkAccessPolicy!: pulumi.Output; + /** + * The Operating System type. + */ + public readonly osType!: pulumi.Output; + /** + * The disk provisioning state. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Policy for controlling export on the disk. + */ + public readonly publicNetworkAccess!: pulumi.Output; + /** + * Purchase plan information for the image from which the source disk for the snapshot was originally created. + */ + public readonly purchasePlan!: pulumi.Output; + /** + * Contains the security related information for the resource. + */ + public readonly securityProfile!: pulumi.Output; + /** + * The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + */ + public readonly sku!: pulumi.Output; + /** + * List of supported capabilities for the image from which the source disk from the snapshot was originally created. + */ + public readonly supportedCapabilities!: pulumi.Output; + /** + * Indicates the OS on a snapshot supports hibernation. + */ + public readonly supportsHibernation!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The time when the snapshot was created. + */ + public /*out*/ readonly timeCreated!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * Unique Guid identifying the resource. + */ + public /*out*/ readonly uniqueId!: pulumi.Output; + + /** + * Create a Snapshot 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: SnapshotArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.creationData === undefined) && !opts.urn) { + throw new Error("Missing required property 'creationData'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["completionPercent"] = args ? args.completionPercent : undefined; + resourceInputs["copyCompletionError"] = args ? args.copyCompletionError : undefined; + resourceInputs["creationData"] = args ? args.creationData : undefined; + resourceInputs["dataAccessAuthMode"] = args ? args.dataAccessAuthMode : undefined; + resourceInputs["diskAccessId"] = args ? args.diskAccessId : undefined; + resourceInputs["diskSizeGB"] = args ? args.diskSizeGB : undefined; + resourceInputs["encryption"] = args ? args.encryption : undefined; + resourceInputs["encryptionSettingsCollection"] = args ? args.encryptionSettingsCollection : undefined; + resourceInputs["extendedLocation"] = args ? args.extendedLocation : undefined; + resourceInputs["hyperVGeneration"] = args ? args.hyperVGeneration : undefined; + resourceInputs["incremental"] = args ? args.incremental : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["networkAccessPolicy"] = args ? args.networkAccessPolicy : undefined; + resourceInputs["osType"] = args ? args.osType : undefined; + resourceInputs["publicNetworkAccess"] = args ? args.publicNetworkAccess : undefined; + resourceInputs["purchasePlan"] = args ? args.purchasePlan : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["securityProfile"] = args ? args.securityProfile : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["snapshotName"] = args ? args.snapshotName : undefined; + resourceInputs["supportedCapabilities"] = args ? args.supportedCapabilities : undefined; + resourceInputs["supportsHibernation"] = args ? args.supportsHibernation : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["diskSizeBytes"] = undefined /*out*/; + resourceInputs["diskState"] = undefined /*out*/; + resourceInputs["incrementalSnapshotFamilyId"] = undefined /*out*/; + resourceInputs["managedBy"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["uniqueId"] = undefined /*out*/; + } else { + resourceInputs["completionPercent"] = undefined /*out*/; + resourceInputs["copyCompletionError"] = undefined /*out*/; + resourceInputs["creationData"] = undefined /*out*/; + resourceInputs["dataAccessAuthMode"] = undefined /*out*/; + resourceInputs["diskAccessId"] = undefined /*out*/; + resourceInputs["diskSizeBytes"] = undefined /*out*/; + resourceInputs["diskSizeGB"] = undefined /*out*/; + resourceInputs["diskState"] = undefined /*out*/; + resourceInputs["encryption"] = undefined /*out*/; + resourceInputs["encryptionSettingsCollection"] = undefined /*out*/; + resourceInputs["extendedLocation"] = undefined /*out*/; + resourceInputs["hyperVGeneration"] = undefined /*out*/; + resourceInputs["incremental"] = undefined /*out*/; + resourceInputs["incrementalSnapshotFamilyId"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["managedBy"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkAccessPolicy"] = undefined /*out*/; + resourceInputs["osType"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["publicNetworkAccess"] = undefined /*out*/; + resourceInputs["purchasePlan"] = undefined /*out*/; + resourceInputs["securityProfile"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["supportedCapabilities"] = undefined /*out*/; + resourceInputs["supportsHibernation"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["uniqueId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:Snapshot" }, { type: "azure-native:compute/v20160430preview:Snapshot" }, { type: "azure-native:compute/v20170330:Snapshot" }, { type: "azure-native:compute/v20180401:Snapshot" }, { type: "azure-native:compute/v20180601:Snapshot" }, { type: "azure-native:compute/v20180930:Snapshot" }, { type: "azure-native:compute/v20190301:Snapshot" }, { type: "azure-native:compute/v20190701:Snapshot" }, { type: "azure-native:compute/v20191101:Snapshot" }, { type: "azure-native:compute/v20200501:Snapshot" }, { type: "azure-native:compute/v20200630:Snapshot" }, { type: "azure-native:compute/v20200930:Snapshot" }, { type: "azure-native:compute/v20201201:Snapshot" }, { type: "azure-native:compute/v20210401:Snapshot" }, { type: "azure-native:compute/v20210801:Snapshot" }, { type: "azure-native:compute/v20211201:Snapshot" }, { type: "azure-native:compute/v20220302:Snapshot" }, { type: "azure-native:compute/v20220702:Snapshot" }, { type: "azure-native:compute/v20230102:Snapshot" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Snapshot.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Snapshot resource. + */ +export interface SnapshotArgs { + /** + * Percentage complete for the background copy when a resource is created via the CopyStart operation. + */ + completionPercent?: pulumi.Input; + /** + * Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + */ + copyCompletionError?: pulumi.Input; + /** + * Disk source information. CreationData information cannot be changed after the disk has been created. + */ + creationData: pulumi.Input; + /** + * Additional authentication requirements when exporting or uploading to a disk or snapshot. + */ + dataAccessAuthMode?: pulumi.Input; + /** + * ARM id of the DiskAccess resource for using private endpoints on disks. + */ + diskAccessId?: pulumi.Input; + /** + * If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + */ + diskSizeGB?: pulumi.Input; + /** + * Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + */ + encryption?: pulumi.Input; + /** + * Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + */ + encryptionSettingsCollection?: pulumi.Input; + /** + * The extended location where the snapshot will be created. Extended location cannot be changed. + */ + extendedLocation?: pulumi.Input; + /** + * The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + */ + hyperVGeneration?: pulumi.Input; + /** + * Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + */ + incremental?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * Policy for accessing the disk via network. + */ + networkAccessPolicy?: pulumi.Input; + /** + * The Operating System type. + */ + osType?: pulumi.Input; + /** + * Policy for controlling export on the disk. + */ + publicNetworkAccess?: pulumi.Input; + /** + * Purchase plan information for the image from which the source disk for the snapshot was originally created. + */ + purchasePlan?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Contains the security related information for the resource. + */ + securityProfile?: pulumi.Input; + /** + * The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + */ + sku?: pulumi.Input; + /** + * The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters. + */ + snapshotName?: pulumi.Input; + /** + * List of supported capabilities for the image from which the source disk from the snapshot was originally created. + */ + supportedCapabilities?: pulumi.Input; + /** + * Indicates the OS on a snapshot supports hibernation. + */ + supportsHibernation?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/compute/v20230701/availabilitySet.ts b/sdk/nodejs/compute/v20230701/availabilitySet.ts new file mode 100644 index 000000000000..989f7a21a790 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/availabilitySet.ts @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to an availability set at creation time. An existing VM cannot be added to an availability set. + */ +export class AvailabilitySet extends pulumi.CustomResource { + /** + * Get an existing AvailabilitySet 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): AvailabilitySet { + return new AvailabilitySet(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:AvailabilitySet'; + + /** + * Returns true if the given object is an instance of AvailabilitySet. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is AvailabilitySet { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AvailabilitySet.__pulumiType; + } + + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Fault Domain count. + */ + public readonly platformFaultDomainCount!: pulumi.Output; + /** + * Update Domain count. + */ + public readonly platformUpdateDomainCount!: pulumi.Output; + /** + * Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. + */ + public readonly proximityPlacementGroup!: pulumi.Output; + /** + * Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. + */ + public readonly sku!: pulumi.Output; + /** + * The resource status information. + */ + public /*out*/ readonly statuses!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * A list of references to all virtual machines in the availability set. + */ + public readonly virtualMachines!: pulumi.Output; + + /** + * Create a AvailabilitySet 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: AvailabilitySetArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["availabilitySetName"] = args ? args.availabilitySetName : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["platformFaultDomainCount"] = args ? args.platformFaultDomainCount : undefined; + resourceInputs["platformUpdateDomainCount"] = args ? args.platformUpdateDomainCount : undefined; + resourceInputs["proximityPlacementGroup"] = args ? args.proximityPlacementGroup : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["virtualMachines"] = args ? args.virtualMachines : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["statuses"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["platformFaultDomainCount"] = undefined /*out*/; + resourceInputs["platformUpdateDomainCount"] = undefined /*out*/; + resourceInputs["proximityPlacementGroup"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["statuses"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["virtualMachines"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:AvailabilitySet" }, { type: "azure-native:compute/v20150615:AvailabilitySet" }, { type: "azure-native:compute/v20160330:AvailabilitySet" }, { type: "azure-native:compute/v20160430preview:AvailabilitySet" }, { type: "azure-native:compute/v20170330:AvailabilitySet" }, { type: "azure-native:compute/v20171201:AvailabilitySet" }, { type: "azure-native:compute/v20180401:AvailabilitySet" }, { type: "azure-native:compute/v20180601:AvailabilitySet" }, { type: "azure-native:compute/v20181001:AvailabilitySet" }, { type: "azure-native:compute/v20190301:AvailabilitySet" }, { type: "azure-native:compute/v20190701:AvailabilitySet" }, { type: "azure-native:compute/v20191201:AvailabilitySet" }, { type: "azure-native:compute/v20200601:AvailabilitySet" }, { type: "azure-native:compute/v20201201:AvailabilitySet" }, { type: "azure-native:compute/v20210301:AvailabilitySet" }, { type: "azure-native:compute/v20210401:AvailabilitySet" }, { type: "azure-native:compute/v20210701:AvailabilitySet" }, { type: "azure-native:compute/v20211101:AvailabilitySet" }, { type: "azure-native:compute/v20220301:AvailabilitySet" }, { type: "azure-native:compute/v20220801:AvailabilitySet" }, { type: "azure-native:compute/v20221101:AvailabilitySet" }, { type: "azure-native:compute/v20230301:AvailabilitySet" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(AvailabilitySet.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a AvailabilitySet resource. + */ +export interface AvailabilitySetArgs { + /** + * The name of the availability set. + */ + availabilitySetName?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * Fault Domain count. + */ + platformFaultDomainCount?: pulumi.Input; + /** + * Update Domain count. + */ + platformUpdateDomainCount?: pulumi.Input; + /** + * Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. + */ + proximityPlacementGroup?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. + */ + sku?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A list of references to all virtual machines in the availability set. + */ + virtualMachines?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/compute/v20230701/capacityReservation.ts b/sdk/nodejs/compute/v20230701/capacityReservation.ts new file mode 100644 index 000000000000..3a36e6c664bb --- /dev/null +++ b/sdk/nodejs/compute/v20230701/capacityReservation.ts @@ -0,0 +1,183 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Specifies information about the capacity reservation. + */ +export class CapacityReservation extends pulumi.CustomResource { + /** + * Get an existing CapacityReservation 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): CapacityReservation { + return new CapacityReservation(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:CapacityReservation'; + + /** + * Returns true if the given object is an instance of CapacityReservation. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is CapacityReservation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CapacityReservation.__pulumiType; + } + + /** + * The Capacity reservation instance view. + */ + public /*out*/ readonly instanceView!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Specifies the value of fault domain count that Capacity Reservation supports for requested VM size. **Note:** The fault domain count specified for a resource (like virtual machines scale set) must be less than or equal to this value if it deploys using capacity reservation. Minimum api-version: 2022-08-01. + */ + public /*out*/ readonly platformFaultDomainCount!: pulumi.Output; + /** + * The provisioning state, which only appears in the response. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * The date time when the capacity reservation was last updated. + */ + public /*out*/ readonly provisioningTime!: pulumi.Output; + /** + * A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource. + */ + public /*out*/ readonly reservationId!: pulumi.Output; + /** + * SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. + */ + public readonly sku!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Specifies the time at which the Capacity Reservation resource was created. Minimum api-version: 2021-11-01. + */ + public /*out*/ readonly timeCreated!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * A list of all virtual machine resource ids that are associated with the capacity reservation. + */ + public /*out*/ readonly virtualMachinesAssociated!: pulumi.Output; + /** + * Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone. + */ + public readonly zones!: pulumi.Output; + + /** + * Create a CapacityReservation 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: CapacityReservationArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.capacityReservationGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'capacityReservationGroupName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.sku === undefined) && !opts.urn) { + throw new Error("Missing required property 'sku'"); + } + resourceInputs["capacityReservationGroupName"] = args ? args.capacityReservationGroupName : undefined; + resourceInputs["capacityReservationName"] = args ? args.capacityReservationName : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["zones"] = args ? args.zones : undefined; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["platformFaultDomainCount"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["provisioningTime"] = undefined /*out*/; + resourceInputs["reservationId"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["virtualMachinesAssociated"] = undefined /*out*/; + } else { + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["platformFaultDomainCount"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["provisioningTime"] = undefined /*out*/; + resourceInputs["reservationId"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["virtualMachinesAssociated"] = undefined /*out*/; + resourceInputs["zones"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:CapacityReservation" }, { type: "azure-native:compute/v20210401:CapacityReservation" }, { type: "azure-native:compute/v20210701:CapacityReservation" }, { type: "azure-native:compute/v20211101:CapacityReservation" }, { type: "azure-native:compute/v20220301:CapacityReservation" }, { type: "azure-native:compute/v20220801:CapacityReservation" }, { type: "azure-native:compute/v20221101:CapacityReservation" }, { type: "azure-native:compute/v20230301:CapacityReservation" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(CapacityReservation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a CapacityReservation resource. + */ +export interface CapacityReservationArgs { + /** + * The name of the capacity reservation group. + */ + capacityReservationGroupName: pulumi.Input; + /** + * The name of the capacity reservation. + */ + capacityReservationName?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. + */ + sku: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone. + */ + zones?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/compute/v20230701/capacityReservationGroup.ts b/sdk/nodejs/compute/v20230701/capacityReservationGroup.ts new file mode 100644 index 000000000000..0bee739314c1 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/capacityReservationGroup.ts @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Specifies information about the capacity reservation group that the capacity reservations should be assigned to. Currently, a capacity reservation can only be added to a capacity reservation group at creation time. An existing capacity reservation cannot be added or moved to another capacity reservation group. + */ +export class CapacityReservationGroup extends pulumi.CustomResource { + /** + * Get an existing CapacityReservationGroup 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): CapacityReservationGroup { + return new CapacityReservationGroup(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:CapacityReservationGroup'; + + /** + * Returns true if the given object is an instance of CapacityReservationGroup. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is CapacityReservationGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CapacityReservationGroup.__pulumiType; + } + + /** + * A list of all capacity reservation resource ids that belong to capacity reservation group. + */ + public /*out*/ readonly capacityReservations!: pulumi.Output; + /** + * The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group. + */ + public /*out*/ readonly instanceView!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * A list of references to all virtual machines associated to the capacity reservation group. + */ + public /*out*/ readonly virtualMachinesAssociated!: pulumi.Output; + /** + * Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones. + */ + public readonly zones!: pulumi.Output; + + /** + * Create a CapacityReservationGroup 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: CapacityReservationGroupArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["capacityReservationGroupName"] = args ? args.capacityReservationGroupName : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["zones"] = args ? args.zones : undefined; + resourceInputs["capacityReservations"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["virtualMachinesAssociated"] = undefined /*out*/; + } else { + resourceInputs["capacityReservations"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["virtualMachinesAssociated"] = undefined /*out*/; + resourceInputs["zones"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:CapacityReservationGroup" }, { type: "azure-native:compute/v20210401:CapacityReservationGroup" }, { type: "azure-native:compute/v20210701:CapacityReservationGroup" }, { type: "azure-native:compute/v20211101:CapacityReservationGroup" }, { type: "azure-native:compute/v20220301:CapacityReservationGroup" }, { type: "azure-native:compute/v20220801:CapacityReservationGroup" }, { type: "azure-native:compute/v20221101:CapacityReservationGroup" }, { type: "azure-native:compute/v20230301:CapacityReservationGroup" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(CapacityReservationGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a CapacityReservationGroup resource. + */ +export interface CapacityReservationGroupArgs { + /** + * The name of the capacity reservation group. + */ + capacityReservationGroupName?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones. + */ + zones?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/compute/v20230701/dedicatedHost.ts b/sdk/nodejs/compute/v20230701/dedicatedHost.ts new file mode 100644 index 000000000000..bb65790946c6 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/dedicatedHost.ts @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Specifies information about the Dedicated host. + */ +export class DedicatedHost extends pulumi.CustomResource { + /** + * Get an existing DedicatedHost 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): DedicatedHost { + return new DedicatedHost(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:DedicatedHost'; + + /** + * Returns true if the given object is an instance of DedicatedHost. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DedicatedHost { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DedicatedHost.__pulumiType; + } + + /** + * Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. + */ + public readonly autoReplaceOnFailure!: pulumi.Output; + /** + * A unique id generated and assigned to the dedicated host by the platform. Does not change throughout the lifetime of the host. + */ + public /*out*/ readonly hostId!: pulumi.Output; + /** + * The dedicated host instance view. + */ + public /*out*/ readonly instanceView!: pulumi.Output; + /** + * Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + */ + public readonly licenseType!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Fault domain of the dedicated host within a dedicated host group. + */ + public readonly platformFaultDomain!: pulumi.Output; + /** + * The provisioning state, which only appears in the response. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * The date when the host was first provisioned. + */ + public /*out*/ readonly provisioningTime!: pulumi.Output; + /** + * SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values. + */ + public readonly sku!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Specifies the time at which the Dedicated Host resource was created. Minimum api-version: 2021-11-01. + */ + public /*out*/ readonly timeCreated!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * A list of references to all virtual machines in the Dedicated Host. + */ + public /*out*/ readonly virtualMachines!: pulumi.Output; + + /** + * Create a DedicatedHost 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: DedicatedHostArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.hostGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'hostGroupName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.sku === undefined) && !opts.urn) { + throw new Error("Missing required property 'sku'"); + } + resourceInputs["autoReplaceOnFailure"] = args ? args.autoReplaceOnFailure : undefined; + resourceInputs["hostGroupName"] = args ? args.hostGroupName : undefined; + resourceInputs["hostName"] = args ? args.hostName : undefined; + resourceInputs["licenseType"] = args ? args.licenseType : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["platformFaultDomain"] = args ? args.platformFaultDomain : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["hostId"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["provisioningTime"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["virtualMachines"] = undefined /*out*/; + } else { + resourceInputs["autoReplaceOnFailure"] = undefined /*out*/; + resourceInputs["hostId"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["licenseType"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["platformFaultDomain"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["provisioningTime"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["virtualMachines"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:DedicatedHost" }, { type: "azure-native:compute/v20190301:DedicatedHost" }, { type: "azure-native:compute/v20190701:DedicatedHost" }, { type: "azure-native:compute/v20191201:DedicatedHost" }, { type: "azure-native:compute/v20200601:DedicatedHost" }, { type: "azure-native:compute/v20201201:DedicatedHost" }, { type: "azure-native:compute/v20210301:DedicatedHost" }, { type: "azure-native:compute/v20210401:DedicatedHost" }, { type: "azure-native:compute/v20210701:DedicatedHost" }, { type: "azure-native:compute/v20211101:DedicatedHost" }, { type: "azure-native:compute/v20220301:DedicatedHost" }, { type: "azure-native:compute/v20220801:DedicatedHost" }, { type: "azure-native:compute/v20221101:DedicatedHost" }, { type: "azure-native:compute/v20230301:DedicatedHost" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(DedicatedHost.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DedicatedHost resource. + */ +export interface DedicatedHostArgs { + /** + * Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. + */ + autoReplaceOnFailure?: pulumi.Input; + /** + * The name of the dedicated host group. + */ + hostGroupName: pulumi.Input; + /** + * The name of the dedicated host . + */ + hostName?: pulumi.Input; + /** + * Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + */ + licenseType?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * Fault domain of the dedicated host within a dedicated host group. + */ + platformFaultDomain?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values. + */ + sku: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/compute/v20230701/dedicatedHostGroup.ts b/sdk/nodejs/compute/v20230701/dedicatedHostGroup.ts new file mode 100644 index 000000000000..84f803aca71e --- /dev/null +++ b/sdk/nodejs/compute/v20230701/dedicatedHostGroup.ts @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Specifies information about the dedicated host group that the dedicated hosts should be assigned to. Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group. + */ +export class DedicatedHostGroup extends pulumi.CustomResource { + /** + * Get an existing DedicatedHostGroup 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): DedicatedHostGroup { + return new DedicatedHostGroup(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:DedicatedHostGroup'; + + /** + * Returns true if the given object is an instance of DedicatedHostGroup. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DedicatedHostGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DedicatedHostGroup.__pulumiType; + } + + /** + * Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + */ + public readonly additionalCapabilities!: pulumi.Output; + /** + * A list of references to all dedicated hosts in the dedicated host group. + */ + public /*out*/ readonly hosts!: pulumi.Output; + /** + * The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group. + */ + public /*out*/ readonly instanceView!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Number of fault domains that the host group can span. + */ + public readonly platformFaultDomainCount!: pulumi.Output; + /** + * Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. + */ + public readonly supportAutomaticPlacement!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone. + */ + public readonly zones!: pulumi.Output; + + /** + * Create a DedicatedHostGroup 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: DedicatedHostGroupArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.platformFaultDomainCount === undefined) && !opts.urn) { + throw new Error("Missing required property 'platformFaultDomainCount'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["additionalCapabilities"] = args ? args.additionalCapabilities : undefined; + resourceInputs["hostGroupName"] = args ? args.hostGroupName : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["platformFaultDomainCount"] = args ? args.platformFaultDomainCount : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["supportAutomaticPlacement"] = args ? args.supportAutomaticPlacement : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["zones"] = args ? args.zones : undefined; + resourceInputs["hosts"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["additionalCapabilities"] = undefined /*out*/; + resourceInputs["hosts"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["platformFaultDomainCount"] = undefined /*out*/; + resourceInputs["supportAutomaticPlacement"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["zones"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:DedicatedHostGroup" }, { type: "azure-native:compute/v20190301:DedicatedHostGroup" }, { type: "azure-native:compute/v20190701:DedicatedHostGroup" }, { type: "azure-native:compute/v20191201:DedicatedHostGroup" }, { type: "azure-native:compute/v20200601:DedicatedHostGroup" }, { type: "azure-native:compute/v20201201:DedicatedHostGroup" }, { type: "azure-native:compute/v20210301:DedicatedHostGroup" }, { type: "azure-native:compute/v20210401:DedicatedHostGroup" }, { type: "azure-native:compute/v20210701:DedicatedHostGroup" }, { type: "azure-native:compute/v20211101:DedicatedHostGroup" }, { type: "azure-native:compute/v20220301:DedicatedHostGroup" }, { type: "azure-native:compute/v20220801:DedicatedHostGroup" }, { type: "azure-native:compute/v20221101:DedicatedHostGroup" }, { type: "azure-native:compute/v20230301:DedicatedHostGroup" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(DedicatedHostGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DedicatedHostGroup resource. + */ +export interface DedicatedHostGroupArgs { + /** + * Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + */ + additionalCapabilities?: pulumi.Input; + /** + * The name of the dedicated host group. + */ + hostGroupName?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * Number of fault domains that the host group can span. + */ + platformFaultDomainCount: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. + */ + supportAutomaticPlacement?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone. + */ + zones?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/compute/v20230701/getAvailabilitySet.ts b/sdk/nodejs/compute/v20230701/getAvailabilitySet.ts new file mode 100644 index 000000000000..34375a8387de --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getAvailabilitySet.ts @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Retrieves information about an availability set. + */ +export function getAvailabilitySet(args: GetAvailabilitySetArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getAvailabilitySet", { + "availabilitySetName": args.availabilitySetName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetAvailabilitySetArgs { + /** + * The name of the availability set. + */ + availabilitySetName: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; +} + +/** + * Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to an availability set at creation time. An existing VM cannot be added to an availability set. + */ +export interface GetAvailabilitySetResult { + /** + * Resource Id + */ + readonly id: string; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * Fault Domain count. + */ + readonly platformFaultDomainCount?: number; + /** + * Update Domain count. + */ + readonly platformUpdateDomainCount?: number; + /** + * Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. + */ + readonly proximityPlacementGroup?: outputs.compute.v20230701.SubResourceResponse; + /** + * Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. + */ + readonly sku?: outputs.compute.v20230701.SkuResponse; + /** + * The resource status information. + */ + readonly statuses: outputs.compute.v20230701.InstanceViewStatusResponse[]; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Resource type + */ + readonly type: string; + /** + * A list of references to all virtual machines in the availability set. + */ + readonly virtualMachines?: outputs.compute.v20230701.SubResourceResponse[]; +} +/** + * Retrieves information about an availability set. + */ +export function getAvailabilitySetOutput(args: GetAvailabilitySetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getAvailabilitySet(a, opts)) +} + +export interface GetAvailabilitySetOutputArgs { + /** + * The name of the availability set. + */ + availabilitySetName: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getCapacityReservation.ts b/sdk/nodejs/compute/v20230701/getCapacityReservation.ts new file mode 100644 index 000000000000..df97470f57a4 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getCapacityReservation.ts @@ -0,0 +1,128 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The operation that retrieves information about the capacity reservation. + */ +export function getCapacityReservation(args: GetCapacityReservationArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getCapacityReservation", { + "capacityReservationGroupName": args.capacityReservationGroupName, + "capacityReservationName": args.capacityReservationName, + "expand": args.expand, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetCapacityReservationArgs { + /** + * The name of the capacity reservation group. + */ + capacityReservationGroupName: string; + /** + * The name of the capacity reservation. + */ + capacityReservationName: string; + /** + * The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations. + */ + expand?: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; +} + +/** + * Specifies information about the capacity reservation. + */ +export interface GetCapacityReservationResult { + /** + * Resource Id + */ + readonly id: string; + /** + * The Capacity reservation instance view. + */ + readonly instanceView: outputs.compute.v20230701.CapacityReservationInstanceViewResponse; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * Specifies the value of fault domain count that Capacity Reservation supports for requested VM size. **Note:** The fault domain count specified for a resource (like virtual machines scale set) must be less than or equal to this value if it deploys using capacity reservation. Minimum api-version: 2022-08-01. + */ + readonly platformFaultDomainCount: number; + /** + * The provisioning state, which only appears in the response. + */ + readonly provisioningState: string; + /** + * The date time when the capacity reservation was last updated. + */ + readonly provisioningTime: string; + /** + * A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource. + */ + readonly reservationId: string; + /** + * SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. + */ + readonly sku: outputs.compute.v20230701.SkuResponse; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Specifies the time at which the Capacity Reservation resource was created. Minimum api-version: 2021-11-01. + */ + readonly timeCreated: string; + /** + * Resource type + */ + readonly type: string; + /** + * A list of all virtual machine resource ids that are associated with the capacity reservation. + */ + readonly virtualMachinesAssociated: outputs.compute.v20230701.SubResourceReadOnlyResponse[]; + /** + * Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone. + */ + readonly zones?: string[]; +} +/** + * The operation that retrieves information about the capacity reservation. + */ +export function getCapacityReservationOutput(args: GetCapacityReservationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCapacityReservation(a, opts)) +} + +export interface GetCapacityReservationOutputArgs { + /** + * The name of the capacity reservation group. + */ + capacityReservationGroupName: pulumi.Input; + /** + * The name of the capacity reservation. + */ + capacityReservationName: pulumi.Input; + /** + * The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations. + */ + expand?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getCapacityReservationGroup.ts b/sdk/nodejs/compute/v20230701/getCapacityReservationGroup.ts new file mode 100644 index 000000000000..0d877d8e979a --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getCapacityReservationGroup.ts @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The operation that retrieves information about a capacity reservation group. + */ +export function getCapacityReservationGroup(args: GetCapacityReservationGroupArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getCapacityReservationGroup", { + "capacityReservationGroupName": args.capacityReservationGroupName, + "expand": args.expand, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetCapacityReservationGroupArgs { + /** + * The name of the capacity reservation group. + */ + capacityReservationGroupName: string; + /** + * The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the capacity reservations under the capacity reservation group which is a snapshot of the runtime properties of a capacity reservation that is managed by the platform and can change outside of control plane operations. + */ + expand?: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; +} + +/** + * Specifies information about the capacity reservation group that the capacity reservations should be assigned to. Currently, a capacity reservation can only be added to a capacity reservation group at creation time. An existing capacity reservation cannot be added or moved to another capacity reservation group. + */ +export interface GetCapacityReservationGroupResult { + /** + * A list of all capacity reservation resource ids that belong to capacity reservation group. + */ + readonly capacityReservations: outputs.compute.v20230701.SubResourceReadOnlyResponse[]; + /** + * Resource Id + */ + readonly id: string; + /** + * The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group. + */ + readonly instanceView: outputs.compute.v20230701.CapacityReservationGroupInstanceViewResponse; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Resource type + */ + readonly type: string; + /** + * A list of references to all virtual machines associated to the capacity reservation group. + */ + readonly virtualMachinesAssociated: outputs.compute.v20230701.SubResourceReadOnlyResponse[]; + /** + * Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones. + */ + readonly zones?: string[]; +} +/** + * The operation that retrieves information about a capacity reservation group. + */ +export function getCapacityReservationGroupOutput(args: GetCapacityReservationGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCapacityReservationGroup(a, opts)) +} + +export interface GetCapacityReservationGroupOutputArgs { + /** + * The name of the capacity reservation group. + */ + capacityReservationGroupName: pulumi.Input; + /** + * The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the capacity reservations under the capacity reservation group which is a snapshot of the runtime properties of a capacity reservation that is managed by the platform and can change outside of control plane operations. + */ + expand?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getDedicatedHost.ts b/sdk/nodejs/compute/v20230701/getDedicatedHost.ts new file mode 100644 index 000000000000..687a00220106 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getDedicatedHost.ts @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Retrieves information about a dedicated host. + */ +export function getDedicatedHost(args: GetDedicatedHostArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getDedicatedHost", { + "expand": args.expand, + "hostGroupName": args.hostGroupName, + "hostName": args.hostName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetDedicatedHostArgs { + /** + * The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated host. 'UserData' is not supported for dedicated host. + */ + expand?: string; + /** + * The name of the dedicated host group. + */ + hostGroupName: string; + /** + * The name of the dedicated host. + */ + hostName: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; +} + +/** + * Specifies information about the Dedicated host. + */ +export interface GetDedicatedHostResult { + /** + * Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. + */ + readonly autoReplaceOnFailure?: boolean; + /** + * A unique id generated and assigned to the dedicated host by the platform. Does not change throughout the lifetime of the host. + */ + readonly hostId: string; + /** + * Resource Id + */ + readonly id: string; + /** + * The dedicated host instance view. + */ + readonly instanceView: outputs.compute.v20230701.DedicatedHostInstanceViewResponse; + /** + * Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + */ + readonly licenseType?: string; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * Fault domain of the dedicated host within a dedicated host group. + */ + readonly platformFaultDomain?: number; + /** + * The provisioning state, which only appears in the response. + */ + readonly provisioningState: string; + /** + * The date when the host was first provisioned. + */ + readonly provisioningTime: string; + /** + * SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values. + */ + readonly sku: outputs.compute.v20230701.SkuResponse; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Specifies the time at which the Dedicated Host resource was created. Minimum api-version: 2021-11-01. + */ + readonly timeCreated: string; + /** + * Resource type + */ + readonly type: string; + /** + * A list of references to all virtual machines in the Dedicated Host. + */ + readonly virtualMachines: outputs.compute.v20230701.SubResourceReadOnlyResponse[]; +} +/** + * Retrieves information about a dedicated host. + */ +export function getDedicatedHostOutput(args: GetDedicatedHostOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDedicatedHost(a, opts)) +} + +export interface GetDedicatedHostOutputArgs { + /** + * The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated host. 'UserData' is not supported for dedicated host. + */ + expand?: pulumi.Input; + /** + * The name of the dedicated host group. + */ + hostGroupName: pulumi.Input; + /** + * The name of the dedicated host. + */ + hostName: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getDedicatedHostGroup.ts b/sdk/nodejs/compute/v20230701/getDedicatedHostGroup.ts new file mode 100644 index 000000000000..fd105df1af19 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getDedicatedHostGroup.ts @@ -0,0 +1,107 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Retrieves information about a dedicated host group. + */ +export function getDedicatedHostGroup(args: GetDedicatedHostGroupArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getDedicatedHostGroup", { + "expand": args.expand, + "hostGroupName": args.hostGroupName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetDedicatedHostGroupArgs { + /** + * The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated hosts under the dedicated host group. 'UserData' is not supported for dedicated host group. + */ + expand?: string; + /** + * The name of the dedicated host group. + */ + hostGroupName: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; +} + +/** + * Specifies information about the dedicated host group that the dedicated hosts should be assigned to. Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group. + */ +export interface GetDedicatedHostGroupResult { + /** + * Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + */ + readonly additionalCapabilities?: outputs.compute.v20230701.DedicatedHostGroupPropertiesResponseAdditionalCapabilities; + /** + * A list of references to all dedicated hosts in the dedicated host group. + */ + readonly hosts: outputs.compute.v20230701.SubResourceReadOnlyResponse[]; + /** + * Resource Id + */ + readonly id: string; + /** + * The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group. + */ + readonly instanceView: outputs.compute.v20230701.DedicatedHostGroupInstanceViewResponse; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * Number of fault domains that the host group can span. + */ + readonly platformFaultDomainCount: number; + /** + * Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. + */ + readonly supportAutomaticPlacement?: boolean; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Resource type + */ + readonly type: string; + /** + * Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone. + */ + readonly zones?: string[]; +} +/** + * Retrieves information about a dedicated host group. + */ +export function getDedicatedHostGroupOutput(args: GetDedicatedHostGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDedicatedHostGroup(a, opts)) +} + +export interface GetDedicatedHostGroupOutputArgs { + /** + * The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated hosts under the dedicated host group. 'UserData' is not supported for dedicated host group. + */ + expand?: pulumi.Input; + /** + * The name of the dedicated host group. + */ + hostGroupName: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getImage.ts b/sdk/nodejs/compute/v20230701/getImage.ts new file mode 100644 index 000000000000..72e845d65ada --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getImage.ts @@ -0,0 +1,103 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets an image. + */ +export function getImage(args: GetImageArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getImage", { + "expand": args.expand, + "imageName": args.imageName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetImageArgs { + /** + * The expand expression to apply on the operation. + */ + expand?: string; + /** + * The name of the image. + */ + imageName: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; +} + +/** + * The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + */ +export interface GetImageResult { + /** + * The extended location of the Image. + */ + readonly extendedLocation?: outputs.compute.v20230701.ExtendedLocationResponse; + /** + * Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + */ + readonly hyperVGeneration?: string; + /** + * Resource Id + */ + readonly id: string; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * The provisioning state. + */ + readonly provisioningState: string; + /** + * The source virtual machine from which Image is created. + */ + readonly sourceVirtualMachine?: outputs.compute.v20230701.SubResourceResponse; + /** + * Specifies the storage settings for the virtual machine disks. + */ + readonly storageProfile?: outputs.compute.v20230701.ImageStorageProfileResponse; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Resource type + */ + readonly type: string; +} +/** + * Gets an image. + */ +export function getImageOutput(args: GetImageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getImage(a, opts)) +} + +export interface GetImageOutputArgs { + /** + * The expand expression to apply on the operation. + */ + expand?: pulumi.Input; + /** + * The name of the image. + */ + imageName: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getLogAnalyticExportRequestRateByInterval.ts b/sdk/nodejs/compute/v20230701/getLogAnalyticExportRequestRateByInterval.ts new file mode 100644 index 000000000000..e56aa9f91750 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getLogAnalyticExportRequestRateByInterval.ts @@ -0,0 +1,130 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Export logs that show Api requests made by this subscription in the given time window to show throttling activities. + */ +export function getLogAnalyticExportRequestRateByInterval(args: GetLogAnalyticExportRequestRateByIntervalArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getLogAnalyticExportRequestRateByInterval", { + "blobContainerSasUri": args.blobContainerSasUri, + "fromTime": args.fromTime, + "groupByClientApplicationId": args.groupByClientApplicationId, + "groupByOperationName": args.groupByOperationName, + "groupByResourceName": args.groupByResourceName, + "groupByThrottlePolicy": args.groupByThrottlePolicy, + "groupByUserAgent": args.groupByUserAgent, + "intervalLength": args.intervalLength, + "location": args.location, + "toTime": args.toTime, + }, opts); +} + +export interface GetLogAnalyticExportRequestRateByIntervalArgs { + /** + * SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. + */ + blobContainerSasUri: string; + /** + * From time of the query + */ + fromTime: string; + /** + * Group query result by Client Application ID. + */ + groupByClientApplicationId?: boolean; + /** + * Group query result by Operation Name. + */ + groupByOperationName?: boolean; + /** + * Group query result by Resource Name. + */ + groupByResourceName?: boolean; + /** + * Group query result by Throttle Policy applied. + */ + groupByThrottlePolicy?: boolean; + /** + * Group query result by User Agent. + */ + groupByUserAgent?: boolean; + /** + * Interval value in minutes used to create LogAnalytics call rate logs. + */ + intervalLength: enums.compute.v20230701.IntervalInMins; + /** + * The location upon which virtual-machine-sizes is queried. + */ + location: string; + /** + * To time of the query + */ + toTime: string; +} + +/** + * LogAnalytics operation status response + */ +export interface GetLogAnalyticExportRequestRateByIntervalResult { + /** + * LogAnalyticsOutput + */ + readonly properties: outputs.compute.v20230701.LogAnalyticsOutputResponse; +} +/** + * Export logs that show Api requests made by this subscription in the given time window to show throttling activities. + */ +export function getLogAnalyticExportRequestRateByIntervalOutput(args: GetLogAnalyticExportRequestRateByIntervalOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getLogAnalyticExportRequestRateByInterval(a, opts)) +} + +export interface GetLogAnalyticExportRequestRateByIntervalOutputArgs { + /** + * SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. + */ + blobContainerSasUri: pulumi.Input; + /** + * From time of the query + */ + fromTime: pulumi.Input; + /** + * Group query result by Client Application ID. + */ + groupByClientApplicationId?: pulumi.Input; + /** + * Group query result by Operation Name. + */ + groupByOperationName?: pulumi.Input; + /** + * Group query result by Resource Name. + */ + groupByResourceName?: pulumi.Input; + /** + * Group query result by Throttle Policy applied. + */ + groupByThrottlePolicy?: pulumi.Input; + /** + * Group query result by User Agent. + */ + groupByUserAgent?: pulumi.Input; + /** + * Interval value in minutes used to create LogAnalytics call rate logs. + */ + intervalLength: pulumi.Input; + /** + * The location upon which virtual-machine-sizes is queried. + */ + location: pulumi.Input; + /** + * To time of the query + */ + toTime: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getLogAnalyticExportThrottledRequests.ts b/sdk/nodejs/compute/v20230701/getLogAnalyticExportThrottledRequests.ts new file mode 100644 index 000000000000..134e87604dce --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getLogAnalyticExportThrottledRequests.ts @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Export logs that show total throttled Api requests for this subscription in the given time window. + */ +export function getLogAnalyticExportThrottledRequests(args: GetLogAnalyticExportThrottledRequestsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getLogAnalyticExportThrottledRequests", { + "blobContainerSasUri": args.blobContainerSasUri, + "fromTime": args.fromTime, + "groupByClientApplicationId": args.groupByClientApplicationId, + "groupByOperationName": args.groupByOperationName, + "groupByResourceName": args.groupByResourceName, + "groupByThrottlePolicy": args.groupByThrottlePolicy, + "groupByUserAgent": args.groupByUserAgent, + "location": args.location, + "toTime": args.toTime, + }, opts); +} + +export interface GetLogAnalyticExportThrottledRequestsArgs { + /** + * SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. + */ + blobContainerSasUri: string; + /** + * From time of the query + */ + fromTime: string; + /** + * Group query result by Client Application ID. + */ + groupByClientApplicationId?: boolean; + /** + * Group query result by Operation Name. + */ + groupByOperationName?: boolean; + /** + * Group query result by Resource Name. + */ + groupByResourceName?: boolean; + /** + * Group query result by Throttle Policy applied. + */ + groupByThrottlePolicy?: boolean; + /** + * Group query result by User Agent. + */ + groupByUserAgent?: boolean; + /** + * The location upon which virtual-machine-sizes is queried. + */ + location: string; + /** + * To time of the query + */ + toTime: string; +} + +/** + * LogAnalytics operation status response + */ +export interface GetLogAnalyticExportThrottledRequestsResult { + /** + * LogAnalyticsOutput + */ + readonly properties: outputs.compute.v20230701.LogAnalyticsOutputResponse; +} +/** + * Export logs that show total throttled Api requests for this subscription in the given time window. + */ +export function getLogAnalyticExportThrottledRequestsOutput(args: GetLogAnalyticExportThrottledRequestsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getLogAnalyticExportThrottledRequests(a, opts)) +} + +export interface GetLogAnalyticExportThrottledRequestsOutputArgs { + /** + * SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. + */ + blobContainerSasUri: pulumi.Input; + /** + * From time of the query + */ + fromTime: pulumi.Input; + /** + * Group query result by Client Application ID. + */ + groupByClientApplicationId?: pulumi.Input; + /** + * Group query result by Operation Name. + */ + groupByOperationName?: pulumi.Input; + /** + * Group query result by Resource Name. + */ + groupByResourceName?: pulumi.Input; + /** + * Group query result by Throttle Policy applied. + */ + groupByThrottlePolicy?: pulumi.Input; + /** + * Group query result by User Agent. + */ + groupByUserAgent?: pulumi.Input; + /** + * The location upon which virtual-machine-sizes is queried. + */ + location: pulumi.Input; + /** + * To time of the query + */ + toTime: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getProximityPlacementGroup.ts b/sdk/nodejs/compute/v20230701/getProximityPlacementGroup.ts new file mode 100644 index 000000000000..00b5c999a236 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getProximityPlacementGroup.ts @@ -0,0 +1,111 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Retrieves information about a proximity placement group . + */ +export function getProximityPlacementGroup(args: GetProximityPlacementGroupArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getProximityPlacementGroup", { + "includeColocationStatus": args.includeColocationStatus, + "proximityPlacementGroupName": args.proximityPlacementGroupName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetProximityPlacementGroupArgs { + /** + * includeColocationStatus=true enables fetching the colocation status of all the resources in the proximity placement group. + */ + includeColocationStatus?: string; + /** + * The name of the proximity placement group. + */ + proximityPlacementGroupName: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; +} + +/** + * Specifies information about the proximity placement group. + */ +export interface GetProximityPlacementGroupResult { + /** + * A list of references to all availability sets in the proximity placement group. + */ + readonly availabilitySets: outputs.compute.v20230701.SubResourceWithColocationStatusResponse[]; + /** + * Describes colocation status of the Proximity Placement Group. + */ + readonly colocationStatus?: outputs.compute.v20230701.InstanceViewStatusResponse; + /** + * Resource Id + */ + readonly id: string; + /** + * Specifies the user intent of the proximity placement group. + */ + readonly intent?: outputs.compute.v20230701.ProximityPlacementGroupPropertiesResponseIntent; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + */ + readonly proximityPlacementGroupType?: string; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Resource type + */ + readonly type: string; + /** + * A list of references to all virtual machine scale sets in the proximity placement group. + */ + readonly virtualMachineScaleSets: outputs.compute.v20230701.SubResourceWithColocationStatusResponse[]; + /** + * A list of references to all virtual machines in the proximity placement group. + */ + readonly virtualMachines: outputs.compute.v20230701.SubResourceWithColocationStatusResponse[]; + /** + * Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. + */ + readonly zones?: string[]; +} +/** + * Retrieves information about a proximity placement group . + */ +export function getProximityPlacementGroupOutput(args: GetProximityPlacementGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getProximityPlacementGroup(a, opts)) +} + +export interface GetProximityPlacementGroupOutputArgs { + /** + * includeColocationStatus=true enables fetching the colocation status of all the resources in the proximity placement group. + */ + includeColocationStatus?: pulumi.Input; + /** + * The name of the proximity placement group. + */ + proximityPlacementGroupName: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getRestorePoint.ts b/sdk/nodejs/compute/v20230701/getRestorePoint.ts new file mode 100644 index 000000000000..a7a5de624586 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getRestorePoint.ts @@ -0,0 +1,112 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The operation to get the restore point. + */ +export function getRestorePoint(args: GetRestorePointArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getRestorePoint", { + "expand": args.expand, + "resourceGroupName": args.resourceGroupName, + "restorePointCollectionName": args.restorePointCollectionName, + "restorePointName": args.restorePointName, + }, opts); +} + +export interface GetRestorePointArgs { + /** + * The expand expression to apply on the operation. 'InstanceView' retrieves information about the run-time state of a restore point. + */ + expand?: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; + /** + * The name of the restore point collection. + */ + restorePointCollectionName: string; + /** + * The name of the restore point. + */ + restorePointName: string; +} + +/** + * Restore Point details. + */ +export interface GetRestorePointResult { + /** + * ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + */ + readonly consistencyMode?: string; + /** + * List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + */ + readonly excludeDisks?: outputs.compute.v20230701.ApiEntityReferenceResponse[]; + /** + * Resource Id + */ + readonly id: string; + /** + * The restore point instance view. + */ + readonly instanceView: outputs.compute.v20230701.RestorePointInstanceViewResponse; + /** + * Resource name + */ + readonly name: string; + /** + * Gets the provisioning state of the restore point. + */ + readonly provisioningState: string; + /** + * Gets the details of the VM captured at the time of the restore point creation. + */ + readonly sourceMetadata?: outputs.compute.v20230701.RestorePointSourceMetadataResponse; + /** + * Resource Id of the source restore point from which a copy needs to be created. + */ + readonly sourceRestorePoint?: outputs.compute.v20230701.ApiEntityReferenceResponse; + /** + * Gets the creation time of the restore point. + */ + readonly timeCreated?: string; + /** + * Resource type + */ + readonly type: string; +} +/** + * The operation to get the restore point. + */ +export function getRestorePointOutput(args: GetRestorePointOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getRestorePoint(a, opts)) +} + +export interface GetRestorePointOutputArgs { + /** + * The expand expression to apply on the operation. 'InstanceView' retrieves information about the run-time state of a restore point. + */ + expand?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the restore point collection. + */ + restorePointCollectionName: pulumi.Input; + /** + * The name of the restore point. + */ + restorePointName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getRestorePointCollection.ts b/sdk/nodejs/compute/v20230701/getRestorePointCollection.ts new file mode 100644 index 000000000000..adf3e09a3cfc --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getRestorePointCollection.ts @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The operation to get the restore point collection. + */ +export function getRestorePointCollection(args: GetRestorePointCollectionArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getRestorePointCollection", { + "expand": args.expand, + "resourceGroupName": args.resourceGroupName, + "restorePointCollectionName": args.restorePointCollectionName, + }, opts); +} + +export interface GetRestorePointCollectionArgs { + /** + * The expand expression to apply on the operation. If expand=restorePoints, server will return all contained restore points in the restorePointCollection. + */ + expand?: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; + /** + * The name of the restore point collection. + */ + restorePointCollectionName: string; +} + +/** + * Create or update Restore Point collection parameters. + */ +export interface GetRestorePointCollectionResult { + /** + * Resource Id + */ + readonly id: string; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * The provisioning state of the restore point collection. + */ + readonly provisioningState: string; + /** + * The unique id of the restore point collection. + */ + readonly restorePointCollectionId: string; + /** + * A list containing all restore points created under this restore point collection. + */ + readonly restorePoints: outputs.compute.v20230701.RestorePointResponse[]; + /** + * The properties of the source resource that this restore point collection is created from. + */ + readonly source?: outputs.compute.v20230701.RestorePointCollectionSourcePropertiesResponse; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Resource type + */ + readonly type: string; +} +/** + * The operation to get the restore point collection. + */ +export function getRestorePointCollectionOutput(args: GetRestorePointCollectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getRestorePointCollection(a, opts)) +} + +export interface GetRestorePointCollectionOutputArgs { + /** + * The expand expression to apply on the operation. If expand=restorePoints, server will return all contained restore points in the restorePointCollection. + */ + expand?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the restore point collection. + */ + restorePointCollectionName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getSshPublicKey.ts b/sdk/nodejs/compute/v20230701/getSshPublicKey.ts new file mode 100644 index 000000000000..8a231ba29671 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getSshPublicKey.ts @@ -0,0 +1,75 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * Retrieves information about an SSH public key. + */ +export function getSshPublicKey(args: GetSshPublicKeyArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getSshPublicKey", { + "resourceGroupName": args.resourceGroupName, + "sshPublicKeyName": args.sshPublicKeyName, + }, opts); +} + +export interface GetSshPublicKeyArgs { + /** + * The name of the resource group. + */ + resourceGroupName: string; + /** + * The name of the SSH public key. + */ + sshPublicKeyName: string; +} + +/** + * Specifies information about the SSH public key. + */ +export interface GetSshPublicKeyResult { + /** + * Resource Id + */ + readonly id: string; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. + */ + readonly publicKey?: string; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Resource type + */ + readonly type: string; +} +/** + * Retrieves information about an SSH public key. + */ +export function getSshPublicKeyOutput(args: GetSshPublicKeyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getSshPublicKey(a, opts)) +} + +export interface GetSshPublicKeyOutputArgs { + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the SSH public key. + */ + sshPublicKeyName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getVirtualMachine.ts b/sdk/nodejs/compute/v20230701/getVirtualMachine.ts new file mode 100644 index 000000000000..956366ca6aed --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getVirtualMachine.ts @@ -0,0 +1,207 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Retrieves information about the model view or the instance view of a virtual machine. + */ +export function getVirtualMachine(args: GetVirtualMachineArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getVirtualMachine", { + "expand": args.expand, + "resourceGroupName": args.resourceGroupName, + "vmName": args.vmName, + }, opts); +} + +export interface GetVirtualMachineArgs { + /** + * The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the virtual machine that is managed by the platform and can change outside of control plane operations. 'UserData' retrieves the UserData property as part of the VM model view that was provided by the user during the VM Create/Update operation. + */ + expand?: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; + /** + * The name of the virtual machine. + */ + vmName: string; +} + +/** + * Describes a Virtual Machine. + */ +export interface GetVirtualMachineResult { + /** + * Specifies additional capabilities enabled or disabled on the virtual machine. + */ + readonly additionalCapabilities?: outputs.compute.v20230701.AdditionalCapabilitiesResponse; + /** + * Specifies the gallery applications that should be made available to the VM/VMSS. + */ + readonly applicationProfile?: outputs.compute.v20230701.ApplicationProfileResponse; + /** + * Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + */ + readonly availabilitySet?: outputs.compute.v20230701.SubResourceResponse; + /** + * Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. + */ + readonly billingProfile?: outputs.compute.v20230701.BillingProfileResponse; + /** + * Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. + */ + readonly capacityReservation?: outputs.compute.v20230701.CapacityReservationProfileResponse; + /** + * Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + */ + readonly diagnosticsProfile?: outputs.compute.v20230701.DiagnosticsProfileResponse; + /** + * Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + */ + readonly evictionPolicy?: string; + /** + * The extended location of the Virtual Machine. + */ + readonly extendedLocation?: outputs.compute.v20230701.ExtendedLocationResponse; + /** + * Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + */ + readonly extensionsTimeBudget?: string; + /** + * Specifies the hardware settings for the virtual machine. + */ + readonly hardwareProfile?: outputs.compute.v20230701.HardwareProfileResponse; + /** + * Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. + */ + readonly host?: outputs.compute.v20230701.SubResourceResponse; + /** + * Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. + */ + readonly hostGroup?: outputs.compute.v20230701.SubResourceResponse; + /** + * Resource Id + */ + readonly id: string; + /** + * The identity of the virtual machine, if configured. + */ + readonly identity?: outputs.compute.v20230701.VirtualMachineIdentityResponse; + /** + * The virtual machine instance view. + */ + readonly instanceView: outputs.compute.v20230701.VirtualMachineInstanceViewResponse; + /** + * Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + */ + readonly licenseType?: string; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * Specifies the network interfaces of the virtual machine. + */ + readonly networkProfile?: outputs.compute.v20230701.NetworkProfileResponse; + /** + * Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. + */ + readonly osProfile?: outputs.compute.v20230701.OSProfileResponse; + /** + * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + */ + readonly plan?: outputs.compute.v20230701.PlanResponse; + /** + * Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. + */ + readonly platformFaultDomain?: number; + /** + * Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 + */ + readonly priority?: string; + /** + * The provisioning state, which only appears in the response. + */ + readonly provisioningState: string; + /** + * Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. + */ + readonly proximityPlacementGroup?: outputs.compute.v20230701.SubResourceResponse; + /** + * The virtual machine child extension resources. + */ + readonly resources: outputs.compute.v20230701.VirtualMachineExtensionResponse[]; + /** + * Specifies Scheduled Event related configurations. + */ + readonly scheduledEventsProfile?: outputs.compute.v20230701.ScheduledEventsProfileResponse; + /** + * Specifies the Security related profile settings for the virtual machine. + */ + readonly securityProfile?: outputs.compute.v20230701.SecurityProfileResponse; + /** + * Specifies the storage settings for the virtual machine disks. + */ + readonly storageProfile?: outputs.compute.v20230701.StorageProfileResponse; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01. + */ + readonly timeCreated: string; + /** + * Resource type + */ + readonly type: string; + /** + * UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + */ + readonly userData?: string; + /** + * Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. + */ + readonly virtualMachineScaleSet?: outputs.compute.v20230701.SubResourceResponse; + /** + * Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. + */ + readonly vmId: string; + /** + * The virtual machine zones. + */ + readonly zones?: string[]; +} +/** + * Retrieves information about the model view or the instance view of a virtual machine. + */ +export function getVirtualMachineOutput(args: GetVirtualMachineOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getVirtualMachine(a, opts)) +} + +export interface GetVirtualMachineOutputArgs { + /** + * The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the virtual machine that is managed by the platform and can change outside of control plane operations. 'UserData' retrieves the UserData property as part of the VM model view that was provided by the user during the VM Create/Update operation. + */ + expand?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the virtual machine. + */ + vmName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getVirtualMachineExtension.ts b/sdk/nodejs/compute/v20230701/getVirtualMachineExtension.ts new file mode 100644 index 000000000000..2f22926a25c0 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getVirtualMachineExtension.ts @@ -0,0 +1,140 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The operation to get the extension. + */ +export function getVirtualMachineExtension(args: GetVirtualMachineExtensionArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getVirtualMachineExtension", { + "expand": args.expand, + "resourceGroupName": args.resourceGroupName, + "vmExtensionName": args.vmExtensionName, + "vmName": args.vmName, + }, opts); +} + +export interface GetVirtualMachineExtensionArgs { + /** + * The expand expression to apply on the operation. + */ + expand?: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; + /** + * The name of the virtual machine extension. + */ + vmExtensionName: string; + /** + * The name of the virtual machine containing the extension. + */ + vmName: string; +} + +/** + * Describes a Virtual Machine Extension. + */ +export interface GetVirtualMachineExtensionResult { + /** + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + */ + readonly autoUpgradeMinorVersion?: boolean; + /** + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + */ + readonly enableAutomaticUpgrade?: boolean; + /** + * How the extension handler should be forced to update even if the extension configuration has not changed. + */ + readonly forceUpdateTag?: string; + /** + * Resource Id + */ + readonly id: string; + /** + * The virtual machine extension instance view. + */ + readonly instanceView?: outputs.compute.v20230701.VirtualMachineExtensionInstanceViewResponse; + /** + * Resource location + */ + readonly location?: string; + /** + * Resource name + */ + readonly name: string; + /** + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + */ + readonly protectedSettings?: any; + /** + * The extensions protected settings that are passed by reference, and consumed from key vault + */ + readonly protectedSettingsFromKeyVault?: outputs.compute.v20230701.KeyVaultSecretReferenceResponse; + /** + * Collection of extension names after which this extension needs to be provisioned. + */ + readonly provisionAfterExtensions?: string[]; + /** + * The provisioning state, which only appears in the response. + */ + readonly provisioningState: string; + /** + * The name of the extension handler publisher. + */ + readonly publisher?: string; + /** + * Json formatted public settings for the extension. + */ + readonly settings?: any; + /** + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + */ + readonly suppressFailures?: boolean; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Resource type + */ + readonly type: string; + /** + * Specifies the version of the script handler. + */ + readonly typeHandlerVersion?: string; +} +/** + * The operation to get the extension. + */ +export function getVirtualMachineExtensionOutput(args: GetVirtualMachineExtensionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getVirtualMachineExtension(a, opts)) +} + +export interface GetVirtualMachineExtensionOutputArgs { + /** + * The expand expression to apply on the operation. + */ + expand?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the virtual machine extension. + */ + vmExtensionName: pulumi.Input; + /** + * The name of the virtual machine containing the extension. + */ + vmName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getVirtualMachineRunCommandByVirtualMachine.ts b/sdk/nodejs/compute/v20230701/getVirtualMachineRunCommandByVirtualMachine.ts new file mode 100644 index 000000000000..0dc7a246fcff --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getVirtualMachineRunCommandByVirtualMachine.ts @@ -0,0 +1,148 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The operation to get the run command. + */ +export function getVirtualMachineRunCommandByVirtualMachine(args: GetVirtualMachineRunCommandByVirtualMachineArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getVirtualMachineRunCommandByVirtualMachine", { + "expand": args.expand, + "resourceGroupName": args.resourceGroupName, + "runCommandName": args.runCommandName, + "vmName": args.vmName, + }, opts); +} + +export interface GetVirtualMachineRunCommandByVirtualMachineArgs { + /** + * The expand expression to apply on the operation. + */ + expand?: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; + /** + * The name of the virtual machine run command. + */ + runCommandName: string; + /** + * The name of the virtual machine containing the run command. + */ + vmName: string; +} + +/** + * Describes a Virtual Machine run command. + */ +export interface GetVirtualMachineRunCommandByVirtualMachineResult { + /** + * Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + */ + readonly asyncExecution?: boolean; + /** + * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + */ + readonly errorBlobManagedIdentity?: outputs.compute.v20230701.RunCommandManagedIdentityResponse; + /** + * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + */ + readonly errorBlobUri?: string; + /** + * Resource Id + */ + readonly id: string; + /** + * The virtual machine run command instance view. + */ + readonly instanceView: outputs.compute.v20230701.VirtualMachineRunCommandInstanceViewResponse; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + */ + readonly outputBlobManagedIdentity?: outputs.compute.v20230701.RunCommandManagedIdentityResponse; + /** + * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + */ + readonly outputBlobUri?: string; + /** + * The parameters used by the script. + */ + readonly parameters?: outputs.compute.v20230701.RunCommandInputParameterResponse[]; + /** + * The parameters used by the script. + */ + readonly protectedParameters?: outputs.compute.v20230701.RunCommandInputParameterResponse[]; + /** + * The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + */ + readonly provisioningState: string; + /** + * Specifies the user account password on the VM when executing the run command. + */ + readonly runAsPassword?: string; + /** + * Specifies the user account on the VM when executing the run command. + */ + readonly runAsUser?: string; + /** + * The source of the run command script. + */ + readonly source?: outputs.compute.v20230701.VirtualMachineRunCommandScriptSourceResponse; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * The timeout in seconds to execute the run command. + */ + readonly timeoutInSeconds?: number; + /** + * Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + */ + readonly treatFailureAsDeploymentFailure?: boolean; + /** + * Resource type + */ + readonly type: string; +} +/** + * The operation to get the run command. + */ +export function getVirtualMachineRunCommandByVirtualMachineOutput(args: GetVirtualMachineRunCommandByVirtualMachineOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getVirtualMachineRunCommandByVirtualMachine(a, opts)) +} + +export interface GetVirtualMachineRunCommandByVirtualMachineOutputArgs { + /** + * The expand expression to apply on the operation. + */ + expand?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the virtual machine run command. + */ + runCommandName: pulumi.Input; + /** + * The name of the virtual machine containing the run command. + */ + vmName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSet.ts b/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSet.ts new file mode 100644 index 000000000000..6c07d67c2fdf --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSet.ts @@ -0,0 +1,179 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Display information about a virtual machine scale set. + */ +export function getVirtualMachineScaleSet(args: GetVirtualMachineScaleSetArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getVirtualMachineScaleSet", { + "expand": args.expand, + "resourceGroupName": args.resourceGroupName, + "vmScaleSetName": args.vmScaleSetName, + }, opts); +} + +export interface GetVirtualMachineScaleSetArgs { + /** + * The expand expression to apply on the operation. 'UserData' retrieves the UserData property of the VM scale set that was provided by the user during the VM scale set Create/Update operation + */ + expand?: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; + /** + * The name of the VM scale set. + */ + vmScaleSetName: string; +} + +/** + * Describes a Virtual Machine Scale Set. + */ +export interface GetVirtualMachineScaleSetResult { + /** + * Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + */ + readonly additionalCapabilities?: outputs.compute.v20230701.AdditionalCapabilitiesResponse; + /** + * Policy for automatic repairs. + */ + readonly automaticRepairsPolicy?: outputs.compute.v20230701.AutomaticRepairsPolicyResponse; + /** + * Optional property which must either be set to True or omitted. + */ + readonly constrainedMaximumCapacity?: boolean; + /** + * When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + */ + readonly doNotRunExtensionsOnOverprovisionedVMs?: boolean; + /** + * The extended location of the Virtual Machine Scale Set. + */ + readonly extendedLocation?: outputs.compute.v20230701.ExtendedLocationResponse; + /** + * Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + */ + readonly hostGroup?: outputs.compute.v20230701.SubResourceResponse; + /** + * Resource Id + */ + readonly id: string; + /** + * The identity of the virtual machine scale set, if configured. + */ + readonly identity?: outputs.compute.v20230701.VirtualMachineScaleSetIdentityResponse; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * Specifies the orchestration mode for the virtual machine scale set. + */ + readonly orchestrationMode?: string; + /** + * Specifies whether the Virtual Machine Scale Set should be overprovisioned. + */ + readonly overprovision?: boolean; + /** + * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + */ + readonly plan?: outputs.compute.v20230701.PlanResponse; + /** + * Fault Domain count for each placement group. + */ + readonly platformFaultDomainCount?: number; + /** + * Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + */ + readonly priorityMixPolicy?: outputs.compute.v20230701.PriorityMixPolicyResponse; + /** + * The provisioning state, which only appears in the response. + */ + readonly provisioningState: string; + /** + * Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + */ + readonly proximityPlacementGroup?: outputs.compute.v20230701.SubResourceResponse; + /** + * Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + */ + readonly scaleInPolicy?: outputs.compute.v20230701.ScaleInPolicyResponse; + /** + * When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. + */ + readonly singlePlacementGroup?: boolean; + /** + * The virtual machine scale set sku. + */ + readonly sku?: outputs.compute.v20230701.SkuResponse; + /** + * Specifies the Spot Restore properties for the virtual machine scale set. + */ + readonly spotRestorePolicy?: outputs.compute.v20230701.SpotRestorePolicyResponse; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. + */ + readonly timeCreated: string; + /** + * Resource type + */ + readonly type: string; + /** + * Specifies the ID which uniquely identifies a Virtual Machine Scale Set. + */ + readonly uniqueId: string; + /** + * The upgrade policy. + */ + readonly upgradePolicy?: outputs.compute.v20230701.UpgradePolicyResponse; + /** + * The virtual machine profile. + */ + readonly virtualMachineProfile?: outputs.compute.v20230701.VirtualMachineScaleSetVMProfileResponse; + /** + * Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. + */ + readonly zoneBalance?: boolean; + /** + * The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set + */ + readonly zones?: string[]; +} +/** + * Display information about a virtual machine scale set. + */ +export function getVirtualMachineScaleSetOutput(args: GetVirtualMachineScaleSetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getVirtualMachineScaleSet(a, opts)) +} + +export interface GetVirtualMachineScaleSetOutputArgs { + /** + * The expand expression to apply on the operation. 'UserData' retrieves the UserData property of the VM scale set that was provided by the user during the VM scale set Create/Update operation + */ + expand?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the VM scale set. + */ + vmScaleSetName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSetExtension.ts b/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSetExtension.ts new file mode 100644 index 000000000000..b9ab2696e4f3 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSetExtension.ts @@ -0,0 +1,128 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The operation to get the extension. + */ +export function getVirtualMachineScaleSetExtension(args: GetVirtualMachineScaleSetExtensionArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getVirtualMachineScaleSetExtension", { + "expand": args.expand, + "resourceGroupName": args.resourceGroupName, + "vmScaleSetName": args.vmScaleSetName, + "vmssExtensionName": args.vmssExtensionName, + }, opts); +} + +export interface GetVirtualMachineScaleSetExtensionArgs { + /** + * The expand expression to apply on the operation. + */ + expand?: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; + /** + * The name of the VM scale set containing the extension. + */ + vmScaleSetName: string; + /** + * The name of the VM scale set extension. + */ + vmssExtensionName: string; +} + +/** + * Describes a Virtual Machine Scale Set Extension. + */ +export interface GetVirtualMachineScaleSetExtensionResult { + /** + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + */ + readonly autoUpgradeMinorVersion?: boolean; + /** + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + */ + readonly enableAutomaticUpgrade?: boolean; + /** + * If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + */ + readonly forceUpdateTag?: string; + /** + * Resource Id + */ + readonly id: string; + /** + * The name of the extension. + */ + readonly name?: string; + /** + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + */ + readonly protectedSettings?: any; + /** + * The extensions protected settings that are passed by reference, and consumed from key vault + */ + readonly protectedSettingsFromKeyVault?: outputs.compute.v20230701.KeyVaultSecretReferenceResponse; + /** + * Collection of extension names after which this extension needs to be provisioned. + */ + readonly provisionAfterExtensions?: string[]; + /** + * The provisioning state, which only appears in the response. + */ + readonly provisioningState: string; + /** + * The name of the extension handler publisher. + */ + readonly publisher?: string; + /** + * Json formatted public settings for the extension. + */ + readonly settings?: any; + /** + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + */ + readonly suppressFailures?: boolean; + /** + * Resource type + */ + readonly type: string; + /** + * Specifies the version of the script handler. + */ + readonly typeHandlerVersion?: string; +} +/** + * The operation to get the extension. + */ +export function getVirtualMachineScaleSetExtensionOutput(args: GetVirtualMachineScaleSetExtensionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getVirtualMachineScaleSetExtension(a, opts)) +} + +export interface GetVirtualMachineScaleSetExtensionOutputArgs { + /** + * The expand expression to apply on the operation. + */ + expand?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the VM scale set containing the extension. + */ + vmScaleSetName: pulumi.Input; + /** + * The name of the VM scale set extension. + */ + vmssExtensionName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSetVM.ts b/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSetVM.ts new file mode 100644 index 000000000000..9ad37dc62f5a --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSetVM.ts @@ -0,0 +1,188 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets a virtual machine from a VM scale set. + */ +export function getVirtualMachineScaleSetVM(args: GetVirtualMachineScaleSetVMArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getVirtualMachineScaleSetVM", { + "expand": args.expand, + "instanceId": args.instanceId, + "resourceGroupName": args.resourceGroupName, + "vmScaleSetName": args.vmScaleSetName, + }, opts); +} + +export interface GetVirtualMachineScaleSetVMArgs { + /** + * The expand expression to apply on the operation. 'InstanceView' will retrieve the instance view of the virtual machine. 'UserData' will retrieve the UserData of the virtual machine. + */ + expand?: string; + /** + * The instance ID of the virtual machine. + */ + instanceId: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; + /** + * The name of the VM scale set. + */ + vmScaleSetName: string; +} + +/** + * Describes a virtual machine scale set virtual machine. + */ +export interface GetVirtualMachineScaleSetVMResult { + /** + * Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + */ + readonly additionalCapabilities?: outputs.compute.v20230701.AdditionalCapabilitiesResponse; + /** + * Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. + */ + readonly availabilitySet?: outputs.compute.v20230701.SubResourceResponse; + /** + * Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + */ + readonly diagnosticsProfile?: outputs.compute.v20230701.DiagnosticsProfileResponse; + /** + * Specifies the hardware settings for the virtual machine. + */ + readonly hardwareProfile?: outputs.compute.v20230701.HardwareProfileResponse; + /** + * Resource Id + */ + readonly id: string; + /** + * The identity of the virtual machine, if configured. + */ + readonly identity?: outputs.compute.v20230701.VirtualMachineIdentityResponse; + /** + * The virtual machine instance ID. + */ + readonly instanceId: string; + /** + * The virtual machine instance view. + */ + readonly instanceView: outputs.compute.v20230701.VirtualMachineScaleSetVMInstanceViewResponse; + /** + * Specifies whether the latest model has been applied to the virtual machine. + */ + readonly latestModelApplied: boolean; + /** + * Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + */ + readonly licenseType?: string; + /** + * Resource location + */ + readonly location: string; + /** + * Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine. + */ + readonly modelDefinitionApplied: string; + /** + * Resource name + */ + readonly name: string; + /** + * Specifies the network interfaces of the virtual machine. + */ + readonly networkProfile?: outputs.compute.v20230701.NetworkProfileResponse; + /** + * Specifies the network profile configuration of the virtual machine. + */ + readonly networkProfileConfiguration?: outputs.compute.v20230701.VirtualMachineScaleSetVMNetworkProfileConfigurationResponse; + /** + * Specifies the operating system settings for the virtual machine. + */ + readonly osProfile?: outputs.compute.v20230701.OSProfileResponse; + /** + * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + */ + readonly plan?: outputs.compute.v20230701.PlanResponse; + /** + * Specifies the protection policy of the virtual machine. + */ + readonly protectionPolicy?: outputs.compute.v20230701.VirtualMachineScaleSetVMProtectionPolicyResponse; + /** + * The provisioning state, which only appears in the response. + */ + readonly provisioningState: string; + /** + * The virtual machine child extension resources. + */ + readonly resources: outputs.compute.v20230701.VirtualMachineExtensionResponse[]; + /** + * Specifies the Security related profile settings for the virtual machine. + */ + readonly securityProfile?: outputs.compute.v20230701.SecurityProfileResponse; + /** + * The virtual machine SKU. + */ + readonly sku: outputs.compute.v20230701.SkuResponse; + /** + * Specifies the storage settings for the virtual machine disks. + */ + readonly storageProfile?: outputs.compute.v20230701.StorageProfileResponse; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * Specifies the time at which the Virtual Machine resource was created.

Minimum api-version: 2021-11-01. + */ + readonly timeCreated: string; + /** + * Resource type + */ + readonly type: string; + /** + * UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

Minimum api-version: 2021-03-01 + */ + readonly userData?: string; + /** + * Azure VM unique ID. + */ + readonly vmId: string; + /** + * The virtual machine zones. + */ + readonly zones: string[]; +} +/** + * Gets a virtual machine from a VM scale set. + */ +export function getVirtualMachineScaleSetVMOutput(args: GetVirtualMachineScaleSetVMOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getVirtualMachineScaleSetVM(a, opts)) +} + +export interface GetVirtualMachineScaleSetVMOutputArgs { + /** + * The expand expression to apply on the operation. 'InstanceView' will retrieve the instance view of the virtual machine. 'UserData' will retrieve the UserData of the virtual machine. + */ + expand?: pulumi.Input; + /** + * The instance ID of the virtual machine. + */ + instanceId: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the VM scale set. + */ + vmScaleSetName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSetVMExtension.ts b/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSetVMExtension.ts new file mode 100644 index 000000000000..f8328e1d5b8f --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSetVMExtension.ts @@ -0,0 +1,145 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The operation to get the VMSS VM extension. + */ +export function getVirtualMachineScaleSetVMExtension(args: GetVirtualMachineScaleSetVMExtensionArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getVirtualMachineScaleSetVMExtension", { + "expand": args.expand, + "instanceId": args.instanceId, + "resourceGroupName": args.resourceGroupName, + "vmExtensionName": args.vmExtensionName, + "vmScaleSetName": args.vmScaleSetName, + }, opts); +} + +export interface GetVirtualMachineScaleSetVMExtensionArgs { + /** + * The expand expression to apply on the operation. + */ + expand?: string; + /** + * The instance ID of the virtual machine. + */ + instanceId: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; + /** + * The name of the virtual machine extension. + */ + vmExtensionName: string; + /** + * The name of the VM scale set. + */ + vmScaleSetName: string; +} + +/** + * Describes a VMSS VM Extension. + */ +export interface GetVirtualMachineScaleSetVMExtensionResult { + /** + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + */ + readonly autoUpgradeMinorVersion?: boolean; + /** + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + */ + readonly enableAutomaticUpgrade?: boolean; + /** + * How the extension handler should be forced to update even if the extension configuration has not changed. + */ + readonly forceUpdateTag?: string; + /** + * Resource Id + */ + readonly id: string; + /** + * The virtual machine extension instance view. + */ + readonly instanceView?: outputs.compute.v20230701.VirtualMachineExtensionInstanceViewResponse; + /** + * The location of the extension. + */ + readonly location?: string; + /** + * The name of the extension. + */ + readonly name: string; + /** + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + */ + readonly protectedSettings?: any; + /** + * The extensions protected settings that are passed by reference, and consumed from key vault + */ + readonly protectedSettingsFromKeyVault?: outputs.compute.v20230701.KeyVaultSecretReferenceResponse; + /** + * Collection of extension names after which this extension needs to be provisioned. + */ + readonly provisionAfterExtensions?: string[]; + /** + * The provisioning state, which only appears in the response. + */ + readonly provisioningState: string; + /** + * The name of the extension handler publisher. + */ + readonly publisher?: string; + /** + * Json formatted public settings for the extension. + */ + readonly settings?: any; + /** + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + */ + readonly suppressFailures?: boolean; + /** + * Resource type + */ + readonly type: string; + /** + * Specifies the version of the script handler. + */ + readonly typeHandlerVersion?: string; +} +/** + * The operation to get the VMSS VM extension. + */ +export function getVirtualMachineScaleSetVMExtensionOutput(args: GetVirtualMachineScaleSetVMExtensionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getVirtualMachineScaleSetVMExtension(a, opts)) +} + +export interface GetVirtualMachineScaleSetVMExtensionOutputArgs { + /** + * The expand expression to apply on the operation. + */ + expand?: pulumi.Input; + /** + * The instance ID of the virtual machine. + */ + instanceId: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the virtual machine extension. + */ + vmExtensionName: pulumi.Input; + /** + * The name of the VM scale set. + */ + vmScaleSetName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSetVMRunCommand.ts b/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSetVMRunCommand.ts new file mode 100644 index 000000000000..8bbb39d1dc41 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/getVirtualMachineScaleSetVMRunCommand.ts @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The operation to get the VMSS VM run command. + */ +export function getVirtualMachineScaleSetVMRunCommand(args: GetVirtualMachineScaleSetVMRunCommandArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:compute/v20230701:getVirtualMachineScaleSetVMRunCommand", { + "expand": args.expand, + "instanceId": args.instanceId, + "resourceGroupName": args.resourceGroupName, + "runCommandName": args.runCommandName, + "vmScaleSetName": args.vmScaleSetName, + }, opts); +} + +export interface GetVirtualMachineScaleSetVMRunCommandArgs { + /** + * The expand expression to apply on the operation. + */ + expand?: string; + /** + * The instance ID of the virtual machine. + */ + instanceId: string; + /** + * The name of the resource group. + */ + resourceGroupName: string; + /** + * The name of the virtual machine run command. + */ + runCommandName: string; + /** + * The name of the VM scale set. + */ + vmScaleSetName: string; +} + +/** + * Describes a Virtual Machine run command. + */ +export interface GetVirtualMachineScaleSetVMRunCommandResult { + /** + * Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + */ + readonly asyncExecution?: boolean; + /** + * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + */ + readonly errorBlobManagedIdentity?: outputs.compute.v20230701.RunCommandManagedIdentityResponse; + /** + * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + */ + readonly errorBlobUri?: string; + /** + * Resource Id + */ + readonly id: string; + /** + * The virtual machine run command instance view. + */ + readonly instanceView: outputs.compute.v20230701.VirtualMachineRunCommandInstanceViewResponse; + /** + * Resource location + */ + readonly location: string; + /** + * Resource name + */ + readonly name: string; + /** + * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + */ + readonly outputBlobManagedIdentity?: outputs.compute.v20230701.RunCommandManagedIdentityResponse; + /** + * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + */ + readonly outputBlobUri?: string; + /** + * The parameters used by the script. + */ + readonly parameters?: outputs.compute.v20230701.RunCommandInputParameterResponse[]; + /** + * The parameters used by the script. + */ + readonly protectedParameters?: outputs.compute.v20230701.RunCommandInputParameterResponse[]; + /** + * The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + */ + readonly provisioningState: string; + /** + * Specifies the user account password on the VM when executing the run command. + */ + readonly runAsPassword?: string; + /** + * Specifies the user account on the VM when executing the run command. + */ + readonly runAsUser?: string; + /** + * The source of the run command script. + */ + readonly source?: outputs.compute.v20230701.VirtualMachineRunCommandScriptSourceResponse; + /** + * Resource tags + */ + readonly tags?: {[key: string]: string}; + /** + * The timeout in seconds to execute the run command. + */ + readonly timeoutInSeconds?: number; + /** + * Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + */ + readonly treatFailureAsDeploymentFailure?: boolean; + /** + * Resource type + */ + readonly type: string; +} +/** + * The operation to get the VMSS VM run command. + */ +export function getVirtualMachineScaleSetVMRunCommandOutput(args: GetVirtualMachineScaleSetVMRunCommandOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getVirtualMachineScaleSetVMRunCommand(a, opts)) +} + +export interface GetVirtualMachineScaleSetVMRunCommandOutputArgs { + /** + * The expand expression to apply on the operation. + */ + expand?: pulumi.Input; + /** + * The instance ID of the virtual machine. + */ + instanceId: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the virtual machine run command. + */ + runCommandName: pulumi.Input; + /** + * The name of the VM scale set. + */ + vmScaleSetName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/image.ts b/sdk/nodejs/compute/v20230701/image.ts new file mode 100644 index 000000000000..c1e5cfb846b4 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/image.ts @@ -0,0 +1,156 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + */ +export class Image extends pulumi.CustomResource { + /** + * Get an existing Image 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Image { + return new Image(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:Image'; + + /** + * Returns true if the given object is an instance of Image. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Image { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Image.__pulumiType; + } + + /** + * The extended location of the Image. + */ + public readonly extendedLocation!: pulumi.Output; + /** + * Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + */ + public readonly hyperVGeneration!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The provisioning state. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * The source virtual machine from which Image is created. + */ + public readonly sourceVirtualMachine!: pulumi.Output; + /** + * Specifies the storage settings for the virtual machine disks. + */ + public readonly storageProfile!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Image 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: ImageArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["extendedLocation"] = args ? args.extendedLocation : undefined; + resourceInputs["hyperVGeneration"] = args ? args.hyperVGeneration : undefined; + resourceInputs["imageName"] = args ? args.imageName : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["sourceVirtualMachine"] = args ? args.sourceVirtualMachine : undefined; + resourceInputs["storageProfile"] = args ? args.storageProfile : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["extendedLocation"] = undefined /*out*/; + resourceInputs["hyperVGeneration"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["sourceVirtualMachine"] = undefined /*out*/; + resourceInputs["storageProfile"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:Image" }, { type: "azure-native:compute/v20160430preview:Image" }, { type: "azure-native:compute/v20170330:Image" }, { type: "azure-native:compute/v20171201:Image" }, { type: "azure-native:compute/v20180401:Image" }, { type: "azure-native:compute/v20180601:Image" }, { type: "azure-native:compute/v20181001:Image" }, { type: "azure-native:compute/v20190301:Image" }, { type: "azure-native:compute/v20190701:Image" }, { type: "azure-native:compute/v20191201:Image" }, { type: "azure-native:compute/v20200601:Image" }, { type: "azure-native:compute/v20201201:Image" }, { type: "azure-native:compute/v20210301:Image" }, { type: "azure-native:compute/v20210401:Image" }, { type: "azure-native:compute/v20210701:Image" }, { type: "azure-native:compute/v20211101:Image" }, { type: "azure-native:compute/v20220301:Image" }, { type: "azure-native:compute/v20220801:Image" }, { type: "azure-native:compute/v20221101:Image" }, { type: "azure-native:compute/v20230301:Image" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Image.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Image resource. + */ +export interface ImageArgs { + /** + * The extended location of the Image. + */ + extendedLocation?: pulumi.Input; + /** + * Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + */ + hyperVGeneration?: pulumi.Input; + /** + * The name of the image. + */ + imageName?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The source virtual machine from which Image is created. + */ + sourceVirtualMachine?: pulumi.Input; + /** + * Specifies the storage settings for the virtual machine disks. + */ + storageProfile?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/compute/v20230701/index.ts b/sdk/nodejs/compute/v20230701/index.ts new file mode 100644 index 000000000000..501960a6dd46 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/index.ts @@ -0,0 +1,247 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { AvailabilitySetArgs } from "./availabilitySet"; +export type AvailabilitySet = import("./availabilitySet").AvailabilitySet; +export const AvailabilitySet: typeof import("./availabilitySet").AvailabilitySet = null as any; +utilities.lazyLoad(exports, ["AvailabilitySet"], () => require("./availabilitySet")); + +export { CapacityReservationArgs } from "./capacityReservation"; +export type CapacityReservation = import("./capacityReservation").CapacityReservation; +export const CapacityReservation: typeof import("./capacityReservation").CapacityReservation = null as any; +utilities.lazyLoad(exports, ["CapacityReservation"], () => require("./capacityReservation")); + +export { CapacityReservationGroupArgs } from "./capacityReservationGroup"; +export type CapacityReservationGroup = import("./capacityReservationGroup").CapacityReservationGroup; +export const CapacityReservationGroup: typeof import("./capacityReservationGroup").CapacityReservationGroup = null as any; +utilities.lazyLoad(exports, ["CapacityReservationGroup"], () => require("./capacityReservationGroup")); + +export { DedicatedHostArgs } from "./dedicatedHost"; +export type DedicatedHost = import("./dedicatedHost").DedicatedHost; +export const DedicatedHost: typeof import("./dedicatedHost").DedicatedHost = null as any; +utilities.lazyLoad(exports, ["DedicatedHost"], () => require("./dedicatedHost")); + +export { DedicatedHostGroupArgs } from "./dedicatedHostGroup"; +export type DedicatedHostGroup = import("./dedicatedHostGroup").DedicatedHostGroup; +export const DedicatedHostGroup: typeof import("./dedicatedHostGroup").DedicatedHostGroup = null as any; +utilities.lazyLoad(exports, ["DedicatedHostGroup"], () => require("./dedicatedHostGroup")); + +export { GetAvailabilitySetArgs, GetAvailabilitySetResult, GetAvailabilitySetOutputArgs } from "./getAvailabilitySet"; +export const getAvailabilitySet: typeof import("./getAvailabilitySet").getAvailabilitySet = null as any; +export const getAvailabilitySetOutput: typeof import("./getAvailabilitySet").getAvailabilitySetOutput = null as any; +utilities.lazyLoad(exports, ["getAvailabilitySet","getAvailabilitySetOutput"], () => require("./getAvailabilitySet")); + +export { GetCapacityReservationArgs, GetCapacityReservationResult, GetCapacityReservationOutputArgs } from "./getCapacityReservation"; +export const getCapacityReservation: typeof import("./getCapacityReservation").getCapacityReservation = null as any; +export const getCapacityReservationOutput: typeof import("./getCapacityReservation").getCapacityReservationOutput = null as any; +utilities.lazyLoad(exports, ["getCapacityReservation","getCapacityReservationOutput"], () => require("./getCapacityReservation")); + +export { GetCapacityReservationGroupArgs, GetCapacityReservationGroupResult, GetCapacityReservationGroupOutputArgs } from "./getCapacityReservationGroup"; +export const getCapacityReservationGroup: typeof import("./getCapacityReservationGroup").getCapacityReservationGroup = null as any; +export const getCapacityReservationGroupOutput: typeof import("./getCapacityReservationGroup").getCapacityReservationGroupOutput = null as any; +utilities.lazyLoad(exports, ["getCapacityReservationGroup","getCapacityReservationGroupOutput"], () => require("./getCapacityReservationGroup")); + +export { GetDedicatedHostArgs, GetDedicatedHostResult, GetDedicatedHostOutputArgs } from "./getDedicatedHost"; +export const getDedicatedHost: typeof import("./getDedicatedHost").getDedicatedHost = null as any; +export const getDedicatedHostOutput: typeof import("./getDedicatedHost").getDedicatedHostOutput = null as any; +utilities.lazyLoad(exports, ["getDedicatedHost","getDedicatedHostOutput"], () => require("./getDedicatedHost")); + +export { GetDedicatedHostGroupArgs, GetDedicatedHostGroupResult, GetDedicatedHostGroupOutputArgs } from "./getDedicatedHostGroup"; +export const getDedicatedHostGroup: typeof import("./getDedicatedHostGroup").getDedicatedHostGroup = null as any; +export const getDedicatedHostGroupOutput: typeof import("./getDedicatedHostGroup").getDedicatedHostGroupOutput = null as any; +utilities.lazyLoad(exports, ["getDedicatedHostGroup","getDedicatedHostGroupOutput"], () => require("./getDedicatedHostGroup")); + +export { GetImageArgs, GetImageResult, GetImageOutputArgs } from "./getImage"; +export const getImage: typeof import("./getImage").getImage = null as any; +export const getImageOutput: typeof import("./getImage").getImageOutput = null as any; +utilities.lazyLoad(exports, ["getImage","getImageOutput"], () => require("./getImage")); + +export { GetLogAnalyticExportRequestRateByIntervalArgs, GetLogAnalyticExportRequestRateByIntervalResult, GetLogAnalyticExportRequestRateByIntervalOutputArgs } from "./getLogAnalyticExportRequestRateByInterval"; +export const getLogAnalyticExportRequestRateByInterval: typeof import("./getLogAnalyticExportRequestRateByInterval").getLogAnalyticExportRequestRateByInterval = null as any; +export const getLogAnalyticExportRequestRateByIntervalOutput: typeof import("./getLogAnalyticExportRequestRateByInterval").getLogAnalyticExportRequestRateByIntervalOutput = null as any; +utilities.lazyLoad(exports, ["getLogAnalyticExportRequestRateByInterval","getLogAnalyticExportRequestRateByIntervalOutput"], () => require("./getLogAnalyticExportRequestRateByInterval")); + +export { GetLogAnalyticExportThrottledRequestsArgs, GetLogAnalyticExportThrottledRequestsResult, GetLogAnalyticExportThrottledRequestsOutputArgs } from "./getLogAnalyticExportThrottledRequests"; +export const getLogAnalyticExportThrottledRequests: typeof import("./getLogAnalyticExportThrottledRequests").getLogAnalyticExportThrottledRequests = null as any; +export const getLogAnalyticExportThrottledRequestsOutput: typeof import("./getLogAnalyticExportThrottledRequests").getLogAnalyticExportThrottledRequestsOutput = null as any; +utilities.lazyLoad(exports, ["getLogAnalyticExportThrottledRequests","getLogAnalyticExportThrottledRequestsOutput"], () => require("./getLogAnalyticExportThrottledRequests")); + +export { GetProximityPlacementGroupArgs, GetProximityPlacementGroupResult, GetProximityPlacementGroupOutputArgs } from "./getProximityPlacementGroup"; +export const getProximityPlacementGroup: typeof import("./getProximityPlacementGroup").getProximityPlacementGroup = null as any; +export const getProximityPlacementGroupOutput: typeof import("./getProximityPlacementGroup").getProximityPlacementGroupOutput = null as any; +utilities.lazyLoad(exports, ["getProximityPlacementGroup","getProximityPlacementGroupOutput"], () => require("./getProximityPlacementGroup")); + +export { GetRestorePointArgs, GetRestorePointResult, GetRestorePointOutputArgs } from "./getRestorePoint"; +export const getRestorePoint: typeof import("./getRestorePoint").getRestorePoint = null as any; +export const getRestorePointOutput: typeof import("./getRestorePoint").getRestorePointOutput = null as any; +utilities.lazyLoad(exports, ["getRestorePoint","getRestorePointOutput"], () => require("./getRestorePoint")); + +export { GetRestorePointCollectionArgs, GetRestorePointCollectionResult, GetRestorePointCollectionOutputArgs } from "./getRestorePointCollection"; +export const getRestorePointCollection: typeof import("./getRestorePointCollection").getRestorePointCollection = null as any; +export const getRestorePointCollectionOutput: typeof import("./getRestorePointCollection").getRestorePointCollectionOutput = null as any; +utilities.lazyLoad(exports, ["getRestorePointCollection","getRestorePointCollectionOutput"], () => require("./getRestorePointCollection")); + +export { GetSshPublicKeyArgs, GetSshPublicKeyResult, GetSshPublicKeyOutputArgs } from "./getSshPublicKey"; +export const getSshPublicKey: typeof import("./getSshPublicKey").getSshPublicKey = null as any; +export const getSshPublicKeyOutput: typeof import("./getSshPublicKey").getSshPublicKeyOutput = null as any; +utilities.lazyLoad(exports, ["getSshPublicKey","getSshPublicKeyOutput"], () => require("./getSshPublicKey")); + +export { GetVirtualMachineArgs, GetVirtualMachineResult, GetVirtualMachineOutputArgs } from "./getVirtualMachine"; +export const getVirtualMachine: typeof import("./getVirtualMachine").getVirtualMachine = null as any; +export const getVirtualMachineOutput: typeof import("./getVirtualMachine").getVirtualMachineOutput = null as any; +utilities.lazyLoad(exports, ["getVirtualMachine","getVirtualMachineOutput"], () => require("./getVirtualMachine")); + +export { GetVirtualMachineExtensionArgs, GetVirtualMachineExtensionResult, GetVirtualMachineExtensionOutputArgs } from "./getVirtualMachineExtension"; +export const getVirtualMachineExtension: typeof import("./getVirtualMachineExtension").getVirtualMachineExtension = null as any; +export const getVirtualMachineExtensionOutput: typeof import("./getVirtualMachineExtension").getVirtualMachineExtensionOutput = null as any; +utilities.lazyLoad(exports, ["getVirtualMachineExtension","getVirtualMachineExtensionOutput"], () => require("./getVirtualMachineExtension")); + +export { GetVirtualMachineRunCommandByVirtualMachineArgs, GetVirtualMachineRunCommandByVirtualMachineResult, GetVirtualMachineRunCommandByVirtualMachineOutputArgs } from "./getVirtualMachineRunCommandByVirtualMachine"; +export const getVirtualMachineRunCommandByVirtualMachine: typeof import("./getVirtualMachineRunCommandByVirtualMachine").getVirtualMachineRunCommandByVirtualMachine = null as any; +export const getVirtualMachineRunCommandByVirtualMachineOutput: typeof import("./getVirtualMachineRunCommandByVirtualMachine").getVirtualMachineRunCommandByVirtualMachineOutput = null as any; +utilities.lazyLoad(exports, ["getVirtualMachineRunCommandByVirtualMachine","getVirtualMachineRunCommandByVirtualMachineOutput"], () => require("./getVirtualMachineRunCommandByVirtualMachine")); + +export { GetVirtualMachineScaleSetArgs, GetVirtualMachineScaleSetResult, GetVirtualMachineScaleSetOutputArgs } from "./getVirtualMachineScaleSet"; +export const getVirtualMachineScaleSet: typeof import("./getVirtualMachineScaleSet").getVirtualMachineScaleSet = null as any; +export const getVirtualMachineScaleSetOutput: typeof import("./getVirtualMachineScaleSet").getVirtualMachineScaleSetOutput = null as any; +utilities.lazyLoad(exports, ["getVirtualMachineScaleSet","getVirtualMachineScaleSetOutput"], () => require("./getVirtualMachineScaleSet")); + +export { GetVirtualMachineScaleSetExtensionArgs, GetVirtualMachineScaleSetExtensionResult, GetVirtualMachineScaleSetExtensionOutputArgs } from "./getVirtualMachineScaleSetExtension"; +export const getVirtualMachineScaleSetExtension: typeof import("./getVirtualMachineScaleSetExtension").getVirtualMachineScaleSetExtension = null as any; +export const getVirtualMachineScaleSetExtensionOutput: typeof import("./getVirtualMachineScaleSetExtension").getVirtualMachineScaleSetExtensionOutput = null as any; +utilities.lazyLoad(exports, ["getVirtualMachineScaleSetExtension","getVirtualMachineScaleSetExtensionOutput"], () => require("./getVirtualMachineScaleSetExtension")); + +export { GetVirtualMachineScaleSetVMArgs, GetVirtualMachineScaleSetVMResult, GetVirtualMachineScaleSetVMOutputArgs } from "./getVirtualMachineScaleSetVM"; +export const getVirtualMachineScaleSetVM: typeof import("./getVirtualMachineScaleSetVM").getVirtualMachineScaleSetVM = null as any; +export const getVirtualMachineScaleSetVMOutput: typeof import("./getVirtualMachineScaleSetVM").getVirtualMachineScaleSetVMOutput = null as any; +utilities.lazyLoad(exports, ["getVirtualMachineScaleSetVM","getVirtualMachineScaleSetVMOutput"], () => require("./getVirtualMachineScaleSetVM")); + +export { GetVirtualMachineScaleSetVMExtensionArgs, GetVirtualMachineScaleSetVMExtensionResult, GetVirtualMachineScaleSetVMExtensionOutputArgs } from "./getVirtualMachineScaleSetVMExtension"; +export const getVirtualMachineScaleSetVMExtension: typeof import("./getVirtualMachineScaleSetVMExtension").getVirtualMachineScaleSetVMExtension = null as any; +export const getVirtualMachineScaleSetVMExtensionOutput: typeof import("./getVirtualMachineScaleSetVMExtension").getVirtualMachineScaleSetVMExtensionOutput = null as any; +utilities.lazyLoad(exports, ["getVirtualMachineScaleSetVMExtension","getVirtualMachineScaleSetVMExtensionOutput"], () => require("./getVirtualMachineScaleSetVMExtension")); + +export { GetVirtualMachineScaleSetVMRunCommandArgs, GetVirtualMachineScaleSetVMRunCommandResult, GetVirtualMachineScaleSetVMRunCommandOutputArgs } from "./getVirtualMachineScaleSetVMRunCommand"; +export const getVirtualMachineScaleSetVMRunCommand: typeof import("./getVirtualMachineScaleSetVMRunCommand").getVirtualMachineScaleSetVMRunCommand = null as any; +export const getVirtualMachineScaleSetVMRunCommandOutput: typeof import("./getVirtualMachineScaleSetVMRunCommand").getVirtualMachineScaleSetVMRunCommandOutput = null as any; +utilities.lazyLoad(exports, ["getVirtualMachineScaleSetVMRunCommand","getVirtualMachineScaleSetVMRunCommandOutput"], () => require("./getVirtualMachineScaleSetVMRunCommand")); + +export { ImageArgs } from "./image"; +export type Image = import("./image").Image; +export const Image: typeof import("./image").Image = null as any; +utilities.lazyLoad(exports, ["Image"], () => require("./image")); + +export { ProximityPlacementGroupArgs } from "./proximityPlacementGroup"; +export type ProximityPlacementGroup = import("./proximityPlacementGroup").ProximityPlacementGroup; +export const ProximityPlacementGroup: typeof import("./proximityPlacementGroup").ProximityPlacementGroup = null as any; +utilities.lazyLoad(exports, ["ProximityPlacementGroup"], () => require("./proximityPlacementGroup")); + +export { RestorePointArgs } from "./restorePoint"; +export type RestorePoint = import("./restorePoint").RestorePoint; +export const RestorePoint: typeof import("./restorePoint").RestorePoint = null as any; +utilities.lazyLoad(exports, ["RestorePoint"], () => require("./restorePoint")); + +export { RestorePointCollectionArgs } from "./restorePointCollection"; +export type RestorePointCollection = import("./restorePointCollection").RestorePointCollection; +export const RestorePointCollection: typeof import("./restorePointCollection").RestorePointCollection = null as any; +utilities.lazyLoad(exports, ["RestorePointCollection"], () => require("./restorePointCollection")); + +export { SshPublicKeyArgs } from "./sshPublicKey"; +export type SshPublicKey = import("./sshPublicKey").SshPublicKey; +export const SshPublicKey: typeof import("./sshPublicKey").SshPublicKey = null as any; +utilities.lazyLoad(exports, ["SshPublicKey"], () => require("./sshPublicKey")); + +export { VirtualMachineArgs } from "./virtualMachine"; +export type VirtualMachine = import("./virtualMachine").VirtualMachine; +export const VirtualMachine: typeof import("./virtualMachine").VirtualMachine = null as any; +utilities.lazyLoad(exports, ["VirtualMachine"], () => require("./virtualMachine")); + +export { VirtualMachineExtensionArgs } from "./virtualMachineExtension"; +export type VirtualMachineExtension = import("./virtualMachineExtension").VirtualMachineExtension; +export const VirtualMachineExtension: typeof import("./virtualMachineExtension").VirtualMachineExtension = null as any; +utilities.lazyLoad(exports, ["VirtualMachineExtension"], () => require("./virtualMachineExtension")); + +export { VirtualMachineRunCommandByVirtualMachineArgs } from "./virtualMachineRunCommandByVirtualMachine"; +export type VirtualMachineRunCommandByVirtualMachine = import("./virtualMachineRunCommandByVirtualMachine").VirtualMachineRunCommandByVirtualMachine; +export const VirtualMachineRunCommandByVirtualMachine: typeof import("./virtualMachineRunCommandByVirtualMachine").VirtualMachineRunCommandByVirtualMachine = null as any; +utilities.lazyLoad(exports, ["VirtualMachineRunCommandByVirtualMachine"], () => require("./virtualMachineRunCommandByVirtualMachine")); + +export { VirtualMachineScaleSetArgs } from "./virtualMachineScaleSet"; +export type VirtualMachineScaleSet = import("./virtualMachineScaleSet").VirtualMachineScaleSet; +export const VirtualMachineScaleSet: typeof import("./virtualMachineScaleSet").VirtualMachineScaleSet = null as any; +utilities.lazyLoad(exports, ["VirtualMachineScaleSet"], () => require("./virtualMachineScaleSet")); + +export { VirtualMachineScaleSetExtensionArgs } from "./virtualMachineScaleSetExtension"; +export type VirtualMachineScaleSetExtension = import("./virtualMachineScaleSetExtension").VirtualMachineScaleSetExtension; +export const VirtualMachineScaleSetExtension: typeof import("./virtualMachineScaleSetExtension").VirtualMachineScaleSetExtension = null as any; +utilities.lazyLoad(exports, ["VirtualMachineScaleSetExtension"], () => require("./virtualMachineScaleSetExtension")); + +export { VirtualMachineScaleSetVMArgs } from "./virtualMachineScaleSetVM"; +export type VirtualMachineScaleSetVM = import("./virtualMachineScaleSetVM").VirtualMachineScaleSetVM; +export const VirtualMachineScaleSetVM: typeof import("./virtualMachineScaleSetVM").VirtualMachineScaleSetVM = null as any; +utilities.lazyLoad(exports, ["VirtualMachineScaleSetVM"], () => require("./virtualMachineScaleSetVM")); + +export { VirtualMachineScaleSetVMExtensionArgs } from "./virtualMachineScaleSetVMExtension"; +export type VirtualMachineScaleSetVMExtension = import("./virtualMachineScaleSetVMExtension").VirtualMachineScaleSetVMExtension; +export const VirtualMachineScaleSetVMExtension: typeof import("./virtualMachineScaleSetVMExtension").VirtualMachineScaleSetVMExtension = null as any; +utilities.lazyLoad(exports, ["VirtualMachineScaleSetVMExtension"], () => require("./virtualMachineScaleSetVMExtension")); + +export { VirtualMachineScaleSetVMRunCommandArgs } from "./virtualMachineScaleSetVMRunCommand"; +export type VirtualMachineScaleSetVMRunCommand = import("./virtualMachineScaleSetVMRunCommand").VirtualMachineScaleSetVMRunCommand; +export const VirtualMachineScaleSetVMRunCommand: typeof import("./virtualMachineScaleSetVMRunCommand").VirtualMachineScaleSetVMRunCommand = null as any; +utilities.lazyLoad(exports, ["VirtualMachineScaleSetVMRunCommand"], () => require("./virtualMachineScaleSetVMRunCommand")); + + +// Export enums: +export * from "../../types/enums/compute/v20230701"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:compute/v20230701:AvailabilitySet": + return new AvailabilitySet(name, undefined, { urn }) + case "azure-native:compute/v20230701:CapacityReservation": + return new CapacityReservation(name, undefined, { urn }) + case "azure-native:compute/v20230701:CapacityReservationGroup": + return new CapacityReservationGroup(name, undefined, { urn }) + case "azure-native:compute/v20230701:DedicatedHost": + return new DedicatedHost(name, undefined, { urn }) + case "azure-native:compute/v20230701:DedicatedHostGroup": + return new DedicatedHostGroup(name, undefined, { urn }) + case "azure-native:compute/v20230701:Image": + return new Image(name, undefined, { urn }) + case "azure-native:compute/v20230701:ProximityPlacementGroup": + return new ProximityPlacementGroup(name, undefined, { urn }) + case "azure-native:compute/v20230701:RestorePoint": + return new RestorePoint(name, undefined, { urn }) + case "azure-native:compute/v20230701:RestorePointCollection": + return new RestorePointCollection(name, undefined, { urn }) + case "azure-native:compute/v20230701:SshPublicKey": + return new SshPublicKey(name, undefined, { urn }) + case "azure-native:compute/v20230701:VirtualMachine": + return new VirtualMachine(name, undefined, { urn }) + case "azure-native:compute/v20230701:VirtualMachineExtension": + return new VirtualMachineExtension(name, undefined, { urn }) + case "azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine": + return new VirtualMachineRunCommandByVirtualMachine(name, undefined, { urn }) + case "azure-native:compute/v20230701:VirtualMachineScaleSet": + return new VirtualMachineScaleSet(name, undefined, { urn }) + case "azure-native:compute/v20230701:VirtualMachineScaleSetExtension": + return new VirtualMachineScaleSetExtension(name, undefined, { urn }) + case "azure-native:compute/v20230701:VirtualMachineScaleSetVM": + return new VirtualMachineScaleSetVM(name, undefined, { urn }) + case "azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension": + return new VirtualMachineScaleSetVMExtension(name, undefined, { urn }) + case "azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand": + return new VirtualMachineScaleSetVMRunCommand(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "compute/v20230701", _module) diff --git a/sdk/nodejs/compute/v20230701/proximityPlacementGroup.ts b/sdk/nodejs/compute/v20230701/proximityPlacementGroup.ts new file mode 100644 index 000000000000..61a94be529d5 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/proximityPlacementGroup.ts @@ -0,0 +1,168 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Specifies information about the proximity placement group. + */ +export class ProximityPlacementGroup extends pulumi.CustomResource { + /** + * Get an existing ProximityPlacementGroup 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ProximityPlacementGroup { + return new ProximityPlacementGroup(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:ProximityPlacementGroup'; + + /** + * Returns true if the given object is an instance of ProximityPlacementGroup. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ProximityPlacementGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ProximityPlacementGroup.__pulumiType; + } + + /** + * A list of references to all availability sets in the proximity placement group. + */ + public /*out*/ readonly availabilitySets!: pulumi.Output; + /** + * Describes colocation status of the Proximity Placement Group. + */ + public readonly colocationStatus!: pulumi.Output; + /** + * Specifies the user intent of the proximity placement group. + */ + public readonly intent!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + */ + public readonly proximityPlacementGroupType!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * A list of references to all virtual machine scale sets in the proximity placement group. + */ + public /*out*/ readonly virtualMachineScaleSets!: pulumi.Output; + /** + * A list of references to all virtual machines in the proximity placement group. + */ + public /*out*/ readonly virtualMachines!: pulumi.Output; + /** + * Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. + */ + public readonly zones!: pulumi.Output; + + /** + * Create a ProximityPlacementGroup 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: ProximityPlacementGroupArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["colocationStatus"] = args ? args.colocationStatus : undefined; + resourceInputs["intent"] = args ? args.intent : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["proximityPlacementGroupName"] = args ? args.proximityPlacementGroupName : undefined; + resourceInputs["proximityPlacementGroupType"] = args ? args.proximityPlacementGroupType : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["zones"] = args ? args.zones : undefined; + resourceInputs["availabilitySets"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["virtualMachineScaleSets"] = undefined /*out*/; + resourceInputs["virtualMachines"] = undefined /*out*/; + } else { + resourceInputs["availabilitySets"] = undefined /*out*/; + resourceInputs["colocationStatus"] = undefined /*out*/; + resourceInputs["intent"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["proximityPlacementGroupType"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["virtualMachineScaleSets"] = undefined /*out*/; + resourceInputs["virtualMachines"] = undefined /*out*/; + resourceInputs["zones"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:ProximityPlacementGroup" }, { type: "azure-native:compute/v20180401:ProximityPlacementGroup" }, { type: "azure-native:compute/v20180601:ProximityPlacementGroup" }, { type: "azure-native:compute/v20181001:ProximityPlacementGroup" }, { type: "azure-native:compute/v20190301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20190701:ProximityPlacementGroup" }, { type: "azure-native:compute/v20191201:ProximityPlacementGroup" }, { type: "azure-native:compute/v20200601:ProximityPlacementGroup" }, { type: "azure-native:compute/v20201201:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210401:ProximityPlacementGroup" }, { type: "azure-native:compute/v20210701:ProximityPlacementGroup" }, { type: "azure-native:compute/v20211101:ProximityPlacementGroup" }, { type: "azure-native:compute/v20220301:ProximityPlacementGroup" }, { type: "azure-native:compute/v20220801:ProximityPlacementGroup" }, { type: "azure-native:compute/v20221101:ProximityPlacementGroup" }, { type: "azure-native:compute/v20230301:ProximityPlacementGroup" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(ProximityPlacementGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ProximityPlacementGroup resource. + */ +export interface ProximityPlacementGroupArgs { + /** + * Describes colocation status of the Proximity Placement Group. + */ + colocationStatus?: pulumi.Input; + /** + * Specifies the user intent of the proximity placement group. + */ + intent?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * The name of the proximity placement group. + */ + proximityPlacementGroupName?: pulumi.Input; + /** + * Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + */ + proximityPlacementGroupType?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. + */ + zones?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/compute/v20230701/restorePoint.ts b/sdk/nodejs/compute/v20230701/restorePoint.ts new file mode 100644 index 000000000000..bfd744f2cc99 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/restorePoint.ts @@ -0,0 +1,160 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Restore Point details. + */ +export class RestorePoint extends pulumi.CustomResource { + /** + * Get an existing RestorePoint 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): RestorePoint { + return new RestorePoint(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:RestorePoint'; + + /** + * Returns true if the given object is an instance of RestorePoint. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is RestorePoint { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RestorePoint.__pulumiType; + } + + /** + * ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + */ + public readonly consistencyMode!: pulumi.Output; + /** + * List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + */ + public readonly excludeDisks!: pulumi.Output; + /** + * The restore point instance view. + */ + public /*out*/ readonly instanceView!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Gets the provisioning state of the restore point. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Gets the details of the VM captured at the time of the restore point creation. + */ + public readonly sourceMetadata!: pulumi.Output; + /** + * Resource Id of the source restore point from which a copy needs to be created. + */ + public readonly sourceRestorePoint!: pulumi.Output; + /** + * Gets the creation time of the restore point. + */ + public readonly timeCreated!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a RestorePoint 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: RestorePointArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.restorePointCollectionName === undefined) && !opts.urn) { + throw new Error("Missing required property 'restorePointCollectionName'"); + } + resourceInputs["consistencyMode"] = args ? args.consistencyMode : undefined; + resourceInputs["excludeDisks"] = args ? args.excludeDisks : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["restorePointCollectionName"] = args ? args.restorePointCollectionName : undefined; + resourceInputs["restorePointName"] = args ? args.restorePointName : undefined; + resourceInputs["sourceMetadata"] = args ? args.sourceMetadata : undefined; + resourceInputs["sourceRestorePoint"] = args ? args.sourceRestorePoint : undefined; + resourceInputs["timeCreated"] = args ? args.timeCreated : undefined; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["consistencyMode"] = undefined /*out*/; + resourceInputs["excludeDisks"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["sourceMetadata"] = undefined /*out*/; + resourceInputs["sourceRestorePoint"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:RestorePoint" }, { type: "azure-native:compute/v20210301:RestorePoint" }, { type: "azure-native:compute/v20210401:RestorePoint" }, { type: "azure-native:compute/v20210701:RestorePoint" }, { type: "azure-native:compute/v20211101:RestorePoint" }, { type: "azure-native:compute/v20220301:RestorePoint" }, { type: "azure-native:compute/v20220801:RestorePoint" }, { type: "azure-native:compute/v20221101:RestorePoint" }, { type: "azure-native:compute/v20230301:RestorePoint" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(RestorePoint.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a RestorePoint resource. + */ +export interface RestorePointArgs { + /** + * ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + */ + consistencyMode?: pulumi.Input; + /** + * List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + */ + excludeDisks?: pulumi.Input[]>; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the restore point collection. + */ + restorePointCollectionName: pulumi.Input; + /** + * The name of the restore point. + */ + restorePointName?: pulumi.Input; + /** + * Gets the details of the VM captured at the time of the restore point creation. + */ + sourceMetadata?: pulumi.Input; + /** + * Resource Id of the source restore point from which a copy needs to be created. + */ + sourceRestorePoint?: pulumi.Input; + /** + * Gets the creation time of the restore point. + */ + timeCreated?: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/restorePointCollection.ts b/sdk/nodejs/compute/v20230701/restorePointCollection.ts new file mode 100644 index 000000000000..f475b8bc20e9 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/restorePointCollection.ts @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Create or update Restore Point collection parameters. + */ +export class RestorePointCollection extends pulumi.CustomResource { + /** + * Get an existing RestorePointCollection 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): RestorePointCollection { + return new RestorePointCollection(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:RestorePointCollection'; + + /** + * Returns true if the given object is an instance of RestorePointCollection. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is RestorePointCollection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RestorePointCollection.__pulumiType; + } + + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The provisioning state of the restore point collection. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * The unique id of the restore point collection. + */ + public /*out*/ readonly restorePointCollectionId!: pulumi.Output; + /** + * A list containing all restore points created under this restore point collection. + */ + public /*out*/ readonly restorePoints!: pulumi.Output; + /** + * The properties of the source resource that this restore point collection is created from. + */ + public readonly source!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a RestorePointCollection 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: RestorePointCollectionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["restorePointCollectionName"] = args ? args.restorePointCollectionName : undefined; + resourceInputs["source"] = args ? args.source : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["restorePointCollectionId"] = undefined /*out*/; + resourceInputs["restorePoints"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["restorePointCollectionId"] = undefined /*out*/; + resourceInputs["restorePoints"] = undefined /*out*/; + resourceInputs["source"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:RestorePointCollection" }, { type: "azure-native:compute/v20210301:RestorePointCollection" }, { type: "azure-native:compute/v20210401:RestorePointCollection" }, { type: "azure-native:compute/v20210701:RestorePointCollection" }, { type: "azure-native:compute/v20211101:RestorePointCollection" }, { type: "azure-native:compute/v20220301:RestorePointCollection" }, { type: "azure-native:compute/v20220801:RestorePointCollection" }, { type: "azure-native:compute/v20221101:RestorePointCollection" }, { type: "azure-native:compute/v20230301:RestorePointCollection" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(RestorePointCollection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a RestorePointCollection resource. + */ +export interface RestorePointCollectionArgs { + /** + * Resource location + */ + location?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the restore point collection. + */ + restorePointCollectionName?: pulumi.Input; + /** + * The properties of the source resource that this restore point collection is created from. + */ + source?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/compute/v20230701/sshPublicKey.ts b/sdk/nodejs/compute/v20230701/sshPublicKey.ts new file mode 100644 index 000000000000..31a2ba80c4f4 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/sshPublicKey.ts @@ -0,0 +1,117 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * Specifies information about the SSH public key. + */ +export class SshPublicKey extends pulumi.CustomResource { + /** + * Get an existing SshPublicKey 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): SshPublicKey { + return new SshPublicKey(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:SshPublicKey'; + + /** + * Returns true if the given object is an instance of SshPublicKey. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is SshPublicKey { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SshPublicKey.__pulumiType; + } + + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. + */ + public readonly publicKey!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a SshPublicKey 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: SshPublicKeyArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["publicKey"] = args ? args.publicKey : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["sshPublicKeyName"] = args ? args.sshPublicKeyName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["publicKey"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:SshPublicKey" }, { type: "azure-native:compute/v20191201:SshPublicKey" }, { type: "azure-native:compute/v20200601:SshPublicKey" }, { type: "azure-native:compute/v20201201:SshPublicKey" }, { type: "azure-native:compute/v20210301:SshPublicKey" }, { type: "azure-native:compute/v20210401:SshPublicKey" }, { type: "azure-native:compute/v20210701:SshPublicKey" }, { type: "azure-native:compute/v20211101:SshPublicKey" }, { type: "azure-native:compute/v20220301:SshPublicKey" }, { type: "azure-native:compute/v20220801:SshPublicKey" }, { type: "azure-native:compute/v20221101:SshPublicKey" }, { type: "azure-native:compute/v20230301:SshPublicKey" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(SshPublicKey.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a SshPublicKey resource. + */ +export interface SshPublicKeyArgs { + /** + * Resource location + */ + location?: pulumi.Input; + /** + * SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. + */ + publicKey?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the SSH public key. + */ + sshPublicKeyName?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/compute/v20230701/virtualMachine.ts b/sdk/nodejs/compute/v20230701/virtualMachine.ts new file mode 100644 index 000000000000..2a6943705abc --- /dev/null +++ b/sdk/nodejs/compute/v20230701/virtualMachine.ts @@ -0,0 +1,400 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Describes a Virtual Machine. + */ +export class VirtualMachine extends pulumi.CustomResource { + /** + * Get an existing VirtualMachine 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): VirtualMachine { + return new VirtualMachine(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:VirtualMachine'; + + /** + * Returns true if the given object is an instance of VirtualMachine. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is VirtualMachine { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VirtualMachine.__pulumiType; + } + + /** + * Specifies additional capabilities enabled or disabled on the virtual machine. + */ + public readonly additionalCapabilities!: pulumi.Output; + /** + * Specifies the gallery applications that should be made available to the VM/VMSS. + */ + public readonly applicationProfile!: pulumi.Output; + /** + * Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + */ + public readonly availabilitySet!: pulumi.Output; + /** + * Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. + */ + public readonly billingProfile!: pulumi.Output; + /** + * Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. + */ + public readonly capacityReservation!: pulumi.Output; + /** + * Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + */ + public readonly diagnosticsProfile!: pulumi.Output; + /** + * Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + */ + public readonly evictionPolicy!: pulumi.Output; + /** + * The extended location of the Virtual Machine. + */ + public readonly extendedLocation!: pulumi.Output; + /** + * Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + */ + public readonly extensionsTimeBudget!: pulumi.Output; + /** + * Specifies the hardware settings for the virtual machine. + */ + public readonly hardwareProfile!: pulumi.Output; + /** + * Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. + */ + public readonly host!: pulumi.Output; + /** + * Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. + */ + public readonly hostGroup!: pulumi.Output; + /** + * The identity of the virtual machine, if configured. + */ + public readonly identity!: pulumi.Output; + /** + * The virtual machine instance view. + */ + public /*out*/ readonly instanceView!: pulumi.Output; + /** + * Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + */ + public readonly licenseType!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Specifies the network interfaces of the virtual machine. + */ + public readonly networkProfile!: pulumi.Output; + /** + * Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. + */ + public readonly osProfile!: pulumi.Output; + /** + * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + */ + public readonly plan!: pulumi.Output; + /** + * Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. + */ + public readonly platformFaultDomain!: pulumi.Output; + /** + * Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 + */ + public readonly priority!: pulumi.Output; + /** + * The provisioning state, which only appears in the response. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. + */ + public readonly proximityPlacementGroup!: pulumi.Output; + /** + * The virtual machine child extension resources. + */ + public /*out*/ readonly resources!: pulumi.Output; + /** + * Specifies Scheduled Event related configurations. + */ + public readonly scheduledEventsProfile!: pulumi.Output; + /** + * Specifies the Security related profile settings for the virtual machine. + */ + public readonly securityProfile!: pulumi.Output; + /** + * Specifies the storage settings for the virtual machine disks. + */ + public readonly storageProfile!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01. + */ + public /*out*/ readonly timeCreated!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + */ + public readonly userData!: pulumi.Output; + /** + * Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. + */ + public readonly virtualMachineScaleSet!: pulumi.Output; + /** + * Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. + */ + public /*out*/ readonly vmId!: pulumi.Output; + /** + * The virtual machine zones. + */ + public readonly zones!: pulumi.Output; + + /** + * Create a VirtualMachine 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: VirtualMachineArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["additionalCapabilities"] = args ? args.additionalCapabilities : undefined; + resourceInputs["applicationProfile"] = args ? args.applicationProfile : undefined; + resourceInputs["availabilitySet"] = args ? args.availabilitySet : undefined; + resourceInputs["billingProfile"] = args ? args.billingProfile : undefined; + resourceInputs["capacityReservation"] = args ? args.capacityReservation : undefined; + resourceInputs["diagnosticsProfile"] = args ? args.diagnosticsProfile : undefined; + resourceInputs["evictionPolicy"] = args ? args.evictionPolicy : undefined; + resourceInputs["extendedLocation"] = args ? args.extendedLocation : undefined; + resourceInputs["extensionsTimeBudget"] = args ? args.extensionsTimeBudget : undefined; + resourceInputs["hardwareProfile"] = args ? args.hardwareProfile : undefined; + resourceInputs["host"] = args ? args.host : undefined; + resourceInputs["hostGroup"] = args ? args.hostGroup : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["licenseType"] = args ? args.licenseType : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["networkProfile"] = args ? args.networkProfile : undefined; + resourceInputs["osProfile"] = args ? args.osProfile : undefined; + resourceInputs["plan"] = args ? args.plan : undefined; + resourceInputs["platformFaultDomain"] = args ? args.platformFaultDomain : undefined; + resourceInputs["priority"] = args ? args.priority : undefined; + resourceInputs["proximityPlacementGroup"] = args ? args.proximityPlacementGroup : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["scheduledEventsProfile"] = args ? args.scheduledEventsProfile : undefined; + resourceInputs["securityProfile"] = args ? args.securityProfile : undefined; + resourceInputs["storageProfile"] = args ? args.storageProfile : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["userData"] = args ? args.userData : undefined; + resourceInputs["virtualMachineScaleSet"] = args ? args.virtualMachineScaleSet : undefined; + resourceInputs["vmName"] = args ? args.vmName : undefined; + resourceInputs["zones"] = args ? args.zones : undefined; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["resources"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["vmId"] = undefined /*out*/; + } else { + resourceInputs["additionalCapabilities"] = undefined /*out*/; + resourceInputs["applicationProfile"] = undefined /*out*/; + resourceInputs["availabilitySet"] = undefined /*out*/; + resourceInputs["billingProfile"] = undefined /*out*/; + resourceInputs["capacityReservation"] = undefined /*out*/; + resourceInputs["diagnosticsProfile"] = undefined /*out*/; + resourceInputs["evictionPolicy"] = undefined /*out*/; + resourceInputs["extendedLocation"] = undefined /*out*/; + resourceInputs["extensionsTimeBudget"] = undefined /*out*/; + resourceInputs["hardwareProfile"] = undefined /*out*/; + resourceInputs["host"] = undefined /*out*/; + resourceInputs["hostGroup"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["licenseType"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkProfile"] = undefined /*out*/; + resourceInputs["osProfile"] = undefined /*out*/; + resourceInputs["plan"] = undefined /*out*/; + resourceInputs["platformFaultDomain"] = undefined /*out*/; + resourceInputs["priority"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["proximityPlacementGroup"] = undefined /*out*/; + resourceInputs["resources"] = undefined /*out*/; + resourceInputs["scheduledEventsProfile"] = undefined /*out*/; + resourceInputs["securityProfile"] = undefined /*out*/; + resourceInputs["storageProfile"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["userData"] = undefined /*out*/; + resourceInputs["virtualMachineScaleSet"] = undefined /*out*/; + resourceInputs["vmId"] = undefined /*out*/; + resourceInputs["zones"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachine" }, { type: "azure-native:compute/v20150615:VirtualMachine" }, { type: "azure-native:compute/v20160330:VirtualMachine" }, { type: "azure-native:compute/v20160430preview:VirtualMachine" }, { type: "azure-native:compute/v20170330:VirtualMachine" }, { type: "azure-native:compute/v20171201:VirtualMachine" }, { type: "azure-native:compute/v20180401:VirtualMachine" }, { type: "azure-native:compute/v20180601:VirtualMachine" }, { type: "azure-native:compute/v20181001:VirtualMachine" }, { type: "azure-native:compute/v20190301:VirtualMachine" }, { type: "azure-native:compute/v20190701:VirtualMachine" }, { type: "azure-native:compute/v20191201:VirtualMachine" }, { type: "azure-native:compute/v20200601:VirtualMachine" }, { type: "azure-native:compute/v20201201:VirtualMachine" }, { type: "azure-native:compute/v20210301:VirtualMachine" }, { type: "azure-native:compute/v20210401:VirtualMachine" }, { type: "azure-native:compute/v20210701:VirtualMachine" }, { type: "azure-native:compute/v20211101:VirtualMachine" }, { type: "azure-native:compute/v20220301:VirtualMachine" }, { type: "azure-native:compute/v20220801:VirtualMachine" }, { type: "azure-native:compute/v20221101:VirtualMachine" }, { type: "azure-native:compute/v20230301:VirtualMachine" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(VirtualMachine.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a VirtualMachine resource. + */ +export interface VirtualMachineArgs { + /** + * Specifies additional capabilities enabled or disabled on the virtual machine. + */ + additionalCapabilities?: pulumi.Input; + /** + * Specifies the gallery applications that should be made available to the VM/VMSS. + */ + applicationProfile?: pulumi.Input; + /** + * Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + */ + availabilitySet?: pulumi.Input; + /** + * Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. + */ + billingProfile?: pulumi.Input; + /** + * Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. + */ + capacityReservation?: pulumi.Input; + /** + * Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + */ + diagnosticsProfile?: pulumi.Input; + /** + * Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + */ + evictionPolicy?: pulumi.Input; + /** + * The extended location of the Virtual Machine. + */ + extendedLocation?: pulumi.Input; + /** + * Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + */ + extensionsTimeBudget?: pulumi.Input; + /** + * Specifies the hardware settings for the virtual machine. + */ + hardwareProfile?: pulumi.Input; + /** + * Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. + */ + host?: pulumi.Input; + /** + * Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. + */ + hostGroup?: pulumi.Input; + /** + * The identity of the virtual machine, if configured. + */ + identity?: pulumi.Input; + /** + * Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + */ + licenseType?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * Specifies the network interfaces of the virtual machine. + */ + networkProfile?: pulumi.Input; + /** + * Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. + */ + osProfile?: pulumi.Input; + /** + * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + */ + plan?: pulumi.Input; + /** + * Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. + */ + platformFaultDomain?: pulumi.Input; + /** + * Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 + */ + priority?: pulumi.Input; + /** + * Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. + */ + proximityPlacementGroup?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Specifies Scheduled Event related configurations. + */ + scheduledEventsProfile?: pulumi.Input; + /** + * Specifies the Security related profile settings for the virtual machine. + */ + securityProfile?: pulumi.Input; + /** + * Specifies the storage settings for the virtual machine disks. + */ + storageProfile?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + */ + userData?: pulumi.Input; + /** + * Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. + */ + virtualMachineScaleSet?: pulumi.Input; + /** + * The name of the virtual machine. + */ + vmName?: pulumi.Input; + /** + * The virtual machine zones. + */ + zones?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/compute/v20230701/virtualMachineExtension.ts b/sdk/nodejs/compute/v20230701/virtualMachineExtension.ts new file mode 100644 index 000000000000..bed5955f7bde --- /dev/null +++ b/sdk/nodejs/compute/v20230701/virtualMachineExtension.ts @@ -0,0 +1,238 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Describes a Virtual Machine Extension. + */ +export class VirtualMachineExtension extends pulumi.CustomResource { + /** + * Get an existing VirtualMachineExtension 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): VirtualMachineExtension { + return new VirtualMachineExtension(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:VirtualMachineExtension'; + + /** + * Returns true if the given object is an instance of VirtualMachineExtension. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is VirtualMachineExtension { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VirtualMachineExtension.__pulumiType; + } + + /** + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + */ + public readonly autoUpgradeMinorVersion!: pulumi.Output; + /** + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + */ + public readonly enableAutomaticUpgrade!: pulumi.Output; + /** + * How the extension handler should be forced to update even if the extension configuration has not changed. + */ + public readonly forceUpdateTag!: pulumi.Output; + /** + * The virtual machine extension instance view. + */ + public readonly instanceView!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + */ + public readonly protectedSettings!: pulumi.Output; + /** + * The extensions protected settings that are passed by reference, and consumed from key vault + */ + public readonly protectedSettingsFromKeyVault!: pulumi.Output; + /** + * Collection of extension names after which this extension needs to be provisioned. + */ + public readonly provisionAfterExtensions!: pulumi.Output; + /** + * The provisioning state, which only appears in the response. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * The name of the extension handler publisher. + */ + public readonly publisher!: pulumi.Output; + /** + * Json formatted public settings for the extension. + */ + public readonly settings!: pulumi.Output; + /** + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + */ + public readonly suppressFailures!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Resource type + */ + public readonly type!: pulumi.Output; + /** + * Specifies the version of the script handler. + */ + public readonly typeHandlerVersion!: pulumi.Output; + + /** + * Create a VirtualMachineExtension 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: VirtualMachineExtensionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.vmName === undefined) && !opts.urn) { + throw new Error("Missing required property 'vmName'"); + } + resourceInputs["autoUpgradeMinorVersion"] = args ? args.autoUpgradeMinorVersion : undefined; + resourceInputs["enableAutomaticUpgrade"] = args ? args.enableAutomaticUpgrade : undefined; + resourceInputs["forceUpdateTag"] = args ? args.forceUpdateTag : undefined; + resourceInputs["instanceView"] = args ? args.instanceView : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["protectedSettings"] = args ? args.protectedSettings : undefined; + resourceInputs["protectedSettingsFromKeyVault"] = args ? args.protectedSettingsFromKeyVault : undefined; + resourceInputs["provisionAfterExtensions"] = args ? args.provisionAfterExtensions : undefined; + resourceInputs["publisher"] = args ? args.publisher : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["settings"] = args ? args.settings : undefined; + resourceInputs["suppressFailures"] = args ? args.suppressFailures : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["typeHandlerVersion"] = args ? args.typeHandlerVersion : undefined; + resourceInputs["vmExtensionName"] = args ? args.vmExtensionName : undefined; + resourceInputs["vmName"] = args ? args.vmName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + } else { + resourceInputs["autoUpgradeMinorVersion"] = undefined /*out*/; + resourceInputs["enableAutomaticUpgrade"] = undefined /*out*/; + resourceInputs["forceUpdateTag"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["protectedSettings"] = undefined /*out*/; + resourceInputs["protectedSettingsFromKeyVault"] = undefined /*out*/; + resourceInputs["provisionAfterExtensions"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["publisher"] = undefined /*out*/; + resourceInputs["settings"] = undefined /*out*/; + resourceInputs["suppressFailures"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["typeHandlerVersion"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineExtension" }, { type: "azure-native:compute/v20150615:VirtualMachineExtension" }, { type: "azure-native:compute/v20160330:VirtualMachineExtension" }, { type: "azure-native:compute/v20160430preview:VirtualMachineExtension" }, { type: "azure-native:compute/v20170330:VirtualMachineExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineExtension" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(VirtualMachineExtension.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a VirtualMachineExtension resource. + */ +export interface VirtualMachineExtensionArgs { + /** + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + */ + autoUpgradeMinorVersion?: pulumi.Input; + /** + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + */ + enableAutomaticUpgrade?: pulumi.Input; + /** + * How the extension handler should be forced to update even if the extension configuration has not changed. + */ + forceUpdateTag?: pulumi.Input; + /** + * The virtual machine extension instance view. + */ + instanceView?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + */ + protectedSettings?: any; + /** + * The extensions protected settings that are passed by reference, and consumed from key vault + */ + protectedSettingsFromKeyVault?: pulumi.Input; + /** + * Collection of extension names after which this extension needs to be provisioned. + */ + provisionAfterExtensions?: pulumi.Input[]>; + /** + * The name of the extension handler publisher. + */ + publisher?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Json formatted public settings for the extension. + */ + settings?: any; + /** + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + */ + suppressFailures?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Specifies the type of the extension; an example is "CustomScriptExtension". + */ + type?: pulumi.Input; + /** + * Specifies the version of the script handler. + */ + typeHandlerVersion?: pulumi.Input; + /** + * The name of the virtual machine extension. + */ + vmExtensionName?: pulumi.Input; + /** + * The name of the virtual machine where the extension should be created or updated. + */ + vmName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/virtualMachineRunCommandByVirtualMachine.ts b/sdk/nodejs/compute/v20230701/virtualMachineRunCommandByVirtualMachine.ts new file mode 100644 index 000000000000..70ca986bb0f7 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/virtualMachineRunCommandByVirtualMachine.ts @@ -0,0 +1,250 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Describes a Virtual Machine run command. + */ +export class VirtualMachineRunCommandByVirtualMachine extends pulumi.CustomResource { + /** + * Get an existing VirtualMachineRunCommandByVirtualMachine 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): VirtualMachineRunCommandByVirtualMachine { + return new VirtualMachineRunCommandByVirtualMachine(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine'; + + /** + * Returns true if the given object is an instance of VirtualMachineRunCommandByVirtualMachine. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is VirtualMachineRunCommandByVirtualMachine { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VirtualMachineRunCommandByVirtualMachine.__pulumiType; + } + + /** + * Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + */ + public readonly asyncExecution!: pulumi.Output; + /** + * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + */ + public readonly errorBlobManagedIdentity!: pulumi.Output; + /** + * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + */ + public readonly errorBlobUri!: pulumi.Output; + /** + * The virtual machine run command instance view. + */ + public /*out*/ readonly instanceView!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + */ + public readonly outputBlobManagedIdentity!: pulumi.Output; + /** + * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + */ + public readonly outputBlobUri!: pulumi.Output; + /** + * The parameters used by the script. + */ + public readonly parameters!: pulumi.Output; + /** + * The parameters used by the script. + */ + public readonly protectedParameters!: pulumi.Output; + /** + * The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Specifies the user account password on the VM when executing the run command. + */ + public readonly runAsPassword!: pulumi.Output; + /** + * Specifies the user account on the VM when executing the run command. + */ + public readonly runAsUser!: pulumi.Output; + /** + * The source of the run command script. + */ + public readonly source!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The timeout in seconds to execute the run command. + */ + public readonly timeoutInSeconds!: pulumi.Output; + /** + * Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + */ + public readonly treatFailureAsDeploymentFailure!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a VirtualMachineRunCommandByVirtualMachine 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: VirtualMachineRunCommandByVirtualMachineArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.vmName === undefined) && !opts.urn) { + throw new Error("Missing required property 'vmName'"); + } + resourceInputs["asyncExecution"] = (args ? args.asyncExecution : undefined) ?? false; + resourceInputs["errorBlobManagedIdentity"] = args ? args.errorBlobManagedIdentity : undefined; + resourceInputs["errorBlobUri"] = args ? args.errorBlobUri : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["outputBlobManagedIdentity"] = args ? args.outputBlobManagedIdentity : undefined; + resourceInputs["outputBlobUri"] = args ? args.outputBlobUri : undefined; + resourceInputs["parameters"] = args ? args.parameters : undefined; + resourceInputs["protectedParameters"] = args ? args.protectedParameters : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["runAsPassword"] = args ? args.runAsPassword : undefined; + resourceInputs["runAsUser"] = args ? args.runAsUser : undefined; + resourceInputs["runCommandName"] = args ? args.runCommandName : undefined; + resourceInputs["source"] = args ? args.source : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeoutInSeconds"] = args ? args.timeoutInSeconds : undefined; + resourceInputs["treatFailureAsDeploymentFailure"] = (args ? args.treatFailureAsDeploymentFailure : undefined) ?? false; + resourceInputs["vmName"] = args ? args.vmName : undefined; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["asyncExecution"] = undefined /*out*/; + resourceInputs["errorBlobManagedIdentity"] = undefined /*out*/; + resourceInputs["errorBlobUri"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["outputBlobManagedIdentity"] = undefined /*out*/; + resourceInputs["outputBlobUri"] = undefined /*out*/; + resourceInputs["parameters"] = undefined /*out*/; + resourceInputs["protectedParameters"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["runAsPassword"] = undefined /*out*/; + resourceInputs["runAsUser"] = undefined /*out*/; + resourceInputs["source"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["timeoutInSeconds"] = undefined /*out*/; + resourceInputs["treatFailureAsDeploymentFailure"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20200601:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20201201:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210301:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210401:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210701:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20211101:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20220301:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20230301:VirtualMachineRunCommandByVirtualMachine" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(VirtualMachineRunCommandByVirtualMachine.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a VirtualMachineRunCommandByVirtualMachine resource. + */ +export interface VirtualMachineRunCommandByVirtualMachineArgs { + /** + * Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + */ + asyncExecution?: pulumi.Input; + /** + * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + */ + errorBlobManagedIdentity?: pulumi.Input; + /** + * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + */ + errorBlobUri?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + */ + outputBlobManagedIdentity?: pulumi.Input; + /** + * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + */ + outputBlobUri?: pulumi.Input; + /** + * The parameters used by the script. + */ + parameters?: pulumi.Input[]>; + /** + * The parameters used by the script. + */ + protectedParameters?: pulumi.Input[]>; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Specifies the user account password on the VM when executing the run command. + */ + runAsPassword?: pulumi.Input; + /** + * Specifies the user account on the VM when executing the run command. + */ + runAsUser?: pulumi.Input; + /** + * The name of the virtual machine run command. + */ + runCommandName?: pulumi.Input; + /** + * The source of the run command script. + */ + source?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The timeout in seconds to execute the run command. + */ + timeoutInSeconds?: pulumi.Input; + /** + * Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + */ + treatFailureAsDeploymentFailure?: pulumi.Input; + /** + * The name of the virtual machine where the run command should be created or updated. + */ + vmName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/virtualMachineScaleSet.ts b/sdk/nodejs/compute/v20230701/virtualMachineScaleSet.ts new file mode 100644 index 000000000000..7bc0be457779 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/virtualMachineScaleSet.ts @@ -0,0 +1,338 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Describes a Virtual Machine Scale Set. + */ +export class VirtualMachineScaleSet extends pulumi.CustomResource { + /** + * Get an existing VirtualMachineScaleSet 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): VirtualMachineScaleSet { + return new VirtualMachineScaleSet(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:VirtualMachineScaleSet'; + + /** + * Returns true if the given object is an instance of VirtualMachineScaleSet. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is VirtualMachineScaleSet { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VirtualMachineScaleSet.__pulumiType; + } + + /** + * Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + */ + public readonly additionalCapabilities!: pulumi.Output; + /** + * Policy for automatic repairs. + */ + public readonly automaticRepairsPolicy!: pulumi.Output; + /** + * Optional property which must either be set to True or omitted. + */ + public readonly constrainedMaximumCapacity!: pulumi.Output; + /** + * When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + */ + public readonly doNotRunExtensionsOnOverprovisionedVMs!: pulumi.Output; + /** + * The extended location of the Virtual Machine Scale Set. + */ + public readonly extendedLocation!: pulumi.Output; + /** + * Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + */ + public readonly hostGroup!: pulumi.Output; + /** + * The identity of the virtual machine scale set, if configured. + */ + public readonly identity!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Specifies the orchestration mode for the virtual machine scale set. + */ + public readonly orchestrationMode!: pulumi.Output; + /** + * Specifies whether the Virtual Machine Scale Set should be overprovisioned. + */ + public readonly overprovision!: pulumi.Output; + /** + * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + */ + public readonly plan!: pulumi.Output; + /** + * Fault Domain count for each placement group. + */ + public readonly platformFaultDomainCount!: pulumi.Output; + /** + * Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + */ + public readonly priorityMixPolicy!: pulumi.Output; + /** + * The provisioning state, which only appears in the response. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + */ + public readonly proximityPlacementGroup!: pulumi.Output; + /** + * Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + */ + public readonly scaleInPolicy!: pulumi.Output; + /** + * When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. + */ + public readonly singlePlacementGroup!: pulumi.Output; + /** + * The virtual machine scale set sku. + */ + public readonly sku!: pulumi.Output; + /** + * Specifies the Spot Restore properties for the virtual machine scale set. + */ + public readonly spotRestorePolicy!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. + */ + public /*out*/ readonly timeCreated!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * Specifies the ID which uniquely identifies a Virtual Machine Scale Set. + */ + public /*out*/ readonly uniqueId!: pulumi.Output; + /** + * The upgrade policy. + */ + public readonly upgradePolicy!: pulumi.Output; + /** + * The virtual machine profile. + */ + public readonly virtualMachineProfile!: pulumi.Output; + /** + * Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. + */ + public readonly zoneBalance!: pulumi.Output; + /** + * The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set + */ + public readonly zones!: pulumi.Output; + + /** + * Create a VirtualMachineScaleSet 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: VirtualMachineScaleSetArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["additionalCapabilities"] = args ? args.additionalCapabilities : undefined; + resourceInputs["automaticRepairsPolicy"] = args ? args.automaticRepairsPolicy : undefined; + resourceInputs["constrainedMaximumCapacity"] = args ? args.constrainedMaximumCapacity : undefined; + resourceInputs["doNotRunExtensionsOnOverprovisionedVMs"] = args ? args.doNotRunExtensionsOnOverprovisionedVMs : undefined; + resourceInputs["extendedLocation"] = args ? args.extendedLocation : undefined; + resourceInputs["hostGroup"] = args ? args.hostGroup : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["orchestrationMode"] = args ? args.orchestrationMode : undefined; + resourceInputs["overprovision"] = args ? args.overprovision : undefined; + resourceInputs["plan"] = args ? args.plan : undefined; + resourceInputs["platformFaultDomainCount"] = args ? args.platformFaultDomainCount : undefined; + resourceInputs["priorityMixPolicy"] = args ? args.priorityMixPolicy : undefined; + resourceInputs["proximityPlacementGroup"] = args ? args.proximityPlacementGroup : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["scaleInPolicy"] = args ? args.scaleInPolicy : undefined; + resourceInputs["singlePlacementGroup"] = args ? args.singlePlacementGroup : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["spotRestorePolicy"] = args ? args.spotRestorePolicy : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["upgradePolicy"] = args ? args.upgradePolicy : undefined; + resourceInputs["virtualMachineProfile"] = args ? args.virtualMachineProfile : undefined; + resourceInputs["vmScaleSetName"] = args ? args.vmScaleSetName : undefined; + resourceInputs["zoneBalance"] = args ? args.zoneBalance : undefined; + resourceInputs["zones"] = args ? args.zones : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["uniqueId"] = undefined /*out*/; + } else { + resourceInputs["additionalCapabilities"] = undefined /*out*/; + resourceInputs["automaticRepairsPolicy"] = undefined /*out*/; + resourceInputs["constrainedMaximumCapacity"] = undefined /*out*/; + resourceInputs["doNotRunExtensionsOnOverprovisionedVMs"] = undefined /*out*/; + resourceInputs["extendedLocation"] = undefined /*out*/; + resourceInputs["hostGroup"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["orchestrationMode"] = undefined /*out*/; + resourceInputs["overprovision"] = undefined /*out*/; + resourceInputs["plan"] = undefined /*out*/; + resourceInputs["platformFaultDomainCount"] = undefined /*out*/; + resourceInputs["priorityMixPolicy"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["proximityPlacementGroup"] = undefined /*out*/; + resourceInputs["scaleInPolicy"] = undefined /*out*/; + resourceInputs["singlePlacementGroup"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["spotRestorePolicy"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["uniqueId"] = undefined /*out*/; + resourceInputs["upgradePolicy"] = undefined /*out*/; + resourceInputs["virtualMachineProfile"] = undefined /*out*/; + resourceInputs["zoneBalance"] = undefined /*out*/; + resourceInputs["zones"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20150615:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20160330:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20160430preview:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20170330:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSet" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(VirtualMachineScaleSet.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a VirtualMachineScaleSet resource. + */ +export interface VirtualMachineScaleSetArgs { + /** + * Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + */ + additionalCapabilities?: pulumi.Input; + /** + * Policy for automatic repairs. + */ + automaticRepairsPolicy?: pulumi.Input; + /** + * Optional property which must either be set to True or omitted. + */ + constrainedMaximumCapacity?: pulumi.Input; + /** + * When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + */ + doNotRunExtensionsOnOverprovisionedVMs?: pulumi.Input; + /** + * The extended location of the Virtual Machine Scale Set. + */ + extendedLocation?: pulumi.Input; + /** + * Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + */ + hostGroup?: pulumi.Input; + /** + * The identity of the virtual machine scale set, if configured. + */ + identity?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * Specifies the orchestration mode for the virtual machine scale set. + */ + orchestrationMode?: pulumi.Input; + /** + * Specifies whether the Virtual Machine Scale Set should be overprovisioned. + */ + overprovision?: pulumi.Input; + /** + * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + */ + plan?: pulumi.Input; + /** + * Fault Domain count for each placement group. + */ + platformFaultDomainCount?: pulumi.Input; + /** + * Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + */ + priorityMixPolicy?: pulumi.Input; + /** + * Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + */ + proximityPlacementGroup?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + */ + scaleInPolicy?: pulumi.Input; + /** + * When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. + */ + singlePlacementGroup?: pulumi.Input; + /** + * The virtual machine scale set sku. + */ + sku?: pulumi.Input; + /** + * Specifies the Spot Restore properties for the virtual machine scale set. + */ + spotRestorePolicy?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The upgrade policy. + */ + upgradePolicy?: pulumi.Input; + /** + * The virtual machine profile. + */ + virtualMachineProfile?: pulumi.Input; + /** + * The name of the VM scale set to create or update. + */ + vmScaleSetName?: pulumi.Input; + /** + * Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. + */ + zoneBalance?: pulumi.Input; + /** + * The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set + */ + zones?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/compute/v20230701/virtualMachineScaleSetExtension.ts b/sdk/nodejs/compute/v20230701/virtualMachineScaleSetExtension.ts new file mode 100644 index 000000000000..41d947702715 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/virtualMachineScaleSetExtension.ts @@ -0,0 +1,212 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Describes a Virtual Machine Scale Set Extension. + */ +export class VirtualMachineScaleSetExtension extends pulumi.CustomResource { + /** + * Get an existing VirtualMachineScaleSetExtension 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): VirtualMachineScaleSetExtension { + return new VirtualMachineScaleSetExtension(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:VirtualMachineScaleSetExtension'; + + /** + * Returns true if the given object is an instance of VirtualMachineScaleSetExtension. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is VirtualMachineScaleSetExtension { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VirtualMachineScaleSetExtension.__pulumiType; + } + + /** + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + */ + public readonly autoUpgradeMinorVersion!: pulumi.Output; + /** + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + */ + public readonly enableAutomaticUpgrade!: pulumi.Output; + /** + * If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + */ + public readonly forceUpdateTag!: pulumi.Output; + /** + * The name of the extension. + */ + public readonly name!: pulumi.Output; + /** + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + */ + public readonly protectedSettings!: pulumi.Output; + /** + * The extensions protected settings that are passed by reference, and consumed from key vault + */ + public readonly protectedSettingsFromKeyVault!: pulumi.Output; + /** + * Collection of extension names after which this extension needs to be provisioned. + */ + public readonly provisionAfterExtensions!: pulumi.Output; + /** + * The provisioning state, which only appears in the response. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * The name of the extension handler publisher. + */ + public readonly publisher!: pulumi.Output; + /** + * Json formatted public settings for the extension. + */ + public readonly settings!: pulumi.Output; + /** + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + */ + public readonly suppressFailures!: pulumi.Output; + /** + * Resource type + */ + public readonly type!: pulumi.Output; + /** + * Specifies the version of the script handler. + */ + public readonly typeHandlerVersion!: pulumi.Output; + + /** + * Create a VirtualMachineScaleSetExtension 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: VirtualMachineScaleSetExtensionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.vmScaleSetName === undefined) && !opts.urn) { + throw new Error("Missing required property 'vmScaleSetName'"); + } + resourceInputs["autoUpgradeMinorVersion"] = args ? args.autoUpgradeMinorVersion : undefined; + resourceInputs["enableAutomaticUpgrade"] = args ? args.enableAutomaticUpgrade : undefined; + resourceInputs["forceUpdateTag"] = args ? args.forceUpdateTag : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["protectedSettings"] = args ? args.protectedSettings : undefined; + resourceInputs["protectedSettingsFromKeyVault"] = args ? args.protectedSettingsFromKeyVault : undefined; + resourceInputs["provisionAfterExtensions"] = args ? args.provisionAfterExtensions : undefined; + resourceInputs["publisher"] = args ? args.publisher : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["settings"] = args ? args.settings : undefined; + resourceInputs["suppressFailures"] = args ? args.suppressFailures : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["typeHandlerVersion"] = args ? args.typeHandlerVersion : undefined; + resourceInputs["vmScaleSetName"] = args ? args.vmScaleSetName : undefined; + resourceInputs["vmssExtensionName"] = args ? args.vmssExtensionName : undefined; + resourceInputs["provisioningState"] = undefined /*out*/; + } else { + resourceInputs["autoUpgradeMinorVersion"] = undefined /*out*/; + resourceInputs["enableAutomaticUpgrade"] = undefined /*out*/; + resourceInputs["forceUpdateTag"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["protectedSettings"] = undefined /*out*/; + resourceInputs["protectedSettingsFromKeyVault"] = undefined /*out*/; + resourceInputs["provisionAfterExtensions"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["publisher"] = undefined /*out*/; + resourceInputs["settings"] = undefined /*out*/; + resourceInputs["suppressFailures"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["typeHandlerVersion"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20170330:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetExtension" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(VirtualMachineScaleSetExtension.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a VirtualMachineScaleSetExtension resource. + */ +export interface VirtualMachineScaleSetExtensionArgs { + /** + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + */ + autoUpgradeMinorVersion?: pulumi.Input; + /** + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + */ + enableAutomaticUpgrade?: pulumi.Input; + /** + * If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + */ + forceUpdateTag?: pulumi.Input; + /** + * The name of the extension. + */ + name?: pulumi.Input; + /** + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + */ + protectedSettings?: any; + /** + * The extensions protected settings that are passed by reference, and consumed from key vault + */ + protectedSettingsFromKeyVault?: pulumi.Input; + /** + * Collection of extension names after which this extension needs to be provisioned. + */ + provisionAfterExtensions?: pulumi.Input[]>; + /** + * The name of the extension handler publisher. + */ + publisher?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Json formatted public settings for the extension. + */ + settings?: any; + /** + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + */ + suppressFailures?: pulumi.Input; + /** + * Specifies the type of the extension; an example is "CustomScriptExtension". + */ + type?: pulumi.Input; + /** + * Specifies the version of the script handler. + */ + typeHandlerVersion?: pulumi.Input; + /** + * The name of the VM scale set where the extension should be create or updated. + */ + vmScaleSetName: pulumi.Input; + /** + * The name of the VM scale set extension. + */ + vmssExtensionName?: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/virtualMachineScaleSetVM.ts b/sdk/nodejs/compute/v20230701/virtualMachineScaleSetVM.ts new file mode 100644 index 000000000000..4dd3ddac8897 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/virtualMachineScaleSetVM.ts @@ -0,0 +1,317 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Describes a virtual machine scale set virtual machine. + */ +export class VirtualMachineScaleSetVM extends pulumi.CustomResource { + /** + * Get an existing VirtualMachineScaleSetVM 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): VirtualMachineScaleSetVM { + return new VirtualMachineScaleSetVM(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:VirtualMachineScaleSetVM'; + + /** + * Returns true if the given object is an instance of VirtualMachineScaleSetVM. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is VirtualMachineScaleSetVM { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VirtualMachineScaleSetVM.__pulumiType; + } + + /** + * Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + */ + public readonly additionalCapabilities!: pulumi.Output; + /** + * Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. + */ + public readonly availabilitySet!: pulumi.Output; + /** + * Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + */ + public readonly diagnosticsProfile!: pulumi.Output; + /** + * Specifies the hardware settings for the virtual machine. + */ + public readonly hardwareProfile!: pulumi.Output; + /** + * The identity of the virtual machine, if configured. + */ + public readonly identity!: pulumi.Output; + /** + * The virtual machine instance ID. + */ + public readonly instanceId!: pulumi.Output; + /** + * The virtual machine instance view. + */ + public /*out*/ readonly instanceView!: pulumi.Output; + /** + * Specifies whether the latest model has been applied to the virtual machine. + */ + public /*out*/ readonly latestModelApplied!: pulumi.Output; + /** + * Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + */ + public readonly licenseType!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine. + */ + public /*out*/ readonly modelDefinitionApplied!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Specifies the network interfaces of the virtual machine. + */ + public readonly networkProfile!: pulumi.Output; + /** + * Specifies the network profile configuration of the virtual machine. + */ + public readonly networkProfileConfiguration!: pulumi.Output; + /** + * Specifies the operating system settings for the virtual machine. + */ + public readonly osProfile!: pulumi.Output; + /** + * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + */ + public readonly plan!: pulumi.Output; + /** + * Specifies the protection policy of the virtual machine. + */ + public readonly protectionPolicy!: pulumi.Output; + /** + * The provisioning state, which only appears in the response. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * The virtual machine child extension resources. + */ + public /*out*/ readonly resources!: pulumi.Output; + /** + * Specifies the Security related profile settings for the virtual machine. + */ + public readonly securityProfile!: pulumi.Output; + /** + * The virtual machine SKU. + */ + public /*out*/ readonly sku!: pulumi.Output; + /** + * Specifies the storage settings for the virtual machine disks. + */ + public readonly storageProfile!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Specifies the time at which the Virtual Machine resource was created.

Minimum api-version: 2021-11-01. + */ + public /*out*/ readonly timeCreated!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

Minimum api-version: 2021-03-01 + */ + public readonly userData!: pulumi.Output; + /** + * Azure VM unique ID. + */ + public /*out*/ readonly vmId!: pulumi.Output; + /** + * The virtual machine zones. + */ + public /*out*/ readonly zones!: pulumi.Output; + + /** + * Create a VirtualMachineScaleSetVM 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: VirtualMachineScaleSetVMArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.vmScaleSetName === undefined) && !opts.urn) { + throw new Error("Missing required property 'vmScaleSetName'"); + } + resourceInputs["additionalCapabilities"] = args ? args.additionalCapabilities : undefined; + resourceInputs["availabilitySet"] = args ? args.availabilitySet : undefined; + resourceInputs["diagnosticsProfile"] = args ? args.diagnosticsProfile : undefined; + resourceInputs["hardwareProfile"] = args ? args.hardwareProfile : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + resourceInputs["licenseType"] = args ? args.licenseType : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["networkProfile"] = args ? args.networkProfile : undefined; + resourceInputs["networkProfileConfiguration"] = args ? args.networkProfileConfiguration : undefined; + resourceInputs["osProfile"] = args ? args.osProfile : undefined; + resourceInputs["plan"] = args ? args.plan : undefined; + resourceInputs["protectionPolicy"] = args ? args.protectionPolicy : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["securityProfile"] = args ? args.securityProfile : undefined; + resourceInputs["storageProfile"] = args ? args.storageProfile : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["userData"] = args ? args.userData : undefined; + resourceInputs["vmScaleSetName"] = args ? args.vmScaleSetName : undefined; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["latestModelApplied"] = undefined /*out*/; + resourceInputs["modelDefinitionApplied"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["resources"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["vmId"] = undefined /*out*/; + resourceInputs["zones"] = undefined /*out*/; + } else { + resourceInputs["additionalCapabilities"] = undefined /*out*/; + resourceInputs["availabilitySet"] = undefined /*out*/; + resourceInputs["diagnosticsProfile"] = undefined /*out*/; + resourceInputs["hardwareProfile"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["instanceId"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["latestModelApplied"] = undefined /*out*/; + resourceInputs["licenseType"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["modelDefinitionApplied"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkProfile"] = undefined /*out*/; + resourceInputs["networkProfileConfiguration"] = undefined /*out*/; + resourceInputs["osProfile"] = undefined /*out*/; + resourceInputs["plan"] = undefined /*out*/; + resourceInputs["protectionPolicy"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["resources"] = undefined /*out*/; + resourceInputs["securityProfile"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["storageProfile"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["timeCreated"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["userData"] = undefined /*out*/; + resourceInputs["vmId"] = undefined /*out*/; + resourceInputs["zones"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetVM" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(VirtualMachineScaleSetVM.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a VirtualMachineScaleSetVM resource. + */ +export interface VirtualMachineScaleSetVMArgs { + /** + * Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + */ + additionalCapabilities?: pulumi.Input; + /** + * Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. + */ + availabilitySet?: pulumi.Input; + /** + * Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + */ + diagnosticsProfile?: pulumi.Input; + /** + * Specifies the hardware settings for the virtual machine. + */ + hardwareProfile?: pulumi.Input; + /** + * The identity of the virtual machine, if configured. + */ + identity?: pulumi.Input; + /** + * The instance ID of the virtual machine. + */ + instanceId?: pulumi.Input; + /** + * Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + */ + licenseType?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * Specifies the network interfaces of the virtual machine. + */ + networkProfile?: pulumi.Input; + /** + * Specifies the network profile configuration of the virtual machine. + */ + networkProfileConfiguration?: pulumi.Input; + /** + * Specifies the operating system settings for the virtual machine. + */ + osProfile?: pulumi.Input; + /** + * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + */ + plan?: pulumi.Input; + /** + * Specifies the protection policy of the virtual machine. + */ + protectionPolicy?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Specifies the Security related profile settings for the virtual machine. + */ + securityProfile?: pulumi.Input; + /** + * Specifies the storage settings for the virtual machine disks. + */ + storageProfile?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

Minimum api-version: 2021-03-01 + */ + userData?: pulumi.Input; + /** + * The name of the VM scale set where the extension should be create or updated. + */ + vmScaleSetName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/virtualMachineScaleSetVMExtension.ts b/sdk/nodejs/compute/v20230701/virtualMachineScaleSetVMExtension.ts new file mode 100644 index 000000000000..8a77e021aac4 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/virtualMachineScaleSetVMExtension.ts @@ -0,0 +1,236 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Describes a VMSS VM Extension. + */ +export class VirtualMachineScaleSetVMExtension extends pulumi.CustomResource { + /** + * Get an existing VirtualMachineScaleSetVMExtension 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): VirtualMachineScaleSetVMExtension { + return new VirtualMachineScaleSetVMExtension(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension'; + + /** + * Returns true if the given object is an instance of VirtualMachineScaleSetVMExtension. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is VirtualMachineScaleSetVMExtension { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VirtualMachineScaleSetVMExtension.__pulumiType; + } + + /** + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + */ + public readonly autoUpgradeMinorVersion!: pulumi.Output; + /** + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + */ + public readonly enableAutomaticUpgrade!: pulumi.Output; + /** + * How the extension handler should be forced to update even if the extension configuration has not changed. + */ + public readonly forceUpdateTag!: pulumi.Output; + /** + * The virtual machine extension instance view. + */ + public readonly instanceView!: pulumi.Output; + /** + * The location of the extension. + */ + public readonly location!: pulumi.Output; + /** + * The name of the extension. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + */ + public readonly protectedSettings!: pulumi.Output; + /** + * The extensions protected settings that are passed by reference, and consumed from key vault + */ + public readonly protectedSettingsFromKeyVault!: pulumi.Output; + /** + * Collection of extension names after which this extension needs to be provisioned. + */ + public readonly provisionAfterExtensions!: pulumi.Output; + /** + * The provisioning state, which only appears in the response. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * The name of the extension handler publisher. + */ + public readonly publisher!: pulumi.Output; + /** + * Json formatted public settings for the extension. + */ + public readonly settings!: pulumi.Output; + /** + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + */ + public readonly suppressFailures!: pulumi.Output; + /** + * Resource type + */ + public readonly type!: pulumi.Output; + /** + * Specifies the version of the script handler. + */ + public readonly typeHandlerVersion!: pulumi.Output; + + /** + * Create a VirtualMachineScaleSetVMExtension 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: VirtualMachineScaleSetVMExtensionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.instanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.vmScaleSetName === undefined) && !opts.urn) { + throw new Error("Missing required property 'vmScaleSetName'"); + } + resourceInputs["autoUpgradeMinorVersion"] = args ? args.autoUpgradeMinorVersion : undefined; + resourceInputs["enableAutomaticUpgrade"] = args ? args.enableAutomaticUpgrade : undefined; + resourceInputs["forceUpdateTag"] = args ? args.forceUpdateTag : undefined; + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + resourceInputs["instanceView"] = args ? args.instanceView : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["protectedSettings"] = args ? args.protectedSettings : undefined; + resourceInputs["protectedSettingsFromKeyVault"] = args ? args.protectedSettingsFromKeyVault : undefined; + resourceInputs["provisionAfterExtensions"] = args ? args.provisionAfterExtensions : undefined; + resourceInputs["publisher"] = args ? args.publisher : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["settings"] = args ? args.settings : undefined; + resourceInputs["suppressFailures"] = args ? args.suppressFailures : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["typeHandlerVersion"] = args ? args.typeHandlerVersion : undefined; + resourceInputs["vmExtensionName"] = args ? args.vmExtensionName : undefined; + resourceInputs["vmScaleSetName"] = args ? args.vmScaleSetName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + } else { + resourceInputs["autoUpgradeMinorVersion"] = undefined /*out*/; + resourceInputs["enableAutomaticUpgrade"] = undefined /*out*/; + resourceInputs["forceUpdateTag"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["protectedSettings"] = undefined /*out*/; + resourceInputs["protectedSettingsFromKeyVault"] = undefined /*out*/; + resourceInputs["provisionAfterExtensions"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["publisher"] = undefined /*out*/; + resourceInputs["settings"] = undefined /*out*/; + resourceInputs["suppressFailures"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["typeHandlerVersion"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(VirtualMachineScaleSetVMExtension.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a VirtualMachineScaleSetVMExtension resource. + */ +export interface VirtualMachineScaleSetVMExtensionArgs { + /** + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + */ + autoUpgradeMinorVersion?: pulumi.Input; + /** + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + */ + enableAutomaticUpgrade?: pulumi.Input; + /** + * How the extension handler should be forced to update even if the extension configuration has not changed. + */ + forceUpdateTag?: pulumi.Input; + /** + * The instance ID of the virtual machine. + */ + instanceId: pulumi.Input; + /** + * The virtual machine extension instance view. + */ + instanceView?: pulumi.Input; + /** + * The location of the extension. + */ + location?: pulumi.Input; + /** + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + */ + protectedSettings?: any; + /** + * The extensions protected settings that are passed by reference, and consumed from key vault + */ + protectedSettingsFromKeyVault?: pulumi.Input; + /** + * Collection of extension names after which this extension needs to be provisioned. + */ + provisionAfterExtensions?: pulumi.Input[]>; + /** + * The name of the extension handler publisher. + */ + publisher?: pulumi.Input; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Json formatted public settings for the extension. + */ + settings?: any; + /** + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + */ + suppressFailures?: pulumi.Input; + /** + * Specifies the type of the extension; an example is "CustomScriptExtension". + */ + type?: pulumi.Input; + /** + * Specifies the version of the script handler. + */ + typeHandlerVersion?: pulumi.Input; + /** + * The name of the virtual machine extension. + */ + vmExtensionName?: pulumi.Input; + /** + * The name of the VM scale set. + */ + vmScaleSetName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/v20230701/virtualMachineScaleSetVMRunCommand.ts b/sdk/nodejs/compute/v20230701/virtualMachineScaleSetVMRunCommand.ts new file mode 100644 index 000000000000..7ec5039ac7b4 --- /dev/null +++ b/sdk/nodejs/compute/v20230701/virtualMachineScaleSetVMRunCommand.ts @@ -0,0 +1,258 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Describes a Virtual Machine run command. + */ +export class VirtualMachineScaleSetVMRunCommand extends pulumi.CustomResource { + /** + * Get an existing VirtualMachineScaleSetVMRunCommand 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): VirtualMachineScaleSetVMRunCommand { + return new VirtualMachineScaleSetVMRunCommand(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand'; + + /** + * Returns true if the given object is an instance of VirtualMachineScaleSetVMRunCommand. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is VirtualMachineScaleSetVMRunCommand { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VirtualMachineScaleSetVMRunCommand.__pulumiType; + } + + /** + * Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + */ + public readonly asyncExecution!: pulumi.Output; + /** + * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + */ + public readonly errorBlobManagedIdentity!: pulumi.Output; + /** + * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + */ + public readonly errorBlobUri!: pulumi.Output; + /** + * The virtual machine run command instance view. + */ + public /*out*/ readonly instanceView!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + */ + public readonly outputBlobManagedIdentity!: pulumi.Output; + /** + * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + */ + public readonly outputBlobUri!: pulumi.Output; + /** + * The parameters used by the script. + */ + public readonly parameters!: pulumi.Output; + /** + * The parameters used by the script. + */ + public readonly protectedParameters!: pulumi.Output; + /** + * The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Specifies the user account password on the VM when executing the run command. + */ + public readonly runAsPassword!: pulumi.Output; + /** + * Specifies the user account on the VM when executing the run command. + */ + public readonly runAsUser!: pulumi.Output; + /** + * The source of the run command script. + */ + public readonly source!: pulumi.Output; + /** + * Resource tags + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The timeout in seconds to execute the run command. + */ + public readonly timeoutInSeconds!: pulumi.Output; + /** + * Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + */ + public readonly treatFailureAsDeploymentFailure!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a VirtualMachineScaleSetVMRunCommand 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: VirtualMachineScaleSetVMRunCommandArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.instanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.vmScaleSetName === undefined) && !opts.urn) { + throw new Error("Missing required property 'vmScaleSetName'"); + } + resourceInputs["asyncExecution"] = (args ? args.asyncExecution : undefined) ?? false; + resourceInputs["errorBlobManagedIdentity"] = args ? args.errorBlobManagedIdentity : undefined; + resourceInputs["errorBlobUri"] = args ? args.errorBlobUri : undefined; + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["outputBlobManagedIdentity"] = args ? args.outputBlobManagedIdentity : undefined; + resourceInputs["outputBlobUri"] = args ? args.outputBlobUri : undefined; + resourceInputs["parameters"] = args ? args.parameters : undefined; + resourceInputs["protectedParameters"] = args ? args.protectedParameters : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["runAsPassword"] = args ? args.runAsPassword : undefined; + resourceInputs["runAsUser"] = args ? args.runAsUser : undefined; + resourceInputs["runCommandName"] = args ? args.runCommandName : undefined; + resourceInputs["source"] = args ? args.source : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeoutInSeconds"] = args ? args.timeoutInSeconds : undefined; + resourceInputs["treatFailureAsDeploymentFailure"] = (args ? args.treatFailureAsDeploymentFailure : undefined) ?? false; + resourceInputs["vmScaleSetName"] = args ? args.vmScaleSetName : undefined; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["asyncExecution"] = undefined /*out*/; + resourceInputs["errorBlobManagedIdentity"] = undefined /*out*/; + resourceInputs["errorBlobUri"] = undefined /*out*/; + resourceInputs["instanceView"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["outputBlobManagedIdentity"] = undefined /*out*/; + resourceInputs["outputBlobUri"] = undefined /*out*/; + resourceInputs["parameters"] = undefined /*out*/; + resourceInputs["protectedParameters"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["runAsPassword"] = undefined /*out*/; + resourceInputs["runAsUser"] = undefined /*out*/; + resourceInputs["source"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["timeoutInSeconds"] = undefined /*out*/; + resourceInputs["treatFailureAsDeploymentFailure"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:compute:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetVMRunCommand" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(VirtualMachineScaleSetVMRunCommand.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a VirtualMachineScaleSetVMRunCommand resource. + */ +export interface VirtualMachineScaleSetVMRunCommandArgs { + /** + * Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + */ + asyncExecution?: pulumi.Input; + /** + * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + */ + errorBlobManagedIdentity?: pulumi.Input; + /** + * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + */ + errorBlobUri?: pulumi.Input; + /** + * The instance ID of the virtual machine. + */ + instanceId: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + */ + outputBlobManagedIdentity?: pulumi.Input; + /** + * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + */ + outputBlobUri?: pulumi.Input; + /** + * The parameters used by the script. + */ + parameters?: pulumi.Input[]>; + /** + * The parameters used by the script. + */ + protectedParameters?: pulumi.Input[]>; + /** + * The name of the resource group. + */ + resourceGroupName: pulumi.Input; + /** + * Specifies the user account password on the VM when executing the run command. + */ + runAsPassword?: pulumi.Input; + /** + * Specifies the user account on the VM when executing the run command. + */ + runAsUser?: pulumi.Input; + /** + * The name of the virtual machine run command. + */ + runCommandName?: pulumi.Input; + /** + * The source of the run command script. + */ + source?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The timeout in seconds to execute the run command. + */ + timeoutInSeconds?: pulumi.Input; + /** + * Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + */ + treatFailureAsDeploymentFailure?: pulumi.Input; + /** + * The name of the VM scale set. + */ + vmScaleSetName: pulumi.Input; +} diff --git a/sdk/nodejs/compute/virtualMachine.ts b/sdk/nodejs/compute/virtualMachine.ts index 65a543df14d2..1f486dd8d1e2 100644 --- a/sdk/nodejs/compute/virtualMachine.ts +++ b/sdk/nodejs/compute/virtualMachine.ts @@ -268,7 +268,7 @@ export class VirtualMachine extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20150615:VirtualMachine" }, { type: "azure-native:compute/v20160330:VirtualMachine" }, { type: "azure-native:compute/v20160430preview:VirtualMachine" }, { type: "azure-native:compute/v20170330:VirtualMachine" }, { type: "azure-native:compute/v20171201:VirtualMachine" }, { type: "azure-native:compute/v20180401:VirtualMachine" }, { type: "azure-native:compute/v20180601:VirtualMachine" }, { type: "azure-native:compute/v20181001:VirtualMachine" }, { type: "azure-native:compute/v20190301:VirtualMachine" }, { type: "azure-native:compute/v20190701:VirtualMachine" }, { type: "azure-native:compute/v20191201:VirtualMachine" }, { type: "azure-native:compute/v20200601:VirtualMachine" }, { type: "azure-native:compute/v20201201:VirtualMachine" }, { type: "azure-native:compute/v20210301:VirtualMachine" }, { type: "azure-native:compute/v20210401:VirtualMachine" }, { type: "azure-native:compute/v20210701:VirtualMachine" }, { type: "azure-native:compute/v20211101:VirtualMachine" }, { type: "azure-native:compute/v20220301:VirtualMachine" }, { type: "azure-native:compute/v20220801:VirtualMachine" }, { type: "azure-native:compute/v20221101:VirtualMachine" }, { type: "azure-native:compute/v20230301:VirtualMachine" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20150615:VirtualMachine" }, { type: "azure-native:compute/v20160330:VirtualMachine" }, { type: "azure-native:compute/v20160430preview:VirtualMachine" }, { type: "azure-native:compute/v20170330:VirtualMachine" }, { type: "azure-native:compute/v20171201:VirtualMachine" }, { type: "azure-native:compute/v20180401:VirtualMachine" }, { type: "azure-native:compute/v20180601:VirtualMachine" }, { type: "azure-native:compute/v20181001:VirtualMachine" }, { type: "azure-native:compute/v20190301:VirtualMachine" }, { type: "azure-native:compute/v20190701:VirtualMachine" }, { type: "azure-native:compute/v20191201:VirtualMachine" }, { type: "azure-native:compute/v20200601:VirtualMachine" }, { type: "azure-native:compute/v20201201:VirtualMachine" }, { type: "azure-native:compute/v20210301:VirtualMachine" }, { type: "azure-native:compute/v20210401:VirtualMachine" }, { type: "azure-native:compute/v20210701:VirtualMachine" }, { type: "azure-native:compute/v20211101:VirtualMachine" }, { type: "azure-native:compute/v20220301:VirtualMachine" }, { type: "azure-native:compute/v20220801:VirtualMachine" }, { type: "azure-native:compute/v20221101:VirtualMachine" }, { type: "azure-native:compute/v20230301:VirtualMachine" }, { type: "azure-native:compute/v20230701:VirtualMachine" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachine.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/virtualMachineExtension.ts b/sdk/nodejs/compute/virtualMachineExtension.ts index f5cc26346ba6..38fe28770b57 100644 --- a/sdk/nodejs/compute/virtualMachineExtension.ts +++ b/sdk/nodejs/compute/virtualMachineExtension.ts @@ -158,7 +158,7 @@ export class VirtualMachineExtension extends pulumi.CustomResource { resourceInputs["typeHandlerVersion"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20150615:VirtualMachineExtension" }, { type: "azure-native:compute/v20160330:VirtualMachineExtension" }, { type: "azure-native:compute/v20160430preview:VirtualMachineExtension" }, { type: "azure-native:compute/v20170330:VirtualMachineExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20150615:VirtualMachineExtension" }, { type: "azure-native:compute/v20160330:VirtualMachineExtension" }, { type: "azure-native:compute/v20160430preview:VirtualMachineExtension" }, { type: "azure-native:compute/v20170330:VirtualMachineExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineExtension" }, { type: "azure-native:compute/v20230701:VirtualMachineExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/virtualMachineRunCommandByVirtualMachine.ts b/sdk/nodejs/compute/virtualMachineRunCommandByVirtualMachine.ts index da558b60e498..9b2b337d5f92 100644 --- a/sdk/nodejs/compute/virtualMachineRunCommandByVirtualMachine.ts +++ b/sdk/nodejs/compute/virtualMachineRunCommandByVirtualMachine.ts @@ -170,7 +170,7 @@ export class VirtualMachineRunCommandByVirtualMachine extends pulumi.CustomResou resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20200601:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20201201:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210301:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210401:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210701:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20211101:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20220301:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20230301:VirtualMachineRunCommandByVirtualMachine" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20200601:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20201201:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210301:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210401:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20210701:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20211101:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20220301:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20230301:VirtualMachineRunCommandByVirtualMachine" }, { type: "azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineRunCommandByVirtualMachine.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/virtualMachineScaleSet.ts b/sdk/nodejs/compute/virtualMachineScaleSet.ts index 22c39eac30f4..6c38616880bd 100644 --- a/sdk/nodejs/compute/virtualMachineScaleSet.ts +++ b/sdk/nodejs/compute/virtualMachineScaleSet.ts @@ -226,7 +226,7 @@ export class VirtualMachineScaleSet extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20150615:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20160330:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20160430preview:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20170330:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSet" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20150615:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20160330:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20160430preview:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20170330:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSet" }, { type: "azure-native:compute/v20230701:VirtualMachineScaleSet" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineScaleSet.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/virtualMachineScaleSetExtension.ts b/sdk/nodejs/compute/virtualMachineScaleSetExtension.ts index 05c0b248713c..c4e373c38331 100644 --- a/sdk/nodejs/compute/virtualMachineScaleSetExtension.ts +++ b/sdk/nodejs/compute/virtualMachineScaleSetExtension.ts @@ -140,7 +140,7 @@ export class VirtualMachineScaleSetExtension extends pulumi.CustomResource { resourceInputs["typeHandlerVersion"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20170330:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20170330:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20171201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetExtension" }, { type: "azure-native:compute/v20230701:VirtualMachineScaleSetExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineScaleSetExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/virtualMachineScaleSetVM.ts b/sdk/nodejs/compute/virtualMachineScaleSetVM.ts index 270c3eb4fa31..de12e72c8c79 100644 --- a/sdk/nodejs/compute/virtualMachineScaleSetVM.ts +++ b/sdk/nodejs/compute/virtualMachineScaleSetVM.ts @@ -223,7 +223,7 @@ export class VirtualMachineScaleSetVM extends pulumi.CustomResource { resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20171201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetVM" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20171201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20180401:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20180601:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20181001:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20190301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20190701:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetVM" }, { type: "azure-native:compute/v20230701:VirtualMachineScaleSetVM" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineScaleSetVM.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/virtualMachineScaleSetVMExtension.ts b/sdk/nodejs/compute/virtualMachineScaleSetVMExtension.ts index 6f91f0412bf9..e1981104c730 100644 --- a/sdk/nodejs/compute/virtualMachineScaleSetVMExtension.ts +++ b/sdk/nodejs/compute/virtualMachineScaleSetVMExtension.ts @@ -156,7 +156,7 @@ export class VirtualMachineScaleSetVMExtension extends pulumi.CustomResource { resourceInputs["typeHandlerVersion"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension" }, { type: "azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineScaleSetVMExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/compute/virtualMachineScaleSetVMRunCommand.ts b/sdk/nodejs/compute/virtualMachineScaleSetVMRunCommand.ts index 909deab5e23d..a2ea82fed26d 100644 --- a/sdk/nodejs/compute/virtualMachineScaleSetVMRunCommand.ts +++ b/sdk/nodejs/compute/virtualMachineScaleSetVMRunCommand.ts @@ -174,7 +174,7 @@ export class VirtualMachineScaleSetVMRunCommand extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:compute/v20200601:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetVMRunCommand" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:compute/v20200601:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20201201:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210301:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210401:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20210701:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20211101:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20220301:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20230301:VirtualMachineScaleSetVMRunCommand" }, { type: "azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(VirtualMachineScaleSetVMRunCommand.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/agentPool.ts b/sdk/nodejs/containerservice/agentPool.ts index b8079296691b..3d898df07f73 100644 --- a/sdk/nodejs/containerservice/agentPool.ts +++ b/sdk/nodejs/containerservice/agentPool.ts @@ -314,7 +314,7 @@ export class AgentPool extends pulumi.CustomResource { resourceInputs["workloadRuntime"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }, { type: "azure-native:containerservice/v20230701:AgentPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(AgentPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/index.ts b/sdk/nodejs/containerservice/index.ts index 6a91c3d4cbc7..0359570eea3e 100644 --- a/sdk/nodejs/containerservice/index.ts +++ b/sdk/nodejs/containerservice/index.ts @@ -159,6 +159,7 @@ import * as v20230401 from "./v20230401"; import * as v20230502preview from "./v20230502preview"; import * as v20230601 from "./v20230601"; import * as v20230602preview from "./v20230602preview"; +import * as v20230701 from "./v20230701"; export { v20190601, @@ -175,6 +176,7 @@ export { v20230502preview, v20230601, v20230602preview, + v20230701, }; const _module = { diff --git a/sdk/nodejs/containerservice/maintenanceConfiguration.ts b/sdk/nodejs/containerservice/maintenanceConfiguration.ts index 401bcd64d149..b869e931c5e0 100644 --- a/sdk/nodejs/containerservice/maintenanceConfiguration.ts +++ b/sdk/nodejs/containerservice/maintenanceConfiguration.ts @@ -92,7 +92,7 @@ export class MaintenanceConfiguration extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice/v20201201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210801:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211001:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211101preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220702preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220802preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220803preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220902preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221002preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230602preview:MaintenanceConfiguration" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice/v20201201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210801:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211001:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211101preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220702preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220802preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220803preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220902preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221002preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230701:MaintenanceConfiguration" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(MaintenanceConfiguration.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/managedCluster.ts b/sdk/nodejs/containerservice/managedCluster.ts index 70667ca7d8ae..cfc0f061d1d3 100644 --- a/sdk/nodejs/containerservice/managedCluster.ts +++ b/sdk/nodejs/containerservice/managedCluster.ts @@ -322,7 +322,7 @@ export class ManagedCluster extends pulumi.CustomResource { resourceInputs["workloadAutoScalerProfile"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230701:ManagedCluster" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ManagedCluster.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/privateEndpointConnection.ts b/sdk/nodejs/containerservice/privateEndpointConnection.ts index 01dc3551ef7e..aed622165ec6 100644 --- a/sdk/nodejs/containerservice/privateEndpointConnection.ts +++ b/sdk/nodejs/containerservice/privateEndpointConnection.ts @@ -95,7 +95,7 @@ export class PrivateEndpointConnection extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice/v20200601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210801:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211001:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211101preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220702preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220802preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220803preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220902preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221002preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230602preview:PrivateEndpointConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice/v20200601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210801:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211001:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211101preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220702preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220802preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220803preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220902preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221002preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230701:PrivateEndpointConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/snapshot.ts b/sdk/nodejs/containerservice/snapshot.ts index 490fb05d47c8..61be714a4f02 100644 --- a/sdk/nodejs/containerservice/snapshot.ts +++ b/sdk/nodejs/containerservice/snapshot.ts @@ -136,7 +136,7 @@ export class Snapshot extends pulumi.CustomResource { resourceInputs["vmSize"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice/v20210801:Snapshot" }, { type: "azure-native:containerservice/v20210901:Snapshot" }, { type: "azure-native:containerservice/v20211001:Snapshot" }, { type: "azure-native:containerservice/v20211101preview:Snapshot" }, { type: "azure-native:containerservice/v20220101:Snapshot" }, { type: "azure-native:containerservice/v20220102preview:Snapshot" }, { type: "azure-native:containerservice/v20220201:Snapshot" }, { type: "azure-native:containerservice/v20220202preview:Snapshot" }, { type: "azure-native:containerservice/v20220301:Snapshot" }, { type: "azure-native:containerservice/v20220302preview:Snapshot" }, { type: "azure-native:containerservice/v20220401:Snapshot" }, { type: "azure-native:containerservice/v20220402preview:Snapshot" }, { type: "azure-native:containerservice/v20220502preview:Snapshot" }, { type: "azure-native:containerservice/v20220601:Snapshot" }, { type: "azure-native:containerservice/v20220602preview:Snapshot" }, { type: "azure-native:containerservice/v20220701:Snapshot" }, { type: "azure-native:containerservice/v20220702preview:Snapshot" }, { type: "azure-native:containerservice/v20220802preview:Snapshot" }, { type: "azure-native:containerservice/v20220803preview:Snapshot" }, { type: "azure-native:containerservice/v20220901:Snapshot" }, { type: "azure-native:containerservice/v20220902preview:Snapshot" }, { type: "azure-native:containerservice/v20221002preview:Snapshot" }, { type: "azure-native:containerservice/v20221101:Snapshot" }, { type: "azure-native:containerservice/v20221102preview:Snapshot" }, { type: "azure-native:containerservice/v20230101:Snapshot" }, { type: "azure-native:containerservice/v20230102preview:Snapshot" }, { type: "azure-native:containerservice/v20230201:Snapshot" }, { type: "azure-native:containerservice/v20230202preview:Snapshot" }, { type: "azure-native:containerservice/v20230301:Snapshot" }, { type: "azure-native:containerservice/v20230302preview:Snapshot" }, { type: "azure-native:containerservice/v20230401:Snapshot" }, { type: "azure-native:containerservice/v20230402preview:Snapshot" }, { type: "azure-native:containerservice/v20230501:Snapshot" }, { type: "azure-native:containerservice/v20230502preview:Snapshot" }, { type: "azure-native:containerservice/v20230601:Snapshot" }, { type: "azure-native:containerservice/v20230602preview:Snapshot" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice/v20210801:Snapshot" }, { type: "azure-native:containerservice/v20210901:Snapshot" }, { type: "azure-native:containerservice/v20211001:Snapshot" }, { type: "azure-native:containerservice/v20211101preview:Snapshot" }, { type: "azure-native:containerservice/v20220101:Snapshot" }, { type: "azure-native:containerservice/v20220102preview:Snapshot" }, { type: "azure-native:containerservice/v20220201:Snapshot" }, { type: "azure-native:containerservice/v20220202preview:Snapshot" }, { type: "azure-native:containerservice/v20220301:Snapshot" }, { type: "azure-native:containerservice/v20220302preview:Snapshot" }, { type: "azure-native:containerservice/v20220401:Snapshot" }, { type: "azure-native:containerservice/v20220402preview:Snapshot" }, { type: "azure-native:containerservice/v20220502preview:Snapshot" }, { type: "azure-native:containerservice/v20220601:Snapshot" }, { type: "azure-native:containerservice/v20220602preview:Snapshot" }, { type: "azure-native:containerservice/v20220701:Snapshot" }, { type: "azure-native:containerservice/v20220702preview:Snapshot" }, { type: "azure-native:containerservice/v20220802preview:Snapshot" }, { type: "azure-native:containerservice/v20220803preview:Snapshot" }, { type: "azure-native:containerservice/v20220901:Snapshot" }, { type: "azure-native:containerservice/v20220902preview:Snapshot" }, { type: "azure-native:containerservice/v20221002preview:Snapshot" }, { type: "azure-native:containerservice/v20221101:Snapshot" }, { type: "azure-native:containerservice/v20221102preview:Snapshot" }, { type: "azure-native:containerservice/v20230101:Snapshot" }, { type: "azure-native:containerservice/v20230102preview:Snapshot" }, { type: "azure-native:containerservice/v20230201:Snapshot" }, { type: "azure-native:containerservice/v20230202preview:Snapshot" }, { type: "azure-native:containerservice/v20230301:Snapshot" }, { type: "azure-native:containerservice/v20230302preview:Snapshot" }, { type: "azure-native:containerservice/v20230401:Snapshot" }, { type: "azure-native:containerservice/v20230402preview:Snapshot" }, { type: "azure-native:containerservice/v20230501:Snapshot" }, { type: "azure-native:containerservice/v20230502preview:Snapshot" }, { type: "azure-native:containerservice/v20230601:Snapshot" }, { type: "azure-native:containerservice/v20230602preview:Snapshot" }, { type: "azure-native:containerservice/v20230701:Snapshot" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Snapshot.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20190601/managedCluster.ts b/sdk/nodejs/containerservice/v20190601/managedCluster.ts index 3b889830dc4a..88131907b164 100644 --- a/sdk/nodejs/containerservice/v20190601/managedCluster.ts +++ b/sdk/nodejs/containerservice/v20190601/managedCluster.ts @@ -183,7 +183,7 @@ export class ManagedCluster extends pulumi.CustomResource { resourceInputs["windowsProfile"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230701:ManagedCluster" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ManagedCluster.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20200601/agentPool.ts b/sdk/nodejs/containerservice/v20200601/agentPool.ts index 72dae001fb89..aeb2a32e8fbe 100644 --- a/sdk/nodejs/containerservice/v20200601/agentPool.ts +++ b/sdk/nodejs/containerservice/v20200601/agentPool.ts @@ -211,7 +211,7 @@ export class AgentPool extends pulumi.CustomResource { resourceInputs["vnetSubnetID"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }, { type: "azure-native:containerservice/v20230701:AgentPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(AgentPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20210201/agentPool.ts b/sdk/nodejs/containerservice/v20210201/agentPool.ts index c2f96cc9c665..2b35821eca35 100644 --- a/sdk/nodejs/containerservice/v20210201/agentPool.ts +++ b/sdk/nodejs/containerservice/v20210201/agentPool.ts @@ -259,7 +259,7 @@ export class AgentPool extends pulumi.CustomResource { resourceInputs["vnetSubnetID"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }, { type: "azure-native:containerservice/v20230701:AgentPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(AgentPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20210501/managedCluster.ts b/sdk/nodejs/containerservice/v20210501/managedCluster.ts index c9dd75611a4f..268be7d997c9 100644 --- a/sdk/nodejs/containerservice/v20210501/managedCluster.ts +++ b/sdk/nodejs/containerservice/v20210501/managedCluster.ts @@ -267,7 +267,7 @@ export class ManagedCluster extends pulumi.CustomResource { resourceInputs["windowsProfile"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230701:ManagedCluster" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ManagedCluster.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20210801/agentPool.ts b/sdk/nodejs/containerservice/v20210801/agentPool.ts index b2c07e4f0f38..1b2d6deec46e 100644 --- a/sdk/nodejs/containerservice/v20210801/agentPool.ts +++ b/sdk/nodejs/containerservice/v20210801/agentPool.ts @@ -301,7 +301,7 @@ export class AgentPool extends pulumi.CustomResource { resourceInputs["workloadRuntime"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }, { type: "azure-native:containerservice/v20230701:AgentPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(AgentPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20220402preview/agentPool.ts b/sdk/nodejs/containerservice/v20220402preview/agentPool.ts index 15fd31166633..c71660bb08be 100644 --- a/sdk/nodejs/containerservice/v20220402preview/agentPool.ts +++ b/sdk/nodejs/containerservice/v20220402preview/agentPool.ts @@ -331,7 +331,7 @@ export class AgentPool extends pulumi.CustomResource { resourceInputs["workloadRuntime"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }, { type: "azure-native:containerservice/v20230701:AgentPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(AgentPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230401/agentPool.ts b/sdk/nodejs/containerservice/v20230401/agentPool.ts index caa3a7a0642d..5c9297804ad8 100644 --- a/sdk/nodejs/containerservice/v20230401/agentPool.ts +++ b/sdk/nodejs/containerservice/v20230401/agentPool.ts @@ -313,7 +313,7 @@ export class AgentPool extends pulumi.CustomResource { resourceInputs["workloadRuntime"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }, { type: "azure-native:containerservice/v20230701:AgentPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(AgentPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230401/maintenanceConfiguration.ts b/sdk/nodejs/containerservice/v20230401/maintenanceConfiguration.ts index 6d126c2c8ef2..ce0ee11e5caf 100644 --- a/sdk/nodejs/containerservice/v20230401/maintenanceConfiguration.ts +++ b/sdk/nodejs/containerservice/v20230401/maintenanceConfiguration.ts @@ -91,7 +91,7 @@ export class MaintenanceConfiguration extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20201201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210801:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211001:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211101preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220702preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220802preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220803preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220902preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221002preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230602preview:MaintenanceConfiguration" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20201201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210801:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211001:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211101preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220702preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220802preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220803preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220902preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221002preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230701:MaintenanceConfiguration" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(MaintenanceConfiguration.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230401/managedCluster.ts b/sdk/nodejs/containerservice/v20230401/managedCluster.ts index 300d4b9ba23e..c12eb87a2bff 100644 --- a/sdk/nodejs/containerservice/v20230401/managedCluster.ts +++ b/sdk/nodejs/containerservice/v20230401/managedCluster.ts @@ -321,7 +321,7 @@ export class ManagedCluster extends pulumi.CustomResource { resourceInputs["workloadAutoScalerProfile"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230701:ManagedCluster" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ManagedCluster.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230401/privateEndpointConnection.ts b/sdk/nodejs/containerservice/v20230401/privateEndpointConnection.ts index 824227594178..33631cd618f9 100644 --- a/sdk/nodejs/containerservice/v20230401/privateEndpointConnection.ts +++ b/sdk/nodejs/containerservice/v20230401/privateEndpointConnection.ts @@ -94,7 +94,7 @@ export class PrivateEndpointConnection extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210801:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211001:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211101preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220702preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220802preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220803preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220902preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221002preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230602preview:PrivateEndpointConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210801:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211001:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211101preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220702preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220802preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220803preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220902preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221002preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230701:PrivateEndpointConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230401/snapshot.ts b/sdk/nodejs/containerservice/v20230401/snapshot.ts index 8cacccc38147..7caa66c1188e 100644 --- a/sdk/nodejs/containerservice/v20230401/snapshot.ts +++ b/sdk/nodejs/containerservice/v20230401/snapshot.ts @@ -135,7 +135,7 @@ export class Snapshot extends pulumi.CustomResource { resourceInputs["vmSize"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:Snapshot" }, { type: "azure-native:containerservice/v20210801:Snapshot" }, { type: "azure-native:containerservice/v20210901:Snapshot" }, { type: "azure-native:containerservice/v20211001:Snapshot" }, { type: "azure-native:containerservice/v20211101preview:Snapshot" }, { type: "azure-native:containerservice/v20220101:Snapshot" }, { type: "azure-native:containerservice/v20220102preview:Snapshot" }, { type: "azure-native:containerservice/v20220201:Snapshot" }, { type: "azure-native:containerservice/v20220202preview:Snapshot" }, { type: "azure-native:containerservice/v20220301:Snapshot" }, { type: "azure-native:containerservice/v20220302preview:Snapshot" }, { type: "azure-native:containerservice/v20220401:Snapshot" }, { type: "azure-native:containerservice/v20220402preview:Snapshot" }, { type: "azure-native:containerservice/v20220502preview:Snapshot" }, { type: "azure-native:containerservice/v20220601:Snapshot" }, { type: "azure-native:containerservice/v20220602preview:Snapshot" }, { type: "azure-native:containerservice/v20220701:Snapshot" }, { type: "azure-native:containerservice/v20220702preview:Snapshot" }, { type: "azure-native:containerservice/v20220802preview:Snapshot" }, { type: "azure-native:containerservice/v20220803preview:Snapshot" }, { type: "azure-native:containerservice/v20220901:Snapshot" }, { type: "azure-native:containerservice/v20220902preview:Snapshot" }, { type: "azure-native:containerservice/v20221002preview:Snapshot" }, { type: "azure-native:containerservice/v20221101:Snapshot" }, { type: "azure-native:containerservice/v20221102preview:Snapshot" }, { type: "azure-native:containerservice/v20230101:Snapshot" }, { type: "azure-native:containerservice/v20230102preview:Snapshot" }, { type: "azure-native:containerservice/v20230201:Snapshot" }, { type: "azure-native:containerservice/v20230202preview:Snapshot" }, { type: "azure-native:containerservice/v20230301:Snapshot" }, { type: "azure-native:containerservice/v20230302preview:Snapshot" }, { type: "azure-native:containerservice/v20230402preview:Snapshot" }, { type: "azure-native:containerservice/v20230501:Snapshot" }, { type: "azure-native:containerservice/v20230502preview:Snapshot" }, { type: "azure-native:containerservice/v20230601:Snapshot" }, { type: "azure-native:containerservice/v20230602preview:Snapshot" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:Snapshot" }, { type: "azure-native:containerservice/v20210801:Snapshot" }, { type: "azure-native:containerservice/v20210901:Snapshot" }, { type: "azure-native:containerservice/v20211001:Snapshot" }, { type: "azure-native:containerservice/v20211101preview:Snapshot" }, { type: "azure-native:containerservice/v20220101:Snapshot" }, { type: "azure-native:containerservice/v20220102preview:Snapshot" }, { type: "azure-native:containerservice/v20220201:Snapshot" }, { type: "azure-native:containerservice/v20220202preview:Snapshot" }, { type: "azure-native:containerservice/v20220301:Snapshot" }, { type: "azure-native:containerservice/v20220302preview:Snapshot" }, { type: "azure-native:containerservice/v20220401:Snapshot" }, { type: "azure-native:containerservice/v20220402preview:Snapshot" }, { type: "azure-native:containerservice/v20220502preview:Snapshot" }, { type: "azure-native:containerservice/v20220601:Snapshot" }, { type: "azure-native:containerservice/v20220602preview:Snapshot" }, { type: "azure-native:containerservice/v20220701:Snapshot" }, { type: "azure-native:containerservice/v20220702preview:Snapshot" }, { type: "azure-native:containerservice/v20220802preview:Snapshot" }, { type: "azure-native:containerservice/v20220803preview:Snapshot" }, { type: "azure-native:containerservice/v20220901:Snapshot" }, { type: "azure-native:containerservice/v20220902preview:Snapshot" }, { type: "azure-native:containerservice/v20221002preview:Snapshot" }, { type: "azure-native:containerservice/v20221101:Snapshot" }, { type: "azure-native:containerservice/v20221102preview:Snapshot" }, { type: "azure-native:containerservice/v20230101:Snapshot" }, { type: "azure-native:containerservice/v20230102preview:Snapshot" }, { type: "azure-native:containerservice/v20230201:Snapshot" }, { type: "azure-native:containerservice/v20230202preview:Snapshot" }, { type: "azure-native:containerservice/v20230301:Snapshot" }, { type: "azure-native:containerservice/v20230302preview:Snapshot" }, { type: "azure-native:containerservice/v20230402preview:Snapshot" }, { type: "azure-native:containerservice/v20230501:Snapshot" }, { type: "azure-native:containerservice/v20230502preview:Snapshot" }, { type: "azure-native:containerservice/v20230601:Snapshot" }, { type: "azure-native:containerservice/v20230602preview:Snapshot" }, { type: "azure-native:containerservice/v20230701:Snapshot" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Snapshot.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230502preview/agentPool.ts b/sdk/nodejs/containerservice/v20230502preview/agentPool.ts index 005df126d558..b24216674152 100644 --- a/sdk/nodejs/containerservice/v20230502preview/agentPool.ts +++ b/sdk/nodejs/containerservice/v20230502preview/agentPool.ts @@ -343,7 +343,7 @@ export class AgentPool extends pulumi.CustomResource { resourceInputs["workloadRuntime"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }, { type: "azure-native:containerservice/v20230701:AgentPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(AgentPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230502preview/maintenanceConfiguration.ts b/sdk/nodejs/containerservice/v20230502preview/maintenanceConfiguration.ts index 20fd2286a30d..638bd3e2073f 100644 --- a/sdk/nodejs/containerservice/v20230502preview/maintenanceConfiguration.ts +++ b/sdk/nodejs/containerservice/v20230502preview/maintenanceConfiguration.ts @@ -97,7 +97,7 @@ export class MaintenanceConfiguration extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20201201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210801:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211001:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211101preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220702preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220802preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220803preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220902preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221002preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230602preview:MaintenanceConfiguration" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20201201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210801:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211001:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211101preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220702preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220802preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220803preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220902preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221002preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230701:MaintenanceConfiguration" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(MaintenanceConfiguration.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230502preview/managedCluster.ts b/sdk/nodejs/containerservice/v20230502preview/managedCluster.ts index 9eebfd545a57..f3efa9f6c0e2 100644 --- a/sdk/nodejs/containerservice/v20230502preview/managedCluster.ts +++ b/sdk/nodejs/containerservice/v20230502preview/managedCluster.ts @@ -363,7 +363,7 @@ export class ManagedCluster extends pulumi.CustomResource { resourceInputs["workloadAutoScalerProfile"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230701:ManagedCluster" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ManagedCluster.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230502preview/privateEndpointConnection.ts b/sdk/nodejs/containerservice/v20230502preview/privateEndpointConnection.ts index f54da16c7be9..02dd17054aea 100644 --- a/sdk/nodejs/containerservice/v20230502preview/privateEndpointConnection.ts +++ b/sdk/nodejs/containerservice/v20230502preview/privateEndpointConnection.ts @@ -94,7 +94,7 @@ export class PrivateEndpointConnection extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210801:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211001:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211101preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220702preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220802preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220803preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220902preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221002preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230602preview:PrivateEndpointConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210801:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211001:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211101preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220702preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220802preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220803preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220902preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221002preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230701:PrivateEndpointConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230502preview/snapshot.ts b/sdk/nodejs/containerservice/v20230502preview/snapshot.ts index 5c752d2078ae..8ecaa9649638 100644 --- a/sdk/nodejs/containerservice/v20230502preview/snapshot.ts +++ b/sdk/nodejs/containerservice/v20230502preview/snapshot.ts @@ -135,7 +135,7 @@ export class Snapshot extends pulumi.CustomResource { resourceInputs["vmSize"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:Snapshot" }, { type: "azure-native:containerservice/v20210801:Snapshot" }, { type: "azure-native:containerservice/v20210901:Snapshot" }, { type: "azure-native:containerservice/v20211001:Snapshot" }, { type: "azure-native:containerservice/v20211101preview:Snapshot" }, { type: "azure-native:containerservice/v20220101:Snapshot" }, { type: "azure-native:containerservice/v20220102preview:Snapshot" }, { type: "azure-native:containerservice/v20220201:Snapshot" }, { type: "azure-native:containerservice/v20220202preview:Snapshot" }, { type: "azure-native:containerservice/v20220301:Snapshot" }, { type: "azure-native:containerservice/v20220302preview:Snapshot" }, { type: "azure-native:containerservice/v20220401:Snapshot" }, { type: "azure-native:containerservice/v20220402preview:Snapshot" }, { type: "azure-native:containerservice/v20220502preview:Snapshot" }, { type: "azure-native:containerservice/v20220601:Snapshot" }, { type: "azure-native:containerservice/v20220602preview:Snapshot" }, { type: "azure-native:containerservice/v20220701:Snapshot" }, { type: "azure-native:containerservice/v20220702preview:Snapshot" }, { type: "azure-native:containerservice/v20220802preview:Snapshot" }, { type: "azure-native:containerservice/v20220803preview:Snapshot" }, { type: "azure-native:containerservice/v20220901:Snapshot" }, { type: "azure-native:containerservice/v20220902preview:Snapshot" }, { type: "azure-native:containerservice/v20221002preview:Snapshot" }, { type: "azure-native:containerservice/v20221101:Snapshot" }, { type: "azure-native:containerservice/v20221102preview:Snapshot" }, { type: "azure-native:containerservice/v20230101:Snapshot" }, { type: "azure-native:containerservice/v20230102preview:Snapshot" }, { type: "azure-native:containerservice/v20230201:Snapshot" }, { type: "azure-native:containerservice/v20230202preview:Snapshot" }, { type: "azure-native:containerservice/v20230301:Snapshot" }, { type: "azure-native:containerservice/v20230302preview:Snapshot" }, { type: "azure-native:containerservice/v20230401:Snapshot" }, { type: "azure-native:containerservice/v20230402preview:Snapshot" }, { type: "azure-native:containerservice/v20230501:Snapshot" }, { type: "azure-native:containerservice/v20230601:Snapshot" }, { type: "azure-native:containerservice/v20230602preview:Snapshot" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:Snapshot" }, { type: "azure-native:containerservice/v20210801:Snapshot" }, { type: "azure-native:containerservice/v20210901:Snapshot" }, { type: "azure-native:containerservice/v20211001:Snapshot" }, { type: "azure-native:containerservice/v20211101preview:Snapshot" }, { type: "azure-native:containerservice/v20220101:Snapshot" }, { type: "azure-native:containerservice/v20220102preview:Snapshot" }, { type: "azure-native:containerservice/v20220201:Snapshot" }, { type: "azure-native:containerservice/v20220202preview:Snapshot" }, { type: "azure-native:containerservice/v20220301:Snapshot" }, { type: "azure-native:containerservice/v20220302preview:Snapshot" }, { type: "azure-native:containerservice/v20220401:Snapshot" }, { type: "azure-native:containerservice/v20220402preview:Snapshot" }, { type: "azure-native:containerservice/v20220502preview:Snapshot" }, { type: "azure-native:containerservice/v20220601:Snapshot" }, { type: "azure-native:containerservice/v20220602preview:Snapshot" }, { type: "azure-native:containerservice/v20220701:Snapshot" }, { type: "azure-native:containerservice/v20220702preview:Snapshot" }, { type: "azure-native:containerservice/v20220802preview:Snapshot" }, { type: "azure-native:containerservice/v20220803preview:Snapshot" }, { type: "azure-native:containerservice/v20220901:Snapshot" }, { type: "azure-native:containerservice/v20220902preview:Snapshot" }, { type: "azure-native:containerservice/v20221002preview:Snapshot" }, { type: "azure-native:containerservice/v20221101:Snapshot" }, { type: "azure-native:containerservice/v20221102preview:Snapshot" }, { type: "azure-native:containerservice/v20230101:Snapshot" }, { type: "azure-native:containerservice/v20230102preview:Snapshot" }, { type: "azure-native:containerservice/v20230201:Snapshot" }, { type: "azure-native:containerservice/v20230202preview:Snapshot" }, { type: "azure-native:containerservice/v20230301:Snapshot" }, { type: "azure-native:containerservice/v20230302preview:Snapshot" }, { type: "azure-native:containerservice/v20230401:Snapshot" }, { type: "azure-native:containerservice/v20230402preview:Snapshot" }, { type: "azure-native:containerservice/v20230501:Snapshot" }, { type: "azure-native:containerservice/v20230601:Snapshot" }, { type: "azure-native:containerservice/v20230602preview:Snapshot" }, { type: "azure-native:containerservice/v20230701:Snapshot" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Snapshot.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230601/agentPool.ts b/sdk/nodejs/containerservice/v20230601/agentPool.ts index 38acb9982408..8034f1d49c64 100644 --- a/sdk/nodejs/containerservice/v20230601/agentPool.ts +++ b/sdk/nodejs/containerservice/v20230601/agentPool.ts @@ -313,7 +313,7 @@ export class AgentPool extends pulumi.CustomResource { resourceInputs["workloadRuntime"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }, { type: "azure-native:containerservice/v20230701:AgentPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(AgentPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230601/maintenanceConfiguration.ts b/sdk/nodejs/containerservice/v20230601/maintenanceConfiguration.ts index 1039a459a683..3bce87fa1177 100644 --- a/sdk/nodejs/containerservice/v20230601/maintenanceConfiguration.ts +++ b/sdk/nodejs/containerservice/v20230601/maintenanceConfiguration.ts @@ -97,7 +97,7 @@ export class MaintenanceConfiguration extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20201201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210801:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211001:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211101preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220702preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220802preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220803preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220902preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221002preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230602preview:MaintenanceConfiguration" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20201201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210801:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211001:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211101preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220702preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220802preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220803preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220902preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221002preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230701:MaintenanceConfiguration" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(MaintenanceConfiguration.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230601/managedCluster.ts b/sdk/nodejs/containerservice/v20230601/managedCluster.ts index 962643994314..475ca3b79958 100644 --- a/sdk/nodejs/containerservice/v20230601/managedCluster.ts +++ b/sdk/nodejs/containerservice/v20230601/managedCluster.ts @@ -321,7 +321,7 @@ export class ManagedCluster extends pulumi.CustomResource { resourceInputs["workloadAutoScalerProfile"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230701:ManagedCluster" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ManagedCluster.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230601/privateEndpointConnection.ts b/sdk/nodejs/containerservice/v20230601/privateEndpointConnection.ts index e380d9123be4..2e91a527a63b 100644 --- a/sdk/nodejs/containerservice/v20230601/privateEndpointConnection.ts +++ b/sdk/nodejs/containerservice/v20230601/privateEndpointConnection.ts @@ -94,7 +94,7 @@ export class PrivateEndpointConnection extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210801:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211001:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211101preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220702preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220802preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220803preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220902preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221002preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230602preview:PrivateEndpointConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210801:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211001:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211101preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220702preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220802preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220803preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220902preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221002preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230701:PrivateEndpointConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230601/snapshot.ts b/sdk/nodejs/containerservice/v20230601/snapshot.ts index 1cc9452e3b0d..ddb03e0f6c58 100644 --- a/sdk/nodejs/containerservice/v20230601/snapshot.ts +++ b/sdk/nodejs/containerservice/v20230601/snapshot.ts @@ -135,7 +135,7 @@ export class Snapshot extends pulumi.CustomResource { resourceInputs["vmSize"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:Snapshot" }, { type: "azure-native:containerservice/v20210801:Snapshot" }, { type: "azure-native:containerservice/v20210901:Snapshot" }, { type: "azure-native:containerservice/v20211001:Snapshot" }, { type: "azure-native:containerservice/v20211101preview:Snapshot" }, { type: "azure-native:containerservice/v20220101:Snapshot" }, { type: "azure-native:containerservice/v20220102preview:Snapshot" }, { type: "azure-native:containerservice/v20220201:Snapshot" }, { type: "azure-native:containerservice/v20220202preview:Snapshot" }, { type: "azure-native:containerservice/v20220301:Snapshot" }, { type: "azure-native:containerservice/v20220302preview:Snapshot" }, { type: "azure-native:containerservice/v20220401:Snapshot" }, { type: "azure-native:containerservice/v20220402preview:Snapshot" }, { type: "azure-native:containerservice/v20220502preview:Snapshot" }, { type: "azure-native:containerservice/v20220601:Snapshot" }, { type: "azure-native:containerservice/v20220602preview:Snapshot" }, { type: "azure-native:containerservice/v20220701:Snapshot" }, { type: "azure-native:containerservice/v20220702preview:Snapshot" }, { type: "azure-native:containerservice/v20220802preview:Snapshot" }, { type: "azure-native:containerservice/v20220803preview:Snapshot" }, { type: "azure-native:containerservice/v20220901:Snapshot" }, { type: "azure-native:containerservice/v20220902preview:Snapshot" }, { type: "azure-native:containerservice/v20221002preview:Snapshot" }, { type: "azure-native:containerservice/v20221101:Snapshot" }, { type: "azure-native:containerservice/v20221102preview:Snapshot" }, { type: "azure-native:containerservice/v20230101:Snapshot" }, { type: "azure-native:containerservice/v20230102preview:Snapshot" }, { type: "azure-native:containerservice/v20230201:Snapshot" }, { type: "azure-native:containerservice/v20230202preview:Snapshot" }, { type: "azure-native:containerservice/v20230301:Snapshot" }, { type: "azure-native:containerservice/v20230302preview:Snapshot" }, { type: "azure-native:containerservice/v20230401:Snapshot" }, { type: "azure-native:containerservice/v20230402preview:Snapshot" }, { type: "azure-native:containerservice/v20230501:Snapshot" }, { type: "azure-native:containerservice/v20230502preview:Snapshot" }, { type: "azure-native:containerservice/v20230602preview:Snapshot" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:Snapshot" }, { type: "azure-native:containerservice/v20210801:Snapshot" }, { type: "azure-native:containerservice/v20210901:Snapshot" }, { type: "azure-native:containerservice/v20211001:Snapshot" }, { type: "azure-native:containerservice/v20211101preview:Snapshot" }, { type: "azure-native:containerservice/v20220101:Snapshot" }, { type: "azure-native:containerservice/v20220102preview:Snapshot" }, { type: "azure-native:containerservice/v20220201:Snapshot" }, { type: "azure-native:containerservice/v20220202preview:Snapshot" }, { type: "azure-native:containerservice/v20220301:Snapshot" }, { type: "azure-native:containerservice/v20220302preview:Snapshot" }, { type: "azure-native:containerservice/v20220401:Snapshot" }, { type: "azure-native:containerservice/v20220402preview:Snapshot" }, { type: "azure-native:containerservice/v20220502preview:Snapshot" }, { type: "azure-native:containerservice/v20220601:Snapshot" }, { type: "azure-native:containerservice/v20220602preview:Snapshot" }, { type: "azure-native:containerservice/v20220701:Snapshot" }, { type: "azure-native:containerservice/v20220702preview:Snapshot" }, { type: "azure-native:containerservice/v20220802preview:Snapshot" }, { type: "azure-native:containerservice/v20220803preview:Snapshot" }, { type: "azure-native:containerservice/v20220901:Snapshot" }, { type: "azure-native:containerservice/v20220902preview:Snapshot" }, { type: "azure-native:containerservice/v20221002preview:Snapshot" }, { type: "azure-native:containerservice/v20221101:Snapshot" }, { type: "azure-native:containerservice/v20221102preview:Snapshot" }, { type: "azure-native:containerservice/v20230101:Snapshot" }, { type: "azure-native:containerservice/v20230102preview:Snapshot" }, { type: "azure-native:containerservice/v20230201:Snapshot" }, { type: "azure-native:containerservice/v20230202preview:Snapshot" }, { type: "azure-native:containerservice/v20230301:Snapshot" }, { type: "azure-native:containerservice/v20230302preview:Snapshot" }, { type: "azure-native:containerservice/v20230401:Snapshot" }, { type: "azure-native:containerservice/v20230402preview:Snapshot" }, { type: "azure-native:containerservice/v20230501:Snapshot" }, { type: "azure-native:containerservice/v20230502preview:Snapshot" }, { type: "azure-native:containerservice/v20230602preview:Snapshot" }, { type: "azure-native:containerservice/v20230701:Snapshot" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Snapshot.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230602preview/agentPool.ts b/sdk/nodejs/containerservice/v20230602preview/agentPool.ts index e0b6a9fb08b2..3e000c64f480 100644 --- a/sdk/nodejs/containerservice/v20230602preview/agentPool.ts +++ b/sdk/nodejs/containerservice/v20230602preview/agentPool.ts @@ -349,7 +349,7 @@ export class AgentPool extends pulumi.CustomResource { resourceInputs["workloadRuntime"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230701:AgentPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(AgentPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230602preview/maintenanceConfiguration.ts b/sdk/nodejs/containerservice/v20230602preview/maintenanceConfiguration.ts index 9fec19268208..5ddbdb9ffa04 100644 --- a/sdk/nodejs/containerservice/v20230602preview/maintenanceConfiguration.ts +++ b/sdk/nodejs/containerservice/v20230602preview/maintenanceConfiguration.ts @@ -97,7 +97,7 @@ export class MaintenanceConfiguration extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20201201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210801:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211001:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211101preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220702preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220802preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220803preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220902preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221002preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230601:MaintenanceConfiguration" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20201201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210801:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211001:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211101preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220702preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220802preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220803preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220902preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221002preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230701:MaintenanceConfiguration" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(MaintenanceConfiguration.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230602preview/managedCluster.ts b/sdk/nodejs/containerservice/v20230602preview/managedCluster.ts index 4049c5ad3a71..9f20c07801f3 100644 --- a/sdk/nodejs/containerservice/v20230602preview/managedCluster.ts +++ b/sdk/nodejs/containerservice/v20230602preview/managedCluster.ts @@ -363,7 +363,7 @@ export class ManagedCluster extends pulumi.CustomResource { resourceInputs["workloadAutoScalerProfile"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }, { type: "azure-native:containerservice/v20230701:ManagedCluster" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ManagedCluster.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230602preview/privateEndpointConnection.ts b/sdk/nodejs/containerservice/v20230602preview/privateEndpointConnection.ts index 36b6e1df361e..b51308d9cfcb 100644 --- a/sdk/nodejs/containerservice/v20230602preview/privateEndpointConnection.ts +++ b/sdk/nodejs/containerservice/v20230602preview/privateEndpointConnection.ts @@ -94,7 +94,7 @@ export class PrivateEndpointConnection extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210801:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211001:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211101preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220702preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220802preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220803preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220902preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221002preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230601:PrivateEndpointConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210801:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211001:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211101preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220702preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220802preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220803preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220902preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221002preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230701:PrivateEndpointConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230602preview/snapshot.ts b/sdk/nodejs/containerservice/v20230602preview/snapshot.ts index 2db5d3b8439c..0f6e0635d340 100644 --- a/sdk/nodejs/containerservice/v20230602preview/snapshot.ts +++ b/sdk/nodejs/containerservice/v20230602preview/snapshot.ts @@ -135,7 +135,7 @@ export class Snapshot extends pulumi.CustomResource { resourceInputs["vmSize"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerservice:Snapshot" }, { type: "azure-native:containerservice/v20210801:Snapshot" }, { type: "azure-native:containerservice/v20210901:Snapshot" }, { type: "azure-native:containerservice/v20211001:Snapshot" }, { type: "azure-native:containerservice/v20211101preview:Snapshot" }, { type: "azure-native:containerservice/v20220101:Snapshot" }, { type: "azure-native:containerservice/v20220102preview:Snapshot" }, { type: "azure-native:containerservice/v20220201:Snapshot" }, { type: "azure-native:containerservice/v20220202preview:Snapshot" }, { type: "azure-native:containerservice/v20220301:Snapshot" }, { type: "azure-native:containerservice/v20220302preview:Snapshot" }, { type: "azure-native:containerservice/v20220401:Snapshot" }, { type: "azure-native:containerservice/v20220402preview:Snapshot" }, { type: "azure-native:containerservice/v20220502preview:Snapshot" }, { type: "azure-native:containerservice/v20220601:Snapshot" }, { type: "azure-native:containerservice/v20220602preview:Snapshot" }, { type: "azure-native:containerservice/v20220701:Snapshot" }, { type: "azure-native:containerservice/v20220702preview:Snapshot" }, { type: "azure-native:containerservice/v20220802preview:Snapshot" }, { type: "azure-native:containerservice/v20220803preview:Snapshot" }, { type: "azure-native:containerservice/v20220901:Snapshot" }, { type: "azure-native:containerservice/v20220902preview:Snapshot" }, { type: "azure-native:containerservice/v20221002preview:Snapshot" }, { type: "azure-native:containerservice/v20221101:Snapshot" }, { type: "azure-native:containerservice/v20221102preview:Snapshot" }, { type: "azure-native:containerservice/v20230101:Snapshot" }, { type: "azure-native:containerservice/v20230102preview:Snapshot" }, { type: "azure-native:containerservice/v20230201:Snapshot" }, { type: "azure-native:containerservice/v20230202preview:Snapshot" }, { type: "azure-native:containerservice/v20230301:Snapshot" }, { type: "azure-native:containerservice/v20230302preview:Snapshot" }, { type: "azure-native:containerservice/v20230401:Snapshot" }, { type: "azure-native:containerservice/v20230402preview:Snapshot" }, { type: "azure-native:containerservice/v20230501:Snapshot" }, { type: "azure-native:containerservice/v20230502preview:Snapshot" }, { type: "azure-native:containerservice/v20230601:Snapshot" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:Snapshot" }, { type: "azure-native:containerservice/v20210801:Snapshot" }, { type: "azure-native:containerservice/v20210901:Snapshot" }, { type: "azure-native:containerservice/v20211001:Snapshot" }, { type: "azure-native:containerservice/v20211101preview:Snapshot" }, { type: "azure-native:containerservice/v20220101:Snapshot" }, { type: "azure-native:containerservice/v20220102preview:Snapshot" }, { type: "azure-native:containerservice/v20220201:Snapshot" }, { type: "azure-native:containerservice/v20220202preview:Snapshot" }, { type: "azure-native:containerservice/v20220301:Snapshot" }, { type: "azure-native:containerservice/v20220302preview:Snapshot" }, { type: "azure-native:containerservice/v20220401:Snapshot" }, { type: "azure-native:containerservice/v20220402preview:Snapshot" }, { type: "azure-native:containerservice/v20220502preview:Snapshot" }, { type: "azure-native:containerservice/v20220601:Snapshot" }, { type: "azure-native:containerservice/v20220602preview:Snapshot" }, { type: "azure-native:containerservice/v20220701:Snapshot" }, { type: "azure-native:containerservice/v20220702preview:Snapshot" }, { type: "azure-native:containerservice/v20220802preview:Snapshot" }, { type: "azure-native:containerservice/v20220803preview:Snapshot" }, { type: "azure-native:containerservice/v20220901:Snapshot" }, { type: "azure-native:containerservice/v20220902preview:Snapshot" }, { type: "azure-native:containerservice/v20221002preview:Snapshot" }, { type: "azure-native:containerservice/v20221101:Snapshot" }, { type: "azure-native:containerservice/v20221102preview:Snapshot" }, { type: "azure-native:containerservice/v20230101:Snapshot" }, { type: "azure-native:containerservice/v20230102preview:Snapshot" }, { type: "azure-native:containerservice/v20230201:Snapshot" }, { type: "azure-native:containerservice/v20230202preview:Snapshot" }, { type: "azure-native:containerservice/v20230301:Snapshot" }, { type: "azure-native:containerservice/v20230302preview:Snapshot" }, { type: "azure-native:containerservice/v20230401:Snapshot" }, { type: "azure-native:containerservice/v20230402preview:Snapshot" }, { type: "azure-native:containerservice/v20230501:Snapshot" }, { type: "azure-native:containerservice/v20230502preview:Snapshot" }, { type: "azure-native:containerservice/v20230601:Snapshot" }, { type: "azure-native:containerservice/v20230701:Snapshot" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Snapshot.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/containerservice/v20230701/agentPool.ts b/sdk/nodejs/containerservice/v20230701/agentPool.ts new file mode 100644 index 000000000000..c00fe707a4a8 --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/agentPool.ts @@ -0,0 +1,490 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Agent Pool. + */ +export class AgentPool extends pulumi.CustomResource { + /** + * Get an existing AgentPool 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): AgentPool { + return new AgentPool(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:containerservice/v20230701:AgentPool'; + + /** + * Returns true if the given object is an instance of AgentPool. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is AgentPool { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AgentPool.__pulumiType; + } + + /** + * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + */ + public readonly availabilityZones!: pulumi.Output; + /** + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + */ + public readonly count!: pulumi.Output; + /** + * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + */ + public readonly creationData!: pulumi.Output; + /** + * If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + */ + public /*out*/ readonly currentOrchestratorVersion!: pulumi.Output; + /** + * Whether to enable auto-scaler + */ + public readonly enableAutoScaling!: pulumi.Output; + /** + * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + */ + public readonly enableEncryptionAtHost!: pulumi.Output; + /** + * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + */ + public readonly enableFIPS!: pulumi.Output; + /** + * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + */ + public readonly enableNodePublicIP!: pulumi.Output; + /** + * Whether to enable UltraSSD + */ + public readonly enableUltraSSD!: pulumi.Output; + /** + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + */ + public readonly gpuInstanceProfile!: pulumi.Output; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + */ + public readonly hostGroupID!: pulumi.Output; + /** + * The Kubelet configuration on the agent pool nodes. + */ + public readonly kubeletConfig!: pulumi.Output; + /** + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + */ + public readonly kubeletDiskType!: pulumi.Output; + /** + * The OS configuration of Linux agent nodes. + */ + public readonly linuxOSConfig!: pulumi.Output; + /** + * The maximum number of nodes for auto-scaling + */ + public readonly maxCount!: pulumi.Output; + /** + * The maximum number of pods that can run on a node. + */ + public readonly maxPods!: pulumi.Output; + /** + * The minimum number of nodes for auto-scaling + */ + public readonly minCount!: pulumi.Output; + /** + * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + */ + public readonly mode!: pulumi.Output; + /** + * The name of the resource that is unique within a resource group. This name can be used to access the resource. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The version of node image + */ + public /*out*/ readonly nodeImageVersion!: pulumi.Output; + /** + * The node labels to be persisted across all nodes in agent pool. + */ + public readonly nodeLabels!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + */ + public readonly nodePublicIPPrefixID!: pulumi.Output; + /** + * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + */ + public readonly nodeTaints!: pulumi.Output; + /** + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + */ + public readonly orchestratorVersion!: pulumi.Output; + /** + * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + */ + public readonly osDiskSizeGB!: pulumi.Output; + /** + * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + */ + public readonly osDiskType!: pulumi.Output; + /** + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + */ + public readonly osSKU!: pulumi.Output; + /** + * The operating system type. The default is Linux. + */ + public readonly osType!: pulumi.Output; + /** + * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + public readonly podSubnetID!: pulumi.Output; + /** + * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + */ + public readonly powerState!: pulumi.Output; + /** + * The current deployment or provisioning state. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * The ID for Proximity Placement Group. + */ + public readonly proximityPlacementGroupID!: pulumi.Output; + /** + * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + */ + public readonly scaleDownMode!: pulumi.Output; + /** + * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + */ + public readonly scaleSetEvictionPolicy!: pulumi.Output; + /** + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + */ + public readonly scaleSetPriority!: pulumi.Output; + /** + * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + */ + public readonly spotMaxPrice!: pulumi.Output; + /** + * The tags to be persisted on the agent pool virtual machine scale set. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Resource type + */ + public readonly type!: pulumi.Output; + /** + * Settings for upgrading the agentpool + */ + public readonly upgradeSettings!: pulumi.Output; + /** + * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + */ + public readonly vmSize!: pulumi.Output; + /** + * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + public readonly vnetSubnetID!: pulumi.Output; + /** + * Determines the type of workload a node can run. + */ + public readonly workloadRuntime!: pulumi.Output; + + /** + * Create a AgentPool 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: AgentPoolArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.resourceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceName'"); + } + resourceInputs["agentPoolName"] = args ? args.agentPoolName : undefined; + resourceInputs["availabilityZones"] = args ? args.availabilityZones : undefined; + resourceInputs["count"] = args ? args.count : undefined; + resourceInputs["creationData"] = args ? args.creationData : undefined; + resourceInputs["enableAutoScaling"] = args ? args.enableAutoScaling : undefined; + resourceInputs["enableEncryptionAtHost"] = args ? args.enableEncryptionAtHost : undefined; + resourceInputs["enableFIPS"] = args ? args.enableFIPS : undefined; + resourceInputs["enableNodePublicIP"] = args ? args.enableNodePublicIP : undefined; + resourceInputs["enableUltraSSD"] = args ? args.enableUltraSSD : undefined; + resourceInputs["gpuInstanceProfile"] = args ? args.gpuInstanceProfile : undefined; + resourceInputs["hostGroupID"] = args ? args.hostGroupID : undefined; + resourceInputs["kubeletConfig"] = args ? args.kubeletConfig : undefined; + resourceInputs["kubeletDiskType"] = args ? args.kubeletDiskType : undefined; + resourceInputs["linuxOSConfig"] = args ? args.linuxOSConfig : undefined; + resourceInputs["maxCount"] = args ? args.maxCount : undefined; + resourceInputs["maxPods"] = args ? args.maxPods : undefined; + resourceInputs["minCount"] = args ? args.minCount : undefined; + resourceInputs["mode"] = args ? args.mode : undefined; + resourceInputs["nodeLabels"] = args ? args.nodeLabels : undefined; + resourceInputs["nodePublicIPPrefixID"] = args ? args.nodePublicIPPrefixID : undefined; + resourceInputs["nodeTaints"] = args ? args.nodeTaints : undefined; + resourceInputs["orchestratorVersion"] = args ? args.orchestratorVersion : undefined; + resourceInputs["osDiskSizeGB"] = args ? args.osDiskSizeGB : undefined; + resourceInputs["osDiskType"] = args ? args.osDiskType : undefined; + resourceInputs["osSKU"] = args ? args.osSKU : undefined; + resourceInputs["osType"] = args ? args.osType : undefined; + resourceInputs["podSubnetID"] = args ? args.podSubnetID : undefined; + resourceInputs["powerState"] = args ? args.powerState : undefined; + resourceInputs["proximityPlacementGroupID"] = args ? args.proximityPlacementGroupID : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["resourceName"] = args ? args.resourceName : undefined; + resourceInputs["scaleDownMode"] = args ? args.scaleDownMode : undefined; + resourceInputs["scaleSetEvictionPolicy"] = args ? args.scaleSetEvictionPolicy : undefined; + resourceInputs["scaleSetPriority"] = args ? args.scaleSetPriority : undefined; + resourceInputs["spotMaxPrice"] = args ? args.spotMaxPrice : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["upgradeSettings"] = args ? args.upgradeSettings : undefined; + resourceInputs["vmSize"] = args ? args.vmSize : undefined; + resourceInputs["vnetSubnetID"] = args ? args.vnetSubnetID : undefined; + resourceInputs["workloadRuntime"] = args ? args.workloadRuntime : undefined; + resourceInputs["currentOrchestratorVersion"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["nodeImageVersion"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + } else { + resourceInputs["availabilityZones"] = undefined /*out*/; + resourceInputs["count"] = undefined /*out*/; + resourceInputs["creationData"] = undefined /*out*/; + resourceInputs["currentOrchestratorVersion"] = undefined /*out*/; + resourceInputs["enableAutoScaling"] = undefined /*out*/; + resourceInputs["enableEncryptionAtHost"] = undefined /*out*/; + resourceInputs["enableFIPS"] = undefined /*out*/; + resourceInputs["enableNodePublicIP"] = undefined /*out*/; + resourceInputs["enableUltraSSD"] = undefined /*out*/; + resourceInputs["gpuInstanceProfile"] = undefined /*out*/; + resourceInputs["hostGroupID"] = undefined /*out*/; + resourceInputs["kubeletConfig"] = undefined /*out*/; + resourceInputs["kubeletDiskType"] = undefined /*out*/; + resourceInputs["linuxOSConfig"] = undefined /*out*/; + resourceInputs["maxCount"] = undefined /*out*/; + resourceInputs["maxPods"] = undefined /*out*/; + resourceInputs["minCount"] = undefined /*out*/; + resourceInputs["mode"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["nodeImageVersion"] = undefined /*out*/; + resourceInputs["nodeLabels"] = undefined /*out*/; + resourceInputs["nodePublicIPPrefixID"] = undefined /*out*/; + resourceInputs["nodeTaints"] = undefined /*out*/; + resourceInputs["orchestratorVersion"] = undefined /*out*/; + resourceInputs["osDiskSizeGB"] = undefined /*out*/; + resourceInputs["osDiskType"] = undefined /*out*/; + resourceInputs["osSKU"] = undefined /*out*/; + resourceInputs["osType"] = undefined /*out*/; + resourceInputs["podSubnetID"] = undefined /*out*/; + resourceInputs["powerState"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["proximityPlacementGroupID"] = undefined /*out*/; + resourceInputs["scaleDownMode"] = undefined /*out*/; + resourceInputs["scaleSetEvictionPolicy"] = undefined /*out*/; + resourceInputs["scaleSetPriority"] = undefined /*out*/; + resourceInputs["spotMaxPrice"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["upgradeSettings"] = undefined /*out*/; + resourceInputs["vmSize"] = undefined /*out*/; + resourceInputs["vnetSubnetID"] = undefined /*out*/; + resourceInputs["workloadRuntime"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:AgentPool" }, { type: "azure-native:containerservice/v20190201:AgentPool" }, { type: "azure-native:containerservice/v20190401:AgentPool" }, { type: "azure-native:containerservice/v20190601:AgentPool" }, { type: "azure-native:containerservice/v20190801:AgentPool" }, { type: "azure-native:containerservice/v20191001:AgentPool" }, { type: "azure-native:containerservice/v20191101:AgentPool" }, { type: "azure-native:containerservice/v20200101:AgentPool" }, { type: "azure-native:containerservice/v20200201:AgentPool" }, { type: "azure-native:containerservice/v20200301:AgentPool" }, { type: "azure-native:containerservice/v20200401:AgentPool" }, { type: "azure-native:containerservice/v20200601:AgentPool" }, { type: "azure-native:containerservice/v20200701:AgentPool" }, { type: "azure-native:containerservice/v20200901:AgentPool" }, { type: "azure-native:containerservice/v20201101:AgentPool" }, { type: "azure-native:containerservice/v20201201:AgentPool" }, { type: "azure-native:containerservice/v20210201:AgentPool" }, { type: "azure-native:containerservice/v20210301:AgentPool" }, { type: "azure-native:containerservice/v20210501:AgentPool" }, { type: "azure-native:containerservice/v20210701:AgentPool" }, { type: "azure-native:containerservice/v20210801:AgentPool" }, { type: "azure-native:containerservice/v20210901:AgentPool" }, { type: "azure-native:containerservice/v20211001:AgentPool" }, { type: "azure-native:containerservice/v20211101preview:AgentPool" }, { type: "azure-native:containerservice/v20220101:AgentPool" }, { type: "azure-native:containerservice/v20220102preview:AgentPool" }, { type: "azure-native:containerservice/v20220201:AgentPool" }, { type: "azure-native:containerservice/v20220202preview:AgentPool" }, { type: "azure-native:containerservice/v20220301:AgentPool" }, { type: "azure-native:containerservice/v20220302preview:AgentPool" }, { type: "azure-native:containerservice/v20220401:AgentPool" }, { type: "azure-native:containerservice/v20220402preview:AgentPool" }, { type: "azure-native:containerservice/v20220502preview:AgentPool" }, { type: "azure-native:containerservice/v20220601:AgentPool" }, { type: "azure-native:containerservice/v20220602preview:AgentPool" }, { type: "azure-native:containerservice/v20220701:AgentPool" }, { type: "azure-native:containerservice/v20220702preview:AgentPool" }, { type: "azure-native:containerservice/v20220802preview:AgentPool" }, { type: "azure-native:containerservice/v20220803preview:AgentPool" }, { type: "azure-native:containerservice/v20220901:AgentPool" }, { type: "azure-native:containerservice/v20220902preview:AgentPool" }, { type: "azure-native:containerservice/v20221002preview:AgentPool" }, { type: "azure-native:containerservice/v20221101:AgentPool" }, { type: "azure-native:containerservice/v20221102preview:AgentPool" }, { type: "azure-native:containerservice/v20230101:AgentPool" }, { type: "azure-native:containerservice/v20230102preview:AgentPool" }, { type: "azure-native:containerservice/v20230201:AgentPool" }, { type: "azure-native:containerservice/v20230202preview:AgentPool" }, { type: "azure-native:containerservice/v20230301:AgentPool" }, { type: "azure-native:containerservice/v20230302preview:AgentPool" }, { type: "azure-native:containerservice/v20230401:AgentPool" }, { type: "azure-native:containerservice/v20230402preview:AgentPool" }, { type: "azure-native:containerservice/v20230501:AgentPool" }, { type: "azure-native:containerservice/v20230502preview:AgentPool" }, { type: "azure-native:containerservice/v20230601:AgentPool" }, { type: "azure-native:containerservice/v20230602preview:AgentPool" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(AgentPool.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a AgentPool resource. + */ +export interface AgentPoolArgs { + /** + * The name of the agent pool. + */ + agentPoolName?: pulumi.Input; + /** + * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + */ + availabilityZones?: pulumi.Input[]>; + /** + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + */ + count?: pulumi.Input; + /** + * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + */ + creationData?: pulumi.Input; + /** + * Whether to enable auto-scaler + */ + enableAutoScaling?: pulumi.Input; + /** + * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + */ + enableEncryptionAtHost?: pulumi.Input; + /** + * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + */ + enableFIPS?: pulumi.Input; + /** + * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + */ + enableNodePublicIP?: pulumi.Input; + /** + * Whether to enable UltraSSD + */ + enableUltraSSD?: pulumi.Input; + /** + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + */ + gpuInstanceProfile?: pulumi.Input; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + */ + hostGroupID?: pulumi.Input; + /** + * The Kubelet configuration on the agent pool nodes. + */ + kubeletConfig?: pulumi.Input; + /** + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + */ + kubeletDiskType?: pulumi.Input; + /** + * The OS configuration of Linux agent nodes. + */ + linuxOSConfig?: pulumi.Input; + /** + * The maximum number of nodes for auto-scaling + */ + maxCount?: pulumi.Input; + /** + * The maximum number of pods that can run on a node. + */ + maxPods?: pulumi.Input; + /** + * The minimum number of nodes for auto-scaling + */ + minCount?: pulumi.Input; + /** + * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + */ + mode?: pulumi.Input; + /** + * The node labels to be persisted across all nodes in agent pool. + */ + nodeLabels?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + */ + nodePublicIPPrefixID?: pulumi.Input; + /** + * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + */ + nodeTaints?: pulumi.Input[]>; + /** + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + */ + orchestratorVersion?: pulumi.Input; + /** + * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + */ + osDiskSizeGB?: pulumi.Input; + /** + * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + */ + osDiskType?: pulumi.Input; + /** + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + */ + osSKU?: pulumi.Input; + /** + * The operating system type. The default is Linux. + */ + osType?: pulumi.Input; + /** + * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + podSubnetID?: pulumi.Input; + /** + * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + */ + powerState?: pulumi.Input; + /** + * The ID for Proximity Placement Group. + */ + proximityPlacementGroupID?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName: pulumi.Input; + /** + * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + */ + scaleDownMode?: pulumi.Input; + /** + * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + */ + scaleSetEvictionPolicy?: pulumi.Input; + /** + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + */ + scaleSetPriority?: pulumi.Input; + /** + * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + */ + spotMaxPrice?: pulumi.Input; + /** + * The tags to be persisted on the agent pool virtual machine scale set. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The type of Agent Pool. + */ + type?: pulumi.Input; + /** + * Settings for upgrading the agentpool + */ + upgradeSettings?: pulumi.Input; + /** + * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + */ + vmSize?: pulumi.Input; + /** + * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + vnetSubnetID?: pulumi.Input; + /** + * Determines the type of workload a node can run. + */ + workloadRuntime?: pulumi.Input; +} diff --git a/sdk/nodejs/containerservice/v20230701/getAgentPool.ts b/sdk/nodejs/containerservice/v20230701/getAgentPool.ts new file mode 100644 index 000000000000..8fc7907cbb01 --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/getAgentPool.ts @@ -0,0 +1,235 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Agent Pool. + */ +export function getAgentPool(args: GetAgentPoolArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:containerservice/v20230701:getAgentPool", { + "agentPoolName": args.agentPoolName, + "resourceGroupName": args.resourceGroupName, + "resourceName": args.resourceName, + }, opts); +} + +export interface GetAgentPoolArgs { + /** + * The name of the agent pool. + */ + agentPoolName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the managed cluster resource. + */ + resourceName: string; +} + +/** + * Agent Pool. + */ +export interface GetAgentPoolResult { + /** + * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + */ + readonly availabilityZones?: string[]; + /** + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + */ + readonly count?: number; + /** + * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + */ + readonly creationData?: outputs.containerservice.v20230701.CreationDataResponse; + /** + * If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + */ + readonly currentOrchestratorVersion: string; + /** + * Whether to enable auto-scaler + */ + readonly enableAutoScaling?: boolean; + /** + * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + */ + readonly enableEncryptionAtHost?: boolean; + /** + * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + */ + readonly enableFIPS?: boolean; + /** + * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + */ + readonly enableNodePublicIP?: boolean; + /** + * Whether to enable UltraSSD + */ + readonly enableUltraSSD?: boolean; + /** + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + */ + readonly gpuInstanceProfile?: string; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + */ + readonly hostGroupID?: string; + /** + * Resource ID. + */ + readonly id: string; + /** + * The Kubelet configuration on the agent pool nodes. + */ + readonly kubeletConfig?: outputs.containerservice.v20230701.KubeletConfigResponse; + /** + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + */ + readonly kubeletDiskType?: string; + /** + * The OS configuration of Linux agent nodes. + */ + readonly linuxOSConfig?: outputs.containerservice.v20230701.LinuxOSConfigResponse; + /** + * The maximum number of nodes for auto-scaling + */ + readonly maxCount?: number; + /** + * The maximum number of pods that can run on a node. + */ + readonly maxPods?: number; + /** + * The minimum number of nodes for auto-scaling + */ + readonly minCount?: number; + /** + * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + */ + readonly mode?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to access the resource. + */ + readonly name: string; + /** + * The version of node image + */ + readonly nodeImageVersion: string; + /** + * The node labels to be persisted across all nodes in agent pool. + */ + readonly nodeLabels?: {[key: string]: string}; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + */ + readonly nodePublicIPPrefixID?: string; + /** + * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + */ + readonly nodeTaints?: string[]; + /** + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + */ + readonly orchestratorVersion?: string; + /** + * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + */ + readonly osDiskSizeGB?: number; + /** + * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + */ + readonly osDiskType?: string; + /** + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + */ + readonly osSKU?: string; + /** + * The operating system type. The default is Linux. + */ + readonly osType?: string; + /** + * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + readonly podSubnetID?: string; + /** + * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + */ + readonly powerState?: outputs.containerservice.v20230701.PowerStateResponse; + /** + * The current deployment or provisioning state. + */ + readonly provisioningState: string; + /** + * The ID for Proximity Placement Group. + */ + readonly proximityPlacementGroupID?: string; + /** + * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + */ + readonly scaleDownMode?: string; + /** + * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + */ + readonly scaleSetEvictionPolicy?: string; + /** + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + */ + readonly scaleSetPriority?: string; + /** + * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + */ + readonly spotMaxPrice?: number; + /** + * The tags to be persisted on the agent pool virtual machine scale set. + */ + readonly tags?: {[key: string]: string}; + /** + * Resource type + */ + readonly type: string; + /** + * Settings for upgrading the agentpool + */ + readonly upgradeSettings?: outputs.containerservice.v20230701.AgentPoolUpgradeSettingsResponse; + /** + * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + */ + readonly vmSize?: string; + /** + * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + readonly vnetSubnetID?: string; + /** + * Determines the type of workload a node can run. + */ + readonly workloadRuntime?: string; +} +/** + * Agent Pool. + */ +export function getAgentPoolOutput(args: GetAgentPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getAgentPool(a, opts)) +} + +export interface GetAgentPoolOutputArgs { + /** + * The name of the agent pool. + */ + agentPoolName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName: pulumi.Input; +} diff --git a/sdk/nodejs/containerservice/v20230701/getMaintenanceConfiguration.ts b/sdk/nodejs/containerservice/v20230701/getMaintenanceConfiguration.ts new file mode 100644 index 000000000000..688037926503 --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/getMaintenanceConfiguration.ts @@ -0,0 +1,91 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + */ +export function getMaintenanceConfiguration(args: GetMaintenanceConfigurationArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:containerservice/v20230701:getMaintenanceConfiguration", { + "configName": args.configName, + "resourceGroupName": args.resourceGroupName, + "resourceName": args.resourceName, + }, opts); +} + +export interface GetMaintenanceConfigurationArgs { + /** + * The name of the maintenance configuration. + */ + configName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the managed cluster resource. + */ + resourceName: string; +} + +/** + * See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + */ +export interface GetMaintenanceConfigurationResult { + /** + * Resource ID. + */ + readonly id: string; + /** + * Maintenance window for the maintenance configuration. + */ + readonly maintenanceWindow?: outputs.containerservice.v20230701.MaintenanceWindowResponse; + /** + * The name of the resource that is unique within a resource group. This name can be used to access the resource. + */ + readonly name: string; + /** + * Time slots on which upgrade is not allowed. + */ + readonly notAllowedTime?: outputs.containerservice.v20230701.TimeSpanResponse[]; + /** + * The system metadata relating to this resource. + */ + readonly systemData: outputs.containerservice.v20230701.SystemDataResponse; + /** + * If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. + */ + readonly timeInWeek?: outputs.containerservice.v20230701.TimeInWeekResponse[]; + /** + * Resource type + */ + readonly type: string; +} +/** + * See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + */ +export function getMaintenanceConfigurationOutput(args: GetMaintenanceConfigurationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getMaintenanceConfiguration(a, opts)) +} + +export interface GetMaintenanceConfigurationOutputArgs { + /** + * The name of the maintenance configuration. + */ + configName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName: pulumi.Input; +} diff --git a/sdk/nodejs/containerservice/v20230701/getManagedCluster.ts b/sdk/nodejs/containerservice/v20230701/getManagedCluster.ts new file mode 100644 index 000000000000..893f456cba78 --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/getManagedCluster.ts @@ -0,0 +1,238 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Managed cluster. + */ +export function getManagedCluster(args: GetManagedClusterArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:containerservice/v20230701:getManagedCluster", { + "resourceGroupName": args.resourceGroupName, + "resourceName": args.resourceName, + }, opts); +} + +export interface GetManagedClusterArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the managed cluster resource. + */ + resourceName: string; +} + +/** + * Managed cluster. + */ +export interface GetManagedClusterResult { + /** + * The Azure Active Directory configuration. + */ + readonly aadProfile?: outputs.containerservice.v20230701.ManagedClusterAADProfileResponse; + /** + * The profile of managed cluster add-on. + */ + readonly addonProfiles?: {[key: string]: outputs.containerservice.v20230701.ManagedClusterAddonProfileResponse}; + /** + * The agent pool properties. + */ + readonly agentPoolProfiles?: outputs.containerservice.v20230701.ManagedClusterAgentPoolProfileResponse[]; + /** + * The access profile for managed cluster API server. + */ + readonly apiServerAccessProfile?: outputs.containerservice.v20230701.ManagedClusterAPIServerAccessProfileResponse; + /** + * Parameters to be applied to the cluster-autoscaler when enabled + */ + readonly autoScalerProfile?: outputs.containerservice.v20230701.ManagedClusterPropertiesResponseAutoScalerProfile; + /** + * The auto upgrade configuration. + */ + readonly autoUpgradeProfile?: outputs.containerservice.v20230701.ManagedClusterAutoUpgradeProfileResponse; + /** + * Azure Monitor addon profiles for monitoring the managed cluster. + */ + readonly azureMonitorProfile?: outputs.containerservice.v20230701.ManagedClusterAzureMonitorProfileResponse; + /** + * The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. + */ + readonly azurePortalFQDN: string; + /** + * If kubernetesVersion was a fully specified version , this field will be exactly equal to it. If kubernetesVersion was , this field will contain the full version being used. + */ + readonly currentKubernetesVersion: string; + /** + * If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + */ + readonly disableLocalAccounts?: boolean; + /** + * This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + */ + readonly diskEncryptionSetID?: string; + /** + * This cannot be updated once the Managed Cluster has been created. + */ + readonly dnsPrefix?: string; + /** + * (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. + */ + readonly enablePodSecurityPolicy?: boolean; + /** + * Whether to enable Kubernetes Role-Based Access Control. + */ + readonly enableRBAC?: boolean; + /** + * The extended location of the Virtual Machine. + */ + readonly extendedLocation?: outputs.containerservice.v20230701.ExtendedLocationResponse; + /** + * The FQDN of the master pool. + */ + readonly fqdn: string; + /** + * This cannot be updated once the Managed Cluster has been created. + */ + readonly fqdnSubdomain?: string; + /** + * Configurations for provisioning the cluster with HTTP proxy servers. + */ + readonly httpProxyConfig?: outputs.containerservice.v20230701.ManagedClusterHTTPProxyConfigResponse; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The identity of the managed cluster, if configured. + */ + readonly identity?: outputs.containerservice.v20230701.ManagedClusterIdentityResponse; + /** + * Identities associated with the cluster. + */ + readonly identityProfile?: {[key: string]: outputs.containerservice.v20230701.UserAssignedIdentityResponse}; + /** + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + */ + readonly kubernetesVersion?: string; + /** + * The profile for Linux VMs in the Managed Cluster. + */ + readonly linuxProfile?: outputs.containerservice.v20230701.ContainerServiceLinuxProfileResponse; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * The max number of agent pools for the managed cluster. + */ + readonly maxAgentPools: number; + /** + * The name of the resource + */ + readonly name: string; + /** + * The network configuration profile. + */ + readonly networkProfile?: outputs.containerservice.v20230701.ContainerServiceNetworkProfileResponse; + /** + * The name of the resource group containing agent pool nodes. + */ + readonly nodeResourceGroup?: string; + /** + * The OIDC issuer profile of the Managed Cluster. + */ + readonly oidcIssuerProfile?: outputs.containerservice.v20230701.ManagedClusterOIDCIssuerProfileResponse; + /** + * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. + */ + readonly podIdentityProfile?: outputs.containerservice.v20230701.ManagedClusterPodIdentityProfileResponse; + /** + * The Power State of the cluster. + */ + readonly powerState: outputs.containerservice.v20230701.PowerStateResponse; + /** + * The FQDN of private cluster. + */ + readonly privateFQDN: string; + /** + * Private link resources associated with the cluster. + */ + readonly privateLinkResources?: outputs.containerservice.v20230701.PrivateLinkResourceResponse[]; + /** + * The current provisioning state. + */ + readonly provisioningState: string; + /** + * Allow or deny public network access for AKS + */ + readonly publicNetworkAccess?: string; + /** + * Security profile for the managed cluster. + */ + readonly securityProfile?: outputs.containerservice.v20230701.ManagedClusterSecurityProfileResponse; + /** + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + */ + readonly servicePrincipalProfile?: outputs.containerservice.v20230701.ManagedClusterServicePrincipalProfileResponse; + /** + * The managed cluster SKU. + */ + readonly sku?: outputs.containerservice.v20230701.ManagedClusterSKUResponse; + /** + * Storage profile for the managed cluster. + */ + readonly storageProfile?: outputs.containerservice.v20230701.ManagedClusterStorageProfileResponse; + /** + * The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + */ + readonly supportPlan?: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.containerservice.v20230701.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; + /** + * Settings for upgrading a cluster. + */ + readonly upgradeSettings?: outputs.containerservice.v20230701.ClusterUpgradeSettingsResponse; + /** + * The profile for Windows VMs in the Managed Cluster. + */ + readonly windowsProfile?: outputs.containerservice.v20230701.ManagedClusterWindowsProfileResponse; + /** + * Workload Auto-scaler profile for the managed cluster. + */ + readonly workloadAutoScalerProfile?: outputs.containerservice.v20230701.ManagedClusterWorkloadAutoScalerProfileResponse; +} +/** + * Managed cluster. + */ +export function getManagedClusterOutput(args: GetManagedClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getManagedCluster(a, opts)) +} + +export interface GetManagedClusterOutputArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName: pulumi.Input; +} diff --git a/sdk/nodejs/containerservice/v20230701/getPrivateEndpointConnection.ts b/sdk/nodejs/containerservice/v20230701/getPrivateEndpointConnection.ts new file mode 100644 index 000000000000..d35b7604c57b --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/getPrivateEndpointConnection.ts @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters + */ +export function getPrivateEndpointConnection(args: GetPrivateEndpointConnectionArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:containerservice/v20230701:getPrivateEndpointConnection", { + "privateEndpointConnectionName": args.privateEndpointConnectionName, + "resourceGroupName": args.resourceGroupName, + "resourceName": args.resourceName, + }, opts); +} + +export interface GetPrivateEndpointConnectionArgs { + /** + * The name of the private endpoint connection. + */ + privateEndpointConnectionName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the managed cluster resource. + */ + resourceName: string; +} + +/** + * A private endpoint connection + */ +export interface GetPrivateEndpointConnectionResult { + /** + * The ID of the private endpoint connection. + */ + readonly id: string; + /** + * The name of the private endpoint connection. + */ + readonly name: string; + /** + * The resource of private endpoint. + */ + readonly privateEndpoint?: outputs.containerservice.v20230701.PrivateEndpointResponse; + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + readonly privateLinkServiceConnectionState: outputs.containerservice.v20230701.PrivateLinkServiceConnectionStateResponse; + /** + * The current provisioning state. + */ + readonly provisioningState: string; + /** + * The resource type. + */ + readonly type: string; +} +/** + * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters + */ +export function getPrivateEndpointConnectionOutput(args: GetPrivateEndpointConnectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getPrivateEndpointConnection(a, opts)) +} + +export interface GetPrivateEndpointConnectionOutputArgs { + /** + * The name of the private endpoint connection. + */ + privateEndpointConnectionName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName: pulumi.Input; +} diff --git a/sdk/nodejs/containerservice/v20230701/getSnapshot.ts b/sdk/nodejs/containerservice/v20230701/getSnapshot.ts new file mode 100644 index 000000000000..035674f9c850 --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/getSnapshot.ts @@ -0,0 +1,110 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * A node pool snapshot resource. + */ +export function getSnapshot(args: GetSnapshotArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:containerservice/v20230701:getSnapshot", { + "resourceGroupName": args.resourceGroupName, + "resourceName": args.resourceName, + }, opts); +} + +export interface GetSnapshotArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the managed cluster resource. + */ + resourceName: string; +} + +/** + * A node pool snapshot resource. + */ +export interface GetSnapshotResult { + /** + * CreationData to be used to specify the source agent pool resource ID to create this snapshot. + */ + readonly creationData?: outputs.containerservice.v20230701.CreationDataResponse; + /** + * Whether to use a FIPS-enabled OS. + */ + readonly enableFIPS: boolean; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The version of Kubernetes. + */ + readonly kubernetesVersion: string; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * The version of node image. + */ + readonly nodeImageVersion: string; + /** + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + */ + readonly osSku: string; + /** + * The operating system type. The default is Linux. + */ + readonly osType: string; + /** + * The type of a snapshot. The default is NodePool. + */ + readonly snapshotType?: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.containerservice.v20230701.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; + /** + * The size of the VM. + */ + readonly vmSize: string; +} +/** + * A node pool snapshot resource. + */ +export function getSnapshotOutput(args: GetSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getSnapshot(a, opts)) +} + +export interface GetSnapshotOutputArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName: pulumi.Input; +} diff --git a/sdk/nodejs/containerservice/v20230701/index.ts b/sdk/nodejs/containerservice/v20230701/index.ts new file mode 100644 index 000000000000..c8c9ae158da9 --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/index.ts @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { AgentPoolArgs } from "./agentPool"; +export type AgentPool = import("./agentPool").AgentPool; +export const AgentPool: typeof import("./agentPool").AgentPool = null as any; +utilities.lazyLoad(exports, ["AgentPool"], () => require("./agentPool")); + +export { GetAgentPoolArgs, GetAgentPoolResult, GetAgentPoolOutputArgs } from "./getAgentPool"; +export const getAgentPool: typeof import("./getAgentPool").getAgentPool = null as any; +export const getAgentPoolOutput: typeof import("./getAgentPool").getAgentPoolOutput = null as any; +utilities.lazyLoad(exports, ["getAgentPool","getAgentPoolOutput"], () => require("./getAgentPool")); + +export { GetMaintenanceConfigurationArgs, GetMaintenanceConfigurationResult, GetMaintenanceConfigurationOutputArgs } from "./getMaintenanceConfiguration"; +export const getMaintenanceConfiguration: typeof import("./getMaintenanceConfiguration").getMaintenanceConfiguration = null as any; +export const getMaintenanceConfigurationOutput: typeof import("./getMaintenanceConfiguration").getMaintenanceConfigurationOutput = null as any; +utilities.lazyLoad(exports, ["getMaintenanceConfiguration","getMaintenanceConfigurationOutput"], () => require("./getMaintenanceConfiguration")); + +export { GetManagedClusterArgs, GetManagedClusterResult, GetManagedClusterOutputArgs } from "./getManagedCluster"; +export const getManagedCluster: typeof import("./getManagedCluster").getManagedCluster = null as any; +export const getManagedClusterOutput: typeof import("./getManagedCluster").getManagedClusterOutput = null as any; +utilities.lazyLoad(exports, ["getManagedCluster","getManagedClusterOutput"], () => require("./getManagedCluster")); + +export { GetPrivateEndpointConnectionArgs, GetPrivateEndpointConnectionResult, GetPrivateEndpointConnectionOutputArgs } from "./getPrivateEndpointConnection"; +export const getPrivateEndpointConnection: typeof import("./getPrivateEndpointConnection").getPrivateEndpointConnection = null as any; +export const getPrivateEndpointConnectionOutput: typeof import("./getPrivateEndpointConnection").getPrivateEndpointConnectionOutput = null as any; +utilities.lazyLoad(exports, ["getPrivateEndpointConnection","getPrivateEndpointConnectionOutput"], () => require("./getPrivateEndpointConnection")); + +export { GetSnapshotArgs, GetSnapshotResult, GetSnapshotOutputArgs } from "./getSnapshot"; +export const getSnapshot: typeof import("./getSnapshot").getSnapshot = null as any; +export const getSnapshotOutput: typeof import("./getSnapshot").getSnapshotOutput = null as any; +utilities.lazyLoad(exports, ["getSnapshot","getSnapshotOutput"], () => require("./getSnapshot")); + +export { ListManagedClusterAdminCredentialsArgs, ListManagedClusterAdminCredentialsResult, ListManagedClusterAdminCredentialsOutputArgs } from "./listManagedClusterAdminCredentials"; +export const listManagedClusterAdminCredentials: typeof import("./listManagedClusterAdminCredentials").listManagedClusterAdminCredentials = null as any; +export const listManagedClusterAdminCredentialsOutput: typeof import("./listManagedClusterAdminCredentials").listManagedClusterAdminCredentialsOutput = null as any; +utilities.lazyLoad(exports, ["listManagedClusterAdminCredentials","listManagedClusterAdminCredentialsOutput"], () => require("./listManagedClusterAdminCredentials")); + +export { ListManagedClusterMonitoringUserCredentialsArgs, ListManagedClusterMonitoringUserCredentialsResult, ListManagedClusterMonitoringUserCredentialsOutputArgs } from "./listManagedClusterMonitoringUserCredentials"; +export const listManagedClusterMonitoringUserCredentials: typeof import("./listManagedClusterMonitoringUserCredentials").listManagedClusterMonitoringUserCredentials = null as any; +export const listManagedClusterMonitoringUserCredentialsOutput: typeof import("./listManagedClusterMonitoringUserCredentials").listManagedClusterMonitoringUserCredentialsOutput = null as any; +utilities.lazyLoad(exports, ["listManagedClusterMonitoringUserCredentials","listManagedClusterMonitoringUserCredentialsOutput"], () => require("./listManagedClusterMonitoringUserCredentials")); + +export { ListManagedClusterUserCredentialsArgs, ListManagedClusterUserCredentialsResult, ListManagedClusterUserCredentialsOutputArgs } from "./listManagedClusterUserCredentials"; +export const listManagedClusterUserCredentials: typeof import("./listManagedClusterUserCredentials").listManagedClusterUserCredentials = null as any; +export const listManagedClusterUserCredentialsOutput: typeof import("./listManagedClusterUserCredentials").listManagedClusterUserCredentialsOutput = null as any; +utilities.lazyLoad(exports, ["listManagedClusterUserCredentials","listManagedClusterUserCredentialsOutput"], () => require("./listManagedClusterUserCredentials")); + +export { MaintenanceConfigurationArgs } from "./maintenanceConfiguration"; +export type MaintenanceConfiguration = import("./maintenanceConfiguration").MaintenanceConfiguration; +export const MaintenanceConfiguration: typeof import("./maintenanceConfiguration").MaintenanceConfiguration = null as any; +utilities.lazyLoad(exports, ["MaintenanceConfiguration"], () => require("./maintenanceConfiguration")); + +export { ManagedClusterArgs } from "./managedCluster"; +export type ManagedCluster = import("./managedCluster").ManagedCluster; +export const ManagedCluster: typeof import("./managedCluster").ManagedCluster = null as any; +utilities.lazyLoad(exports, ["ManagedCluster"], () => require("./managedCluster")); + +export { PrivateEndpointConnectionArgs } from "./privateEndpointConnection"; +export type PrivateEndpointConnection = import("./privateEndpointConnection").PrivateEndpointConnection; +export const PrivateEndpointConnection: typeof import("./privateEndpointConnection").PrivateEndpointConnection = null as any; +utilities.lazyLoad(exports, ["PrivateEndpointConnection"], () => require("./privateEndpointConnection")); + +export { SnapshotArgs } from "./snapshot"; +export type Snapshot = import("./snapshot").Snapshot; +export const Snapshot: typeof import("./snapshot").Snapshot = null as any; +utilities.lazyLoad(exports, ["Snapshot"], () => require("./snapshot")); + + +// Export enums: +export * from "../../types/enums/containerservice/v20230701"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:containerservice/v20230701:AgentPool": + return new AgentPool(name, undefined, { urn }) + case "azure-native:containerservice/v20230701:MaintenanceConfiguration": + return new MaintenanceConfiguration(name, undefined, { urn }) + case "azure-native:containerservice/v20230701:ManagedCluster": + return new ManagedCluster(name, undefined, { urn }) + case "azure-native:containerservice/v20230701:PrivateEndpointConnection": + return new PrivateEndpointConnection(name, undefined, { urn }) + case "azure-native:containerservice/v20230701:Snapshot": + return new Snapshot(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "containerservice/v20230701", _module) diff --git a/sdk/nodejs/containerservice/v20230701/listManagedClusterAdminCredentials.ts b/sdk/nodejs/containerservice/v20230701/listManagedClusterAdminCredentials.ts new file mode 100644 index 000000000000..e1aeed27de33 --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/listManagedClusterAdminCredentials.ts @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The list credential result response. + */ +export function listManagedClusterAdminCredentials(args: ListManagedClusterAdminCredentialsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:containerservice/v20230701:listManagedClusterAdminCredentials", { + "resourceGroupName": args.resourceGroupName, + "resourceName": args.resourceName, + "serverFqdn": args.serverFqdn, + }, opts); +} + +export interface ListManagedClusterAdminCredentialsArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the managed cluster resource. + */ + resourceName: string; + /** + * server fqdn type for credentials to be returned + */ + serverFqdn?: string; +} + +/** + * The list credential result response. + */ +export interface ListManagedClusterAdminCredentialsResult { + /** + * Base64-encoded Kubernetes configuration file. + */ + readonly kubeconfigs: outputs.containerservice.v20230701.CredentialResultResponse[]; +} +/** + * The list credential result response. + */ +export function listManagedClusterAdminCredentialsOutput(args: ListManagedClusterAdminCredentialsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => listManagedClusterAdminCredentials(a, opts)) +} + +export interface ListManagedClusterAdminCredentialsOutputArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName: pulumi.Input; + /** + * server fqdn type for credentials to be returned + */ + serverFqdn?: pulumi.Input; +} diff --git a/sdk/nodejs/containerservice/v20230701/listManagedClusterMonitoringUserCredentials.ts b/sdk/nodejs/containerservice/v20230701/listManagedClusterMonitoringUserCredentials.ts new file mode 100644 index 000000000000..59115fb4348f --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/listManagedClusterMonitoringUserCredentials.ts @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The list credential result response. + */ +export function listManagedClusterMonitoringUserCredentials(args: ListManagedClusterMonitoringUserCredentialsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:containerservice/v20230701:listManagedClusterMonitoringUserCredentials", { + "resourceGroupName": args.resourceGroupName, + "resourceName": args.resourceName, + "serverFqdn": args.serverFqdn, + }, opts); +} + +export interface ListManagedClusterMonitoringUserCredentialsArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the managed cluster resource. + */ + resourceName: string; + /** + * server fqdn type for credentials to be returned + */ + serverFqdn?: string; +} + +/** + * The list credential result response. + */ +export interface ListManagedClusterMonitoringUserCredentialsResult { + /** + * Base64-encoded Kubernetes configuration file. + */ + readonly kubeconfigs: outputs.containerservice.v20230701.CredentialResultResponse[]; +} +/** + * The list credential result response. + */ +export function listManagedClusterMonitoringUserCredentialsOutput(args: ListManagedClusterMonitoringUserCredentialsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => listManagedClusterMonitoringUserCredentials(a, opts)) +} + +export interface ListManagedClusterMonitoringUserCredentialsOutputArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName: pulumi.Input; + /** + * server fqdn type for credentials to be returned + */ + serverFqdn?: pulumi.Input; +} diff --git a/sdk/nodejs/containerservice/v20230701/listManagedClusterUserCredentials.ts b/sdk/nodejs/containerservice/v20230701/listManagedClusterUserCredentials.ts new file mode 100644 index 000000000000..26b032ee9cb7 --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/listManagedClusterUserCredentials.ts @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The list credential result response. + */ +export function listManagedClusterUserCredentials(args: ListManagedClusterUserCredentialsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:containerservice/v20230701:listManagedClusterUserCredentials", { + "format": args.format, + "resourceGroupName": args.resourceGroupName, + "resourceName": args.resourceName, + "serverFqdn": args.serverFqdn, + }, opts); +} + +export interface ListManagedClusterUserCredentialsArgs { + /** + * Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path. + */ + format?: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the managed cluster resource. + */ + resourceName: string; + /** + * server fqdn type for credentials to be returned + */ + serverFqdn?: string; +} + +/** + * The list credential result response. + */ +export interface ListManagedClusterUserCredentialsResult { + /** + * Base64-encoded Kubernetes configuration file. + */ + readonly kubeconfigs: outputs.containerservice.v20230701.CredentialResultResponse[]; +} +/** + * The list credential result response. + */ +export function listManagedClusterUserCredentialsOutput(args: ListManagedClusterUserCredentialsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => listManagedClusterUserCredentials(a, opts)) +} + +export interface ListManagedClusterUserCredentialsOutputArgs { + /** + * Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path. + */ + format?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName: pulumi.Input; + /** + * server fqdn type for credentials to be returned + */ + serverFqdn?: pulumi.Input; +} diff --git a/sdk/nodejs/containerservice/v20230701/maintenanceConfiguration.ts b/sdk/nodejs/containerservice/v20230701/maintenanceConfiguration.ts new file mode 100644 index 000000000000..1a25123e9b3d --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/maintenanceConfiguration.ts @@ -0,0 +1,134 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + */ +export class MaintenanceConfiguration extends pulumi.CustomResource { + /** + * Get an existing MaintenanceConfiguration 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): MaintenanceConfiguration { + return new MaintenanceConfiguration(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:containerservice/v20230701:MaintenanceConfiguration'; + + /** + * Returns true if the given object is an instance of MaintenanceConfiguration. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is MaintenanceConfiguration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === MaintenanceConfiguration.__pulumiType; + } + + /** + * Maintenance window for the maintenance configuration. + */ + public readonly maintenanceWindow!: pulumi.Output; + /** + * The name of the resource that is unique within a resource group. This name can be used to access the resource. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Time slots on which upgrade is not allowed. + */ + public readonly notAllowedTime!: pulumi.Output; + /** + * The system metadata relating to this resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. + */ + public readonly timeInWeek!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a MaintenanceConfiguration 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: MaintenanceConfigurationArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.resourceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceName'"); + } + resourceInputs["configName"] = args ? args.configName : undefined; + resourceInputs["maintenanceWindow"] = args ? (args.maintenanceWindow ? pulumi.output(args.maintenanceWindow).apply(inputs.containerservice.v20230701.maintenanceWindowArgsProvideDefaults) : undefined) : undefined; + resourceInputs["notAllowedTime"] = args ? args.notAllowedTime : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["resourceName"] = args ? args.resourceName : undefined; + resourceInputs["timeInWeek"] = args ? args.timeInWeek : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["maintenanceWindow"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["notAllowedTime"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["timeInWeek"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20201201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210801:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20210901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211001:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20211101preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220602preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220701:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220702preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220802preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220803preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220901:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20220902preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221002preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20221102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230101:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230102preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230201:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230202preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230301:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230302preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230401:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230402preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230501:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230502preview:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230601:MaintenanceConfiguration" }, { type: "azure-native:containerservice/v20230602preview:MaintenanceConfiguration" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(MaintenanceConfiguration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a MaintenanceConfiguration resource. + */ +export interface MaintenanceConfigurationArgs { + /** + * The name of the maintenance configuration. + */ + configName?: pulumi.Input; + /** + * Maintenance window for the maintenance configuration. + */ + maintenanceWindow?: pulumi.Input; + /** + * Time slots on which upgrade is not allowed. + */ + notAllowedTime?: pulumi.Input[]>; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName: pulumi.Input; + /** + * If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. + */ + timeInWeek?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/containerservice/v20230701/managedCluster.ts b/sdk/nodejs/containerservice/v20230701/managedCluster.ts new file mode 100644 index 000000000000..431c39bb6620 --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/managedCluster.ts @@ -0,0 +1,488 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Managed cluster. + */ +export class ManagedCluster extends pulumi.CustomResource { + /** + * Get an existing ManagedCluster 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ManagedCluster { + return new ManagedCluster(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:containerservice/v20230701:ManagedCluster'; + + /** + * Returns true if the given object is an instance of ManagedCluster. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ManagedCluster { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ManagedCluster.__pulumiType; + } + + /** + * The Azure Active Directory configuration. + */ + public readonly aadProfile!: pulumi.Output; + /** + * The profile of managed cluster add-on. + */ + public readonly addonProfiles!: pulumi.Output<{[key: string]: outputs.containerservice.v20230701.ManagedClusterAddonProfileResponse} | undefined>; + /** + * The agent pool properties. + */ + public readonly agentPoolProfiles!: pulumi.Output; + /** + * The access profile for managed cluster API server. + */ + public readonly apiServerAccessProfile!: pulumi.Output; + /** + * Parameters to be applied to the cluster-autoscaler when enabled + */ + public readonly autoScalerProfile!: pulumi.Output; + /** + * The auto upgrade configuration. + */ + public readonly autoUpgradeProfile!: pulumi.Output; + /** + * Azure Monitor addon profiles for monitoring the managed cluster. + */ + public readonly azureMonitorProfile!: pulumi.Output; + /** + * The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. + */ + public /*out*/ readonly azurePortalFQDN!: pulumi.Output; + /** + * If kubernetesVersion was a fully specified version , this field will be exactly equal to it. If kubernetesVersion was , this field will contain the full version being used. + */ + public /*out*/ readonly currentKubernetesVersion!: pulumi.Output; + /** + * If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + */ + public readonly disableLocalAccounts!: pulumi.Output; + /** + * This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + */ + public readonly diskEncryptionSetID!: pulumi.Output; + /** + * This cannot be updated once the Managed Cluster has been created. + */ + public readonly dnsPrefix!: pulumi.Output; + /** + * (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. + */ + public readonly enablePodSecurityPolicy!: pulumi.Output; + /** + * Whether to enable Kubernetes Role-Based Access Control. + */ + public readonly enableRBAC!: pulumi.Output; + /** + * The extended location of the Virtual Machine. + */ + public readonly extendedLocation!: pulumi.Output; + /** + * The FQDN of the master pool. + */ + public /*out*/ readonly fqdn!: pulumi.Output; + /** + * This cannot be updated once the Managed Cluster has been created. + */ + public readonly fqdnSubdomain!: pulumi.Output; + /** + * Configurations for provisioning the cluster with HTTP proxy servers. + */ + public readonly httpProxyConfig!: pulumi.Output; + /** + * The identity of the managed cluster, if configured. + */ + public readonly identity!: pulumi.Output; + /** + * Identities associated with the cluster. + */ + public readonly identityProfile!: pulumi.Output<{[key: string]: outputs.containerservice.v20230701.UserAssignedIdentityResponse} | undefined>; + /** + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + */ + public readonly kubernetesVersion!: pulumi.Output; + /** + * The profile for Linux VMs in the Managed Cluster. + */ + public readonly linuxProfile!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The max number of agent pools for the managed cluster. + */ + public /*out*/ readonly maxAgentPools!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The network configuration profile. + */ + public readonly networkProfile!: pulumi.Output; + /** + * The name of the resource group containing agent pool nodes. + */ + public readonly nodeResourceGroup!: pulumi.Output; + /** + * The OIDC issuer profile of the Managed Cluster. + */ + public readonly oidcIssuerProfile!: pulumi.Output; + /** + * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. + */ + public readonly podIdentityProfile!: pulumi.Output; + /** + * The Power State of the cluster. + */ + public /*out*/ readonly powerState!: pulumi.Output; + /** + * The FQDN of private cluster. + */ + public /*out*/ readonly privateFQDN!: pulumi.Output; + /** + * Private link resources associated with the cluster. + */ + public readonly privateLinkResources!: pulumi.Output; + /** + * The current provisioning state. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Allow or deny public network access for AKS + */ + public readonly publicNetworkAccess!: pulumi.Output; + /** + * Security profile for the managed cluster. + */ + public readonly securityProfile!: pulumi.Output; + /** + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + */ + public readonly servicePrincipalProfile!: pulumi.Output; + /** + * The managed cluster SKU. + */ + public readonly sku!: pulumi.Output; + /** + * Storage profile for the managed cluster. + */ + public readonly storageProfile!: pulumi.Output; + /** + * The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + */ + public readonly supportPlan!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * Settings for upgrading a cluster. + */ + public readonly upgradeSettings!: pulumi.Output; + /** + * The profile for Windows VMs in the Managed Cluster. + */ + public readonly windowsProfile!: pulumi.Output; + /** + * Workload Auto-scaler profile for the managed cluster. + */ + public readonly workloadAutoScalerProfile!: pulumi.Output; + + /** + * Create a ManagedCluster 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: ManagedClusterArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["aadProfile"] = args ? args.aadProfile : undefined; + resourceInputs["addonProfiles"] = args ? args.addonProfiles : undefined; + resourceInputs["agentPoolProfiles"] = args ? args.agentPoolProfiles : undefined; + resourceInputs["apiServerAccessProfile"] = args ? args.apiServerAccessProfile : undefined; + resourceInputs["autoScalerProfile"] = args ? args.autoScalerProfile : undefined; + resourceInputs["autoUpgradeProfile"] = args ? args.autoUpgradeProfile : undefined; + resourceInputs["azureMonitorProfile"] = args ? args.azureMonitorProfile : undefined; + resourceInputs["disableLocalAccounts"] = args ? args.disableLocalAccounts : undefined; + resourceInputs["diskEncryptionSetID"] = args ? args.diskEncryptionSetID : undefined; + resourceInputs["dnsPrefix"] = args ? args.dnsPrefix : undefined; + resourceInputs["enablePodSecurityPolicy"] = args ? args.enablePodSecurityPolicy : undefined; + resourceInputs["enableRBAC"] = args ? args.enableRBAC : undefined; + resourceInputs["extendedLocation"] = args ? args.extendedLocation : undefined; + resourceInputs["fqdnSubdomain"] = args ? args.fqdnSubdomain : undefined; + resourceInputs["httpProxyConfig"] = args ? args.httpProxyConfig : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["identityProfile"] = args ? args.identityProfile : undefined; + resourceInputs["kubernetesVersion"] = args ? args.kubernetesVersion : undefined; + resourceInputs["linuxProfile"] = args ? args.linuxProfile : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["networkProfile"] = args ? (args.networkProfile ? pulumi.output(args.networkProfile).apply(inputs.containerservice.v20230701.containerServiceNetworkProfileArgsProvideDefaults) : undefined) : undefined; + resourceInputs["nodeResourceGroup"] = args ? args.nodeResourceGroup : undefined; + resourceInputs["oidcIssuerProfile"] = args ? args.oidcIssuerProfile : undefined; + resourceInputs["podIdentityProfile"] = args ? args.podIdentityProfile : undefined; + resourceInputs["privateLinkResources"] = args ? args.privateLinkResources : undefined; + resourceInputs["publicNetworkAccess"] = args ? args.publicNetworkAccess : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["resourceName"] = args ? args.resourceName : undefined; + resourceInputs["securityProfile"] = args ? (args.securityProfile ? pulumi.output(args.securityProfile).apply(inputs.containerservice.v20230701.managedClusterSecurityProfileArgsProvideDefaults) : undefined) : undefined; + resourceInputs["servicePrincipalProfile"] = args ? args.servicePrincipalProfile : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["storageProfile"] = args ? args.storageProfile : undefined; + resourceInputs["supportPlan"] = args ? args.supportPlan : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["upgradeSettings"] = args ? args.upgradeSettings : undefined; + resourceInputs["windowsProfile"] = args ? args.windowsProfile : undefined; + resourceInputs["workloadAutoScalerProfile"] = args ? (args.workloadAutoScalerProfile ? pulumi.output(args.workloadAutoScalerProfile).apply(inputs.containerservice.v20230701.managedClusterWorkloadAutoScalerProfileArgsProvideDefaults) : undefined) : undefined; + resourceInputs["azurePortalFQDN"] = undefined /*out*/; + resourceInputs["currentKubernetesVersion"] = undefined /*out*/; + resourceInputs["fqdn"] = undefined /*out*/; + resourceInputs["maxAgentPools"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["powerState"] = undefined /*out*/; + resourceInputs["privateFQDN"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["aadProfile"] = undefined /*out*/; + resourceInputs["addonProfiles"] = undefined /*out*/; + resourceInputs["agentPoolProfiles"] = undefined /*out*/; + resourceInputs["apiServerAccessProfile"] = undefined /*out*/; + resourceInputs["autoScalerProfile"] = undefined /*out*/; + resourceInputs["autoUpgradeProfile"] = undefined /*out*/; + resourceInputs["azureMonitorProfile"] = undefined /*out*/; + resourceInputs["azurePortalFQDN"] = undefined /*out*/; + resourceInputs["currentKubernetesVersion"] = undefined /*out*/; + resourceInputs["disableLocalAccounts"] = undefined /*out*/; + resourceInputs["diskEncryptionSetID"] = undefined /*out*/; + resourceInputs["dnsPrefix"] = undefined /*out*/; + resourceInputs["enablePodSecurityPolicy"] = undefined /*out*/; + resourceInputs["enableRBAC"] = undefined /*out*/; + resourceInputs["extendedLocation"] = undefined /*out*/; + resourceInputs["fqdn"] = undefined /*out*/; + resourceInputs["fqdnSubdomain"] = undefined /*out*/; + resourceInputs["httpProxyConfig"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["identityProfile"] = undefined /*out*/; + resourceInputs["kubernetesVersion"] = undefined /*out*/; + resourceInputs["linuxProfile"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["maxAgentPools"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkProfile"] = undefined /*out*/; + resourceInputs["nodeResourceGroup"] = undefined /*out*/; + resourceInputs["oidcIssuerProfile"] = undefined /*out*/; + resourceInputs["podIdentityProfile"] = undefined /*out*/; + resourceInputs["powerState"] = undefined /*out*/; + resourceInputs["privateFQDN"] = undefined /*out*/; + resourceInputs["privateLinkResources"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["publicNetworkAccess"] = undefined /*out*/; + resourceInputs["securityProfile"] = undefined /*out*/; + resourceInputs["servicePrincipalProfile"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["storageProfile"] = undefined /*out*/; + resourceInputs["supportPlan"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["upgradeSettings"] = undefined /*out*/; + resourceInputs["windowsProfile"] = undefined /*out*/; + resourceInputs["workloadAutoScalerProfile"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:ManagedCluster" }, { type: "azure-native:containerservice/v20170831:ManagedCluster" }, { type: "azure-native:containerservice/v20180331:ManagedCluster" }, { type: "azure-native:containerservice/v20180801preview:ManagedCluster" }, { type: "azure-native:containerservice/v20190201:ManagedCluster" }, { type: "azure-native:containerservice/v20190401:ManagedCluster" }, { type: "azure-native:containerservice/v20190601:ManagedCluster" }, { type: "azure-native:containerservice/v20190801:ManagedCluster" }, { type: "azure-native:containerservice/v20191001:ManagedCluster" }, { type: "azure-native:containerservice/v20191101:ManagedCluster" }, { type: "azure-native:containerservice/v20200101:ManagedCluster" }, { type: "azure-native:containerservice/v20200201:ManagedCluster" }, { type: "azure-native:containerservice/v20200301:ManagedCluster" }, { type: "azure-native:containerservice/v20200401:ManagedCluster" }, { type: "azure-native:containerservice/v20200601:ManagedCluster" }, { type: "azure-native:containerservice/v20200701:ManagedCluster" }, { type: "azure-native:containerservice/v20200901:ManagedCluster" }, { type: "azure-native:containerservice/v20201101:ManagedCluster" }, { type: "azure-native:containerservice/v20201201:ManagedCluster" }, { type: "azure-native:containerservice/v20210201:ManagedCluster" }, { type: "azure-native:containerservice/v20210301:ManagedCluster" }, { type: "azure-native:containerservice/v20210501:ManagedCluster" }, { type: "azure-native:containerservice/v20210701:ManagedCluster" }, { type: "azure-native:containerservice/v20210801:ManagedCluster" }, { type: "azure-native:containerservice/v20210901:ManagedCluster" }, { type: "azure-native:containerservice/v20211001:ManagedCluster" }, { type: "azure-native:containerservice/v20211101preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220101:ManagedCluster" }, { type: "azure-native:containerservice/v20220102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220201:ManagedCluster" }, { type: "azure-native:containerservice/v20220202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220301:ManagedCluster" }, { type: "azure-native:containerservice/v20220302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220401:ManagedCluster" }, { type: "azure-native:containerservice/v20220402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220601:ManagedCluster" }, { type: "azure-native:containerservice/v20220602preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220701:ManagedCluster" }, { type: "azure-native:containerservice/v20220702preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220802preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220803preview:ManagedCluster" }, { type: "azure-native:containerservice/v20220901:ManagedCluster" }, { type: "azure-native:containerservice/v20220902preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221002preview:ManagedCluster" }, { type: "azure-native:containerservice/v20221101:ManagedCluster" }, { type: "azure-native:containerservice/v20221102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230101:ManagedCluster" }, { type: "azure-native:containerservice/v20230102preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230201:ManagedCluster" }, { type: "azure-native:containerservice/v20230202preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230301:ManagedCluster" }, { type: "azure-native:containerservice/v20230302preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230401:ManagedCluster" }, { type: "azure-native:containerservice/v20230402preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230501:ManagedCluster" }, { type: "azure-native:containerservice/v20230502preview:ManagedCluster" }, { type: "azure-native:containerservice/v20230601:ManagedCluster" }, { type: "azure-native:containerservice/v20230602preview:ManagedCluster" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(ManagedCluster.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ManagedCluster resource. + */ +export interface ManagedClusterArgs { + /** + * The Azure Active Directory configuration. + */ + aadProfile?: pulumi.Input; + /** + * The profile of managed cluster add-on. + */ + addonProfiles?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The agent pool properties. + */ + agentPoolProfiles?: pulumi.Input[]>; + /** + * The access profile for managed cluster API server. + */ + apiServerAccessProfile?: pulumi.Input; + /** + * Parameters to be applied to the cluster-autoscaler when enabled + */ + autoScalerProfile?: pulumi.Input; + /** + * The auto upgrade configuration. + */ + autoUpgradeProfile?: pulumi.Input; + /** + * Azure Monitor addon profiles for monitoring the managed cluster. + */ + azureMonitorProfile?: pulumi.Input; + /** + * If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + */ + disableLocalAccounts?: pulumi.Input; + /** + * This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + */ + diskEncryptionSetID?: pulumi.Input; + /** + * This cannot be updated once the Managed Cluster has been created. + */ + dnsPrefix?: pulumi.Input; + /** + * (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. + */ + enablePodSecurityPolicy?: pulumi.Input; + /** + * Whether to enable Kubernetes Role-Based Access Control. + */ + enableRBAC?: pulumi.Input; + /** + * The extended location of the Virtual Machine. + */ + extendedLocation?: pulumi.Input; + /** + * This cannot be updated once the Managed Cluster has been created. + */ + fqdnSubdomain?: pulumi.Input; + /** + * Configurations for provisioning the cluster with HTTP proxy servers. + */ + httpProxyConfig?: pulumi.Input; + /** + * The identity of the managed cluster, if configured. + */ + identity?: pulumi.Input; + /** + * Identities associated with the cluster. + */ + identityProfile?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + */ + kubernetesVersion?: pulumi.Input; + /** + * The profile for Linux VMs in the Managed Cluster. + */ + linuxProfile?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * The network configuration profile. + */ + networkProfile?: pulumi.Input; + /** + * The name of the resource group containing agent pool nodes. + */ + nodeResourceGroup?: pulumi.Input; + /** + * The OIDC issuer profile of the Managed Cluster. + */ + oidcIssuerProfile?: pulumi.Input; + /** + * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. + */ + podIdentityProfile?: pulumi.Input; + /** + * Private link resources associated with the cluster. + */ + privateLinkResources?: pulumi.Input[]>; + /** + * Allow or deny public network access for AKS + */ + publicNetworkAccess?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName?: pulumi.Input; + /** + * Security profile for the managed cluster. + */ + securityProfile?: pulumi.Input; + /** + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + */ + servicePrincipalProfile?: pulumi.Input; + /** + * The managed cluster SKU. + */ + sku?: pulumi.Input; + /** + * Storage profile for the managed cluster. + */ + storageProfile?: pulumi.Input; + /** + * The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + */ + supportPlan?: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Settings for upgrading a cluster. + */ + upgradeSettings?: pulumi.Input; + /** + * The profile for Windows VMs in the Managed Cluster. + */ + windowsProfile?: pulumi.Input; + /** + * Workload Auto-scaler profile for the managed cluster. + */ + workloadAutoScalerProfile?: pulumi.Input; +} diff --git a/sdk/nodejs/containerservice/v20230701/privateEndpointConnection.ts b/sdk/nodejs/containerservice/v20230701/privateEndpointConnection.ts new file mode 100644 index 000000000000..589de0632bdf --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/privateEndpointConnection.ts @@ -0,0 +1,127 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * A private endpoint connection + */ +export class PrivateEndpointConnection extends pulumi.CustomResource { + /** + * Get an existing PrivateEndpointConnection 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): PrivateEndpointConnection { + return new PrivateEndpointConnection(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:containerservice/v20230701:PrivateEndpointConnection'; + + /** + * Returns true if the given object is an instance of PrivateEndpointConnection. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is PrivateEndpointConnection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === PrivateEndpointConnection.__pulumiType; + } + + /** + * The name of the private endpoint connection. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The resource of private endpoint. + */ + public readonly privateEndpoint!: pulumi.Output; + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + public readonly privateLinkServiceConnectionState!: pulumi.Output; + /** + * The current provisioning state. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * The resource type. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a PrivateEndpointConnection 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: PrivateEndpointConnectionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateLinkServiceConnectionState === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateLinkServiceConnectionState'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.resourceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceName'"); + } + resourceInputs["privateEndpoint"] = args ? args.privateEndpoint : undefined; + resourceInputs["privateEndpointConnectionName"] = args ? args.privateEndpointConnectionName : undefined; + resourceInputs["privateLinkServiceConnectionState"] = args ? args.privateLinkServiceConnectionState : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["resourceName"] = args ? args.resourceName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["name"] = undefined /*out*/; + resourceInputs["privateEndpoint"] = undefined /*out*/; + resourceInputs["privateLinkServiceConnectionState"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20200901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20201201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210801:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20210901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211001:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20211101preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220602preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220701:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220702preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220802preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220803preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220901:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20220902preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221002preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20221102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230101:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230102preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230201:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230202preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230301:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230302preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230401:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230402preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230501:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230502preview:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230601:PrivateEndpointConnection" }, { type: "azure-native:containerservice/v20230602preview:PrivateEndpointConnection" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(PrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a PrivateEndpointConnection resource. + */ +export interface PrivateEndpointConnectionArgs { + /** + * The resource of private endpoint. + */ + privateEndpoint?: pulumi.Input; + /** + * The name of the private endpoint connection. + */ + privateEndpointConnectionName?: pulumi.Input; + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + privateLinkServiceConnectionState: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName: pulumi.Input; +} diff --git a/sdk/nodejs/containerservice/v20230701/snapshot.ts b/sdk/nodejs/containerservice/v20230701/snapshot.ts new file mode 100644 index 000000000000..0a97f8090527 --- /dev/null +++ b/sdk/nodejs/containerservice/v20230701/snapshot.ts @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * A node pool snapshot resource. + */ +export class Snapshot extends pulumi.CustomResource { + /** + * Get an existing Snapshot 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Snapshot { + return new Snapshot(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:containerservice/v20230701:Snapshot'; + + /** + * Returns true if the given object is an instance of Snapshot. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Snapshot { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Snapshot.__pulumiType; + } + + /** + * CreationData to be used to specify the source agent pool resource ID to create this snapshot. + */ + public readonly creationData!: pulumi.Output; + /** + * Whether to use a FIPS-enabled OS. + */ + public /*out*/ readonly enableFIPS!: pulumi.Output; + /** + * The version of Kubernetes. + */ + public /*out*/ readonly kubernetesVersion!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The version of node image. + */ + public /*out*/ readonly nodeImageVersion!: pulumi.Output; + /** + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + */ + public /*out*/ readonly osSku!: pulumi.Output; + /** + * The operating system type. The default is Linux. + */ + public /*out*/ readonly osType!: pulumi.Output; + /** + * The type of a snapshot. The default is NodePool. + */ + public readonly snapshotType!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * The size of the VM. + */ + public /*out*/ readonly vmSize!: pulumi.Output; + + /** + * Create a Snapshot 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: SnapshotArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["creationData"] = args ? args.creationData : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["resourceName"] = args ? args.resourceName : undefined; + resourceInputs["snapshotType"] = args ? args.snapshotType : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["enableFIPS"] = undefined /*out*/; + resourceInputs["kubernetesVersion"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["nodeImageVersion"] = undefined /*out*/; + resourceInputs["osSku"] = undefined /*out*/; + resourceInputs["osType"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["vmSize"] = undefined /*out*/; + } else { + resourceInputs["creationData"] = undefined /*out*/; + resourceInputs["enableFIPS"] = undefined /*out*/; + resourceInputs["kubernetesVersion"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["nodeImageVersion"] = undefined /*out*/; + resourceInputs["osSku"] = undefined /*out*/; + resourceInputs["osType"] = undefined /*out*/; + resourceInputs["snapshotType"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["vmSize"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:containerservice:Snapshot" }, { type: "azure-native:containerservice/v20210801:Snapshot" }, { type: "azure-native:containerservice/v20210901:Snapshot" }, { type: "azure-native:containerservice/v20211001:Snapshot" }, { type: "azure-native:containerservice/v20211101preview:Snapshot" }, { type: "azure-native:containerservice/v20220101:Snapshot" }, { type: "azure-native:containerservice/v20220102preview:Snapshot" }, { type: "azure-native:containerservice/v20220201:Snapshot" }, { type: "azure-native:containerservice/v20220202preview:Snapshot" }, { type: "azure-native:containerservice/v20220301:Snapshot" }, { type: "azure-native:containerservice/v20220302preview:Snapshot" }, { type: "azure-native:containerservice/v20220401:Snapshot" }, { type: "azure-native:containerservice/v20220402preview:Snapshot" }, { type: "azure-native:containerservice/v20220502preview:Snapshot" }, { type: "azure-native:containerservice/v20220601:Snapshot" }, { type: "azure-native:containerservice/v20220602preview:Snapshot" }, { type: "azure-native:containerservice/v20220701:Snapshot" }, { type: "azure-native:containerservice/v20220702preview:Snapshot" }, { type: "azure-native:containerservice/v20220802preview:Snapshot" }, { type: "azure-native:containerservice/v20220803preview:Snapshot" }, { type: "azure-native:containerservice/v20220901:Snapshot" }, { type: "azure-native:containerservice/v20220902preview:Snapshot" }, { type: "azure-native:containerservice/v20221002preview:Snapshot" }, { type: "azure-native:containerservice/v20221101:Snapshot" }, { type: "azure-native:containerservice/v20221102preview:Snapshot" }, { type: "azure-native:containerservice/v20230101:Snapshot" }, { type: "azure-native:containerservice/v20230102preview:Snapshot" }, { type: "azure-native:containerservice/v20230201:Snapshot" }, { type: "azure-native:containerservice/v20230202preview:Snapshot" }, { type: "azure-native:containerservice/v20230301:Snapshot" }, { type: "azure-native:containerservice/v20230302preview:Snapshot" }, { type: "azure-native:containerservice/v20230401:Snapshot" }, { type: "azure-native:containerservice/v20230402preview:Snapshot" }, { type: "azure-native:containerservice/v20230501:Snapshot" }, { type: "azure-native:containerservice/v20230502preview:Snapshot" }, { type: "azure-native:containerservice/v20230601:Snapshot" }, { type: "azure-native:containerservice/v20230602preview:Snapshot" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Snapshot.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Snapshot resource. + */ +export interface SnapshotArgs { + /** + * CreationData to be used to specify the source agent pool resource ID to create this snapshot. + */ + creationData?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the managed cluster resource. + */ + resourceName?: pulumi.Input; + /** + * The type of a snapshot. The default is NodePool. + */ + snapshotType?: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/containerstorage/getPool.ts b/sdk/nodejs/containerstorage/getPool.ts index 9fe3409eaefd..c98b80824fec 100644 --- a/sdk/nodejs/containerstorage/getPool.ts +++ b/sdk/nodejs/containerstorage/getPool.ts @@ -9,7 +9,7 @@ import * as utilities from "../utilities"; /** * Get a Pool - * Azure REST API version: 2023-03-01-preview. + * Azure REST API version: 2023-07-01-preview. */ export function getPool(args: GetPoolArgs, opts?: pulumi.InvokeOptions): Promise { @@ -36,21 +36,9 @@ export interface GetPoolArgs { */ export interface GetPoolResult { /** - * List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. + * List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. */ - readonly assignments: string[]; - /** - * Disk Pool Properties - */ - readonly diskPoolProperties?: outputs.containerstorage.DiskPoolPropertiesResponse; - /** - * Elastic San Pool Properties - */ - readonly elasticSanPoolProperties: outputs.containerstorage.ElasticSanPoolPropertiesResponse; - /** - * Ephemeral Pool Properties - */ - readonly ephemeralPoolProperties?: outputs.containerstorage.EphemeralPoolPropertiesResponse; + readonly assignments?: outputs.containerstorage.AssignmentResponse[]; /** * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */ @@ -64,17 +52,25 @@ export interface GetPoolResult { */ readonly name: string; /** - * Initial capacity of the pool in GiB. - */ - readonly poolCapacityGiB: number; - /** - * Type of the Pool: ephemeral, disk, managed, or elasticsan. + * Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. */ - readonly poolType: number; + readonly poolType: outputs.containerstorage.PoolTypeResponse; /** * The status of the last operation. */ readonly provisioningState: string; + /** + * ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + */ + readonly reclaimPolicy?: string; + /** + * Resources represent the resources the pool should have. + */ + readonly resources?: outputs.containerstorage.ResourcesResponse; + /** + * The operational status of the resource + */ + readonly status: outputs.containerstorage.ResourceOperationalStatusResponse; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ @@ -90,11 +86,11 @@ export interface GetPoolResult { /** * List of availability zones that resources can be created in. */ - readonly zones: string[]; + readonly zones?: string[]; } /** * Get a Pool - * Azure REST API version: 2023-03-01-preview. + * Azure REST API version: 2023-07-01-preview. */ export function getPoolOutput(args: GetPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { return pulumi.output(args).apply((a: any) => getPool(a, opts)) diff --git a/sdk/nodejs/containerstorage/getSnapshot.ts b/sdk/nodejs/containerstorage/getSnapshot.ts new file mode 100644 index 000000000000..43a4c3cc68f3 --- /dev/null +++ b/sdk/nodejs/containerstorage/getSnapshot.ts @@ -0,0 +1,93 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Get a Snapshot + * Azure REST API version: 2023-07-01-preview. + */ +export function getSnapshot(args: GetSnapshotArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:containerstorage:getSnapshot", { + "poolName": args.poolName, + "resourceGroupName": args.resourceGroupName, + "snapshotName": args.snapshotName, + }, opts); +} + +export interface GetSnapshotArgs { + /** + * Pool Object + */ + poolName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * Volume Snapshot Resource + */ + snapshotName: string; +} + +/** + * Concrete proxy resource types can be created by aliasing this type using a specific property type. + */ +export interface GetSnapshotResult { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * The status of the last operation. + */ + readonly provisioningState: string; + /** + * Reference to the source volume + */ + readonly source: string; + /** + * The status of the resource. + */ + readonly status: outputs.containerstorage.ResourceOperationalStatusResponse; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.containerstorage.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get a Snapshot + * Azure REST API version: 2023-07-01-preview. + */ +export function getSnapshotOutput(args: GetSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getSnapshot(a, opts)) +} + +export interface GetSnapshotOutputArgs { + /** + * Pool Object + */ + poolName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Volume Snapshot Resource + */ + snapshotName: pulumi.Input; +} diff --git a/sdk/nodejs/containerstorage/getVolume.ts b/sdk/nodejs/containerstorage/getVolume.ts index 3636ee16aff3..fade76e8fb58 100644 --- a/sdk/nodejs/containerstorage/getVolume.ts +++ b/sdk/nodejs/containerstorage/getVolume.ts @@ -9,7 +9,7 @@ import * as utilities from "../utilities"; /** * Get a Volume - * Azure REST API version: 2023-03-01-preview. + * Azure REST API version: 2023-07-01-preview. */ export function getVolume(args: GetVolumeArgs, opts?: pulumi.InvokeOptions): Promise { @@ -52,10 +52,6 @@ export interface GetVolumeResult { * String KV pairs indicating labels */ readonly labels: {[key: string]: string}; - /** - * List of string mount options - */ - readonly mountOptions: string[]; /** * The name of the resource */ @@ -65,9 +61,9 @@ export interface GetVolumeResult { */ readonly provisioningState: string; /** - * Reclaim Policy, Delete or Retain + * The status of the resource. */ - readonly reclaimPolicy: string; + readonly status: outputs.containerstorage.ResourceOperationalStatusResponse; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ @@ -77,13 +73,13 @@ export interface GetVolumeResult { */ readonly type: string; /** - * Indicates how the volume should be attached + * Properties of the volume */ - readonly volumeMode: string; + readonly volumeType: outputs.containerstorage.VolumeTypeResponse; } /** * Get a Volume - * Azure REST API version: 2023-03-01-preview. + * Azure REST API version: 2023-07-01-preview. */ export function getVolumeOutput(args: GetVolumeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { return pulumi.output(args).apply((a: any) => getVolume(a, opts)) diff --git a/sdk/nodejs/containerstorage/getVolumeSnapshot.ts b/sdk/nodejs/containerstorage/getVolumeSnapshot.ts deleted file mode 100644 index 31818e81fa85..000000000000 --- a/sdk/nodejs/containerstorage/getVolumeSnapshot.ts +++ /dev/null @@ -1,101 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../types/input"; -import * as outputs from "../types/output"; -import * as enums from "../types/enums"; -import * as utilities from "../utilities"; - -/** - * Get a VolumeSnapshot - * Azure REST API version: 2023-03-01-preview. - */ -export function getVolumeSnapshot(args: GetVolumeSnapshotArgs, opts?: pulumi.InvokeOptions): Promise { - - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("azure-native:containerstorage:getVolumeSnapshot", { - "poolName": args.poolName, - "resourceGroupName": args.resourceGroupName, - "volumeSnapshotName": args.volumeSnapshotName, - }, opts); -} - -export interface GetVolumeSnapshotArgs { - /** - * Pool Object - */ - poolName: string; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: string; - /** - * Volume Snapshot Resource - */ - volumeSnapshotName: string; -} - -/** - * Concrete proxy resource types can be created by aliasing this type using a specific property type. - */ -export interface GetVolumeSnapshotResult { - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - */ - readonly id: string; - /** - * List of string mount options - */ - readonly mountOptions: string[]; - /** - * The name of the resource - */ - readonly name: string; - /** - * The status of the last operation. - */ - readonly provisioningState: string; - /** - * Reclaim Policy, Delete or Retain - */ - readonly reclaimPolicy: string; - /** - * Reference to the source volume - */ - readonly source: string; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - readonly systemData: outputs.containerstorage.SystemDataResponse; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - readonly type: string; - /** - * Indicates how the volumes created from the snapshot should be attached - */ - readonly volumeMode: string; -} -/** - * Get a VolumeSnapshot - * Azure REST API version: 2023-03-01-preview. - */ -export function getVolumeSnapshotOutput(args: GetVolumeSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply((a: any) => getVolumeSnapshot(a, opts)) -} - -export interface GetVolumeSnapshotOutputArgs { - /** - * Pool Object - */ - poolName: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * Volume Snapshot Resource - */ - volumeSnapshotName: pulumi.Input; -} diff --git a/sdk/nodejs/containerstorage/index.ts b/sdk/nodejs/containerstorage/index.ts index e667d8bc6035..b0f944a48413 100644 --- a/sdk/nodejs/containerstorage/index.ts +++ b/sdk/nodejs/containerstorage/index.ts @@ -10,40 +10,40 @@ export const getPool: typeof import("./getPool").getPool = null as any; export const getPoolOutput: typeof import("./getPool").getPoolOutput = null as any; utilities.lazyLoad(exports, ["getPool","getPoolOutput"], () => require("./getPool")); +export { GetSnapshotArgs, GetSnapshotResult, GetSnapshotOutputArgs } from "./getSnapshot"; +export const getSnapshot: typeof import("./getSnapshot").getSnapshot = null as any; +export const getSnapshotOutput: typeof import("./getSnapshot").getSnapshotOutput = null as any; +utilities.lazyLoad(exports, ["getSnapshot","getSnapshotOutput"], () => require("./getSnapshot")); + export { GetVolumeArgs, GetVolumeResult, GetVolumeOutputArgs } from "./getVolume"; export const getVolume: typeof import("./getVolume").getVolume = null as any; export const getVolumeOutput: typeof import("./getVolume").getVolumeOutput = null as any; utilities.lazyLoad(exports, ["getVolume","getVolumeOutput"], () => require("./getVolume")); -export { GetVolumeSnapshotArgs, GetVolumeSnapshotResult, GetVolumeSnapshotOutputArgs } from "./getVolumeSnapshot"; -export const getVolumeSnapshot: typeof import("./getVolumeSnapshot").getVolumeSnapshot = null as any; -export const getVolumeSnapshotOutput: typeof import("./getVolumeSnapshot").getVolumeSnapshotOutput = null as any; -utilities.lazyLoad(exports, ["getVolumeSnapshot","getVolumeSnapshotOutput"], () => require("./getVolumeSnapshot")); - export { PoolArgs } from "./pool"; export type Pool = import("./pool").Pool; export const Pool: typeof import("./pool").Pool = null as any; utilities.lazyLoad(exports, ["Pool"], () => require("./pool")); +export { SnapshotArgs } from "./snapshot"; +export type Snapshot = import("./snapshot").Snapshot; +export const Snapshot: typeof import("./snapshot").Snapshot = null as any; +utilities.lazyLoad(exports, ["Snapshot"], () => require("./snapshot")); + export { VolumeArgs } from "./volume"; export type Volume = import("./volume").Volume; export const Volume: typeof import("./volume").Volume = null as any; utilities.lazyLoad(exports, ["Volume"], () => require("./volume")); -export { VolumeSnapshotArgs } from "./volumeSnapshot"; -export type VolumeSnapshot = import("./volumeSnapshot").VolumeSnapshot; -export const VolumeSnapshot: typeof import("./volumeSnapshot").VolumeSnapshot = null as any; -utilities.lazyLoad(exports, ["VolumeSnapshot"], () => require("./volumeSnapshot")); - // Export enums: export * from "../types/enums/containerstorage"; // Export sub-modules: -import * as v20230301preview from "./v20230301preview"; +import * as v20230701preview from "./v20230701preview"; export { - v20230301preview, + v20230701preview, }; const _module = { @@ -52,10 +52,10 @@ const _module = { switch (type) { case "azure-native:containerstorage:Pool": return new Pool(name, undefined, { urn }) + case "azure-native:containerstorage:Snapshot": + return new Snapshot(name, undefined, { urn }) case "azure-native:containerstorage:Volume": return new Volume(name, undefined, { urn }) - case "azure-native:containerstorage:VolumeSnapshot": - return new VolumeSnapshot(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } diff --git a/sdk/nodejs/containerstorage/pool.ts b/sdk/nodejs/containerstorage/pool.ts index e5081aa9427b..ba2428c5c5a7 100644 --- a/sdk/nodejs/containerstorage/pool.ts +++ b/sdk/nodejs/containerstorage/pool.ts @@ -9,7 +9,7 @@ import * as utilities from "../utilities"; /** * Pool resource - * Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview + * Azure REST API version: 2023-07-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview */ export class Pool extends pulumi.CustomResource { /** @@ -39,21 +39,9 @@ export class Pool extends pulumi.CustomResource { } /** - * List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. + * List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. */ - public readonly assignments!: pulumi.Output; - /** - * Disk Pool Properties - */ - public readonly diskPoolProperties!: pulumi.Output; - /** - * Elastic San Pool Properties - */ - public readonly elasticSanPoolProperties!: pulumi.Output; - /** - * Ephemeral Pool Properties - */ - public readonly ephemeralPoolProperties!: pulumi.Output; + public readonly assignments!: pulumi.Output; /** * The geo-location where the resource lives */ @@ -63,17 +51,25 @@ export class Pool extends pulumi.CustomResource { */ public /*out*/ readonly name!: pulumi.Output; /** - * Initial capacity of the pool in GiB. - */ - public readonly poolCapacityGiB!: pulumi.Output; - /** - * Type of the Pool: ephemeral, disk, managed, or elasticsan. + * Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. */ - public readonly poolType!: pulumi.Output; + public readonly poolType!: pulumi.Output; /** * The status of the last operation. */ public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + */ + public readonly reclaimPolicy!: pulumi.Output; + /** + * Resources represent the resources the pool should have. + */ + public readonly resources!: pulumi.Output; + /** + * The operational status of the resource + */ + public /*out*/ readonly status!: pulumi.Output; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ @@ -89,7 +85,7 @@ export class Pool extends pulumi.CustomResource { /** * List of availability zones that resources can be created in. */ - public readonly zones!: pulumi.Output; + public readonly zones!: pulumi.Output; /** * Create a Pool resource with the given unique name, arguments, and options. @@ -102,56 +98,42 @@ export class Pool extends pulumi.CustomResource { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { - if ((!args || args.assignments === undefined) && !opts.urn) { - throw new Error("Missing required property 'assignments'"); - } - if ((!args || args.elasticSanPoolProperties === undefined) && !opts.urn) { - throw new Error("Missing required property 'elasticSanPoolProperties'"); - } - if ((!args || args.poolCapacityGiB === undefined) && !opts.urn) { - throw new Error("Missing required property 'poolCapacityGiB'"); - } if ((!args || args.poolType === undefined) && !opts.urn) { throw new Error("Missing required property 'poolType'"); } if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - if ((!args || args.zones === undefined) && !opts.urn) { - throw new Error("Missing required property 'zones'"); - } resourceInputs["assignments"] = args ? args.assignments : undefined; - resourceInputs["diskPoolProperties"] = args ? (args.diskPoolProperties ? pulumi.output(args.diskPoolProperties).apply(inputs.containerstorage.diskPoolPropertiesArgsProvideDefaults) : undefined) : undefined; - resourceInputs["elasticSanPoolProperties"] = args ? args.elasticSanPoolProperties : undefined; - resourceInputs["ephemeralPoolProperties"] = args ? (args.ephemeralPoolProperties ? pulumi.output(args.ephemeralPoolProperties).apply(inputs.containerstorage.ephemeralPoolPropertiesArgsProvideDefaults) : undefined) : undefined; resourceInputs["location"] = args ? args.location : undefined; - resourceInputs["poolCapacityGiB"] = args ? args.poolCapacityGiB : undefined; resourceInputs["poolName"] = args ? args.poolName : undefined; - resourceInputs["poolType"] = args ? args.poolType : undefined; + resourceInputs["poolType"] = args ? (args.poolType ? pulumi.output(args.poolType).apply(inputs.containerstorage.poolTypeArgsProvideDefaults) : undefined) : undefined; + resourceInputs["reclaimPolicy"] = args ? args.reclaimPolicy : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["resources"] = args ? (args.resources ? pulumi.output(args.resources).apply(inputs.containerstorage.resourcesArgsProvideDefaults) : undefined) : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["zones"] = args ? args.zones : undefined; resourceInputs["name"] = undefined /*out*/; resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { resourceInputs["assignments"] = undefined /*out*/; - resourceInputs["diskPoolProperties"] = undefined /*out*/; - resourceInputs["elasticSanPoolProperties"] = undefined /*out*/; - resourceInputs["ephemeralPoolProperties"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["poolCapacityGiB"] = undefined /*out*/; resourceInputs["poolType"] = undefined /*out*/; resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["reclaimPolicy"] = undefined /*out*/; + resourceInputs["resources"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; resourceInputs["zones"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerstorage/v20230301preview:Pool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerstorage/v20230701preview:Pool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Pool.__pulumiType, name, resourceInputs, opts); } @@ -162,41 +144,33 @@ export class Pool extends pulumi.CustomResource { */ export interface PoolArgs { /** - * List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - */ - assignments: pulumi.Input[]>; - /** - * Disk Pool Properties - */ - diskPoolProperties?: pulumi.Input; - /** - * Elastic San Pool Properties + * List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. */ - elasticSanPoolProperties: pulumi.Input; - /** - * Ephemeral Pool Properties - */ - ephemeralPoolProperties?: pulumi.Input; + assignments?: pulumi.Input[]>; /** * The geo-location where the resource lives */ location?: pulumi.Input; - /** - * Initial capacity of the pool in GiB. - */ - poolCapacityGiB: pulumi.Input; /** * Pool Object */ poolName?: pulumi.Input; /** - * Type of the Pool: ephemeral, disk, managed, or elasticsan. + * Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. */ - poolType: pulumi.Input; + poolType: pulumi.Input; + /** + * ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + */ + reclaimPolicy?: pulumi.Input; /** * The name of the resource group. The name is case insensitive. */ resourceGroupName: pulumi.Input; + /** + * Resources represent the resources the pool should have. + */ + resources?: pulumi.Input; /** * Resource tags. */ @@ -204,5 +178,5 @@ export interface PoolArgs { /** * List of availability zones that resources can be created in. */ - zones: pulumi.Input[]>; + zones?: pulumi.Input[]>; } diff --git a/sdk/nodejs/containerstorage/snapshot.ts b/sdk/nodejs/containerstorage/snapshot.ts new file mode 100644 index 000000000000..f4500ac17899 --- /dev/null +++ b/sdk/nodejs/containerstorage/snapshot.ts @@ -0,0 +1,130 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Concrete proxy resource types can be created by aliasing this type using a specific property type. + * Azure REST API version: 2023-07-01-preview. + */ +export class Snapshot extends pulumi.CustomResource { + /** + * Get an existing Snapshot 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Snapshot { + return new Snapshot(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:containerstorage:Snapshot'; + + /** + * Returns true if the given object is an instance of Snapshot. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Snapshot { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Snapshot.__pulumiType; + } + + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The status of the last operation. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Reference to the source volume + */ + public readonly source!: pulumi.Output; + /** + * The status of the resource. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Snapshot 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: SnapshotArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.poolName === undefined) && !opts.urn) { + throw new Error("Missing required property 'poolName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.source === undefined) && !opts.urn) { + throw new Error("Missing required property 'source'"); + } + resourceInputs["poolName"] = args ? args.poolName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["snapshotName"] = args ? args.snapshotName : undefined; + resourceInputs["source"] = args ? args.source : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["source"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:containerstorage/v20230701preview:Snapshot" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Snapshot.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Snapshot resource. + */ +export interface SnapshotArgs { + /** + * Pool Object + */ + poolName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Volume Snapshot Resource + */ + snapshotName?: pulumi.Input; + /** + * Reference to the source volume + */ + source: pulumi.Input; +} diff --git a/sdk/nodejs/containerstorage/v20230301preview/getPool.ts b/sdk/nodejs/containerstorage/v20230301preview/getPool.ts deleted file mode 100644 index c56f68a72859..000000000000 --- a/sdk/nodejs/containerstorage/v20230301preview/getPool.ts +++ /dev/null @@ -1,110 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * Get a Pool - */ -export function getPool(args: GetPoolArgs, opts?: pulumi.InvokeOptions): Promise { - - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("azure-native:containerstorage/v20230301preview:getPool", { - "poolName": args.poolName, - "resourceGroupName": args.resourceGroupName, - }, opts); -} - -export interface GetPoolArgs { - /** - * Pool Object - */ - poolName: string; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: string; -} - -/** - * Pool resource - */ -export interface GetPoolResult { - /** - * List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - */ - readonly assignments: string[]; - /** - * Disk Pool Properties - */ - readonly diskPoolProperties?: outputs.containerstorage.v20230301preview.DiskPoolPropertiesResponse; - /** - * Elastic San Pool Properties - */ - readonly elasticSanPoolProperties: outputs.containerstorage.v20230301preview.ElasticSanPoolPropertiesResponse; - /** - * Ephemeral Pool Properties - */ - readonly ephemeralPoolProperties?: outputs.containerstorage.v20230301preview.EphemeralPoolPropertiesResponse; - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - */ - readonly id: string; - /** - * The geo-location where the resource lives - */ - readonly location: string; - /** - * The name of the resource - */ - readonly name: string; - /** - * Initial capacity of the pool in GiB. - */ - readonly poolCapacityGiB: number; - /** - * Type of the Pool: ephemeral, disk, managed, or elasticsan. - */ - readonly poolType: number; - /** - * The status of the last operation. - */ - readonly provisioningState: string; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - readonly systemData: outputs.containerstorage.v20230301preview.SystemDataResponse; - /** - * Resource tags. - */ - readonly tags?: {[key: string]: string}; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - readonly type: string; - /** - * List of availability zones that resources can be created in. - */ - readonly zones: string[]; -} -/** - * Get a Pool - */ -export function getPoolOutput(args: GetPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply((a: any) => getPool(a, opts)) -} - -export interface GetPoolOutputArgs { - /** - * Pool Object - */ - poolName: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; -} diff --git a/sdk/nodejs/containerstorage/v20230301preview/getVolumeSnapshot.ts b/sdk/nodejs/containerstorage/v20230301preview/getVolumeSnapshot.ts deleted file mode 100644 index abd3b26678cc..000000000000 --- a/sdk/nodejs/containerstorage/v20230301preview/getVolumeSnapshot.ts +++ /dev/null @@ -1,99 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * Get a VolumeSnapshot - */ -export function getVolumeSnapshot(args: GetVolumeSnapshotArgs, opts?: pulumi.InvokeOptions): Promise { - - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("azure-native:containerstorage/v20230301preview:getVolumeSnapshot", { - "poolName": args.poolName, - "resourceGroupName": args.resourceGroupName, - "volumeSnapshotName": args.volumeSnapshotName, - }, opts); -} - -export interface GetVolumeSnapshotArgs { - /** - * Pool Object - */ - poolName: string; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: string; - /** - * Volume Snapshot Resource - */ - volumeSnapshotName: string; -} - -/** - * Concrete proxy resource types can be created by aliasing this type using a specific property type. - */ -export interface GetVolumeSnapshotResult { - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - */ - readonly id: string; - /** - * List of string mount options - */ - readonly mountOptions: string[]; - /** - * The name of the resource - */ - readonly name: string; - /** - * The status of the last operation. - */ - readonly provisioningState: string; - /** - * Reclaim Policy, Delete or Retain - */ - readonly reclaimPolicy: string; - /** - * Reference to the source volume - */ - readonly source: string; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - readonly systemData: outputs.containerstorage.v20230301preview.SystemDataResponse; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - readonly type: string; - /** - * Indicates how the volumes created from the snapshot should be attached - */ - readonly volumeMode: string; -} -/** - * Get a VolumeSnapshot - */ -export function getVolumeSnapshotOutput(args: GetVolumeSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply((a: any) => getVolumeSnapshot(a, opts)) -} - -export interface GetVolumeSnapshotOutputArgs { - /** - * Pool Object - */ - poolName: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * Volume Snapshot Resource - */ - volumeSnapshotName: pulumi.Input; -} diff --git a/sdk/nodejs/containerstorage/v20230301preview/index.ts b/sdk/nodejs/containerstorage/v20230301preview/index.ts deleted file mode 100644 index 9f9fd94abeac..000000000000 --- a/sdk/nodejs/containerstorage/v20230301preview/index.ts +++ /dev/null @@ -1,57 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as utilities from "../../utilities"; - -// Export members: -export { GetPoolArgs, GetPoolResult, GetPoolOutputArgs } from "./getPool"; -export const getPool: typeof import("./getPool").getPool = null as any; -export const getPoolOutput: typeof import("./getPool").getPoolOutput = null as any; -utilities.lazyLoad(exports, ["getPool","getPoolOutput"], () => require("./getPool")); - -export { GetVolumeArgs, GetVolumeResult, GetVolumeOutputArgs } from "./getVolume"; -export const getVolume: typeof import("./getVolume").getVolume = null as any; -export const getVolumeOutput: typeof import("./getVolume").getVolumeOutput = null as any; -utilities.lazyLoad(exports, ["getVolume","getVolumeOutput"], () => require("./getVolume")); - -export { GetVolumeSnapshotArgs, GetVolumeSnapshotResult, GetVolumeSnapshotOutputArgs } from "./getVolumeSnapshot"; -export const getVolumeSnapshot: typeof import("./getVolumeSnapshot").getVolumeSnapshot = null as any; -export const getVolumeSnapshotOutput: typeof import("./getVolumeSnapshot").getVolumeSnapshotOutput = null as any; -utilities.lazyLoad(exports, ["getVolumeSnapshot","getVolumeSnapshotOutput"], () => require("./getVolumeSnapshot")); - -export { PoolArgs } from "./pool"; -export type Pool = import("./pool").Pool; -export const Pool: typeof import("./pool").Pool = null as any; -utilities.lazyLoad(exports, ["Pool"], () => require("./pool")); - -export { VolumeArgs } from "./volume"; -export type Volume = import("./volume").Volume; -export const Volume: typeof import("./volume").Volume = null as any; -utilities.lazyLoad(exports, ["Volume"], () => require("./volume")); - -export { VolumeSnapshotArgs } from "./volumeSnapshot"; -export type VolumeSnapshot = import("./volumeSnapshot").VolumeSnapshot; -export const VolumeSnapshot: typeof import("./volumeSnapshot").VolumeSnapshot = null as any; -utilities.lazyLoad(exports, ["VolumeSnapshot"], () => require("./volumeSnapshot")); - - -// Export enums: -export * from "../../types/enums/containerstorage/v20230301preview"; - -const _module = { - version: utilities.getVersion(), - construct: (name: string, type: string, urn: string): pulumi.Resource => { - switch (type) { - case "azure-native:containerstorage/v20230301preview:Pool": - return new Pool(name, undefined, { urn }) - case "azure-native:containerstorage/v20230301preview:Volume": - return new Volume(name, undefined, { urn }) - case "azure-native:containerstorage/v20230301preview:VolumeSnapshot": - return new VolumeSnapshot(name, undefined, { urn }) - default: - throw new Error(`unknown resource type ${type}`); - } - }, -}; -pulumi.runtime.registerResourceModule("azure-native", "containerstorage/v20230301preview", _module) diff --git a/sdk/nodejs/containerstorage/v20230301preview/pool.ts b/sdk/nodejs/containerstorage/v20230301preview/pool.ts deleted file mode 100644 index 35e7a1d6f577..000000000000 --- a/sdk/nodejs/containerstorage/v20230301preview/pool.ts +++ /dev/null @@ -1,207 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * Pool resource - */ -export class Pool extends pulumi.CustomResource { - /** - * Get an existing Pool 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. - */ - public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Pool { - return new Pool(name, undefined as any, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'azure-native:containerstorage/v20230301preview:Pool'; - - /** - * Returns true if the given object is an instance of Pool. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is Pool { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === Pool.__pulumiType; - } - - /** - * List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - */ - public readonly assignments!: pulumi.Output; - /** - * Disk Pool Properties - */ - public readonly diskPoolProperties!: pulumi.Output; - /** - * Elastic San Pool Properties - */ - public readonly elasticSanPoolProperties!: pulumi.Output; - /** - * Ephemeral Pool Properties - */ - public readonly ephemeralPoolProperties!: pulumi.Output; - /** - * The geo-location where the resource lives - */ - public readonly location!: pulumi.Output; - /** - * The name of the resource - */ - public /*out*/ readonly name!: pulumi.Output; - /** - * Initial capacity of the pool in GiB. - */ - public readonly poolCapacityGiB!: pulumi.Output; - /** - * Type of the Pool: ephemeral, disk, managed, or elasticsan. - */ - public readonly poolType!: pulumi.Output; - /** - * The status of the last operation. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - public /*out*/ readonly systemData!: pulumi.Output; - /** - * Resource tags. - */ - public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - public /*out*/ readonly type!: pulumi.Output; - /** - * List of availability zones that resources can be created in. - */ - public readonly zones!: pulumi.Output; - - /** - * Create a Pool 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: PoolArgs, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (!opts.id) { - if ((!args || args.assignments === undefined) && !opts.urn) { - throw new Error("Missing required property 'assignments'"); - } - if ((!args || args.elasticSanPoolProperties === undefined) && !opts.urn) { - throw new Error("Missing required property 'elasticSanPoolProperties'"); - } - if ((!args || args.poolCapacityGiB === undefined) && !opts.urn) { - throw new Error("Missing required property 'poolCapacityGiB'"); - } - if ((!args || args.poolType === undefined) && !opts.urn) { - throw new Error("Missing required property 'poolType'"); - } - if ((!args || args.resourceGroupName === undefined) && !opts.urn) { - throw new Error("Missing required property 'resourceGroupName'"); - } - if ((!args || args.zones === undefined) && !opts.urn) { - throw new Error("Missing required property 'zones'"); - } - resourceInputs["assignments"] = args ? args.assignments : undefined; - resourceInputs["diskPoolProperties"] = args ? (args.diskPoolProperties ? pulumi.output(args.diskPoolProperties).apply(inputs.containerstorage.v20230301preview.diskPoolPropertiesArgsProvideDefaults) : undefined) : undefined; - resourceInputs["elasticSanPoolProperties"] = args ? args.elasticSanPoolProperties : undefined; - resourceInputs["ephemeralPoolProperties"] = args ? (args.ephemeralPoolProperties ? pulumi.output(args.ephemeralPoolProperties).apply(inputs.containerstorage.v20230301preview.ephemeralPoolPropertiesArgsProvideDefaults) : undefined) : undefined; - resourceInputs["location"] = args ? args.location : undefined; - resourceInputs["poolCapacityGiB"] = args ? args.poolCapacityGiB : undefined; - resourceInputs["poolName"] = args ? args.poolName : undefined; - resourceInputs["poolType"] = args ? args.poolType : undefined; - resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["zones"] = args ? args.zones : undefined; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - } else { - resourceInputs["assignments"] = undefined /*out*/; - resourceInputs["diskPoolProperties"] = undefined /*out*/; - resourceInputs["elasticSanPoolProperties"] = undefined /*out*/; - resourceInputs["ephemeralPoolProperties"] = undefined /*out*/; - resourceInputs["location"] = undefined /*out*/; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["poolCapacityGiB"] = undefined /*out*/; - resourceInputs["poolType"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["tags"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - resourceInputs["zones"] = undefined /*out*/; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerstorage:Pool" }] }; - opts = pulumi.mergeOptions(opts, aliasOpts); - super(Pool.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * The set of arguments for constructing a Pool resource. - */ -export interface PoolArgs { - /** - * List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - */ - assignments: pulumi.Input[]>; - /** - * Disk Pool Properties - */ - diskPoolProperties?: pulumi.Input; - /** - * Elastic San Pool Properties - */ - elasticSanPoolProperties: pulumi.Input; - /** - * Ephemeral Pool Properties - */ - ephemeralPoolProperties?: pulumi.Input; - /** - * The geo-location where the resource lives - */ - location?: pulumi.Input; - /** - * Initial capacity of the pool in GiB. - */ - poolCapacityGiB: pulumi.Input; - /** - * Pool Object - */ - poolName?: pulumi.Input; - /** - * Type of the Pool: ephemeral, disk, managed, or elasticsan. - */ - poolType: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * Resource tags. - */ - tags?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * List of availability zones that resources can be created in. - */ - zones: pulumi.Input[]>; -} diff --git a/sdk/nodejs/containerstorage/v20230301preview/volumeSnapshot.ts b/sdk/nodejs/containerstorage/v20230301preview/volumeSnapshot.ts deleted file mode 100644 index db9597a7ef9a..000000000000 --- a/sdk/nodejs/containerstorage/v20230301preview/volumeSnapshot.ts +++ /dev/null @@ -1,162 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * Concrete proxy resource types can be created by aliasing this type using a specific property type. - */ -export class VolumeSnapshot extends pulumi.CustomResource { - /** - * Get an existing VolumeSnapshot 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. - */ - public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): VolumeSnapshot { - return new VolumeSnapshot(name, undefined as any, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'azure-native:containerstorage/v20230301preview:VolumeSnapshot'; - - /** - * Returns true if the given object is an instance of VolumeSnapshot. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is VolumeSnapshot { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === VolumeSnapshot.__pulumiType; - } - - /** - * List of string mount options - */ - public readonly mountOptions!: pulumi.Output; - /** - * The name of the resource - */ - public /*out*/ readonly name!: pulumi.Output; - /** - * The status of the last operation. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * Reclaim Policy, Delete or Retain - */ - public readonly reclaimPolicy!: pulumi.Output; - /** - * Reference to the source volume - */ - public readonly source!: pulumi.Output; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - public /*out*/ readonly systemData!: pulumi.Output; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - public /*out*/ readonly type!: pulumi.Output; - /** - * Indicates how the volumes created from the snapshot should be attached - */ - public readonly volumeMode!: pulumi.Output; - - /** - * Create a VolumeSnapshot 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: VolumeSnapshotArgs, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (!opts.id) { - if ((!args || args.mountOptions === undefined) && !opts.urn) { - throw new Error("Missing required property 'mountOptions'"); - } - if ((!args || args.poolName === undefined) && !opts.urn) { - throw new Error("Missing required property 'poolName'"); - } - if ((!args || args.reclaimPolicy === undefined) && !opts.urn) { - throw new Error("Missing required property 'reclaimPolicy'"); - } - if ((!args || args.resourceGroupName === undefined) && !opts.urn) { - throw new Error("Missing required property 'resourceGroupName'"); - } - if ((!args || args.source === undefined) && !opts.urn) { - throw new Error("Missing required property 'source'"); - } - if ((!args || args.volumeMode === undefined) && !opts.urn) { - throw new Error("Missing required property 'volumeMode'"); - } - resourceInputs["mountOptions"] = args ? args.mountOptions : undefined; - resourceInputs["poolName"] = args ? args.poolName : undefined; - resourceInputs["reclaimPolicy"] = args ? args.reclaimPolicy : undefined; - resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["source"] = args ? args.source : undefined; - resourceInputs["volumeMode"] = args ? args.volumeMode : undefined; - resourceInputs["volumeSnapshotName"] = args ? args.volumeSnapshotName : undefined; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - } else { - resourceInputs["mountOptions"] = undefined /*out*/; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["reclaimPolicy"] = undefined /*out*/; - resourceInputs["source"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - resourceInputs["volumeMode"] = undefined /*out*/; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerstorage:VolumeSnapshot" }] }; - opts = pulumi.mergeOptions(opts, aliasOpts); - super(VolumeSnapshot.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * The set of arguments for constructing a VolumeSnapshot resource. - */ -export interface VolumeSnapshotArgs { - /** - * List of string mount options - */ - mountOptions: pulumi.Input[]>; - /** - * Pool Object - */ - poolName: pulumi.Input; - /** - * Reclaim Policy, Delete or Retain - */ - reclaimPolicy: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * Reference to the source volume - */ - source: pulumi.Input; - /** - * Indicates how the volumes created from the snapshot should be attached - */ - volumeMode: pulumi.Input; - /** - * Volume Snapshot Resource - */ - volumeSnapshotName?: pulumi.Input; -} diff --git a/sdk/nodejs/containerstorage/v20230701preview/getPool.ts b/sdk/nodejs/containerstorage/v20230701preview/getPool.ts new file mode 100644 index 000000000000..0b0baae869d1 --- /dev/null +++ b/sdk/nodejs/containerstorage/v20230701preview/getPool.ts @@ -0,0 +1,106 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a Pool + */ +export function getPool(args: GetPoolArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:containerstorage/v20230701preview:getPool", { + "poolName": args.poolName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetPoolArgs { + /** + * Pool Object + */ + poolName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * Pool resource + */ +export interface GetPoolResult { + /** + * List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. + */ + readonly assignments?: outputs.containerstorage.v20230701preview.AssignmentResponse[]; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. + */ + readonly poolType: outputs.containerstorage.v20230701preview.PoolTypeResponse; + /** + * The status of the last operation. + */ + readonly provisioningState: string; + /** + * ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + */ + readonly reclaimPolicy?: string; + /** + * Resources represent the resources the pool should have. + */ + readonly resources?: outputs.containerstorage.v20230701preview.ResourcesResponse; + /** + * The operational status of the resource + */ + readonly status: outputs.containerstorage.v20230701preview.ResourceOperationalStatusResponse; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.containerstorage.v20230701preview.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; + /** + * List of availability zones that resources can be created in. + */ + readonly zones?: string[]; +} +/** + * Get a Pool + */ +export function getPoolOutput(args: GetPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getPool(a, opts)) +} + +export interface GetPoolOutputArgs { + /** + * Pool Object + */ + poolName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/containerstorage/v20230701preview/getSnapshot.ts b/sdk/nodejs/containerstorage/v20230701preview/getSnapshot.ts new file mode 100644 index 000000000000..8e1b387a64bb --- /dev/null +++ b/sdk/nodejs/containerstorage/v20230701preview/getSnapshot.ts @@ -0,0 +1,91 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a Snapshot + */ +export function getSnapshot(args: GetSnapshotArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:containerstorage/v20230701preview:getSnapshot", { + "poolName": args.poolName, + "resourceGroupName": args.resourceGroupName, + "snapshotName": args.snapshotName, + }, opts); +} + +export interface GetSnapshotArgs { + /** + * Pool Object + */ + poolName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * Volume Snapshot Resource + */ + snapshotName: string; +} + +/** + * Concrete proxy resource types can be created by aliasing this type using a specific property type. + */ +export interface GetSnapshotResult { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * The status of the last operation. + */ + readonly provisioningState: string; + /** + * Reference to the source volume + */ + readonly source: string; + /** + * The status of the resource. + */ + readonly status: outputs.containerstorage.v20230701preview.ResourceOperationalStatusResponse; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.containerstorage.v20230701preview.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get a Snapshot + */ +export function getSnapshotOutput(args: GetSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getSnapshot(a, opts)) +} + +export interface GetSnapshotOutputArgs { + /** + * Pool Object + */ + poolName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Volume Snapshot Resource + */ + snapshotName: pulumi.Input; +} diff --git a/sdk/nodejs/containerstorage/v20230301preview/getVolume.ts b/sdk/nodejs/containerstorage/v20230701preview/getVolume.ts similarity index 88% rename from sdk/nodejs/containerstorage/v20230301preview/getVolume.ts rename to sdk/nodejs/containerstorage/v20230701preview/getVolume.ts index 6dfad3dfe1a8..f4450806b1a0 100644 --- a/sdk/nodejs/containerstorage/v20230301preview/getVolume.ts +++ b/sdk/nodejs/containerstorage/v20230701preview/getVolume.ts @@ -13,7 +13,7 @@ import * as utilities from "../../utilities"; export function getVolume(args: GetVolumeArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("azure-native:containerstorage/v20230301preview:getVolume", { + return pulumi.runtime.invoke("azure-native:containerstorage/v20230701preview:getVolume", { "poolName": args.poolName, "resourceGroupName": args.resourceGroupName, "volumeName": args.volumeName, @@ -51,10 +51,6 @@ export interface GetVolumeResult { * String KV pairs indicating labels */ readonly labels: {[key: string]: string}; - /** - * List of string mount options - */ - readonly mountOptions: string[]; /** * The name of the resource */ @@ -64,21 +60,21 @@ export interface GetVolumeResult { */ readonly provisioningState: string; /** - * Reclaim Policy, Delete or Retain + * The status of the resource. */ - readonly reclaimPolicy: string; + readonly status: outputs.containerstorage.v20230701preview.ResourceOperationalStatusResponse; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ - readonly systemData: outputs.containerstorage.v20230301preview.SystemDataResponse; + readonly systemData: outputs.containerstorage.v20230701preview.SystemDataResponse; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ readonly type: string; /** - * Indicates how the volume should be attached + * Properties of the volume */ - readonly volumeMode: string; + readonly volumeType: outputs.containerstorage.v20230701preview.VolumeTypeResponse; } /** * Get a Volume diff --git a/sdk/nodejs/containerstorage/v20230701preview/index.ts b/sdk/nodejs/containerstorage/v20230701preview/index.ts new file mode 100644 index 000000000000..0dd73c017295 --- /dev/null +++ b/sdk/nodejs/containerstorage/v20230701preview/index.ts @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { GetPoolArgs, GetPoolResult, GetPoolOutputArgs } from "./getPool"; +export const getPool: typeof import("./getPool").getPool = null as any; +export const getPoolOutput: typeof import("./getPool").getPoolOutput = null as any; +utilities.lazyLoad(exports, ["getPool","getPoolOutput"], () => require("./getPool")); + +export { GetSnapshotArgs, GetSnapshotResult, GetSnapshotOutputArgs } from "./getSnapshot"; +export const getSnapshot: typeof import("./getSnapshot").getSnapshot = null as any; +export const getSnapshotOutput: typeof import("./getSnapshot").getSnapshotOutput = null as any; +utilities.lazyLoad(exports, ["getSnapshot","getSnapshotOutput"], () => require("./getSnapshot")); + +export { GetVolumeArgs, GetVolumeResult, GetVolumeOutputArgs } from "./getVolume"; +export const getVolume: typeof import("./getVolume").getVolume = null as any; +export const getVolumeOutput: typeof import("./getVolume").getVolumeOutput = null as any; +utilities.lazyLoad(exports, ["getVolume","getVolumeOutput"], () => require("./getVolume")); + +export { PoolArgs } from "./pool"; +export type Pool = import("./pool").Pool; +export const Pool: typeof import("./pool").Pool = null as any; +utilities.lazyLoad(exports, ["Pool"], () => require("./pool")); + +export { SnapshotArgs } from "./snapshot"; +export type Snapshot = import("./snapshot").Snapshot; +export const Snapshot: typeof import("./snapshot").Snapshot = null as any; +utilities.lazyLoad(exports, ["Snapshot"], () => require("./snapshot")); + +export { VolumeArgs } from "./volume"; +export type Volume = import("./volume").Volume; +export const Volume: typeof import("./volume").Volume = null as any; +utilities.lazyLoad(exports, ["Volume"], () => require("./volume")); + + +// Export enums: +export * from "../../types/enums/containerstorage/v20230701preview"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:containerstorage/v20230701preview:Pool": + return new Pool(name, undefined, { urn }) + case "azure-native:containerstorage/v20230701preview:Snapshot": + return new Snapshot(name, undefined, { urn }) + case "azure-native:containerstorage/v20230701preview:Volume": + return new Volume(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "containerstorage/v20230701preview", _module) diff --git a/sdk/nodejs/containerstorage/v20230701preview/pool.ts b/sdk/nodejs/containerstorage/v20230701preview/pool.ts new file mode 100644 index 000000000000..c9b1e962a45a --- /dev/null +++ b/sdk/nodejs/containerstorage/v20230701preview/pool.ts @@ -0,0 +1,181 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Pool resource + */ +export class Pool extends pulumi.CustomResource { + /** + * Get an existing Pool 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Pool { + return new Pool(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:containerstorage/v20230701preview:Pool'; + + /** + * Returns true if the given object is an instance of Pool. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Pool { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Pool.__pulumiType; + } + + /** + * List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. + */ + public readonly assignments!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. + */ + public readonly poolType!: pulumi.Output; + /** + * The status of the last operation. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + */ + public readonly reclaimPolicy!: pulumi.Output; + /** + * Resources represent the resources the pool should have. + */ + public readonly resources!: pulumi.Output; + /** + * The operational status of the resource + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * List of availability zones that resources can be created in. + */ + public readonly zones!: pulumi.Output; + + /** + * Create a Pool 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: PoolArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.poolType === undefined) && !opts.urn) { + throw new Error("Missing required property 'poolType'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["assignments"] = args ? args.assignments : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["poolName"] = args ? args.poolName : undefined; + resourceInputs["poolType"] = args ? (args.poolType ? pulumi.output(args.poolType).apply(inputs.containerstorage.v20230701preview.poolTypeArgsProvideDefaults) : undefined) : undefined; + resourceInputs["reclaimPolicy"] = args ? args.reclaimPolicy : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["resources"] = args ? (args.resources ? pulumi.output(args.resources).apply(inputs.containerstorage.v20230701preview.resourcesArgsProvideDefaults) : undefined) : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["zones"] = args ? args.zones : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["assignments"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["poolType"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["reclaimPolicy"] = undefined /*out*/; + resourceInputs["resources"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["zones"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:containerstorage:Pool" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Pool.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Pool resource. + */ +export interface PoolArgs { + /** + * List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. + */ + assignments?: pulumi.Input[]>; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * Pool Object + */ + poolName?: pulumi.Input; + /** + * Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. + */ + poolType: pulumi.Input; + /** + * ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + */ + reclaimPolicy?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Resources represent the resources the pool should have. + */ + resources?: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * List of availability zones that resources can be created in. + */ + zones?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/containerstorage/v20230701preview/snapshot.ts b/sdk/nodejs/containerstorage/v20230701preview/snapshot.ts new file mode 100644 index 000000000000..39f44b2a57eb --- /dev/null +++ b/sdk/nodejs/containerstorage/v20230701preview/snapshot.ts @@ -0,0 +1,129 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Concrete proxy resource types can be created by aliasing this type using a specific property type. + */ +export class Snapshot extends pulumi.CustomResource { + /** + * Get an existing Snapshot 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Snapshot { + return new Snapshot(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:containerstorage/v20230701preview:Snapshot'; + + /** + * Returns true if the given object is an instance of Snapshot. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Snapshot { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Snapshot.__pulumiType; + } + + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The status of the last operation. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Reference to the source volume + */ + public readonly source!: pulumi.Output; + /** + * The status of the resource. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Snapshot 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: SnapshotArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.poolName === undefined) && !opts.urn) { + throw new Error("Missing required property 'poolName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.source === undefined) && !opts.urn) { + throw new Error("Missing required property 'source'"); + } + resourceInputs["poolName"] = args ? args.poolName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["snapshotName"] = args ? args.snapshotName : undefined; + resourceInputs["source"] = args ? args.source : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["source"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:containerstorage:Snapshot" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Snapshot.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Snapshot resource. + */ +export interface SnapshotArgs { + /** + * Pool Object + */ + poolName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Volume Snapshot Resource + */ + snapshotName?: pulumi.Input; + /** + * Reference to the source volume + */ + source: pulumi.Input; +} diff --git a/sdk/nodejs/containerstorage/v20230301preview/volume.ts b/sdk/nodejs/containerstorage/v20230701preview/volume.ts similarity index 75% rename from sdk/nodejs/containerstorage/v20230301preview/volume.ts rename to sdk/nodejs/containerstorage/v20230701preview/volume.ts index 210bb0ca7c39..deb7ab6d4c08 100644 --- a/sdk/nodejs/containerstorage/v20230301preview/volume.ts +++ b/sdk/nodejs/containerstorage/v20230701preview/volume.ts @@ -24,7 +24,7 @@ export class Volume extends pulumi.CustomResource { } /** @internal */ - public static readonly __pulumiType = 'azure-native:containerstorage/v20230301preview:Volume'; + public static readonly __pulumiType = 'azure-native:containerstorage/v20230701preview:Volume'; /** * Returns true if the given object is an instance of Volume. This is designed to work even @@ -45,10 +45,6 @@ export class Volume extends pulumi.CustomResource { * String KV pairs indicating labels */ public readonly labels!: pulumi.Output<{[key: string]: string}>; - /** - * List of string mount options - */ - public readonly mountOptions!: pulumi.Output; /** * The name of the resource */ @@ -58,21 +54,21 @@ export class Volume extends pulumi.CustomResource { */ public /*out*/ readonly provisioningState!: pulumi.Output; /** - * Reclaim Policy, Delete or Retain + * The status of the resource. */ - public readonly reclaimPolicy!: pulumi.Output; + public /*out*/ readonly status!: pulumi.Output; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ - public /*out*/ readonly systemData!: pulumi.Output; + public /*out*/ readonly systemData!: pulumi.Output; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ public /*out*/ readonly type!: pulumi.Output; /** - * Indicates how the volume should be attached + * Properties of the volume */ - public readonly volumeMode!: pulumi.Output; + public /*out*/ readonly volumeType!: pulumi.Output; /** * Create a Volume resource with the given unique name, arguments, and options. @@ -91,43 +87,32 @@ export class Volume extends pulumi.CustomResource { if ((!args || args.labels === undefined) && !opts.urn) { throw new Error("Missing required property 'labels'"); } - if ((!args || args.mountOptions === undefined) && !opts.urn) { - throw new Error("Missing required property 'mountOptions'"); - } if ((!args || args.poolName === undefined) && !opts.urn) { throw new Error("Missing required property 'poolName'"); } - if ((!args || args.reclaimPolicy === undefined) && !opts.urn) { - throw new Error("Missing required property 'reclaimPolicy'"); - } if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - if ((!args || args.volumeMode === undefined) && !opts.urn) { - throw new Error("Missing required property 'volumeMode'"); - } resourceInputs["capacityGiB"] = args ? args.capacityGiB : undefined; resourceInputs["labels"] = args ? args.labels : undefined; - resourceInputs["mountOptions"] = args ? args.mountOptions : undefined; resourceInputs["poolName"] = args ? args.poolName : undefined; - resourceInputs["reclaimPolicy"] = args ? args.reclaimPolicy : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["volumeMode"] = args ? args.volumeMode : undefined; resourceInputs["volumeName"] = args ? args.volumeName : undefined; resourceInputs["name"] = undefined /*out*/; resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; + resourceInputs["volumeType"] = undefined /*out*/; } else { resourceInputs["capacityGiB"] = undefined /*out*/; resourceInputs["labels"] = undefined /*out*/; - resourceInputs["mountOptions"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["reclaimPolicy"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["volumeMode"] = undefined /*out*/; + resourceInputs["volumeType"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:containerstorage:Volume" }] }; @@ -148,26 +133,14 @@ export interface VolumeArgs { * String KV pairs indicating labels */ labels: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * List of string mount options - */ - mountOptions: pulumi.Input[]>; /** * Pool Object */ poolName: pulumi.Input; - /** - * Reclaim Policy, Delete or Retain - */ - reclaimPolicy: pulumi.Input; /** * The name of the resource group. The name is case insensitive. */ resourceGroupName: pulumi.Input; - /** - * Indicates how the volume should be attached - */ - volumeMode: pulumi.Input; /** * Volume Resource */ diff --git a/sdk/nodejs/containerstorage/volume.ts b/sdk/nodejs/containerstorage/volume.ts index 2ac98cc79784..5b2fc04885f7 100644 --- a/sdk/nodejs/containerstorage/volume.ts +++ b/sdk/nodejs/containerstorage/volume.ts @@ -9,7 +9,7 @@ import * as utilities from "../utilities"; /** * Concrete proxy resource types can be created by aliasing this type using a specific property type. - * Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview + * Azure REST API version: 2023-07-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview */ export class Volume extends pulumi.CustomResource { /** @@ -46,10 +46,6 @@ export class Volume extends pulumi.CustomResource { * String KV pairs indicating labels */ public readonly labels!: pulumi.Output<{[key: string]: string}>; - /** - * List of string mount options - */ - public readonly mountOptions!: pulumi.Output; /** * The name of the resource */ @@ -59,9 +55,9 @@ export class Volume extends pulumi.CustomResource { */ public /*out*/ readonly provisioningState!: pulumi.Output; /** - * Reclaim Policy, Delete or Retain + * The status of the resource. */ - public readonly reclaimPolicy!: pulumi.Output; + public /*out*/ readonly status!: pulumi.Output; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ @@ -71,9 +67,9 @@ export class Volume extends pulumi.CustomResource { */ public /*out*/ readonly type!: pulumi.Output; /** - * Indicates how the volume should be attached + * Properties of the volume */ - public readonly volumeMode!: pulumi.Output; + public /*out*/ readonly volumeType!: pulumi.Output; /** * Create a Volume resource with the given unique name, arguments, and options. @@ -92,46 +88,35 @@ export class Volume extends pulumi.CustomResource { if ((!args || args.labels === undefined) && !opts.urn) { throw new Error("Missing required property 'labels'"); } - if ((!args || args.mountOptions === undefined) && !opts.urn) { - throw new Error("Missing required property 'mountOptions'"); - } if ((!args || args.poolName === undefined) && !opts.urn) { throw new Error("Missing required property 'poolName'"); } - if ((!args || args.reclaimPolicy === undefined) && !opts.urn) { - throw new Error("Missing required property 'reclaimPolicy'"); - } if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - if ((!args || args.volumeMode === undefined) && !opts.urn) { - throw new Error("Missing required property 'volumeMode'"); - } resourceInputs["capacityGiB"] = args ? args.capacityGiB : undefined; resourceInputs["labels"] = args ? args.labels : undefined; - resourceInputs["mountOptions"] = args ? args.mountOptions : undefined; resourceInputs["poolName"] = args ? args.poolName : undefined; - resourceInputs["reclaimPolicy"] = args ? args.reclaimPolicy : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["volumeMode"] = args ? args.volumeMode : undefined; resourceInputs["volumeName"] = args ? args.volumeName : undefined; resourceInputs["name"] = undefined /*out*/; resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; + resourceInputs["volumeType"] = undefined /*out*/; } else { resourceInputs["capacityGiB"] = undefined /*out*/; resourceInputs["labels"] = undefined /*out*/; - resourceInputs["mountOptions"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["reclaimPolicy"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["volumeMode"] = undefined /*out*/; + resourceInputs["volumeType"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerstorage/v20230301preview:Volume" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:containerstorage/v20230701preview:Volume" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Volume.__pulumiType, name, resourceInputs, opts); } @@ -149,26 +134,14 @@ export interface VolumeArgs { * String KV pairs indicating labels */ labels: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * List of string mount options - */ - mountOptions: pulumi.Input[]>; /** * Pool Object */ poolName: pulumi.Input; - /** - * Reclaim Policy, Delete or Retain - */ - reclaimPolicy: pulumi.Input; /** * The name of the resource group. The name is case insensitive. */ resourceGroupName: pulumi.Input; - /** - * Indicates how the volume should be attached - */ - volumeMode: pulumi.Input; /** * Volume Resource */ diff --git a/sdk/nodejs/containerstorage/volumeSnapshot.ts b/sdk/nodejs/containerstorage/volumeSnapshot.ts deleted file mode 100644 index 0c3f827e64c3..000000000000 --- a/sdk/nodejs/containerstorage/volumeSnapshot.ts +++ /dev/null @@ -1,163 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../types/input"; -import * as outputs from "../types/output"; -import * as enums from "../types/enums"; -import * as utilities from "../utilities"; - -/** - * Concrete proxy resource types can be created by aliasing this type using a specific property type. - * Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview - */ -export class VolumeSnapshot extends pulumi.CustomResource { - /** - * Get an existing VolumeSnapshot 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. - */ - public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): VolumeSnapshot { - return new VolumeSnapshot(name, undefined as any, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'azure-native:containerstorage:VolumeSnapshot'; - - /** - * Returns true if the given object is an instance of VolumeSnapshot. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is VolumeSnapshot { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === VolumeSnapshot.__pulumiType; - } - - /** - * List of string mount options - */ - public readonly mountOptions!: pulumi.Output; - /** - * The name of the resource - */ - public /*out*/ readonly name!: pulumi.Output; - /** - * The status of the last operation. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * Reclaim Policy, Delete or Retain - */ - public readonly reclaimPolicy!: pulumi.Output; - /** - * Reference to the source volume - */ - public readonly source!: pulumi.Output; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - public /*out*/ readonly systemData!: pulumi.Output; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - public /*out*/ readonly type!: pulumi.Output; - /** - * Indicates how the volumes created from the snapshot should be attached - */ - public readonly volumeMode!: pulumi.Output; - - /** - * Create a VolumeSnapshot 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: VolumeSnapshotArgs, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (!opts.id) { - if ((!args || args.mountOptions === undefined) && !opts.urn) { - throw new Error("Missing required property 'mountOptions'"); - } - if ((!args || args.poolName === undefined) && !opts.urn) { - throw new Error("Missing required property 'poolName'"); - } - if ((!args || args.reclaimPolicy === undefined) && !opts.urn) { - throw new Error("Missing required property 'reclaimPolicy'"); - } - if ((!args || args.resourceGroupName === undefined) && !opts.urn) { - throw new Error("Missing required property 'resourceGroupName'"); - } - if ((!args || args.source === undefined) && !opts.urn) { - throw new Error("Missing required property 'source'"); - } - if ((!args || args.volumeMode === undefined) && !opts.urn) { - throw new Error("Missing required property 'volumeMode'"); - } - resourceInputs["mountOptions"] = args ? args.mountOptions : undefined; - resourceInputs["poolName"] = args ? args.poolName : undefined; - resourceInputs["reclaimPolicy"] = args ? args.reclaimPolicy : undefined; - resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["source"] = args ? args.source : undefined; - resourceInputs["volumeMode"] = args ? args.volumeMode : undefined; - resourceInputs["volumeSnapshotName"] = args ? args.volumeSnapshotName : undefined; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - } else { - resourceInputs["mountOptions"] = undefined /*out*/; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["reclaimPolicy"] = undefined /*out*/; - resourceInputs["source"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - resourceInputs["volumeMode"] = undefined /*out*/; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:containerstorage/v20230301preview:VolumeSnapshot" }] }; - opts = pulumi.mergeOptions(opts, aliasOpts); - super(VolumeSnapshot.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * The set of arguments for constructing a VolumeSnapshot resource. - */ -export interface VolumeSnapshotArgs { - /** - * List of string mount options - */ - mountOptions: pulumi.Input[]>; - /** - * Pool Object - */ - poolName: pulumi.Input; - /** - * Reclaim Policy, Delete or Retain - */ - reclaimPolicy: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * Reference to the source volume - */ - source: pulumi.Input; - /** - * Indicates how the volumes created from the snapshot should be attached - */ - volumeMode: pulumi.Input; - /** - * Volume Snapshot Resource - */ - volumeSnapshotName?: pulumi.Input; -} diff --git a/sdk/nodejs/databox/index.ts b/sdk/nodejs/databox/index.ts index 8932e74c8d9b..e36ba8f8133a 100644 --- a/sdk/nodejs/databox/index.ts +++ b/sdk/nodejs/databox/index.ts @@ -26,9 +26,11 @@ export * from "../types/enums/databox"; // Export sub-modules: import * as v20221201 from "./v20221201"; +import * as v20230301 from "./v20230301"; export { v20221201, + v20230301, }; const _module = { diff --git a/sdk/nodejs/databox/job.ts b/sdk/nodejs/databox/job.ts index 7e48142a8f31..cf54e0257188 100644 --- a/sdk/nodejs/databox/job.ts +++ b/sdk/nodejs/databox/job.ts @@ -196,7 +196,7 @@ export class Job extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:databox/v20180101:Job" }, { type: "azure-native:databox/v20190901:Job" }, { type: "azure-native:databox/v20200401:Job" }, { type: "azure-native:databox/v20201101:Job" }, { type: "azure-native:databox/v20210301:Job" }, { type: "azure-native:databox/v20210501:Job" }, { type: "azure-native:databox/v20210801preview:Job" }, { type: "azure-native:databox/v20211201:Job" }, { type: "azure-native:databox/v20220201:Job" }, { type: "azure-native:databox/v20220901:Job" }, { type: "azure-native:databox/v20221001:Job" }, { type: "azure-native:databox/v20221201:Job" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:databox/v20180101:Job" }, { type: "azure-native:databox/v20190901:Job" }, { type: "azure-native:databox/v20200401:Job" }, { type: "azure-native:databox/v20201101:Job" }, { type: "azure-native:databox/v20210301:Job" }, { type: "azure-native:databox/v20210501:Job" }, { type: "azure-native:databox/v20210801preview:Job" }, { type: "azure-native:databox/v20211201:Job" }, { type: "azure-native:databox/v20220201:Job" }, { type: "azure-native:databox/v20220901:Job" }, { type: "azure-native:databox/v20221001:Job" }, { type: "azure-native:databox/v20221201:Job" }, { type: "azure-native:databox/v20230301:Job" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Job.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/databox/v20221201/job.ts b/sdk/nodejs/databox/v20221201/job.ts index 61ab92a59605..f9f87cc96695 100644 --- a/sdk/nodejs/databox/v20221201/job.ts +++ b/sdk/nodejs/databox/v20221201/job.ts @@ -195,7 +195,7 @@ export class Job extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:databox:Job" }, { type: "azure-native:databox/v20180101:Job" }, { type: "azure-native:databox/v20190901:Job" }, { type: "azure-native:databox/v20200401:Job" }, { type: "azure-native:databox/v20201101:Job" }, { type: "azure-native:databox/v20210301:Job" }, { type: "azure-native:databox/v20210501:Job" }, { type: "azure-native:databox/v20210801preview:Job" }, { type: "azure-native:databox/v20211201:Job" }, { type: "azure-native:databox/v20220201:Job" }, { type: "azure-native:databox/v20220901:Job" }, { type: "azure-native:databox/v20221001:Job" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:databox:Job" }, { type: "azure-native:databox/v20180101:Job" }, { type: "azure-native:databox/v20190901:Job" }, { type: "azure-native:databox/v20200401:Job" }, { type: "azure-native:databox/v20201101:Job" }, { type: "azure-native:databox/v20210301:Job" }, { type: "azure-native:databox/v20210501:Job" }, { type: "azure-native:databox/v20210801preview:Job" }, { type: "azure-native:databox/v20211201:Job" }, { type: "azure-native:databox/v20220201:Job" }, { type: "azure-native:databox/v20220901:Job" }, { type: "azure-native:databox/v20221001:Job" }, { type: "azure-native:databox/v20230301:Job" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Job.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/databox/v20230301/getJob.ts b/sdk/nodejs/databox/v20230301/getJob.ts new file mode 100644 index 000000000000..b384927a47b0 --- /dev/null +++ b/sdk/nodejs/databox/v20230301/getJob.ts @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets information about the specified job. + */ +export function getJob(args: GetJobArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:databox/v20230301:getJob", { + "expand": args.expand, + "jobName": args.jobName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetJobArgs { + /** + * $expand is supported on details parameter for job, which provides details on the job stages. + */ + expand?: string; + /** + * The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + */ + jobName: string; + /** + * The Resource Group Name + */ + resourceGroupName: string; +} + +/** + * Job Resource. + */ +export interface GetJobResult { + /** + * Reason for cancellation. + */ + readonly cancellationReason: string; + /** + * Name of the stage where delay might be present. + */ + readonly delayedStage: string; + /** + * Delivery Info of Job. + */ + readonly deliveryInfo?: outputs.databox.v20230301.JobDeliveryInfoResponse; + /** + * Delivery type of Job. + */ + readonly deliveryType?: string; + /** + * Details of a job run. This field will only be sent for expand details filter. + */ + readonly details?: outputs.databox.v20230301.DataBoxCustomerDiskJobDetailsResponse | outputs.databox.v20230301.DataBoxDiskJobDetailsResponse | outputs.databox.v20230301.DataBoxHeavyJobDetailsResponse | outputs.databox.v20230301.DataBoxJobDetailsResponse; + /** + * Top level error for the job. + */ + readonly error: outputs.databox.v20230301.CloudErrorResponse; + /** + * Id of the object. + */ + readonly id: string; + /** + * Msi identity of the resource + */ + readonly identity?: outputs.databox.v20230301.ResourceIdentityResponse; + /** + * Describes whether the job is cancellable or not. + */ + readonly isCancellable: boolean; + /** + * Flag to indicate cancellation of scheduled job. + */ + readonly isCancellableWithoutFee: boolean; + /** + * Describes whether the job is deletable or not. + */ + readonly isDeletable: boolean; + /** + * Is Prepare To Ship Enabled on this job + */ + readonly isPrepareToShipEnabled: boolean; + /** + * Describes whether the shipping address is editable or not. + */ + readonly isShippingAddressEditable: boolean; + /** + * The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + */ + readonly location: string; + /** + * Name of the object. + */ + readonly name: string; + /** + * The Editable status for Reverse Shipping Address and Contact Info + */ + readonly reverseShippingDetailsUpdate: string; + /** + * The Editable status for Reverse Transport preferences + */ + readonly reverseTransportPreferenceUpdate: string; + /** + * The sku type. + */ + readonly sku: outputs.databox.v20230301.SkuResponse; + /** + * Time at which the job was started in UTC ISO 8601 format. + */ + readonly startTime: string; + /** + * Name of the stage which is in progress. + */ + readonly status: string; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.databox.v20230301.SystemDataResponse; + /** + * The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + */ + readonly tags?: {[key: string]: string}; + /** + * Type of the data transfer. + */ + readonly transferType: string; + /** + * Type of the object. + */ + readonly type: string; +} +/** + * Gets information about the specified job. + */ +export function getJobOutput(args: GetJobOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getJob(a, opts)) +} + +export interface GetJobOutputArgs { + /** + * $expand is supported on details parameter for job, which provides details on the job stages. + */ + expand?: pulumi.Input; + /** + * The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + */ + jobName: pulumi.Input; + /** + * The Resource Group Name + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/databox/v20230301/index.ts b/sdk/nodejs/databox/v20230301/index.ts new file mode 100644 index 000000000000..ff92b7d3a657 --- /dev/null +++ b/sdk/nodejs/databox/v20230301/index.ts @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { GetJobArgs, GetJobResult, GetJobOutputArgs } from "./getJob"; +export const getJob: typeof import("./getJob").getJob = null as any; +export const getJobOutput: typeof import("./getJob").getJobOutput = null as any; +utilities.lazyLoad(exports, ["getJob","getJobOutput"], () => require("./getJob")); + +export { JobArgs } from "./job"; +export type Job = import("./job").Job; +export const Job: typeof import("./job").Job = null as any; +utilities.lazyLoad(exports, ["Job"], () => require("./job")); + +export { ListJobCredentialsArgs, ListJobCredentialsResult, ListJobCredentialsOutputArgs } from "./listJobCredentials"; +export const listJobCredentials: typeof import("./listJobCredentials").listJobCredentials = null as any; +export const listJobCredentialsOutput: typeof import("./listJobCredentials").listJobCredentialsOutput = null as any; +utilities.lazyLoad(exports, ["listJobCredentials","listJobCredentialsOutput"], () => require("./listJobCredentials")); + + +// Export enums: +export * from "../../types/enums/databox/v20230301"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:databox/v20230301:Job": + return new Job(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "databox/v20230301", _module) diff --git a/sdk/nodejs/databox/v20230301/job.ts b/sdk/nodejs/databox/v20230301/job.ts new file mode 100644 index 000000000000..8f3abb31fbc3 --- /dev/null +++ b/sdk/nodejs/databox/v20230301/job.ts @@ -0,0 +1,254 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Job Resource. + */ +export class Job extends pulumi.CustomResource { + /** + * Get an existing Job 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Job { + return new Job(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:databox/v20230301:Job'; + + /** + * Returns true if the given object is an instance of Job. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Job { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Job.__pulumiType; + } + + /** + * Reason for cancellation. + */ + public /*out*/ readonly cancellationReason!: pulumi.Output; + /** + * Name of the stage where delay might be present. + */ + public /*out*/ readonly delayedStage!: pulumi.Output; + /** + * Delivery Info of Job. + */ + public readonly deliveryInfo!: pulumi.Output; + /** + * Delivery type of Job. + */ + public readonly deliveryType!: pulumi.Output; + /** + * Details of a job run. This field will only be sent for expand details filter. + */ + public readonly details!: pulumi.Output; + /** + * Top level error for the job. + */ + public /*out*/ readonly error!: pulumi.Output; + /** + * Msi identity of the resource + */ + public readonly identity!: pulumi.Output; + /** + * Describes whether the job is cancellable or not. + */ + public /*out*/ readonly isCancellable!: pulumi.Output; + /** + * Flag to indicate cancellation of scheduled job. + */ + public /*out*/ readonly isCancellableWithoutFee!: pulumi.Output; + /** + * Describes whether the job is deletable or not. + */ + public /*out*/ readonly isDeletable!: pulumi.Output; + /** + * Is Prepare To Ship Enabled on this job + */ + public /*out*/ readonly isPrepareToShipEnabled!: pulumi.Output; + /** + * Describes whether the shipping address is editable or not. + */ + public /*out*/ readonly isShippingAddressEditable!: pulumi.Output; + /** + * The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + */ + public readonly location!: pulumi.Output; + /** + * Name of the object. + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The Editable status for Reverse Shipping Address and Contact Info + */ + public /*out*/ readonly reverseShippingDetailsUpdate!: pulumi.Output; + /** + * The Editable status for Reverse Transport preferences + */ + public /*out*/ readonly reverseTransportPreferenceUpdate!: pulumi.Output; + /** + * The sku type. + */ + public readonly sku!: pulumi.Output; + /** + * Time at which the job was started in UTC ISO 8601 format. + */ + public /*out*/ readonly startTime!: pulumi.Output; + /** + * Name of the stage which is in progress. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Type of the data transfer. + */ + public readonly transferType!: pulumi.Output; + /** + * Type of the object. + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Job 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: JobArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.sku === undefined) && !opts.urn) { + throw new Error("Missing required property 'sku'"); + } + if ((!args || args.transferType === undefined) && !opts.urn) { + throw new Error("Missing required property 'transferType'"); + } + resourceInputs["deliveryInfo"] = args ? args.deliveryInfo : undefined; + resourceInputs["deliveryType"] = (args ? args.deliveryType : undefined) ?? "NonScheduled"; + resourceInputs["details"] = args ? args.details : undefined; + resourceInputs["identity"] = args ? (args.identity ? pulumi.output(args.identity).apply(inputs.databox.v20230301.resourceIdentityArgsProvideDefaults) : undefined) : undefined; + resourceInputs["jobName"] = args ? args.jobName : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["transferType"] = args ? args.transferType : undefined; + resourceInputs["cancellationReason"] = undefined /*out*/; + resourceInputs["delayedStage"] = undefined /*out*/; + resourceInputs["error"] = undefined /*out*/; + resourceInputs["isCancellable"] = undefined /*out*/; + resourceInputs["isCancellableWithoutFee"] = undefined /*out*/; + resourceInputs["isDeletable"] = undefined /*out*/; + resourceInputs["isPrepareToShipEnabled"] = undefined /*out*/; + resourceInputs["isShippingAddressEditable"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["reverseShippingDetailsUpdate"] = undefined /*out*/; + resourceInputs["reverseTransportPreferenceUpdate"] = undefined /*out*/; + resourceInputs["startTime"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["cancellationReason"] = undefined /*out*/; + resourceInputs["delayedStage"] = undefined /*out*/; + resourceInputs["deliveryInfo"] = undefined /*out*/; + resourceInputs["deliveryType"] = undefined /*out*/; + resourceInputs["details"] = undefined /*out*/; + resourceInputs["error"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["isCancellable"] = undefined /*out*/; + resourceInputs["isCancellableWithoutFee"] = undefined /*out*/; + resourceInputs["isDeletable"] = undefined /*out*/; + resourceInputs["isPrepareToShipEnabled"] = undefined /*out*/; + resourceInputs["isShippingAddressEditable"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["reverseShippingDetailsUpdate"] = undefined /*out*/; + resourceInputs["reverseTransportPreferenceUpdate"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["startTime"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["transferType"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:databox:Job" }, { type: "azure-native:databox/v20180101:Job" }, { type: "azure-native:databox/v20190901:Job" }, { type: "azure-native:databox/v20200401:Job" }, { type: "azure-native:databox/v20201101:Job" }, { type: "azure-native:databox/v20210301:Job" }, { type: "azure-native:databox/v20210501:Job" }, { type: "azure-native:databox/v20210801preview:Job" }, { type: "azure-native:databox/v20211201:Job" }, { type: "azure-native:databox/v20220201:Job" }, { type: "azure-native:databox/v20220901:Job" }, { type: "azure-native:databox/v20221001:Job" }, { type: "azure-native:databox/v20221201:Job" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Job.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Job resource. + */ +export interface JobArgs { + /** + * Delivery Info of Job. + */ + deliveryInfo?: pulumi.Input; + /** + * Delivery type of Job. + */ + deliveryType?: pulumi.Input; + /** + * Details of a job run. This field will only be sent for expand details filter. + */ + details?: pulumi.Input; + /** + * Msi identity of the resource + */ + identity?: pulumi.Input; + /** + * The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + */ + jobName?: pulumi.Input; + /** + * The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + */ + location?: pulumi.Input; + /** + * The Resource Group Name + */ + resourceGroupName: pulumi.Input; + /** + * The sku type. + */ + sku: pulumi.Input; + /** + * The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Type of the data transfer. + */ + transferType: pulumi.Input; +} diff --git a/sdk/nodejs/databox/v20230301/listJobCredentials.ts b/sdk/nodejs/databox/v20230301/listJobCredentials.ts new file mode 100644 index 000000000000..d03952109cf3 --- /dev/null +++ b/sdk/nodejs/databox/v20230301/listJobCredentials.ts @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * This method gets the unencrypted secrets related to the job. + */ +export function listJobCredentials(args: ListJobCredentialsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:databox/v20230301:listJobCredentials", { + "jobName": args.jobName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface ListJobCredentialsArgs { + /** + * The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + */ + jobName: string; + /** + * The Resource Group Name + */ + resourceGroupName: string; +} + +/** + * List of unencrypted credentials for accessing device. + */ +export interface ListJobCredentialsResult { + /** + * Link for the next set of unencrypted credentials. + */ + readonly nextLink?: string; + /** + * List of unencrypted credentials. + */ + readonly value?: outputs.databox.v20230301.UnencryptedCredentialsResponse[]; +} +/** + * This method gets the unencrypted secrets related to the job. + */ +export function listJobCredentialsOutput(args: ListJobCredentialsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => listJobCredentials(a, opts)) +} + +export interface ListJobCredentialsOutputArgs { + /** + * The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + */ + jobName: pulumi.Input; + /** + * The Resource Group Name + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/application.ts b/sdk/nodejs/desktopvirtualization/application.ts index 1811a25abd7f..29f1274782aa 100644 --- a/sdk/nodejs/desktopvirtualization/application.ts +++ b/sdk/nodejs/desktopvirtualization/application.ts @@ -167,7 +167,7 @@ export class Application extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20190123preview:Application" }, { type: "azure-native:desktopvirtualization/v20190924preview:Application" }, { type: "azure-native:desktopvirtualization/v20191210preview:Application" }, { type: "azure-native:desktopvirtualization/v20200921preview:Application" }, { type: "azure-native:desktopvirtualization/v20201019preview:Application" }, { type: "azure-native:desktopvirtualization/v20201102preview:Application" }, { type: "azure-native:desktopvirtualization/v20201110preview:Application" }, { type: "azure-native:desktopvirtualization/v20210114preview:Application" }, { type: "azure-native:desktopvirtualization/v20210201preview:Application" }, { type: "azure-native:desktopvirtualization/v20210309preview:Application" }, { type: "azure-native:desktopvirtualization/v20210401preview:Application" }, { type: "azure-native:desktopvirtualization/v20210712:Application" }, { type: "azure-native:desktopvirtualization/v20210903preview:Application" }, { type: "azure-native:desktopvirtualization/v20220210preview:Application" }, { type: "azure-native:desktopvirtualization/v20220401preview:Application" }, { type: "azure-native:desktopvirtualization/v20220909:Application" }, { type: "azure-native:desktopvirtualization/v20221014preview:Application" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20190123preview:Application" }, { type: "azure-native:desktopvirtualization/v20190924preview:Application" }, { type: "azure-native:desktopvirtualization/v20191210preview:Application" }, { type: "azure-native:desktopvirtualization/v20200921preview:Application" }, { type: "azure-native:desktopvirtualization/v20201019preview:Application" }, { type: "azure-native:desktopvirtualization/v20201102preview:Application" }, { type: "azure-native:desktopvirtualization/v20201110preview:Application" }, { type: "azure-native:desktopvirtualization/v20210114preview:Application" }, { type: "azure-native:desktopvirtualization/v20210201preview:Application" }, { type: "azure-native:desktopvirtualization/v20210309preview:Application" }, { type: "azure-native:desktopvirtualization/v20210401preview:Application" }, { type: "azure-native:desktopvirtualization/v20210712:Application" }, { type: "azure-native:desktopvirtualization/v20210903preview:Application" }, { type: "azure-native:desktopvirtualization/v20220210preview:Application" }, { type: "azure-native:desktopvirtualization/v20220401preview:Application" }, { type: "azure-native:desktopvirtualization/v20220909:Application" }, { type: "azure-native:desktopvirtualization/v20221014preview:Application" }, { type: "azure-native:desktopvirtualization/v20230707preview:Application" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Application.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/applicationGroup.ts b/sdk/nodejs/desktopvirtualization/applicationGroup.ts index 2167be762c79..fbdc29befe20 100644 --- a/sdk/nodejs/desktopvirtualization/applicationGroup.ts +++ b/sdk/nodejs/desktopvirtualization/applicationGroup.ts @@ -163,7 +163,7 @@ export class ApplicationGroup extends pulumi.CustomResource { resourceInputs["workspaceArmPath"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20190123preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190924preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20191210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20200921preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201019preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201102preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201110preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210114preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210201preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210309preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210712:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210903preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220909:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20221014preview:ApplicationGroup" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20190123preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190924preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20191210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20200921preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201019preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201102preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201110preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210114preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210201preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210309preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210712:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210903preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220909:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20221014preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20230707preview:ApplicationGroup" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ApplicationGroup.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/getScalingPlanPersonalSchedule.ts b/sdk/nodejs/desktopvirtualization/getScalingPlanPersonalSchedule.ts new file mode 100644 index 000000000000..4511b02704bc --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/getScalingPlanPersonalSchedule.ts @@ -0,0 +1,185 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Get a ScalingPlanPersonalSchedule. + * Azure REST API version: 2023-07-07-preview. + */ +export function getScalingPlanPersonalSchedule(args: GetScalingPlanPersonalScheduleArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:desktopvirtualization:getScalingPlanPersonalSchedule", { + "resourceGroupName": args.resourceGroupName, + "scalingPlanName": args.scalingPlanName, + "scalingPlanScheduleName": args.scalingPlanScheduleName, + }, opts); +} + +export interface GetScalingPlanPersonalScheduleArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the scaling plan. + */ + scalingPlanName: string; + /** + * The name of the ScalingPlanSchedule + */ + scalingPlanScheduleName: string; +} + +/** + * Represents a ScalingPlanPersonalSchedule definition. + */ +export interface GetScalingPlanPersonalScheduleResult { + /** + * Set of days of the week on which this schedule is active. + */ + readonly daysOfWeek?: string[]; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * Action to be taken after a user disconnect during the off-peak period. + */ + readonly offPeakActionOnDisconnect?: string; + /** + * Action to be taken after a logoff during the off-peak period. + */ + readonly offPeakActionOnLogoff?: string; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + */ + readonly offPeakMinutesToWaitOnDisconnect?: number; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + */ + readonly offPeakMinutesToWaitOnLogoff?: number; + /** + * Starting time for off-peak period. + */ + readonly offPeakStartTime?: outputs.desktopvirtualization.TimeResponse; + /** + * The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + */ + readonly offPeakStartVMOnConnect?: string; + /** + * Action to be taken after a user disconnect during the peak period. + */ + readonly peakActionOnDisconnect?: string; + /** + * Action to be taken after a logoff during the peak period. + */ + readonly peakActionOnLogoff?: string; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + */ + readonly peakMinutesToWaitOnDisconnect?: number; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + */ + readonly peakMinutesToWaitOnLogoff?: number; + /** + * Starting time for peak period. + */ + readonly peakStartTime?: outputs.desktopvirtualization.TimeResponse; + /** + * The desired configuration of Start VM On Connect for the hostpool during the peak phase. + */ + readonly peakStartVMOnConnect?: string; + /** + * Action to be taken after a user disconnect during the ramp down period. + */ + readonly rampDownActionOnDisconnect?: string; + /** + * Action to be taken after a logoff during the ramp down period. + */ + readonly rampDownActionOnLogoff?: string; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + */ + readonly rampDownMinutesToWaitOnDisconnect?: number; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + */ + readonly rampDownMinutesToWaitOnLogoff?: number; + /** + * Starting time for ramp down period. + */ + readonly rampDownStartTime?: outputs.desktopvirtualization.TimeResponse; + /** + * The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + */ + readonly rampDownStartVMOnConnect?: string; + /** + * Action to be taken after a user disconnect during the ramp up period. + */ + readonly rampUpActionOnDisconnect?: string; + /** + * Action to be taken after a logoff during the ramp up period. + */ + readonly rampUpActionOnLogoff?: string; + /** + * The desired startup behavior during the ramp up period for personal vms in the hostpool. + */ + readonly rampUpAutoStartHosts?: string; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + */ + readonly rampUpMinutesToWaitOnDisconnect?: number; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + */ + readonly rampUpMinutesToWaitOnLogoff?: number; + /** + * Starting time for ramp up period. + */ + readonly rampUpStartTime?: outputs.desktopvirtualization.TimeResponse; + /** + * The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + */ + readonly rampUpStartVMOnConnect?: string; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.desktopvirtualization.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get a ScalingPlanPersonalSchedule. + * Azure REST API version: 2023-07-07-preview. + */ +export function getScalingPlanPersonalScheduleOutput(args: GetScalingPlanPersonalScheduleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getScalingPlanPersonalSchedule(a, opts)) +} + +export interface GetScalingPlanPersonalScheduleOutputArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the scaling plan. + */ + scalingPlanName: pulumi.Input; + /** + * The name of the ScalingPlanSchedule + */ + scalingPlanScheduleName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/hostPool.ts b/sdk/nodejs/desktopvirtualization/hostPool.ts index 48d5576e71c4..ed4bdb7263c8 100644 --- a/sdk/nodejs/desktopvirtualization/hostPool.ts +++ b/sdk/nodejs/desktopvirtualization/hostPool.ts @@ -250,7 +250,7 @@ export class HostPool extends pulumi.CustomResource { resourceInputs["vmTemplate"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20190123preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20190924preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20191210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20200921preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201019preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201102preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201110preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210114preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210201preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210309preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210712:HostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220909:HostPool" }, { type: "azure-native:desktopvirtualization/v20221014preview:HostPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20190123preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20190924preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20191210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20200921preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201019preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201102preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201110preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210114preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210201preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210309preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210712:HostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220909:HostPool" }, { type: "azure-native:desktopvirtualization/v20221014preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20230707preview:HostPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(HostPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/index.ts b/sdk/nodejs/desktopvirtualization/index.ts index dd1448fb251a..4a67cd60773e 100644 --- a/sdk/nodejs/desktopvirtualization/index.ts +++ b/sdk/nodejs/desktopvirtualization/index.ts @@ -50,6 +50,11 @@ export const getScalingPlan: typeof import("./getScalingPlan").getScalingPlan = export const getScalingPlanOutput: typeof import("./getScalingPlan").getScalingPlanOutput = null as any; utilities.lazyLoad(exports, ["getScalingPlan","getScalingPlanOutput"], () => require("./getScalingPlan")); +export { GetScalingPlanPersonalScheduleArgs, GetScalingPlanPersonalScheduleResult, GetScalingPlanPersonalScheduleOutputArgs } from "./getScalingPlanPersonalSchedule"; +export const getScalingPlanPersonalSchedule: typeof import("./getScalingPlanPersonalSchedule").getScalingPlanPersonalSchedule = null as any; +export const getScalingPlanPersonalScheduleOutput: typeof import("./getScalingPlanPersonalSchedule").getScalingPlanPersonalScheduleOutput = null as any; +utilities.lazyLoad(exports, ["getScalingPlanPersonalSchedule","getScalingPlanPersonalScheduleOutput"], () => require("./getScalingPlanPersonalSchedule")); + export { GetScalingPlanPooledScheduleArgs, GetScalingPlanPooledScheduleResult, GetScalingPlanPooledScheduleOutputArgs } from "./getScalingPlanPooledSchedule"; export const getScalingPlanPooledSchedule: typeof import("./getScalingPlanPooledSchedule").getScalingPlanPooledSchedule = null as any; export const getScalingPlanPooledScheduleOutput: typeof import("./getScalingPlanPooledSchedule").getScalingPlanPooledScheduleOutput = null as any; @@ -85,6 +90,11 @@ export type ScalingPlan = import("./scalingPlan").ScalingPlan; export const ScalingPlan: typeof import("./scalingPlan").ScalingPlan = null as any; utilities.lazyLoad(exports, ["ScalingPlan"], () => require("./scalingPlan")); +export { ScalingPlanPersonalScheduleArgs } from "./scalingPlanPersonalSchedule"; +export type ScalingPlanPersonalSchedule = import("./scalingPlanPersonalSchedule").ScalingPlanPersonalSchedule; +export const ScalingPlanPersonalSchedule: typeof import("./scalingPlanPersonalSchedule").ScalingPlanPersonalSchedule = null as any; +utilities.lazyLoad(exports, ["ScalingPlanPersonalSchedule"], () => require("./scalingPlanPersonalSchedule")); + export { ScalingPlanPooledScheduleArgs } from "./scalingPlanPooledSchedule"; export type ScalingPlanPooledSchedule = import("./scalingPlanPooledSchedule").ScalingPlanPooledSchedule; export const ScalingPlanPooledSchedule: typeof import("./scalingPlanPooledSchedule").ScalingPlanPooledSchedule = null as any; @@ -105,6 +115,7 @@ import * as v20220210preview from "./v20220210preview"; import * as v20220401preview from "./v20220401preview"; import * as v20220909 from "./v20220909"; import * as v20221014preview from "./v20221014preview"; +import * as v20230707preview from "./v20230707preview"; export { v20210201preview, @@ -112,6 +123,7 @@ export { v20220401preview, v20220909, v20221014preview, + v20230707preview, }; const _module = { @@ -132,6 +144,8 @@ const _module = { return new PrivateEndpointConnectionByWorkspace(name, undefined, { urn }) case "azure-native:desktopvirtualization:ScalingPlan": return new ScalingPlan(name, undefined, { urn }) + case "azure-native:desktopvirtualization:ScalingPlanPersonalSchedule": + return new ScalingPlanPersonalSchedule(name, undefined, { urn }) case "azure-native:desktopvirtualization:ScalingPlanPooledSchedule": return new ScalingPlanPooledSchedule(name, undefined, { urn }) case "azure-native:desktopvirtualization:Workspace": diff --git a/sdk/nodejs/desktopvirtualization/msixpackage.ts b/sdk/nodejs/desktopvirtualization/msixpackage.ts index 467ee43f3a20..22fc36f9a97c 100644 --- a/sdk/nodejs/desktopvirtualization/msixpackage.ts +++ b/sdk/nodejs/desktopvirtualization/msixpackage.ts @@ -146,7 +146,7 @@ export class MSIXPackage extends pulumi.CustomResource { resourceInputs["version"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20200921preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201019preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201102preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201110preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210114preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210201preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210309preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210712:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210903preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220210preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220909:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20221014preview:MSIXPackage" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20200921preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201019preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201102preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201110preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210114preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210201preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210309preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210712:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210903preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220210preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220909:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20221014preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20230707preview:MSIXPackage" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(MSIXPackage.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/privateEndpointConnectionByHostPool.ts b/sdk/nodejs/desktopvirtualization/privateEndpointConnectionByHostPool.ts index 3803752cb995..394d1d36321b 100644 --- a/sdk/nodejs/desktopvirtualization/privateEndpointConnectionByHostPool.ts +++ b/sdk/nodejs/desktopvirtualization/privateEndpointConnectionByHostPool.ts @@ -101,7 +101,7 @@ export class PrivateEndpointConnectionByHostPool extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByHostPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateEndpointConnectionByHostPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/privateEndpointConnectionByWorkspace.ts b/sdk/nodejs/desktopvirtualization/privateEndpointConnectionByWorkspace.ts index a965be6c3aad..3fa5c8a36b45 100644 --- a/sdk/nodejs/desktopvirtualization/privateEndpointConnectionByWorkspace.ts +++ b/sdk/nodejs/desktopvirtualization/privateEndpointConnectionByWorkspace.ts @@ -101,7 +101,7 @@ export class PrivateEndpointConnectionByWorkspace extends pulumi.CustomResource resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByWorkspace" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateEndpointConnectionByWorkspace.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/scalingPlan.ts b/sdk/nodejs/desktopvirtualization/scalingPlan.ts index a69ae97f9640..74a93b63e76d 100644 --- a/sdk/nodejs/desktopvirtualization/scalingPlan.ts +++ b/sdk/nodejs/desktopvirtualization/scalingPlan.ts @@ -166,7 +166,7 @@ export class ScalingPlan extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20201110preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210114preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210201preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210309preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210712:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210903preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220210preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlan" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20201110preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210114preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210201preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210309preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210712:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210903preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220210preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20230707preview:ScalingPlan" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ScalingPlan.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/scalingPlanPersonalSchedule.ts b/sdk/nodejs/desktopvirtualization/scalingPlanPersonalSchedule.ts new file mode 100644 index 000000000000..4b72a3ab307b --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/scalingPlanPersonalSchedule.ts @@ -0,0 +1,365 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Represents a ScalingPlanPersonalSchedule definition. + * Azure REST API version: 2023-07-07-preview. + */ +export class ScalingPlanPersonalSchedule extends pulumi.CustomResource { + /** + * Get an existing ScalingPlanPersonalSchedule 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ScalingPlanPersonalSchedule { + return new ScalingPlanPersonalSchedule(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:desktopvirtualization:ScalingPlanPersonalSchedule'; + + /** + * Returns true if the given object is an instance of ScalingPlanPersonalSchedule. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ScalingPlanPersonalSchedule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ScalingPlanPersonalSchedule.__pulumiType; + } + + /** + * Set of days of the week on which this schedule is active. + */ + public readonly daysOfWeek!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Action to be taken after a user disconnect during the off-peak period. + */ + public readonly offPeakActionOnDisconnect!: pulumi.Output; + /** + * Action to be taken after a logoff during the off-peak period. + */ + public readonly offPeakActionOnLogoff!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + */ + public readonly offPeakMinutesToWaitOnDisconnect!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + */ + public readonly offPeakMinutesToWaitOnLogoff!: pulumi.Output; + /** + * Starting time for off-peak period. + */ + public readonly offPeakStartTime!: pulumi.Output; + /** + * The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + */ + public readonly offPeakStartVMOnConnect!: pulumi.Output; + /** + * Action to be taken after a user disconnect during the peak period. + */ + public readonly peakActionOnDisconnect!: pulumi.Output; + /** + * Action to be taken after a logoff during the peak period. + */ + public readonly peakActionOnLogoff!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + */ + public readonly peakMinutesToWaitOnDisconnect!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + */ + public readonly peakMinutesToWaitOnLogoff!: pulumi.Output; + /** + * Starting time for peak period. + */ + public readonly peakStartTime!: pulumi.Output; + /** + * The desired configuration of Start VM On Connect for the hostpool during the peak phase. + */ + public readonly peakStartVMOnConnect!: pulumi.Output; + /** + * Action to be taken after a user disconnect during the ramp down period. + */ + public readonly rampDownActionOnDisconnect!: pulumi.Output; + /** + * Action to be taken after a logoff during the ramp down period. + */ + public readonly rampDownActionOnLogoff!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + */ + public readonly rampDownMinutesToWaitOnDisconnect!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + */ + public readonly rampDownMinutesToWaitOnLogoff!: pulumi.Output; + /** + * Starting time for ramp down period. + */ + public readonly rampDownStartTime!: pulumi.Output; + /** + * The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + */ + public readonly rampDownStartVMOnConnect!: pulumi.Output; + /** + * Action to be taken after a user disconnect during the ramp up period. + */ + public readonly rampUpActionOnDisconnect!: pulumi.Output; + /** + * Action to be taken after a logoff during the ramp up period. + */ + public readonly rampUpActionOnLogoff!: pulumi.Output; + /** + * The desired startup behavior during the ramp up period for personal vms in the hostpool. + */ + public readonly rampUpAutoStartHosts!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + */ + public readonly rampUpMinutesToWaitOnDisconnect!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + */ + public readonly rampUpMinutesToWaitOnLogoff!: pulumi.Output; + /** + * Starting time for ramp up period. + */ + public readonly rampUpStartTime!: pulumi.Output; + /** + * The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + */ + public readonly rampUpStartVMOnConnect!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a ScalingPlanPersonalSchedule 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: ScalingPlanPersonalScheduleArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.scalingPlanName === undefined) && !opts.urn) { + throw new Error("Missing required property 'scalingPlanName'"); + } + resourceInputs["daysOfWeek"] = args ? args.daysOfWeek : undefined; + resourceInputs["offPeakActionOnDisconnect"] = args ? args.offPeakActionOnDisconnect : undefined; + resourceInputs["offPeakActionOnLogoff"] = args ? args.offPeakActionOnLogoff : undefined; + resourceInputs["offPeakMinutesToWaitOnDisconnect"] = args ? args.offPeakMinutesToWaitOnDisconnect : undefined; + resourceInputs["offPeakMinutesToWaitOnLogoff"] = args ? args.offPeakMinutesToWaitOnLogoff : undefined; + resourceInputs["offPeakStartTime"] = args ? args.offPeakStartTime : undefined; + resourceInputs["offPeakStartVMOnConnect"] = (args ? args.offPeakStartVMOnConnect : undefined) ?? "Enable"; + resourceInputs["peakActionOnDisconnect"] = args ? args.peakActionOnDisconnect : undefined; + resourceInputs["peakActionOnLogoff"] = args ? args.peakActionOnLogoff : undefined; + resourceInputs["peakMinutesToWaitOnDisconnect"] = args ? args.peakMinutesToWaitOnDisconnect : undefined; + resourceInputs["peakMinutesToWaitOnLogoff"] = args ? args.peakMinutesToWaitOnLogoff : undefined; + resourceInputs["peakStartTime"] = args ? args.peakStartTime : undefined; + resourceInputs["peakStartVMOnConnect"] = (args ? args.peakStartVMOnConnect : undefined) ?? "Enable"; + resourceInputs["rampDownActionOnDisconnect"] = args ? args.rampDownActionOnDisconnect : undefined; + resourceInputs["rampDownActionOnLogoff"] = args ? args.rampDownActionOnLogoff : undefined; + resourceInputs["rampDownMinutesToWaitOnDisconnect"] = args ? args.rampDownMinutesToWaitOnDisconnect : undefined; + resourceInputs["rampDownMinutesToWaitOnLogoff"] = args ? args.rampDownMinutesToWaitOnLogoff : undefined; + resourceInputs["rampDownStartTime"] = args ? args.rampDownStartTime : undefined; + resourceInputs["rampDownStartVMOnConnect"] = (args ? args.rampDownStartVMOnConnect : undefined) ?? "Enable"; + resourceInputs["rampUpActionOnDisconnect"] = args ? args.rampUpActionOnDisconnect : undefined; + resourceInputs["rampUpActionOnLogoff"] = args ? args.rampUpActionOnLogoff : undefined; + resourceInputs["rampUpAutoStartHosts"] = args ? args.rampUpAutoStartHosts : undefined; + resourceInputs["rampUpMinutesToWaitOnDisconnect"] = args ? args.rampUpMinutesToWaitOnDisconnect : undefined; + resourceInputs["rampUpMinutesToWaitOnLogoff"] = args ? args.rampUpMinutesToWaitOnLogoff : undefined; + resourceInputs["rampUpStartTime"] = args ? args.rampUpStartTime : undefined; + resourceInputs["rampUpStartVMOnConnect"] = (args ? args.rampUpStartVMOnConnect : undefined) ?? "Enable"; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["scalingPlanName"] = args ? args.scalingPlanName : undefined; + resourceInputs["scalingPlanScheduleName"] = args ? args.scalingPlanScheduleName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["daysOfWeek"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["offPeakActionOnDisconnect"] = undefined /*out*/; + resourceInputs["offPeakActionOnLogoff"] = undefined /*out*/; + resourceInputs["offPeakMinutesToWaitOnDisconnect"] = undefined /*out*/; + resourceInputs["offPeakMinutesToWaitOnLogoff"] = undefined /*out*/; + resourceInputs["offPeakStartTime"] = undefined /*out*/; + resourceInputs["offPeakStartVMOnConnect"] = undefined /*out*/; + resourceInputs["peakActionOnDisconnect"] = undefined /*out*/; + resourceInputs["peakActionOnLogoff"] = undefined /*out*/; + resourceInputs["peakMinutesToWaitOnDisconnect"] = undefined /*out*/; + resourceInputs["peakMinutesToWaitOnLogoff"] = undefined /*out*/; + resourceInputs["peakStartTime"] = undefined /*out*/; + resourceInputs["peakStartVMOnConnect"] = undefined /*out*/; + resourceInputs["rampDownActionOnDisconnect"] = undefined /*out*/; + resourceInputs["rampDownActionOnLogoff"] = undefined /*out*/; + resourceInputs["rampDownMinutesToWaitOnDisconnect"] = undefined /*out*/; + resourceInputs["rampDownMinutesToWaitOnLogoff"] = undefined /*out*/; + resourceInputs["rampDownStartTime"] = undefined /*out*/; + resourceInputs["rampDownStartVMOnConnect"] = undefined /*out*/; + resourceInputs["rampUpActionOnDisconnect"] = undefined /*out*/; + resourceInputs["rampUpActionOnLogoff"] = undefined /*out*/; + resourceInputs["rampUpAutoStartHosts"] = undefined /*out*/; + resourceInputs["rampUpMinutesToWaitOnDisconnect"] = undefined /*out*/; + resourceInputs["rampUpMinutesToWaitOnLogoff"] = undefined /*out*/; + resourceInputs["rampUpStartTime"] = undefined /*out*/; + resourceInputs["rampUpStartVMOnConnect"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPersonalSchedule" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(ScalingPlanPersonalSchedule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ScalingPlanPersonalSchedule resource. + */ +export interface ScalingPlanPersonalScheduleArgs { + /** + * Set of days of the week on which this schedule is active. + */ + daysOfWeek?: pulumi.Input[]>; + /** + * Action to be taken after a user disconnect during the off-peak period. + */ + offPeakActionOnDisconnect?: pulumi.Input; + /** + * Action to be taken after a logoff during the off-peak period. + */ + offPeakActionOnLogoff?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + */ + offPeakMinutesToWaitOnDisconnect?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + */ + offPeakMinutesToWaitOnLogoff?: pulumi.Input; + /** + * Starting time for off-peak period. + */ + offPeakStartTime?: pulumi.Input; + /** + * The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + */ + offPeakStartVMOnConnect?: pulumi.Input; + /** + * Action to be taken after a user disconnect during the peak period. + */ + peakActionOnDisconnect?: pulumi.Input; + /** + * Action to be taken after a logoff during the peak period. + */ + peakActionOnLogoff?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + */ + peakMinutesToWaitOnDisconnect?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + */ + peakMinutesToWaitOnLogoff?: pulumi.Input; + /** + * Starting time for peak period. + */ + peakStartTime?: pulumi.Input; + /** + * The desired configuration of Start VM On Connect for the hostpool during the peak phase. + */ + peakStartVMOnConnect?: pulumi.Input; + /** + * Action to be taken after a user disconnect during the ramp down period. + */ + rampDownActionOnDisconnect?: pulumi.Input; + /** + * Action to be taken after a logoff during the ramp down period. + */ + rampDownActionOnLogoff?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + */ + rampDownMinutesToWaitOnDisconnect?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + */ + rampDownMinutesToWaitOnLogoff?: pulumi.Input; + /** + * Starting time for ramp down period. + */ + rampDownStartTime?: pulumi.Input; + /** + * The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + */ + rampDownStartVMOnConnect?: pulumi.Input; + /** + * Action to be taken after a user disconnect during the ramp up period. + */ + rampUpActionOnDisconnect?: pulumi.Input; + /** + * Action to be taken after a logoff during the ramp up period. + */ + rampUpActionOnLogoff?: pulumi.Input; + /** + * The desired startup behavior during the ramp up period for personal vms in the hostpool. + */ + rampUpAutoStartHosts?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + */ + rampUpMinutesToWaitOnDisconnect?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + */ + rampUpMinutesToWaitOnLogoff?: pulumi.Input; + /** + * Starting time for ramp up period. + */ + rampUpStartTime?: pulumi.Input; + /** + * The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + */ + rampUpStartVMOnConnect?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the scaling plan. + */ + scalingPlanName: pulumi.Input; + /** + * The name of the ScalingPlanSchedule + */ + scalingPlanScheduleName?: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/scalingPlanPooledSchedule.ts b/sdk/nodejs/desktopvirtualization/scalingPlanPooledSchedule.ts index d01d25191c38..f5394c38e01f 100644 --- a/sdk/nodejs/desktopvirtualization/scalingPlanPooledSchedule.ts +++ b/sdk/nodejs/desktopvirtualization/scalingPlanPooledSchedule.ts @@ -182,7 +182,7 @@ export class ScalingPlanPooledSchedule extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ScalingPlanPooledSchedule.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20210201preview/scalingPlan.ts b/sdk/nodejs/desktopvirtualization/v20210201preview/scalingPlan.ts index e104ddc7c886..31f34c57933f 100644 --- a/sdk/nodejs/desktopvirtualization/v20210201preview/scalingPlan.ts +++ b/sdk/nodejs/desktopvirtualization/v20210201preview/scalingPlan.ts @@ -162,7 +162,7 @@ export class ScalingPlan extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20201110preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210114preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210309preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210712:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210903preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220210preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlan" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20201110preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210114preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210309preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210712:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210903preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220210preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20230707preview:ScalingPlan" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ScalingPlan.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20220210preview/scalingPlan.ts b/sdk/nodejs/desktopvirtualization/v20220210preview/scalingPlan.ts index 92c4ecc5caa9..9c397dd4589e 100644 --- a/sdk/nodejs/desktopvirtualization/v20220210preview/scalingPlan.ts +++ b/sdk/nodejs/desktopvirtualization/v20220210preview/scalingPlan.ts @@ -162,7 +162,7 @@ export class ScalingPlan extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20201110preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210114preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210201preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210309preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210712:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210903preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlan" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20201110preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210114preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210201preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210309preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210712:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210903preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20230707preview:ScalingPlan" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ScalingPlan.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20220401preview/applicationGroup.ts b/sdk/nodejs/desktopvirtualization/v20220401preview/applicationGroup.ts index 2ddc2b75f04a..85243a6871b6 100644 --- a/sdk/nodejs/desktopvirtualization/v20220401preview/applicationGroup.ts +++ b/sdk/nodejs/desktopvirtualization/v20220401preview/applicationGroup.ts @@ -168,7 +168,7 @@ export class ApplicationGroup extends pulumi.CustomResource { resourceInputs["workspaceArmPath"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190123preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190924preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20191210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20200921preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201019preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201102preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201110preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210114preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210201preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210309preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210712:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210903preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220909:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20221014preview:ApplicationGroup" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190123preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190924preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20191210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20200921preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201019preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201102preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201110preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210114preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210201preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210309preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210712:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210903preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220909:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20221014preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20230707preview:ApplicationGroup" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ApplicationGroup.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20220401preview/hostPool.ts b/sdk/nodejs/desktopvirtualization/v20220401preview/hostPool.ts index 72c3ff93f895..9050e606b86c 100644 --- a/sdk/nodejs/desktopvirtualization/v20220401preview/hostPool.ts +++ b/sdk/nodejs/desktopvirtualization/v20220401preview/hostPool.ts @@ -267,7 +267,7 @@ export class HostPool extends pulumi.CustomResource { resourceInputs["vmTemplate"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:HostPool" }, { type: "azure-native:desktopvirtualization/v20190123preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20190924preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20191210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20200921preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201019preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201102preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201110preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210114preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210201preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210309preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210712:HostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220909:HostPool" }, { type: "azure-native:desktopvirtualization/v20221014preview:HostPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:HostPool" }, { type: "azure-native:desktopvirtualization/v20190123preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20190924preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20191210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20200921preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201019preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201102preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201110preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210114preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210201preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210309preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210712:HostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220909:HostPool" }, { type: "azure-native:desktopvirtualization/v20221014preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20230707preview:HostPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(HostPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20220909/application.ts b/sdk/nodejs/desktopvirtualization/v20220909/application.ts index 712ed06574c6..10387452bd9d 100644 --- a/sdk/nodejs/desktopvirtualization/v20220909/application.ts +++ b/sdk/nodejs/desktopvirtualization/v20220909/application.ts @@ -166,7 +166,7 @@ export class Application extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:Application" }, { type: "azure-native:desktopvirtualization/v20190123preview:Application" }, { type: "azure-native:desktopvirtualization/v20190924preview:Application" }, { type: "azure-native:desktopvirtualization/v20191210preview:Application" }, { type: "azure-native:desktopvirtualization/v20200921preview:Application" }, { type: "azure-native:desktopvirtualization/v20201019preview:Application" }, { type: "azure-native:desktopvirtualization/v20201102preview:Application" }, { type: "azure-native:desktopvirtualization/v20201110preview:Application" }, { type: "azure-native:desktopvirtualization/v20210114preview:Application" }, { type: "azure-native:desktopvirtualization/v20210201preview:Application" }, { type: "azure-native:desktopvirtualization/v20210309preview:Application" }, { type: "azure-native:desktopvirtualization/v20210401preview:Application" }, { type: "azure-native:desktopvirtualization/v20210712:Application" }, { type: "azure-native:desktopvirtualization/v20210903preview:Application" }, { type: "azure-native:desktopvirtualization/v20220210preview:Application" }, { type: "azure-native:desktopvirtualization/v20220401preview:Application" }, { type: "azure-native:desktopvirtualization/v20221014preview:Application" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:Application" }, { type: "azure-native:desktopvirtualization/v20190123preview:Application" }, { type: "azure-native:desktopvirtualization/v20190924preview:Application" }, { type: "azure-native:desktopvirtualization/v20191210preview:Application" }, { type: "azure-native:desktopvirtualization/v20200921preview:Application" }, { type: "azure-native:desktopvirtualization/v20201019preview:Application" }, { type: "azure-native:desktopvirtualization/v20201102preview:Application" }, { type: "azure-native:desktopvirtualization/v20201110preview:Application" }, { type: "azure-native:desktopvirtualization/v20210114preview:Application" }, { type: "azure-native:desktopvirtualization/v20210201preview:Application" }, { type: "azure-native:desktopvirtualization/v20210309preview:Application" }, { type: "azure-native:desktopvirtualization/v20210401preview:Application" }, { type: "azure-native:desktopvirtualization/v20210712:Application" }, { type: "azure-native:desktopvirtualization/v20210903preview:Application" }, { type: "azure-native:desktopvirtualization/v20220210preview:Application" }, { type: "azure-native:desktopvirtualization/v20220401preview:Application" }, { type: "azure-native:desktopvirtualization/v20221014preview:Application" }, { type: "azure-native:desktopvirtualization/v20230707preview:Application" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Application.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20220909/applicationGroup.ts b/sdk/nodejs/desktopvirtualization/v20220909/applicationGroup.ts index 99990e38197b..4a8315d0fb40 100644 --- a/sdk/nodejs/desktopvirtualization/v20220909/applicationGroup.ts +++ b/sdk/nodejs/desktopvirtualization/v20220909/applicationGroup.ts @@ -162,7 +162,7 @@ export class ApplicationGroup extends pulumi.CustomResource { resourceInputs["workspaceArmPath"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190123preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190924preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20191210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20200921preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201019preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201102preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201110preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210114preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210201preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210309preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210712:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210903preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20221014preview:ApplicationGroup" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190123preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190924preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20191210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20200921preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201019preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201102preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201110preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210114preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210201preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210309preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210712:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210903preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20221014preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20230707preview:ApplicationGroup" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ApplicationGroup.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20220909/hostPool.ts b/sdk/nodejs/desktopvirtualization/v20220909/hostPool.ts index 11b9fd194dff..66d2f5edcea0 100644 --- a/sdk/nodejs/desktopvirtualization/v20220909/hostPool.ts +++ b/sdk/nodejs/desktopvirtualization/v20220909/hostPool.ts @@ -249,7 +249,7 @@ export class HostPool extends pulumi.CustomResource { resourceInputs["vmTemplate"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:HostPool" }, { type: "azure-native:desktopvirtualization/v20190123preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20190924preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20191210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20200921preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201019preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201102preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201110preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210114preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210201preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210309preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210712:HostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20221014preview:HostPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:HostPool" }, { type: "azure-native:desktopvirtualization/v20190123preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20190924preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20191210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20200921preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201019preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201102preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201110preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210114preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210201preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210309preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210712:HostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20221014preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20230707preview:HostPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(HostPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20220909/msixpackage.ts b/sdk/nodejs/desktopvirtualization/v20220909/msixpackage.ts index fd7242e4a383..c939b227bc81 100644 --- a/sdk/nodejs/desktopvirtualization/v20220909/msixpackage.ts +++ b/sdk/nodejs/desktopvirtualization/v20220909/msixpackage.ts @@ -145,7 +145,7 @@ export class MSIXPackage extends pulumi.CustomResource { resourceInputs["version"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20200921preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201019preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201102preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201110preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210114preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210201preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210309preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210712:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210903preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220210preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20221014preview:MSIXPackage" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20200921preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201019preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201102preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201110preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210114preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210201preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210309preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210712:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210903preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220210preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20221014preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20230707preview:MSIXPackage" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(MSIXPackage.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20220909/scalingPlan.ts b/sdk/nodejs/desktopvirtualization/v20220909/scalingPlan.ts index 530756dfdbef..e3d0ccedea14 100644 --- a/sdk/nodejs/desktopvirtualization/v20220909/scalingPlan.ts +++ b/sdk/nodejs/desktopvirtualization/v20220909/scalingPlan.ts @@ -165,7 +165,7 @@ export class ScalingPlan extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20201110preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210114preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210201preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210309preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210712:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210903preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220210preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlan" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20201110preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210114preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210201preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210309preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210712:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210903preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220210preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20230707preview:ScalingPlan" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ScalingPlan.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20220909/scalingPlanPooledSchedule.ts b/sdk/nodejs/desktopvirtualization/v20220909/scalingPlanPooledSchedule.ts index 2db526698d0d..684d68cd3b9c 100644 --- a/sdk/nodejs/desktopvirtualization/v20220909/scalingPlanPooledSchedule.ts +++ b/sdk/nodejs/desktopvirtualization/v20220909/scalingPlanPooledSchedule.ts @@ -181,7 +181,7 @@ export class ScalingPlanPooledSchedule extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ScalingPlanPooledSchedule.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20220909/workspace.ts b/sdk/nodejs/desktopvirtualization/v20220909/workspace.ts index 7685d84b3dd1..c5fe0dd89260 100644 --- a/sdk/nodejs/desktopvirtualization/v20220909/workspace.ts +++ b/sdk/nodejs/desktopvirtualization/v20220909/workspace.ts @@ -144,7 +144,7 @@ export class Workspace extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:Workspace" }, { type: "azure-native:desktopvirtualization/v20190123preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20190924preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20191210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20200921preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201019preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201102preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201110preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210114preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210201preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210309preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210712:Workspace" }, { type: "azure-native:desktopvirtualization/v20210903preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20221014preview:Workspace" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:Workspace" }, { type: "azure-native:desktopvirtualization/v20190123preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20190924preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20191210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20200921preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201019preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201102preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201110preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210114preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210201preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210309preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210712:Workspace" }, { type: "azure-native:desktopvirtualization/v20210903preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20221014preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20230707preview:Workspace" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Workspace.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20221014preview/application.ts b/sdk/nodejs/desktopvirtualization/v20221014preview/application.ts index ea9f96aa9830..1ddd0ef6233a 100644 --- a/sdk/nodejs/desktopvirtualization/v20221014preview/application.ts +++ b/sdk/nodejs/desktopvirtualization/v20221014preview/application.ts @@ -166,7 +166,7 @@ export class Application extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:Application" }, { type: "azure-native:desktopvirtualization/v20190123preview:Application" }, { type: "azure-native:desktopvirtualization/v20190924preview:Application" }, { type: "azure-native:desktopvirtualization/v20191210preview:Application" }, { type: "azure-native:desktopvirtualization/v20200921preview:Application" }, { type: "azure-native:desktopvirtualization/v20201019preview:Application" }, { type: "azure-native:desktopvirtualization/v20201102preview:Application" }, { type: "azure-native:desktopvirtualization/v20201110preview:Application" }, { type: "azure-native:desktopvirtualization/v20210114preview:Application" }, { type: "azure-native:desktopvirtualization/v20210201preview:Application" }, { type: "azure-native:desktopvirtualization/v20210309preview:Application" }, { type: "azure-native:desktopvirtualization/v20210401preview:Application" }, { type: "azure-native:desktopvirtualization/v20210712:Application" }, { type: "azure-native:desktopvirtualization/v20210903preview:Application" }, { type: "azure-native:desktopvirtualization/v20220210preview:Application" }, { type: "azure-native:desktopvirtualization/v20220401preview:Application" }, { type: "azure-native:desktopvirtualization/v20220909:Application" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:Application" }, { type: "azure-native:desktopvirtualization/v20190123preview:Application" }, { type: "azure-native:desktopvirtualization/v20190924preview:Application" }, { type: "azure-native:desktopvirtualization/v20191210preview:Application" }, { type: "azure-native:desktopvirtualization/v20200921preview:Application" }, { type: "azure-native:desktopvirtualization/v20201019preview:Application" }, { type: "azure-native:desktopvirtualization/v20201102preview:Application" }, { type: "azure-native:desktopvirtualization/v20201110preview:Application" }, { type: "azure-native:desktopvirtualization/v20210114preview:Application" }, { type: "azure-native:desktopvirtualization/v20210201preview:Application" }, { type: "azure-native:desktopvirtualization/v20210309preview:Application" }, { type: "azure-native:desktopvirtualization/v20210401preview:Application" }, { type: "azure-native:desktopvirtualization/v20210712:Application" }, { type: "azure-native:desktopvirtualization/v20210903preview:Application" }, { type: "azure-native:desktopvirtualization/v20220210preview:Application" }, { type: "azure-native:desktopvirtualization/v20220401preview:Application" }, { type: "azure-native:desktopvirtualization/v20220909:Application" }, { type: "azure-native:desktopvirtualization/v20230707preview:Application" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Application.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20221014preview/applicationGroup.ts b/sdk/nodejs/desktopvirtualization/v20221014preview/applicationGroup.ts index 887ff0df70e3..ac986ca28079 100644 --- a/sdk/nodejs/desktopvirtualization/v20221014preview/applicationGroup.ts +++ b/sdk/nodejs/desktopvirtualization/v20221014preview/applicationGroup.ts @@ -162,7 +162,7 @@ export class ApplicationGroup extends pulumi.CustomResource { resourceInputs["workspaceArmPath"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190123preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190924preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20191210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20200921preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201019preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201102preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201110preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210114preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210201preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210309preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210712:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210903preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220909:ApplicationGroup" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190123preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190924preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20191210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20200921preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201019preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201102preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201110preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210114preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210201preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210309preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210712:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210903preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220909:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20230707preview:ApplicationGroup" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ApplicationGroup.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20221014preview/hostPool.ts b/sdk/nodejs/desktopvirtualization/v20221014preview/hostPool.ts index 70f44a24afbf..12648d403802 100644 --- a/sdk/nodejs/desktopvirtualization/v20221014preview/hostPool.ts +++ b/sdk/nodejs/desktopvirtualization/v20221014preview/hostPool.ts @@ -261,7 +261,7 @@ export class HostPool extends pulumi.CustomResource { resourceInputs["vmTemplate"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:HostPool" }, { type: "azure-native:desktopvirtualization/v20190123preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20190924preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20191210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20200921preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201019preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201102preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201110preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210114preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210201preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210309preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210712:HostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220909:HostPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:HostPool" }, { type: "azure-native:desktopvirtualization/v20190123preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20190924preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20191210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20200921preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201019preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201102preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201110preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210114preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210201preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210309preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210712:HostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220909:HostPool" }, { type: "azure-native:desktopvirtualization/v20230707preview:HostPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(HostPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20221014preview/msixpackage.ts b/sdk/nodejs/desktopvirtualization/v20221014preview/msixpackage.ts index 7ff766f784b9..a65e235253f2 100644 --- a/sdk/nodejs/desktopvirtualization/v20221014preview/msixpackage.ts +++ b/sdk/nodejs/desktopvirtualization/v20221014preview/msixpackage.ts @@ -145,7 +145,7 @@ export class MSIXPackage extends pulumi.CustomResource { resourceInputs["version"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20200921preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201019preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201102preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201110preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210114preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210201preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210309preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210712:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210903preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220210preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220909:MSIXPackage" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20200921preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201019preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201102preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201110preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210114preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210201preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210309preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210712:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210903preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220210preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220909:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20230707preview:MSIXPackage" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(MSIXPackage.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20221014preview/privateEndpointConnectionByHostPool.ts b/sdk/nodejs/desktopvirtualization/v20221014preview/privateEndpointConnectionByHostPool.ts index 495d03cf6862..453420343713 100644 --- a/sdk/nodejs/desktopvirtualization/v20221014preview/privateEndpointConnectionByHostPool.ts +++ b/sdk/nodejs/desktopvirtualization/v20221014preview/privateEndpointConnectionByHostPool.ts @@ -100,7 +100,7 @@ export class PrivateEndpointConnectionByHostPool extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateEndpointConnectionByHostPool.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20221014preview/privateEndpointConnectionByWorkspace.ts b/sdk/nodejs/desktopvirtualization/v20221014preview/privateEndpointConnectionByWorkspace.ts index 17772426c09c..c5cb13f15194 100644 --- a/sdk/nodejs/desktopvirtualization/v20221014preview/privateEndpointConnectionByWorkspace.ts +++ b/sdk/nodejs/desktopvirtualization/v20221014preview/privateEndpointConnectionByWorkspace.ts @@ -100,7 +100,7 @@ export class PrivateEndpointConnectionByWorkspace extends pulumi.CustomResource resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateEndpointConnectionByWorkspace.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20221014preview/scalingPlan.ts b/sdk/nodejs/desktopvirtualization/v20221014preview/scalingPlan.ts index 30d920f42ecd..12da475089c8 100644 --- a/sdk/nodejs/desktopvirtualization/v20221014preview/scalingPlan.ts +++ b/sdk/nodejs/desktopvirtualization/v20221014preview/scalingPlan.ts @@ -165,7 +165,7 @@ export class ScalingPlan extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20201110preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210114preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210201preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210309preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210712:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210903preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220210preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlan" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20201110preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210114preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210201preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210309preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210712:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210903preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220210preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20230707preview:ScalingPlan" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ScalingPlan.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20221014preview/scalingPlanPooledSchedule.ts b/sdk/nodejs/desktopvirtualization/v20221014preview/scalingPlanPooledSchedule.ts index 1c1f8d71c04e..e551539bbb68 100644 --- a/sdk/nodejs/desktopvirtualization/v20221014preview/scalingPlanPooledSchedule.ts +++ b/sdk/nodejs/desktopvirtualization/v20221014preview/scalingPlanPooledSchedule.ts @@ -181,7 +181,7 @@ export class ScalingPlanPooledSchedule extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(ScalingPlanPooledSchedule.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20221014preview/workspace.ts b/sdk/nodejs/desktopvirtualization/v20221014preview/workspace.ts index 264fcd5ece71..e9f38f9c5165 100644 --- a/sdk/nodejs/desktopvirtualization/v20221014preview/workspace.ts +++ b/sdk/nodejs/desktopvirtualization/v20221014preview/workspace.ts @@ -156,7 +156,7 @@ export class Workspace extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:Workspace" }, { type: "azure-native:desktopvirtualization/v20190123preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20190924preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20191210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20200921preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201019preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201102preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201110preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210114preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210201preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210309preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210712:Workspace" }, { type: "azure-native:desktopvirtualization/v20210903preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220909:Workspace" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:Workspace" }, { type: "azure-native:desktopvirtualization/v20190123preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20190924preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20191210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20200921preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201019preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201102preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201110preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210114preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210201preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210309preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210712:Workspace" }, { type: "azure-native:desktopvirtualization/v20210903preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220909:Workspace" }, { type: "azure-native:desktopvirtualization/v20230707preview:Workspace" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Workspace.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/application.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/application.ts new file mode 100644 index 000000000000..1333e9f102f6 --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/application.ts @@ -0,0 +1,235 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Schema for Application properties. + */ +export class Application extends pulumi.CustomResource { + /** + * Get an existing Application 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Application { + return new Application(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:desktopvirtualization/v20230707preview:Application'; + + /** + * Returns true if the given object is an instance of Application. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Application { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Application.__pulumiType; + } + + /** + * Resource Type of Application. + */ + public readonly applicationType!: pulumi.Output; + /** + * Command Line Arguments for Application. + */ + public readonly commandLineArguments!: pulumi.Output; + /** + * Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + */ + public readonly commandLineSetting!: pulumi.Output; + /** + * Description of Application. + */ + public readonly description!: pulumi.Output; + /** + * Specifies a path for the executable file for the application. + */ + public readonly filePath!: pulumi.Output; + /** + * Friendly name of Application. + */ + public readonly friendlyName!: pulumi.Output; + /** + * the icon a 64 bit string as a byte array. + */ + public /*out*/ readonly iconContent!: pulumi.Output; + /** + * Hash of the icon. + */ + public /*out*/ readonly iconHash!: pulumi.Output; + /** + * Index of the icon. + */ + public readonly iconIndex!: pulumi.Output; + /** + * Path to icon. + */ + public readonly iconPath!: pulumi.Output; + /** + * Specifies the package application Id for MSIX applications + */ + public readonly msixPackageApplicationId!: pulumi.Output; + /** + * Specifies the package family name for MSIX applications + */ + public readonly msixPackageFamilyName!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * ObjectId of Application. (internal use) + */ + public /*out*/ readonly objectId!: pulumi.Output; + /** + * Specifies whether to show the RemoteApp program in the RD Web Access server. + */ + public readonly showInPortal!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Application 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: ApplicationArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.applicationGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'applicationGroupName'"); + } + if ((!args || args.commandLineSetting === undefined) && !opts.urn) { + throw new Error("Missing required property 'commandLineSetting'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["applicationGroupName"] = args ? args.applicationGroupName : undefined; + resourceInputs["applicationName"] = args ? args.applicationName : undefined; + resourceInputs["applicationType"] = args ? args.applicationType : undefined; + resourceInputs["commandLineArguments"] = args ? args.commandLineArguments : undefined; + resourceInputs["commandLineSetting"] = args ? args.commandLineSetting : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["filePath"] = args ? args.filePath : undefined; + resourceInputs["friendlyName"] = args ? args.friendlyName : undefined; + resourceInputs["iconIndex"] = args ? args.iconIndex : undefined; + resourceInputs["iconPath"] = args ? args.iconPath : undefined; + resourceInputs["msixPackageApplicationId"] = args ? args.msixPackageApplicationId : undefined; + resourceInputs["msixPackageFamilyName"] = args ? args.msixPackageFamilyName : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["showInPortal"] = args ? args.showInPortal : undefined; + resourceInputs["iconContent"] = undefined /*out*/; + resourceInputs["iconHash"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["objectId"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["applicationType"] = undefined /*out*/; + resourceInputs["commandLineArguments"] = undefined /*out*/; + resourceInputs["commandLineSetting"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["filePath"] = undefined /*out*/; + resourceInputs["friendlyName"] = undefined /*out*/; + resourceInputs["iconContent"] = undefined /*out*/; + resourceInputs["iconHash"] = undefined /*out*/; + resourceInputs["iconIndex"] = undefined /*out*/; + resourceInputs["iconPath"] = undefined /*out*/; + resourceInputs["msixPackageApplicationId"] = undefined /*out*/; + resourceInputs["msixPackageFamilyName"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["objectId"] = undefined /*out*/; + resourceInputs["showInPortal"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:Application" }, { type: "azure-native:desktopvirtualization/v20190123preview:Application" }, { type: "azure-native:desktopvirtualization/v20190924preview:Application" }, { type: "azure-native:desktopvirtualization/v20191210preview:Application" }, { type: "azure-native:desktopvirtualization/v20200921preview:Application" }, { type: "azure-native:desktopvirtualization/v20201019preview:Application" }, { type: "azure-native:desktopvirtualization/v20201102preview:Application" }, { type: "azure-native:desktopvirtualization/v20201110preview:Application" }, { type: "azure-native:desktopvirtualization/v20210114preview:Application" }, { type: "azure-native:desktopvirtualization/v20210201preview:Application" }, { type: "azure-native:desktopvirtualization/v20210309preview:Application" }, { type: "azure-native:desktopvirtualization/v20210401preview:Application" }, { type: "azure-native:desktopvirtualization/v20210712:Application" }, { type: "azure-native:desktopvirtualization/v20210903preview:Application" }, { type: "azure-native:desktopvirtualization/v20220210preview:Application" }, { type: "azure-native:desktopvirtualization/v20220401preview:Application" }, { type: "azure-native:desktopvirtualization/v20220909:Application" }, { type: "azure-native:desktopvirtualization/v20221014preview:Application" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Application.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Application resource. + */ +export interface ApplicationArgs { + /** + * The name of the application group + */ + applicationGroupName: pulumi.Input; + /** + * The name of the application within the specified application group + */ + applicationName?: pulumi.Input; + /** + * Resource Type of Application. + */ + applicationType?: pulumi.Input; + /** + * Command Line Arguments for Application. + */ + commandLineArguments?: pulumi.Input; + /** + * Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + */ + commandLineSetting: pulumi.Input; + /** + * Description of Application. + */ + description?: pulumi.Input; + /** + * Specifies a path for the executable file for the application. + */ + filePath?: pulumi.Input; + /** + * Friendly name of Application. + */ + friendlyName?: pulumi.Input; + /** + * Index of the icon. + */ + iconIndex?: pulumi.Input; + /** + * Path to icon. + */ + iconPath?: pulumi.Input; + /** + * Specifies the package application Id for MSIX applications + */ + msixPackageApplicationId?: pulumi.Input; + /** + * Specifies the package family name for MSIX applications + */ + msixPackageFamilyName?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Specifies whether to show the RemoteApp program in the RD Web Access server. + */ + showInPortal?: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/applicationGroup.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/applicationGroup.ts new file mode 100644 index 000000000000..ae10b4329065 --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/applicationGroup.ts @@ -0,0 +1,228 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Represents a ApplicationGroup definition. + */ +export class ApplicationGroup extends pulumi.CustomResource { + /** + * Get an existing ApplicationGroup 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ApplicationGroup { + return new ApplicationGroup(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:desktopvirtualization/v20230707preview:ApplicationGroup'; + + /** + * Returns true if the given object is an instance of ApplicationGroup. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ApplicationGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ApplicationGroup.__pulumiType; + } + + /** + * Resource Type of ApplicationGroup. + */ + public readonly applicationGroupType!: pulumi.Output; + /** + * Is cloud pc resource. + */ + public /*out*/ readonly cloudPcResource!: pulumi.Output; + /** + * Description of ApplicationGroup. + */ + public readonly description!: pulumi.Output; + /** + * The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + */ + public /*out*/ readonly etag!: pulumi.Output; + /** + * Friendly name of ApplicationGroup. + */ + public readonly friendlyName!: pulumi.Output; + /** + * HostPool arm path of ApplicationGroup. + */ + public readonly hostPoolArmPath!: pulumi.Output; + public readonly identity!: pulumi.Output; + /** + * Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + */ + public readonly kind!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + */ + public readonly managedBy!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * ObjectId of ApplicationGroup. (internal use) + */ + public /*out*/ readonly objectId!: pulumi.Output; + public readonly plan!: pulumi.Output; + /** + * Boolean representing whether the applicationGroup is show in the feed. + */ + public readonly showInFeed!: pulumi.Output; + public readonly sku!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * Workspace arm path of ApplicationGroup. + */ + public /*out*/ readonly workspaceArmPath!: pulumi.Output; + + /** + * Create a ApplicationGroup 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: ApplicationGroupArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.applicationGroupType === undefined) && !opts.urn) { + throw new Error("Missing required property 'applicationGroupType'"); + } + if ((!args || args.hostPoolArmPath === undefined) && !opts.urn) { + throw new Error("Missing required property 'hostPoolArmPath'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["applicationGroupName"] = args ? args.applicationGroupName : undefined; + resourceInputs["applicationGroupType"] = args ? args.applicationGroupType : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["friendlyName"] = args ? args.friendlyName : undefined; + resourceInputs["hostPoolArmPath"] = args ? args.hostPoolArmPath : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["kind"] = args ? args.kind : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["managedBy"] = args ? args.managedBy : undefined; + resourceInputs["plan"] = args ? args.plan : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["showInFeed"] = args ? args.showInFeed : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["cloudPcResource"] = undefined /*out*/; + resourceInputs["etag"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["objectId"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["workspaceArmPath"] = undefined /*out*/; + } else { + resourceInputs["applicationGroupType"] = undefined /*out*/; + resourceInputs["cloudPcResource"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["etag"] = undefined /*out*/; + resourceInputs["friendlyName"] = undefined /*out*/; + resourceInputs["hostPoolArmPath"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["kind"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["managedBy"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["objectId"] = undefined /*out*/; + resourceInputs["plan"] = undefined /*out*/; + resourceInputs["showInFeed"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["workspaceArmPath"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190123preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20190924preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20191210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20200921preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201019preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201102preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20201110preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210114preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210201preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210309preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210712:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20210903preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220210preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220401preview:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20220909:ApplicationGroup" }, { type: "azure-native:desktopvirtualization/v20221014preview:ApplicationGroup" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(ApplicationGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ApplicationGroup resource. + */ +export interface ApplicationGroupArgs { + /** + * The name of the application group + */ + applicationGroupName?: pulumi.Input; + /** + * Resource Type of ApplicationGroup. + */ + applicationGroupType: pulumi.Input; + /** + * Description of ApplicationGroup. + */ + description?: pulumi.Input; + /** + * Friendly name of ApplicationGroup. + */ + friendlyName?: pulumi.Input; + /** + * HostPool arm path of ApplicationGroup. + */ + hostPoolArmPath: pulumi.Input; + identity?: pulumi.Input; + /** + * Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + */ + kind?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + */ + managedBy?: pulumi.Input; + plan?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Boolean representing whether the applicationGroup is show in the feed. + */ + showInFeed?: pulumi.Input; + sku?: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/getApplication.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/getApplication.ts new file mode 100644 index 000000000000..11afee680e2d --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/getApplication.ts @@ -0,0 +1,135 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get an application. + */ +export function getApplication(args: GetApplicationArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:desktopvirtualization/v20230707preview:getApplication", { + "applicationGroupName": args.applicationGroupName, + "applicationName": args.applicationName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetApplicationArgs { + /** + * The name of the application group + */ + applicationGroupName: string; + /** + * The name of the application within the specified application group + */ + applicationName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * Schema for Application properties. + */ +export interface GetApplicationResult { + /** + * Resource Type of Application. + */ + readonly applicationType?: string; + /** + * Command Line Arguments for Application. + */ + readonly commandLineArguments?: string; + /** + * Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + */ + readonly commandLineSetting: string; + /** + * Description of Application. + */ + readonly description?: string; + /** + * Specifies a path for the executable file for the application. + */ + readonly filePath?: string; + /** + * Friendly name of Application. + */ + readonly friendlyName?: string; + /** + * the icon a 64 bit string as a byte array. + */ + readonly iconContent: string; + /** + * Hash of the icon. + */ + readonly iconHash: string; + /** + * Index of the icon. + */ + readonly iconIndex?: number; + /** + * Path to icon. + */ + readonly iconPath?: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * Specifies the package application Id for MSIX applications + */ + readonly msixPackageApplicationId?: string; + /** + * Specifies the package family name for MSIX applications + */ + readonly msixPackageFamilyName?: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * ObjectId of Application. (internal use) + */ + readonly objectId: string; + /** + * Specifies whether to show the RemoteApp program in the RD Web Access server. + */ + readonly showInPortal?: boolean; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.desktopvirtualization.v20230707preview.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get an application. + */ +export function getApplicationOutput(args: GetApplicationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getApplication(a, opts)) +} + +export interface GetApplicationOutputArgs { + /** + * The name of the application group + */ + applicationGroupName: pulumi.Input; + /** + * The name of the application within the specified application group + */ + applicationName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/getApplicationGroup.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/getApplicationGroup.ts new file mode 100644 index 000000000000..c5de8bf541f8 --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/getApplicationGroup.ts @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get an application group. + */ +export function getApplicationGroup(args: GetApplicationGroupArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:desktopvirtualization/v20230707preview:getApplicationGroup", { + "applicationGroupName": args.applicationGroupName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetApplicationGroupArgs { + /** + * The name of the application group + */ + applicationGroupName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * Represents a ApplicationGroup definition. + */ +export interface GetApplicationGroupResult { + /** + * Resource Type of ApplicationGroup. + */ + readonly applicationGroupType: string; + /** + * Is cloud pc resource. + */ + readonly cloudPcResource: boolean; + /** + * Description of ApplicationGroup. + */ + readonly description?: string; + /** + * The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + */ + readonly etag: string; + /** + * Friendly name of ApplicationGroup. + */ + readonly friendlyName?: string; + /** + * HostPool arm path of ApplicationGroup. + */ + readonly hostPoolArmPath: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + readonly identity?: outputs.desktopvirtualization.v20230707preview.ResourceModelWithAllowedPropertySetResponseIdentity; + /** + * Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + */ + readonly kind?: string; + /** + * The geo-location where the resource lives + */ + readonly location?: string; + /** + * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + */ + readonly managedBy?: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * ObjectId of ApplicationGroup. (internal use) + */ + readonly objectId: string; + readonly plan?: outputs.desktopvirtualization.v20230707preview.ResourceModelWithAllowedPropertySetResponsePlan; + /** + * Boolean representing whether the applicationGroup is show in the feed. + */ + readonly showInFeed?: boolean; + readonly sku?: outputs.desktopvirtualization.v20230707preview.ResourceModelWithAllowedPropertySetResponseSku; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.desktopvirtualization.v20230707preview.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; + /** + * Workspace arm path of ApplicationGroup. + */ + readonly workspaceArmPath: string; +} +/** + * Get an application group. + */ +export function getApplicationGroupOutput(args: GetApplicationGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getApplicationGroup(a, opts)) +} + +export interface GetApplicationGroupOutputArgs { + /** + * The name of the application group + */ + applicationGroupName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/getHostPool.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/getHostPool.ts new file mode 100644 index 000000000000..ccf981f8624f --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/getHostPool.ts @@ -0,0 +1,185 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a host pool. + */ +export function getHostPool(args: GetHostPoolArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:desktopvirtualization/v20230707preview:getHostPool", { + "hostPoolName": args.hostPoolName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetHostPoolArgs { + /** + * The name of the host pool within the specified resource group + */ + hostPoolName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * Represents a HostPool definition. + */ +export interface GetHostPoolResult { + /** + * The session host configuration for updating agent, monitoring agent, and stack component. + */ + readonly agentUpdate?: outputs.desktopvirtualization.v20230707preview.AgentUpdatePropertiesResponse; + /** + * List of applicationGroup links. + */ + readonly applicationGroupReferences: string[]; + /** + * Is cloud pc resource. + */ + readonly cloudPcResource: boolean; + /** + * Custom rdp property of HostPool. + */ + readonly customRdpProperty?: string; + /** + * Description of HostPool. + */ + readonly description?: string; + /** + * The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + */ + readonly etag: string; + /** + * Friendly name of HostPool. + */ + readonly friendlyName?: string; + /** + * HostPool type for desktop. + */ + readonly hostPoolType: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + readonly identity?: outputs.desktopvirtualization.v20230707preview.ResourceModelWithAllowedPropertySetResponseIdentity; + /** + * Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + */ + readonly kind?: string; + /** + * The type of the load balancer. + */ + readonly loadBalancerType: string; + /** + * The geo-location where the resource lives + */ + readonly location?: string; + /** + * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + */ + readonly managedBy?: string; + /** + * The max session limit of HostPool. + */ + readonly maxSessionLimit?: number; + /** + * The name of the resource + */ + readonly name: string; + /** + * ObjectId of HostPool. (internal use) + */ + readonly objectId: string; + /** + * PersonalDesktopAssignment type for HostPool. + */ + readonly personalDesktopAssignmentType?: string; + readonly plan?: outputs.desktopvirtualization.v20230707preview.ResourceModelWithAllowedPropertySetResponsePlan; + /** + * The type of preferred application group type, default to Desktop Application Group + */ + readonly preferredAppGroupType: string; + /** + * List of private endpoint connection associated with the specified resource + */ + readonly privateEndpointConnections: outputs.desktopvirtualization.v20230707preview.PrivateEndpointConnectionResponse[]; + /** + * Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + */ + readonly publicNetworkAccess?: string; + /** + * The registration info of HostPool. + */ + readonly registrationInfo?: outputs.desktopvirtualization.v20230707preview.RegistrationInfoResponse; + /** + * The ring number of HostPool. + */ + readonly ring?: number; + readonly sku?: outputs.desktopvirtualization.v20230707preview.ResourceModelWithAllowedPropertySetResponseSku; + /** + * ClientId for the registered Relying Party used to issue WVD SSO certificates. + */ + readonly ssoClientId?: string; + /** + * Path to Azure KeyVault storing the secret used for communication to ADFS. + */ + readonly ssoClientSecretKeyVaultPath?: string; + /** + * The type of single sign on Secret Type. + */ + readonly ssoSecretType?: string; + /** + * URL to customer ADFS server for signing WVD SSO certificates. + */ + readonly ssoadfsAuthority?: string; + /** + * The flag to turn on/off StartVMOnConnect feature. + */ + readonly startVMOnConnect?: boolean; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.desktopvirtualization.v20230707preview.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; + /** + * Is validation environment. + */ + readonly validationEnvironment?: boolean; + /** + * VM template for sessionhosts configuration within hostpool. + */ + readonly vmTemplate?: string; +} +/** + * Get a host pool. + */ +export function getHostPoolOutput(args: GetHostPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getHostPool(a, opts)) +} + +export interface GetHostPoolOutputArgs { + /** + * The name of the host pool within the specified resource group + */ + hostPoolName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/getMSIXPackage.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/getMSIXPackage.ts new file mode 100644 index 000000000000..ca6ba8343b9f --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/getMSIXPackage.ts @@ -0,0 +1,123 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a msixpackage. + */ +export function getMSIXPackage(args: GetMSIXPackageArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:desktopvirtualization/v20230707preview:getMSIXPackage", { + "hostPoolName": args.hostPoolName, + "msixPackageFullName": args.msixPackageFullName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetMSIXPackageArgs { + /** + * The name of the host pool within the specified resource group + */ + hostPoolName: string; + /** + * The version specific package full name of the MSIX package within specified hostpool + */ + msixPackageFullName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * Schema for MSIX Package properties. + */ +export interface GetMSIXPackageResult { + /** + * User friendly Name to be displayed in the portal. + */ + readonly displayName?: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * VHD/CIM image path on Network Share. + */ + readonly imagePath?: string; + /** + * Make this version of the package the active one across the hostpool. + */ + readonly isActive?: boolean; + /** + * Specifies how to register Package in feed. + */ + readonly isRegularRegistration?: boolean; + /** + * Date Package was last updated, found in the appxmanifest.xml. + */ + readonly lastUpdated?: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * List of package applications. + */ + readonly packageApplications?: outputs.desktopvirtualization.v20230707preview.MsixPackageApplicationsResponse[]; + /** + * List of package dependencies. + */ + readonly packageDependencies?: outputs.desktopvirtualization.v20230707preview.MsixPackageDependenciesResponse[]; + /** + * Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. + */ + readonly packageFamilyName?: string; + /** + * Package Name from appxmanifest.xml. + */ + readonly packageName?: string; + /** + * Relative Path to the package inside the image. + */ + readonly packageRelativePath?: string; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.desktopvirtualization.v20230707preview.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; + /** + * Package Version found in the appxmanifest.xml. + */ + readonly version?: string; +} +/** + * Get a msixpackage. + */ +export function getMSIXPackageOutput(args: GetMSIXPackageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getMSIXPackage(a, opts)) +} + +export interface GetMSIXPackageOutputArgs { + /** + * The name of the host pool within the specified resource group + */ + hostPoolName: pulumi.Input; + /** + * The version specific package full name of the MSIX package within specified hostpool + */ + msixPackageFullName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/getPrivateEndpointConnectionByHostPool.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/getPrivateEndpointConnectionByHostPool.ts new file mode 100644 index 000000000000..8e25efde6545 --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/getPrivateEndpointConnectionByHostPool.ts @@ -0,0 +1,91 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a private endpoint connection. + */ +export function getPrivateEndpointConnectionByHostPool(args: GetPrivateEndpointConnectionByHostPoolArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:desktopvirtualization/v20230707preview:getPrivateEndpointConnectionByHostPool", { + "hostPoolName": args.hostPoolName, + "privateEndpointConnectionName": args.privateEndpointConnectionName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetPrivateEndpointConnectionByHostPoolArgs { + /** + * The name of the host pool within the specified resource group + */ + hostPoolName: string; + /** + * The name of the private endpoint connection associated with the Azure resource + */ + privateEndpointConnectionName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * The Private Endpoint Connection resource. + */ +export interface GetPrivateEndpointConnectionByHostPoolResult { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * The resource of private end point. + */ + readonly privateEndpoint?: outputs.desktopvirtualization.v20230707preview.PrivateEndpointResponse; + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + readonly privateLinkServiceConnectionState: outputs.desktopvirtualization.v20230707preview.PrivateLinkServiceConnectionStateResponse; + /** + * The provisioning state of the private endpoint connection resource. + */ + readonly provisioningState: string; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.desktopvirtualization.v20230707preview.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get a private endpoint connection. + */ +export function getPrivateEndpointConnectionByHostPoolOutput(args: GetPrivateEndpointConnectionByHostPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getPrivateEndpointConnectionByHostPool(a, opts)) +} + +export interface GetPrivateEndpointConnectionByHostPoolOutputArgs { + /** + * The name of the host pool within the specified resource group + */ + hostPoolName: pulumi.Input; + /** + * The name of the private endpoint connection associated with the Azure resource + */ + privateEndpointConnectionName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/getPrivateEndpointConnectionByWorkspace.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/getPrivateEndpointConnectionByWorkspace.ts new file mode 100644 index 000000000000..e7b8501e6150 --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/getPrivateEndpointConnectionByWorkspace.ts @@ -0,0 +1,91 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a private endpoint connection. + */ +export function getPrivateEndpointConnectionByWorkspace(args: GetPrivateEndpointConnectionByWorkspaceArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:desktopvirtualization/v20230707preview:getPrivateEndpointConnectionByWorkspace", { + "privateEndpointConnectionName": args.privateEndpointConnectionName, + "resourceGroupName": args.resourceGroupName, + "workspaceName": args.workspaceName, + }, opts); +} + +export interface GetPrivateEndpointConnectionByWorkspaceArgs { + /** + * The name of the private endpoint connection associated with the Azure resource + */ + privateEndpointConnectionName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the workspace + */ + workspaceName: string; +} + +/** + * The Private Endpoint Connection resource. + */ +export interface GetPrivateEndpointConnectionByWorkspaceResult { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * The resource of private end point. + */ + readonly privateEndpoint?: outputs.desktopvirtualization.v20230707preview.PrivateEndpointResponse; + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + readonly privateLinkServiceConnectionState: outputs.desktopvirtualization.v20230707preview.PrivateLinkServiceConnectionStateResponse; + /** + * The provisioning state of the private endpoint connection resource. + */ + readonly provisioningState: string; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.desktopvirtualization.v20230707preview.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get a private endpoint connection. + */ +export function getPrivateEndpointConnectionByWorkspaceOutput(args: GetPrivateEndpointConnectionByWorkspaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getPrivateEndpointConnectionByWorkspace(a, opts)) +} + +export interface GetPrivateEndpointConnectionByWorkspaceOutputArgs { + /** + * The name of the private endpoint connection associated with the Azure resource + */ + privateEndpointConnectionName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the workspace + */ + workspaceName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/getScalingPlan.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/getScalingPlan.ts new file mode 100644 index 000000000000..227fde54a53e --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/getScalingPlan.ts @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a scaling plan. + */ +export function getScalingPlan(args: GetScalingPlanArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:desktopvirtualization/v20230707preview:getScalingPlan", { + "resourceGroupName": args.resourceGroupName, + "scalingPlanName": args.scalingPlanName, + }, opts); +} + +export interface GetScalingPlanArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the scaling plan. + */ + scalingPlanName: string; +} + +/** + * Represents a scaling plan definition. + */ +export interface GetScalingPlanResult { + /** + * Description of scaling plan. + */ + readonly description?: string; + /** + * The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + */ + readonly etag: string; + /** + * Exclusion tag for scaling plan. + */ + readonly exclusionTag?: string; + /** + * User friendly name of scaling plan. + */ + readonly friendlyName?: string; + /** + * List of ScalingHostPoolReference definitions. + */ + readonly hostPoolReferences?: outputs.desktopvirtualization.v20230707preview.ScalingHostPoolReferenceResponse[]; + /** + * HostPool type for desktop. + */ + readonly hostPoolType?: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + readonly identity?: outputs.desktopvirtualization.v20230707preview.ResourceModelWithAllowedPropertySetResponseIdentity; + /** + * Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + */ + readonly kind?: string; + /** + * The geo-location where the resource lives + */ + readonly location?: string; + /** + * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + */ + readonly managedBy?: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * ObjectId of scaling plan. (internal use) + */ + readonly objectId: string; + readonly plan?: outputs.desktopvirtualization.v20230707preview.ResourceModelWithAllowedPropertySetResponsePlan; + /** + * List of ScalingPlanPooledSchedule definitions. + */ + readonly schedules?: outputs.desktopvirtualization.v20230707preview.ScalingScheduleResponse[]; + readonly sku?: outputs.desktopvirtualization.v20230707preview.ResourceModelWithAllowedPropertySetResponseSku; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.desktopvirtualization.v20230707preview.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * Timezone of the scaling plan. + */ + readonly timeZone: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get a scaling plan. + */ +export function getScalingPlanOutput(args: GetScalingPlanOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getScalingPlan(a, opts)) +} + +export interface GetScalingPlanOutputArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the scaling plan. + */ + scalingPlanName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/getScalingPlanPersonalSchedule.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/getScalingPlanPersonalSchedule.ts new file mode 100644 index 000000000000..1fa3d376a99e --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/getScalingPlanPersonalSchedule.ts @@ -0,0 +1,183 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a ScalingPlanPersonalSchedule. + */ +export function getScalingPlanPersonalSchedule(args: GetScalingPlanPersonalScheduleArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:desktopvirtualization/v20230707preview:getScalingPlanPersonalSchedule", { + "resourceGroupName": args.resourceGroupName, + "scalingPlanName": args.scalingPlanName, + "scalingPlanScheduleName": args.scalingPlanScheduleName, + }, opts); +} + +export interface GetScalingPlanPersonalScheduleArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the scaling plan. + */ + scalingPlanName: string; + /** + * The name of the ScalingPlanSchedule + */ + scalingPlanScheduleName: string; +} + +/** + * Represents a ScalingPlanPersonalSchedule definition. + */ +export interface GetScalingPlanPersonalScheduleResult { + /** + * Set of days of the week on which this schedule is active. + */ + readonly daysOfWeek?: string[]; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * Action to be taken after a user disconnect during the off-peak period. + */ + readonly offPeakActionOnDisconnect?: string; + /** + * Action to be taken after a logoff during the off-peak period. + */ + readonly offPeakActionOnLogoff?: string; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + */ + readonly offPeakMinutesToWaitOnDisconnect?: number; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + */ + readonly offPeakMinutesToWaitOnLogoff?: number; + /** + * Starting time for off-peak period. + */ + readonly offPeakStartTime?: outputs.desktopvirtualization.v20230707preview.TimeResponse; + /** + * The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + */ + readonly offPeakStartVMOnConnect?: string; + /** + * Action to be taken after a user disconnect during the peak period. + */ + readonly peakActionOnDisconnect?: string; + /** + * Action to be taken after a logoff during the peak period. + */ + readonly peakActionOnLogoff?: string; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + */ + readonly peakMinutesToWaitOnDisconnect?: number; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + */ + readonly peakMinutesToWaitOnLogoff?: number; + /** + * Starting time for peak period. + */ + readonly peakStartTime?: outputs.desktopvirtualization.v20230707preview.TimeResponse; + /** + * The desired configuration of Start VM On Connect for the hostpool during the peak phase. + */ + readonly peakStartVMOnConnect?: string; + /** + * Action to be taken after a user disconnect during the ramp down period. + */ + readonly rampDownActionOnDisconnect?: string; + /** + * Action to be taken after a logoff during the ramp down period. + */ + readonly rampDownActionOnLogoff?: string; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + */ + readonly rampDownMinutesToWaitOnDisconnect?: number; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + */ + readonly rampDownMinutesToWaitOnLogoff?: number; + /** + * Starting time for ramp down period. + */ + readonly rampDownStartTime?: outputs.desktopvirtualization.v20230707preview.TimeResponse; + /** + * The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + */ + readonly rampDownStartVMOnConnect?: string; + /** + * Action to be taken after a user disconnect during the ramp up period. + */ + readonly rampUpActionOnDisconnect?: string; + /** + * Action to be taken after a logoff during the ramp up period. + */ + readonly rampUpActionOnLogoff?: string; + /** + * The desired startup behavior during the ramp up period for personal vms in the hostpool. + */ + readonly rampUpAutoStartHosts?: string; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + */ + readonly rampUpMinutesToWaitOnDisconnect?: number; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + */ + readonly rampUpMinutesToWaitOnLogoff?: number; + /** + * Starting time for ramp up period. + */ + readonly rampUpStartTime?: outputs.desktopvirtualization.v20230707preview.TimeResponse; + /** + * The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + */ + readonly rampUpStartVMOnConnect?: string; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.desktopvirtualization.v20230707preview.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get a ScalingPlanPersonalSchedule. + */ +export function getScalingPlanPersonalScheduleOutput(args: GetScalingPlanPersonalScheduleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getScalingPlanPersonalSchedule(a, opts)) +} + +export interface GetScalingPlanPersonalScheduleOutputArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the scaling plan. + */ + scalingPlanName: pulumi.Input; + /** + * The name of the ScalingPlanSchedule + */ + scalingPlanScheduleName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/getScalingPlanPooledSchedule.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/getScalingPlanPooledSchedule.ts new file mode 100644 index 000000000000..8f6633bddb48 --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/getScalingPlanPooledSchedule.ts @@ -0,0 +1,147 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a ScalingPlanPooledSchedule. + */ +export function getScalingPlanPooledSchedule(args: GetScalingPlanPooledScheduleArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:desktopvirtualization/v20230707preview:getScalingPlanPooledSchedule", { + "resourceGroupName": args.resourceGroupName, + "scalingPlanName": args.scalingPlanName, + "scalingPlanScheduleName": args.scalingPlanScheduleName, + }, opts); +} + +export interface GetScalingPlanPooledScheduleArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the scaling plan. + */ + scalingPlanName: string; + /** + * The name of the ScalingPlanSchedule + */ + scalingPlanScheduleName: string; +} + +/** + * Represents a ScalingPlanPooledSchedule definition. + */ +export interface GetScalingPlanPooledScheduleResult { + /** + * Set of days of the week on which this schedule is active. + */ + readonly daysOfWeek?: string[]; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * Load balancing algorithm for off-peak period. + */ + readonly offPeakLoadBalancingAlgorithm?: string; + /** + * Starting time for off-peak period. + */ + readonly offPeakStartTime?: outputs.desktopvirtualization.v20230707preview.TimeResponse; + /** + * Load balancing algorithm for peak period. + */ + readonly peakLoadBalancingAlgorithm?: string; + /** + * Starting time for peak period. + */ + readonly peakStartTime?: outputs.desktopvirtualization.v20230707preview.TimeResponse; + /** + * Capacity threshold for ramp down period. + */ + readonly rampDownCapacityThresholdPct?: number; + /** + * Should users be logged off forcefully from hosts. + */ + readonly rampDownForceLogoffUsers?: boolean; + /** + * Load balancing algorithm for ramp down period. + */ + readonly rampDownLoadBalancingAlgorithm?: string; + /** + * Minimum host percentage for ramp down period. + */ + readonly rampDownMinimumHostsPct?: number; + /** + * Notification message for users during ramp down period. + */ + readonly rampDownNotificationMessage?: string; + /** + * Starting time for ramp down period. + */ + readonly rampDownStartTime?: outputs.desktopvirtualization.v20230707preview.TimeResponse; + /** + * Specifies when to stop hosts during ramp down period. + */ + readonly rampDownStopHostsWhen?: string; + /** + * Number of minutes to wait to stop hosts during ramp down period. + */ + readonly rampDownWaitTimeMinutes?: number; + /** + * Capacity threshold for ramp up period. + */ + readonly rampUpCapacityThresholdPct?: number; + /** + * Load balancing algorithm for ramp up period. + */ + readonly rampUpLoadBalancingAlgorithm?: string; + /** + * Minimum host percentage for ramp up period. + */ + readonly rampUpMinimumHostsPct?: number; + /** + * Starting time for ramp up period. + */ + readonly rampUpStartTime?: outputs.desktopvirtualization.v20230707preview.TimeResponse; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.desktopvirtualization.v20230707preview.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get a ScalingPlanPooledSchedule. + */ +export function getScalingPlanPooledScheduleOutput(args: GetScalingPlanPooledScheduleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getScalingPlanPooledSchedule(a, opts)) +} + +export interface GetScalingPlanPooledScheduleOutputArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the scaling plan. + */ + scalingPlanName: pulumi.Input; + /** + * The name of the ScalingPlanSchedule + */ + scalingPlanScheduleName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/getWorkspace.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/getWorkspace.ts new file mode 100644 index 000000000000..e39df26d4109 --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/getWorkspace.ts @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a workspace. + */ +export function getWorkspace(args: GetWorkspaceArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:desktopvirtualization/v20230707preview:getWorkspace", { + "resourceGroupName": args.resourceGroupName, + "workspaceName": args.workspaceName, + }, opts); +} + +export interface GetWorkspaceArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the workspace + */ + workspaceName: string; +} + +/** + * Represents a Workspace definition. + */ +export interface GetWorkspaceResult { + /** + * List of applicationGroup resource Ids. + */ + readonly applicationGroupReferences?: string[]; + /** + * Is cloud pc resource. + */ + readonly cloudPcResource: boolean; + /** + * Description of Workspace. + */ + readonly description?: string; + /** + * The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + */ + readonly etag: string; + /** + * Friendly name of Workspace. + */ + readonly friendlyName?: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + readonly identity?: outputs.desktopvirtualization.v20230707preview.ResourceModelWithAllowedPropertySetResponseIdentity; + /** + * Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + */ + readonly kind?: string; + /** + * The geo-location where the resource lives + */ + readonly location?: string; + /** + * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + */ + readonly managedBy?: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * ObjectId of Workspace. (internal use) + */ + readonly objectId: string; + readonly plan?: outputs.desktopvirtualization.v20230707preview.ResourceModelWithAllowedPropertySetResponsePlan; + /** + * List of private endpoint connection associated with the specified resource + */ + readonly privateEndpointConnections: outputs.desktopvirtualization.v20230707preview.PrivateEndpointConnectionResponse[]; + /** + * Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + */ + readonly publicNetworkAccess?: string; + readonly sku?: outputs.desktopvirtualization.v20230707preview.ResourceModelWithAllowedPropertySetResponseSku; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.desktopvirtualization.v20230707preview.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get a workspace. + */ +export function getWorkspaceOutput(args: GetWorkspaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getWorkspace(a, opts)) +} + +export interface GetWorkspaceOutputArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the workspace + */ + workspaceName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/hostPool.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/hostPool.ts new file mode 100644 index 000000000000..53f13d1a97f2 --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/hostPool.ts @@ -0,0 +1,377 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Represents a HostPool definition. + */ +export class HostPool extends pulumi.CustomResource { + /** + * Get an existing HostPool 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): HostPool { + return new HostPool(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:desktopvirtualization/v20230707preview:HostPool'; + + /** + * Returns true if the given object is an instance of HostPool. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is HostPool { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === HostPool.__pulumiType; + } + + /** + * The session host configuration for updating agent, monitoring agent, and stack component. + */ + public readonly agentUpdate!: pulumi.Output; + /** + * List of applicationGroup links. + */ + public /*out*/ readonly applicationGroupReferences!: pulumi.Output; + /** + * Is cloud pc resource. + */ + public /*out*/ readonly cloudPcResource!: pulumi.Output; + /** + * Custom rdp property of HostPool. + */ + public readonly customRdpProperty!: pulumi.Output; + /** + * Description of HostPool. + */ + public readonly description!: pulumi.Output; + /** + * The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + */ + public /*out*/ readonly etag!: pulumi.Output; + /** + * Friendly name of HostPool. + */ + public readonly friendlyName!: pulumi.Output; + /** + * HostPool type for desktop. + */ + public readonly hostPoolType!: pulumi.Output; + public readonly identity!: pulumi.Output; + /** + * Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + */ + public readonly kind!: pulumi.Output; + /** + * The type of the load balancer. + */ + public readonly loadBalancerType!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + */ + public readonly managedBy!: pulumi.Output; + /** + * The max session limit of HostPool. + */ + public readonly maxSessionLimit!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * ObjectId of HostPool. (internal use) + */ + public /*out*/ readonly objectId!: pulumi.Output; + /** + * PersonalDesktopAssignment type for HostPool. + */ + public readonly personalDesktopAssignmentType!: pulumi.Output; + public readonly plan!: pulumi.Output; + /** + * The type of preferred application group type, default to Desktop Application Group + */ + public readonly preferredAppGroupType!: pulumi.Output; + /** + * List of private endpoint connection associated with the specified resource + */ + public /*out*/ readonly privateEndpointConnections!: pulumi.Output; + /** + * Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + */ + public readonly publicNetworkAccess!: pulumi.Output; + /** + * The registration info of HostPool. + */ + public readonly registrationInfo!: pulumi.Output; + /** + * The ring number of HostPool. + */ + public readonly ring!: pulumi.Output; + public readonly sku!: pulumi.Output; + /** + * ClientId for the registered Relying Party used to issue WVD SSO certificates. + */ + public readonly ssoClientId!: pulumi.Output; + /** + * Path to Azure KeyVault storing the secret used for communication to ADFS. + */ + public readonly ssoClientSecretKeyVaultPath!: pulumi.Output; + /** + * The type of single sign on Secret Type. + */ + public readonly ssoSecretType!: pulumi.Output; + /** + * URL to customer ADFS server for signing WVD SSO certificates. + */ + public readonly ssoadfsAuthority!: pulumi.Output; + /** + * The flag to turn on/off StartVMOnConnect feature. + */ + public readonly startVMOnConnect!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * Is validation environment. + */ + public readonly validationEnvironment!: pulumi.Output; + /** + * VM template for sessionhosts configuration within hostpool. + */ + public readonly vmTemplate!: pulumi.Output; + + /** + * Create a HostPool 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: HostPoolArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.hostPoolType === undefined) && !opts.urn) { + throw new Error("Missing required property 'hostPoolType'"); + } + if ((!args || args.loadBalancerType === undefined) && !opts.urn) { + throw new Error("Missing required property 'loadBalancerType'"); + } + if ((!args || args.preferredAppGroupType === undefined) && !opts.urn) { + throw new Error("Missing required property 'preferredAppGroupType'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["agentUpdate"] = args ? args.agentUpdate : undefined; + resourceInputs["customRdpProperty"] = args ? args.customRdpProperty : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["friendlyName"] = args ? args.friendlyName : undefined; + resourceInputs["hostPoolName"] = args ? args.hostPoolName : undefined; + resourceInputs["hostPoolType"] = args ? args.hostPoolType : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["kind"] = args ? args.kind : undefined; + resourceInputs["loadBalancerType"] = args ? args.loadBalancerType : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["managedBy"] = args ? args.managedBy : undefined; + resourceInputs["maxSessionLimit"] = args ? args.maxSessionLimit : undefined; + resourceInputs["personalDesktopAssignmentType"] = args ? args.personalDesktopAssignmentType : undefined; + resourceInputs["plan"] = args ? args.plan : undefined; + resourceInputs["preferredAppGroupType"] = args ? args.preferredAppGroupType : undefined; + resourceInputs["publicNetworkAccess"] = args ? args.publicNetworkAccess : undefined; + resourceInputs["registrationInfo"] = args ? args.registrationInfo : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["ring"] = args ? args.ring : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["ssoClientId"] = args ? args.ssoClientId : undefined; + resourceInputs["ssoClientSecretKeyVaultPath"] = args ? args.ssoClientSecretKeyVaultPath : undefined; + resourceInputs["ssoSecretType"] = args ? args.ssoSecretType : undefined; + resourceInputs["ssoadfsAuthority"] = args ? args.ssoadfsAuthority : undefined; + resourceInputs["startVMOnConnect"] = args ? args.startVMOnConnect : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["validationEnvironment"] = args ? args.validationEnvironment : undefined; + resourceInputs["vmTemplate"] = args ? args.vmTemplate : undefined; + resourceInputs["applicationGroupReferences"] = undefined /*out*/; + resourceInputs["cloudPcResource"] = undefined /*out*/; + resourceInputs["etag"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["objectId"] = undefined /*out*/; + resourceInputs["privateEndpointConnections"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["agentUpdate"] = undefined /*out*/; + resourceInputs["applicationGroupReferences"] = undefined /*out*/; + resourceInputs["cloudPcResource"] = undefined /*out*/; + resourceInputs["customRdpProperty"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["etag"] = undefined /*out*/; + resourceInputs["friendlyName"] = undefined /*out*/; + resourceInputs["hostPoolType"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["kind"] = undefined /*out*/; + resourceInputs["loadBalancerType"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["managedBy"] = undefined /*out*/; + resourceInputs["maxSessionLimit"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["objectId"] = undefined /*out*/; + resourceInputs["personalDesktopAssignmentType"] = undefined /*out*/; + resourceInputs["plan"] = undefined /*out*/; + resourceInputs["preferredAppGroupType"] = undefined /*out*/; + resourceInputs["privateEndpointConnections"] = undefined /*out*/; + resourceInputs["publicNetworkAccess"] = undefined /*out*/; + resourceInputs["registrationInfo"] = undefined /*out*/; + resourceInputs["ring"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["ssoClientId"] = undefined /*out*/; + resourceInputs["ssoClientSecretKeyVaultPath"] = undefined /*out*/; + resourceInputs["ssoSecretType"] = undefined /*out*/; + resourceInputs["ssoadfsAuthority"] = undefined /*out*/; + resourceInputs["startVMOnConnect"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["validationEnvironment"] = undefined /*out*/; + resourceInputs["vmTemplate"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:HostPool" }, { type: "azure-native:desktopvirtualization/v20190123preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20190924preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20191210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20200921preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201019preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201102preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20201110preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210114preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210201preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210309preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20210712:HostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220401preview:HostPool" }, { type: "azure-native:desktopvirtualization/v20220909:HostPool" }, { type: "azure-native:desktopvirtualization/v20221014preview:HostPool" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(HostPool.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a HostPool resource. + */ +export interface HostPoolArgs { + /** + * The session host configuration for updating agent, monitoring agent, and stack component. + */ + agentUpdate?: pulumi.Input; + /** + * Custom rdp property of HostPool. + */ + customRdpProperty?: pulumi.Input; + /** + * Description of HostPool. + */ + description?: pulumi.Input; + /** + * Friendly name of HostPool. + */ + friendlyName?: pulumi.Input; + /** + * The name of the host pool within the specified resource group + */ + hostPoolName?: pulumi.Input; + /** + * HostPool type for desktop. + */ + hostPoolType: pulumi.Input; + identity?: pulumi.Input; + /** + * Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + */ + kind?: pulumi.Input; + /** + * The type of the load balancer. + */ + loadBalancerType: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + */ + managedBy?: pulumi.Input; + /** + * The max session limit of HostPool. + */ + maxSessionLimit?: pulumi.Input; + /** + * PersonalDesktopAssignment type for HostPool. + */ + personalDesktopAssignmentType?: pulumi.Input; + plan?: pulumi.Input; + /** + * The type of preferred application group type, default to Desktop Application Group + */ + preferredAppGroupType: pulumi.Input; + /** + * Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + */ + publicNetworkAccess?: pulumi.Input; + /** + * The registration info of HostPool. + */ + registrationInfo?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The ring number of HostPool. + */ + ring?: pulumi.Input; + sku?: pulumi.Input; + /** + * ClientId for the registered Relying Party used to issue WVD SSO certificates. + */ + ssoClientId?: pulumi.Input; + /** + * Path to Azure KeyVault storing the secret used for communication to ADFS. + */ + ssoClientSecretKeyVaultPath?: pulumi.Input; + /** + * The type of single sign on Secret Type. + */ + ssoSecretType?: pulumi.Input; + /** + * URL to customer ADFS server for signing WVD SSO certificates. + */ + ssoadfsAuthority?: pulumi.Input; + /** + * The flag to turn on/off StartVMOnConnect feature. + */ + startVMOnConnect?: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Is validation environment. + */ + validationEnvironment?: pulumi.Input; + /** + * VM template for sessionhosts configuration within hostpool. + */ + vmTemplate?: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/index.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/index.ts new file mode 100644 index 000000000000..8416dc05140c --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/index.ts @@ -0,0 +1,141 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { ApplicationArgs } from "./application"; +export type Application = import("./application").Application; +export const Application: typeof import("./application").Application = null as any; +utilities.lazyLoad(exports, ["Application"], () => require("./application")); + +export { ApplicationGroupArgs } from "./applicationGroup"; +export type ApplicationGroup = import("./applicationGroup").ApplicationGroup; +export const ApplicationGroup: typeof import("./applicationGroup").ApplicationGroup = null as any; +utilities.lazyLoad(exports, ["ApplicationGroup"], () => require("./applicationGroup")); + +export { GetApplicationArgs, GetApplicationResult, GetApplicationOutputArgs } from "./getApplication"; +export const getApplication: typeof import("./getApplication").getApplication = null as any; +export const getApplicationOutput: typeof import("./getApplication").getApplicationOutput = null as any; +utilities.lazyLoad(exports, ["getApplication","getApplicationOutput"], () => require("./getApplication")); + +export { GetApplicationGroupArgs, GetApplicationGroupResult, GetApplicationGroupOutputArgs } from "./getApplicationGroup"; +export const getApplicationGroup: typeof import("./getApplicationGroup").getApplicationGroup = null as any; +export const getApplicationGroupOutput: typeof import("./getApplicationGroup").getApplicationGroupOutput = null as any; +utilities.lazyLoad(exports, ["getApplicationGroup","getApplicationGroupOutput"], () => require("./getApplicationGroup")); + +export { GetHostPoolArgs, GetHostPoolResult, GetHostPoolOutputArgs } from "./getHostPool"; +export const getHostPool: typeof import("./getHostPool").getHostPool = null as any; +export const getHostPoolOutput: typeof import("./getHostPool").getHostPoolOutput = null as any; +utilities.lazyLoad(exports, ["getHostPool","getHostPoolOutput"], () => require("./getHostPool")); + +export { GetMSIXPackageArgs, GetMSIXPackageResult, GetMSIXPackageOutputArgs } from "./getMSIXPackage"; +export const getMSIXPackage: typeof import("./getMSIXPackage").getMSIXPackage = null as any; +export const getMSIXPackageOutput: typeof import("./getMSIXPackage").getMSIXPackageOutput = null as any; +utilities.lazyLoad(exports, ["getMSIXPackage","getMSIXPackageOutput"], () => require("./getMSIXPackage")); + +export { GetPrivateEndpointConnectionByHostPoolArgs, GetPrivateEndpointConnectionByHostPoolResult, GetPrivateEndpointConnectionByHostPoolOutputArgs } from "./getPrivateEndpointConnectionByHostPool"; +export const getPrivateEndpointConnectionByHostPool: typeof import("./getPrivateEndpointConnectionByHostPool").getPrivateEndpointConnectionByHostPool = null as any; +export const getPrivateEndpointConnectionByHostPoolOutput: typeof import("./getPrivateEndpointConnectionByHostPool").getPrivateEndpointConnectionByHostPoolOutput = null as any; +utilities.lazyLoad(exports, ["getPrivateEndpointConnectionByHostPool","getPrivateEndpointConnectionByHostPoolOutput"], () => require("./getPrivateEndpointConnectionByHostPool")); + +export { GetPrivateEndpointConnectionByWorkspaceArgs, GetPrivateEndpointConnectionByWorkspaceResult, GetPrivateEndpointConnectionByWorkspaceOutputArgs } from "./getPrivateEndpointConnectionByWorkspace"; +export const getPrivateEndpointConnectionByWorkspace: typeof import("./getPrivateEndpointConnectionByWorkspace").getPrivateEndpointConnectionByWorkspace = null as any; +export const getPrivateEndpointConnectionByWorkspaceOutput: typeof import("./getPrivateEndpointConnectionByWorkspace").getPrivateEndpointConnectionByWorkspaceOutput = null as any; +utilities.lazyLoad(exports, ["getPrivateEndpointConnectionByWorkspace","getPrivateEndpointConnectionByWorkspaceOutput"], () => require("./getPrivateEndpointConnectionByWorkspace")); + +export { GetScalingPlanArgs, GetScalingPlanResult, GetScalingPlanOutputArgs } from "./getScalingPlan"; +export const getScalingPlan: typeof import("./getScalingPlan").getScalingPlan = null as any; +export const getScalingPlanOutput: typeof import("./getScalingPlan").getScalingPlanOutput = null as any; +utilities.lazyLoad(exports, ["getScalingPlan","getScalingPlanOutput"], () => require("./getScalingPlan")); + +export { GetScalingPlanPersonalScheduleArgs, GetScalingPlanPersonalScheduleResult, GetScalingPlanPersonalScheduleOutputArgs } from "./getScalingPlanPersonalSchedule"; +export const getScalingPlanPersonalSchedule: typeof import("./getScalingPlanPersonalSchedule").getScalingPlanPersonalSchedule = null as any; +export const getScalingPlanPersonalScheduleOutput: typeof import("./getScalingPlanPersonalSchedule").getScalingPlanPersonalScheduleOutput = null as any; +utilities.lazyLoad(exports, ["getScalingPlanPersonalSchedule","getScalingPlanPersonalScheduleOutput"], () => require("./getScalingPlanPersonalSchedule")); + +export { GetScalingPlanPooledScheduleArgs, GetScalingPlanPooledScheduleResult, GetScalingPlanPooledScheduleOutputArgs } from "./getScalingPlanPooledSchedule"; +export const getScalingPlanPooledSchedule: typeof import("./getScalingPlanPooledSchedule").getScalingPlanPooledSchedule = null as any; +export const getScalingPlanPooledScheduleOutput: typeof import("./getScalingPlanPooledSchedule").getScalingPlanPooledScheduleOutput = null as any; +utilities.lazyLoad(exports, ["getScalingPlanPooledSchedule","getScalingPlanPooledScheduleOutput"], () => require("./getScalingPlanPooledSchedule")); + +export { GetWorkspaceArgs, GetWorkspaceResult, GetWorkspaceOutputArgs } from "./getWorkspace"; +export const getWorkspace: typeof import("./getWorkspace").getWorkspace = null as any; +export const getWorkspaceOutput: typeof import("./getWorkspace").getWorkspaceOutput = null as any; +utilities.lazyLoad(exports, ["getWorkspace","getWorkspaceOutput"], () => require("./getWorkspace")); + +export { HostPoolArgs } from "./hostPool"; +export type HostPool = import("./hostPool").HostPool; +export const HostPool: typeof import("./hostPool").HostPool = null as any; +utilities.lazyLoad(exports, ["HostPool"], () => require("./hostPool")); + +export { MSIXPackageArgs } from "./msixpackage"; +export type MSIXPackage = import("./msixpackage").MSIXPackage; +export const MSIXPackage: typeof import("./msixpackage").MSIXPackage = null as any; +utilities.lazyLoad(exports, ["MSIXPackage"], () => require("./msixpackage")); + +export { PrivateEndpointConnectionByHostPoolArgs } from "./privateEndpointConnectionByHostPool"; +export type PrivateEndpointConnectionByHostPool = import("./privateEndpointConnectionByHostPool").PrivateEndpointConnectionByHostPool; +export const PrivateEndpointConnectionByHostPool: typeof import("./privateEndpointConnectionByHostPool").PrivateEndpointConnectionByHostPool = null as any; +utilities.lazyLoad(exports, ["PrivateEndpointConnectionByHostPool"], () => require("./privateEndpointConnectionByHostPool")); + +export { PrivateEndpointConnectionByWorkspaceArgs } from "./privateEndpointConnectionByWorkspace"; +export type PrivateEndpointConnectionByWorkspace = import("./privateEndpointConnectionByWorkspace").PrivateEndpointConnectionByWorkspace; +export const PrivateEndpointConnectionByWorkspace: typeof import("./privateEndpointConnectionByWorkspace").PrivateEndpointConnectionByWorkspace = null as any; +utilities.lazyLoad(exports, ["PrivateEndpointConnectionByWorkspace"], () => require("./privateEndpointConnectionByWorkspace")); + +export { ScalingPlanArgs } from "./scalingPlan"; +export type ScalingPlan = import("./scalingPlan").ScalingPlan; +export const ScalingPlan: typeof import("./scalingPlan").ScalingPlan = null as any; +utilities.lazyLoad(exports, ["ScalingPlan"], () => require("./scalingPlan")); + +export { ScalingPlanPersonalScheduleArgs } from "./scalingPlanPersonalSchedule"; +export type ScalingPlanPersonalSchedule = import("./scalingPlanPersonalSchedule").ScalingPlanPersonalSchedule; +export const ScalingPlanPersonalSchedule: typeof import("./scalingPlanPersonalSchedule").ScalingPlanPersonalSchedule = null as any; +utilities.lazyLoad(exports, ["ScalingPlanPersonalSchedule"], () => require("./scalingPlanPersonalSchedule")); + +export { ScalingPlanPooledScheduleArgs } from "./scalingPlanPooledSchedule"; +export type ScalingPlanPooledSchedule = import("./scalingPlanPooledSchedule").ScalingPlanPooledSchedule; +export const ScalingPlanPooledSchedule: typeof import("./scalingPlanPooledSchedule").ScalingPlanPooledSchedule = null as any; +utilities.lazyLoad(exports, ["ScalingPlanPooledSchedule"], () => require("./scalingPlanPooledSchedule")); + +export { WorkspaceArgs } from "./workspace"; +export type Workspace = import("./workspace").Workspace; +export const Workspace: typeof import("./workspace").Workspace = null as any; +utilities.lazyLoad(exports, ["Workspace"], () => require("./workspace")); + + +// Export enums: +export * from "../../types/enums/desktopvirtualization/v20230707preview"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:desktopvirtualization/v20230707preview:Application": + return new Application(name, undefined, { urn }) + case "azure-native:desktopvirtualization/v20230707preview:ApplicationGroup": + return new ApplicationGroup(name, undefined, { urn }) + case "azure-native:desktopvirtualization/v20230707preview:HostPool": + return new HostPool(name, undefined, { urn }) + case "azure-native:desktopvirtualization/v20230707preview:MSIXPackage": + return new MSIXPackage(name, undefined, { urn }) + case "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool": + return new PrivateEndpointConnectionByHostPool(name, undefined, { urn }) + case "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace": + return new PrivateEndpointConnectionByWorkspace(name, undefined, { urn }) + case "azure-native:desktopvirtualization/v20230707preview:ScalingPlan": + return new ScalingPlan(name, undefined, { urn }) + case "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPersonalSchedule": + return new ScalingPlanPersonalSchedule(name, undefined, { urn }) + case "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule": + return new ScalingPlanPooledSchedule(name, undefined, { urn }) + case "azure-native:desktopvirtualization/v20230707preview:Workspace": + return new Workspace(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "desktopvirtualization/v20230707preview", _module) diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/msixpackage.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/msixpackage.ts new file mode 100644 index 000000000000..e29394d0ad7b --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/msixpackage.ts @@ -0,0 +1,214 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Schema for MSIX Package properties. + */ +export class MSIXPackage extends pulumi.CustomResource { + /** + * Get an existing MSIXPackage 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): MSIXPackage { + return new MSIXPackage(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:desktopvirtualization/v20230707preview:MSIXPackage'; + + /** + * Returns true if the given object is an instance of MSIXPackage. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is MSIXPackage { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === MSIXPackage.__pulumiType; + } + + /** + * User friendly Name to be displayed in the portal. + */ + public readonly displayName!: pulumi.Output; + /** + * VHD/CIM image path on Network Share. + */ + public readonly imagePath!: pulumi.Output; + /** + * Make this version of the package the active one across the hostpool. + */ + public readonly isActive!: pulumi.Output; + /** + * Specifies how to register Package in feed. + */ + public readonly isRegularRegistration!: pulumi.Output; + /** + * Date Package was last updated, found in the appxmanifest.xml. + */ + public readonly lastUpdated!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * List of package applications. + */ + public readonly packageApplications!: pulumi.Output; + /** + * List of package dependencies. + */ + public readonly packageDependencies!: pulumi.Output; + /** + * Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. + */ + public readonly packageFamilyName!: pulumi.Output; + /** + * Package Name from appxmanifest.xml. + */ + public readonly packageName!: pulumi.Output; + /** + * Relative Path to the package inside the image. + */ + public readonly packageRelativePath!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * Package Version found in the appxmanifest.xml. + */ + public readonly version!: pulumi.Output; + + /** + * Create a MSIXPackage 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: MSIXPackageArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.hostPoolName === undefined) && !opts.urn) { + throw new Error("Missing required property 'hostPoolName'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["hostPoolName"] = args ? args.hostPoolName : undefined; + resourceInputs["imagePath"] = args ? args.imagePath : undefined; + resourceInputs["isActive"] = args ? args.isActive : undefined; + resourceInputs["isRegularRegistration"] = args ? args.isRegularRegistration : undefined; + resourceInputs["lastUpdated"] = args ? args.lastUpdated : undefined; + resourceInputs["msixPackageFullName"] = args ? args.msixPackageFullName : undefined; + resourceInputs["packageApplications"] = args ? args.packageApplications : undefined; + resourceInputs["packageDependencies"] = args ? args.packageDependencies : undefined; + resourceInputs["packageFamilyName"] = args ? args.packageFamilyName : undefined; + resourceInputs["packageName"] = args ? args.packageName : undefined; + resourceInputs["packageRelativePath"] = args ? args.packageRelativePath : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["version"] = args ? args.version : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["displayName"] = undefined /*out*/; + resourceInputs["imagePath"] = undefined /*out*/; + resourceInputs["isActive"] = undefined /*out*/; + resourceInputs["isRegularRegistration"] = undefined /*out*/; + resourceInputs["lastUpdated"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["packageApplications"] = undefined /*out*/; + resourceInputs["packageDependencies"] = undefined /*out*/; + resourceInputs["packageFamilyName"] = undefined /*out*/; + resourceInputs["packageName"] = undefined /*out*/; + resourceInputs["packageRelativePath"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["version"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20200921preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201019preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201102preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20201110preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210114preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210201preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210309preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210712:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20210903preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220210preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220401preview:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20220909:MSIXPackage" }, { type: "azure-native:desktopvirtualization/v20221014preview:MSIXPackage" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(MSIXPackage.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a MSIXPackage resource. + */ +export interface MSIXPackageArgs { + /** + * User friendly Name to be displayed in the portal. + */ + displayName?: pulumi.Input; + /** + * The name of the host pool within the specified resource group + */ + hostPoolName: pulumi.Input; + /** + * VHD/CIM image path on Network Share. + */ + imagePath?: pulumi.Input; + /** + * Make this version of the package the active one across the hostpool. + */ + isActive?: pulumi.Input; + /** + * Specifies how to register Package in feed. + */ + isRegularRegistration?: pulumi.Input; + /** + * Date Package was last updated, found in the appxmanifest.xml. + */ + lastUpdated?: pulumi.Input; + /** + * The version specific package full name of the MSIX package within specified hostpool + */ + msixPackageFullName?: pulumi.Input; + /** + * List of package applications. + */ + packageApplications?: pulumi.Input[]>; + /** + * List of package dependencies. + */ + packageDependencies?: pulumi.Input[]>; + /** + * Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. + */ + packageFamilyName?: pulumi.Input; + /** + * Package Name from appxmanifest.xml. + */ + packageName?: pulumi.Input; + /** + * Relative Path to the package inside the image. + */ + packageRelativePath?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Package Version found in the appxmanifest.xml. + */ + version?: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/privateEndpointConnectionByHostPool.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/privateEndpointConnectionByHostPool.ts new file mode 100644 index 000000000000..d7e46756c734 --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/privateEndpointConnectionByHostPool.ts @@ -0,0 +1,129 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The Private Endpoint Connection resource. + */ +export class PrivateEndpointConnectionByHostPool extends pulumi.CustomResource { + /** + * Get an existing PrivateEndpointConnectionByHostPool 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): PrivateEndpointConnectionByHostPool { + return new PrivateEndpointConnectionByHostPool(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool'; + + /** + * Returns true if the given object is an instance of PrivateEndpointConnectionByHostPool. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is PrivateEndpointConnectionByHostPool { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === PrivateEndpointConnectionByHostPool.__pulumiType; + } + + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The resource of private end point. + */ + public /*out*/ readonly privateEndpoint!: pulumi.Output; + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + public readonly privateLinkServiceConnectionState!: pulumi.Output; + /** + * The provisioning state of the private endpoint connection resource. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a PrivateEndpointConnectionByHostPool 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: PrivateEndpointConnectionByHostPoolArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.hostPoolName === undefined) && !opts.urn) { + throw new Error("Missing required property 'hostPoolName'"); + } + if ((!args || args.privateLinkServiceConnectionState === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateLinkServiceConnectionState'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["hostPoolName"] = args ? args.hostPoolName : undefined; + resourceInputs["privateEndpointConnectionName"] = args ? args.privateEndpointConnectionName : undefined; + resourceInputs["privateLinkServiceConnectionState"] = args ? args.privateLinkServiceConnectionState : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["privateEndpoint"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["name"] = undefined /*out*/; + resourceInputs["privateEndpoint"] = undefined /*out*/; + resourceInputs["privateLinkServiceConnectionState"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool" }, { type: "azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByHostPool" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(PrivateEndpointConnectionByHostPool.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a PrivateEndpointConnectionByHostPool resource. + */ +export interface PrivateEndpointConnectionByHostPoolArgs { + /** + * The name of the host pool within the specified resource group + */ + hostPoolName: pulumi.Input; + /** + * The name of the private endpoint connection associated with the Azure resource + */ + privateEndpointConnectionName?: pulumi.Input; + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + privateLinkServiceConnectionState: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/privateEndpointConnectionByWorkspace.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/privateEndpointConnectionByWorkspace.ts new file mode 100644 index 000000000000..187af12c28f7 --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/privateEndpointConnectionByWorkspace.ts @@ -0,0 +1,129 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The Private Endpoint Connection resource. + */ +export class PrivateEndpointConnectionByWorkspace extends pulumi.CustomResource { + /** + * Get an existing PrivateEndpointConnectionByWorkspace 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): PrivateEndpointConnectionByWorkspace { + return new PrivateEndpointConnectionByWorkspace(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace'; + + /** + * Returns true if the given object is an instance of PrivateEndpointConnectionByWorkspace. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is PrivateEndpointConnectionByWorkspace { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === PrivateEndpointConnectionByWorkspace.__pulumiType; + } + + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The resource of private end point. + */ + public /*out*/ readonly privateEndpoint!: pulumi.Output; + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + public readonly privateLinkServiceConnectionState!: pulumi.Output; + /** + * The provisioning state of the private endpoint connection resource. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a PrivateEndpointConnectionByWorkspace 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: PrivateEndpointConnectionByWorkspaceArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.privateLinkServiceConnectionState === undefined) && !opts.urn) { + throw new Error("Missing required property 'privateLinkServiceConnectionState'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.workspaceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspaceName'"); + } + resourceInputs["privateEndpointConnectionName"] = args ? args.privateEndpointConnectionName : undefined; + resourceInputs["privateLinkServiceConnectionState"] = args ? args.privateLinkServiceConnectionState : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["workspaceName"] = args ? args.workspaceName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["privateEndpoint"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["name"] = undefined /*out*/; + resourceInputs["privateEndpoint"] = undefined /*out*/; + resourceInputs["privateLinkServiceConnectionState"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace" }, { type: "azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByWorkspace" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(PrivateEndpointConnectionByWorkspace.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a PrivateEndpointConnectionByWorkspace resource. + */ +export interface PrivateEndpointConnectionByWorkspaceArgs { + /** + * The name of the private endpoint connection associated with the Azure resource + */ + privateEndpointConnectionName?: pulumi.Input; + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + privateLinkServiceConnectionState: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the workspace + */ + workspaceName: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/scalingPlan.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/scalingPlan.ts new file mode 100644 index 000000000000..1abf51e97237 --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/scalingPlan.ts @@ -0,0 +1,233 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Represents a scaling plan definition. + */ +export class ScalingPlan extends pulumi.CustomResource { + /** + * Get an existing ScalingPlan 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ScalingPlan { + return new ScalingPlan(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:desktopvirtualization/v20230707preview:ScalingPlan'; + + /** + * Returns true if the given object is an instance of ScalingPlan. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ScalingPlan { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ScalingPlan.__pulumiType; + } + + /** + * Description of scaling plan. + */ + public readonly description!: pulumi.Output; + /** + * The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + */ + public /*out*/ readonly etag!: pulumi.Output; + /** + * Exclusion tag for scaling plan. + */ + public readonly exclusionTag!: pulumi.Output; + /** + * User friendly name of scaling plan. + */ + public readonly friendlyName!: pulumi.Output; + /** + * List of ScalingHostPoolReference definitions. + */ + public readonly hostPoolReferences!: pulumi.Output; + /** + * HostPool type for desktop. + */ + public readonly hostPoolType!: pulumi.Output; + public readonly identity!: pulumi.Output; + /** + * Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + */ + public readonly kind!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + */ + public readonly managedBy!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * ObjectId of scaling plan. (internal use) + */ + public /*out*/ readonly objectId!: pulumi.Output; + public readonly plan!: pulumi.Output; + /** + * List of ScalingPlanPooledSchedule definitions. + */ + public readonly schedules!: pulumi.Output; + public readonly sku!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Timezone of the scaling plan. + */ + public readonly timeZone!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a ScalingPlan 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: ScalingPlanArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.timeZone === undefined) && !opts.urn) { + throw new Error("Missing required property 'timeZone'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["exclusionTag"] = args ? args.exclusionTag : undefined; + resourceInputs["friendlyName"] = args ? args.friendlyName : undefined; + resourceInputs["hostPoolReferences"] = args ? args.hostPoolReferences : undefined; + resourceInputs["hostPoolType"] = (args ? args.hostPoolType : undefined) ?? "Pooled"; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["kind"] = args ? args.kind : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["managedBy"] = args ? args.managedBy : undefined; + resourceInputs["plan"] = args ? args.plan : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["scalingPlanName"] = args ? args.scalingPlanName : undefined; + resourceInputs["schedules"] = args ? args.schedules : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeZone"] = args ? args.timeZone : undefined; + resourceInputs["etag"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["objectId"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["description"] = undefined /*out*/; + resourceInputs["etag"] = undefined /*out*/; + resourceInputs["exclusionTag"] = undefined /*out*/; + resourceInputs["friendlyName"] = undefined /*out*/; + resourceInputs["hostPoolReferences"] = undefined /*out*/; + resourceInputs["hostPoolType"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["kind"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["managedBy"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["objectId"] = undefined /*out*/; + resourceInputs["plan"] = undefined /*out*/; + resourceInputs["schedules"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["timeZone"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20201110preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210114preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210201preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210309preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210712:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20210903preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220210preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlan" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlan" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(ScalingPlan.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ScalingPlan resource. + */ +export interface ScalingPlanArgs { + /** + * Description of scaling plan. + */ + description?: pulumi.Input; + /** + * Exclusion tag for scaling plan. + */ + exclusionTag?: pulumi.Input; + /** + * User friendly name of scaling plan. + */ + friendlyName?: pulumi.Input; + /** + * List of ScalingHostPoolReference definitions. + */ + hostPoolReferences?: pulumi.Input[]>; + /** + * HostPool type for desktop. + */ + hostPoolType?: pulumi.Input; + identity?: pulumi.Input; + /** + * Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + */ + kind?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + */ + managedBy?: pulumi.Input; + plan?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the scaling plan. + */ + scalingPlanName?: pulumi.Input; + /** + * List of ScalingPlanPooledSchedule definitions. + */ + schedules?: pulumi.Input[]>; + sku?: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Timezone of the scaling plan. + */ + timeZone: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/scalingPlanPersonalSchedule.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/scalingPlanPersonalSchedule.ts new file mode 100644 index 000000000000..6254a434511f --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/scalingPlanPersonalSchedule.ts @@ -0,0 +1,364 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Represents a ScalingPlanPersonalSchedule definition. + */ +export class ScalingPlanPersonalSchedule extends pulumi.CustomResource { + /** + * Get an existing ScalingPlanPersonalSchedule 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ScalingPlanPersonalSchedule { + return new ScalingPlanPersonalSchedule(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:desktopvirtualization/v20230707preview:ScalingPlanPersonalSchedule'; + + /** + * Returns true if the given object is an instance of ScalingPlanPersonalSchedule. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ScalingPlanPersonalSchedule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ScalingPlanPersonalSchedule.__pulumiType; + } + + /** + * Set of days of the week on which this schedule is active. + */ + public readonly daysOfWeek!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Action to be taken after a user disconnect during the off-peak period. + */ + public readonly offPeakActionOnDisconnect!: pulumi.Output; + /** + * Action to be taken after a logoff during the off-peak period. + */ + public readonly offPeakActionOnLogoff!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + */ + public readonly offPeakMinutesToWaitOnDisconnect!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + */ + public readonly offPeakMinutesToWaitOnLogoff!: pulumi.Output; + /** + * Starting time for off-peak period. + */ + public readonly offPeakStartTime!: pulumi.Output; + /** + * The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + */ + public readonly offPeakStartVMOnConnect!: pulumi.Output; + /** + * Action to be taken after a user disconnect during the peak period. + */ + public readonly peakActionOnDisconnect!: pulumi.Output; + /** + * Action to be taken after a logoff during the peak period. + */ + public readonly peakActionOnLogoff!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + */ + public readonly peakMinutesToWaitOnDisconnect!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + */ + public readonly peakMinutesToWaitOnLogoff!: pulumi.Output; + /** + * Starting time for peak period. + */ + public readonly peakStartTime!: pulumi.Output; + /** + * The desired configuration of Start VM On Connect for the hostpool during the peak phase. + */ + public readonly peakStartVMOnConnect!: pulumi.Output; + /** + * Action to be taken after a user disconnect during the ramp down period. + */ + public readonly rampDownActionOnDisconnect!: pulumi.Output; + /** + * Action to be taken after a logoff during the ramp down period. + */ + public readonly rampDownActionOnLogoff!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + */ + public readonly rampDownMinutesToWaitOnDisconnect!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + */ + public readonly rampDownMinutesToWaitOnLogoff!: pulumi.Output; + /** + * Starting time for ramp down period. + */ + public readonly rampDownStartTime!: pulumi.Output; + /** + * The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + */ + public readonly rampDownStartVMOnConnect!: pulumi.Output; + /** + * Action to be taken after a user disconnect during the ramp up period. + */ + public readonly rampUpActionOnDisconnect!: pulumi.Output; + /** + * Action to be taken after a logoff during the ramp up period. + */ + public readonly rampUpActionOnLogoff!: pulumi.Output; + /** + * The desired startup behavior during the ramp up period for personal vms in the hostpool. + */ + public readonly rampUpAutoStartHosts!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + */ + public readonly rampUpMinutesToWaitOnDisconnect!: pulumi.Output; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + */ + public readonly rampUpMinutesToWaitOnLogoff!: pulumi.Output; + /** + * Starting time for ramp up period. + */ + public readonly rampUpStartTime!: pulumi.Output; + /** + * The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + */ + public readonly rampUpStartVMOnConnect!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a ScalingPlanPersonalSchedule 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: ScalingPlanPersonalScheduleArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.scalingPlanName === undefined) && !opts.urn) { + throw new Error("Missing required property 'scalingPlanName'"); + } + resourceInputs["daysOfWeek"] = args ? args.daysOfWeek : undefined; + resourceInputs["offPeakActionOnDisconnect"] = args ? args.offPeakActionOnDisconnect : undefined; + resourceInputs["offPeakActionOnLogoff"] = args ? args.offPeakActionOnLogoff : undefined; + resourceInputs["offPeakMinutesToWaitOnDisconnect"] = args ? args.offPeakMinutesToWaitOnDisconnect : undefined; + resourceInputs["offPeakMinutesToWaitOnLogoff"] = args ? args.offPeakMinutesToWaitOnLogoff : undefined; + resourceInputs["offPeakStartTime"] = args ? args.offPeakStartTime : undefined; + resourceInputs["offPeakStartVMOnConnect"] = (args ? args.offPeakStartVMOnConnect : undefined) ?? "Enable"; + resourceInputs["peakActionOnDisconnect"] = args ? args.peakActionOnDisconnect : undefined; + resourceInputs["peakActionOnLogoff"] = args ? args.peakActionOnLogoff : undefined; + resourceInputs["peakMinutesToWaitOnDisconnect"] = args ? args.peakMinutesToWaitOnDisconnect : undefined; + resourceInputs["peakMinutesToWaitOnLogoff"] = args ? args.peakMinutesToWaitOnLogoff : undefined; + resourceInputs["peakStartTime"] = args ? args.peakStartTime : undefined; + resourceInputs["peakStartVMOnConnect"] = (args ? args.peakStartVMOnConnect : undefined) ?? "Enable"; + resourceInputs["rampDownActionOnDisconnect"] = args ? args.rampDownActionOnDisconnect : undefined; + resourceInputs["rampDownActionOnLogoff"] = args ? args.rampDownActionOnLogoff : undefined; + resourceInputs["rampDownMinutesToWaitOnDisconnect"] = args ? args.rampDownMinutesToWaitOnDisconnect : undefined; + resourceInputs["rampDownMinutesToWaitOnLogoff"] = args ? args.rampDownMinutesToWaitOnLogoff : undefined; + resourceInputs["rampDownStartTime"] = args ? args.rampDownStartTime : undefined; + resourceInputs["rampDownStartVMOnConnect"] = (args ? args.rampDownStartVMOnConnect : undefined) ?? "Enable"; + resourceInputs["rampUpActionOnDisconnect"] = args ? args.rampUpActionOnDisconnect : undefined; + resourceInputs["rampUpActionOnLogoff"] = args ? args.rampUpActionOnLogoff : undefined; + resourceInputs["rampUpAutoStartHosts"] = args ? args.rampUpAutoStartHosts : undefined; + resourceInputs["rampUpMinutesToWaitOnDisconnect"] = args ? args.rampUpMinutesToWaitOnDisconnect : undefined; + resourceInputs["rampUpMinutesToWaitOnLogoff"] = args ? args.rampUpMinutesToWaitOnLogoff : undefined; + resourceInputs["rampUpStartTime"] = args ? args.rampUpStartTime : undefined; + resourceInputs["rampUpStartVMOnConnect"] = (args ? args.rampUpStartVMOnConnect : undefined) ?? "Enable"; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["scalingPlanName"] = args ? args.scalingPlanName : undefined; + resourceInputs["scalingPlanScheduleName"] = args ? args.scalingPlanScheduleName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["daysOfWeek"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["offPeakActionOnDisconnect"] = undefined /*out*/; + resourceInputs["offPeakActionOnLogoff"] = undefined /*out*/; + resourceInputs["offPeakMinutesToWaitOnDisconnect"] = undefined /*out*/; + resourceInputs["offPeakMinutesToWaitOnLogoff"] = undefined /*out*/; + resourceInputs["offPeakStartTime"] = undefined /*out*/; + resourceInputs["offPeakStartVMOnConnect"] = undefined /*out*/; + resourceInputs["peakActionOnDisconnect"] = undefined /*out*/; + resourceInputs["peakActionOnLogoff"] = undefined /*out*/; + resourceInputs["peakMinutesToWaitOnDisconnect"] = undefined /*out*/; + resourceInputs["peakMinutesToWaitOnLogoff"] = undefined /*out*/; + resourceInputs["peakStartTime"] = undefined /*out*/; + resourceInputs["peakStartVMOnConnect"] = undefined /*out*/; + resourceInputs["rampDownActionOnDisconnect"] = undefined /*out*/; + resourceInputs["rampDownActionOnLogoff"] = undefined /*out*/; + resourceInputs["rampDownMinutesToWaitOnDisconnect"] = undefined /*out*/; + resourceInputs["rampDownMinutesToWaitOnLogoff"] = undefined /*out*/; + resourceInputs["rampDownStartTime"] = undefined /*out*/; + resourceInputs["rampDownStartVMOnConnect"] = undefined /*out*/; + resourceInputs["rampUpActionOnDisconnect"] = undefined /*out*/; + resourceInputs["rampUpActionOnLogoff"] = undefined /*out*/; + resourceInputs["rampUpAutoStartHosts"] = undefined /*out*/; + resourceInputs["rampUpMinutesToWaitOnDisconnect"] = undefined /*out*/; + resourceInputs["rampUpMinutesToWaitOnLogoff"] = undefined /*out*/; + resourceInputs["rampUpStartTime"] = undefined /*out*/; + resourceInputs["rampUpStartVMOnConnect"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlanPersonalSchedule" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(ScalingPlanPersonalSchedule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ScalingPlanPersonalSchedule resource. + */ +export interface ScalingPlanPersonalScheduleArgs { + /** + * Set of days of the week on which this schedule is active. + */ + daysOfWeek?: pulumi.Input[]>; + /** + * Action to be taken after a user disconnect during the off-peak period. + */ + offPeakActionOnDisconnect?: pulumi.Input; + /** + * Action to be taken after a logoff during the off-peak period. + */ + offPeakActionOnLogoff?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + */ + offPeakMinutesToWaitOnDisconnect?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + */ + offPeakMinutesToWaitOnLogoff?: pulumi.Input; + /** + * Starting time for off-peak period. + */ + offPeakStartTime?: pulumi.Input; + /** + * The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + */ + offPeakStartVMOnConnect?: pulumi.Input; + /** + * Action to be taken after a user disconnect during the peak period. + */ + peakActionOnDisconnect?: pulumi.Input; + /** + * Action to be taken after a logoff during the peak period. + */ + peakActionOnLogoff?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + */ + peakMinutesToWaitOnDisconnect?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + */ + peakMinutesToWaitOnLogoff?: pulumi.Input; + /** + * Starting time for peak period. + */ + peakStartTime?: pulumi.Input; + /** + * The desired configuration of Start VM On Connect for the hostpool during the peak phase. + */ + peakStartVMOnConnect?: pulumi.Input; + /** + * Action to be taken after a user disconnect during the ramp down period. + */ + rampDownActionOnDisconnect?: pulumi.Input; + /** + * Action to be taken after a logoff during the ramp down period. + */ + rampDownActionOnLogoff?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + */ + rampDownMinutesToWaitOnDisconnect?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + */ + rampDownMinutesToWaitOnLogoff?: pulumi.Input; + /** + * Starting time for ramp down period. + */ + rampDownStartTime?: pulumi.Input; + /** + * The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + */ + rampDownStartVMOnConnect?: pulumi.Input; + /** + * Action to be taken after a user disconnect during the ramp up period. + */ + rampUpActionOnDisconnect?: pulumi.Input; + /** + * Action to be taken after a logoff during the ramp up period. + */ + rampUpActionOnLogoff?: pulumi.Input; + /** + * The desired startup behavior during the ramp up period for personal vms in the hostpool. + */ + rampUpAutoStartHosts?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + */ + rampUpMinutesToWaitOnDisconnect?: pulumi.Input; + /** + * The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + */ + rampUpMinutesToWaitOnLogoff?: pulumi.Input; + /** + * Starting time for ramp up period. + */ + rampUpStartTime?: pulumi.Input; + /** + * The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + */ + rampUpStartVMOnConnect?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the scaling plan. + */ + scalingPlanName: pulumi.Input; + /** + * The name of the ScalingPlanSchedule + */ + scalingPlanScheduleName?: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/scalingPlanPooledSchedule.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/scalingPlanPooledSchedule.ts new file mode 100644 index 000000000000..060282f38c4e --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/scalingPlanPooledSchedule.ts @@ -0,0 +1,274 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Represents a ScalingPlanPooledSchedule definition. + */ +export class ScalingPlanPooledSchedule extends pulumi.CustomResource { + /** + * Get an existing ScalingPlanPooledSchedule 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ScalingPlanPooledSchedule { + return new ScalingPlanPooledSchedule(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule'; + + /** + * Returns true if the given object is an instance of ScalingPlanPooledSchedule. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ScalingPlanPooledSchedule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ScalingPlanPooledSchedule.__pulumiType; + } + + /** + * Set of days of the week on which this schedule is active. + */ + public readonly daysOfWeek!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Load balancing algorithm for off-peak period. + */ + public readonly offPeakLoadBalancingAlgorithm!: pulumi.Output; + /** + * Starting time for off-peak period. + */ + public readonly offPeakStartTime!: pulumi.Output; + /** + * Load balancing algorithm for peak period. + */ + public readonly peakLoadBalancingAlgorithm!: pulumi.Output; + /** + * Starting time for peak period. + */ + public readonly peakStartTime!: pulumi.Output; + /** + * Capacity threshold for ramp down period. + */ + public readonly rampDownCapacityThresholdPct!: pulumi.Output; + /** + * Should users be logged off forcefully from hosts. + */ + public readonly rampDownForceLogoffUsers!: pulumi.Output; + /** + * Load balancing algorithm for ramp down period. + */ + public readonly rampDownLoadBalancingAlgorithm!: pulumi.Output; + /** + * Minimum host percentage for ramp down period. + */ + public readonly rampDownMinimumHostsPct!: pulumi.Output; + /** + * Notification message for users during ramp down period. + */ + public readonly rampDownNotificationMessage!: pulumi.Output; + /** + * Starting time for ramp down period. + */ + public readonly rampDownStartTime!: pulumi.Output; + /** + * Specifies when to stop hosts during ramp down period. + */ + public readonly rampDownStopHostsWhen!: pulumi.Output; + /** + * Number of minutes to wait to stop hosts during ramp down period. + */ + public readonly rampDownWaitTimeMinutes!: pulumi.Output; + /** + * Capacity threshold for ramp up period. + */ + public readonly rampUpCapacityThresholdPct!: pulumi.Output; + /** + * Load balancing algorithm for ramp up period. + */ + public readonly rampUpLoadBalancingAlgorithm!: pulumi.Output; + /** + * Minimum host percentage for ramp up period. + */ + public readonly rampUpMinimumHostsPct!: pulumi.Output; + /** + * Starting time for ramp up period. + */ + public readonly rampUpStartTime!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a ScalingPlanPooledSchedule 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: ScalingPlanPooledScheduleArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.scalingPlanName === undefined) && !opts.urn) { + throw new Error("Missing required property 'scalingPlanName'"); + } + resourceInputs["daysOfWeek"] = args ? args.daysOfWeek : undefined; + resourceInputs["offPeakLoadBalancingAlgorithm"] = args ? args.offPeakLoadBalancingAlgorithm : undefined; + resourceInputs["offPeakStartTime"] = args ? args.offPeakStartTime : undefined; + resourceInputs["peakLoadBalancingAlgorithm"] = args ? args.peakLoadBalancingAlgorithm : undefined; + resourceInputs["peakStartTime"] = args ? args.peakStartTime : undefined; + resourceInputs["rampDownCapacityThresholdPct"] = args ? args.rampDownCapacityThresholdPct : undefined; + resourceInputs["rampDownForceLogoffUsers"] = args ? args.rampDownForceLogoffUsers : undefined; + resourceInputs["rampDownLoadBalancingAlgorithm"] = args ? args.rampDownLoadBalancingAlgorithm : undefined; + resourceInputs["rampDownMinimumHostsPct"] = args ? args.rampDownMinimumHostsPct : undefined; + resourceInputs["rampDownNotificationMessage"] = args ? args.rampDownNotificationMessage : undefined; + resourceInputs["rampDownStartTime"] = args ? args.rampDownStartTime : undefined; + resourceInputs["rampDownStopHostsWhen"] = args ? args.rampDownStopHostsWhen : undefined; + resourceInputs["rampDownWaitTimeMinutes"] = args ? args.rampDownWaitTimeMinutes : undefined; + resourceInputs["rampUpCapacityThresholdPct"] = args ? args.rampUpCapacityThresholdPct : undefined; + resourceInputs["rampUpLoadBalancingAlgorithm"] = args ? args.rampUpLoadBalancingAlgorithm : undefined; + resourceInputs["rampUpMinimumHostsPct"] = args ? args.rampUpMinimumHostsPct : undefined; + resourceInputs["rampUpStartTime"] = args ? args.rampUpStartTime : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["scalingPlanName"] = args ? args.scalingPlanName : undefined; + resourceInputs["scalingPlanScheduleName"] = args ? args.scalingPlanScheduleName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["daysOfWeek"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["offPeakLoadBalancingAlgorithm"] = undefined /*out*/; + resourceInputs["offPeakStartTime"] = undefined /*out*/; + resourceInputs["peakLoadBalancingAlgorithm"] = undefined /*out*/; + resourceInputs["peakStartTime"] = undefined /*out*/; + resourceInputs["rampDownCapacityThresholdPct"] = undefined /*out*/; + resourceInputs["rampDownForceLogoffUsers"] = undefined /*out*/; + resourceInputs["rampDownLoadBalancingAlgorithm"] = undefined /*out*/; + resourceInputs["rampDownMinimumHostsPct"] = undefined /*out*/; + resourceInputs["rampDownNotificationMessage"] = undefined /*out*/; + resourceInputs["rampDownStartTime"] = undefined /*out*/; + resourceInputs["rampDownStopHostsWhen"] = undefined /*out*/; + resourceInputs["rampDownWaitTimeMinutes"] = undefined /*out*/; + resourceInputs["rampUpCapacityThresholdPct"] = undefined /*out*/; + resourceInputs["rampUpLoadBalancingAlgorithm"] = undefined /*out*/; + resourceInputs["rampUpMinimumHostsPct"] = undefined /*out*/; + resourceInputs["rampUpStartTime"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule" }, { type: "azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(ScalingPlanPooledSchedule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ScalingPlanPooledSchedule resource. + */ +export interface ScalingPlanPooledScheduleArgs { + /** + * Set of days of the week on which this schedule is active. + */ + daysOfWeek?: pulumi.Input[]>; + /** + * Load balancing algorithm for off-peak period. + */ + offPeakLoadBalancingAlgorithm?: pulumi.Input; + /** + * Starting time for off-peak period. + */ + offPeakStartTime?: pulumi.Input; + /** + * Load balancing algorithm for peak period. + */ + peakLoadBalancingAlgorithm?: pulumi.Input; + /** + * Starting time for peak period. + */ + peakStartTime?: pulumi.Input; + /** + * Capacity threshold for ramp down period. + */ + rampDownCapacityThresholdPct?: pulumi.Input; + /** + * Should users be logged off forcefully from hosts. + */ + rampDownForceLogoffUsers?: pulumi.Input; + /** + * Load balancing algorithm for ramp down period. + */ + rampDownLoadBalancingAlgorithm?: pulumi.Input; + /** + * Minimum host percentage for ramp down period. + */ + rampDownMinimumHostsPct?: pulumi.Input; + /** + * Notification message for users during ramp down period. + */ + rampDownNotificationMessage?: pulumi.Input; + /** + * Starting time for ramp down period. + */ + rampDownStartTime?: pulumi.Input; + /** + * Specifies when to stop hosts during ramp down period. + */ + rampDownStopHostsWhen?: pulumi.Input; + /** + * Number of minutes to wait to stop hosts during ramp down period. + */ + rampDownWaitTimeMinutes?: pulumi.Input; + /** + * Capacity threshold for ramp up period. + */ + rampUpCapacityThresholdPct?: pulumi.Input; + /** + * Load balancing algorithm for ramp up period. + */ + rampUpLoadBalancingAlgorithm?: pulumi.Input; + /** + * Minimum host percentage for ramp up period. + */ + rampUpMinimumHostsPct?: pulumi.Input; + /** + * Starting time for ramp up period. + */ + rampUpStartTime?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the scaling plan. + */ + scalingPlanName: pulumi.Input; + /** + * The name of the ScalingPlanSchedule + */ + scalingPlanScheduleName?: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/v20230707preview/workspace.ts b/sdk/nodejs/desktopvirtualization/v20230707preview/workspace.ts new file mode 100644 index 000000000000..67b30db6b027 --- /dev/null +++ b/sdk/nodejs/desktopvirtualization/v20230707preview/workspace.ts @@ -0,0 +1,212 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Represents a Workspace definition. + */ +export class Workspace extends pulumi.CustomResource { + /** + * Get an existing Workspace 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Workspace { + return new Workspace(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:desktopvirtualization/v20230707preview:Workspace'; + + /** + * Returns true if the given object is an instance of Workspace. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Workspace { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Workspace.__pulumiType; + } + + /** + * List of applicationGroup resource Ids. + */ + public readonly applicationGroupReferences!: pulumi.Output; + /** + * Is cloud pc resource. + */ + public /*out*/ readonly cloudPcResource!: pulumi.Output; + /** + * Description of Workspace. + */ + public readonly description!: pulumi.Output; + /** + * The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + */ + public /*out*/ readonly etag!: pulumi.Output; + /** + * Friendly name of Workspace. + */ + public readonly friendlyName!: pulumi.Output; + public readonly identity!: pulumi.Output; + /** + * Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + */ + public readonly kind!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + */ + public readonly managedBy!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * ObjectId of Workspace. (internal use) + */ + public /*out*/ readonly objectId!: pulumi.Output; + public readonly plan!: pulumi.Output; + /** + * List of private endpoint connection associated with the specified resource + */ + public /*out*/ readonly privateEndpointConnections!: pulumi.Output; + /** + * Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + */ + public readonly publicNetworkAccess!: pulumi.Output; + public readonly sku!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Workspace 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: WorkspaceArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["applicationGroupReferences"] = args ? args.applicationGroupReferences : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["friendlyName"] = args ? args.friendlyName : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["kind"] = args ? args.kind : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["managedBy"] = args ? args.managedBy : undefined; + resourceInputs["plan"] = args ? args.plan : undefined; + resourceInputs["publicNetworkAccess"] = args ? args.publicNetworkAccess : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["workspaceName"] = args ? args.workspaceName : undefined; + resourceInputs["cloudPcResource"] = undefined /*out*/; + resourceInputs["etag"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["objectId"] = undefined /*out*/; + resourceInputs["privateEndpointConnections"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["applicationGroupReferences"] = undefined /*out*/; + resourceInputs["cloudPcResource"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["etag"] = undefined /*out*/; + resourceInputs["friendlyName"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["kind"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["managedBy"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["objectId"] = undefined /*out*/; + resourceInputs["plan"] = undefined /*out*/; + resourceInputs["privateEndpointConnections"] = undefined /*out*/; + resourceInputs["publicNetworkAccess"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization:Workspace" }, { type: "azure-native:desktopvirtualization/v20190123preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20190924preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20191210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20200921preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201019preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201102preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201110preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210114preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210201preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210309preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210712:Workspace" }, { type: "azure-native:desktopvirtualization/v20210903preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220909:Workspace" }, { type: "azure-native:desktopvirtualization/v20221014preview:Workspace" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Workspace.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Workspace resource. + */ +export interface WorkspaceArgs { + /** + * List of applicationGroup resource Ids. + */ + applicationGroupReferences?: pulumi.Input[]>; + /** + * Description of Workspace. + */ + description?: pulumi.Input; + /** + * Friendly name of Workspace. + */ + friendlyName?: pulumi.Input; + identity?: pulumi.Input; + /** + * Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + */ + kind?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + */ + managedBy?: pulumi.Input; + plan?: pulumi.Input; + /** + * Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + */ + publicNetworkAccess?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + sku?: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The name of the workspace + */ + workspaceName?: pulumi.Input; +} diff --git a/sdk/nodejs/desktopvirtualization/workspace.ts b/sdk/nodejs/desktopvirtualization/workspace.ts index 57d87700352f..a17e5400b41f 100644 --- a/sdk/nodejs/desktopvirtualization/workspace.ts +++ b/sdk/nodejs/desktopvirtualization/workspace.ts @@ -145,7 +145,7 @@ export class Workspace extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20190123preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20190924preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20191210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20200921preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201019preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201102preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201110preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210114preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210201preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210309preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210712:Workspace" }, { type: "azure-native:desktopvirtualization/v20210903preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220909:Workspace" }, { type: "azure-native:desktopvirtualization/v20221014preview:Workspace" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:desktopvirtualization/v20190123preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20190924preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20191210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20200921preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201019preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201102preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20201110preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210114preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210201preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210309preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20210712:Workspace" }, { type: "azure-native:desktopvirtualization/v20210903preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220210preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220401preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20220909:Workspace" }, { type: "azure-native:desktopvirtualization/v20221014preview:Workspace" }, { type: "azure-native:desktopvirtualization/v20230707preview:Workspace" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Workspace.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hdinsight/clusterPool.ts b/sdk/nodejs/hdinsight/clusterPool.ts new file mode 100644 index 000000000000..53d46df9d0c4 --- /dev/null +++ b/sdk/nodejs/hdinsight/clusterPool.ts @@ -0,0 +1,200 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Cluster pool. + * Azure REST API version: 2023-06-01-preview. + */ +export class ClusterPool extends pulumi.CustomResource { + /** + * Get an existing ClusterPool 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ClusterPool { + return new ClusterPool(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:hdinsight:ClusterPool'; + + /** + * Returns true if the given object is an instance of ClusterPool. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ClusterPool { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ClusterPool.__pulumiType; + } + + /** + * Properties of underlying AKS cluster. + */ + public /*out*/ readonly aksClusterProfile!: pulumi.Output; + /** + * A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region} + */ + public /*out*/ readonly aksManagedResourceGroupName!: pulumi.Output; + /** + * CLuster pool profile. + */ + public readonly clusterPoolProfile!: pulumi.Output; + /** + * CLuster pool compute profile. + */ + public readonly computeProfile!: pulumi.Output; + /** + * A unique id generated by the RP to identify the resource. + */ + public /*out*/ readonly deploymentId!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * Cluster pool log analytics profile to enable OMS agent for AKS cluster. + */ + public readonly logAnalyticsProfile!: pulumi.Output; + /** + * A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + */ + public readonly managedResourceGroupName!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Cluster pool network profile. + */ + public readonly networkProfile!: pulumi.Output; + /** + * Provisioning state of the resource. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Business status of the resource. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a ClusterPool 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: ClusterPoolArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.computeProfile === undefined) && !opts.urn) { + throw new Error("Missing required property 'computeProfile'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["clusterPoolName"] = args ? args.clusterPoolName : undefined; + resourceInputs["clusterPoolProfile"] = args ? args.clusterPoolProfile : undefined; + resourceInputs["computeProfile"] = args ? args.computeProfile : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["logAnalyticsProfile"] = args ? args.logAnalyticsProfile : undefined; + resourceInputs["managedResourceGroupName"] = args ? args.managedResourceGroupName : undefined; + resourceInputs["networkProfile"] = args ? args.networkProfile : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["aksClusterProfile"] = undefined /*out*/; + resourceInputs["aksManagedResourceGroupName"] = undefined /*out*/; + resourceInputs["deploymentId"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["aksClusterProfile"] = undefined /*out*/; + resourceInputs["aksManagedResourceGroupName"] = undefined /*out*/; + resourceInputs["clusterPoolProfile"] = undefined /*out*/; + resourceInputs["computeProfile"] = undefined /*out*/; + resourceInputs["deploymentId"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["logAnalyticsProfile"] = undefined /*out*/; + resourceInputs["managedResourceGroupName"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkProfile"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:hdinsight/v20230601preview:ClusterPool" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(ClusterPool.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ClusterPool resource. + */ +export interface ClusterPoolArgs { + /** + * The name of the cluster pool. + */ + clusterPoolName?: pulumi.Input; + /** + * CLuster pool profile. + */ + clusterPoolProfile?: pulumi.Input; + /** + * CLuster pool compute profile. + */ + computeProfile: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * Cluster pool log analytics profile to enable OMS agent for AKS cluster. + */ + logAnalyticsProfile?: pulumi.Input; + /** + * A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + */ + managedResourceGroupName?: pulumi.Input; + /** + * Cluster pool network profile. + */ + networkProfile?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/hdinsight/getClusterPool.ts b/sdk/nodejs/hdinsight/getClusterPool.ts new file mode 100644 index 000000000000..2b5b1696840a --- /dev/null +++ b/sdk/nodejs/hdinsight/getClusterPool.ts @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Gets a cluster pool. + * Azure REST API version: 2023-06-01-preview. + */ +export function getClusterPool(args: GetClusterPoolArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:hdinsight:getClusterPool", { + "clusterPoolName": args.clusterPoolName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetClusterPoolArgs { + /** + * The name of the cluster pool. + */ + clusterPoolName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * Cluster pool. + */ +export interface GetClusterPoolResult { + /** + * Properties of underlying AKS cluster. + */ + readonly aksClusterProfile: outputs.hdinsight.ClusterPoolResourcePropertiesResponseAksClusterProfile; + /** + * A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region} + */ + readonly aksManagedResourceGroupName: string; + /** + * CLuster pool profile. + */ + readonly clusterPoolProfile?: outputs.hdinsight.ClusterPoolResourcePropertiesResponseClusterPoolProfile; + /** + * CLuster pool compute profile. + */ + readonly computeProfile: outputs.hdinsight.ClusterPoolResourcePropertiesResponseComputeProfile; + /** + * A unique id generated by the RP to identify the resource. + */ + readonly deploymentId: string; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + */ + readonly id: string; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * Cluster pool log analytics profile to enable OMS agent for AKS cluster. + */ + readonly logAnalyticsProfile?: outputs.hdinsight.ClusterPoolResourcePropertiesResponseLogAnalyticsProfile; + /** + * A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + */ + readonly managedResourceGroupName?: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * Cluster pool network profile. + */ + readonly networkProfile?: outputs.hdinsight.ClusterPoolResourcePropertiesResponseNetworkProfile; + /** + * Provisioning state of the resource. + */ + readonly provisioningState: string; + /** + * Business status of the resource. + */ + readonly status: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.hdinsight.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Gets a cluster pool. + * Azure REST API version: 2023-06-01-preview. + */ +export function getClusterPoolOutput(args: GetClusterPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getClusterPool(a, opts)) +} + +export interface GetClusterPoolOutputArgs { + /** + * The name of the cluster pool. + */ + clusterPoolName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/hdinsight/index.ts b/sdk/nodejs/hdinsight/index.ts index a65808338780..b2f690f411ae 100644 --- a/sdk/nodejs/hdinsight/index.ts +++ b/sdk/nodejs/hdinsight/index.ts @@ -15,6 +15,11 @@ export type Cluster = import("./cluster").Cluster; export const Cluster: typeof import("./cluster").Cluster = null as any; utilities.lazyLoad(exports, ["Cluster"], () => require("./cluster")); +export { ClusterPoolArgs } from "./clusterPool"; +export type ClusterPool = import("./clusterPool").ClusterPool; +export const ClusterPool: typeof import("./clusterPool").ClusterPool = null as any; +utilities.lazyLoad(exports, ["ClusterPool"], () => require("./clusterPool")); + export { GetApplicationArgs, GetApplicationResult, GetApplicationOutputArgs } from "./getApplication"; export const getApplication: typeof import("./getApplication").getApplication = null as any; export const getApplicationOutput: typeof import("./getApplication").getApplicationOutput = null as any; @@ -30,6 +35,11 @@ export const getClusterGatewaySettings: typeof import("./getClusterGatewaySettin export const getClusterGatewaySettingsOutput: typeof import("./getClusterGatewaySettings").getClusterGatewaySettingsOutput = null as any; utilities.lazyLoad(exports, ["getClusterGatewaySettings","getClusterGatewaySettingsOutput"], () => require("./getClusterGatewaySettings")); +export { GetClusterPoolArgs, GetClusterPoolResult, GetClusterPoolOutputArgs } from "./getClusterPool"; +export const getClusterPool: typeof import("./getClusterPool").getClusterPool = null as any; +export const getClusterPoolOutput: typeof import("./getClusterPool").getClusterPoolOutput = null as any; +utilities.lazyLoad(exports, ["getClusterPool","getClusterPoolOutput"], () => require("./getClusterPool")); + export { GetPrivateEndpointConnectionArgs, GetPrivateEndpointConnectionResult, GetPrivateEndpointConnectionOutputArgs } from "./getPrivateEndpointConnection"; export const getPrivateEndpointConnection: typeof import("./getPrivateEndpointConnection").getPrivateEndpointConnection = null as any; export const getPrivateEndpointConnectionOutput: typeof import("./getPrivateEndpointConnection").getPrivateEndpointConnectionOutput = null as any; @@ -47,10 +57,12 @@ export * from "../types/enums/hdinsight"; // Export sub-modules: import * as v20210601 from "./v20210601"; import * as v20230415preview from "./v20230415preview"; +import * as v20230601preview from "./v20230601preview"; export { v20210601, v20230415preview, + v20230601preview, }; const _module = { @@ -61,6 +73,8 @@ const _module = { return new Application(name, undefined, { urn }) case "azure-native:hdinsight:Cluster": return new Cluster(name, undefined, { urn }) + case "azure-native:hdinsight:ClusterPool": + return new ClusterPool(name, undefined, { urn }) case "azure-native:hdinsight:PrivateEndpointConnection": return new PrivateEndpointConnection(name, undefined, { urn }) default: diff --git a/sdk/nodejs/hdinsight/v20230601preview/cluster.ts b/sdk/nodejs/hdinsight/v20230601preview/cluster.ts new file mode 100644 index 000000000000..f7c4e7bd99f0 --- /dev/null +++ b/sdk/nodejs/hdinsight/v20230601preview/cluster.ts @@ -0,0 +1,179 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The cluster. + */ +export class Cluster extends pulumi.CustomResource { + /** + * Get an existing Cluster 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Cluster { + return new Cluster(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:hdinsight/v20230601preview:Cluster'; + + /** + * Returns true if the given object is an instance of Cluster. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Cluster { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Cluster.__pulumiType; + } + + /** + * Cluster profile. + */ + public readonly clusterProfile!: pulumi.Output; + /** + * The type of cluster. + */ + public readonly clusterType!: pulumi.Output; + /** + * The compute profile. + */ + public readonly computeProfile!: pulumi.Output; + /** + * A unique id generated by the RP to identify the resource. + */ + public /*out*/ readonly deploymentId!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Provisioning state of the resource. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Business status of the resource. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Cluster 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: ClusterArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.clusterPoolName === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterPoolName'"); + } + if ((!args || args.clusterProfile === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterProfile'"); + } + if ((!args || args.clusterType === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterType'"); + } + if ((!args || args.computeProfile === undefined) && !opts.urn) { + throw new Error("Missing required property 'computeProfile'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["clusterName"] = args ? args.clusterName : undefined; + resourceInputs["clusterPoolName"] = args ? args.clusterPoolName : undefined; + resourceInputs["clusterProfile"] = args ? (args.clusterProfile ? pulumi.output(args.clusterProfile).apply(inputs.hdinsight.v20230601preview.clusterProfileArgsProvideDefaults) : undefined) : undefined; + resourceInputs["clusterType"] = args ? args.clusterType : undefined; + resourceInputs["computeProfile"] = args ? args.computeProfile : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["deploymentId"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["clusterProfile"] = undefined /*out*/; + resourceInputs["clusterType"] = undefined /*out*/; + resourceInputs["computeProfile"] = undefined /*out*/; + resourceInputs["deploymentId"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Cluster.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Cluster resource. + */ +export interface ClusterArgs { + /** + * The name of the HDInsight cluster. + */ + clusterName?: pulumi.Input; + /** + * The name of the cluster pool. + */ + clusterPoolName: pulumi.Input; + /** + * Cluster profile. + */ + clusterProfile: pulumi.Input; + /** + * The type of cluster. + */ + clusterType: pulumi.Input; + /** + * The compute profile. + */ + computeProfile: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/hdinsight/v20230601preview/clusterPool.ts b/sdk/nodejs/hdinsight/v20230601preview/clusterPool.ts new file mode 100644 index 000000000000..828dcd06f79a --- /dev/null +++ b/sdk/nodejs/hdinsight/v20230601preview/clusterPool.ts @@ -0,0 +1,199 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Cluster pool. + */ +export class ClusterPool extends pulumi.CustomResource { + /** + * Get an existing ClusterPool 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ClusterPool { + return new ClusterPool(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:hdinsight/v20230601preview:ClusterPool'; + + /** + * Returns true if the given object is an instance of ClusterPool. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ClusterPool { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ClusterPool.__pulumiType; + } + + /** + * Properties of underlying AKS cluster. + */ + public /*out*/ readonly aksClusterProfile!: pulumi.Output; + /** + * A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region} + */ + public /*out*/ readonly aksManagedResourceGroupName!: pulumi.Output; + /** + * CLuster pool profile. + */ + public readonly clusterPoolProfile!: pulumi.Output; + /** + * CLuster pool compute profile. + */ + public readonly computeProfile!: pulumi.Output; + /** + * A unique id generated by the RP to identify the resource. + */ + public /*out*/ readonly deploymentId!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * Cluster pool log analytics profile to enable OMS agent for AKS cluster. + */ + public readonly logAnalyticsProfile!: pulumi.Output; + /** + * A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + */ + public readonly managedResourceGroupName!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Cluster pool network profile. + */ + public readonly networkProfile!: pulumi.Output; + /** + * Provisioning state of the resource. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Business status of the resource. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a ClusterPool 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: ClusterPoolArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.computeProfile === undefined) && !opts.urn) { + throw new Error("Missing required property 'computeProfile'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["clusterPoolName"] = args ? args.clusterPoolName : undefined; + resourceInputs["clusterPoolProfile"] = args ? args.clusterPoolProfile : undefined; + resourceInputs["computeProfile"] = args ? args.computeProfile : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["logAnalyticsProfile"] = args ? args.logAnalyticsProfile : undefined; + resourceInputs["managedResourceGroupName"] = args ? args.managedResourceGroupName : undefined; + resourceInputs["networkProfile"] = args ? args.networkProfile : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["aksClusterProfile"] = undefined /*out*/; + resourceInputs["aksManagedResourceGroupName"] = undefined /*out*/; + resourceInputs["deploymentId"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["aksClusterProfile"] = undefined /*out*/; + resourceInputs["aksManagedResourceGroupName"] = undefined /*out*/; + resourceInputs["clusterPoolProfile"] = undefined /*out*/; + resourceInputs["computeProfile"] = undefined /*out*/; + resourceInputs["deploymentId"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["logAnalyticsProfile"] = undefined /*out*/; + resourceInputs["managedResourceGroupName"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkProfile"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:hdinsight:ClusterPool" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(ClusterPool.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ClusterPool resource. + */ +export interface ClusterPoolArgs { + /** + * The name of the cluster pool. + */ + clusterPoolName?: pulumi.Input; + /** + * CLuster pool profile. + */ + clusterPoolProfile?: pulumi.Input; + /** + * CLuster pool compute profile. + */ + computeProfile: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * Cluster pool log analytics profile to enable OMS agent for AKS cluster. + */ + logAnalyticsProfile?: pulumi.Input; + /** + * A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + */ + managedResourceGroupName?: pulumi.Input; + /** + * Cluster pool network profile. + */ + networkProfile?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/hdinsight/v20230601preview/getCluster.ts b/sdk/nodejs/hdinsight/v20230601preview/getCluster.ts new file mode 100644 index 000000000000..240614d2430d --- /dev/null +++ b/sdk/nodejs/hdinsight/v20230601preview/getCluster.ts @@ -0,0 +1,111 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets a HDInsight cluster. + */ +export function getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:hdinsight/v20230601preview:getCluster", { + "clusterName": args.clusterName, + "clusterPoolName": args.clusterPoolName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetClusterArgs { + /** + * The name of the HDInsight cluster. + */ + clusterName: string; + /** + * The name of the cluster pool. + */ + clusterPoolName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * The cluster. + */ +export interface GetClusterResult { + /** + * Cluster profile. + */ + readonly clusterProfile: outputs.hdinsight.v20230601preview.ClusterProfileResponse; + /** + * The type of cluster. + */ + readonly clusterType: string; + /** + * The compute profile. + */ + readonly computeProfile: outputs.hdinsight.v20230601preview.ComputeProfileResponse; + /** + * A unique id generated by the RP to identify the resource. + */ + readonly deploymentId: string; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + */ + readonly id: string; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * Provisioning state of the resource. + */ + readonly provisioningState: string; + /** + * Business status of the resource. + */ + readonly status: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.hdinsight.v20230601preview.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Gets a HDInsight cluster. + */ +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCluster(a, opts)) +} + +export interface GetClusterOutputArgs { + /** + * The name of the HDInsight cluster. + */ + clusterName: pulumi.Input; + /** + * The name of the cluster pool. + */ + clusterPoolName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/hdinsight/v20230601preview/getClusterPool.ts b/sdk/nodejs/hdinsight/v20230601preview/getClusterPool.ts new file mode 100644 index 000000000000..0f929ab701e2 --- /dev/null +++ b/sdk/nodejs/hdinsight/v20230601preview/getClusterPool.ts @@ -0,0 +1,118 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets a cluster pool. + */ +export function getClusterPool(args: GetClusterPoolArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:hdinsight/v20230601preview:getClusterPool", { + "clusterPoolName": args.clusterPoolName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetClusterPoolArgs { + /** + * The name of the cluster pool. + */ + clusterPoolName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * Cluster pool. + */ +export interface GetClusterPoolResult { + /** + * Properties of underlying AKS cluster. + */ + readonly aksClusterProfile: outputs.hdinsight.v20230601preview.ClusterPoolResourcePropertiesResponseAksClusterProfile; + /** + * A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region} + */ + readonly aksManagedResourceGroupName: string; + /** + * CLuster pool profile. + */ + readonly clusterPoolProfile?: outputs.hdinsight.v20230601preview.ClusterPoolResourcePropertiesResponseClusterPoolProfile; + /** + * CLuster pool compute profile. + */ + readonly computeProfile: outputs.hdinsight.v20230601preview.ClusterPoolResourcePropertiesResponseComputeProfile; + /** + * A unique id generated by the RP to identify the resource. + */ + readonly deploymentId: string; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + */ + readonly id: string; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * Cluster pool log analytics profile to enable OMS agent for AKS cluster. + */ + readonly logAnalyticsProfile?: outputs.hdinsight.v20230601preview.ClusterPoolResourcePropertiesResponseLogAnalyticsProfile; + /** + * A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + */ + readonly managedResourceGroupName?: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * Cluster pool network profile. + */ + readonly networkProfile?: outputs.hdinsight.v20230601preview.ClusterPoolResourcePropertiesResponseNetworkProfile; + /** + * Provisioning state of the resource. + */ + readonly provisioningState: string; + /** + * Business status of the resource. + */ + readonly status: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.hdinsight.v20230601preview.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Gets a cluster pool. + */ +export function getClusterPoolOutput(args: GetClusterPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getClusterPool(a, opts)) +} + +export interface GetClusterPoolOutputArgs { + /** + * The name of the cluster pool. + */ + clusterPoolName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/hdinsight/v20230601preview/index.ts b/sdk/nodejs/hdinsight/v20230601preview/index.ts new file mode 100644 index 000000000000..eaa16967682e --- /dev/null +++ b/sdk/nodejs/hdinsight/v20230601preview/index.ts @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { ClusterArgs } from "./cluster"; +export type Cluster = import("./cluster").Cluster; +export const Cluster: typeof import("./cluster").Cluster = null as any; +utilities.lazyLoad(exports, ["Cluster"], () => require("./cluster")); + +export { ClusterPoolArgs } from "./clusterPool"; +export type ClusterPool = import("./clusterPool").ClusterPool; +export const ClusterPool: typeof import("./clusterPool").ClusterPool = null as any; +utilities.lazyLoad(exports, ["ClusterPool"], () => require("./clusterPool")); + +export { GetClusterArgs, GetClusterResult, GetClusterOutputArgs } from "./getCluster"; +export const getCluster: typeof import("./getCluster").getCluster = null as any; +export const getClusterOutput: typeof import("./getCluster").getClusterOutput = null as any; +utilities.lazyLoad(exports, ["getCluster","getClusterOutput"], () => require("./getCluster")); + +export { GetClusterPoolArgs, GetClusterPoolResult, GetClusterPoolOutputArgs } from "./getClusterPool"; +export const getClusterPool: typeof import("./getClusterPool").getClusterPool = null as any; +export const getClusterPoolOutput: typeof import("./getClusterPool").getClusterPoolOutput = null as any; +utilities.lazyLoad(exports, ["getClusterPool","getClusterPoolOutput"], () => require("./getClusterPool")); + + +// Export enums: +export * from "../../types/enums/hdinsight/v20230601preview"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:hdinsight/v20230601preview:Cluster": + return new Cluster(name, undefined, { urn }) + case "azure-native:hdinsight/v20230601preview:ClusterPool": + return new ClusterPool(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "hdinsight/v20230601preview", _module) diff --git a/sdk/nodejs/hybridcompute/getMachineRunCommand.ts b/sdk/nodejs/hybridcompute/getMachineRunCommand.ts deleted file mode 100644 index 24be5ba02a52..000000000000 --- a/sdk/nodejs/hybridcompute/getMachineRunCommand.ts +++ /dev/null @@ -1,141 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../types/input"; -import * as outputs from "../types/output"; -import * as enums from "../types/enums"; -import * as utilities from "../utilities"; - -/** - * The operation to get a run command. - * Azure REST API version: 2023-04-25-preview. - */ -export function getMachineRunCommand(args: GetMachineRunCommandArgs, opts?: pulumi.InvokeOptions): Promise { - - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("azure-native:hybridcompute:getMachineRunCommand", { - "machineName": args.machineName, - "resourceGroupName": args.resourceGroupName, - "runCommandName": args.runCommandName, - }, opts); -} - -export interface GetMachineRunCommandArgs { - /** - * The name of the hybrid machine. - */ - machineName: string; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: string; - /** - * The name of the run command. - */ - runCommandName: string; -} - -/** - * Describes a Run Command - */ -export interface GetMachineRunCommandResult { - /** - * Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - */ - readonly asyncExecution?: boolean; - /** - * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - */ - readonly errorBlobManagedIdentity?: outputs.hybridcompute.RunCommandManagedIdentityResponse; - /** - * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - */ - readonly errorBlobUri?: string; - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - */ - readonly id: string; - /** - * The machine run command instance view. - */ - readonly instanceView: outputs.hybridcompute.MachineRunCommandInstanceViewResponse; - /** - * The geo-location where the resource lives - */ - readonly location: string; - /** - * The name of the resource - */ - readonly name: string; - /** - * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - */ - readonly outputBlobManagedIdentity?: outputs.hybridcompute.RunCommandManagedIdentityResponse; - /** - * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - */ - readonly outputBlobUri?: string; - /** - * The parameters used by the script. - */ - readonly parameters?: outputs.hybridcompute.RunCommandInputParameterResponse[]; - /** - * The parameters used by the script. - */ - readonly protectedParameters?: outputs.hybridcompute.RunCommandInputParameterResponse[]; - /** - * The provisioning state, which only appears in the response. - */ - readonly provisioningState: string; - /** - * Specifies the user account password on the machine when executing the run command. - */ - readonly runAsPassword?: string; - /** - * Specifies the user account on the machine when executing the run command. - */ - readonly runAsUser?: string; - /** - * The source of the run command script. - */ - readonly source?: outputs.hybridcompute.MachineRunCommandScriptSourceResponse; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - readonly systemData: outputs.hybridcompute.SystemDataResponse; - /** - * Resource tags. - */ - readonly tags?: {[key: string]: string}; - /** - * The timeout in seconds to execute the run command. - */ - readonly timeoutInSeconds?: number; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - readonly type: string; -} -/** - * The operation to get a run command. - * Azure REST API version: 2023-04-25-preview. - */ -export function getMachineRunCommandOutput(args: GetMachineRunCommandOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply((a: any) => getMachineRunCommand(a, opts)) -} - -export interface GetMachineRunCommandOutputArgs { - /** - * The name of the hybrid machine. - */ - machineName: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * The name of the run command. - */ - runCommandName: pulumi.Input; -} diff --git a/sdk/nodejs/hybridcompute/index.ts b/sdk/nodejs/hybridcompute/index.ts index 79bd0197814d..f973ff9e5a5f 100644 --- a/sdk/nodejs/hybridcompute/index.ts +++ b/sdk/nodejs/hybridcompute/index.ts @@ -15,11 +15,6 @@ export const getMachineExtension: typeof import("./getMachineExtension").getMach export const getMachineExtensionOutput: typeof import("./getMachineExtension").getMachineExtensionOutput = null as any; utilities.lazyLoad(exports, ["getMachineExtension","getMachineExtensionOutput"], () => require("./getMachineExtension")); -export { GetMachineRunCommandArgs, GetMachineRunCommandResult, GetMachineRunCommandOutputArgs } from "./getMachineRunCommand"; -export const getMachineRunCommand: typeof import("./getMachineRunCommand").getMachineRunCommand = null as any; -export const getMachineRunCommandOutput: typeof import("./getMachineRunCommand").getMachineRunCommandOutput = null as any; -utilities.lazyLoad(exports, ["getMachineRunCommand","getMachineRunCommandOutput"], () => require("./getMachineRunCommand")); - export { GetPrivateEndpointConnectionArgs, GetPrivateEndpointConnectionResult, GetPrivateEndpointConnectionOutputArgs } from "./getPrivateEndpointConnection"; export const getPrivateEndpointConnection: typeof import("./getPrivateEndpointConnection").getPrivateEndpointConnection = null as any; export const getPrivateEndpointConnectionOutput: typeof import("./getPrivateEndpointConnection").getPrivateEndpointConnectionOutput = null as any; @@ -45,11 +40,6 @@ export type MachineExtension = import("./machineExtension").MachineExtension; export const MachineExtension: typeof import("./machineExtension").MachineExtension = null as any; utilities.lazyLoad(exports, ["MachineExtension"], () => require("./machineExtension")); -export { MachineRunCommandArgs } from "./machineRunCommand"; -export type MachineRunCommand = import("./machineRunCommand").MachineRunCommand; -export const MachineRunCommand: typeof import("./machineRunCommand").MachineRunCommand = null as any; -utilities.lazyLoad(exports, ["MachineRunCommand"], () => require("./machineRunCommand")); - export { PrivateEndpointConnectionArgs } from "./privateEndpointConnection"; export type PrivateEndpointConnection = import("./privateEndpointConnection").PrivateEndpointConnection; export const PrivateEndpointConnection: typeof import("./privateEndpointConnection").PrivateEndpointConnection = null as any; @@ -74,14 +64,12 @@ import * as v20200802 from "./v20200802"; import * as v20200815preview from "./v20200815preview"; import * as v20220510preview from "./v20220510preview"; import * as v20221227 from "./v20221227"; -import * as v20230425preview from "./v20230425preview"; export { v20200802, v20200815preview, v20220510preview, v20221227, - v20230425preview, }; const _module = { @@ -92,8 +80,6 @@ const _module = { return new Machine(name, undefined, { urn }) case "azure-native:hybridcompute:MachineExtension": return new MachineExtension(name, undefined, { urn }) - case "azure-native:hybridcompute:MachineRunCommand": - return new MachineRunCommand(name, undefined, { urn }) case "azure-native:hybridcompute:PrivateEndpointConnection": return new PrivateEndpointConnection(name, undefined, { urn }) case "azure-native:hybridcompute:PrivateLinkScope": diff --git a/sdk/nodejs/hybridcompute/machine.ts b/sdk/nodejs/hybridcompute/machine.ts index e9cfd7183b65..5d32f00db112 100644 --- a/sdk/nodejs/hybridcompute/machine.ts +++ b/sdk/nodejs/hybridcompute/machine.ts @@ -268,7 +268,7 @@ export class Machine extends pulumi.CustomResource { resourceInputs["vmUuid"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute/v20190318preview:Machine" }, { type: "azure-native:hybridcompute/v20190802preview:Machine" }, { type: "azure-native:hybridcompute/v20191212:Machine" }, { type: "azure-native:hybridcompute/v20200730preview:Machine" }, { type: "azure-native:hybridcompute/v20200802:Machine" }, { type: "azure-native:hybridcompute/v20200815preview:Machine" }, { type: "azure-native:hybridcompute/v20210128preview:Machine" }, { type: "azure-native:hybridcompute/v20210325preview:Machine" }, { type: "azure-native:hybridcompute/v20210422preview:Machine" }, { type: "azure-native:hybridcompute/v20210517preview:Machine" }, { type: "azure-native:hybridcompute/v20210520:Machine" }, { type: "azure-native:hybridcompute/v20210610preview:Machine" }, { type: "azure-native:hybridcompute/v20211210preview:Machine" }, { type: "azure-native:hybridcompute/v20220310:Machine" }, { type: "azure-native:hybridcompute/v20220510preview:Machine" }, { type: "azure-native:hybridcompute/v20220811preview:Machine" }, { type: "azure-native:hybridcompute/v20221110:Machine" }, { type: "azure-native:hybridcompute/v20221227:Machine" }, { type: "azure-native:hybridcompute/v20221227preview:Machine" }, { type: "azure-native:hybridcompute/v20230315preview:Machine" }, { type: "azure-native:hybridcompute/v20230425preview:Machine" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute/v20190318preview:Machine" }, { type: "azure-native:hybridcompute/v20190802preview:Machine" }, { type: "azure-native:hybridcompute/v20191212:Machine" }, { type: "azure-native:hybridcompute/v20200730preview:Machine" }, { type: "azure-native:hybridcompute/v20200802:Machine" }, { type: "azure-native:hybridcompute/v20200815preview:Machine" }, { type: "azure-native:hybridcompute/v20210128preview:Machine" }, { type: "azure-native:hybridcompute/v20210325preview:Machine" }, { type: "azure-native:hybridcompute/v20210422preview:Machine" }, { type: "azure-native:hybridcompute/v20210517preview:Machine" }, { type: "azure-native:hybridcompute/v20210520:Machine" }, { type: "azure-native:hybridcompute/v20210610preview:Machine" }, { type: "azure-native:hybridcompute/v20211210preview:Machine" }, { type: "azure-native:hybridcompute/v20220310:Machine" }, { type: "azure-native:hybridcompute/v20220510preview:Machine" }, { type: "azure-native:hybridcompute/v20220811preview:Machine" }, { type: "azure-native:hybridcompute/v20221110:Machine" }, { type: "azure-native:hybridcompute/v20221227:Machine" }, { type: "azure-native:hybridcompute/v20221227preview:Machine" }, { type: "azure-native:hybridcompute/v20230315preview:Machine" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Machine.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/machineExtension.ts b/sdk/nodejs/hybridcompute/machineExtension.ts index 9f7315535bf0..fa02f474d1be 100644 --- a/sdk/nodejs/hybridcompute/machineExtension.ts +++ b/sdk/nodejs/hybridcompute/machineExtension.ts @@ -146,7 +146,7 @@ export class MachineExtension extends pulumi.CustomResource { resourceInputs["typeHandlerVersion"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute/v20190802preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20191212:MachineExtension" }, { type: "azure-native:hybridcompute/v20200730preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20200802:MachineExtension" }, { type: "azure-native:hybridcompute/v20200815preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210128preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210325preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210422preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210517preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210520:MachineExtension" }, { type: "azure-native:hybridcompute/v20210610preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20211210preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220310:MachineExtension" }, { type: "azure-native:hybridcompute/v20220510preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220811preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20221110:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230315preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230425preview:MachineExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute/v20190802preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20191212:MachineExtension" }, { type: "azure-native:hybridcompute/v20200730preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20200802:MachineExtension" }, { type: "azure-native:hybridcompute/v20200815preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210128preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210325preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210422preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210517preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210520:MachineExtension" }, { type: "azure-native:hybridcompute/v20210610preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20211210preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220310:MachineExtension" }, { type: "azure-native:hybridcompute/v20220510preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220811preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20221110:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230315preview:MachineExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(MachineExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/machineRunCommand.ts b/sdk/nodejs/hybridcompute/machineRunCommand.ts deleted file mode 100644 index 5c35552640d5..000000000000 --- a/sdk/nodejs/hybridcompute/machineRunCommand.ts +++ /dev/null @@ -1,247 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../types/input"; -import * as outputs from "../types/output"; -import * as enums from "../types/enums"; -import * as utilities from "../utilities"; - -/** - * Describes a Run Command - * Azure REST API version: 2023-04-25-preview. - */ -export class MachineRunCommand extends pulumi.CustomResource { - /** - * Get an existing MachineRunCommand 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. - */ - public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): MachineRunCommand { - return new MachineRunCommand(name, undefined as any, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'azure-native:hybridcompute:MachineRunCommand'; - - /** - * Returns true if the given object is an instance of MachineRunCommand. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is MachineRunCommand { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === MachineRunCommand.__pulumiType; - } - - /** - * Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - */ - public readonly asyncExecution!: pulumi.Output; - /** - * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - */ - public readonly errorBlobManagedIdentity!: pulumi.Output; - /** - * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - */ - public readonly errorBlobUri!: pulumi.Output; - /** - * The machine run command instance view. - */ - public /*out*/ readonly instanceView!: pulumi.Output; - /** - * The geo-location where the resource lives - */ - public readonly location!: pulumi.Output; - /** - * The name of the resource - */ - public /*out*/ readonly name!: pulumi.Output; - /** - * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - */ - public readonly outputBlobManagedIdentity!: pulumi.Output; - /** - * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - */ - public readonly outputBlobUri!: pulumi.Output; - /** - * The parameters used by the script. - */ - public readonly parameters!: pulumi.Output; - /** - * The parameters used by the script. - */ - public readonly protectedParameters!: pulumi.Output; - /** - * The provisioning state, which only appears in the response. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * Specifies the user account password on the machine when executing the run command. - */ - public readonly runAsPassword!: pulumi.Output; - /** - * Specifies the user account on the machine when executing the run command. - */ - public readonly runAsUser!: pulumi.Output; - /** - * The source of the run command script. - */ - public readonly source!: pulumi.Output; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - public /*out*/ readonly systemData!: pulumi.Output; - /** - * Resource tags. - */ - public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; - /** - * The timeout in seconds to execute the run command. - */ - public readonly timeoutInSeconds!: pulumi.Output; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - public /*out*/ readonly type!: pulumi.Output; - - /** - * Create a MachineRunCommand 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: MachineRunCommandArgs, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (!opts.id) { - if ((!args || args.machineName === undefined) && !opts.urn) { - throw new Error("Missing required property 'machineName'"); - } - if ((!args || args.resourceGroupName === undefined) && !opts.urn) { - throw new Error("Missing required property 'resourceGroupName'"); - } - resourceInputs["asyncExecution"] = (args ? args.asyncExecution : undefined) ?? false; - resourceInputs["errorBlobManagedIdentity"] = args ? args.errorBlobManagedIdentity : undefined; - resourceInputs["errorBlobUri"] = args ? args.errorBlobUri : undefined; - resourceInputs["location"] = args ? args.location : undefined; - resourceInputs["machineName"] = args ? args.machineName : undefined; - resourceInputs["outputBlobManagedIdentity"] = args ? args.outputBlobManagedIdentity : undefined; - resourceInputs["outputBlobUri"] = args ? args.outputBlobUri : undefined; - resourceInputs["parameters"] = args ? args.parameters : undefined; - resourceInputs["protectedParameters"] = args ? args.protectedParameters : undefined; - resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["runAsPassword"] = args ? args.runAsPassword : undefined; - resourceInputs["runAsUser"] = args ? args.runAsUser : undefined; - resourceInputs["runCommandName"] = args ? args.runCommandName : undefined; - resourceInputs["source"] = args ? args.source : undefined; - resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["timeoutInSeconds"] = args ? args.timeoutInSeconds : undefined; - resourceInputs["instanceView"] = undefined /*out*/; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - } else { - resourceInputs["asyncExecution"] = undefined /*out*/; - resourceInputs["errorBlobManagedIdentity"] = undefined /*out*/; - resourceInputs["errorBlobUri"] = undefined /*out*/; - resourceInputs["instanceView"] = undefined /*out*/; - resourceInputs["location"] = undefined /*out*/; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["outputBlobManagedIdentity"] = undefined /*out*/; - resourceInputs["outputBlobUri"] = undefined /*out*/; - resourceInputs["parameters"] = undefined /*out*/; - resourceInputs["protectedParameters"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["runAsPassword"] = undefined /*out*/; - resourceInputs["runAsUser"] = undefined /*out*/; - resourceInputs["source"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["tags"] = undefined /*out*/; - resourceInputs["timeoutInSeconds"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute/v20230425preview:MachineRunCommand" }] }; - opts = pulumi.mergeOptions(opts, aliasOpts); - super(MachineRunCommand.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * The set of arguments for constructing a MachineRunCommand resource. - */ -export interface MachineRunCommandArgs { - /** - * Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - */ - asyncExecution?: pulumi.Input; - /** - * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - */ - errorBlobManagedIdentity?: pulumi.Input; - /** - * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - */ - errorBlobUri?: pulumi.Input; - /** - * The geo-location where the resource lives - */ - location?: pulumi.Input; - /** - * The name of the hybrid machine. - */ - machineName: pulumi.Input; - /** - * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - */ - outputBlobManagedIdentity?: pulumi.Input; - /** - * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - */ - outputBlobUri?: pulumi.Input; - /** - * The parameters used by the script. - */ - parameters?: pulumi.Input[]>; - /** - * The parameters used by the script. - */ - protectedParameters?: pulumi.Input[]>; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * Specifies the user account password on the machine when executing the run command. - */ - runAsPassword?: pulumi.Input; - /** - * Specifies the user account on the machine when executing the run command. - */ - runAsUser?: pulumi.Input; - /** - * The name of the run command. - */ - runCommandName?: pulumi.Input; - /** - * The source of the run command script. - */ - source?: pulumi.Input; - /** - * Resource tags. - */ - tags?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * The timeout in seconds to execute the run command. - */ - timeoutInSeconds?: pulumi.Input; -} diff --git a/sdk/nodejs/hybridcompute/privateEndpointConnection.ts b/sdk/nodejs/hybridcompute/privateEndpointConnection.ts index 8b8c50ca480f..99932ea87a09 100644 --- a/sdk/nodejs/hybridcompute/privateEndpointConnection.ts +++ b/sdk/nodejs/hybridcompute/privateEndpointConnection.ts @@ -86,7 +86,7 @@ export class PrivateEndpointConnection extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute/v20200815preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210520:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220310:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221110:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221227:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute/v20200815preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210520:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220310:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221110:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221227:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/privateLinkScope.ts b/sdk/nodejs/hybridcompute/privateLinkScope.ts index f1cfee021b02..7cc991a21ead 100644 --- a/sdk/nodejs/hybridcompute/privateLinkScope.ts +++ b/sdk/nodejs/hybridcompute/privateLinkScope.ts @@ -94,7 +94,7 @@ export class PrivateLinkScope extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute/v20200815preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210520:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220310:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221110:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221227:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20230425preview:PrivateLinkScope" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute/v20200815preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210520:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220310:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221110:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221227:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateLinkScope" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateLinkScope.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/v20200802/machine.ts b/sdk/nodejs/hybridcompute/v20200802/machine.ts index e3a3c0e49f48..60656ec00dff 100644 --- a/sdk/nodejs/hybridcompute/v20200802/machine.ts +++ b/sdk/nodejs/hybridcompute/v20200802/machine.ts @@ -197,7 +197,7 @@ export class Machine extends pulumi.CustomResource { resourceInputs["vmUuid"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:Machine" }, { type: "azure-native:hybridcompute/v20190318preview:Machine" }, { type: "azure-native:hybridcompute/v20190802preview:Machine" }, { type: "azure-native:hybridcompute/v20191212:Machine" }, { type: "azure-native:hybridcompute/v20200730preview:Machine" }, { type: "azure-native:hybridcompute/v20200815preview:Machine" }, { type: "azure-native:hybridcompute/v20210128preview:Machine" }, { type: "azure-native:hybridcompute/v20210325preview:Machine" }, { type: "azure-native:hybridcompute/v20210422preview:Machine" }, { type: "azure-native:hybridcompute/v20210517preview:Machine" }, { type: "azure-native:hybridcompute/v20210520:Machine" }, { type: "azure-native:hybridcompute/v20210610preview:Machine" }, { type: "azure-native:hybridcompute/v20211210preview:Machine" }, { type: "azure-native:hybridcompute/v20220310:Machine" }, { type: "azure-native:hybridcompute/v20220510preview:Machine" }, { type: "azure-native:hybridcompute/v20220811preview:Machine" }, { type: "azure-native:hybridcompute/v20221110:Machine" }, { type: "azure-native:hybridcompute/v20221227:Machine" }, { type: "azure-native:hybridcompute/v20221227preview:Machine" }, { type: "azure-native:hybridcompute/v20230315preview:Machine" }, { type: "azure-native:hybridcompute/v20230425preview:Machine" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:Machine" }, { type: "azure-native:hybridcompute/v20190318preview:Machine" }, { type: "azure-native:hybridcompute/v20190802preview:Machine" }, { type: "azure-native:hybridcompute/v20191212:Machine" }, { type: "azure-native:hybridcompute/v20200730preview:Machine" }, { type: "azure-native:hybridcompute/v20200815preview:Machine" }, { type: "azure-native:hybridcompute/v20210128preview:Machine" }, { type: "azure-native:hybridcompute/v20210325preview:Machine" }, { type: "azure-native:hybridcompute/v20210422preview:Machine" }, { type: "azure-native:hybridcompute/v20210517preview:Machine" }, { type: "azure-native:hybridcompute/v20210520:Machine" }, { type: "azure-native:hybridcompute/v20210610preview:Machine" }, { type: "azure-native:hybridcompute/v20211210preview:Machine" }, { type: "azure-native:hybridcompute/v20220310:Machine" }, { type: "azure-native:hybridcompute/v20220510preview:Machine" }, { type: "azure-native:hybridcompute/v20220811preview:Machine" }, { type: "azure-native:hybridcompute/v20221110:Machine" }, { type: "azure-native:hybridcompute/v20221227:Machine" }, { type: "azure-native:hybridcompute/v20221227preview:Machine" }, { type: "azure-native:hybridcompute/v20230315preview:Machine" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Machine.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/v20200815preview/machine.ts b/sdk/nodejs/hybridcompute/v20200815preview/machine.ts index 35a157101510..7ac7785a1132 100644 --- a/sdk/nodejs/hybridcompute/v20200815preview/machine.ts +++ b/sdk/nodejs/hybridcompute/v20200815preview/machine.ts @@ -203,7 +203,7 @@ export class Machine extends pulumi.CustomResource { resourceInputs["vmUuid"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:Machine" }, { type: "azure-native:hybridcompute/v20190318preview:Machine" }, { type: "azure-native:hybridcompute/v20190802preview:Machine" }, { type: "azure-native:hybridcompute/v20191212:Machine" }, { type: "azure-native:hybridcompute/v20200730preview:Machine" }, { type: "azure-native:hybridcompute/v20200802:Machine" }, { type: "azure-native:hybridcompute/v20210128preview:Machine" }, { type: "azure-native:hybridcompute/v20210325preview:Machine" }, { type: "azure-native:hybridcompute/v20210422preview:Machine" }, { type: "azure-native:hybridcompute/v20210517preview:Machine" }, { type: "azure-native:hybridcompute/v20210520:Machine" }, { type: "azure-native:hybridcompute/v20210610preview:Machine" }, { type: "azure-native:hybridcompute/v20211210preview:Machine" }, { type: "azure-native:hybridcompute/v20220310:Machine" }, { type: "azure-native:hybridcompute/v20220510preview:Machine" }, { type: "azure-native:hybridcompute/v20220811preview:Machine" }, { type: "azure-native:hybridcompute/v20221110:Machine" }, { type: "azure-native:hybridcompute/v20221227:Machine" }, { type: "azure-native:hybridcompute/v20221227preview:Machine" }, { type: "azure-native:hybridcompute/v20230315preview:Machine" }, { type: "azure-native:hybridcompute/v20230425preview:Machine" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:Machine" }, { type: "azure-native:hybridcompute/v20190318preview:Machine" }, { type: "azure-native:hybridcompute/v20190802preview:Machine" }, { type: "azure-native:hybridcompute/v20191212:Machine" }, { type: "azure-native:hybridcompute/v20200730preview:Machine" }, { type: "azure-native:hybridcompute/v20200802:Machine" }, { type: "azure-native:hybridcompute/v20210128preview:Machine" }, { type: "azure-native:hybridcompute/v20210325preview:Machine" }, { type: "azure-native:hybridcompute/v20210422preview:Machine" }, { type: "azure-native:hybridcompute/v20210517preview:Machine" }, { type: "azure-native:hybridcompute/v20210520:Machine" }, { type: "azure-native:hybridcompute/v20210610preview:Machine" }, { type: "azure-native:hybridcompute/v20211210preview:Machine" }, { type: "azure-native:hybridcompute/v20220310:Machine" }, { type: "azure-native:hybridcompute/v20220510preview:Machine" }, { type: "azure-native:hybridcompute/v20220811preview:Machine" }, { type: "azure-native:hybridcompute/v20221110:Machine" }, { type: "azure-native:hybridcompute/v20221227:Machine" }, { type: "azure-native:hybridcompute/v20221227preview:Machine" }, { type: "azure-native:hybridcompute/v20230315preview:Machine" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Machine.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/v20200815preview/machineExtension.ts b/sdk/nodejs/hybridcompute/v20200815preview/machineExtension.ts index 82acb2623ec6..8b47e6c449b8 100644 --- a/sdk/nodejs/hybridcompute/v20200815preview/machineExtension.ts +++ b/sdk/nodejs/hybridcompute/v20200815preview/machineExtension.ts @@ -132,7 +132,7 @@ export class MachineExtension extends pulumi.CustomResource { resourceInputs["typeHandlerVersion"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:MachineExtension" }, { type: "azure-native:hybridcompute/v20190802preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20191212:MachineExtension" }, { type: "azure-native:hybridcompute/v20200730preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20200802:MachineExtension" }, { type: "azure-native:hybridcompute/v20210128preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210325preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210422preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210517preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210520:MachineExtension" }, { type: "azure-native:hybridcompute/v20210610preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20211210preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220310:MachineExtension" }, { type: "azure-native:hybridcompute/v20220510preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220811preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20221110:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230315preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230425preview:MachineExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:MachineExtension" }, { type: "azure-native:hybridcompute/v20190802preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20191212:MachineExtension" }, { type: "azure-native:hybridcompute/v20200730preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20200802:MachineExtension" }, { type: "azure-native:hybridcompute/v20210128preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210325preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210422preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210517preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210520:MachineExtension" }, { type: "azure-native:hybridcompute/v20210610preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20211210preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220310:MachineExtension" }, { type: "azure-native:hybridcompute/v20220510preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220811preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20221110:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230315preview:MachineExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(MachineExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/v20200815preview/privateEndpointConnection.ts b/sdk/nodejs/hybridcompute/v20200815preview/privateEndpointConnection.ts index 60c1f1560638..2d0cbb543d38 100644 --- a/sdk/nodejs/hybridcompute/v20200815preview/privateEndpointConnection.ts +++ b/sdk/nodejs/hybridcompute/v20200815preview/privateEndpointConnection.ts @@ -91,7 +91,7 @@ export class PrivateEndpointConnection extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210520:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220310:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221110:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221227:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210520:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220310:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221110:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221227:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/v20200815preview/privateLinkScope.ts b/sdk/nodejs/hybridcompute/v20200815preview/privateLinkScope.ts index d03756f3065a..8d01993a1713 100644 --- a/sdk/nodejs/hybridcompute/v20200815preview/privateLinkScope.ts +++ b/sdk/nodejs/hybridcompute/v20200815preview/privateLinkScope.ts @@ -99,7 +99,7 @@ export class PrivateLinkScope extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210520:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220310:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221110:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221227:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20230425preview:PrivateLinkScope" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210520:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220310:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221110:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221227:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateLinkScope" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateLinkScope.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/v20220510preview/machine.ts b/sdk/nodejs/hybridcompute/v20220510preview/machine.ts index e8ff1914eb93..aa34ae817079 100644 --- a/sdk/nodejs/hybridcompute/v20220510preview/machine.ts +++ b/sdk/nodejs/hybridcompute/v20220510preview/machine.ts @@ -105,7 +105,7 @@ export class Machine extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:Machine" }, { type: "azure-native:hybridcompute/v20190318preview:Machine" }, { type: "azure-native:hybridcompute/v20190802preview:Machine" }, { type: "azure-native:hybridcompute/v20191212:Machine" }, { type: "azure-native:hybridcompute/v20200730preview:Machine" }, { type: "azure-native:hybridcompute/v20200802:Machine" }, { type: "azure-native:hybridcompute/v20200815preview:Machine" }, { type: "azure-native:hybridcompute/v20210128preview:Machine" }, { type: "azure-native:hybridcompute/v20210325preview:Machine" }, { type: "azure-native:hybridcompute/v20210422preview:Machine" }, { type: "azure-native:hybridcompute/v20210517preview:Machine" }, { type: "azure-native:hybridcompute/v20210520:Machine" }, { type: "azure-native:hybridcompute/v20210610preview:Machine" }, { type: "azure-native:hybridcompute/v20211210preview:Machine" }, { type: "azure-native:hybridcompute/v20220310:Machine" }, { type: "azure-native:hybridcompute/v20220811preview:Machine" }, { type: "azure-native:hybridcompute/v20221110:Machine" }, { type: "azure-native:hybridcompute/v20221227:Machine" }, { type: "azure-native:hybridcompute/v20221227preview:Machine" }, { type: "azure-native:hybridcompute/v20230315preview:Machine" }, { type: "azure-native:hybridcompute/v20230425preview:Machine" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:Machine" }, { type: "azure-native:hybridcompute/v20190318preview:Machine" }, { type: "azure-native:hybridcompute/v20190802preview:Machine" }, { type: "azure-native:hybridcompute/v20191212:Machine" }, { type: "azure-native:hybridcompute/v20200730preview:Machine" }, { type: "azure-native:hybridcompute/v20200802:Machine" }, { type: "azure-native:hybridcompute/v20200815preview:Machine" }, { type: "azure-native:hybridcompute/v20210128preview:Machine" }, { type: "azure-native:hybridcompute/v20210325preview:Machine" }, { type: "azure-native:hybridcompute/v20210422preview:Machine" }, { type: "azure-native:hybridcompute/v20210517preview:Machine" }, { type: "azure-native:hybridcompute/v20210520:Machine" }, { type: "azure-native:hybridcompute/v20210610preview:Machine" }, { type: "azure-native:hybridcompute/v20211210preview:Machine" }, { type: "azure-native:hybridcompute/v20220310:Machine" }, { type: "azure-native:hybridcompute/v20220811preview:Machine" }, { type: "azure-native:hybridcompute/v20221110:Machine" }, { type: "azure-native:hybridcompute/v20221227:Machine" }, { type: "azure-native:hybridcompute/v20221227preview:Machine" }, { type: "azure-native:hybridcompute/v20230315preview:Machine" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Machine.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/v20220510preview/machineExtension.ts b/sdk/nodejs/hybridcompute/v20220510preview/machineExtension.ts index ce0119ae5511..97a522569c01 100644 --- a/sdk/nodejs/hybridcompute/v20220510preview/machineExtension.ts +++ b/sdk/nodejs/hybridcompute/v20220510preview/machineExtension.ts @@ -97,7 +97,7 @@ export class MachineExtension extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:MachineExtension" }, { type: "azure-native:hybridcompute/v20190802preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20191212:MachineExtension" }, { type: "azure-native:hybridcompute/v20200730preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20200802:MachineExtension" }, { type: "azure-native:hybridcompute/v20200815preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210128preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210325preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210422preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210517preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210520:MachineExtension" }, { type: "azure-native:hybridcompute/v20210610preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20211210preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220310:MachineExtension" }, { type: "azure-native:hybridcompute/v20220811preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20221110:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230315preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230425preview:MachineExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:MachineExtension" }, { type: "azure-native:hybridcompute/v20190802preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20191212:MachineExtension" }, { type: "azure-native:hybridcompute/v20200730preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20200802:MachineExtension" }, { type: "azure-native:hybridcompute/v20200815preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210128preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210325preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210422preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210517preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210520:MachineExtension" }, { type: "azure-native:hybridcompute/v20210610preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20211210preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220310:MachineExtension" }, { type: "azure-native:hybridcompute/v20220811preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20221110:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230315preview:MachineExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(MachineExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/v20221227/machine.ts b/sdk/nodejs/hybridcompute/v20221227/machine.ts index cdc5800337b0..821cd4289652 100644 --- a/sdk/nodejs/hybridcompute/v20221227/machine.ts +++ b/sdk/nodejs/hybridcompute/v20221227/machine.ts @@ -267,7 +267,7 @@ export class Machine extends pulumi.CustomResource { resourceInputs["vmUuid"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:Machine" }, { type: "azure-native:hybridcompute/v20190318preview:Machine" }, { type: "azure-native:hybridcompute/v20190802preview:Machine" }, { type: "azure-native:hybridcompute/v20191212:Machine" }, { type: "azure-native:hybridcompute/v20200730preview:Machine" }, { type: "azure-native:hybridcompute/v20200802:Machine" }, { type: "azure-native:hybridcompute/v20200815preview:Machine" }, { type: "azure-native:hybridcompute/v20210128preview:Machine" }, { type: "azure-native:hybridcompute/v20210325preview:Machine" }, { type: "azure-native:hybridcompute/v20210422preview:Machine" }, { type: "azure-native:hybridcompute/v20210517preview:Machine" }, { type: "azure-native:hybridcompute/v20210520:Machine" }, { type: "azure-native:hybridcompute/v20210610preview:Machine" }, { type: "azure-native:hybridcompute/v20211210preview:Machine" }, { type: "azure-native:hybridcompute/v20220310:Machine" }, { type: "azure-native:hybridcompute/v20220510preview:Machine" }, { type: "azure-native:hybridcompute/v20220811preview:Machine" }, { type: "azure-native:hybridcompute/v20221110:Machine" }, { type: "azure-native:hybridcompute/v20221227preview:Machine" }, { type: "azure-native:hybridcompute/v20230315preview:Machine" }, { type: "azure-native:hybridcompute/v20230425preview:Machine" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:Machine" }, { type: "azure-native:hybridcompute/v20190318preview:Machine" }, { type: "azure-native:hybridcompute/v20190802preview:Machine" }, { type: "azure-native:hybridcompute/v20191212:Machine" }, { type: "azure-native:hybridcompute/v20200730preview:Machine" }, { type: "azure-native:hybridcompute/v20200802:Machine" }, { type: "azure-native:hybridcompute/v20200815preview:Machine" }, { type: "azure-native:hybridcompute/v20210128preview:Machine" }, { type: "azure-native:hybridcompute/v20210325preview:Machine" }, { type: "azure-native:hybridcompute/v20210422preview:Machine" }, { type: "azure-native:hybridcompute/v20210517preview:Machine" }, { type: "azure-native:hybridcompute/v20210520:Machine" }, { type: "azure-native:hybridcompute/v20210610preview:Machine" }, { type: "azure-native:hybridcompute/v20211210preview:Machine" }, { type: "azure-native:hybridcompute/v20220310:Machine" }, { type: "azure-native:hybridcompute/v20220510preview:Machine" }, { type: "azure-native:hybridcompute/v20220811preview:Machine" }, { type: "azure-native:hybridcompute/v20221110:Machine" }, { type: "azure-native:hybridcompute/v20221227preview:Machine" }, { type: "azure-native:hybridcompute/v20230315preview:Machine" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Machine.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/v20221227/machineExtension.ts b/sdk/nodejs/hybridcompute/v20221227/machineExtension.ts index 0585c9ba6657..bce3a898ec3b 100644 --- a/sdk/nodejs/hybridcompute/v20221227/machineExtension.ts +++ b/sdk/nodejs/hybridcompute/v20221227/machineExtension.ts @@ -145,7 +145,7 @@ export class MachineExtension extends pulumi.CustomResource { resourceInputs["typeHandlerVersion"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:MachineExtension" }, { type: "azure-native:hybridcompute/v20190802preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20191212:MachineExtension" }, { type: "azure-native:hybridcompute/v20200730preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20200802:MachineExtension" }, { type: "azure-native:hybridcompute/v20200815preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210128preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210325preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210422preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210517preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210520:MachineExtension" }, { type: "azure-native:hybridcompute/v20210610preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20211210preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220310:MachineExtension" }, { type: "azure-native:hybridcompute/v20220510preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220811preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20221110:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230315preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230425preview:MachineExtension" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:MachineExtension" }, { type: "azure-native:hybridcompute/v20190802preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20191212:MachineExtension" }, { type: "azure-native:hybridcompute/v20200730preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20200802:MachineExtension" }, { type: "azure-native:hybridcompute/v20200815preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210128preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210325preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210422preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210517preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210520:MachineExtension" }, { type: "azure-native:hybridcompute/v20210610preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20211210preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220310:MachineExtension" }, { type: "azure-native:hybridcompute/v20220510preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220811preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20221110:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230315preview:MachineExtension" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(MachineExtension.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/v20221227/privateEndpointConnection.ts b/sdk/nodejs/hybridcompute/v20221227/privateEndpointConnection.ts index 8ac19e651e41..87c4c9731f66 100644 --- a/sdk/nodejs/hybridcompute/v20221227/privateEndpointConnection.ts +++ b/sdk/nodejs/hybridcompute/v20221227/privateEndpointConnection.ts @@ -85,7 +85,7 @@ export class PrivateEndpointConnection extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20200815preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210520:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220310:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221110:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20200815preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210520:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220310:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221110:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/v20221227/privateLinkScope.ts b/sdk/nodejs/hybridcompute/v20221227/privateLinkScope.ts index 044edffe6daf..7bba7f8fee2e 100644 --- a/sdk/nodejs/hybridcompute/v20221227/privateLinkScope.ts +++ b/sdk/nodejs/hybridcompute/v20221227/privateLinkScope.ts @@ -93,7 +93,7 @@ export class PrivateLinkScope extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20200815preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210520:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220310:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221110:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20230425preview:PrivateLinkScope" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20200815preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210520:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220310:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221110:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateLinkScope" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(PrivateLinkScope.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/hybridcompute/v20230425preview/getMachine.ts b/sdk/nodejs/hybridcompute/v20230425preview/getMachine.ts deleted file mode 100644 index c01eefe3f188..000000000000 --- a/sdk/nodejs/hybridcompute/v20230425preview/getMachine.ts +++ /dev/null @@ -1,215 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * Retrieves information about the model view or the instance view of a hybrid machine. - */ -export function getMachine(args: GetMachineArgs, opts?: pulumi.InvokeOptions): Promise { - - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("azure-native:hybridcompute/v20230425preview:getMachine", { - "expand": args.expand, - "machineName": args.machineName, - "resourceGroupName": args.resourceGroupName, - }, opts); -} - -export interface GetMachineArgs { - /** - * The expand expression to apply on the operation. - */ - expand?: string; - /** - * The name of the hybrid machine. - */ - machineName: string; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: string; -} - -/** - * Describes a hybrid machine. - */ -export interface GetMachineResult { - /** - * Specifies the AD fully qualified display name. - */ - readonly adFqdn: string; - /** - * Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. - */ - readonly agentConfiguration: outputs.hybridcompute.v20230425preview.AgentConfigurationResponse; - /** - * The info of the machine w.r.t Agent Upgrade - */ - readonly agentUpgrade?: outputs.hybridcompute.v20230425preview.AgentUpgradeResponse; - /** - * The hybrid machine agent full version. - */ - readonly agentVersion: string; - /** - * Public Key that the client provides to be used during initial resource onboarding - */ - readonly clientPublicKey?: string; - /** - * The metadata of the cloud environment (Azure/GCP/AWS/OCI...). - */ - readonly cloudMetadata?: outputs.hybridcompute.v20230425preview.CloudMetadataResponse; - /** - * Detected properties from the machine. - */ - readonly detectedProperties: {[key: string]: string}; - /** - * Specifies the hybrid machine display name. - */ - readonly displayName: string; - /** - * Specifies the DNS fully qualified display name. - */ - readonly dnsFqdn: string; - /** - * Specifies the Windows domain name. - */ - readonly domainName: string; - /** - * Details about the error state. - */ - readonly errorDetails: outputs.hybridcompute.v20230425preview.ErrorDetailResponse[]; - /** - * Machine Extensions information (deprecated field) - */ - readonly extensions?: outputs.hybridcompute.v20230425preview.MachineExtensionInstanceViewResponse[]; - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - */ - readonly id: string; - /** - * Identity for the resource. - */ - readonly identity?: outputs.hybridcompute.v20230425preview.IdentityResponse; - /** - * Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - */ - readonly kind?: string; - /** - * The time of the last status change. - */ - readonly lastStatusChange: string; - /** - * The geo-location where the resource lives - */ - readonly location: string; - /** - * Metadata pertaining to the geographic location of the resource. - */ - readonly locationData?: outputs.hybridcompute.v20230425preview.LocationDataResponse; - /** - * Specifies the hybrid machine FQDN. - */ - readonly machineFqdn: string; - /** - * Specifies whether any MS SQL instance is discovered on the machine. - */ - readonly mssqlDiscovered?: string; - /** - * The name of the resource - */ - readonly name: string; - /** - * Information about the network the machine is on. - */ - readonly networkProfile: outputs.hybridcompute.v20230425preview.NetworkProfileResponse; - /** - * The Operating System running on the hybrid machine. - */ - readonly osName: string; - /** - * Specifies the operating system settings for the hybrid machine. - */ - readonly osProfile?: outputs.hybridcompute.v20230425preview.OSProfileResponse; - /** - * Specifies the Operating System product SKU. - */ - readonly osSku: string; - /** - * The type of Operating System (windows/linux). - */ - readonly osType?: string; - /** - * The version of Operating System running on the hybrid machine. - */ - readonly osVersion: string; - /** - * The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - */ - readonly parentClusterResourceId?: string; - /** - * The resource id of the private link scope this machine is assigned to, if any. - */ - readonly privateLinkScopeResourceId?: string; - /** - * The provisioning state, which only appears in the response. - */ - readonly provisioningState: string; - /** - * The list of extensions affiliated to the machine - */ - readonly resources: outputs.hybridcompute.v20230425preview.MachineExtensionResponse[]; - /** - * Statuses of dependent services that are reported back to ARM. - */ - readonly serviceStatuses?: outputs.hybridcompute.v20230425preview.ServiceStatusesResponse; - /** - * The status of the hybrid machine agent. - */ - readonly status: string; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - readonly systemData: outputs.hybridcompute.v20230425preview.SystemDataResponse; - /** - * Resource tags. - */ - readonly tags?: {[key: string]: string}; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - readonly type: string; - /** - * Specifies the hybrid machine unique ID. - */ - readonly vmId?: string; - /** - * Specifies the Arc Machine's unique SMBIOS ID - */ - readonly vmUuid: string; -} -/** - * Retrieves information about the model view or the instance view of a hybrid machine. - */ -export function getMachineOutput(args: GetMachineOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply((a: any) => getMachine(a, opts)) -} - -export interface GetMachineOutputArgs { - /** - * The expand expression to apply on the operation. - */ - expand?: pulumi.Input; - /** - * The name of the hybrid machine. - */ - machineName: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; -} diff --git a/sdk/nodejs/hybridcompute/v20230425preview/getMachineExtension.ts b/sdk/nodejs/hybridcompute/v20230425preview/getMachineExtension.ts deleted file mode 100644 index f447731b43b2..000000000000 --- a/sdk/nodejs/hybridcompute/v20230425preview/getMachineExtension.ts +++ /dev/null @@ -1,123 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * The operation to get the extension. - */ -export function getMachineExtension(args: GetMachineExtensionArgs, opts?: pulumi.InvokeOptions): Promise { - - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("azure-native:hybridcompute/v20230425preview:getMachineExtension", { - "extensionName": args.extensionName, - "machineName": args.machineName, - "resourceGroupName": args.resourceGroupName, - }, opts); -} - -export interface GetMachineExtensionArgs { - /** - * The name of the machine extension. - */ - extensionName: string; - /** - * The name of the machine containing the extension. - */ - machineName: string; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: string; -} - -/** - * Describes a Machine Extension. - */ -export interface GetMachineExtensionResult { - /** - * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - */ - readonly autoUpgradeMinorVersion?: boolean; - /** - * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - */ - readonly enableAutomaticUpgrade?: boolean; - /** - * How the extension handler should be forced to update even if the extension configuration has not changed. - */ - readonly forceUpdateTag?: string; - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - */ - readonly id: string; - /** - * The machine extension instance view. - */ - readonly instanceView?: outputs.hybridcompute.v20230425preview.MachineExtensionInstanceViewResponse; - /** - * The geo-location where the resource lives - */ - readonly location: string; - /** - * The name of the resource - */ - readonly name: string; - /** - * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - */ - readonly protectedSettings?: any; - /** - * The provisioning state, which only appears in the response. - */ - readonly provisioningState: string; - /** - * The name of the extension handler publisher. - */ - readonly publisher?: string; - /** - * Json formatted public settings for the extension. - */ - readonly settings?: any; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - readonly systemData: outputs.hybridcompute.v20230425preview.SystemDataResponse; - /** - * Resource tags. - */ - readonly tags?: {[key: string]: string}; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - readonly type: string; - /** - * Specifies the version of the script handler. - */ - readonly typeHandlerVersion?: string; -} -/** - * The operation to get the extension. - */ -export function getMachineExtensionOutput(args: GetMachineExtensionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply((a: any) => getMachineExtension(a, opts)) -} - -export interface GetMachineExtensionOutputArgs { - /** - * The name of the machine extension. - */ - extensionName: pulumi.Input; - /** - * The name of the machine containing the extension. - */ - machineName: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; -} diff --git a/sdk/nodejs/hybridcompute/v20230425preview/getMachineRunCommand.ts b/sdk/nodejs/hybridcompute/v20230425preview/getMachineRunCommand.ts deleted file mode 100644 index 2de92b8aefeb..000000000000 --- a/sdk/nodejs/hybridcompute/v20230425preview/getMachineRunCommand.ts +++ /dev/null @@ -1,139 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * The operation to get a run command. - */ -export function getMachineRunCommand(args: GetMachineRunCommandArgs, opts?: pulumi.InvokeOptions): Promise { - - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("azure-native:hybridcompute/v20230425preview:getMachineRunCommand", { - "machineName": args.machineName, - "resourceGroupName": args.resourceGroupName, - "runCommandName": args.runCommandName, - }, opts); -} - -export interface GetMachineRunCommandArgs { - /** - * The name of the hybrid machine. - */ - machineName: string; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: string; - /** - * The name of the run command. - */ - runCommandName: string; -} - -/** - * Describes a Run Command - */ -export interface GetMachineRunCommandResult { - /** - * Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - */ - readonly asyncExecution?: boolean; - /** - * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - */ - readonly errorBlobManagedIdentity?: outputs.hybridcompute.v20230425preview.RunCommandManagedIdentityResponse; - /** - * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - */ - readonly errorBlobUri?: string; - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - */ - readonly id: string; - /** - * The machine run command instance view. - */ - readonly instanceView: outputs.hybridcompute.v20230425preview.MachineRunCommandInstanceViewResponse; - /** - * The geo-location where the resource lives - */ - readonly location: string; - /** - * The name of the resource - */ - readonly name: string; - /** - * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - */ - readonly outputBlobManagedIdentity?: outputs.hybridcompute.v20230425preview.RunCommandManagedIdentityResponse; - /** - * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - */ - readonly outputBlobUri?: string; - /** - * The parameters used by the script. - */ - readonly parameters?: outputs.hybridcompute.v20230425preview.RunCommandInputParameterResponse[]; - /** - * The parameters used by the script. - */ - readonly protectedParameters?: outputs.hybridcompute.v20230425preview.RunCommandInputParameterResponse[]; - /** - * The provisioning state, which only appears in the response. - */ - readonly provisioningState: string; - /** - * Specifies the user account password on the machine when executing the run command. - */ - readonly runAsPassword?: string; - /** - * Specifies the user account on the machine when executing the run command. - */ - readonly runAsUser?: string; - /** - * The source of the run command script. - */ - readonly source?: outputs.hybridcompute.v20230425preview.MachineRunCommandScriptSourceResponse; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - readonly systemData: outputs.hybridcompute.v20230425preview.SystemDataResponse; - /** - * Resource tags. - */ - readonly tags?: {[key: string]: string}; - /** - * The timeout in seconds to execute the run command. - */ - readonly timeoutInSeconds?: number; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - readonly type: string; -} -/** - * The operation to get a run command. - */ -export function getMachineRunCommandOutput(args: GetMachineRunCommandOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply((a: any) => getMachineRunCommand(a, opts)) -} - -export interface GetMachineRunCommandOutputArgs { - /** - * The name of the hybrid machine. - */ - machineName: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * The name of the run command. - */ - runCommandName: pulumi.Input; -} diff --git a/sdk/nodejs/hybridcompute/v20230425preview/getPrivateEndpointConnection.ts b/sdk/nodejs/hybridcompute/v20230425preview/getPrivateEndpointConnection.ts deleted file mode 100644 index b50d765df438..000000000000 --- a/sdk/nodejs/hybridcompute/v20230425preview/getPrivateEndpointConnection.ts +++ /dev/null @@ -1,83 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * Gets a private endpoint connection. - */ -export function getPrivateEndpointConnection(args: GetPrivateEndpointConnectionArgs, opts?: pulumi.InvokeOptions): Promise { - - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("azure-native:hybridcompute/v20230425preview:getPrivateEndpointConnection", { - "privateEndpointConnectionName": args.privateEndpointConnectionName, - "resourceGroupName": args.resourceGroupName, - "scopeName": args.scopeName, - }, opts); -} - -export interface GetPrivateEndpointConnectionArgs { - /** - * The name of the private endpoint connection. - */ - privateEndpointConnectionName: string; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: string; - /** - * The name of the Azure Arc PrivateLinkScope resource. - */ - scopeName: string; -} - -/** - * A private endpoint connection - */ -export interface GetPrivateEndpointConnectionResult { - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - */ - readonly id: string; - /** - * The name of the resource - */ - readonly name: string; - /** - * Resource properties. - */ - readonly properties: outputs.hybridcompute.v20230425preview.PrivateEndpointConnectionPropertiesResponse; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - readonly systemData: outputs.hybridcompute.v20230425preview.SystemDataResponse; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - readonly type: string; -} -/** - * Gets a private endpoint connection. - */ -export function getPrivateEndpointConnectionOutput(args: GetPrivateEndpointConnectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply((a: any) => getPrivateEndpointConnection(a, opts)) -} - -export interface GetPrivateEndpointConnectionOutputArgs { - /** - * The name of the private endpoint connection. - */ - privateEndpointConnectionName: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * The name of the Azure Arc PrivateLinkScope resource. - */ - scopeName: pulumi.Input; -} diff --git a/sdk/nodejs/hybridcompute/v20230425preview/getPrivateLinkScope.ts b/sdk/nodejs/hybridcompute/v20230425preview/getPrivateLinkScope.ts deleted file mode 100644 index 1cdaaa30ddbb..000000000000 --- a/sdk/nodejs/hybridcompute/v20230425preview/getPrivateLinkScope.ts +++ /dev/null @@ -1,82 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * Returns a Azure Arc PrivateLinkScope. - */ -export function getPrivateLinkScope(args: GetPrivateLinkScopeArgs, opts?: pulumi.InvokeOptions): Promise { - - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("azure-native:hybridcompute/v20230425preview:getPrivateLinkScope", { - "resourceGroupName": args.resourceGroupName, - "scopeName": args.scopeName, - }, opts); -} - -export interface GetPrivateLinkScopeArgs { - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: string; - /** - * The name of the Azure Arc PrivateLinkScope resource. - */ - scopeName: string; -} - -/** - * An Azure Arc PrivateLinkScope definition. - */ -export interface GetPrivateLinkScopeResult { - /** - * Azure resource Id - */ - readonly id: string; - /** - * Resource location - */ - readonly location: string; - /** - * Azure resource name - */ - readonly name: string; - /** - * Properties that define a Azure Arc PrivateLinkScope resource. - */ - readonly properties: outputs.hybridcompute.v20230425preview.HybridComputePrivateLinkScopePropertiesResponse; - /** - * The system meta data relating to this resource. - */ - readonly systemData: outputs.hybridcompute.v20230425preview.SystemDataResponse; - /** - * Resource tags - */ - readonly tags?: {[key: string]: string}; - /** - * Azure resource type - */ - readonly type: string; -} -/** - * Returns a Azure Arc PrivateLinkScope. - */ -export function getPrivateLinkScopeOutput(args: GetPrivateLinkScopeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - return pulumi.output(args).apply((a: any) => getPrivateLinkScope(a, opts)) -} - -export interface GetPrivateLinkScopeOutputArgs { - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * The name of the Azure Arc PrivateLinkScope resource. - */ - scopeName: pulumi.Input; -} diff --git a/sdk/nodejs/hybridcompute/v20230425preview/index.ts b/sdk/nodejs/hybridcompute/v20230425preview/index.ts deleted file mode 100644 index 86fae64462cc..000000000000 --- a/sdk/nodejs/hybridcompute/v20230425preview/index.ts +++ /dev/null @@ -1,81 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as utilities from "../../utilities"; - -// Export members: -export { GetMachineArgs, GetMachineResult, GetMachineOutputArgs } from "./getMachine"; -export const getMachine: typeof import("./getMachine").getMachine = null as any; -export const getMachineOutput: typeof import("./getMachine").getMachineOutput = null as any; -utilities.lazyLoad(exports, ["getMachine","getMachineOutput"], () => require("./getMachine")); - -export { GetMachineExtensionArgs, GetMachineExtensionResult, GetMachineExtensionOutputArgs } from "./getMachineExtension"; -export const getMachineExtension: typeof import("./getMachineExtension").getMachineExtension = null as any; -export const getMachineExtensionOutput: typeof import("./getMachineExtension").getMachineExtensionOutput = null as any; -utilities.lazyLoad(exports, ["getMachineExtension","getMachineExtensionOutput"], () => require("./getMachineExtension")); - -export { GetMachineRunCommandArgs, GetMachineRunCommandResult, GetMachineRunCommandOutputArgs } from "./getMachineRunCommand"; -export const getMachineRunCommand: typeof import("./getMachineRunCommand").getMachineRunCommand = null as any; -export const getMachineRunCommandOutput: typeof import("./getMachineRunCommand").getMachineRunCommandOutput = null as any; -utilities.lazyLoad(exports, ["getMachineRunCommand","getMachineRunCommandOutput"], () => require("./getMachineRunCommand")); - -export { GetPrivateEndpointConnectionArgs, GetPrivateEndpointConnectionResult, GetPrivateEndpointConnectionOutputArgs } from "./getPrivateEndpointConnection"; -export const getPrivateEndpointConnection: typeof import("./getPrivateEndpointConnection").getPrivateEndpointConnection = null as any; -export const getPrivateEndpointConnectionOutput: typeof import("./getPrivateEndpointConnection").getPrivateEndpointConnectionOutput = null as any; -utilities.lazyLoad(exports, ["getPrivateEndpointConnection","getPrivateEndpointConnectionOutput"], () => require("./getPrivateEndpointConnection")); - -export { GetPrivateLinkScopeArgs, GetPrivateLinkScopeResult, GetPrivateLinkScopeOutputArgs } from "./getPrivateLinkScope"; -export const getPrivateLinkScope: typeof import("./getPrivateLinkScope").getPrivateLinkScope = null as any; -export const getPrivateLinkScopeOutput: typeof import("./getPrivateLinkScope").getPrivateLinkScopeOutput = null as any; -utilities.lazyLoad(exports, ["getPrivateLinkScope","getPrivateLinkScopeOutput"], () => require("./getPrivateLinkScope")); - -export { MachineArgs } from "./machine"; -export type Machine = import("./machine").Machine; -export const Machine: typeof import("./machine").Machine = null as any; -utilities.lazyLoad(exports, ["Machine"], () => require("./machine")); - -export { MachineExtensionArgs } from "./machineExtension"; -export type MachineExtension = import("./machineExtension").MachineExtension; -export const MachineExtension: typeof import("./machineExtension").MachineExtension = null as any; -utilities.lazyLoad(exports, ["MachineExtension"], () => require("./machineExtension")); - -export { MachineRunCommandArgs } from "./machineRunCommand"; -export type MachineRunCommand = import("./machineRunCommand").MachineRunCommand; -export const MachineRunCommand: typeof import("./machineRunCommand").MachineRunCommand = null as any; -utilities.lazyLoad(exports, ["MachineRunCommand"], () => require("./machineRunCommand")); - -export { PrivateEndpointConnectionArgs } from "./privateEndpointConnection"; -export type PrivateEndpointConnection = import("./privateEndpointConnection").PrivateEndpointConnection; -export const PrivateEndpointConnection: typeof import("./privateEndpointConnection").PrivateEndpointConnection = null as any; -utilities.lazyLoad(exports, ["PrivateEndpointConnection"], () => require("./privateEndpointConnection")); - -export { PrivateLinkScopeArgs } from "./privateLinkScope"; -export type PrivateLinkScope = import("./privateLinkScope").PrivateLinkScope; -export const PrivateLinkScope: typeof import("./privateLinkScope").PrivateLinkScope = null as any; -utilities.lazyLoad(exports, ["PrivateLinkScope"], () => require("./privateLinkScope")); - - -// Export enums: -export * from "../../types/enums/hybridcompute/v20230425preview"; - -const _module = { - version: utilities.getVersion(), - construct: (name: string, type: string, urn: string): pulumi.Resource => { - switch (type) { - case "azure-native:hybridcompute/v20230425preview:Machine": - return new Machine(name, undefined, { urn }) - case "azure-native:hybridcompute/v20230425preview:MachineExtension": - return new MachineExtension(name, undefined, { urn }) - case "azure-native:hybridcompute/v20230425preview:MachineRunCommand": - return new MachineRunCommand(name, undefined, { urn }) - case "azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection": - return new PrivateEndpointConnection(name, undefined, { urn }) - case "azure-native:hybridcompute/v20230425preview:PrivateLinkScope": - return new PrivateLinkScope(name, undefined, { urn }) - default: - throw new Error(`unknown resource type ${type}`); - } - }, -}; -pulumi.runtime.registerResourceModule("azure-native", "hybridcompute/v20230425preview", _module) diff --git a/sdk/nodejs/hybridcompute/v20230425preview/machine.ts b/sdk/nodejs/hybridcompute/v20230425preview/machine.ts deleted file mode 100644 index a2393e31b0ed..000000000000 --- a/sdk/nodejs/hybridcompute/v20230425preview/machine.ts +++ /dev/null @@ -1,360 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * Describes a hybrid machine. - */ -export class Machine extends pulumi.CustomResource { - /** - * Get an existing Machine 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. - */ - public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Machine { - return new Machine(name, undefined as any, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'azure-native:hybridcompute/v20230425preview:Machine'; - - /** - * Returns true if the given object is an instance of Machine. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is Machine { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === Machine.__pulumiType; - } - - /** - * Specifies the AD fully qualified display name. - */ - public /*out*/ readonly adFqdn!: pulumi.Output; - /** - * Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. - */ - public /*out*/ readonly agentConfiguration!: pulumi.Output; - /** - * The info of the machine w.r.t Agent Upgrade - */ - public readonly agentUpgrade!: pulumi.Output; - /** - * The hybrid machine agent full version. - */ - public /*out*/ readonly agentVersion!: pulumi.Output; - /** - * Public Key that the client provides to be used during initial resource onboarding - */ - public readonly clientPublicKey!: pulumi.Output; - /** - * The metadata of the cloud environment (Azure/GCP/AWS/OCI...). - */ - public /*out*/ readonly cloudMetadata!: pulumi.Output; - /** - * Detected properties from the machine. - */ - public /*out*/ readonly detectedProperties!: pulumi.Output<{[key: string]: string}>; - /** - * Specifies the hybrid machine display name. - */ - public /*out*/ readonly displayName!: pulumi.Output; - /** - * Specifies the DNS fully qualified display name. - */ - public /*out*/ readonly dnsFqdn!: pulumi.Output; - /** - * Specifies the Windows domain name. - */ - public /*out*/ readonly domainName!: pulumi.Output; - /** - * Details about the error state. - */ - public /*out*/ readonly errorDetails!: pulumi.Output; - /** - * Machine Extensions information (deprecated field) - */ - public readonly extensions!: pulumi.Output; - /** - * Identity for the resource. - */ - public readonly identity!: pulumi.Output; - /** - * Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - */ - public readonly kind!: pulumi.Output; - /** - * The time of the last status change. - */ - public /*out*/ readonly lastStatusChange!: pulumi.Output; - /** - * The geo-location where the resource lives - */ - public readonly location!: pulumi.Output; - /** - * Metadata pertaining to the geographic location of the resource. - */ - public readonly locationData!: pulumi.Output; - /** - * Specifies the hybrid machine FQDN. - */ - public /*out*/ readonly machineFqdn!: pulumi.Output; - /** - * Specifies whether any MS SQL instance is discovered on the machine. - */ - public readonly mssqlDiscovered!: pulumi.Output; - /** - * The name of the resource - */ - public /*out*/ readonly name!: pulumi.Output; - /** - * Information about the network the machine is on. - */ - public /*out*/ readonly networkProfile!: pulumi.Output; - /** - * The Operating System running on the hybrid machine. - */ - public /*out*/ readonly osName!: pulumi.Output; - /** - * Specifies the operating system settings for the hybrid machine. - */ - public readonly osProfile!: pulumi.Output; - /** - * Specifies the Operating System product SKU. - */ - public /*out*/ readonly osSku!: pulumi.Output; - /** - * The type of Operating System (windows/linux). - */ - public readonly osType!: pulumi.Output; - /** - * The version of Operating System running on the hybrid machine. - */ - public /*out*/ readonly osVersion!: pulumi.Output; - /** - * The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - */ - public readonly parentClusterResourceId!: pulumi.Output; - /** - * The resource id of the private link scope this machine is assigned to, if any. - */ - public readonly privateLinkScopeResourceId!: pulumi.Output; - /** - * The provisioning state, which only appears in the response. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * The list of extensions affiliated to the machine - */ - public /*out*/ readonly resources!: pulumi.Output; - /** - * Statuses of dependent services that are reported back to ARM. - */ - public readonly serviceStatuses!: pulumi.Output; - /** - * The status of the hybrid machine agent. - */ - public /*out*/ readonly status!: pulumi.Output; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - public /*out*/ readonly systemData!: pulumi.Output; - /** - * Resource tags. - */ - public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - public /*out*/ readonly type!: pulumi.Output; - /** - * Specifies the hybrid machine unique ID. - */ - public readonly vmId!: pulumi.Output; - /** - * Specifies the Arc Machine's unique SMBIOS ID - */ - public /*out*/ readonly vmUuid!: pulumi.Output; - - /** - * Create a Machine 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: MachineArgs, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (!opts.id) { - if ((!args || args.resourceGroupName === undefined) && !opts.urn) { - throw new Error("Missing required property 'resourceGroupName'"); - } - resourceInputs["agentUpgrade"] = args ? args.agentUpgrade : undefined; - resourceInputs["clientPublicKey"] = args ? args.clientPublicKey : undefined; - resourceInputs["extensions"] = args ? args.extensions : undefined; - resourceInputs["identity"] = args ? args.identity : undefined; - resourceInputs["kind"] = args ? args.kind : undefined; - resourceInputs["location"] = args ? args.location : undefined; - resourceInputs["locationData"] = args ? args.locationData : undefined; - resourceInputs["machineName"] = args ? args.machineName : undefined; - resourceInputs["mssqlDiscovered"] = args ? args.mssqlDiscovered : undefined; - resourceInputs["osProfile"] = args ? args.osProfile : undefined; - resourceInputs["osType"] = args ? args.osType : undefined; - resourceInputs["parentClusterResourceId"] = args ? args.parentClusterResourceId : undefined; - resourceInputs["privateLinkScopeResourceId"] = args ? args.privateLinkScopeResourceId : undefined; - resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["serviceStatuses"] = args ? args.serviceStatuses : undefined; - resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["vmId"] = args ? args.vmId : undefined; - resourceInputs["adFqdn"] = undefined /*out*/; - resourceInputs["agentConfiguration"] = undefined /*out*/; - resourceInputs["agentVersion"] = undefined /*out*/; - resourceInputs["cloudMetadata"] = undefined /*out*/; - resourceInputs["detectedProperties"] = undefined /*out*/; - resourceInputs["displayName"] = undefined /*out*/; - resourceInputs["dnsFqdn"] = undefined /*out*/; - resourceInputs["domainName"] = undefined /*out*/; - resourceInputs["errorDetails"] = undefined /*out*/; - resourceInputs["lastStatusChange"] = undefined /*out*/; - resourceInputs["machineFqdn"] = undefined /*out*/; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["networkProfile"] = undefined /*out*/; - resourceInputs["osName"] = undefined /*out*/; - resourceInputs["osSku"] = undefined /*out*/; - resourceInputs["osVersion"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["resources"] = undefined /*out*/; - resourceInputs["status"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - resourceInputs["vmUuid"] = undefined /*out*/; - } else { - resourceInputs["adFqdn"] = undefined /*out*/; - resourceInputs["agentConfiguration"] = undefined /*out*/; - resourceInputs["agentUpgrade"] = undefined /*out*/; - resourceInputs["agentVersion"] = undefined /*out*/; - resourceInputs["clientPublicKey"] = undefined /*out*/; - resourceInputs["cloudMetadata"] = undefined /*out*/; - resourceInputs["detectedProperties"] = undefined /*out*/; - resourceInputs["displayName"] = undefined /*out*/; - resourceInputs["dnsFqdn"] = undefined /*out*/; - resourceInputs["domainName"] = undefined /*out*/; - resourceInputs["errorDetails"] = undefined /*out*/; - resourceInputs["extensions"] = undefined /*out*/; - resourceInputs["identity"] = undefined /*out*/; - resourceInputs["kind"] = undefined /*out*/; - resourceInputs["lastStatusChange"] = undefined /*out*/; - resourceInputs["location"] = undefined /*out*/; - resourceInputs["locationData"] = undefined /*out*/; - resourceInputs["machineFqdn"] = undefined /*out*/; - resourceInputs["mssqlDiscovered"] = undefined /*out*/; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["networkProfile"] = undefined /*out*/; - resourceInputs["osName"] = undefined /*out*/; - resourceInputs["osProfile"] = undefined /*out*/; - resourceInputs["osSku"] = undefined /*out*/; - resourceInputs["osType"] = undefined /*out*/; - resourceInputs["osVersion"] = undefined /*out*/; - resourceInputs["parentClusterResourceId"] = undefined /*out*/; - resourceInputs["privateLinkScopeResourceId"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["resources"] = undefined /*out*/; - resourceInputs["serviceStatuses"] = undefined /*out*/; - resourceInputs["status"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["tags"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - resourceInputs["vmId"] = undefined /*out*/; - resourceInputs["vmUuid"] = undefined /*out*/; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:Machine" }, { type: "azure-native:hybridcompute/v20190318preview:Machine" }, { type: "azure-native:hybridcompute/v20190802preview:Machine" }, { type: "azure-native:hybridcompute/v20191212:Machine" }, { type: "azure-native:hybridcompute/v20200730preview:Machine" }, { type: "azure-native:hybridcompute/v20200802:Machine" }, { type: "azure-native:hybridcompute/v20200815preview:Machine" }, { type: "azure-native:hybridcompute/v20210128preview:Machine" }, { type: "azure-native:hybridcompute/v20210325preview:Machine" }, { type: "azure-native:hybridcompute/v20210422preview:Machine" }, { type: "azure-native:hybridcompute/v20210517preview:Machine" }, { type: "azure-native:hybridcompute/v20210520:Machine" }, { type: "azure-native:hybridcompute/v20210610preview:Machine" }, { type: "azure-native:hybridcompute/v20211210preview:Machine" }, { type: "azure-native:hybridcompute/v20220310:Machine" }, { type: "azure-native:hybridcompute/v20220510preview:Machine" }, { type: "azure-native:hybridcompute/v20220811preview:Machine" }, { type: "azure-native:hybridcompute/v20221110:Machine" }, { type: "azure-native:hybridcompute/v20221227:Machine" }, { type: "azure-native:hybridcompute/v20221227preview:Machine" }, { type: "azure-native:hybridcompute/v20230315preview:Machine" }] }; - opts = pulumi.mergeOptions(opts, aliasOpts); - super(Machine.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * The set of arguments for constructing a Machine resource. - */ -export interface MachineArgs { - /** - * The info of the machine w.r.t Agent Upgrade - */ - agentUpgrade?: pulumi.Input; - /** - * Public Key that the client provides to be used during initial resource onboarding - */ - clientPublicKey?: pulumi.Input; - /** - * Machine Extensions information (deprecated field) - */ - extensions?: pulumi.Input[]>; - /** - * Identity for the resource. - */ - identity?: pulumi.Input; - /** - * Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - */ - kind?: pulumi.Input; - /** - * The geo-location where the resource lives - */ - location?: pulumi.Input; - /** - * Metadata pertaining to the geographic location of the resource. - */ - locationData?: pulumi.Input; - /** - * The name of the hybrid machine. - */ - machineName?: pulumi.Input; - /** - * Specifies whether any MS SQL instance is discovered on the machine. - */ - mssqlDiscovered?: pulumi.Input; - /** - * Specifies the operating system settings for the hybrid machine. - */ - osProfile?: pulumi.Input; - /** - * The type of Operating System (windows/linux). - */ - osType?: pulumi.Input; - /** - * The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - */ - parentClusterResourceId?: pulumi.Input; - /** - * The resource id of the private link scope this machine is assigned to, if any. - */ - privateLinkScopeResourceId?: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * Statuses of dependent services that are reported back to ARM. - */ - serviceStatuses?: pulumi.Input; - /** - * Resource tags. - */ - tags?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * Specifies the hybrid machine unique ID. - */ - vmId?: pulumi.Input; -} diff --git a/sdk/nodejs/hybridcompute/v20230425preview/machineExtension.ts b/sdk/nodejs/hybridcompute/v20230425preview/machineExtension.ts deleted file mode 100644 index 322439b58d05..000000000000 --- a/sdk/nodejs/hybridcompute/v20230425preview/machineExtension.ts +++ /dev/null @@ -1,214 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * Describes a Machine Extension. - */ -export class MachineExtension extends pulumi.CustomResource { - /** - * Get an existing MachineExtension 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. - */ - public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): MachineExtension { - return new MachineExtension(name, undefined as any, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'azure-native:hybridcompute/v20230425preview:MachineExtension'; - - /** - * Returns true if the given object is an instance of MachineExtension. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is MachineExtension { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === MachineExtension.__pulumiType; - } - - /** - * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - */ - public readonly autoUpgradeMinorVersion!: pulumi.Output; - /** - * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - */ - public readonly enableAutomaticUpgrade!: pulumi.Output; - /** - * How the extension handler should be forced to update even if the extension configuration has not changed. - */ - public readonly forceUpdateTag!: pulumi.Output; - /** - * The machine extension instance view. - */ - public readonly instanceView!: pulumi.Output; - /** - * The geo-location where the resource lives - */ - public readonly location!: pulumi.Output; - /** - * The name of the resource - */ - public /*out*/ readonly name!: pulumi.Output; - /** - * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - */ - public readonly protectedSettings!: pulumi.Output; - /** - * The provisioning state, which only appears in the response. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * The name of the extension handler publisher. - */ - public readonly publisher!: pulumi.Output; - /** - * Json formatted public settings for the extension. - */ - public readonly settings!: pulumi.Output; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - public /*out*/ readonly systemData!: pulumi.Output; - /** - * Resource tags. - */ - public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - public readonly type!: pulumi.Output; - /** - * Specifies the version of the script handler. - */ - public readonly typeHandlerVersion!: pulumi.Output; - - /** - * Create a MachineExtension 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: MachineExtensionArgs, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (!opts.id) { - if ((!args || args.machineName === undefined) && !opts.urn) { - throw new Error("Missing required property 'machineName'"); - } - if ((!args || args.resourceGroupName === undefined) && !opts.urn) { - throw new Error("Missing required property 'resourceGroupName'"); - } - resourceInputs["autoUpgradeMinorVersion"] = args ? args.autoUpgradeMinorVersion : undefined; - resourceInputs["enableAutomaticUpgrade"] = args ? args.enableAutomaticUpgrade : undefined; - resourceInputs["extensionName"] = args ? args.extensionName : undefined; - resourceInputs["forceUpdateTag"] = args ? args.forceUpdateTag : undefined; - resourceInputs["instanceView"] = args ? args.instanceView : undefined; - resourceInputs["location"] = args ? args.location : undefined; - resourceInputs["machineName"] = args ? args.machineName : undefined; - resourceInputs["protectedSettings"] = args ? args.protectedSettings : undefined; - resourceInputs["publisher"] = args ? args.publisher : undefined; - resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["settings"] = args ? args.settings : undefined; - resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["type"] = args ? args.type : undefined; - resourceInputs["typeHandlerVersion"] = args ? args.typeHandlerVersion : undefined; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - } else { - resourceInputs["autoUpgradeMinorVersion"] = undefined /*out*/; - resourceInputs["enableAutomaticUpgrade"] = undefined /*out*/; - resourceInputs["forceUpdateTag"] = undefined /*out*/; - resourceInputs["instanceView"] = undefined /*out*/; - resourceInputs["location"] = undefined /*out*/; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["protectedSettings"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["publisher"] = undefined /*out*/; - resourceInputs["settings"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["tags"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - resourceInputs["typeHandlerVersion"] = undefined /*out*/; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:MachineExtension" }, { type: "azure-native:hybridcompute/v20190802preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20191212:MachineExtension" }, { type: "azure-native:hybridcompute/v20200730preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20200802:MachineExtension" }, { type: "azure-native:hybridcompute/v20200815preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210128preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210325preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210422preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210517preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20210520:MachineExtension" }, { type: "azure-native:hybridcompute/v20210610preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20211210preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220310:MachineExtension" }, { type: "azure-native:hybridcompute/v20220510preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20220811preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20221110:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227:MachineExtension" }, { type: "azure-native:hybridcompute/v20221227preview:MachineExtension" }, { type: "azure-native:hybridcompute/v20230315preview:MachineExtension" }] }; - opts = pulumi.mergeOptions(opts, aliasOpts); - super(MachineExtension.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * The set of arguments for constructing a MachineExtension resource. - */ -export interface MachineExtensionArgs { - /** - * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - */ - autoUpgradeMinorVersion?: pulumi.Input; - /** - * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - */ - enableAutomaticUpgrade?: pulumi.Input; - /** - * The name of the machine extension. - */ - extensionName?: pulumi.Input; - /** - * How the extension handler should be forced to update even if the extension configuration has not changed. - */ - forceUpdateTag?: pulumi.Input; - /** - * The machine extension instance view. - */ - instanceView?: pulumi.Input; - /** - * The geo-location where the resource lives - */ - location?: pulumi.Input; - /** - * The name of the machine where the extension should be created or updated. - */ - machineName: pulumi.Input; - /** - * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - */ - protectedSettings?: any; - /** - * The name of the extension handler publisher. - */ - publisher?: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * Json formatted public settings for the extension. - */ - settings?: any; - /** - * Resource tags. - */ - tags?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * Specifies the type of the extension; an example is "CustomScriptExtension". - */ - type?: pulumi.Input; - /** - * Specifies the version of the script handler. - */ - typeHandlerVersion?: pulumi.Input; -} diff --git a/sdk/nodejs/hybridcompute/v20230425preview/machineRunCommand.ts b/sdk/nodejs/hybridcompute/v20230425preview/machineRunCommand.ts deleted file mode 100644 index 6290bf0f5e34..000000000000 --- a/sdk/nodejs/hybridcompute/v20230425preview/machineRunCommand.ts +++ /dev/null @@ -1,246 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * Describes a Run Command - */ -export class MachineRunCommand extends pulumi.CustomResource { - /** - * Get an existing MachineRunCommand 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. - */ - public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): MachineRunCommand { - return new MachineRunCommand(name, undefined as any, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'azure-native:hybridcompute/v20230425preview:MachineRunCommand'; - - /** - * Returns true if the given object is an instance of MachineRunCommand. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is MachineRunCommand { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === MachineRunCommand.__pulumiType; - } - - /** - * Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - */ - public readonly asyncExecution!: pulumi.Output; - /** - * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - */ - public readonly errorBlobManagedIdentity!: pulumi.Output; - /** - * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - */ - public readonly errorBlobUri!: pulumi.Output; - /** - * The machine run command instance view. - */ - public /*out*/ readonly instanceView!: pulumi.Output; - /** - * The geo-location where the resource lives - */ - public readonly location!: pulumi.Output; - /** - * The name of the resource - */ - public /*out*/ readonly name!: pulumi.Output; - /** - * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - */ - public readonly outputBlobManagedIdentity!: pulumi.Output; - /** - * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - */ - public readonly outputBlobUri!: pulumi.Output; - /** - * The parameters used by the script. - */ - public readonly parameters!: pulumi.Output; - /** - * The parameters used by the script. - */ - public readonly protectedParameters!: pulumi.Output; - /** - * The provisioning state, which only appears in the response. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * Specifies the user account password on the machine when executing the run command. - */ - public readonly runAsPassword!: pulumi.Output; - /** - * Specifies the user account on the machine when executing the run command. - */ - public readonly runAsUser!: pulumi.Output; - /** - * The source of the run command script. - */ - public readonly source!: pulumi.Output; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - public /*out*/ readonly systemData!: pulumi.Output; - /** - * Resource tags. - */ - public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; - /** - * The timeout in seconds to execute the run command. - */ - public readonly timeoutInSeconds!: pulumi.Output; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - public /*out*/ readonly type!: pulumi.Output; - - /** - * Create a MachineRunCommand 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: MachineRunCommandArgs, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (!opts.id) { - if ((!args || args.machineName === undefined) && !opts.urn) { - throw new Error("Missing required property 'machineName'"); - } - if ((!args || args.resourceGroupName === undefined) && !opts.urn) { - throw new Error("Missing required property 'resourceGroupName'"); - } - resourceInputs["asyncExecution"] = (args ? args.asyncExecution : undefined) ?? false; - resourceInputs["errorBlobManagedIdentity"] = args ? args.errorBlobManagedIdentity : undefined; - resourceInputs["errorBlobUri"] = args ? args.errorBlobUri : undefined; - resourceInputs["location"] = args ? args.location : undefined; - resourceInputs["machineName"] = args ? args.machineName : undefined; - resourceInputs["outputBlobManagedIdentity"] = args ? args.outputBlobManagedIdentity : undefined; - resourceInputs["outputBlobUri"] = args ? args.outputBlobUri : undefined; - resourceInputs["parameters"] = args ? args.parameters : undefined; - resourceInputs["protectedParameters"] = args ? args.protectedParameters : undefined; - resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["runAsPassword"] = args ? args.runAsPassword : undefined; - resourceInputs["runAsUser"] = args ? args.runAsUser : undefined; - resourceInputs["runCommandName"] = args ? args.runCommandName : undefined; - resourceInputs["source"] = args ? args.source : undefined; - resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["timeoutInSeconds"] = args ? args.timeoutInSeconds : undefined; - resourceInputs["instanceView"] = undefined /*out*/; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - } else { - resourceInputs["asyncExecution"] = undefined /*out*/; - resourceInputs["errorBlobManagedIdentity"] = undefined /*out*/; - resourceInputs["errorBlobUri"] = undefined /*out*/; - resourceInputs["instanceView"] = undefined /*out*/; - resourceInputs["location"] = undefined /*out*/; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["outputBlobManagedIdentity"] = undefined /*out*/; - resourceInputs["outputBlobUri"] = undefined /*out*/; - resourceInputs["parameters"] = undefined /*out*/; - resourceInputs["protectedParameters"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["runAsPassword"] = undefined /*out*/; - resourceInputs["runAsUser"] = undefined /*out*/; - resourceInputs["source"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["tags"] = undefined /*out*/; - resourceInputs["timeoutInSeconds"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:MachineRunCommand" }] }; - opts = pulumi.mergeOptions(opts, aliasOpts); - super(MachineRunCommand.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * The set of arguments for constructing a MachineRunCommand resource. - */ -export interface MachineRunCommandArgs { - /** - * Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - */ - asyncExecution?: pulumi.Input; - /** - * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - */ - errorBlobManagedIdentity?: pulumi.Input; - /** - * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - */ - errorBlobUri?: pulumi.Input; - /** - * The geo-location where the resource lives - */ - location?: pulumi.Input; - /** - * The name of the hybrid machine. - */ - machineName: pulumi.Input; - /** - * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - */ - outputBlobManagedIdentity?: pulumi.Input; - /** - * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - */ - outputBlobUri?: pulumi.Input; - /** - * The parameters used by the script. - */ - parameters?: pulumi.Input[]>; - /** - * The parameters used by the script. - */ - protectedParameters?: pulumi.Input[]>; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * Specifies the user account password on the machine when executing the run command. - */ - runAsPassword?: pulumi.Input; - /** - * Specifies the user account on the machine when executing the run command. - */ - runAsUser?: pulumi.Input; - /** - * The name of the run command. - */ - runCommandName?: pulumi.Input; - /** - * The source of the run command script. - */ - source?: pulumi.Input; - /** - * Resource tags. - */ - tags?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * The timeout in seconds to execute the run command. - */ - timeoutInSeconds?: pulumi.Input; -} diff --git a/sdk/nodejs/hybridcompute/v20230425preview/privateEndpointConnection.ts b/sdk/nodejs/hybridcompute/v20230425preview/privateEndpointConnection.ts deleted file mode 100644 index 41ed54d12b0b..000000000000 --- a/sdk/nodejs/hybridcompute/v20230425preview/privateEndpointConnection.ts +++ /dev/null @@ -1,114 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * A private endpoint connection - */ -export class PrivateEndpointConnection extends pulumi.CustomResource { - /** - * Get an existing PrivateEndpointConnection 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. - */ - public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): PrivateEndpointConnection { - return new PrivateEndpointConnection(name, undefined as any, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection'; - - /** - * Returns true if the given object is an instance of PrivateEndpointConnection. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is PrivateEndpointConnection { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === PrivateEndpointConnection.__pulumiType; - } - - /** - * The name of the resource - */ - public /*out*/ readonly name!: pulumi.Output; - /** - * Resource properties. - */ - public readonly properties!: pulumi.Output; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - public /*out*/ readonly systemData!: pulumi.Output; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - public /*out*/ readonly type!: pulumi.Output; - - /** - * Create a PrivateEndpointConnection 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: PrivateEndpointConnectionArgs, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (!opts.id) { - if ((!args || args.resourceGroupName === undefined) && !opts.urn) { - throw new Error("Missing required property 'resourceGroupName'"); - } - if ((!args || args.scopeName === undefined) && !opts.urn) { - throw new Error("Missing required property 'scopeName'"); - } - resourceInputs["privateEndpointConnectionName"] = args ? args.privateEndpointConnectionName : undefined; - resourceInputs["properties"] = args ? args.properties : undefined; - resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["scopeName"] = args ? args.scopeName : undefined; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - } else { - resourceInputs["name"] = undefined /*out*/; - resourceInputs["properties"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20200815preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210520:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220310:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221110:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221227:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection" }] }; - opts = pulumi.mergeOptions(opts, aliasOpts); - super(PrivateEndpointConnection.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * The set of arguments for constructing a PrivateEndpointConnection resource. - */ -export interface PrivateEndpointConnectionArgs { - /** - * The name of the private endpoint connection. - */ - privateEndpointConnectionName?: pulumi.Input; - /** - * Resource properties. - */ - properties?: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * The name of the Azure Arc PrivateLinkScope resource. - */ - scopeName: pulumi.Input; -} diff --git a/sdk/nodejs/hybridcompute/v20230425preview/privateLinkScope.ts b/sdk/nodejs/hybridcompute/v20230425preview/privateLinkScope.ts deleted file mode 100644 index 86efb4e72a09..000000000000 --- a/sdk/nodejs/hybridcompute/v20230425preview/privateLinkScope.ts +++ /dev/null @@ -1,126 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "../../types/input"; -import * as outputs from "../../types/output"; -import * as enums from "../../types/enums"; -import * as utilities from "../../utilities"; - -/** - * An Azure Arc PrivateLinkScope definition. - */ -export class PrivateLinkScope extends pulumi.CustomResource { - /** - * Get an existing PrivateLinkScope 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. - */ - public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): PrivateLinkScope { - return new PrivateLinkScope(name, undefined as any, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'azure-native:hybridcompute/v20230425preview:PrivateLinkScope'; - - /** - * Returns true if the given object is an instance of PrivateLinkScope. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is PrivateLinkScope { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === PrivateLinkScope.__pulumiType; - } - - /** - * Resource location - */ - public readonly location!: pulumi.Output; - /** - * Azure resource name - */ - public /*out*/ readonly name!: pulumi.Output; - /** - * Properties that define a Azure Arc PrivateLinkScope resource. - */ - public readonly properties!: pulumi.Output; - /** - * The system meta data relating to this resource. - */ - public /*out*/ readonly systemData!: pulumi.Output; - /** - * Resource tags - */ - public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; - /** - * Azure resource type - */ - public /*out*/ readonly type!: pulumi.Output; - - /** - * Create a PrivateLinkScope 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: PrivateLinkScopeArgs, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (!opts.id) { - if ((!args || args.resourceGroupName === undefined) && !opts.urn) { - throw new Error("Missing required property 'resourceGroupName'"); - } - resourceInputs["location"] = args ? args.location : undefined; - resourceInputs["properties"] = args ? args.properties : undefined; - resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["scopeName"] = args ? args.scopeName : undefined; - resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - } else { - resourceInputs["location"] = undefined /*out*/; - resourceInputs["name"] = undefined /*out*/; - resourceInputs["properties"] = undefined /*out*/; - resourceInputs["systemData"] = undefined /*out*/; - resourceInputs["tags"] = undefined /*out*/; - resourceInputs["type"] = undefined /*out*/; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:hybridcompute:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20200815preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210128preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210325preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210422preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210517preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210520:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20210610preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20211210preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220310:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220510preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20220811preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221110:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221227:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20221227preview:PrivateLinkScope" }, { type: "azure-native:hybridcompute/v20230315preview:PrivateLinkScope" }] }; - opts = pulumi.mergeOptions(opts, aliasOpts); - super(PrivateLinkScope.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * The set of arguments for constructing a PrivateLinkScope resource. - */ -export interface PrivateLinkScopeArgs { - /** - * Resource location - */ - location?: pulumi.Input; - /** - * Properties that define a Azure Arc PrivateLinkScope resource. - */ - properties?: pulumi.Input; - /** - * The name of the resource group. The name is case insensitive. - */ - resourceGroupName: pulumi.Input; - /** - * The name of the Azure Arc PrivateLinkScope resource. - */ - scopeName?: pulumi.Input; - /** - * Resource tags - */ - tags?: pulumi.Input<{[key: string]: pulumi.Input}>; -} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 2976c7f9ad37..73aa05799708 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -148,6 +148,7 @@ import * as media from "./media"; import * as migrate from "./migrate"; import * as mixedreality from "./mixedreality"; import * as mobilenetwork from "./mobilenetwork"; +import * as mobilepacketcore from "./mobilepacketcore"; import * as monitor from "./monitor"; import * as netapp from "./netapp"; import * as network from "./network"; @@ -201,6 +202,7 @@ import * as storagecache from "./storagecache"; import * as storagemover from "./storagemover"; import * as storagepool from "./storagepool"; import * as storagesync from "./storagesync"; +import * as storagetasks from "./storagetasks"; import * as storsimple from "./storsimple"; import * as streamanalytics from "./streamanalytics"; import * as subscription from "./subscription"; @@ -358,6 +360,7 @@ export { migrate, mixedreality, mobilenetwork, + mobilepacketcore, monitor, netapp, network, @@ -411,6 +414,7 @@ export { storagemover, storagepool, storagesync, + storagetasks, storsimple, streamanalytics, subscription, diff --git a/sdk/nodejs/managednetworkfabric/v20230615/accessControlList.ts b/sdk/nodejs/managednetworkfabric/v20230615/accessControlList.ts index 5ccdcfecfbf8..51d3a769d429 100644 --- a/sdk/nodejs/managednetworkfabric/v20230615/accessControlList.ts +++ b/sdk/nodejs/managednetworkfabric/v20230615/accessControlList.ts @@ -57,6 +57,10 @@ export class AccessControlList extends pulumi.CustomResource { * Input method to configure Access Control List. */ public readonly configurationType!: pulumi.Output; + /** + * Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + */ + public readonly defaultAction!: pulumi.Output; /** * List of dynamic match configurations. */ @@ -115,6 +119,7 @@ export class AccessControlList extends pulumi.CustomResource { resourceInputs["aclsUrl"] = args ? args.aclsUrl : undefined; resourceInputs["annotation"] = args ? args.annotation : undefined; resourceInputs["configurationType"] = args ? args.configurationType : undefined; + resourceInputs["defaultAction"] = (args ? args.defaultAction : undefined) ?? "Permit"; resourceInputs["dynamicMatchConfigurations"] = args ? args.dynamicMatchConfigurations : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["matchConfigurations"] = args ? args.matchConfigurations : undefined; @@ -133,6 +138,7 @@ export class AccessControlList extends pulumi.CustomResource { resourceInputs["annotation"] = undefined /*out*/; resourceInputs["configurationState"] = undefined /*out*/; resourceInputs["configurationType"] = undefined /*out*/; + resourceInputs["defaultAction"] = undefined /*out*/; resourceInputs["dynamicMatchConfigurations"] = undefined /*out*/; resourceInputs["lastSyncedTime"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; @@ -170,6 +176,10 @@ export interface AccessControlListArgs { * Input method to configure Access Control List. */ configurationType: pulumi.Input; + /** + * Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + */ + defaultAction?: pulumi.Input; /** * List of dynamic match configurations. */ diff --git a/sdk/nodejs/managednetworkfabric/v20230615/getAccessControlList.ts b/sdk/nodejs/managednetworkfabric/v20230615/getAccessControlList.ts index e6745323a288..513e480d9165 100644 --- a/sdk/nodejs/managednetworkfabric/v20230615/getAccessControlList.ts +++ b/sdk/nodejs/managednetworkfabric/v20230615/getAccessControlList.ts @@ -54,6 +54,10 @@ export interface GetAccessControlListResult { * Input method to configure Access Control List. */ readonly configurationType: string; + /** + * Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + */ + readonly defaultAction?: string; /** * List of dynamic match configurations. */ diff --git a/sdk/nodejs/managednetworkfabric/v20230615/getRoutePolicy.ts b/sdk/nodejs/managednetworkfabric/v20230615/getRoutePolicy.ts index 25419111e3ee..0decc9c8c1c4 100644 --- a/sdk/nodejs/managednetworkfabric/v20230615/getRoutePolicy.ts +++ b/sdk/nodejs/managednetworkfabric/v20230615/getRoutePolicy.ts @@ -50,6 +50,10 @@ export interface GetRoutePolicyResult { * Configuration state of the resource. */ readonly configurationState: string; + /** + * Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + */ + readonly defaultAction?: string; /** * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" */ diff --git a/sdk/nodejs/managednetworkfabric/v20230615/routePolicy.ts b/sdk/nodejs/managednetworkfabric/v20230615/routePolicy.ts index 1550f0f7fb6d..42ffb0cf1dc6 100644 --- a/sdk/nodejs/managednetworkfabric/v20230615/routePolicy.ts +++ b/sdk/nodejs/managednetworkfabric/v20230615/routePolicy.ts @@ -53,6 +53,10 @@ export class RoutePolicy extends pulumi.CustomResource { * Configuration state of the resource. */ public /*out*/ readonly configurationState!: pulumi.Output; + /** + * Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + */ + public readonly defaultAction!: pulumi.Output; /** * The geo-location where the resource lives */ @@ -108,6 +112,7 @@ export class RoutePolicy extends pulumi.CustomResource { } resourceInputs["addressFamilyType"] = (args ? args.addressFamilyType : undefined) ?? "IPv4"; resourceInputs["annotation"] = args ? args.annotation : undefined; + resourceInputs["defaultAction"] = (args ? args.defaultAction : undefined) ?? "Deny"; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["networkFabricId"] = args ? args.networkFabricId : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; @@ -125,6 +130,7 @@ export class RoutePolicy extends pulumi.CustomResource { resourceInputs["administrativeState"] = undefined /*out*/; resourceInputs["annotation"] = undefined /*out*/; resourceInputs["configurationState"] = undefined /*out*/; + resourceInputs["defaultAction"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["networkFabricId"] = undefined /*out*/; @@ -153,6 +159,10 @@ export interface RoutePolicyArgs { * Switch configuration description. */ annotation?: pulumi.Input; + /** + * Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + */ + defaultAction?: pulumi.Input; /** * The geo-location where the resource lives */ diff --git a/sdk/nodejs/maps/account.ts b/sdk/nodejs/maps/account.ts index b75b957f81d3..9933c804967e 100644 --- a/sdk/nodejs/maps/account.ts +++ b/sdk/nodejs/maps/account.ts @@ -109,7 +109,7 @@ export class Account extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:maps/v20170101preview:Account" }, { type: "azure-native:maps/v20180501:Account" }, { type: "azure-native:maps/v20200201preview:Account" }, { type: "azure-native:maps/v20210201:Account" }, { type: "azure-native:maps/v20210701preview:Account" }, { type: "azure-native:maps/v20211201preview:Account" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:maps/v20170101preview:Account" }, { type: "azure-native:maps/v20180501:Account" }, { type: "azure-native:maps/v20200201preview:Account" }, { type: "azure-native:maps/v20210201:Account" }, { type: "azure-native:maps/v20210701preview:Account" }, { type: "azure-native:maps/v20211201preview:Account" }, { type: "azure-native:maps/v20230601:Account" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Account.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/maps/creator.ts b/sdk/nodejs/maps/creator.ts index 1a0fb5ec92e3..d4eb36d5891a 100644 --- a/sdk/nodejs/maps/creator.ts +++ b/sdk/nodejs/maps/creator.ts @@ -95,7 +95,7 @@ export class Creator extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:maps/v20200201preview:Creator" }, { type: "azure-native:maps/v20210201:Creator" }, { type: "azure-native:maps/v20210701preview:Creator" }, { type: "azure-native:maps/v20211201preview:Creator" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:maps/v20200201preview:Creator" }, { type: "azure-native:maps/v20210201:Creator" }, { type: "azure-native:maps/v20210701preview:Creator" }, { type: "azure-native:maps/v20211201preview:Creator" }, { type: "azure-native:maps/v20230601:Creator" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Creator.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/maps/index.ts b/sdk/nodejs/maps/index.ts index b16261deb18b..d91a0258969d 100644 --- a/sdk/nodejs/maps/index.ts +++ b/sdk/nodejs/maps/index.ts @@ -54,12 +54,14 @@ import * as v20180501 from "./v20180501"; import * as v20200201preview from "./v20200201preview"; import * as v20210201 from "./v20210201"; import * as v20211201preview from "./v20211201preview"; +import * as v20230601 from "./v20230601"; export { v20180501, v20200201preview, v20210201, v20211201preview, + v20230601, }; const _module = { diff --git a/sdk/nodejs/maps/v20180501/account.ts b/sdk/nodejs/maps/v20180501/account.ts index 4a10c0be9934..1dac872a64eb 100644 --- a/sdk/nodejs/maps/v20180501/account.ts +++ b/sdk/nodejs/maps/v20180501/account.ts @@ -96,7 +96,7 @@ export class Account extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:maps:Account" }, { type: "azure-native:maps/v20170101preview:Account" }, { type: "azure-native:maps/v20200201preview:Account" }, { type: "azure-native:maps/v20210201:Account" }, { type: "azure-native:maps/v20210701preview:Account" }, { type: "azure-native:maps/v20211201preview:Account" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:maps:Account" }, { type: "azure-native:maps/v20170101preview:Account" }, { type: "azure-native:maps/v20200201preview:Account" }, { type: "azure-native:maps/v20210201:Account" }, { type: "azure-native:maps/v20210701preview:Account" }, { type: "azure-native:maps/v20211201preview:Account" }, { type: "azure-native:maps/v20230601:Account" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Account.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/maps/v20200201preview/creator.ts b/sdk/nodejs/maps/v20200201preview/creator.ts index 453da4368c86..3087bcbab95d 100644 --- a/sdk/nodejs/maps/v20200201preview/creator.ts +++ b/sdk/nodejs/maps/v20200201preview/creator.ts @@ -91,7 +91,7 @@ export class Creator extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:maps:Creator" }, { type: "azure-native:maps/v20210201:Creator" }, { type: "azure-native:maps/v20210701preview:Creator" }, { type: "azure-native:maps/v20211201preview:Creator" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:maps:Creator" }, { type: "azure-native:maps/v20210201:Creator" }, { type: "azure-native:maps/v20210701preview:Creator" }, { type: "azure-native:maps/v20211201preview:Creator" }, { type: "azure-native:maps/v20230601:Creator" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Creator.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/maps/v20210201/account.ts b/sdk/nodejs/maps/v20210201/account.ts index b74e511fa4b5..d345fb9d2814 100644 --- a/sdk/nodejs/maps/v20210201/account.ts +++ b/sdk/nodejs/maps/v20210201/account.ts @@ -108,7 +108,7 @@ export class Account extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:maps:Account" }, { type: "azure-native:maps/v20170101preview:Account" }, { type: "azure-native:maps/v20180501:Account" }, { type: "azure-native:maps/v20200201preview:Account" }, { type: "azure-native:maps/v20210701preview:Account" }, { type: "azure-native:maps/v20211201preview:Account" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:maps:Account" }, { type: "azure-native:maps/v20170101preview:Account" }, { type: "azure-native:maps/v20180501:Account" }, { type: "azure-native:maps/v20200201preview:Account" }, { type: "azure-native:maps/v20210701preview:Account" }, { type: "azure-native:maps/v20211201preview:Account" }, { type: "azure-native:maps/v20230601:Account" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Account.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/maps/v20210201/creator.ts b/sdk/nodejs/maps/v20210201/creator.ts index 7d4b420405bd..69ce5f094c3b 100644 --- a/sdk/nodejs/maps/v20210201/creator.ts +++ b/sdk/nodejs/maps/v20210201/creator.ts @@ -94,7 +94,7 @@ export class Creator extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:maps:Creator" }, { type: "azure-native:maps/v20200201preview:Creator" }, { type: "azure-native:maps/v20210701preview:Creator" }, { type: "azure-native:maps/v20211201preview:Creator" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:maps:Creator" }, { type: "azure-native:maps/v20200201preview:Creator" }, { type: "azure-native:maps/v20210701preview:Creator" }, { type: "azure-native:maps/v20211201preview:Creator" }, { type: "azure-native:maps/v20230601:Creator" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Creator.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/maps/v20211201preview/account.ts b/sdk/nodejs/maps/v20211201preview/account.ts index 24d5f8de14dd..70e206b03e53 100644 --- a/sdk/nodejs/maps/v20211201preview/account.ts +++ b/sdk/nodejs/maps/v20211201preview/account.ts @@ -114,7 +114,7 @@ export class Account extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:maps:Account" }, { type: "azure-native:maps/v20170101preview:Account" }, { type: "azure-native:maps/v20180501:Account" }, { type: "azure-native:maps/v20200201preview:Account" }, { type: "azure-native:maps/v20210201:Account" }, { type: "azure-native:maps/v20210701preview:Account" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:maps:Account" }, { type: "azure-native:maps/v20170101preview:Account" }, { type: "azure-native:maps/v20180501:Account" }, { type: "azure-native:maps/v20200201preview:Account" }, { type: "azure-native:maps/v20210201:Account" }, { type: "azure-native:maps/v20210701preview:Account" }, { type: "azure-native:maps/v20230601:Account" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Account.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/maps/v20211201preview/creator.ts b/sdk/nodejs/maps/v20211201preview/creator.ts index 6b20fbad28ea..98070b29e631 100644 --- a/sdk/nodejs/maps/v20211201preview/creator.ts +++ b/sdk/nodejs/maps/v20211201preview/creator.ts @@ -100,7 +100,7 @@ export class Creator extends pulumi.CustomResource { resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const aliasOpts = { aliases: [{ type: "azure-native:maps:Creator" }, { type: "azure-native:maps/v20200201preview:Creator" }, { type: "azure-native:maps/v20210201:Creator" }, { type: "azure-native:maps/v20210701preview:Creator" }] }; + const aliasOpts = { aliases: [{ type: "azure-native:maps:Creator" }, { type: "azure-native:maps/v20200201preview:Creator" }, { type: "azure-native:maps/v20210201:Creator" }, { type: "azure-native:maps/v20210701preview:Creator" }, { type: "azure-native:maps/v20230601:Creator" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Creator.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/maps/v20230601/account.ts b/sdk/nodejs/maps/v20230601/account.ts new file mode 100644 index 000000000000..bd07efea034e --- /dev/null +++ b/sdk/nodejs/maps/v20230601/account.ts @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * An Azure resource which represents access to a suite of Maps REST APIs. + */ +export class Account extends pulumi.CustomResource { + /** + * Get an existing Account 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Account { + return new Account(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:maps/v20230601:Account'; + + /** + * Returns true if the given object is an instance of Account. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Account { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Account.__pulumiType; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + public readonly identity!: pulumi.Output; + /** + * Get or Set Kind property. + */ + public readonly kind!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The map account properties. + */ + public readonly properties!: pulumi.Output; + /** + * The SKU of this account. + */ + public readonly sku!: pulumi.Output; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Account 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: AccountArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.sku === undefined) && !opts.urn) { + throw new Error("Missing required property 'sku'"); + } + resourceInputs["accountName"] = args ? args.accountName : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["kind"] = args ? args.kind : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["properties"] = args ? (args.properties ? pulumi.output(args.properties).apply(inputs.maps.v20230601.mapsAccountPropertiesArgsProvideDefaults) : undefined) : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["kind"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:maps:Account" }, { type: "azure-native:maps/v20170101preview:Account" }, { type: "azure-native:maps/v20180501:Account" }, { type: "azure-native:maps/v20200201preview:Account" }, { type: "azure-native:maps/v20210201:Account" }, { type: "azure-native:maps/v20210701preview:Account" }, { type: "azure-native:maps/v20211201preview:Account" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Account.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Account resource. + */ +export interface AccountArgs { + /** + * The name of the Maps Account. + */ + accountName?: pulumi.Input; + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + identity?: pulumi.Input; + /** + * Get or Set Kind property. + */ + kind?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * The map account properties. + */ + properties?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The SKU of this account. + */ + sku: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/maps/v20230601/creator.ts b/sdk/nodejs/maps/v20230601/creator.ts new file mode 100644 index 000000000000..01300f00d32e --- /dev/null +++ b/sdk/nodejs/maps/v20230601/creator.ts @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * An Azure resource which represents Maps Creator product and provides ability to manage private location data. + */ +export class Creator extends pulumi.CustomResource { + /** + * Get an existing Creator 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Creator { + return new Creator(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:maps/v20230601:Creator'; + + /** + * Returns true if the given object is an instance of Creator. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Creator { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Creator.__pulumiType; + } + + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * The Creator resource properties. + */ + public readonly properties!: pulumi.Output; + /** + * The system meta data relating to this resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Creator 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: CreatorArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.accountName === undefined) && !opts.urn) { + throw new Error("Missing required property 'accountName'"); + } + if ((!args || args.properties === undefined) && !opts.urn) { + throw new Error("Missing required property 'properties'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["accountName"] = args ? args.accountName : undefined; + resourceInputs["creatorName"] = args ? args.creatorName : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:maps:Creator" }, { type: "azure-native:maps/v20200201preview:Creator" }, { type: "azure-native:maps/v20210201:Creator" }, { type: "azure-native:maps/v20210701preview:Creator" }, { type: "azure-native:maps/v20211201preview:Creator" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(Creator.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Creator resource. + */ +export interface CreatorArgs { + /** + * The name of the Maps Account. + */ + accountName: pulumi.Input; + /** + * The name of the Maps Creator instance. + */ + creatorName?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * The Creator resource properties. + */ + properties: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/maps/v20230601/getAccount.ts b/sdk/nodejs/maps/v20230601/getAccount.ts new file mode 100644 index 000000000000..72195c19cc73 --- /dev/null +++ b/sdk/nodejs/maps/v20230601/getAccount.ts @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a Maps Account. + */ +export function getAccount(args: GetAccountArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:maps/v20230601:getAccount", { + "accountName": args.accountName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetAccountArgs { + /** + * The name of the Maps Account. + */ + accountName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * An Azure resource which represents access to a suite of Maps REST APIs. + */ +export interface GetAccountResult { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + readonly identity?: outputs.maps.v20230601.ManagedServiceIdentityResponse; + /** + * Get or Set Kind property. + */ + readonly kind?: string; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * The map account properties. + */ + readonly properties: outputs.maps.v20230601.MapsAccountPropertiesResponse; + /** + * The SKU of this account. + */ + readonly sku: outputs.maps.v20230601.SkuResponse; + /** + * Metadata pertaining to creation and last modification of the resource. + */ + readonly systemData: outputs.maps.v20230601.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get a Maps Account. + */ +export function getAccountOutput(args: GetAccountOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getAccount(a, opts)) +} + +export interface GetAccountOutputArgs { + /** + * The name of the Maps Account. + */ + accountName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/maps/v20230601/getCreator.ts b/sdk/nodejs/maps/v20230601/getCreator.ts new file mode 100644 index 000000000000..919554641ad4 --- /dev/null +++ b/sdk/nodejs/maps/v20230601/getCreator.ts @@ -0,0 +1,91 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a Maps Creator resource. + */ +export function getCreator(args: GetCreatorArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:maps/v20230601:getCreator", { + "accountName": args.accountName, + "creatorName": args.creatorName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetCreatorArgs { + /** + * The name of the Maps Account. + */ + accountName: string; + /** + * The name of the Maps Creator instance. + */ + creatorName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * An Azure resource which represents Maps Creator product and provides ability to manage private location data. + */ +export interface GetCreatorResult { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * The Creator resource properties. + */ + readonly properties: outputs.maps.v20230601.CreatorPropertiesResponse; + /** + * The system meta data relating to this resource. + */ + readonly systemData: outputs.maps.v20230601.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get a Maps Creator resource. + */ +export function getCreatorOutput(args: GetCreatorOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCreator(a, opts)) +} + +export interface GetCreatorOutputArgs { + /** + * The name of the Maps Account. + */ + accountName: pulumi.Input; + /** + * The name of the Maps Creator instance. + */ + creatorName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/maps/v20230601/index.ts b/sdk/nodejs/maps/v20230601/index.ts new file mode 100644 index 000000000000..06d6233f1ff4 --- /dev/null +++ b/sdk/nodejs/maps/v20230601/index.ts @@ -0,0 +1,55 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { AccountArgs } from "./account"; +export type Account = import("./account").Account; +export const Account: typeof import("./account").Account = null as any; +utilities.lazyLoad(exports, ["Account"], () => require("./account")); + +export { CreatorArgs } from "./creator"; +export type Creator = import("./creator").Creator; +export const Creator: typeof import("./creator").Creator = null as any; +utilities.lazyLoad(exports, ["Creator"], () => require("./creator")); + +export { GetAccountArgs, GetAccountResult, GetAccountOutputArgs } from "./getAccount"; +export const getAccount: typeof import("./getAccount").getAccount = null as any; +export const getAccountOutput: typeof import("./getAccount").getAccountOutput = null as any; +utilities.lazyLoad(exports, ["getAccount","getAccountOutput"], () => require("./getAccount")); + +export { GetCreatorArgs, GetCreatorResult, GetCreatorOutputArgs } from "./getCreator"; +export const getCreator: typeof import("./getCreator").getCreator = null as any; +export const getCreatorOutput: typeof import("./getCreator").getCreatorOutput = null as any; +utilities.lazyLoad(exports, ["getCreator","getCreatorOutput"], () => require("./getCreator")); + +export { ListAccountKeysArgs, ListAccountKeysResult, ListAccountKeysOutputArgs } from "./listAccountKeys"; +export const listAccountKeys: typeof import("./listAccountKeys").listAccountKeys = null as any; +export const listAccountKeysOutput: typeof import("./listAccountKeys").listAccountKeysOutput = null as any; +utilities.lazyLoad(exports, ["listAccountKeys","listAccountKeysOutput"], () => require("./listAccountKeys")); + +export { ListAccountSasArgs, ListAccountSasResult, ListAccountSasOutputArgs } from "./listAccountSas"; +export const listAccountSas: typeof import("./listAccountSas").listAccountSas = null as any; +export const listAccountSasOutput: typeof import("./listAccountSas").listAccountSasOutput = null as any; +utilities.lazyLoad(exports, ["listAccountSas","listAccountSasOutput"], () => require("./listAccountSas")); + + +// Export enums: +export * from "../../types/enums/maps/v20230601"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:maps/v20230601:Account": + return new Account(name, undefined, { urn }) + case "azure-native:maps/v20230601:Creator": + return new Creator(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "maps/v20230601", _module) diff --git a/sdk/nodejs/maps/v20230601/listAccountKeys.ts b/sdk/nodejs/maps/v20230601/listAccountKeys.ts new file mode 100644 index 000000000000..4f42728a7f49 --- /dev/null +++ b/sdk/nodejs/maps/v20230601/listAccountKeys.ts @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +/** + * Get the keys to use with the Maps APIs. A key is used to authenticate and authorize access to the Maps REST APIs. Only one key is needed at a time; two are given to provide seamless key regeneration. + */ +export function listAccountKeys(args: ListAccountKeysArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:maps/v20230601:listAccountKeys", { + "accountName": args.accountName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface ListAccountKeysArgs { + /** + * The name of the Maps Account. + */ + accountName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * The set of keys which can be used to access the Maps REST APIs. Two keys are provided for key rotation without interruption. + */ +export interface ListAccountKeysResult { + /** + * The primary key for accessing the Maps REST APIs. + */ + readonly primaryKey: string; + /** + * The last updated date and time of the primary key. + */ + readonly primaryKeyLastUpdated: string; + /** + * The secondary key for accessing the Maps REST APIs. + */ + readonly secondaryKey: string; + /** + * The last updated date and time of the secondary key. + */ + readonly secondaryKeyLastUpdated: string; +} +/** + * Get the keys to use with the Maps APIs. A key is used to authenticate and authorize access to the Maps REST APIs. Only one key is needed at a time; two are given to provide seamless key regeneration. + */ +export function listAccountKeysOutput(args: ListAccountKeysOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => listAccountKeys(a, opts)) +} + +export interface ListAccountKeysOutputArgs { + /** + * The name of the Maps Account. + */ + accountName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/maps/v20230601/listAccountSas.ts b/sdk/nodejs/maps/v20230601/listAccountSas.ts new file mode 100644 index 000000000000..628431231401 --- /dev/null +++ b/sdk/nodejs/maps/v20230601/listAccountSas.ts @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Create and list an account shared access signature token. Use this SAS token for authentication to Azure Maps REST APIs through various Azure Maps SDKs. As prerequisite to create a SAS Token. + * + * Prerequisites: + * 1. Create or have an existing User Assigned Managed Identity in the same Azure region as the account. + * 2. Create or update an Azure Map account with the same Azure region as the User Assigned Managed Identity is placed. + */ +export function listAccountSas(args: ListAccountSasArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:maps/v20230601:listAccountSas", { + "accountName": args.accountName, + "expiry": args.expiry, + "maxRatePerSecond": args.maxRatePerSecond, + "principalId": args.principalId, + "regions": args.regions, + "resourceGroupName": args.resourceGroupName, + "signingKey": args.signingKey, + "start": args.start, + }, opts); +} + +export interface ListAccountSasArgs { + /** + * The name of the Maps Account. + */ + accountName: string; + /** + * The date time offset of when the token validity expires. For example "2017-05-24T10:42:03.1567373Z". Maximum duration allowed is 24 hours between `start` and `expiry`. + */ + expiry: string; + /** + * Required parameter which represents the desired maximum request per second to allowed for the given SAS token. This does not guarantee perfect accuracy in measurements but provides application safe guards of abuse with eventual enforcement. + */ + maxRatePerSecond: number; + /** + * The principal Id also known as the object Id of a User Assigned Managed Identity currently assigned to the Map Account. To assign a Managed Identity of the account, use operation Create or Update an assign a User Assigned Identity resource Id. + */ + principalId: string; + /** + * Optional, allows control of which region locations are permitted access to Azure Maps REST APIs with the SAS token. Example: "eastus", "westus2". Omitting this parameter will allow all region locations to be accessible. + */ + regions?: string[]; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The Map account key to use for signing. Picking `primaryKey` or `secondaryKey` will use the Map account Shared Keys, and using `managedIdentity` will use the auto-renewed private key to sign the SAS. + */ + signingKey: string | enums.maps.v20230601.SigningKey; + /** + * The date time offset of when the token validity begins. For example "2017-05-24T10:42:03.1567373Z". Maximum duration allowed is 24 hours between `start` and `expiry`. + */ + start: string; +} + +/** + * A new Sas token which can be used to access the Maps REST APIs and is controlled by the specified Managed identity permissions on Azure (IAM) Role Based Access Control. + */ +export interface ListAccountSasResult { + /** + * The shared access signature access token. + */ + readonly accountSasToken: string; +} +/** + * Create and list an account shared access signature token. Use this SAS token for authentication to Azure Maps REST APIs through various Azure Maps SDKs. As prerequisite to create a SAS Token. + * + * Prerequisites: + * 1. Create or have an existing User Assigned Managed Identity in the same Azure region as the account. + * 2. Create or update an Azure Map account with the same Azure region as the User Assigned Managed Identity is placed. + */ +export function listAccountSasOutput(args: ListAccountSasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => listAccountSas(a, opts)) +} + +export interface ListAccountSasOutputArgs { + /** + * The name of the Maps Account. + */ + accountName: pulumi.Input; + /** + * The date time offset of when the token validity expires. For example "2017-05-24T10:42:03.1567373Z". Maximum duration allowed is 24 hours between `start` and `expiry`. + */ + expiry: pulumi.Input; + /** + * Required parameter which represents the desired maximum request per second to allowed for the given SAS token. This does not guarantee perfect accuracy in measurements but provides application safe guards of abuse with eventual enforcement. + */ + maxRatePerSecond: pulumi.Input; + /** + * The principal Id also known as the object Id of a User Assigned Managed Identity currently assigned to the Map Account. To assign a Managed Identity of the account, use operation Create or Update an assign a User Assigned Identity resource Id. + */ + principalId: pulumi.Input; + /** + * Optional, allows control of which region locations are permitted access to Azure Maps REST APIs with the SAS token. Example: "eastus", "westus2". Omitting this parameter will allow all region locations to be accessible. + */ + regions?: pulumi.Input[]>; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The Map account key to use for signing. Picking `primaryKey` or `secondaryKey` will use the Map account Shared Keys, and using `managedIdentity` will use the auto-renewed private key to sign the SAS. + */ + signingKey: pulumi.Input; + /** + * The date time offset of when the token validity begins. For example "2017-05-24T10:42:03.1567373Z". Maximum duration allowed is 24 hours between `start` and `expiry`. + */ + start: pulumi.Input; +} diff --git a/sdk/nodejs/mobilepacketcore/getNetworkFunction.ts b/sdk/nodejs/mobilepacketcore/getNetworkFunction.ts new file mode 100644 index 000000000000..23b06f65df61 --- /dev/null +++ b/sdk/nodejs/mobilepacketcore/getNetworkFunction.ts @@ -0,0 +1,116 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Get a NetworkFunctionResource + * Azure REST API version: 2023-05-15-preview. + */ +export function getNetworkFunction(args: GetNetworkFunctionArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:mobilepacketcore:getNetworkFunction", { + "networkFunctionName": args.networkFunctionName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetNetworkFunctionArgs { + /** + * The name of the network function + */ + networkFunctionName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * AO5GC Network Function Resource + */ +export interface GetNetworkFunctionResult { + /** + * Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + */ + readonly capacity?: number; + /** + * User provided deployment notes. This is used to optionally provide details about the NF deployment + */ + readonly deploymentNotes?: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * Count of infrastructure elements used by this network function (vCPUs, in units of 8) + */ + readonly infrastructureElementCount: number; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * Administrative state of the network function + */ + readonly networkFunctionAdministrativeState: string; + /** + * Operational state of the network function + */ + readonly networkFunctionOperationalStatus: string; + /** + * Type of network function + */ + readonly networkFunctionType: string; + /** + * The status of the last operation. + */ + readonly provisioningState: string; + /** + * Provisioned SKU Value. + */ + readonly sku: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.mobilepacketcore.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; + /** + * User provided description + */ + readonly userDescription?: string; +} +/** + * Get a NetworkFunctionResource + * Azure REST API version: 2023-05-15-preview. + */ +export function getNetworkFunctionOutput(args: GetNetworkFunctionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getNetworkFunction(a, opts)) +} + +export interface GetNetworkFunctionOutputArgs { + /** + * The name of the network function + */ + networkFunctionName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/mobilepacketcore/index.ts b/sdk/nodejs/mobilepacketcore/index.ts new file mode 100644 index 000000000000..3e6e682640d0 --- /dev/null +++ b/sdk/nodejs/mobilepacketcore/index.ts @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +// Export members: +export { GetNetworkFunctionArgs, GetNetworkFunctionResult, GetNetworkFunctionOutputArgs } from "./getNetworkFunction"; +export const getNetworkFunction: typeof import("./getNetworkFunction").getNetworkFunction = null as any; +export const getNetworkFunctionOutput: typeof import("./getNetworkFunction").getNetworkFunctionOutput = null as any; +utilities.lazyLoad(exports, ["getNetworkFunction","getNetworkFunctionOutput"], () => require("./getNetworkFunction")); + +export { NetworkFunctionArgs } from "./networkFunction"; +export type NetworkFunction = import("./networkFunction").NetworkFunction; +export const NetworkFunction: typeof import("./networkFunction").NetworkFunction = null as any; +utilities.lazyLoad(exports, ["NetworkFunction"], () => require("./networkFunction")); + + +// Export enums: +export * from "../types/enums/mobilepacketcore"; + +// Export sub-modules: +import * as v20230515preview from "./v20230515preview"; + +export { + v20230515preview, +}; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:mobilepacketcore:NetworkFunction": + return new NetworkFunction(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "mobilepacketcore", _module) diff --git a/sdk/nodejs/mobilepacketcore/networkFunction.ts b/sdk/nodejs/mobilepacketcore/networkFunction.ts new file mode 100644 index 000000000000..6fecb4e151e2 --- /dev/null +++ b/sdk/nodejs/mobilepacketcore/networkFunction.ts @@ -0,0 +1,204 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * AO5GC Network Function Resource + * Azure REST API version: 2023-05-15-preview. + */ +export class NetworkFunction extends pulumi.CustomResource { + /** + * Get an existing NetworkFunction 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): NetworkFunction { + return new NetworkFunction(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:mobilepacketcore:NetworkFunction'; + + /** + * Returns true if the given object is an instance of NetworkFunction. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is NetworkFunction { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === NetworkFunction.__pulumiType; + } + + /** + * Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + */ + public readonly capacity!: pulumi.Output; + /** + * User provided deployment notes. This is used to optionally provide details about the NF deployment + */ + public readonly deploymentNotes!: pulumi.Output; + /** + * Count of infrastructure elements used by this network function (vCPUs, in units of 8) + */ + public /*out*/ readonly infrastructureElementCount!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Administrative state of the network function + */ + public readonly networkFunctionAdministrativeState!: pulumi.Output; + /** + * Operational state of the network function + */ + public /*out*/ readonly networkFunctionOperationalStatus!: pulumi.Output; + /** + * Type of network function + */ + public readonly networkFunctionType!: pulumi.Output; + /** + * The status of the last operation. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Provisioned SKU Value. + */ + public readonly sku!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * User provided description + */ + public readonly userDescription!: pulumi.Output; + + /** + * Create a NetworkFunction 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: NetworkFunctionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.networkFunctionAdministrativeState === undefined) && !opts.urn) { + throw new Error("Missing required property 'networkFunctionAdministrativeState'"); + } + if ((!args || args.networkFunctionType === undefined) && !opts.urn) { + throw new Error("Missing required property 'networkFunctionType'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.sku === undefined) && !opts.urn) { + throw new Error("Missing required property 'sku'"); + } + resourceInputs["capacity"] = args ? args.capacity : undefined; + resourceInputs["deploymentNotes"] = args ? args.deploymentNotes : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["networkFunctionAdministrativeState"] = args ? args.networkFunctionAdministrativeState : undefined; + resourceInputs["networkFunctionName"] = args ? args.networkFunctionName : undefined; + resourceInputs["networkFunctionType"] = args ? args.networkFunctionType : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["userDescription"] = args ? args.userDescription : undefined; + resourceInputs["infrastructureElementCount"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkFunctionOperationalStatus"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["capacity"] = undefined /*out*/; + resourceInputs["deploymentNotes"] = undefined /*out*/; + resourceInputs["infrastructureElementCount"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkFunctionAdministrativeState"] = undefined /*out*/; + resourceInputs["networkFunctionOperationalStatus"] = undefined /*out*/; + resourceInputs["networkFunctionType"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["userDescription"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:mobilepacketcore/v20230515preview:NetworkFunction" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(NetworkFunction.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a NetworkFunction resource. + */ +export interface NetworkFunctionArgs { + /** + * Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + */ + capacity?: pulumi.Input; + /** + * User provided deployment notes. This is used to optionally provide details about the NF deployment + */ + deploymentNotes?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * Administrative state of the network function + */ + networkFunctionAdministrativeState: pulumi.Input; + /** + * The name of the network function + */ + networkFunctionName?: pulumi.Input; + /** + * Type of network function + */ + networkFunctionType: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Provisioned SKU Value. + */ + sku: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * User provided description + */ + userDescription?: pulumi.Input; +} diff --git a/sdk/nodejs/mobilepacketcore/v20230515preview/getNetworkFunction.ts b/sdk/nodejs/mobilepacketcore/v20230515preview/getNetworkFunction.ts new file mode 100644 index 000000000000..89c21a222908 --- /dev/null +++ b/sdk/nodejs/mobilepacketcore/v20230515preview/getNetworkFunction.ts @@ -0,0 +1,114 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get a NetworkFunctionResource + */ +export function getNetworkFunction(args: GetNetworkFunctionArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:mobilepacketcore/v20230515preview:getNetworkFunction", { + "networkFunctionName": args.networkFunctionName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetNetworkFunctionArgs { + /** + * The name of the network function + */ + networkFunctionName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * AO5GC Network Function Resource + */ +export interface GetNetworkFunctionResult { + /** + * Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + */ + readonly capacity?: number; + /** + * User provided deployment notes. This is used to optionally provide details about the NF deployment + */ + readonly deploymentNotes?: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * Count of infrastructure elements used by this network function (vCPUs, in units of 8) + */ + readonly infrastructureElementCount: number; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * Administrative state of the network function + */ + readonly networkFunctionAdministrativeState: string; + /** + * Operational state of the network function + */ + readonly networkFunctionOperationalStatus: string; + /** + * Type of network function + */ + readonly networkFunctionType: string; + /** + * The status of the last operation. + */ + readonly provisioningState: string; + /** + * Provisioned SKU Value. + */ + readonly sku: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.mobilepacketcore.v20230515preview.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; + /** + * User provided description + */ + readonly userDescription?: string; +} +/** + * Get a NetworkFunctionResource + */ +export function getNetworkFunctionOutput(args: GetNetworkFunctionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getNetworkFunction(a, opts)) +} + +export interface GetNetworkFunctionOutputArgs { + /** + * The name of the network function + */ + networkFunctionName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/mobilepacketcore/v20230515preview/index.ts b/sdk/nodejs/mobilepacketcore/v20230515preview/index.ts new file mode 100644 index 000000000000..516d3a492ea9 --- /dev/null +++ b/sdk/nodejs/mobilepacketcore/v20230515preview/index.ts @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { GetNetworkFunctionArgs, GetNetworkFunctionResult, GetNetworkFunctionOutputArgs } from "./getNetworkFunction"; +export const getNetworkFunction: typeof import("./getNetworkFunction").getNetworkFunction = null as any; +export const getNetworkFunctionOutput: typeof import("./getNetworkFunction").getNetworkFunctionOutput = null as any; +utilities.lazyLoad(exports, ["getNetworkFunction","getNetworkFunctionOutput"], () => require("./getNetworkFunction")); + +export { NetworkFunctionArgs } from "./networkFunction"; +export type NetworkFunction = import("./networkFunction").NetworkFunction; +export const NetworkFunction: typeof import("./networkFunction").NetworkFunction = null as any; +utilities.lazyLoad(exports, ["NetworkFunction"], () => require("./networkFunction")); + + +// Export enums: +export * from "../../types/enums/mobilepacketcore/v20230515preview"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:mobilepacketcore/v20230515preview:NetworkFunction": + return new NetworkFunction(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "mobilepacketcore/v20230515preview", _module) diff --git a/sdk/nodejs/mobilepacketcore/v20230515preview/networkFunction.ts b/sdk/nodejs/mobilepacketcore/v20230515preview/networkFunction.ts new file mode 100644 index 000000000000..80214144a4b0 --- /dev/null +++ b/sdk/nodejs/mobilepacketcore/v20230515preview/networkFunction.ts @@ -0,0 +1,203 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * AO5GC Network Function Resource + */ +export class NetworkFunction extends pulumi.CustomResource { + /** + * Get an existing NetworkFunction 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): NetworkFunction { + return new NetworkFunction(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:mobilepacketcore/v20230515preview:NetworkFunction'; + + /** + * Returns true if the given object is an instance of NetworkFunction. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is NetworkFunction { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === NetworkFunction.__pulumiType; + } + + /** + * Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + */ + public readonly capacity!: pulumi.Output; + /** + * User provided deployment notes. This is used to optionally provide details about the NF deployment + */ + public readonly deploymentNotes!: pulumi.Output; + /** + * Count of infrastructure elements used by this network function (vCPUs, in units of 8) + */ + public /*out*/ readonly infrastructureElementCount!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Administrative state of the network function + */ + public readonly networkFunctionAdministrativeState!: pulumi.Output; + /** + * Operational state of the network function + */ + public /*out*/ readonly networkFunctionOperationalStatus!: pulumi.Output; + /** + * Type of network function + */ + public readonly networkFunctionType!: pulumi.Output; + /** + * The status of the last operation. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Provisioned SKU Value. + */ + public readonly sku!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * User provided description + */ + public readonly userDescription!: pulumi.Output; + + /** + * Create a NetworkFunction 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: NetworkFunctionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.networkFunctionAdministrativeState === undefined) && !opts.urn) { + throw new Error("Missing required property 'networkFunctionAdministrativeState'"); + } + if ((!args || args.networkFunctionType === undefined) && !opts.urn) { + throw new Error("Missing required property 'networkFunctionType'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.sku === undefined) && !opts.urn) { + throw new Error("Missing required property 'sku'"); + } + resourceInputs["capacity"] = args ? args.capacity : undefined; + resourceInputs["deploymentNotes"] = args ? args.deploymentNotes : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["networkFunctionAdministrativeState"] = args ? args.networkFunctionAdministrativeState : undefined; + resourceInputs["networkFunctionName"] = args ? args.networkFunctionName : undefined; + resourceInputs["networkFunctionType"] = args ? args.networkFunctionType : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["sku"] = args ? args.sku : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["userDescription"] = args ? args.userDescription : undefined; + resourceInputs["infrastructureElementCount"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkFunctionOperationalStatus"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["capacity"] = undefined /*out*/; + resourceInputs["deploymentNotes"] = undefined /*out*/; + resourceInputs["infrastructureElementCount"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkFunctionAdministrativeState"] = undefined /*out*/; + resourceInputs["networkFunctionOperationalStatus"] = undefined /*out*/; + resourceInputs["networkFunctionType"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["sku"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["userDescription"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:mobilepacketcore:NetworkFunction" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(NetworkFunction.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a NetworkFunction resource. + */ +export interface NetworkFunctionArgs { + /** + * Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + */ + capacity?: pulumi.Input; + /** + * User provided deployment notes. This is used to optionally provide details about the NF deployment + */ + deploymentNotes?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * Administrative state of the network function + */ + networkFunctionAdministrativeState: pulumi.Input; + /** + * The name of the network function + */ + networkFunctionName?: pulumi.Input; + /** + * Type of network function + */ + networkFunctionType: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Provisioned SKU Value. + */ + sku: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * User provided description + */ + userDescription?: pulumi.Input; +} diff --git a/sdk/nodejs/resourceconnector/listApplianceKeys.ts b/sdk/nodejs/resourceconnector/listApplianceKeys.ts index 28fbb4af0fb4..9d59bf4cc592 100644 --- a/sdk/nodejs/resourceconnector/listApplianceKeys.ts +++ b/sdk/nodejs/resourceconnector/listApplianceKeys.ts @@ -15,12 +15,17 @@ export function listApplianceKeys(args: ListApplianceKeysArgs, opts?: pulumi.Inv opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("azure-native:resourceconnector:listApplianceKeys", { + "artifactType": args.artifactType, "resourceGroupName": args.resourceGroupName, "resourceName": args.resourceName, }, opts); } export interface ListApplianceKeysArgs { + /** + * This sets the type of artifact being returned, when empty no artifact endpoint is returned. + */ + artifactType?: string; /** * The name of the resource group. The name is case insensitive. */ @@ -57,6 +62,10 @@ export function listApplianceKeysOutput(args: ListApplianceKeysOutputArgs, opts? } export interface ListApplianceKeysOutputArgs { + /** + * This sets the type of artifact being returned, when empty no artifact endpoint is returned. + */ + artifactType?: pulumi.Input; /** * The name of the resource group. The name is case insensitive. */ diff --git a/sdk/nodejs/resourceconnector/v20221027/listApplianceKeys.ts b/sdk/nodejs/resourceconnector/v20221027/listApplianceKeys.ts index 102ead5f1101..a2b7d3d774ac 100644 --- a/sdk/nodejs/resourceconnector/v20221027/listApplianceKeys.ts +++ b/sdk/nodejs/resourceconnector/v20221027/listApplianceKeys.ts @@ -14,12 +14,17 @@ export function listApplianceKeys(args: ListApplianceKeysArgs, opts?: pulumi.Inv opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("azure-native:resourceconnector/v20221027:listApplianceKeys", { + "artifactType": args.artifactType, "resourceGroupName": args.resourceGroupName, "resourceName": args.resourceName, }, opts); } export interface ListApplianceKeysArgs { + /** + * This sets the type of artifact being returned, when empty no artifact endpoint is returned. + */ + artifactType?: string; /** * The name of the resource group. The name is case insensitive. */ @@ -55,6 +60,10 @@ export function listApplianceKeysOutput(args: ListApplianceKeysOutputArgs, opts? } export interface ListApplianceKeysOutputArgs { + /** + * This sets the type of artifact being returned, when empty no artifact endpoint is returned. + */ + artifactType?: pulumi.Input; /** * The name of the resource group. The name is case insensitive. */ diff --git a/sdk/nodejs/storagetasks/getStorageTask.ts b/sdk/nodejs/storagetasks/getStorageTask.ts new file mode 100644 index 000000000000..3a520bec2796 --- /dev/null +++ b/sdk/nodejs/storagetasks/getStorageTask.ts @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Get the storage task properties + * Azure REST API version: 2023-01-01. + */ +export function getStorageTask(args: GetStorageTaskArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:storagetasks:getStorageTask", { + "resourceGroupName": args.resourceGroupName, + "storageTaskName": args.storageTaskName, + }, opts); +} + +export interface GetStorageTaskArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + */ + storageTaskName: string; +} + +/** + * Represents Storage Task. + */ +export interface GetStorageTaskResult { + /** + * The storage task action that is executed + */ + readonly action: outputs.storagetasks.StorageTaskActionResponse; + /** + * The creation date and time of the storage task in UTC. + */ + readonly creationTimeInUtc: string; + /** + * Text that describes the purpose of the storage task + */ + readonly description: string; + /** + * Storage Task is enabled when set to true and disabled when set to false + */ + readonly enabled: boolean; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + */ + readonly id: string; + /** + * The managed service identity of the resource. + */ + readonly identity?: outputs.storagetasks.ManagedServiceIdentityResponse; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * Represents the provisioning state of the storage task. + */ + readonly provisioningState: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.storagetasks.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * Storage task version. + */ + readonly taskVersion: number; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get the storage task properties + * Azure REST API version: 2023-01-01. + */ +export function getStorageTaskOutput(args: GetStorageTaskOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getStorageTask(a, opts)) +} + +export interface GetStorageTaskOutputArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + */ + storageTaskName: pulumi.Input; +} diff --git a/sdk/nodejs/storagetasks/index.ts b/sdk/nodejs/storagetasks/index.ts new file mode 100644 index 000000000000..93689826add0 --- /dev/null +++ b/sdk/nodejs/storagetasks/index.ts @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +// Export members: +export { GetStorageTaskArgs, GetStorageTaskResult, GetStorageTaskOutputArgs } from "./getStorageTask"; +export const getStorageTask: typeof import("./getStorageTask").getStorageTask = null as any; +export const getStorageTaskOutput: typeof import("./getStorageTask").getStorageTaskOutput = null as any; +utilities.lazyLoad(exports, ["getStorageTask","getStorageTaskOutput"], () => require("./getStorageTask")); + +export { StorageTaskArgs } from "./storageTask"; +export type StorageTask = import("./storageTask").StorageTask; +export const StorageTask: typeof import("./storageTask").StorageTask = null as any; +utilities.lazyLoad(exports, ["StorageTask"], () => require("./storageTask")); + + +// Export enums: +export * from "../types/enums/storagetasks"; + +// Export sub-modules: +import * as v20230101 from "./v20230101"; + +export { + v20230101, +}; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:storagetasks:StorageTask": + return new StorageTask(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "storagetasks", _module) diff --git a/sdk/nodejs/storagetasks/storageTask.ts b/sdk/nodejs/storagetasks/storageTask.ts new file mode 100644 index 000000000000..82698681cee2 --- /dev/null +++ b/sdk/nodejs/storagetasks/storageTask.ts @@ -0,0 +1,184 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Represents Storage Task. + * Azure REST API version: 2023-01-01. + */ +export class StorageTask extends pulumi.CustomResource { + /** + * Get an existing StorageTask 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): StorageTask { + return new StorageTask(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:storagetasks:StorageTask'; + + /** + * Returns true if the given object is an instance of StorageTask. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is StorageTask { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === StorageTask.__pulumiType; + } + + /** + * The storage task action that is executed + */ + public readonly action!: pulumi.Output; + /** + * The creation date and time of the storage task in UTC. + */ + public /*out*/ readonly creationTimeInUtc!: pulumi.Output; + /** + * Text that describes the purpose of the storage task + */ + public readonly description!: pulumi.Output; + /** + * Storage Task is enabled when set to true and disabled when set to false + */ + public readonly enabled!: pulumi.Output; + /** + * The managed service identity of the resource. + */ + public readonly identity!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Represents the provisioning state of the storage task. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Storage task version. + */ + public /*out*/ readonly taskVersion!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a StorageTask 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: StorageTaskArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.action === undefined) && !opts.urn) { + throw new Error("Missing required property 'action'"); + } + if ((!args || args.description === undefined) && !opts.urn) { + throw new Error("Missing required property 'description'"); + } + if ((!args || args.enabled === undefined) && !opts.urn) { + throw new Error("Missing required property 'enabled'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["action"] = args ? args.action : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["enabled"] = args ? args.enabled : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["storageTaskName"] = args ? args.storageTaskName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["creationTimeInUtc"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["taskVersion"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["action"] = undefined /*out*/; + resourceInputs["creationTimeInUtc"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["enabled"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["taskVersion"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:storagetasks/v20230101:StorageTask" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(StorageTask.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a StorageTask resource. + */ +export interface StorageTaskArgs { + /** + * The storage task action that is executed + */ + action: pulumi.Input; + /** + * Text that describes the purpose of the storage task + */ + description: pulumi.Input; + /** + * Storage Task is enabled when set to true and disabled when set to false + */ + enabled: pulumi.Input; + /** + * The managed service identity of the resource. + */ + identity?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + */ + storageTaskName?: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/storagetasks/v20230101/getStorageTask.ts b/sdk/nodejs/storagetasks/v20230101/getStorageTask.ts new file mode 100644 index 000000000000..d4457b0c5e2f --- /dev/null +++ b/sdk/nodejs/storagetasks/v20230101/getStorageTask.ts @@ -0,0 +1,106 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Get the storage task properties + */ +export function getStorageTask(args: GetStorageTaskArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:storagetasks/v20230101:getStorageTask", { + "resourceGroupName": args.resourceGroupName, + "storageTaskName": args.storageTaskName, + }, opts); +} + +export interface GetStorageTaskArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; + /** + * The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + */ + storageTaskName: string; +} + +/** + * Represents Storage Task. + */ +export interface GetStorageTaskResult { + /** + * The storage task action that is executed + */ + readonly action: outputs.storagetasks.v20230101.StorageTaskActionResponse; + /** + * The creation date and time of the storage task in UTC. + */ + readonly creationTimeInUtc: string; + /** + * Text that describes the purpose of the storage task + */ + readonly description: string; + /** + * Storage Task is enabled when set to true and disabled when set to false + */ + readonly enabled: boolean; + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + */ + readonly id: string; + /** + * The managed service identity of the resource. + */ + readonly identity?: outputs.storagetasks.v20230101.ManagedServiceIdentityResponse; + /** + * The geo-location where the resource lives + */ + readonly location: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * Represents the provisioning state of the storage task. + */ + readonly provisioningState: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.storagetasks.v20230101.SystemDataResponse; + /** + * Resource tags. + */ + readonly tags?: {[key: string]: string}; + /** + * Storage task version. + */ + readonly taskVersion: number; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; +} +/** + * Get the storage task properties + */ +export function getStorageTaskOutput(args: GetStorageTaskOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getStorageTask(a, opts)) +} + +export interface GetStorageTaskOutputArgs { + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + */ + storageTaskName: pulumi.Input; +} diff --git a/sdk/nodejs/storagetasks/v20230101/index.ts b/sdk/nodejs/storagetasks/v20230101/index.ts new file mode 100644 index 000000000000..5534e29c6611 --- /dev/null +++ b/sdk/nodejs/storagetasks/v20230101/index.ts @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { GetStorageTaskArgs, GetStorageTaskResult, GetStorageTaskOutputArgs } from "./getStorageTask"; +export const getStorageTask: typeof import("./getStorageTask").getStorageTask = null as any; +export const getStorageTaskOutput: typeof import("./getStorageTask").getStorageTaskOutput = null as any; +utilities.lazyLoad(exports, ["getStorageTask","getStorageTaskOutput"], () => require("./getStorageTask")); + +export { StorageTaskArgs } from "./storageTask"; +export type StorageTask = import("./storageTask").StorageTask; +export const StorageTask: typeof import("./storageTask").StorageTask = null as any; +utilities.lazyLoad(exports, ["StorageTask"], () => require("./storageTask")); + + +// Export enums: +export * from "../../types/enums/storagetasks/v20230101"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:storagetasks/v20230101:StorageTask": + return new StorageTask(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "storagetasks/v20230101", _module) diff --git a/sdk/nodejs/storagetasks/v20230101/storageTask.ts b/sdk/nodejs/storagetasks/v20230101/storageTask.ts new file mode 100644 index 000000000000..b1affdffbbd9 --- /dev/null +++ b/sdk/nodejs/storagetasks/v20230101/storageTask.ts @@ -0,0 +1,183 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Represents Storage Task. + */ +export class StorageTask extends pulumi.CustomResource { + /** + * Get an existing StorageTask 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. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): StorageTask { + return new StorageTask(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:storagetasks/v20230101:StorageTask'; + + /** + * Returns true if the given object is an instance of StorageTask. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is StorageTask { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === StorageTask.__pulumiType; + } + + /** + * The storage task action that is executed + */ + public readonly action!: pulumi.Output; + /** + * The creation date and time of the storage task in UTC. + */ + public /*out*/ readonly creationTimeInUtc!: pulumi.Output; + /** + * Text that describes the purpose of the storage task + */ + public readonly description!: pulumi.Output; + /** + * Storage Task is enabled when set to true and disabled when set to false + */ + public readonly enabled!: pulumi.Output; + /** + * The managed service identity of the resource. + */ + public readonly identity!: pulumi.Output; + /** + * The geo-location where the resource lives + */ + public readonly location!: pulumi.Output; + /** + * The name of the resource + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Represents the provisioning state of the storage task. + */ + public /*out*/ readonly provisioningState!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Resource tags. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Storage task version. + */ + public /*out*/ readonly taskVersion!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a StorageTask 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: StorageTaskArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.action === undefined) && !opts.urn) { + throw new Error("Missing required property 'action'"); + } + if ((!args || args.description === undefined) && !opts.urn) { + throw new Error("Missing required property 'description'"); + } + if ((!args || args.enabled === undefined) && !opts.urn) { + throw new Error("Missing required property 'enabled'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["action"] = args ? args.action : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["enabled"] = args ? args.enabled : undefined; + resourceInputs["identity"] = args ? args.identity : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["storageTaskName"] = args ? args.storageTaskName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["creationTimeInUtc"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["taskVersion"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["action"] = undefined /*out*/; + resourceInputs["creationTimeInUtc"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["enabled"] = undefined /*out*/; + resourceInputs["identity"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["taskVersion"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:storagetasks:StorageTask" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(StorageTask.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a StorageTask resource. + */ +export interface StorageTaskArgs { + /** + * The storage task action that is executed + */ + action: pulumi.Input; + /** + * Text that describes the purpose of the storage task + */ + description: pulumi.Input; + /** + * Storage Task is enabled when set to true and disabled when set to false + */ + enabled: pulumi.Input; + /** + * The managed service identity of the resource. + */ + identity?: pulumi.Input; + /** + * The geo-location where the resource lives + */ + location?: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + */ + storageTaskName?: pulumi.Input; + /** + * Resource tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 4955c8f1236f..76cecb940865 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -1547,6 +1547,44 @@ "avs/v20220501/workloadNetworkPublicIP.ts", "avs/v20220501/workloadNetworkSegment.ts", "avs/v20220501/workloadNetworkVMGroup.ts", + "avs/v20230301/addon.ts", + "avs/v20230301/authorization.ts", + "avs/v20230301/cloudLink.ts", + "avs/v20230301/cluster.ts", + "avs/v20230301/datastore.ts", + "avs/v20230301/getAddon.ts", + "avs/v20230301/getAuthorization.ts", + "avs/v20230301/getCloudLink.ts", + "avs/v20230301/getCluster.ts", + "avs/v20230301/getDatastore.ts", + "avs/v20230301/getGlobalReachConnection.ts", + "avs/v20230301/getHcxEnterpriseSite.ts", + "avs/v20230301/getPlacementPolicy.ts", + "avs/v20230301/getPrivateCloud.ts", + "avs/v20230301/getScriptExecution.ts", + "avs/v20230301/getScriptExecutionLogs.ts", + "avs/v20230301/getWorkloadNetworkDhcp.ts", + "avs/v20230301/getWorkloadNetworkDnsService.ts", + "avs/v20230301/getWorkloadNetworkDnsZone.ts", + "avs/v20230301/getWorkloadNetworkPortMirroring.ts", + "avs/v20230301/getWorkloadNetworkPublicIP.ts", + "avs/v20230301/getWorkloadNetworkSegment.ts", + "avs/v20230301/getWorkloadNetworkVMGroup.ts", + "avs/v20230301/globalReachConnection.ts", + "avs/v20230301/hcxEnterpriseSite.ts", + "avs/v20230301/index.ts", + "avs/v20230301/listClusterZones.ts", + "avs/v20230301/listPrivateCloudAdminCredentials.ts", + "avs/v20230301/placementPolicy.ts", + "avs/v20230301/privateCloud.ts", + "avs/v20230301/scriptExecution.ts", + "avs/v20230301/workloadNetworkDhcp.ts", + "avs/v20230301/workloadNetworkDnsService.ts", + "avs/v20230301/workloadNetworkDnsZone.ts", + "avs/v20230301/workloadNetworkPortMirroring.ts", + "avs/v20230301/workloadNetworkPublicIP.ts", + "avs/v20230301/workloadNetworkSegment.ts", + "avs/v20230301/workloadNetworkVMGroup.ts", "avs/workloadNetworkDhcp.ts", "avs/workloadNetworkDnsService.ts", "avs/workloadNetworkDnsZone.ts", @@ -2315,6 +2353,56 @@ "compute/v20230301/virtualMachineScaleSetVM.ts", "compute/v20230301/virtualMachineScaleSetVMExtension.ts", "compute/v20230301/virtualMachineScaleSetVMRunCommand.ts", + "compute/v20230402/disk.ts", + "compute/v20230402/diskAccess.ts", + "compute/v20230402/diskAccessAPrivateEndpointConnection.ts", + "compute/v20230402/diskEncryptionSet.ts", + "compute/v20230402/getDisk.ts", + "compute/v20230402/getDiskAccess.ts", + "compute/v20230402/getDiskAccessAPrivateEndpointConnection.ts", + "compute/v20230402/getDiskEncryptionSet.ts", + "compute/v20230402/getSnapshot.ts", + "compute/v20230402/index.ts", + "compute/v20230402/snapshot.ts", + "compute/v20230701/availabilitySet.ts", + "compute/v20230701/capacityReservation.ts", + "compute/v20230701/capacityReservationGroup.ts", + "compute/v20230701/dedicatedHost.ts", + "compute/v20230701/dedicatedHostGroup.ts", + "compute/v20230701/getAvailabilitySet.ts", + "compute/v20230701/getCapacityReservation.ts", + "compute/v20230701/getCapacityReservationGroup.ts", + "compute/v20230701/getDedicatedHost.ts", + "compute/v20230701/getDedicatedHostGroup.ts", + "compute/v20230701/getImage.ts", + "compute/v20230701/getLogAnalyticExportRequestRateByInterval.ts", + "compute/v20230701/getLogAnalyticExportThrottledRequests.ts", + "compute/v20230701/getProximityPlacementGroup.ts", + "compute/v20230701/getRestorePoint.ts", + "compute/v20230701/getRestorePointCollection.ts", + "compute/v20230701/getSshPublicKey.ts", + "compute/v20230701/getVirtualMachine.ts", + "compute/v20230701/getVirtualMachineExtension.ts", + "compute/v20230701/getVirtualMachineRunCommandByVirtualMachine.ts", + "compute/v20230701/getVirtualMachineScaleSet.ts", + "compute/v20230701/getVirtualMachineScaleSetExtension.ts", + "compute/v20230701/getVirtualMachineScaleSetVM.ts", + "compute/v20230701/getVirtualMachineScaleSetVMExtension.ts", + "compute/v20230701/getVirtualMachineScaleSetVMRunCommand.ts", + "compute/v20230701/image.ts", + "compute/v20230701/index.ts", + "compute/v20230701/proximityPlacementGroup.ts", + "compute/v20230701/restorePoint.ts", + "compute/v20230701/restorePointCollection.ts", + "compute/v20230701/sshPublicKey.ts", + "compute/v20230701/virtualMachine.ts", + "compute/v20230701/virtualMachineExtension.ts", + "compute/v20230701/virtualMachineRunCommandByVirtualMachine.ts", + "compute/v20230701/virtualMachineScaleSet.ts", + "compute/v20230701/virtualMachineScaleSetExtension.ts", + "compute/v20230701/virtualMachineScaleSetVM.ts", + "compute/v20230701/virtualMachineScaleSetVMExtension.ts", + "compute/v20230701/virtualMachineScaleSetVMRunCommand.ts", "compute/virtualMachine.ts", "compute/virtualMachineExtension.ts", "compute/virtualMachineRunCommandByVirtualMachine.ts", @@ -2727,20 +2815,34 @@ "containerservice/v20230602preview/privateEndpointConnection.ts", "containerservice/v20230602preview/snapshot.ts", "containerservice/v20230602preview/trustedAccessRoleBinding.ts", + "containerservice/v20230701/agentPool.ts", + "containerservice/v20230701/getAgentPool.ts", + "containerservice/v20230701/getMaintenanceConfiguration.ts", + "containerservice/v20230701/getManagedCluster.ts", + "containerservice/v20230701/getPrivateEndpointConnection.ts", + "containerservice/v20230701/getSnapshot.ts", + "containerservice/v20230701/index.ts", + "containerservice/v20230701/listManagedClusterAdminCredentials.ts", + "containerservice/v20230701/listManagedClusterMonitoringUserCredentials.ts", + "containerservice/v20230701/listManagedClusterUserCredentials.ts", + "containerservice/v20230701/maintenanceConfiguration.ts", + "containerservice/v20230701/managedCluster.ts", + "containerservice/v20230701/privateEndpointConnection.ts", + "containerservice/v20230701/snapshot.ts", "containerstorage/getPool.ts", + "containerstorage/getSnapshot.ts", "containerstorage/getVolume.ts", - "containerstorage/getVolumeSnapshot.ts", "containerstorage/index.ts", "containerstorage/pool.ts", - "containerstorage/v20230301preview/getPool.ts", - "containerstorage/v20230301preview/getVolume.ts", - "containerstorage/v20230301preview/getVolumeSnapshot.ts", - "containerstorage/v20230301preview/index.ts", - "containerstorage/v20230301preview/pool.ts", - "containerstorage/v20230301preview/volume.ts", - "containerstorage/v20230301preview/volumeSnapshot.ts", + "containerstorage/snapshot.ts", + "containerstorage/v20230701preview/getPool.ts", + "containerstorage/v20230701preview/getSnapshot.ts", + "containerstorage/v20230701preview/getVolume.ts", + "containerstorage/v20230701preview/index.ts", + "containerstorage/v20230701preview/pool.ts", + "containerstorage/v20230701preview/snapshot.ts", + "containerstorage/v20230701preview/volume.ts", "containerstorage/volume.ts", - "containerstorage/volumeSnapshot.ts", "costmanagement/budget.ts", "costmanagement/cloudConnector.ts", "costmanagement/connector.ts", @@ -2932,6 +3034,10 @@ "databox/v20221201/index.ts", "databox/v20221201/job.ts", "databox/v20221201/listJobCredentials.ts", + "databox/v20230301/getJob.ts", + "databox/v20230301/index.ts", + "databox/v20230301/job.ts", + "databox/v20230301/listJobCredentials.ts", "databoxedge/arcAddon.ts", "databoxedge/bandwidthSchedule.ts", "databoxedge/cloudEdgeManagementRole.ts", @@ -3728,6 +3834,7 @@ "desktopvirtualization/getPrivateEndpointConnectionByHostPool.ts", "desktopvirtualization/getPrivateEndpointConnectionByWorkspace.ts", "desktopvirtualization/getScalingPlan.ts", + "desktopvirtualization/getScalingPlanPersonalSchedule.ts", "desktopvirtualization/getScalingPlanPooledSchedule.ts", "desktopvirtualization/getWorkspace.ts", "desktopvirtualization/hostPool.ts", @@ -3736,6 +3843,7 @@ "desktopvirtualization/privateEndpointConnectionByHostPool.ts", "desktopvirtualization/privateEndpointConnectionByWorkspace.ts", "desktopvirtualization/scalingPlan.ts", + "desktopvirtualization/scalingPlanPersonalSchedule.ts", "desktopvirtualization/scalingPlanPooledSchedule.ts", "desktopvirtualization/v20210201preview/getScalingPlan.ts", "desktopvirtualization/v20210201preview/index.ts", @@ -3782,6 +3890,27 @@ "desktopvirtualization/v20221014preview/scalingPlan.ts", "desktopvirtualization/v20221014preview/scalingPlanPooledSchedule.ts", "desktopvirtualization/v20221014preview/workspace.ts", + "desktopvirtualization/v20230707preview/application.ts", + "desktopvirtualization/v20230707preview/applicationGroup.ts", + "desktopvirtualization/v20230707preview/getApplication.ts", + "desktopvirtualization/v20230707preview/getApplicationGroup.ts", + "desktopvirtualization/v20230707preview/getHostPool.ts", + "desktopvirtualization/v20230707preview/getMSIXPackage.ts", + "desktopvirtualization/v20230707preview/getPrivateEndpointConnectionByHostPool.ts", + "desktopvirtualization/v20230707preview/getPrivateEndpointConnectionByWorkspace.ts", + "desktopvirtualization/v20230707preview/getScalingPlan.ts", + "desktopvirtualization/v20230707preview/getScalingPlanPersonalSchedule.ts", + "desktopvirtualization/v20230707preview/getScalingPlanPooledSchedule.ts", + "desktopvirtualization/v20230707preview/getWorkspace.ts", + "desktopvirtualization/v20230707preview/hostPool.ts", + "desktopvirtualization/v20230707preview/index.ts", + "desktopvirtualization/v20230707preview/msixpackage.ts", + "desktopvirtualization/v20230707preview/privateEndpointConnectionByHostPool.ts", + "desktopvirtualization/v20230707preview/privateEndpointConnectionByWorkspace.ts", + "desktopvirtualization/v20230707preview/scalingPlan.ts", + "desktopvirtualization/v20230707preview/scalingPlanPersonalSchedule.ts", + "desktopvirtualization/v20230707preview/scalingPlanPooledSchedule.ts", + "desktopvirtualization/v20230707preview/workspace.ts", "desktopvirtualization/workspace.ts", "devcenter/attachedNetworkByDevCenter.ts", "devcenter/catalog.ts", @@ -4743,9 +4872,11 @@ "hardwaresecuritymodules/v20220831preview/index.ts", "hdinsight/application.ts", "hdinsight/cluster.ts", + "hdinsight/clusterPool.ts", "hdinsight/getApplication.ts", "hdinsight/getCluster.ts", "hdinsight/getClusterGatewaySettings.ts", + "hdinsight/getClusterPool.ts", "hdinsight/getPrivateEndpointConnection.ts", "hdinsight/index.ts", "hdinsight/privateEndpointConnection.ts", @@ -4765,6 +4896,11 @@ "hdinsight/v20230415preview/getPrivateEndpointConnection.ts", "hdinsight/v20230415preview/index.ts", "hdinsight/v20230415preview/privateEndpointConnection.ts", + "hdinsight/v20230601preview/cluster.ts", + "hdinsight/v20230601preview/clusterPool.ts", + "hdinsight/v20230601preview/getCluster.ts", + "hdinsight/v20230601preview/getClusterPool.ts", + "hdinsight/v20230601preview/index.ts", "healthbot/bot.ts", "healthbot/getBot.ts", "healthbot/index.ts", @@ -4827,14 +4963,12 @@ "hybridcloud/v20230101preview/index.ts", "hybridcompute/getMachine.ts", "hybridcompute/getMachineExtension.ts", - "hybridcompute/getMachineRunCommand.ts", "hybridcompute/getPrivateEndpointConnection.ts", "hybridcompute/getPrivateLinkScope.ts", "hybridcompute/getPrivateLinkScopedResource.ts", "hybridcompute/index.ts", "hybridcompute/machine.ts", "hybridcompute/machineExtension.ts", - "hybridcompute/machineRunCommand.ts", "hybridcompute/privateEndpointConnection.ts", "hybridcompute/privateLinkScope.ts", "hybridcompute/privateLinkScopedResource.ts", @@ -4866,17 +5000,6 @@ "hybridcompute/v20221227/machineExtension.ts", "hybridcompute/v20221227/privateEndpointConnection.ts", "hybridcompute/v20221227/privateLinkScope.ts", - "hybridcompute/v20230425preview/getMachine.ts", - "hybridcompute/v20230425preview/getMachineExtension.ts", - "hybridcompute/v20230425preview/getMachineRunCommand.ts", - "hybridcompute/v20230425preview/getPrivateEndpointConnection.ts", - "hybridcompute/v20230425preview/getPrivateLinkScope.ts", - "hybridcompute/v20230425preview/index.ts", - "hybridcompute/v20230425preview/machine.ts", - "hybridcompute/v20230425preview/machineExtension.ts", - "hybridcompute/v20230425preview/machineRunCommand.ts", - "hybridcompute/v20230425preview/privateEndpointConnection.ts", - "hybridcompute/v20230425preview/privateLinkScope.ts", "hybridconnectivity/endpoint.ts", "hybridconnectivity/getEndpoint.ts", "hybridconnectivity/getServiceConfiguration.ts", @@ -6489,6 +6612,13 @@ "maps/v20211201preview/index.ts", "maps/v20211201preview/listAccountKeys.ts", "maps/v20211201preview/listAccountSas.ts", + "maps/v20230601/account.ts", + "maps/v20230601/creator.ts", + "maps/v20230601/getAccount.ts", + "maps/v20230601/getCreator.ts", + "maps/v20230601/index.ts", + "maps/v20230601/listAccountKeys.ts", + "maps/v20230601/listAccountSas.ts", "marketplace/getPrivateStoreCollection.ts", "marketplace/getPrivateStoreCollectionOffer.ts", "marketplace/index.ts", @@ -6846,6 +6976,12 @@ "mobilenetwork/v20230601/simPolicy.ts", "mobilenetwork/v20230601/site.ts", "mobilenetwork/v20230601/slice.ts", + "mobilepacketcore/getNetworkFunction.ts", + "mobilepacketcore/index.ts", + "mobilepacketcore/networkFunction.ts", + "mobilepacketcore/v20230515preview/getNetworkFunction.ts", + "mobilepacketcore/v20230515preview/index.ts", + "mobilepacketcore/v20230515preview/networkFunction.ts", "monitor/azureMonitorWorkspace.ts", "monitor/getAzureMonitorWorkspace.ts", "monitor/index.ts", @@ -10523,6 +10659,12 @@ "storagesync/v20220601/serverEndpoint.ts", "storagesync/v20220601/storageSyncService.ts", "storagesync/v20220601/syncGroup.ts", + "storagetasks/getStorageTask.ts", + "storagetasks/index.ts", + "storagetasks/storageTask.ts", + "storagetasks/v20230101/getStorageTask.ts", + "storagetasks/v20230101/index.ts", + "storagetasks/v20230101/storageTask.ts", "storsimple/accessControlRecord.ts", "storsimple/backupPolicy.ts", "storsimple/backupSchedule.ts", @@ -10942,6 +11084,7 @@ "types/enums/avs/index.ts", "types/enums/avs/v20210101preview/index.ts", "types/enums/avs/v20220501/index.ts", + "types/enums/avs/v20230301/index.ts", "types/enums/azureactivedirectory/index.ts", "types/enums/azureactivedirectory/v20190101preview/index.ts", "types/enums/azureactivedirectory/v20210401/index.ts", @@ -11009,6 +11152,8 @@ "types/enums/compute/v20221101/index.ts", "types/enums/compute/v20230102/index.ts", "types/enums/compute/v20230301/index.ts", + "types/enums/compute/v20230402/index.ts", + "types/enums/compute/v20230701/index.ts", "types/enums/confidentialledger/index.ts", "types/enums/confidentialledger/v20220513/index.ts", "types/enums/confidentialledger/v20230126preview/index.ts", @@ -11043,8 +11188,9 @@ "types/enums/containerservice/v20230502preview/index.ts", "types/enums/containerservice/v20230601/index.ts", "types/enums/containerservice/v20230602preview/index.ts", + "types/enums/containerservice/v20230701/index.ts", "types/enums/containerstorage/index.ts", - "types/enums/containerstorage/v20230301preview/index.ts", + "types/enums/containerstorage/v20230701preview/index.ts", "types/enums/costmanagement/index.ts", "types/enums/costmanagement/v20180801preview/index.ts", "types/enums/costmanagement/v20190301preview/index.ts", @@ -11066,6 +11212,7 @@ "types/enums/dashboard/v20220801/index.ts", "types/enums/databox/index.ts", "types/enums/databox/v20221201/index.ts", + "types/enums/databox/v20230301/index.ts", "types/enums/databoxedge/index.ts", "types/enums/databoxedge/v20210201/index.ts", "types/enums/databoxedge/v20210201preview/index.ts", @@ -11135,6 +11282,7 @@ "types/enums/desktopvirtualization/v20220401preview/index.ts", "types/enums/desktopvirtualization/v20220909/index.ts", "types/enums/desktopvirtualization/v20221014preview/index.ts", + "types/enums/desktopvirtualization/v20230707preview/index.ts", "types/enums/devcenter/index.ts", "types/enums/devcenter/v20221111preview/index.ts", "types/enums/devcenter/v20230401/index.ts", @@ -11201,6 +11349,7 @@ "types/enums/hdinsight/index.ts", "types/enums/hdinsight/v20210601/index.ts", "types/enums/hdinsight/v20230415preview/index.ts", + "types/enums/hdinsight/v20230601preview/index.ts", "types/enums/healthbot/index.ts", "types/enums/healthbot/v20201208preview/index.ts", "types/enums/healthbot/v20230501/index.ts", @@ -11213,7 +11362,6 @@ "types/enums/hybridcompute/v20200815preview/index.ts", "types/enums/hybridcompute/v20220510preview/index.ts", "types/enums/hybridcompute/v20221227/index.ts", - "types/enums/hybridcompute/v20230425preview/index.ts", "types/enums/hybridconnectivity/index.ts", "types/enums/hybridconnectivity/v20220501preview/index.ts", "types/enums/hybridconnectivity/v20230315/index.ts", @@ -11319,6 +11467,7 @@ "types/enums/maps/index.ts", "types/enums/maps/v20210201/index.ts", "types/enums/maps/v20211201preview/index.ts", + "types/enums/maps/v20230601/index.ts", "types/enums/marketplace/index.ts", "types/enums/marketplace/v20200101/index.ts", "types/enums/marketplace/v20230101/index.ts", @@ -11344,6 +11493,8 @@ "types/enums/mobilenetwork/v20220401preview/index.ts", "types/enums/mobilenetwork/v20221101/index.ts", "types/enums/mobilenetwork/v20230601/index.ts", + "types/enums/mobilepacketcore/index.ts", + "types/enums/mobilepacketcore/v20230515preview/index.ts", "types/enums/netapp/index.ts", "types/enums/netapp/v20211001/index.ts", "types/enums/netapp/v20220501/index.ts", @@ -11545,6 +11696,8 @@ "types/enums/storagepool/v20210801/index.ts", "types/enums/storagesync/index.ts", "types/enums/storagesync/v20220601/index.ts", + "types/enums/storagetasks/index.ts", + "types/enums/storagetasks/v20230101/index.ts", "types/enums/storsimple/index.ts", "types/enums/storsimple/v20170601/index.ts", "types/enums/streamanalytics/index.ts", diff --git a/sdk/nodejs/types/enums/avs/index.ts b/sdk/nodejs/types/enums/avs/index.ts index 52eea82d7f36..ed65e6ac0fc9 100644 --- a/sdk/nodejs/types/enums/avs/index.ts +++ b/sdk/nodejs/types/enums/avs/index.ts @@ -4,10 +4,12 @@ // Export sub-modules: import * as v20210101preview from "./v20210101preview"; import * as v20220501 from "./v20220501"; +import * as v20230301 from "./v20230301"; export { v20210101preview, v20220501, + v20230301, }; export const AddonType = { diff --git a/sdk/nodejs/types/enums/avs/v20230301/index.ts b/sdk/nodejs/types/enums/avs/v20230301/index.ts new file mode 100644 index 000000000000..2ed49f0464db --- /dev/null +++ b/sdk/nodejs/types/enums/avs/v20230301/index.ts @@ -0,0 +1,170 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const AddonType = { + SRM: "SRM", + VR: "VR", + HCX: "HCX", + Arc: "Arc", +} as const; + +/** + * The type of private cloud addon + */ +export type AddonType = (typeof AddonType)[keyof typeof AddonType]; + +export const AffinityStrength = { + Should: "Should", + Must: "Must", +} as const; + +/** + * vm-host placement policy affinity strength (should/must) + */ +export type AffinityStrength = (typeof AffinityStrength)[keyof typeof AffinityStrength]; + +export const AffinityType = { + Affinity: "Affinity", + AntiAffinity: "AntiAffinity", +} as const; + +/** + * placement policy affinity type + */ +export type AffinityType = (typeof AffinityType)[keyof typeof AffinityType]; + +export const AvailabilityStrategy = { + SingleZone: "SingleZone", + DualZone: "DualZone", +} as const; + +/** + * The availability strategy for the private cloud + */ +export type AvailabilityStrategy = (typeof AvailabilityStrategy)[keyof typeof AvailabilityStrategy]; + +export const AzureHybridBenefitType = { + SqlHost: "SqlHost", + None: "None", +} as const; + +/** + * placement policy azure hybrid benefit opt-in type + */ +export type AzureHybridBenefitType = (typeof AzureHybridBenefitType)[keyof typeof AzureHybridBenefitType]; + +export const DhcpTypeEnum = { + SERVER: "SERVER", + RELAY: "RELAY", +} as const; + +/** + * Type of DHCP: SERVER or RELAY. + */ +export type DhcpTypeEnum = (typeof DhcpTypeEnum)[keyof typeof DhcpTypeEnum]; + +export const DnsServiceLogLevelEnum = { + DEBUG: "DEBUG", + INFO: "INFO", + WARNING: "WARNING", + ERROR: "ERROR", + FATAL: "FATAL", +} as const; + +/** + * DNS Service log level. + */ +export type DnsServiceLogLevelEnum = (typeof DnsServiceLogLevelEnum)[keyof typeof DnsServiceLogLevelEnum]; + +export const EncryptionState = { + Enabled: "Enabled", + Disabled: "Disabled", +} as const; + +/** + * Status of customer managed encryption key + */ +export type EncryptionState = (typeof EncryptionState)[keyof typeof EncryptionState]; + +export const InternetEnum = { + Enabled: "Enabled", + Disabled: "Disabled", +} as const; + +/** + * Connectivity to internet is enabled or disabled + */ +export type InternetEnum = (typeof InternetEnum)[keyof typeof InternetEnum]; + +export const MountOptionEnum = { + MOUNT: "MOUNT", + ATTACH: "ATTACH", +} as const; + +/** + * Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN + */ +export type MountOptionEnum = (typeof MountOptionEnum)[keyof typeof MountOptionEnum]; + +export const PlacementPolicyState = { + Enabled: "Enabled", + Disabled: "Disabled", +} as const; + +/** + * Whether the placement policy is enabled or disabled + */ +export type PlacementPolicyState = (typeof PlacementPolicyState)[keyof typeof PlacementPolicyState]; + +export const PlacementPolicyType = { + VmVm: "VmVm", + VmHost: "VmHost", +} as const; + +/** + * placement policy type + */ +export type PlacementPolicyType = (typeof PlacementPolicyType)[keyof typeof PlacementPolicyType]; + +export const PortMirroringDirectionEnum = { + INGRESS: "INGRESS", + EGRESS: "EGRESS", + BIDIRECTIONAL: "BIDIRECTIONAL", +} as const; + +/** + * Direction of port mirroring profile. + */ +export type PortMirroringDirectionEnum = (typeof PortMirroringDirectionEnum)[keyof typeof PortMirroringDirectionEnum]; + +export const ResourceIdentityType = { + SystemAssigned: "SystemAssigned", + None: "None", +} as const; + +/** + * The type of identity used for the private cloud. The type 'SystemAssigned' refers to an implicitly created identity. The type 'None' will remove any identities from the Private Cloud. + */ +export type ResourceIdentityType = (typeof ResourceIdentityType)[keyof typeof ResourceIdentityType]; + +export const ScriptExecutionParameterType = { + Value: "Value", + SecureValue: "SecureValue", + Credential: "Credential", +} as const; + +/** + * The type of execution parameter + */ +export type ScriptExecutionParameterType = (typeof ScriptExecutionParameterType)[keyof typeof ScriptExecutionParameterType]; + +export const SslEnum = { + Enabled: "Enabled", + Disabled: "Disabled", +} as const; + +/** + * Protect LDAP communication using SSL certificate (LDAPS) + */ +export type SslEnum = (typeof SslEnum)[keyof typeof SslEnum]; diff --git a/sdk/nodejs/types/enums/compute/index.ts b/sdk/nodejs/types/enums/compute/index.ts index 4727ad2879fe..4d0bbc87c4d8 100644 --- a/sdk/nodejs/types/enums/compute/index.ts +++ b/sdk/nodejs/types/enums/compute/index.ts @@ -15,6 +15,8 @@ import * as v20220904 from "./v20220904"; import * as v20221101 from "./v20221101"; import * as v20230102 from "./v20230102"; import * as v20230301 from "./v20230301"; +import * as v20230402 from "./v20230402"; +import * as v20230701 from "./v20230701"; export { v20201201, @@ -30,6 +32,8 @@ export { v20221101, v20230102, v20230301, + v20230402, + v20230701, }; export const Architecture = { diff --git a/sdk/nodejs/types/enums/compute/v20230402/index.ts b/sdk/nodejs/types/enums/compute/v20230402/index.ts new file mode 100644 index 000000000000..83a7b624bd1d --- /dev/null +++ b/sdk/nodejs/types/enums/compute/v20230402/index.ts @@ -0,0 +1,301 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const Architecture = { + X64: "x64", + Arm64: "Arm64", +} as const; + +/** + * CPU architecture supported by an OS disk. + */ +export type Architecture = (typeof Architecture)[keyof typeof Architecture]; + +export const CopyCompletionErrorReason = { + /** + * Indicates that the source snapshot was deleted while the background copy of the resource created via CopyStart operation was in progress. + */ + CopySourceNotFound: "CopySourceNotFound", +} as const; + +/** + * Indicates the error code if the background copy of a resource created via the CopyStart operation fails. + */ +export type CopyCompletionErrorReason = (typeof CopyCompletionErrorReason)[keyof typeof CopyCompletionErrorReason]; + +export const DataAccessAuthMode = { + /** + * When export/upload URL is used, the system checks if the user has an identity in Azure Active Directory and has necessary permissions to export/upload the data. Please refer to aka.ms/DisksAzureADAuth. + */ + AzureActiveDirectory: "AzureActiveDirectory", + /** + * No additional authentication would be performed when accessing export/upload URL. + */ + None: "None", +} as const; + +/** + * Additional authentication requirements when exporting or uploading to a disk or snapshot. + */ +export type DataAccessAuthMode = (typeof DataAccessAuthMode)[keyof typeof DataAccessAuthMode]; + +export const DiskCreateOption = { + /** + * Create an empty data disk of a size given by diskSizeGB. + */ + Empty: "Empty", + /** + * Disk will be attached to a VM. + */ + Attach: "Attach", + /** + * Create a new disk from a platform image specified by the given imageReference or galleryImageReference. + */ + FromImage: "FromImage", + /** + * Create a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId. + */ + Import: "Import", + /** + * Create a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId. + */ + Copy: "Copy", + /** + * Create a new disk by copying from a backup recovery point. + */ + Restore: "Restore", + /** + * Create a new disk by obtaining a write token and using it to directly upload the contents of the disk. + */ + Upload: "Upload", + /** + * Create a new disk by using a deep copy process, where the resource creation is considered complete only after all data has been copied from the source. + */ + CopyStart: "CopyStart", + /** + * Similar to Import create option. Create a new Trusted Launch VM or Confidential VM supported disk by importing additional blob for VM guest state specified by securityDataUri in storage account specified by storageAccountId + */ + ImportSecure: "ImportSecure", + /** + * Similar to Upload create option. Create a new Trusted Launch VM or Confidential VM supported disk and upload using write token in both disk and VM guest state + */ + UploadPreparedSecure: "UploadPreparedSecure", + /** + * Create a new disk by exporting from elastic san volume snapshot + */ + CopyFromSanSnapshot: "CopyFromSanSnapshot", +} as const; + +/** + * This enumerates the possible sources of a disk's creation. + */ +export type DiskCreateOption = (typeof DiskCreateOption)[keyof typeof DiskCreateOption]; + +export const DiskEncryptionSetIdentityType = { + SystemAssigned: "SystemAssigned", + UserAssigned: "UserAssigned", + SystemAssigned_UserAssigned: "SystemAssigned, UserAssigned", + None: "None", +} as const; + +/** + * The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys. + */ +export type DiskEncryptionSetIdentityType = (typeof DiskEncryptionSetIdentityType)[keyof typeof DiskEncryptionSetIdentityType]; + +export const DiskEncryptionSetType = { + /** + * Resource using diskEncryptionSet would be encrypted at rest with Customer managed key that can be changed and revoked by a customer. + */ + EncryptionAtRestWithCustomerKey: "EncryptionAtRestWithCustomerKey", + /** + * Resource using diskEncryptionSet would be encrypted at rest with two layers of encryption. One of the keys is Customer managed and the other key is Platform managed. + */ + EncryptionAtRestWithPlatformAndCustomerKeys: "EncryptionAtRestWithPlatformAndCustomerKeys", + /** + * Confidential VM supported disk and VM guest state would be encrypted with customer managed key. + */ + ConfidentialVmEncryptedWithCustomerKey: "ConfidentialVmEncryptedWithCustomerKey", +} as const; + +/** + * The type of key used to encrypt the data of the disk. + */ +export type DiskEncryptionSetType = (typeof DiskEncryptionSetType)[keyof typeof DiskEncryptionSetType]; + +export const DiskSecurityTypes = { + /** + * Trusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM) + */ + TrustedLaunch: "TrustedLaunch", + /** + * Indicates Confidential VM disk with only VM guest state encrypted + */ + ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey: "ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey", + /** + * Indicates Confidential VM disk with both OS disk and VM guest state encrypted with a platform managed key + */ + ConfidentialVM_DiskEncryptedWithPlatformKey: "ConfidentialVM_DiskEncryptedWithPlatformKey", + /** + * Indicates Confidential VM disk with both OS disk and VM guest state encrypted with a customer managed key + */ + ConfidentialVM_DiskEncryptedWithCustomerKey: "ConfidentialVM_DiskEncryptedWithCustomerKey", +} as const; + +/** + * Specifies the SecurityType of the VM. Applicable for OS disks only. + */ +export type DiskSecurityTypes = (typeof DiskSecurityTypes)[keyof typeof DiskSecurityTypes]; + +export const DiskStorageAccountTypes = { + /** + * Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access. + */ + Standard_LRS: "Standard_LRS", + /** + * Premium SSD locally redundant storage. Best for production and performance sensitive workloads. + */ + Premium_LRS: "Premium_LRS", + /** + * Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test. + */ + StandardSSD_LRS: "StandardSSD_LRS", + /** + * Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads. + */ + UltraSSD_LRS: "UltraSSD_LRS", + /** + * Premium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures. + */ + Premium_ZRS: "Premium_ZRS", + /** + * Standard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test that need storage resiliency against zone failures. + */ + StandardSSD_ZRS: "StandardSSD_ZRS", + /** + * Premium SSD v2 locally redundant storage. Best for production and performance-sensitive workloads that consistently require low latency and high IOPS and throughput. + */ + PremiumV2_LRS: "PremiumV2_LRS", +} as const; + +/** + * The sku name. + */ +export type DiskStorageAccountTypes = (typeof DiskStorageAccountTypes)[keyof typeof DiskStorageAccountTypes]; + +export const EncryptionType = { + /** + * Disk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets. + */ + EncryptionAtRestWithPlatformKey: "EncryptionAtRestWithPlatformKey", + /** + * Disk is encrypted at rest with Customer managed key that can be changed and revoked by a customer. + */ + EncryptionAtRestWithCustomerKey: "EncryptionAtRestWithCustomerKey", + /** + * Disk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed. + */ + EncryptionAtRestWithPlatformAndCustomerKeys: "EncryptionAtRestWithPlatformAndCustomerKeys", +} as const; + +/** + * The type of key used to encrypt the data of the disk. + */ +export type EncryptionType = (typeof EncryptionType)[keyof typeof EncryptionType]; + +export const ExtendedLocationTypes = { + EdgeZone: "EdgeZone", +} as const; + +/** + * The type of the extended location. + */ +export type ExtendedLocationTypes = (typeof ExtendedLocationTypes)[keyof typeof ExtendedLocationTypes]; + +export const HyperVGeneration = { + V1: "V1", + V2: "V2", +} as const; + +/** + * The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + */ +export type HyperVGeneration = (typeof HyperVGeneration)[keyof typeof HyperVGeneration]; + +export const NetworkAccessPolicy = { + /** + * The disk can be exported or uploaded to from any network. + */ + AllowAll: "AllowAll", + /** + * The disk can be exported or uploaded to using a DiskAccess resource's private endpoints. + */ + AllowPrivate: "AllowPrivate", + /** + * The disk cannot be exported. + */ + DenyAll: "DenyAll", +} as const; + +/** + * Policy for accessing the disk via network. + */ +export type NetworkAccessPolicy = (typeof NetworkAccessPolicy)[keyof typeof NetworkAccessPolicy]; + +export const OperatingSystemTypes = { + Windows: "Windows", + Linux: "Linux", +} as const; + +/** + * The Operating System type. + */ +export type OperatingSystemTypes = (typeof OperatingSystemTypes)[keyof typeof OperatingSystemTypes]; + +export const PrivateEndpointServiceConnectionStatus = { + Pending: "Pending", + Approved: "Approved", + Rejected: "Rejected", +} as const; + +/** + * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + */ +export type PrivateEndpointServiceConnectionStatus = (typeof PrivateEndpointServiceConnectionStatus)[keyof typeof PrivateEndpointServiceConnectionStatus]; + +export const PublicNetworkAccess = { + /** + * You can generate a SAS URI to access the underlying data of the disk publicly on the internet when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate. + */ + Enabled: "Enabled", + /** + * You cannot access the underlying data of the disk publicly on the internet even when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate. + */ + Disabled: "Disabled", +} as const; + +/** + * Policy for controlling export on the disk. + */ +export type PublicNetworkAccess = (typeof PublicNetworkAccess)[keyof typeof PublicNetworkAccess]; + +export const SnapshotStorageAccountTypes = { + /** + * Standard HDD locally redundant storage + */ + Standard_LRS: "Standard_LRS", + /** + * Premium SSD locally redundant storage + */ + Premium_LRS: "Premium_LRS", + /** + * Standard zone redundant storage + */ + Standard_ZRS: "Standard_ZRS", +} as const; + +/** + * The sku name. + */ +export type SnapshotStorageAccountTypes = (typeof SnapshotStorageAccountTypes)[keyof typeof SnapshotStorageAccountTypes]; diff --git a/sdk/nodejs/types/enums/compute/v20230701/index.ts b/sdk/nodejs/types/enums/compute/v20230701/index.ts new file mode 100644 index 000000000000..03ae8bceb305 --- /dev/null +++ b/sdk/nodejs/types/enums/compute/v20230701/index.ts @@ -0,0 +1,683 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const CachingTypes = { + None: "None", + ReadOnly: "ReadOnly", + ReadWrite: "ReadWrite", +} as const; + +/** + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + */ +export type CachingTypes = (typeof CachingTypes)[keyof typeof CachingTypes]; + +export const ComponentNames = { + Microsoft_Windows_Shell_Setup: "Microsoft-Windows-Shell-Setup", +} as const; + +/** + * The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. + */ +export type ComponentNames = (typeof ComponentNames)[keyof typeof ComponentNames]; + +export const ConsistencyModeTypes = { + CrashConsistent: "CrashConsistent", + FileSystemConsistent: "FileSystemConsistent", + ApplicationConsistent: "ApplicationConsistent", +} as const; + +/** + * ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + */ +export type ConsistencyModeTypes = (typeof ConsistencyModeTypes)[keyof typeof ConsistencyModeTypes]; + +export const DedicatedHostLicenseTypes = { + None: "None", + Windows_Server_Hybrid: "Windows_Server_Hybrid", + Windows_Server_Perpetual: "Windows_Server_Perpetual", +} as const; + +/** + * Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + */ +export type DedicatedHostLicenseTypes = (typeof DedicatedHostLicenseTypes)[keyof typeof DedicatedHostLicenseTypes]; + +export const DeleteOptions = { + Delete: "Delete", + Detach: "Detach", +} as const; + +/** + * Specify what happens to the public IP when the VM is deleted + */ +export type DeleteOptions = (typeof DeleteOptions)[keyof typeof DeleteOptions]; + +export const DiffDiskOptions = { + Local: "Local", +} as const; + +/** + * Specifies the ephemeral disk settings for operating system disk. + */ +export type DiffDiskOptions = (typeof DiffDiskOptions)[keyof typeof DiffDiskOptions]; + +export const DiffDiskPlacement = { + CacheDisk: "CacheDisk", + ResourceDisk: "ResourceDisk", +} as const; + +/** + * Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + */ +export type DiffDiskPlacement = (typeof DiffDiskPlacement)[keyof typeof DiffDiskPlacement]; + +export const DiskControllerTypes = { + SCSI: "SCSI", + NVMe: "NVMe", +} as const; + +/** + * Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01. + */ +export type DiskControllerTypes = (typeof DiskControllerTypes)[keyof typeof DiskControllerTypes]; + +export const DiskCreateOptionTypes = { + FromImage: "FromImage", + Empty: "Empty", + Attach: "Attach", +} as const; + +/** + * Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + */ +export type DiskCreateOptionTypes = (typeof DiskCreateOptionTypes)[keyof typeof DiskCreateOptionTypes]; + +export const DiskDeleteOptionTypes = { + Delete: "Delete", + Detach: "Detach", +} as const; + +/** + * Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the OS disk is deleted when VM is deleted. **Detach.** If this value is used, the os disk is retained after VM is deleted. The default value is set to **Detach**. For an ephemeral OS Disk, the default value is set to **Delete**. The user cannot change the delete option for an ephemeral OS Disk. + */ +export type DiskDeleteOptionTypes = (typeof DiskDeleteOptionTypes)[keyof typeof DiskDeleteOptionTypes]; + +export const DiskDetachOptionTypes = { + ForceDetach: "ForceDetach", +} as const; + +/** + * Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + */ +export type DiskDetachOptionTypes = (typeof DiskDetachOptionTypes)[keyof typeof DiskDetachOptionTypes]; + +export const DomainNameLabelScopeTypes = { + TenantReuse: "TenantReuse", + SubscriptionReuse: "SubscriptionReuse", + ResourceGroupReuse: "ResourceGroupReuse", + NoReuse: "NoReuse", +} as const; + +/** + * The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created + */ +export type DomainNameLabelScopeTypes = (typeof DomainNameLabelScopeTypes)[keyof typeof DomainNameLabelScopeTypes]; + +export const ExtendedLocationTypes = { + EdgeZone: "EdgeZone", +} as const; + +/** + * The type of the extended location. + */ +export type ExtendedLocationTypes = (typeof ExtendedLocationTypes)[keyof typeof ExtendedLocationTypes]; + +export const HyperVGenerationTypes = { + V1: "V1", + V2: "V2", +} as const; + +/** + * Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + */ +export type HyperVGenerationTypes = (typeof HyperVGenerationTypes)[keyof typeof HyperVGenerationTypes]; + +export const IPVersion = { + IPv4: "IPv4", + IPv6: "IPv6", +} as const; + +/** + * Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + */ +export type IPVersion = (typeof IPVersion)[keyof typeof IPVersion]; + +export const IPVersions = { + IPv4: "IPv4", + IPv6: "IPv6", +} as const; + +/** + * Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + */ +export type IPVersions = (typeof IPVersions)[keyof typeof IPVersions]; + +export const IntervalInMins = { + ThreeMins: "ThreeMins", + FiveMins: "FiveMins", + ThirtyMins: "ThirtyMins", + SixtyMins: "SixtyMins", +} as const; + +/** + * Interval value in minutes used to create LogAnalytics call rate logs. + */ +export type IntervalInMins = (typeof IntervalInMins)[keyof typeof IntervalInMins]; + +export const LinuxPatchAssessmentMode = { + ImageDefault: "ImageDefault", + AutomaticByPlatform: "AutomaticByPlatform", +} as const; + +/** + * Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + */ +export type LinuxPatchAssessmentMode = (typeof LinuxPatchAssessmentMode)[keyof typeof LinuxPatchAssessmentMode]; + +export const LinuxVMGuestPatchAutomaticByPlatformRebootSetting = { + Unknown: "Unknown", + IfRequired: "IfRequired", + Never: "Never", + Always: "Always", +} as const; + +/** + * Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + */ +export type LinuxVMGuestPatchAutomaticByPlatformRebootSetting = (typeof LinuxVMGuestPatchAutomaticByPlatformRebootSetting)[keyof typeof LinuxVMGuestPatchAutomaticByPlatformRebootSetting]; + +export const LinuxVMGuestPatchMode = { + ImageDefault: "ImageDefault", + AutomaticByPlatform: "AutomaticByPlatform", +} as const; + +/** + * Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**ImageDefault** - The virtual machine's default patching configuration is used.

**AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true + */ +export type LinuxVMGuestPatchMode = (typeof LinuxVMGuestPatchMode)[keyof typeof LinuxVMGuestPatchMode]; + +export const NetworkApiVersion = { + NetworkApiVersion_2020_11_01: "2020-11-01", +} as const; + +/** + * specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations + */ +export type NetworkApiVersion = (typeof NetworkApiVersion)[keyof typeof NetworkApiVersion]; + +export const NetworkInterfaceAuxiliaryMode = { + None: "None", + AcceleratedConnections: "AcceleratedConnections", + Floating: "Floating", +} as const; + +/** + * Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + */ +export type NetworkInterfaceAuxiliaryMode = (typeof NetworkInterfaceAuxiliaryMode)[keyof typeof NetworkInterfaceAuxiliaryMode]; + +export const NetworkInterfaceAuxiliarySku = { + None: "None", + A1: "A1", + A2: "A2", + A4: "A4", + A8: "A8", +} as const; + +/** + * Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + */ +export type NetworkInterfaceAuxiliarySku = (typeof NetworkInterfaceAuxiliarySku)[keyof typeof NetworkInterfaceAuxiliarySku]; + +export const OperatingSystemStateTypes = { + /** + * Generalized image. Needs to be provisioned during deployment time. + */ + Generalized: "Generalized", + /** + * Specialized image. Contains already provisioned OS Disk. + */ + Specialized: "Specialized", +} as const; + +/** + * The OS State. For managed images, use Generalized. + */ +export type OperatingSystemStateTypes = (typeof OperatingSystemStateTypes)[keyof typeof OperatingSystemStateTypes]; + +export const OperatingSystemTypes = { + Windows: "Windows", + Linux: "Linux", +} as const; + +/** + * This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + */ +export type OperatingSystemTypes = (typeof OperatingSystemTypes)[keyof typeof OperatingSystemTypes]; + +export const OrchestrationMode = { + Uniform: "Uniform", + Flexible: "Flexible", +} as const; + +/** + * Specifies the orchestration mode for the virtual machine scale set. + */ +export type OrchestrationMode = (typeof OrchestrationMode)[keyof typeof OrchestrationMode]; + +export const PassNames = { + OobeSystem: "OobeSystem", +} as const; + +/** + * The pass name. Currently, the only allowable value is OobeSystem. + */ +export type PassNames = (typeof PassNames)[keyof typeof PassNames]; + +export const ProtocolTypes = { + Http: "Http", + Https: "Https", +} as const; + +/** + * Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** + */ +export type ProtocolTypes = (typeof ProtocolTypes)[keyof typeof ProtocolTypes]; + +export const ProximityPlacementGroupType = { + Standard: "Standard", + Ultra: "Ultra", +} as const; + +/** + * Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + */ +export type ProximityPlacementGroupType = (typeof ProximityPlacementGroupType)[keyof typeof ProximityPlacementGroupType]; + +export const PublicIPAddressSkuName = { + Basic: "Basic", + Standard: "Standard", +} as const; + +/** + * Specify public IP sku name + */ +export type PublicIPAddressSkuName = (typeof PublicIPAddressSkuName)[keyof typeof PublicIPAddressSkuName]; + +export const PublicIPAddressSkuTier = { + Regional: "Regional", + Global: "Global", +} as const; + +/** + * Specify public IP sku tier + */ +export type PublicIPAddressSkuTier = (typeof PublicIPAddressSkuTier)[keyof typeof PublicIPAddressSkuTier]; + +export const PublicIPAllocationMethod = { + Dynamic: "Dynamic", + Static: "Static", +} as const; + +/** + * Specify the public IP allocation type + */ +export type PublicIPAllocationMethod = (typeof PublicIPAllocationMethod)[keyof typeof PublicIPAllocationMethod]; + +export const RepairAction = { + Replace: "Replace", + Restart: "Restart", + Reimage: "Reimage", +} as const; + +/** + * Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. + */ +export type RepairAction = (typeof RepairAction)[keyof typeof RepairAction]; + +export const ResourceIdentityType = { + SystemAssigned: "SystemAssigned", + UserAssigned: "UserAssigned", + SystemAssigned_UserAssigned: "SystemAssigned, UserAssigned", + None: "None", +} as const; + +/** + * The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. + */ +export type ResourceIdentityType = (typeof ResourceIdentityType)[keyof typeof ResourceIdentityType]; + +export const RestorePointEncryptionType = { + /** + * Disk Restore Point is encrypted at rest with Platform managed key. + */ + EncryptionAtRestWithPlatformKey: "EncryptionAtRestWithPlatformKey", + /** + * Disk Restore Point is encrypted at rest with Customer managed key that can be changed and revoked by a customer. + */ + EncryptionAtRestWithCustomerKey: "EncryptionAtRestWithCustomerKey", + /** + * Disk Restore Point is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed. + */ + EncryptionAtRestWithPlatformAndCustomerKeys: "EncryptionAtRestWithPlatformAndCustomerKeys", +} as const; + +/** + * The type of key used to encrypt the data of the disk restore point. + */ +export type RestorePointEncryptionType = (typeof RestorePointEncryptionType)[keyof typeof RestorePointEncryptionType]; + +export const SecurityEncryptionTypes = { + VMGuestStateOnly: "VMGuestStateOnly", + DiskWithVMGuestState: "DiskWithVMGuestState", +} as const; + +/** + * Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs. + */ +export type SecurityEncryptionTypes = (typeof SecurityEncryptionTypes)[keyof typeof SecurityEncryptionTypes]; + +export const SecurityTypes = { + TrustedLaunch: "TrustedLaunch", + ConfidentialVM: "ConfidentialVM", +} as const; + +/** + * Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set. + */ +export type SecurityTypes = (typeof SecurityTypes)[keyof typeof SecurityTypes]; + +export const SettingNames = { + AutoLogon: "AutoLogon", + FirstLogonCommands: "FirstLogonCommands", +} as const; + +/** + * Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. + */ +export type SettingNames = (typeof SettingNames)[keyof typeof SettingNames]; + +export const StatusLevelTypes = { + Info: "Info", + Warning: "Warning", + Error: "Error", +} as const; + +/** + * The level code. + */ +export type StatusLevelTypes = (typeof StatusLevelTypes)[keyof typeof StatusLevelTypes]; + +export const StorageAccountTypes = { + Standard_LRS: "Standard_LRS", + Premium_LRS: "Premium_LRS", + StandardSSD_LRS: "StandardSSD_LRS", + UltraSSD_LRS: "UltraSSD_LRS", + Premium_ZRS: "Premium_ZRS", + StandardSSD_ZRS: "StandardSSD_ZRS", + PremiumV2_LRS: "PremiumV2_LRS", +} as const; + +/** + * Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + */ +export type StorageAccountTypes = (typeof StorageAccountTypes)[keyof typeof StorageAccountTypes]; + +export const UpgradeMode = { + Automatic: "Automatic", + Manual: "Manual", + Rolling: "Rolling", +} as const; + +/** + * Specifies the mode of an upgrade to virtual machines in the scale set.

Possible values are:

**Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

**Automatic** - All virtual machines in the scale set are automatically updated at the same time. + */ +export type UpgradeMode = (typeof UpgradeMode)[keyof typeof UpgradeMode]; + +export const VirtualMachineEvictionPolicyTypes = { + Deallocate: "Deallocate", + Delete: "Delete", +} as const; + +/** + * Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + */ +export type VirtualMachineEvictionPolicyTypes = (typeof VirtualMachineEvictionPolicyTypes)[keyof typeof VirtualMachineEvictionPolicyTypes]; + +export const VirtualMachinePriorityTypes = { + Regular: "Regular", + Low: "Low", + Spot: "Spot", +} as const; + +/** + * Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview. + */ +export type VirtualMachinePriorityTypes = (typeof VirtualMachinePriorityTypes)[keyof typeof VirtualMachinePriorityTypes]; + +export const VirtualMachineScaleSetScaleInRules = { + Default: "Default", + OldestVM: "OldestVM", + NewestVM: "NewestVM", +} as const; + +export type VirtualMachineScaleSetScaleInRules = (typeof VirtualMachineScaleSetScaleInRules)[keyof typeof VirtualMachineScaleSetScaleInRules]; + +export const VirtualMachineSizeTypes = { + Basic_A0: "Basic_A0", + Basic_A1: "Basic_A1", + Basic_A2: "Basic_A2", + Basic_A3: "Basic_A3", + Basic_A4: "Basic_A4", + Standard_A0: "Standard_A0", + Standard_A1: "Standard_A1", + Standard_A2: "Standard_A2", + Standard_A3: "Standard_A3", + Standard_A4: "Standard_A4", + Standard_A5: "Standard_A5", + Standard_A6: "Standard_A6", + Standard_A7: "Standard_A7", + Standard_A8: "Standard_A8", + Standard_A9: "Standard_A9", + Standard_A10: "Standard_A10", + Standard_A11: "Standard_A11", + Standard_A1_v2: "Standard_A1_v2", + Standard_A2_v2: "Standard_A2_v2", + Standard_A4_v2: "Standard_A4_v2", + Standard_A8_v2: "Standard_A8_v2", + Standard_A2m_v2: "Standard_A2m_v2", + Standard_A4m_v2: "Standard_A4m_v2", + Standard_A8m_v2: "Standard_A8m_v2", + Standard_B1s: "Standard_B1s", + Standard_B1ms: "Standard_B1ms", + Standard_B2s: "Standard_B2s", + Standard_B2ms: "Standard_B2ms", + Standard_B4ms: "Standard_B4ms", + Standard_B8ms: "Standard_B8ms", + Standard_D1: "Standard_D1", + Standard_D2: "Standard_D2", + Standard_D3: "Standard_D3", + Standard_D4: "Standard_D4", + Standard_D11: "Standard_D11", + Standard_D12: "Standard_D12", + Standard_D13: "Standard_D13", + Standard_D14: "Standard_D14", + Standard_D1_v2: "Standard_D1_v2", + Standard_D2_v2: "Standard_D2_v2", + Standard_D3_v2: "Standard_D3_v2", + Standard_D4_v2: "Standard_D4_v2", + Standard_D5_v2: "Standard_D5_v2", + Standard_D2_v3: "Standard_D2_v3", + Standard_D4_v3: "Standard_D4_v3", + Standard_D8_v3: "Standard_D8_v3", + Standard_D16_v3: "Standard_D16_v3", + Standard_D32_v3: "Standard_D32_v3", + Standard_D64_v3: "Standard_D64_v3", + Standard_D2s_v3: "Standard_D2s_v3", + Standard_D4s_v3: "Standard_D4s_v3", + Standard_D8s_v3: "Standard_D8s_v3", + Standard_D16s_v3: "Standard_D16s_v3", + Standard_D32s_v3: "Standard_D32s_v3", + Standard_D64s_v3: "Standard_D64s_v3", + Standard_D11_v2: "Standard_D11_v2", + Standard_D12_v2: "Standard_D12_v2", + Standard_D13_v2: "Standard_D13_v2", + Standard_D14_v2: "Standard_D14_v2", + Standard_D15_v2: "Standard_D15_v2", + Standard_DS1: "Standard_DS1", + Standard_DS2: "Standard_DS2", + Standard_DS3: "Standard_DS3", + Standard_DS4: "Standard_DS4", + Standard_DS11: "Standard_DS11", + Standard_DS12: "Standard_DS12", + Standard_DS13: "Standard_DS13", + Standard_DS14: "Standard_DS14", + Standard_DS1_v2: "Standard_DS1_v2", + Standard_DS2_v2: "Standard_DS2_v2", + Standard_DS3_v2: "Standard_DS3_v2", + Standard_DS4_v2: "Standard_DS4_v2", + Standard_DS5_v2: "Standard_DS5_v2", + Standard_DS11_v2: "Standard_DS11_v2", + Standard_DS12_v2: "Standard_DS12_v2", + Standard_DS13_v2: "Standard_DS13_v2", + Standard_DS14_v2: "Standard_DS14_v2", + Standard_DS15_v2: "Standard_DS15_v2", + Standard_DS13_4_v2: "Standard_DS13-4_v2", + Standard_DS13_2_v2: "Standard_DS13-2_v2", + Standard_DS14_8_v2: "Standard_DS14-8_v2", + Standard_DS14_4_v2: "Standard_DS14-4_v2", + Standard_E2_v3: "Standard_E2_v3", + Standard_E4_v3: "Standard_E4_v3", + Standard_E8_v3: "Standard_E8_v3", + Standard_E16_v3: "Standard_E16_v3", + Standard_E32_v3: "Standard_E32_v3", + Standard_E64_v3: "Standard_E64_v3", + Standard_E2s_v3: "Standard_E2s_v3", + Standard_E4s_v3: "Standard_E4s_v3", + Standard_E8s_v3: "Standard_E8s_v3", + Standard_E16s_v3: "Standard_E16s_v3", + Standard_E32s_v3: "Standard_E32s_v3", + Standard_E64s_v3: "Standard_E64s_v3", + Standard_E32_16_v3: "Standard_E32-16_v3", + Standard_E32_8s_v3: "Standard_E32-8s_v3", + Standard_E64_32s_v3: "Standard_E64-32s_v3", + Standard_E64_16s_v3: "Standard_E64-16s_v3", + Standard_F1: "Standard_F1", + Standard_F2: "Standard_F2", + Standard_F4: "Standard_F4", + Standard_F8: "Standard_F8", + Standard_F16: "Standard_F16", + Standard_F1s: "Standard_F1s", + Standard_F2s: "Standard_F2s", + Standard_F4s: "Standard_F4s", + Standard_F8s: "Standard_F8s", + Standard_F16s: "Standard_F16s", + Standard_F2s_v2: "Standard_F2s_v2", + Standard_F4s_v2: "Standard_F4s_v2", + Standard_F8s_v2: "Standard_F8s_v2", + Standard_F16s_v2: "Standard_F16s_v2", + Standard_F32s_v2: "Standard_F32s_v2", + Standard_F64s_v2: "Standard_F64s_v2", + Standard_F72s_v2: "Standard_F72s_v2", + Standard_G1: "Standard_G1", + Standard_G2: "Standard_G2", + Standard_G3: "Standard_G3", + Standard_G4: "Standard_G4", + Standard_G5: "Standard_G5", + Standard_GS1: "Standard_GS1", + Standard_GS2: "Standard_GS2", + Standard_GS3: "Standard_GS3", + Standard_GS4: "Standard_GS4", + Standard_GS5: "Standard_GS5", + Standard_GS4_8: "Standard_GS4-8", + Standard_GS4_4: "Standard_GS4-4", + Standard_GS5_16: "Standard_GS5-16", + Standard_GS5_8: "Standard_GS5-8", + Standard_H8: "Standard_H8", + Standard_H16: "Standard_H16", + Standard_H8m: "Standard_H8m", + Standard_H16m: "Standard_H16m", + Standard_H16r: "Standard_H16r", + Standard_H16mr: "Standard_H16mr", + Standard_L4s: "Standard_L4s", + Standard_L8s: "Standard_L8s", + Standard_L16s: "Standard_L16s", + Standard_L32s: "Standard_L32s", + Standard_M64s: "Standard_M64s", + Standard_M64ms: "Standard_M64ms", + Standard_M128s: "Standard_M128s", + Standard_M128ms: "Standard_M128ms", + Standard_M64_32ms: "Standard_M64-32ms", + Standard_M64_16ms: "Standard_M64-16ms", + Standard_M128_64ms: "Standard_M128-64ms", + Standard_M128_32ms: "Standard_M128-32ms", + Standard_NC6: "Standard_NC6", + Standard_NC12: "Standard_NC12", + Standard_NC24: "Standard_NC24", + Standard_NC24r: "Standard_NC24r", + Standard_NC6s_v2: "Standard_NC6s_v2", + Standard_NC12s_v2: "Standard_NC12s_v2", + Standard_NC24s_v2: "Standard_NC24s_v2", + Standard_NC24rs_v2: "Standard_NC24rs_v2", + Standard_NC6s_v3: "Standard_NC6s_v3", + Standard_NC12s_v3: "Standard_NC12s_v3", + Standard_NC24s_v3: "Standard_NC24s_v3", + Standard_NC24rs_v3: "Standard_NC24rs_v3", + Standard_ND6s: "Standard_ND6s", + Standard_ND12s: "Standard_ND12s", + Standard_ND24s: "Standard_ND24s", + Standard_ND24rs: "Standard_ND24rs", + Standard_NV6: "Standard_NV6", + Standard_NV12: "Standard_NV12", + Standard_NV24: "Standard_NV24", +} as const; + +/** + * Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. + */ +export type VirtualMachineSizeTypes = (typeof VirtualMachineSizeTypes)[keyof typeof VirtualMachineSizeTypes]; + +export const WindowsPatchAssessmentMode = { + ImageDefault: "ImageDefault", + AutomaticByPlatform: "AutomaticByPlatform", +} as const; + +/** + * Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + */ +export type WindowsPatchAssessmentMode = (typeof WindowsPatchAssessmentMode)[keyof typeof WindowsPatchAssessmentMode]; + +export const WindowsVMGuestPatchAutomaticByPlatformRebootSetting = { + Unknown: "Unknown", + IfRequired: "IfRequired", + Never: "Never", + Always: "Always", +} as const; + +/** + * Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + */ +export type WindowsVMGuestPatchAutomaticByPlatformRebootSetting = (typeof WindowsVMGuestPatchAutomaticByPlatformRebootSetting)[keyof typeof WindowsVMGuestPatchAutomaticByPlatformRebootSetting]; + +export const WindowsVMGuestPatchMode = { + Manual: "Manual", + AutomaticByOS: "AutomaticByOS", + AutomaticByPlatform: "AutomaticByPlatform", +} as const; + +/** + * Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

**AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true + */ +export type WindowsVMGuestPatchMode = (typeof WindowsVMGuestPatchMode)[keyof typeof WindowsVMGuestPatchMode]; diff --git a/sdk/nodejs/types/enums/containerservice/index.ts b/sdk/nodejs/types/enums/containerservice/index.ts index 1def246007c5..12767cb34d5a 100644 --- a/sdk/nodejs/types/enums/containerservice/index.ts +++ b/sdk/nodejs/types/enums/containerservice/index.ts @@ -14,6 +14,7 @@ import * as v20230401 from "./v20230401"; import * as v20230502preview from "./v20230502preview"; import * as v20230601 from "./v20230601"; import * as v20230602preview from "./v20230602preview"; +import * as v20230701 from "./v20230701"; export { v20190601, @@ -28,6 +29,7 @@ export { v20230502preview, v20230601, v20230602preview, + v20230701, }; export const AgentPoolMode = { diff --git a/sdk/nodejs/types/enums/containerservice/v20230701/index.ts b/sdk/nodejs/types/enums/containerservice/v20230701/index.ts new file mode 100644 index 000000000000..9bdab8491a0e --- /dev/null +++ b/sdk/nodejs/types/enums/containerservice/v20230701/index.ts @@ -0,0 +1,590 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const AgentPoolMode = { + /** + * System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory. + */ + System: "System", + /** + * User agent pools are primarily for hosting your application pods. + */ + User: "User", +} as const; + +/** + * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + */ +export type AgentPoolMode = (typeof AgentPoolMode)[keyof typeof AgentPoolMode]; + +export const AgentPoolType = { + /** + * Create an Agent Pool backed by a Virtual Machine Scale Set. + */ + VirtualMachineScaleSets: "VirtualMachineScaleSets", + /** + * Use of this is strongly discouraged. + */ + AvailabilitySet: "AvailabilitySet", +} as const; + +/** + * The type of Agent Pool. + */ +export type AgentPoolType = (typeof AgentPoolType)[keyof typeof AgentPoolType]; + +export const Code = { + /** + * The cluster is running. + */ + Running: "Running", + /** + * The cluster is stopped. + */ + Stopped: "Stopped", +} as const; + +/** + * Tells whether the cluster is Running or Stopped + */ +export type Code = (typeof Code)[keyof typeof Code]; + +export const ConnectionStatus = { + Pending: "Pending", + Approved: "Approved", + Rejected: "Rejected", + Disconnected: "Disconnected", +} as const; + +/** + * The private link service connection status. + */ +export type ConnectionStatus = (typeof ConnectionStatus)[keyof typeof ConnectionStatus]; + +export const Expander = { + /** + * Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources. + */ + Least_waste: "least-waste", + /** + * Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once. + */ + Most_pods: "most-pods", + /** + * Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md). + */ + Priority: "priority", + /** + * Used when you don't have a particular need for the node groups to scale differently. + */ + Random: "random", +} as const; + +/** + * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + */ +export type Expander = (typeof Expander)[keyof typeof Expander]; + +export const ExtendedLocationTypes = { + EdgeZone: "EdgeZone", +} as const; + +/** + * The type of the extended location. + */ +export type ExtendedLocationTypes = (typeof ExtendedLocationTypes)[keyof typeof ExtendedLocationTypes]; + +export const GPUInstanceProfile = { + MIG1g: "MIG1g", + MIG2g: "MIG2g", + MIG3g: "MIG3g", + MIG4g: "MIG4g", + MIG7g: "MIG7g", +} as const; + +/** + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + */ +export type GPUInstanceProfile = (typeof GPUInstanceProfile)[keyof typeof GPUInstanceProfile]; + +export const IpFamily = { + IPv4: "IPv4", + IPv6: "IPv6", +} as const; + +/** + * The IP version to use for cluster networking and IP assignment. + */ +export type IpFamily = (typeof IpFamily)[keyof typeof IpFamily]; + +export const KeyVaultNetworkAccessTypes = { + Public: "Public", + Private: "Private", +} as const; + +/** + * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + */ +export type KeyVaultNetworkAccessTypes = (typeof KeyVaultNetworkAccessTypes)[keyof typeof KeyVaultNetworkAccessTypes]; + +export const KubeletDiskType = { + /** + * Kubelet will use the OS disk for its data. + */ + OS: "OS", + /** + * Kubelet will use the temporary disk for its data. + */ + Temporary: "Temporary", +} as const; + +/** + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + */ +export type KubeletDiskType = (typeof KubeletDiskType)[keyof typeof KubeletDiskType]; + +export const KubernetesSupportPlan = { + /** + * Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release. + */ + KubernetesOfficial: "KubernetesOfficial", + /** + * Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support. + */ + AKSLongTermSupport: "AKSLongTermSupport", +} as const; + +/** + * The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + */ +export type KubernetesSupportPlan = (typeof KubernetesSupportPlan)[keyof typeof KubernetesSupportPlan]; + +export const LicenseType = { + /** + * No additional licensing is applied. + */ + None: "None", + /** + * Enables Azure Hybrid User Benefits for Windows VMs. + */ + Windows_Server: "Windows_Server", +} as const; + +/** + * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + */ +export type LicenseType = (typeof LicenseType)[keyof typeof LicenseType]; + +export const LoadBalancerSku = { + /** + * Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article. + */ + Standard: "standard", + /** + * Use a basic Load Balancer with limited functionality. + */ + Basic: "basic", +} as const; + +/** + * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + */ +export type LoadBalancerSku = (typeof LoadBalancerSku)[keyof typeof LoadBalancerSku]; + +export const ManagedClusterSKUName = { + /** + * Base option for the AKS control plane. + */ + Base: "Base", +} as const; + +/** + * The name of a managed cluster SKU. + */ +export type ManagedClusterSKUName = (typeof ManagedClusterSKUName)[keyof typeof ManagedClusterSKUName]; + +export const ManagedClusterSKUTier = { + /** + * Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions. + */ + Premium: "Premium", + /** + * Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones. + */ + Standard: "Standard", + /** + * The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases. + */ + Free: "Free", +} as const; + +/** + * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + */ +export type ManagedClusterSKUTier = (typeof ManagedClusterSKUTier)[keyof typeof ManagedClusterSKUTier]; + +export const NetworkDataplane = { + /** + * Use Azure network dataplane. + */ + Azure: "azure", + /** + * Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information. + */ + Cilium: "cilium", +} as const; + +/** + * Network dataplane used in the Kubernetes cluster. + */ +export type NetworkDataplane = (typeof NetworkDataplane)[keyof typeof NetworkDataplane]; + +export const NetworkMode = { + /** + * No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information. + */ + Transparent: "transparent", + /** + * This is no longer supported + */ + Bridge: "bridge", +} as const; + +/** + * This cannot be specified if networkPlugin is anything other than 'azure'. + */ +export type NetworkMode = (typeof NetworkMode)[keyof typeof NetworkMode]; + +export const NetworkPlugin = { + /** + * Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information. + */ + Azure: "azure", + /** + * Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information. + */ + Kubenet: "kubenet", + /** + * No CNI plugin is pre-installed. See [BYO CNI](https://docs.microsoft.com/en-us/azure/aks/use-byo-cni) for more information. + */ + None: "none", +} as const; + +/** + * Network plugin used for building the Kubernetes network. + */ +export type NetworkPlugin = (typeof NetworkPlugin)[keyof typeof NetworkPlugin]; + +export const NetworkPluginMode = { + /** + * Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay. + */ + Overlay: "overlay", +} as const; + +/** + * The mode the network plugin should use. + */ +export type NetworkPluginMode = (typeof NetworkPluginMode)[keyof typeof NetworkPluginMode]; + +export const NetworkPolicy = { + /** + * Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. + */ + Calico: "calico", + /** + * Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. + */ + Azure: "azure", + /** + * Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'. + */ + Cilium: "cilium", +} as const; + +/** + * Network policy used for building the Kubernetes network. + */ +export type NetworkPolicy = (typeof NetworkPolicy)[keyof typeof NetworkPolicy]; + +export const NodeOSUpgradeChannel = { + /** + * No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates + */ + None: "None", + /** + * OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice + */ + Unmanaged: "Unmanaged", + /** + * AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images. + */ + NodeImage: "NodeImage", +} as const; + +/** + * Manner in which the OS on your nodes is updated. The default is NodeImage. + */ +export type NodeOSUpgradeChannel = (typeof NodeOSUpgradeChannel)[keyof typeof NodeOSUpgradeChannel]; + +export const OSDiskType = { + /** + * Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency. + */ + Managed: "Managed", + /** + * Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades. + */ + Ephemeral: "Ephemeral", +} as const; + +/** + * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + */ +export type OSDiskType = (typeof OSDiskType)[keyof typeof OSDiskType]; + +export const OSSKU = { + /** + * Use Ubuntu as the OS for node images. + */ + Ubuntu: "Ubuntu", + /** + * Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. + */ + AzureLinux: "AzureLinux", + /** + * Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. + */ + CBLMariner: "CBLMariner", + /** + * Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa. + */ + Windows2019: "Windows2019", + /** + * Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa. + */ + Windows2022: "Windows2022", +} as const; + +/** + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + */ +export type OSSKU = (typeof OSSKU)[keyof typeof OSSKU]; + +export const OSType = { + /** + * Use Linux. + */ + Linux: "Linux", + /** + * Use Windows. + */ + Windows: "Windows", +} as const; + +/** + * The operating system type. The default is Linux. + */ +export type OSType = (typeof OSType)[keyof typeof OSType]; + +export const OutboundType = { + /** + * The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer). + */ + LoadBalancer: "loadBalancer", + /** + * Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting). + */ + UserDefinedRouting: "userDefinedRouting", + /** + * The AKS-managed NAT gateway is used for egress. + */ + ManagedNATGateway: "managedNATGateway", + /** + * The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration. + */ + UserAssignedNATGateway: "userAssignedNATGateway", +} as const; + +/** + * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + */ +export type OutboundType = (typeof OutboundType)[keyof typeof OutboundType]; + +export const PublicNetworkAccess = { + Enabled: "Enabled", + Disabled: "Disabled", +} as const; + +/** + * Allow or deny public network access for AKS + */ +export type PublicNetworkAccess = (typeof PublicNetworkAccess)[keyof typeof PublicNetworkAccess]; + +export const ResourceIdentityType = { + /** + * Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources. + */ + SystemAssigned: "SystemAssigned", + /** + * Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources. + */ + UserAssigned: "UserAssigned", + /** + * Do not use a managed identity for the Managed Cluster, service principal will be used instead. + */ + None: "None", +} as const; + +/** + * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + */ +export type ResourceIdentityType = (typeof ResourceIdentityType)[keyof typeof ResourceIdentityType]; + +export const ScaleDownMode = { + /** + * Create new instances during scale up and remove instances during scale down. + */ + Delete: "Delete", + /** + * Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down. + */ + Deallocate: "Deallocate", +} as const; + +/** + * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + */ +export type ScaleDownMode = (typeof ScaleDownMode)[keyof typeof ScaleDownMode]; + +export const ScaleSetEvictionPolicy = { + /** + * Nodes in the underlying Scale Set of the node pool are deleted when they're evicted. + */ + Delete: "Delete", + /** + * Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading. + */ + Deallocate: "Deallocate", +} as const; + +/** + * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + */ +export type ScaleSetEvictionPolicy = (typeof ScaleSetEvictionPolicy)[keyof typeof ScaleSetEvictionPolicy]; + +export const ScaleSetPriority = { + /** + * Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information. + */ + Spot: "Spot", + /** + * Regular VMs will be used. + */ + Regular: "Regular", +} as const; + +/** + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + */ +export type ScaleSetPriority = (typeof ScaleSetPriority)[keyof typeof ScaleSetPriority]; + +export const SnapshotType = { + /** + * The snapshot is a snapshot of a node pool. + */ + NodePool: "NodePool", +} as const; + +/** + * The type of a snapshot. The default is NodePool. + */ +export type SnapshotType = (typeof SnapshotType)[keyof typeof SnapshotType]; + +export const Type = { + /** + * First week of the month. + */ + First: "First", + /** + * Second week of the month. + */ + Second: "Second", + /** + * Third week of the month. + */ + Third: "Third", + /** + * Fourth week of the month. + */ + Fourth: "Fourth", + /** + * Last week of the month. + */ + Last: "Last", +} as const; + +/** + * Specifies on which week of the month the dayOfWeek applies. + */ +export type Type = (typeof Type)[keyof typeof Type]; + +export const UpgradeChannel = { + /** + * Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1. + */ + Rapid: "rapid", + /** + * Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6. + */ + Stable: "stable", + /** + * Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. + */ + Patch: "patch", + /** + * Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching + */ + Node_image: "node-image", + /** + * Disables auto-upgrades and keeps the cluster at its current version of Kubernetes. + */ + None: "none", +} as const; + +/** + * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + */ +export type UpgradeChannel = (typeof UpgradeChannel)[keyof typeof UpgradeChannel]; + +export const WeekDay = { + Sunday: "Sunday", + Monday: "Monday", + Tuesday: "Tuesday", + Wednesday: "Wednesday", + Thursday: "Thursday", + Friday: "Friday", + Saturday: "Saturday", +} as const; + +/** + * The day of the week. + */ +export type WeekDay = (typeof WeekDay)[keyof typeof WeekDay]; + +export const WorkloadRuntime = { + /** + * Nodes will use Kubelet to run standard OCI container workloads. + */ + OCIContainer: "OCIContainer", + /** + * Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). + */ + WasmWasi: "WasmWasi", +} as const; + +/** + * Determines the type of workload a node can run. + */ +export type WorkloadRuntime = (typeof WorkloadRuntime)[keyof typeof WorkloadRuntime]; diff --git a/sdk/nodejs/types/enums/containerstorage/index.ts b/sdk/nodejs/types/enums/containerstorage/index.ts index 2d2db99f6396..94e00cf93830 100644 --- a/sdk/nodejs/types/enums/containerstorage/index.ts +++ b/sdk/nodejs/types/enums/containerstorage/index.ts @@ -2,12 +2,76 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** // Export sub-modules: -import * as v20230301preview from "./v20230301preview"; +import * as v20230701preview from "./v20230701preview"; export { - v20230301preview, + v20230701preview, }; +export const AzureDiskSkuName = { + /** + * Premium_LRS SKU + */ + Premium_LRS: "Premium_LRS", + /** + * Standard_LRS SKU + */ + Standard_LRS: "Standard_LRS", + /** + * StandardSSD_LRS SKU + */ + StandardSSD_LRS: "StandardSSD_LRS", + /** + * UltraSSD_LRS SKU + */ + UltraSSD_LRS: "UltraSSD_LRS", + /** + * Premium_ZRS SKU + */ + Premium_ZRS: "Premium_ZRS", + /** + * PremiumV2_LRS SKU + */ + PremiumV2_LRS: "PremiumV2_LRS", + /** + * StandardSSD_ZRS SKU + */ + StandardSSD_ZRS: "StandardSSD_ZRS", +} as const; + +/** + * Sku name + */ +export type AzureDiskSkuName = (typeof AzureDiskSkuName)[keyof typeof AzureDiskSkuName]; + +export const ElasticSanSkuName = { + /** + * Premium_LRS SKU + */ + Premium_LRS: "Premium_LRS", + /** + * Premium_ZRS SKU + */ + Premium_ZRS: "Premium_ZRS", +} as const; + +/** + * Sku name + */ +export type ElasticSanSkuName = (typeof ElasticSanSkuName)[keyof typeof ElasticSanSkuName]; + +export const ManagedServiceIdentityType = { + None: "None", + SystemAssigned: "SystemAssigned", + UserAssigned: "UserAssigned", + SystemAssigned_UserAssigned: "SystemAssigned, UserAssigned", +} as const; + +/** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ +export type ManagedServiceIdentityType = (typeof ManagedServiceIdentityType)[keyof typeof ManagedServiceIdentityType]; + export const ReclaimPolicy = { /** * Delete resource @@ -20,22 +84,26 @@ export const ReclaimPolicy = { } as const; /** - * Reclaim Policy, Delete or Retain + * ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted */ export type ReclaimPolicy = (typeof ReclaimPolicy)[keyof typeof ReclaimPolicy]; -export const VolumeMode = { +export const Zone = { + /** + * First availability zone. + */ + Zone1: "1", /** - * FileSystem volume mode + * Second availability zone. */ - Filesystem: "Filesystem", + Zone2: "2", /** - * Raw volume mode + * Third availability zone. */ - Raw: "Raw", + Zone3: "3", } as const; /** - * Indicates how the volumes created from the snapshot should be attached + * Availability Zones */ -export type VolumeMode = (typeof VolumeMode)[keyof typeof VolumeMode]; +export type Zone = (typeof Zone)[keyof typeof Zone]; diff --git a/sdk/nodejs/types/enums/containerstorage/v20230301preview/index.ts b/sdk/nodejs/types/enums/containerstorage/v20230301preview/index.ts deleted file mode 100644 index 933b75c3b657..000000000000 --- a/sdk/nodejs/types/enums/containerstorage/v20230301preview/index.ts +++ /dev/null @@ -1,35 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - - -export const ReclaimPolicy = { - /** - * Delete resource - */ - Delete: "Delete", - /** - * Retain resource - */ - Retain: "Retain", -} as const; - -/** - * Reclaim Policy, Delete or Retain - */ -export type ReclaimPolicy = (typeof ReclaimPolicy)[keyof typeof ReclaimPolicy]; - -export const VolumeMode = { - /** - * FileSystem volume mode - */ - Filesystem: "Filesystem", - /** - * Raw volume mode - */ - Raw: "Raw", -} as const; - -/** - * Indicates how the volumes created from the snapshot should be attached - */ -export type VolumeMode = (typeof VolumeMode)[keyof typeof VolumeMode]; diff --git a/sdk/nodejs/types/enums/containerstorage/v20230701preview/index.ts b/sdk/nodejs/types/enums/containerstorage/v20230701preview/index.ts new file mode 100644 index 000000000000..e7c65ca19d41 --- /dev/null +++ b/sdk/nodejs/types/enums/containerstorage/v20230701preview/index.ts @@ -0,0 +1,103 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const AzureDiskSkuName = { + /** + * Premium_LRS SKU + */ + Premium_LRS: "Premium_LRS", + /** + * Standard_LRS SKU + */ + Standard_LRS: "Standard_LRS", + /** + * StandardSSD_LRS SKU + */ + StandardSSD_LRS: "StandardSSD_LRS", + /** + * UltraSSD_LRS SKU + */ + UltraSSD_LRS: "UltraSSD_LRS", + /** + * Premium_ZRS SKU + */ + Premium_ZRS: "Premium_ZRS", + /** + * PremiumV2_LRS SKU + */ + PremiumV2_LRS: "PremiumV2_LRS", + /** + * StandardSSD_ZRS SKU + */ + StandardSSD_ZRS: "StandardSSD_ZRS", +} as const; + +/** + * Sku name + */ +export type AzureDiskSkuName = (typeof AzureDiskSkuName)[keyof typeof AzureDiskSkuName]; + +export const ElasticSanSkuName = { + /** + * Premium_LRS SKU + */ + Premium_LRS: "Premium_LRS", + /** + * Premium_ZRS SKU + */ + Premium_ZRS: "Premium_ZRS", +} as const; + +/** + * Sku name + */ +export type ElasticSanSkuName = (typeof ElasticSanSkuName)[keyof typeof ElasticSanSkuName]; + +export const ManagedServiceIdentityType = { + None: "None", + SystemAssigned: "SystemAssigned", + UserAssigned: "UserAssigned", + SystemAssigned_UserAssigned: "SystemAssigned, UserAssigned", +} as const; + +/** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ +export type ManagedServiceIdentityType = (typeof ManagedServiceIdentityType)[keyof typeof ManagedServiceIdentityType]; + +export const ReclaimPolicy = { + /** + * Delete resource + */ + Delete: "Delete", + /** + * Retain resource + */ + Retain: "Retain", +} as const; + +/** + * ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + */ +export type ReclaimPolicy = (typeof ReclaimPolicy)[keyof typeof ReclaimPolicy]; + +export const Zone = { + /** + * First availability zone. + */ + Zone1: "1", + /** + * Second availability zone. + */ + Zone2: "2", + /** + * Third availability zone. + */ + Zone3: "3", +} as const; + +/** + * Availability Zones + */ +export type Zone = (typeof Zone)[keyof typeof Zone]; diff --git a/sdk/nodejs/types/enums/databox/index.ts b/sdk/nodejs/types/enums/databox/index.ts index d04c502c7283..9bdd14eb8303 100644 --- a/sdk/nodejs/types/enums/databox/index.ts +++ b/sdk/nodejs/types/enums/databox/index.ts @@ -3,9 +3,11 @@ // Export sub-modules: import * as v20221201 from "./v20221201"; +import * as v20230301 from "./v20230301"; export { v20221201, + v20230301, }; export const AddressType = { diff --git a/sdk/nodejs/types/enums/databox/v20230301/index.ts b/sdk/nodejs/types/enums/databox/v20230301/index.ts new file mode 100644 index 000000000000..86d70fc65902 --- /dev/null +++ b/sdk/nodejs/types/enums/databox/v20230301/index.ts @@ -0,0 +1,280 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const AddressType = { + /** + * Address type not known. + */ + None: "None", + /** + * Residential Address. + */ + Residential: "Residential", + /** + * Commercial Address. + */ + Commercial: "Commercial", +} as const; + +/** + * Type of address. + */ +export type AddressType = (typeof AddressType)[keyof typeof AddressType]; + +export const ClassDiscriminator = { + /** + * Data Box orders. + */ + DataBox: "DataBox", + /** + * Data Box Disk orders. + */ + DataBoxDisk: "DataBoxDisk", + /** + * Data Box Heavy orders. + */ + DataBoxHeavy: "DataBoxHeavy", + /** + * Data Box Customer Disk orders. + */ + DataBoxCustomerDisk: "DataBoxCustomerDisk", +} as const; + +/** + * Indicates the type of job details. + */ +export type ClassDiscriminator = (typeof ClassDiscriminator)[keyof typeof ClassDiscriminator]; + +export const DataAccountType = { + /** + * Storage Accounts . + */ + StorageAccount: "StorageAccount", + /** + * Azure Managed disk storage. + */ + ManagedDisk: "ManagedDisk", +} as const; + +/** + * Type of the account of data. + */ +export type DataAccountType = (typeof DataAccountType)[keyof typeof DataAccountType]; + +export const DoubleEncryption = { + /** + * Software-based encryption is enabled. + */ + Enabled: "Enabled", + /** + * Software-based encryption is disabled. + */ + Disabled: "Disabled", +} as const; + +/** + * Defines secondary layer of software-based encryption enablement. + */ +export type DoubleEncryption = (typeof DoubleEncryption)[keyof typeof DoubleEncryption]; + +export const FilterFileType = { + /** + * Filter file is of the type AzureBlob. + */ + AzureBlob: "AzureBlob", + /** + * Filter file is of the type AzureFiles. + */ + AzureFile: "AzureFile", +} as const; + +/** + * Type of the filter file. + */ +export type FilterFileType = (typeof FilterFileType)[keyof typeof FilterFileType]; + +export const HardwareEncryption = { + /** + * Hardware-based encryption is enabled. + */ + Enabled: "Enabled", + /** + * Hardware-based encryption is enabled. + */ + Disabled: "Disabled", +} as const; + +/** + * Defines Hardware level encryption (Only for disk) + */ +export type HardwareEncryption = (typeof HardwareEncryption)[keyof typeof HardwareEncryption]; + +export const JobDeliveryType = { + /** + * Non Scheduled job. + */ + NonScheduled: "NonScheduled", + /** + * Scheduled job. + */ + Scheduled: "Scheduled", +} as const; + +/** + * Delivery type of Job. + */ +export type JobDeliveryType = (typeof JobDeliveryType)[keyof typeof JobDeliveryType]; + +export const KekType = { + /** + * Key encryption key is managed by Microsoft. + */ + MicrosoftManaged: "MicrosoftManaged", + /** + * Key encryption key is managed by the Customer. + */ + CustomerManaged: "CustomerManaged", +} as const; + +/** + * Type of encryption key used for key encryption. + */ +export type KekType = (typeof KekType)[keyof typeof KekType]; + +export const LogCollectionLevel = { + /** + * Only Errors will be collected in the logs. + */ + Error: "Error", + /** + * Verbose logging (includes Errors, CRC, size information and others). + */ + Verbose: "Verbose", +} as const; + +/** + * Level of the logs to be collected. + */ +export type LogCollectionLevel = (typeof LogCollectionLevel)[keyof typeof LogCollectionLevel]; + +export const NotificationStageName = { + /** + * Notification at device prepared stage. + */ + DevicePrepared: "DevicePrepared", + /** + * Notification at device dispatched stage. + */ + Dispatched: "Dispatched", + /** + * Notification at device delivered stage. + */ + Delivered: "Delivered", + /** + * Notification at device picked up from user stage. + */ + PickedUp: "PickedUp", + /** + * Notification at device received at Azure datacenter stage. + */ + AtAzureDC: "AtAzureDC", + /** + * Notification at data copy started stage. + */ + DataCopy: "DataCopy", + /** + * Notification at job created stage. + */ + Created: "Created", + /** + * Notification at shipped devices to customer stage. + */ + ShippedToCustomer: "ShippedToCustomer", +} as const; + +/** + * Name of the stage. + */ +export type NotificationStageName = (typeof NotificationStageName)[keyof typeof NotificationStageName]; + +export const SkuName = { + /** + * Data Box. + */ + DataBox: "DataBox", + /** + * Data Box Disk. + */ + DataBoxDisk: "DataBoxDisk", + /** + * Data Box Heavy. + */ + DataBoxHeavy: "DataBoxHeavy", + /** + * Data Box Customer Disk. + */ + DataBoxCustomerDisk: "DataBoxCustomerDisk", +} as const; + +/** + * The sku name. + */ +export type SkuName = (typeof SkuName)[keyof typeof SkuName]; + +export const StorageAccountAccessTier = { + /** + * Archive Access Tier shares requested by the customer. + */ + Archive: "Archive", +} as const; + +export type StorageAccountAccessTier = (typeof StorageAccountAccessTier)[keyof typeof StorageAccountAccessTier]; + +export const TransferConfigurationType = { + /** + * Transfer all the data. + */ + TransferAll: "TransferAll", + /** + * Transfer using filter. + */ + TransferUsingFilter: "TransferUsingFilter", +} as const; + +/** + * Type of the configuration for transfer. + */ +export type TransferConfigurationType = (typeof TransferConfigurationType)[keyof typeof TransferConfigurationType]; + +export const TransferType = { + /** + * Import data to azure. + */ + ImportToAzure: "ImportToAzure", + /** + * Export data from azure. + */ + ExportFromAzure: "ExportFromAzure", +} as const; + +/** + * Type of the data transfer. + */ +export type TransferType = (typeof TransferType)[keyof typeof TransferType]; + +export const TransportShipmentTypes = { + /** + * Shipment Logistics is handled by the customer. + */ + CustomerManaged: "CustomerManaged", + /** + * Shipment Logistics is handled by Microsoft. + */ + MicrosoftManaged: "MicrosoftManaged", +} as const; + +/** + * Indicates Shipment Logistics type that the customer preferred. + */ +export type TransportShipmentTypes = (typeof TransportShipmentTypes)[keyof typeof TransportShipmentTypes]; diff --git a/sdk/nodejs/types/enums/desktopvirtualization/index.ts b/sdk/nodejs/types/enums/desktopvirtualization/index.ts index 10ded2600022..496c4f99ac3f 100644 --- a/sdk/nodejs/types/enums/desktopvirtualization/index.ts +++ b/sdk/nodejs/types/enums/desktopvirtualization/index.ts @@ -7,6 +7,7 @@ import * as v20220210preview from "./v20220210preview"; import * as v20220401preview from "./v20220401preview"; import * as v20220909 from "./v20220909"; import * as v20221014preview from "./v20221014preview"; +import * as v20230707preview from "./v20230707preview"; export { v20210201preview, @@ -14,6 +15,7 @@ export { v20220401preview, v20220909, v20221014preview, + v20230707preview, }; export const ApplicationGroupType = { @@ -166,6 +168,16 @@ export const ScalingHostPoolType = { */ export type ScalingHostPoolType = (typeof ScalingHostPoolType)[keyof typeof ScalingHostPoolType]; +export const SessionHandlingOperation = { + None: "None", + Deallocate: "Deallocate", +} as const; + +/** + * Action to be taken after a logoff during the ramp up period. + */ +export type SessionHandlingOperation = (typeof SessionHandlingOperation)[keyof typeof SessionHandlingOperation]; + export const SessionHostComponentUpdateType = { /** * Agent and other agent side components are delivery schedule is controlled by WVD Infra. @@ -192,6 +204,16 @@ export const SessionHostLoadBalancingAlgorithm = { */ export type SessionHostLoadBalancingAlgorithm = (typeof SessionHostLoadBalancingAlgorithm)[keyof typeof SessionHostLoadBalancingAlgorithm]; +export const SetStartVMOnConnect = { + Enable: "Enable", + Disable: "Disable", +} as const; + +/** + * The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + */ +export type SetStartVMOnConnect = (typeof SetStartVMOnConnect)[keyof typeof SetStartVMOnConnect]; + export const SkuTier = { Free: "Free", Basic: "Basic", @@ -204,6 +226,26 @@ export const SkuTier = { */ export type SkuTier = (typeof SkuTier)[keyof typeof SkuTier]; +export const StartupBehavior = { + /** + * Session hosts will not be started by the service. This setting depends on Start VM on Connect to be enabled to start the session hosts. + */ + None: "None", + /** + * Session hosts with an assigned user will be started during Ramp Up + */ + WithAssignedUser: "WithAssignedUser", + /** + * All personal session hosts in the hostpool will be started during ramp up. + */ + All: "All", +} as const; + +/** + * The desired startup behavior during the ramp up period for personal vms in the hostpool. + */ +export type StartupBehavior = (typeof StartupBehavior)[keyof typeof StartupBehavior]; + export const StopHostsWhen = { ZeroSessions: "ZeroSessions", ZeroActiveSessions: "ZeroActiveSessions", diff --git a/sdk/nodejs/types/enums/desktopvirtualization/v20230707preview/index.ts b/sdk/nodejs/types/enums/desktopvirtualization/v20230707preview/index.ts new file mode 100644 index 000000000000..1a2bef418a0d --- /dev/null +++ b/sdk/nodejs/types/enums/desktopvirtualization/v20230707preview/index.ts @@ -0,0 +1,263 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const ApplicationGroupType = { + RemoteApp: "RemoteApp", + Desktop: "Desktop", +} as const; + +/** + * Resource Type of ApplicationGroup. + */ +export type ApplicationGroupType = (typeof ApplicationGroupType)[keyof typeof ApplicationGroupType]; + +export const CommandLineSetting = { + DoNotAllow: "DoNotAllow", + Allow: "Allow", + Require: "Require", +} as const; + +/** + * Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + */ +export type CommandLineSetting = (typeof CommandLineSetting)[keyof typeof CommandLineSetting]; + +export const DayOfWeek = { + Monday: "Monday", + Tuesday: "Tuesday", + Wednesday: "Wednesday", + Thursday: "Thursday", + Friday: "Friday", + Saturday: "Saturday", + Sunday: "Sunday", +} as const; + +export type DayOfWeek = (typeof DayOfWeek)[keyof typeof DayOfWeek]; + +export const HostPoolType = { + /** + * Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost. + */ + Personal: "Personal", + /** + * Users get a new (random) SessionHost every time it connects to the HostPool. + */ + Pooled: "Pooled", + /** + * Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct. + */ + BYODesktop: "BYODesktop", +} as const; + +/** + * HostPool type for desktop. + */ +export type HostPoolType = (typeof HostPoolType)[keyof typeof HostPoolType]; + +export const HostpoolPublicNetworkAccess = { + Enabled: "Enabled", + Disabled: "Disabled", + EnabledForSessionHostsOnly: "EnabledForSessionHostsOnly", + EnabledForClientsOnly: "EnabledForClientsOnly", +} as const; + +/** + * Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + */ +export type HostpoolPublicNetworkAccess = (typeof HostpoolPublicNetworkAccess)[keyof typeof HostpoolPublicNetworkAccess]; + +export const LoadBalancerType = { + BreadthFirst: "BreadthFirst", + DepthFirst: "DepthFirst", + Persistent: "Persistent", +} as const; + +/** + * The type of the load balancer. + */ +export type LoadBalancerType = (typeof LoadBalancerType)[keyof typeof LoadBalancerType]; + +export const PersonalDesktopAssignmentType = { + Automatic: "Automatic", + Direct: "Direct", +} as const; + +/** + * PersonalDesktopAssignment type for HostPool. + */ +export type PersonalDesktopAssignmentType = (typeof PersonalDesktopAssignmentType)[keyof typeof PersonalDesktopAssignmentType]; + +export const PreferredAppGroupType = { + None: "None", + Desktop: "Desktop", + RailApplications: "RailApplications", +} as const; + +/** + * The type of preferred application group type, default to Desktop Application Group + */ +export type PreferredAppGroupType = (typeof PreferredAppGroupType)[keyof typeof PreferredAppGroupType]; + +export const PrivateEndpointServiceConnectionStatus = { + Pending: "Pending", + Approved: "Approved", + Rejected: "Rejected", +} as const; + +/** + * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + */ +export type PrivateEndpointServiceConnectionStatus = (typeof PrivateEndpointServiceConnectionStatus)[keyof typeof PrivateEndpointServiceConnectionStatus]; + +export const PublicNetworkAccess = { + Enabled: "Enabled", + Disabled: "Disabled", +} as const; + +/** + * Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + */ +export type PublicNetworkAccess = (typeof PublicNetworkAccess)[keyof typeof PublicNetworkAccess]; + +export const RegistrationTokenOperation = { + Delete: "Delete", + None: "None", + Update: "Update", +} as const; + +/** + * The type of resetting the token. + */ +export type RegistrationTokenOperation = (typeof RegistrationTokenOperation)[keyof typeof RegistrationTokenOperation]; + +export const RemoteApplicationType = { + InBuilt: "InBuilt", + MsixApplication: "MsixApplication", +} as const; + +/** + * Resource Type of Application. + */ +export type RemoteApplicationType = (typeof RemoteApplicationType)[keyof typeof RemoteApplicationType]; + +export const ResourceIdentityType = { + SystemAssigned: "SystemAssigned", +} as const; + +/** + * The identity type. + */ +export type ResourceIdentityType = (typeof ResourceIdentityType)[keyof typeof ResourceIdentityType]; + +export const SSOSecretType = { + SharedKey: "SharedKey", + Certificate: "Certificate", + SharedKeyInKeyVault: "SharedKeyInKeyVault", + CertificateInKeyVault: "CertificateInKeyVault", +} as const; + +/** + * The type of single sign on Secret Type. + */ +export type SSOSecretType = (typeof SSOSecretType)[keyof typeof SSOSecretType]; + +export const ScalingHostPoolType = { + /** + * Users get a new (random) SessionHost every time it connects to the HostPool. + */ + Pooled: "Pooled", +} as const; + +/** + * HostPool type for desktop. + */ +export type ScalingHostPoolType = (typeof ScalingHostPoolType)[keyof typeof ScalingHostPoolType]; + +export const SessionHandlingOperation = { + None: "None", + Deallocate: "Deallocate", +} as const; + +/** + * Action to be taken after a logoff during the ramp up period. + */ +export type SessionHandlingOperation = (typeof SessionHandlingOperation)[keyof typeof SessionHandlingOperation]; + +export const SessionHostComponentUpdateType = { + /** + * Agent and other agent side components are delivery schedule is controlled by WVD Infra. + */ + Default: "Default", + /** + * TenantAdmin have opted in for Scheduled Component Update feature. + */ + Scheduled: "Scheduled", +} as const; + +/** + * The type of maintenance for session host components. + */ +export type SessionHostComponentUpdateType = (typeof SessionHostComponentUpdateType)[keyof typeof SessionHostComponentUpdateType]; + +export const SessionHostLoadBalancingAlgorithm = { + BreadthFirst: "BreadthFirst", + DepthFirst: "DepthFirst", +} as const; + +/** + * Load balancing algorithm for ramp up period. + */ +export type SessionHostLoadBalancingAlgorithm = (typeof SessionHostLoadBalancingAlgorithm)[keyof typeof SessionHostLoadBalancingAlgorithm]; + +export const SetStartVMOnConnect = { + Enable: "Enable", + Disable: "Disable", +} as const; + +/** + * The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + */ +export type SetStartVMOnConnect = (typeof SetStartVMOnConnect)[keyof typeof SetStartVMOnConnect]; + +export const SkuTier = { + Free: "Free", + Basic: "Basic", + Standard: "Standard", + Premium: "Premium", +} as const; + +/** + * This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + */ +export type SkuTier = (typeof SkuTier)[keyof typeof SkuTier]; + +export const StartupBehavior = { + /** + * Session hosts will not be started by the service. This setting depends on Start VM on Connect to be enabled to start the session hosts. + */ + None: "None", + /** + * Session hosts with an assigned user will be started during Ramp Up + */ + WithAssignedUser: "WithAssignedUser", + /** + * All personal session hosts in the hostpool will be started during ramp up. + */ + All: "All", +} as const; + +/** + * The desired startup behavior during the ramp up period for personal vms in the hostpool. + */ +export type StartupBehavior = (typeof StartupBehavior)[keyof typeof StartupBehavior]; + +export const StopHostsWhen = { + ZeroSessions: "ZeroSessions", + ZeroActiveSessions: "ZeroActiveSessions", +} as const; + +/** + * Specifies when to stop hosts during ramp down period. + */ +export type StopHostsWhen = (typeof StopHostsWhen)[keyof typeof StopHostsWhen]; diff --git a/sdk/nodejs/types/enums/hdinsight/index.ts b/sdk/nodejs/types/enums/hdinsight/index.ts index 44a0471f1310..69255cb2bcc2 100644 --- a/sdk/nodejs/types/enums/hdinsight/index.ts +++ b/sdk/nodejs/types/enums/hdinsight/index.ts @@ -4,10 +4,12 @@ // Export sub-modules: import * as v20210601 from "./v20210601"; import * as v20230415preview from "./v20230415preview"; +import * as v20230601preview from "./v20230601preview"; export { v20210601, v20230415preview, + v20230601preview, }; export const DaysOfWeek = { diff --git a/sdk/nodejs/types/enums/hdinsight/v20230601preview/index.ts b/sdk/nodejs/types/enums/hdinsight/v20230601preview/index.ts new file mode 100644 index 000000000000..de19dba064a6 --- /dev/null +++ b/sdk/nodejs/types/enums/hdinsight/v20230601preview/index.ts @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const AutoscaleType = { + ScheduleBased: "ScheduleBased", + LoadBased: "LoadBased", +} as const; + +/** + * User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based. + */ +export type AutoscaleType = (typeof AutoscaleType)[keyof typeof AutoscaleType]; + +export const ComparisonOperator = { + GreaterThan: "greaterThan", + GreaterThanOrEqual: "greaterThanOrEqual", + LessThan: "lessThan", + LessThanOrEqual: "lessThanOrEqual", +} as const; + +/** + * The comparison operator. + */ +export type ComparisonOperator = (typeof ComparisonOperator)[keyof typeof ComparisonOperator]; + +export const ContentEncoding = { + Base64: "Base64", + None: "None", +} as const; + +/** + * This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content is base64 encoded. Set it to none or skip it if the content is plain text. + */ +export type ContentEncoding = (typeof ContentEncoding)[keyof typeof ContentEncoding]; + +export const KeyVaultObjectType = { + Key: "Key", + Secret: "Secret", + Certificate: "Certificate", +} as const; + +/** + * Type of key vault object: secret, key or certificate. + */ +export type KeyVaultObjectType = (typeof KeyVaultObjectType)[keyof typeof KeyVaultObjectType]; + +export const ScaleActionType = { + Scaleup: "scaleup", + Scaledown: "scaledown", +} as const; + +/** + * The action type. + */ +export type ScaleActionType = (typeof ScaleActionType)[keyof typeof ScaleActionType]; + +export const ScheduleDay = { + Sunday: "Sunday", + Monday: "Monday", + Tuesday: "Tuesday", + Wednesday: "Wednesday", + Thursday: "Thursday", + Friday: "Friday", + Saturday: "Saturday", +} as const; + +export type ScheduleDay = (typeof ScheduleDay)[keyof typeof ScheduleDay]; diff --git a/sdk/nodejs/types/enums/hybridcompute/index.ts b/sdk/nodejs/types/enums/hybridcompute/index.ts index 23a6a002a145..0394a3224fad 100644 --- a/sdk/nodejs/types/enums/hybridcompute/index.ts +++ b/sdk/nodejs/types/enums/hybridcompute/index.ts @@ -5,13 +5,11 @@ import * as v20200815preview from "./v20200815preview"; import * as v20220510preview from "./v20220510preview"; import * as v20221227 from "./v20221227"; -import * as v20230425preview from "./v20230425preview"; export { v20200815preview, v20220510preview, v20221227, - v20230425preview, }; export const AssessmentModeTypes = { diff --git a/sdk/nodejs/types/enums/hybridcompute/v20230425preview/index.ts b/sdk/nodejs/types/enums/hybridcompute/v20230425preview/index.ts deleted file mode 100644 index 58218ee498d2..000000000000 --- a/sdk/nodejs/types/enums/hybridcompute/v20230425preview/index.ts +++ /dev/null @@ -1,73 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - - -export const AssessmentModeTypes = { - ImageDefault: "ImageDefault", - AutomaticByPlatform: "AutomaticByPlatform", -} as const; - -/** - * Specifies the assessment mode. - */ -export type AssessmentModeTypes = (typeof AssessmentModeTypes)[keyof typeof AssessmentModeTypes]; - -export const PatchModeTypes = { - ImageDefault: "ImageDefault", - AutomaticByPlatform: "AutomaticByPlatform", - AutomaticByOS: "AutomaticByOS", - Manual: "Manual", -} as const; - -/** - * Specifies the patch mode. - */ -export type PatchModeTypes = (typeof PatchModeTypes)[keyof typeof PatchModeTypes]; - -export const PrivateCloudKind = { - AVS: "AVS", - HCI: "HCI", - SCVMM: "SCVMM", - VMware: "VMware", -} as const; - -/** - * Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - */ -export type PrivateCloudKind = (typeof PrivateCloudKind)[keyof typeof PrivateCloudKind]; - -export const PublicNetworkAccessType = { - /** - * Allows Azure Arc agents to communicate with Azure Arc services over both public (internet) and private endpoints. - */ - Enabled: "Enabled", - /** - * Does not allow Azure Arc agents to communicate with Azure Arc services over public (internet) endpoints. The agents must use the private link. - */ - Disabled: "Disabled", -} as const; - -/** - * Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. - */ -export type PublicNetworkAccessType = (typeof PublicNetworkAccessType)[keyof typeof PublicNetworkAccessType]; - -export const ResourceIdentityType = { - SystemAssigned: "SystemAssigned", -} as const; - -/** - * The identity type. - */ -export type ResourceIdentityType = (typeof ResourceIdentityType)[keyof typeof ResourceIdentityType]; - -export const StatusLevelTypes = { - Info: "Info", - Warning: "Warning", - Error: "Error", -} as const; - -/** - * The level code. - */ -export type StatusLevelTypes = (typeof StatusLevelTypes)[keyof typeof StatusLevelTypes]; diff --git a/sdk/nodejs/types/enums/index.ts b/sdk/nodejs/types/enums/index.ts index 66c23ccbe7f0..debab58aafac 100644 --- a/sdk/nodejs/types/enums/index.ts +++ b/sdk/nodejs/types/enums/index.ts @@ -121,6 +121,7 @@ import * as media from "./media"; import * as migrate from "./migrate"; import * as mixedreality from "./mixedreality"; import * as mobilenetwork from "./mobilenetwork"; +import * as mobilepacketcore from "./mobilepacketcore"; import * as netapp from "./netapp"; import * as network from "./network"; import * as networkcloud from "./networkcloud"; @@ -166,6 +167,7 @@ import * as storagecache from "./storagecache"; import * as storagemover from "./storagemover"; import * as storagepool from "./storagepool"; import * as storagesync from "./storagesync"; +import * as storagetasks from "./storagetasks"; import * as storsimple from "./storsimple"; import * as streamanalytics from "./streamanalytics"; import * as subscription from "./subscription"; @@ -303,6 +305,7 @@ export { migrate, mixedreality, mobilenetwork, + mobilepacketcore, netapp, network, networkcloud, @@ -348,6 +351,7 @@ export { storagemover, storagepool, storagesync, + storagetasks, storsimple, streamanalytics, subscription, diff --git a/sdk/nodejs/types/enums/managednetworkfabric/index.ts b/sdk/nodejs/types/enums/managednetworkfabric/index.ts index 49f5852f14b1..fa471caaba6b 100644 --- a/sdk/nodejs/types/enums/managednetworkfabric/index.ts +++ b/sdk/nodejs/types/enums/managednetworkfabric/index.ts @@ -117,7 +117,7 @@ export const EncapsulationType = { } as const; /** - * Encapsulation Type. + * Encapsulation Type that needs to be matched. */ export type EncapsulationType = (typeof EncapsulationType)[keyof typeof EncapsulationType]; @@ -210,7 +210,7 @@ export const PrefixType = { } as const; /** - * IP Prefix Type. + * IP Prefix Type that needs to be matched. */ export type PrefixType = (typeof PrefixType)[keyof typeof PrefixType]; @@ -240,7 +240,7 @@ export const SourceDestinationType = { } as const; /** - * IP Address type. + * IP Address type that needs to be matched. */ export type SourceDestinationType = (typeof SourceDestinationType)[keyof typeof SourceDestinationType]; diff --git a/sdk/nodejs/types/enums/managednetworkfabric/v20230615/index.ts b/sdk/nodejs/types/enums/managednetworkfabric/v20230615/index.ts index a44ea48f830a..23fd78dae454 100644 --- a/sdk/nodejs/types/enums/managednetworkfabric/v20230615/index.ts +++ b/sdk/nodejs/types/enums/managednetworkfabric/v20230615/index.ts @@ -59,7 +59,7 @@ export const CommunityActionTypes = { } as const; /** - * Action to be taken on the configuration. Example: Permit | Deny. + * Default action that needs to be applied when no condition is matched. Example: Permit | Deny. */ export type CommunityActionTypes = (typeof CommunityActionTypes)[keyof typeof CommunityActionTypes]; @@ -111,7 +111,7 @@ export const EncapsulationType = { } as const; /** - * Encapsulation Type. + * Encapsulation Type that needs to be matched. */ export type EncapsulationType = (typeof EncapsulationType)[keyof typeof EncapsulationType]; @@ -253,7 +253,7 @@ export const PrefixType = { } as const; /** - * IP Prefix Type. + * IP Prefix Type that needs to be matched. */ export type PrefixType = (typeof PrefixType)[keyof typeof PrefixType]; @@ -304,7 +304,7 @@ export const SourceDestinationType = { } as const; /** - * IP Address type. + * IP Address type that needs to be matched. */ export type SourceDestinationType = (typeof SourceDestinationType)[keyof typeof SourceDestinationType]; diff --git a/sdk/nodejs/types/enums/maps/index.ts b/sdk/nodejs/types/enums/maps/index.ts index eee596f5880f..4c37be329f9b 100644 --- a/sdk/nodejs/types/enums/maps/index.ts +++ b/sdk/nodejs/types/enums/maps/index.ts @@ -4,10 +4,12 @@ // Export sub-modules: import * as v20210201 from "./v20210201"; import * as v20211201preview from "./v20211201preview"; +import * as v20230601 from "./v20230601"; export { v20210201, v20211201preview, + v20230601, }; export const Kind = { diff --git a/sdk/nodejs/types/enums/maps/v20230601/index.ts b/sdk/nodejs/types/enums/maps/v20230601/index.ts new file mode 100644 index 000000000000..6f99dd0ca559 --- /dev/null +++ b/sdk/nodejs/types/enums/maps/v20230601/index.ts @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const IdentityType = { + SystemAssignedIdentity: "systemAssignedIdentity", + UserAssignedIdentity: "userAssignedIdentity", + DelegatedResourceIdentity: "delegatedResourceIdentity", +} as const; + +/** + * Values can be systemAssignedIdentity or userAssignedIdentity + */ +export type IdentityType = (typeof IdentityType)[keyof typeof IdentityType]; + +export const InfrastructureEncryption = { + Enabled: "enabled", + Disabled: "disabled", +} as const; + +/** + * Values are enabled and disabled. + */ +export type InfrastructureEncryption = (typeof InfrastructureEncryption)[keyof typeof InfrastructureEncryption]; + +export const Kind = { + Gen1: "Gen1", + Gen2: "Gen2", +} as const; + +/** + * Get or Set Kind property. + */ +export type Kind = (typeof Kind)[keyof typeof Kind]; + +export const ManagedServiceIdentityType = { + None: "None", + SystemAssigned: "SystemAssigned", + UserAssigned: "UserAssigned", + SystemAssigned_UserAssigned: "SystemAssigned, UserAssigned", +} as const; + +/** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ +export type ManagedServiceIdentityType = (typeof ManagedServiceIdentityType)[keyof typeof ManagedServiceIdentityType]; + +export const Name = { + S0: "S0", + S1: "S1", + G2: "G2", +} as const; + +/** + * The name of the SKU, in standard format (such as S0). + */ +export type Name = (typeof Name)[keyof typeof Name]; + +export const SigningKey = { + PrimaryKey: "primaryKey", + SecondaryKey: "secondaryKey", + ManagedIdentity: "managedIdentity", +} as const; + +/** + * The Map account key to use for signing. Picking `primaryKey` or `secondaryKey` will use the Map account Shared Keys, and using `managedIdentity` will use the auto-renewed private key to sign the SAS. + */ +export type SigningKey = (typeof SigningKey)[keyof typeof SigningKey]; diff --git a/sdk/nodejs/types/enums/mobilepacketcore/index.ts b/sdk/nodejs/types/enums/mobilepacketcore/index.ts new file mode 100644 index 000000000000..2be0939fdc3b --- /dev/null +++ b/sdk/nodejs/types/enums/mobilepacketcore/index.ts @@ -0,0 +1,113 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +// Export sub-modules: +import * as v20230515preview from "./v20230515preview"; + +export { + v20230515preview, +}; + +export const NetworkFunctionAdministrativeState = { + /** + * Resource has been commissioned + */ + Commissioned: "Commissioned", + /** + * Resource has been decommissioned + */ + Decommissioned: "Decommissioned", +} as const; + +/** + * Administrative state of the network function + */ +export type NetworkFunctionAdministrativeState = (typeof NetworkFunctionAdministrativeState)[keyof typeof NetworkFunctionAdministrativeState]; + +export const NetworkFunctionType = { + /** + * Access and Mobility Function + */ + AMF: "AMF", + /** + * Session Management Function + */ + SMF: "SMF", + /** + * User Plane Function + */ + UPF: "UPF", + /** + * Network Repository Function + */ + NRF: "NRF", + /** + * Network Slice Selection Function + */ + NSSF: "NSSF", + /** + * Mobility Management Entity + */ + MME: "MME", + /** + * System Architecture Evolution Gateway Control Plane, control and user plane separation (CUPS) architecture + */ + SaegwControlPlane: "SaegwControlPlane", + /** + * System Architecture Evolution Gateway User Plane, control and user plane separation (CUPS) architecture + */ + SaegwUserPlane: "SaegwUserPlane", + /** + * System Architecture Evolution Gateway. This combines the Serving Gateway (SGW) and the Packet Data Network Gateway (PGW) functionality + */ + Saegw: "Saegw", + /** + * Evolved Packet Data Gateway + */ + EPDG: "ePDG", + /** + * Non-3GPP Interworking Function + */ + N3IWF: "N3IWF", + /** + * Remote Platform As A Service Components + */ + RemotePaaS: "RemotePaaS", + /** + * Element Management System + */ + EMS: "EMS", + /** + * Operations and Policy Manager + */ + OperationsPolicyManager: "OperationsPolicyManager", +} as const; + +/** + * Type of network function + */ +export type NetworkFunctionType = (typeof NetworkFunctionType)[keyof typeof NetworkFunctionType]; + +export const SkuDefinitions = { + /** + * Azure Lab SKU + */ + AzureLab: "AzureLab", + /** + * Azure Production SKU + */ + AzureProduction: "AzureProduction", + /** + * Nexus Lab SKU + */ + NexusLab: "NexusLab", + /** + * Nexus Production SKU + */ + NexusProduction: "NexusProduction", +} as const; + +/** + * Provisioned SKU Value. + */ +export type SkuDefinitions = (typeof SkuDefinitions)[keyof typeof SkuDefinitions]; diff --git a/sdk/nodejs/types/enums/mobilepacketcore/v20230515preview/index.ts b/sdk/nodejs/types/enums/mobilepacketcore/v20230515preview/index.ts new file mode 100644 index 000000000000..8615bb68f248 --- /dev/null +++ b/sdk/nodejs/types/enums/mobilepacketcore/v20230515preview/index.ts @@ -0,0 +1,107 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const NetworkFunctionAdministrativeState = { + /** + * Resource has been commissioned + */ + Commissioned: "Commissioned", + /** + * Resource has been decommissioned + */ + Decommissioned: "Decommissioned", +} as const; + +/** + * Administrative state of the network function + */ +export type NetworkFunctionAdministrativeState = (typeof NetworkFunctionAdministrativeState)[keyof typeof NetworkFunctionAdministrativeState]; + +export const NetworkFunctionType = { + /** + * Access and Mobility Function + */ + AMF: "AMF", + /** + * Session Management Function + */ + SMF: "SMF", + /** + * User Plane Function + */ + UPF: "UPF", + /** + * Network Repository Function + */ + NRF: "NRF", + /** + * Network Slice Selection Function + */ + NSSF: "NSSF", + /** + * Mobility Management Entity + */ + MME: "MME", + /** + * System Architecture Evolution Gateway Control Plane, control and user plane separation (CUPS) architecture + */ + SaegwControlPlane: "SaegwControlPlane", + /** + * System Architecture Evolution Gateway User Plane, control and user plane separation (CUPS) architecture + */ + SaegwUserPlane: "SaegwUserPlane", + /** + * System Architecture Evolution Gateway. This combines the Serving Gateway (SGW) and the Packet Data Network Gateway (PGW) functionality + */ + Saegw: "Saegw", + /** + * Evolved Packet Data Gateway + */ + EPDG: "ePDG", + /** + * Non-3GPP Interworking Function + */ + N3IWF: "N3IWF", + /** + * Remote Platform As A Service Components + */ + RemotePaaS: "RemotePaaS", + /** + * Element Management System + */ + EMS: "EMS", + /** + * Operations and Policy Manager + */ + OperationsPolicyManager: "OperationsPolicyManager", +} as const; + +/** + * Type of network function + */ +export type NetworkFunctionType = (typeof NetworkFunctionType)[keyof typeof NetworkFunctionType]; + +export const SkuDefinitions = { + /** + * Azure Lab SKU + */ + AzureLab: "AzureLab", + /** + * Azure Production SKU + */ + AzureProduction: "AzureProduction", + /** + * Nexus Lab SKU + */ + NexusLab: "NexusLab", + /** + * Nexus Production SKU + */ + NexusProduction: "NexusProduction", +} as const; + +/** + * Provisioned SKU Value. + */ +export type SkuDefinitions = (typeof SkuDefinitions)[keyof typeof SkuDefinitions]; diff --git a/sdk/nodejs/types/enums/resourceconnector/index.ts b/sdk/nodejs/types/enums/resourceconnector/index.ts index e287e311419a..3f4467a58ac6 100644 --- a/sdk/nodejs/types/enums/resourceconnector/index.ts +++ b/sdk/nodejs/types/enums/resourceconnector/index.ts @@ -23,8 +23,6 @@ export const Provider = { VMWare: "VMWare", HCI: "HCI", SCVMM: "SCVMM", - KubeVirt: "KubeVirt", - OpenStack: "OpenStack", } as const; /** diff --git a/sdk/nodejs/types/enums/resourceconnector/v20221027/index.ts b/sdk/nodejs/types/enums/resourceconnector/v20221027/index.ts index 55e9fb0cebc8..e8128eec468a 100644 --- a/sdk/nodejs/types/enums/resourceconnector/v20221027/index.ts +++ b/sdk/nodejs/types/enums/resourceconnector/v20221027/index.ts @@ -15,8 +15,6 @@ export const Provider = { VMWare: "VMWare", HCI: "HCI", SCVMM: "SCVMM", - KubeVirt: "KubeVirt", - OpenStack: "OpenStack", } as const; /** diff --git a/sdk/nodejs/types/enums/storagetasks/index.ts b/sdk/nodejs/types/enums/storagetasks/index.ts new file mode 100644 index 000000000000..46ef31af6e89 --- /dev/null +++ b/sdk/nodejs/types/enums/storagetasks/index.ts @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +// Export sub-modules: +import * as v20230101 from "./v20230101"; + +export { + v20230101, +}; + +export const ManagedServiceIdentityType = { + None: "None", + SystemAssigned: "SystemAssigned", + UserAssigned: "UserAssigned", + SystemAssigned_UserAssigned: "SystemAssigned,UserAssigned", +} as const; + +/** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ +export type ManagedServiceIdentityType = (typeof ManagedServiceIdentityType)[keyof typeof ManagedServiceIdentityType]; + +export const OnFailure = { + Break: "break", +} as const; + +/** + * Action to be taken when the operation fails for a object. + */ +export type OnFailure = (typeof OnFailure)[keyof typeof OnFailure]; + +export const OnSuccess = { + Continue: "continue", +} as const; + +/** + * Action to be taken when the operation is successful for a object. + */ +export type OnSuccess = (typeof OnSuccess)[keyof typeof OnSuccess]; + +export const StorageTaskOperationName = { + SetBlobTier: "SetBlobTier", + SetBlobTags: "SetBlobTags", + SetBlobImmutabilityPolicy: "SetBlobImmutabilityPolicy", + SetBlobLegalHold: "SetBlobLegalHold", + SetBlobExpiry: "SetBlobExpiry", + DeleteBlob: "DeleteBlob", + UndeleteBlob: "UndeleteBlob", +} as const; + +/** + * The operation to be performed on the object. + */ +export type StorageTaskOperationName = (typeof StorageTaskOperationName)[keyof typeof StorageTaskOperationName]; diff --git a/sdk/nodejs/types/enums/storagetasks/v20230101/index.ts b/sdk/nodejs/types/enums/storagetasks/v20230101/index.ts new file mode 100644 index 000000000000..b7dbb7261d68 --- /dev/null +++ b/sdk/nodejs/types/enums/storagetasks/v20230101/index.ts @@ -0,0 +1,48 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const ManagedServiceIdentityType = { + None: "None", + SystemAssigned: "SystemAssigned", + UserAssigned: "UserAssigned", + SystemAssigned_UserAssigned: "SystemAssigned,UserAssigned", +} as const; + +/** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ +export type ManagedServiceIdentityType = (typeof ManagedServiceIdentityType)[keyof typeof ManagedServiceIdentityType]; + +export const OnFailure = { + Break: "break", +} as const; + +/** + * Action to be taken when the operation fails for a object. + */ +export type OnFailure = (typeof OnFailure)[keyof typeof OnFailure]; + +export const OnSuccess = { + Continue: "continue", +} as const; + +/** + * Action to be taken when the operation is successful for a object. + */ +export type OnSuccess = (typeof OnSuccess)[keyof typeof OnSuccess]; + +export const StorageTaskOperationName = { + SetBlobTier: "SetBlobTier", + SetBlobTags: "SetBlobTags", + SetBlobImmutabilityPolicy: "SetBlobImmutabilityPolicy", + SetBlobLegalHold: "SetBlobLegalHold", + SetBlobExpiry: "SetBlobExpiry", + DeleteBlob: "DeleteBlob", + UndeleteBlob: "UndeleteBlob", +} as const; + +/** + * The operation to be performed on the object. + */ +export type StorageTaskOperationName = (typeof StorageTaskOperationName)[keyof typeof StorageTaskOperationName]; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 9f52dc4499ae..0ce4c560a120 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -23900,6 +23900,427 @@ export namespace avs { } } + + export namespace v20230301 { + /** + * The properties of an Arc addon + */ + export interface AddonArcPropertiesArgs { + /** + * The type of private cloud addon + * Expected value is 'Arc'. + */ + addonType: pulumi.Input<"Arc">; + /** + * The VMware vCenter resource ID + */ + vCenter?: pulumi.Input; + } + + /** + * The properties of an HCX addon + */ + export interface AddonHcxPropertiesArgs { + /** + * The type of private cloud addon + * Expected value is 'HCX'. + */ + addonType: pulumi.Input<"HCX">; + /** + * The HCX offer, example VMware MaaS Cloud Provider (Enterprise) + */ + offer: pulumi.Input; + } + + /** + * The properties of a Site Recovery Manager (SRM) addon + */ + export interface AddonSrmPropertiesArgs { + /** + * The type of private cloud addon + * Expected value is 'SRM'. + */ + addonType: pulumi.Input<"SRM">; + /** + * The Site Recovery Manager (SRM) license + */ + licenseKey?: pulumi.Input; + } + + /** + * The properties of a vSphere Replication (VR) addon + */ + export interface AddonVrPropertiesArgs { + /** + * The type of private cloud addon + * Expected value is 'VR'. + */ + addonType: pulumi.Input<"VR">; + /** + * The vSphere Replication Server (VRS) count + */ + vrsCount: pulumi.Input; + } + + /** + * The properties describing private cloud availability zone distribution + */ + export interface AvailabilityPropertiesArgs { + /** + * The secondary availability zone for the private cloud + */ + secondaryZone?: pulumi.Input; + /** + * The availability strategy for the private cloud + */ + strategy?: pulumi.Input; + /** + * The primary availability zone for the private cloud + */ + zone?: pulumi.Input; + } + + /** + * An iSCSI volume from Microsoft.StoragePool provider + */ + export interface DiskPoolVolumeArgs { + /** + * Name of the LUN to be used for datastore + */ + lunName: pulumi.Input; + /** + * Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN + */ + mountOption?: pulumi.Input; + /** + * Azure resource ID of the iSCSI target + */ + targetId: pulumi.Input; + } + /** + * diskPoolVolumeArgsProvideDefaults sets the appropriate defaults for DiskPoolVolumeArgs + */ + export function diskPoolVolumeArgsProvideDefaults(val: DiskPoolVolumeArgs): DiskPoolVolumeArgs { + return { + ...val, + mountOption: (val.mountOption) ?? "MOUNT", + }; + } + + /** + * The properties of customer managed encryption key + */ + export interface EncryptionArgs { + /** + * The key vault where the encryption key is stored + */ + keyVaultProperties?: pulumi.Input; + /** + * Status of customer managed encryption key + */ + status?: pulumi.Input; + } + + /** + * An Encryption Key + */ + export interface EncryptionKeyVaultPropertiesArgs { + /** + * The name of the key. + */ + keyName?: pulumi.Input; + /** + * The URL of the vault. + */ + keyVaultUrl?: pulumi.Input; + /** + * The version of the key. + */ + keyVersion?: pulumi.Input; + } + + /** + * vCenter Single Sign On Identity Source + */ + export interface IdentitySourceArgs { + /** + * The domain's NetBIOS name + */ + alias?: pulumi.Input; + /** + * The base distinguished name for groups + */ + baseGroupDN?: pulumi.Input; + /** + * The base distinguished name for users + */ + baseUserDN?: pulumi.Input; + /** + * The domain's dns name + */ + domain?: pulumi.Input; + /** + * The name of the identity source + */ + name?: pulumi.Input; + /** + * The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups. + */ + password?: pulumi.Input; + /** + * Primary server URL + */ + primaryServer?: pulumi.Input; + /** + * Secondary server URL + */ + secondaryServer?: pulumi.Input; + /** + * Protect LDAP communication using SSL certificate (LDAPS) + */ + ssl?: pulumi.Input; + /** + * The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group + */ + username?: pulumi.Input; + } + + /** + * The properties of a management cluster + */ + export interface ManagementClusterArgs { + /** + * The cluster size + */ + clusterSize: pulumi.Input; + /** + * The hosts + */ + hosts?: pulumi.Input[]>; + } + + /** + * An Azure NetApp Files volume from Microsoft.NetApp provider + */ + export interface NetAppVolumeArgs { + /** + * Azure resource ID of the NetApp volume + */ + id: pulumi.Input; + } + + /** + * a powershell credential object + */ + export interface PSCredentialExecutionParameterArgs { + /** + * The parameter name + */ + name: pulumi.Input; + /** + * password for login + */ + password?: pulumi.Input; + /** + * The type of execution parameter + * Expected value is 'Credential'. + */ + type: pulumi.Input<"Credential">; + /** + * username for login + */ + username?: pulumi.Input; + } + + /** + * Identity for the virtual machine. + */ + export interface PrivateCloudIdentityArgs { + /** + * The type of identity used for the private cloud. The type 'SystemAssigned' refers to an implicitly created identity. The type 'None' will remove any identities from the Private Cloud. + */ + type?: pulumi.Input; + } + + /** + * a plain text value execution parameter + */ + export interface ScriptSecureStringExecutionParameterArgs { + /** + * The parameter name + */ + name: pulumi.Input; + /** + * A secure value for the passed parameter, not to be stored in logs + */ + secureValue?: pulumi.Input; + /** + * The type of execution parameter + * Expected value is 'SecureValue'. + */ + type: pulumi.Input<"SecureValue">; + } + + /** + * a plain text value execution parameter + */ + export interface ScriptStringExecutionParameterArgs { + /** + * The parameter name + */ + name: pulumi.Input; + /** + * The type of execution parameter + * Expected value is 'Value'. + */ + type: pulumi.Input<"Value">; + /** + * The value for the passed parameter + */ + value?: pulumi.Input; + } + + /** + * The resource model definition representing SKU + */ + export interface SkuArgs { + /** + * The name of the SKU. + */ + name: pulumi.Input; + } + + /** + * VM-Host placement policy properties + */ + export interface VmHostPlacementPolicyPropertiesArgs { + /** + * vm-host placement policy affinity strength (should/must) + */ + affinityStrength?: pulumi.Input; + /** + * placement policy affinity type + */ + affinityType: pulumi.Input; + /** + * placement policy azure hybrid benefit opt-in type + */ + azureHybridBenefitType?: pulumi.Input; + /** + * Display name of the placement policy + */ + displayName?: pulumi.Input; + /** + * Host members list + */ + hostMembers: pulumi.Input[]>; + /** + * Whether the placement policy is enabled or disabled + */ + state?: pulumi.Input; + /** + * placement policy type + * Expected value is 'VmHost'. + */ + type: pulumi.Input<"VmHost">; + /** + * Virtual machine members list + */ + vmMembers: pulumi.Input[]>; + } + + /** + * VM-VM placement policy properties + */ + export interface VmVmPlacementPolicyPropertiesArgs { + /** + * placement policy affinity type + */ + affinityType: pulumi.Input; + /** + * Display name of the placement policy + */ + displayName?: pulumi.Input; + /** + * Whether the placement policy is enabled or disabled + */ + state?: pulumi.Input; + /** + * placement policy type + * Expected value is 'VmVm'. + */ + type: pulumi.Input<"VmVm">; + /** + * Virtual machine members list + */ + vmMembers: pulumi.Input[]>; + } + + /** + * NSX DHCP Relay + */ + export interface WorkloadNetworkDhcpRelayArgs { + /** + * Type of DHCP: SERVER or RELAY. + * Expected value is 'RELAY'. + */ + dhcpType: pulumi.Input<"RELAY">; + /** + * Display name of the DHCP entity. + */ + displayName?: pulumi.Input; + /** + * NSX revision number. + */ + revision?: pulumi.Input; + /** + * DHCP Relay Addresses. Max 3. + */ + serverAddresses?: pulumi.Input[]>; + } + + /** + * NSX DHCP Server + */ + export interface WorkloadNetworkDhcpServerArgs { + /** + * Type of DHCP: SERVER or RELAY. + * Expected value is 'SERVER'. + */ + dhcpType: pulumi.Input<"SERVER">; + /** + * Display name of the DHCP entity. + */ + displayName?: pulumi.Input; + /** + * DHCP Server Lease Time. + */ + leaseTime?: pulumi.Input; + /** + * NSX revision number. + */ + revision?: pulumi.Input; + /** + * DHCP Server Address. + */ + serverAddress?: pulumi.Input; + } + + /** + * Subnet configuration for segment + */ + export interface WorkloadNetworkSegmentSubnetArgs { + /** + * DHCP Range assigned for subnet. + */ + dhcpRanges?: pulumi.Input[]>; + /** + * Gateway address. + */ + gatewayAddress?: pulumi.Input; + } + + } } export namespace azureactivedirectory { @@ -46369,6 +46790,2451 @@ export namespace compute { } } + + export namespace v20230402 { + /** + * Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + */ + export interface CopyCompletionErrorArgs { + /** + * Indicates the error code if the background copy of a resource created via the CopyStart operation fails. + */ + errorCode: pulumi.Input; + /** + * Indicates the error message if the background copy of a resource created via the CopyStart operation fails. + */ + errorMessage: pulumi.Input; + } + + /** + * Data used when creating a disk. + */ + export interface CreationDataArgs { + /** + * This enumerates the possible sources of a disk's creation. + */ + createOption: pulumi.Input; + /** + * Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san volume snapshot. + */ + elasticSanResourceId?: pulumi.Input; + /** + * Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + */ + galleryImageReference?: pulumi.Input; + /** + * Disk source information for PIR or user images. + */ + imageReference?: pulumi.Input; + /** + * Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default. + */ + logicalSectorSize?: pulumi.Input; + /** + * Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + */ + performancePlus?: pulumi.Input; + /** + * If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state. + */ + securityDataUri?: pulumi.Input; + /** + * If createOption is Copy, this is the ARM id of the source snapshot or disk. + */ + sourceResourceId?: pulumi.Input; + /** + * If createOption is Import, this is the URI of a blob to be imported into a managed disk. + */ + sourceUri?: pulumi.Input; + /** + * Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk. + */ + storageAccountId?: pulumi.Input; + /** + * If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer). + */ + uploadSizeBytes?: pulumi.Input; + } + + /** + * Contains the security related information for the resource. + */ + export interface DiskSecurityProfileArgs { + /** + * ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key + */ + secureVMDiskEncryptionSetId?: pulumi.Input; + /** + * Specifies the SecurityType of the VM. Applicable for OS disks only. + */ + securityType?: pulumi.Input; + } + + /** + * The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + */ + export interface DiskSkuArgs { + /** + * The sku name. + */ + name?: pulumi.Input; + } + + /** + * Encryption at rest settings for disk or snapshot + */ + export interface EncryptionArgs { + /** + * ResourceId of the disk encryption set to use for enabling encryption at rest. + */ + diskEncryptionSetId?: pulumi.Input; + /** + * The type of key used to encrypt the data of the disk. + */ + type?: pulumi.Input; + } + + /** + * The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + */ + export interface EncryptionSetIdentityArgs { + /** + * The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys. + */ + type?: pulumi.Input; + /** + * The list of user identities associated with the disk encryption set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: pulumi.Input[]>; + } + + /** + * Encryption settings for disk or snapshot + */ + export interface EncryptionSettingsCollectionArgs { + /** + * Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged. + */ + enabled: pulumi.Input; + /** + * A collection of encryption settings, one for each disk volume. + */ + encryptionSettings?: pulumi.Input[]>; + /** + * Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + */ + encryptionSettingsVersion?: pulumi.Input; + } + + /** + * Encryption settings for one disk volume. + */ + export interface EncryptionSettingsElementArgs { + /** + * Key Vault Secret Url and vault id of the disk encryption key + */ + diskEncryptionKey?: pulumi.Input; + /** + * Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key. + */ + keyEncryptionKey?: pulumi.Input; + } + + /** + * The complex type of the extended location. + */ + export interface ExtendedLocationArgs { + /** + * The name of the extended location. + */ + name?: pulumi.Input; + /** + * The type of the extended location. + */ + type?: pulumi.Input; + } + + /** + * The source image used for creating the disk. + */ + export interface ImageDiskReferenceArgs { + /** + * A relative uri containing a community Azure Compute Gallery image reference. + */ + communityGalleryImageId?: pulumi.Input; + /** + * A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference. + */ + id?: pulumi.Input; + /** + * If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null. + */ + lun?: pulumi.Input; + /** + * A relative uri containing a direct shared Azure Compute Gallery image reference. + */ + sharedGalleryImageId?: pulumi.Input; + } + + /** + * Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + */ + export interface KeyForDiskEncryptionSetArgs { + /** + * Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value. + */ + keyUrl: pulumi.Input; + /** + * Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription. + */ + sourceVault?: pulumi.Input; + } + + /** + * Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + */ + export interface KeyVaultAndKeyReferenceArgs { + /** + * Url pointing to a key or secret in KeyVault + */ + keyUrl: pulumi.Input; + /** + * Resource id of the KeyVault containing the key or secret + */ + sourceVault: pulumi.Input; + } + + /** + * Key Vault Secret Url and vault id of the encryption key + */ + export interface KeyVaultAndSecretReferenceArgs { + /** + * Url pointing to a key or secret in KeyVault + */ + secretUrl: pulumi.Input; + /** + * Resource id of the KeyVault containing the key or secret + */ + sourceVault: pulumi.Input; + } + + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + export interface PrivateLinkServiceConnectionStateArgs { + /** + * A message indicating if changes on the service provider require any updates on the consumer. + */ + actionsRequired?: pulumi.Input; + /** + * The reason for approval/rejection of the connection. + */ + description?: pulumi.Input; + /** + * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + */ + status?: pulumi.Input; + } + + /** + * Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + */ + export interface PurchasePlanArgs { + /** + * The plan ID. + */ + name: pulumi.Input; + /** + * Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + */ + product: pulumi.Input; + /** + * The Offer Promotion Code. + */ + promotionCode?: pulumi.Input; + /** + * The publisher ID. + */ + publisher: pulumi.Input; + } + + /** + * The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + */ + export interface SnapshotSkuArgs { + /** + * The sku name. + */ + name?: pulumi.Input; + } + + /** + * The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + */ + export interface SourceVaultArgs { + /** + * Resource Id + */ + id?: pulumi.Input; + } + + /** + * List of supported capabilities persisted on the disk resource for VM use. + */ + export interface SupportedCapabilitiesArgs { + /** + * True if the image from which the OS disk is created supports accelerated networking. + */ + acceleratedNetwork?: pulumi.Input; + /** + * CPU architecture supported by an OS disk. + */ + architecture?: pulumi.Input; + /** + * The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI. + */ + diskControllerTypes?: pulumi.Input; + } + + } + + export namespace v20230701 { + /** + * Enables or disables a capability on the virtual machine or virtual machine scale set. + */ + export interface AdditionalCapabilitiesArgs { + /** + * The flag that enables or disables hibernation capability on the VM. + */ + hibernationEnabled?: pulumi.Input; + /** + * The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. + */ + ultraSSDEnabled?: pulumi.Input; + } + + /** + * Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + */ + export interface AdditionalUnattendContentArgs { + /** + * The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. + */ + componentName?: pulumi.Input; + /** + * Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted. + */ + content?: pulumi.Input; + /** + * The pass name. Currently, the only allowable value is OobeSystem. + */ + passName?: pulumi.Input; + /** + * Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. + */ + settingName?: pulumi.Input; + } + + /** + * The API entity reference. + */ + export interface ApiEntityReferenceArgs { + /** + * The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... + */ + id?: pulumi.Input; + } + + /** + * Contains the list of gallery applications that should be made available to the VM/VMSS + */ + export interface ApplicationProfileArgs { + /** + * Specifies the gallery applications that should be made available to the VM/VMSS + */ + galleryApplications?: pulumi.Input[]>; + } + + /** + * The configuration parameters used for performing automatic OS upgrade. + */ + export interface AutomaticOSUpgradePolicyArgs { + /** + * Whether OS image rollback feature should be disabled. Default value is false. + */ + disableAutomaticRollback?: pulumi.Input; + /** + * Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true. + */ + enableAutomaticOSUpgrade?: pulumi.Input; + /** + * Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. + */ + useRollingUpgradePolicy?: pulumi.Input; + } + + /** + * Specifies the configuration parameters for automatic repairs on the virtual machine scale set. + */ + export interface AutomaticRepairsPolicyArgs { + /** + * Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false. + */ + enabled?: pulumi.Input; + /** + * The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M). + */ + gracePeriod?: pulumi.Input; + /** + * Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. + */ + repairAction?: pulumi.Input; + } + + /** + * Specifies the billing related details of a Azure Spot VM or VMSS. Minimum api-version: 2019-03-01. + */ + export interface BillingProfileArgs { + /** + * Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.

The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.

Possible values are:

- Any decimal value greater than zero. Example: 0.01538

-1 – indicates default price to be up-to on-demand.

You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

Minimum api-version: 2019-03-01. + */ + maxPrice?: pulumi.Input; + } + + /** + * Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + */ + export interface BootDiagnosticsArgs { + /** + * Whether boot diagnostics should be enabled on the Virtual Machine. + */ + enabled?: pulumi.Input; + /** + * Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + */ + storageUri?: pulumi.Input; + } + + /** + * The parameters of a capacity reservation Profile. + */ + export interface CapacityReservationProfileArgs { + /** + * Specifies the capacity reservation group resource id that should be used for allocating the virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details. + */ + capacityReservationGroup?: pulumi.Input; + } + + /** + * Describes a data disk. + */ + export interface DataDiskArgs { + /** + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + */ + caching?: pulumi.Input; + /** + * Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + */ + createOption: pulumi.Input; + /** + * Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the data disk is deleted when VM is deleted. **Detach.** If this value is used, the data disk is retained after VM is deleted. The default value is set to **Detach**. + */ + deleteOption?: pulumi.Input; + /** + * Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + */ + detachOption?: pulumi.Input; + /** + * Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + */ + diskSizeGB?: pulumi.Input; + /** + * The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + */ + image?: pulumi.Input; + /** + * Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + */ + lun: pulumi.Input; + /** + * The managed disk parameters. + */ + managedDisk?: pulumi.Input; + /** + * The disk name. + */ + name?: pulumi.Input; + /** + * Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset + */ + toBeDetached?: pulumi.Input; + /** + * The virtual hard disk. + */ + vhd?: pulumi.Input; + /** + * Specifies whether writeAccelerator should be enabled or disabled on the disk. + */ + writeAcceleratorEnabled?: pulumi.Input; + } + + /** + * Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + */ + export interface DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs { + /** + * The flag that enables or disables a capability to have UltraSSD Enabled Virtual Machines on Dedicated Hosts of the Dedicated Host Group. For the Virtual Machines to be UltraSSD Enabled, UltraSSDEnabled flag for the resource needs to be set true as well. The value is defaulted to 'false' when not provided. Please refer to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd for more details on Ultra SSD feature. **Note:** The ultraSSDEnabled setting can only be enabled for Host Groups that are created as zonal. Minimum api-version: 2022-03-01. + */ + ultraSSDEnabled?: pulumi.Input; + } + + /** + * Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + */ + export interface DiagnosticsProfileArgs { + /** + * Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. **NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + */ + bootDiagnostics?: pulumi.Input; + } + + /** + * Describes the parameters of ephemeral disk settings that can be specified for operating system disk. **Note:** The ephemeral disk settings can only be specified for managed disk. + */ + export interface DiffDiskSettingsArgs { + /** + * Specifies the ephemeral disk settings for operating system disk. + */ + option?: pulumi.Input; + /** + * Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + */ + placement?: pulumi.Input; + } + + /** + * Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + */ + export interface DiskEncryptionSetParametersArgs { + /** + * Resource Id + */ + id?: pulumi.Input; + } + + /** + * Describes a Encryption Settings for a Disk + */ + export interface DiskEncryptionSettingsArgs { + /** + * Specifies the location of the disk encryption key, which is a Key Vault Secret. + */ + diskEncryptionKey?: pulumi.Input; + /** + * Specifies whether disk encryption should be enabled on the virtual machine. + */ + enabled?: pulumi.Input; + /** + * Specifies the location of the key encryption key in Key Vault. + */ + keyEncryptionKey?: pulumi.Input; + } + + /** + * Disk Restore Point details. + */ + export interface DiskRestorePointAttributesArgs { + /** + * Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + */ + encryption?: pulumi.Input; + /** + * Resource Id of the source disk restore point. + */ + sourceDiskRestorePoint?: pulumi.Input; + } + + /** + * The complex type of the extended location. + */ + export interface ExtendedLocationArgs { + /** + * The name of the extended location. + */ + name?: pulumi.Input; + /** + * The type of the extended location. + */ + type?: pulumi.Input; + } + + /** + * Specifies the hardware settings for the virtual machine. + */ + export interface HardwareProfileArgs { + /** + * Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. + */ + vmSize?: pulumi.Input; + /** + * Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + */ + vmSizeProperties?: pulumi.Input; + } + + /** + * Describes a data disk. + */ + export interface ImageDataDiskArgs { + /** + * The Virtual Hard Disk. + */ + blobUri?: pulumi.Input; + /** + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + */ + caching?: pulumi.Input; + /** + * Specifies the customer managed disk encryption set resource id for the managed image disk. + */ + diskEncryptionSet?: pulumi.Input; + /** + * Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + */ + diskSizeGB?: pulumi.Input; + /** + * Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + */ + lun: pulumi.Input; + /** + * The managedDisk. + */ + managedDisk?: pulumi.Input; + /** + * The snapshot. + */ + snapshot?: pulumi.Input; + /** + * Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + */ + storageAccountType?: pulumi.Input; + } + + /** + * Describes an Operating System disk. + */ + export interface ImageOSDiskArgs { + /** + * The Virtual Hard Disk. + */ + blobUri?: pulumi.Input; + /** + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + */ + caching?: pulumi.Input; + /** + * Specifies the customer managed disk encryption set resource id for the managed image disk. + */ + diskEncryptionSet?: pulumi.Input; + /** + * Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + */ + diskSizeGB?: pulumi.Input; + /** + * The managedDisk. + */ + managedDisk?: pulumi.Input; + /** + * The OS State. For managed images, use Generalized. + */ + osState: pulumi.Input; + /** + * This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. Possible values are: **Windows,** **Linux.** + */ + osType: pulumi.Input; + /** + * The snapshot. + */ + snapshot?: pulumi.Input; + /** + * Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + */ + storageAccountType?: pulumi.Input; + } + + /** + * Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set. + */ + export interface ImageReferenceArgs { + /** + * Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call. + */ + communityGalleryImageId?: pulumi.Input; + /** + * Resource Id + */ + id?: pulumi.Input; + /** + * Specifies the offer of the platform image or marketplace image used to create the virtual machine. + */ + offer?: pulumi.Input; + /** + * The image publisher. + */ + publisher?: pulumi.Input; + /** + * Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call. + */ + sharedGalleryImageId?: pulumi.Input; + /** + * The image SKU. + */ + sku?: pulumi.Input; + /** + * Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input. + */ + version?: pulumi.Input; + } + + /** + * Describes a storage profile. + */ + export interface ImageStorageProfileArgs { + /** + * Specifies the parameters that are used to add a data disk to a virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + */ + dataDisks?: pulumi.Input[]>; + /** + * Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + */ + osDisk?: pulumi.Input; + /** + * Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). + */ + zoneResilient?: pulumi.Input; + } + + /** + * Instance view status. + */ + export interface InstanceViewStatusArgs { + /** + * The status code. + */ + code?: pulumi.Input; + /** + * The short localizable label for the status. + */ + displayStatus?: pulumi.Input; + /** + * The level code. + */ + level?: pulumi.Input; + /** + * The detailed status message, including for alerts and error messages. + */ + message?: pulumi.Input; + /** + * The time of the status. + */ + time?: pulumi.Input; + } + + /** + * Describes a reference to Key Vault Key + */ + export interface KeyVaultKeyReferenceArgs { + /** + * The URL referencing a key encryption key in Key Vault. + */ + keyUrl: pulumi.Input; + /** + * The relative URL of the Key Vault containing the key. + */ + sourceVault: pulumi.Input; + } + + /** + * Describes a reference to Key Vault Secret + */ + export interface KeyVaultSecretReferenceArgs { + /** + * The URL referencing a secret in a Key Vault. + */ + secretUrl: pulumi.Input; + /** + * The relative URL of the Key Vault containing the secret. + */ + sourceVault: pulumi.Input; + } + + /** + * Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + */ + export interface LinuxConfigurationArgs { + /** + * Specifies whether password authentication should be disabled. + */ + disablePasswordAuthentication?: pulumi.Input; + /** + * Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false. + */ + enableVMAgentPlatformUpdates?: pulumi.Input; + /** + * [Preview Feature] Specifies settings related to VM Guest Patching on Linux. + */ + patchSettings?: pulumi.Input; + /** + * Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + */ + provisionVMAgent?: pulumi.Input; + /** + * Specifies the ssh key configuration for a Linux OS. + */ + ssh?: pulumi.Input; + } + + /** + * Specifies settings related to VM Guest Patching on Linux. + */ + export interface LinuxPatchSettingsArgs { + /** + * Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + */ + assessmentMode?: pulumi.Input; + /** + * Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux. + */ + automaticByPlatformSettings?: pulumi.Input; + /** + * Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**ImageDefault** - The virtual machine's default patching configuration is used.

**AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true + */ + patchMode?: pulumi.Input; + } + + /** + * Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings. + */ + export interface LinuxVMGuestPatchAutomaticByPlatformSettingsArgs { + /** + * Enables customer to schedule patching without accidental upgrades + */ + bypassPlatformSafetyChecksOnUserSchedule?: pulumi.Input; + /** + * Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + */ + rebootSetting?: pulumi.Input; + } + + /** + * The parameters of a managed disk. + */ + export interface ManagedDiskParametersArgs { + /** + * Specifies the customer managed disk encryption set resource id for the managed disk. + */ + diskEncryptionSet?: pulumi.Input; + /** + * Resource Id + */ + id?: pulumi.Input; + /** + * Specifies the security profile for the managed disk. + */ + securityProfile?: pulumi.Input; + /** + * Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + */ + storageAccountType?: pulumi.Input; + } + + /** + * Describes a network interface reference. + */ + export interface NetworkInterfaceReferenceArgs { + /** + * Specify what happens to the network interface when the VM is deleted + */ + deleteOption?: pulumi.Input; + /** + * Resource Id + */ + id?: pulumi.Input; + /** + * Specifies the primary network interface in case the virtual machine has more than 1 network interface. + */ + primary?: pulumi.Input; + } + + /** + * Specifies the network interfaces or the networking configuration of the virtual machine. + */ + export interface NetworkProfileArgs { + /** + * specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations + */ + networkApiVersion?: pulumi.Input; + /** + * Specifies the networking configurations that will be used to create the virtual machine networking resources. + */ + networkInterfaceConfigurations?: pulumi.Input[]>; + /** + * Specifies the list of resource Ids for the network interfaces associated with the virtual machine. + */ + networkInterfaces?: pulumi.Input[]>; + } + + /** + * Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + */ + export interface OSDiskArgs { + /** + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + */ + caching?: pulumi.Input; + /** + * Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + */ + createOption: pulumi.Input; + /** + * Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the OS disk is deleted when VM is deleted. **Detach.** If this value is used, the os disk is retained after VM is deleted. The default value is set to **Detach**. For an ephemeral OS Disk, the default value is set to **Delete**. The user cannot change the delete option for an ephemeral OS Disk. + */ + deleteOption?: pulumi.Input; + /** + * Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine. + */ + diffDiskSettings?: pulumi.Input; + /** + * Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + */ + diskSizeGB?: pulumi.Input; + /** + * Specifies the encryption settings for the OS Disk. Minimum api-version: 2015-06-15. + */ + encryptionSettings?: pulumi.Input; + /** + * The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + */ + image?: pulumi.Input; + /** + * The managed disk parameters. + */ + managedDisk?: pulumi.Input; + /** + * The disk name. + */ + name?: pulumi.Input; + /** + * This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + */ + osType?: pulumi.Input; + /** + * The virtual hard disk. + */ + vhd?: pulumi.Input; + /** + * Specifies whether writeAccelerator should be enabled or disabled on the disk. + */ + writeAcceleratorEnabled?: pulumi.Input; + } + + export interface OSImageNotificationProfileArgs { + /** + * Specifies whether the OS Image Scheduled event is enabled or disabled. + */ + enable?: pulumi.Input; + /** + * Length of time a Virtual Machine being reimaged or having its OS upgraded will have to potentially approve the OS Image Scheduled Event before the event is auto approved (timed out). The configuration is specified in ISO 8601 format, and the value must be 15 minutes (PT15M) + */ + notBeforeTimeout?: pulumi.Input; + } + + /** + * Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned. + */ + export interface OSProfileArgs { + /** + * Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + */ + adminPassword?: pulumi.Input; + /** + * Specifies the name of the administrator account.

This property cannot be updated after the VM is created.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters. + */ + adminUsername?: pulumi.Input; + /** + * Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine. + */ + allowExtensionOperations?: pulumi.Input; + /** + * Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters. **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules). + */ + computerName?: pulumi.Input; + /** + * Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property 'customData' is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init). + */ + customData?: pulumi.Input; + /** + * Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + */ + linuxConfiguration?: pulumi.Input; + /** + * Optional property which must either be set to True or omitted. + */ + requireGuestProvisionSignal?: pulumi.Input; + /** + * Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + */ + secrets?: pulumi.Input[]>; + /** + * Specifies Windows operating system settings on the virtual machine. + */ + windowsConfiguration?: pulumi.Input; + } + + /** + * Specifies settings related to VM Guest Patching on Windows. + */ + export interface PatchSettingsArgs { + /** + * Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + */ + assessmentMode?: pulumi.Input; + /** + * Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Windows. + */ + automaticByPlatformSettings?: pulumi.Input; + /** + * Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + */ + enableHotpatching?: pulumi.Input; + /** + * Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

**AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true + */ + patchMode?: pulumi.Input; + } + + /** + * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + */ + export interface PlanArgs { + /** + * The plan ID. + */ + name?: pulumi.Input; + /** + * Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + */ + product?: pulumi.Input; + /** + * The promotion code. + */ + promotionCode?: pulumi.Input; + /** + * The publisher ID. + */ + publisher?: pulumi.Input; + } + + /** + * Specifies the target splits for Spot and Regular priority VMs within a scale set with flexible orchestration mode. With this property the customer is able to specify the base number of regular priority VMs created as the VMSS flex instance scales out and the split between Spot and Regular priority VMs after this base target has been reached. + */ + export interface PriorityMixPolicyArgs { + /** + * The base number of regular priority VMs that will be created in this scale set as it scales out. + */ + baseRegularPriorityCount?: pulumi.Input; + /** + * The percentage of VM instances, after the base regular priority count has been reached, that are expected to use regular priority. + */ + regularPriorityPercentageAboveBase?: pulumi.Input; + } + + /** + * Specifies the user intent of the proximity placement group. + */ + export interface ProximityPlacementGroupPropertiesIntentArgs { + /** + * Specifies possible sizes of virtual machines that can be created in the proximity placement group. + */ + vmSizes?: pulumi.Input[]>; + } + + /** + * Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + */ + export interface PublicIPAddressSkuArgs { + /** + * Specify public IP sku name + */ + name?: pulumi.Input; + /** + * Specify public IP sku tier + */ + tier?: pulumi.Input; + } + + /** + * The properties of the source resource that this restore point collection is created from. + */ + export interface RestorePointCollectionSourcePropertiesArgs { + /** + * Resource Id of the source resource used to create this restore point collection + */ + id?: pulumi.Input; + } + + /** + * Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + */ + export interface RestorePointEncryptionArgs { + /** + * Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + */ + diskEncryptionSet?: pulumi.Input; + /** + * The type of key used to encrypt the data of the disk restore point. + */ + type?: pulumi.Input; + } + + /** + * Describes the properties of the Virtual Machine for which the restore point was created. The properties provided are a subset and the snapshot of the overall Virtual Machine properties captured at the time of the restore point creation. + */ + export interface RestorePointSourceMetadataArgs { + /** + * Gets the storage profile. + */ + storageProfile?: pulumi.Input; + } + + /** + * Describes a data disk. + */ + export interface RestorePointSourceVMDataDiskArgs { + /** + * Contains Disk Restore Point properties. + */ + diskRestorePoint?: pulumi.Input; + /** + * Contains the managed disk details. + */ + managedDisk?: pulumi.Input; + } + + /** + * Describes an Operating System disk. + */ + export interface RestorePointSourceVMOSDiskArgs { + /** + * Contains Disk Restore Point properties. + */ + diskRestorePoint?: pulumi.Input; + /** + * Gets the managed disk details + */ + managedDisk?: pulumi.Input; + } + + /** + * Describes the storage profile. + */ + export interface RestorePointSourceVMStorageProfileArgs { + /** + * Gets the data disks of the VM captured at the time of the restore point creation. + */ + dataDisks?: pulumi.Input[]>; + /** + * Gets the OS disk of the VM captured at the time of the restore point creation. + */ + osDisk?: pulumi.Input; + } + + /** + * The configuration parameters used while performing a rolling upgrade. + */ + export interface RollingUpgradePolicyArgs { + /** + * Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size. + */ + enableCrossZoneUpgrade?: pulumi.Input; + /** + * The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. + */ + maxBatchInstancePercent?: pulumi.Input; + /** + * Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. + */ + maxSurge?: pulumi.Input; + /** + * The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%. + */ + maxUnhealthyInstancePercent?: pulumi.Input; + /** + * The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%. + */ + maxUnhealthyUpgradedInstancePercent?: pulumi.Input; + /** + * The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). + */ + pauseTimeBetweenBatches?: pulumi.Input; + /** + * Upgrade all unhealthy instances in a scale set before any healthy instances. + */ + prioritizeUnhealthyInstances?: pulumi.Input; + /** + * Rollback failed instances to previous model if the Rolling Upgrade policy is violated. + */ + rollbackFailedInstancesOnPolicyBreach?: pulumi.Input; + } + + /** + * Describes the properties of a run command parameter. + */ + export interface RunCommandInputParameterArgs { + /** + * The run command parameter name. + */ + name: pulumi.Input; + /** + * The run command parameter value. + */ + value: pulumi.Input; + } + + /** + * Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + */ + export interface RunCommandManagedIdentityArgs { + /** + * Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. + */ + clientId?: pulumi.Input; + /** + * Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. + */ + objectId?: pulumi.Input; + } + + /** + * Describes a scale-in policy for a virtual machine scale set. + */ + export interface ScaleInPolicyArgs { + /** + * This property allows you to specify if virtual machines chosen for removal have to be force deleted when a virtual machine scale set is being scaled-in.(Feature in Preview) + */ + forceDeletion?: pulumi.Input; + /** + * The rules to be followed when scaling-in a virtual machine scale set.

Possible values are:

**Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

**OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

**NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

+ */ + rules?: pulumi.Input[]>; + } + + export interface ScheduledEventsProfileArgs { + /** + * Specifies OS Image Scheduled Event related configurations. + */ + osImageNotificationProfile?: pulumi.Input; + /** + * Specifies Terminate Scheduled Event related configurations. + */ + terminateNotificationProfile?: pulumi.Input; + } + + /** + * Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + */ + export interface SecurityPostureReferenceArgs { + /** + * List of virtual machine extensions to exclude when applying the Security Posture. + */ + excludeExtensions?: pulumi.Input[]>; + /** + * The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest + */ + id?: pulumi.Input; + } + + /** + * Specifies the Security profile settings for the virtual machine or virtual machine scale set. + */ + export interface SecurityProfileArgs { + /** + * This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. The default behavior is: The Encryption at host will be disabled unless this property is set to true for the resource. + */ + encryptionAtHost?: pulumi.Input; + /** + * Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set. + */ + securityType?: pulumi.Input; + /** + * Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + */ + uefiSettings?: pulumi.Input; + } + + /** + * Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + */ + export interface ServiceArtifactReferenceArgs { + /** + * The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} + */ + id?: pulumi.Input; + } + + /** + * Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + */ + export interface SkuArgs { + /** + * Specifies the number of virtual machines in the scale set. + */ + capacity?: pulumi.Input; + /** + * The sku name. + */ + name?: pulumi.Input; + /** + * Specifies the tier of virtual machines in a scale set.

Possible Values:

**Standard**

**Basic** + */ + tier?: pulumi.Input; + } + + /** + * Specifies the Spot-Try-Restore properties for the virtual machine scale set. With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint. + */ + export interface SpotRestorePolicyArgs { + /** + * Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints + */ + enabled?: pulumi.Input; + /** + * Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances + */ + restoreTimeout?: pulumi.Input; + } + + /** + * SSH configuration for Linux based VMs running on Azure + */ + export interface SshConfigurationArgs { + /** + * The list of SSH public keys used to authenticate with linux based VMs. + */ + publicKeys?: pulumi.Input[]>; + } + + /** + * Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + */ + export interface SshPublicKeyArgs { + /** + * SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + */ + keyData?: pulumi.Input; + /** + * Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + */ + path?: pulumi.Input; + } + + /** + * Specifies the storage settings for the virtual machine disks. + */ + export interface StorageProfileArgs { + /** + * Specifies the parameters that are used to add a data disk to a virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + */ + dataDisks?: pulumi.Input[]>; + /** + * Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01. + */ + diskControllerType?: pulumi.Input; + /** + * Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + */ + imageReference?: pulumi.Input; + /** + * Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + */ + osDisk?: pulumi.Input; + } + + export interface SubResourceArgs { + /** + * Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. + * An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. + * A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. + * Example of a relative ID: $self/frontEndConfigurations/my-frontend. + */ + id?: pulumi.Input; + } + + export interface TerminateNotificationProfileArgs { + /** + * Specifies whether the Terminate Scheduled event is enabled or disabled. + */ + enable?: pulumi.Input; + /** + * Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M) + */ + notBeforeTimeout?: pulumi.Input; + } + + /** + * Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + */ + export interface UefiSettingsArgs { + /** + * Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + */ + secureBootEnabled?: pulumi.Input; + /** + * Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + */ + vTpmEnabled?: pulumi.Input; + } + + /** + * Describes an upgrade policy - automatic, manual, or rolling. + */ + export interface UpgradePolicyArgs { + /** + * Configuration parameters used for performing automatic OS Upgrade. + */ + automaticOSUpgradePolicy?: pulumi.Input; + /** + * Specifies the mode of an upgrade to virtual machines in the scale set.

Possible values are:

**Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

**Automatic** - All virtual machines in the scale set are automatically updated at the same time. + */ + mode?: pulumi.Input; + /** + * The configuration parameters used while performing a rolling upgrade. + */ + rollingUpgradePolicy?: pulumi.Input; + } + + /** + * Specifies the security profile settings for the managed disk. **Note:** It can only be set for Confidential VMs. + */ + export interface VMDiskSecurityProfileArgs { + /** + * Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + */ + diskEncryptionSet?: pulumi.Input; + /** + * Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs. + */ + securityEncryptionType?: pulumi.Input; + } + + /** + * Specifies the required information to reference a compute gallery application version + */ + export interface VMGalleryApplicationArgs { + /** + * Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided + */ + configurationReference?: pulumi.Input; + /** + * If set to true, when a new Gallery Application version is available in PIR/SIG, it will be automatically updated for the VM/VMSS + */ + enableAutomaticUpgrade?: pulumi.Input; + /** + * Optional, Specifies the order in which the packages have to be installed + */ + order?: pulumi.Input; + /** + * Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + */ + packageReferenceId: pulumi.Input; + /** + * Optional, Specifies a passthrough value for more generic context. + */ + tags?: pulumi.Input; + /** + * Optional, If true, any failure for any operation in the VmApplication will fail the deployment + */ + treatFailureAsDeploymentFailure?: pulumi.Input; + } + + /** + * Specifies VM Size Property settings on the virtual machine. + */ + export interface VMSizePropertiesArgs { + /** + * Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). + */ + vCPUsAvailable?: pulumi.Input; + /** + * Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.** + */ + vCPUsPerCore?: pulumi.Input; + } + + /** + * Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + */ + export interface VaultCertificateArgs { + /** + * For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted. + */ + certificateStore?: pulumi.Input; + /** + * This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + */ + certificateUrl?: pulumi.Input; + } + + /** + * Describes a set of certificates which are all in the same Key Vault. + */ + export interface VaultSecretGroupArgs { + /** + * The relative URL of the Key Vault containing all of the certificates in VaultCertificates. + */ + sourceVault?: pulumi.Input; + /** + * The list of key vault references in SourceVault which contain certificates. + */ + vaultCertificates?: pulumi.Input[]>; + } + + /** + * Describes the uri of a disk. + */ + export interface VirtualHardDiskArgs { + /** + * Specifies the virtual hard disk's uri. + */ + uri?: pulumi.Input; + } + + /** + * Describes a Virtual Machine Extension. + */ + export interface VirtualMachineExtensionArgs { + /** + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + */ + autoUpgradeMinorVersion?: pulumi.Input; + /** + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + */ + enableAutomaticUpgrade?: pulumi.Input; + /** + * How the extension handler should be forced to update even if the extension configuration has not changed. + */ + forceUpdateTag?: pulumi.Input; + /** + * The virtual machine extension instance view. + */ + instanceView?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + */ + protectedSettings?: any; + /** + * The extensions protected settings that are passed by reference, and consumed from key vault + */ + protectedSettingsFromKeyVault?: pulumi.Input; + /** + * Collection of extension names after which this extension needs to be provisioned. + */ + provisionAfterExtensions?: pulumi.Input[]>; + /** + * The name of the extension handler publisher. + */ + publisher?: pulumi.Input; + /** + * Json formatted public settings for the extension. + */ + settings?: any; + /** + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + */ + suppressFailures?: pulumi.Input; + /** + * Resource tags + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Specifies the type of the extension; an example is "CustomScriptExtension". + */ + type?: pulumi.Input; + /** + * Specifies the version of the script handler. + */ + typeHandlerVersion?: pulumi.Input; + } + + /** + * The instance view of a virtual machine extension. + */ + export interface VirtualMachineExtensionInstanceViewArgs { + /** + * The virtual machine extension name. + */ + name?: pulumi.Input; + /** + * The resource status information. + */ + statuses?: pulumi.Input[]>; + /** + * The resource status information. + */ + substatuses?: pulumi.Input[]>; + /** + * Specifies the type of the extension; an example is "CustomScriptExtension". + */ + type?: pulumi.Input; + /** + * Specifies the version of the script handler. + */ + typeHandlerVersion?: pulumi.Input; + } + + /** + * Identity for the virtual machine. + */ + export interface VirtualMachineIdentityArgs { + /** + * The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. + */ + type?: pulumi.Input; + /** + * The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: pulumi.Input[]>; + } + + /** + * Contains the IP tag associated with the public IP address. + */ + export interface VirtualMachineIpTagArgs { + /** + * IP tag type. Example: FirstPartyUsage. + */ + ipTagType?: pulumi.Input; + /** + * IP tag associated with the public IP. Example: SQL, Storage etc. + */ + tag?: pulumi.Input; + } + + /** + * Describes a virtual machine network interface configurations. + */ + export interface VirtualMachineNetworkInterfaceConfigurationArgs { + /** + * Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + */ + auxiliaryMode?: pulumi.Input; + /** + * Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + */ + auxiliarySku?: pulumi.Input; + /** + * Specify what happens to the network interface when the VM is deleted + */ + deleteOption?: pulumi.Input; + /** + * Specifies whether the network interface is disabled for tcp state tracking. + */ + disableTcpStateTracking?: pulumi.Input; + /** + * The dns settings to be applied on the network interfaces. + */ + dnsSettings?: pulumi.Input; + dscpConfiguration?: pulumi.Input; + /** + * Specifies whether the network interface is accelerated networking-enabled. + */ + enableAcceleratedNetworking?: pulumi.Input; + /** + * Specifies whether the network interface is FPGA networking-enabled. + */ + enableFpga?: pulumi.Input; + /** + * Whether IP forwarding enabled on this NIC. + */ + enableIPForwarding?: pulumi.Input; + /** + * Specifies the IP configurations of the network interface. + */ + ipConfigurations: pulumi.Input[]>; + /** + * The network interface configuration name. + */ + name: pulumi.Input; + /** + * The network security group. + */ + networkSecurityGroup?: pulumi.Input; + /** + * Specifies the primary network interface in case the virtual machine has more than 1 network interface. + */ + primary?: pulumi.Input; + } + + /** + * Describes a virtual machines network configuration's DNS settings. + */ + export interface VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs { + /** + * List of DNS servers IP addresses + */ + dnsServers?: pulumi.Input[]>; + } + + /** + * Describes a virtual machine network profile's IP configuration. + */ + export interface VirtualMachineNetworkInterfaceIPConfigurationArgs { + /** + * Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway. + */ + applicationGatewayBackendAddressPools?: pulumi.Input[]>; + /** + * Specifies an array of references to application security group. + */ + applicationSecurityGroups?: pulumi.Input[]>; + /** + * Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]. + */ + loadBalancerBackendAddressPools?: pulumi.Input[]>; + /** + * The IP configuration name. + */ + name: pulumi.Input; + /** + * Specifies the primary network interface in case the virtual machine has more than 1 network interface. + */ + primary?: pulumi.Input; + /** + * Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + */ + privateIPAddressVersion?: pulumi.Input; + /** + * The publicIPAddressConfiguration. + */ + publicIPAddressConfiguration?: pulumi.Input; + /** + * Specifies the identifier of the subnet. + */ + subnet?: pulumi.Input; + } + + /** + * Describes a virtual machines IP Configuration's PublicIPAddress configuration + */ + export interface VirtualMachinePublicIPAddressConfigurationArgs { + /** + * Specify what happens to the public IP address when the VM is deleted + */ + deleteOption?: pulumi.Input; + /** + * The dns settings to be applied on the publicIP addresses . + */ + dnsSettings?: pulumi.Input; + /** + * The idle timeout of the public IP address. + */ + idleTimeoutInMinutes?: pulumi.Input; + /** + * The list of IP tags associated with the public IP address. + */ + ipTags?: pulumi.Input[]>; + /** + * The publicIP address configuration name. + */ + name: pulumi.Input; + /** + * Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + */ + publicIPAddressVersion?: pulumi.Input; + /** + * Specify the public IP allocation type + */ + publicIPAllocationMethod?: pulumi.Input; + /** + * The PublicIPPrefix from which to allocate publicIP addresses. + */ + publicIPPrefix?: pulumi.Input; + /** + * Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + */ + sku?: pulumi.Input; + } + + /** + * Describes a virtual machines network configuration's DNS settings. + */ + export interface VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs { + /** + * The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID. + */ + domainNameLabel: pulumi.Input; + /** + * The Domain name label scope of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the hashed domain name label with policy according to the domain name label scope and vm network profile unique ID. + */ + domainNameLabelScope?: pulumi.Input; + } + + /** + * Describes the script sources for run command. Use only one of script, scriptUri, commandId. + */ + export interface VirtualMachineRunCommandScriptSourceArgs { + /** + * Specifies a commandId of predefined built-in script. + */ + commandId?: pulumi.Input; + /** + * Specifies the script content to be executed on the VM. + */ + script?: pulumi.Input; + /** + * Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. + */ + scriptUri?: pulumi.Input; + /** + * User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + */ + scriptUriManagedIdentity?: pulumi.Input; + } + + /** + * Describes a virtual machine scale set data disk. + */ + export interface VirtualMachineScaleSetDataDiskArgs { + /** + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + */ + caching?: pulumi.Input; + /** + * The create option. + */ + createOption: pulumi.Input; + /** + * Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Possible values:

**Delete** If this value is used, the data disk is deleted when the VMSS Flex VM is deleted.

**Detach** If this value is used, the data disk is retained after VMSS Flex VM is deleted.

The default value is set to **Delete**. + */ + deleteOption?: pulumi.Input; + /** + * Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + */ + diskIOPSReadWrite?: pulumi.Input; + /** + * Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + */ + diskMBpsReadWrite?: pulumi.Input; + /** + * Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + */ + diskSizeGB?: pulumi.Input; + /** + * Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + */ + lun: pulumi.Input; + /** + * The managed disk parameters. + */ + managedDisk?: pulumi.Input; + /** + * The disk name. + */ + name?: pulumi.Input; + /** + * Specifies whether writeAccelerator should be enabled or disabled on the disk. + */ + writeAcceleratorEnabled?: pulumi.Input; + } + + /** + * Describes a Virtual Machine Scale Set Extension. + */ + export interface VirtualMachineScaleSetExtensionArgs { + /** + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + */ + autoUpgradeMinorVersion?: pulumi.Input; + /** + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + */ + enableAutomaticUpgrade?: pulumi.Input; + /** + * If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + */ + forceUpdateTag?: pulumi.Input; + /** + * The name of the extension. + */ + name?: pulumi.Input; + /** + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + */ + protectedSettings?: any; + /** + * The extensions protected settings that are passed by reference, and consumed from key vault + */ + protectedSettingsFromKeyVault?: pulumi.Input; + /** + * Collection of extension names after which this extension needs to be provisioned. + */ + provisionAfterExtensions?: pulumi.Input[]>; + /** + * The name of the extension handler publisher. + */ + publisher?: pulumi.Input; + /** + * Json formatted public settings for the extension. + */ + settings?: any; + /** + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + */ + suppressFailures?: pulumi.Input; + /** + * Specifies the type of the extension; an example is "CustomScriptExtension". + */ + type?: pulumi.Input; + /** + * Specifies the version of the script handler. + */ + typeHandlerVersion?: pulumi.Input; + } + + /** + * Describes a virtual machine scale set extension profile. + */ + export interface VirtualMachineScaleSetExtensionProfileArgs { + /** + * The virtual machine scale set child extension resources. + */ + extensions?: pulumi.Input[]>; + /** + * Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + */ + extensionsTimeBudget?: pulumi.Input; + } + + /** + * Specifies the hardware settings for the virtual machine scale set. + */ + export interface VirtualMachineScaleSetHardwareProfileArgs { + /** + * Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-11-01. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + */ + vmSizeProperties?: pulumi.Input; + } + + /** + * Describes a virtual machine scale set network profile's IP configuration. + */ + export interface VirtualMachineScaleSetIPConfigurationArgs { + /** + * Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway. + */ + applicationGatewayBackendAddressPools?: pulumi.Input[]>; + /** + * Specifies an array of references to application security group. + */ + applicationSecurityGroups?: pulumi.Input[]>; + /** + * Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + */ + loadBalancerBackendAddressPools?: pulumi.Input[]>; + /** + * Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + */ + loadBalancerInboundNatPools?: pulumi.Input[]>; + /** + * The IP configuration name. + */ + name: pulumi.Input; + /** + * Specifies the primary network interface in case the virtual machine has more than 1 network interface. + */ + primary?: pulumi.Input; + /** + * Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + */ + privateIPAddressVersion?: pulumi.Input; + /** + * The publicIPAddressConfiguration. + */ + publicIPAddressConfiguration?: pulumi.Input; + /** + * Specifies the identifier of the subnet. + */ + subnet?: pulumi.Input; + } + + /** + * Identity for the virtual machine scale set. + */ + export interface VirtualMachineScaleSetIdentityArgs { + /** + * The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set. + */ + type?: pulumi.Input; + /** + * The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: pulumi.Input[]>; + } + + /** + * Contains the IP tag associated with the public IP address. + */ + export interface VirtualMachineScaleSetIpTagArgs { + /** + * IP tag type. Example: FirstPartyUsage. + */ + ipTagType?: pulumi.Input; + /** + * IP tag associated with the public IP. Example: SQL, Storage etc. + */ + tag?: pulumi.Input; + } + + /** + * Describes the parameters of a ScaleSet managed disk. + */ + export interface VirtualMachineScaleSetManagedDiskParametersArgs { + /** + * Specifies the customer managed disk encryption set resource id for the managed disk. + */ + diskEncryptionSet?: pulumi.Input; + /** + * Specifies the security profile for the managed disk. + */ + securityProfile?: pulumi.Input; + /** + * Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + */ + storageAccountType?: pulumi.Input; + } + + /** + * Describes a virtual machine scale set network profile's network configurations. + */ + export interface VirtualMachineScaleSetNetworkConfigurationArgs { + /** + * Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + */ + auxiliaryMode?: pulumi.Input; + /** + * Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + */ + auxiliarySku?: pulumi.Input; + /** + * Specify what happens to the network interface when the VM is deleted + */ + deleteOption?: pulumi.Input; + /** + * Specifies whether the network interface is disabled for tcp state tracking. + */ + disableTcpStateTracking?: pulumi.Input; + /** + * The dns settings to be applied on the network interfaces. + */ + dnsSettings?: pulumi.Input; + /** + * Specifies whether the network interface is accelerated networking-enabled. + */ + enableAcceleratedNetworking?: pulumi.Input; + /** + * Specifies whether the network interface is FPGA networking-enabled. + */ + enableFpga?: pulumi.Input; + /** + * Whether IP forwarding enabled on this NIC. + */ + enableIPForwarding?: pulumi.Input; + /** + * Specifies the IP configurations of the network interface. + */ + ipConfigurations: pulumi.Input[]>; + /** + * The network configuration name. + */ + name: pulumi.Input; + /** + * The network security group. + */ + networkSecurityGroup?: pulumi.Input; + /** + * Specifies the primary network interface in case the virtual machine has more than 1 network interface. + */ + primary?: pulumi.Input; + } + + /** + * Describes a virtual machines scale sets network configuration's DNS settings. + */ + export interface VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs { + /** + * List of DNS servers IP addresses + */ + dnsServers?: pulumi.Input[]>; + } + + /** + * Describes a virtual machine scale set network profile. + */ + export interface VirtualMachineScaleSetNetworkProfileArgs { + /** + * A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + */ + healthProbe?: pulumi.Input; + /** + * specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible' + */ + networkApiVersion?: pulumi.Input; + /** + * The list of network configurations. + */ + networkInterfaceConfigurations?: pulumi.Input[]>; + } + + /** + * Describes a virtual machine scale set operating system disk. + */ + export interface VirtualMachineScaleSetOSDiskArgs { + /** + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + */ + caching?: pulumi.Input; + /** + * Specifies how the virtual machines in the scale set should be created. The only allowed value is: **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described. + */ + createOption: pulumi.Input; + /** + * Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Possible values:

**Delete** If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.

**Detach** If this value is used, the OS disk is retained after VMSS Flex VM is deleted.

The default value is set to **Delete**. For an Ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for Ephemeral OS Disk. + */ + deleteOption?: pulumi.Input; + /** + * Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set. + */ + diffDiskSettings?: pulumi.Input; + /** + * Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + */ + diskSizeGB?: pulumi.Input; + /** + * Specifies information about the unmanaged user image to base the scale set on. + */ + image?: pulumi.Input; + /** + * The managed disk parameters. + */ + managedDisk?: pulumi.Input; + /** + * The disk name. + */ + name?: pulumi.Input; + /** + * This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + */ + osType?: pulumi.Input; + /** + * Specifies the container urls that are used to store operating system disks for the scale set. + */ + vhdContainers?: pulumi.Input[]>; + /** + * Specifies whether writeAccelerator should be enabled or disabled on the disk. + */ + writeAcceleratorEnabled?: pulumi.Input; + } + + /** + * Describes a virtual machine scale set OS profile. + */ + export interface VirtualMachineScaleSetOSProfileArgs { + /** + * Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + */ + adminPassword?: pulumi.Input; + /** + * Specifies the name of the administrator account.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters + */ + adminUsername?: pulumi.Input; + /** + * Specifies whether extension operations should be allowed on the virtual machine scale set. This may only be set to False when no extensions are present on the virtual machine scale set. + */ + allowExtensionOperations?: pulumi.Input; + /** + * Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long. + */ + computerNamePrefix?: pulumi.Input; + /** + * Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) + */ + customData?: pulumi.Input; + /** + * Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + */ + linuxConfiguration?: pulumi.Input; + /** + * Optional property which must either be set to True or omitted. + */ + requireGuestProvisionSignal?: pulumi.Input; + /** + * Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + */ + secrets?: pulumi.Input[]>; + /** + * Specifies Windows operating system settings on the virtual machine. + */ + windowsConfiguration?: pulumi.Input; + } + + /** + * Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration + */ + export interface VirtualMachineScaleSetPublicIPAddressConfigurationArgs { + /** + * Specify what happens to the public IP when the VM is deleted + */ + deleteOption?: pulumi.Input; + /** + * The dns settings to be applied on the publicIP addresses . + */ + dnsSettings?: pulumi.Input; + /** + * The idle timeout of the public IP address. + */ + idleTimeoutInMinutes?: pulumi.Input; + /** + * The list of IP tags associated with the public IP address. + */ + ipTags?: pulumi.Input[]>; + /** + * The publicIP address configuration name. + */ + name: pulumi.Input; + /** + * Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + */ + publicIPAddressVersion?: pulumi.Input; + /** + * The PublicIPPrefix from which to allocate publicIP addresses. + */ + publicIPPrefix?: pulumi.Input; + /** + * Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + */ + sku?: pulumi.Input; + } + + /** + * Describes a virtual machines scale sets network configuration's DNS settings. + */ + export interface VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs { + /** + * The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created + */ + domainNameLabel: pulumi.Input; + /** + * The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created + */ + domainNameLabelScope?: pulumi.Input; + } + + /** + * Describes a virtual machine scale set storage profile. + */ + export interface VirtualMachineScaleSetStorageProfileArgs { + /** + * Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + */ + dataDisks?: pulumi.Input[]>; + diskControllerType?: pulumi.Input[]>; + /** + * Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + */ + imageReference?: pulumi.Input; + /** + * Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + */ + osDisk?: pulumi.Input; + } + + /** + * Describes a virtual machine scale set VM network profile. + */ + export interface VirtualMachineScaleSetVMNetworkProfileConfigurationArgs { + /** + * The list of network configurations. + */ + networkInterfaceConfigurations?: pulumi.Input[]>; + } + + /** + * Describes a virtual machine scale set virtual machine profile. + */ + export interface VirtualMachineScaleSetVMProfileArgs { + /** + * Specifies the gallery applications that should be made available to the VM/VMSS + */ + applicationProfile?: pulumi.Input; + /** + * Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01. + */ + billingProfile?: pulumi.Input; + /** + * Specifies the capacity reservation related details of a scale set. Minimum api-version: 2021-04-01. + */ + capacityReservation?: pulumi.Input; + /** + * Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + */ + diagnosticsProfile?: pulumi.Input; + /** + * Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + */ + evictionPolicy?: pulumi.Input; + /** + * Specifies a collection of settings for extensions installed on virtual machines in the scale set. + */ + extensionProfile?: pulumi.Input; + /** + * Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01. + */ + hardwareProfile?: pulumi.Input; + /** + * Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + */ + licenseType?: pulumi.Input; + /** + * Specifies properties of the network interfaces of the virtual machines in the scale set. + */ + networkProfile?: pulumi.Input; + /** + * Specifies the operating system settings for the virtual machines in the scale set. + */ + osProfile?: pulumi.Input; + /** + * Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview. + */ + priority?: pulumi.Input; + /** + * Specifies Scheduled Event related configurations. + */ + scheduledEventsProfile?: pulumi.Input; + /** + * Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + */ + securityPostureReference?: pulumi.Input; + /** + * Specifies the Security related profile settings for the virtual machines in the scale set. + */ + securityProfile?: pulumi.Input; + /** + * Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + */ + serviceArtifactReference?: pulumi.Input; + /** + * Specifies the storage settings for the virtual machine disks. + */ + storageProfile?: pulumi.Input; + /** + * UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + */ + userData?: pulumi.Input; + } + + /** + * The protection policy of a virtual machine scale set VM. + */ + export interface VirtualMachineScaleSetVMProtectionPolicyArgs { + /** + * Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation. + */ + protectFromScaleIn?: pulumi.Input; + /** + * Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM. + */ + protectFromScaleSetActions?: pulumi.Input; + } + + /** + * Describes Windows Remote Management configuration of the VM + */ + export interface WinRMConfigurationArgs { + /** + * The list of Windows Remote Management listeners + */ + listeners?: pulumi.Input[]>; + } + + /** + * Describes Protocol and thumbprint of Windows Remote Management listener + */ + export interface WinRMListenerArgs { + /** + * This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + */ + certificateUrl?: pulumi.Input; + /** + * Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** + */ + protocol?: pulumi.Input; + } + + /** + * Specifies Windows operating system settings on the virtual machine. + */ + export interface WindowsConfigurationArgs { + /** + * Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. + */ + additionalUnattendContent?: pulumi.Input[]>; + /** + * Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + */ + enableAutomaticUpdates?: pulumi.Input; + /** + * Indicates whether VMAgent Platform Updates is enabled for the Windows virtual machine. Default value is false. + */ + enableVMAgentPlatformUpdates?: pulumi.Input; + /** + * [Preview Feature] Specifies settings related to VM Guest Patching on Windows. + */ + patchSettings?: pulumi.Input; + /** + * Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, it is set to true by default. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + */ + provisionVMAgent?: pulumi.Input; + /** + * Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). + */ + timeZone?: pulumi.Input; + /** + * Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. + */ + winRM?: pulumi.Input; + } + + /** + * Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings. + */ + export interface WindowsVMGuestPatchAutomaticByPlatformSettingsArgs { + /** + * Enables customer to schedule patching without accidental upgrades + */ + bypassPlatformSafetyChecksOnUserSchedule?: pulumi.Input; + /** + * Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + */ + rebootSetting?: pulumi.Input; + } + + } } export namespace confidentialledger { @@ -56563,70 +59429,838 @@ export namespace containerservice { /** * The load balancer sku for the managed cluster. */ - loadBalancerSku?: pulumi.Input; + loadBalancerSku?: pulumi.Input; + /** + * Network plugin used for building Kubernetes network. + */ + networkPlugin?: pulumi.Input; + /** + * Network policy used for building Kubernetes network. + */ + networkPolicy?: pulumi.Input; + /** + * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + */ + podCidr?: pulumi.Input; + /** + * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + */ + serviceCidr?: pulumi.Input; + } + /** + * containerServiceNetworkProfileArgsProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileArgs + */ + export function containerServiceNetworkProfileArgsProvideDefaults(val: ContainerServiceNetworkProfileArgs): ContainerServiceNetworkProfileArgs { + return { + ...val, + dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", + dockerBridgeCidr: (val.dockerBridgeCidr) ?? "172.17.0.1/16", + networkPlugin: (val.networkPlugin) ?? "kubenet", + podCidr: (val.podCidr) ?? "10.244.0.0/16", + serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", + }; + } + + /** + * SSH configuration for Linux-based VMs running on Azure. + */ + export interface ContainerServiceSshConfigurationArgs { + /** + * The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified. + */ + publicKeys: pulumi.Input[]>; + } + + /** + * Contains information about SSH certificate public key data. + */ + export interface ContainerServiceSshPublicKeyArgs { + /** + * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + */ + keyData: pulumi.Input; + } + + /** + * AADProfile specifies attributes for Azure Active Directory integration. + */ + export interface ManagedClusterAADProfileArgs { + /** + * The client AAD application ID. + */ + clientAppID: pulumi.Input; + /** + * The server AAD application ID. + */ + serverAppID: pulumi.Input; + /** + * The server AAD application secret. + */ + serverAppSecret?: pulumi.Input; + /** + * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + */ + tenantID?: pulumi.Input; + } + + /** + * A Kubernetes add-on profile for a managed cluster. + */ + export interface ManagedClusterAddonProfileArgs { + /** + * Key-value pairs for configuring an add-on. + */ + config?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Whether the add-on is enabled or not. + */ + enabled: pulumi.Input; + } + + /** + * Profile for the container service agent pool. + */ + export interface ManagedClusterAgentPoolProfileArgs { + /** + * (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. + */ + availabilityZones?: pulumi.Input[]>; + /** + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + */ + count?: pulumi.Input; + /** + * Whether to enable auto-scaler + */ + enableAutoScaling?: pulumi.Input; + /** + * Enable public IP for nodes + */ + enableNodePublicIP?: pulumi.Input; + /** + * Maximum number of nodes for auto-scaling + */ + maxCount?: pulumi.Input; + /** + * Maximum number of pods that can run on a node. + */ + maxPods?: pulumi.Input; + /** + * Minimum number of nodes for auto-scaling + */ + minCount?: pulumi.Input; + /** + * Unique name of the agent pool profile in the context of the subscription and resource group. + */ + name: pulumi.Input; + /** + * Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + */ + nodeTaints?: pulumi.Input[]>; + /** + * Version of orchestrator specified when creating the managed cluster. + */ + orchestratorVersion?: pulumi.Input; + /** + * OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + */ + osDiskSizeGB?: pulumi.Input; + /** + * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. + */ + osType?: pulumi.Input; + /** + * ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. + */ + scaleSetEvictionPolicy?: pulumi.Input; + /** + * ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. + */ + scaleSetPriority?: pulumi.Input; + /** + * AgentPoolType represents types of an agent pool + */ + type?: pulumi.Input; + /** + * Size of agent VMs. + */ + vmSize?: pulumi.Input; + /** + * VNet SubnetID specifies the VNet's subnet identifier. + */ + vnetSubnetID?: pulumi.Input; + } + + /** + * Identity for the managed cluster. + */ + export interface ManagedClusterIdentityArgs { + /** + * The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead. + */ + type?: pulumi.Input; + } + + /** + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + */ + export interface ManagedClusterServicePrincipalProfileArgs { + /** + * The ID for the service principal. + */ + clientId: pulumi.Input; + /** + * The secret password associated with the service principal in plain text. + */ + secret?: pulumi.Input; + } + + /** + * Profile for Windows VMs in the container service cluster. + */ + export interface ManagedClusterWindowsProfileArgs { + /** + * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + */ + adminPassword?: pulumi.Input; + /** + * Specifies the name of the administrator account.

**restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + */ + adminUsername: pulumi.Input; + } + + } + + export namespace v20191027preview { + /** + * Represents the OpenShift networking configuration + */ + export interface NetworkProfileArgs { + /** + * CIDR of subnet used to create PLS needed for management of the cluster + */ + managementSubnetCidr?: pulumi.Input; + /** + * CIDR for the OpenShift Vnet. + */ + vnetCidr?: pulumi.Input; + /** + * ID of the Vnet created for OSA cluster. + */ + vnetId?: pulumi.Input; + } + /** + * networkProfileArgsProvideDefaults sets the appropriate defaults for NetworkProfileArgs + */ + export function networkProfileArgsProvideDefaults(val: NetworkProfileArgs): NetworkProfileArgs { + return { + ...val, + vnetCidr: (val.vnetCidr) ?? "10.0.0.0/8", + }; + } + + /** + * Defines further properties on the API. + */ + export interface OpenShiftAPIPropertiesArgs { + /** + * Specifies if API server is public or private. + */ + privateApiServer?: pulumi.Input; + } + + /** + * Defines the Identity provider for MS AAD. + */ + export interface OpenShiftManagedClusterAADIdentityProviderArgs { + /** + * The clientId password associated with the provider. + */ + clientId?: pulumi.Input; + /** + * The groupId to be granted cluster admin role. + */ + customerAdminGroupId?: pulumi.Input; + /** + * The kind of the provider. + * Expected value is 'AADIdentityProvider'. + */ + kind: pulumi.Input<"AADIdentityProvider">; + /** + * The secret password associated with the provider. + */ + secret?: pulumi.Input; + /** + * The tenantId associated with the provider. + */ + tenantId?: pulumi.Input; + } + + /** + * Defines the configuration of the OpenShift cluster VMs. + */ + export interface OpenShiftManagedClusterAgentPoolProfileArgs { + /** + * Number of agents (VMs) to host docker containers. + */ + count: pulumi.Input; + /** + * Unique name of the pool profile in the context of the subscription and resource group. + */ + name: pulumi.Input; + /** + * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. + */ + osType?: pulumi.Input; + /** + * Define the role of the AgentPoolProfile. + */ + role?: pulumi.Input; + /** + * Subnet CIDR for the peering. + */ + subnetCidr?: pulumi.Input; + /** + * Size of agent VMs. + */ + vmSize: pulumi.Input; + } + /** + * openShiftManagedClusterAgentPoolProfileArgsProvideDefaults sets the appropriate defaults for OpenShiftManagedClusterAgentPoolProfileArgs + */ + export function openShiftManagedClusterAgentPoolProfileArgsProvideDefaults(val: OpenShiftManagedClusterAgentPoolProfileArgs): OpenShiftManagedClusterAgentPoolProfileArgs { + return { + ...val, + subnetCidr: (val.subnetCidr) ?? "10.0.0.0/24", + }; + } + + /** + * Defines all possible authentication profiles for the OpenShift cluster. + */ + export interface OpenShiftManagedClusterAuthProfileArgs { + /** + * Type of authentication profile to use. + */ + identityProviders?: pulumi.Input[]>; + } + + /** + * Defines the configuration of the identity providers to be used in the OpenShift cluster. + */ + export interface OpenShiftManagedClusterIdentityProviderArgs { + /** + * Name of the provider. + */ + name?: pulumi.Input; + /** + * Configuration of the provider. + */ + provider?: pulumi.Input; + } + + /** + * OpenShiftManagedClusterMaterPoolProfile contains configuration for OpenShift master VMs. + */ + export interface OpenShiftManagedClusterMasterPoolProfileArgs { + /** + * Defines further properties on the API. + */ + apiProperties?: pulumi.Input; + /** + * Number of masters (VMs) to host docker containers. The default value is 3. + */ + count: pulumi.Input; + /** + * Subnet CIDR for the peering. + */ + subnetCidr?: pulumi.Input; + /** + * Size of agent VMs. + */ + vmSize: pulumi.Input; + } + + /** + * Defines the configuration for Log Analytics integration. + */ + export interface OpenShiftManagedClusterMonitorProfileArgs { + /** + * If the Log analytics integration should be turned on or off + */ + enabled?: pulumi.Input; + /** + * Azure Resource Manager Resource ID for the Log Analytics workspace to integrate with. + */ + workspaceResourceID?: pulumi.Input; + } + + /** + * Represents an OpenShift router + */ + export interface OpenShiftRouterProfileArgs { + /** + * Name of the router profile. + */ + name?: pulumi.Input; + } + + /** + * Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + */ + export interface PurchasePlanArgs { + /** + * The plan ID. + */ + name?: pulumi.Input; + /** + * Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + */ + product?: pulumi.Input; + /** + * The promotion code. + */ + promotionCode?: pulumi.Input; + /** + * The plan ID. + */ + publisher?: pulumi.Input; + } + + } + + export namespace v20200601 { + /** + * Settings for upgrading an agentpool + */ + export interface AgentPoolUpgradeSettingsArgs { + /** + * Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default + */ + maxSurge?: pulumi.Input; + } + + } + + export namespace v20210201 { + /** + * Settings for upgrading an agentpool + */ + export interface AgentPoolUpgradeSettingsArgs { + /** + * Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default + */ + maxSurge?: pulumi.Input; + } + + /** + * Kubelet configurations of agent nodes. + */ + export interface KubeletConfigArgs { + /** + * Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + */ + allowedUnsafeSysctls?: pulumi.Input[]>; + /** + * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + */ + containerLogMaxFiles?: pulumi.Input; + /** + * The maximum size (e.g. 10Mi) of container log file before it is rotated. + */ + containerLogMaxSizeMB?: pulumi.Input; + /** + * Enable CPU CFS quota enforcement for containers that specify CPU limits. + */ + cpuCfsQuota?: pulumi.Input; + /** + * Sets CPU CFS quota period value. + */ + cpuCfsQuotaPeriod?: pulumi.Input; + /** + * CPU Manager policy to use. + */ + cpuManagerPolicy?: pulumi.Input; + /** + * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + */ + failSwapOn?: pulumi.Input; + /** + * The percent of disk usage after which image garbage collection is always run. + */ + imageGcHighThreshold?: pulumi.Input; + /** + * The percent of disk usage before which image garbage collection is never run. + */ + imageGcLowThreshold?: pulumi.Input; + /** + * The maximum number of processes per pod. + */ + podMaxPids?: pulumi.Input; + /** + * Topology Manager policy to use. + */ + topologyManagerPolicy?: pulumi.Input; + } + + /** + * OS configurations of Linux agent nodes. + */ + export interface LinuxOSConfigArgs { + /** + * SwapFileSizeMB specifies size in MB of a swap file will be created on each node. + */ + swapFileSizeMB?: pulumi.Input; + /** + * Sysctl settings for Linux agent nodes. + */ + sysctls?: pulumi.Input; + /** + * Transparent Huge Page defrag configuration. + */ + transparentHugePageDefrag?: pulumi.Input; + /** + * Transparent Huge Page enabled configuration. + */ + transparentHugePageEnabled?: pulumi.Input; + } + + /** + * Sysctl settings for Linux agent nodes. + */ + export interface SysctlConfigArgs { + /** + * Sysctl setting fs.aio-max-nr. + */ + fsAioMaxNr?: pulumi.Input; + /** + * Sysctl setting fs.file-max. + */ + fsFileMax?: pulumi.Input; + /** + * Sysctl setting fs.inotify.max_user_watches. + */ + fsInotifyMaxUserWatches?: pulumi.Input; + /** + * Sysctl setting fs.nr_open. + */ + fsNrOpen?: pulumi.Input; + /** + * Sysctl setting kernel.threads-max. + */ + kernelThreadsMax?: pulumi.Input; + /** + * Sysctl setting net.core.netdev_max_backlog. + */ + netCoreNetdevMaxBacklog?: pulumi.Input; + /** + * Sysctl setting net.core.optmem_max. + */ + netCoreOptmemMax?: pulumi.Input; + /** + * Sysctl setting net.core.rmem_default. + */ + netCoreRmemDefault?: pulumi.Input; + /** + * Sysctl setting net.core.rmem_max. + */ + netCoreRmemMax?: pulumi.Input; + /** + * Sysctl setting net.core.somaxconn. + */ + netCoreSomaxconn?: pulumi.Input; + /** + * Sysctl setting net.core.wmem_default. + */ + netCoreWmemDefault?: pulumi.Input; + /** + * Sysctl setting net.core.wmem_max. + */ + netCoreWmemMax?: pulumi.Input; + /** + * Sysctl setting net.ipv4.ip_local_port_range. + */ + netIpv4IpLocalPortRange?: pulumi.Input; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + */ + netIpv4NeighDefaultGcThresh1?: pulumi.Input; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + */ + netIpv4NeighDefaultGcThresh2?: pulumi.Input; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + */ + netIpv4NeighDefaultGcThresh3?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_fin_timeout. + */ + netIpv4TcpFinTimeout?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_keepalive_probes. + */ + netIpv4TcpKeepaliveProbes?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_keepalive_time. + */ + netIpv4TcpKeepaliveTime?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_max_syn_backlog. + */ + netIpv4TcpMaxSynBacklog?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_max_tw_buckets. + */ + netIpv4TcpMaxTwBuckets?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_tw_reuse. + */ + netIpv4TcpTwReuse?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_keepalive_intvl. + */ + netIpv4TcpkeepaliveIntvl?: pulumi.Input; + /** + * Sysctl setting net.netfilter.nf_conntrack_buckets. + */ + netNetfilterNfConntrackBuckets?: pulumi.Input; + /** + * Sysctl setting net.netfilter.nf_conntrack_max. + */ + netNetfilterNfConntrackMax?: pulumi.Input; + /** + * Sysctl setting vm.max_map_count. + */ + vmMaxMapCount?: pulumi.Input; + /** + * Sysctl setting vm.swappiness. + */ + vmSwappiness?: pulumi.Input; + /** + * Sysctl setting vm.vfs_cache_pressure. + */ + vmVfsCachePressure?: pulumi.Input; + } + + } + + export namespace v20210501 { + /** + * Settings for upgrading an agentpool + */ + export interface AgentPoolUpgradeSettingsArgs { + /** + * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + */ + maxSurge?: pulumi.Input; + } + + /** + * Profile for Linux VMs in the container service cluster. + */ + export interface ContainerServiceLinuxProfileArgs { + /** + * The administrator username to use for Linux VMs. + */ + adminUsername: pulumi.Input; + /** + * The SSH configuration for Linux-based VMs running on Azure. + */ + ssh: pulumi.Input; + } + + /** + * Profile of network configuration. + */ + export interface ContainerServiceNetworkProfileArgs { + /** + * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + */ + dnsServiceIP?: pulumi.Input; + /** + * A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range. + */ + dockerBridgeCidr?: pulumi.Input; + /** + * Profile of the cluster load balancer. + */ + loadBalancerProfile?: pulumi.Input; + /** + * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + */ + loadBalancerSku?: pulumi.Input; + /** + * This cannot be specified if networkPlugin is anything other than 'azure'. + */ + networkMode?: pulumi.Input; + /** + * Network plugin used for building the Kubernetes network. + */ + networkPlugin?: pulumi.Input; + /** + * Network policy used for building the Kubernetes network. + */ + networkPolicy?: pulumi.Input; + /** + * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + */ + outboundType?: pulumi.Input; + /** + * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + */ + podCidr?: pulumi.Input; + /** + * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + */ + serviceCidr?: pulumi.Input; + } + /** + * containerServiceNetworkProfileArgsProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileArgs + */ + export function containerServiceNetworkProfileArgsProvideDefaults(val: ContainerServiceNetworkProfileArgs): ContainerServiceNetworkProfileArgs { + return { + ...val, + dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", + dockerBridgeCidr: (val.dockerBridgeCidr) ?? "172.17.0.1/16", + loadBalancerProfile: (val.loadBalancerProfile ? pulumi.output(val.loadBalancerProfile).apply(inputs.containerservice.v20210501.managedClusterLoadBalancerProfileArgsProvideDefaults) : undefined), + networkPlugin: (val.networkPlugin) ?? "kubenet", + outboundType: (val.outboundType) ?? "loadBalancer", + podCidr: (val.podCidr) ?? "10.244.0.0/16", + serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", + }; + } + + /** + * SSH configuration for Linux-based VMs running on Azure. + */ + export interface ContainerServiceSshConfigurationArgs { + /** + * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + */ + publicKeys: pulumi.Input[]>; + } + + /** + * Contains information about SSH certificate public key data. + */ + export interface ContainerServiceSshPublicKeyArgs { + /** + * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + */ + keyData: pulumi.Input; + } + + /** + * The complex type of the extended location. + */ + export interface ExtendedLocationArgs { + /** + * The name of the extended location. + */ + name?: pulumi.Input; + /** + * The type of the extended location. + */ + type?: pulumi.Input; + } + + /** + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + */ + export interface KubeletConfigArgs { + /** + * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + */ + allowedUnsafeSysctls?: pulumi.Input[]>; + /** + * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + */ + containerLogMaxFiles?: pulumi.Input; + /** + * The maximum size (e.g. 10Mi) of container log file before it is rotated. + */ + containerLogMaxSizeMB?: pulumi.Input; + /** + * The default is true. + */ + cpuCfsQuota?: pulumi.Input; + /** + * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + */ + cpuCfsQuotaPeriod?: pulumi.Input; + /** + * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + */ + cpuManagerPolicy?: pulumi.Input; + /** + * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + */ + failSwapOn?: pulumi.Input; /** - * Network plugin used for building Kubernetes network. + * To disable image garbage collection, set to 100. The default is 85% */ - networkPlugin?: pulumi.Input; + imageGcHighThreshold?: pulumi.Input; /** - * Network policy used for building Kubernetes network. + * This cannot be set higher than imageGcHighThreshold. The default is 80% */ - networkPolicy?: pulumi.Input; + imageGcLowThreshold?: pulumi.Input; /** - * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + * The maximum number of processes per pod. */ - podCidr?: pulumi.Input; + podMaxPids?: pulumi.Input; /** - * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. */ - serviceCidr?: pulumi.Input; - } - /** - * containerServiceNetworkProfileArgsProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileArgs - */ - export function containerServiceNetworkProfileArgsProvideDefaults(val: ContainerServiceNetworkProfileArgs): ContainerServiceNetworkProfileArgs { - return { - ...val, - dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - dockerBridgeCidr: (val.dockerBridgeCidr) ?? "172.17.0.1/16", - networkPlugin: (val.networkPlugin) ?? "kubenet", - podCidr: (val.podCidr) ?? "10.244.0.0/16", - serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", - }; + topologyManagerPolicy?: pulumi.Input; } /** - * SSH configuration for Linux-based VMs running on Azure. + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ - export interface ContainerServiceSshConfigurationArgs { + export interface LinuxOSConfigArgs { /** - * The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified. + * The size in MB of a swap file that will be created on each node. */ - publicKeys: pulumi.Input[]>; - } - - /** - * Contains information about SSH certificate public key data. - */ - export interface ContainerServiceSshPublicKeyArgs { + swapFileSizeMB?: pulumi.Input; /** - * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + * Sysctl settings for Linux agent nodes. */ - keyData: pulumi.Input; + sysctls?: pulumi.Input; + /** + * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageDefrag?: pulumi.Input; + /** + * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageEnabled?: pulumi.Input; } /** - * AADProfile specifies attributes for Azure Active Directory integration. + * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). */ export interface ManagedClusterAADProfileArgs { + /** + * The list of AAD group object IDs that will have admin role of the cluster. + */ + adminGroupObjectIDs?: pulumi.Input[]>; /** * The client AAD application ID. */ - clientAppID: pulumi.Input; + clientAppID?: pulumi.Input; + /** + * Whether to enable Azure RBAC for Kubernetes authorization. + */ + enableAzureRBAC?: pulumi.Input; + /** + * Whether to enable managed AAD. + */ + managed?: pulumi.Input; /** * The server AAD application ID. */ - serverAppID: pulumi.Input; + serverAppID?: pulumi.Input; /** * The server AAD application secret. */ @@ -56637,6 +60271,28 @@ export namespace containerservice { tenantID?: pulumi.Input; } + /** + * Access profile for managed cluster API server. + */ + export interface ManagedClusterAPIServerAccessProfileArgs { + /** + * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + */ + authorizedIPRanges?: pulumi.Input[]>; + /** + * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + */ + enablePrivateCluster?: pulumi.Input; + /** + * Whether to create additional public FQDN for private cluster or not. + */ + enablePrivateClusterPublicFQDN?: pulumi.Input; + /** + * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + */ + privateDNSZone?: pulumi.Input; + } + /** * A Kubernetes add-on profile for a managed cluster. */ @@ -56656,11 +60312,11 @@ export namespace containerservice { */ export interface ManagedClusterAgentPoolProfileArgs { /** - * (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. + * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */ availabilityZones?: pulumi.Input[]>; /** - * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */ count?: pulumi.Input; /** @@ -56668,331 +60324,872 @@ export namespace containerservice { */ enableAutoScaling?: pulumi.Input; /** - * Enable public IP for nodes + * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + */ + enableEncryptionAtHost?: pulumi.Input; + /** + * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + */ + enableFIPS?: pulumi.Input; + /** + * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. */ enableNodePublicIP?: pulumi.Input; /** - * Maximum number of nodes for auto-scaling + * Whether to enable UltraSSD + */ + enableUltraSSD?: pulumi.Input; + /** + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + */ + gpuInstanceProfile?: pulumi.Input; + /** + * The Kubelet configuration on the agent pool nodes. + */ + kubeletConfig?: pulumi.Input; + /** + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + */ + kubeletDiskType?: pulumi.Input; + /** + * The OS configuration of Linux agent nodes. + */ + linuxOSConfig?: pulumi.Input; + /** + * The maximum number of nodes for auto-scaling */ maxCount?: pulumi.Input; /** - * Maximum number of pods that can run on a node. + * The maximum number of pods that can run on a node. */ maxPods?: pulumi.Input; /** - * Minimum number of nodes for auto-scaling + * The minimum number of nodes for auto-scaling */ minCount?: pulumi.Input; /** - * Unique name of the agent pool profile in the context of the subscription and resource group. + * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + */ + mode?: pulumi.Input; + /** + * Windows agent pool names must be 6 characters or less. */ name: pulumi.Input; /** - * Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + * The node labels to be persisted across all nodes in agent pool. + */ + nodeLabels?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + */ + nodePublicIPPrefixID?: pulumi.Input; + /** + * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */ nodeTaints?: pulumi.Input[]>; /** - * Version of orchestrator specified when creating the managed cluster. + * As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ orchestratorVersion?: pulumi.Input; /** - * OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. */ osDiskSizeGB?: pulumi.Input; /** - * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. + * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */ - osType?: pulumi.Input; + osDiskType?: pulumi.Input; /** - * ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. + * Specifies an OS SKU. This value must not be specified if OSType is Windows. */ - scaleSetEvictionPolicy?: pulumi.Input; + osSKU?: pulumi.Input; /** - * ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. + * The operating system type. The default is Linux. */ - scaleSetPriority?: pulumi.Input; + osType?: pulumi.Input; /** - * AgentPoolType represents types of an agent pool + * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ - type?: pulumi.Input; + podSubnetID?: pulumi.Input; /** - * Size of agent VMs. + * The ID for Proximity Placement Group. */ - vmSize?: pulumi.Input; + proximityPlacementGroupID?: pulumi.Input; /** - * VNet SubnetID specifies the VNet's subnet identifier. + * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + */ + scaleSetEvictionPolicy?: pulumi.Input; + /** + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + */ + scaleSetPriority?: pulumi.Input; + /** + * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + */ + spotMaxPrice?: pulumi.Input; + /** + * The tags to be persisted on the agent pool virtual machine scale set. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The type of Agent Pool. + */ + type?: pulumi.Input; + /** + * Settings for upgrading the agentpool + */ + upgradeSettings?: pulumi.Input; + /** + * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + */ + vmSize?: pulumi.Input; + /** + * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: pulumi.Input; } /** - * Identity for the managed cluster. + * Auto upgrade profile for a managed cluster. */ - export interface ManagedClusterIdentityArgs { + export interface ManagedClusterAutoUpgradeProfileArgs { /** - * The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead. + * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */ - type?: pulumi.Input; + upgradeChannel?: pulumi.Input; } /** - * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + * Cluster HTTP proxy configuration. */ - export interface ManagedClusterServicePrincipalProfileArgs { + export interface ManagedClusterHTTPProxyConfigArgs { /** - * The ID for the service principal. + * The HTTP proxy server endpoint to use. */ - clientId: pulumi.Input; + httpProxy?: pulumi.Input; /** - * The secret password associated with the service principal in plain text. + * The HTTPS proxy server endpoint to use. */ - secret?: pulumi.Input; + httpsProxy?: pulumi.Input; + /** + * The endpoints that should not go through proxy. + */ + noProxy?: pulumi.Input[]>; + /** + * Alternative CA cert to use for connecting to proxy servers. + */ + trustedCa?: pulumi.Input; } /** - * Profile for Windows VMs in the container service cluster. + * Identity for the managed cluster. */ - export interface ManagedClusterWindowsProfileArgs { + export interface ManagedClusterIdentityArgs { /** - * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */ - adminPassword?: pulumi.Input; + type?: pulumi.Input; /** - * Specifies the name of the administrator account.

**restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ - adminUsername: pulumi.Input; + userAssignedIdentities?: pulumi.Input[]>; } - } - - export namespace v20191027preview { /** - * Represents the OpenShift networking configuration + * Profile of the managed cluster load balancer. */ - export interface NetworkProfileArgs { + export interface ManagedClusterLoadBalancerProfileArgs { /** - * CIDR of subnet used to create PLS needed for management of the cluster + * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. */ - managementSubnetCidr?: pulumi.Input; + allocatedOutboundPorts?: pulumi.Input; /** - * CIDR for the OpenShift Vnet. + * The effective outbound IP resources of the cluster load balancer. */ - vnetCidr?: pulumi.Input; + effectiveOutboundIPs?: pulumi.Input[]>; /** - * ID of the Vnet created for OSA cluster. + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. */ - vnetId?: pulumi.Input; + idleTimeoutInMinutes?: pulumi.Input; + /** + * Desired managed outbound IPs for the cluster load balancer. + */ + managedOutboundIPs?: pulumi.Input; + /** + * Desired outbound IP Prefix resources for the cluster load balancer. + */ + outboundIPPrefixes?: pulumi.Input; + /** + * Desired outbound IP resources for the cluster load balancer. + */ + outboundIPs?: pulumi.Input; } /** - * networkProfileArgsProvideDefaults sets the appropriate defaults for NetworkProfileArgs + * managedClusterLoadBalancerProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileArgs */ - export function networkProfileArgsProvideDefaults(val: NetworkProfileArgs): NetworkProfileArgs { + export function managedClusterLoadBalancerProfileArgsProvideDefaults(val: ManagedClusterLoadBalancerProfileArgs): ManagedClusterLoadBalancerProfileArgs { return { ...val, - vnetCidr: (val.vnetCidr) ?? "10.0.0.0/8", + allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, + managedOutboundIPs: (val.managedOutboundIPs ? pulumi.output(val.managedOutboundIPs).apply(inputs.containerservice.v20210501.managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults) : undefined), }; } /** - * Defines further properties on the API. + * Desired managed outbound IPs for the cluster load balancer. */ - export interface OpenShiftAPIPropertiesArgs { + export interface ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs { /** - * Specifies if API server is public or private. + * The desired number of outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. */ - privateApiServer?: pulumi.Input; + count?: pulumi.Input; + } + /** + * managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs + */ + export function managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults(val: ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs): ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs { + return { + ...val, + count: (val.count) ?? 1, + }; } /** - * Defines the Identity provider for MS AAD. + * Desired outbound IP Prefix resources for the cluster load balancer. */ - export interface OpenShiftManagedClusterAADIdentityProviderArgs { + export interface ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs { /** - * The clientId password associated with the provider. + * A list of public IP prefix resources. */ - clientId?: pulumi.Input; + publicIPPrefixes?: pulumi.Input[]>; + } + + /** + * Desired outbound IP resources for the cluster load balancer. + */ + export interface ManagedClusterLoadBalancerProfileOutboundIPsArgs { /** - * The groupId to be granted cluster admin role. + * A list of public IP resources. */ - customerAdminGroupId?: pulumi.Input; + publicIPs?: pulumi.Input[]>; + } + + /** + * Details about the pod identity assigned to the Managed Cluster. + */ + export interface ManagedClusterPodIdentityArgs { /** - * The kind of the provider. - * Expected value is 'AADIdentityProvider'. + * The binding selector to use for the AzureIdentityBinding resource. */ - kind: pulumi.Input<"AADIdentityProvider">; + bindingSelector?: pulumi.Input; /** - * The secret password associated with the provider. + * The user assigned identity details. */ - secret?: pulumi.Input; + identity: pulumi.Input; /** - * The tenantId associated with the provider. + * The name of the pod identity. */ - tenantId?: pulumi.Input; + name: pulumi.Input; + /** + * The namespace of the pod identity. + */ + namespace: pulumi.Input; } /** - * Defines the configuration of the OpenShift cluster VMs. + * See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. */ - export interface OpenShiftManagedClusterAgentPoolProfileArgs { + export interface ManagedClusterPodIdentityExceptionArgs { /** - * Number of agents (VMs) to host docker containers. + * The name of the pod identity exception. */ - count: pulumi.Input; + name: pulumi.Input; /** - * Unique name of the pool profile in the context of the subscription and resource group. + * The namespace of the pod identity exception. */ - name: pulumi.Input; + namespace: pulumi.Input; /** - * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. + * The pod labels to match. */ - osType?: pulumi.Input; + podLabels: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + */ + export interface ManagedClusterPodIdentityProfileArgs { /** - * Define the role of the AgentPoolProfile. + * Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. */ - role?: pulumi.Input; + allowNetworkPluginKubenet?: pulumi.Input; /** - * Subnet CIDR for the peering. + * Whether the pod identity addon is enabled. */ - subnetCidr?: pulumi.Input; + enabled?: pulumi.Input; /** - * Size of agent VMs. + * The pod identities to use in the cluster. */ - vmSize: pulumi.Input; + userAssignedIdentities?: pulumi.Input[]>; + /** + * The pod identity exceptions to allow. + */ + userAssignedIdentityExceptions?: pulumi.Input[]>; } + /** - * openShiftManagedClusterAgentPoolProfileArgsProvideDefaults sets the appropriate defaults for OpenShiftManagedClusterAgentPoolProfileArgs + * Parameters to be applied to the cluster-autoscaler when enabled */ - export function openShiftManagedClusterAgentPoolProfileArgsProvideDefaults(val: OpenShiftManagedClusterAgentPoolProfileArgs): OpenShiftManagedClusterAgentPoolProfileArgs { - return { - ...val, - subnetCidr: (val.subnetCidr) ?? "10.0.0.0/24", - }; + export interface ManagedClusterPropertiesAutoScalerProfileArgs { + /** + * Valid values are 'true' and 'false' + */ + balanceSimilarNodeGroups?: pulumi.Input; + /** + * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + */ + expander?: pulumi.Input; + /** + * The default is 10. + */ + maxEmptyBulkDelete?: pulumi.Input; + /** + * The default is 600. + */ + maxGracefulTerminationSec?: pulumi.Input; + /** + * The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + maxNodeProvisionTime?: pulumi.Input; + /** + * The default is 45. The maximum is 100 and the minimum is 0. + */ + maxTotalUnreadyPercentage?: pulumi.Input; + /** + * For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + */ + newPodScaleUpDelay?: pulumi.Input; + /** + * This must be an integer. The default is 3. + */ + okTotalUnreadyCount?: pulumi.Input; + /** + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownDelayAfterAdd?: pulumi.Input; + /** + * The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownDelayAfterDelete?: pulumi.Input; + /** + * The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownDelayAfterFailure?: pulumi.Input; + /** + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownUnneededTime?: pulumi.Input; + /** + * The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownUnreadyTime?: pulumi.Input; + /** + * The default is '0.5'. + */ + scaleDownUtilizationThreshold?: pulumi.Input; + /** + * The default is '10'. Values must be an integer number of seconds. + */ + scanInterval?: pulumi.Input; + /** + * The default is true. + */ + skipNodesWithLocalStorage?: pulumi.Input; + /** + * The default is true. + */ + skipNodesWithSystemPods?: pulumi.Input; + } + + export interface ManagedClusterPropertiesIdentityProfileArgs { + /** + * The client ID of the user assigned identity. + */ + clientId?: pulumi.Input; + /** + * The object ID of the user assigned identity. + */ + objectId?: pulumi.Input; + /** + * The resource ID of the user assigned identity. + */ + resourceId?: pulumi.Input; } /** - * Defines all possible authentication profiles for the OpenShift cluster. + * The SKU of a Managed Cluster. */ - export interface OpenShiftManagedClusterAuthProfileArgs { + export interface ManagedClusterSKUArgs { /** - * Type of authentication profile to use. + * The name of a managed cluster SKU. */ - identityProviders?: pulumi.Input[]>; + name?: pulumi.Input; + /** + * If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details. + */ + tier?: pulumi.Input; } /** - * Defines the configuration of the identity providers to be used in the OpenShift cluster. + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. */ - export interface OpenShiftManagedClusterIdentityProviderArgs { + export interface ManagedClusterServicePrincipalProfileArgs { /** - * Name of the provider. + * The ID for the service principal. */ - name?: pulumi.Input; + clientId: pulumi.Input; /** - * Configuration of the provider. + * The secret password associated with the service principal in plain text. */ - provider?: pulumi.Input; + secret?: pulumi.Input; } /** - * OpenShiftManagedClusterMaterPoolProfile contains configuration for OpenShift master VMs. + * Profile for Windows VMs in the managed cluster. */ - export interface OpenShiftManagedClusterMasterPoolProfileArgs { + export interface ManagedClusterWindowsProfileArgs { /** - * Defines further properties on the API. + * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" */ - apiProperties?: pulumi.Input; + adminPassword?: pulumi.Input; /** - * Number of masters (VMs) to host docker containers. The default value is 3. + * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters */ - count: pulumi.Input; + adminUsername: pulumi.Input; /** - * Subnet CIDR for the peering. + * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). */ - subnetCidr?: pulumi.Input; + enableCSIProxy?: pulumi.Input; /** - * Size of agent VMs. + * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */ - vmSize: pulumi.Input; + licenseType?: pulumi.Input; } /** - * Defines the configuration for Log Analytics integration. + * A private link resource */ - export interface OpenShiftManagedClusterMonitorProfileArgs { + export interface PrivateLinkResourceArgs { /** - * If the Log analytics integration should be turned on or off + * The group ID of the resource. */ - enabled?: pulumi.Input; + groupId?: pulumi.Input; /** - * Azure Resource Manager Resource ID for the Log Analytics workspace to integrate with. + * The ID of the private link resource. */ - workspaceResourceID?: pulumi.Input; + id?: pulumi.Input; + /** + * The name of the private link resource. + */ + name?: pulumi.Input; + /** + * The RequiredMembers of the resource + */ + requiredMembers?: pulumi.Input[]>; + /** + * The resource type. + */ + type?: pulumi.Input; } /** - * Represents an OpenShift router + * A reference to an Azure resource. */ - export interface OpenShiftRouterProfileArgs { + export interface ResourceReferenceArgs { /** - * Name of the router profile. + * The fully qualified Azure resource id. */ - name?: pulumi.Input; + id?: pulumi.Input; } /** - * Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + * Sysctl settings for Linux agent nodes. */ - export interface PurchasePlanArgs { + export interface SysctlConfigArgs { /** - * The plan ID. + * Sysctl setting fs.aio-max-nr. */ - name?: pulumi.Input; + fsAioMaxNr?: pulumi.Input; /** - * Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + * Sysctl setting fs.file-max. */ - product?: pulumi.Input; + fsFileMax?: pulumi.Input; /** - * The promotion code. + * Sysctl setting fs.inotify.max_user_watches. */ - promotionCode?: pulumi.Input; + fsInotifyMaxUserWatches?: pulumi.Input; /** - * The plan ID. + * Sysctl setting fs.nr_open. */ - publisher?: pulumi.Input; + fsNrOpen?: pulumi.Input; + /** + * Sysctl setting kernel.threads-max. + */ + kernelThreadsMax?: pulumi.Input; + /** + * Sysctl setting net.core.netdev_max_backlog. + */ + netCoreNetdevMaxBacklog?: pulumi.Input; + /** + * Sysctl setting net.core.optmem_max. + */ + netCoreOptmemMax?: pulumi.Input; + /** + * Sysctl setting net.core.rmem_default. + */ + netCoreRmemDefault?: pulumi.Input; + /** + * Sysctl setting net.core.rmem_max. + */ + netCoreRmemMax?: pulumi.Input; + /** + * Sysctl setting net.core.somaxconn. + */ + netCoreSomaxconn?: pulumi.Input; + /** + * Sysctl setting net.core.wmem_default. + */ + netCoreWmemDefault?: pulumi.Input; + /** + * Sysctl setting net.core.wmem_max. + */ + netCoreWmemMax?: pulumi.Input; + /** + * Sysctl setting net.ipv4.ip_local_port_range. + */ + netIpv4IpLocalPortRange?: pulumi.Input; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + */ + netIpv4NeighDefaultGcThresh1?: pulumi.Input; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + */ + netIpv4NeighDefaultGcThresh2?: pulumi.Input; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + */ + netIpv4NeighDefaultGcThresh3?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_fin_timeout. + */ + netIpv4TcpFinTimeout?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_keepalive_probes. + */ + netIpv4TcpKeepaliveProbes?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_keepalive_time. + */ + netIpv4TcpKeepaliveTime?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_max_syn_backlog. + */ + netIpv4TcpMaxSynBacklog?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_max_tw_buckets. + */ + netIpv4TcpMaxTwBuckets?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_tw_reuse. + */ + netIpv4TcpTwReuse?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_keepalive_intvl. + */ + netIpv4TcpkeepaliveIntvl?: pulumi.Input; + /** + * Sysctl setting net.netfilter.nf_conntrack_buckets. + */ + netNetfilterNfConntrackBuckets?: pulumi.Input; + /** + * Sysctl setting net.netfilter.nf_conntrack_max. + */ + netNetfilterNfConntrackMax?: pulumi.Input; + /** + * Sysctl setting vm.max_map_count. + */ + vmMaxMapCount?: pulumi.Input; + /** + * Sysctl setting vm.swappiness. + */ + vmSwappiness?: pulumi.Input; + /** + * Sysctl setting vm.vfs_cache_pressure. + */ + vmVfsCachePressure?: pulumi.Input; + } + + /** + * Details about a user assigned identity. + */ + export interface UserAssignedIdentityArgs { + /** + * The client ID of the user assigned identity. + */ + clientId?: pulumi.Input; + /** + * The object ID of the user assigned identity. + */ + objectId?: pulumi.Input; + /** + * The resource ID of the user assigned identity. + */ + resourceId?: pulumi.Input; } } - export namespace v20200601 { + export namespace v20210801 { /** * Settings for upgrading an agentpool */ export interface AgentPoolUpgradeSettingsArgs { /** - * Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default + * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade */ maxSurge?: pulumi.Input; } + /** + * Data used when creating a target resource from a source resource. + */ + export interface CreationDataArgs { + /** + * This is the ARM ID of the source object to be used to create the target object. + */ + sourceResourceId?: pulumi.Input; + } + + /** + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + */ + export interface KubeletConfigArgs { + /** + * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + */ + allowedUnsafeSysctls?: pulumi.Input[]>; + /** + * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + */ + containerLogMaxFiles?: pulumi.Input; + /** + * The maximum size (e.g. 10Mi) of container log file before it is rotated. + */ + containerLogMaxSizeMB?: pulumi.Input; + /** + * The default is true. + */ + cpuCfsQuota?: pulumi.Input; + /** + * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + */ + cpuCfsQuotaPeriod?: pulumi.Input; + /** + * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + */ + cpuManagerPolicy?: pulumi.Input; + /** + * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + */ + failSwapOn?: pulumi.Input; + /** + * To disable image garbage collection, set to 100. The default is 85% + */ + imageGcHighThreshold?: pulumi.Input; + /** + * This cannot be set higher than imageGcHighThreshold. The default is 80% + */ + imageGcLowThreshold?: pulumi.Input; + /** + * The maximum number of processes per pod. + */ + podMaxPids?: pulumi.Input; + /** + * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + */ + topologyManagerPolicy?: pulumi.Input; + } + + /** + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + */ + export interface LinuxOSConfigArgs { + /** + * The size in MB of a swap file that will be created on each node. + */ + swapFileSizeMB?: pulumi.Input; + /** + * Sysctl settings for Linux agent nodes. + */ + sysctls?: pulumi.Input; + /** + * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageDefrag?: pulumi.Input; + /** + * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageEnabled?: pulumi.Input; + } + + /** + * Sysctl settings for Linux agent nodes. + */ + export interface SysctlConfigArgs { + /** + * Sysctl setting fs.aio-max-nr. + */ + fsAioMaxNr?: pulumi.Input; + /** + * Sysctl setting fs.file-max. + */ + fsFileMax?: pulumi.Input; + /** + * Sysctl setting fs.inotify.max_user_watches. + */ + fsInotifyMaxUserWatches?: pulumi.Input; + /** + * Sysctl setting fs.nr_open. + */ + fsNrOpen?: pulumi.Input; + /** + * Sysctl setting kernel.threads-max. + */ + kernelThreadsMax?: pulumi.Input; + /** + * Sysctl setting net.core.netdev_max_backlog. + */ + netCoreNetdevMaxBacklog?: pulumi.Input; + /** + * Sysctl setting net.core.optmem_max. + */ + netCoreOptmemMax?: pulumi.Input; + /** + * Sysctl setting net.core.rmem_default. + */ + netCoreRmemDefault?: pulumi.Input; + /** + * Sysctl setting net.core.rmem_max. + */ + netCoreRmemMax?: pulumi.Input; + /** + * Sysctl setting net.core.somaxconn. + */ + netCoreSomaxconn?: pulumi.Input; + /** + * Sysctl setting net.core.wmem_default. + */ + netCoreWmemDefault?: pulumi.Input; + /** + * Sysctl setting net.core.wmem_max. + */ + netCoreWmemMax?: pulumi.Input; + /** + * Sysctl setting net.ipv4.ip_local_port_range. + */ + netIpv4IpLocalPortRange?: pulumi.Input; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + */ + netIpv4NeighDefaultGcThresh1?: pulumi.Input; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + */ + netIpv4NeighDefaultGcThresh2?: pulumi.Input; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + */ + netIpv4NeighDefaultGcThresh3?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_fin_timeout. + */ + netIpv4TcpFinTimeout?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_keepalive_probes. + */ + netIpv4TcpKeepaliveProbes?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_keepalive_time. + */ + netIpv4TcpKeepaliveTime?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_max_syn_backlog. + */ + netIpv4TcpMaxSynBacklog?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_max_tw_buckets. + */ + netIpv4TcpMaxTwBuckets?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_tw_reuse. + */ + netIpv4TcpTwReuse?: pulumi.Input; + /** + * Sysctl setting net.ipv4.tcp_keepalive_intvl. + */ + netIpv4TcpkeepaliveIntvl?: pulumi.Input; + /** + * Sysctl setting net.netfilter.nf_conntrack_buckets. + */ + netNetfilterNfConntrackBuckets?: pulumi.Input; + /** + * Sysctl setting net.netfilter.nf_conntrack_max. + */ + netNetfilterNfConntrackMax?: pulumi.Input; + /** + * Sysctl setting vm.max_map_count. + */ + vmMaxMapCount?: pulumi.Input; + /** + * Sysctl setting vm.swappiness. + */ + vmSwappiness?: pulumi.Input; + /** + * Sysctl setting vm.vfs_cache_pressure. + */ + vmVfsCachePressure?: pulumi.Input; + } + } - export namespace v20210201 { + export namespace v20220402preview { /** * Settings for upgrading an agentpool */ export interface AgentPoolUpgradeSettingsArgs { /** - * Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default + * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade */ maxSurge?: pulumi.Input; } /** - * Kubelet configurations of agent nodes. + * Data used when creating a target resource from a source resource. + */ + export interface CreationDataArgs { + /** + * This is the ARM ID of the source object to be used to create the target object. + */ + sourceResourceId?: pulumi.Input; + } + + /** + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ export interface KubeletConfigArgs { /** - * Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). */ allowedUnsafeSysctls?: pulumi.Input[]>; /** @@ -57004,15 +61201,15 @@ export namespace containerservice { */ containerLogMaxSizeMB?: pulumi.Input; /** - * Enable CPU CFS quota enforcement for containers that specify CPU limits. + * The default is true. */ cpuCfsQuota?: pulumi.Input; /** - * Sets CPU CFS quota period value. + * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. */ cpuCfsQuotaPeriod?: pulumi.Input; /** - * CPU Manager policy to use. + * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. */ cpuManagerPolicy?: pulumi.Input; /** @@ -57020,11 +61217,11 @@ export namespace containerservice { */ failSwapOn?: pulumi.Input; /** - * The percent of disk usage after which image garbage collection is always run. + * To disable image garbage collection, set to 100. The default is 85% */ imageGcHighThreshold?: pulumi.Input; /** - * The percent of disk usage before which image garbage collection is never run. + * This cannot be set higher than imageGcHighThreshold. The default is 80% */ imageGcLowThreshold?: pulumi.Input; /** @@ -57032,33 +61229,43 @@ export namespace containerservice { */ podMaxPids?: pulumi.Input; /** - * Topology Manager policy to use. + * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. */ topologyManagerPolicy?: pulumi.Input; } /** - * OS configurations of Linux agent nodes. + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ export interface LinuxOSConfigArgs { /** - * SwapFileSizeMB specifies size in MB of a swap file will be created on each node. + * The size in MB of a swap file that will be created on each node. */ swapFileSizeMB?: pulumi.Input; /** * Sysctl settings for Linux agent nodes. */ - sysctls?: pulumi.Input; + sysctls?: pulumi.Input; /** - * Transparent Huge Page defrag configuration. + * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ transparentHugePageDefrag?: pulumi.Input; /** - * Transparent Huge Page enabled configuration. + * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ transparentHugePageEnabled?: pulumi.Input; } + /** + * Describes the Power State of the cluster + */ + export interface PowerStateArgs { + /** + * Tells whether the cluster is Running or Stopped + */ + code?: pulumi.Input; + } + /** * Sysctl settings for Linux agent nodes. */ @@ -57160,26 +61367,123 @@ export namespace containerservice { */ netNetfilterNfConntrackBuckets?: pulumi.Input; /** - * Sysctl setting net.netfilter.nf_conntrack_max. + * Sysctl setting net.netfilter.nf_conntrack_max. + */ + netNetfilterNfConntrackMax?: pulumi.Input; + /** + * Sysctl setting vm.max_map_count. + */ + vmMaxMapCount?: pulumi.Input; + /** + * Sysctl setting vm.swappiness. + */ + vmSwappiness?: pulumi.Input; + /** + * Sysctl setting vm.vfs_cache_pressure. + */ + vmVfsCachePressure?: pulumi.Input; + } + + } + + export namespace v20220702preview { + /** + * The FleetHubProfile configures the fleet hub. + */ + export interface FleetHubProfileArgs { + /** + * DNS prefix used to create the FQDN for the Fleet hub. + */ + dnsPrefix?: pulumi.Input; + } + + } + + export namespace v20230315preview { + /** + * The FleetHubProfile configures the fleet hub. + */ + export interface FleetHubProfileArgs { + /** + * DNS prefix used to create the FQDN for the Fleet hub. + */ + dnsPrefix?: pulumi.Input; + } + + /** + * The update to be applied to the ManagedClusters. + */ + export interface ManagedClusterUpdateArgs { + /** + * The upgrade to apply to the ManagedClusters. + */ + upgrade: pulumi.Input; + } + + /** + * The upgrade to apply to a ManagedCluster. + */ + export interface ManagedClusterUpgradeSpecArgs { + /** + * The Kubernetes version to upgrade the member clusters to. + */ + kubernetesVersion?: pulumi.Input; + /** + * The upgrade type. + * Full requires the KubernetesVersion property to be set. + * NodeImageOnly requires the KubernetesVersion property not to be set. + */ + type: pulumi.Input; + } + + /** + * A group to be updated. + */ + export interface UpdateGroupArgs { + /** + * The name of the Fleet member group to update. + * It should match the name of an existing FleetMember group. + * A group can only appear once across all UpdateStages in the UpdateRun. + */ + name: pulumi.Input; + } + + /** + * The UpdateRunStrategy configures the sequence of Stages and Groups in which the clusters will be updated. + */ + export interface UpdateRunStrategyArgs { + /** + * The list of stages that compose this update run. */ - netNetfilterNfConntrackMax?: pulumi.Input; + stages: pulumi.Input[]>; + } + + /** + * Contains the groups to be updated by an UpdateRun. + * Update order: + * - Sequential between stages: Stages run sequentially. The previous stage must complete before the next one starts. + * - Parallel within a stage: Groups within a stage run in parallel. + * - Sequential within a group: Clusters within a group are updated sequentially. + */ + export interface UpdateStageArgs { /** - * Sysctl setting vm.max_map_count. + * The time in seconds to wait at the end of this stage before starting the next one. Defaults to 0 seconds if unspecified. */ - vmMaxMapCount?: pulumi.Input; + afterStageWaitInSeconds?: pulumi.Input; /** - * Sysctl setting vm.swappiness. + * A list of group names that compose the stage. + * The groups will be updated in parallel. Each group name can only appear once in the UpdateRun. */ - vmSwappiness?: pulumi.Input; + groups?: pulumi.Input[]>; /** - * Sysctl setting vm.vfs_cache_pressure. + * The name of the stage. Must be unique within the UpdateRun. */ - vmVfsCachePressure?: pulumi.Input; + name: pulumi.Input; } } - export namespace v20210501 { + export namespace v20230401 { /** * Settings for upgrading an agentpool */ @@ -57190,6 +61494,37 @@ export namespace containerservice { maxSurge?: pulumi.Input; } + /** + * Azure Key Vault key management service settings for the security profile. + */ + export interface AzureKeyVaultKmsArgs { + /** + * Whether to enable Azure Key Vault key management service. The default is false. + */ + enabled?: pulumi.Input; + /** + * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + */ + keyId?: pulumi.Input; + /** + * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + */ + keyVaultNetworkAccess?: pulumi.Input; + /** + * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + */ + keyVaultResourceId?: pulumi.Input; + } + /** + * azureKeyVaultKmsArgsProvideDefaults sets the appropriate defaults for AzureKeyVaultKmsArgs + */ + export function azureKeyVaultKmsArgsProvideDefaults(val: AzureKeyVaultKmsArgs): AzureKeyVaultKmsArgs { + return { + ...val, + keyVaultNetworkAccess: (val.keyVaultNetworkAccess) ?? "Public", + }; + } + /** * Profile for Linux VMs in the container service cluster. */ @@ -57201,7 +61536,7 @@ export namespace containerservice { /** * The SSH configuration for Linux-based VMs running on Azure. */ - ssh: pulumi.Input; + ssh: pulumi.Input; } /** @@ -57213,41 +61548,61 @@ export namespace containerservice { */ dnsServiceIP?: pulumi.Input; /** - * A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range. + * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. */ - dockerBridgeCidr?: pulumi.Input; + ipFamilies?: pulumi.Input[]>; /** * Profile of the cluster load balancer. */ - loadBalancerProfile?: pulumi.Input; + loadBalancerProfile?: pulumi.Input; /** * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */ - loadBalancerSku?: pulumi.Input; + loadBalancerSku?: pulumi.Input; + /** + * Profile of the cluster NAT gateway. + */ + natGatewayProfile?: pulumi.Input; + /** + * Network dataplane used in the Kubernetes cluster. + */ + networkDataplane?: pulumi.Input; /** * This cannot be specified if networkPlugin is anything other than 'azure'. */ - networkMode?: pulumi.Input; + networkMode?: pulumi.Input; /** * Network plugin used for building the Kubernetes network. */ - networkPlugin?: pulumi.Input; + networkPlugin?: pulumi.Input; + /** + * The mode the network plugin should use. + */ + networkPluginMode?: pulumi.Input; /** * Network policy used for building the Kubernetes network. */ - networkPolicy?: pulumi.Input; + networkPolicy?: pulumi.Input; /** * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */ - outboundType?: pulumi.Input; + outboundType?: pulumi.Input; /** * A CIDR notation IP range from which to assign pod IPs when kubenet is used. */ podCidr?: pulumi.Input; + /** + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + */ + podCidrs?: pulumi.Input[]>; /** * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. */ serviceCidr?: pulumi.Input; + /** + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + */ + serviceCidrs?: pulumi.Input[]>; } /** * containerServiceNetworkProfileArgsProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileArgs @@ -57256,8 +61611,8 @@ export namespace containerservice { return { ...val, dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - dockerBridgeCidr: (val.dockerBridgeCidr) ?? "172.17.0.1/16", - loadBalancerProfile: (val.loadBalancerProfile ? pulumi.output(val.loadBalancerProfile).apply(inputs.containerservice.v20210501.managedClusterLoadBalancerProfileArgsProvideDefaults) : undefined), + loadBalancerProfile: (val.loadBalancerProfile ? pulumi.output(val.loadBalancerProfile).apply(inputs.containerservice.v20230401.managedClusterLoadBalancerProfileArgsProvideDefaults) : undefined), + natGatewayProfile: (val.natGatewayProfile ? pulumi.output(val.natGatewayProfile).apply(inputs.containerservice.v20230401.managedClusterNATGatewayProfileArgsProvideDefaults) : undefined), networkPlugin: (val.networkPlugin) ?? "kubenet", outboundType: (val.outboundType) ?? "loadBalancer", podCidr: (val.podCidr) ?? "10.244.0.0/16", @@ -57272,7 +61627,7 @@ export namespace containerservice { /** * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */ - publicKeys: pulumi.Input[]>; + publicKeys: pulumi.Input[]>; } /** @@ -57285,6 +61640,16 @@ export namespace containerservice { keyData: pulumi.Input; } + /** + * Data used when creating a target resource from a source resource. + */ + export interface CreationDataArgs { + /** + * This is the ARM ID of the source object to be used to create the target object. + */ + sourceResourceId?: pulumi.Input; + } + /** * The complex type of the extended location. */ @@ -57296,7 +61661,7 @@ export namespace containerservice { /** * The type of the extended location. */ - type?: pulumi.Input; + type?: pulumi.Input; } /** @@ -57360,7 +61725,7 @@ export namespace containerservice { /** * Sysctl settings for Linux agent nodes. */ - sysctls?: pulumi.Input; + sysctls?: pulumi.Input; /** * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ @@ -57380,7 +61745,7 @@ export namespace containerservice { */ adminGroupObjectIDs?: pulumi.Input[]>; /** - * The client AAD application ID. + * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */ clientAppID?: pulumi.Input; /** @@ -57392,11 +61757,11 @@ export namespace containerservice { */ managed?: pulumi.Input; /** - * The server AAD application ID. + * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */ serverAppID?: pulumi.Input; /** - * The server AAD application secret. + * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. */ serverAppSecret?: pulumi.Input; /** @@ -57413,6 +61778,10 @@ export namespace containerservice { * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). */ authorizedIPRanges?: pulumi.Input[]>; + /** + * Whether to disable run command for the cluster or not. + */ + disableRunCommand?: pulumi.Input; /** * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). */ @@ -57453,6 +61822,10 @@ export namespace containerservice { * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */ count?: pulumi.Input; + /** + * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + */ + creationData?: pulumi.Input; /** * Whether to enable auto-scaler */ @@ -57476,19 +61849,23 @@ export namespace containerservice { /** * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */ - gpuInstanceProfile?: pulumi.Input; + gpuInstanceProfile?: pulumi.Input; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + */ + hostGroupID?: pulumi.Input; /** * The Kubelet configuration on the agent pool nodes. */ - kubeletConfig?: pulumi.Input; + kubeletConfig?: pulumi.Input; /** * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */ - kubeletDiskType?: pulumi.Input; + kubeletDiskType?: pulumi.Input; /** * The OS configuration of Linux agent nodes. */ - linuxOSConfig?: pulumi.Input; + linuxOSConfig?: pulumi.Input; /** * The maximum number of nodes for auto-scaling */ @@ -57504,7 +61881,7 @@ export namespace containerservice { /** * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */ - mode?: pulumi.Input; + mode?: pulumi.Input; /** * Windows agent pool names must be 6 characters or less. */ @@ -57522,7 +61899,7 @@ export namespace containerservice { */ nodeTaints?: pulumi.Input[]>; /** - * As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ orchestratorVersion?: pulumi.Input; /** @@ -57532,31 +61909,39 @@ export namespace containerservice { /** * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */ - osDiskType?: pulumi.Input; + osDiskType?: pulumi.Input; /** - * Specifies an OS SKU. This value must not be specified if OSType is Windows. + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */ - osSKU?: pulumi.Input; + osSKU?: pulumi.Input; /** * The operating system type. The default is Linux. */ - osType?: pulumi.Input; + osType?: pulumi.Input; /** * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ podSubnetID?: pulumi.Input; + /** + * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + */ + powerState?: pulumi.Input; /** * The ID for Proximity Placement Group. */ proximityPlacementGroupID?: pulumi.Input; + /** + * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + */ + scaleDownMode?: pulumi.Input; /** * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. */ - scaleSetEvictionPolicy?: pulumi.Input; + scaleSetEvictionPolicy?: pulumi.Input; /** * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. */ - scaleSetPriority?: pulumi.Input; + scaleSetPriority?: pulumi.Input; /** * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */ @@ -57568,11 +61953,11 @@ export namespace containerservice { /** * The type of Agent Pool. */ - type?: pulumi.Input; + type?: pulumi.Input; /** * Settings for upgrading the agentpool */ - upgradeSettings?: pulumi.Input; + upgradeSettings?: pulumi.Input; /** * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */ @@ -57581,6 +61966,10 @@ export namespace containerservice { * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: pulumi.Input; + /** + * Determines the type of workload a node can run. + */ + workloadRuntime?: pulumi.Input; } /** @@ -57590,7 +61979,45 @@ export namespace containerservice { /** * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */ - upgradeChannel?: pulumi.Input; + upgradeChannel?: pulumi.Input; + } + + /** + * Azure Monitor addon profiles for monitoring the managed cluster. + */ + export interface ManagedClusterAzureMonitorProfileArgs { + /** + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + */ + metrics?: pulumi.Input; + } + + /** + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + */ + export interface ManagedClusterAzureMonitorProfileKubeStateMetricsArgs { + /** + * Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + */ + metricAnnotationsAllowList?: pulumi.Input; + /** + * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + */ + metricLabelsAllowlist?: pulumi.Input; + } + + /** + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + */ + export interface ManagedClusterAzureMonitorProfileMetricsArgs { + /** + * Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + */ + enabled: pulumi.Input; + /** + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + */ + kubeStateMetrics?: pulumi.Input; } /** @@ -57622,7 +62049,7 @@ export namespace containerservice { /** * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */ - type?: pulumi.Input; + type?: pulumi.Input; /** * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ @@ -57640,7 +62067,11 @@ export namespace containerservice { /** * The effective outbound IP resources of the cluster load balancer. */ - effectiveOutboundIPs?: pulumi.Input[]>; + effectiveOutboundIPs?: pulumi.Input[]>; + /** + * Enable multiple standard load balancers per AKS cluster or not. + */ + enableMultipleStandardLoadBalancers?: pulumi.Input; /** * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. */ @@ -57648,15 +62079,15 @@ export namespace containerservice { /** * Desired managed outbound IPs for the cluster load balancer. */ - managedOutboundIPs?: pulumi.Input; + managedOutboundIPs?: pulumi.Input; /** * Desired outbound IP Prefix resources for the cluster load balancer. */ - outboundIPPrefixes?: pulumi.Input; + outboundIPPrefixes?: pulumi.Input; /** * Desired outbound IP resources for the cluster load balancer. */ - outboundIPs?: pulumi.Input; + outboundIPs?: pulumi.Input; } /** * managedClusterLoadBalancerProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileArgs @@ -57666,7 +62097,7 @@ export namespace containerservice { ...val, allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, - managedOutboundIPs: (val.managedOutboundIPs ? pulumi.output(val.managedOutboundIPs).apply(inputs.containerservice.v20210501.managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults) : undefined), + managedOutboundIPs: (val.managedOutboundIPs ? pulumi.output(val.managedOutboundIPs).apply(inputs.containerservice.v20230401.managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults) : undefined), }; } @@ -57675,9 +62106,13 @@ export namespace containerservice { */ export interface ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs { /** - * The desired number of outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. */ count?: pulumi.Input; + /** + * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + */ + countIPv6?: pulumi.Input; } /** * managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs @@ -57686,6 +62121,7 @@ export namespace containerservice { return { ...val, count: (val.count) ?? 1, + countIPv6: (val.countIPv6) ?? 0, }; } @@ -57696,7 +62132,7 @@ export namespace containerservice { /** * A list of public IP prefix resources. */ - publicIPPrefixes?: pulumi.Input[]>; + publicIPPrefixes?: pulumi.Input[]>; } /** @@ -57706,7 +62142,64 @@ export namespace containerservice { /** * A list of public IP resources. */ - publicIPs?: pulumi.Input[]>; + publicIPs?: pulumi.Input[]>; + } + + /** + * Profile of the managed outbound IP resources of the managed cluster. + */ + export interface ManagedClusterManagedOutboundIPProfileArgs { + /** + * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + */ + count?: pulumi.Input; + } + /** + * managedClusterManagedOutboundIPProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterManagedOutboundIPProfileArgs + */ + export function managedClusterManagedOutboundIPProfileArgsProvideDefaults(val: ManagedClusterManagedOutboundIPProfileArgs): ManagedClusterManagedOutboundIPProfileArgs { + return { + ...val, + count: (val.count) ?? 1, + }; + } + + /** + * Profile of the managed cluster NAT gateway. + */ + export interface ManagedClusterNATGatewayProfileArgs { + /** + * The effective outbound IP resources of the cluster NAT gateway. + */ + effectiveOutboundIPs?: pulumi.Input[]>; + /** + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + */ + idleTimeoutInMinutes?: pulumi.Input; + /** + * Profile of the managed outbound IP resources of the cluster NAT gateway. + */ + managedOutboundIPProfile?: pulumi.Input; + } + /** + * managedClusterNATGatewayProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileArgs + */ + export function managedClusterNATGatewayProfileArgsProvideDefaults(val: ManagedClusterNATGatewayProfileArgs): ManagedClusterNATGatewayProfileArgs { + return { + ...val, + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, + managedOutboundIPProfile: (val.managedOutboundIPProfile ? pulumi.output(val.managedOutboundIPProfile).apply(inputs.containerservice.v20230401.managedClusterManagedOutboundIPProfileArgsProvideDefaults) : undefined), + }; + } + + /** + * The OIDC issuer profile of the Managed Cluster. + */ + export interface ManagedClusterOIDCIssuerProfileArgs { + /** + * Whether the OIDC issuer is enabled. + */ + enabled?: pulumi.Input; } /** @@ -57720,7 +62213,7 @@ export namespace containerservice { /** * The user assigned identity details. */ - identity: pulumi.Input; + identity: pulumi.Input; /** * The name of the pod identity. */ @@ -57764,11 +62257,11 @@ export namespace containerservice { /** * The pod identities to use in the cluster. */ - userAssignedIdentities?: pulumi.Input[]>; + userAssignedIdentities?: pulumi.Input[]>; /** * The pod identity exceptions to allow. */ - userAssignedIdentityExceptions?: pulumi.Input[]>; + userAssignedIdentityExceptions?: pulumi.Input[]>; } /** @@ -57782,7 +62275,7 @@ export namespace containerservice { /** * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */ - expander?: pulumi.Input; + expander?: pulumi.Input; /** * The default is 10. */ @@ -57845,21 +62338,6 @@ export namespace containerservice { skipNodesWithSystemPods?: pulumi.Input; } - export interface ManagedClusterPropertiesIdentityProfileArgs { - /** - * The client ID of the user assigned identity. - */ - clientId?: pulumi.Input; - /** - * The object ID of the user assigned identity. - */ - objectId?: pulumi.Input; - /** - * The resource ID of the user assigned identity. - */ - resourceId?: pulumi.Input; - } - /** * The SKU of a Managed Cluster. */ @@ -57867,537 +62345,282 @@ export namespace containerservice { /** * The name of a managed cluster SKU. */ - name?: pulumi.Input; - /** - * If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details. - */ - tier?: pulumi.Input; - } - - /** - * Information about a service principal identity for the cluster to use for manipulating Azure APIs. - */ - export interface ManagedClusterServicePrincipalProfileArgs { - /** - * The ID for the service principal. - */ - clientId: pulumi.Input; + name?: pulumi.Input; /** - * The secret password associated with the service principal in plain text. + * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */ - secret?: pulumi.Input; + tier?: pulumi.Input; } /** - * Profile for Windows VMs in the managed cluster. + * Security profile for the container service cluster. */ - export interface ManagedClusterWindowsProfileArgs { + export interface ManagedClusterSecurityProfileArgs { /** - * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. */ - adminPassword?: pulumi.Input; + azureKeyVaultKms?: pulumi.Input; /** - * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + * Microsoft Defender settings for the security profile. */ - adminUsername: pulumi.Input; + defender?: pulumi.Input; /** - * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + * Image Cleaner settings for the security profile. */ - enableCSIProxy?: pulumi.Input; + imageCleaner?: pulumi.Input; /** - * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. */ - licenseType?: pulumi.Input; + workloadIdentity?: pulumi.Input; + } + /** + * managedClusterSecurityProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileArgs + */ + export function managedClusterSecurityProfileArgsProvideDefaults(val: ManagedClusterSecurityProfileArgs): ManagedClusterSecurityProfileArgs { + return { + ...val, + azureKeyVaultKms: (val.azureKeyVaultKms ? pulumi.output(val.azureKeyVaultKms).apply(inputs.containerservice.v20230401.azureKeyVaultKmsArgsProvideDefaults) : undefined), + }; } /** - * A private link resource + * Microsoft Defender settings for the security profile. */ - export interface PrivateLinkResourceArgs { - /** - * The group ID of the resource. - */ - groupId?: pulumi.Input; - /** - * The ID of the private link resource. - */ - id?: pulumi.Input; - /** - * The name of the private link resource. - */ - name?: pulumi.Input; + export interface ManagedClusterSecurityProfileDefenderArgs { /** - * The RequiredMembers of the resource + * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. */ - requiredMembers?: pulumi.Input[]>; + logAnalyticsWorkspaceResourceId?: pulumi.Input; /** - * The resource type. + * Microsoft Defender threat detection for Cloud settings for the security profile. */ - type?: pulumi.Input; + securityMonitoring?: pulumi.Input; } /** - * A reference to an Azure resource. + * Microsoft Defender settings for the security profile threat detection. */ - export interface ResourceReferenceArgs { + export interface ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs { /** - * The fully qualified Azure resource id. + * Whether to enable Defender threat detection */ - id?: pulumi.Input; + enabled?: pulumi.Input; } /** - * Sysctl settings for Linux agent nodes. + * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. */ - export interface SysctlConfigArgs { - /** - * Sysctl setting fs.aio-max-nr. - */ - fsAioMaxNr?: pulumi.Input; - /** - * Sysctl setting fs.file-max. - */ - fsFileMax?: pulumi.Input; - /** - * Sysctl setting fs.inotify.max_user_watches. - */ - fsInotifyMaxUserWatches?: pulumi.Input; - /** - * Sysctl setting fs.nr_open. - */ - fsNrOpen?: pulumi.Input; - /** - * Sysctl setting kernel.threads-max. - */ - kernelThreadsMax?: pulumi.Input; - /** - * Sysctl setting net.core.netdev_max_backlog. - */ - netCoreNetdevMaxBacklog?: pulumi.Input; - /** - * Sysctl setting net.core.optmem_max. - */ - netCoreOptmemMax?: pulumi.Input; - /** - * Sysctl setting net.core.rmem_default. - */ - netCoreRmemDefault?: pulumi.Input; - /** - * Sysctl setting net.core.rmem_max. - */ - netCoreRmemMax?: pulumi.Input; - /** - * Sysctl setting net.core.somaxconn. - */ - netCoreSomaxconn?: pulumi.Input; - /** - * Sysctl setting net.core.wmem_default. - */ - netCoreWmemDefault?: pulumi.Input; - /** - * Sysctl setting net.core.wmem_max. - */ - netCoreWmemMax?: pulumi.Input; - /** - * Sysctl setting net.ipv4.ip_local_port_range. - */ - netIpv4IpLocalPortRange?: pulumi.Input; - /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh1. - */ - netIpv4NeighDefaultGcThresh1?: pulumi.Input; - /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh2. - */ - netIpv4NeighDefaultGcThresh2?: pulumi.Input; - /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh3. - */ - netIpv4NeighDefaultGcThresh3?: pulumi.Input; - /** - * Sysctl setting net.ipv4.tcp_fin_timeout. - */ - netIpv4TcpFinTimeout?: pulumi.Input; - /** - * Sysctl setting net.ipv4.tcp_keepalive_probes. - */ - netIpv4TcpKeepaliveProbes?: pulumi.Input; - /** - * Sysctl setting net.ipv4.tcp_keepalive_time. - */ - netIpv4TcpKeepaliveTime?: pulumi.Input; + export interface ManagedClusterSecurityProfileImageCleanerArgs { /** - * Sysctl setting net.ipv4.tcp_max_syn_backlog. + * Whether to enable Image Cleaner on AKS cluster. */ - netIpv4TcpMaxSynBacklog?: pulumi.Input; + enabled?: pulumi.Input; /** - * Sysctl setting net.ipv4.tcp_max_tw_buckets. + * Image Cleaner scanning interval in hours. */ - netIpv4TcpMaxTwBuckets?: pulumi.Input; + intervalHours?: pulumi.Input; + } + + /** + * Workload identity settings for the security profile. + */ + export interface ManagedClusterSecurityProfileWorkloadIdentityArgs { /** - * Sysctl setting net.ipv4.tcp_tw_reuse. + * Whether to enable workload identity. */ - netIpv4TcpTwReuse?: pulumi.Input; + enabled?: pulumi.Input; + } + + /** + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + */ + export interface ManagedClusterServicePrincipalProfileArgs { /** - * Sysctl setting net.ipv4.tcp_keepalive_intvl. + * The ID for the service principal. */ - netIpv4TcpkeepaliveIntvl?: pulumi.Input; + clientId: pulumi.Input; /** - * Sysctl setting net.netfilter.nf_conntrack_buckets. + * The secret password associated with the service principal in plain text. */ - netNetfilterNfConntrackBuckets?: pulumi.Input; + secret?: pulumi.Input; + } + + /** + * Storage profile for the container service cluster. + */ + export interface ManagedClusterStorageProfileArgs { /** - * Sysctl setting net.netfilter.nf_conntrack_max. + * AzureBlob CSI Driver settings for the storage profile. */ - netNetfilterNfConntrackMax?: pulumi.Input; + blobCSIDriver?: pulumi.Input; /** - * Sysctl setting vm.max_map_count. + * AzureDisk CSI Driver settings for the storage profile. */ - vmMaxMapCount?: pulumi.Input; + diskCSIDriver?: pulumi.Input; /** - * Sysctl setting vm.swappiness. + * AzureFile CSI Driver settings for the storage profile. */ - vmSwappiness?: pulumi.Input; + fileCSIDriver?: pulumi.Input; /** - * Sysctl setting vm.vfs_cache_pressure. + * Snapshot Controller settings for the storage profile. */ - vmVfsCachePressure?: pulumi.Input; + snapshotController?: pulumi.Input; } /** - * Details about a user assigned identity. + * AzureBlob CSI Driver settings for the storage profile. */ - export interface UserAssignedIdentityArgs { - /** - * The client ID of the user assigned identity. - */ - clientId?: pulumi.Input; - /** - * The object ID of the user assigned identity. - */ - objectId?: pulumi.Input; + export interface ManagedClusterStorageProfileBlobCSIDriverArgs { /** - * The resource ID of the user assigned identity. + * Whether to enable AzureBlob CSI Driver. The default value is false. */ - resourceId?: pulumi.Input; + enabled?: pulumi.Input; } - } - - export namespace v20210801 { /** - * Settings for upgrading an agentpool + * AzureDisk CSI Driver settings for the storage profile. */ - export interface AgentPoolUpgradeSettingsArgs { + export interface ManagedClusterStorageProfileDiskCSIDriverArgs { /** - * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + * Whether to enable AzureDisk CSI Driver. The default value is true. */ - maxSurge?: pulumi.Input; + enabled?: pulumi.Input; } /** - * Data used when creating a target resource from a source resource. + * AzureFile CSI Driver settings for the storage profile. */ - export interface CreationDataArgs { + export interface ManagedClusterStorageProfileFileCSIDriverArgs { /** - * This is the ARM ID of the source object to be used to create the target object. + * Whether to enable AzureFile CSI Driver. The default value is true. */ - sourceResourceId?: pulumi.Input; + enabled?: pulumi.Input; } /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * Snapshot Controller settings for the storage profile. */ - export interface KubeletConfigArgs { - /** - * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - */ - allowedUnsafeSysctls?: pulumi.Input[]>; - /** - * The maximum number of container log files that can be present for a container. The number must be ≥ 2. - */ - containerLogMaxFiles?: pulumi.Input; - /** - * The maximum size (e.g. 10Mi) of container log file before it is rotated. - */ - containerLogMaxSizeMB?: pulumi.Input; - /** - * The default is true. - */ - cpuCfsQuota?: pulumi.Input; - /** - * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - */ - cpuCfsQuotaPeriod?: pulumi.Input; + export interface ManagedClusterStorageProfileSnapshotControllerArgs { /** - * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + * Whether to enable Snapshot Controller. The default value is true. */ - cpuManagerPolicy?: pulumi.Input; + enabled?: pulumi.Input; + } + + /** + * Profile for Windows VMs in the managed cluster. + */ + export interface ManagedClusterWindowsProfileArgs { /** - * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" */ - failSwapOn?: pulumi.Input; + adminPassword?: pulumi.Input; /** - * To disable image garbage collection, set to 100. The default is 85% + * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters */ - imageGcHighThreshold?: pulumi.Input; + adminUsername: pulumi.Input; /** - * This cannot be set higher than imageGcHighThreshold. The default is 80% + * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). */ - imageGcLowThreshold?: pulumi.Input; + enableCSIProxy?: pulumi.Input; /** - * The maximum number of processes per pod. + * The Windows gMSA Profile in the Managed Cluster. */ - podMaxPids?: pulumi.Input; + gmsaProfile?: pulumi.Input; /** - * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */ - topologyManagerPolicy?: pulumi.Input; + licenseType?: pulumi.Input; } /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * Workload Auto-scaler profile for the managed cluster. */ - export interface LinuxOSConfigArgs { - /** - * The size in MB of a swap file that will be created on each node. - */ - swapFileSizeMB?: pulumi.Input; - /** - * Sysctl settings for Linux agent nodes. - */ - sysctls?: pulumi.Input; - /** - * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - */ - transparentHugePageDefrag?: pulumi.Input; + export interface ManagedClusterWorkloadAutoScalerProfileArgs { /** - * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ - transparentHugePageEnabled?: pulumi.Input; + keda?: pulumi.Input; } /** - * Sysctl settings for Linux agent nodes. + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ - export interface SysctlConfigArgs { - /** - * Sysctl setting fs.aio-max-nr. - */ - fsAioMaxNr?: pulumi.Input; - /** - * Sysctl setting fs.file-max. - */ - fsFileMax?: pulumi.Input; - /** - * Sysctl setting fs.inotify.max_user_watches. - */ - fsInotifyMaxUserWatches?: pulumi.Input; - /** - * Sysctl setting fs.nr_open. - */ - fsNrOpen?: pulumi.Input; - /** - * Sysctl setting kernel.threads-max. - */ - kernelThreadsMax?: pulumi.Input; - /** - * Sysctl setting net.core.netdev_max_backlog. - */ - netCoreNetdevMaxBacklog?: pulumi.Input; - /** - * Sysctl setting net.core.optmem_max. - */ - netCoreOptmemMax?: pulumi.Input; - /** - * Sysctl setting net.core.rmem_default. - */ - netCoreRmemDefault?: pulumi.Input; - /** - * Sysctl setting net.core.rmem_max. - */ - netCoreRmemMax?: pulumi.Input; - /** - * Sysctl setting net.core.somaxconn. - */ - netCoreSomaxconn?: pulumi.Input; - /** - * Sysctl setting net.core.wmem_default. - */ - netCoreWmemDefault?: pulumi.Input; - /** - * Sysctl setting net.core.wmem_max. - */ - netCoreWmemMax?: pulumi.Input; - /** - * Sysctl setting net.ipv4.ip_local_port_range. - */ - netIpv4IpLocalPortRange?: pulumi.Input; - /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh1. - */ - netIpv4NeighDefaultGcThresh1?: pulumi.Input; - /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh2. - */ - netIpv4NeighDefaultGcThresh2?: pulumi.Input; - /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh3. - */ - netIpv4NeighDefaultGcThresh3?: pulumi.Input; - /** - * Sysctl setting net.ipv4.tcp_fin_timeout. - */ - netIpv4TcpFinTimeout?: pulumi.Input; - /** - * Sysctl setting net.ipv4.tcp_keepalive_probes. - */ - netIpv4TcpKeepaliveProbes?: pulumi.Input; - /** - * Sysctl setting net.ipv4.tcp_keepalive_time. - */ - netIpv4TcpKeepaliveTime?: pulumi.Input; - /** - * Sysctl setting net.ipv4.tcp_max_syn_backlog. - */ - netIpv4TcpMaxSynBacklog?: pulumi.Input; - /** - * Sysctl setting net.ipv4.tcp_max_tw_buckets. - */ - netIpv4TcpMaxTwBuckets?: pulumi.Input; - /** - * Sysctl setting net.ipv4.tcp_tw_reuse. - */ - netIpv4TcpTwReuse?: pulumi.Input; - /** - * Sysctl setting net.ipv4.tcp_keepalive_intvl. - */ - netIpv4TcpkeepaliveIntvl?: pulumi.Input; - /** - * Sysctl setting net.netfilter.nf_conntrack_buckets. - */ - netNetfilterNfConntrackBuckets?: pulumi.Input; - /** - * Sysctl setting net.netfilter.nf_conntrack_max. - */ - netNetfilterNfConntrackMax?: pulumi.Input; - /** - * Sysctl setting vm.max_map_count. - */ - vmMaxMapCount?: pulumi.Input; - /** - * Sysctl setting vm.swappiness. - */ - vmSwappiness?: pulumi.Input; + export interface ManagedClusterWorkloadAutoScalerProfileKedaArgs { /** - * Sysctl setting vm.vfs_cache_pressure. + * Whether to enable KEDA. */ - vmVfsCachePressure?: pulumi.Input; + enabled: pulumi.Input; } - } - - export namespace v20220402preview { /** - * Settings for upgrading an agentpool + * Describes the Power State of the cluster */ - export interface AgentPoolUpgradeSettingsArgs { + export interface PowerStateArgs { /** - * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + * Tells whether the cluster is Running or Stopped */ - maxSurge?: pulumi.Input; + code?: pulumi.Input; } /** - * Data used when creating a target resource from a source resource. + * Private endpoint which a connection belongs to. */ - export interface CreationDataArgs { + export interface PrivateEndpointArgs { /** - * This is the ARM ID of the source object to be used to create the target object. + * The resource ID of the private endpoint */ - sourceResourceId?: pulumi.Input; + id?: pulumi.Input; } /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * A private link resource */ - export interface KubeletConfigArgs { - /** - * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - */ - allowedUnsafeSysctls?: pulumi.Input[]>; - /** - * The maximum number of container log files that can be present for a container. The number must be ≥ 2. - */ - containerLogMaxFiles?: pulumi.Input; - /** - * The maximum size (e.g. 10Mi) of container log file before it is rotated. - */ - containerLogMaxSizeMB?: pulumi.Input; - /** - * The default is true. - */ - cpuCfsQuota?: pulumi.Input; - /** - * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - */ - cpuCfsQuotaPeriod?: pulumi.Input; - /** - * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. - */ - cpuManagerPolicy?: pulumi.Input; + export interface PrivateLinkResourceArgs { /** - * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + * The group ID of the resource. */ - failSwapOn?: pulumi.Input; + groupId?: pulumi.Input; /** - * To disable image garbage collection, set to 100. The default is 85% + * The ID of the private link resource. */ - imageGcHighThreshold?: pulumi.Input; + id?: pulumi.Input; /** - * This cannot be set higher than imageGcHighThreshold. The default is 80% + * The name of the private link resource. */ - imageGcLowThreshold?: pulumi.Input; + name?: pulumi.Input; /** - * The maximum number of processes per pod. + * The RequiredMembers of the resource */ - podMaxPids?: pulumi.Input; + requiredMembers?: pulumi.Input[]>; /** - * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + * The resource type. */ - topologyManagerPolicy?: pulumi.Input; + type?: pulumi.Input; } /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * The state of a private link service connection. */ - export interface LinuxOSConfigArgs { - /** - * The size in MB of a swap file that will be created on each node. - */ - swapFileSizeMB?: pulumi.Input; - /** - * Sysctl settings for Linux agent nodes. - */ - sysctls?: pulumi.Input; + export interface PrivateLinkServiceConnectionStateArgs { /** - * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + * The private link service connection description. */ - transparentHugePageDefrag?: pulumi.Input; + description?: pulumi.Input; /** - * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + * The private link service connection status. */ - transparentHugePageEnabled?: pulumi.Input; + status?: pulumi.Input; } /** - * Describes the Power State of the cluster + * A reference to an Azure resource. */ - export interface PowerStateArgs { + export interface ResourceReferenceArgs { /** - * Tells whether the cluster is Running or Stopped + * The fully qualified Azure resource id. */ - code?: pulumi.Input; + id?: pulumi.Input; } /** @@ -58518,106 +62741,105 @@ export namespace containerservice { vmVfsCachePressure?: pulumi.Input; } - } - - export namespace v20220702preview { /** - * The FleetHubProfile configures the fleet hub. + * Time in a week. */ - export interface FleetHubProfileArgs { + export interface TimeInWeekArgs { /** - * DNS prefix used to create the FQDN for the Fleet hub. + * The day of the week. */ - dnsPrefix?: pulumi.Input; - } - - } - - export namespace v20230315preview { - /** - * The FleetHubProfile configures the fleet hub. - */ - export interface FleetHubProfileArgs { + day?: pulumi.Input; /** - * DNS prefix used to create the FQDN for the Fleet hub. + * Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. */ - dnsPrefix?: pulumi.Input; + hourSlots?: pulumi.Input[]>; } /** - * The update to be applied to the ManagedClusters. + * For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. */ - export interface ManagedClusterUpdateArgs { + export interface TimeSpanArgs { /** - * The upgrade to apply to the ManagedClusters. + * The end of a time span */ - upgrade: pulumi.Input; + end?: pulumi.Input; + /** + * The start of a time span + */ + start?: pulumi.Input; } /** - * The upgrade to apply to a ManagedCluster. + * Details about a user assigned identity. */ - export interface ManagedClusterUpgradeSpecArgs { + export interface UserAssignedIdentityArgs { /** - * The Kubernetes version to upgrade the member clusters to. + * The client ID of the user assigned identity. */ - kubernetesVersion?: pulumi.Input; + clientId?: pulumi.Input; /** - * The upgrade type. - * Full requires the KubernetesVersion property to be set. - * NodeImageOnly requires the KubernetesVersion property not to be set. + * The object ID of the user assigned identity. */ - type: pulumi.Input; + objectId?: pulumi.Input; + /** + * The resource ID of the user assigned identity. + */ + resourceId?: pulumi.Input; } /** - * A group to be updated. + * Windows gMSA Profile in the managed cluster. */ - export interface UpdateGroupArgs { + export interface WindowsGmsaProfileArgs { /** - * The name of the Fleet member group to update. - * It should match the name of an existing FleetMember group. - * A group can only appear once across all UpdateStages in the UpdateRun. + * Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. */ - name: pulumi.Input; + dnsServer?: pulumi.Input; + /** + * Specifies whether to enable Windows gMSA in the managed cluster. + */ + enabled?: pulumi.Input; + /** + * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + rootDomainName?: pulumi.Input; } + } + + export namespace v20230502preview { /** - * The UpdateRunStrategy configures the sequence of Stages and Groups in which the clusters will be updated. + * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ - export interface UpdateRunStrategyArgs { + export interface AbsoluteMonthlyScheduleArgs { /** - * The list of stages that compose this update run. + * The date of the month. */ - stages: pulumi.Input[]>; + dayOfMonth: pulumi.Input; + /** + * Specifies the number of months between each set of occurrences. + */ + intervalMonths: pulumi.Input; } /** - * Contains the groups to be updated by an UpdateRun. - * Update order: - * - Sequential between stages: Stages run sequentially. The previous stage must complete before the next one starts. - * - Parallel within a stage: Groups within a stage run in parallel. - * - Sequential within a group: Clusters within a group are updated sequentially. + * Network settings of an agent pool. */ - export interface UpdateStageArgs { + export interface AgentPoolNetworkProfileArgs { /** - * The time in seconds to wait at the end of this stage before starting the next one. Defaults to 0 seconds if unspecified. + * The port ranges that are allowed to access. The specified ranges are allowed to overlap. */ - afterStageWaitInSeconds?: pulumi.Input; + allowedHostPorts?: pulumi.Input[]>; /** - * A list of group names that compose the stage. - * The groups will be updated in parallel. Each group name can only appear once in the UpdateRun. + * The IDs of the application security groups which agent pool will associate when created. */ - groups?: pulumi.Input[]>; + applicationSecurityGroups?: pulumi.Input[]>; /** - * The name of the stage. Must be unique within the UpdateRun. + * IPTags of instance-level public IPs. */ - name: pulumi.Input; + nodePublicIPTags?: pulumi.Input[]>; } - } - - export namespace v20230401 { /** * Settings for upgrading an agentpool */ @@ -58628,6 +62850,16 @@ export namespace containerservice { maxSurge?: pulumi.Input; } + /** + * The Windows agent pool's specific profile. + */ + export interface AgentPoolWindowsProfileArgs { + /** + * The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled. + */ + disableOutboundNat?: pulumi.Input; + } + /** * Azure Key Vault key management service settings for the security profile. */ @@ -58643,7 +62875,7 @@ export namespace containerservice { /** * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */ - keyVaultNetworkAccess?: pulumi.Input; + keyVaultNetworkAccess?: pulumi.Input; /** * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. */ @@ -58659,6 +62891,16 @@ export namespace containerservice { }; } + /** + * Settings for upgrading a cluster. + */ + export interface ClusterUpgradeSettingsArgs { + /** + * Settings for overrides. + */ + overrideSettings?: pulumi.Input; + } + /** * Profile for Linux VMs in the container service cluster. */ @@ -58670,7 +62912,7 @@ export namespace containerservice { /** * The SSH configuration for Linux-based VMs running on Azure. */ - ssh: pulumi.Input; + ssh: pulumi.Input; } /** @@ -58684,43 +62926,51 @@ export namespace containerservice { /** * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. */ - ipFamilies?: pulumi.Input[]>; + ipFamilies?: pulumi.Input[]>; + /** + * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + */ + kubeProxyConfig?: pulumi.Input; /** * Profile of the cluster load balancer. */ - loadBalancerProfile?: pulumi.Input; + loadBalancerProfile?: pulumi.Input; /** * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */ - loadBalancerSku?: pulumi.Input; + loadBalancerSku?: pulumi.Input; + /** + * This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format + */ + monitoring?: pulumi.Input; /** * Profile of the cluster NAT gateway. */ - natGatewayProfile?: pulumi.Input; + natGatewayProfile?: pulumi.Input; /** * Network dataplane used in the Kubernetes cluster. */ - networkDataplane?: pulumi.Input; + networkDataplane?: pulumi.Input; /** * This cannot be specified if networkPlugin is anything other than 'azure'. */ - networkMode?: pulumi.Input; + networkMode?: pulumi.Input; /** * Network plugin used for building the Kubernetes network. */ - networkPlugin?: pulumi.Input; + networkPlugin?: pulumi.Input; /** - * The mode the network plugin should use. + * Network plugin mode used for building the Kubernetes network. */ - networkPluginMode?: pulumi.Input; + networkPluginMode?: pulumi.Input; /** * Network policy used for building the Kubernetes network. */ - networkPolicy?: pulumi.Input; + networkPolicy?: pulumi.Input; /** * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */ - outboundType?: pulumi.Input; + outboundType?: pulumi.Input; /** * A CIDR notation IP range from which to assign pod IPs when kubenet is used. */ @@ -58745,15 +62995,54 @@ export namespace containerservice { return { ...val, dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - loadBalancerProfile: (val.loadBalancerProfile ? pulumi.output(val.loadBalancerProfile).apply(inputs.containerservice.v20230401.managedClusterLoadBalancerProfileArgsProvideDefaults) : undefined), - natGatewayProfile: (val.natGatewayProfile ? pulumi.output(val.natGatewayProfile).apply(inputs.containerservice.v20230401.managedClusterNATGatewayProfileArgsProvideDefaults) : undefined), - networkPlugin: (val.networkPlugin) ?? "kubenet", + loadBalancerProfile: (val.loadBalancerProfile ? pulumi.output(val.loadBalancerProfile).apply(inputs.containerservice.v20230502preview.managedClusterLoadBalancerProfileArgsProvideDefaults) : undefined), + natGatewayProfile: (val.natGatewayProfile ? pulumi.output(val.natGatewayProfile).apply(inputs.containerservice.v20230502preview.managedClusterNATGatewayProfileArgsProvideDefaults) : undefined), outboundType: (val.outboundType) ?? "loadBalancer", podCidr: (val.podCidr) ?? "10.244.0.0/16", serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", }; } + /** + * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + */ + export interface ContainerServiceNetworkProfileIpvsConfigArgs { + /** + * IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. + */ + scheduler?: pulumi.Input; + /** + * The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value. + */ + tcpFinTimeoutSeconds?: pulumi.Input; + /** + * The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. + */ + tcpTimeoutSeconds?: pulumi.Input; + /** + * The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. + */ + udpTimeoutSeconds?: pulumi.Input; + } + + /** + * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + */ + export interface ContainerServiceNetworkProfileKubeProxyConfigArgs { + /** + * Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations). + */ + enabled?: pulumi.Input; + /** + * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + */ + ipvsConfig?: pulumi.Input; + /** + * Specify which proxy mode to use ('IPTABLES' or 'IPVS') + */ + mode?: pulumi.Input; + } + /** * SSH configuration for Linux-based VMs running on Azure. */ @@ -58761,7 +63050,7 @@ export namespace containerservice { /** * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */ - publicKeys: pulumi.Input[]>; + publicKeys: pulumi.Input[]>; } /** @@ -58784,6 +63073,30 @@ export namespace containerservice { sourceResourceId?: pulumi.Input; } + /** + * For schedules like: 'recur every day' or 'recur every 3 days'. + */ + export interface DailyScheduleArgs { + /** + * Specifies the number of days between each set of occurrences. + */ + intervalDays: pulumi.Input; + } + + /** + * For example, between '2022-12-23' and '2023-01-05'. + */ + export interface DateSpanArgs { + /** + * The end date of the date span. + */ + end: pulumi.Input; + /** + * The start date of the date span. + */ + start: pulumi.Input; + } + /** * The complex type of the extended location. */ @@ -58795,7 +63108,73 @@ export namespace containerservice { /** * The type of the extended location. */ - type?: pulumi.Input; + type?: pulumi.Input; + } + + /** + * The Guardrails profile. + */ + export interface GuardrailsProfileArgs { + /** + * List of namespaces excluded from guardrails checks + */ + excludedNamespaces?: pulumi.Input[]>; + /** + * The guardrails level to be used. By default, Guardrails is enabled for all namespaces except those that AKS excludes via systemExcludedNamespaces + */ + level: pulumi.Input; + /** + * The version of constraints to use + */ + version: pulumi.Input; + } + + /** + * Contains the IPTag associated with the object. + */ + export interface IPTagArgs { + /** + * The IP tag type. Example: RoutingPreference. + */ + ipTagType?: pulumi.Input; + /** + * The value of the IP tag associated with the public IP. Example: Internet. + */ + tag?: pulumi.Input; + } + + /** + * Istio components configuration. + */ + export interface IstioComponentsArgs { + /** + * Istio ingress gateways. + */ + ingressGateways?: pulumi.Input[]>; + } + + /** + * Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + */ + export interface IstioIngressGatewayArgs { + /** + * Whether to enable the ingress gateway. + */ + enabled: pulumi.Input; + /** + * Mode of an ingress gateway. + */ + mode: pulumi.Input; + } + + /** + * Istio service mesh configuration. + */ + export interface IstioServiceMeshArgs { + /** + * Istio components configuration. + */ + components?: pulumi.Input; } /** @@ -58859,7 +63238,7 @@ export namespace containerservice { /** * Sysctl settings for Linux agent nodes. */ - sysctls?: pulumi.Input; + sysctls?: pulumi.Input; /** * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ @@ -58870,6 +63249,45 @@ export namespace containerservice { transparentHugePageEnabled?: pulumi.Input; } + /** + * Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + */ + export interface MaintenanceWindowArgs { + /** + * Length of maintenance window range from 4 to 24 hours. + */ + durationHours: pulumi.Input; + /** + * Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. + */ + notAllowedDates?: pulumi.Input[]>; + /** + * Recurrence schedule for the maintenance window. + */ + schedule: pulumi.Input; + /** + * The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + */ + startDate?: pulumi.Input; + /** + * The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + */ + startTime: pulumi.Input; + /** + * The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. + */ + utcOffset?: pulumi.Input; + } + /** + * maintenanceWindowArgsProvideDefaults sets the appropriate defaults for MaintenanceWindowArgs + */ + export function maintenanceWindowArgsProvideDefaults(val: MaintenanceWindowArgs): MaintenanceWindowArgs { + return { + ...val, + durationHours: (val.durationHours) ?? 24, + }; + } + /** * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). */ @@ -58924,10 +63342,18 @@ export namespace containerservice { * Whether to create additional public FQDN for private cluster or not. */ enablePrivateClusterPublicFQDN?: pulumi.Input; + /** + * Whether to enable apiserver vnet integration for the cluster or not. + */ + enableVnetIntegration?: pulumi.Input; /** * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. */ privateDNSZone?: pulumi.Input; + /** + * It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration. + */ + subnetId?: pulumi.Input; } /** @@ -58952,6 +63378,10 @@ export namespace containerservice { * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */ availabilityZones?: pulumi.Input[]>; + /** + * AKS will associate the specified agent pool with the Capacity Reservation Group. + */ + capacityReservationGroupID?: pulumi.Input; /** * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */ @@ -58959,11 +63389,15 @@ export namespace containerservice { /** * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */ - creationData?: pulumi.Input; + creationData?: pulumi.Input; /** * Whether to enable auto-scaler */ enableAutoScaling?: pulumi.Input; + /** + * When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded certificates into node trust stores. Defaults to false. + */ + enableCustomCATrust?: pulumi.Input; /** * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */ @@ -58983,7 +63417,7 @@ export namespace containerservice { /** * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */ - gpuInstanceProfile?: pulumi.Input; + gpuInstanceProfile?: pulumi.Input; /** * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */ @@ -58991,15 +63425,15 @@ export namespace containerservice { /** * The Kubelet configuration on the agent pool nodes. */ - kubeletConfig?: pulumi.Input; + kubeletConfig?: pulumi.Input; /** * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */ - kubeletDiskType?: pulumi.Input; + kubeletDiskType?: pulumi.Input; /** * The OS configuration of Linux agent nodes. */ - linuxOSConfig?: pulumi.Input; + linuxOSConfig?: pulumi.Input; /** * The maximum number of nodes for auto-scaling */ @@ -59008,6 +63442,10 @@ export namespace containerservice { * The maximum number of pods that can run on a node. */ maxPods?: pulumi.Input; + /** + * A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). + */ + messageOfTheDay?: pulumi.Input; /** * The minimum number of nodes for auto-scaling */ @@ -59015,11 +63453,15 @@ export namespace containerservice { /** * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */ - mode?: pulumi.Input; + mode?: pulumi.Input; /** * Windows agent pool names must be 6 characters or less. */ name: pulumi.Input; + /** + * Network-related settings of an agent pool. + */ + networkProfile?: pulumi.Input; /** * The node labels to be persisted across all nodes in agent pool. */ @@ -59033,7 +63475,7 @@ export namespace containerservice { */ nodeTaints?: pulumi.Input[]>; /** - * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + * Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ orchestratorVersion?: pulumi.Input; /** @@ -59043,15 +63485,15 @@ export namespace containerservice { /** * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */ - osDiskType?: pulumi.Input; + osDiskType?: pulumi.Input; /** - * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + * Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. */ - osSKU?: pulumi.Input; + osSKU?: pulumi.Input; /** * The operating system type. The default is Linux. */ - osType?: pulumi.Input; + osType?: pulumi.Input; /** * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ @@ -59059,7 +63501,7 @@ export namespace containerservice { /** * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */ - powerState?: pulumi.Input; + powerState?: pulumi.Input; /** * The ID for Proximity Placement Group. */ @@ -59067,15 +63509,15 @@ export namespace containerservice { /** * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */ - scaleDownMode?: pulumi.Input; + scaleDownMode?: pulumi.Input; /** * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. */ - scaleSetEvictionPolicy?: pulumi.Input; + scaleSetEvictionPolicy?: pulumi.Input; /** * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. */ - scaleSetPriority?: pulumi.Input; + scaleSetPriority?: pulumi.Input; /** * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */ @@ -59087,11 +63529,11 @@ export namespace containerservice { /** * The type of Agent Pool. */ - type?: pulumi.Input; + type?: pulumi.Input; /** * Settings for upgrading the agentpool */ - upgradeSettings?: pulumi.Input; + upgradeSettings?: pulumi.Input; /** * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */ @@ -59100,58 +63542,66 @@ export namespace containerservice { * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: pulumi.Input; + /** + * The Windows agent pool's specific profile. + */ + windowsProfile?: pulumi.Input; /** * Determines the type of workload a node can run. */ - workloadRuntime?: pulumi.Input; + workloadRuntime?: pulumi.Input; } /** * Auto upgrade profile for a managed cluster. */ export interface ManagedClusterAutoUpgradeProfileArgs { + /** + * The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. + */ + nodeOSUpgradeChannel?: pulumi.Input; /** * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */ - upgradeChannel?: pulumi.Input; + upgradeChannel?: pulumi.Input; } /** - * Azure Monitor addon profiles for monitoring the managed cluster. + * Prometheus addon profile for the container service cluster */ export interface ManagedClusterAzureMonitorProfileArgs { /** - * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + * Metrics profile for the prometheus service addon */ - metrics?: pulumi.Input; + metrics?: pulumi.Input; } /** - * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + * Kube State Metrics for prometheus addon profile for the container service cluster */ export interface ManagedClusterAzureMonitorProfileKubeStateMetricsArgs { /** - * Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. */ metricAnnotationsAllowList?: pulumi.Input; /** - * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + * Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels metric. */ metricLabelsAllowlist?: pulumi.Input; } /** - * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + * Metrics profile for the prometheus service addon */ export interface ManagedClusterAzureMonitorProfileMetricsArgs { /** - * Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + * Whether to enable the Prometheus collector */ enabled: pulumi.Input; /** - * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + * Kube State Metrics for prometheus addon profile for the container service cluster */ - kubeStateMetrics?: pulumi.Input; + kubeStateMetrics?: pulumi.Input; } /** @@ -59183,13 +63633,37 @@ export namespace containerservice { /** * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */ - type?: pulumi.Input; + type?: pulumi.Input; /** * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ userAssignedIdentities?: pulumi.Input[]>; } + /** + * Ingress profile for the container service cluster. + */ + export interface ManagedClusterIngressProfileArgs { + /** + * Web App Routing settings for the ingress profile. + */ + webAppRouting?: pulumi.Input; + } + + /** + * Web App Routing settings for the ingress profile. + */ + export interface ManagedClusterIngressProfileWebAppRoutingArgs { + /** + * Resource ID of the DNS Zone to be associated with the web app. Used only when Web App Routing is enabled. + */ + dnsZoneResourceId?: pulumi.Input; + /** + * Whether to enable Web App Routing. + */ + enabled?: pulumi.Input; + } + /** * Profile of the managed cluster load balancer. */ @@ -59198,10 +63672,14 @@ export namespace containerservice { * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. */ allocatedOutboundPorts?: pulumi.Input; + /** + * The type of the managed inbound Load Balancer BackendPool. + */ + backendPoolType?: pulumi.Input; /** * The effective outbound IP resources of the cluster load balancer. */ - effectiveOutboundIPs?: pulumi.Input[]>; + effectiveOutboundIPs?: pulumi.Input[]>; /** * Enable multiple standard load balancers per AKS cluster or not. */ @@ -59213,15 +63691,15 @@ export namespace containerservice { /** * Desired managed outbound IPs for the cluster load balancer. */ - managedOutboundIPs?: pulumi.Input; + managedOutboundIPs?: pulumi.Input; /** * Desired outbound IP Prefix resources for the cluster load balancer. */ - outboundIPPrefixes?: pulumi.Input; + outboundIPPrefixes?: pulumi.Input; /** * Desired outbound IP resources for the cluster load balancer. */ - outboundIPs?: pulumi.Input; + outboundIPs?: pulumi.Input; } /** * managedClusterLoadBalancerProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileArgs @@ -59230,8 +63708,9 @@ export namespace containerservice { return { ...val, allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, + backendPoolType: (val.backendPoolType) ?? "NodeIPConfiguration", idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, - managedOutboundIPs: (val.managedOutboundIPs ? pulumi.output(val.managedOutboundIPs).apply(inputs.containerservice.v20230401.managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults) : undefined), + managedOutboundIPs: (val.managedOutboundIPs ? pulumi.output(val.managedOutboundIPs).apply(inputs.containerservice.v20230502preview.managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults) : undefined), }; } @@ -59266,7 +63745,7 @@ export namespace containerservice { /** * A list of public IP prefix resources. */ - publicIPPrefixes?: pulumi.Input[]>; + publicIPPrefixes?: pulumi.Input[]>; } /** @@ -59276,7 +63755,7 @@ export namespace containerservice { /** * A list of public IP resources. */ - publicIPs?: pulumi.Input[]>; + publicIPs?: pulumi.Input[]>; } /** @@ -59305,7 +63784,7 @@ export namespace containerservice { /** * The effective outbound IP resources of the cluster NAT gateway. */ - effectiveOutboundIPs?: pulumi.Input[]>; + effectiveOutboundIPs?: pulumi.Input[]>; /** * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. */ @@ -59313,7 +63792,7 @@ export namespace containerservice { /** * Profile of the managed outbound IP resources of the cluster NAT gateway. */ - managedOutboundIPProfile?: pulumi.Input; + managedOutboundIPProfile?: pulumi.Input; } /** * managedClusterNATGatewayProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileArgs @@ -59322,10 +63801,20 @@ export namespace containerservice { return { ...val, idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, - managedOutboundIPProfile: (val.managedOutboundIPProfile ? pulumi.output(val.managedOutboundIPProfile).apply(inputs.containerservice.v20230401.managedClusterManagedOutboundIPProfileArgsProvideDefaults) : undefined), + managedOutboundIPProfile: (val.managedOutboundIPProfile ? pulumi.output(val.managedOutboundIPProfile).apply(inputs.containerservice.v20230502preview.managedClusterManagedOutboundIPProfileArgsProvideDefaults) : undefined), }; } + /** + * Node resource group lockdown profile for a managed cluster. + */ + export interface ManagedClusterNodeResourceGroupProfileArgs { + /** + * The restriction level applied to the cluster's node resource group + */ + restrictionLevel?: pulumi.Input; + } + /** * The OIDC issuer profile of the Managed Cluster. */ @@ -59347,7 +63836,7 @@ export namespace containerservice { /** * The user assigned identity details. */ - identity: pulumi.Input; + identity: pulumi.Input; /** * The name of the pod identity. */ @@ -59391,11 +63880,11 @@ export namespace containerservice { /** * The pod identities to use in the cluster. */ - userAssignedIdentities?: pulumi.Input[]>; + userAssignedIdentities?: pulumi.Input[]>; /** * The pod identity exceptions to allow. */ - userAssignedIdentityExceptions?: pulumi.Input[]>; + userAssignedIdentityExceptions?: pulumi.Input[]>; } /** @@ -59409,7 +63898,7 @@ export namespace containerservice { /** * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */ - expander?: pulumi.Input; + expander?: pulumi.Input; /** * The default is 10. */ @@ -59479,11 +63968,11 @@ export namespace containerservice { /** * The name of a managed cluster SKU. */ - name?: pulumi.Input; + name?: pulumi.Input; /** * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */ - tier?: pulumi.Input; + tier?: pulumi.Input; } /** @@ -59493,19 +63982,27 @@ export namespace containerservice { /** * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. */ - azureKeyVaultKms?: pulumi.Input; + azureKeyVaultKms?: pulumi.Input; + /** + * A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the Custom CA Trust feature enabled. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) + */ + customCATrustCertificates?: pulumi.Input[]>; /** * Microsoft Defender settings for the security profile. */ - defender?: pulumi.Input; + defender?: pulumi.Input; /** * Image Cleaner settings for the security profile. */ - imageCleaner?: pulumi.Input; + imageCleaner?: pulumi.Input; + /** + * [Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile. + */ + nodeRestriction?: pulumi.Input; /** * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. */ - workloadIdentity?: pulumi.Input; + workloadIdentity?: pulumi.Input; } /** * managedClusterSecurityProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileArgs @@ -59513,7 +64010,7 @@ export namespace containerservice { export function managedClusterSecurityProfileArgsProvideDefaults(val: ManagedClusterSecurityProfileArgs): ManagedClusterSecurityProfileArgs { return { ...val, - azureKeyVaultKms: (val.azureKeyVaultKms ? pulumi.output(val.azureKeyVaultKms).apply(inputs.containerservice.v20230401.azureKeyVaultKmsArgsProvideDefaults) : undefined), + azureKeyVaultKms: (val.azureKeyVaultKms ? pulumi.output(val.azureKeyVaultKms).apply(inputs.containerservice.v20230502preview.azureKeyVaultKmsArgsProvideDefaults) : undefined), }; } @@ -59528,7 +64025,7 @@ export namespace containerservice { /** * Microsoft Defender threat detection for Cloud settings for the security profile. */ - securityMonitoring?: pulumi.Input; + securityMonitoring?: pulumi.Input; } /** @@ -59555,6 +64052,16 @@ export namespace containerservice { intervalHours?: pulumi.Input; } + /** + * Node Restriction settings for the security profile. + */ + export interface ManagedClusterSecurityProfileNodeRestrictionArgs { + /** + * Whether to enable Node Restriction + */ + enabled?: pulumi.Input; + } + /** * Workload identity settings for the security profile. */ @@ -59586,19 +64093,19 @@ export namespace containerservice { /** * AzureBlob CSI Driver settings for the storage profile. */ - blobCSIDriver?: pulumi.Input; + blobCSIDriver?: pulumi.Input; /** * AzureDisk CSI Driver settings for the storage profile. */ - diskCSIDriver?: pulumi.Input; + diskCSIDriver?: pulumi.Input; /** * AzureFile CSI Driver settings for the storage profile. */ - fileCSIDriver?: pulumi.Input; + fileCSIDriver?: pulumi.Input; /** * Snapshot Controller settings for the storage profile. */ - snapshotController?: pulumi.Input; + snapshotController?: pulumi.Input; } /** @@ -59619,6 +64126,10 @@ export namespace containerservice { * Whether to enable AzureDisk CSI Driver. The default value is true. */ enabled?: pulumi.Input; + /** + * The version of AzureDisk CSI Driver. The default value is v1. + */ + version?: pulumi.Input; } /** @@ -59660,11 +64171,11 @@ export namespace containerservice { /** * The Windows gMSA Profile in the Managed Cluster. */ - gmsaProfile?: pulumi.Input; + gmsaProfile?: pulumi.Input; /** * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */ - licenseType?: pulumi.Input; + licenseType?: pulumi.Input; } /** @@ -59674,7 +64185,17 @@ export namespace containerservice { /** * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ - keda?: pulumi.Input; + keda?: pulumi.Input; + verticalPodAutoscaler?: pulumi.Input; + } + /** + * managedClusterWorkloadAutoScalerProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileArgs + */ + export function managedClusterWorkloadAutoScalerProfileArgsProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileArgs): ManagedClusterWorkloadAutoScalerProfileArgs { + return { + ...val, + verticalPodAutoscaler: (val.verticalPodAutoscaler ? pulumi.output(val.verticalPodAutoscaler).apply(inputs.containerservice.v20230502preview.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults) : undefined), + }; } /** @@ -59687,6 +64208,60 @@ export namespace containerservice { enabled: pulumi.Input; } + export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs { + /** + * Controls which resource value autoscaler will change. Default value is RequestsAndLimits. + */ + controlledValues: pulumi.Input; + /** + * Whether to enable VPA. Default value is false. + */ + enabled: pulumi.Input; + /** + * Each update mode level is a superset of the lower levels. Off; + } + /** + * managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs + */ + export function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs): ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs { + return { + ...val, + controlledValues: (val.controlledValues) ?? "RequestsAndLimits", + enabled: (val.enabled) ?? false, + updateMode: (val.updateMode) ?? "Off", + }; + } + + /** + * This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format + */ + export interface NetworkMonitoringArgs { + /** + * Enable or disable the network monitoring plugin on the cluster + */ + enabled?: pulumi.Input; + } + + /** + * The port range. + */ + export interface PortRangeArgs { + /** + * The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart. + */ + portEnd?: pulumi.Input; + /** + * The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd. + */ + portStart?: pulumi.Input; + /** + * The network protocol of the port. + */ + protocol?: pulumi.Input; + } + /** * Describes the Power State of the cluster */ @@ -59694,7 +64269,7 @@ export namespace containerservice { /** * Tells whether the cluster is Running or Stopped */ - code?: pulumi.Input; + code?: pulumi.Input; } /** @@ -59744,7 +64319,25 @@ export namespace containerservice { /** * The private link service connection status. */ - status?: pulumi.Input; + status?: pulumi.Input; + } + + /** + * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + */ + export interface RelativeMonthlyScheduleArgs { + /** + * Specifies on which day of the week the maintenance occurs. + */ + dayOfWeek: pulumi.Input; + /** + * Specifies the number of months between each set of occurrences. + */ + intervalMonths: pulumi.Input; + /** + * Specifies on which instance of the allowed days specified in daysOfWeek the maintenance occurs. + */ + weekIndex: pulumi.Input; } /** @@ -59757,6 +64350,42 @@ export namespace containerservice { id?: pulumi.Input; } + /** + * One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. + */ + export interface ScheduleArgs { + /** + * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + */ + absoluteMonthly?: pulumi.Input; + /** + * For schedules like: 'recur every day' or 'recur every 3 days'. + */ + daily?: pulumi.Input; + /** + * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + */ + relativeMonthly?: pulumi.Input; + /** + * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + */ + weekly?: pulumi.Input; + } + + /** + * Service mesh profile for a managed cluster. + */ + export interface ServiceMeshProfileArgs { + /** + * Istio service mesh configuration. + */ + istio?: pulumi.Input; + /** + * Mode of the service mesh. + */ + mode: pulumi.Input; + } + /** * Sysctl settings for Linux agent nodes. */ @@ -59882,7 +64511,7 @@ export namespace containerservice { /** * The day of the week. */ - day?: pulumi.Input; + day?: pulumi.Input; /** * Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. */ @@ -59903,6 +64532,20 @@ export namespace containerservice { start?: pulumi.Input; } + /** + * Settings for overrides when upgrading a cluster. + */ + export interface UpgradeOverrideSettingsArgs { + /** + * List of upgrade overrides when upgrading a cluster's control plane. + */ + controlPlaneOverrides?: pulumi.Input[]>; + /** + * Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. + */ + until?: pulumi.Input; + } + /** * Details about a user assigned identity. */ @@ -59921,6 +64564,20 @@ export namespace containerservice { resourceId?: pulumi.Input; } + /** + * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + */ + export interface WeeklyScheduleArgs { + /** + * Specifies on which day of the week the maintenance occurs. + */ + dayOfWeek: pulumi.Input; + /** + * Specifies the number of weeks between each set of occurrences. + */ + intervalWeeks: pulumi.Input; + } + /** * Windows gMSA Profile in the managed cluster. */ @@ -59941,7 +64598,7 @@ export namespace containerservice { } - export namespace v20230502preview { + export namespace v20230601 { /** * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ @@ -59956,42 +64613,18 @@ export namespace containerservice { intervalMonths: pulumi.Input; } - /** - * Network settings of an agent pool. - */ - export interface AgentPoolNetworkProfileArgs { - /** - * The port ranges that are allowed to access. The specified ranges are allowed to overlap. - */ - allowedHostPorts?: pulumi.Input[]>; - /** - * The IDs of the application security groups which agent pool will associate when created. - */ - applicationSecurityGroups?: pulumi.Input[]>; - /** - * IPTags of instance-level public IPs. - */ - nodePublicIPTags?: pulumi.Input[]>; - } - /** * Settings for upgrading an agentpool */ export interface AgentPoolUpgradeSettingsArgs { /** - * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + * The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. */ - maxSurge?: pulumi.Input; - } - - /** - * The Windows agent pool's specific profile. - */ - export interface AgentPoolWindowsProfileArgs { + drainTimeoutInMinutes?: pulumi.Input; /** - * The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled. + * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade */ - disableOutboundNat?: pulumi.Input; + maxSurge?: pulumi.Input; } /** @@ -60009,7 +64642,7 @@ export namespace containerservice { /** * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */ - keyVaultNetworkAccess?: pulumi.Input; + keyVaultNetworkAccess?: pulumi.Input; /** * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. */ @@ -60025,16 +64658,6 @@ export namespace containerservice { }; } - /** - * Settings for upgrading a cluster. - */ - export interface ClusterUpgradeSettingsArgs { - /** - * Settings for overrides. - */ - overrideSettings?: pulumi.Input; - } - /** * Profile for Linux VMs in the container service cluster. */ @@ -60046,7 +64669,7 @@ export namespace containerservice { /** * The SSH configuration for Linux-based VMs running on Azure. */ - ssh: pulumi.Input; + ssh: pulumi.Input; } /** @@ -60060,51 +64683,43 @@ export namespace containerservice { /** * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. */ - ipFamilies?: pulumi.Input[]>; - /** - * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. - */ - kubeProxyConfig?: pulumi.Input; + ipFamilies?: pulumi.Input[]>; /** * Profile of the cluster load balancer. */ - loadBalancerProfile?: pulumi.Input; + loadBalancerProfile?: pulumi.Input; /** * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */ - loadBalancerSku?: pulumi.Input; - /** - * This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format - */ - monitoring?: pulumi.Input; + loadBalancerSku?: pulumi.Input; /** * Profile of the cluster NAT gateway. */ - natGatewayProfile?: pulumi.Input; + natGatewayProfile?: pulumi.Input; /** * Network dataplane used in the Kubernetes cluster. */ - networkDataplane?: pulumi.Input; + networkDataplane?: pulumi.Input; /** * This cannot be specified if networkPlugin is anything other than 'azure'. */ - networkMode?: pulumi.Input; + networkMode?: pulumi.Input; /** * Network plugin used for building the Kubernetes network. */ - networkPlugin?: pulumi.Input; + networkPlugin?: pulumi.Input; /** - * Network plugin mode used for building the Kubernetes network. + * The mode the network plugin should use. */ - networkPluginMode?: pulumi.Input; + networkPluginMode?: pulumi.Input; /** * Network policy used for building the Kubernetes network. */ - networkPolicy?: pulumi.Input; + networkPolicy?: pulumi.Input; /** * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */ - outboundType?: pulumi.Input; + outboundType?: pulumi.Input; /** * A CIDR notation IP range from which to assign pod IPs when kubenet is used. */ @@ -60129,54 +64744,15 @@ export namespace containerservice { return { ...val, dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - loadBalancerProfile: (val.loadBalancerProfile ? pulumi.output(val.loadBalancerProfile).apply(inputs.containerservice.v20230502preview.managedClusterLoadBalancerProfileArgsProvideDefaults) : undefined), - natGatewayProfile: (val.natGatewayProfile ? pulumi.output(val.natGatewayProfile).apply(inputs.containerservice.v20230502preview.managedClusterNATGatewayProfileArgsProvideDefaults) : undefined), + loadBalancerProfile: (val.loadBalancerProfile ? pulumi.output(val.loadBalancerProfile).apply(inputs.containerservice.v20230601.managedClusterLoadBalancerProfileArgsProvideDefaults) : undefined), + natGatewayProfile: (val.natGatewayProfile ? pulumi.output(val.natGatewayProfile).apply(inputs.containerservice.v20230601.managedClusterNATGatewayProfileArgsProvideDefaults) : undefined), + networkPlugin: (val.networkPlugin) ?? "kubenet", outboundType: (val.outboundType) ?? "loadBalancer", podCidr: (val.podCidr) ?? "10.244.0.0/16", serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", }; } - /** - * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. - */ - export interface ContainerServiceNetworkProfileIpvsConfigArgs { - /** - * IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. - */ - scheduler?: pulumi.Input; - /** - * The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value. - */ - tcpFinTimeoutSeconds?: pulumi.Input; - /** - * The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. - */ - tcpTimeoutSeconds?: pulumi.Input; - /** - * The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. - */ - udpTimeoutSeconds?: pulumi.Input; - } - - /** - * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. - */ - export interface ContainerServiceNetworkProfileKubeProxyConfigArgs { - /** - * Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations). - */ - enabled?: pulumi.Input; - /** - * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. - */ - ipvsConfig?: pulumi.Input; - /** - * Specify which proxy mode to use ('IPTABLES' or 'IPVS') - */ - mode?: pulumi.Input; - } - /** * SSH configuration for Linux-based VMs running on Azure. */ @@ -60184,7 +64760,7 @@ export namespace containerservice { /** * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */ - publicKeys: pulumi.Input[]>; + publicKeys: pulumi.Input[]>; } /** @@ -60232,83 +64808,39 @@ export namespace containerservice { } /** - * The complex type of the extended location. - */ - export interface ExtendedLocationArgs { - /** - * The name of the extended location. - */ - name?: pulumi.Input; - /** - * The type of the extended location. - */ - type?: pulumi.Input; - } - - /** - * The Guardrails profile. + * Delegated resource properties - internal use only. */ - export interface GuardrailsProfileArgs { - /** - * List of namespaces excluded from guardrails checks - */ - excludedNamespaces?: pulumi.Input[]>; - /** - * The guardrails level to be used. By default, Guardrails is enabled for all namespaces except those that AKS excludes via systemExcludedNamespaces - */ - level: pulumi.Input; + export interface DelegatedResourceArgs { /** - * The version of constraints to use + * The source resource location - internal use only. */ - version: pulumi.Input; - } - - /** - * Contains the IPTag associated with the object. - */ - export interface IPTagArgs { + location?: pulumi.Input; /** - * The IP tag type. Example: RoutingPreference. + * The delegation id of the referral delegation (optional) - internal use only. */ - ipTagType?: pulumi.Input; + referralResource?: pulumi.Input; /** - * The value of the IP tag associated with the public IP. Example: Internet. + * The ARM resource id of the delegated resource - internal use only. */ - tag?: pulumi.Input; - } - - /** - * Istio components configuration. - */ - export interface IstioComponentsArgs { + resourceId?: pulumi.Input; /** - * Istio ingress gateways. + * The tenant id of the delegated resource - internal use only. */ - ingressGateways?: pulumi.Input[]>; + tenantId?: pulumi.Input; } /** - * Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + * The complex type of the extended location. */ - export interface IstioIngressGatewayArgs { - /** - * Whether to enable the ingress gateway. - */ - enabled: pulumi.Input; + export interface ExtendedLocationArgs { /** - * Mode of an ingress gateway. + * The name of the extended location. */ - mode: pulumi.Input; - } - - /** - * Istio service mesh configuration. - */ - export interface IstioServiceMeshArgs { + name?: pulumi.Input; /** - * Istio components configuration. + * The type of the extended location. */ - components?: pulumi.Input; + type?: pulumi.Input; } /** @@ -60372,7 +64904,7 @@ export namespace containerservice { /** * Sysctl settings for Linux agent nodes. */ - sysctls?: pulumi.Input; + sysctls?: pulumi.Input; /** * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ @@ -60394,11 +64926,11 @@ export namespace containerservice { /** * Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. */ - notAllowedDates?: pulumi.Input[]>; + notAllowedDates?: pulumi.Input[]>; /** * Recurrence schedule for the maintenance window. */ - schedule: pulumi.Input; + schedule: pulumi.Input; /** * The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. */ @@ -60476,18 +65008,10 @@ export namespace containerservice { * Whether to create additional public FQDN for private cluster or not. */ enablePrivateClusterPublicFQDN?: pulumi.Input; - /** - * Whether to enable apiserver vnet integration for the cluster or not. - */ - enableVnetIntegration?: pulumi.Input; /** * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. */ privateDNSZone?: pulumi.Input; - /** - * It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration. - */ - subnetId?: pulumi.Input; } /** @@ -60512,10 +65036,6 @@ export namespace containerservice { * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */ availabilityZones?: pulumi.Input[]>; - /** - * AKS will associate the specified agent pool with the Capacity Reservation Group. - */ - capacityReservationGroupID?: pulumi.Input; /** * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */ @@ -60523,15 +65043,11 @@ export namespace containerservice { /** * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */ - creationData?: pulumi.Input; + creationData?: pulumi.Input; /** * Whether to enable auto-scaler */ enableAutoScaling?: pulumi.Input; - /** - * When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded certificates into node trust stores. Defaults to false. - */ - enableCustomCATrust?: pulumi.Input; /** * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */ @@ -60551,7 +65067,7 @@ export namespace containerservice { /** * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */ - gpuInstanceProfile?: pulumi.Input; + gpuInstanceProfile?: pulumi.Input; /** * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */ @@ -60559,15 +65075,15 @@ export namespace containerservice { /** * The Kubelet configuration on the agent pool nodes. */ - kubeletConfig?: pulumi.Input; + kubeletConfig?: pulumi.Input; /** * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */ - kubeletDiskType?: pulumi.Input; + kubeletDiskType?: pulumi.Input; /** * The OS configuration of Linux agent nodes. */ - linuxOSConfig?: pulumi.Input; + linuxOSConfig?: pulumi.Input; /** * The maximum number of nodes for auto-scaling */ @@ -60576,10 +65092,6 @@ export namespace containerservice { * The maximum number of pods that can run on a node. */ maxPods?: pulumi.Input; - /** - * A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). - */ - messageOfTheDay?: pulumi.Input; /** * The minimum number of nodes for auto-scaling */ @@ -60587,15 +65099,11 @@ export namespace containerservice { /** * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */ - mode?: pulumi.Input; + mode?: pulumi.Input; /** * Windows agent pool names must be 6 characters or less. */ name: pulumi.Input; - /** - * Network-related settings of an agent pool. - */ - networkProfile?: pulumi.Input; /** * The node labels to be persisted across all nodes in agent pool. */ @@ -60609,7 +65117,7 @@ export namespace containerservice { */ nodeTaints?: pulumi.Input[]>; /** - * Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ orchestratorVersion?: pulumi.Input; /** @@ -60619,15 +65127,15 @@ export namespace containerservice { /** * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */ - osDiskType?: pulumi.Input; + osDiskType?: pulumi.Input; /** - * Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */ - osSKU?: pulumi.Input; + osSKU?: pulumi.Input; /** * The operating system type. The default is Linux. */ - osType?: pulumi.Input; + osType?: pulumi.Input; /** * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ @@ -60635,7 +65143,7 @@ export namespace containerservice { /** * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */ - powerState?: pulumi.Input; + powerState?: pulumi.Input; /** * The ID for Proximity Placement Group. */ @@ -60643,15 +65151,15 @@ export namespace containerservice { /** * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */ - scaleDownMode?: pulumi.Input; + scaleDownMode?: pulumi.Input; /** * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. */ - scaleSetEvictionPolicy?: pulumi.Input; + scaleSetEvictionPolicy?: pulumi.Input; /** * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. */ - scaleSetPriority?: pulumi.Input; + scaleSetPriority?: pulumi.Input; /** * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */ @@ -60663,11 +65171,11 @@ export namespace containerservice { /** * The type of Agent Pool. */ - type?: pulumi.Input; + type?: pulumi.Input; /** * Settings for upgrading the agentpool */ - upgradeSettings?: pulumi.Input; + upgradeSettings?: pulumi.Input; /** * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */ @@ -60676,14 +65184,10 @@ export namespace containerservice { * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: pulumi.Input; - /** - * The Windows agent pool's specific profile. - */ - windowsProfile?: pulumi.Input; /** * Determines the type of workload a node can run. */ - workloadRuntime?: pulumi.Input; + workloadRuntime?: pulumi.Input; } /** @@ -60691,51 +65195,51 @@ export namespace containerservice { */ export interface ManagedClusterAutoUpgradeProfileArgs { /** - * The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. + * Manner in which the OS on your nodes is updated. The default is NodeImage. */ - nodeOSUpgradeChannel?: pulumi.Input; + nodeOSUpgradeChannel?: pulumi.Input; /** * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */ - upgradeChannel?: pulumi.Input; + upgradeChannel?: pulumi.Input; } /** - * Prometheus addon profile for the container service cluster + * Azure Monitor addon profiles for monitoring the managed cluster. */ export interface ManagedClusterAzureMonitorProfileArgs { /** - * Metrics profile for the prometheus service addon + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */ - metrics?: pulumi.Input; + metrics?: pulumi.Input; } /** - * Kube State Metrics for prometheus addon profile for the container service cluster + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */ export interface ManagedClusterAzureMonitorProfileKubeStateMetricsArgs { /** - * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. + * Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. */ metricAnnotationsAllowList?: pulumi.Input; /** - * Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels metric. + * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. */ metricLabelsAllowlist?: pulumi.Input; } /** - * Metrics profile for the prometheus service addon + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */ export interface ManagedClusterAzureMonitorProfileMetricsArgs { /** - * Whether to enable the Prometheus collector + * Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. */ enabled: pulumi.Input; /** - * Kube State Metrics for prometheus addon profile for the container service cluster + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */ - kubeStateMetrics?: pulumi.Input; + kubeStateMetrics?: pulumi.Input; } /** @@ -60764,40 +65268,20 @@ export namespace containerservice { * Identity for the managed cluster. */ export interface ManagedClusterIdentityArgs { + /** + * The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + */ + delegatedResources?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */ - type?: pulumi.Input; + type?: pulumi.Input; /** * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ userAssignedIdentities?: pulumi.Input[]>; } - /** - * Ingress profile for the container service cluster. - */ - export interface ManagedClusterIngressProfileArgs { - /** - * Web App Routing settings for the ingress profile. - */ - webAppRouting?: pulumi.Input; - } - - /** - * Web App Routing settings for the ingress profile. - */ - export interface ManagedClusterIngressProfileWebAppRoutingArgs { - /** - * Resource ID of the DNS Zone to be associated with the web app. Used only when Web App Routing is enabled. - */ - dnsZoneResourceId?: pulumi.Input; - /** - * Whether to enable Web App Routing. - */ - enabled?: pulumi.Input; - } - /** * Profile of the managed cluster load balancer. */ @@ -60806,14 +65290,10 @@ export namespace containerservice { * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. */ allocatedOutboundPorts?: pulumi.Input; - /** - * The type of the managed inbound Load Balancer BackendPool. - */ - backendPoolType?: pulumi.Input; /** * The effective outbound IP resources of the cluster load balancer. */ - effectiveOutboundIPs?: pulumi.Input[]>; + effectiveOutboundIPs?: pulumi.Input[]>; /** * Enable multiple standard load balancers per AKS cluster or not. */ @@ -60825,15 +65305,15 @@ export namespace containerservice { /** * Desired managed outbound IPs for the cluster load balancer. */ - managedOutboundIPs?: pulumi.Input; + managedOutboundIPs?: pulumi.Input; /** * Desired outbound IP Prefix resources for the cluster load balancer. */ - outboundIPPrefixes?: pulumi.Input; + outboundIPPrefixes?: pulumi.Input; /** * Desired outbound IP resources for the cluster load balancer. */ - outboundIPs?: pulumi.Input; + outboundIPs?: pulumi.Input; } /** * managedClusterLoadBalancerProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileArgs @@ -60842,9 +65322,8 @@ export namespace containerservice { return { ...val, allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, - backendPoolType: (val.backendPoolType) ?? "NodeIPConfiguration", idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, - managedOutboundIPs: (val.managedOutboundIPs ? pulumi.output(val.managedOutboundIPs).apply(inputs.containerservice.v20230502preview.managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults) : undefined), + managedOutboundIPs: (val.managedOutboundIPs ? pulumi.output(val.managedOutboundIPs).apply(inputs.containerservice.v20230601.managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults) : undefined), }; } @@ -60879,7 +65358,7 @@ export namespace containerservice { /** * A list of public IP prefix resources. */ - publicIPPrefixes?: pulumi.Input[]>; + publicIPPrefixes?: pulumi.Input[]>; } /** @@ -60889,7 +65368,7 @@ export namespace containerservice { /** * A list of public IP resources. */ - publicIPs?: pulumi.Input[]>; + publicIPs?: pulumi.Input[]>; } /** @@ -60918,7 +65397,7 @@ export namespace containerservice { /** * The effective outbound IP resources of the cluster NAT gateway. */ - effectiveOutboundIPs?: pulumi.Input[]>; + effectiveOutboundIPs?: pulumi.Input[]>; /** * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. */ @@ -60926,7 +65405,7 @@ export namespace containerservice { /** * Profile of the managed outbound IP resources of the cluster NAT gateway. */ - managedOutboundIPProfile?: pulumi.Input; + managedOutboundIPProfile?: pulumi.Input; } /** * managedClusterNATGatewayProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileArgs @@ -60935,20 +65414,10 @@ export namespace containerservice { return { ...val, idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, - managedOutboundIPProfile: (val.managedOutboundIPProfile ? pulumi.output(val.managedOutboundIPProfile).apply(inputs.containerservice.v20230502preview.managedClusterManagedOutboundIPProfileArgsProvideDefaults) : undefined), + managedOutboundIPProfile: (val.managedOutboundIPProfile ? pulumi.output(val.managedOutboundIPProfile).apply(inputs.containerservice.v20230601.managedClusterManagedOutboundIPProfileArgsProvideDefaults) : undefined), }; } - /** - * Node resource group lockdown profile for a managed cluster. - */ - export interface ManagedClusterNodeResourceGroupProfileArgs { - /** - * The restriction level applied to the cluster's node resource group - */ - restrictionLevel?: pulumi.Input; - } - /** * The OIDC issuer profile of the Managed Cluster. */ @@ -60970,7 +65439,7 @@ export namespace containerservice { /** * The user assigned identity details. */ - identity: pulumi.Input; + identity: pulumi.Input; /** * The name of the pod identity. */ @@ -61014,11 +65483,11 @@ export namespace containerservice { /** * The pod identities to use in the cluster. */ - userAssignedIdentities?: pulumi.Input[]>; + userAssignedIdentities?: pulumi.Input[]>; /** * The pod identity exceptions to allow. */ - userAssignedIdentityExceptions?: pulumi.Input[]>; + userAssignedIdentityExceptions?: pulumi.Input[]>; } /** @@ -61032,7 +65501,7 @@ export namespace containerservice { /** * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */ - expander?: pulumi.Input; + expander?: pulumi.Input; /** * The default is 10. */ @@ -61102,11 +65571,11 @@ export namespace containerservice { /** * The name of a managed cluster SKU. */ - name?: pulumi.Input; + name?: pulumi.Input; /** * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */ - tier?: pulumi.Input; + tier?: pulumi.Input; } /** @@ -61116,27 +65585,19 @@ export namespace containerservice { /** * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. */ - azureKeyVaultKms?: pulumi.Input; - /** - * A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the Custom CA Trust feature enabled. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) - */ - customCATrustCertificates?: pulumi.Input[]>; + azureKeyVaultKms?: pulumi.Input; /** * Microsoft Defender settings for the security profile. */ - defender?: pulumi.Input; + defender?: pulumi.Input; /** * Image Cleaner settings for the security profile. */ - imageCleaner?: pulumi.Input; - /** - * [Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile. - */ - nodeRestriction?: pulumi.Input; + imageCleaner?: pulumi.Input; /** * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. */ - workloadIdentity?: pulumi.Input; + workloadIdentity?: pulumi.Input; } /** * managedClusterSecurityProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileArgs @@ -61144,7 +65605,7 @@ export namespace containerservice { export function managedClusterSecurityProfileArgsProvideDefaults(val: ManagedClusterSecurityProfileArgs): ManagedClusterSecurityProfileArgs { return { ...val, - azureKeyVaultKms: (val.azureKeyVaultKms ? pulumi.output(val.azureKeyVaultKms).apply(inputs.containerservice.v20230502preview.azureKeyVaultKmsArgsProvideDefaults) : undefined), + azureKeyVaultKms: (val.azureKeyVaultKms ? pulumi.output(val.azureKeyVaultKms).apply(inputs.containerservice.v20230601.azureKeyVaultKmsArgsProvideDefaults) : undefined), }; } @@ -61159,7 +65620,7 @@ export namespace containerservice { /** * Microsoft Defender threat detection for Cloud settings for the security profile. */ - securityMonitoring?: pulumi.Input; + securityMonitoring?: pulumi.Input; } /** @@ -61186,16 +65647,6 @@ export namespace containerservice { intervalHours?: pulumi.Input; } - /** - * Node Restriction settings for the security profile. - */ - export interface ManagedClusterSecurityProfileNodeRestrictionArgs { - /** - * Whether to enable Node Restriction - */ - enabled?: pulumi.Input; - } - /** * Workload identity settings for the security profile. */ @@ -61227,19 +65678,19 @@ export namespace containerservice { /** * AzureBlob CSI Driver settings for the storage profile. */ - blobCSIDriver?: pulumi.Input; + blobCSIDriver?: pulumi.Input; /** * AzureDisk CSI Driver settings for the storage profile. */ - diskCSIDriver?: pulumi.Input; + diskCSIDriver?: pulumi.Input; /** * AzureFile CSI Driver settings for the storage profile. */ - fileCSIDriver?: pulumi.Input; + fileCSIDriver?: pulumi.Input; /** * Snapshot Controller settings for the storage profile. */ - snapshotController?: pulumi.Input; + snapshotController?: pulumi.Input; } /** @@ -61260,10 +65711,6 @@ export namespace containerservice { * Whether to enable AzureDisk CSI Driver. The default value is true. */ enabled?: pulumi.Input; - /** - * The version of AzureDisk CSI Driver. The default value is v1. - */ - version?: pulumi.Input; } /** @@ -61305,11 +65752,11 @@ export namespace containerservice { /** * The Windows gMSA Profile in the Managed Cluster. */ - gmsaProfile?: pulumi.Input; + gmsaProfile?: pulumi.Input; /** * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */ - licenseType?: pulumi.Input; + licenseType?: pulumi.Input; } /** @@ -61319,8 +65766,11 @@ export namespace containerservice { /** * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ - keda?: pulumi.Input; - verticalPodAutoscaler?: pulumi.Input; + keda?: pulumi.Input; + /** + * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + */ + verticalPodAutoscaler?: pulumi.Input; } /** * managedClusterWorkloadAutoScalerProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileArgs @@ -61328,7 +65778,7 @@ export namespace containerservice { export function managedClusterWorkloadAutoScalerProfileArgsProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileArgs): ManagedClusterWorkloadAutoScalerProfileArgs { return { ...val, - verticalPodAutoscaler: (val.verticalPodAutoscaler ? pulumi.output(val.verticalPodAutoscaler).apply(inputs.containerservice.v20230502preview.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults) : undefined), + verticalPodAutoscaler: (val.verticalPodAutoscaler ? pulumi.output(val.verticalPodAutoscaler).apply(inputs.containerservice.v20230601.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults) : undefined), }; } @@ -61342,19 +65792,14 @@ export namespace containerservice { enabled: pulumi.Input; } + /** + * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + */ export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs { - /** - * Controls which resource value autoscaler will change. Default value is RequestsAndLimits. - */ - controlledValues: pulumi.Input; /** * Whether to enable VPA. Default value is false. */ enabled: pulumi.Input; - /** - * Each update mode level is a superset of the lower levels. Off; } /** * managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs @@ -61362,40 +65807,10 @@ export namespace containerservice { export function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs): ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs { return { ...val, - controlledValues: (val.controlledValues) ?? "RequestsAndLimits", enabled: (val.enabled) ?? false, - updateMode: (val.updateMode) ?? "Off", }; } - /** - * This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format - */ - export interface NetworkMonitoringArgs { - /** - * Enable or disable the network monitoring plugin on the cluster - */ - enabled?: pulumi.Input; - } - - /** - * The port range. - */ - export interface PortRangeArgs { - /** - * The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart. - */ - portEnd?: pulumi.Input; - /** - * The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd. - */ - portStart?: pulumi.Input; - /** - * The network protocol of the port. - */ - protocol?: pulumi.Input; - } - /** * Describes the Power State of the cluster */ @@ -61403,7 +65818,7 @@ export namespace containerservice { /** * Tells whether the cluster is Running or Stopped */ - code?: pulumi.Input; + code?: pulumi.Input; } /** @@ -61453,7 +65868,7 @@ export namespace containerservice { /** * The private link service connection status. */ - status?: pulumi.Input; + status?: pulumi.Input; } /** @@ -61463,15 +65878,15 @@ export namespace containerservice { /** * Specifies on which day of the week the maintenance occurs. */ - dayOfWeek: pulumi.Input; + dayOfWeek: pulumi.Input; /** * Specifies the number of months between each set of occurrences. */ intervalMonths: pulumi.Input; /** - * Specifies on which instance of the allowed days specified in daysOfWeek the maintenance occurs. + * Specifies on which week of the month the dayOfWeek applies. */ - weekIndex: pulumi.Input; + weekIndex: pulumi.Input; } /** @@ -61491,33 +65906,19 @@ export namespace containerservice { /** * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ - absoluteMonthly?: pulumi.Input; + absoluteMonthly?: pulumi.Input; /** * For schedules like: 'recur every day' or 'recur every 3 days'. */ - daily?: pulumi.Input; + daily?: pulumi.Input; /** * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. */ - relativeMonthly?: pulumi.Input; + relativeMonthly?: pulumi.Input; /** * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. */ - weekly?: pulumi.Input; - } - - /** - * Service mesh profile for a managed cluster. - */ - export interface ServiceMeshProfileArgs { - /** - * Istio service mesh configuration. - */ - istio?: pulumi.Input; - /** - * Mode of the service mesh. - */ - mode: pulumi.Input; + weekly?: pulumi.Input; } /** @@ -61645,7 +66046,7 @@ export namespace containerservice { /** * The day of the week. */ - day?: pulumi.Input; + day?: pulumi.Input; /** * Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. */ @@ -61666,20 +66067,6 @@ export namespace containerservice { start?: pulumi.Input; } - /** - * Settings for overrides when upgrading a cluster. - */ - export interface UpgradeOverrideSettingsArgs { - /** - * List of upgrade overrides when upgrading a cluster's control plane. - */ - controlPlaneOverrides?: pulumi.Input[]>; - /** - * Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. - */ - until?: pulumi.Input; - } - /** * Details about a user assigned identity. */ @@ -61705,7 +66092,7 @@ export namespace containerservice { /** * Specifies on which day of the week the maintenance occurs. */ - dayOfWeek: pulumi.Input; + dayOfWeek: pulumi.Input; /** * Specifies the number of weeks between each set of occurrences. */ @@ -61732,7 +66119,7 @@ export namespace containerservice { } - export namespace v20230601 { + export namespace v20230602preview { /** * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ @@ -61747,6 +66134,34 @@ export namespace containerservice { intervalMonths: pulumi.Input; } + /** + * Network settings of an agent pool. + */ + export interface AgentPoolNetworkProfileArgs { + /** + * The port ranges that are allowed to access. The specified ranges are allowed to overlap. + */ + allowedHostPorts?: pulumi.Input[]>; + /** + * The IDs of the application security groups which agent pool will associate when created. + */ + applicationSecurityGroups?: pulumi.Input[]>; + /** + * IPTags of instance-level public IPs. + */ + nodePublicIPTags?: pulumi.Input[]>; + } + + /** + * The security settings of an agent pool. + */ + export interface AgentPoolSecurityProfileArgs { + /** + * SSH access method of an agent pool. + */ + sshAccess?: pulumi.Input; + } + /** * Settings for upgrading an agentpool */ @@ -61761,6 +66176,16 @@ export namespace containerservice { maxSurge?: pulumi.Input; } + /** + * The Windows agent pool's specific profile. + */ + export interface AgentPoolWindowsProfileArgs { + /** + * The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled. + */ + disableOutboundNat?: pulumi.Input; + } + /** * Azure Key Vault key management service settings for the security profile. */ @@ -61776,7 +66201,7 @@ export namespace containerservice { /** * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */ - keyVaultNetworkAccess?: pulumi.Input; + keyVaultNetworkAccess?: pulumi.Input; /** * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. */ @@ -61792,6 +66217,16 @@ export namespace containerservice { }; } + /** + * Settings for upgrading a cluster. + */ + export interface ClusterUpgradeSettingsArgs { + /** + * Settings for overrides. + */ + overrideSettings?: pulumi.Input; + } + /** * Profile for Linux VMs in the container service cluster. */ @@ -61803,7 +66238,7 @@ export namespace containerservice { /** * The SSH configuration for Linux-based VMs running on Azure. */ - ssh: pulumi.Input; + ssh: pulumi.Input; } /** @@ -61817,43 +66252,51 @@ export namespace containerservice { /** * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. */ - ipFamilies?: pulumi.Input[]>; + ipFamilies?: pulumi.Input[]>; + /** + * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + */ + kubeProxyConfig?: pulumi.Input; /** * Profile of the cluster load balancer. */ - loadBalancerProfile?: pulumi.Input; + loadBalancerProfile?: pulumi.Input; /** * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */ - loadBalancerSku?: pulumi.Input; + loadBalancerSku?: pulumi.Input; + /** + * This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format + */ + monitoring?: pulumi.Input; /** * Profile of the cluster NAT gateway. */ - natGatewayProfile?: pulumi.Input; + natGatewayProfile?: pulumi.Input; /** * Network dataplane used in the Kubernetes cluster. */ - networkDataplane?: pulumi.Input; + networkDataplane?: pulumi.Input; /** * This cannot be specified if networkPlugin is anything other than 'azure'. */ - networkMode?: pulumi.Input; + networkMode?: pulumi.Input; /** * Network plugin used for building the Kubernetes network. */ - networkPlugin?: pulumi.Input; + networkPlugin?: pulumi.Input; /** - * The mode the network plugin should use. + * Network plugin mode used for building the Kubernetes network. */ - networkPluginMode?: pulumi.Input; + networkPluginMode?: pulumi.Input; /** * Network policy used for building the Kubernetes network. */ - networkPolicy?: pulumi.Input; + networkPolicy?: pulumi.Input; /** * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */ - outboundType?: pulumi.Input; + outboundType?: pulumi.Input; /** * A CIDR notation IP range from which to assign pod IPs when kubenet is used. */ @@ -61878,15 +66321,54 @@ export namespace containerservice { return { ...val, dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - loadBalancerProfile: (val.loadBalancerProfile ? pulumi.output(val.loadBalancerProfile).apply(inputs.containerservice.v20230601.managedClusterLoadBalancerProfileArgsProvideDefaults) : undefined), - natGatewayProfile: (val.natGatewayProfile ? pulumi.output(val.natGatewayProfile).apply(inputs.containerservice.v20230601.managedClusterNATGatewayProfileArgsProvideDefaults) : undefined), - networkPlugin: (val.networkPlugin) ?? "kubenet", + loadBalancerProfile: (val.loadBalancerProfile ? pulumi.output(val.loadBalancerProfile).apply(inputs.containerservice.v20230602preview.managedClusterLoadBalancerProfileArgsProvideDefaults) : undefined), + natGatewayProfile: (val.natGatewayProfile ? pulumi.output(val.natGatewayProfile).apply(inputs.containerservice.v20230602preview.managedClusterNATGatewayProfileArgsProvideDefaults) : undefined), outboundType: (val.outboundType) ?? "loadBalancer", podCidr: (val.podCidr) ?? "10.244.0.0/16", serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", }; } + /** + * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + */ + export interface ContainerServiceNetworkProfileIpvsConfigArgs { + /** + * IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. + */ + scheduler?: pulumi.Input; + /** + * The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value. + */ + tcpFinTimeoutSeconds?: pulumi.Input; + /** + * The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. + */ + tcpTimeoutSeconds?: pulumi.Input; + /** + * The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. + */ + udpTimeoutSeconds?: pulumi.Input; + } + + /** + * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + */ + export interface ContainerServiceNetworkProfileKubeProxyConfigArgs { + /** + * Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations). + */ + enabled?: pulumi.Input; + /** + * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + */ + ipvsConfig?: pulumi.Input; + /** + * Specify which proxy mode to use ('IPTABLES' or 'IPVS') + */ + mode?: pulumi.Input; + } + /** * SSH configuration for Linux-based VMs running on Azure. */ @@ -61894,7 +66376,7 @@ export namespace containerservice { /** * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */ - publicKeys: pulumi.Input[]>; + publicKeys: pulumi.Input[]>; } /** @@ -61974,7 +66456,117 @@ export namespace containerservice { /** * The type of the extended location. */ - type?: pulumi.Input; + type?: pulumi.Input; + } + + /** + * The Guardrails profile. + */ + export interface GuardrailsProfileArgs { + /** + * List of namespaces excluded from guardrails checks + */ + excludedNamespaces?: pulumi.Input[]>; + /** + * The guardrails level to be used. By default, Guardrails is enabled for all namespaces except those that AKS excludes via systemExcludedNamespaces + */ + level: pulumi.Input; + /** + * The version of constraints to use + */ + version: pulumi.Input; + } + + /** + * Contains the IPTag associated with the object. + */ + export interface IPTagArgs { + /** + * The IP tag type. Example: RoutingPreference. + */ + ipTagType?: pulumi.Input; + /** + * The value of the IP tag associated with the public IP. Example: Internet. + */ + tag?: pulumi.Input; + } + + /** + * Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca + */ + export interface IstioCertificateAuthorityArgs { + /** + * Plugin certificates information for Service Mesh. + */ + plugin?: pulumi.Input; + } + + /** + * Istio components configuration. + */ + export interface IstioComponentsArgs { + /** + * Istio ingress gateways. + */ + ingressGateways?: pulumi.Input[]>; + } + + /** + * Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + */ + export interface IstioIngressGatewayArgs { + /** + * Whether to enable the ingress gateway. + */ + enabled: pulumi.Input; + /** + * Mode of an ingress gateway. + */ + mode: pulumi.Input; + } + + /** + * Plugin certificates information for Service Mesh. + */ + export interface IstioPluginCertificateAuthorityArgs { + /** + * Certificate chain object name in Azure Key Vault. + */ + certChainObjectName?: pulumi.Input; + /** + * Intermediate certificate object name in Azure Key Vault. + */ + certObjectName?: pulumi.Input; + /** + * Intermediate certificate private key object name in Azure Key Vault. + */ + keyObjectName?: pulumi.Input; + /** + * The resource ID of the Key Vault. + */ + keyVaultId?: pulumi.Input; + /** + * Root certificate object name in Azure Key Vault. + */ + rootCertObjectName?: pulumi.Input; + } + + /** + * Istio service mesh configuration. + */ + export interface IstioServiceMeshArgs { + /** + * Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca + */ + certificateAuthority?: pulumi.Input; + /** + * Istio components configuration. + */ + components?: pulumi.Input; + /** + * The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + */ + revisions?: pulumi.Input[]>; } /** @@ -62038,7 +66630,7 @@ export namespace containerservice { /** * Sysctl settings for Linux agent nodes. */ - sysctls?: pulumi.Input; + sysctls?: pulumi.Input; /** * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ @@ -62060,11 +66652,11 @@ export namespace containerservice { /** * Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. */ - notAllowedDates?: pulumi.Input[]>; + notAllowedDates?: pulumi.Input[]>; /** * Recurrence schedule for the maintenance window. */ - schedule: pulumi.Input; + schedule: pulumi.Input; /** * The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. */ @@ -62142,10 +66734,18 @@ export namespace containerservice { * Whether to create additional public FQDN for private cluster or not. */ enablePrivateClusterPublicFQDN?: pulumi.Input; + /** + * Whether to enable apiserver vnet integration for the cluster or not. + */ + enableVnetIntegration?: pulumi.Input; /** * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. */ privateDNSZone?: pulumi.Input; + /** + * It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration. + */ + subnetId?: pulumi.Input; } /** @@ -62170,6 +66770,10 @@ export namespace containerservice { * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */ availabilityZones?: pulumi.Input[]>; + /** + * AKS will associate the specified agent pool with the Capacity Reservation Group. + */ + capacityReservationGroupID?: pulumi.Input; /** * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */ @@ -62177,11 +66781,15 @@ export namespace containerservice { /** * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */ - creationData?: pulumi.Input; + creationData?: pulumi.Input; /** * Whether to enable auto-scaler */ enableAutoScaling?: pulumi.Input; + /** + * When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded certificates into node trust stores. Defaults to false. + */ + enableCustomCATrust?: pulumi.Input; /** * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */ @@ -62201,7 +66809,7 @@ export namespace containerservice { /** * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */ - gpuInstanceProfile?: pulumi.Input; + gpuInstanceProfile?: pulumi.Input; /** * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */ @@ -62209,15 +66817,15 @@ export namespace containerservice { /** * The Kubelet configuration on the agent pool nodes. */ - kubeletConfig?: pulumi.Input; + kubeletConfig?: pulumi.Input; /** * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */ - kubeletDiskType?: pulumi.Input; + kubeletDiskType?: pulumi.Input; /** * The OS configuration of Linux agent nodes. */ - linuxOSConfig?: pulumi.Input; + linuxOSConfig?: pulumi.Input; /** * The maximum number of nodes for auto-scaling */ @@ -62226,6 +66834,10 @@ export namespace containerservice { * The maximum number of pods that can run on a node. */ maxPods?: pulumi.Input; + /** + * A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). + */ + messageOfTheDay?: pulumi.Input; /** * The minimum number of nodes for auto-scaling */ @@ -62233,11 +66845,15 @@ export namespace containerservice { /** * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */ - mode?: pulumi.Input; + mode?: pulumi.Input; /** * Windows agent pool names must be 6 characters or less. */ name: pulumi.Input; + /** + * Network-related settings of an agent pool. + */ + networkProfile?: pulumi.Input; /** * The node labels to be persisted across all nodes in agent pool. */ @@ -62251,7 +66867,7 @@ export namespace containerservice { */ nodeTaints?: pulumi.Input[]>; /** - * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + * Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ orchestratorVersion?: pulumi.Input; /** @@ -62261,15 +66877,15 @@ export namespace containerservice { /** * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */ - osDiskType?: pulumi.Input; + osDiskType?: pulumi.Input; /** - * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + * Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. */ - osSKU?: pulumi.Input; + osSKU?: pulumi.Input; /** * The operating system type. The default is Linux. */ - osType?: pulumi.Input; + osType?: pulumi.Input; /** * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ @@ -62277,7 +66893,7 @@ export namespace containerservice { /** * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */ - powerState?: pulumi.Input; + powerState?: pulumi.Input; /** * The ID for Proximity Placement Group. */ @@ -62285,15 +66901,19 @@ export namespace containerservice { /** * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */ - scaleDownMode?: pulumi.Input; + scaleDownMode?: pulumi.Input; /** * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. */ - scaleSetEvictionPolicy?: pulumi.Input; + scaleSetEvictionPolicy?: pulumi.Input; /** * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. */ - scaleSetPriority?: pulumi.Input; + scaleSetPriority?: pulumi.Input; + /** + * The security settings of an agent pool. + */ + securityProfile?: pulumi.Input; /** * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */ @@ -62305,11 +66925,11 @@ export namespace containerservice { /** * The type of Agent Pool. */ - type?: pulumi.Input; + type?: pulumi.Input; /** * Settings for upgrading the agentpool */ - upgradeSettings?: pulumi.Input; + upgradeSettings?: pulumi.Input; /** * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */ @@ -62318,10 +66938,14 @@ export namespace containerservice { * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: pulumi.Input; + /** + * The Windows agent pool's specific profile. + */ + windowsProfile?: pulumi.Input; /** * Determines the type of workload a node can run. */ - workloadRuntime?: pulumi.Input; + workloadRuntime?: pulumi.Input; } /** @@ -62329,51 +66953,51 @@ export namespace containerservice { */ export interface ManagedClusterAutoUpgradeProfileArgs { /** - * Manner in which the OS on your nodes is updated. The default is NodeImage. + * The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. */ - nodeOSUpgradeChannel?: pulumi.Input; + nodeOSUpgradeChannel?: pulumi.Input; /** * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */ - upgradeChannel?: pulumi.Input; + upgradeChannel?: pulumi.Input; } /** - * Azure Monitor addon profiles for monitoring the managed cluster. + * Prometheus addon profile for the container service cluster */ export interface ManagedClusterAzureMonitorProfileArgs { /** - * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + * Metrics profile for the prometheus service addon */ - metrics?: pulumi.Input; + metrics?: pulumi.Input; } /** - * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + * Kube State Metrics for prometheus addon profile for the container service cluster */ export interface ManagedClusterAzureMonitorProfileKubeStateMetricsArgs { /** - * Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. */ metricAnnotationsAllowList?: pulumi.Input; /** - * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + * Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels metric. */ metricLabelsAllowlist?: pulumi.Input; } /** - * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + * Metrics profile for the prometheus service addon */ export interface ManagedClusterAzureMonitorProfileMetricsArgs { /** - * Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + * Whether to enable the Prometheus collector */ enabled: pulumi.Input; /** - * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + * Kube State Metrics for prometheus addon profile for the container service cluster */ - kubeStateMetrics?: pulumi.Input; + kubeStateMetrics?: pulumi.Input; } /** @@ -62405,17 +67029,41 @@ export namespace containerservice { /** * The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. */ - delegatedResources?: pulumi.Input<{[key: string]: pulumi.Input}>; + delegatedResources?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */ - type?: pulumi.Input; + type?: pulumi.Input; /** * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ userAssignedIdentities?: pulumi.Input[]>; } + /** + * Ingress profile for the container service cluster. + */ + export interface ManagedClusterIngressProfileArgs { + /** + * Web App Routing settings for the ingress profile. + */ + webAppRouting?: pulumi.Input; + } + + /** + * Web App Routing settings for the ingress profile. + */ + export interface ManagedClusterIngressProfileWebAppRoutingArgs { + /** + * Resource ID of the DNS Zone to be associated with the web app. Used only when Web App Routing is enabled. + */ + dnsZoneResourceId?: pulumi.Input; + /** + * Whether to enable Web App Routing. + */ + enabled?: pulumi.Input; + } + /** * Profile of the managed cluster load balancer. */ @@ -62424,10 +67072,14 @@ export namespace containerservice { * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. */ allocatedOutboundPorts?: pulumi.Input; + /** + * The type of the managed inbound Load Balancer BackendPool. + */ + backendPoolType?: pulumi.Input; /** * The effective outbound IP resources of the cluster load balancer. */ - effectiveOutboundIPs?: pulumi.Input[]>; + effectiveOutboundIPs?: pulumi.Input[]>; /** * Enable multiple standard load balancers per AKS cluster or not. */ @@ -62439,15 +67091,15 @@ export namespace containerservice { /** * Desired managed outbound IPs for the cluster load balancer. */ - managedOutboundIPs?: pulumi.Input; + managedOutboundIPs?: pulumi.Input; /** * Desired outbound IP Prefix resources for the cluster load balancer. */ - outboundIPPrefixes?: pulumi.Input; + outboundIPPrefixes?: pulumi.Input; /** * Desired outbound IP resources for the cluster load balancer. */ - outboundIPs?: pulumi.Input; + outboundIPs?: pulumi.Input; } /** * managedClusterLoadBalancerProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileArgs @@ -62456,8 +67108,9 @@ export namespace containerservice { return { ...val, allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, + backendPoolType: (val.backendPoolType) ?? "NodeIPConfiguration", idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, - managedOutboundIPs: (val.managedOutboundIPs ? pulumi.output(val.managedOutboundIPs).apply(inputs.containerservice.v20230601.managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults) : undefined), + managedOutboundIPs: (val.managedOutboundIPs ? pulumi.output(val.managedOutboundIPs).apply(inputs.containerservice.v20230602preview.managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults) : undefined), }; } @@ -62492,7 +67145,7 @@ export namespace containerservice { /** * A list of public IP prefix resources. */ - publicIPPrefixes?: pulumi.Input[]>; + publicIPPrefixes?: pulumi.Input[]>; } /** @@ -62502,7 +67155,7 @@ export namespace containerservice { /** * A list of public IP resources. */ - publicIPs?: pulumi.Input[]>; + publicIPs?: pulumi.Input[]>; } /** @@ -62531,7 +67184,7 @@ export namespace containerservice { /** * The effective outbound IP resources of the cluster NAT gateway. */ - effectiveOutboundIPs?: pulumi.Input[]>; + effectiveOutboundIPs?: pulumi.Input[]>; /** * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. */ @@ -62539,7 +67192,7 @@ export namespace containerservice { /** * Profile of the managed outbound IP resources of the cluster NAT gateway. */ - managedOutboundIPProfile?: pulumi.Input; + managedOutboundIPProfile?: pulumi.Input; } /** * managedClusterNATGatewayProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileArgs @@ -62548,10 +67201,20 @@ export namespace containerservice { return { ...val, idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, - managedOutboundIPProfile: (val.managedOutboundIPProfile ? pulumi.output(val.managedOutboundIPProfile).apply(inputs.containerservice.v20230601.managedClusterManagedOutboundIPProfileArgsProvideDefaults) : undefined), + managedOutboundIPProfile: (val.managedOutboundIPProfile ? pulumi.output(val.managedOutboundIPProfile).apply(inputs.containerservice.v20230602preview.managedClusterManagedOutboundIPProfileArgsProvideDefaults) : undefined), }; } + /** + * Node resource group lockdown profile for a managed cluster. + */ + export interface ManagedClusterNodeResourceGroupProfileArgs { + /** + * The restriction level applied to the cluster's node resource group + */ + restrictionLevel?: pulumi.Input; + } + /** * The OIDC issuer profile of the Managed Cluster. */ @@ -62573,7 +67236,7 @@ export namespace containerservice { /** * The user assigned identity details. */ - identity: pulumi.Input; + identity: pulumi.Input; /** * The name of the pod identity. */ @@ -62617,11 +67280,11 @@ export namespace containerservice { /** * The pod identities to use in the cluster. */ - userAssignedIdentities?: pulumi.Input[]>; + userAssignedIdentities?: pulumi.Input[]>; /** * The pod identity exceptions to allow. */ - userAssignedIdentityExceptions?: pulumi.Input[]>; + userAssignedIdentityExceptions?: pulumi.Input[]>; } /** @@ -62635,7 +67298,7 @@ export namespace containerservice { /** * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */ - expander?: pulumi.Input; + expander?: pulumi.Input; /** * The default is 10. */ @@ -62705,11 +67368,11 @@ export namespace containerservice { /** * The name of a managed cluster SKU. */ - name?: pulumi.Input; + name?: pulumi.Input; /** * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */ - tier?: pulumi.Input; + tier?: pulumi.Input; } /** @@ -62719,19 +67382,31 @@ export namespace containerservice { /** * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. */ - azureKeyVaultKms?: pulumi.Input; + azureKeyVaultKms?: pulumi.Input; + /** + * A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the Custom CA Trust feature enabled. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) + */ + customCATrustCertificates?: pulumi.Input[]>; /** * Microsoft Defender settings for the security profile. */ - defender?: pulumi.Input; + defender?: pulumi.Input; /** * Image Cleaner settings for the security profile. */ - imageCleaner?: pulumi.Input; + imageCleaner?: pulumi.Input; + /** + * Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This will not have any effect unless Azure Policy is applied to enforce image signatures. See https://aka.ms/aks/image-integrity for how to use this feature via policy. + */ + imageIntegrity?: pulumi.Input; + /** + * [Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile. + */ + nodeRestriction?: pulumi.Input; /** * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. */ - workloadIdentity?: pulumi.Input; + workloadIdentity?: pulumi.Input; } /** * managedClusterSecurityProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileArgs @@ -62739,7 +67414,7 @@ export namespace containerservice { export function managedClusterSecurityProfileArgsProvideDefaults(val: ManagedClusterSecurityProfileArgs): ManagedClusterSecurityProfileArgs { return { ...val, - azureKeyVaultKms: (val.azureKeyVaultKms ? pulumi.output(val.azureKeyVaultKms).apply(inputs.containerservice.v20230601.azureKeyVaultKmsArgsProvideDefaults) : undefined), + azureKeyVaultKms: (val.azureKeyVaultKms ? pulumi.output(val.azureKeyVaultKms).apply(inputs.containerservice.v20230602preview.azureKeyVaultKmsArgsProvideDefaults) : undefined), }; } @@ -62754,7 +67429,7 @@ export namespace containerservice { /** * Microsoft Defender threat detection for Cloud settings for the security profile. */ - securityMonitoring?: pulumi.Input; + securityMonitoring?: pulumi.Input; } /** @@ -62781,6 +67456,26 @@ export namespace containerservice { intervalHours?: pulumi.Input; } + /** + * Image integrity related settings for the security profile. + */ + export interface ManagedClusterSecurityProfileImageIntegrityArgs { + /** + * Whether to enable image integrity. The default value is false. + */ + enabled?: pulumi.Input; + } + + /** + * Node Restriction settings for the security profile. + */ + export interface ManagedClusterSecurityProfileNodeRestrictionArgs { + /** + * Whether to enable Node Restriction + */ + enabled?: pulumi.Input; + } + /** * Workload identity settings for the security profile. */ @@ -62812,19 +67507,19 @@ export namespace containerservice { /** * AzureBlob CSI Driver settings for the storage profile. */ - blobCSIDriver?: pulumi.Input; + blobCSIDriver?: pulumi.Input; /** * AzureDisk CSI Driver settings for the storage profile. */ - diskCSIDriver?: pulumi.Input; + diskCSIDriver?: pulumi.Input; /** * AzureFile CSI Driver settings for the storage profile. */ - fileCSIDriver?: pulumi.Input; + fileCSIDriver?: pulumi.Input; /** * Snapshot Controller settings for the storage profile. */ - snapshotController?: pulumi.Input; + snapshotController?: pulumi.Input; } /** @@ -62845,6 +67540,10 @@ export namespace containerservice { * Whether to enable AzureDisk CSI Driver. The default value is true. */ enabled?: pulumi.Input; + /** + * The version of AzureDisk CSI Driver. The default value is v1. + */ + version?: pulumi.Input; } /** @@ -62886,11 +67585,11 @@ export namespace containerservice { /** * The Windows gMSA Profile in the Managed Cluster. */ - gmsaProfile?: pulumi.Input; + gmsaProfile?: pulumi.Input; /** * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */ - licenseType?: pulumi.Input; + licenseType?: pulumi.Input; } /** @@ -62900,11 +67599,8 @@ export namespace containerservice { /** * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ - keda?: pulumi.Input; - /** - * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. - */ - verticalPodAutoscaler?: pulumi.Input; + keda?: pulumi.Input; + verticalPodAutoscaler?: pulumi.Input; } /** * managedClusterWorkloadAutoScalerProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileArgs @@ -62912,7 +67608,7 @@ export namespace containerservice { export function managedClusterWorkloadAutoScalerProfileArgsProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileArgs): ManagedClusterWorkloadAutoScalerProfileArgs { return { ...val, - verticalPodAutoscaler: (val.verticalPodAutoscaler ? pulumi.output(val.verticalPodAutoscaler).apply(inputs.containerservice.v20230601.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults) : undefined), + verticalPodAutoscaler: (val.verticalPodAutoscaler ? pulumi.output(val.verticalPodAutoscaler).apply(inputs.containerservice.v20230602preview.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults) : undefined), }; } @@ -62926,14 +67622,19 @@ export namespace containerservice { enabled: pulumi.Input; } - /** - * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. - */ export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs { + /** + * Controls which resource value autoscaler will change. Default value is RequestsAndLimits. + */ + controlledValues: pulumi.Input; /** * Whether to enable VPA. Default value is false. */ enabled: pulumi.Input; + /** + * Each update mode level is a superset of the lower levels. Off; } /** * managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs @@ -62941,10 +67642,40 @@ export namespace containerservice { export function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs): ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs { return { ...val, + controlledValues: (val.controlledValues) ?? "RequestsAndLimits", enabled: (val.enabled) ?? false, + updateMode: (val.updateMode) ?? "Off", }; } + /** + * This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format + */ + export interface NetworkMonitoringArgs { + /** + * Enable or disable the network monitoring plugin on the cluster + */ + enabled?: pulumi.Input; + } + + /** + * The port range. + */ + export interface PortRangeArgs { + /** + * The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart. + */ + portEnd?: pulumi.Input; + /** + * The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd. + */ + portStart?: pulumi.Input; + /** + * The network protocol of the port. + */ + protocol?: pulumi.Input; + } + /** * Describes the Power State of the cluster */ @@ -62952,7 +67683,7 @@ export namespace containerservice { /** * Tells whether the cluster is Running or Stopped */ - code?: pulumi.Input; + code?: pulumi.Input; } /** @@ -63002,7 +67733,7 @@ export namespace containerservice { /** * The private link service connection status. */ - status?: pulumi.Input; + status?: pulumi.Input; } /** @@ -63012,15 +67743,15 @@ export namespace containerservice { /** * Specifies on which day of the week the maintenance occurs. */ - dayOfWeek: pulumi.Input; + dayOfWeek: pulumi.Input; /** * Specifies the number of months between each set of occurrences. */ intervalMonths: pulumi.Input; /** - * Specifies on which week of the month the dayOfWeek applies. + * Specifies on which instance of the allowed days specified in daysOfWeek the maintenance occurs. */ - weekIndex: pulumi.Input; + weekIndex: pulumi.Input; } /** @@ -63040,19 +67771,33 @@ export namespace containerservice { /** * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ - absoluteMonthly?: pulumi.Input; + absoluteMonthly?: pulumi.Input; /** * For schedules like: 'recur every day' or 'recur every 3 days'. */ - daily?: pulumi.Input; + daily?: pulumi.Input; /** * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. */ - relativeMonthly?: pulumi.Input; + relativeMonthly?: pulumi.Input; /** * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. */ - weekly?: pulumi.Input; + weekly?: pulumi.Input; + } + + /** + * Service mesh profile for a managed cluster. + */ + export interface ServiceMeshProfileArgs { + /** + * Istio service mesh configuration. + */ + istio?: pulumi.Input; + /** + * Mode of the service mesh. + */ + mode: pulumi.Input; } /** @@ -63180,7 +67925,7 @@ export namespace containerservice { /** * The day of the week. */ - day?: pulumi.Input; + day?: pulumi.Input; /** * Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. */ @@ -63201,6 +67946,20 @@ export namespace containerservice { start?: pulumi.Input; } + /** + * Settings for overrides when upgrading a cluster. + */ + export interface UpgradeOverrideSettingsArgs { + /** + * List of upgrade overrides when upgrading a cluster's control plane. + */ + controlPlaneOverrides?: pulumi.Input[]>; + /** + * Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. + */ + until?: pulumi.Input; + } + /** * Details about a user assigned identity. */ @@ -63226,7 +67985,7 @@ export namespace containerservice { /** * Specifies on which day of the week the maintenance occurs. */ - dayOfWeek: pulumi.Input; + dayOfWeek: pulumi.Input; /** * Specifies the number of weeks between each set of occurrences. */ @@ -63253,7 +68012,7 @@ export namespace containerservice { } - export namespace v20230602preview { + export namespace v20230701 { /** * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ @@ -63268,34 +68027,6 @@ export namespace containerservice { intervalMonths: pulumi.Input; } - /** - * Network settings of an agent pool. - */ - export interface AgentPoolNetworkProfileArgs { - /** - * The port ranges that are allowed to access. The specified ranges are allowed to overlap. - */ - allowedHostPorts?: pulumi.Input[]>; - /** - * The IDs of the application security groups which agent pool will associate when created. - */ - applicationSecurityGroups?: pulumi.Input[]>; - /** - * IPTags of instance-level public IPs. - */ - nodePublicIPTags?: pulumi.Input[]>; - } - - /** - * The security settings of an agent pool. - */ - export interface AgentPoolSecurityProfileArgs { - /** - * SSH access method of an agent pool. - */ - sshAccess?: pulumi.Input; - } - /** * Settings for upgrading an agentpool */ @@ -63310,16 +68041,6 @@ export namespace containerservice { maxSurge?: pulumi.Input; } - /** - * The Windows agent pool's specific profile. - */ - export interface AgentPoolWindowsProfileArgs { - /** - * The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled. - */ - disableOutboundNat?: pulumi.Input; - } - /** * Azure Key Vault key management service settings for the security profile. */ @@ -63335,7 +68056,7 @@ export namespace containerservice { /** * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */ - keyVaultNetworkAccess?: pulumi.Input; + keyVaultNetworkAccess?: pulumi.Input; /** * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. */ @@ -63358,7 +68079,7 @@ export namespace containerservice { /** * Settings for overrides. */ - overrideSettings?: pulumi.Input; + overrideSettings?: pulumi.Input; } /** @@ -63372,7 +68093,7 @@ export namespace containerservice { /** * The SSH configuration for Linux-based VMs running on Azure. */ - ssh: pulumi.Input; + ssh: pulumi.Input; } /** @@ -63386,51 +68107,43 @@ export namespace containerservice { /** * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. */ - ipFamilies?: pulumi.Input[]>; - /** - * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. - */ - kubeProxyConfig?: pulumi.Input; + ipFamilies?: pulumi.Input[]>; /** * Profile of the cluster load balancer. */ - loadBalancerProfile?: pulumi.Input; + loadBalancerProfile?: pulumi.Input; /** * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */ - loadBalancerSku?: pulumi.Input; - /** - * This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format - */ - monitoring?: pulumi.Input; + loadBalancerSku?: pulumi.Input; /** * Profile of the cluster NAT gateway. */ - natGatewayProfile?: pulumi.Input; + natGatewayProfile?: pulumi.Input; /** * Network dataplane used in the Kubernetes cluster. */ - networkDataplane?: pulumi.Input; + networkDataplane?: pulumi.Input; /** * This cannot be specified if networkPlugin is anything other than 'azure'. */ - networkMode?: pulumi.Input; + networkMode?: pulumi.Input; /** * Network plugin used for building the Kubernetes network. */ - networkPlugin?: pulumi.Input; + networkPlugin?: pulumi.Input; /** - * Network plugin mode used for building the Kubernetes network. + * The mode the network plugin should use. */ - networkPluginMode?: pulumi.Input; + networkPluginMode?: pulumi.Input; /** * Network policy used for building the Kubernetes network. */ - networkPolicy?: pulumi.Input; + networkPolicy?: pulumi.Input; /** * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */ - outboundType?: pulumi.Input; + outboundType?: pulumi.Input; /** * A CIDR notation IP range from which to assign pod IPs when kubenet is used. */ @@ -63455,54 +68168,15 @@ export namespace containerservice { return { ...val, dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - loadBalancerProfile: (val.loadBalancerProfile ? pulumi.output(val.loadBalancerProfile).apply(inputs.containerservice.v20230602preview.managedClusterLoadBalancerProfileArgsProvideDefaults) : undefined), - natGatewayProfile: (val.natGatewayProfile ? pulumi.output(val.natGatewayProfile).apply(inputs.containerservice.v20230602preview.managedClusterNATGatewayProfileArgsProvideDefaults) : undefined), + loadBalancerProfile: (val.loadBalancerProfile ? pulumi.output(val.loadBalancerProfile).apply(inputs.containerservice.v20230701.managedClusterLoadBalancerProfileArgsProvideDefaults) : undefined), + natGatewayProfile: (val.natGatewayProfile ? pulumi.output(val.natGatewayProfile).apply(inputs.containerservice.v20230701.managedClusterNATGatewayProfileArgsProvideDefaults) : undefined), + networkPlugin: (val.networkPlugin) ?? "kubenet", outboundType: (val.outboundType) ?? "loadBalancer", podCidr: (val.podCidr) ?? "10.244.0.0/16", serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", }; } - /** - * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. - */ - export interface ContainerServiceNetworkProfileIpvsConfigArgs { - /** - * IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. - */ - scheduler?: pulumi.Input; - /** - * The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value. - */ - tcpFinTimeoutSeconds?: pulumi.Input; - /** - * The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. - */ - tcpTimeoutSeconds?: pulumi.Input; - /** - * The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. - */ - udpTimeoutSeconds?: pulumi.Input; - } - - /** - * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. - */ - export interface ContainerServiceNetworkProfileKubeProxyConfigArgs { - /** - * Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations). - */ - enabled?: pulumi.Input; - /** - * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. - */ - ipvsConfig?: pulumi.Input; - /** - * Specify which proxy mode to use ('IPTABLES' or 'IPVS') - */ - mode?: pulumi.Input; - } - /** * SSH configuration for Linux-based VMs running on Azure. */ @@ -63510,7 +68184,7 @@ export namespace containerservice { /** * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */ - publicKeys: pulumi.Input[]>; + publicKeys: pulumi.Input[]>; } /** @@ -63590,117 +68264,7 @@ export namespace containerservice { /** * The type of the extended location. */ - type?: pulumi.Input; - } - - /** - * The Guardrails profile. - */ - export interface GuardrailsProfileArgs { - /** - * List of namespaces excluded from guardrails checks - */ - excludedNamespaces?: pulumi.Input[]>; - /** - * The guardrails level to be used. By default, Guardrails is enabled for all namespaces except those that AKS excludes via systemExcludedNamespaces - */ - level: pulumi.Input; - /** - * The version of constraints to use - */ - version: pulumi.Input; - } - - /** - * Contains the IPTag associated with the object. - */ - export interface IPTagArgs { - /** - * The IP tag type. Example: RoutingPreference. - */ - ipTagType?: pulumi.Input; - /** - * The value of the IP tag associated with the public IP. Example: Internet. - */ - tag?: pulumi.Input; - } - - /** - * Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca - */ - export interface IstioCertificateAuthorityArgs { - /** - * Plugin certificates information for Service Mesh. - */ - plugin?: pulumi.Input; - } - - /** - * Istio components configuration. - */ - export interface IstioComponentsArgs { - /** - * Istio ingress gateways. - */ - ingressGateways?: pulumi.Input[]>; - } - - /** - * Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. - */ - export interface IstioIngressGatewayArgs { - /** - * Whether to enable the ingress gateway. - */ - enabled: pulumi.Input; - /** - * Mode of an ingress gateway. - */ - mode: pulumi.Input; - } - - /** - * Plugin certificates information for Service Mesh. - */ - export interface IstioPluginCertificateAuthorityArgs { - /** - * Certificate chain object name in Azure Key Vault. - */ - certChainObjectName?: pulumi.Input; - /** - * Intermediate certificate object name in Azure Key Vault. - */ - certObjectName?: pulumi.Input; - /** - * Intermediate certificate private key object name in Azure Key Vault. - */ - keyObjectName?: pulumi.Input; - /** - * The resource ID of the Key Vault. - */ - keyVaultId?: pulumi.Input; - /** - * Root certificate object name in Azure Key Vault. - */ - rootCertObjectName?: pulumi.Input; - } - - /** - * Istio service mesh configuration. - */ - export interface IstioServiceMeshArgs { - /** - * Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca - */ - certificateAuthority?: pulumi.Input; - /** - * Istio components configuration. - */ - components?: pulumi.Input; - /** - * The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade - */ - revisions?: pulumi.Input[]>; + type?: pulumi.Input; } /** @@ -63764,7 +68328,7 @@ export namespace containerservice { /** * Sysctl settings for Linux agent nodes. */ - sysctls?: pulumi.Input; + sysctls?: pulumi.Input; /** * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ @@ -63786,11 +68350,11 @@ export namespace containerservice { /** * Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. */ - notAllowedDates?: pulumi.Input[]>; + notAllowedDates?: pulumi.Input[]>; /** * Recurrence schedule for the maintenance window. */ - schedule: pulumi.Input; + schedule: pulumi.Input; /** * The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. */ @@ -63868,18 +68432,10 @@ export namespace containerservice { * Whether to create additional public FQDN for private cluster or not. */ enablePrivateClusterPublicFQDN?: pulumi.Input; - /** - * Whether to enable apiserver vnet integration for the cluster or not. - */ - enableVnetIntegration?: pulumi.Input; /** * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. */ privateDNSZone?: pulumi.Input; - /** - * It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration. - */ - subnetId?: pulumi.Input; } /** @@ -63904,10 +68460,6 @@ export namespace containerservice { * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */ availabilityZones?: pulumi.Input[]>; - /** - * AKS will associate the specified agent pool with the Capacity Reservation Group. - */ - capacityReservationGroupID?: pulumi.Input; /** * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */ @@ -63915,15 +68467,11 @@ export namespace containerservice { /** * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */ - creationData?: pulumi.Input; + creationData?: pulumi.Input; /** * Whether to enable auto-scaler */ enableAutoScaling?: pulumi.Input; - /** - * When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded certificates into node trust stores. Defaults to false. - */ - enableCustomCATrust?: pulumi.Input; /** * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */ @@ -63943,7 +68491,7 @@ export namespace containerservice { /** * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */ - gpuInstanceProfile?: pulumi.Input; + gpuInstanceProfile?: pulumi.Input; /** * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */ @@ -63951,15 +68499,15 @@ export namespace containerservice { /** * The Kubelet configuration on the agent pool nodes. */ - kubeletConfig?: pulumi.Input; + kubeletConfig?: pulumi.Input; /** * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */ - kubeletDiskType?: pulumi.Input; + kubeletDiskType?: pulumi.Input; /** * The OS configuration of Linux agent nodes. */ - linuxOSConfig?: pulumi.Input; + linuxOSConfig?: pulumi.Input; /** * The maximum number of nodes for auto-scaling */ @@ -63968,10 +68516,6 @@ export namespace containerservice { * The maximum number of pods that can run on a node. */ maxPods?: pulumi.Input; - /** - * A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). - */ - messageOfTheDay?: pulumi.Input; /** * The minimum number of nodes for auto-scaling */ @@ -63979,15 +68523,11 @@ export namespace containerservice { /** * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */ - mode?: pulumi.Input; + mode?: pulumi.Input; /** * Windows agent pool names must be 6 characters or less. */ name: pulumi.Input; - /** - * Network-related settings of an agent pool. - */ - networkProfile?: pulumi.Input; /** * The node labels to be persisted across all nodes in agent pool. */ @@ -64001,7 +68541,7 @@ export namespace containerservice { */ nodeTaints?: pulumi.Input[]>; /** - * Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ orchestratorVersion?: pulumi.Input; /** @@ -64011,15 +68551,15 @@ export namespace containerservice { /** * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */ - osDiskType?: pulumi.Input; + osDiskType?: pulumi.Input; /** - * Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */ - osSKU?: pulumi.Input; + osSKU?: pulumi.Input; /** * The operating system type. The default is Linux. */ - osType?: pulumi.Input; + osType?: pulumi.Input; /** * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ @@ -64027,7 +68567,7 @@ export namespace containerservice { /** * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */ - powerState?: pulumi.Input; + powerState?: pulumi.Input; /** * The ID for Proximity Placement Group. */ @@ -64035,19 +68575,15 @@ export namespace containerservice { /** * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */ - scaleDownMode?: pulumi.Input; + scaleDownMode?: pulumi.Input; /** * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. */ - scaleSetEvictionPolicy?: pulumi.Input; + scaleSetEvictionPolicy?: pulumi.Input; /** * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. */ - scaleSetPriority?: pulumi.Input; - /** - * The security settings of an agent pool. - */ - securityProfile?: pulumi.Input; + scaleSetPriority?: pulumi.Input; /** * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */ @@ -64059,11 +68595,11 @@ export namespace containerservice { /** * The type of Agent Pool. */ - type?: pulumi.Input; + type?: pulumi.Input; /** * Settings for upgrading the agentpool */ - upgradeSettings?: pulumi.Input; + upgradeSettings?: pulumi.Input; /** * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */ @@ -64072,14 +68608,10 @@ export namespace containerservice { * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: pulumi.Input; - /** - * The Windows agent pool's specific profile. - */ - windowsProfile?: pulumi.Input; /** * Determines the type of workload a node can run. */ - workloadRuntime?: pulumi.Input; + workloadRuntime?: pulumi.Input; } /** @@ -64087,51 +68619,51 @@ export namespace containerservice { */ export interface ManagedClusterAutoUpgradeProfileArgs { /** - * The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. + * Manner in which the OS on your nodes is updated. The default is NodeImage. */ - nodeOSUpgradeChannel?: pulumi.Input; + nodeOSUpgradeChannel?: pulumi.Input; /** * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */ - upgradeChannel?: pulumi.Input; + upgradeChannel?: pulumi.Input; } /** - * Prometheus addon profile for the container service cluster + * Azure Monitor addon profiles for monitoring the managed cluster. */ export interface ManagedClusterAzureMonitorProfileArgs { /** - * Metrics profile for the prometheus service addon + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */ - metrics?: pulumi.Input; + metrics?: pulumi.Input; } /** - * Kube State Metrics for prometheus addon profile for the container service cluster + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */ export interface ManagedClusterAzureMonitorProfileKubeStateMetricsArgs { /** - * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. + * Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. */ metricAnnotationsAllowList?: pulumi.Input; /** - * Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels metric. + * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. */ metricLabelsAllowlist?: pulumi.Input; } /** - * Metrics profile for the prometheus service addon + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */ export interface ManagedClusterAzureMonitorProfileMetricsArgs { /** - * Whether to enable the Prometheus collector + * Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. */ enabled: pulumi.Input; /** - * Kube State Metrics for prometheus addon profile for the container service cluster + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */ - kubeStateMetrics?: pulumi.Input; + kubeStateMetrics?: pulumi.Input; } /** @@ -64163,41 +68695,17 @@ export namespace containerservice { /** * The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. */ - delegatedResources?: pulumi.Input<{[key: string]: pulumi.Input}>; + delegatedResources?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */ - type?: pulumi.Input; + type?: pulumi.Input; /** * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ userAssignedIdentities?: pulumi.Input[]>; } - /** - * Ingress profile for the container service cluster. - */ - export interface ManagedClusterIngressProfileArgs { - /** - * Web App Routing settings for the ingress profile. - */ - webAppRouting?: pulumi.Input; - } - - /** - * Web App Routing settings for the ingress profile. - */ - export interface ManagedClusterIngressProfileWebAppRoutingArgs { - /** - * Resource ID of the DNS Zone to be associated with the web app. Used only when Web App Routing is enabled. - */ - dnsZoneResourceId?: pulumi.Input; - /** - * Whether to enable Web App Routing. - */ - enabled?: pulumi.Input; - } - /** * Profile of the managed cluster load balancer. */ @@ -64206,14 +68714,10 @@ export namespace containerservice { * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. */ allocatedOutboundPorts?: pulumi.Input; - /** - * The type of the managed inbound Load Balancer BackendPool. - */ - backendPoolType?: pulumi.Input; /** * The effective outbound IP resources of the cluster load balancer. */ - effectiveOutboundIPs?: pulumi.Input[]>; + effectiveOutboundIPs?: pulumi.Input[]>; /** * Enable multiple standard load balancers per AKS cluster or not. */ @@ -64225,15 +68729,15 @@ export namespace containerservice { /** * Desired managed outbound IPs for the cluster load balancer. */ - managedOutboundIPs?: pulumi.Input; + managedOutboundIPs?: pulumi.Input; /** * Desired outbound IP Prefix resources for the cluster load balancer. */ - outboundIPPrefixes?: pulumi.Input; + outboundIPPrefixes?: pulumi.Input; /** * Desired outbound IP resources for the cluster load balancer. */ - outboundIPs?: pulumi.Input; + outboundIPs?: pulumi.Input; } /** * managedClusterLoadBalancerProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileArgs @@ -64242,9 +68746,8 @@ export namespace containerservice { return { ...val, allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, - backendPoolType: (val.backendPoolType) ?? "NodeIPConfiguration", idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, - managedOutboundIPs: (val.managedOutboundIPs ? pulumi.output(val.managedOutboundIPs).apply(inputs.containerservice.v20230602preview.managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults) : undefined), + managedOutboundIPs: (val.managedOutboundIPs ? pulumi.output(val.managedOutboundIPs).apply(inputs.containerservice.v20230701.managedClusterLoadBalancerProfileManagedOutboundIPsArgsProvideDefaults) : undefined), }; } @@ -64279,7 +68782,7 @@ export namespace containerservice { /** * A list of public IP prefix resources. */ - publicIPPrefixes?: pulumi.Input[]>; + publicIPPrefixes?: pulumi.Input[]>; } /** @@ -64289,7 +68792,7 @@ export namespace containerservice { /** * A list of public IP resources. */ - publicIPs?: pulumi.Input[]>; + publicIPs?: pulumi.Input[]>; } /** @@ -64318,7 +68821,7 @@ export namespace containerservice { /** * The effective outbound IP resources of the cluster NAT gateway. */ - effectiveOutboundIPs?: pulumi.Input[]>; + effectiveOutboundIPs?: pulumi.Input[]>; /** * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. */ @@ -64326,7 +68829,7 @@ export namespace containerservice { /** * Profile of the managed outbound IP resources of the cluster NAT gateway. */ - managedOutboundIPProfile?: pulumi.Input; + managedOutboundIPProfile?: pulumi.Input; } /** * managedClusterNATGatewayProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileArgs @@ -64335,20 +68838,10 @@ export namespace containerservice { return { ...val, idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, - managedOutboundIPProfile: (val.managedOutboundIPProfile ? pulumi.output(val.managedOutboundIPProfile).apply(inputs.containerservice.v20230602preview.managedClusterManagedOutboundIPProfileArgsProvideDefaults) : undefined), + managedOutboundIPProfile: (val.managedOutboundIPProfile ? pulumi.output(val.managedOutboundIPProfile).apply(inputs.containerservice.v20230701.managedClusterManagedOutboundIPProfileArgsProvideDefaults) : undefined), }; } - /** - * Node resource group lockdown profile for a managed cluster. - */ - export interface ManagedClusterNodeResourceGroupProfileArgs { - /** - * The restriction level applied to the cluster's node resource group - */ - restrictionLevel?: pulumi.Input; - } - /** * The OIDC issuer profile of the Managed Cluster. */ @@ -64370,7 +68863,7 @@ export namespace containerservice { /** * The user assigned identity details. */ - identity: pulumi.Input; + identity: pulumi.Input; /** * The name of the pod identity. */ @@ -64414,11 +68907,11 @@ export namespace containerservice { /** * The pod identities to use in the cluster. */ - userAssignedIdentities?: pulumi.Input[]>; + userAssignedIdentities?: pulumi.Input[]>; /** * The pod identity exceptions to allow. */ - userAssignedIdentityExceptions?: pulumi.Input[]>; + userAssignedIdentityExceptions?: pulumi.Input[]>; } /** @@ -64432,7 +68925,7 @@ export namespace containerservice { /** * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */ - expander?: pulumi.Input; + expander?: pulumi.Input; /** * The default is 10. */ @@ -64502,11 +68995,11 @@ export namespace containerservice { /** * The name of a managed cluster SKU. */ - name?: pulumi.Input; + name?: pulumi.Input; /** * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */ - tier?: pulumi.Input; + tier?: pulumi.Input; } /** @@ -64516,31 +69009,19 @@ export namespace containerservice { /** * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. */ - azureKeyVaultKms?: pulumi.Input; - /** - * A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the Custom CA Trust feature enabled. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) - */ - customCATrustCertificates?: pulumi.Input[]>; + azureKeyVaultKms?: pulumi.Input; /** * Microsoft Defender settings for the security profile. */ - defender?: pulumi.Input; + defender?: pulumi.Input; /** * Image Cleaner settings for the security profile. */ - imageCleaner?: pulumi.Input; - /** - * Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This will not have any effect unless Azure Policy is applied to enforce image signatures. See https://aka.ms/aks/image-integrity for how to use this feature via policy. - */ - imageIntegrity?: pulumi.Input; - /** - * [Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile. - */ - nodeRestriction?: pulumi.Input; + imageCleaner?: pulumi.Input; /** * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. */ - workloadIdentity?: pulumi.Input; + workloadIdentity?: pulumi.Input; } /** * managedClusterSecurityProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileArgs @@ -64548,7 +69029,7 @@ export namespace containerservice { export function managedClusterSecurityProfileArgsProvideDefaults(val: ManagedClusterSecurityProfileArgs): ManagedClusterSecurityProfileArgs { return { ...val, - azureKeyVaultKms: (val.azureKeyVaultKms ? pulumi.output(val.azureKeyVaultKms).apply(inputs.containerservice.v20230602preview.azureKeyVaultKmsArgsProvideDefaults) : undefined), + azureKeyVaultKms: (val.azureKeyVaultKms ? pulumi.output(val.azureKeyVaultKms).apply(inputs.containerservice.v20230701.azureKeyVaultKmsArgsProvideDefaults) : undefined), }; } @@ -64563,7 +69044,7 @@ export namespace containerservice { /** * Microsoft Defender threat detection for Cloud settings for the security profile. */ - securityMonitoring?: pulumi.Input; + securityMonitoring?: pulumi.Input; } /** @@ -64590,26 +69071,6 @@ export namespace containerservice { intervalHours?: pulumi.Input; } - /** - * Image integrity related settings for the security profile. - */ - export interface ManagedClusterSecurityProfileImageIntegrityArgs { - /** - * Whether to enable image integrity. The default value is false. - */ - enabled?: pulumi.Input; - } - - /** - * Node Restriction settings for the security profile. - */ - export interface ManagedClusterSecurityProfileNodeRestrictionArgs { - /** - * Whether to enable Node Restriction - */ - enabled?: pulumi.Input; - } - /** * Workload identity settings for the security profile. */ @@ -64641,19 +69102,19 @@ export namespace containerservice { /** * AzureBlob CSI Driver settings for the storage profile. */ - blobCSIDriver?: pulumi.Input; + blobCSIDriver?: pulumi.Input; /** * AzureDisk CSI Driver settings for the storage profile. */ - diskCSIDriver?: pulumi.Input; + diskCSIDriver?: pulumi.Input; /** * AzureFile CSI Driver settings for the storage profile. */ - fileCSIDriver?: pulumi.Input; + fileCSIDriver?: pulumi.Input; /** * Snapshot Controller settings for the storage profile. */ - snapshotController?: pulumi.Input; + snapshotController?: pulumi.Input; } /** @@ -64674,10 +69135,6 @@ export namespace containerservice { * Whether to enable AzureDisk CSI Driver. The default value is true. */ enabled?: pulumi.Input; - /** - * The version of AzureDisk CSI Driver. The default value is v1. - */ - version?: pulumi.Input; } /** @@ -64719,11 +69176,11 @@ export namespace containerservice { /** * The Windows gMSA Profile in the Managed Cluster. */ - gmsaProfile?: pulumi.Input; + gmsaProfile?: pulumi.Input; /** * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */ - licenseType?: pulumi.Input; + licenseType?: pulumi.Input; } /** @@ -64733,8 +69190,11 @@ export namespace containerservice { /** * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ - keda?: pulumi.Input; - verticalPodAutoscaler?: pulumi.Input; + keda?: pulumi.Input; + /** + * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + */ + verticalPodAutoscaler?: pulumi.Input; } /** * managedClusterWorkloadAutoScalerProfileArgsProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileArgs @@ -64742,7 +69202,7 @@ export namespace containerservice { export function managedClusterWorkloadAutoScalerProfileArgsProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileArgs): ManagedClusterWorkloadAutoScalerProfileArgs { return { ...val, - verticalPodAutoscaler: (val.verticalPodAutoscaler ? pulumi.output(val.verticalPodAutoscaler).apply(inputs.containerservice.v20230602preview.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults) : undefined), + verticalPodAutoscaler: (val.verticalPodAutoscaler ? pulumi.output(val.verticalPodAutoscaler).apply(inputs.containerservice.v20230701.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults) : undefined), }; } @@ -64756,19 +69216,14 @@ export namespace containerservice { enabled: pulumi.Input; } + /** + * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + */ export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs { - /** - * Controls which resource value autoscaler will change. Default value is RequestsAndLimits. - */ - controlledValues: pulumi.Input; /** * Whether to enable VPA. Default value is false. */ enabled: pulumi.Input; - /** - * Each update mode level is a superset of the lower levels. Off; } /** * managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs @@ -64776,40 +69231,10 @@ export namespace containerservice { export function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgsProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs): ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs { return { ...val, - controlledValues: (val.controlledValues) ?? "RequestsAndLimits", enabled: (val.enabled) ?? false, - updateMode: (val.updateMode) ?? "Off", }; } - /** - * This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format - */ - export interface NetworkMonitoringArgs { - /** - * Enable or disable the network monitoring plugin on the cluster - */ - enabled?: pulumi.Input; - } - - /** - * The port range. - */ - export interface PortRangeArgs { - /** - * The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart. - */ - portEnd?: pulumi.Input; - /** - * The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd. - */ - portStart?: pulumi.Input; - /** - * The network protocol of the port. - */ - protocol?: pulumi.Input; - } - /** * Describes the Power State of the cluster */ @@ -64817,7 +69242,7 @@ export namespace containerservice { /** * Tells whether the cluster is Running or Stopped */ - code?: pulumi.Input; + code?: pulumi.Input; } /** @@ -64867,7 +69292,7 @@ export namespace containerservice { /** * The private link service connection status. */ - status?: pulumi.Input; + status?: pulumi.Input; } /** @@ -64877,15 +69302,15 @@ export namespace containerservice { /** * Specifies on which day of the week the maintenance occurs. */ - dayOfWeek: pulumi.Input; + dayOfWeek: pulumi.Input; /** * Specifies the number of months between each set of occurrences. */ intervalMonths: pulumi.Input; /** - * Specifies on which instance of the allowed days specified in daysOfWeek the maintenance occurs. + * Specifies on which week of the month the dayOfWeek applies. */ - weekIndex: pulumi.Input; + weekIndex: pulumi.Input; } /** @@ -64905,33 +69330,19 @@ export namespace containerservice { /** * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ - absoluteMonthly?: pulumi.Input; + absoluteMonthly?: pulumi.Input; /** * For schedules like: 'recur every day' or 'recur every 3 days'. */ - daily?: pulumi.Input; + daily?: pulumi.Input; /** * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. */ - relativeMonthly?: pulumi.Input; + relativeMonthly?: pulumi.Input; /** * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. */ - weekly?: pulumi.Input; - } - - /** - * Service mesh profile for a managed cluster. - */ - export interface ServiceMeshProfileArgs { - /** - * Istio service mesh configuration. - */ - istio?: pulumi.Input; - /** - * Mode of the service mesh. - */ - mode: pulumi.Input; + weekly?: pulumi.Input; } /** @@ -65059,7 +69470,7 @@ export namespace containerservice { /** * The day of the week. */ - day?: pulumi.Input; + day?: pulumi.Input; /** * Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. */ @@ -65085,9 +69496,9 @@ export namespace containerservice { */ export interface UpgradeOverrideSettingsArgs { /** - * List of upgrade overrides when upgrading a cluster's control plane. + * Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. */ - controlPlaneOverrides?: pulumi.Input[]>; + forceUpgrade?: pulumi.Input; /** * Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. */ @@ -65119,7 +69530,7 @@ export namespace containerservice { /** * Specifies on which day of the week the maintenance occurs. */ - dayOfWeek: pulumi.Input; + dayOfWeek: pulumi.Input; /** * Specifies the number of weeks between each set of occurrences. */ @@ -65149,147 +69560,355 @@ export namespace containerservice { export namespace containerstorage { /** - * Disk Pool Properties + * Assignment Properties */ - export interface DiskPoolPropertiesArgs { + export interface AssignmentArgs { /** - * List of KV pairs to set in StorageClass to configure CSI driver. + * Resource id for the assigned resource */ - csiParams?: pulumi.Input<{[key: string]: pulumi.Input}>; + id: pulumi.Input; + } + + /** + * Azure Disk Pool Properties + */ + export interface AzureDiskArgs { /** * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). */ - disks?: pulumi.Input[]>; + disks?: pulumi.Input[]>; + /** + * Encryption specifies the encryption configuration for the Azure Disk pool + */ + encryption?: pulumi.Input; /** - * Maximum capacity of the volumes in GiB the user intends to create. Default 512. + * Sku name */ - maxVolumeCapacityGiB?: pulumi.Input; + skuName?: pulumi.Input; } + /** - * diskPoolPropertiesArgsProvideDefaults sets the appropriate defaults for DiskPoolPropertiesArgs + * Model for disk for that pool is using */ - export function diskPoolPropertiesArgsProvideDefaults(val: DiskPoolPropertiesArgs): DiskPoolPropertiesArgs { - return { - ...val, - maxVolumeCapacityGiB: (val.maxVolumeCapacityGiB) ?? 512, - }; + export interface DiskArgs { + /** + * ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + */ + id: pulumi.Input; + /** + * Reference is the location of the disk in an external system. + */ + reference: pulumi.Input; } /** * Elastic San Pool Properties */ - export interface ElasticSanPoolPropertiesArgs { + export interface ElasticSanArgs { /** - * Resource group of an existing SAN. + * Encryption specifies the encryption configuration for the Azure Disk pool */ - resourceGroup: pulumi.Input; + encryption?: pulumi.Input; /** - * Name of an existing SAN. - */ - sanName: pulumi.Input; - /** - * Volume group of an existing SAN. + * Sku name */ - volumeGroup: pulumi.Input; + skuName?: pulumi.Input; } /** - * Ephemeral Pool Properties + * Encryption key properties for the pool. */ - export interface EphemeralPoolPropertiesArgs { + export interface EncryptionArgs { /** - * Consent to format the local disks. + * The managed service identities assigned to this resource. */ - diskFormat?: pulumi.Input; + identity?: pulumi.Input; /** - * Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. + * The name of the key vault key. + */ + keyName: pulumi.Input; + /** + * The URI of the key vault. */ - diskSelector: pulumi.Input[]>; + keyVaultUri: pulumi.Input; + } + + /** + * Ephemeral Disk Pool Properties + */ + export interface EphemeralDiskArgs { /** * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). */ - disks: pulumi.Input[]>; + disks?: pulumi.Input[]>; + /** + * The number of data copies. Default 3. + */ + replicas?: pulumi.Input; } /** - * ephemeralPoolPropertiesArgsProvideDefaults sets the appropriate defaults for EphemeralPoolPropertiesArgs + * ephemeralDiskArgsProvideDefaults sets the appropriate defaults for EphemeralDiskArgs */ - export function ephemeralPoolPropertiesArgsProvideDefaults(val: EphemeralPoolPropertiesArgs): EphemeralPoolPropertiesArgs { + export function ephemeralDiskArgsProvideDefaults(val: EphemeralDiskArgs): EphemeralDiskArgs { return { ...val, - diskFormat: (val.diskFormat) ?? false, + replicas: (val.replicas) ?? 3, }; } - export namespace v20230301preview { + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityArgs { + /** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: pulumi.Input; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: pulumi.Input[]>; + } + + /** + * Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + */ + export interface PoolTypeArgs { /** * Disk Pool Properties */ - export interface DiskPoolPropertiesArgs { + azureDisk?: pulumi.Input; + /** + * Elastic San Pool Properties + */ + elasticSan?: pulumi.Input; + /** + * Ephemeral Pool Properties + */ + ephemeralDisk?: pulumi.Input; + } + /** + * poolTypeArgsProvideDefaults sets the appropriate defaults for PoolTypeArgs + */ + export function poolTypeArgsProvideDefaults(val: PoolTypeArgs): PoolTypeArgs { + return { + ...val, + ephemeralDisk: (val.ephemeralDisk ? pulumi.output(val.ephemeralDisk).apply(inputs.containerstorage.ephemeralDiskArgsProvideDefaults) : undefined), + }; + } + + /** + * Requests for capacity for the pool. + */ + export interface RequestsArgs { + /** + * Requested capacity of the pool in GiB. + */ + storage?: pulumi.Input; + } + /** + * requestsArgsProvideDefaults sets the appropriate defaults for RequestsArgs + */ + export function requestsArgsProvideDefaults(val: RequestsArgs): RequestsArgs { + return { + ...val, + storage: (val.storage) ?? 1024, + }; + } + + /** + * Resource Requests for the pool. + */ + export interface ResourcesArgs { + /** + * Requests for capacity for the pool. + */ + requests?: pulumi.Input; + } + /** + * resourcesArgsProvideDefaults sets the appropriate defaults for ResourcesArgs + */ + export function resourcesArgsProvideDefaults(val: ResourcesArgs): ResourcesArgs { + return { + ...val, + requests: (val.requests ? pulumi.output(val.requests).apply(inputs.containerstorage.requestsArgsProvideDefaults) : undefined), + }; + } + + export namespace v20230701preview { + /** + * Assignment Properties + */ + export interface AssignmentArgs { /** - * List of KV pairs to set in StorageClass to configure CSI driver. + * Resource id for the assigned resource */ - csiParams?: pulumi.Input<{[key: string]: pulumi.Input}>; + id: pulumi.Input; + } + + /** + * Azure Disk Pool Properties + */ + export interface AzureDiskArgs { /** * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). */ - disks?: pulumi.Input[]>; + disks?: pulumi.Input[]>; /** - * Maximum capacity of the volumes in GiB the user intends to create. Default 512. + * Encryption specifies the encryption configuration for the Azure Disk pool */ - maxVolumeCapacityGiB?: pulumi.Input; + encryption?: pulumi.Input; + /** + * Sku name + */ + skuName?: pulumi.Input; } + /** - * diskPoolPropertiesArgsProvideDefaults sets the appropriate defaults for DiskPoolPropertiesArgs + * Model for disk for that pool is using */ - export function diskPoolPropertiesArgsProvideDefaults(val: DiskPoolPropertiesArgs): DiskPoolPropertiesArgs { - return { - ...val, - maxVolumeCapacityGiB: (val.maxVolumeCapacityGiB) ?? 512, - }; + export interface DiskArgs { + /** + * ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + */ + id: pulumi.Input; + /** + * Reference is the location of the disk in an external system. + */ + reference: pulumi.Input; } /** * Elastic San Pool Properties */ - export interface ElasticSanPoolPropertiesArgs { + export interface ElasticSanArgs { /** - * Resource group of an existing SAN. + * Encryption specifies the encryption configuration for the Azure Disk pool */ - resourceGroup: pulumi.Input; + encryption?: pulumi.Input; /** - * Name of an existing SAN. + * Sku name */ - sanName: pulumi.Input; + skuName?: pulumi.Input; + } + + /** + * Encryption key properties for the pool. + */ + export interface EncryptionArgs { + /** + * The managed service identities assigned to this resource. + */ + identity?: pulumi.Input; + /** + * The name of the key vault key. + */ + keyName: pulumi.Input; /** - * Volume group of an existing SAN. + * The URI of the key vault. */ - volumeGroup: pulumi.Input; + keyVaultUri: pulumi.Input; } /** - * Ephemeral Pool Properties + * Ephemeral Disk Pool Properties */ - export interface EphemeralPoolPropertiesArgs { + export interface EphemeralDiskArgs { /** - * Consent to format the local disks. + * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). */ - diskFormat?: pulumi.Input; + disks?: pulumi.Input[]>; /** - * Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. + * The number of data copies. Default 3. */ - diskSelector: pulumi.Input[]>; + replicas?: pulumi.Input; + } + /** + * ephemeralDiskArgsProvideDefaults sets the appropriate defaults for EphemeralDiskArgs + */ + export function ephemeralDiskArgsProvideDefaults(val: EphemeralDiskArgs): EphemeralDiskArgs { + return { + ...val, + replicas: (val.replicas) ?? 3, + }; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityArgs { /** - * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: pulumi.Input; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: pulumi.Input[]>; + } + + /** + * Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + */ + export interface PoolTypeArgs { + /** + * Disk Pool Properties + */ + azureDisk?: pulumi.Input; + /** + * Elastic San Pool Properties + */ + elasticSan?: pulumi.Input; + /** + * Ephemeral Pool Properties + */ + ephemeralDisk?: pulumi.Input; + } + /** + * poolTypeArgsProvideDefaults sets the appropriate defaults for PoolTypeArgs + */ + export function poolTypeArgsProvideDefaults(val: PoolTypeArgs): PoolTypeArgs { + return { + ...val, + ephemeralDisk: (val.ephemeralDisk ? pulumi.output(val.ephemeralDisk).apply(inputs.containerstorage.v20230701preview.ephemeralDiskArgsProvideDefaults) : undefined), + }; + } + + /** + * Requests for capacity for the pool. + */ + export interface RequestsArgs { + /** + * Requested capacity of the pool in GiB. + */ + storage?: pulumi.Input; + } + /** + * requestsArgsProvideDefaults sets the appropriate defaults for RequestsArgs + */ + export function requestsArgsProvideDefaults(val: RequestsArgs): RequestsArgs { + return { + ...val, + storage: (val.storage) ?? 1024, + }; + } + + /** + * Resource Requests for the pool. + */ + export interface ResourcesArgs { + /** + * Requests for capacity for the pool. */ - disks: pulumi.Input[]>; + requests?: pulumi.Input; } /** - * ephemeralPoolPropertiesArgsProvideDefaults sets the appropriate defaults for EphemeralPoolPropertiesArgs + * resourcesArgsProvideDefaults sets the appropriate defaults for ResourcesArgs */ - export function ephemeralPoolPropertiesArgsProvideDefaults(val: EphemeralPoolPropertiesArgs): EphemeralPoolPropertiesArgs { + export function resourcesArgsProvideDefaults(val: ResourcesArgs): ResourcesArgs { return { ...val, - diskFormat: (val.diskFormat) ?? false, + requests: (val.requests ? pulumi.output(val.requests).apply(inputs.containerstorage.v20230701preview.requestsArgsProvideDefaults) : undefined), }; } @@ -71510,6 +76129,914 @@ export namespace databox { } } + + export namespace v20230301 { + /** + * Filter details to transfer Azure files + */ + export interface AzureFileFilterDetailsArgs { + /** + * List of full path of the files to be transferred. + */ + filePathList?: pulumi.Input[]>; + /** + * Prefix list of the Azure files to be transferred. + */ + filePrefixList?: pulumi.Input[]>; + /** + * List of file shares to be transferred. + */ + fileShareList?: pulumi.Input[]>; + } + + /** + * Filter details to transfer Azure Blobs + */ + export interface BlobFilterDetailsArgs { + /** + * List of full path of the blobs to be transferred. + */ + blobPathList?: pulumi.Input[]>; + /** + * Prefix list of the Azure blobs to be transferred. + */ + blobPrefixList?: pulumi.Input[]>; + /** + * List of blob containers to be transferred. + */ + containerList?: pulumi.Input[]>; + } + + /** + * Contact Details. + */ + export interface ContactDetailsArgs { + /** + * Contact name of the person. + */ + contactName: pulumi.Input; + /** + * List of Email-ids to be notified about job progress. + */ + emailList: pulumi.Input[]>; + /** + * Mobile number of the contact person. + */ + mobile?: pulumi.Input; + /** + * Notification preference for a job stage. + */ + notificationPreference?: pulumi.Input[]>; + /** + * Phone number of the contact person. + */ + phone: pulumi.Input; + /** + * Phone extension number of the contact person. + */ + phoneExtension?: pulumi.Input; + } + + /** + * Contact Info. + */ + export interface ContactInfoArgs { + /** + * Contact name of the person. + */ + contactName: pulumi.Input; + /** + * Mobile number of the contact person. + */ + mobile?: pulumi.Input; + /** + * Phone number of the contact person. + */ + phone: pulumi.Input; + /** + * Phone extension number of the contact person. + */ + phoneExtension?: pulumi.Input; + } + + /** + * Customer disk job details. + */ + export interface DataBoxCustomerDiskJobDetailsArgs { + /** + * Contact details for notification and shipping. + */ + contactDetails: pulumi.Input; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: pulumi.Input[]>; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: pulumi.Input[]>; + /** + * Flag to indicate if disk manifest should be backed-up in the Storage Account. + */ + enableManifestBackup?: pulumi.Input; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: pulumi.Input; + /** + * Contains the map of disk serial number to the disk details for import jobs. + */ + importDiskDetailsCollection?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxCustomerDisk'. + */ + jobDetailsType: pulumi.Input<"DataBoxCustomerDisk">; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: pulumi.Input; + /** + * Preferences for the order. + */ + preferences?: pulumi.Input; + /** + * Return package shipping details. + */ + returnToCustomerPackageDetails: pulumi.Input; + /** + * Optional Reverse Shipping details for order. + */ + reverseShippingDetails?: pulumi.Input; + /** + * Shipping address of the customer. + */ + shippingAddress?: pulumi.Input; + } + /** + * dataBoxCustomerDiskJobDetailsArgsProvideDefaults sets the appropriate defaults for DataBoxCustomerDiskJobDetailsArgs + */ + export function dataBoxCustomerDiskJobDetailsArgsProvideDefaults(val: DataBoxCustomerDiskJobDetailsArgs): DataBoxCustomerDiskJobDetailsArgs { + return { + ...val, + enableManifestBackup: (val.enableManifestBackup) ?? false, + keyEncryptionKey: (val.keyEncryptionKey ? pulumi.output(val.keyEncryptionKey).apply(inputs.databox.v20230301.keyEncryptionKeyArgsProvideDefaults) : undefined), + preferences: (val.preferences ? pulumi.output(val.preferences).apply(inputs.databox.v20230301.preferencesArgsProvideDefaults) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? pulumi.output(val.reverseShippingDetails).apply(inputs.databox.v20230301.reverseShippingDetailsArgsProvideDefaults) : undefined), + shippingAddress: (val.shippingAddress ? pulumi.output(val.shippingAddress).apply(inputs.databox.v20230301.shippingAddressArgsProvideDefaults) : undefined), + }; + } + + /** + * DataBox Disk Job Details. + */ + export interface DataBoxDiskJobDetailsArgs { + /** + * Contact details for notification and shipping. + */ + contactDetails: pulumi.Input; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: pulumi.Input[]>; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: pulumi.Input[]>; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: pulumi.Input; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxDisk'. + */ + jobDetailsType: pulumi.Input<"DataBoxDisk">; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: pulumi.Input; + /** + * User entered passkey for DataBox Disk job. + */ + passkey?: pulumi.Input; + /** + * Preferences for the order. + */ + preferences?: pulumi.Input; + /** + * User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. + */ + preferredDisks?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Optional Reverse Shipping details for order. + */ + reverseShippingDetails?: pulumi.Input; + /** + * Shipping address of the customer. + */ + shippingAddress?: pulumi.Input; + } + /** + * dataBoxDiskJobDetailsArgsProvideDefaults sets the appropriate defaults for DataBoxDiskJobDetailsArgs + */ + export function dataBoxDiskJobDetailsArgsProvideDefaults(val: DataBoxDiskJobDetailsArgs): DataBoxDiskJobDetailsArgs { + return { + ...val, + keyEncryptionKey: (val.keyEncryptionKey ? pulumi.output(val.keyEncryptionKey).apply(inputs.databox.v20230301.keyEncryptionKeyArgsProvideDefaults) : undefined), + preferences: (val.preferences ? pulumi.output(val.preferences).apply(inputs.databox.v20230301.preferencesArgsProvideDefaults) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? pulumi.output(val.reverseShippingDetails).apply(inputs.databox.v20230301.reverseShippingDetailsArgsProvideDefaults) : undefined), + shippingAddress: (val.shippingAddress ? pulumi.output(val.shippingAddress).apply(inputs.databox.v20230301.shippingAddressArgsProvideDefaults) : undefined), + }; + } + + /** + * Databox Heavy Device Job Details + */ + export interface DataBoxHeavyJobDetailsArgs { + /** + * Contact details for notification and shipping. + */ + contactDetails: pulumi.Input; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: pulumi.Input[]>; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: pulumi.Input[]>; + /** + * Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + */ + devicePassword?: pulumi.Input; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: pulumi.Input; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxHeavy'. + */ + jobDetailsType: pulumi.Input<"DataBoxHeavy">; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: pulumi.Input; + /** + * Preferences for the order. + */ + preferences?: pulumi.Input; + /** + * Optional Reverse Shipping details for order. + */ + reverseShippingDetails?: pulumi.Input; + /** + * Shipping address of the customer. + */ + shippingAddress?: pulumi.Input; + } + /** + * dataBoxHeavyJobDetailsArgsProvideDefaults sets the appropriate defaults for DataBoxHeavyJobDetailsArgs + */ + export function dataBoxHeavyJobDetailsArgsProvideDefaults(val: DataBoxHeavyJobDetailsArgs): DataBoxHeavyJobDetailsArgs { + return { + ...val, + keyEncryptionKey: (val.keyEncryptionKey ? pulumi.output(val.keyEncryptionKey).apply(inputs.databox.v20230301.keyEncryptionKeyArgsProvideDefaults) : undefined), + preferences: (val.preferences ? pulumi.output(val.preferences).apply(inputs.databox.v20230301.preferencesArgsProvideDefaults) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? pulumi.output(val.reverseShippingDetails).apply(inputs.databox.v20230301.reverseShippingDetailsArgsProvideDefaults) : undefined), + shippingAddress: (val.shippingAddress ? pulumi.output(val.shippingAddress).apply(inputs.databox.v20230301.shippingAddressArgsProvideDefaults) : undefined), + }; + } + + /** + * Databox Job Details + */ + export interface DataBoxJobDetailsArgs { + /** + * Contact details for notification and shipping. + */ + contactDetails: pulumi.Input; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: pulumi.Input[]>; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: pulumi.Input[]>; + /** + * Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + */ + devicePassword?: pulumi.Input; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: pulumi.Input; + /** + * Indicates the type of job details. + * Expected value is 'DataBox'. + */ + jobDetailsType: pulumi.Input<"DataBox">; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: pulumi.Input; + /** + * Preferences for the order. + */ + preferences?: pulumi.Input; + /** + * Optional Reverse Shipping details for order. + */ + reverseShippingDetails?: pulumi.Input; + /** + * Shipping address of the customer. + */ + shippingAddress?: pulumi.Input; + } + /** + * dataBoxJobDetailsArgsProvideDefaults sets the appropriate defaults for DataBoxJobDetailsArgs + */ + export function dataBoxJobDetailsArgsProvideDefaults(val: DataBoxJobDetailsArgs): DataBoxJobDetailsArgs { + return { + ...val, + keyEncryptionKey: (val.keyEncryptionKey ? pulumi.output(val.keyEncryptionKey).apply(inputs.databox.v20230301.keyEncryptionKeyArgsProvideDefaults) : undefined), + preferences: (val.preferences ? pulumi.output(val.preferences).apply(inputs.databox.v20230301.preferencesArgsProvideDefaults) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? pulumi.output(val.reverseShippingDetails).apply(inputs.databox.v20230301.reverseShippingDetailsArgsProvideDefaults) : undefined), + shippingAddress: (val.shippingAddress ? pulumi.output(val.shippingAddress).apply(inputs.databox.v20230301.shippingAddressArgsProvideDefaults) : undefined), + }; + } + + /** + * Details of the data to be used for exporting data from azure. + */ + export interface DataExportDetailsArgs { + /** + * Account details of the data to be transferred + */ + accountDetails: pulumi.Input; + /** + * Level of the logs to be collected. + */ + logCollectionLevel?: pulumi.Input; + /** + * Configuration for the data transfer. + */ + transferConfiguration: pulumi.Input; + } + /** + * dataExportDetailsArgsProvideDefaults sets the appropriate defaults for DataExportDetailsArgs + */ + export function dataExportDetailsArgsProvideDefaults(val: DataExportDetailsArgs): DataExportDetailsArgs { + return { + ...val, + logCollectionLevel: (val.logCollectionLevel) ?? "Error", + transferConfiguration: pulumi.output(val.transferConfiguration).apply(inputs.databox.v20230301.transferConfigurationArgsProvideDefaults), + }; + } + + /** + * Details of the data to be used for importing data to azure. + */ + export interface DataImportDetailsArgs { + /** + * Account details of the data to be transferred + */ + accountDetails: pulumi.Input; + /** + * Level of the logs to be collected. + */ + logCollectionLevel?: pulumi.Input; + } + /** + * dataImportDetailsArgsProvideDefaults sets the appropriate defaults for DataImportDetailsArgs + */ + export function dataImportDetailsArgsProvideDefaults(val: DataImportDetailsArgs): DataImportDetailsArgs { + return { + ...val, + logCollectionLevel: (val.logCollectionLevel) ?? "Error", + }; + } + + /** + * Preferences related to the Encryption. + */ + export interface EncryptionPreferencesArgs { + /** + * Defines secondary layer of software-based encryption enablement. + */ + doubleEncryption?: pulumi.Input; + /** + * Defines Hardware level encryption (Only for disk) + */ + hardwareEncryption?: pulumi.Input; + } + /** + * encryptionPreferencesArgsProvideDefaults sets the appropriate defaults for EncryptionPreferencesArgs + */ + export function encryptionPreferencesArgsProvideDefaults(val: EncryptionPreferencesArgs): EncryptionPreferencesArgs { + return { + ...val, + doubleEncryption: (val.doubleEncryption) ?? "Disabled", + }; + } + + /** + * Details of the filter files to be used for data transfer. + */ + export interface FilterFileDetailsArgs { + /** + * Path of the file that contains the details of all items to transfer. + */ + filterFilePath: pulumi.Input; + /** + * Type of the filter file. + */ + filterFileType: pulumi.Input; + } + + /** + * Managed identity properties. + */ + export interface IdentityPropertiesArgs { + /** + * Managed service identity type. + */ + type?: pulumi.Input; + /** + * User assigned identity properties. + */ + userAssigned?: pulumi.Input; + } + + /** + * Import disk details + */ + export interface ImportDiskDetailsArgs { + /** + * BitLocker key used to encrypt the disk. + */ + bitLockerKey: pulumi.Input; + /** + * The relative path of the manifest file on the disk. + */ + manifestFile: pulumi.Input; + /** + * The Base16-encoded MD5 hash of the manifest file on the disk. + */ + manifestHash: pulumi.Input; + } + + /** + * Additional delivery info. + */ + export interface JobDeliveryInfoArgs { + /** + * Scheduled date time. + */ + scheduledDateTime?: pulumi.Input; + } + + /** + * Encryption key containing details about key to encrypt different keys. + */ + export interface KeyEncryptionKeyArgs { + /** + * Managed identity properties used for key encryption. + */ + identityProperties?: pulumi.Input; + /** + * Type of encryption key used for key encryption. + */ + kekType: pulumi.Input; + /** + * Key encryption key. It is required in case of Customer managed KekType. + */ + kekUrl?: pulumi.Input; + /** + * Kek vault resource id. It is required in case of Customer managed KekType. + */ + kekVaultResourceID?: pulumi.Input; + } + /** + * keyEncryptionKeyArgsProvideDefaults sets the appropriate defaults for KeyEncryptionKeyArgs + */ + export function keyEncryptionKeyArgsProvideDefaults(val: KeyEncryptionKeyArgs): KeyEncryptionKeyArgs { + return { + ...val, + kekType: (val.kekType) ?? "MicrosoftManaged", + }; + } + + /** + * Details of the managed disks. + */ + export interface ManagedDiskDetailsArgs { + /** + * Account Type of the data to be transferred. + * Expected value is 'ManagedDisk'. + */ + dataAccountType: pulumi.Input<"ManagedDisk">; + /** + * Resource Group Id of the compute disks. + */ + resourceGroupId: pulumi.Input; + /** + * Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + */ + sharePassword?: pulumi.Input; + /** + * Resource Id of the storage account that can be used to copy the vhd for staging. + */ + stagingStorageAccountId: pulumi.Input; + } + /** + * managedDiskDetailsArgsProvideDefaults sets the appropriate defaults for ManagedDiskDetailsArgs + */ + export function managedDiskDetailsArgsProvideDefaults(val: ManagedDiskDetailsArgs): ManagedDiskDetailsArgs { + return { + ...val, + dataAccountType: (val.dataAccountType) ?? "StorageAccount", + }; + } + + /** + * Notification preference for a job stage. + */ + export interface NotificationPreferenceArgs { + /** + * Notification is required or not. + */ + sendNotification: pulumi.Input; + /** + * Name of the stage. + */ + stageName: pulumi.Input; + } + /** + * notificationPreferenceArgsProvideDefaults sets the appropriate defaults for NotificationPreferenceArgs + */ + export function notificationPreferenceArgsProvideDefaults(val: NotificationPreferenceArgs): NotificationPreferenceArgs { + return { + ...val, + sendNotification: (val.sendNotification) ?? true, + }; + } + + /** + * Package carrier details. + */ + export interface PackageCarrierDetailsArgs { + /** + * Carrier Account Number of customer for customer disk. + */ + carrierAccountNumber?: pulumi.Input; + /** + * Name of the carrier. + */ + carrierName?: pulumi.Input; + /** + * Tracking Id of shipment. + */ + trackingId?: pulumi.Input; + } + + /** + * Preferences related to the order + */ + export interface PreferencesArgs { + /** + * Preferences related to the Encryption. + */ + encryptionPreferences?: pulumi.Input; + /** + * Preferred data center region. + */ + preferredDataCenterRegion?: pulumi.Input[]>; + /** + * Optional Preferences related to the reverse shipment logistics of the sku. + */ + reverseTransportPreferences?: pulumi.Input; + /** + * Preferences related to the Access Tier of storage accounts. + */ + storageAccountAccessTierPreferences?: pulumi.Input[]>; + /** + * Preferences related to the shipment logistics of the sku. + */ + transportPreferences?: pulumi.Input; + } + /** + * preferencesArgsProvideDefaults sets the appropriate defaults for PreferencesArgs + */ + export function preferencesArgsProvideDefaults(val: PreferencesArgs): PreferencesArgs { + return { + ...val, + encryptionPreferences: (val.encryptionPreferences ? pulumi.output(val.encryptionPreferences).apply(inputs.databox.v20230301.encryptionPreferencesArgsProvideDefaults) : undefined), + }; + } + + /** + * Msi identity details of the resource + */ + export interface ResourceIdentityArgs { + /** + * Identity type + */ + type?: pulumi.Input; + /** + * User Assigned Identities + */ + userAssignedIdentities?: pulumi.Input[]>; + } + /** + * resourceIdentityArgsProvideDefaults sets the appropriate defaults for ResourceIdentityArgs + */ + export function resourceIdentityArgsProvideDefaults(val: ResourceIdentityArgs): ResourceIdentityArgs { + return { + ...val, + type: (val.type) ?? "None", + }; + } + + /** + * Reverse Shipping Address and contact details for a job. + */ + export interface ReverseShippingDetailsArgs { + /** + * Contact Info. + */ + contactDetails?: pulumi.Input; + /** + * Shipping address where customer wishes to receive the device. + */ + shippingAddress?: pulumi.Input; + } + /** + * reverseShippingDetailsArgsProvideDefaults sets the appropriate defaults for ReverseShippingDetailsArgs + */ + export function reverseShippingDetailsArgsProvideDefaults(val: ReverseShippingDetailsArgs): ReverseShippingDetailsArgs { + return { + ...val, + shippingAddress: (val.shippingAddress ? pulumi.output(val.shippingAddress).apply(inputs.databox.v20230301.shippingAddressArgsProvideDefaults) : undefined), + }; + } + + /** + * Shipping address where customer wishes to receive the device. + */ + export interface ShippingAddressArgs { + /** + * Type of address. + */ + addressType?: pulumi.Input; + /** + * Name of the City. + */ + city?: pulumi.Input; + /** + * Name of the company. + */ + companyName?: pulumi.Input; + /** + * Name of the Country. + */ + country: pulumi.Input; + /** + * Postal code. + */ + postalCode?: pulumi.Input; + /** + * Flag to indicate if customer has chosen to skip default address validation + */ + skipAddressValidation?: pulumi.Input; + /** + * Name of the State or Province. + */ + stateOrProvince?: pulumi.Input; + /** + * Street Address line 1. + */ + streetAddress1: pulumi.Input; + /** + * Street Address line 2. + */ + streetAddress2?: pulumi.Input; + /** + * Street Address line 3. + */ + streetAddress3?: pulumi.Input; + /** + * Tax Identification Number + */ + taxIdentificationNumber?: pulumi.Input; + /** + * Extended Zip Code. + */ + zipExtendedCode?: pulumi.Input; + } + /** + * shippingAddressArgsProvideDefaults sets the appropriate defaults for ShippingAddressArgs + */ + export function shippingAddressArgsProvideDefaults(val: ShippingAddressArgs): ShippingAddressArgs { + return { + ...val, + addressType: (val.addressType) ?? "None", + }; + } + + /** + * The Sku. + */ + export interface SkuArgs { + /** + * The display name of the sku. + */ + displayName?: pulumi.Input; + /** + * The sku family. + */ + family?: pulumi.Input; + /** + * The sku name. + */ + name: pulumi.Input; + } + + /** + * Details for the storage account. + */ + export interface StorageAccountDetailsArgs { + /** + * Account Type of the data to be transferred. + * Expected value is 'StorageAccount'. + */ + dataAccountType: pulumi.Input<"StorageAccount">; + /** + * Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + */ + sharePassword?: pulumi.Input; + /** + * Storage Account Resource Id. + */ + storageAccountId: pulumi.Input; + } + /** + * storageAccountDetailsArgsProvideDefaults sets the appropriate defaults for StorageAccountDetailsArgs + */ + export function storageAccountDetailsArgsProvideDefaults(val: StorageAccountDetailsArgs): StorageAccountDetailsArgs { + return { + ...val, + dataAccountType: (val.dataAccountType) ?? "StorageAccount", + }; + } + + /** + * Details to transfer all data. + */ + export interface TransferAllDetailsArgs { + /** + * Type of the account of data + */ + dataAccountType: pulumi.Input; + /** + * To indicate if all Azure blobs have to be transferred + */ + transferAllBlobs?: pulumi.Input; + /** + * To indicate if all Azure Files have to be transferred + */ + transferAllFiles?: pulumi.Input; + } + /** + * transferAllDetailsArgsProvideDefaults sets the appropriate defaults for TransferAllDetailsArgs + */ + export function transferAllDetailsArgsProvideDefaults(val: TransferAllDetailsArgs): TransferAllDetailsArgs { + return { + ...val, + dataAccountType: (val.dataAccountType) ?? "StorageAccount", + }; + } + + /** + * Configuration for defining the transfer of data. + */ + export interface TransferConfigurationArgs { + /** + * Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + */ + transferAllDetails?: pulumi.Input; + /** + * Type of the configuration for transfer. + */ + transferConfigurationType: pulumi.Input; + /** + * Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + */ + transferFilterDetails?: pulumi.Input; + } + /** + * transferConfigurationArgsProvideDefaults sets the appropriate defaults for TransferConfigurationArgs + */ + export function transferConfigurationArgsProvideDefaults(val: TransferConfigurationArgs): TransferConfigurationArgs { + return { + ...val, + transferAllDetails: (val.transferAllDetails ? pulumi.output(val.transferAllDetails).apply(inputs.databox.v20230301.transferConfigurationTransferAllDetailsArgsProvideDefaults) : undefined), + transferFilterDetails: (val.transferFilterDetails ? pulumi.output(val.transferFilterDetails).apply(inputs.databox.v20230301.transferConfigurationTransferFilterDetailsArgsProvideDefaults) : undefined), + }; + } + + /** + * Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + */ + export interface TransferConfigurationTransferAllDetailsArgs { + /** + * Details to transfer all data. + */ + include?: pulumi.Input; + } + /** + * transferConfigurationTransferAllDetailsArgsProvideDefaults sets the appropriate defaults for TransferConfigurationTransferAllDetailsArgs + */ + export function transferConfigurationTransferAllDetailsArgsProvideDefaults(val: TransferConfigurationTransferAllDetailsArgs): TransferConfigurationTransferAllDetailsArgs { + return { + ...val, + include: (val.include ? pulumi.output(val.include).apply(inputs.databox.v20230301.transferAllDetailsArgsProvideDefaults) : undefined), + }; + } + + /** + * Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + */ + export interface TransferConfigurationTransferFilterDetailsArgs { + /** + * Details of the filtering the transfer of data. + */ + include?: pulumi.Input; + } + /** + * transferConfigurationTransferFilterDetailsArgsProvideDefaults sets the appropriate defaults for TransferConfigurationTransferFilterDetailsArgs + */ + export function transferConfigurationTransferFilterDetailsArgsProvideDefaults(val: TransferConfigurationTransferFilterDetailsArgs): TransferConfigurationTransferFilterDetailsArgs { + return { + ...val, + include: (val.include ? pulumi.output(val.include).apply(inputs.databox.v20230301.transferFilterDetailsArgsProvideDefaults) : undefined), + }; + } + + /** + * Details of the filtering the transfer of data. + */ + export interface TransferFilterDetailsArgs { + /** + * Filter details to transfer Azure files. + */ + azureFileFilterDetails?: pulumi.Input; + /** + * Filter details to transfer blobs. + */ + blobFilterDetails?: pulumi.Input; + /** + * Type of the account of data. + */ + dataAccountType: pulumi.Input; + /** + * Details of the filter files to be used for data transfer. + */ + filterFileDetails?: pulumi.Input[]>; + } + /** + * transferFilterDetailsArgsProvideDefaults sets the appropriate defaults for TransferFilterDetailsArgs + */ + export function transferFilterDetailsArgsProvideDefaults(val: TransferFilterDetailsArgs): TransferFilterDetailsArgs { + return { + ...val, + dataAccountType: (val.dataAccountType) ?? "StorageAccount", + }; + } + + /** + * Preferences related to the shipment logistics of the sku + */ + export interface TransportPreferencesArgs { + /** + * Indicates Shipment Logistics type that the customer preferred. + */ + preferredShipmentType: pulumi.Input; + } + + /** + * User assigned identity properties. + */ + export interface UserAssignedPropertiesArgs { + /** + * Arm resource id for user assigned identity to be used to fetch MSI token. + */ + resourceId?: pulumi.Input; + } + + } } export namespace databoxedge { @@ -138318,6 +143845,292 @@ export namespace desktopvirtualization { } } + + export namespace v20230707preview { + /** + * The session host configuration for updating agent, monitoring agent, and stack component. + */ + export interface AgentUpdatePropertiesArgs { + /** + * Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. + */ + maintenanceWindowTimeZone?: pulumi.Input; + /** + * List of maintenance windows. Maintenance windows are 2 hours long. + */ + maintenanceWindows?: pulumi.Input[]>; + /** + * The type of maintenance for session host components. + */ + type?: pulumi.Input; + /** + * Whether to use localTime of the virtual machine. + */ + useSessionHostLocalTime?: pulumi.Input; + } + + /** + * Maintenance window starting hour and day of week. + */ + export interface MaintenanceWindowPropertiesArgs { + /** + * Day of the week. + */ + dayOfWeek?: pulumi.Input; + /** + * The update start hour of the day. (0 - 23) + */ + hour?: pulumi.Input; + } + + /** + * Schema for MSIX Package Application properties. + */ + export interface MsixPackageApplicationsArgs { + /** + * Package Application Id, found in appxmanifest.xml. + */ + appId?: pulumi.Input; + /** + * Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml. + */ + appUserModelID?: pulumi.Input; + /** + * Description of Package Application. + */ + description?: pulumi.Input; + /** + * User friendly name. + */ + friendlyName?: pulumi.Input; + /** + * User friendly name. + */ + iconImageName?: pulumi.Input; + /** + * the icon a 64 bit string as a byte array. + */ + rawIcon?: pulumi.Input; + /** + * the icon a 64 bit string as a byte array. + */ + rawPng?: pulumi.Input; + } + + /** + * Schema for MSIX Package Dependencies properties. + */ + export interface MsixPackageDependenciesArgs { + /** + * Name of package dependency. + */ + dependencyName?: pulumi.Input; + /** + * Dependency version required. + */ + minVersion?: pulumi.Input; + /** + * Name of dependency publisher. + */ + publisher?: pulumi.Input; + } + + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + export interface PrivateLinkServiceConnectionStateArgs { + /** + * A message indicating if changes on the service provider require any updates on the consumer. + */ + actionsRequired?: pulumi.Input; + /** + * The reason for approval/rejection of the connection. + */ + description?: pulumi.Input; + /** + * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + */ + status?: pulumi.Input; + } + + /** + * Represents a RegistrationInfo definition. + */ + export interface RegistrationInfoArgs { + /** + * Expiration time of registration token. + */ + expirationTime?: pulumi.Input; + /** + * The type of resetting the token. + */ + registrationTokenOperation?: pulumi.Input; + /** + * The registration token base64 encoded string. + */ + token?: pulumi.Input; + } + + export interface ResourceModelWithAllowedPropertySetIdentityArgs { + /** + * The identity type. + */ + type?: pulumi.Input; + } + + export interface ResourceModelWithAllowedPropertySetPlanArgs { + /** + * A user defined name of the 3rd Party Artifact that is being procured. + */ + name: pulumi.Input; + /** + * The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. + */ + product: pulumi.Input; + /** + * A publisher provided promotion code as provisioned in Data Market for the said product/artifact. + */ + promotionCode?: pulumi.Input; + /** + * The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic + */ + publisher: pulumi.Input; + /** + * The version of the desired product/artifact. + */ + version?: pulumi.Input; + } + + export interface ResourceModelWithAllowedPropertySetSkuArgs { + /** + * If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. + */ + capacity?: pulumi.Input; + /** + * If the service has different generations of hardware, for the same SKU, then that can be captured here. + */ + family?: pulumi.Input; + /** + * The name of the SKU. Ex - P3. It is typically a letter+number code + */ + name: pulumi.Input; + /** + * The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. + */ + size?: pulumi.Input; + /** + * This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + */ + tier?: pulumi.Input; + } + + /** + * Scaling plan reference to hostpool. + */ + export interface ScalingHostPoolReferenceArgs { + /** + * Arm path of referenced hostpool. + */ + hostPoolArmPath?: pulumi.Input; + /** + * Is the scaling plan enabled for this hostpool. + */ + scalingPlanEnabled?: pulumi.Input; + } + + /** + * A ScalingPlanPooledSchedule. + */ + export interface ScalingScheduleArgs { + /** + * Set of days of the week on which this schedule is active. + */ + daysOfWeek?: pulumi.Input[]>; + /** + * Name of the ScalingPlanPooledSchedule. + */ + name?: pulumi.Input; + /** + * Load balancing algorithm for off-peak period. + */ + offPeakLoadBalancingAlgorithm?: pulumi.Input; + /** + * Starting time for off-peak period. + */ + offPeakStartTime?: pulumi.Input; + /** + * Load balancing algorithm for peak period. + */ + peakLoadBalancingAlgorithm?: pulumi.Input; + /** + * Starting time for peak period. + */ + peakStartTime?: pulumi.Input; + /** + * Capacity threshold for ramp down period. + */ + rampDownCapacityThresholdPct?: pulumi.Input; + /** + * Should users be logged off forcefully from hosts. + */ + rampDownForceLogoffUsers?: pulumi.Input; + /** + * Load balancing algorithm for ramp down period. + */ + rampDownLoadBalancingAlgorithm?: pulumi.Input; + /** + * Minimum host percentage for ramp down period. + */ + rampDownMinimumHostsPct?: pulumi.Input; + /** + * Notification message for users during ramp down period. + */ + rampDownNotificationMessage?: pulumi.Input; + /** + * Starting time for ramp down period. + */ + rampDownStartTime?: pulumi.Input; + /** + * Specifies when to stop hosts during ramp down period. + */ + rampDownStopHostsWhen?: pulumi.Input; + /** + * Number of minutes to wait to stop hosts during ramp down period. + */ + rampDownWaitTimeMinutes?: pulumi.Input; + /** + * Capacity threshold for ramp up period. + */ + rampUpCapacityThresholdPct?: pulumi.Input; + /** + * Load balancing algorithm for ramp up period. + */ + rampUpLoadBalancingAlgorithm?: pulumi.Input; + /** + * Minimum host percentage for ramp up period. + */ + rampUpMinimumHostsPct?: pulumi.Input; + /** + * Starting time for ramp up period. + */ + rampUpStartTime?: pulumi.Input; + } + + /** + * The time for a scaling action to occur. + */ + export interface TimeArgs { + /** + * The hour. + */ + hour: pulumi.Input; + /** + * The minute. + */ + minute: pulumi.Input; + } + + } } export namespace devcenter { @@ -157283,6 +163096,50 @@ export namespace hdinsight { userAssignedIdentities?: pulumi.Input<{[key: string]: pulumi.Input}>; } + /** + * CLuster pool profile. + */ + export interface ClusterPoolResourcePropertiesClusterPoolProfileArgs { + /** + * Cluster pool version is a 2-part version. + */ + clusterPoolVersion: pulumi.Input; + } + + /** + * CLuster pool compute profile. + */ + export interface ClusterPoolResourcePropertiesComputeProfileArgs { + /** + * The virtual machine SKU. + */ + vmSize: pulumi.Input; + } + + /** + * Cluster pool log analytics profile to enable OMS agent for AKS cluster. + */ + export interface ClusterPoolResourcePropertiesLogAnalyticsProfileArgs { + /** + * True if log analytics is enabled for cluster pool, otherwise false. + */ + enabled: pulumi.Input; + /** + * Log analytics workspace to associate with the OMS agent. + */ + workspaceId?: pulumi.Input; + } + + /** + * Cluster pool network profile. + */ + export interface ClusterPoolResourcePropertiesNetworkProfileArgs { + /** + * Cluster pool subnet resource id. + */ + subnetId: pulumi.Input; + } + /** * The compute isolation properties. */ @@ -159330,6 +165187,889 @@ export namespace hdinsight { } } + + export namespace v20230601preview { + /** + * Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + */ + export interface AuthorizationProfileArgs { + /** + * AAD group Ids authorized for data plane access. + */ + groupIds?: pulumi.Input[]>; + /** + * AAD user Ids authorized for data plane access. + */ + userIds?: pulumi.Input[]>; + } + + /** + * This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + */ + export interface AutoscaleProfileArgs { + /** + * User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based. + */ + autoscaleType?: pulumi.Input; + /** + * This indicates whether auto scale is enabled on HDInsight on AKS cluster. + */ + enabled: pulumi.Input; + /** + * This property is for graceful decommission timeout; It has a default setting of 3600 seconds before forced shutdown takes place. This is the maximal time to wait for running containers and applications to complete before transition a DECOMMISSIONING node into DECOMMISSIONED. The default value is 3600 seconds. Negative value (like -1) is handled as infinite timeout. + */ + gracefulDecommissionTimeout?: pulumi.Input; + /** + * Profiles of load based Autoscale. + */ + loadBasedConfig?: pulumi.Input; + /** + * Profiles of schedule based Autoscale. + */ + scheduleBasedConfig?: pulumi.Input; + } + + /** + * Trino cluster catalog options. + */ + export interface CatalogOptionsArgs { + /** + * hive catalog options. + */ + hive?: pulumi.Input[]>; + } + + /** + * Cluster configuration files. + */ + export interface ClusterConfigFileArgs { + /** + * Free form content of the entire configuration file. + */ + content?: pulumi.Input; + /** + * This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content is base64 encoded. Set it to none or skip it if the content is plain text. + */ + encoding?: pulumi.Input; + /** + * Configuration file name. + */ + fileName: pulumi.Input; + /** + * Path of the config file if content is specified. + */ + path?: pulumi.Input; + /** + * List of key value pairs + * where key represents a valid service configuration name and value represents the value of the config. + */ + values?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * Collection of logs to be enabled or disabled for log analytics. + */ + export interface ClusterLogAnalyticsApplicationLogsArgs { + /** + * True if stderror is enabled, otherwise false. + */ + stdErrorEnabled?: pulumi.Input; + /** + * True if stdout is enabled, otherwise false. + */ + stdOutEnabled?: pulumi.Input; + } + + /** + * Cluster log analytics profile to enable or disable OMS agent for cluster. + */ + export interface ClusterLogAnalyticsProfileArgs { + /** + * Collection of logs to be enabled or disabled for log analytics. + */ + applicationLogs?: pulumi.Input; + /** + * True if log analytics is enabled for the cluster, otherwise false. + */ + enabled: pulumi.Input; + /** + * True if metrics are enabled, otherwise false. + */ + metricsEnabled?: pulumi.Input; + } + + /** + * CLuster pool profile. + */ + export interface ClusterPoolResourcePropertiesClusterPoolProfileArgs { + /** + * Cluster pool version is a 2-part version. + */ + clusterPoolVersion: pulumi.Input; + } + + /** + * CLuster pool compute profile. + */ + export interface ClusterPoolResourcePropertiesComputeProfileArgs { + /** + * The virtual machine SKU. + */ + vmSize: pulumi.Input; + } + + /** + * Cluster pool log analytics profile to enable OMS agent for AKS cluster. + */ + export interface ClusterPoolResourcePropertiesLogAnalyticsProfileArgs { + /** + * True if log analytics is enabled for cluster pool, otherwise false. + */ + enabled: pulumi.Input; + /** + * Log analytics workspace to associate with the OMS agent. + */ + workspaceId?: pulumi.Input; + } + + /** + * Cluster pool network profile. + */ + export interface ClusterPoolResourcePropertiesNetworkProfileArgs { + /** + * Cluster pool subnet resource id. + */ + subnetId: pulumi.Input; + } + + /** + * Cluster profile. + */ + export interface ClusterProfileArgs { + /** + * Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + */ + authorizationProfile: pulumi.Input; + /** + * This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + */ + autoscaleProfile?: pulumi.Input; + /** + * Version with 3/4 part. + */ + clusterVersion: pulumi.Input; + /** + * The Flink cluster profile. + */ + flinkProfile?: pulumi.Input; + /** + * Identity Profile with details of an MSI. + */ + identityProfile: pulumi.Input; + /** + * Kafka cluster profile. + */ + kafkaProfile?: any; + /** + * LLAP cluster profile. + */ + llapProfile?: any; + /** + * Cluster log analytics profile to enable or disable OMS agent for cluster. + */ + logAnalyticsProfile?: pulumi.Input; + /** + * Version with three part. + */ + ossVersion: pulumi.Input; + /** + * Cluster Prometheus profile. + */ + prometheusProfile?: pulumi.Input; + /** + * The script action profile list. + */ + scriptActionProfiles?: pulumi.Input[]>; + /** + * The cluster secret profile. + */ + secretsProfile?: pulumi.Input; + /** + * The service configs profiles. + */ + serviceConfigsProfiles?: pulumi.Input[]>; + /** + * The spark cluster profile. + */ + sparkProfile?: pulumi.Input; + /** + * Ssh profile for the cluster. + */ + sshProfile?: pulumi.Input; + /** + * Stub cluster profile. + */ + stubProfile?: any; + /** + * Trino Cluster profile. + */ + trinoProfile?: pulumi.Input; + } + /** + * clusterProfileArgsProvideDefaults sets the appropriate defaults for ClusterProfileArgs + */ + export function clusterProfileArgsProvideDefaults(val: ClusterProfileArgs): ClusterProfileArgs { + return { + ...val, + prometheusProfile: (val.prometheusProfile ? pulumi.output(val.prometheusProfile).apply(inputs.hdinsight.v20230601preview.clusterPrometheusProfileArgsProvideDefaults) : undefined), + trinoProfile: (val.trinoProfile ? pulumi.output(val.trinoProfile).apply(inputs.hdinsight.v20230601preview.trinoProfileArgsProvideDefaults) : undefined), + }; + } + + /** + * Cluster Prometheus profile. + */ + export interface ClusterPrometheusProfileArgs { + /** + * Enable Prometheus for cluster or not. + */ + enabled: pulumi.Input; + } + /** + * clusterPrometheusProfileArgsProvideDefaults sets the appropriate defaults for ClusterPrometheusProfileArgs + */ + export function clusterPrometheusProfileArgsProvideDefaults(val: ClusterPrometheusProfileArgs): ClusterPrometheusProfileArgs { + return { + ...val, + enabled: (val.enabled) ?? false, + }; + } + + /** + * Cluster configs per component. + */ + export interface ClusterServiceConfigArgs { + /** + * Name of the component the config files should apply to. + */ + component: pulumi.Input; + /** + * List of Config Files. + */ + files: pulumi.Input[]>; + } + + /** + * Cluster service configs. + */ + export interface ClusterServiceConfigsProfileArgs { + /** + * List of service configs. + */ + configs: pulumi.Input[]>; + /** + * Name of the service the configurations should apply to. + */ + serviceName: pulumi.Input; + } + + /** + * The comparison rule. + */ + export interface ComparisonRuleArgs { + /** + * The comparison operator. + */ + operator: pulumi.Input; + /** + * Threshold setting. + */ + threshold: pulumi.Input; + } + + /** + * The compute profile. + */ + export interface ComputeProfileArgs { + /** + * The nodes definitions. + */ + nodes: pulumi.Input[]>; + } + + /** + * The cpu and memory requirement definition. + */ + export interface ComputeResourceDefinitionArgs { + /** + * The required CPU. + */ + cpu: pulumi.Input; + /** + * The required memory in MB, Container memory will be 110 percentile + */ + memory: pulumi.Input; + } + + /** + * Flink cluster catalog options. + */ + export interface FlinkCatalogOptionsArgs { + /** + * Hive Catalog Option for Flink cluster. + */ + hive?: pulumi.Input; + } + + /** + * Hive Catalog Option for Flink cluster. + */ + export interface FlinkHiveCatalogOptionArgs { + /** + * Secret reference name from secretsProfile.secrets containing password for database connection. + */ + metastoreDbConnectionPasswordSecret: pulumi.Input; + /** + * Connection string for hive metastore database. + */ + metastoreDbConnectionURL: pulumi.Input; + /** + * User name for database connection. + */ + metastoreDbConnectionUserName: pulumi.Input; + } + + /** + * The Flink cluster profile. + */ + export interface FlinkProfileArgs { + /** + * Flink cluster catalog options. + */ + catalogOptions?: pulumi.Input; + /** + * History Server container/ process CPU and memory requirements + */ + historyServer?: pulumi.Input; + /** + * Job Manager container/ process CPU and memory requirements + */ + jobManager: pulumi.Input; + /** + * The number of task managers. + */ + numReplicas?: pulumi.Input; + /** + * The storage profile + */ + storage: pulumi.Input; + /** + * Task Manager container/ process CPU and memory requirements + */ + taskManager: pulumi.Input; + } + + /** + * The storage profile + */ + export interface FlinkStorageProfileArgs { + /** + * Storage account uri which is used for savepoint and checkpoint state. + */ + storageUri: pulumi.Input; + /** + * Storage key is only required for wasb(s) storage. + */ + storagekey?: pulumi.Input; + } + + /** + * Hive Catalog Option + */ + export interface HiveCatalogOptionArgs { + /** + * Name of trino catalog which should use specified hive metastore. + */ + catalogName: pulumi.Input; + /** + * Secret reference name from secretsProfile.secrets containing password for database connection. + */ + metastoreDbConnectionPasswordSecret: pulumi.Input; + /** + * Connection string for hive metastore database. + */ + metastoreDbConnectionURL: pulumi.Input; + /** + * User name for database connection. + */ + metastoreDbConnectionUserName: pulumi.Input; + /** + * Metastore root directory URI, format: abfs[s]://@.dfs.core.windows.net/. More details: https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri + */ + metastoreWarehouseDir: pulumi.Input; + } + + /** + * Identity Profile with details of an MSI. + */ + export interface IdentityProfileArgs { + /** + * ClientId of the MSI. + */ + msiClientId: pulumi.Input; + /** + * ObjectId of the MSI. + */ + msiObjectId: pulumi.Input; + /** + * ResourceId of the MSI. + */ + msiResourceId: pulumi.Input; + } + + /** + * Profile of load based Autoscale. + */ + export interface LoadBasedConfigArgs { + /** + * This is a cool down period, this is a time period in seconds, which determines the amount of time that must elapse between a scaling activity started by a rule and the start of the next scaling activity, regardless of the rule that triggers it. The default value is 300 seconds. + */ + cooldownPeriod?: pulumi.Input; + /** + * User needs to set the maximum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + */ + maxNodes: pulumi.Input; + /** + * User needs to set the minimum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + */ + minNodes: pulumi.Input; + /** + * User can specify the poll interval, this is the time period (in seconds) after which scaling metrics are polled for triggering a scaling operation. + */ + pollInterval?: pulumi.Input; + /** + * The scaling rules. + */ + scalingRules: pulumi.Input[]>; + } + + /** + * The node profile. + */ + export interface NodeProfileArgs { + /** + * The number of virtual machines. + */ + count: pulumi.Input; + /** + * The node type. + */ + type: pulumi.Input; + /** + * The virtual machine SKU. + */ + vmSize: pulumi.Input; + } + + /** + * The scaling rule. + */ + export interface ScalingRuleArgs { + /** + * The action type. + */ + actionType: pulumi.Input; + /** + * The comparison rule. + */ + comparisonRule: pulumi.Input; + /** + * This is an evaluation count for a scaling condition, the number of times a trigger condition should be successful, before scaling activity is triggered. + */ + evaluationCount: pulumi.Input; + /** + * Metrics name for individual workloads. For example: cpu + */ + scalingMetric: pulumi.Input; + } + + /** + * Schedule definition. + */ + export interface ScheduleArgs { + /** + * User has to set the node count anticipated at end of the scaling operation of the set current schedule configuration, format is integer. + */ + count: pulumi.Input; + /** + * User has to set the days where schedule has to be set for autoscale operation. + */ + days: pulumi.Input[]>; + /** + * User has to set the end time of current schedule configuration, format like 10:30 (HH:MM). + */ + endTime: pulumi.Input; + /** + * User has to set the start time of current schedule configuration, format like 10:30 (HH:MM). + */ + startTime: pulumi.Input; + } + + /** + * Profile of schedule based Autoscale. + */ + export interface ScheduleBasedConfigArgs { + /** + * Setting default node count of current schedule configuration. Default node count specifies the number of nodes which are default when an specified scaling operation is executed (scale up/scale down) + */ + defaultCount: pulumi.Input; + /** + * This specifies the schedules where scheduled based Autoscale to be enabled, the user has a choice to set multiple rules within the schedule across days and times (start/end). + */ + schedules: pulumi.Input[]>; + /** + * User has to specify the timezone on which the schedule has to be set for schedule based autoscale configuration. + */ + timeZone: pulumi.Input; + } + + /** + * The script action profile. + */ + export interface ScriptActionProfileArgs { + /** + * Script name. + */ + name: pulumi.Input; + /** + * Additional parameters for the script action. It should be space-separated list of arguments required for script execution. + */ + parameters?: pulumi.Input; + /** + * List of services to apply the script action. + */ + services: pulumi.Input[]>; + /** + * Specify if the script should persist on the cluster. + */ + shouldPersist?: pulumi.Input; + /** + * Timeout duration for the script action in minutes. + */ + timeoutInMinutes?: pulumi.Input; + /** + * Type of the script action. Supported type is bash scripts. + */ + type: pulumi.Input; + /** + * Url of the script file. + */ + url: pulumi.Input; + } + /** + * scriptActionProfileArgsProvideDefaults sets the appropriate defaults for ScriptActionProfileArgs + */ + export function scriptActionProfileArgsProvideDefaults(val: ScriptActionProfileArgs): ScriptActionProfileArgs { + return { + ...val, + shouldPersist: (val.shouldPersist) ?? true, + }; + } + + /** + * Secret reference and corresponding properties of a key vault secret. + */ + export interface SecretReferenceArgs { + /** + * Object identifier name of the secret in key vault. + */ + keyVaultObjectName: pulumi.Input; + /** + * Reference name of the secret to be used in service configs. + */ + referenceName: pulumi.Input; + /** + * Type of key vault object: secret, key or certificate. + */ + type: pulumi.Input; + /** + * Version of the secret in key vault. + */ + version?: pulumi.Input; + } + + /** + * The cluster secret profile. + */ + export interface SecretsProfileArgs { + /** + * Name of the user Key Vault where all the cluster specific user secrets are stored. + */ + keyVaultResourceId: pulumi.Input; + /** + * Properties of Key Vault secret. + */ + secrets?: pulumi.Input[]>; + } + + /** + * The metastore specification for Spark cluster. + */ + export interface SparkMetastoreSpecArgs { + /** + * The database name. + */ + dbName?: pulumi.Input; + /** + * The secret name which contains the database user password. + */ + dbPasswordSecretName: pulumi.Input; + /** + * The database server host. + */ + dbServerHost: pulumi.Input; + /** + * The database user name. + */ + dbUserName: pulumi.Input; + /** + * The key vault resource id. + */ + keyVaultId: pulumi.Input; + /** + * The thrift url. + */ + thriftUrl?: pulumi.Input; + } + + /** + * The spark cluster profile. + */ + export interface SparkProfileArgs { + /** + * The default storage URL. + */ + defaultStorageUrl?: pulumi.Input; + /** + * The metastore specification for Spark cluster. + */ + metastoreSpec?: pulumi.Input; + /** + * Spark user plugins spec + */ + userPluginsSpec?: pulumi.Input; + } + + /** + * Spark user plugin. + */ + export interface SparkUserPluginArgs { + /** + * Fully qualified path to the folder containing the plugins. + */ + path: pulumi.Input; + } + + /** + * Spark user plugins spec + */ + export interface SparkUserPluginsArgs { + /** + * Spark user plugins. + */ + plugins?: pulumi.Input[]>; + } + + /** + * Ssh profile for the cluster. + */ + export interface SshProfileArgs { + /** + * Number of ssh pods per cluster. + */ + count: pulumi.Input; + } + + /** + * Trino Coordinator. + */ + export interface TrinoCoordinatorArgs { + /** + * The flag that if enable debug or not. + */ + enable?: pulumi.Input; + /** + * The flag that if enable coordinator HA, uses multiple coordinator replicas with auto failover, one per each head node. Default: true. + */ + highAvailabilityEnabled?: pulumi.Input; + /** + * The debug port. + */ + port?: pulumi.Input; + /** + * The flag that if suspend debug or not. + */ + suspend?: pulumi.Input; + } + /** + * trinoCoordinatorArgsProvideDefaults sets the appropriate defaults for TrinoCoordinatorArgs + */ + export function trinoCoordinatorArgsProvideDefaults(val: TrinoCoordinatorArgs): TrinoCoordinatorArgs { + return { + ...val, + enable: (val.enable) ?? false, + highAvailabilityEnabled: (val.highAvailabilityEnabled) ?? true, + port: (val.port) ?? 8008, + suspend: (val.suspend) ?? false, + }; + } + + /** + * Trino Cluster profile. + */ + export interface TrinoProfileArgs { + /** + * Trino cluster catalog options. + */ + catalogOptions?: pulumi.Input; + /** + * Trino Coordinator. + */ + coordinator?: pulumi.Input; + /** + * Trino user plugins spec + */ + userPluginsSpec?: pulumi.Input; + /** + * User telemetry + */ + userTelemetrySpec?: pulumi.Input; + /** + * Trino worker. + */ + worker?: pulumi.Input; + } + /** + * trinoProfileArgsProvideDefaults sets the appropriate defaults for TrinoProfileArgs + */ + export function trinoProfileArgsProvideDefaults(val: TrinoProfileArgs): TrinoProfileArgs { + return { + ...val, + coordinator: (val.coordinator ? pulumi.output(val.coordinator).apply(inputs.hdinsight.v20230601preview.trinoCoordinatorArgsProvideDefaults) : undefined), + userTelemetrySpec: (val.userTelemetrySpec ? pulumi.output(val.userTelemetrySpec).apply(inputs.hdinsight.v20230601preview.trinoUserTelemetryArgsProvideDefaults) : undefined), + worker: (val.worker ? pulumi.output(val.worker).apply(inputs.hdinsight.v20230601preview.trinoWorkerArgsProvideDefaults) : undefined), + }; + } + + /** + * Trino user telemetry definition. + */ + export interface TrinoTelemetryConfigArgs { + /** + * Hive Catalog name used to mount external tables on the logs written by trino, if not specified there tables are not created. + */ + hivecatalogName?: pulumi.Input; + /** + * Schema of the above catalog to use, to mount query logs as external tables, if not specified tables will be mounted under schema trinologs. + */ + hivecatalogSchema?: pulumi.Input; + /** + * Retention period for query log table partitions, this doesn't have any affect on actual data. + */ + partitionRetentionInDays?: pulumi.Input; + /** + * Azure storage location of the blobs. + */ + path?: pulumi.Input; + } + /** + * trinoTelemetryConfigArgsProvideDefaults sets the appropriate defaults for TrinoTelemetryConfigArgs + */ + export function trinoTelemetryConfigArgsProvideDefaults(val: TrinoTelemetryConfigArgs): TrinoTelemetryConfigArgs { + return { + ...val, + hivecatalogSchema: (val.hivecatalogSchema) ?? "trinologs", + partitionRetentionInDays: (val.partitionRetentionInDays) ?? 365, + }; + } + + /** + * Trino user plugin. + */ + export interface TrinoUserPluginArgs { + /** + * Denotes whether the plugin is active or not. + */ + enabled?: pulumi.Input; + /** + * This field maps to the sub-directory in trino plugins location, that will contain all the plugins under path. + */ + name?: pulumi.Input; + /** + * Fully qualified path to the folder containing the plugins. + */ + path?: pulumi.Input; + } + + /** + * Trino user plugins spec + */ + export interface TrinoUserPluginsArgs { + /** + * Trino user plugins. + */ + plugins?: pulumi.Input[]>; + } + + /** + * User telemetry + */ + export interface TrinoUserTelemetryArgs { + /** + * Trino user telemetry definition. + */ + storage?: pulumi.Input; + } + /** + * trinoUserTelemetryArgsProvideDefaults sets the appropriate defaults for TrinoUserTelemetryArgs + */ + export function trinoUserTelemetryArgsProvideDefaults(val: TrinoUserTelemetryArgs): TrinoUserTelemetryArgs { + return { + ...val, + storage: (val.storage ? pulumi.output(val.storage).apply(inputs.hdinsight.v20230601preview.trinoTelemetryConfigArgsProvideDefaults) : undefined), + }; + } + + /** + * Trino worker. + */ + export interface TrinoWorkerArgs { + /** + * The flag that if enable debug or not. + */ + enable?: pulumi.Input; + /** + * The debug port. + */ + port?: pulumi.Input; + /** + * The flag that if suspend debug or not. + */ + suspend?: pulumi.Input; + } + /** + * trinoWorkerArgsProvideDefaults sets the appropriate defaults for TrinoWorkerArgs + */ + export function trinoWorkerArgsProvideDefaults(val: TrinoWorkerArgs): TrinoWorkerArgs { + return { + ...val, + enable: (val.enable) ?? false, + port: (val.port) ?? 8008, + suspend: (val.suspend) ?? false, + }; + } + + } } export namespace healthbot { @@ -160550,28 +167290,6 @@ export namespace hybridcompute { time?: pulumi.Input; } - /** - * Describes the script sources for run command. Use only one of script, scriptUri, commandId. - */ - export interface MachineRunCommandScriptSourceArgs { - /** - * Specifies the commandId of predefined built-in script. - */ - commandId?: pulumi.Input; - /** - * Specifies the script content to be executed on the machine. - */ - script?: pulumi.Input; - /** - * Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - */ - scriptUri?: pulumi.Input; - /** - * User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - */ - scriptUriManagedIdentity?: pulumi.Input; - } - /** * Specifies the operating system settings for the hybrid machine. */ @@ -160652,34 +167370,6 @@ export namespace hybridcompute { status: pulumi.Input; } - /** - * Describes the properties of a run command parameter. - */ - export interface RunCommandInputParameterArgs { - /** - * The run command parameter name. - */ - name: pulumi.Input; - /** - * The run command parameter value. - */ - value: pulumi.Input; - } - - /** - * Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - */ - export interface RunCommandManagedIdentityArgs { - /** - * Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - */ - clientId?: pulumi.Input; - /** - * Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - */ - objectId?: pulumi.Input; - } - /** * Describes the status and behavior of a service. */ @@ -161321,275 +168011,6 @@ export namespace hybridcompute { } } - - export namespace v20230425preview { - /** - * The info w.r.t Agent Upgrade. - */ - export interface AgentUpgradeArgs { - /** - * The correlation ID passed in from RSM per upgrade. - */ - correlationId?: pulumi.Input; - /** - * Specifies the version info w.r.t AgentUpgrade for the machine. - */ - desiredVersion?: pulumi.Input; - /** - * Specifies if RSM should try to upgrade this machine - */ - enableAutomaticUpgrade?: pulumi.Input; - } - - /** - * Properties that define a Azure Arc PrivateLinkScope resource. - */ - export interface HybridComputePrivateLinkScopePropertiesArgs { - /** - * Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. - */ - publicNetworkAccess?: pulumi.Input; - } - - /** - * Identity for the resource. - */ - export interface IdentityArgs { - /** - * The identity type. - */ - type?: pulumi.Input; - } - - /** - * Metadata pertaining to the geographic location of the resource. - */ - export interface LocationDataArgs { - /** - * The city or locality where the resource is located. - */ - city?: pulumi.Input; - /** - * The country or region where the resource is located - */ - countryOrRegion?: pulumi.Input; - /** - * The district, state, or province where the resource is located. - */ - district?: pulumi.Input; - /** - * A canonical name for the geographic or physical location. - */ - name: pulumi.Input; - } - - /** - * Describes the Machine Extension Instance View. - */ - export interface MachineExtensionInstanceViewArgs { - /** - * The machine extension name. - */ - name?: pulumi.Input; - /** - * Instance view status. - */ - status?: pulumi.Input; - /** - * Specifies the type of the extension; an example is "CustomScriptExtension". - */ - type?: pulumi.Input; - /** - * Specifies the version of the script handler. - */ - typeHandlerVersion?: pulumi.Input; - } - - /** - * Instance view status. - */ - export interface MachineExtensionInstanceViewStatusArgs { - /** - * The status code. - */ - code?: pulumi.Input; - /** - * The short localizable label for the status. - */ - displayStatus?: pulumi.Input; - /** - * The level code. - */ - level?: pulumi.Input; - /** - * The detailed status message, including for alerts and error messages. - */ - message?: pulumi.Input; - /** - * The time of the status. - */ - time?: pulumi.Input; - } - - /** - * Describes the script sources for run command. Use only one of script, scriptUri, commandId. - */ - export interface MachineRunCommandScriptSourceArgs { - /** - * Specifies the commandId of predefined built-in script. - */ - commandId?: pulumi.Input; - /** - * Specifies the script content to be executed on the machine. - */ - script?: pulumi.Input; - /** - * Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - */ - scriptUri?: pulumi.Input; - /** - * User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - */ - scriptUriManagedIdentity?: pulumi.Input; - } - - /** - * Specifies the operating system settings for the hybrid machine. - */ - export interface OSProfileArgs { - /** - * Specifies the linux configuration for update management. - */ - linuxConfiguration?: pulumi.Input; - /** - * Specifies the windows configuration for update management. - */ - windowsConfiguration?: pulumi.Input; - } - - /** - * Specifies the linux configuration for update management. - */ - export interface OSProfileLinuxConfigurationArgs { - /** - * Specifies the assessment mode. - */ - assessmentMode?: pulumi.Input; - /** - * Specifies the patch mode. - */ - patchMode?: pulumi.Input; - } - - /** - * Specifies the windows configuration for update management. - */ - export interface OSProfileWindowsConfigurationArgs { - /** - * Specifies the assessment mode. - */ - assessmentMode?: pulumi.Input; - /** - * Specifies the patch mode. - */ - patchMode?: pulumi.Input; - } - - /** - * Properties of a private endpoint connection. - */ - export interface PrivateEndpointConnectionPropertiesArgs { - /** - * Private endpoint which the connection belongs to. - */ - privateEndpoint?: pulumi.Input; - /** - * Connection state of the private endpoint connection. - */ - privateLinkServiceConnectionState?: pulumi.Input; - } - - /** - * Private endpoint which the connection belongs to. - */ - export interface PrivateEndpointPropertyArgs { - /** - * Resource id of the private endpoint. - */ - id?: pulumi.Input; - } - - /** - * State of the private endpoint connection. - */ - export interface PrivateLinkServiceConnectionStatePropertyArgs { - /** - * The private link service connection description. - */ - description: pulumi.Input; - /** - * The private link service connection status. - */ - status: pulumi.Input; - } - - /** - * Describes the properties of a run command parameter. - */ - export interface RunCommandInputParameterArgs { - /** - * The run command parameter name. - */ - name: pulumi.Input; - /** - * The run command parameter value. - */ - value: pulumi.Input; - } - - /** - * Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - */ - export interface RunCommandManagedIdentityArgs { - /** - * Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - */ - clientId?: pulumi.Input; - /** - * Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - */ - objectId?: pulumi.Input; - } - - /** - * Describes the status and behavior of a service. - */ - export interface ServiceStatusArgs { - /** - * The behavior of the service when the Arc-enabled machine starts up. - */ - startupType?: pulumi.Input; - /** - * The current status of the service. - */ - status?: pulumi.Input; - } - - /** - * Reports the state and behavior of dependent services. - */ - export interface ServiceStatusesArgs { - /** - * The state of the extension service on the Arc-enabled machine. - */ - extensionService?: pulumi.Input; - /** - * The state of the guest configuration service on the Arc-enabled machine. - */ - guestConfigurationService?: pulumi.Input; - } - - } } export namespace hybridconnectivity { @@ -191444,6 +197865,10 @@ export namespace machinelearningservices { * MLFlow Registry URI for the Registry */ mlFlowRegistryUri?: pulumi.Input; + /** + * Private endpoint connections info used for pending connections in private link portal + */ + privateEndpointConnections?: pulumi.Input[]>; /** * Is the Registry accessible from the internet? * Possible values: "Enabled" or "Disabled" @@ -191453,10 +197878,6 @@ export namespace machinelearningservices { * Details of each region the registry is in */ regionDetails?: pulumi.Input[]>; - /** - * Private endpoint connections info used for pending connections in private link portal - */ - registryPrivateEndpointConnections?: pulumi.Input[]>; } /** @@ -191465,7 +197886,7 @@ export namespace machinelearningservices { export interface RegistryPrivateEndpointConnectionArgs { /** * This is the private endpoint connection name created on SRP - * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} */ id?: pulumi.Input; /** @@ -191491,13 +197912,13 @@ export namespace machinelearningservices { */ privateEndpoint?: pulumi.Input; /** - * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + * The connection state. */ - provisioningState?: pulumi.Input; + privateLinkServiceConnectionState?: pulumi.Input; /** - * The connection state. + * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. */ - registryPrivateLinkServiceConnectionState?: pulumi.Input; + provisioningState?: pulumi.Input; } /** @@ -207745,6 +214166,10 @@ export namespace machinelearningservices { * MLFlow Registry URI for the Registry */ mlFlowRegistryUri?: pulumi.Input; + /** + * Private endpoint connections info used for pending connections in private link portal + */ + privateEndpointConnections?: pulumi.Input[]>; /** * Is the Registry accessible from the internet? * Possible values: "Enabled" or "Disabled" @@ -207754,10 +214179,6 @@ export namespace machinelearningservices { * Details of each region the registry is in */ regionDetails?: pulumi.Input[]>; - /** - * Private endpoint connections info used for pending connections in private link portal - */ - registryPrivateEndpointConnections?: pulumi.Input[]>; } /** @@ -207766,7 +214187,7 @@ export namespace machinelearningservices { export interface RegistryPrivateEndpointConnectionArgs { /** * This is the private endpoint connection name created on SRP - * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} */ id?: pulumi.Input; /** @@ -207792,13 +214213,13 @@ export namespace machinelearningservices { */ privateEndpoint?: pulumi.Input; /** - * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + * The connection state. */ - provisioningState?: pulumi.Input; + privateLinkServiceConnectionState?: pulumi.Input; /** - * The connection state. + * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. */ - registryPrivateLinkServiceConnectionState?: pulumi.Input; + provisioningState?: pulumi.Input; } /** @@ -216463,6 +222884,10 @@ export namespace machinelearningservices { * MLFlow Registry URI for the Registry */ mlFlowRegistryUri?: pulumi.Input; + /** + * Private endpoint connections info used for pending connections in private link portal + */ + privateEndpointConnections?: pulumi.Input[]>; /** * Is the Registry accessible from the internet? * Possible values: "Enabled" or "Disabled" @@ -216472,10 +222897,6 @@ export namespace machinelearningservices { * Details of each region the registry is in */ regionDetails?: pulumi.Input[]>; - /** - * Private endpoint connections info used for pending connections in private link portal - */ - registryPrivateEndpointConnections?: pulumi.Input[]>; } /** @@ -216484,7 +222905,7 @@ export namespace machinelearningservices { export interface RegistryPrivateEndpointConnectionArgs { /** * This is the private endpoint connection name created on SRP - * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} */ id?: pulumi.Input; /** @@ -216510,13 +222931,13 @@ export namespace machinelearningservices { */ privateEndpoint?: pulumi.Input; /** - * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + * The connection state. */ - provisioningState?: pulumi.Input; + privateLinkServiceConnectionState?: pulumi.Input; /** - * The connection state. + * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. */ - registryPrivateLinkServiceConnectionState?: pulumi.Input; + provisioningState?: pulumi.Input; } /** @@ -226103,6 +232524,10 @@ export namespace machinelearningservices { * MLFlow Registry URI for the Registry */ mlFlowRegistryUri?: pulumi.Input; + /** + * Private endpoint connections info used for pending connections in private link portal + */ + privateEndpointConnections?: pulumi.Input[]>; /** * Is the Registry accessible from the internet? * Possible values: "Enabled" or "Disabled" @@ -226112,10 +232537,6 @@ export namespace machinelearningservices { * Details of each region the registry is in */ regionDetails?: pulumi.Input[]>; - /** - * Private endpoint connections info used for pending connections in private link portal - */ - registryPrivateEndpointConnections?: pulumi.Input[]>; } /** @@ -226124,7 +232545,7 @@ export namespace machinelearningservices { export interface RegistryPrivateEndpointConnectionArgs { /** * This is the private endpoint connection name created on SRP - * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} */ id?: pulumi.Input; /** @@ -226150,13 +232571,13 @@ export namespace machinelearningservices { */ privateEndpoint?: pulumi.Input; /** - * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + * The connection state. */ - provisioningState?: pulumi.Input; + privateLinkServiceConnectionState?: pulumi.Input; /** - * The connection state. + * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. */ - registryPrivateLinkServiceConnectionState?: pulumi.Input; + provisioningState?: pulumi.Input; } /** @@ -229239,7 +235660,7 @@ export namespace managednetworkfabric { */ ipGroups?: pulumi.Input[]>; /** - * List of the port group. + * List of the port groups. */ portGroups?: pulumi.Input[]>; /** @@ -229380,15 +235801,15 @@ export namespace managednetworkfabric { */ ipGroupNames?: pulumi.Input[]>; /** - * The list of IP Prefixes. + * The list of IP Prefixes that need to be matched. */ ipPrefixValues?: pulumi.Input[]>; /** - * IP Prefix Type. + * IP Prefix Type that needs to be matched. */ prefixType?: pulumi.Input; /** - * IP Address type. + * IP Address type that needs to be matched. */ type?: pulumi.Input; } @@ -229620,7 +236041,7 @@ export namespace managednetworkfabric { */ export interface NetworkTapRuleMatchConditionArgs { /** - * Encapsulation Type. + * Encapsulation Type that needs to be matched. */ encapsulationType?: pulumi.Input; /** @@ -229742,7 +236163,7 @@ export namespace managednetworkfabric { */ layer4Protocol: pulumi.Input; /** - * List of the port Group Names that to be matched. + * List of the port Group Names that need to be matched. */ portGroupNames?: pulumi.Input[]>; /** @@ -229764,7 +236185,7 @@ export namespace managednetworkfabric { */ name?: pulumi.Input; /** - * List of the ports that needs to be matched. + * List of the ports that need to be matched. */ ports?: pulumi.Input[]>; } @@ -229922,19 +236343,19 @@ export namespace managednetworkfabric { } /** - * The vlan match conditions that needs to be matched. + * The vlan match conditions that need to be matched. */ export interface VlanMatchConditionArgs { /** - * List of inner vlans that needs to be matched. + * List of inner vlans that need to be matched. */ innerVlans?: pulumi.Input[]>; /** - * List of vlan group names that to be matched. + * List of vlan group names that need to be matched. */ vlanGroupNames?: pulumi.Input[]>; /** - * List of vlans that needs to be matched. + * List of vlans that need to be matched. */ vlans?: pulumi.Input[]>; } @@ -230593,15 +237014,15 @@ export namespace managednetworkfabric { */ export interface AccessControlListMatchConditionArgs { /** - * List of DSCP Markings that needs to be matched. + * List of DSCP Markings that need to be matched. */ dscpMarkings?: pulumi.Input[]>; /** - * List of ether type values that needs to be matched. + * List of ether type values that need to be matched. */ etherTypes?: pulumi.Input[]>; /** - * List of IP fragment packets that needs to be matched. + * List of IP fragment packets that need to be matched. */ fragments?: pulumi.Input[]>; /** @@ -230609,7 +237030,7 @@ export namespace managednetworkfabric { */ ipCondition?: pulumi.Input; /** - * List of IP Lengths that needs to be matched. + * List of IP Lengths that need to be matched. */ ipLengths?: pulumi.Input[]>; /** @@ -230621,7 +237042,7 @@ export namespace managednetworkfabric { */ protocolTypes?: pulumi.Input[]>; /** - * List of TTL [Time To Live] values that needs to be matched. + * List of TTL [Time To Live] values that need to be matched. */ ttlValues?: pulumi.Input[]>; /** @@ -230661,7 +237082,7 @@ export namespace managednetworkfabric { */ export interface AccessControlListPortConditionArgs { /** - * List of protocol flags that needs to be matched. + * List of protocol flags that need to be matched. */ flags?: pulumi.Input[]>; /** @@ -230669,7 +237090,7 @@ export namespace managednetworkfabric { */ layer4Protocol: pulumi.Input; /** - * List of the port Group Names that to be matched. + * List of the port Group Names that need to be matched. */ portGroupNames?: pulumi.Input[]>; /** @@ -230775,7 +237196,7 @@ export namespace managednetworkfabric { */ ipGroups?: pulumi.Input[]>; /** - * List of the port group. + * List of the port groups. */ portGroups?: pulumi.Input[]>; /** @@ -231131,15 +237552,15 @@ export namespace managednetworkfabric { */ ipGroupNames?: pulumi.Input[]>; /** - * The list of IP Prefixes. + * The list of IP Prefixes that need to be matched. */ ipPrefixValues?: pulumi.Input[]>; /** - * IP Prefix Type. + * IP Prefix Type that needs to be matched. */ prefixType?: pulumi.Input; /** - * IP Address type. + * IP Address type that needs to be matched. */ type?: pulumi.Input; } @@ -231358,7 +237779,7 @@ export namespace managednetworkfabric { */ export interface NetworkTapRuleMatchConditionArgs { /** - * Encapsulation Type. + * Encapsulation Type that needs to be matched. */ encapsulationType?: pulumi.Input; /** @@ -231480,7 +237901,7 @@ export namespace managednetworkfabric { */ layer4Protocol: pulumi.Input; /** - * List of the port Group Names that to be matched. + * List of the port Group Names that need to be matched. */ portGroupNames?: pulumi.Input[]>; /** @@ -231502,7 +237923,7 @@ export namespace managednetworkfabric { */ name?: pulumi.Input; /** - * List of the ports that needs to be matched. + * List of the ports that need to be matched. */ ports?: pulumi.Input[]>; } @@ -231690,19 +238111,19 @@ export namespace managednetworkfabric { } /** - * The vlan match conditions that needs to be matched. + * The vlan match conditions that need to be matched. */ export interface VlanMatchConditionArgs { /** - * List of inner vlans that needs to be matched. + * List of inner vlans that need to be matched. */ innerVlans?: pulumi.Input[]>; /** - * List of vlan group names that to be matched. + * List of vlan group names that need to be matched. */ vlanGroupNames?: pulumi.Input[]>; /** - * List of vlans that needs to be matched. + * List of vlans that need to be matched. */ vlans?: pulumi.Input[]>; } @@ -232369,6 +238790,154 @@ export namespace maps { } } + + export namespace v20230601 { + /** + * Specifies a CORS rule for the Map Account. + */ + export interface CorsRuleArgs { + /** + * Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" to allow all domains + */ + allowedOrigins: pulumi.Input[]>; + } + + /** + * Sets the CORS rules. You can include up to five CorsRule elements in the request. + */ + export interface CorsRulesArgs { + /** + * The list of CORS rules. You can include up to five CorsRule elements in the request. + */ + corsRules?: pulumi.Input[]>; + } + + /** + * Creator resource properties + */ + export interface CreatorPropertiesArgs { + /** + * The storage units to be allocated. Integer values from 1 to 100, inclusive. + */ + storageUnits: pulumi.Input; + } + + /** + * All Customer-managed key encryption properties for the resource. + */ + export interface CustomerManagedKeyEncryptionArgs { + /** + * All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + */ + keyEncryptionKeyIdentity?: pulumi.Input; + /** + * key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek. + */ + keyEncryptionKeyUrl?: pulumi.Input; + } + + /** + * All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + */ + export interface CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs { + /** + * delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only. + */ + delegatedIdentityClientId?: pulumi.Input; + /** + * Values can be systemAssignedIdentity or userAssignedIdentity + */ + identityType?: pulumi.Input; + /** + * user assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and delegatedResourceIdentity. + */ + userAssignedIdentityResourceId?: pulumi.Input; + } + + /** + * (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + */ + export interface EncryptionArgs { + /** + * All Customer-managed key encryption properties for the resource. + */ + customerManagedKeyEncryption?: pulumi.Input; + /** + * Values are enabled and disabled. + */ + infrastructureEncryption?: pulumi.Input; + } + + /** + * Linked resource is reference to a resource deployed in an Azure subscription, add the linked resource `uniqueName` value as an optional parameter for operations on Azure Maps Geospatial REST APIs. + */ + export interface LinkedResourceArgs { + /** + * ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'. + */ + id: pulumi.Input; + /** + * A provided name which uniquely identifies the linked resource. + */ + uniqueName: pulumi.Input; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityArgs { + /** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: pulumi.Input; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: pulumi.Input[]>; + } + + /** + * Additional Map account properties + */ + export interface MapsAccountPropertiesArgs { + /** + * Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service. + */ + cors?: pulumi.Input; + /** + * Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys and Shared Access Signature Token authentication from any usage. + */ + disableLocalAuth?: pulumi.Input; + /** + * (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + */ + encryption?: pulumi.Input; + /** + * The array of associated resources to the Map account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Map Account Managed Identity(s) permissions to those resource(s). + */ + linkedResources?: pulumi.Input[]>; + } + /** + * mapsAccountPropertiesArgsProvideDefaults sets the appropriate defaults for MapsAccountPropertiesArgs + */ + export function mapsAccountPropertiesArgsProvideDefaults(val: MapsAccountPropertiesArgs): MapsAccountPropertiesArgs { + return { + ...val, + disableLocalAuth: (val.disableLocalAuth) ?? false, + }; + } + + /** + * The SKU of the Maps Account. + */ + export interface SkuArgs { + /** + * The name of the SKU, in standard format (such as S0). + */ + name: pulumi.Input; + } + + } } export namespace marketplace { @@ -244936,6 +251505,11 @@ export namespace mobilenetwork { } } +export namespace mobilepacketcore { + export namespace v20230515preview { + } +} + export namespace monitor { export namespace v20230403 { } @@ -332391,6 +338965,159 @@ export namespace storagesync { } } +export namespace storagetasks { + /** + * The else block of storage task operation + */ + export interface ElseConditionArgs { + /** + * List of operations to execute in the else block + */ + operations: pulumi.Input[]>; + } + + /** + * The if block of storage task operation + */ + export interface IfConditionArgs { + /** + * The condition predicate which is composed of object properties, eg: blob and container properties. + */ + condition: pulumi.Input; + /** + * List of operations to execute when the condition predicate satisfies. + */ + operations: pulumi.Input[]>; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityArgs { + /** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: pulumi.Input; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: pulumi.Input[]>; + } + + /** + * The storage task action represents conditional statements and operations to be performed on target objects. + */ + export interface StorageTaskActionArgs { + /** + * The else block of storage task operation + */ + else?: pulumi.Input; + /** + * The if block of storage task operation + */ + if: pulumi.Input; + } + + /** + * Represents an operation to be performed on the object + */ + export interface StorageTaskOperationArgs { + /** + * The operation to be performed on the object. + */ + name: pulumi.Input; + /** + * Action to be taken when the operation fails for a object. + */ + onFailure?: pulumi.Input; + /** + * Action to be taken when the operation is successful for a object. + */ + onSuccess?: pulumi.Input; + /** + * Key-value parameters for the operation. + */ + parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + export namespace v20230101 { + /** + * The else block of storage task operation + */ + export interface ElseConditionArgs { + /** + * List of operations to execute in the else block + */ + operations: pulumi.Input[]>; + } + + /** + * The if block of storage task operation + */ + export interface IfConditionArgs { + /** + * The condition predicate which is composed of object properties, eg: blob and container properties. + */ + condition: pulumi.Input; + /** + * List of operations to execute when the condition predicate satisfies. + */ + operations: pulumi.Input[]>; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityArgs { + /** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: pulumi.Input; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: pulumi.Input[]>; + } + + /** + * The storage task action represents conditional statements and operations to be performed on target objects. + */ + export interface StorageTaskActionArgs { + /** + * The else block of storage task operation + */ + else?: pulumi.Input; + /** + * The if block of storage task operation + */ + if: pulumi.Input; + } + + /** + * Represents an operation to be performed on the object + */ + export interface StorageTaskOperationArgs { + /** + * The operation to be performed on the object. + */ + name: pulumi.Input; + /** + * Action to be taken when the operation fails for a object. + */ + onFailure?: pulumi.Input; + /** + * Action to be taken when the operation is successful for a object. + */ + onSuccess?: pulumi.Input; + /** + * Key-value parameters for the operation. + */ + parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + } +} + export namespace storsimple { /** * Represent the secrets intended for encryption with asymmetric key pair. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index d9d5d6851cf5..64422a7149cd 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -19594,7 +19594,7 @@ export namespace appplatform { */ provisioningState: string; /** - * ServiceInstanceEntity GUID which uniquely identifies a created resource + * ServiceInstanceEntity Id which uniquely identifies a created resource */ serviceId: string; /** @@ -20183,6 +20183,18 @@ export namespace appplatform { }; } + export interface DevToolPortalComponentResponse { + /** + * Collection of instances belong to Dev Tool Portal. + */ + instances: outputs.appplatform.DevToolPortalInstanceResponse[]; + name: string; + /** + * The requested resource quantity for required CPU and Memory. + */ + resourceRequests: outputs.appplatform.DevToolPortalResourceRequestsResponse; + } + /** * Detail settings for Dev Tool Portal feature */ @@ -20249,13 +20261,13 @@ export namespace appplatform { */ export interface DevToolPortalPropertiesResponse { /** - * Settings for Dev Tool Portal + * Collection of components belong to Dev Tool Portal. */ - features?: outputs.appplatform.DevToolPortalFeatureSettingsResponse; + components: outputs.appplatform.DevToolPortalComponentResponse[]; /** - * Collection of instances belong to Dev Tool Portal. + * Settings for Dev Tool Portal */ - instances: outputs.appplatform.DevToolPortalInstanceResponse[]; + features?: outputs.appplatform.DevToolPortalFeatureSettingsResponse; /** * State of the Dev Tool Portal. */ @@ -20264,10 +20276,6 @@ export namespace appplatform { * Indicates whether the resource exposes public endpoint */ public?: boolean; - /** - * The requested resource quantity for required CPU and Memory. - */ - resourceRequests: outputs.appplatform.DevToolPortalResourceRequestsResponse; /** * Single sign-on related configuration */ @@ -22407,7 +22415,7 @@ export namespace appplatform { */ provisioningState: string; /** - * ServiceInstanceEntity GUID which uniquely identifies a created resource + * ServiceInstanceEntity Id which uniquely identifies a created resource */ serviceId: string; /** @@ -22996,6 +23004,18 @@ export namespace appplatform { }; } + export interface DevToolPortalComponentResponse { + /** + * Collection of instances belong to Dev Tool Portal. + */ + instances: outputs.appplatform.v20230501preview.DevToolPortalInstanceResponse[]; + name: string; + /** + * The requested resource quantity for required CPU and Memory. + */ + resourceRequests: outputs.appplatform.v20230501preview.DevToolPortalResourceRequestsResponse; + } + /** * Detail settings for Dev Tool Portal feature */ @@ -23062,13 +23082,13 @@ export namespace appplatform { */ export interface DevToolPortalPropertiesResponse { /** - * Settings for Dev Tool Portal + * Collection of components belong to Dev Tool Portal. */ - features?: outputs.appplatform.v20230501preview.DevToolPortalFeatureSettingsResponse; + components: outputs.appplatform.v20230501preview.DevToolPortalComponentResponse[]; /** - * Collection of instances belong to Dev Tool Portal. + * Settings for Dev Tool Portal */ - instances: outputs.appplatform.v20230501preview.DevToolPortalInstanceResponse[]; + features?: outputs.appplatform.v20230501preview.DevToolPortalFeatureSettingsResponse; /** * State of the Dev Tool Portal. */ @@ -23077,10 +23097,6 @@ export namespace appplatform { * Indicates whether the resource exposes public endpoint */ public?: boolean; - /** - * The requested resource quantity for required CPU and Memory. - */ - resourceRequests: outputs.appplatform.v20230501preview.DevToolPortalResourceRequestsResponse; /** * Single sign-on related configuration */ @@ -30134,6 +30150,563 @@ export namespace avs { } } + + export namespace v20230301 { + /** + * The properties of an Arc addon + */ + export interface AddonArcPropertiesResponse { + /** + * The type of private cloud addon + * Expected value is 'Arc'. + */ + addonType: "Arc"; + /** + * The state of the addon provisioning + */ + provisioningState: string; + /** + * The VMware vCenter resource ID + */ + vCenter?: string; + } + + /** + * The properties of an HCX addon + */ + export interface AddonHcxPropertiesResponse { + /** + * The type of private cloud addon + * Expected value is 'HCX'. + */ + addonType: "HCX"; + /** + * The HCX offer, example VMware MaaS Cloud Provider (Enterprise) + */ + offer: string; + /** + * The state of the addon provisioning + */ + provisioningState: string; + } + + /** + * The properties of a Site Recovery Manager (SRM) addon + */ + export interface AddonSrmPropertiesResponse { + /** + * The type of private cloud addon + * Expected value is 'SRM'. + */ + addonType: "SRM"; + /** + * The Site Recovery Manager (SRM) license + */ + licenseKey?: string; + /** + * The state of the addon provisioning + */ + provisioningState: string; + } + + /** + * The properties of a vSphere Replication (VR) addon + */ + export interface AddonVrPropertiesResponse { + /** + * The type of private cloud addon + * Expected value is 'VR'. + */ + addonType: "VR"; + /** + * The state of the addon provisioning + */ + provisioningState: string; + /** + * The vSphere Replication Server (VRS) count + */ + vrsCount: number; + } + + /** + * The properties describing private cloud availability zone distribution + */ + export interface AvailabilityPropertiesResponse { + /** + * The secondary availability zone for the private cloud + */ + secondaryZone?: number; + /** + * The availability strategy for the private cloud + */ + strategy?: string; + /** + * The primary availability zone for the private cloud + */ + zone?: number; + } + + /** + * An ExpressRoute Circuit + */ + export interface CircuitResponse { + /** + * Identifier of the ExpressRoute Circuit (Microsoft Colo only) + */ + expressRouteID: string; + /** + * ExpressRoute Circuit private peering identifier + */ + expressRoutePrivatePeeringID: string; + /** + * CIDR of primary subnet + */ + primarySubnet: string; + /** + * CIDR of secondary subnet + */ + secondarySubnet: string; + } + + /** + * Zone and associated hosts info + */ + export interface ClusterZoneResponse { + /** + * List of hosts belonging to the availability zone in a cluster + */ + hosts: string[]; + /** + * Availability zone identifier + */ + zone: string; + } + + /** + * An iSCSI volume from Microsoft.StoragePool provider + */ + export interface DiskPoolVolumeResponse { + /** + * Name of the LUN to be used for datastore + */ + lunName: string; + /** + * Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN + */ + mountOption?: string; + /** + * Device path + */ + path: string; + /** + * Azure resource ID of the iSCSI target + */ + targetId: string; + } + /** + * diskPoolVolumeResponseProvideDefaults sets the appropriate defaults for DiskPoolVolumeResponse + */ + export function diskPoolVolumeResponseProvideDefaults(val: DiskPoolVolumeResponse): DiskPoolVolumeResponse { + return { + ...val, + mountOption: (val.mountOption) ?? "MOUNT", + }; + } + + /** + * An Encryption Key + */ + export interface EncryptionKeyVaultPropertiesResponse { + /** + * The auto-detected version of the key if versionType is auto-detected. + */ + autoDetectedKeyVersion: string; + /** + * The name of the key. + */ + keyName?: string; + /** + * The state of key provided + */ + keyState: string; + /** + * The URL of the vault. + */ + keyVaultUrl?: string; + /** + * The version of the key. + */ + keyVersion?: string; + /** + * Property of the key if user provided or auto detected + */ + versionType: string; + } + + /** + * The properties of customer managed encryption key + */ + export interface EncryptionResponse { + /** + * The key vault where the encryption key is stored + */ + keyVaultProperties?: outputs.avs.v20230301.EncryptionKeyVaultPropertiesResponse; + /** + * Status of customer managed encryption key + */ + status?: string; + } + + /** + * Endpoint addresses + */ + export interface EndpointsResponse { + /** + * Endpoint for the HCX Cloud Manager + */ + hcxCloudManager: string; + /** + * Endpoint for the NSX-T Data Center manager + */ + nsxtManager: string; + /** + * Endpoint for Virtual Center Server Appliance + */ + vcsa: string; + } + + /** + * vCenter Single Sign On Identity Source + */ + export interface IdentitySourceResponse { + /** + * The domain's NetBIOS name + */ + alias?: string; + /** + * The base distinguished name for groups + */ + baseGroupDN?: string; + /** + * The base distinguished name for users + */ + baseUserDN?: string; + /** + * The domain's dns name + */ + domain?: string; + /** + * The name of the identity source + */ + name?: string; + /** + * The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups. + */ + password?: string; + /** + * Primary server URL + */ + primaryServer?: string; + /** + * Secondary server URL + */ + secondaryServer?: string; + /** + * Protect LDAP communication using SSL certificate (LDAPS) + */ + ssl?: string; + /** + * The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group + */ + username?: string; + } + + /** + * The properties of a management cluster + */ + export interface ManagementClusterResponse { + /** + * The identity + */ + clusterId: number; + /** + * The cluster size + */ + clusterSize: number; + /** + * The hosts + */ + hosts?: string[]; + /** + * The state of the cluster provisioning + */ + provisioningState: string; + } + + /** + * An Azure NetApp Files volume from Microsoft.NetApp provider + */ + export interface NetAppVolumeResponse { + /** + * Azure resource ID of the NetApp volume + */ + id: string; + } + + /** + * a powershell credential object + */ + export interface PSCredentialExecutionParameterResponse { + /** + * The parameter name + */ + name: string; + /** + * password for login + */ + password?: string; + /** + * The type of execution parameter + * Expected value is 'Credential'. + */ + type: "Credential"; + /** + * username for login + */ + username?: string; + } + + /** + * Identity for the virtual machine. + */ + export interface PrivateCloudIdentityResponse { + /** + * The principal ID of private cloud identity. This property will only be provided for a system assigned identity. + */ + principalId: string; + /** + * The tenant ID associated with the private cloud. This property will only be provided for a system assigned identity. + */ + tenantId: string; + /** + * The type of identity used for the private cloud. The type 'SystemAssigned' refers to an implicitly created identity. The type 'None' will remove any identities from the Private Cloud. + */ + type?: string; + } + + /** + * a plain text value execution parameter + */ + export interface ScriptSecureStringExecutionParameterResponse { + /** + * The parameter name + */ + name: string; + /** + * A secure value for the passed parameter, not to be stored in logs + */ + secureValue?: string; + /** + * The type of execution parameter + * Expected value is 'SecureValue'. + */ + type: "SecureValue"; + } + + /** + * a plain text value execution parameter + */ + export interface ScriptStringExecutionParameterResponse { + /** + * The parameter name + */ + name: string; + /** + * The type of execution parameter + * Expected value is 'Value'. + */ + type: "Value"; + /** + * The value for the passed parameter + */ + value?: string; + } + + /** + * The resource model definition representing SKU + */ + export interface SkuResponse { + /** + * The name of the SKU. + */ + name: string; + } + + /** + * VM-Host placement policy properties + */ + export interface VmHostPlacementPolicyPropertiesResponse { + /** + * vm-host placement policy affinity strength (should/must) + */ + affinityStrength?: string; + /** + * placement policy affinity type + */ + affinityType: string; + /** + * placement policy azure hybrid benefit opt-in type + */ + azureHybridBenefitType?: string; + /** + * Display name of the placement policy + */ + displayName?: string; + /** + * Host members list + */ + hostMembers: string[]; + /** + * The provisioning state + */ + provisioningState: string; + /** + * Whether the placement policy is enabled or disabled + */ + state?: string; + /** + * placement policy type + * Expected value is 'VmHost'. + */ + type: "VmHost"; + /** + * Virtual machine members list + */ + vmMembers: string[]; + } + + /** + * VM-VM placement policy properties + */ + export interface VmVmPlacementPolicyPropertiesResponse { + /** + * placement policy affinity type + */ + affinityType: string; + /** + * Display name of the placement policy + */ + displayName?: string; + /** + * The provisioning state + */ + provisioningState: string; + /** + * Whether the placement policy is enabled or disabled + */ + state?: string; + /** + * placement policy type + * Expected value is 'VmVm'. + */ + type: "VmVm"; + /** + * Virtual machine members list + */ + vmMembers: string[]; + } + + /** + * NSX DHCP Relay + */ + export interface WorkloadNetworkDhcpRelayResponse { + /** + * Type of DHCP: SERVER or RELAY. + * Expected value is 'RELAY'. + */ + dhcpType: "RELAY"; + /** + * Display name of the DHCP entity. + */ + displayName?: string; + /** + * The provisioning state + */ + provisioningState: string; + /** + * NSX revision number. + */ + revision?: number; + /** + * NSX Segments consuming DHCP. + */ + segments: string[]; + /** + * DHCP Relay Addresses. Max 3. + */ + serverAddresses?: string[]; + } + + /** + * NSX DHCP Server + */ + export interface WorkloadNetworkDhcpServerResponse { + /** + * Type of DHCP: SERVER or RELAY. + * Expected value is 'SERVER'. + */ + dhcpType: "SERVER"; + /** + * Display name of the DHCP entity. + */ + displayName?: string; + /** + * DHCP Server Lease Time. + */ + leaseTime?: number; + /** + * The provisioning state + */ + provisioningState: string; + /** + * NSX revision number. + */ + revision?: number; + /** + * NSX Segments consuming DHCP. + */ + segments: string[]; + /** + * DHCP Server Address. + */ + serverAddress?: string; + } + + /** + * Ports and any VIF attached to segment. + */ + export interface WorkloadNetworkSegmentPortVifResponse { + /** + * Name of port or VIF attached to segment. + */ + portName?: string; + } + + /** + * Subnet configuration for segment + */ + export interface WorkloadNetworkSegmentSubnetResponse { + /** + * DHCP Range assigned for subnet. + */ + dhcpRanges?: string[]; + /** + * Gateway address. + */ + gatewayAddress?: string; + } + + } } export namespace azureactivedirectory { @@ -64841,23211 +65414,19338 @@ export namespace compute { } } -} -export namespace confidentialledger { - /** - * AAD based security principal with associated Ledger RoleName - */ - export interface AADBasedSecurityPrincipalResponse { - /** - * LedgerRole associated with the Security Principal of Ledger - */ - ledgerRoleName?: string; - /** - * UUID/GUID based Principal Id of the Security Principal - */ - principalId?: string; + export namespace v20230402 { /** - * UUID/GUID based Tenant Id of the Security Principal + * Api error base. */ - tenantId?: string; - } + export interface ApiErrorBaseResponse { + /** + * The error code. + */ + code?: string; + /** + * The error message. + */ + message?: string; + /** + * The target of the particular error. + */ + target?: string; + } - /** - * Cert based security principal with Ledger RoleName - */ - export interface CertBasedSecurityPrincipalResponse { - /** - * Public key of the user cert (.pem or .cer) - */ - cert?: string; /** - * LedgerRole associated with the Security Principal of Ledger + * Api error. */ - ledgerRoleName?: string; - } + export interface ApiErrorResponse { + /** + * The error code. + */ + code?: string; + /** + * The Api error details + */ + details?: outputs.compute.v20230402.ApiErrorBaseResponse[]; + /** + * The Api inner error + */ + innererror?: outputs.compute.v20230402.InnerErrorResponse; + /** + * The error message. + */ + message?: string; + /** + * The target of the particular error. + */ + target?: string; + } - /** - * Tags for Managed CCF Certificates - */ - export interface CertificateTagsResponse { /** - * Additional tags for Managed CCF Certificates + * Indicates the error details if the background copy of a resource created via the CopyStart operation fails. */ - tags?: {[key: string]: string}; - } + export interface CopyCompletionErrorResponse { + /** + * Indicates the error code if the background copy of a resource created via the CopyStart operation fails. + */ + errorCode: string; + /** + * Indicates the error message if the background copy of a resource created via the CopyStart operation fails. + */ + errorMessage: string; + } - /** - * Object representing DeploymentType for Managed CCF. - */ - export interface DeploymentTypeResponse { - /** - * Source Uri containing ManagedCCF code - */ - appSourceUri?: string; /** - * Unique name for the Managed CCF. + * Data used when creating a disk. */ - languageRuntime?: string; - } + export interface CreationDataResponse { + /** + * This enumerates the possible sources of a disk's creation. + */ + createOption: string; + /** + * Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san volume snapshot. + */ + elasticSanResourceId?: string; + /** + * Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + */ + galleryImageReference?: outputs.compute.v20230402.ImageDiskReferenceResponse; + /** + * Disk source information for PIR or user images. + */ + imageReference?: outputs.compute.v20230402.ImageDiskReferenceResponse; + /** + * Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default. + */ + logicalSectorSize?: number; + /** + * Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + */ + performancePlus?: boolean; + /** + * If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state. + */ + securityDataUri?: string; + /** + * If createOption is Copy, this is the ARM id of the source snapshot or disk. + */ + sourceResourceId?: string; + /** + * If this field is set, this is the unique id identifying the source of this resource. + */ + sourceUniqueId: string; + /** + * If createOption is Import, this is the URI of a blob to be imported into a managed disk. + */ + sourceUri?: string; + /** + * Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk. + */ + storageAccountId?: string; + /** + * If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer). + */ + uploadSizeBytes?: number; + } - /** - * Additional Confidential Ledger properties. - */ - export interface LedgerPropertiesResponse { - /** - * Array of all AAD based Security Principals. - */ - aadBasedSecurityPrincipals?: outputs.confidentialledger.AADBasedSecurityPrincipalResponse[]; - /** - * Array of all cert based Security Principals. - */ - certBasedSecurityPrincipals?: outputs.confidentialledger.CertBasedSecurityPrincipalResponse[]; - /** - * Endpoint for accessing network identity. - */ - identityServiceUri: string; - /** - * Internal namespace for the Ledger - */ - ledgerInternalNamespace: string; /** - * Unique name for the Confidential Ledger. - */ - ledgerName: string; - /** - * Type of Confidential Ledger - */ - ledgerType?: string; - /** - * Endpoint for calling Ledger Service. - */ - ledgerUri: string; - /** - * Provisioning state of Ledger Resource + * Contains the security related information for the resource. */ - provisioningState: string; - } + export interface DiskSecurityProfileResponse { + /** + * ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key + */ + secureVMDiskEncryptionSetId?: string; + /** + * Specifies the SecurityType of the VM. Applicable for OS disks only. + */ + securityType?: string; + } - /** - * Additional Managed CCF properties. - */ - export interface ManagedCCFPropertiesResponse { - /** - * Unique name for the Managed CCF. - */ - appName: string; - /** - * Endpoint for calling Managed CCF Service. - */ - appUri: string; - /** - * Deployment Type of Managed CCF - */ - deploymentType?: outputs.confidentialledger.DeploymentTypeResponse; - /** - * Endpoint for accessing network identity. - */ - identityServiceUri: string; /** - * List of member identity certificates for Managed CCF + * The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. */ - memberIdentityCertificates?: outputs.confidentialledger.MemberIdentityCertificateResponse[]; + export interface DiskSkuResponse { + /** + * The sku name. + */ + name?: string; + /** + * The sku tier. + */ + tier: string; + } + /** - * Number of CCF nodes in the Managed CCF. + * Encryption at rest settings for disk or snapshot */ - nodeCount?: number; + export interface EncryptionResponse { + /** + * ResourceId of the disk encryption set to use for enabling encryption at rest. + */ + diskEncryptionSetId?: string; + /** + * The type of key used to encrypt the data of the disk. + */ + type?: string; + } + /** - * Provisioning state of Ledger Resource + * The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. */ - provisioningState: string; - } + export interface EncryptionSetIdentityResponse { + /** + * The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity + */ + principalId: string; + /** + * The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity + */ + tenantId: string; + /** + * The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys. + */ + type?: string; + /** + * The list of user identities associated with the disk encryption set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: {[key: string]: outputs.compute.v20230402.UserAssignedIdentitiesResponseUserAssignedIdentities}; + } - /** - * Object representing MemberIdentityCertificate for Managed CCF. - */ - export interface MemberIdentityCertificateResponse { /** - * Member Identity Certificate + * Encryption settings for disk or snapshot */ - certificate?: string; + export interface EncryptionSettingsCollectionResponse { + /** + * Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged. + */ + enabled: boolean; + /** + * A collection of encryption settings, one for each disk volume. + */ + encryptionSettings?: outputs.compute.v20230402.EncryptionSettingsElementResponse[]; + /** + * Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + */ + encryptionSettingsVersion?: string; + } + /** - * Member Identity Certificate Encryption Key + * Encryption settings for one disk volume. */ - encryptionkey?: string; - tags?: outputs.confidentialledger.CertificateTagsResponse[]; - } + export interface EncryptionSettingsElementResponse { + /** + * Key Vault Secret Url and vault id of the disk encryption key + */ + diskEncryptionKey?: outputs.compute.v20230402.KeyVaultAndSecretReferenceResponse; + /** + * Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key. + */ + keyEncryptionKey?: outputs.compute.v20230402.KeyVaultAndKeyReferenceResponse; + } - /** - * Metadata pertaining to creation and last modification of the resource. - */ - export interface SystemDataResponse { /** - * The timestamp of resource creation (UTC). + * The complex type of the extended location. */ - createdAt?: string; + export interface ExtendedLocationResponse { + /** + * The name of the extended location. + */ + name?: string; + /** + * The type of the extended location. + */ + type?: string; + } + /** - * The identity that created the resource. + * The source image used for creating the disk. */ - createdBy?: string; + export interface ImageDiskReferenceResponse { + /** + * A relative uri containing a community Azure Compute Gallery image reference. + */ + communityGalleryImageId?: string; + /** + * A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference. + */ + id?: string; + /** + * If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null. + */ + lun?: number; + /** + * A relative uri containing a direct shared Azure Compute Gallery image reference. + */ + sharedGalleryImageId?: string; + } + /** - * The type of identity that created the resource. + * Inner error details. */ - createdByType?: string; + export interface InnerErrorResponse { + /** + * The internal error message or exception dump. + */ + errordetail?: string; + /** + * The exception type. + */ + exceptiontype?: string; + } + /** - * The timestamp of resource last modification (UTC) + * Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots */ - lastModifiedAt?: string; + export interface KeyForDiskEncryptionSetResponse { + /** + * Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value. + */ + keyUrl: string; + /** + * Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription. + */ + sourceVault?: outputs.compute.v20230402.SourceVaultResponse; + } + /** - * The identity that last modified the resource. + * Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey */ - lastModifiedBy?: string; + export interface KeyVaultAndKeyReferenceResponse { + /** + * Url pointing to a key or secret in KeyVault + */ + keyUrl: string; + /** + * Resource id of the KeyVault containing the key or secret + */ + sourceVault: outputs.compute.v20230402.SourceVaultResponse; + } + /** - * The type of identity that last modified the resource. + * Key Vault Secret Url and vault id of the encryption key */ - lastModifiedByType?: string; - } + export interface KeyVaultAndSecretReferenceResponse { + /** + * Url pointing to a key or secret in KeyVault + */ + secretUrl: string; + /** + * Resource id of the KeyVault containing the key or secret + */ + sourceVault: outputs.compute.v20230402.SourceVaultResponse; + } - export namespace v20220513 { /** - * AAD based security principal with associated Ledger RoleName + * The Private Endpoint Connection resource. */ - export interface AADBasedSecurityPrincipalResponse { + export interface PrivateEndpointConnectionResponse { /** - * LedgerRole associated with the Security Principal of Ledger + * private endpoint connection Id */ - ledgerRoleName?: string; + id: string; /** - * UUID/GUID based Principal Id of the Security Principal + * private endpoint connection name */ - principalId?: string; + name: string; /** - * UUID/GUID based Tenant Id of the Security Principal + * The resource of private end point. */ - tenantId?: string; + privateEndpoint: outputs.compute.v20230402.PrivateEndpointResponse; + /** + * A collection of information about the state of the connection between DiskAccess and Virtual Network. + */ + privateLinkServiceConnectionState: outputs.compute.v20230402.PrivateLinkServiceConnectionStateResponse; + /** + * The provisioning state of the private endpoint connection resource. + */ + provisioningState: string; + /** + * private endpoint connection type + */ + type: string; } /** - * Cert based security principal with Ledger RoleName + * The Private Endpoint resource. */ - export interface CertBasedSecurityPrincipalResponse { + export interface PrivateEndpointResponse { /** - * Public key of the user cert (.pem or .cer) + * The ARM identifier for Private Endpoint */ - cert?: string; + id: string; + } + + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + export interface PrivateLinkServiceConnectionStateResponse { /** - * LedgerRole associated with the Security Principal of Ledger + * A message indicating if changes on the service provider require any updates on the consumer. */ - ledgerRoleName?: string; + actionsRequired?: string; + /** + * The reason for approval/rejection of the connection. + */ + description?: string; + /** + * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + */ + status?: string; } /** - * Additional Confidential Ledger properties. + * Properties of the disk for which update is pending. */ - export interface LedgerPropertiesResponse { + export interface PropertyUpdatesInProgressResponse { /** - * Array of all AAD based Security Principals. + * The target performance tier of the disk if a tier change operation is in progress. */ - aadBasedSecurityPrincipals?: outputs.confidentialledger.v20220513.AADBasedSecurityPrincipalResponse[]; + targetTier?: string; + } + + /** + * Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + */ + export interface PurchasePlanResponse { /** - * Array of all cert based Security Principals. + * The plan ID. */ - certBasedSecurityPrincipals?: outputs.confidentialledger.v20220513.CertBasedSecurityPrincipalResponse[]; + name: string; /** - * Endpoint for accessing network identity. + * Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. */ - identityServiceUri: string; + product: string; /** - * Internal namespace for the Ledger + * The Offer Promotion Code. */ - ledgerInternalNamespace: string; + promotionCode?: string; /** - * Unique name for the Confidential Ledger. + * The publisher ID. */ - ledgerName: string; + publisher: string; + } + + export interface ShareInfoElementResponse { /** - * Type of Confidential Ledger + * A relative URI containing the ID of the VM that has the disk attached. */ - ledgerType?: string; + vmUri: string; + } + + /** + * The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + */ + export interface SnapshotSkuResponse { /** - * Endpoint for calling Ledger Service. + * The sku name. */ - ledgerUri: string; + name?: string; /** - * Provisioning state of Ledger Resource + * The sku tier. */ - provisioningState: string; + tier: string; } /** - * Metadata pertaining to creation and last modification of the resource. + * The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} */ - export interface SystemDataResponse { + export interface SourceVaultResponse { /** - * The timestamp of resource creation (UTC). + * Resource Id */ - createdAt?: string; + id?: string; + } + + /** + * List of supported capabilities persisted on the disk resource for VM use. + */ + export interface SupportedCapabilitiesResponse { /** - * The identity that created the resource. + * True if the image from which the OS disk is created supports accelerated networking. */ - createdBy?: string; + acceleratedNetwork?: boolean; /** - * The type of identity that created the resource. + * CPU architecture supported by an OS disk. */ - createdByType?: string; + architecture?: string; /** - * The timestamp of resource last modification (UTC) + * The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI. */ - lastModifiedAt?: string; + diskControllerTypes?: string; + } + + export interface UserAssignedIdentitiesResponseUserAssignedIdentities { /** - * The identity that last modified the resource. + * The client id of user assigned identity. */ - lastModifiedBy?: string; + clientId: string; /** - * The type of identity that last modified the resource. + * The principal id of user assigned identity. */ - lastModifiedByType?: string; + principalId: string; } } - export namespace v20230126preview { + export namespace v20230701 { /** - * AAD based security principal with associated Ledger RoleName + * Enables or disables a capability on the virtual machine or virtual machine scale set. */ - export interface AADBasedSecurityPrincipalResponse { - /** - * LedgerRole associated with the Security Principal of Ledger - */ - ledgerRoleName?: string; + export interface AdditionalCapabilitiesResponse { /** - * UUID/GUID based Principal Id of the Security Principal + * The flag that enables or disables hibernation capability on the VM. */ - principalId?: string; + hibernationEnabled?: boolean; /** - * UUID/GUID based Tenant Id of the Security Principal + * The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. */ - tenantId?: string; + ultraSSDEnabled?: boolean; } /** - * Cert based security principal with Ledger RoleName + * Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. */ - export interface CertBasedSecurityPrincipalResponse { + export interface AdditionalUnattendContentResponse { /** - * Public key of the user cert (.pem or .cer) + * The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. */ - cert?: string; + componentName?: string; /** - * LedgerRole associated with the Security Principal of Ledger + * Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted. */ - ledgerRoleName?: string; + content?: string; + /** + * The pass name. Currently, the only allowable value is OobeSystem. + */ + passName?: string; + /** + * Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. + */ + settingName?: string; } /** - * Tags for Managed CCF Certificates + * The API entity reference. */ - export interface CertificateTagsResponse { + export interface ApiEntityReferenceResponse { /** - * Additional tags for Managed CCF Certificates + * The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... */ - tags?: {[key: string]: string}; + id?: string; } /** - * Object representing DeploymentType for Managed CCF. + * Api error base. */ - export interface DeploymentTypeResponse { + export interface ApiErrorBaseResponse { /** - * Source Uri containing ManagedCCF code + * The error code. */ - appSourceUri?: string; + code?: string; /** - * Unique name for the Managed CCF. + * The error message. */ - languageRuntime?: string; + message?: string; + /** + * The target of the particular error. + */ + target?: string; } /** - * Additional Confidential Ledger properties. + * Api error. */ - export interface LedgerPropertiesResponse { + export interface ApiErrorResponse { /** - * Array of all AAD based Security Principals. + * The error code. */ - aadBasedSecurityPrincipals?: outputs.confidentialledger.v20230126preview.AADBasedSecurityPrincipalResponse[]; + code?: string; /** - * Array of all cert based Security Principals. + * The Api error details */ - certBasedSecurityPrincipals?: outputs.confidentialledger.v20230126preview.CertBasedSecurityPrincipalResponse[]; + details?: outputs.compute.v20230701.ApiErrorBaseResponse[]; /** - * Endpoint for accessing network identity. + * The Api inner error */ - identityServiceUri: string; + innererror?: outputs.compute.v20230701.InnerErrorResponse; /** - * Internal namespace for the Ledger + * The error message. */ - ledgerInternalNamespace: string; + message?: string; /** - * Unique name for the Confidential Ledger. + * The target of the particular error. */ - ledgerName: string; + target?: string; + } + + /** + * Contains the list of gallery applications that should be made available to the VM/VMSS + */ + export interface ApplicationProfileResponse { /** - * Type of Confidential Ledger + * Specifies the gallery applications that should be made available to the VM/VMSS */ - ledgerType?: string; + galleryApplications?: outputs.compute.v20230701.VMGalleryApplicationResponse[]; + } + + /** + * The configuration parameters used for performing automatic OS upgrade. + */ + export interface AutomaticOSUpgradePolicyResponse { /** - * Endpoint for calling Ledger Service. + * Whether OS image rollback feature should be disabled. Default value is false. */ - ledgerUri: string; + disableAutomaticRollback?: boolean; /** - * Provisioning state of Ledger Resource + * Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true. */ - provisioningState: string; + enableAutomaticOSUpgrade?: boolean; /** - * Object representing RunningState for Ledger. + * Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. */ - runningState?: string; + useRollingUpgradePolicy?: boolean; } /** - * Additional Managed CCF properties. + * Specifies the configuration parameters for automatic repairs on the virtual machine scale set. */ - export interface ManagedCCFPropertiesResponse { + export interface AutomaticRepairsPolicyResponse { /** - * Unique name for the Managed CCF. + * Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false. */ - appName: string; + enabled?: boolean; /** - * Endpoint for calling Managed CCF Service. + * The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M). */ - appUri: string; + gracePeriod?: string; /** - * Deployment Type of Managed CCF + * Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. */ - deploymentType?: outputs.confidentialledger.v20230126preview.DeploymentTypeResponse; + repairAction?: string; + } + + /** + * Describes the properties of an virtual machine instance view for available patch summary. + */ + export interface AvailablePatchSummaryResponse { /** - * Endpoint for accessing network identity. + * The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. */ - identityServiceUri: string; + assessmentActivityId: string; /** - * List of member identity certificates for Managed CCF + * The number of critical or security patches that have been detected as available and not yet installed. */ - memberIdentityCertificates?: outputs.confidentialledger.v20230126preview.MemberIdentityCertificateResponse[]; + criticalAndSecurityPatchCount: number; /** - * Number of CCF nodes in the Managed CCF. + * The errors that were encountered during execution of the operation. The details array contains the list of them. */ - nodeCount?: number; + error: outputs.compute.v20230701.ApiErrorResponse; /** - * Provisioning state of Ledger Resource + * The UTC timestamp when the operation began. */ - provisioningState: string; + lastModifiedTime: string; + /** + * The number of all available patches excluding critical and security. + */ + otherPatchCount: number; + /** + * The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred. + */ + rebootPending: boolean; + /** + * The UTC timestamp when the operation began. + */ + startTime: string; + /** + * The overall success or failure status of the operation. It remains "InProgress" until the operation completes. At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings." + */ + status: string; } /** - * Object representing MemberIdentityCertificate for Managed CCF. + * Specifies the billing related details of a Azure Spot VM or VMSS. Minimum api-version: 2019-03-01. */ - export interface MemberIdentityCertificateResponse { - /** - * Member Identity Certificate - */ - certificate?: string; + export interface BillingProfileResponse { /** - * Member Identity Certificate Encryption Key + * Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.

The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.

Possible values are:

- Any decimal value greater than zero. Example: 0.01538

-1 – indicates default price to be up-to on-demand.

You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

Minimum api-version: 2019-03-01. */ - encryptionkey?: string; - tags?: outputs.confidentialledger.v20230126preview.CertificateTagsResponse[]; + maxPrice?: number; } /** - * Metadata pertaining to creation and last modification of the resource. + * The instance view of a virtual machine boot diagnostics. */ - export interface SystemDataResponse { + export interface BootDiagnosticsInstanceViewResponse { /** - * The timestamp of resource creation (UTC). + * The console screenshot blob URI. **Note:** This will **not** be set if boot diagnostics is currently enabled with managed storage. */ - createdAt?: string; + consoleScreenshotBlobUri: string; /** - * The identity that created the resource. + * The serial console log blob Uri. **Note:** This will **not** be set if boot diagnostics is currently enabled with managed storage. */ - createdBy?: string; + serialConsoleLogBlobUri: string; /** - * The type of identity that created the resource. + * The boot diagnostics status information for the VM. **Note:** It will be set only if there are errors encountered in enabling boot diagnostics. */ - createdByType?: string; + status: outputs.compute.v20230701.InstanceViewStatusResponse; + } + + /** + * Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + */ + export interface BootDiagnosticsResponse { /** - * The timestamp of resource last modification (UTC) + * Whether boot diagnostics should be enabled on the Virtual Machine. */ - lastModifiedAt?: string; + enabled?: boolean; /** - * The identity that last modified the resource. + * Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used. */ - lastModifiedBy?: string; + storageUri?: string; + } + + export interface CapacityReservationGroupInstanceViewResponse { /** - * The type of identity that last modified the resource. + * List of instance view of the capacity reservations under the capacity reservation group. */ - lastModifiedByType?: string; + capacityReservations: outputs.compute.v20230701.CapacityReservationInstanceViewWithNameResponse[]; } - } -} - -export namespace confluent { - /** - * Confluent Offer detail - */ - export interface OfferDetailResponse { - /** - * Offer Id - */ - id: string; - /** - * Offer Plan Id - */ - planId: string; - /** - * Offer Plan Name - */ - planName: string; - /** - * Publisher Id - */ - publisherId: string; - /** - * SaaS Offer Status - */ - status: string; /** - * Offer Plan Term unit + * The instance view of a capacity reservation that provides as snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations. */ - termUnit: string; - } + export interface CapacityReservationInstanceViewResponse { + /** + * The resource status information. + */ + statuses?: outputs.compute.v20230701.InstanceViewStatusResponse[]; + /** + * Unutilized capacity of the capacity reservation. + */ + utilizationInfo?: outputs.compute.v20230701.CapacityReservationUtilizationResponse; + } - /** - * Metadata pertaining to creation and last modification of the resource. - */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; - /** - * The type of identity that created the resource. - */ - createdByType?: string; - /** - * The timestamp of resource last modification (UTC) - */ - lastModifiedAt?: string; - /** - * The identity that last modified the resource. - */ - lastModifiedBy?: string; /** - * The type of identity that last modified the resource. + * The instance view of a capacity reservation that includes the name of the capacity reservation. It is used for the response to the instance view of a capacity reservation group. */ - lastModifiedByType?: string; - } + export interface CapacityReservationInstanceViewWithNameResponse { + /** + * The name of the capacity reservation. + */ + name: string; + /** + * The resource status information. + */ + statuses?: outputs.compute.v20230701.InstanceViewStatusResponse[]; + /** + * Unutilized capacity of the capacity reservation. + */ + utilizationInfo?: outputs.compute.v20230701.CapacityReservationUtilizationResponse; + } - /** - * Subscriber detail - */ - export interface UserDetailResponse { - /** - * Email address - */ - emailAddress: string; /** - * First name + * The parameters of a capacity reservation Profile. */ - firstName?: string; + export interface CapacityReservationProfileResponse { + /** + * Specifies the capacity reservation group resource id that should be used for allocating the virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details. + */ + capacityReservationGroup?: outputs.compute.v20230701.SubResourceResponse; + } + /** - * Last name + * Represents the capacity reservation utilization in terms of resources allocated. */ - lastName?: string; - } + export interface CapacityReservationUtilizationResponse { + /** + * The value provides the current capacity of the VM size which was reserved successfully and for which the customer is getting billed. Minimum api-version: 2022-08-01. + */ + currentCapacity: number; + /** + * A list of all virtual machines resource ids allocated against the capacity reservation. + */ + virtualMachinesAllocated: outputs.compute.v20230701.SubResourceReadOnlyResponse[]; + } - export namespace v20200301preview { /** - * Confluent offer detail + * Describes a data disk. */ - export interface OrganizationResourcePropertiesResponseOfferDetail { + export interface DataDiskResponse { /** - * Offer Id + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** */ - id?: string; + caching?: string; /** - * Offer Plan Id + * Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. */ - planId?: string; + createOption: string; /** - * Offer Plan Name + * Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the data disk is deleted when VM is deleted. **Detach.** If this value is used, the data disk is retained after VM is deleted. The default value is set to **Detach**. */ - planName?: string; + deleteOption?: string; /** - * Publisher Id + * Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. */ - publisherId?: string; + detachOption?: string; /** - * SaaS Offer Status + * Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set. */ - status: string; + diskIOPSReadWrite: number; /** - * Offer Plan Term unit + * Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set. */ - termUnit?: string; - } - - /** - * Subscriber detail - */ - export interface OrganizationResourcePropertiesResponseUserDetail { + diskMBpsReadWrite: number; /** - * Email address + * Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. */ - emailAddress?: string; + diskSizeGB?: number; /** - * First name + * The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. */ - firstName?: string; + image?: outputs.compute.v20230701.VirtualHardDiskResponse; /** - * Last name + * Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. */ - lastName?: string; - } - - } - - export namespace v20211201 { - /** - * Confluent Offer detail - */ - export interface OfferDetailResponse { + lun: number; /** - * Offer Id + * The managed disk parameters. */ - id: string; + managedDisk?: outputs.compute.v20230701.ManagedDiskParametersResponse; /** - * Offer Plan Id + * The disk name. */ - planId: string; + name?: string; /** - * Offer Plan Name + * Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset */ - planName: string; + toBeDetached?: boolean; /** - * Publisher Id + * The virtual hard disk. */ - publisherId: string; + vhd?: outputs.compute.v20230701.VirtualHardDiskResponse; /** - * SaaS Offer Status + * Specifies whether writeAccelerator should be enabled or disabled on the disk. */ - status: string; + writeAcceleratorEnabled?: boolean; + } + + /** + * Represents the dedicated host unutilized capacity in terms of a specific VM size. + */ + export interface DedicatedHostAllocatableVMResponse { /** - * Offer Plan Term unit + * Maximum number of VMs of size vmSize that can fit in the dedicated host's remaining capacity. */ - termUnit: string; + count?: number; + /** + * VM size in terms of which the unutilized capacity is represented. + */ + vmSize?: string; } /** - * Metadata pertaining to creation and last modification of the resource. + * Dedicated host unutilized capacity. */ - export interface SystemDataResponse { + export interface DedicatedHostAvailableCapacityResponse { /** - * The timestamp of resource creation (UTC). + * The unutilized capacity of the dedicated host represented in terms of each VM size that is allowed to be deployed to the dedicated host. */ - createdAt?: string; + allocatableVMs?: outputs.compute.v20230701.DedicatedHostAllocatableVMResponse[]; + } + + export interface DedicatedHostGroupInstanceViewResponse { /** - * The identity that created the resource. + * List of instance view of the dedicated hosts under the dedicated host group. */ - createdBy?: string; + hosts?: outputs.compute.v20230701.DedicatedHostInstanceViewWithNameResponse[]; + } + + /** + * Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + */ + export interface DedicatedHostGroupPropertiesResponseAdditionalCapabilities { /** - * The type of identity that created the resource. + * The flag that enables or disables a capability to have UltraSSD Enabled Virtual Machines on Dedicated Hosts of the Dedicated Host Group. For the Virtual Machines to be UltraSSD Enabled, UltraSSDEnabled flag for the resource needs to be set true as well. The value is defaulted to 'false' when not provided. Please refer to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd for more details on Ultra SSD feature. **Note:** The ultraSSDEnabled setting can only be enabled for Host Groups that are created as zonal. Minimum api-version: 2022-03-01. */ - createdByType?: string; + ultraSSDEnabled?: boolean; + } + + /** + * The instance view of a dedicated host. + */ + export interface DedicatedHostInstanceViewResponse { /** - * The timestamp of resource last modification (UTC) + * Specifies the unique id of the dedicated physical machine on which the dedicated host resides. */ - lastModifiedAt?: string; + assetId: string; /** - * The identity that last modified the resource. + * Unutilized capacity of the dedicated host. */ - lastModifiedBy?: string; + availableCapacity?: outputs.compute.v20230701.DedicatedHostAvailableCapacityResponse; /** - * The type of identity that last modified the resource. + * The resource status information. */ - lastModifiedByType?: string; + statuses?: outputs.compute.v20230701.InstanceViewStatusResponse[]; } /** - * Subscriber detail + * The instance view of a dedicated host that includes the name of the dedicated host. It is used for the response to the instance view of a dedicated host group. */ - export interface UserDetailResponse { + export interface DedicatedHostInstanceViewWithNameResponse { /** - * Email address + * Specifies the unique id of the dedicated physical machine on which the dedicated host resides. */ - emailAddress: string; + assetId: string; /** - * First name + * Unutilized capacity of the dedicated host. */ - firstName?: string; + availableCapacity?: outputs.compute.v20230701.DedicatedHostAvailableCapacityResponse; /** - * Last name + * The name of the dedicated host. */ - lastName?: string; + name: string; + /** + * The resource status information. + */ + statuses?: outputs.compute.v20230701.InstanceViewStatusResponse[]; } - } -} - -export namespace connectedvmwarevsphere { - /** - * The resource management error additional info. - */ - export interface ErrorAdditionalInfoResponse { /** - * The additional info. + * Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. */ - info: any; + export interface DiagnosticsProfileResponse { + /** + * Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. **NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + */ + bootDiagnostics?: outputs.compute.v20230701.BootDiagnosticsResponse; + } + /** - * The additional info type. + * Describes the parameters of ephemeral disk settings that can be specified for operating system disk. **Note:** The ephemeral disk settings can only be specified for managed disk. */ - type: string; - } + export interface DiffDiskSettingsResponse { + /** + * Specifies the ephemeral disk settings for operating system disk. + */ + option?: string; + /** + * Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + */ + placement?: string; + } - /** - * The error detail. - */ - export interface ErrorDetailResponse { /** - * The error additional info. - */ - additionalInfo: outputs.connectedvmwarevsphere.ErrorAdditionalInfoResponse[]; - /** - * The error code. - */ - code: string; - /** - * The error details. - */ - details: outputs.connectedvmwarevsphere.ErrorDetailResponse[]; - /** - * The error message. - */ - message: string; - /** - * The error target. - */ - target: string; - } - - /** - * The extended location. - */ - export interface ExtendedLocationResponse { - /** - * The extended location name. - */ - name?: string; - /** - * The extended location type. - */ - type?: string; - } - - /** - * Specifies the guest agent settings for the virtual machine. - */ - export interface GuestAgentProfileResponse { - /** - * The hybrid machine agent full version. - */ - agentVersion: string; - /** - * Gets or sets the Public Key provided by the client for enabling guest management. - */ - clientPublicKey?: string; - /** - * Details about the error state. - */ - errorDetails: outputs.connectedvmwarevsphere.ErrorDetailResponse[]; - /** - * The time of the last status change. - */ - lastStatusChange: string; - /** - * Specifies whether any MS SQL instance is discovered on the machine. - */ - mssqlDiscovered: string; - /** - * The status of the hybrid machine agent. - */ - status: string; - /** - * Specifies the VM's unique SMBIOS ID. - */ - vmUuid: string; - } - - /** - * Username / Password Credentials to connect to guest. - */ - export interface GuestCredentialResponse { - /** - * Gets or sets username to connect with the guest. - */ - username?: string; - } - - /** - * Specifies the hardware settings for the virtual machine. - */ - export interface HardwareProfileResponse { - /** - * Gets or sets a value indicating whether virtual processors can be added while this virtual machine is running. - */ - cpuHotAddEnabled: boolean; - /** - * Gets or sets a value indicating whether virtual processors can be removed while this virtual machine is running. - */ - cpuHotRemoveEnabled: boolean; - /** - * Gets or sets a value indicating whether memory can be added while this virtual machine is running. - */ - memoryHotAddEnabled: boolean; - /** - * Gets or sets memory size in MBs for the vm. - */ - memorySizeMB?: number; - /** - * Gets or sets the number of vCPUs for the vm. - */ - numCPUs?: number; - /** - * Gets or sets the number of cores per socket for the vm. Defaults to 1 if unspecified. - */ - numCoresPerSocket?: number; - } - - /** - * HTTP Proxy configuration for the VM. - */ - export interface HttpProxyConfigurationResponse { - /** - * Gets or sets httpsProxy url. - */ - httpsProxy?: string; - } - - /** - * Managed service identity. - */ - export interface IdentityResponse { - /** - * The principal id of managed service identity. - */ - principalId: string; - /** - * The tenant of managed service identity. - */ - tenantId: string; - /** - * The type of managed service identity. - */ - type: string; - } - - /** - * Instance view status. - */ - export interface MachineExtensionInstanceViewResponseStatus { - /** - * The status code. - */ - code: string; - /** - * The short localizable label for the status. - */ - displayStatus: string; - /** - * The level code. - */ - level: string; - /** - * The detailed status message, including for alerts and error messages. - */ - message: string; - /** - * The time of the status. - */ - time: string; - } - - /** - * The machine extension instance view. - */ - export interface MachineExtensionPropertiesResponseInstanceView { - /** - * The machine extension name. - */ - name: string; - /** - * Instance view status. - */ - status?: outputs.connectedvmwarevsphere.MachineExtensionInstanceViewResponseStatus; - /** - * Specifies the type of the extension; an example is "CustomScriptExtension". - */ - type: string; - /** - * Specifies the version of the script handler. - */ - typeHandlerVersion: string; - } - - /** - * Network Interface model - */ - export interface NetworkInterfaceResponse { - /** - * Gets or sets the device key value. - */ - deviceKey?: number; - /** - * Gets or sets the nic ip addresses. - */ - ipAddresses: string[]; - /** - * Gets or sets the ipsettings. - */ - ipSettings?: outputs.connectedvmwarevsphere.NicIPSettingsResponse; - /** - * Gets or sets the label of the virtual network in vCenter that the nic is connected to. - */ - label: string; - /** - * Gets or sets the NIC MAC address. - */ - macAddress: string; - /** - * Gets or sets the name of the network interface. - */ - name?: string; - /** - * Gets or sets the ARM Id of the network resource to connect the virtual machine. - */ - networkId?: string; - /** - * Gets or sets the name of the virtual network in vCenter that the nic is connected to. - */ - networkMoName: string; - /** - * Gets or sets the vCenter MoRef (Managed Object Reference) ID of the virtual network - * that the nic is connected to. - */ - networkMoRefId: string; - /** - * NIC type - */ - nicType?: string; - /** - * Gets or sets the power on boot. - */ - powerOnBoot?: string; - } - - /** - * Specifies the network interfaces of the virtual machine. - */ - export interface NetworkProfileResponse { - /** - * Gets or sets the list of network interfaces associated with the virtual machine. - */ - networkInterfaces?: outputs.connectedvmwarevsphere.NetworkInterfaceResponse[]; - } - - /** - * IP address information for a virtual network adapter reported by the fabric. - */ - export interface NicIPAddressSettingsResponse { - /** - * Gets the ip address allocation method. - */ - allocationMethod: string; - /** - * Gets the ip address for the nic. - */ - ipAddress: string; - /** - * Gets the mask. - */ - subnetMask: string; - } - - /** - * Defines the network interface ip settings. - */ - export interface NicIPSettingsResponse { - /** - * Gets or sets the nic allocation method. - */ - allocationMethod?: string; - /** - * Gets or sets the dns servers. - */ - dnsServers?: string[]; - /** - * Gets or sets the gateway. - */ - gateway?: string[]; - /** - * Gets or sets the ip address for the nic. - */ - ipAddress?: string; - /** - * Gets or sets the IP address information being reported for this NIC. This contains the same IPv4 information above plus IPV6 information. - */ - ipAddressInfo: outputs.connectedvmwarevsphere.NicIPAddressSettingsResponse[]; - /** - * Gets or sets the primary server. - */ - primaryWinsServer: string; - /** - * Gets or sets the secondary server. - */ - secondaryWinsServer: string; - /** - * Gets or sets the mask. - */ - subnetMask?: string; - } - - /** - * Specifies the operating system settings for the virtual machine. - */ - export interface OsProfileResponse { - /** - * Gets or sets administrator username. - */ - adminUsername?: string; - /** - * Gets or sets a value indicating whether the VM is ready for extension operations. - */ - allowExtensionOperations: boolean; - /** - * Gets or sets computer name. - */ - computerName?: string; - /** - * Gets or sets the guestId. - */ - guestId?: string; - /** - * Specifies the linux configuration for update management. - */ - linuxConfiguration?: outputs.connectedvmwarevsphere.OsProfileResponseLinuxConfiguration; - /** - * Gets or sets os name. - */ - osName: string; - /** - * Gets or sets the type of the os. - */ - osType?: string; - /** - * Gets or sets the current running status of VMware Tools running in the guest operating system. - */ - toolsRunningStatus: string; - /** - * Gets or sets the current version of VMware Tools. - */ - toolsVersion: string; - /** - * Gets or sets the current version status of VMware Tools installed in the guest operating system. - */ - toolsVersionStatus: string; - /** - * Specifies the windows configuration for update management. - */ - windowsConfiguration?: outputs.connectedvmwarevsphere.OsProfileResponseWindowsConfiguration; - } - - /** - * Specifies the linux configuration for update management. - */ - export interface OsProfileResponseLinuxConfiguration { - /** - * Specifies the assessment mode. - */ - assessmentMode?: string; - /** - * Specifies the patch mode. - */ - patchMode?: string; - } - - /** - * Specifies the windows configuration for update management. - */ - export interface OsProfileResponseWindowsConfiguration { - /** - * Specifies the assessment mode. - */ - assessmentMode?: string; - /** - * Specifies the patch mode. - */ - patchMode?: string; - } - - /** - * Specifies the compute and storage placement settings for the virtual machine. - */ - export interface PlacementProfileResponse { - /** - * Gets or sets the ARM Id of the cluster resource on which this virtual machine will deploy. - */ - clusterId?: string; - /** - * Gets or sets the ARM Id of the datastore resource on which the data for the virtual machine will be kept. - */ - datastoreId?: string; - /** - * Gets or sets the ARM Id of the host resource on which this virtual machine will deploy. - */ - hostId?: string; - /** - * Gets or sets the ARM Id of the resourcePool resource on which this virtual machine will deploy. - */ - resourcePoolId?: string; - } - - /** - * The resource status information. - */ - export interface ResourceStatusResponse { - /** - * The last update time for this condition. - */ - lastUpdatedAt: string; - /** - * A human readable message indicating details about the status. - */ - message: string; - /** - * The reason for the condition's status. - */ - reason: string; - /** - * Severity with which to treat failures of this type of condition. - */ - severity: string; - /** - * Status of the condition. - */ - status: string; - /** - * The type of the condition. - */ - type: string; - } - - /** - * Specifies the Security profile settings for the virtual machine. - */ - export interface SecurityProfileResponse { - /** - * Specifies the security settings like secure boot used while creating the virtual machine. - */ - uefiSettings?: outputs.connectedvmwarevsphere.UefiSettingsResponse; - } - - /** - * Specifies the storage settings for the virtual machine disks. - */ - export interface StorageProfileResponse { - /** - * Gets or sets the list of virtual disks associated with the virtual machine. - */ - disks?: outputs.connectedvmwarevsphere.VirtualDiskResponse[]; - /** - * Gets or sets the list of virtual SCSI controllers associated with the virtual machine. - */ - scsiControllers: outputs.connectedvmwarevsphere.VirtualSCSIControllerResponse[]; - } - - /** - * Metadata pertaining to creation and last modification of the resource. - */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; - /** - * The type of identity that created the resource. - */ - createdByType?: string; - /** - * The timestamp of resource last modification (UTC) - */ - lastModifiedAt?: string; - /** - * The identity that last modified the resource. - */ - lastModifiedBy?: string; - /** - * The type of identity that last modified the resource. - */ - lastModifiedByType?: string; - } - - /** - * Specifies the security settings like secure boot used while creating the virtual machine. - */ - export interface UefiSettingsResponse { - /** - * Specifies whether secure boot should be enabled on the virtual machine. - */ - secureBootEnabled?: boolean; - } - - /** - * Username / Password Credentials to connect to vcenter. - */ - export interface VICredentialResponse { - /** - * Gets or sets username to connect with the vCenter. - */ - username?: string; - } - - /** - * Virtual disk model - */ - export interface VirtualDiskResponse { - /** - * Gets or sets the controller id. - */ - controllerKey?: number; - /** - * Gets or sets the device key value. - */ - deviceKey?: number; - /** - * Gets or sets the device name. - */ - deviceName?: string; - /** - * Gets or sets the disk mode. - */ - diskMode?: string; - /** - * Gets or sets the disk object id. - */ - diskObjectId: string; - /** - * Gets or sets the disk total size. - */ - diskSizeGB?: number; - /** - * Gets or sets the disk backing type. - */ - diskType?: string; - /** - * Gets or sets the label of the virtual disk in vCenter. - */ - label: string; - /** - * Gets or sets the name of the virtual disk. - */ - name?: string; - /** - * Gets or sets the unit number of the disk on the controller. - */ - unitNumber?: number; - } - - /** - * This data object type contains the properties of a SCSI controller device attached to a virtual machine that is reported by the controller. - */ - export interface VirtualSCSIControllerResponse { - /** - * Gets or sets the bus number of the controller. - */ - busNumber?: number; - /** - * Gets or sets the key of the controller. - */ - controllerKey?: number; - /** - * Gets or sets the SCSI controller unit number. - */ - scsiCtlrUnitNumber?: number; - /** - * Gets or sets the sharing mode. - */ - sharing?: string; - /** - * Gets or sets the controller type. + * Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. */ - type?: string; - } + export interface DiskEncryptionSetParametersResponse { + /** + * Resource Id + */ + id?: string; + } - export namespace v20220110preview { /** - * Instance view status. + * Describes a Encryption Settings for a Disk */ - export interface MachineExtensionInstanceViewResponseStatus { + export interface DiskEncryptionSettingsResponse { /** - * The status code. + * Specifies the location of the disk encryption key, which is a Key Vault Secret. */ - code: string; + diskEncryptionKey?: outputs.compute.v20230701.KeyVaultSecretReferenceResponse; /** - * The short localizable label for the status. + * Specifies whether disk encryption should be enabled on the virtual machine. */ - displayStatus: string; + enabled?: boolean; /** - * The level code. + * Specifies the location of the key encryption key in Key Vault. */ - level: string; + keyEncryptionKey?: outputs.compute.v20230701.KeyVaultKeyReferenceResponse; + } + + /** + * The instance view of the disk. + */ + export interface DiskInstanceViewResponse { /** - * The detailed status message, including for alerts and error messages. + * Specifies the encryption settings for the OS Disk.

Minimum api-version: 2015-06-15 */ - message: string; + encryptionSettings?: outputs.compute.v20230701.DiskEncryptionSettingsResponse[]; /** - * The time of the status. + * The disk name. */ - time: string; + name?: string; + /** + * The resource status information. + */ + statuses?: outputs.compute.v20230701.InstanceViewStatusResponse[]; } /** - * The machine extension instance view. + * Disk Restore Point details. */ - export interface MachineExtensionPropertiesResponseInstanceView { - /** - * The machine extension name. - */ - name: string; + export interface DiskRestorePointAttributesResponse { /** - * Instance view status. + * Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. */ - status?: outputs.connectedvmwarevsphere.v20220110preview.MachineExtensionInstanceViewResponseStatus; + encryption?: outputs.compute.v20230701.RestorePointEncryptionResponse; /** - * Specifies the type of the extension; an example is "CustomScriptExtension". + * Resource Id */ - type: string; + id: string; /** - * Specifies the version of the script handler. + * Resource Id of the source disk restore point. */ - typeHandlerVersion: string; + sourceDiskRestorePoint?: outputs.compute.v20230701.ApiEntityReferenceResponse; } /** - * Metadata pertaining to creation and last modification of the resource. + * The instance view of a disk restore point. */ - export interface SystemDataResponse { + export interface DiskRestorePointInstanceViewResponse { /** - * The timestamp of resource creation (UTC). + * Disk restore point Id. */ - createdAt?: string; + id?: string; /** - * The identity that created the resource. + * The disk restore point replication status information. */ - createdBy?: string; + replicationStatus?: outputs.compute.v20230701.DiskRestorePointReplicationStatusResponse; + } + + /** + * The instance view of a disk restore point. + */ + export interface DiskRestorePointReplicationStatusResponse { /** - * The type of identity that created the resource. + * Replication completion percentage. */ - createdByType?: string; + completionPercent?: number; /** - * The timestamp of resource last modification (UTC) + * The resource status information. */ - lastModifiedAt?: string; + status?: outputs.compute.v20230701.InstanceViewStatusResponse; + } + + /** + * The complex type of the extended location. + */ + export interface ExtendedLocationResponse { /** - * The identity that last modified the resource. + * The name of the extended location. */ - lastModifiedBy?: string; + name?: string; /** - * The type of identity that last modified the resource. + * The type of the extended location. */ - lastModifiedByType?: string; + type?: string; } - } - - export namespace v20220715preview { /** - * The resource management error additional info. + * Specifies the hardware settings for the virtual machine. */ - export interface ErrorAdditionalInfoResponse { + export interface HardwareProfileResponse { /** - * The additional info. + * Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. */ - info: any; + vmSize?: string; /** - * The additional info type. + * Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. */ - type: string; + vmSizeProperties?: outputs.compute.v20230701.VMSizePropertiesResponse; } /** - * The error detail. + * Describes a data disk. */ - export interface ErrorDetailResponse { + export interface ImageDataDiskResponse { /** - * The error additional info. + * The Virtual Hard Disk. */ - additionalInfo: outputs.connectedvmwarevsphere.v20220715preview.ErrorAdditionalInfoResponse[]; + blobUri?: string; /** - * The error code. + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** */ - code: string; + caching?: string; /** - * The error details. + * Specifies the customer managed disk encryption set resource id for the managed image disk. */ - details: outputs.connectedvmwarevsphere.v20220715preview.ErrorDetailResponse[]; + diskEncryptionSet?: outputs.compute.v20230701.DiskEncryptionSetParametersResponse; /** - * The error message. + * Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. */ - message: string; + diskSizeGB?: number; /** - * The error target. + * Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. */ - target: string; - } - - /** - * The extended location. - */ - export interface ExtendedLocationResponse { + lun: number; /** - * The extended location name. + * The managedDisk. */ - name?: string; + managedDisk?: outputs.compute.v20230701.SubResourceResponse; /** - * The extended location type. + * The snapshot. */ - type?: string; + snapshot?: outputs.compute.v20230701.SubResourceResponse; + /** + * Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + */ + storageAccountType?: string; } /** - * Specifies the guest agent settings for the virtual machine. + * Describes an Operating System disk. */ - export interface GuestAgentProfileResponse { + export interface ImageOSDiskResponse { /** - * The hybrid machine agent full version. + * The Virtual Hard Disk. */ - agentVersion: string; + blobUri?: string; /** - * Gets or sets the Public Key provided by the client for enabling guest management. + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** */ - clientPublicKey?: string; + caching?: string; /** - * Details about the error state. + * Specifies the customer managed disk encryption set resource id for the managed image disk. */ - errorDetails: outputs.connectedvmwarevsphere.v20220715preview.ErrorDetailResponse[]; + diskEncryptionSet?: outputs.compute.v20230701.DiskEncryptionSetParametersResponse; /** - * The time of the last status change. + * Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. */ - lastStatusChange: string; + diskSizeGB?: number; /** - * Specifies whether any MS SQL instance is discovered on the machine. + * The managedDisk. */ - mssqlDiscovered: string; + managedDisk?: outputs.compute.v20230701.SubResourceResponse; /** - * The status of the hybrid machine agent. + * The OS State. For managed images, use Generalized. */ - status: string; + osState: string; /** - * Specifies the VM's unique SMBIOS ID. + * This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. Possible values are: **Windows,** **Linux.** */ - vmUuid: string; - } - - /** - * Username / Password Credentials to connect to guest. - */ - export interface GuestCredentialResponse { + osType: string; /** - * Gets or sets username to connect with the guest. + * The snapshot. */ - username?: string; + snapshot?: outputs.compute.v20230701.SubResourceResponse; + /** + * Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + */ + storageAccountType?: string; } /** - * Specifies the hardware settings for the virtual machine. + * Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set. */ - export interface HardwareProfileResponse { + export interface ImageReferenceResponse { /** - * Gets or sets a value indicating whether virtual processors can be added while this virtual machine is running. + * Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call. */ - cpuHotAddEnabled: boolean; + communityGalleryImageId?: string; /** - * Gets or sets a value indicating whether virtual processors can be removed while this virtual machine is running. + * Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'. */ - cpuHotRemoveEnabled: boolean; + exactVersion: string; /** - * Gets or sets a value indicating whether memory can be added while this virtual machine is running. + * Resource Id */ - memoryHotAddEnabled: boolean; + id?: string; /** - * Gets or sets memory size in MBs for the vm. + * Specifies the offer of the platform image or marketplace image used to create the virtual machine. */ - memorySizeMB?: number; + offer?: string; /** - * Gets or sets the number of vCPUs for the vm. + * The image publisher. */ - numCPUs?: number; + publisher?: string; /** - * Gets or sets the number of cores per socket for the vm. Defaults to 1 if unspecified. + * Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call. */ - numCoresPerSocket?: number; + sharedGalleryImageId?: string; + /** + * The image SKU. + */ + sku?: string; + /** + * Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input. + */ + version?: string; } /** - * HTTP Proxy configuration for the VM. + * Describes a storage profile. */ - export interface HttpProxyConfigurationResponse { + export interface ImageStorageProfileResponse { /** - * Gets or sets httpsProxy url. + * Specifies the parameters that are used to add a data disk to a virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). */ - httpsProxy?: string; + dataDisks?: outputs.compute.v20230701.ImageDataDiskResponse[]; + /** + * Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + */ + osDisk?: outputs.compute.v20230701.ImageOSDiskResponse; + /** + * Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). + */ + zoneResilient?: boolean; } /** - * Managed service identity. + * Inner error details. */ - export interface IdentityResponse { - /** - * The principal id of managed service identity. - */ - principalId: string; + export interface InnerErrorResponse { /** - * The tenant of managed service identity. + * The internal error message or exception dump. */ - tenantId: string; + errordetail?: string; /** - * The type of managed service identity. + * The exception type. */ - type: string; + exceptiontype?: string; } /** * Instance view status. */ - export interface MachineExtensionInstanceViewResponseStatus { + export interface InstanceViewStatusResponse { /** * The status code. */ - code: string; + code?: string; /** * The short localizable label for the status. */ - displayStatus: string; + displayStatus?: string; /** * The level code. */ - level: string; + level?: string; /** * The detailed status message, including for alerts and error messages. */ - message: string; + message?: string; /** * The time of the status. */ - time: string; + time?: string; } /** - * The machine extension instance view. + * Describes a reference to Key Vault Key */ - export interface MachineExtensionPropertiesResponseInstanceView { + export interface KeyVaultKeyReferenceResponse { /** - * The machine extension name. + * The URL referencing a key encryption key in Key Vault. */ - name: string; + keyUrl: string; /** - * Instance view status. + * The relative URL of the Key Vault containing the key. */ - status?: outputs.connectedvmwarevsphere.v20220715preview.MachineExtensionInstanceViewResponseStatus; + sourceVault: outputs.compute.v20230701.SubResourceResponse; + } + + /** + * Describes a reference to Key Vault Secret + */ + export interface KeyVaultSecretReferenceResponse { /** - * Specifies the type of the extension; an example is "CustomScriptExtension". + * The URL referencing a secret in a Key Vault. */ - type: string; + secretUrl: string; /** - * Specifies the version of the script handler. + * The relative URL of the Key Vault containing the secret. */ - typeHandlerVersion: string; + sourceVault: outputs.compute.v20230701.SubResourceResponse; } /** - * Network Interface model + * Describes the properties of the last installed patch summary. */ - export interface NetworkInterfaceResponse { + export interface LastPatchInstallationSummaryResponse { /** - * Gets or sets the device key value. + * The errors that were encountered during execution of the operation. The details array contains the list of them. */ - deviceKey?: number; + error: outputs.compute.v20230701.ApiErrorResponse; /** - * Gets or sets the nic ip addresses. + * The number of all available patches but excluded explicitly by a customer-specified exclusion list match. */ - ipAddresses: string[]; + excludedPatchCount: number; /** - * Gets or sets the ipsettings. + * The count of patches that failed installation. */ - ipSettings?: outputs.connectedvmwarevsphere.v20220715preview.NicIPSettingsResponse; + failedPatchCount: number; /** - * Gets or sets the label of the virtual network in vCenter that the nic is connected to. + * The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. */ - label: string; + installationActivityId: string; /** - * Gets or sets the NIC MAC address. + * The count of patches that successfully installed. */ - macAddress: string; + installedPatchCount: number; /** - * Gets or sets the name of the network interface. + * The UTC timestamp when the operation began. */ - name?: string; + lastModifiedTime: string; /** - * Gets or sets the ARM Id of the network resource to connect the virtual machine. + * Describes whether the operation ran out of time before it completed all its intended actions */ - networkId?: string; + maintenanceWindowExceeded: boolean; /** - * Gets or sets the name of the virtual network in vCenter that the nic is connected to. + * The number of all available patches but not going to be installed because it didn't match a classification or inclusion list entry. */ - networkMoName: string; + notSelectedPatchCount: number; /** - * Gets or sets the vCenter MoRef (Managed Object Reference) ID of the virtual network - * that the nic is connected to. + * The number of all available patches expected to be installed over the course of the patch installation operation. */ - networkMoRefId: string; + pendingPatchCount: number; /** - * NIC type + * The UTC timestamp when the operation began. */ - nicType?: string; + startTime: string; /** - * Gets or sets the power on boot. + * The overall success or failure status of the operation. It remains "InProgress" until the operation completes. At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings." */ - powerOnBoot?: string; + status: string; } /** - * Specifies the network interfaces of the virtual machine. + * Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). */ - export interface NetworkProfileResponse { + export interface LinuxConfigurationResponse { /** - * Gets or sets the list of network interfaces associated with the virtual machine. + * Specifies whether password authentication should be disabled. */ - networkInterfaces?: outputs.connectedvmwarevsphere.v20220715preview.NetworkInterfaceResponse[]; + disablePasswordAuthentication?: boolean; + /** + * Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false. + */ + enableVMAgentPlatformUpdates?: boolean; + /** + * [Preview Feature] Specifies settings related to VM Guest Patching on Linux. + */ + patchSettings?: outputs.compute.v20230701.LinuxPatchSettingsResponse; + /** + * Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + */ + provisionVMAgent?: boolean; + /** + * Specifies the ssh key configuration for a Linux OS. + */ + ssh?: outputs.compute.v20230701.SshConfigurationResponse; } /** - * IP address information for a virtual network adapter reported by the fabric. + * Specifies settings related to VM Guest Patching on Linux. */ - export interface NicIPAddressSettingsResponse { + export interface LinuxPatchSettingsResponse { /** - * Gets the ip address allocation method. + * Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. */ - allocationMethod: string; + assessmentMode?: string; /** - * Gets the ip address for the nic. + * Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux. */ - ipAddress: string; + automaticByPlatformSettings?: outputs.compute.v20230701.LinuxVMGuestPatchAutomaticByPlatformSettingsResponse; /** - * Gets the mask. + * Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**ImageDefault** - The virtual machine's default patching configuration is used.

**AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true */ - subnetMask: string; + patchMode?: string; } /** - * Defines the network interface ip settings. + * Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings. */ - export interface NicIPSettingsResponse { + export interface LinuxVMGuestPatchAutomaticByPlatformSettingsResponse { /** - * Gets or sets the nic allocation method. + * Enables customer to schedule patching without accidental upgrades */ - allocationMethod?: string; + bypassPlatformSafetyChecksOnUserSchedule?: boolean; /** - * Gets or sets the dns servers. + * Specifies the reboot setting for all AutomaticByPlatform patch installation operations. */ - dnsServers?: string[]; + rebootSetting?: string; + } + + /** + * LogAnalytics output properties + */ + export interface LogAnalyticsOutputResponse { /** - * Gets or sets the gateway. + * Output file Uri path to blob container. */ - gateway?: string[]; + output: string; + } + + /** + * Maintenance Operation Status. + */ + export interface MaintenanceRedeployStatusResponse { /** - * Gets or sets the ip address for the nic. + * True, if customer is allowed to perform Maintenance. */ - ipAddress?: string; + isCustomerInitiatedMaintenanceAllowed?: boolean; /** - * Gets or sets the IP address information being reported for this NIC. This contains the same IPv4 information above plus IPV6 information. + * Message returned for the last Maintenance Operation. */ - ipAddressInfo: outputs.connectedvmwarevsphere.v20220715preview.NicIPAddressSettingsResponse[]; + lastOperationMessage?: string; /** - * Gets or sets the primary server. + * The Last Maintenance Operation Result Code. */ - primaryWinsServer: string; + lastOperationResultCode?: string; /** - * Gets or sets the secondary server. + * End Time for the Maintenance Window. */ - secondaryWinsServer: string; + maintenanceWindowEndTime?: string; /** - * Gets or sets the mask. + * Start Time for the Maintenance Window. */ - subnetMask?: string; + maintenanceWindowStartTime?: string; + /** + * End Time for the Pre Maintenance Window. + */ + preMaintenanceWindowEndTime?: string; + /** + * Start Time for the Pre Maintenance Window. + */ + preMaintenanceWindowStartTime?: string; } /** - * Specifies the operating system settings for the virtual machine. + * The parameters of a managed disk. */ - export interface OsProfileResponse { + export interface ManagedDiskParametersResponse { /** - * Gets or sets administrator username. + * Specifies the customer managed disk encryption set resource id for the managed disk. */ - adminUsername?: string; + diskEncryptionSet?: outputs.compute.v20230701.DiskEncryptionSetParametersResponse; /** - * Gets or sets a value indicating whether the VM is ready for extension operations. + * Resource Id */ - allowExtensionOperations: boolean; + id?: string; /** - * Gets or sets computer name. + * Specifies the security profile for the managed disk. */ - computerName?: string; + securityProfile?: outputs.compute.v20230701.VMDiskSecurityProfileResponse; /** - * Gets or sets the guestId. + * Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. */ - guestId?: string; + storageAccountType?: string; + } + + /** + * Describes a network interface reference. + */ + export interface NetworkInterfaceReferenceResponse { /** - * Specifies the linux configuration for update management. + * Specify what happens to the network interface when the VM is deleted */ - linuxConfiguration?: outputs.connectedvmwarevsphere.v20220715preview.OsProfileResponseLinuxConfiguration; + deleteOption?: string; /** - * Gets or sets os name. + * Resource Id */ - osName: string; + id?: string; /** - * Gets or sets the type of the os. + * Specifies the primary network interface in case the virtual machine has more than 1 network interface. + */ + primary?: boolean; + } + + /** + * Specifies the network interfaces or the networking configuration of the virtual machine. + */ + export interface NetworkProfileResponse { + /** + * specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations + */ + networkApiVersion?: string; + /** + * Specifies the networking configurations that will be used to create the virtual machine networking resources. + */ + networkInterfaceConfigurations?: outputs.compute.v20230701.VirtualMachineNetworkInterfaceConfigurationResponse[]; + /** + * Specifies the list of resource Ids for the network interfaces associated with the virtual machine. + */ + networkInterfaces?: outputs.compute.v20230701.NetworkInterfaceReferenceResponse[]; + } + + /** + * Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + */ + export interface OSDiskResponse { + /** + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + */ + caching?: string; + /** + * Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + */ + createOption: string; + /** + * Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the OS disk is deleted when VM is deleted. **Detach.** If this value is used, the os disk is retained after VM is deleted. The default value is set to **Detach**. For an ephemeral OS Disk, the default value is set to **Delete**. The user cannot change the delete option for an ephemeral OS Disk. + */ + deleteOption?: string; + /** + * Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine. + */ + diffDiskSettings?: outputs.compute.v20230701.DiffDiskSettingsResponse; + /** + * Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + */ + diskSizeGB?: number; + /** + * Specifies the encryption settings for the OS Disk. Minimum api-version: 2015-06-15. + */ + encryptionSettings?: outputs.compute.v20230701.DiskEncryptionSettingsResponse; + /** + * The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + */ + image?: outputs.compute.v20230701.VirtualHardDiskResponse; + /** + * The managed disk parameters. + */ + managedDisk?: outputs.compute.v20230701.ManagedDiskParametersResponse; + /** + * The disk name. + */ + name?: string; + /** + * This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** */ osType?: string; /** - * Gets or sets the current running status of VMware Tools running in the guest operating system. + * The virtual hard disk. */ - toolsRunningStatus: string; + vhd?: outputs.compute.v20230701.VirtualHardDiskResponse; /** - * Gets or sets the current version of VMware Tools. + * Specifies whether writeAccelerator should be enabled or disabled on the disk. */ - toolsVersion: string; + writeAcceleratorEnabled?: boolean; + } + + export interface OSImageNotificationProfileResponse { /** - * Gets or sets the current version status of VMware Tools installed in the guest operating system. + * Specifies whether the OS Image Scheduled event is enabled or disabled. */ - toolsVersionStatus: string; + enable?: boolean; /** - * Specifies the windows configuration for update management. + * Length of time a Virtual Machine being reimaged or having its OS upgraded will have to potentially approve the OS Image Scheduled Event before the event is auto approved (timed out). The configuration is specified in ISO 8601 format, and the value must be 15 minutes (PT15M) */ - windowsConfiguration?: outputs.connectedvmwarevsphere.v20220715preview.OsProfileResponseWindowsConfiguration; + notBeforeTimeout?: string; } /** - * Specifies the linux configuration for update management. + * Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned. */ - export interface OsProfileResponseLinuxConfiguration { + export interface OSProfileResponse { /** - * Specifies the assessment mode. + * Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) */ - assessmentMode?: string; + adminPassword?: string; /** - * Specifies the patch mode. + * Specifies the name of the administrator account.

This property cannot be updated after the VM is created.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters. */ - patchMode?: string; + adminUsername?: string; + /** + * Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine. + */ + allowExtensionOperations?: boolean; + /** + * Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters. **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules). + */ + computerName?: string; + /** + * Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property 'customData' is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init). + */ + customData?: string; + /** + * Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + */ + linuxConfiguration?: outputs.compute.v20230701.LinuxConfigurationResponse; + /** + * Optional property which must either be set to True or omitted. + */ + requireGuestProvisionSignal?: boolean; + /** + * Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + */ + secrets?: outputs.compute.v20230701.VaultSecretGroupResponse[]; + /** + * Specifies Windows operating system settings on the virtual machine. + */ + windowsConfiguration?: outputs.compute.v20230701.WindowsConfigurationResponse; } /** - * Specifies the windows configuration for update management. + * Specifies settings related to VM Guest Patching on Windows. */ - export interface OsProfileResponseWindowsConfiguration { + export interface PatchSettingsResponse { /** - * Specifies the assessment mode. + * Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. */ assessmentMode?: string; /** - * Specifies the patch mode. + * Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Windows. + */ + automaticByPlatformSettings?: outputs.compute.v20230701.WindowsVMGuestPatchAutomaticByPlatformSettingsResponse; + /** + * Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + */ + enableHotpatching?: boolean; + /** + * Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

**AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true */ patchMode?: string; } /** - * Specifies the compute and storage placement settings for the virtual machine. + * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. */ - export interface PlacementProfileResponse { + export interface PlanResponse { /** - * Gets or sets the ARM Id of the cluster resource on which this virtual machine will deploy. + * The plan ID. */ - clusterId?: string; + name?: string; /** - * Gets or sets the ARM Id of the datastore resource on which the data for the virtual machine will be kept. + * Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. */ - datastoreId?: string; + product?: string; /** - * Gets or sets the ARM Id of the host resource on which this virtual machine will deploy. + * The promotion code. */ - hostId?: string; + promotionCode?: string; /** - * Gets or sets the ARM Id of the resourcePool resource on which this virtual machine will deploy. + * The publisher ID. */ - resourcePoolId?: string; + publisher?: string; } /** - * The resource status information. + * Specifies the target splits for Spot and Regular priority VMs within a scale set with flexible orchestration mode. With this property the customer is able to specify the base number of regular priority VMs created as the VMSS flex instance scales out and the split between Spot and Regular priority VMs after this base target has been reached. */ - export interface ResourceStatusResponse { + export interface PriorityMixPolicyResponse { /** - * The last update time for this condition. + * The base number of regular priority VMs that will be created in this scale set as it scales out. */ - lastUpdatedAt: string; + baseRegularPriorityCount?: number; /** - * A human readable message indicating details about the status. + * The percentage of VM instances, after the base regular priority count has been reached, that are expected to use regular priority. */ - message: string; + regularPriorityPercentageAboveBase?: number; + } + + /** + * Specifies the user intent of the proximity placement group. + */ + export interface ProximityPlacementGroupPropertiesResponseIntent { /** - * The reason for the condition's status. + * Specifies possible sizes of virtual machines that can be created in the proximity placement group. */ - reason: string; + vmSizes?: string[]; + } + + /** + * Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + */ + export interface PublicIPAddressSkuResponse { /** - * Severity with which to treat failures of this type of condition. + * Specify public IP sku name */ - severity: string; + name?: string; /** - * Status of the condition. + * Specify public IP sku tier */ - status: string; + tier?: string; + } + + /** + * The properties of the source resource that this restore point collection is created from. + */ + export interface RestorePointCollectionSourcePropertiesResponse { /** - * The type of the condition. + * Resource Id of the source resource used to create this restore point collection */ - type: string; + id?: string; + /** + * Location of the source resource used to create this restore point collection. + */ + location: string; } /** - * Specifies the Security profile settings for the virtual machine. + * Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. */ - export interface SecurityProfileResponse { + export interface RestorePointEncryptionResponse { /** - * Specifies the security settings like secure boot used while creating the virtual machine. + * Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. */ - uefiSettings?: outputs.connectedvmwarevsphere.v20220715preview.UefiSettingsResponse; + diskEncryptionSet?: outputs.compute.v20230701.DiskEncryptionSetParametersResponse; + /** + * The type of key used to encrypt the data of the disk restore point. + */ + type?: string; } /** - * Specifies the storage settings for the virtual machine disks. + * The instance view of a restore point. */ - export interface StorageProfileResponse { + export interface RestorePointInstanceViewResponse { /** - * Gets or sets the list of virtual disks associated with the virtual machine. + * The disk restore points information. */ - disks?: outputs.connectedvmwarevsphere.v20220715preview.VirtualDiskResponse[]; + diskRestorePoints?: outputs.compute.v20230701.DiskRestorePointInstanceViewResponse[]; /** - * Gets or sets the list of virtual SCSI controllers associated with the virtual machine. + * The resource status information. */ - scsiControllers: outputs.connectedvmwarevsphere.v20220715preview.VirtualSCSIControllerResponse[]; + statuses?: outputs.compute.v20230701.InstanceViewStatusResponse[]; } /** - * Metadata pertaining to creation and last modification of the resource. + * Restore Point details. */ - export interface SystemDataResponse { + export interface RestorePointResponse { /** - * The timestamp of resource creation (UTC). + * ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. */ - createdAt?: string; + consistencyMode?: string; /** - * The identity that created the resource. + * List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. */ - createdBy?: string; + excludeDisks?: outputs.compute.v20230701.ApiEntityReferenceResponse[]; /** - * The type of identity that created the resource. + * Resource Id */ - createdByType?: string; + id: string; /** - * The timestamp of resource last modification (UTC) + * The restore point instance view. */ - lastModifiedAt?: string; + instanceView: outputs.compute.v20230701.RestorePointInstanceViewResponse; /** - * The identity that last modified the resource. + * Resource name */ - lastModifiedBy?: string; + name: string; /** - * The type of identity that last modified the resource. + * Gets the provisioning state of the restore point. */ - lastModifiedByType?: string; + provisioningState: string; + /** + * Gets the details of the VM captured at the time of the restore point creation. + */ + sourceMetadata?: outputs.compute.v20230701.RestorePointSourceMetadataResponse; + /** + * Resource Id of the source restore point from which a copy needs to be created. + */ + sourceRestorePoint?: outputs.compute.v20230701.ApiEntityReferenceResponse; + /** + * Gets the creation time of the restore point. + */ + timeCreated?: string; + /** + * Resource type + */ + type: string; } /** - * Specifies the security settings like secure boot used while creating the virtual machine. + * Describes the properties of the Virtual Machine for which the restore point was created. The properties provided are a subset and the snapshot of the overall Virtual Machine properties captured at the time of the restore point creation. */ - export interface UefiSettingsResponse { + export interface RestorePointSourceMetadataResponse { /** - * Specifies whether secure boot should be enabled on the virtual machine. + * Gets the diagnostics profile. */ - secureBootEnabled?: boolean; + diagnosticsProfile: outputs.compute.v20230701.DiagnosticsProfileResponse; + /** + * Gets the hardware profile. + */ + hardwareProfile: outputs.compute.v20230701.HardwareProfileResponse; + /** + * HyperVGeneration of the source VM for which restore point is captured. + */ + hyperVGeneration: string; + /** + * Gets the license type, which is for bring your own license scenario. + */ + licenseType: string; + /** + * Location of the VM from which the restore point was created. + */ + location: string; + /** + * Gets the OS profile. + */ + osProfile: outputs.compute.v20230701.OSProfileResponse; + /** + * Gets the security profile. + */ + securityProfile: outputs.compute.v20230701.SecurityProfileResponse; + /** + * Gets the storage profile. + */ + storageProfile?: outputs.compute.v20230701.RestorePointSourceVMStorageProfileResponse; + /** + * UserData associated with the source VM for which restore point is captured, which is a base-64 encoded value. + */ + userData: string; + /** + * Gets the virtual machine unique id. + */ + vmId: string; } /** - * Username / Password Credentials to connect to vcenter. + * Describes a data disk. */ - export interface VICredentialResponse { + export interface RestorePointSourceVMDataDiskResponse { /** - * Gets or sets username to connect with the vCenter. + * Gets the caching type. */ - username?: string; + caching: string; + /** + * Contains Disk Restore Point properties. + */ + diskRestorePoint?: outputs.compute.v20230701.DiskRestorePointAttributesResponse; + /** + * Gets the initial disk size in GB for blank data disks, and the new desired size for existing OS and Data disks. + */ + diskSizeGB: number; + /** + * Gets the logical unit number. + */ + lun: number; + /** + * Contains the managed disk details. + */ + managedDisk?: outputs.compute.v20230701.ManagedDiskParametersResponse; + /** + * Gets the disk name. + */ + name: string; + /** + * Shows true if the disk is write-accelerator enabled. + */ + writeAcceleratorEnabled: boolean; } /** - * Virtual disk model + * Describes an Operating System disk. */ - export interface VirtualDiskResponse { + export interface RestorePointSourceVMOSDiskResponse { /** - * Gets or sets the controller id. + * Gets the caching type. */ - controllerKey?: number; + caching: string; /** - * Gets or sets the device key value. + * Contains Disk Restore Point properties. */ - deviceKey?: number; + diskRestorePoint?: outputs.compute.v20230701.DiskRestorePointAttributesResponse; /** - * Gets or sets the device name. + * Gets the disk size in GB. */ - deviceName?: string; + diskSizeGB: number; /** - * Gets or sets the disk mode. + * Gets the disk encryption settings. */ - diskMode?: string; + encryptionSettings: outputs.compute.v20230701.DiskEncryptionSettingsResponse; /** - * Gets or sets the disk object id. + * Gets the managed disk details */ - diskObjectId: string; + managedDisk?: outputs.compute.v20230701.ManagedDiskParametersResponse; /** - * Gets or sets the disk total size. + * Gets the disk name. */ - diskSizeGB?: number; + name: string; /** - * Gets or sets the disk backing type. + * Gets the Operating System type. */ - diskType?: string; + osType: string; /** - * Gets or sets the label of the virtual disk in vCenter. + * Shows true if the disk is write-accelerator enabled. */ - label: string; + writeAcceleratorEnabled: boolean; + } + + /** + * Describes the storage profile. + */ + export interface RestorePointSourceVMStorageProfileResponse { /** - * Gets or sets the name of the virtual disk. + * Gets the data disks of the VM captured at the time of the restore point creation. */ - name?: string; + dataDisks?: outputs.compute.v20230701.RestorePointSourceVMDataDiskResponse[]; /** - * Gets or sets the unit number of the disk on the controller. + * Gets the OS disk of the VM captured at the time of the restore point creation. */ - unitNumber?: number; + osDisk?: outputs.compute.v20230701.RestorePointSourceVMOSDiskResponse; } /** - * This data object type contains the properties of a SCSI controller device attached to a virtual machine that is reported by the controller. + * The configuration parameters used while performing a rolling upgrade. */ - export interface VirtualSCSIControllerResponse { + export interface RollingUpgradePolicyResponse { /** - * Gets or sets the bus number of the controller. + * Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size. */ - busNumber?: number; + enableCrossZoneUpgrade?: boolean; /** - * Gets or sets the key of the controller. + * The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. */ - controllerKey?: number; + maxBatchInstancePercent?: number; /** - * Gets or sets the SCSI controller unit number. + * Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. */ - scsiCtlrUnitNumber?: number; + maxSurge?: boolean; /** - * Gets or sets the sharing mode. + * The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%. */ - sharing?: string; + maxUnhealthyInstancePercent?: number; /** - * Gets or sets the controller type. + * The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%. */ - type?: string; + maxUnhealthyUpgradedInstancePercent?: number; + /** + * The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). + */ + pauseTimeBetweenBatches?: string; + /** + * Upgrade all unhealthy instances in a scale set before any healthy instances. + */ + prioritizeUnhealthyInstances?: boolean; + /** + * Rollback failed instances to previous model if the Rolling Upgrade policy is violated. + */ + rollbackFailedInstancesOnPolicyBreach?: boolean; } - } -} - -export namespace consumption { - /** - * The comparison expression to be used in the budgets. - */ - export interface BudgetComparisonExpressionResponse { - /** - * The name of the column to use in comparison. - */ - name: string; /** - * The operator to use for comparison. - */ - operator: string; - /** - * Array of values to use for comparison + * Describes the properties of a run command parameter. */ - values: string[]; - } + export interface RunCommandInputParameterResponse { + /** + * The run command parameter name. + */ + name: string; + /** + * The run command parameter value. + */ + value: string; + } - /** - * The Dimensions or Tags to filter a budget by. - */ - export interface BudgetFilterPropertiesResponse { - /** - * Has comparison expression for a dimension - */ - dimensions?: outputs.consumption.BudgetComparisonExpressionResponse; /** - * Has comparison expression for a tag + * Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. */ - tags?: outputs.consumption.BudgetComparisonExpressionResponse; - } + export interface RunCommandManagedIdentityResponse { + /** + * Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. + */ + clientId?: string; + /** + * Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. + */ + objectId?: string; + } - /** - * May be used to filter budgets by resource group, resource, or meter. - */ - export interface BudgetFilterResponse { - /** - * The logical "AND" expression. Must have at least 2 items. - */ - and?: outputs.consumption.BudgetFilterPropertiesResponse[]; /** - * Has comparison expression for a dimension - */ - dimensions?: outputs.consumption.BudgetComparisonExpressionResponse; - /** - * Has comparison expression for a tag + * Describes a scale-in policy for a virtual machine scale set. */ - tags?: outputs.consumption.BudgetComparisonExpressionResponse; - } + export interface ScaleInPolicyResponse { + /** + * This property allows you to specify if virtual machines chosen for removal have to be force deleted when a virtual machine scale set is being scaled-in.(Feature in Preview) + */ + forceDeletion?: boolean; + /** + * The rules to be followed when scaling-in a virtual machine scale set.

Possible values are:

**Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

**OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

**NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

+ */ + rules?: string[]; + } - /** - * The start and end date for a budget. - */ - export interface BudgetTimePeriodResponse { - /** - * The end date for the budget. If not provided, we default this to 10 years from the start date. - */ - endDate?: string; - /** - * The start date for the budget. - */ - startDate: string; - } + export interface ScheduledEventsProfileResponse { + /** + * Specifies OS Image Scheduled Event related configurations. + */ + osImageNotificationProfile?: outputs.compute.v20230701.OSImageNotificationProfileResponse; + /** + * Specifies Terminate Scheduled Event related configurations. + */ + terminateNotificationProfile?: outputs.compute.v20230701.TerminateNotificationProfileResponse; + } - /** - * The current amount of cost which is being tracked for a budget. - */ - export interface CurrentSpendResponse { - /** - * The total amount of cost which is being tracked by the budget. - */ - amount: number; /** - * The unit of measure for the budget amount. + * Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 */ - unit: string; - } + export interface SecurityPostureReferenceResponse { + /** + * List of virtual machine extensions to exclude when applying the Security Posture. + */ + excludeExtensions?: outputs.compute.v20230701.VirtualMachineExtensionResponse[]; + /** + * The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest + */ + id?: string; + } - /** - * The forecasted cost which is being tracked for a budget. - */ - export interface ForecastSpendResponse { /** - * The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type. - */ - amount: number; - /** - * The unit of measure for the budget amount. + * Specifies the Security profile settings for the virtual machine or virtual machine scale set. */ - unit: string; - } + export interface SecurityProfileResponse { + /** + * This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. The default behavior is: The Encryption at host will be disabled unless this property is set to true for the resource. + */ + encryptionAtHost?: boolean; + /** + * Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set. + */ + securityType?: string; + /** + * Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + */ + uefiSettings?: outputs.compute.v20230701.UefiSettingsResponse; + } - /** - * The notification associated with a budget. - */ - export interface NotificationResponse { - /** - * Email addresses to send the budget notification to when the threshold is exceeded. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified. - */ - contactEmails: string[]; - /** - * Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes. - */ - contactGroups?: string[]; - /** - * Contact roles to send the budget notification to when the threshold is exceeded. - */ - contactRoles?: string[]; /** - * The notification is enabled or not. + * Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 */ - enabled: boolean; + export interface ServiceArtifactReferenceResponse { + /** + * The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} + */ + id?: string; + } + /** - * Language in which the recipient will receive the notification + * Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. */ - locale?: string; + export interface SkuResponse { + /** + * Specifies the number of virtual machines in the scale set. + */ + capacity?: number; + /** + * The sku name. + */ + name?: string; + /** + * Specifies the tier of virtual machines in a scale set.

Possible Values:

**Standard**

**Basic** + */ + tier?: string; + } + /** - * The comparison operator. + * Specifies the Spot-Try-Restore properties for the virtual machine scale set. With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint. */ - operator: string; + export interface SpotRestorePolicyResponse { + /** + * Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints + */ + enabled?: boolean; + /** + * Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances + */ + restoreTimeout?: string; + } + /** - * Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000. + * SSH configuration for Linux based VMs running on Azure */ - threshold: number; + export interface SshConfigurationResponse { + /** + * The list of SSH public keys used to authenticate with linux based VMs. + */ + publicKeys?: outputs.compute.v20230701.SshPublicKeyResponse[]; + } + /** - * The type of threshold + * Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. */ - thresholdType?: string; - } - /** - * notificationResponseProvideDefaults sets the appropriate defaults for NotificationResponse - */ - export function notificationResponseProvideDefaults(val: NotificationResponse): NotificationResponse { - return { - ...val, - thresholdType: (val.thresholdType) ?? "Actual", - }; - } + export interface SshPublicKeyResponse { + /** + * SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + */ + keyData?: string; + /** + * Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + */ + path?: string; + } - export namespace v20230501 { /** - * The comparison expression to be used in the budgets. + * Specifies the storage settings for the virtual machine disks. */ - export interface BudgetComparisonExpressionResponse { + export interface StorageProfileResponse { /** - * The name of the column to use in comparison. + * Specifies the parameters that are used to add a data disk to a virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). */ - name: string; + dataDisks?: outputs.compute.v20230701.DataDiskResponse[]; /** - * The operator to use for comparison. + * Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01. */ - operator: string; + diskControllerType?: string; /** - * Array of values to use for comparison + * Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. */ - values: string[]; + imageReference?: outputs.compute.v20230701.ImageReferenceResponse; + /** + * Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + */ + osDisk?: outputs.compute.v20230701.OSDiskResponse; } - /** - * The Dimensions or Tags to filter a budget by. - */ - export interface BudgetFilterPropertiesResponse { + export interface SubResourceReadOnlyResponse { /** - * Has comparison expression for a dimension + * Resource Id */ - dimensions?: outputs.consumption.v20230501.BudgetComparisonExpressionResponse; + id: string; + } + + export interface SubResourceResponse { /** - * Has comparison expression for a tag + * Resource Id */ - tags?: outputs.consumption.v20230501.BudgetComparisonExpressionResponse; + id?: string; } - /** - * May be used to filter budgets by resource group, resource, or meter. - */ - export interface BudgetFilterResponse { + export interface SubResourceWithColocationStatusResponse { /** - * The logical "AND" expression. Must have at least 2 items. + * Describes colocation status of a resource in the Proximity Placement Group. */ - and?: outputs.consumption.v20230501.BudgetFilterPropertiesResponse[]; + colocationStatus?: outputs.compute.v20230701.InstanceViewStatusResponse; /** - * Has comparison expression for a dimension + * Resource Id */ - dimensions?: outputs.consumption.v20230501.BudgetComparisonExpressionResponse; + id?: string; + } + + export interface TerminateNotificationProfileResponse { /** - * Has comparison expression for a tag + * Specifies whether the Terminate Scheduled event is enabled or disabled. */ - tags?: outputs.consumption.v20230501.BudgetComparisonExpressionResponse; + enable?: boolean; + /** + * Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M) + */ + notBeforeTimeout?: string; } /** - * The start and end date for a budget. + * Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. */ - export interface BudgetTimePeriodResponse { + export interface UefiSettingsResponse { /** - * The end date for the budget. If not provided, we default this to 10 years from the start date. + * Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01. */ - endDate?: string; + secureBootEnabled?: boolean; /** - * The start date for the budget. + * Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01. */ - startDate: string; + vTpmEnabled?: boolean; } /** - * The current amount of cost which is being tracked for a budget. + * Describes an upgrade policy - automatic, manual, or rolling. */ - export interface CurrentSpendResponse { + export interface UpgradePolicyResponse { /** - * The total amount of cost which is being tracked by the budget. + * Configuration parameters used for performing automatic OS Upgrade. */ - amount: number; + automaticOSUpgradePolicy?: outputs.compute.v20230701.AutomaticOSUpgradePolicyResponse; /** - * The unit of measure for the budget amount. + * Specifies the mode of an upgrade to virtual machines in the scale set.

Possible values are:

**Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

**Automatic** - All virtual machines in the scale set are automatically updated at the same time. */ - unit: string; + mode?: string; + /** + * The configuration parameters used while performing a rolling upgrade. + */ + rollingUpgradePolicy?: outputs.compute.v20230701.RollingUpgradePolicyResponse; } - /** - * The forecasted cost which is being tracked for a budget. - */ - export interface ForecastSpendResponse { + export interface UserAssignedIdentitiesResponseUserAssignedIdentities { /** - * The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type. + * The client id of user assigned identity. */ - amount: number; + clientId: string; /** - * The unit of measure for the budget amount. + * The principal id of user assigned identity. */ - unit: string; + principalId: string; } /** - * The notification associated with a budget. + * Specifies the security profile settings for the managed disk. **Note:** It can only be set for Confidential VMs. */ - export interface NotificationResponse { + export interface VMDiskSecurityProfileResponse { /** - * Email addresses to send the budget notification to when the threshold is exceeded. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified. + * Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. */ - contactEmails: string[]; + diskEncryptionSet?: outputs.compute.v20230701.DiskEncryptionSetParametersResponse; /** - * Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes. + * Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs. */ - contactGroups?: string[]; + securityEncryptionType?: string; + } + + /** + * Specifies the required information to reference a compute gallery application version + */ + export interface VMGalleryApplicationResponse { /** - * Contact roles to send the budget notification to when the threshold is exceeded. + * Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided */ - contactRoles?: string[]; + configurationReference?: string; /** - * The notification is enabled or not. + * If set to true, when a new Gallery Application version is available in PIR/SIG, it will be automatically updated for the VM/VMSS */ - enabled: boolean; + enableAutomaticUpgrade?: boolean; /** - * Language in which the recipient will receive the notification + * Optional, Specifies the order in which the packages have to be installed */ - locale?: string; + order?: number; /** - * The comparison operator. + * Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} */ - operator: string; + packageReferenceId: string; /** - * Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000. + * Optional, Specifies a passthrough value for more generic context. */ - threshold: number; + tags?: string; /** - * The type of threshold + * Optional, If true, any failure for any operation in the VmApplication will fail the deployment */ - thresholdType?: string; + treatFailureAsDeploymentFailure?: boolean; } + /** - * notificationResponseProvideDefaults sets the appropriate defaults for NotificationResponse + * Specifies VM Size Property settings on the virtual machine. */ - export function notificationResponseProvideDefaults(val: NotificationResponse): NotificationResponse { - return { - ...val, - thresholdType: (val.thresholdType) ?? "Actual", - }; + export interface VMSizePropertiesResponse { + /** + * Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). + */ + vCPUsAvailable?: number; + /** + * Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.** + */ + vCPUsPerCore?: number; } - } -} - -export namespace containerinstance { - /** - * The properties of the Azure File volume. Azure File shares are mounted as volumes. - */ - export interface AzureFileVolumeResponse { - /** - * The flag indicating whether the Azure File shared mounted as a volume is read-only. - */ - readOnly?: boolean; /** - * The name of the Azure File share to be mounted as a volume. + * Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. */ - shareName: string; + export interface VaultCertificateResponse { + /** + * For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted. + */ + certificateStore?: string; + /** + * This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + */ + certificateUrl?: string; + } + /** - * The storage account access key used to access the Azure File share. + * Describes a set of certificates which are all in the same Key Vault. */ - storageAccountKey?: string; + export interface VaultSecretGroupResponse { + /** + * The relative URL of the Key Vault containing all of the certificates in VaultCertificates. + */ + sourceVault?: outputs.compute.v20230701.SubResourceResponse; + /** + * The list of key vault references in SourceVault which contain certificates. + */ + vaultCertificates?: outputs.compute.v20230701.VaultCertificateResponse[]; + } + /** - * The name of the storage account that contains the Azure File share. + * Describes the uri of a disk. */ - storageAccountName: string; - } + export interface VirtualHardDiskResponse { + /** + * Specifies the virtual hard disk's uri. + */ + uri?: string; + } - /** - * The properties for confidential container group - */ - export interface ConfidentialComputePropertiesResponse { /** - * The base64 encoded confidential compute enforcement policy + * The instance view of the VM Agent running on the virtual machine. */ - ccePolicy?: string; - } + export interface VirtualMachineAgentInstanceViewResponse { + /** + * The virtual machine extension handler instance view. + */ + extensionHandlers?: outputs.compute.v20230701.VirtualMachineExtensionHandlerInstanceViewResponse[]; + /** + * The resource status information. + */ + statuses?: outputs.compute.v20230701.InstanceViewStatusResponse[]; + /** + * The VM Agent full version. + */ + vmAgentVersion?: string; + } - /** - * The container execution command, for liveness or readiness probe - */ - export interface ContainerExecResponse { /** - * The commands to execute within the container. + * The instance view of a virtual machine extension handler. */ - command?: string[]; - } + export interface VirtualMachineExtensionHandlerInstanceViewResponse { + /** + * The extension handler status. + */ + status?: outputs.compute.v20230701.InstanceViewStatusResponse; + /** + * Specifies the type of the extension; an example is "CustomScriptExtension". + */ + type?: string; + /** + * Specifies the version of the script handler. + */ + typeHandlerVersion?: string; + } - /** - * Container group diagnostic information. - */ - export interface ContainerGroupDiagnosticsResponse { /** - * Container group log analytics information. + * The instance view of a virtual machine extension. */ - logAnalytics?: outputs.containerinstance.LogAnalyticsResponse; - } + export interface VirtualMachineExtensionInstanceViewResponse { + /** + * The virtual machine extension name. + */ + name?: string; + /** + * The resource status information. + */ + statuses?: outputs.compute.v20230701.InstanceViewStatusResponse[]; + /** + * The resource status information. + */ + substatuses?: outputs.compute.v20230701.InstanceViewStatusResponse[]; + /** + * Specifies the type of the extension; an example is "CustomScriptExtension". + */ + type?: string; + /** + * Specifies the version of the script handler. + */ + typeHandlerVersion?: string; + } - /** - * Identity for the container group. - */ - export interface ContainerGroupIdentityResponse { /** - * The principal id of the container group identity. This property will only be provided for a system assigned identity. + * Describes a Virtual Machine Extension. */ - principalId: string; + export interface VirtualMachineExtensionResponse { + /** + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + */ + autoUpgradeMinorVersion?: boolean; + /** + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + */ + enableAutomaticUpgrade?: boolean; + /** + * How the extension handler should be forced to update even if the extension configuration has not changed. + */ + forceUpdateTag?: string; + /** + * Resource Id + */ + id: string; + /** + * The virtual machine extension instance view. + */ + instanceView?: outputs.compute.v20230701.VirtualMachineExtensionInstanceViewResponse; + /** + * Resource location + */ + location?: string; + /** + * Resource name + */ + name: string; + /** + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + */ + protectedSettings?: any; + /** + * The extensions protected settings that are passed by reference, and consumed from key vault + */ + protectedSettingsFromKeyVault?: outputs.compute.v20230701.KeyVaultSecretReferenceResponse; + /** + * Collection of extension names after which this extension needs to be provisioned. + */ + provisionAfterExtensions?: string[]; + /** + * The provisioning state, which only appears in the response. + */ + provisioningState: string; + /** + * The name of the extension handler publisher. + */ + publisher?: string; + /** + * Json formatted public settings for the extension. + */ + settings?: any; + /** + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + */ + suppressFailures?: boolean; + /** + * Resource tags + */ + tags?: {[key: string]: string}; + /** + * Resource type + */ + type: string; + /** + * Specifies the version of the script handler. + */ + typeHandlerVersion?: string; + } + /** - * The tenant id associated with the container group. This property will only be provided for a system assigned identity. + * The health status of the VM. */ - tenantId: string; + export interface VirtualMachineHealthStatusResponse { + /** + * The health status information for the VM. + */ + status: outputs.compute.v20230701.InstanceViewStatusResponse; + } + /** - * The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group. + * Identity for the virtual machine. */ - type?: string; - /** - * The list of user identities associated with the container group. - */ - userAssignedIdentities?: {[key: string]: outputs.containerinstance.UserAssignedIdentitiesResponse}; - } - - /** - * The instance view of the container group. Only valid in response. - */ - export interface ContainerGroupPropertiesResponseInstanceView { - /** - * The events of this container group. - */ - events: outputs.containerinstance.EventResponse[]; - /** - * The state of the container group. Only valid in response. - */ - state: string; - } - - /** - * Container group subnet information. - */ - export interface ContainerGroupSubnetIdResponse { - /** - * Resource ID of virtual network and subnet. - */ - id: string; - /** - * Friendly name for the subnet. - */ - name?: string; - } - - /** - * The container Http Get settings, for liveness or readiness probe - */ - export interface ContainerHttpGetResponse { - /** - * The HTTP headers. - */ - httpHeaders?: outputs.containerinstance.HttpHeaderResponse[]; - /** - * The path to probe. - */ - path?: string; - /** - * The port number to probe. - */ - port: number; - /** - * The scheme. - */ - scheme?: string; - } - - /** - * The port exposed on the container instance. - */ - export interface ContainerPortResponse { - /** - * The port number exposed within the container group. - */ - port: number; - /** - * The protocol associated with the port. - */ - protocol?: string; - } - - /** - * The container probe, for liveness or readiness - */ - export interface ContainerProbeResponse { - /** - * The execution command to probe - */ - exec?: outputs.containerinstance.ContainerExecResponse; - /** - * The failure threshold. - */ - failureThreshold?: number; - /** - * The Http Get settings to probe - */ - httpGet?: outputs.containerinstance.ContainerHttpGetResponse; - /** - * The initial delay seconds. - */ - initialDelaySeconds?: number; - /** - * The period seconds. - */ - periodSeconds?: number; - /** - * The success threshold. - */ - successThreshold?: number; - /** - * The timeout seconds. - */ - timeoutSeconds?: number; - } - - /** - * The instance view of the container instance. Only valid in response. - */ - export interface ContainerPropertiesResponseInstanceView { - /** - * Current container instance state. - */ - currentState: outputs.containerinstance.ContainerStateResponse; - /** - * The events of the container instance. - */ - events: outputs.containerinstance.EventResponse[]; - /** - * Previous container instance state. - */ - previousState: outputs.containerinstance.ContainerStateResponse; - /** - * The number of times that the container instance has been restarted. - */ - restartCount: number; - } - - /** - * A container instance. - */ - export interface ContainerResponse { - /** - * The commands to execute within the container instance in exec form. - */ - command?: string[]; - /** - * The environment variables to set in the container instance. - */ - environmentVariables?: outputs.containerinstance.EnvironmentVariableResponse[]; - /** - * The name of the image used to create the container instance. - */ - image: string; - /** - * The instance view of the container instance. Only valid in response. - */ - instanceView: outputs.containerinstance.ContainerPropertiesResponseInstanceView; - /** - * The liveness probe. - */ - livenessProbe?: outputs.containerinstance.ContainerProbeResponse; - /** - * The user-provided name of the container instance. - */ - name: string; - /** - * The exposed ports on the container instance. - */ - ports?: outputs.containerinstance.ContainerPortResponse[]; - /** - * The readiness probe. - */ - readinessProbe?: outputs.containerinstance.ContainerProbeResponse; - /** - * The resource requirements of the container instance. - */ - resources: outputs.containerinstance.ResourceRequirementsResponse; - /** - * The container security properties. - */ - securityContext?: outputs.containerinstance.SecurityContextDefinitionResponse; - /** - * The volume mounts available to the container instance. - */ - volumeMounts?: outputs.containerinstance.VolumeMountResponse[]; - } - - /** - * The container instance state. - */ - export interface ContainerStateResponse { - /** - * The human-readable status of the container instance state. - */ - detailStatus: string; - /** - * The container instance exit codes correspond to those from the `docker run` command. - */ - exitCode: number; - /** - * The date-time when the container instance state finished. - */ - finishTime: string; - /** - * The date-time when the container instance state started. - */ - startTime: string; - /** - * The state of the container instance. - */ - state: string; - } - - /** - * Extension sidecars to be added to the deployment. - */ - export interface DeploymentExtensionSpecResponse { - /** - * Type of extension to be added. - */ - extensionType: string; - /** - * Name of the extension. - */ - name: string; - /** - * Protected settings for the extension. - */ - protectedSettings?: any; - /** - * Settings for the extension. - */ - settings?: any; - /** - * Version of the extension being used. - */ - version: string; - } - - /** - * DNS configuration for the container group. - */ - export interface DnsConfigurationResponse { - /** - * The DNS servers for the container group. - */ - nameServers: string[]; - /** - * The DNS options for the container group. - */ - options?: string; - /** - * The DNS search domains for hostname lookup in the container group. - */ - searchDomains?: string; - } - - /** - * The container group encryption properties. - */ - export interface EncryptionPropertiesResponse { - /** - * The keyvault managed identity. - */ - identity?: string; - /** - * The encryption key name. - */ - keyName: string; - /** - * The encryption key version. - */ - keyVersion: string; - /** - * The keyvault base url. - */ - vaultBaseUrl: string; - } - - /** - * The environment variable to set within the container instance. - */ - export interface EnvironmentVariableResponse { - /** - * The name of the environment variable. - */ - name: string; - /** - * The value of the secure environment variable. - */ - secureValue?: string; - /** - * The value of the environment variable. - */ - value?: string; - } - - /** - * A container group or container instance event. - */ - export interface EventResponse { - /** - * The count of the event. - */ - count: number; - /** - * The date-time of the earliest logged event. - */ - firstTimestamp: string; - /** - * The date-time of the latest logged event. - */ - lastTimestamp: string; - /** - * The event message. - */ - message: string; - /** - * The event name. - */ - name: string; - /** - * The event type. - */ - type: string; - } - - /** - * Represents a volume that is populated with the contents of a git repository - */ - export interface GitRepoVolumeResponse { - /** - * Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. - */ - directory?: string; - /** - * Repository URL - */ - repository: string; - /** - * Commit hash for the specified revision. - */ - revision?: string; - } - - /** - * The GPU resource. - */ - export interface GpuResourceResponse { - /** - * The count of the GPU resource. - */ - count: number; - /** - * The SKU of the GPU resource. - */ - sku: string; - } - - /** - * The HTTP header. - */ - export interface HttpHeaderResponse { - /** - * The header name. - */ - name?: string; - /** - * The header value. - */ - value?: string; - } - - /** - * Image registry credential. - */ - export interface ImageRegistryCredentialResponse { - /** - * The identity for the private registry. - */ - identity?: string; - /** - * The identity URL for the private registry. - */ - identityUrl?: string; - /** - * The password for the private registry. - */ - password?: string; - /** - * The Docker image registry server without a protocol such as "http" and "https". - */ - server: string; - /** - * The username for the private registry. - */ - username?: string; - } - - /** - * The init container definition. - */ - export interface InitContainerDefinitionResponse { - /** - * The command to execute within the init container in exec form. - */ - command?: string[]; - /** - * The environment variables to set in the init container. - */ - environmentVariables?: outputs.containerinstance.EnvironmentVariableResponse[]; - /** - * The image of the init container. - */ - image?: string; - /** - * The instance view of the init container. Only valid in response. - */ - instanceView: outputs.containerinstance.InitContainerPropertiesDefinitionResponseInstanceView; - /** - * The name for the init container. - */ - name: string; - /** - * The container security properties. - */ - securityContext?: outputs.containerinstance.SecurityContextDefinitionResponse; - /** - * The volume mounts available to the init container. - */ - volumeMounts?: outputs.containerinstance.VolumeMountResponse[]; - } - - /** - * The instance view of the init container. Only valid in response. - */ - export interface InitContainerPropertiesDefinitionResponseInstanceView { - /** - * The current state of the init container. - */ - currentState: outputs.containerinstance.ContainerStateResponse; - /** - * The events of the init container. - */ - events: outputs.containerinstance.EventResponse[]; - /** - * The previous state of the init container. - */ - previousState: outputs.containerinstance.ContainerStateResponse; - /** - * The number of times that the init container has been restarted. - */ - restartCount: number; - } - - /** - * IP address for the container group. - */ - export interface IpAddressResponse { - /** - * The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant. - */ - autoGeneratedDomainNameLabelScope?: string; - /** - * The Dns name label for the IP. - */ - dnsNameLabel?: string; - /** - * The FQDN for the IP. - */ - fqdn: string; - /** - * The IP exposed to the public internet. - */ - ip?: string; - /** - * The list of ports exposed on the container group. - */ - ports: outputs.containerinstance.PortResponse[]; - /** - * Specifies if the IP is exposed to the public internet or private VNET. - */ - type: string; - } - /** - * ipAddressResponseProvideDefaults sets the appropriate defaults for IpAddressResponse - */ - export function ipAddressResponseProvideDefaults(val: IpAddressResponse): IpAddressResponse { - return { - ...val, - autoGeneratedDomainNameLabelScope: (val.autoGeneratedDomainNameLabelScope) ?? "Unsecure", - }; - } - - /** - * Container group log analytics information. - */ - export interface LogAnalyticsResponse { - /** - * The log type to be used. - */ - logType?: string; - /** - * Metadata for log analytics. - */ - metadata?: {[key: string]: string}; - /** - * The workspace id for log analytics - */ - workspaceId: string; - /** - * The workspace key for log analytics - */ - workspaceKey: string; - /** - * The workspace resource id for log analytics - */ - workspaceResourceId?: string; - } - - /** - * The port exposed on the container group. - */ - export interface PortResponse { - /** - * The port number. - */ - port: number; - /** - * The protocol associated with the port. - */ - protocol?: string; - } - - /** - * The resource limits. - */ - export interface ResourceLimitsResponse { - /** - * The CPU limit of this container instance. - */ - cpu?: number; - /** - * The GPU limit of this container instance. - */ - gpu?: outputs.containerinstance.GpuResourceResponse; - /** - * The memory limit in GB of this container instance. - */ - memoryInGB?: number; - } - - /** - * The resource requests. - */ - export interface ResourceRequestsResponse { - /** - * The CPU request of this container instance. - */ - cpu: number; - /** - * The GPU request of this container instance. - */ - gpu?: outputs.containerinstance.GpuResourceResponse; - /** - * The memory request in GB of this container instance. - */ - memoryInGB: number; - } - - /** - * The resource requirements. - */ - export interface ResourceRequirementsResponse { - /** - * The resource limits of this container instance. - */ - limits?: outputs.containerinstance.ResourceLimitsResponse; - /** - * The resource requests of this container instance. - */ - requests: outputs.containerinstance.ResourceRequestsResponse; - } - - /** - * The capabilities to add or drop from a container. - */ - export interface SecurityContextCapabilitiesDefinitionResponse { - /** - * The capabilities to add to the container. - */ - add?: string[]; - /** - * The capabilities to drop from the container. - */ - drop?: string[]; - } - - /** - * The security context for the container. - */ - export interface SecurityContextDefinitionResponse { - /** - * A boolean value indicating whether the init process can elevate its privileges - */ - allowPrivilegeEscalation?: boolean; - /** - * The capabilities to add or drop from a container. - */ - capabilities?: outputs.containerinstance.SecurityContextCapabilitiesDefinitionResponse; - /** - * The flag to determine if the container permissions is elevated to Privileged. - */ - privileged?: boolean; - /** - * Sets the User GID for the container. - */ - runAsGroup?: number; - /** - * Sets the User UID for the container. - */ - runAsUser?: number; - /** - * a base64 encoded string containing the contents of the JSON in the seccomp profile - */ - seccompProfile?: string; - } - - /** - * The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - */ - export interface UserAssignedIdentitiesResponse { - /** - * The client id of user assigned identity. - */ - clientId: string; - /** - * The principal id of user assigned identity. - */ - principalId: string; - } - - /** - * The properties of the volume mount. - */ - export interface VolumeMountResponse { - /** - * The path within the container where the volume should be mounted. Must not contain colon (:). - */ - mountPath: string; - /** - * The name of the volume mount. - */ - name: string; - /** - * The flag indicating whether the volume mount is read-only. - */ - readOnly?: boolean; - } - - /** - * The properties of the volume. - */ - export interface VolumeResponse { - /** - * The Azure File volume. - */ - azureFile?: outputs.containerinstance.AzureFileVolumeResponse; - /** - * The empty directory volume. - */ - emptyDir?: any; - /** - * The git repo volume. - */ - gitRepo?: outputs.containerinstance.GitRepoVolumeResponse; - /** - * The name of the volume. - */ - name: string; - /** - * The secret volume. - */ - secret?: {[key: string]: string}; - } - - export namespace v20210301 { - /** - * The properties of the Azure File volume. Azure File shares are mounted as volumes. - */ - export interface AzureFileVolumeResponse { + export interface VirtualMachineIdentityResponse { /** - * The flag indicating whether the Azure File shared mounted as a volume is read-only. + * The principal id of virtual machine identity. This property will only be provided for a system assigned identity. */ - readOnly?: boolean; + principalId: string; /** - * The name of the Azure File share to be mounted as a volume. + * The tenant id associated with the virtual machine. This property will only be provided for a system assigned identity. */ - shareName: string; + tenantId: string; /** - * The storage account access key used to access the Azure File share. + * The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. */ - storageAccountKey?: string; + type?: string; /** - * The name of the storage account that contains the Azure File share. + * The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ - storageAccountName: string; + userAssignedIdentities?: {[key: string]: outputs.compute.v20230701.UserAssignedIdentitiesResponseUserAssignedIdentities}; } /** - * The container execution command, for liveness or readiness probe + * The instance view of a virtual machine. */ - export interface ContainerExecResponse { + export interface VirtualMachineInstanceViewResponse { /** - * The commands to execute within the container. + * Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled. Minimum api-version: 2020-06-01. */ - command?: string[]; - } - - /** - * Container group diagnostic information. - */ - export interface ContainerGroupDiagnosticsResponse { + assignedHost: string; /** - * Container group log analytics information. + * Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. */ - logAnalytics?: outputs.containerinstance.v20210301.LogAnalyticsResponse; - } - - /** - * Identity for the container group. - */ - export interface ContainerGroupIdentityResponse { + bootDiagnostics?: outputs.compute.v20230701.BootDiagnosticsInstanceViewResponse; /** - * The principal id of the container group identity. This property will only be provided for a system assigned identity. + * The computer name assigned to the virtual machine. */ - principalId: string; + computerName?: string; /** - * The tenant id associated with the container group. This property will only be provided for a system assigned identity. + * The virtual machine disk information. */ - tenantId: string; + disks?: outputs.compute.v20230701.DiskInstanceViewResponse[]; /** - * The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group. + * The extensions information. */ - type?: string; + extensions?: outputs.compute.v20230701.VirtualMachineExtensionInstanceViewResponse[]; /** - * The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * Specifies the HyperVGeneration Type associated with a resource */ - userAssignedIdentities?: {[key: string]: outputs.containerinstance.v20210301.ContainerGroupIdentityResponseUserAssignedIdentities}; - } - - export interface ContainerGroupIdentityResponseUserAssignedIdentities { + hyperVGeneration?: string; /** - * The client id of user assigned identity. + * The Maintenance Operation status on the virtual machine. */ - clientId: string; + maintenanceRedeployStatus?: outputs.compute.v20230701.MaintenanceRedeployStatusResponse; /** - * The principal id of user assigned identity. + * The Operating System running on the virtual machine. */ - principalId: string; - } - - /** - * Container group network profile information. - */ - export interface ContainerGroupNetworkProfileResponse { + osName?: string; /** - * The identifier for a network profile. + * The version of Operating System running on the virtual machine. */ - id: string; - } - - /** - * The instance view of the container group. Only valid in response. - */ - export interface ContainerGroupResponseInstanceView { + osVersion?: string; /** - * The events of this container group. + * [Preview Feature] The status of virtual machine patch operations. */ - events: outputs.containerinstance.v20210301.EventResponse[]; + patchStatus?: outputs.compute.v20230701.VirtualMachinePatchStatusResponse; /** - * The state of the container group. Only valid in response. + * Specifies the fault domain of the virtual machine. */ - state: string; - } - - /** - * The container Http Get settings, for liveness or readiness probe - */ - export interface ContainerHttpGetResponse { + platformFaultDomain?: number; /** - * The HTTP headers. + * Specifies the update domain of the virtual machine. */ - httpHeaders?: outputs.containerinstance.v20210301.HttpHeaderResponse[]; + platformUpdateDomain?: number; /** - * The path to probe. + * The Remote desktop certificate thumbprint. */ - path?: string; + rdpThumbPrint?: string; /** - * The port number to probe. + * The resource status information. */ - port: number; + statuses?: outputs.compute.v20230701.InstanceViewStatusResponse[]; /** - * The scheme. + * The VM Agent running on the virtual machine. */ - scheme?: string; + vmAgent?: outputs.compute.v20230701.VirtualMachineAgentInstanceViewResponse; + /** + * The health status for the VM. + */ + vmHealth: outputs.compute.v20230701.VirtualMachineHealthStatusResponse; } /** - * The port exposed on the container instance. + * Contains the IP tag associated with the public IP address. */ - export interface ContainerPortResponse { + export interface VirtualMachineIpTagResponse { /** - * The port number exposed within the container group. + * IP tag type. Example: FirstPartyUsage. */ - port: number; + ipTagType?: string; /** - * The protocol associated with the port. + * IP tag associated with the public IP. Example: SQL, Storage etc. */ - protocol?: string; + tag?: string; } /** - * The container probe, for liveness or readiness + * Describes a virtual machine network interface configurations. */ - export interface ContainerProbeResponse { + export interface VirtualMachineNetworkInterfaceConfigurationResponse { /** - * The execution command to probe + * Specifies whether the Auxiliary mode is enabled for the Network Interface resource. */ - exec?: outputs.containerinstance.v20210301.ContainerExecResponse; + auxiliaryMode?: string; /** - * The failure threshold. + * Specifies whether the Auxiliary sku is enabled for the Network Interface resource. */ - failureThreshold?: number; + auxiliarySku?: string; /** - * The Http Get settings to probe + * Specify what happens to the network interface when the VM is deleted */ - httpGet?: outputs.containerinstance.v20210301.ContainerHttpGetResponse; + deleteOption?: string; /** - * The initial delay seconds. + * Specifies whether the network interface is disabled for tcp state tracking. */ - initialDelaySeconds?: number; + disableTcpStateTracking?: boolean; /** - * The period seconds. + * The dns settings to be applied on the network interfaces. */ - periodSeconds?: number; + dnsSettings?: outputs.compute.v20230701.VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse; + dscpConfiguration?: outputs.compute.v20230701.SubResourceResponse; /** - * The success threshold. + * Specifies whether the network interface is accelerated networking-enabled. */ - successThreshold?: number; + enableAcceleratedNetworking?: boolean; /** - * The timeout seconds. + * Specifies whether the network interface is FPGA networking-enabled. */ - timeoutSeconds?: number; - } - - /** - * The instance view of the container instance. Only valid in response. - */ - export interface ContainerPropertiesResponseInstanceView { + enableFpga?: boolean; /** - * Current container instance state. + * Whether IP forwarding enabled on this NIC. */ - currentState: outputs.containerinstance.v20210301.ContainerStateResponse; + enableIPForwarding?: boolean; /** - * The events of the container instance. + * Specifies the IP configurations of the network interface. */ - events: outputs.containerinstance.v20210301.EventResponse[]; + ipConfigurations: outputs.compute.v20230701.VirtualMachineNetworkInterfaceIPConfigurationResponse[]; /** - * Previous container instance state. + * The network interface configuration name. */ - previousState: outputs.containerinstance.v20210301.ContainerStateResponse; + name: string; /** - * The number of times that the container instance has been restarted. + * The network security group. */ - restartCount: number; + networkSecurityGroup?: outputs.compute.v20230701.SubResourceResponse; + /** + * Specifies the primary network interface in case the virtual machine has more than 1 network interface. + */ + primary?: boolean; } /** - * A container instance. + * Describes a virtual machines network configuration's DNS settings. */ - export interface ContainerResponse { - /** - * The commands to execute within the container instance in exec form. - */ - command?: string[]; + export interface VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse { /** - * The environment variables to set in the container instance. + * List of DNS servers IP addresses */ - environmentVariables?: outputs.containerinstance.v20210301.EnvironmentVariableResponse[]; + dnsServers?: string[]; + } + + /** + * Describes a virtual machine network profile's IP configuration. + */ + export interface VirtualMachineNetworkInterfaceIPConfigurationResponse { /** - * The name of the image used to create the container instance. + * Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway. */ - image: string; + applicationGatewayBackendAddressPools?: outputs.compute.v20230701.SubResourceResponse[]; /** - * The instance view of the container instance. Only valid in response. + * Specifies an array of references to application security group. */ - instanceView: outputs.containerinstance.v20210301.ContainerPropertiesResponseInstanceView; + applicationSecurityGroups?: outputs.compute.v20230701.SubResourceResponse[]; /** - * The liveness probe. + * Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]. */ - livenessProbe?: outputs.containerinstance.v20210301.ContainerProbeResponse; + loadBalancerBackendAddressPools?: outputs.compute.v20230701.SubResourceResponse[]; /** - * The user-provided name of the container instance. + * The IP configuration name. */ name: string; /** - * The exposed ports on the container instance. + * Specifies the primary network interface in case the virtual machine has more than 1 network interface. */ - ports?: outputs.containerinstance.v20210301.ContainerPortResponse[]; + primary?: boolean; /** - * The readiness probe. + * Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */ - readinessProbe?: outputs.containerinstance.v20210301.ContainerProbeResponse; + privateIPAddressVersion?: string; /** - * The resource requirements of the container instance. + * The publicIPAddressConfiguration. */ - resources: outputs.containerinstance.v20210301.ResourceRequirementsResponse; + publicIPAddressConfiguration?: outputs.compute.v20230701.VirtualMachinePublicIPAddressConfigurationResponse; /** - * The volume mounts available to the container instance. + * Specifies the identifier of the subnet. */ - volumeMounts?: outputs.containerinstance.v20210301.VolumeMountResponse[]; + subnet?: outputs.compute.v20230701.SubResourceResponse; } /** - * The container instance state. + * The status of virtual machine patch operations. */ - export interface ContainerStateResponse { - /** - * The human-readable status of the container instance state. - */ - detailStatus: string; - /** - * The container instance exit codes correspond to those from the `docker run` command. - */ - exitCode: number; + export interface VirtualMachinePatchStatusResponse { /** - * The date-time when the container instance state finished. + * The available patch summary of the latest assessment operation for the virtual machine. */ - finishTime: string; + availablePatchSummary?: outputs.compute.v20230701.AvailablePatchSummaryResponse; /** - * The date-time when the container instance state started. + * The enablement status of the specified patchMode */ - startTime: string; + configurationStatuses: outputs.compute.v20230701.InstanceViewStatusResponse[]; /** - * The state of the container instance. + * The installation summary of the latest installation operation for the virtual machine. */ - state: string; + lastPatchInstallationSummary?: outputs.compute.v20230701.LastPatchInstallationSummaryResponse; } /** - * DNS configuration for the container group. + * Describes a virtual machines IP Configuration's PublicIPAddress configuration */ - export interface DnsConfigurationResponse { + export interface VirtualMachinePublicIPAddressConfigurationResponse { /** - * The DNS servers for the container group. + * Specify what happens to the public IP address when the VM is deleted */ - nameServers: string[]; + deleteOption?: string; /** - * The DNS options for the container group. + * The dns settings to be applied on the publicIP addresses . */ - options?: string; + dnsSettings?: outputs.compute.v20230701.VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse; /** - * The DNS search domains for hostname lookup in the container group. + * The idle timeout of the public IP address. */ - searchDomains?: string; - } - - /** - * The container group encryption properties. - */ - export interface EncryptionPropertiesResponse { + idleTimeoutInMinutes?: number; /** - * The encryption key name. + * The list of IP tags associated with the public IP address. */ - keyName: string; + ipTags?: outputs.compute.v20230701.VirtualMachineIpTagResponse[]; /** - * The encryption key version. + * The publicIP address configuration name. */ - keyVersion: string; + name: string; /** - * The keyvault base url. + * Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */ - vaultBaseUrl: string; - } - - /** - * The environment variable to set within the container instance. - */ - export interface EnvironmentVariableResponse { + publicIPAddressVersion?: string; /** - * The name of the environment variable. + * Specify the public IP allocation type */ - name: string; + publicIPAllocationMethod?: string; /** - * The value of the secure environment variable. + * The PublicIPPrefix from which to allocate publicIP addresses. */ - secureValue?: string; + publicIPPrefix?: outputs.compute.v20230701.SubResourceResponse; /** - * The value of the environment variable. + * Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. */ - value?: string; + sku?: outputs.compute.v20230701.PublicIPAddressSkuResponse; } /** - * A container group or container instance event. + * Describes a virtual machines network configuration's DNS settings. */ - export interface EventResponse { + export interface VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse { /** - * The count of the event. + * The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID. */ - count: number; + domainNameLabel: string; /** - * The date-time of the earliest logged event. + * The Domain name label scope of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the hashed domain name label with policy according to the domain name label scope and vm network profile unique ID. */ - firstTimestamp: string; + domainNameLabelScope?: string; + } + + /** + * The instance view of a virtual machine run command. + */ + export interface VirtualMachineRunCommandInstanceViewResponse { /** - * The date-time of the latest logged event. + * Script end time. */ - lastTimestamp: string; + endTime?: string; /** - * The event message. + * Script error stream. */ - message: string; + error?: string; /** - * The event name. + * Communicate script configuration errors or execution messages. */ - name: string; + executionMessage?: string; /** - * The event type. + * Script execution status. */ - type: string; - } - - /** - * Represents a volume that is populated with the contents of a git repository - */ - export interface GitRepoVolumeResponse { + executionState?: string; /** - * Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. + * Exit code returned from script execution. */ - directory?: string; + exitCode?: number; /** - * Repository URL + * Script output stream. */ - repository: string; + output?: string; /** - * Commit hash for the specified revision. + * Script start time. */ - revision?: string; + startTime?: string; + /** + * The resource status information. + */ + statuses?: outputs.compute.v20230701.InstanceViewStatusResponse[]; } /** - * The GPU resource. + * Describes the script sources for run command. Use only one of script, scriptUri, commandId. */ - export interface GpuResourceResponse { + export interface VirtualMachineRunCommandScriptSourceResponse { /** - * The count of the GPU resource. + * Specifies a commandId of predefined built-in script. */ - count: number; - /** - * The SKU of the GPU resource. - */ - sku: string; - } - - /** - * The HTTP header - */ - export interface HttpHeaderResponse { - /** - * The header name. - */ - name?: string; - /** - * The header value. - */ - value?: string; - } - - /** - * Image registry credential. - */ - export interface ImageRegistryCredentialResponse { + commandId?: string; /** - * The password for the private registry. + * Specifies the script content to be executed on the VM. */ - password?: string; + script?: string; /** - * The Docker image registry server without a protocol such as "http" and "https". + * Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. */ - server: string; + scriptUri?: string; /** - * The username for the private registry. + * User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. */ - username: string; + scriptUriManagedIdentity?: outputs.compute.v20230701.RunCommandManagedIdentityResponse; } /** - * The init container definition. + * Describes a virtual machine scale set data disk. */ - export interface InitContainerDefinitionResponse { + export interface VirtualMachineScaleSetDataDiskResponse { /** - * The command to execute within the init container in exec form. + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** */ - command?: string[]; + caching?: string; /** - * The environment variables to set in the init container. + * The create option. */ - environmentVariables?: outputs.containerinstance.v20210301.EnvironmentVariableResponse[]; + createOption: string; /** - * The image of the init container. + * Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Possible values:

**Delete** If this value is used, the data disk is deleted when the VMSS Flex VM is deleted.

**Detach** If this value is used, the data disk is retained after VMSS Flex VM is deleted.

The default value is set to **Delete**. */ - image?: string; + deleteOption?: string; /** - * The instance view of the init container. Only valid in response. + * Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. */ - instanceView: outputs.containerinstance.v20210301.InitContainerPropertiesDefinitionResponseInstanceView; + diskIOPSReadWrite?: number; /** - * The name for the init container. + * Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. */ - name: string; + diskMBpsReadWrite?: number; /** - * The volume mounts available to the init container. + * Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. */ - volumeMounts?: outputs.containerinstance.v20210301.VolumeMountResponse[]; - } - - /** - * The instance view of the init container. Only valid in response. - */ - export interface InitContainerPropertiesDefinitionResponseInstanceView { + diskSizeGB?: number; /** - * The current state of the init container. + * Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. */ - currentState: outputs.containerinstance.v20210301.ContainerStateResponse; + lun: number; /** - * The events of the init container. + * The managed disk parameters. */ - events: outputs.containerinstance.v20210301.EventResponse[]; + managedDisk?: outputs.compute.v20230701.VirtualMachineScaleSetManagedDiskParametersResponse; /** - * The previous state of the init container. + * The disk name. */ - previousState: outputs.containerinstance.v20210301.ContainerStateResponse; + name?: string; /** - * The number of times that the init container has been restarted. + * Specifies whether writeAccelerator should be enabled or disabled on the disk. */ - restartCount: number; + writeAcceleratorEnabled?: boolean; } /** - * IP address for the container group. + * Describes a virtual machine scale set extension profile. */ - export interface IpAddressResponse { - /** - * The Dns name label for the IP. - */ - dnsNameLabel?: string; - /** - * The FQDN for the IP. - */ - fqdn: string; - /** - * The IP exposed to the public internet. - */ - ip?: string; + export interface VirtualMachineScaleSetExtensionProfileResponse { /** - * The list of ports exposed on the container group. + * The virtual machine scale set child extension resources. */ - ports: outputs.containerinstance.v20210301.PortResponse[]; + extensions?: outputs.compute.v20230701.VirtualMachineScaleSetExtensionResponse[]; /** - * Specifies if the IP is exposed to the public internet or private VNET. + * Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. */ - type: string; + extensionsTimeBudget?: string; } /** - * Container group log analytics information. + * Describes a Virtual Machine Scale Set Extension. */ - export interface LogAnalyticsResponse { - /** - * The log type to be used. - */ - logType?: string; + export interface VirtualMachineScaleSetExtensionResponse { /** - * Metadata for log analytics. + * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */ - metadata?: {[key: string]: string}; + autoUpgradeMinorVersion?: boolean; /** - * The workspace id for log analytics + * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. */ - workspaceId: string; + enableAutomaticUpgrade?: boolean; /** - * The workspace key for log analytics + * If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. */ - workspaceKey: string; + forceUpdateTag?: string; /** - * The workspace resource id for log analytics + * Resource Id */ - workspaceResourceId?: {[key: string]: string}; - } - - /** - * The port exposed on the container group. - */ - export interface PortResponse { + id: string; /** - * The port number. + * The name of the extension. */ - port: number; + name?: string; /** - * The protocol associated with the port. + * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */ - protocol?: string; - } - - /** - * The resource limits. - */ - export interface ResourceLimitsResponse { + protectedSettings?: any; /** - * The CPU limit of this container instance. + * The extensions protected settings that are passed by reference, and consumed from key vault */ - cpu?: number; + protectedSettingsFromKeyVault?: outputs.compute.v20230701.KeyVaultSecretReferenceResponse; /** - * The GPU limit of this container instance. + * Collection of extension names after which this extension needs to be provisioned. */ - gpu?: outputs.containerinstance.v20210301.GpuResourceResponse; + provisionAfterExtensions?: string[]; /** - * The memory limit in GB of this container instance. + * The provisioning state, which only appears in the response. */ - memoryInGB?: number; - } - - /** - * The resource requests. - */ - export interface ResourceRequestsResponse { + provisioningState: string; /** - * The CPU request of this container instance. + * The name of the extension handler publisher. */ - cpu: number; + publisher?: string; /** - * The GPU request of this container instance. + * Json formatted public settings for the extension. */ - gpu?: outputs.containerinstance.v20210301.GpuResourceResponse; + settings?: any; /** - * The memory request in GB of this container instance. + * Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. */ - memoryInGB: number; - } - - /** - * The resource requirements. - */ - export interface ResourceRequirementsResponse { + suppressFailures?: boolean; /** - * The resource limits of this container instance. + * Resource type */ - limits?: outputs.containerinstance.v20210301.ResourceLimitsResponse; + type: string; /** - * The resource requests of this container instance. + * Specifies the version of the script handler. */ - requests: outputs.containerinstance.v20210301.ResourceRequestsResponse; + typeHandlerVersion?: string; } /** - * The properties of the volume mount. + * Specifies the hardware settings for the virtual machine scale set. */ - export interface VolumeMountResponse { - /** - * The path within the container where the volume should be mounted. Must not contain colon (:). - */ - mountPath: string; - /** - * The name of the volume mount. - */ - name: string; + export interface VirtualMachineScaleSetHardwareProfileResponse { /** - * The flag indicating whether the volume mount is read-only. + * Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-11-01. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. */ - readOnly?: boolean; + vmSizeProperties?: outputs.compute.v20230701.VMSizePropertiesResponse; } /** - * The properties of the volume. + * Describes a virtual machine scale set network profile's IP configuration. */ - export interface VolumeResponse { - /** - * The Azure File volume. - */ - azureFile?: outputs.containerinstance.v20210301.AzureFileVolumeResponse; - /** - * The empty directory volume. - */ - emptyDir?: any; + export interface VirtualMachineScaleSetIPConfigurationResponse { /** - * The git repo volume. + * Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway. */ - gitRepo?: outputs.containerinstance.v20210301.GitRepoVolumeResponse; + applicationGatewayBackendAddressPools?: outputs.compute.v20230701.SubResourceResponse[]; /** - * The name of the volume. + * Specifies an array of references to application security group. */ - name: string; + applicationSecurityGroups?: outputs.compute.v20230701.SubResourceResponse[]; /** - * The secret volume. + * Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. */ - secret?: {[key: string]: string}; - } - - } - - export namespace v20210701 { - /** - * The properties of the Azure File volume. Azure File shares are mounted as volumes. - */ - export interface AzureFileVolumeResponse { + loadBalancerBackendAddressPools?: outputs.compute.v20230701.SubResourceResponse[]; /** - * The flag indicating whether the Azure File shared mounted as a volume is read-only. + * Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. */ - readOnly?: boolean; + loadBalancerInboundNatPools?: outputs.compute.v20230701.SubResourceResponse[]; /** - * The name of the Azure File share to be mounted as a volume. + * The IP configuration name. */ - shareName: string; + name: string; /** - * The storage account access key used to access the Azure File share. + * Specifies the primary network interface in case the virtual machine has more than 1 network interface. */ - storageAccountKey?: string; + primary?: boolean; /** - * The name of the storage account that contains the Azure File share. + * Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */ - storageAccountName: string; - } - - /** - * The container execution command, for liveness or readiness probe - */ - export interface ContainerExecResponse { + privateIPAddressVersion?: string; /** - * The commands to execute within the container. + * The publicIPAddressConfiguration. */ - command?: string[]; - } - - /** - * Container group diagnostic information. - */ - export interface ContainerGroupDiagnosticsResponse { + publicIPAddressConfiguration?: outputs.compute.v20230701.VirtualMachineScaleSetPublicIPAddressConfigurationResponse; /** - * Container group log analytics information. + * Specifies the identifier of the subnet. */ - logAnalytics?: outputs.containerinstance.v20210701.LogAnalyticsResponse; + subnet?: outputs.compute.v20230701.ApiEntityReferenceResponse; } /** - * Identity for the container group. + * Identity for the virtual machine scale set. */ - export interface ContainerGroupIdentityResponse { + export interface VirtualMachineScaleSetIdentityResponse { /** - * The principal id of the container group identity. This property will only be provided for a system assigned identity. + * The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity. */ principalId: string; /** - * The tenant id associated with the container group. This property will only be provided for a system assigned identity. + * The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity. */ tenantId: string; /** - * The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group. + * The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set. */ type?: string; /** - * The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ - userAssignedIdentities?: {[key: string]: outputs.containerinstance.v20210701.ContainerGroupIdentityResponseUserAssignedIdentities}; + userAssignedIdentities?: {[key: string]: outputs.compute.v20230701.UserAssignedIdentitiesResponseUserAssignedIdentities}; } - export interface ContainerGroupIdentityResponseUserAssignedIdentities { + /** + * Contains the IP tag associated with the public IP address. + */ + export interface VirtualMachineScaleSetIpTagResponse { /** - * The client id of user assigned identity. + * IP tag type. Example: FirstPartyUsage. */ - clientId: string; + ipTagType?: string; /** - * The principal id of user assigned identity. + * IP tag associated with the public IP. Example: SQL, Storage etc. */ - principalId: string; + tag?: string; } /** - * The instance view of the container group. Only valid in response. + * Describes the parameters of a ScaleSet managed disk. */ - export interface ContainerGroupResponseInstanceView { + export interface VirtualMachineScaleSetManagedDiskParametersResponse { /** - * The events of this container group. + * Specifies the customer managed disk encryption set resource id for the managed disk. */ - events: outputs.containerinstance.v20210701.EventResponse[]; + diskEncryptionSet?: outputs.compute.v20230701.DiskEncryptionSetParametersResponse; /** - * The state of the container group. Only valid in response. + * Specifies the security profile for the managed disk. */ - state: string; + securityProfile?: outputs.compute.v20230701.VMDiskSecurityProfileResponse; + /** + * Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + */ + storageAccountType?: string; } /** - * Container group subnet information. + * Describes a virtual machines scale sets network configuration's DNS settings. */ - export interface ContainerGroupSubnetIdResponse { - /** - * Resource ID of virtual network and subnet. - */ - id: string; + export interface VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse { /** - * Friendly name for the subnet. + * List of DNS servers IP addresses */ - name?: string; + dnsServers?: string[]; } /** - * The container Http Get settings, for liveness or readiness probe + * Describes a virtual machine scale set network profile's network configurations. */ - export interface ContainerHttpGetResponse { - /** - * The HTTP headers. - */ - httpHeaders?: outputs.containerinstance.v20210701.HttpHeaderResponse[]; + export interface VirtualMachineScaleSetNetworkConfigurationResponse { /** - * The path to probe. + * Specifies whether the Auxiliary mode is enabled for the Network Interface resource. */ - path?: string; + auxiliaryMode?: string; /** - * The port number to probe. + * Specifies whether the Auxiliary sku is enabled for the Network Interface resource. */ - port: number; + auxiliarySku?: string; /** - * The scheme. + * Specify what happens to the network interface when the VM is deleted */ - scheme?: string; - } - - /** - * The port exposed on the container instance. - */ - export interface ContainerPortResponse { + deleteOption?: string; /** - * The port number exposed within the container group. + * Specifies whether the network interface is disabled for tcp state tracking. */ - port: number; + disableTcpStateTracking?: boolean; /** - * The protocol associated with the port. + * The dns settings to be applied on the network interfaces. */ - protocol?: string; - } - - /** - * The container probe, for liveness or readiness - */ - export interface ContainerProbeResponse { + dnsSettings?: outputs.compute.v20230701.VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse; /** - * The execution command to probe + * Specifies whether the network interface is accelerated networking-enabled. */ - exec?: outputs.containerinstance.v20210701.ContainerExecResponse; + enableAcceleratedNetworking?: boolean; /** - * The failure threshold. + * Specifies whether the network interface is FPGA networking-enabled. */ - failureThreshold?: number; + enableFpga?: boolean; /** - * The Http Get settings to probe + * Whether IP forwarding enabled on this NIC. */ - httpGet?: outputs.containerinstance.v20210701.ContainerHttpGetResponse; + enableIPForwarding?: boolean; /** - * The initial delay seconds. + * Specifies the IP configurations of the network interface. */ - initialDelaySeconds?: number; + ipConfigurations: outputs.compute.v20230701.VirtualMachineScaleSetIPConfigurationResponse[]; /** - * The period seconds. + * The network configuration name. */ - periodSeconds?: number; + name: string; /** - * The success threshold. + * The network security group. */ - successThreshold?: number; + networkSecurityGroup?: outputs.compute.v20230701.SubResourceResponse; /** - * The timeout seconds. + * Specifies the primary network interface in case the virtual machine has more than 1 network interface. */ - timeoutSeconds?: number; + primary?: boolean; } /** - * The instance view of the container instance. Only valid in response. + * Describes a virtual machine scale set network profile. */ - export interface ContainerPropertiesResponseInstanceView { - /** - * Current container instance state. - */ - currentState: outputs.containerinstance.v20210701.ContainerStateResponse; + export interface VirtualMachineScaleSetNetworkProfileResponse { /** - * The events of the container instance. + * A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. */ - events: outputs.containerinstance.v20210701.EventResponse[]; + healthProbe?: outputs.compute.v20230701.ApiEntityReferenceResponse; /** - * Previous container instance state. + * specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible' */ - previousState: outputs.containerinstance.v20210701.ContainerStateResponse; + networkApiVersion?: string; /** - * The number of times that the container instance has been restarted. + * The list of network configurations. */ - restartCount: number; + networkInterfaceConfigurations?: outputs.compute.v20230701.VirtualMachineScaleSetNetworkConfigurationResponse[]; } /** - * A container instance. + * Describes a virtual machine scale set operating system disk. */ - export interface ContainerResponse { + export interface VirtualMachineScaleSetOSDiskResponse { /** - * The commands to execute within the container instance in exec form. + * Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** */ - command?: string[]; + caching?: string; /** - * The environment variables to set in the container instance. + * Specifies how the virtual machines in the scale set should be created. The only allowed value is: **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described. */ - environmentVariables?: outputs.containerinstance.v20210701.EnvironmentVariableResponse[]; + createOption: string; /** - * The name of the image used to create the container instance. + * Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Possible values:

**Delete** If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.

**Detach** If this value is used, the OS disk is retained after VMSS Flex VM is deleted.

The default value is set to **Delete**. For an Ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for Ephemeral OS Disk. */ - image: string; + deleteOption?: string; /** - * The instance view of the container instance. Only valid in response. + * Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set. */ - instanceView: outputs.containerinstance.v20210701.ContainerPropertiesResponseInstanceView; + diffDiskSettings?: outputs.compute.v20230701.DiffDiskSettingsResponse; /** - * The liveness probe. + * Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. */ - livenessProbe?: outputs.containerinstance.v20210701.ContainerProbeResponse; + diskSizeGB?: number; /** - * The user-provided name of the container instance. + * Specifies information about the unmanaged user image to base the scale set on. */ - name: string; + image?: outputs.compute.v20230701.VirtualHardDiskResponse; /** - * The exposed ports on the container instance. + * The managed disk parameters. */ - ports?: outputs.containerinstance.v20210701.ContainerPortResponse[]; + managedDisk?: outputs.compute.v20230701.VirtualMachineScaleSetManagedDiskParametersResponse; /** - * The readiness probe. + * The disk name. */ - readinessProbe?: outputs.containerinstance.v20210701.ContainerProbeResponse; + name?: string; /** - * The resource requirements of the container instance. + * This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** */ - resources: outputs.containerinstance.v20210701.ResourceRequirementsResponse; + osType?: string; /** - * The volume mounts available to the container instance. + * Specifies the container urls that are used to store operating system disks for the scale set. */ - volumeMounts?: outputs.containerinstance.v20210701.VolumeMountResponse[]; + vhdContainers?: string[]; + /** + * Specifies whether writeAccelerator should be enabled or disabled on the disk. + */ + writeAcceleratorEnabled?: boolean; } /** - * The container instance state. + * Describes a virtual machine scale set OS profile. */ - export interface ContainerStateResponse { + export interface VirtualMachineScaleSetOSProfileResponse { /** - * The human-readable status of the container instance state. + * Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) */ - detailStatus: string; + adminPassword?: string; /** - * The container instance exit codes correspond to those from the `docker run` command. + * Specifies the name of the administrator account.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters */ - exitCode: number; + adminUsername?: string; /** - * The date-time when the container instance state finished. + * Specifies whether extension operations should be allowed on the virtual machine scale set. This may only be set to False when no extensions are present on the virtual machine scale set. */ - finishTime: string; + allowExtensionOperations?: boolean; /** - * The date-time when the container instance state started. + * Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long. */ - startTime: string; + computerNamePrefix?: string; /** - * The state of the container instance. + * Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) */ - state: string; - } - - /** - * DNS configuration for the container group. - */ - export interface DnsConfigurationResponse { + customData?: string; /** - * The DNS servers for the container group. + * Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). */ - nameServers: string[]; + linuxConfiguration?: outputs.compute.v20230701.LinuxConfigurationResponse; /** - * The DNS options for the container group. + * Optional property which must either be set to True or omitted. */ - options?: string; + requireGuestProvisionSignal?: boolean; /** - * The DNS search domains for hostname lookup in the container group. + * Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ - searchDomains?: string; + secrets?: outputs.compute.v20230701.VaultSecretGroupResponse[]; + /** + * Specifies Windows operating system settings on the virtual machine. + */ + windowsConfiguration?: outputs.compute.v20230701.WindowsConfigurationResponse; } /** - * The container group encryption properties. + * Describes a virtual machines scale sets network configuration's DNS settings. */ - export interface EncryptionPropertiesResponse { - /** - * The encryption key name. - */ - keyName: string; + export interface VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse { /** - * The encryption key version. + * The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created */ - keyVersion: string; + domainNameLabel: string; /** - * The keyvault base url. + * The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created */ - vaultBaseUrl: string; + domainNameLabelScope?: string; } /** - * The environment variable to set within the container instance. + * Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration */ - export interface EnvironmentVariableResponse { - /** - * The name of the environment variable. - */ - name: string; + export interface VirtualMachineScaleSetPublicIPAddressConfigurationResponse { /** - * The value of the secure environment variable. + * Specify what happens to the public IP when the VM is deleted */ - secureValue?: string; + deleteOption?: string; /** - * The value of the environment variable. + * The dns settings to be applied on the publicIP addresses . */ - value?: string; - } - - /** - * A container group or container instance event. - */ - export interface EventResponse { + dnsSettings?: outputs.compute.v20230701.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse; /** - * The count of the event. + * The idle timeout of the public IP address. */ - count: number; + idleTimeoutInMinutes?: number; /** - * The date-time of the earliest logged event. + * The list of IP tags associated with the public IP address. */ - firstTimestamp: string; + ipTags?: outputs.compute.v20230701.VirtualMachineScaleSetIpTagResponse[]; /** - * The date-time of the latest logged event. + * The publicIP address configuration name. */ - lastTimestamp: string; + name: string; /** - * The event message. + * Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. */ - message: string; + publicIPAddressVersion?: string; /** - * The event name. + * The PublicIPPrefix from which to allocate publicIP addresses. */ - name: string; + publicIPPrefix?: outputs.compute.v20230701.SubResourceResponse; /** - * The event type. + * Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. */ - type: string; + sku?: outputs.compute.v20230701.PublicIPAddressSkuResponse; } /** - * Represents a volume that is populated with the contents of a git repository + * Describes a virtual machine scale set storage profile. */ - export interface GitRepoVolumeResponse { + export interface VirtualMachineScaleSetStorageProfileResponse { /** - * Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. + * Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). */ - directory?: string; + dataDisks?: outputs.compute.v20230701.VirtualMachineScaleSetDataDiskResponse[]; + diskControllerType?: string[]; /** - * Repository URL + * Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. */ - repository: string; + imageReference?: outputs.compute.v20230701.ImageReferenceResponse; /** - * Commit hash for the specified revision. + * Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). */ - revision?: string; + osDisk?: outputs.compute.v20230701.VirtualMachineScaleSetOSDiskResponse; } /** - * The GPU resource. + * The instance view of a virtual machine scale set VM. */ - export interface GpuResourceResponse { + export interface VirtualMachineScaleSetVMInstanceViewResponse { /** - * The count of the GPU resource. + * Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled. Minimum api-version: 2020-06-01. */ - count: number; + assignedHost: string; /** - * The SKU of the GPU resource. + * Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. */ - sku: string; - } - - /** - * The HTTP header. - */ - export interface HttpHeaderResponse { + bootDiagnostics?: outputs.compute.v20230701.BootDiagnosticsInstanceViewResponse; /** - * The header name. + * Specifies the host OS name of the virtual machine.

This name cannot be updated after the VM is created.

**Max-length (Windows):** 15 characters

**Max-length (Linux):** 64 characters.

For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions). */ - name?: string; + computerName?: string; /** - * The header value. + * The disks information. */ - value?: string; - } - - /** - * Image registry credential. - */ - export interface ImageRegistryCredentialResponse { + disks?: outputs.compute.v20230701.DiskInstanceViewResponse[]; /** - * The identity for the private registry. + * The extensions information. */ - identity?: string; + extensions?: outputs.compute.v20230701.VirtualMachineExtensionInstanceViewResponse[]; /** - * The identity URL for the private registry. + * The hypervisor generation of the Virtual Machine [V1, V2] */ - identityUrl?: string; + hyperVGeneration?: string; /** - * The password for the private registry. + * The Maintenance Operation status on the virtual machine. */ - password?: string; + maintenanceRedeployStatus?: outputs.compute.v20230701.MaintenanceRedeployStatusResponse; /** - * The Docker image registry server without a protocol such as "http" and "https". + * The Operating System running on the hybrid machine. */ - server: string; + osName?: string; /** - * The username for the private registry. + * The version of Operating System running on the hybrid machine. */ - username: string; - } - - /** - * The init container definition. - */ - export interface InitContainerDefinitionResponse { + osVersion?: string; /** - * The command to execute within the init container in exec form. + * The placement group in which the VM is running. If the VM is deallocated it will not have a placementGroupId. */ - command?: string[]; + placementGroupId?: string; /** - * The environment variables to set in the init container. + * The Fault Domain count. */ - environmentVariables?: outputs.containerinstance.v20210701.EnvironmentVariableResponse[]; + platformFaultDomain?: number; /** - * The image of the init container. + * The Update Domain count. */ - image?: string; + platformUpdateDomain?: number; /** - * The instance view of the init container. Only valid in response. + * The Remote desktop certificate thumbprint. */ - instanceView: outputs.containerinstance.v20210701.InitContainerPropertiesDefinitionResponseInstanceView; + rdpThumbPrint?: string; /** - * The name for the init container. + * The resource status information. */ - name: string; + statuses?: outputs.compute.v20230701.InstanceViewStatusResponse[]; /** - * The volume mounts available to the init container. + * The VM Agent running on the virtual machine. */ - volumeMounts?: outputs.containerinstance.v20210701.VolumeMountResponse[]; + vmAgent?: outputs.compute.v20230701.VirtualMachineAgentInstanceViewResponse; + /** + * The health status for the VM. + */ + vmHealth: outputs.compute.v20230701.VirtualMachineHealthStatusResponse; } /** - * The instance view of the init container. Only valid in response. + * Describes a virtual machine scale set VM network profile. */ - export interface InitContainerPropertiesDefinitionResponseInstanceView { - /** - * The current state of the init container. - */ - currentState: outputs.containerinstance.v20210701.ContainerStateResponse; - /** - * The events of the init container. - */ - events: outputs.containerinstance.v20210701.EventResponse[]; - /** - * The previous state of the init container. - */ - previousState: outputs.containerinstance.v20210701.ContainerStateResponse; + export interface VirtualMachineScaleSetVMNetworkProfileConfigurationResponse { /** - * The number of times that the init container has been restarted. + * The list of network configurations. */ - restartCount: number; + networkInterfaceConfigurations?: outputs.compute.v20230701.VirtualMachineScaleSetNetworkConfigurationResponse[]; } /** - * IP address for the container group. + * Describes a virtual machine scale set virtual machine profile. */ - export interface IpAddressResponse { - /** - * The Dns name label for the IP. - */ - dnsNameLabel?: string; + export interface VirtualMachineScaleSetVMProfileResponse { /** - * The FQDN for the IP. + * Specifies the gallery applications that should be made available to the VM/VMSS */ - fqdn: string; + applicationProfile?: outputs.compute.v20230701.ApplicationProfileResponse; /** - * The IP exposed to the public internet. + * Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01. */ - ip?: string; + billingProfile?: outputs.compute.v20230701.BillingProfileResponse; /** - * The list of ports exposed on the container group. + * Specifies the capacity reservation related details of a scale set. Minimum api-version: 2021-04-01. */ - ports: outputs.containerinstance.v20210701.PortResponse[]; + capacityReservation?: outputs.compute.v20230701.CapacityReservationProfileResponse; /** - * Specifies if the IP is exposed to the public internet or private VNET. + * Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. */ - type: string; - } - - /** - * Container group log analytics information. - */ - export interface LogAnalyticsResponse { + diagnosticsProfile?: outputs.compute.v20230701.DiagnosticsProfileResponse; /** - * The log type to be used. + * Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. */ - logType?: string; + evictionPolicy?: string; /** - * Metadata for log analytics. + * Specifies a collection of settings for extensions installed on virtual machines in the scale set. */ - metadata?: {[key: string]: string}; + extensionProfile?: outputs.compute.v20230701.VirtualMachineScaleSetExtensionProfileResponse; /** - * The workspace id for log analytics + * Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01. */ - workspaceId: string; + hardwareProfile?: outputs.compute.v20230701.VirtualMachineScaleSetHardwareProfileResponse; /** - * The workspace key for log analytics + * Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 */ - workspaceKey: string; + licenseType?: string; /** - * The workspace resource id for log analytics + * Specifies properties of the network interfaces of the virtual machines in the scale set. */ - workspaceResourceId?: string; - } - - /** - * The port exposed on the container group. - */ - export interface PortResponse { + networkProfile?: outputs.compute.v20230701.VirtualMachineScaleSetNetworkProfileResponse; /** - * The port number. + * Specifies the operating system settings for the virtual machines in the scale set. */ - port: number; + osProfile?: outputs.compute.v20230701.VirtualMachineScaleSetOSProfileResponse; /** - * The protocol associated with the port. + * Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview. */ - protocol?: string; - } - - /** - * The resource limits. - */ - export interface ResourceLimitsResponse { + priority?: string; /** - * The CPU limit of this container instance. + * Specifies Scheduled Event related configurations. */ - cpu?: number; + scheduledEventsProfile?: outputs.compute.v20230701.ScheduledEventsProfileResponse; /** - * The GPU limit of this container instance. + * Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 */ - gpu?: outputs.containerinstance.v20210701.GpuResourceResponse; + securityPostureReference?: outputs.compute.v20230701.SecurityPostureReferenceResponse; /** - * The memory limit in GB of this container instance. + * Specifies the Security related profile settings for the virtual machines in the scale set. */ - memoryInGB?: number; - } - - /** - * The resource requests. - */ - export interface ResourceRequestsResponse { + securityProfile?: outputs.compute.v20230701.SecurityProfileResponse; /** - * The CPU request of this container instance. + * Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 */ - cpu: number; + serviceArtifactReference?: outputs.compute.v20230701.ServiceArtifactReferenceResponse; /** - * The GPU request of this container instance. + * Specifies the storage settings for the virtual machine disks. */ - gpu?: outputs.containerinstance.v20210701.GpuResourceResponse; + storageProfile?: outputs.compute.v20230701.VirtualMachineScaleSetStorageProfileResponse; /** - * The memory request in GB of this container instance. + * UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. */ - memoryInGB: number; + userData?: string; } /** - * The resource requirements. + * The protection policy of a virtual machine scale set VM. */ - export interface ResourceRequirementsResponse { + export interface VirtualMachineScaleSetVMProtectionPolicyResponse { /** - * The resource limits of this container instance. + * Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation. */ - limits?: outputs.containerinstance.v20210701.ResourceLimitsResponse; + protectFromScaleIn?: boolean; /** - * The resource requests of this container instance. + * Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM. */ - requests: outputs.containerinstance.v20210701.ResourceRequestsResponse; + protectFromScaleSetActions?: boolean; } /** - * The properties of the volume mount. + * Describes Windows Remote Management configuration of the VM */ - export interface VolumeMountResponse { - /** - * The path within the container where the volume should be mounted. Must not contain colon (:). - */ - mountPath: string; - /** - * The name of the volume mount. - */ - name: string; + export interface WinRMConfigurationResponse { /** - * The flag indicating whether the volume mount is read-only. + * The list of Windows Remote Management listeners */ - readOnly?: boolean; + listeners?: outputs.compute.v20230701.WinRMListenerResponse[]; } /** - * The properties of the volume. + * Describes Protocol and thumbprint of Windows Remote Management listener */ - export interface VolumeResponse { - /** - * The Azure File volume. - */ - azureFile?: outputs.containerinstance.v20210701.AzureFileVolumeResponse; - /** - * The empty directory volume. - */ - emptyDir?: any; - /** - * The git repo volume. - */ - gitRepo?: outputs.containerinstance.v20210701.GitRepoVolumeResponse; + export interface WinRMListenerResponse { /** - * The name of the volume. + * This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ - name: string; + certificateUrl?: string; /** - * The secret volume. + * Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** */ - secret?: {[key: string]: string}; + protocol?: string; } - } - - export namespace v20230201preview { /** - * The properties of the Azure File volume. Azure File shares are mounted as volumes. + * Specifies Windows operating system settings on the virtual machine. */ - export interface AzureFileVolumeResponse { - /** - * The flag indicating whether the Azure File shared mounted as a volume is read-only. - */ - readOnly?: boolean; - /** - * The name of the Azure File share to be mounted as a volume. - */ - shareName: string; - /** - * The storage account access key used to access the Azure File share. - */ - storageAccountKey?: string; + export interface WindowsConfigurationResponse { /** - * The name of the storage account that contains the Azure File share. + * Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. */ - storageAccountName: string; - } - - /** - * The container execution command, for liveness or readiness probe - */ - export interface ContainerExecResponse { + additionalUnattendContent?: outputs.compute.v20230701.AdditionalUnattendContentResponse[]; /** - * The commands to execute within the container. + * Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. */ - command?: string[]; - } - - /** - * Container group diagnostic information. - */ - export interface ContainerGroupDiagnosticsResponse { + enableAutomaticUpdates?: boolean; /** - * Container group log analytics information. + * Indicates whether VMAgent Platform Updates is enabled for the Windows virtual machine. Default value is false. */ - logAnalytics?: outputs.containerinstance.v20230201preview.LogAnalyticsResponse; - } - - /** - * Identity for the container group. - */ - export interface ContainerGroupIdentityResponse { + enableVMAgentPlatformUpdates?: boolean; /** - * The principal id of the container group identity. This property will only be provided for a system assigned identity. + * [Preview Feature] Specifies settings related to VM Guest Patching on Windows. */ - principalId: string; + patchSettings?: outputs.compute.v20230701.PatchSettingsResponse; /** - * The tenant id associated with the container group. This property will only be provided for a system assigned identity. + * Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, it is set to true by default. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. */ - tenantId: string; + provisionVMAgent?: boolean; /** - * The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group. + * Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). */ - type?: string; + timeZone?: string; /** - * The list of user identities associated with the container group. + * Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. */ - userAssignedIdentities?: {[key: string]: outputs.containerinstance.v20230201preview.UserAssignedIdentitiesResponse}; + winRM?: outputs.compute.v20230701.WinRMConfigurationResponse; } /** - * The instance view of the container group. Only valid in response. + * Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings. */ - export interface ContainerGroupPropertiesResponseInstanceView { + export interface WindowsVMGuestPatchAutomaticByPlatformSettingsResponse { /** - * The events of this container group. + * Enables customer to schedule patching without accidental upgrades */ - events: outputs.containerinstance.v20230201preview.EventResponse[]; + bypassPlatformSafetyChecksOnUserSchedule?: boolean; /** - * The state of the container group. Only valid in response. + * Specifies the reboot setting for all AutomaticByPlatform patch installation operations. */ - state: string; + rebootSetting?: string; } + } +} + +export namespace confidentialledger { + /** + * AAD based security principal with associated Ledger RoleName + */ + export interface AADBasedSecurityPrincipalResponse { /** - * Container group subnet information. + * LedgerRole associated with the Security Principal of Ledger */ - export interface ContainerGroupSubnetIdResponse { - /** - * Resource ID of virtual network and subnet. - */ - id: string; - /** - * Friendly name for the subnet. - */ - name?: string; - } - + ledgerRoleName?: string; /** - * The container Http Get settings, for liveness or readiness probe + * UUID/GUID based Principal Id of the Security Principal */ - export interface ContainerHttpGetResponse { - /** - * The HTTP headers. - */ - httpHeaders?: outputs.containerinstance.v20230201preview.HttpHeaderResponse[]; - /** - * The path to probe. - */ - path?: string; - /** - * The port number to probe. - */ - port: number; - /** - * The scheme. - */ - scheme?: string; - } + principalId?: string; + /** + * UUID/GUID based Tenant Id of the Security Principal + */ + tenantId?: string; + } + /** + * Cert based security principal with Ledger RoleName + */ + export interface CertBasedSecurityPrincipalResponse { /** - * The port exposed on the container instance. + * Public key of the user cert (.pem or .cer) */ - export interface ContainerPortResponse { - /** - * The port number exposed within the container group. - */ - port: number; - /** - * The protocol associated with the port. - */ - protocol?: string; - } + cert?: string; + /** + * LedgerRole associated with the Security Principal of Ledger + */ + ledgerRoleName?: string; + } + /** + * Tags for Managed CCF Certificates + */ + export interface CertificateTagsResponse { /** - * The container probe, for liveness or readiness + * Additional tags for Managed CCF Certificates */ - export interface ContainerProbeResponse { - /** - * The execution command to probe - */ - exec?: outputs.containerinstance.v20230201preview.ContainerExecResponse; - /** - * The failure threshold. - */ - failureThreshold?: number; - /** - * The Http Get settings to probe - */ - httpGet?: outputs.containerinstance.v20230201preview.ContainerHttpGetResponse; - /** - * The initial delay seconds. - */ - initialDelaySeconds?: number; - /** - * The period seconds. - */ - periodSeconds?: number; - /** - * The success threshold. - */ - successThreshold?: number; - /** - * The timeout seconds. - */ - timeoutSeconds?: number; - } + tags?: {[key: string]: string}; + } + /** + * Object representing DeploymentType for Managed CCF. + */ + export interface DeploymentTypeResponse { /** - * The instance view of the container instance. Only valid in response. + * Source Uri containing ManagedCCF code */ - export interface ContainerPropertiesResponseInstanceView { - /** - * Current container instance state. - */ - currentState: outputs.containerinstance.v20230201preview.ContainerStateResponse; - /** - * The events of the container instance. - */ - events: outputs.containerinstance.v20230201preview.EventResponse[]; - /** - * Previous container instance state. - */ - previousState: outputs.containerinstance.v20230201preview.ContainerStateResponse; - /** - * The number of times that the container instance has been restarted. - */ - restartCount: number; - } + appSourceUri?: string; + /** + * Unique name for the Managed CCF. + */ + languageRuntime?: string; + } + /** + * Additional Confidential Ledger properties. + */ + export interface LedgerPropertiesResponse { /** - * A container instance. + * Array of all AAD based Security Principals. */ - export interface ContainerResponse { - /** - * The commands to execute within the container instance in exec form. - */ - command?: string[]; - /** - * The environment variables to set in the container instance. - */ - environmentVariables?: outputs.containerinstance.v20230201preview.EnvironmentVariableResponse[]; - /** - * The name of the image used to create the container instance. - */ - image: string; - /** - * The instance view of the container instance. Only valid in response. - */ - instanceView: outputs.containerinstance.v20230201preview.ContainerPropertiesResponseInstanceView; - /** - * The liveness probe. - */ - livenessProbe?: outputs.containerinstance.v20230201preview.ContainerProbeResponse; - /** - * The user-provided name of the container instance. - */ - name: string; - /** - * The exposed ports on the container instance. - */ - ports?: outputs.containerinstance.v20230201preview.ContainerPortResponse[]; - /** - * The readiness probe. - */ - readinessProbe?: outputs.containerinstance.v20230201preview.ContainerProbeResponse; - /** - * The resource requirements of the container instance. - */ - resources: outputs.containerinstance.v20230201preview.ResourceRequirementsResponse; - /** - * The container security properties. - */ - securityContext?: outputs.containerinstance.v20230201preview.SecurityContextDefinitionResponse; - /** - * The volume mounts available to the container instance. - */ - volumeMounts?: outputs.containerinstance.v20230201preview.VolumeMountResponse[]; - } + aadBasedSecurityPrincipals?: outputs.confidentialledger.AADBasedSecurityPrincipalResponse[]; + /** + * Array of all cert based Security Principals. + */ + certBasedSecurityPrincipals?: outputs.confidentialledger.CertBasedSecurityPrincipalResponse[]; + /** + * Endpoint for accessing network identity. + */ + identityServiceUri: string; + /** + * Internal namespace for the Ledger + */ + ledgerInternalNamespace: string; + /** + * Unique name for the Confidential Ledger. + */ + ledgerName: string; + /** + * Type of Confidential Ledger + */ + ledgerType?: string; + /** + * Endpoint for calling Ledger Service. + */ + ledgerUri: string; + /** + * Provisioning state of Ledger Resource + */ + provisioningState: string; + } + /** + * Additional Managed CCF properties. + */ + export interface ManagedCCFPropertiesResponse { /** - * The container instance state. + * Unique name for the Managed CCF. */ - export interface ContainerStateResponse { - /** - * The human-readable status of the container instance state. - */ - detailStatus: string; - /** - * The container instance exit codes correspond to those from the `docker run` command. - */ - exitCode: number; - /** - * The date-time when the container instance state finished. - */ - finishTime: string; - /** - * The date-time when the container instance state started. - */ - startTime: string; - /** - * The state of the container instance. - */ - state: string; - } + appName: string; + /** + * Endpoint for calling Managed CCF Service. + */ + appUri: string; + /** + * Deployment Type of Managed CCF + */ + deploymentType?: outputs.confidentialledger.DeploymentTypeResponse; + /** + * Endpoint for accessing network identity. + */ + identityServiceUri: string; + /** + * List of member identity certificates for Managed CCF + */ + memberIdentityCertificates?: outputs.confidentialledger.MemberIdentityCertificateResponse[]; + /** + * Number of CCF nodes in the Managed CCF. + */ + nodeCount?: number; + /** + * Provisioning state of Ledger Resource + */ + provisioningState: string; + } + + /** + * Object representing MemberIdentityCertificate for Managed CCF. + */ + export interface MemberIdentityCertificateResponse { + /** + * Member Identity Certificate + */ + certificate?: string; + /** + * Member Identity Certificate Encryption Key + */ + encryptionkey?: string; + tags?: outputs.confidentialledger.CertificateTagsResponse[]; + } + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { /** - * Extension sidecars to be added to the deployment. + * The timestamp of resource creation (UTC). */ - export interface DeploymentExtensionSpecResponse { - /** - * Type of extension to be added. - */ - extensionType: string; - /** - * Name of the extension. - */ - name: string; + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + export namespace v20220513 { + /** + * AAD based security principal with associated Ledger RoleName + */ + export interface AADBasedSecurityPrincipalResponse { /** - * Protected settings for the extension. + * LedgerRole associated with the Security Principal of Ledger */ - protectedSettings?: any; + ledgerRoleName?: string; /** - * Settings for the extension. + * UUID/GUID based Principal Id of the Security Principal */ - settings?: any; + principalId?: string; /** - * Version of the extension being used. + * UUID/GUID based Tenant Id of the Security Principal */ - version: string; + tenantId?: string; } /** - * DNS configuration for the container group. + * Cert based security principal with Ledger RoleName */ - export interface DnsConfigurationResponse { - /** - * The DNS servers for the container group. - */ - nameServers: string[]; + export interface CertBasedSecurityPrincipalResponse { /** - * The DNS options for the container group. + * Public key of the user cert (.pem or .cer) */ - options?: string; + cert?: string; /** - * The DNS search domains for hostname lookup in the container group. + * LedgerRole associated with the Security Principal of Ledger */ - searchDomains?: string; + ledgerRoleName?: string; } /** - * The container group encryption properties. + * Additional Confidential Ledger properties. */ - export interface EncryptionPropertiesResponse { + export interface LedgerPropertiesResponse { /** - * The keyvault managed identity. + * Array of all AAD based Security Principals. */ - identity?: string; + aadBasedSecurityPrincipals?: outputs.confidentialledger.v20220513.AADBasedSecurityPrincipalResponse[]; /** - * The encryption key name. + * Array of all cert based Security Principals. */ - keyName: string; + certBasedSecurityPrincipals?: outputs.confidentialledger.v20220513.CertBasedSecurityPrincipalResponse[]; /** - * The encryption key version. + * Endpoint for accessing network identity. */ - keyVersion: string; + identityServiceUri: string; /** - * The keyvault base url. + * Internal namespace for the Ledger */ - vaultBaseUrl: string; - } - - /** - * The environment variable to set within the container instance. - */ - export interface EnvironmentVariableResponse { + ledgerInternalNamespace: string; /** - * The name of the environment variable. + * Unique name for the Confidential Ledger. */ - name: string; + ledgerName: string; /** - * The value of the secure environment variable. + * Type of Confidential Ledger */ - secureValue?: string; + ledgerType?: string; /** - * The value of the environment variable. + * Endpoint for calling Ledger Service. */ - value?: string; + ledgerUri: string; + /** + * Provisioning state of Ledger Resource + */ + provisioningState: string; } /** - * A container group or container instance event. + * Metadata pertaining to creation and last modification of the resource. */ - export interface EventResponse { + export interface SystemDataResponse { /** - * The count of the event. + * The timestamp of resource creation (UTC). */ - count: number; + createdAt?: string; /** - * The date-time of the earliest logged event. + * The identity that created the resource. */ - firstTimestamp: string; + createdBy?: string; /** - * The date-time of the latest logged event. + * The type of identity that created the resource. */ - lastTimestamp: string; + createdByType?: string; /** - * The event message. + * The timestamp of resource last modification (UTC) */ - message: string; + lastModifiedAt?: string; /** - * The event name. + * The identity that last modified the resource. */ - name: string; + lastModifiedBy?: string; /** - * The event type. + * The type of identity that last modified the resource. */ - type: string; + lastModifiedByType?: string; } + } + + export namespace v20230126preview { /** - * Represents a volume that is populated with the contents of a git repository + * AAD based security principal with associated Ledger RoleName */ - export interface GitRepoVolumeResponse { + export interface AADBasedSecurityPrincipalResponse { /** - * Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. + * LedgerRole associated with the Security Principal of Ledger */ - directory?: string; + ledgerRoleName?: string; /** - * Repository URL + * UUID/GUID based Principal Id of the Security Principal */ - repository: string; + principalId?: string; /** - * Commit hash for the specified revision. + * UUID/GUID based Tenant Id of the Security Principal */ - revision?: string; + tenantId?: string; } /** - * The GPU resource. + * Cert based security principal with Ledger RoleName */ - export interface GpuResourceResponse { + export interface CertBasedSecurityPrincipalResponse { /** - * The count of the GPU resource. + * Public key of the user cert (.pem or .cer) */ - count: number; + cert?: string; /** - * The SKU of the GPU resource. + * LedgerRole associated with the Security Principal of Ledger */ - sku: string; + ledgerRoleName?: string; } /** - * The HTTP header. + * Tags for Managed CCF Certificates */ - export interface HttpHeaderResponse { - /** - * The header name. - */ - name?: string; + export interface CertificateTagsResponse { /** - * The header value. + * Additional tags for Managed CCF Certificates */ - value?: string; + tags?: {[key: string]: string}; } /** - * Image registry credential. + * Object representing DeploymentType for Managed CCF. */ - export interface ImageRegistryCredentialResponse { - /** - * The identity for the private registry. - */ - identity?: string; - /** - * The identity URL for the private registry. - */ - identityUrl?: string; - /** - * The password for the private registry. - */ - password?: string; + export interface DeploymentTypeResponse { /** - * The Docker image registry server without a protocol such as "http" and "https". + * Source Uri containing ManagedCCF code */ - server: string; + appSourceUri?: string; /** - * The username for the private registry. + * Unique name for the Managed CCF. */ - username?: string; + languageRuntime?: string; } /** - * The init container definition. + * Additional Confidential Ledger properties. */ - export interface InitContainerDefinitionResponse { - /** - * The command to execute within the init container in exec form. - */ - command?: string[]; + export interface LedgerPropertiesResponse { /** - * The environment variables to set in the init container. + * Array of all AAD based Security Principals. */ - environmentVariables?: outputs.containerinstance.v20230201preview.EnvironmentVariableResponse[]; + aadBasedSecurityPrincipals?: outputs.confidentialledger.v20230126preview.AADBasedSecurityPrincipalResponse[]; /** - * The image of the init container. + * Array of all cert based Security Principals. */ - image?: string; + certBasedSecurityPrincipals?: outputs.confidentialledger.v20230126preview.CertBasedSecurityPrincipalResponse[]; /** - * The instance view of the init container. Only valid in response. + * Endpoint for accessing network identity. */ - instanceView: outputs.containerinstance.v20230201preview.InitContainerPropertiesDefinitionResponseInstanceView; + identityServiceUri: string; /** - * The name for the init container. + * Internal namespace for the Ledger */ - name: string; + ledgerInternalNamespace: string; /** - * The volume mounts available to the init container. + * Unique name for the Confidential Ledger. */ - volumeMounts?: outputs.containerinstance.v20230201preview.VolumeMountResponse[]; - } - - /** - * The instance view of the init container. Only valid in response. - */ - export interface InitContainerPropertiesDefinitionResponseInstanceView { + ledgerName: string; /** - * The current state of the init container. + * Type of Confidential Ledger */ - currentState: outputs.containerinstance.v20230201preview.ContainerStateResponse; + ledgerType?: string; /** - * The events of the init container. + * Endpoint for calling Ledger Service. */ - events: outputs.containerinstance.v20230201preview.EventResponse[]; + ledgerUri: string; /** - * The previous state of the init container. + * Provisioning state of Ledger Resource */ - previousState: outputs.containerinstance.v20230201preview.ContainerStateResponse; + provisioningState: string; /** - * The number of times that the init container has been restarted. + * Object representing RunningState for Ledger. */ - restartCount: number; + runningState?: string; } /** - * IP address for the container group. + * Additional Managed CCF properties. */ - export interface IpAddressResponse { - /** - * The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant. - */ - autoGeneratedDomainNameLabelScope?: string; - /** - * The Dns name label for the IP. - */ - dnsNameLabel?: string; - /** - * The FQDN for the IP. - */ - fqdn: string; - /** - * The IP exposed to the public internet. - */ - ip?: string; + export interface ManagedCCFPropertiesResponse { /** - * The list of ports exposed on the container group. + * Unique name for the Managed CCF. */ - ports: outputs.containerinstance.v20230201preview.PortResponse[]; + appName: string; /** - * Specifies if the IP is exposed to the public internet or private VNET. + * Endpoint for calling Managed CCF Service. */ - type: string; - } - /** - * ipAddressResponseProvideDefaults sets the appropriate defaults for IpAddressResponse - */ - export function ipAddressResponseProvideDefaults(val: IpAddressResponse): IpAddressResponse { - return { - ...val, - autoGeneratedDomainNameLabelScope: (val.autoGeneratedDomainNameLabelScope) ?? "Unsecure", - }; - } - - /** - * Container group log analytics information. - */ - export interface LogAnalyticsResponse { + appUri: string; /** - * The log type to be used. + * Deployment Type of Managed CCF */ - logType?: string; + deploymentType?: outputs.confidentialledger.v20230126preview.DeploymentTypeResponse; /** - * Metadata for log analytics. + * Endpoint for accessing network identity. */ - metadata?: {[key: string]: string}; + identityServiceUri: string; /** - * The workspace id for log analytics + * List of member identity certificates for Managed CCF */ - workspaceId: string; + memberIdentityCertificates?: outputs.confidentialledger.v20230126preview.MemberIdentityCertificateResponse[]; /** - * The workspace key for log analytics + * Number of CCF nodes in the Managed CCF. */ - workspaceKey: string; + nodeCount?: number; /** - * The workspace resource id for log analytics + * Provisioning state of Ledger Resource */ - workspaceResourceId?: string; + provisioningState: string; } /** - * The port exposed on the container group. + * Object representing MemberIdentityCertificate for Managed CCF. */ - export interface PortResponse { + export interface MemberIdentityCertificateResponse { /** - * The port number. + * Member Identity Certificate */ - port: number; + certificate?: string; /** - * The protocol associated with the port. + * Member Identity Certificate Encryption Key */ - protocol?: string; + encryptionkey?: string; + tags?: outputs.confidentialledger.v20230126preview.CertificateTagsResponse[]; } /** - * The resource limits. + * Metadata pertaining to creation and last modification of the resource. */ - export interface ResourceLimitsResponse { + export interface SystemDataResponse { /** - * The CPU limit of this container instance. + * The timestamp of resource creation (UTC). */ - cpu?: number; + createdAt?: string; /** - * The GPU limit of this container instance. + * The identity that created the resource. */ - gpu?: outputs.containerinstance.v20230201preview.GpuResourceResponse; + createdBy?: string; /** - * The memory limit in GB of this container instance. + * The type of identity that created the resource. */ - memoryInGB?: number; - } - - /** - * The resource requests. - */ - export interface ResourceRequestsResponse { + createdByType?: string; /** - * The CPU request of this container instance. + * The timestamp of resource last modification (UTC) */ - cpu: number; + lastModifiedAt?: string; /** - * The GPU request of this container instance. + * The identity that last modified the resource. */ - gpu?: outputs.containerinstance.v20230201preview.GpuResourceResponse; + lastModifiedBy?: string; /** - * The memory request in GB of this container instance. + * The type of identity that last modified the resource. */ - memoryInGB: number; + lastModifiedByType?: string; } + } +} + +export namespace confluent { + /** + * Confluent Offer detail + */ + export interface OfferDetailResponse { /** - * The resource requirements. + * Offer Id */ - export interface ResourceRequirementsResponse { - /** - * The resource limits of this container instance. - */ - limits?: outputs.containerinstance.v20230201preview.ResourceLimitsResponse; - /** - * The resource requests of this container instance. - */ - requests: outputs.containerinstance.v20230201preview.ResourceRequestsResponse; - } - + id: string; /** - * The capabilities to add or drop from a container. + * Offer Plan Id */ - export interface SecurityContextCapabilitiesDefinitionResponse { - /** - * The capabilities to add to the container. - */ - add?: string[]; - /** - * The capabilities to drop from the container. - */ - drop?: string[]; - } - + planId: string; /** - * The security context for the container. + * Offer Plan Name */ - export interface SecurityContextDefinitionResponse { - /** - * A boolean value indicating whether the init process can elevate its privileges - */ - allowPrivilegeEscalation?: boolean; - /** - * The capabilities to add or drop from a container. - */ - capabilities?: outputs.containerinstance.v20230201preview.SecurityContextCapabilitiesDefinitionResponse; - /** - * The flag to determine if the container permissions is elevated to Privileged. - */ - privileged?: boolean; - /** - * Sets the User GID for the container. - */ - runAsGroup?: number; - /** - * Sets the User UID for the container. - */ - runAsUser?: number; - /** - * a base64 encoded string containing the contents of the JSON in the seccomp profile - */ - seccompProfile?: string; - } - + planName: string; /** - * The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * Publisher Id */ - export interface UserAssignedIdentitiesResponse { - /** - * The client id of user assigned identity. - */ - clientId: string; - /** - * The principal id of user assigned identity. - */ - principalId: string; - } - + publisherId: string; /** - * The properties of the volume mount. + * SaaS Offer Status */ - export interface VolumeMountResponse { - /** - * The path within the container where the volume should be mounted. Must not contain colon (:). - */ - mountPath: string; - /** - * The name of the volume mount. - */ - name: string; - /** - * The flag indicating whether the volume mount is read-only. - */ - readOnly?: boolean; - } - + status: string; /** - * The properties of the volume. + * Offer Plan Term unit */ - export interface VolumeResponse { - /** - * The Azure File volume. - */ - azureFile?: outputs.containerinstance.v20230201preview.AzureFileVolumeResponse; - /** - * The empty directory volume. - */ - emptyDir?: any; - /** - * The git repo volume. - */ - gitRepo?: outputs.containerinstance.v20230201preview.GitRepoVolumeResponse; - /** - * The name of the volume. - */ - name: string; - /** - * The secret volume. - */ - secret?: {[key: string]: string}; - } - + termUnit: string; } - export namespace v20230501 { + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { /** - * The properties of the Azure File volume. Azure File shares are mounted as volumes. + * The timestamp of resource creation (UTC). */ - export interface AzureFileVolumeResponse { - /** - * The flag indicating whether the Azure File shared mounted as a volume is read-only. - */ - readOnly?: boolean; - /** - * The name of the Azure File share to be mounted as a volume. - */ - shareName: string; - /** - * The storage account access key used to access the Azure File share. - */ - storageAccountKey?: string; - /** - * The name of the storage account that contains the Azure File share. - */ - storageAccountName: string; - } - + createdAt?: string; /** - * The properties for confidential container group + * The identity that created the resource. */ - export interface ConfidentialComputePropertiesResponse { - /** - * The base64 encoded confidential compute enforcement policy - */ - ccePolicy?: string; - } - + createdBy?: string; /** - * The container execution command, for liveness or readiness probe + * The type of identity that created the resource. */ - export interface ContainerExecResponse { - /** - * The commands to execute within the container. - */ - command?: string[]; - } - + createdByType?: string; /** - * Container group diagnostic information. + * The timestamp of resource last modification (UTC) */ - export interface ContainerGroupDiagnosticsResponse { - /** - * Container group log analytics information. - */ - logAnalytics?: outputs.containerinstance.v20230501.LogAnalyticsResponse; - } - + lastModifiedAt?: string; /** - * Identity for the container group. + * The identity that last modified the resource. */ - export interface ContainerGroupIdentityResponse { - /** - * The principal id of the container group identity. This property will only be provided for a system assigned identity. - */ - principalId: string; - /** - * The tenant id associated with the container group. This property will only be provided for a system assigned identity. - */ - tenantId: string; - /** - * The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group. - */ - type?: string; - /** - * The list of user identities associated with the container group. - */ - userAssignedIdentities?: {[key: string]: outputs.containerinstance.v20230501.UserAssignedIdentitiesResponse}; - } - + lastModifiedBy?: string; /** - * The instance view of the container group. Only valid in response. + * The type of identity that last modified the resource. */ - export interface ContainerGroupPropertiesResponseInstanceView { - /** - * The events of this container group. - */ - events: outputs.containerinstance.v20230501.EventResponse[]; - /** - * The state of the container group. Only valid in response. - */ - state: string; - } + lastModifiedByType?: string; + } + /** + * Subscriber detail + */ + export interface UserDetailResponse { /** - * Container group subnet information. + * Email address */ - export interface ContainerGroupSubnetIdResponse { - /** - * Resource ID of virtual network and subnet. - */ - id: string; - /** - * Friendly name for the subnet. - */ - name?: string; - } - + emailAddress: string; /** - * The container Http Get settings, for liveness or readiness probe + * First name */ - export interface ContainerHttpGetResponse { - /** - * The HTTP headers. - */ - httpHeaders?: outputs.containerinstance.v20230501.HttpHeaderResponse[]; - /** - * The path to probe. - */ - path?: string; - /** - * The port number to probe. - */ - port: number; - /** - * The scheme. - */ - scheme?: string; - } - + firstName?: string; /** - * The port exposed on the container instance. + * Last name */ - export interface ContainerPortResponse { - /** - * The port number exposed within the container group. - */ - port: number; - /** - * The protocol associated with the port. - */ - protocol?: string; - } + lastName?: string; + } + export namespace v20200301preview { /** - * The container probe, for liveness or readiness + * Confluent offer detail */ - export interface ContainerProbeResponse { - /** - * The execution command to probe - */ - exec?: outputs.containerinstance.v20230501.ContainerExecResponse; + export interface OrganizationResourcePropertiesResponseOfferDetail { /** - * The failure threshold. + * Offer Id */ - failureThreshold?: number; + id?: string; /** - * The Http Get settings to probe + * Offer Plan Id */ - httpGet?: outputs.containerinstance.v20230501.ContainerHttpGetResponse; + planId?: string; /** - * The initial delay seconds. + * Offer Plan Name */ - initialDelaySeconds?: number; + planName?: string; /** - * The period seconds. + * Publisher Id */ - periodSeconds?: number; + publisherId?: string; /** - * The success threshold. + * SaaS Offer Status */ - successThreshold?: number; + status: string; /** - * The timeout seconds. + * Offer Plan Term unit */ - timeoutSeconds?: number; + termUnit?: string; } /** - * The instance view of the container instance. Only valid in response. + * Subscriber detail */ - export interface ContainerPropertiesResponseInstanceView { - /** - * Current container instance state. - */ - currentState: outputs.containerinstance.v20230501.ContainerStateResponse; + export interface OrganizationResourcePropertiesResponseUserDetail { /** - * The events of the container instance. + * Email address */ - events: outputs.containerinstance.v20230501.EventResponse[]; + emailAddress?: string; /** - * Previous container instance state. + * First name */ - previousState: outputs.containerinstance.v20230501.ContainerStateResponse; + firstName?: string; /** - * The number of times that the container instance has been restarted. + * Last name */ - restartCount: number; + lastName?: string; } + } + + export namespace v20211201 { /** - * A container instance. + * Confluent Offer detail */ - export interface ContainerResponse { - /** - * The commands to execute within the container instance in exec form. - */ - command?: string[]; - /** - * The environment variables to set in the container instance. - */ - environmentVariables?: outputs.containerinstance.v20230501.EnvironmentVariableResponse[]; - /** - * The name of the image used to create the container instance. - */ - image: string; - /** - * The instance view of the container instance. Only valid in response. - */ - instanceView: outputs.containerinstance.v20230501.ContainerPropertiesResponseInstanceView; - /** - * The liveness probe. - */ - livenessProbe?: outputs.containerinstance.v20230501.ContainerProbeResponse; + export interface OfferDetailResponse { /** - * The user-provided name of the container instance. + * Offer Id */ - name: string; + id: string; /** - * The exposed ports on the container instance. + * Offer Plan Id */ - ports?: outputs.containerinstance.v20230501.ContainerPortResponse[]; + planId: string; /** - * The readiness probe. + * Offer Plan Name */ - readinessProbe?: outputs.containerinstance.v20230501.ContainerProbeResponse; + planName: string; /** - * The resource requirements of the container instance. + * Publisher Id */ - resources: outputs.containerinstance.v20230501.ResourceRequirementsResponse; + publisherId: string; /** - * The container security properties. + * SaaS Offer Status */ - securityContext?: outputs.containerinstance.v20230501.SecurityContextDefinitionResponse; + status: string; /** - * The volume mounts available to the container instance. + * Offer Plan Term unit */ - volumeMounts?: outputs.containerinstance.v20230501.VolumeMountResponse[]; + termUnit: string; } /** - * The container instance state. + * Metadata pertaining to creation and last modification of the resource. */ - export interface ContainerStateResponse { - /** - * The human-readable status of the container instance state. - */ - detailStatus: string; - /** - * The container instance exit codes correspond to those from the `docker run` command. - */ - exitCode: number; - /** - * The date-time when the container instance state finished. - */ - finishTime: string; - /** - * The date-time when the container instance state started. - */ - startTime: string; + export interface SystemDataResponse { /** - * The state of the container instance. + * The timestamp of resource creation (UTC). */ - state: string; - } - - /** - * Extension sidecars to be added to the deployment. - */ - export interface DeploymentExtensionSpecResponse { + createdAt?: string; /** - * Type of extension to be added. + * The identity that created the resource. */ - extensionType: string; + createdBy?: string; /** - * Name of the extension. + * The type of identity that created the resource. */ - name: string; + createdByType?: string; /** - * Protected settings for the extension. + * The timestamp of resource last modification (UTC) */ - protectedSettings?: any; + lastModifiedAt?: string; /** - * Settings for the extension. + * The identity that last modified the resource. */ - settings?: any; + lastModifiedBy?: string; /** - * Version of the extension being used. + * The type of identity that last modified the resource. */ - version: string; + lastModifiedByType?: string; } /** - * DNS configuration for the container group. + * Subscriber detail */ - export interface DnsConfigurationResponse { + export interface UserDetailResponse { /** - * The DNS servers for the container group. + * Email address */ - nameServers: string[]; + emailAddress: string; /** - * The DNS options for the container group. + * First name */ - options?: string; + firstName?: string; /** - * The DNS search domains for hostname lookup in the container group. + * Last name */ - searchDomains?: string; + lastName?: string; } + } +} + +export namespace connectedvmwarevsphere { + /** + * The resource management error additional info. + */ + export interface ErrorAdditionalInfoResponse { /** - * The container group encryption properties. + * The additional info. */ - export interface EncryptionPropertiesResponse { - /** - * The keyvault managed identity. - */ - identity?: string; - /** - * The encryption key name. - */ - keyName: string; - /** - * The encryption key version. - */ - keyVersion: string; - /** - * The keyvault base url. - */ - vaultBaseUrl: string; - } - + info: any; /** - * The environment variable to set within the container instance. + * The additional info type. */ - export interface EnvironmentVariableResponse { - /** - * The name of the environment variable. - */ - name: string; - /** - * The value of the secure environment variable. - */ - secureValue?: string; - /** - * The value of the environment variable. - */ - value?: string; - } + type: string; + } + /** + * The error detail. + */ + export interface ErrorDetailResponse { /** - * A container group or container instance event. + * The error additional info. */ - export interface EventResponse { - /** - * The count of the event. - */ - count: number; - /** - * The date-time of the earliest logged event. - */ - firstTimestamp: string; - /** - * The date-time of the latest logged event. - */ - lastTimestamp: string; - /** - * The event message. - */ - message: string; - /** - * The event name. - */ - name: string; - /** - * The event type. - */ - type: string; - } - - /** - * Represents a volume that is populated with the contents of a git repository - */ - export interface GitRepoVolumeResponse { - /** - * Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. - */ - directory?: string; - /** - * Repository URL - */ - repository: string; - /** - * Commit hash for the specified revision. - */ - revision?: string; - } - - /** - * The GPU resource. - */ - export interface GpuResourceResponse { - /** - * The count of the GPU resource. - */ - count: number; - /** - * The SKU of the GPU resource. - */ - sku: string; - } - - /** - * The HTTP header. - */ - export interface HttpHeaderResponse { - /** - * The header name. - */ - name?: string; - /** - * The header value. - */ - value?: string; - } - - /** - * Image registry credential. - */ - export interface ImageRegistryCredentialResponse { - /** - * The identity for the private registry. - */ - identity?: string; - /** - * The identity URL for the private registry. - */ - identityUrl?: string; - /** - * The password for the private registry. - */ - password?: string; - /** - * The Docker image registry server without a protocol such as "http" and "https". - */ - server: string; - /** - * The username for the private registry. - */ - username?: string; - } - - /** - * The init container definition. - */ - export interface InitContainerDefinitionResponse { - /** - * The command to execute within the init container in exec form. - */ - command?: string[]; - /** - * The environment variables to set in the init container. - */ - environmentVariables?: outputs.containerinstance.v20230501.EnvironmentVariableResponse[]; - /** - * The image of the init container. - */ - image?: string; - /** - * The instance view of the init container. Only valid in response. - */ - instanceView: outputs.containerinstance.v20230501.InitContainerPropertiesDefinitionResponseInstanceView; - /** - * The name for the init container. - */ - name: string; - /** - * The container security properties. - */ - securityContext?: outputs.containerinstance.v20230501.SecurityContextDefinitionResponse; - /** - * The volume mounts available to the init container. - */ - volumeMounts?: outputs.containerinstance.v20230501.VolumeMountResponse[]; - } - - /** - * The instance view of the init container. Only valid in response. - */ - export interface InitContainerPropertiesDefinitionResponseInstanceView { - /** - * The current state of the init container. - */ - currentState: outputs.containerinstance.v20230501.ContainerStateResponse; - /** - * The events of the init container. - */ - events: outputs.containerinstance.v20230501.EventResponse[]; - /** - * The previous state of the init container. - */ - previousState: outputs.containerinstance.v20230501.ContainerStateResponse; - /** - * The number of times that the init container has been restarted. - */ - restartCount: number; - } - + additionalInfo: outputs.connectedvmwarevsphere.ErrorAdditionalInfoResponse[]; /** - * IP address for the container group. + * The error code. */ - export interface IpAddressResponse { - /** - * The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant. - */ - autoGeneratedDomainNameLabelScope?: string; - /** - * The Dns name label for the IP. - */ - dnsNameLabel?: string; - /** - * The FQDN for the IP. - */ - fqdn: string; - /** - * The IP exposed to the public internet. - */ - ip?: string; - /** - * The list of ports exposed on the container group. - */ - ports: outputs.containerinstance.v20230501.PortResponse[]; - /** - * Specifies if the IP is exposed to the public internet or private VNET. - */ - type: string; - } + code: string; /** - * ipAddressResponseProvideDefaults sets the appropriate defaults for IpAddressResponse + * The error details. */ - export function ipAddressResponseProvideDefaults(val: IpAddressResponse): IpAddressResponse { - return { - ...val, - autoGeneratedDomainNameLabelScope: (val.autoGeneratedDomainNameLabelScope) ?? "Unsecure", - }; - } - + details: outputs.connectedvmwarevsphere.ErrorDetailResponse[]; /** - * Container group log analytics information. + * The error message. */ - export interface LogAnalyticsResponse { - /** - * The log type to be used. - */ - logType?: string; - /** - * Metadata for log analytics. - */ - metadata?: {[key: string]: string}; - /** - * The workspace id for log analytics - */ - workspaceId: string; - /** - * The workspace key for log analytics - */ - workspaceKey: string; - /** - * The workspace resource id for log analytics - */ - workspaceResourceId?: string; - } - + message: string; /** - * The port exposed on the container group. + * The error target. */ - export interface PortResponse { - /** - * The port number. - */ - port: number; - /** - * The protocol associated with the port. - */ - protocol?: string; - } + target: string; + } + /** + * The extended location. + */ + export interface ExtendedLocationResponse { /** - * The resource limits. + * The extended location name. */ - export interface ResourceLimitsResponse { - /** - * The CPU limit of this container instance. - */ - cpu?: number; - /** - * The GPU limit of this container instance. - */ - gpu?: outputs.containerinstance.v20230501.GpuResourceResponse; - /** - * The memory limit in GB of this container instance. - */ - memoryInGB?: number; - } - + name?: string; /** - * The resource requests. + * The extended location type. */ - export interface ResourceRequestsResponse { - /** - * The CPU request of this container instance. - */ - cpu: number; - /** - * The GPU request of this container instance. - */ - gpu?: outputs.containerinstance.v20230501.GpuResourceResponse; - /** - * The memory request in GB of this container instance. - */ - memoryInGB: number; - } + type?: string; + } + /** + * Specifies the guest agent settings for the virtual machine. + */ + export interface GuestAgentProfileResponse { /** - * The resource requirements. + * The hybrid machine agent full version. */ - export interface ResourceRequirementsResponse { - /** - * The resource limits of this container instance. - */ - limits?: outputs.containerinstance.v20230501.ResourceLimitsResponse; - /** - * The resource requests of this container instance. - */ - requests: outputs.containerinstance.v20230501.ResourceRequestsResponse; - } - + agentVersion: string; /** - * The capabilities to add or drop from a container. + * Gets or sets the Public Key provided by the client for enabling guest management. */ - export interface SecurityContextCapabilitiesDefinitionResponse { - /** - * The capabilities to add to the container. - */ - add?: string[]; - /** - * The capabilities to drop from the container. - */ - drop?: string[]; - } - + clientPublicKey?: string; /** - * The security context for the container. + * Details about the error state. */ - export interface SecurityContextDefinitionResponse { - /** - * A boolean value indicating whether the init process can elevate its privileges - */ - allowPrivilegeEscalation?: boolean; - /** - * The capabilities to add or drop from a container. - */ - capabilities?: outputs.containerinstance.v20230501.SecurityContextCapabilitiesDefinitionResponse; - /** - * The flag to determine if the container permissions is elevated to Privileged. - */ - privileged?: boolean; - /** - * Sets the User GID for the container. - */ - runAsGroup?: number; - /** - * Sets the User UID for the container. - */ - runAsUser?: number; - /** - * a base64 encoded string containing the contents of the JSON in the seccomp profile - */ - seccompProfile?: string; - } - + errorDetails: outputs.connectedvmwarevsphere.ErrorDetailResponse[]; /** - * The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * The time of the last status change. */ - export interface UserAssignedIdentitiesResponse { - /** - * The client id of user assigned identity. - */ - clientId: string; - /** - * The principal id of user assigned identity. - */ - principalId: string; - } - + lastStatusChange: string; /** - * The properties of the volume mount. + * Specifies whether any MS SQL instance is discovered on the machine. */ - export interface VolumeMountResponse { - /** - * The path within the container where the volume should be mounted. Must not contain colon (:). - */ - mountPath: string; - /** - * The name of the volume mount. - */ - name: string; - /** - * The flag indicating whether the volume mount is read-only. - */ - readOnly?: boolean; - } - + mssqlDiscovered: string; /** - * The properties of the volume. + * The status of the hybrid machine agent. */ - export interface VolumeResponse { - /** - * The Azure File volume. - */ - azureFile?: outputs.containerinstance.v20230501.AzureFileVolumeResponse; - /** - * The empty directory volume. - */ - emptyDir?: any; - /** - * The git repo volume. - */ - gitRepo?: outputs.containerinstance.v20230501.GitRepoVolumeResponse; - /** - * The name of the volume. - */ - name: string; - /** - * The secret volume. - */ - secret?: {[key: string]: string}; - } - - } -} - -export namespace containerregistry { - /** - * The activation properties of the connected registry. - */ - export interface ActivationPropertiesResponse { + status: string; /** - * The activation status of the connected registry. + * Specifies the VM's unique SMBIOS ID. */ - status: string; + vmUuid: string; } /** - * The agent that initiated the event. For most situations, this could be from the authorization context of the request. + * Username / Password Credentials to connect to guest. */ - export interface ActorResponse { + export interface GuestCredentialResponse { /** - * The subject or username associated with the request context that generated the event. + * Gets or sets username to connect with the guest. */ - name?: string; + username?: string; } /** - * The properties that determine the run agent configuration. + * Specifies the hardware settings for the virtual machine. */ - export interface AgentPropertiesResponse { + export interface HardwareProfileResponse { /** - * The CPU configuration in terms of number of cores required for the run. + * Gets or sets a value indicating whether virtual processors can be added while this virtual machine is running. */ - cpu?: number; - } - - /** - * The properties of the archive package source. - */ - export interface ArchivePackageSourcePropertiesResponse { + cpuHotAddEnabled: boolean; /** - * The type of package source for a archive. + * Gets or sets a value indicating whether virtual processors can be removed while this virtual machine is running. */ - type?: string; + cpuHotRemoveEnabled: boolean; /** - * The external repository url. + * Gets or sets a value indicating whether memory can be added while this virtual machine is running. */ - url?: string; - } - - /** - * The properties of a run argument. - */ - export interface ArgumentResponse { + memoryHotAddEnabled: boolean; /** - * Flag to indicate whether the argument represents a secret and want to be removed from build logs. + * Gets or sets memory size in MBs for the vm. */ - isSecret?: boolean; + memorySizeMB?: number; /** - * The name of the argument. + * Gets or sets the number of vCPUs for the vm. */ - name: string; + numCPUs?: number; /** - * The value of the argument. + * Gets or sets the number of cores per socket for the vm. Defaults to 1 if unspecified. */ - value: string; + numCoresPerSocket?: number; } + /** - * argumentResponseProvideDefaults sets the appropriate defaults for ArgumentResponse + * HTTP Proxy configuration for the VM. */ - export function argumentResponseProvideDefaults(val: ArgumentResponse): ArgumentResponse { - return { - ...val, - isSecret: (val.isSecret) ?? false, - }; + export interface HttpProxyConfigurationResponse { + /** + * Gets or sets httpsProxy url. + */ + httpsProxy?: string; } /** - * Authentication credential stored for an upstream. + * Managed service identity. */ - export interface AuthCredentialResponse { - /** - * This provides data pertaining to the health of the auth credential. - */ - credentialHealth: outputs.containerregistry.CredentialHealthResponse; + export interface IdentityResponse { /** - * The name of the credential. + * The principal id of managed service identity. */ - name?: string; + principalId: string; /** - * KeyVault Secret URI for accessing the password. + * The tenant of managed service identity. */ - passwordSecretIdentifier?: string; + tenantId: string; /** - * KeyVault Secret URI for accessing the username. + * The type of managed service identity. */ - usernameSecretIdentifier?: string; + type: string; } /** - * The authorization properties for accessing the source code repository. + * Instance view status. */ - export interface AuthInfoResponse { + export interface MachineExtensionInstanceViewResponseStatus { /** - * Time in seconds that the token remains valid + * The status code. */ - expiresIn?: number; + code: string; /** - * The refresh token used to refresh the access token. + * The short localizable label for the status. */ - refreshToken?: string; + displayStatus: string; /** - * The scope of the access token. + * The level code. */ - scope?: string; + level: string; /** - * The access token used to access the source control provider. + * The detailed status message, including for alerts and error messages. */ - token: string; + message: string; /** - * The type of Auth token. + * The time of the status. */ - tokenType: string; + time: string; } /** - * Properties that describe a base image dependency. + * The machine extension instance view. */ - export interface BaseImageDependencyResponse { - /** - * The sha256-based digest of the image manifest. - */ - digest?: string; + export interface MachineExtensionPropertiesResponseInstanceView { /** - * The registry login server. + * The machine extension name. */ - registry?: string; + name: string; /** - * The repository name. + * Instance view status. */ - repository?: string; + status?: outputs.connectedvmwarevsphere.MachineExtensionInstanceViewResponseStatus; /** - * The tag name. + * Specifies the type of the extension; an example is "CustomScriptExtension". */ - tag?: string; + type: string; /** - * The type of the base image dependency. + * Specifies the version of the script handler. */ - type?: string; + typeHandlerVersion: string; } /** - * The trigger based on base image dependency. + * Network Interface model */ - export interface BaseImageTriggerResponse { - /** - * The type of the auto trigger for base image dependency updates. - */ - baseImageTriggerType: string; + export interface NetworkInterfaceResponse { /** - * The name of the trigger. + * Gets or sets the device key value. */ - name: string; + deviceKey?: number; /** - * The current status of trigger. + * Gets or sets the nic ip addresses. */ - status?: string; + ipAddresses: string[]; /** - * The endpoint URL for receiving update triggers. + * Gets or sets the ipsettings. */ - updateTriggerEndpoint?: string; + ipSettings?: outputs.connectedvmwarevsphere.NicIPSettingsResponse; /** - * Type of Payload body for Base image update triggers. + * Gets or sets the label of the virtual network in vCenter that the nic is connected to. */ - updateTriggerPayloadType?: string; - } - /** - * baseImageTriggerResponseProvideDefaults sets the appropriate defaults for BaseImageTriggerResponse - */ - export function baseImageTriggerResponseProvideDefaults(val: BaseImageTriggerResponse): BaseImageTriggerResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; - } - - /** - * Properties of a build argument. - */ - export interface BuildArgumentResponse { + label: string; /** - * Flag to indicate whether the argument represents a secret and want to be removed from build logs. + * Gets or sets the NIC MAC address. */ - isSecret?: boolean; + macAddress: string; /** - * The name of the argument. + * Gets or sets the name of the network interface. */ - name: string; + name?: string; /** - * The type of the argument. + * Gets or sets the ARM Id of the network resource to connect the virtual machine. */ - type: string; + networkId?: string; /** - * The value of the argument. + * Gets or sets the name of the virtual network in vCenter that the nic is connected to. */ - value: string; - } - /** - * buildArgumentResponseProvideDefaults sets the appropriate defaults for BuildArgumentResponse - */ - export function buildArgumentResponseProvideDefaults(val: BuildArgumentResponse): BuildArgumentResponse { - return { - ...val, - isSecret: (val.isSecret) ?? false, - }; - } - - /** - * The health of the auth credential. - */ - export interface CredentialHealthResponse { + networkMoName: string; /** - * Error code representing the health check error. + * Gets or sets the vCenter MoRef (Managed Object Reference) ID of the virtual network + * that the nic is connected to. */ - errorCode?: string; + networkMoRefId: string; /** - * Descriptive message representing the health check error. + * NIC type */ - errorMessage?: string; + nicType?: string; /** - * The health status of credential. + * Gets or sets the power on boot. */ - status?: string; + powerOnBoot?: string; } /** - * The parameters that describes a set of credentials that will be used when a run is invoked. + * Specifies the network interfaces of the virtual machine. */ - export interface CredentialsResponse { - /** - * Describes the credential parameters for accessing other custom registries. The key - * for the dictionary item will be the registry login server (myregistry.azurecr.io) and - * the value of the item will be the registry credentials for accessing the registry. - */ - customRegistries?: {[key: string]: outputs.containerregistry.CustomRegistryCredentialsResponse}; + export interface NetworkProfileResponse { /** - * Describes the credential parameters for accessing the source registry. + * Gets or sets the list of network interfaces associated with the virtual machine. */ - sourceRegistry?: outputs.containerregistry.SourceRegistryCredentialsResponse; + networkInterfaces?: outputs.connectedvmwarevsphere.NetworkInterfaceResponse[]; } /** - * Describes the credentials that will be used to access a custom registry during a run. + * IP address information for a virtual network adapter reported by the fabric. */ - export interface CustomRegistryCredentialsResponse { + export interface NicIPAddressSettingsResponse { /** - * Indicates the managed identity assigned to the custom credential. If a user-assigned identity - * this value is the Client ID. If a system-assigned identity, the value will be `system`. In - * the case of a system-assigned identity, the Client ID will be determined by the runner. This - * identity may be used to authenticate to key vault to retrieve credentials or it may be the only - * source of authentication used for accessing the registry. + * Gets the ip address allocation method. */ - identity?: string; + allocationMethod: string; /** - * The password for logging into the custom registry. The password is a secret - * object that allows multiple ways of providing the value for it. + * Gets the ip address for the nic. */ - password?: outputs.containerregistry.SecretObjectResponse; + ipAddress: string; /** - * The username for logging into the custom registry. + * Gets the mask. */ - userName?: outputs.containerregistry.SecretObjectResponse; + subnetMask: string; } /** - * The parameters for a docker quick build. + * Defines the network interface ip settings. */ - export interface DockerBuildRequestResponse { - /** - * The machine configuration of the run agent. - */ - agentConfiguration?: outputs.containerregistry.AgentPropertiesResponse; - /** - * The dedicated agent pool for the run. - */ - agentPoolName?: string; - /** - * The collection of override arguments to be used when executing the run. - */ - arguments?: outputs.containerregistry.ArgumentResponse[]; - /** - * The properties that describes a set of credentials that will be used when this run is invoked. - */ - credentials?: outputs.containerregistry.CredentialsResponse; - /** - * The Docker file path relative to the source location. - */ - dockerFilePath: string; - /** - * The fully qualified image names including the repository and tag. - */ - imageNames?: string[]; - /** - * The value that indicates whether archiving is enabled for the run or not. - */ - isArchiveEnabled?: boolean; + export interface NicIPSettingsResponse { /** - * The value of this property indicates whether the image built should be pushed to the registry or not. + * Gets or sets the nic allocation method. */ - isPushEnabled?: boolean; + allocationMethod?: string; /** - * The template that describes the repository and tag information for run log artifact. + * Gets or sets the dns servers. */ - logTemplate?: string; + dnsServers?: string[]; /** - * The value of this property indicates whether the image cache is enabled or not. + * Gets or sets the gateway. */ - noCache?: boolean; + gateway?: string[]; /** - * The platform properties against which the run has to happen. + * Gets or sets the ip address for the nic. */ - platform: outputs.containerregistry.PlatformPropertiesResponse; + ipAddress?: string; /** - * The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository. - * If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API. + * Gets or sets the IP address information being reported for this NIC. This contains the same IPv4 information above plus IPV6 information. */ - sourceLocation?: string; + ipAddressInfo: outputs.connectedvmwarevsphere.NicIPAddressSettingsResponse[]; /** - * The name of the target build stage for the docker build. + * Gets or sets the primary server. */ - target?: string; + primaryWinsServer: string; /** - * Run timeout in seconds. + * Gets or sets the secondary server. */ - timeout?: number; + secondaryWinsServer: string; /** - * The type of the run request. - * Expected value is 'DockerBuildRequest'. + * Gets or sets the mask. */ - type: "DockerBuildRequest"; - } - /** - * dockerBuildRequestResponseProvideDefaults sets the appropriate defaults for DockerBuildRequestResponse - */ - export function dockerBuildRequestResponseProvideDefaults(val: DockerBuildRequestResponse): DockerBuildRequestResponse { - return { - ...val, - isArchiveEnabled: (val.isArchiveEnabled) ?? false, - isPushEnabled: (val.isPushEnabled) ?? true, - noCache: (val.noCache) ?? false, - timeout: (val.timeout) ?? 3600, - }; + subnetMask?: string; } /** - * The Docker build step. + * Specifies the operating system settings for the virtual machine. */ - export interface DockerBuildStepResponse { - /** - * The collection of override arguments to be used when executing this build step. - */ - arguments?: outputs.containerregistry.ArgumentResponse[]; + export interface OsProfileResponse { /** - * List of base image dependencies for a step. + * Gets or sets administrator username. */ - baseImageDependencies: outputs.containerregistry.BaseImageDependencyResponse[]; + adminUsername?: string; /** - * The type of the auto trigger for base image dependency updates. + * Gets or sets a value indicating whether the VM is ready for extension operations. */ - baseImageTrigger?: string; + allowExtensionOperations: boolean; /** - * The repository branch name. + * Gets or sets computer name. */ - branch?: string; + computerName?: string; /** - * The custom arguments for building this build step. + * Gets or sets the guestId. */ - buildArguments?: outputs.containerregistry.BuildArgumentResponse[]; + guestId?: string; /** - * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + * Specifies the linux configuration for update management. */ - contextAccessToken?: string; + linuxConfiguration?: outputs.connectedvmwarevsphere.OsProfileResponseLinuxConfiguration; /** - * The URL(absolute or relative) of the source context for the task step. + * Gets or sets os name. */ - contextPath?: string; + osName: string; /** - * The Docker file path relative to the source context. + * Gets or sets the type of the os. */ - dockerFilePath: string; + osType?: string; /** - * The fully qualified image names including the repository and tag. + * Gets or sets the current running status of VMware Tools running in the guest operating system. */ - imageNames?: string[]; + toolsRunningStatus: string; /** - * The value of this property indicates whether the image built should be pushed to the registry or not. + * Gets or sets the current version of VMware Tools. */ - isPushEnabled?: boolean; + toolsVersion: string; /** - * The value of this property indicates whether the image cache is enabled or not. + * Gets or sets the current version status of VMware Tools installed in the guest operating system. */ - noCache?: boolean; + toolsVersionStatus: string; /** - * The provisioning state of the build step. + * Specifies the windows configuration for update management. */ - provisioningState?: string; + windowsConfiguration?: outputs.connectedvmwarevsphere.OsProfileResponseWindowsConfiguration; + } + + /** + * Specifies the linux configuration for update management. + */ + export interface OsProfileResponseLinuxConfiguration { /** - * The name of the target build stage for the docker build. + * Specifies the assessment mode. */ - target?: string; + assessmentMode?: string; /** - * The type of the step. - * Expected value is 'Docker'. + * Specifies the patch mode. */ - type: "Docker"; - } - /** - * dockerBuildStepResponseProvideDefaults sets the appropriate defaults for DockerBuildStepResponse - */ - export function dockerBuildStepResponseProvideDefaults(val: DockerBuildStepResponse): DockerBuildStepResponse { - return { - ...val, - isPushEnabled: (val.isPushEnabled) ?? true, - noCache: (val.noCache) ?? false, - }; + patchMode?: string; } /** - * The parameters for a quick task run request. + * Specifies the windows configuration for update management. */ - export interface EncodedTaskRunRequestResponse { + export interface OsProfileResponseWindowsConfiguration { /** - * The machine configuration of the run agent. + * Specifies the assessment mode. */ - agentConfiguration?: outputs.containerregistry.AgentPropertiesResponse; + assessmentMode?: string; /** - * The dedicated agent pool for the run. + * Specifies the patch mode. */ - agentPoolName?: string; + patchMode?: string; + } + + /** + * Specifies the compute and storage placement settings for the virtual machine. + */ + export interface PlacementProfileResponse { /** - * The properties that describes a set of credentials that will be used when this run is invoked. + * Gets or sets the ARM Id of the cluster resource on which this virtual machine will deploy. */ - credentials?: outputs.containerregistry.CredentialsResponse; + clusterId?: string; /** - * Base64 encoded value of the template/definition file content. + * Gets or sets the ARM Id of the datastore resource on which the data for the virtual machine will be kept. */ - encodedTaskContent: string; + datastoreId?: string; /** - * Base64 encoded value of the parameters/values file content. + * Gets or sets the ARM Id of the host resource on which this virtual machine will deploy. */ - encodedValuesContent?: string; + hostId?: string; /** - * The value that indicates whether archiving is enabled for the run or not. + * Gets or sets the ARM Id of the resourcePool resource on which this virtual machine will deploy. */ - isArchiveEnabled?: boolean; + resourcePoolId?: string; + } + + /** + * The resource status information. + */ + export interface ResourceStatusResponse { /** - * The template that describes the repository and tag information for run log artifact. + * The last update time for this condition. */ - logTemplate?: string; + lastUpdatedAt: string; /** - * The platform properties against which the run has to happen. + * A human readable message indicating details about the status. */ - platform: outputs.containerregistry.PlatformPropertiesResponse; + message: string; /** - * The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository. - * If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API. + * The reason for the condition's status. */ - sourceLocation?: string; + reason: string; /** - * Run timeout in seconds. + * Severity with which to treat failures of this type of condition. */ - timeout?: number; + severity: string; /** - * The type of the run request. - * Expected value is 'EncodedTaskRunRequest'. + * Status of the condition. */ - type: "EncodedTaskRunRequest"; + status: string; /** - * The collection of overridable values that can be passed when running a task. + * The type of the condition. */ - values?: outputs.containerregistry.SetValueResponse[]; + type: string; } + /** - * encodedTaskRunRequestResponseProvideDefaults sets the appropriate defaults for EncodedTaskRunRequestResponse + * Specifies the Security profile settings for the virtual machine. */ - export function encodedTaskRunRequestResponseProvideDefaults(val: EncodedTaskRunRequestResponse): EncodedTaskRunRequestResponse { - return { - ...val, - isArchiveEnabled: (val.isArchiveEnabled) ?? false, - timeout: (val.timeout) ?? 3600, - }; + export interface SecurityProfileResponse { + /** + * Specifies the security settings like secure boot used while creating the virtual machine. + */ + uefiSettings?: outputs.connectedvmwarevsphere.UefiSettingsResponse; } /** - * The properties of a encoded task step. + * Specifies the storage settings for the virtual machine disks. */ - export interface EncodedTaskStepResponse { - /** - * List of base image dependencies for a step. - */ - baseImageDependencies: outputs.containerregistry.BaseImageDependencyResponse[]; + export interface StorageProfileResponse { /** - * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + * Gets or sets the list of virtual disks associated with the virtual machine. */ - contextAccessToken?: string; + disks?: outputs.connectedvmwarevsphere.VirtualDiskResponse[]; /** - * The URL(absolute or relative) of the source context for the task step. + * Gets or sets the list of virtual SCSI controllers associated with the virtual machine. */ - contextPath?: string; + scsiControllers: outputs.connectedvmwarevsphere.VirtualSCSIControllerResponse[]; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { /** - * Base64 encoded value of the template/definition file content. + * The timestamp of resource creation (UTC). */ - encodedTaskContent: string; + createdAt?: string; /** - * Base64 encoded value of the parameters/values file content. + * The identity that created the resource. */ - encodedValuesContent?: string; + createdBy?: string; /** - * The type of the step. - * Expected value is 'EncodedTask'. + * The type of identity that created the resource. */ - type: "EncodedTask"; + createdByType?: string; /** - * The collection of overridable values that can be passed when running a task. + * The timestamp of resource last modification (UTC) */ - values?: outputs.containerregistry.SetValueResponse[]; - } - - export interface EncryptionPropertyResponse { + lastModifiedAt?: string; /** - * Key vault properties. + * The identity that last modified the resource. */ - keyVaultProperties?: outputs.containerregistry.KeyVaultPropertiesResponse; + lastModifiedBy?: string; /** - * Indicates whether or not the encryption is enabled for container registry. + * The type of identity that last modified the resource. */ - status?: string; + lastModifiedByType?: string; } /** - * The content of the event request message. + * Specifies the security settings like secure boot used while creating the virtual machine. */ - export interface EventContentResponse { + export interface UefiSettingsResponse { /** - * The action that encompasses the provided event. + * Specifies whether secure boot should be enabled on the virtual machine. */ - action?: string; + secureBootEnabled?: boolean; + } + + /** + * Username / Password Credentials to connect to vcenter. + */ + export interface VICredentialResponse { /** - * The agent that initiated the event. For most situations, this could be from the authorization context of the request. + * Gets or sets username to connect with the vCenter. */ - actor?: outputs.containerregistry.ActorResponse; + username?: string; + } + + /** + * Virtual disk model + */ + export interface VirtualDiskResponse { /** - * The event ID. + * Gets or sets the controller id. */ - id?: string; + controllerKey?: number; /** - * The request that generated the event. + * Gets or sets the device key value. */ - request?: outputs.containerregistry.RequestResponse; + deviceKey?: number; /** - * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. + * Gets or sets the device name. */ - source?: outputs.containerregistry.SourceResponse; + deviceName?: string; /** - * The target of the event. + * Gets or sets the disk mode. */ - target?: outputs.containerregistry.TargetResponse; + diskMode?: string; /** - * The time at which the event occurred. + * Gets or sets the disk object id. */ - timestamp?: string; - } - - /** - * The event request message sent to the service URI. - */ - export interface EventRequestMessageResponse { + diskObjectId: string; /** - * The content of the event request message. + * Gets or sets the disk total size. */ - content?: outputs.containerregistry.EventContentResponse; + diskSizeGB?: number; /** - * The headers of the event request message. + * Gets or sets the disk backing type. */ - headers?: {[key: string]: string}; + diskType?: string; /** - * The HTTP method used to send the event request message. + * Gets or sets the label of the virtual disk in vCenter. */ - method?: string; + label: string; /** - * The URI used to send the event request message. + * Gets or sets the name of the virtual disk. */ - requestUri?: string; + name?: string; /** - * The HTTP message version. + * Gets or sets the unit number of the disk on the controller. */ - version?: string; + unitNumber?: number; } /** - * The event for a webhook. + * This data object type contains the properties of a SCSI controller device attached to a virtual machine that is reported by the controller. */ - export interface EventResponse { + export interface VirtualSCSIControllerResponse { /** - * The event request message sent to the service URI. + * Gets or sets the bus number of the controller. */ - eventRequestMessage?: outputs.containerregistry.EventRequestMessageResponse; + busNumber?: number; /** - * The event response message received from the service URI. + * Gets or sets the key of the controller. */ - eventResponseMessage?: outputs.containerregistry.EventResponseMessageResponse; + controllerKey?: number; /** - * The event ID. + * Gets or sets the SCSI controller unit number. */ - id?: string; - } - - /** - * The event response message received from the service URI. - */ - export interface EventResponseMessageResponse { + scsiCtlrUnitNumber?: number; /** - * The content of the event response message. + * Gets or sets the sharing mode. */ - content?: string; + sharing?: string; /** - * The headers of the event response message. + * Gets or sets the controller type. */ - headers?: {[key: string]: string}; + type?: string; + } + + export namespace v20220110preview { /** - * The reason phrase of the event response message. + * Instance view status. */ - reasonPhrase?: string; - /** - * The status code of the event response message. - */ - statusCode?: string; - /** - * The HTTP message version. - */ - version?: string; - } + export interface MachineExtensionInstanceViewResponseStatus { + /** + * The status code. + */ + code: string; + /** + * The short localizable label for the status. + */ + displayStatus: string; + /** + * The level code. + */ + level: string; + /** + * The detailed status message, including for alerts and error messages. + */ + message: string; + /** + * The time of the status. + */ + time: string; + } - /** - * The properties of the export pipeline target. - */ - export interface ExportPipelineTargetPropertiesResponse { - /** - * They key vault secret uri to obtain the target storage SAS token. - */ - keyVaultUri: string; /** - * The type of target for the export pipeline. - */ - type?: string; - /** - * The target uri of the export pipeline. - * When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" - * When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName" + * The machine extension instance view. */ - uri?: string; - } + export interface MachineExtensionPropertiesResponseInstanceView { + /** + * The machine extension name. + */ + name: string; + /** + * Instance view status. + */ + status?: outputs.connectedvmwarevsphere.v20220110preview.MachineExtensionInstanceViewResponseStatus; + /** + * Specifies the type of the extension; an example is "CustomScriptExtension". + */ + type: string; + /** + * Specifies the version of the script handler. + */ + typeHandlerVersion: string; + } - /** - * The export policy for a container registry. - */ - export interface ExportPolicyResponse { /** - * The value that indicates whether the policy is enabled or not. + * Metadata pertaining to creation and last modification of the resource. */ - status?: string; - } - /** - * exportPolicyResponseProvideDefaults sets the appropriate defaults for ExportPolicyResponse - */ - export function exportPolicyResponseProvideDefaults(val: ExportPolicyResponse): ExportPolicyResponse { - return { - ...val, - status: (val.status) ?? "enabled", - }; + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + } - /** - * The request parameters for a scheduling run against a task file. - */ - export interface FileTaskRunRequestResponse { - /** - * The machine configuration of the run agent. - */ - agentConfiguration?: outputs.containerregistry.AgentPropertiesResponse; - /** - * The dedicated agent pool for the run. - */ - agentPoolName?: string; - /** - * The properties that describes a set of credentials that will be used when this run is invoked. - */ - credentials?: outputs.containerregistry.CredentialsResponse; + export namespace v20220715preview { /** - * The value that indicates whether archiving is enabled for the run or not. + * The resource management error additional info. */ - isArchiveEnabled?: boolean; + export interface ErrorAdditionalInfoResponse { + /** + * The additional info. + */ + info: any; + /** + * The additional info type. + */ + type: string; + } + /** - * The template that describes the repository and tag information for run log artifact. + * The error detail. */ - logTemplate?: string; + export interface ErrorDetailResponse { + /** + * The error additional info. + */ + additionalInfo: outputs.connectedvmwarevsphere.v20220715preview.ErrorAdditionalInfoResponse[]; + /** + * The error code. + */ + code: string; + /** + * The error details. + */ + details: outputs.connectedvmwarevsphere.v20220715preview.ErrorDetailResponse[]; + /** + * The error message. + */ + message: string; + /** + * The error target. + */ + target: string; + } + /** - * The platform properties against which the run has to happen. + * The extended location. */ - platform: outputs.containerregistry.PlatformPropertiesResponse; + export interface ExtendedLocationResponse { + /** + * The extended location name. + */ + name?: string; + /** + * The extended location type. + */ + type?: string; + } + /** - * The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository. - * If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API. + * Specifies the guest agent settings for the virtual machine. */ - sourceLocation?: string; + export interface GuestAgentProfileResponse { + /** + * The hybrid machine agent full version. + */ + agentVersion: string; + /** + * Gets or sets the Public Key provided by the client for enabling guest management. + */ + clientPublicKey?: string; + /** + * Details about the error state. + */ + errorDetails: outputs.connectedvmwarevsphere.v20220715preview.ErrorDetailResponse[]; + /** + * The time of the last status change. + */ + lastStatusChange: string; + /** + * Specifies whether any MS SQL instance is discovered on the machine. + */ + mssqlDiscovered: string; + /** + * The status of the hybrid machine agent. + */ + status: string; + /** + * Specifies the VM's unique SMBIOS ID. + */ + vmUuid: string; + } + /** - * The template/definition file path relative to the source. + * Username / Password Credentials to connect to guest. */ - taskFilePath: string; + export interface GuestCredentialResponse { + /** + * Gets or sets username to connect with the guest. + */ + username?: string; + } + /** - * Run timeout in seconds. + * Specifies the hardware settings for the virtual machine. */ - timeout?: number; + export interface HardwareProfileResponse { + /** + * Gets or sets a value indicating whether virtual processors can be added while this virtual machine is running. + */ + cpuHotAddEnabled: boolean; + /** + * Gets or sets a value indicating whether virtual processors can be removed while this virtual machine is running. + */ + cpuHotRemoveEnabled: boolean; + /** + * Gets or sets a value indicating whether memory can be added while this virtual machine is running. + */ + memoryHotAddEnabled: boolean; + /** + * Gets or sets memory size in MBs for the vm. + */ + memorySizeMB?: number; + /** + * Gets or sets the number of vCPUs for the vm. + */ + numCPUs?: number; + /** + * Gets or sets the number of cores per socket for the vm. Defaults to 1 if unspecified. + */ + numCoresPerSocket?: number; + } + /** - * The type of the run request. - * Expected value is 'FileTaskRunRequest'. + * HTTP Proxy configuration for the VM. */ - type: "FileTaskRunRequest"; + export interface HttpProxyConfigurationResponse { + /** + * Gets or sets httpsProxy url. + */ + httpsProxy?: string; + } + /** - * The collection of overridable values that can be passed when running a task. + * Managed service identity. */ - values?: outputs.containerregistry.SetValueResponse[]; + export interface IdentityResponse { + /** + * The principal id of managed service identity. + */ + principalId: string; + /** + * The tenant of managed service identity. + */ + tenantId: string; + /** + * The type of managed service identity. + */ + type: string; + } + /** - * The values/parameters file path relative to the source. + * Instance view status. */ - valuesFilePath?: string; - } - /** - * fileTaskRunRequestResponseProvideDefaults sets the appropriate defaults for FileTaskRunRequestResponse - */ - export function fileTaskRunRequestResponseProvideDefaults(val: FileTaskRunRequestResponse): FileTaskRunRequestResponse { - return { - ...val, - isArchiveEnabled: (val.isArchiveEnabled) ?? false, - timeout: (val.timeout) ?? 3600, - }; - } + export interface MachineExtensionInstanceViewResponseStatus { + /** + * The status code. + */ + code: string; + /** + * The short localizable label for the status. + */ + displayStatus: string; + /** + * The level code. + */ + level: string; + /** + * The detailed status message, including for alerts and error messages. + */ + message: string; + /** + * The time of the status. + */ + time: string; + } - /** - * The properties of a task step. - */ - export interface FileTaskStepResponse { /** - * List of base image dependencies for a step. + * The machine extension instance view. */ - baseImageDependencies: outputs.containerregistry.BaseImageDependencyResponse[]; + export interface MachineExtensionPropertiesResponseInstanceView { + /** + * The machine extension name. + */ + name: string; + /** + * Instance view status. + */ + status?: outputs.connectedvmwarevsphere.v20220715preview.MachineExtensionInstanceViewResponseStatus; + /** + * Specifies the type of the extension; an example is "CustomScriptExtension". + */ + type: string; + /** + * Specifies the version of the script handler. + */ + typeHandlerVersion: string; + } + /** - * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + * Network Interface model */ - contextAccessToken?: string; + export interface NetworkInterfaceResponse { + /** + * Gets or sets the device key value. + */ + deviceKey?: number; + /** + * Gets or sets the nic ip addresses. + */ + ipAddresses: string[]; + /** + * Gets or sets the ipsettings. + */ + ipSettings?: outputs.connectedvmwarevsphere.v20220715preview.NicIPSettingsResponse; + /** + * Gets or sets the label of the virtual network in vCenter that the nic is connected to. + */ + label: string; + /** + * Gets or sets the NIC MAC address. + */ + macAddress: string; + /** + * Gets or sets the name of the network interface. + */ + name?: string; + /** + * Gets or sets the ARM Id of the network resource to connect the virtual machine. + */ + networkId?: string; + /** + * Gets or sets the name of the virtual network in vCenter that the nic is connected to. + */ + networkMoName: string; + /** + * Gets or sets the vCenter MoRef (Managed Object Reference) ID of the virtual network + * that the nic is connected to. + */ + networkMoRefId: string; + /** + * NIC type + */ + nicType?: string; + /** + * Gets or sets the power on boot. + */ + powerOnBoot?: string; + } + /** - * The URL(absolute or relative) of the source context for the task step. + * Specifies the network interfaces of the virtual machine. */ - contextPath?: string; + export interface NetworkProfileResponse { + /** + * Gets or sets the list of network interfaces associated with the virtual machine. + */ + networkInterfaces?: outputs.connectedvmwarevsphere.v20220715preview.NetworkInterfaceResponse[]; + } + /** - * The task template/definition file path relative to the source context. + * IP address information for a virtual network adapter reported by the fabric. */ - taskFilePath: string; + export interface NicIPAddressSettingsResponse { + /** + * Gets the ip address allocation method. + */ + allocationMethod: string; + /** + * Gets the ip address for the nic. + */ + ipAddress: string; + /** + * Gets the mask. + */ + subnetMask: string; + } + /** - * The type of the step. - * Expected value is 'FileTask'. + * Defines the network interface ip settings. */ - type: "FileTask"; + export interface NicIPSettingsResponse { + /** + * Gets or sets the nic allocation method. + */ + allocationMethod?: string; + /** + * Gets or sets the dns servers. + */ + dnsServers?: string[]; + /** + * Gets or sets the gateway. + */ + gateway?: string[]; + /** + * Gets or sets the ip address for the nic. + */ + ipAddress?: string; + /** + * Gets or sets the IP address information being reported for this NIC. This contains the same IPv4 information above plus IPV6 information. + */ + ipAddressInfo: outputs.connectedvmwarevsphere.v20220715preview.NicIPAddressSettingsResponse[]; + /** + * Gets or sets the primary server. + */ + primaryWinsServer: string; + /** + * Gets or sets the secondary server. + */ + secondaryWinsServer: string; + /** + * Gets or sets the mask. + */ + subnetMask?: string; + } + /** - * The collection of overridable values that can be passed when running a task. + * Specifies the operating system settings for the virtual machine. */ - values?: outputs.containerregistry.SetValueResponse[]; + export interface OsProfileResponse { + /** + * Gets or sets administrator username. + */ + adminUsername?: string; + /** + * Gets or sets a value indicating whether the VM is ready for extension operations. + */ + allowExtensionOperations: boolean; + /** + * Gets or sets computer name. + */ + computerName?: string; + /** + * Gets or sets the guestId. + */ + guestId?: string; + /** + * Specifies the linux configuration for update management. + */ + linuxConfiguration?: outputs.connectedvmwarevsphere.v20220715preview.OsProfileResponseLinuxConfiguration; + /** + * Gets or sets os name. + */ + osName: string; + /** + * Gets or sets the type of the os. + */ + osType?: string; + /** + * Gets or sets the current running status of VMware Tools running in the guest operating system. + */ + toolsRunningStatus: string; + /** + * Gets or sets the current version of VMware Tools. + */ + toolsVersion: string; + /** + * Gets or sets the current version status of VMware Tools installed in the guest operating system. + */ + toolsVersionStatus: string; + /** + * Specifies the windows configuration for update management. + */ + windowsConfiguration?: outputs.connectedvmwarevsphere.v20220715preview.OsProfileResponseWindowsConfiguration; + } + /** - * The task values/parameters file path relative to the source context. + * Specifies the linux configuration for update management. */ - valuesFilePath?: string; - } + export interface OsProfileResponseLinuxConfiguration { + /** + * Specifies the assessment mode. + */ + assessmentMode?: string; + /** + * Specifies the patch mode. + */ + patchMode?: string; + } - /** - * IP rule with specific IP or IP range in CIDR format. - */ - export interface IPRuleResponse { /** - * The action of IP ACL rule. + * Specifies the windows configuration for update management. */ - action?: string; + export interface OsProfileResponseWindowsConfiguration { + /** + * Specifies the assessment mode. + */ + assessmentMode?: string; + /** + * Specifies the patch mode. + */ + patchMode?: string; + } + /** - * Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. + * Specifies the compute and storage placement settings for the virtual machine. */ - iPAddressOrRange: string; - } - /** - * ipruleResponseProvideDefaults sets the appropriate defaults for IPRuleResponse - */ - export function ipruleResponseProvideDefaults(val: IPRuleResponse): IPRuleResponse { - return { - ...val, - action: (val.action) ?? "Allow", - }; - } + export interface PlacementProfileResponse { + /** + * Gets or sets the ARM Id of the cluster resource on which this virtual machine will deploy. + */ + clusterId?: string; + /** + * Gets or sets the ARM Id of the datastore resource on which the data for the virtual machine will be kept. + */ + datastoreId?: string; + /** + * Gets or sets the ARM Id of the host resource on which this virtual machine will deploy. + */ + hostId?: string; + /** + * Gets or sets the ARM Id of the resourcePool resource on which this virtual machine will deploy. + */ + resourcePoolId?: string; + } - /** - * Managed identity for the resource. - */ - export interface IdentityPropertiesResponse { /** - * The principal ID of resource identity. + * The resource status information. */ - principalId?: string; + export interface ResourceStatusResponse { + /** + * The last update time for this condition. + */ + lastUpdatedAt: string; + /** + * A human readable message indicating details about the status. + */ + message: string; + /** + * The reason for the condition's status. + */ + reason: string; + /** + * Severity with which to treat failures of this type of condition. + */ + severity: string; + /** + * Status of the condition. + */ + status: string; + /** + * The type of the condition. + */ + type: string; + } + /** - * The tenant ID of resource. + * Specifies the Security profile settings for the virtual machine. */ - tenantId?: string; + export interface SecurityProfileResponse { + /** + * Specifies the security settings like secure boot used while creating the virtual machine. + */ + uefiSettings?: outputs.connectedvmwarevsphere.v20220715preview.UefiSettingsResponse; + } + /** - * The identity type. + * Specifies the storage settings for the virtual machine disks. */ - type?: string; + export interface StorageProfileResponse { + /** + * Gets or sets the list of virtual disks associated with the virtual machine. + */ + disks?: outputs.connectedvmwarevsphere.v20220715preview.VirtualDiskResponse[]; + /** + * Gets or sets the list of virtual SCSI controllers associated with the virtual machine. + */ + scsiControllers: outputs.connectedvmwarevsphere.v20220715preview.VirtualSCSIControllerResponse[]; + } + /** - * The list of user identities associated with the resource. The user identity - * dictionary key references will be ARM resource ids in the form: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ - * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * Metadata pertaining to creation and last modification of the resource. */ - userAssignedIdentities?: {[key: string]: outputs.containerregistry.UserIdentityPropertiesResponse}; - } + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } - /** - * Properties for a registry image. - */ - export interface ImageDescriptorResponse { /** - * The sha256-based digest of the image manifest. + * Specifies the security settings like secure boot used while creating the virtual machine. */ - digest?: string; + export interface UefiSettingsResponse { + /** + * Specifies whether secure boot should be enabled on the virtual machine. + */ + secureBootEnabled?: boolean; + } + /** - * The registry login server. + * Username / Password Credentials to connect to vcenter. */ - registry?: string; + export interface VICredentialResponse { + /** + * Gets or sets username to connect with the vCenter. + */ + username?: string; + } + /** - * The repository name. + * Virtual disk model */ - repository?: string; + export interface VirtualDiskResponse { + /** + * Gets or sets the controller id. + */ + controllerKey?: number; + /** + * Gets or sets the device key value. + */ + deviceKey?: number; + /** + * Gets or sets the device name. + */ + deviceName?: string; + /** + * Gets or sets the disk mode. + */ + diskMode?: string; + /** + * Gets or sets the disk object id. + */ + diskObjectId: string; + /** + * Gets or sets the disk total size. + */ + diskSizeGB?: number; + /** + * Gets or sets the disk backing type. + */ + diskType?: string; + /** + * Gets or sets the label of the virtual disk in vCenter. + */ + label: string; + /** + * Gets or sets the name of the virtual disk. + */ + name?: string; + /** + * Gets or sets the unit number of the disk on the controller. + */ + unitNumber?: number; + } + /** - * The tag name. + * This data object type contains the properties of a SCSI controller device attached to a virtual machine that is reported by the controller. */ - tag?: string; + export interface VirtualSCSIControllerResponse { + /** + * Gets or sets the bus number of the controller. + */ + busNumber?: number; + /** + * Gets or sets the key of the controller. + */ + controllerKey?: number; + /** + * Gets or sets the SCSI controller unit number. + */ + scsiCtlrUnitNumber?: number; + /** + * Gets or sets the sharing mode. + */ + sharing?: string; + /** + * Gets or sets the controller type. + */ + type?: string; + } + } +} +export namespace consumption { /** - * The image update trigger that caused a build. + * The comparison expression to be used in the budgets. */ - export interface ImageUpdateTriggerResponse { + export interface BudgetComparisonExpressionResponse { /** - * The unique ID of the trigger. + * The name of the column to use in comparison. */ - id?: string; + name: string; /** - * The list of image updates that caused the build. + * The operator to use for comparison. */ - images?: outputs.containerregistry.ImageDescriptorResponse[]; + operator: string; /** - * The timestamp when the image update happened. + * Array of values to use for comparison */ - timestamp?: string; + values: string[]; } /** - * The properties of the import pipeline source. + * The Dimensions or Tags to filter a budget by. */ - export interface ImportPipelineSourcePropertiesResponse { - /** - * They key vault secret uri to obtain the source storage SAS token. - */ - keyVaultUri: string; + export interface BudgetFilterPropertiesResponse { /** - * The type of source for the import pipeline. + * Has comparison expression for a dimension */ - type?: string; + dimensions?: outputs.consumption.BudgetComparisonExpressionResponse; /** - * The source uri of the import pipeline. - * When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" - * When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName" + * Has comparison expression for a tag */ - uri?: string; + tags?: outputs.consumption.BudgetComparisonExpressionResponse; } + /** - * importPipelineSourcePropertiesResponseProvideDefaults sets the appropriate defaults for ImportPipelineSourcePropertiesResponse + * May be used to filter budgets by resource group, resource, or meter. */ - export function importPipelineSourcePropertiesResponseProvideDefaults(val: ImportPipelineSourcePropertiesResponse): ImportPipelineSourcePropertiesResponse { - return { - ...val, - type: (val.type) ?? "AzureStorageBlobContainer", - }; - } - - export interface KeyVaultPropertiesResponse { - /** - * The client id of the identity which will be used to access key vault. - */ - identity?: string; - /** - * Key vault uri to access the encryption key. - */ - keyIdentifier?: string; + export interface BudgetFilterResponse { /** - * Auto key rotation status for a CMK enabled registry. + * The logical "AND" expression. Must have at least 2 items. */ - keyRotationEnabled: boolean; + and?: outputs.consumption.BudgetFilterPropertiesResponse[]; /** - * Timestamp of the last successful key rotation. + * Has comparison expression for a dimension */ - lastKeyRotationTimestamp: string; + dimensions?: outputs.consumption.BudgetComparisonExpressionResponse; /** - * The fully qualified key identifier that includes the version of the key that is actually used for encryption. + * Has comparison expression for a tag */ - versionedKeyIdentifier: string; + tags?: outputs.consumption.BudgetComparisonExpressionResponse; } /** - * The logging properties of the connected registry. + * The start and end date for a budget. */ - export interface LoggingPropertiesResponse { + export interface BudgetTimePeriodResponse { /** - * Indicates whether audit logs are enabled on the connected registry. + * The end date for the budget. If not provided, we default this to 10 years from the start date. */ - auditLogStatus?: string; + endDate?: string; /** - * The verbosity of logs persisted on the connected registry. + * The start date for the budget. */ - logLevel?: string; - } - /** - * loggingPropertiesResponseProvideDefaults sets the appropriate defaults for LoggingPropertiesResponse - */ - export function loggingPropertiesResponseProvideDefaults(val: LoggingPropertiesResponse): LoggingPropertiesResponse { - return { - ...val, - auditLogStatus: (val.auditLogStatus) ?? "Disabled", - logLevel: (val.logLevel) ?? "Information", - }; + startDate: string; } /** - * The login server properties of the connected registry. + * The current amount of cost which is being tracked for a budget. */ - export interface LoginServerPropertiesResponse { + export interface CurrentSpendResponse { /** - * The host of the connected registry. Can be FQDN or IP. + * The total amount of cost which is being tracked by the budget. */ - host: string; + amount: number; /** - * The TLS properties of the connected registry login server. + * The unit of measure for the budget amount. */ - tls: outputs.containerregistry.TlsPropertiesResponse; + unit: string; } /** - * The network rule set for a container registry. + * The forecasted cost which is being tracked for a budget. */ - export interface NetworkRuleSetResponse { + export interface ForecastSpendResponse { /** - * The default action of allow or deny when no other rules match. + * The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type. */ - defaultAction: string; + amount: number; /** - * The IP ACL rules. + * The unit of measure for the budget amount. */ - ipRules?: outputs.containerregistry.IPRuleResponse[]; + unit: string; } + /** - * networkRuleSetResponseProvideDefaults sets the appropriate defaults for NetworkRuleSetResponse + * The notification associated with a budget. */ - export function networkRuleSetResponseProvideDefaults(val: NetworkRuleSetResponse): NetworkRuleSetResponse { - return { - ...val, - defaultAction: (val.defaultAction) ?? "Allow", - }; - } - - export interface OverrideTaskStepPropertiesResponse { - /** - * Gets or sets the collection of override arguments to be used when - * executing a build step. - */ - arguments?: outputs.containerregistry.ArgumentResponse[]; - /** - * The source context against which run has to be queued. - */ - contextPath?: string; - /** - * The file against which run has to be queued. - */ - file?: string; - /** - * The name of the target build stage for the docker build. - */ - target?: string; - /** - * Base64 encoded update trigger token that will be attached with the base image trigger webhook. - */ - updateTriggerToken?: string; + export interface NotificationResponse { /** - * The collection of overridable values that can be passed when running a Task. + * Email addresses to send the budget notification to when the threshold is exceeded. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified. */ - values?: outputs.containerregistry.SetValueResponse[]; - } - - /** - * The properties of the connected registry parent. - */ - export interface ParentPropertiesResponse { + contactEmails: string[]; /** - * The resource ID of the parent to which the connected registry will be associated. + * Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes. */ - id?: string; + contactGroups?: string[]; /** - * The sync properties of the connected registry with its parent. + * Contact roles to send the budget notification to when the threshold is exceeded. */ - syncProperties: outputs.containerregistry.SyncPropertiesResponse; - } - - /** - * The request properties provided for a pipeline run. - */ - export interface PipelineRunRequestResponse { + contactRoles?: string[]; /** - * List of source artifacts to be transferred by the pipeline. - * Specify an image by repository ('hello-world'). This will use the 'latest' tag. - * Specify an image by tag ('hello-world:latest'). - * Specify an image by sha256-based manifest digest ('hello-world@sha256:abc123'). + * The notification is enabled or not. */ - artifacts?: string[]; + enabled: boolean; /** - * The digest of the tar used to transfer the artifacts. + * Language in which the recipient will receive the notification */ - catalogDigest?: string; + locale?: string; /** - * The resource ID of the pipeline to run. + * The comparison operator. */ - pipelineResourceId?: string; + operator: string; /** - * The source properties of the pipeline run. + * Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000. */ - source?: outputs.containerregistry.PipelineRunSourcePropertiesResponse; + threshold: number; /** - * The target properties of the pipeline run. + * The type of threshold */ - target?: outputs.containerregistry.PipelineRunTargetPropertiesResponse; + thresholdType?: string; } /** - * pipelineRunRequestResponseProvideDefaults sets the appropriate defaults for PipelineRunRequestResponse + * notificationResponseProvideDefaults sets the appropriate defaults for NotificationResponse */ - export function pipelineRunRequestResponseProvideDefaults(val: PipelineRunRequestResponse): PipelineRunRequestResponse { + export function notificationResponseProvideDefaults(val: NotificationResponse): NotificationResponse { return { ...val, - source: (val.source ? outputs.containerregistry.pipelineRunSourcePropertiesResponseProvideDefaults(val.source) : undefined), - target: (val.target ? outputs.containerregistry.pipelineRunTargetPropertiesResponseProvideDefaults(val.target) : undefined), + thresholdType: (val.thresholdType) ?? "Actual", }; } - /** - * The response properties returned for a pipeline run. - */ - export interface PipelineRunResponseResponse { + export namespace v20230501 { /** - * The digest of the tar used to transfer the artifacts. + * The comparison expression to be used in the budgets. */ - catalogDigest?: string; + export interface BudgetComparisonExpressionResponse { + /** + * The name of the column to use in comparison. + */ + name: string; + /** + * The operator to use for comparison. + */ + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; + } + /** - * The time the pipeline run finished. + * The Dimensions or Tags to filter a budget by. */ - finishTime?: string; + export interface BudgetFilterPropertiesResponse { + /** + * Has comparison expression for a dimension + */ + dimensions?: outputs.consumption.v20230501.BudgetComparisonExpressionResponse; + /** + * Has comparison expression for a tag + */ + tags?: outputs.consumption.v20230501.BudgetComparisonExpressionResponse; + } + /** - * The artifacts imported in the pipeline run. + * May be used to filter budgets by resource group, resource, or meter. */ - importedArtifacts?: string[]; + export interface BudgetFilterResponse { + /** + * The logical "AND" expression. Must have at least 2 items. + */ + and?: outputs.consumption.v20230501.BudgetFilterPropertiesResponse[]; + /** + * Has comparison expression for a dimension + */ + dimensions?: outputs.consumption.v20230501.BudgetComparisonExpressionResponse; + /** + * Has comparison expression for a tag + */ + tags?: outputs.consumption.v20230501.BudgetComparisonExpressionResponse; + } + /** - * The detailed error message for the pipeline run in the case of failure. + * The start and end date for a budget. */ - pipelineRunErrorMessage?: string; - /** - * The current progress of the copy operation. - */ - progress?: outputs.containerregistry.ProgressPropertiesResponse; - /** - * The source of the pipeline run. - */ - source?: outputs.containerregistry.ImportPipelineSourcePropertiesResponse; + export interface BudgetTimePeriodResponse { + /** + * The end date for the budget. If not provided, we default this to 10 years from the start date. + */ + endDate?: string; + /** + * The start date for the budget. + */ + startDate: string; + } + /** - * The time the pipeline run started. + * The current amount of cost which is being tracked for a budget. */ - startTime?: string; + export interface CurrentSpendResponse { + /** + * The total amount of cost which is being tracked by the budget. + */ + amount: number; + /** + * The unit of measure for the budget amount. + */ + unit: string; + } + /** - * The current status of the pipeline run. + * The forecasted cost which is being tracked for a budget. */ - status?: string; + export interface ForecastSpendResponse { + /** + * The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type. + */ + amount: number; + /** + * The unit of measure for the budget amount. + */ + unit: string; + } + /** - * The target of the pipeline run. + * The notification associated with a budget. */ - target?: outputs.containerregistry.ExportPipelineTargetPropertiesResponse; + export interface NotificationResponse { + /** + * Email addresses to send the budget notification to when the threshold is exceeded. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified. + */ + contactEmails: string[]; + /** + * Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes. + */ + contactGroups?: string[]; + /** + * Contact roles to send the budget notification to when the threshold is exceeded. + */ + contactRoles?: string[]; + /** + * The notification is enabled or not. + */ + enabled: boolean; + /** + * Language in which the recipient will receive the notification + */ + locale?: string; + /** + * The comparison operator. + */ + operator: string; + /** + * Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000. + */ + threshold: number; + /** + * The type of threshold + */ + thresholdType?: string; + } /** - * The trigger that caused the pipeline run. + * notificationResponseProvideDefaults sets the appropriate defaults for NotificationResponse */ - trigger?: outputs.containerregistry.PipelineTriggerDescriptorResponse; + export function notificationResponseProvideDefaults(val: NotificationResponse): NotificationResponse { + return { + ...val, + thresholdType: (val.thresholdType) ?? "Actual", + }; + } + } +} + +export namespace containerinstance { /** - * pipelineRunResponseResponseProvideDefaults sets the appropriate defaults for PipelineRunResponseResponse + * The properties of the Azure File volume. Azure File shares are mounted as volumes. */ - export function pipelineRunResponseResponseProvideDefaults(val: PipelineRunResponseResponse): PipelineRunResponseResponse { - return { - ...val, - source: (val.source ? outputs.containerregistry.importPipelineSourcePropertiesResponseProvideDefaults(val.source) : undefined), - }; - } - - export interface PipelineRunSourcePropertiesResponse { + export interface AzureFileVolumeResponse { /** - * The name of the source. + * The flag indicating whether the Azure File shared mounted as a volume is read-only. */ - name?: string; + readOnly?: boolean; /** - * The type of the source. + * The name of the Azure File share to be mounted as a volume. */ - type?: string; - } - /** - * pipelineRunSourcePropertiesResponseProvideDefaults sets the appropriate defaults for PipelineRunSourcePropertiesResponse - */ - export function pipelineRunSourcePropertiesResponseProvideDefaults(val: PipelineRunSourcePropertiesResponse): PipelineRunSourcePropertiesResponse { - return { - ...val, - type: (val.type) ?? "AzureStorageBlob", - }; - } - - export interface PipelineRunTargetPropertiesResponse { + shareName: string; /** - * The name of the target. + * The storage account access key used to access the Azure File share. */ - name?: string; + storageAccountKey?: string; /** - * The type of the target. + * The name of the storage account that contains the Azure File share. */ - type?: string; + storageAccountName: string; } + /** - * pipelineRunTargetPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineRunTargetPropertiesResponse + * The properties for confidential container group */ - export function pipelineRunTargetPropertiesResponseProvideDefaults(val: PipelineRunTargetPropertiesResponse): PipelineRunTargetPropertiesResponse { - return { - ...val, - type: (val.type) ?? "AzureStorageBlob", - }; - } - - export interface PipelineSourceTriggerDescriptorResponse { + export interface ConfidentialComputePropertiesResponse { /** - * The timestamp when the source update happened. + * The base64 encoded confidential compute enforcement policy */ - timestamp?: string; + ccePolicy?: string; } - export interface PipelineSourceTriggerPropertiesResponse { - /** - * The current status of the source trigger. - */ - status: string; - } /** - * pipelineSourceTriggerPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineSourceTriggerPropertiesResponse + * The container execution command, for liveness or readiness probe */ - export function pipelineSourceTriggerPropertiesResponseProvideDefaults(val: PipelineSourceTriggerPropertiesResponse): PipelineSourceTriggerPropertiesResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; - } - - export interface PipelineTriggerDescriptorResponse { - /** - * The source trigger that caused the pipeline run. - */ - sourceTrigger?: outputs.containerregistry.PipelineSourceTriggerDescriptorResponse; - } - - export interface PipelineTriggerPropertiesResponse { + export interface ContainerExecResponse { /** - * The source trigger properties of the pipeline. + * The commands to execute within the container. */ - sourceTrigger?: outputs.containerregistry.PipelineSourceTriggerPropertiesResponse; - } - /** - * pipelineTriggerPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineTriggerPropertiesResponse - */ - export function pipelineTriggerPropertiesResponseProvideDefaults(val: PipelineTriggerPropertiesResponse): PipelineTriggerPropertiesResponse { - return { - ...val, - sourceTrigger: (val.sourceTrigger ? outputs.containerregistry.pipelineSourceTriggerPropertiesResponseProvideDefaults(val.sourceTrigger) : undefined), - }; + command?: string[]; } /** - * The platform properties against which the run has to happen. + * Container group diagnostic information. */ - export interface PlatformPropertiesResponse { - /** - * The OS architecture. - */ - architecture?: string; - /** - * The operating system type required for the run. - */ - os: string; + export interface ContainerGroupDiagnosticsResponse { /** - * Variant of the CPU. + * Container group log analytics information. */ - variant?: string; + logAnalytics?: outputs.containerinstance.LogAnalyticsResponse; } /** - * The policies for a container registry. + * Identity for the container group. */ - export interface PoliciesResponse { + export interface ContainerGroupIdentityResponse { /** - * The export policy for a container registry. + * The principal id of the container group identity. This property will only be provided for a system assigned identity. */ - exportPolicy?: outputs.containerregistry.ExportPolicyResponse; + principalId: string; /** - * The quarantine policy for a container registry. + * The tenant id associated with the container group. This property will only be provided for a system assigned identity. */ - quarantinePolicy?: outputs.containerregistry.QuarantinePolicyResponse; + tenantId: string; /** - * The retention policy for a container registry. + * The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group. */ - retentionPolicy?: outputs.containerregistry.RetentionPolicyResponse; + type?: string; /** - * The content trust policy for a container registry. + * The list of user identities associated with the container group. */ - trustPolicy?: outputs.containerregistry.TrustPolicyResponse; - } - /** - * policiesResponseProvideDefaults sets the appropriate defaults for PoliciesResponse - */ - export function policiesResponseProvideDefaults(val: PoliciesResponse): PoliciesResponse { - return { - ...val, - exportPolicy: (val.exportPolicy ? outputs.containerregistry.exportPolicyResponseProvideDefaults(val.exportPolicy) : undefined), - quarantinePolicy: (val.quarantinePolicy ? outputs.containerregistry.quarantinePolicyResponseProvideDefaults(val.quarantinePolicy) : undefined), - retentionPolicy: (val.retentionPolicy ? outputs.containerregistry.retentionPolicyResponseProvideDefaults(val.retentionPolicy) : undefined), - trustPolicy: (val.trustPolicy ? outputs.containerregistry.trustPolicyResponseProvideDefaults(val.trustPolicy) : undefined), - }; + userAssignedIdentities?: {[key: string]: outputs.containerinstance.UserAssignedIdentitiesResponse}; } /** - * An object that represents a private endpoint connection for a container registry. + * The instance view of the container group. Only valid in response. */ - export interface PrivateEndpointConnectionResponse { - /** - * The resource ID. - */ - id: string; - /** - * The name of the resource. - */ - name: string; - /** - * The resource of private endpoint. - */ - privateEndpoint?: outputs.containerregistry.PrivateEndpointResponse; - /** - * A collection of information about the state of the connection between service consumer and provider. - */ - privateLinkServiceConnectionState?: outputs.containerregistry.PrivateLinkServiceConnectionStateResponse; - /** - * The provisioning state of private endpoint connection resource. - */ - provisioningState: string; + export interface ContainerGroupPropertiesResponseInstanceView { /** - * Metadata pertaining to creation and last modification of the resource. + * The events of this container group. */ - systemData: outputs.containerregistry.SystemDataResponse; + events: outputs.containerinstance.EventResponse[]; /** - * The type of the resource. + * The state of the container group. Only valid in response. */ - type: string; + state: string; } /** - * The Private Endpoint resource. + * Container group subnet information. */ - export interface PrivateEndpointResponse { + export interface ContainerGroupSubnetIdResponse { /** - * This is private endpoint resource created with Microsoft.Network resource provider. + * Resource ID of virtual network and subnet. */ - id?: string; + id: string; + /** + * Friendly name for the subnet. + */ + name?: string; } /** - * The state of a private link service connection. + * The container Http Get settings, for liveness or readiness probe */ - export interface PrivateLinkServiceConnectionStateResponse { - /** - * A message indicating if changes on the service provider require any updates on the consumer. - */ - actionsRequired?: string; + export interface ContainerHttpGetResponse { /** - * The description for connection status. For example if connection is rejected it can indicate reason for rejection. + * The HTTP headers. */ - description?: string; + httpHeaders?: outputs.containerinstance.HttpHeaderResponse[]; /** - * The private link service connection status. + * The path to probe. */ - status?: string; - } - - export interface ProgressPropertiesResponse { + path?: string; /** - * The percentage complete of the copy operation. + * The port number to probe. */ - percentage?: string; - } - - /** - * The quarantine policy for a container registry. - */ - export interface QuarantinePolicyResponse { + port: number; /** - * The value that indicates whether the policy is enabled or not. + * The scheme. */ - status?: string; - } - /** - * quarantinePolicyResponseProvideDefaults sets the appropriate defaults for QuarantinePolicyResponse - */ - export function quarantinePolicyResponseProvideDefaults(val: QuarantinePolicyResponse): QuarantinePolicyResponse { - return { - ...val, - status: (val.status) ?? "disabled", - }; + scheme?: string; } /** - * The login password for the container registry. + * The port exposed on the container instance. */ - export interface RegistryPasswordResponse { + export interface ContainerPortResponse { /** - * The password name. + * The port number exposed within the container group. */ - name?: string; + port: number; /** - * The password value. + * The protocol associated with the port. */ - value?: string; + protocol?: string; } /** - * The request that generated the event. + * The container probe, for liveness or readiness */ - export interface RequestResponse { - /** - * The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request. - */ - addr?: string; + export interface ContainerProbeResponse { /** - * The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests. + * The execution command to probe */ - host?: string; + exec?: outputs.containerinstance.ContainerExecResponse; /** - * The ID of the request that initiated the event. + * The failure threshold. */ - id?: string; + failureThreshold?: number; /** - * The request method that generated the event. + * The Http Get settings to probe */ - method?: string; + httpGet?: outputs.containerinstance.ContainerHttpGetResponse; /** - * The user agent header of the request. + * The initial delay seconds. */ - useragent?: string; - } - - /** - * The retention policy for a container registry. - */ - export interface RetentionPolicyResponse { + initialDelaySeconds?: number; /** - * The number of days to retain an untagged manifest after which it gets purged. + * The period seconds. */ - days?: number; + periodSeconds?: number; /** - * The timestamp when the policy was last updated. + * The success threshold. */ - lastUpdatedTime: string; + successThreshold?: number; /** - * The value that indicates whether the policy is enabled or not. + * The timeout seconds. */ - status?: string; - } - /** - * retentionPolicyResponseProvideDefaults sets the appropriate defaults for RetentionPolicyResponse - */ - export function retentionPolicyResponseProvideDefaults(val: RetentionPolicyResponse): RetentionPolicyResponse { - return { - ...val, - days: (val.days) ?? 7, - status: (val.status) ?? "disabled", - }; + timeoutSeconds?: number; } /** - * Run resource properties + * The instance view of the container instance. Only valid in response. */ - export interface RunResponse { - /** - * The machine configuration of the run agent. - */ - agentConfiguration?: outputs.containerregistry.AgentPropertiesResponse; + export interface ContainerPropertiesResponseInstanceView { /** - * The dedicated agent pool for the run. + * Current container instance state. */ - agentPoolName?: string; + currentState: outputs.containerinstance.ContainerStateResponse; /** - * The time the run was scheduled. + * The events of the container instance. */ - createTime?: string; + events: outputs.containerinstance.EventResponse[]; /** - * The list of custom registries that were logged in during this run. + * Previous container instance state. */ - customRegistries?: string[]; + previousState: outputs.containerinstance.ContainerStateResponse; /** - * The time the run finished. + * The number of times that the container instance has been restarted. */ - finishTime?: string; + restartCount: number; + } + + /** + * A container instance. + */ + export interface ContainerResponse { /** - * The resource ID. + * The commands to execute within the container instance in exec form. */ - id: string; + command?: string[]; /** - * The image update trigger that caused the run. This is applicable if the task has base image trigger configured. + * The environment variables to set in the container instance. */ - imageUpdateTrigger?: outputs.containerregistry.ImageUpdateTriggerResponse; + environmentVariables?: outputs.containerinstance.EnvironmentVariableResponse[]; /** - * The value that indicates whether archiving is enabled or not. + * The name of the image used to create the container instance. */ - isArchiveEnabled?: boolean; + image: string; /** - * The last updated time for the run. + * The instance view of the container instance. Only valid in response. */ - lastUpdatedTime?: string; + instanceView: outputs.containerinstance.ContainerPropertiesResponseInstanceView; /** - * The image description for the log artifact. + * The liveness probe. */ - logArtifact: outputs.containerregistry.ImageDescriptorResponse; + livenessProbe?: outputs.containerinstance.ContainerProbeResponse; /** - * The name of the resource. + * The user-provided name of the container instance. */ name: string; /** - * The list of all images that were generated from the run. This is applicable if the run generates base image dependencies. + * The exposed ports on the container instance. */ - outputImages?: outputs.containerregistry.ImageDescriptorResponse[]; + ports?: outputs.containerinstance.ContainerPortResponse[]; /** - * The platform properties against which the run will happen. + * The readiness probe. */ - platform?: outputs.containerregistry.PlatformPropertiesResponse; + readinessProbe?: outputs.containerinstance.ContainerProbeResponse; /** - * The provisioning state of a run. + * The resource requirements of the container instance. */ - provisioningState?: string; + resources: outputs.containerinstance.ResourceRequirementsResponse; /** - * The error message received from backend systems after the run is scheduled. + * The container security properties. */ - runErrorMessage: string; + securityContext?: outputs.containerinstance.SecurityContextDefinitionResponse; /** - * The unique identifier for the run. + * The volume mounts available to the container instance. */ - runId?: string; + volumeMounts?: outputs.containerinstance.VolumeMountResponse[]; + } + + /** + * The container instance state. + */ + export interface ContainerStateResponse { /** - * The type of run. + * The human-readable status of the container instance state. */ - runType?: string; + detailStatus: string; /** - * The scope of the credentials that were used to login to the source registry during this run. + * The container instance exit codes correspond to those from the `docker run` command. */ - sourceRegistryAuth?: string; + exitCode: number; /** - * The source trigger that caused the run. + * The date-time when the container instance state finished. */ - sourceTrigger?: outputs.containerregistry.SourceTriggerDescriptorResponse; + finishTime: string; /** - * The time the run started. + * The date-time when the container instance state started. */ - startTime?: string; + startTime: string; /** - * The current status of the run. + * The state of the container instance. */ - status?: string; + state: string; + } + + /** + * Extension sidecars to be added to the deployment. + */ + export interface DeploymentExtensionSpecResponse { /** - * Metadata pertaining to creation and last modification of the resource. + * Type of extension to be added. */ - systemData: outputs.containerregistry.SystemDataResponse; + extensionType: string; /** - * The task against which run was scheduled. + * Name of the extension. */ - task?: string; + name: string; /** - * The timer trigger that caused the run. + * Protected settings for the extension. */ - timerTrigger?: outputs.containerregistry.TimerTriggerDescriptorResponse; + protectedSettings?: any; /** - * The type of the resource. + * Settings for the extension. */ - type: string; + settings?: any; /** - * The update trigger token passed for the Run. + * Version of the extension being used. */ - updateTriggerToken?: string; - } - /** - * runResponseProvideDefaults sets the appropriate defaults for RunResponse - */ - export function runResponseProvideDefaults(val: RunResponse): RunResponse { - return { - ...val, - isArchiveEnabled: (val.isArchiveEnabled) ?? false, - }; + version: string; } /** - * Describes the properties of a secret object value. + * DNS configuration for the container group. */ - export interface SecretObjectResponse { + export interface DnsConfigurationResponse { /** - * The type of the secret object which determines how the value of the secret object has to be - * interpreted. + * The DNS servers for the container group. */ - type?: string; + nameServers: string[]; /** - * The value of the secret. The format of this value will be determined - * based on the type of the secret object. If the type is Opaque, the value will be - * used as is without any modification. + * The DNS options for the container group. */ - value?: string; + options?: string; + /** + * The DNS search domains for hostname lookup in the container group. + */ + searchDomains?: string; } /** - * The properties of a overridable value that can be passed to a task template. + * The container group encryption properties. */ - export interface SetValueResponse { + export interface EncryptionPropertiesResponse { /** - * Flag to indicate whether the value represents a secret or not. + * The keyvault managed identity. */ - isSecret?: boolean; + identity?: string; /** - * The name of the overridable value. + * The encryption key name. */ - name: string; + keyName: string; /** - * The overridable value. + * The encryption key version. */ - value: string; - } - /** - * setValueResponseProvideDefaults sets the appropriate defaults for SetValueResponse - */ - export function setValueResponseProvideDefaults(val: SetValueResponse): SetValueResponse { - return { - ...val, - isSecret: (val.isSecret) ?? false, - }; + keyVersion: string; + /** + * The keyvault base url. + */ + vaultBaseUrl: string; } /** - * The SKU of a container registry. + * The environment variable to set within the container instance. */ - export interface SkuResponse { + export interface EnvironmentVariableResponse { /** - * The SKU name of the container registry. Required for registry creation. + * The name of the environment variable. */ name: string; /** - * The SKU tier based on the SKU name. + * The value of the secure environment variable. */ - tier: string; + secureValue?: string; + /** + * The value of the environment variable. + */ + value?: string; } /** - * The authorization properties for accessing the source code repository. + * A container group or container instance event. */ - export interface SourceControlAuthInfoResponse { + export interface EventResponse { /** - * Time in seconds that the token remains valid + * The count of the event. */ - expiresIn?: number; + count: number; /** - * The refresh token used to refresh the access token. + * The date-time of the earliest logged event. */ - refreshToken?: string; + firstTimestamp: string; /** - * The scope of the access token. + * The date-time of the latest logged event. */ - scope?: string; + lastTimestamp: string; /** - * The access token used to access the source control provider. + * The event message. */ - token: string; + message: string; /** - * The type of Auth token. + * The event name. */ - tokenType?: string; + name: string; + /** + * The event type. + */ + type: string; } /** - * The properties of the source code repository. + * Represents a volume that is populated with the contents of a git repository */ - export interface SourcePropertiesResponse { - /** - * The branch name of the source code. - */ - branch?: string; + export interface GitRepoVolumeResponse { /** - * The full URL to the source code repository + * Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. */ - repositoryUrl: string; + directory?: string; /** - * The authorization properties for accessing the source code repository and to set up - * webhooks for notifications. + * Repository URL */ - sourceControlAuthProperties?: outputs.containerregistry.AuthInfoResponse; + repository: string; /** - * The type of source control service. + * Commit hash for the specified revision. */ - sourceControlType: string; + revision?: string; } /** - * Describes the credential parameters for accessing the source registry. + * The GPU resource. */ - export interface SourceRegistryCredentialsResponse { + export interface GpuResourceResponse { /** - * The authentication mode which determines the source registry login scope. The credentials for the source registry - * will be generated using the given scope. These credentials will be used to login to - * the source registry during the run. + * The count of the GPU resource. */ - loginMode?: string; + count: number; + /** + * The SKU of the GPU resource. + */ + sku: string; } /** - * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. + * The HTTP header. */ - export interface SourceResponse { + export interface HttpHeaderResponse { /** - * The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port. + * The header name. */ - addr?: string; + name?: string; /** - * The running instance of an application. Changes after each restart. + * The header value. */ - instanceID?: string; + value?: string; } /** - * The source trigger that caused a run. + * Image registry credential. */ - export interface SourceTriggerDescriptorResponse { - /** - * The branch name in the repository. - */ - branchName?: string; - /** - * The unique ID that identifies a commit. - */ - commitId?: string; + export interface ImageRegistryCredentialResponse { /** - * The event type of the trigger. + * The identity for the private registry. */ - eventType?: string; + identity?: string; /** - * The unique ID of the trigger. + * The identity URL for the private registry. */ - id?: string; + identityUrl?: string; /** - * The source control provider type. + * The password for the private registry. */ - providerType?: string; + password?: string; /** - * The unique ID that identifies pull request. + * The Docker image registry server without a protocol such as "http" and "https". */ - pullRequestId?: string; + server: string; /** - * The repository URL. + * The username for the private registry. */ - repositoryUrl?: string; + username?: string; } /** - * The properties of a source based trigger. + * The init container definition. */ - export interface SourceTriggerResponse { - /** - * The name of the trigger. - */ - name: string; - /** - * The properties that describes the source(code) for the task. - */ - sourceRepository: outputs.containerregistry.SourcePropertiesResponse; + export interface InitContainerDefinitionResponse { /** - * The source event corresponding to the trigger. + * The command to execute within the init container in exec form. */ - sourceTriggerEvents: string[]; + command?: string[]; /** - * The current status of trigger. + * The environment variables to set in the init container. */ - status?: string; - } - /** - * sourceTriggerResponseProvideDefaults sets the appropriate defaults for SourceTriggerResponse - */ - export function sourceTriggerResponseProvideDefaults(val: SourceTriggerResponse): SourceTriggerResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; - } - - /** - * The status detail properties of the connected registry. - */ - export interface StatusDetailPropertiesResponse { + environmentVariables?: outputs.containerinstance.EnvironmentVariableResponse[]; /** - * The code of the status. + * The image of the init container. */ - code: string; + image?: string; /** - * The correlation ID of the status. + * The instance view of the init container. Only valid in response. */ - correlationId: string; + instanceView: outputs.containerinstance.InitContainerPropertiesDefinitionResponseInstanceView; /** - * The description of the status. + * The name for the init container. */ - description: string; + name: string; /** - * The timestamp of the status. + * The container security properties. */ - timestamp: string; + securityContext?: outputs.containerinstance.SecurityContextDefinitionResponse; /** - * The component of the connected registry corresponding to the status. + * The volume mounts available to the init container. */ - type: string; + volumeMounts?: outputs.containerinstance.VolumeMountResponse[]; } /** - * The status of an Azure resource at the time the operation was called. + * The instance view of the init container. Only valid in response. */ - export interface StatusResponse { + export interface InitContainerPropertiesDefinitionResponseInstanceView { /** - * The short label for the status. + * The current state of the init container. */ - displayStatus: string; + currentState: outputs.containerinstance.ContainerStateResponse; /** - * The detailed message for the status, including alerts and error messages. + * The events of the init container. */ - message: string; + events: outputs.containerinstance.EventResponse[]; /** - * The timestamp when the status was changed to the current value. + * The previous state of the init container. */ - timestamp: string; + previousState: outputs.containerinstance.ContainerStateResponse; + /** + * The number of times that the init container has been restarted. + */ + restartCount: number; } /** - * The sync properties of the connected registry with its parent. + * IP address for the container group. */ - export interface SyncPropertiesResponse { + export interface IpAddressResponse { /** - * The gateway endpoint used by the connected registry to communicate with its parent. + * The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant. */ - gatewayEndpoint: string; + autoGeneratedDomainNameLabelScope?: string; /** - * The last time a sync occurred between the connected registry and its parent. + * The Dns name label for the IP. */ - lastSyncTime: string; + dnsNameLabel?: string; /** - * The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. + * The FQDN for the IP. */ - messageTtl: string; + fqdn: string; /** - * The cron expression indicating the schedule that the connected registry will sync with its parent. + * The IP exposed to the public internet. */ - schedule?: string; + ip?: string; /** - * The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. + * The list of ports exposed on the container group. */ - syncWindow?: string; + ports: outputs.containerinstance.PortResponse[]; /** - * The resource ID of the ACR token used to authenticate the connected registry to its parent during sync. + * Specifies if the IP is exposed to the public internet or private VNET. */ - tokenId: string; + type: string; + } + /** + * ipAddressResponseProvideDefaults sets the appropriate defaults for IpAddressResponse + */ + export function ipAddressResponseProvideDefaults(val: IpAddressResponse): IpAddressResponse { + return { + ...val, + autoGeneratedDomainNameLabelScope: (val.autoGeneratedDomainNameLabelScope) ?? "Unsecure", + }; } /** - * Metadata pertaining to creation and last modification of the resource. + * Container group log analytics information. */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; + export interface LogAnalyticsResponse { /** - * The identity that created the resource. + * The log type to be used. */ - createdBy?: string; + logType?: string; /** - * The type of identity that created the resource. + * Metadata for log analytics. */ - createdByType?: string; + metadata?: {[key: string]: string}; /** - * The timestamp of resource modification (UTC). + * The workspace id for log analytics */ - lastModifiedAt?: string; + workspaceId: string; /** - * The identity that last modified the resource. + * The workspace key for log analytics */ - lastModifiedBy?: string; + workspaceKey: string; /** - * The type of identity that last modified the resource. + * The workspace resource id for log analytics */ - lastModifiedByType?: string; + workspaceResourceId?: string; } /** - * The target of the event. + * The port exposed on the container group. */ - export interface TargetResponse { - /** - * The digest of the content, as defined by the Registry V2 HTTP API Specification. - */ - digest?: string; - /** - * The number of bytes of the content. Same as Size field. - */ - length?: number; - /** - * The MIME type of the referenced object. - */ - mediaType?: string; - /** - * The name of the artifact. - */ - name?: string; + export interface PortResponse { /** - * The repository name. + * The port number. */ - repository?: string; + port: number; /** - * The number of bytes of the content. Same as Length field. + * The protocol associated with the port. */ - size?: number; + protocol?: string; + } + + /** + * The resource limits. + */ + export interface ResourceLimitsResponse { /** - * The tag name. + * The CPU limit of this container instance. */ - tag?: string; + cpu?: number; /** - * The direct URL to the content. + * The GPU limit of this container instance. */ - url?: string; + gpu?: outputs.containerinstance.GpuResourceResponse; /** - * The version of the artifact. + * The memory limit in GB of this container instance. */ - version?: string; + memoryInGB?: number; } /** - * The parameters for a task run request. + * The resource requests. */ - export interface TaskRunRequestResponse { - /** - * The dedicated agent pool for the run. - */ - agentPoolName?: string; + export interface ResourceRequestsResponse { /** - * The value that indicates whether archiving is enabled for the run or not. + * The CPU request of this container instance. */ - isArchiveEnabled?: boolean; + cpu: number; /** - * The template that describes the repository and tag information for run log artifact. + * The GPU request of this container instance. */ - logTemplate?: string; + gpu?: outputs.containerinstance.GpuResourceResponse; /** - * Set of overridable parameters that can be passed when running a Task. + * The memory request in GB of this container instance. */ - overrideTaskStepProperties?: outputs.containerregistry.OverrideTaskStepPropertiesResponse; + memoryInGB: number; + } + + /** + * The resource requirements. + */ + export interface ResourceRequirementsResponse { /** - * The resource ID of task against which run has to be queued. + * The resource limits of this container instance. */ - taskId: string; + limits?: outputs.containerinstance.ResourceLimitsResponse; /** - * The type of the run request. - * Expected value is 'TaskRunRequest'. + * The resource requests of this container instance. */ - type: "TaskRunRequest"; + requests: outputs.containerinstance.ResourceRequestsResponse; } + /** - * taskRunRequestResponseProvideDefaults sets the appropriate defaults for TaskRunRequestResponse + * The capabilities to add or drop from a container. */ - export function taskRunRequestResponseProvideDefaults(val: TaskRunRequestResponse): TaskRunRequestResponse { - return { - ...val, - isArchiveEnabled: (val.isArchiveEnabled) ?? false, - }; - } - - export interface TimerTriggerDescriptorResponse { + export interface SecurityContextCapabilitiesDefinitionResponse { /** - * The occurrence that triggered the run. + * The capabilities to add to the container. */ - scheduleOccurrence?: string; + add?: string[]; /** - * The timer trigger name that caused the run. + * The capabilities to drop from the container. */ - timerTriggerName?: string; + drop?: string[]; } /** - * The properties of a timer trigger. + * The security context for the container. */ - export interface TimerTriggerResponse { + export interface SecurityContextDefinitionResponse { /** - * The name of the trigger. + * A boolean value indicating whether the init process can elevate its privileges */ - name: string; + allowPrivilegeEscalation?: boolean; /** - * The CRON expression for the task schedule + * The capabilities to add or drop from a container. */ - schedule: string; + capabilities?: outputs.containerinstance.SecurityContextCapabilitiesDefinitionResponse; /** - * The current status of trigger. + * The flag to determine if the container permissions is elevated to Privileged. */ - status?: string; - } - /** - * timerTriggerResponseProvideDefaults sets the appropriate defaults for TimerTriggerResponse - */ - export function timerTriggerResponseProvideDefaults(val: TimerTriggerResponse): TimerTriggerResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; - } - - /** - * The TLS certificate properties of the connected registry login server. - */ - export interface TlsCertificatePropertiesResponse { + privileged?: boolean; /** - * Indicates the location of the certificates. + * Sets the User GID for the container. */ - location: string; + runAsGroup?: number; /** - * The type of certificate location. + * Sets the User UID for the container. */ - type: string; + runAsUser?: number; + /** + * a base64 encoded string containing the contents of the JSON in the seccomp profile + */ + seccompProfile?: string; } /** - * The TLS properties of the connected registry login server. + * The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ - export interface TlsPropertiesResponse { + export interface UserAssignedIdentitiesResponse { /** - * The certificate used to configure HTTPS for the login server. + * The client id of user assigned identity. */ - certificate: outputs.containerregistry.TlsCertificatePropertiesResponse; + clientId: string; /** - * Indicates whether HTTPS is enabled for the login server. + * The principal id of user assigned identity. */ - status: string; + principalId: string; } /** - * The properties of a certificate used for authenticating a token. + * The properties of the volume mount. */ - export interface TokenCertificateResponse { + export interface VolumeMountResponse { /** - * Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token. + * The path within the container where the volume should be mounted. Must not contain colon (:). */ - encodedPemCertificate?: string; + mountPath: string; /** - * The expiry datetime of the certificate. + * The name of the volume mount. */ - expiry?: string; - name?: string; + name: string; /** - * The thumbprint of the certificate. + * The flag indicating whether the volume mount is read-only. */ - thumbprint?: string; - } - - /** - * The properties of the credentials that can be used for authenticating the token. - */ - export interface TokenCredentialsPropertiesResponse { - certificates?: outputs.containerregistry.TokenCertificateResponse[]; - passwords?: outputs.containerregistry.TokenPasswordResponse[]; + readOnly?: boolean; } /** - * The password that will be used for authenticating the token of a container registry. + * The properties of the volume. */ - export interface TokenPasswordResponse { + export interface VolumeResponse { /** - * The creation datetime of the password. + * The Azure File volume. */ - creationTime?: string; + azureFile?: outputs.containerinstance.AzureFileVolumeResponse; /** - * The expiry datetime of the password. + * The empty directory volume. */ - expiry?: string; + emptyDir?: any; /** - * The password name "password1" or "password2" - */ - name?: string; - /** - * The password value. - */ - value: string; - } - - /** - * The properties of a trigger. - */ - export interface TriggerPropertiesResponse { - /** - * The trigger based on base image dependencies. + * The git repo volume. */ - baseImageTrigger?: outputs.containerregistry.BaseImageTriggerResponse; + gitRepo?: outputs.containerinstance.GitRepoVolumeResponse; /** - * The collection of triggers based on source code repository. + * The name of the volume. */ - sourceTriggers?: outputs.containerregistry.SourceTriggerResponse[]; + name: string; /** - * The collection of timer triggers. + * The secret volume. */ - timerTriggers?: outputs.containerregistry.TimerTriggerResponse[]; - } - /** - * triggerPropertiesResponseProvideDefaults sets the appropriate defaults for TriggerPropertiesResponse - */ - export function triggerPropertiesResponseProvideDefaults(val: TriggerPropertiesResponse): TriggerPropertiesResponse { - return { - ...val, - baseImageTrigger: (val.baseImageTrigger ? outputs.containerregistry.baseImageTriggerResponseProvideDefaults(val.baseImageTrigger) : undefined), - }; + secret?: {[key: string]: string}; } - /** - * The content trust policy for a container registry. - */ - export interface TrustPolicyResponse { - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; + export namespace v20210301 { /** - * The type of trust policy. + * The properties of the Azure File volume. Azure File shares are mounted as volumes. */ - type?: string; - } - /** - * trustPolicyResponseProvideDefaults sets the appropriate defaults for TrustPolicyResponse - */ - export function trustPolicyResponseProvideDefaults(val: TrustPolicyResponse): TrustPolicyResponse { - return { - ...val, - status: (val.status) ?? "disabled", - type: (val.type) ?? "Notary", - }; - } + export interface AzureFileVolumeResponse { + /** + * The flag indicating whether the Azure File shared mounted as a volume is read-only. + */ + readOnly?: boolean; + /** + * The name of the Azure File share to be mounted as a volume. + */ + shareName: string; + /** + * The storage account access key used to access the Azure File share. + */ + storageAccountKey?: string; + /** + * The name of the storage account that contains the Azure File share. + */ + storageAccountName: string; + } - export interface UserIdentityPropertiesResponse { - /** - * The client id of user assigned identity. - */ - clientId?: string; /** - * The principal id of user assigned identity. + * The container execution command, for liveness or readiness probe */ - principalId?: string; - } + export interface ContainerExecResponse { + /** + * The commands to execute within the container. + */ + command?: string[]; + } - export namespace v20160627preview { /** - * The properties of a storage account for a container registry. + * Container group diagnostic information. */ - export interface StorageAccountPropertiesResponse { - /** - * The access key to the storage account. - */ - accessKey: string; + export interface ContainerGroupDiagnosticsResponse { /** - * The name of the storage account. + * Container group log analytics information. */ - name: string; + logAnalytics?: outputs.containerinstance.v20210301.LogAnalyticsResponse; } - } - - export namespace v20170301 { /** - * The login password for the container registry. + * Identity for the container group. */ - export interface RegistryPasswordResponse { + export interface ContainerGroupIdentityResponse { /** - * The password name. + * The principal id of the container group identity. This property will only be provided for a system assigned identity. */ - name?: string; + principalId: string; /** - * The password value. + * The tenant id associated with the container group. This property will only be provided for a system assigned identity. */ - value?: string; + tenantId: string; + /** + * The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group. + */ + type?: string; + /** + * The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: {[key: string]: outputs.containerinstance.v20210301.ContainerGroupIdentityResponseUserAssignedIdentities}; } - /** - * The SKU of a container registry. - */ - export interface SkuResponse { + export interface ContainerGroupIdentityResponseUserAssignedIdentities { /** - * The SKU name of the container registry. Required for registry creation. Allowed value: Basic. + * The client id of user assigned identity. */ - name: string; + clientId: string; /** - * The SKU tier based on the SKU name. + * The principal id of user assigned identity. */ - tier: string; + principalId: string; } /** - * The properties of a storage account for a container registry. + * Container group network profile information. */ - export interface StorageAccountPropertiesResponse { + export interface ContainerGroupNetworkProfileResponse { /** - * The name of the storage account. + * The identifier for a network profile. */ - name?: string; + id: string; } - } - - export namespace v20180201preview { /** - * Properties that describe a base image dependency. + * The instance view of the container group. Only valid in response. */ - export interface BaseImageDependencyResponse { - /** - * The sha256-based digest of the image manifest. - */ - digest?: string; - /** - * The registry login server. - */ - registry?: string; - /** - * The repository name. - */ - repository?: string; + export interface ContainerGroupResponseInstanceView { /** - * The tag name. + * The events of this container group. */ - tag?: string; + events: outputs.containerinstance.v20210301.EventResponse[]; /** - * The type of the base image dependency. + * The state of the container group. Only valid in response. */ - type?: string; + state: string; } /** - * Properties of a build argument. + * The container Http Get settings, for liveness or readiness probe */ - export interface BuildArgumentResponse { + export interface ContainerHttpGetResponse { /** - * Flag to indicate whether the argument represents a secret and want to be removed from build logs. + * The HTTP headers. */ - isSecret?: boolean; + httpHeaders?: outputs.containerinstance.v20210301.HttpHeaderResponse[]; /** - * The name of the argument. + * The path to probe. */ - name: string; + path?: string; /** - * The type of the argument. + * The port number to probe. */ - type: string; + port: number; /** - * The value of the argument. + * The scheme. */ - value: string; + scheme?: string; } + /** - * buildArgumentResponseProvideDefaults sets the appropriate defaults for BuildArgumentResponse + * The port exposed on the container instance. */ - export function buildArgumentResponseProvideDefaults(val: BuildArgumentResponse): BuildArgumentResponse { - return { - ...val, - isSecret: (val.isSecret) ?? false, - }; + export interface ContainerPortResponse { + /** + * The port number exposed within the container group. + */ + port: number; + /** + * The protocol associated with the port. + */ + protocol?: string; } /** - * The Docker build step. + * The container probe, for liveness or readiness */ - export interface DockerBuildStepResponse { + export interface ContainerProbeResponse { /** - * List of base image dependencies for a step. + * The execution command to probe */ - baseImageDependencies: outputs.containerregistry.v20180201preview.BaseImageDependencyResponse[]; + exec?: outputs.containerinstance.v20210301.ContainerExecResponse; /** - * The type of the auto trigger for base image dependency updates. + * The failure threshold. */ - baseImageTrigger?: string; + failureThreshold?: number; /** - * The repository branch name. + * The Http Get settings to probe */ - branch?: string; + httpGet?: outputs.containerinstance.v20210301.ContainerHttpGetResponse; /** - * The custom arguments for building this build step. + * The initial delay seconds. */ - buildArguments?: outputs.containerregistry.v20180201preview.BuildArgumentResponse[]; + initialDelaySeconds?: number; /** - * The relative context path for a docker build in the source. + * The period seconds. */ - contextPath?: string; + periodSeconds?: number; /** - * The Docker file path relative to the source control root. + * The success threshold. */ - dockerFilePath?: string; + successThreshold?: number; /** - * The fully qualified image names including the repository and tag. + * The timeout seconds. */ - imageNames?: string[]; + timeoutSeconds?: number; + } + + /** + * The instance view of the container instance. Only valid in response. + */ + export interface ContainerPropertiesResponseInstanceView { /** - * The value of this property indicates whether the image built should be pushed to the registry or not. + * Current container instance state. */ - isPushEnabled?: boolean; + currentState: outputs.containerinstance.v20210301.ContainerStateResponse; /** - * The value of this property indicates whether the image cache is enabled or not. + * The events of the container instance. */ - noCache?: boolean; + events: outputs.containerinstance.v20210301.EventResponse[]; /** - * The provisioning state of the build step. + * Previous container instance state. */ - provisioningState: string; + previousState: outputs.containerinstance.v20210301.ContainerStateResponse; /** - * The type of the step. - * Expected value is 'Docker'. + * The number of times that the container instance has been restarted. */ - type: "Docker"; - } - /** - * dockerBuildStepResponseProvideDefaults sets the appropriate defaults for DockerBuildStepResponse - */ - export function dockerBuildStepResponseProvideDefaults(val: DockerBuildStepResponse): DockerBuildStepResponse { - return { - ...val, - isPushEnabled: (val.isPushEnabled) ?? true, - noCache: (val.noCache) ?? false, - }; + restartCount: number; } /** - * The platform properties against which the build has to happen. + * A container instance. */ - export interface PlatformPropertiesResponse { + export interface ContainerResponse { /** - * The CPU configuration in terms of number of cores required for the build. + * The commands to execute within the container instance in exec form. */ - cpu?: number; + command?: string[]; /** - * The operating system type required for the build. + * The environment variables to set in the container instance. */ - osType: string; - } - - /** - * The authorization properties for accessing the source code repository. - */ - export interface SourceControlAuthInfoResponse { + environmentVariables?: outputs.containerinstance.v20210301.EnvironmentVariableResponse[]; /** - * Time in seconds that the token remains valid + * The name of the image used to create the container instance. */ - expiresIn?: number; + image: string; /** - * The refresh token used to refresh the access token. + * The instance view of the container instance. Only valid in response. */ - refreshToken?: string; + instanceView: outputs.containerinstance.v20210301.ContainerPropertiesResponseInstanceView; /** - * The scope of the access token. + * The liveness probe. */ - scope?: string; + livenessProbe?: outputs.containerinstance.v20210301.ContainerProbeResponse; /** - * The access token used to access the source control provider. + * The user-provided name of the container instance. */ - token: string; + name: string; /** - * The type of Auth token. + * The exposed ports on the container instance. */ - tokenType?: string; + ports?: outputs.containerinstance.v20210301.ContainerPortResponse[]; + /** + * The readiness probe. + */ + readinessProbe?: outputs.containerinstance.v20210301.ContainerProbeResponse; + /** + * The resource requirements of the container instance. + */ + resources: outputs.containerinstance.v20210301.ResourceRequirementsResponse; + /** + * The volume mounts available to the container instance. + */ + volumeMounts?: outputs.containerinstance.v20210301.VolumeMountResponse[]; } /** - * The properties of the source code repository. + * The container instance state. */ - export interface SourceRepositoryPropertiesResponse { + export interface ContainerStateResponse { /** - * The value of this property indicates whether the source control commit trigger is enabled or not. + * The human-readable status of the container instance state. */ - isCommitTriggerEnabled?: boolean; + detailStatus: string; /** - * The full URL to the source code repository + * The container instance exit codes correspond to those from the `docker run` command. */ - repositoryUrl: string; + exitCode: number; /** - * The authorization properties for accessing the source code repository. + * The date-time when the container instance state finished. */ - sourceControlAuthProperties?: outputs.containerregistry.v20180201preview.SourceControlAuthInfoResponse; + finishTime: string; /** - * The type of source control service. + * The date-time when the container instance state started. */ - sourceControlType: string; - } - /** - * sourceRepositoryPropertiesResponseProvideDefaults sets the appropriate defaults for SourceRepositoryPropertiesResponse - */ - export function sourceRepositoryPropertiesResponseProvideDefaults(val: SourceRepositoryPropertiesResponse): SourceRepositoryPropertiesResponse { - return { - ...val, - isCommitTriggerEnabled: (val.isCommitTriggerEnabled) ?? false, - }; - } - - } - - export namespace v20180901 { - /** - * The properties that determine the run agent configuration. - */ - export interface AgentPropertiesResponse { + startTime: string; /** - * The CPU configuration in terms of number of cores required for the run. + * The state of the container instance. */ - cpu?: number; + state: string; } /** - * The properties of a run argument. + * DNS configuration for the container group. */ - export interface ArgumentResponse { + export interface DnsConfigurationResponse { /** - * Flag to indicate whether the argument represents a secret and want to be removed from build logs. + * The DNS servers for the container group. */ - isSecret?: boolean; + nameServers: string[]; /** - * The name of the argument. + * The DNS options for the container group. */ - name: string; + options?: string; /** - * The value of the argument. + * The DNS search domains for hostname lookup in the container group. */ - value: string; - } - /** - * argumentResponseProvideDefaults sets the appropriate defaults for ArgumentResponse - */ - export function argumentResponseProvideDefaults(val: ArgumentResponse): ArgumentResponse { - return { - ...val, - isSecret: (val.isSecret) ?? false, - }; + searchDomains?: string; } /** - * The authorization properties for accessing the source code repository. + * The container group encryption properties. */ - export interface AuthInfoResponse { + export interface EncryptionPropertiesResponse { /** - * Time in seconds that the token remains valid + * The encryption key name. */ - expiresIn?: number; + keyName: string; /** - * The refresh token used to refresh the access token. + * The encryption key version. */ - refreshToken?: string; + keyVersion: string; /** - * The scope of the access token. + * The keyvault base url. */ - scope?: string; + vaultBaseUrl: string; + } + + /** + * The environment variable to set within the container instance. + */ + export interface EnvironmentVariableResponse { /** - * The access token used to access the source control provider. + * The name of the environment variable. */ - token: string; + name: string; /** - * The type of Auth token. + * The value of the secure environment variable. */ - tokenType: string; + secureValue?: string; + /** + * The value of the environment variable. + */ + value?: string; } /** - * Properties that describe a base image dependency. + * A container group or container instance event. */ - export interface BaseImageDependencyResponse { + export interface EventResponse { /** - * The sha256-based digest of the image manifest. + * The count of the event. */ - digest?: string; + count: number; /** - * The registry login server. + * The date-time of the earliest logged event. */ - registry?: string; + firstTimestamp: string; /** - * The repository name. + * The date-time of the latest logged event. */ - repository?: string; + lastTimestamp: string; /** - * The tag name. + * The event message. */ - tag?: string; + message: string; /** - * The type of the base image dependency. + * The event name. */ - type?: string; + name: string; + /** + * The event type. + */ + type: string; } /** - * The trigger based on base image dependency. + * Represents a volume that is populated with the contents of a git repository */ - export interface BaseImageTriggerResponse { + export interface GitRepoVolumeResponse { /** - * The type of the auto trigger for base image dependency updates. + * Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. */ - baseImageTriggerType: string; + directory?: string; /** - * The name of the trigger. + * Repository URL */ - name: string; + repository: string; /** - * The current status of trigger. + * Commit hash for the specified revision. */ - status?: string; + revision?: string; } + /** - * baseImageTriggerResponseProvideDefaults sets the appropriate defaults for BaseImageTriggerResponse + * The GPU resource. */ - export function baseImageTriggerResponseProvideDefaults(val: BaseImageTriggerResponse): BaseImageTriggerResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; + export interface GpuResourceResponse { + /** + * The count of the GPU resource. + */ + count: number; + /** + * The SKU of the GPU resource. + */ + sku: string; } /** - * The parameters that describes a set of credentials that will be used when a run is invoked. + * The HTTP header */ - export interface CredentialsResponse { + export interface HttpHeaderResponse { /** - * Describes the credential parameters for accessing other custom registries. The key - * for the dictionary item will be the registry login server (myregistry.azurecr.io) and - * the value of the item will be the registry credentials for accessing the registry. + * The header name. */ - customRegistries?: {[key: string]: outputs.containerregistry.v20180901.CustomRegistryCredentialsResponse}; + name?: string; /** - * Describes the credential parameters for accessing the source registry. + * The header value. */ - sourceRegistry?: outputs.containerregistry.v20180901.SourceRegistryCredentialsResponse; + value?: string; } /** - * Describes the credentials that will be used to access a custom registry during a run. + * Image registry credential. */ - export interface CustomRegistryCredentialsResponse { + export interface ImageRegistryCredentialResponse { /** - * The password for logging into the custom registry. The password is a secret - * object that allows multiple ways of providing the value for it. + * The password for the private registry. */ - password?: outputs.containerregistry.v20180901.SecretObjectResponse; + password?: string; /** - * The username for logging into the custom registry. + * The Docker image registry server without a protocol such as "http" and "https". */ - userName?: outputs.containerregistry.v20180901.SecretObjectResponse; + server: string; + /** + * The username for the private registry. + */ + username: string; } /** - * The Docker build step. + * The init container definition. */ - export interface DockerBuildStepResponse { + export interface InitContainerDefinitionResponse { /** - * The collection of override arguments to be used when executing this build step. + * The command to execute within the init container in exec form. */ - arguments?: outputs.containerregistry.v20180901.ArgumentResponse[]; + command?: string[]; /** - * List of base image dependencies for a step. + * The environment variables to set in the init container. */ - baseImageDependencies: outputs.containerregistry.v20180901.BaseImageDependencyResponse[]; + environmentVariables?: outputs.containerinstance.v20210301.EnvironmentVariableResponse[]; /** - * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + * The image of the init container. */ - contextAccessToken?: string; + image?: string; /** - * The URL(absolute or relative) of the source context for the task step. + * The instance view of the init container. Only valid in response. */ - contextPath?: string; + instanceView: outputs.containerinstance.v20210301.InitContainerPropertiesDefinitionResponseInstanceView; /** - * The Docker file path relative to the source context. + * The name for the init container. */ - dockerFilePath: string; + name: string; /** - * The fully qualified image names including the repository and tag. + * The volume mounts available to the init container. */ - imageNames?: string[]; + volumeMounts?: outputs.containerinstance.v20210301.VolumeMountResponse[]; + } + + /** + * The instance view of the init container. Only valid in response. + */ + export interface InitContainerPropertiesDefinitionResponseInstanceView { /** - * The value of this property indicates whether the image built should be pushed to the registry or not. + * The current state of the init container. */ - isPushEnabled?: boolean; + currentState: outputs.containerinstance.v20210301.ContainerStateResponse; /** - * The value of this property indicates whether the image cache is enabled or not. + * The events of the init container. */ - noCache?: boolean; + events: outputs.containerinstance.v20210301.EventResponse[]; /** - * The name of the target build stage for the docker build. + * The previous state of the init container. */ - target?: string; + previousState: outputs.containerinstance.v20210301.ContainerStateResponse; /** - * The type of the step. - * Expected value is 'Docker'. + * The number of times that the init container has been restarted. */ - type: "Docker"; - } - /** - * dockerBuildStepResponseProvideDefaults sets the appropriate defaults for DockerBuildStepResponse - */ - export function dockerBuildStepResponseProvideDefaults(val: DockerBuildStepResponse): DockerBuildStepResponse { - return { - ...val, - isPushEnabled: (val.isPushEnabled) ?? true, - noCache: (val.noCache) ?? false, - }; + restartCount: number; } /** - * The properties of a encoded task step. + * IP address for the container group. */ - export interface EncodedTaskStepResponse { - /** - * List of base image dependencies for a step. - */ - baseImageDependencies: outputs.containerregistry.v20180901.BaseImageDependencyResponse[]; - /** - * The token (git PAT or SAS token of storage account blob) associated with the context for a step. - */ - contextAccessToken?: string; + export interface IpAddressResponse { /** - * The URL(absolute or relative) of the source context for the task step. + * The Dns name label for the IP. */ - contextPath?: string; + dnsNameLabel?: string; /** - * Base64 encoded value of the template/definition file content. + * The FQDN for the IP. */ - encodedTaskContent: string; + fqdn: string; /** - * Base64 encoded value of the parameters/values file content. + * The IP exposed to the public internet. */ - encodedValuesContent?: string; + ip?: string; /** - * The type of the step. - * Expected value is 'EncodedTask'. + * The list of ports exposed on the container group. */ - type: "EncodedTask"; + ports: outputs.containerinstance.v20210301.PortResponse[]; /** - * The collection of overridable values that can be passed when running a task. + * Specifies if the IP is exposed to the public internet or private VNET. */ - values?: outputs.containerregistry.v20180901.SetValueResponse[]; + type: string; } /** - * The properties of a task step. + * Container group log analytics information. */ - export interface FileTaskStepResponse { + export interface LogAnalyticsResponse { /** - * List of base image dependencies for a step. + * The log type to be used. */ - baseImageDependencies: outputs.containerregistry.v20180901.BaseImageDependencyResponse[]; + logType?: string; /** - * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + * Metadata for log analytics. */ - contextAccessToken?: string; + metadata?: {[key: string]: string}; /** - * The URL(absolute or relative) of the source context for the task step. + * The workspace id for log analytics */ - contextPath?: string; + workspaceId: string; /** - * The task template/definition file path relative to the source context. + * The workspace key for log analytics */ - taskFilePath: string; + workspaceKey: string; /** - * The type of the step. - * Expected value is 'FileTask'. + * The workspace resource id for log analytics */ - type: "FileTask"; + workspaceResourceId?: {[key: string]: string}; + } + + /** + * The port exposed on the container group. + */ + export interface PortResponse { /** - * The collection of overridable values that can be passed when running a task. + * The port number. */ - values?: outputs.containerregistry.v20180901.SetValueResponse[]; + port: number; /** - * The task values/parameters file path relative to the source context. + * The protocol associated with the port. */ - valuesFilePath?: string; + protocol?: string; } /** - * The platform properties against which the run has to happen. + * The resource limits. */ - export interface PlatformPropertiesResponse { + export interface ResourceLimitsResponse { /** - * The OS architecture. + * The CPU limit of this container instance. */ - architecture?: string; + cpu?: number; /** - * The operating system type required for the run. + * The GPU limit of this container instance. */ - os: string; + gpu?: outputs.containerinstance.v20210301.GpuResourceResponse; /** - * Variant of the CPU. + * The memory limit in GB of this container instance. */ - variant?: string; + memoryInGB?: number; } /** - * Describes the properties of a secret object value. + * The resource requests. */ - export interface SecretObjectResponse { + export interface ResourceRequestsResponse { /** - * The type of the secret object which determines how the value of the secret object has to be - * interpreted. + * The CPU request of this container instance. */ - type?: string; + cpu: number; /** - * The value of the secret. The format of this value will be determined - * based on the type of the secret object. If the type is Opaque, the value will be - * used as is without any modification. + * The GPU request of this container instance. */ - value?: string; + gpu?: outputs.containerinstance.v20210301.GpuResourceResponse; + /** + * The memory request in GB of this container instance. + */ + memoryInGB: number; } /** - * The properties of a overridable value that can be passed to a task template. + * The resource requirements. */ - export interface SetValueResponse { - /** - * Flag to indicate whether the value represents a secret or not. - */ - isSecret?: boolean; + export interface ResourceRequirementsResponse { /** - * The name of the overridable value. + * The resource limits of this container instance. */ - name: string; + limits?: outputs.containerinstance.v20210301.ResourceLimitsResponse; /** - * The overridable value. + * The resource requests of this container instance. */ - value: string; - } - /** - * setValueResponseProvideDefaults sets the appropriate defaults for SetValueResponse - */ - export function setValueResponseProvideDefaults(val: SetValueResponse): SetValueResponse { - return { - ...val, - isSecret: (val.isSecret) ?? false, - }; + requests: outputs.containerinstance.v20210301.ResourceRequestsResponse; } /** - * The properties of the source code repository. + * The properties of the volume mount. */ - export interface SourcePropertiesResponse { - /** - * The branch name of the source code. - */ - branch?: string; + export interface VolumeMountResponse { /** - * The full URL to the source code repository + * The path within the container where the volume should be mounted. Must not contain colon (:). */ - repositoryUrl: string; + mountPath: string; /** - * The authorization properties for accessing the source code repository and to set up - * webhooks for notifications. + * The name of the volume mount. */ - sourceControlAuthProperties?: outputs.containerregistry.v20180901.AuthInfoResponse; + name: string; /** - * The type of source control service. + * The flag indicating whether the volume mount is read-only. */ - sourceControlType: string; + readOnly?: boolean; } /** - * Describes the credential parameters for accessing the source registry. + * The properties of the volume. */ - export interface SourceRegistryCredentialsResponse { + export interface VolumeResponse { /** - * The authentication mode which determines the source registry login scope. The credentials for the source registry - * will be generated using the given scope. These credentials will be used to login to - * the source registry during the run. + * The Azure File volume. */ - loginMode?: string; - } - - /** - * The properties of a source based trigger. - */ - export interface SourceTriggerResponse { + azureFile?: outputs.containerinstance.v20210301.AzureFileVolumeResponse; /** - * The name of the trigger. + * The empty directory volume. */ - name: string; + emptyDir?: any; /** - * The properties that describes the source(code) for the task. + * The git repo volume. */ - sourceRepository: outputs.containerregistry.v20180901.SourcePropertiesResponse; + gitRepo?: outputs.containerinstance.v20210301.GitRepoVolumeResponse; /** - * The source event corresponding to the trigger. + * The name of the volume. */ - sourceTriggerEvents: string[]; + name: string; /** - * The current status of trigger. + * The secret volume. */ - status?: string; - } - /** - * sourceTriggerResponseProvideDefaults sets the appropriate defaults for SourceTriggerResponse - */ - export function sourceTriggerResponseProvideDefaults(val: SourceTriggerResponse): SourceTriggerResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; + secret?: {[key: string]: string}; } + } + + export namespace v20210701 { /** - * The properties of a trigger. + * The properties of the Azure File volume. Azure File shares are mounted as volumes. */ - export interface TriggerPropertiesResponse { + export interface AzureFileVolumeResponse { /** - * The trigger based on base image dependencies. + * The flag indicating whether the Azure File shared mounted as a volume is read-only. */ - baseImageTrigger?: outputs.containerregistry.v20180901.BaseImageTriggerResponse; + readOnly?: boolean; /** - * The collection of triggers based on source code repository. + * The name of the Azure File share to be mounted as a volume. */ - sourceTriggers?: outputs.containerregistry.v20180901.SourceTriggerResponse[]; - } - /** - * triggerPropertiesResponseProvideDefaults sets the appropriate defaults for TriggerPropertiesResponse - */ - export function triggerPropertiesResponseProvideDefaults(val: TriggerPropertiesResponse): TriggerPropertiesResponse { - return { - ...val, - baseImageTrigger: (val.baseImageTrigger ? outputs.containerregistry.v20180901.baseImageTriggerResponseProvideDefaults(val.baseImageTrigger) : undefined), - }; + shareName: string; + /** + * The storage account access key used to access the Azure File share. + */ + storageAccountKey?: string; + /** + * The name of the storage account that contains the Azure File share. + */ + storageAccountName: string; } - } - - export namespace v20190401 { /** - * The properties that determine the run agent configuration. + * The container execution command, for liveness or readiness probe */ - export interface AgentPropertiesResponse { + export interface ContainerExecResponse { /** - * The CPU configuration in terms of number of cores required for the run. + * The commands to execute within the container. */ - cpu?: number; + command?: string[]; } /** - * The properties of a run argument. + * Container group diagnostic information. */ - export interface ArgumentResponse { - /** - * Flag to indicate whether the argument represents a secret and want to be removed from build logs. - */ - isSecret?: boolean; - /** - * The name of the argument. - */ - name: string; + export interface ContainerGroupDiagnosticsResponse { /** - * The value of the argument. + * Container group log analytics information. */ - value: string; - } - /** - * argumentResponseProvideDefaults sets the appropriate defaults for ArgumentResponse - */ - export function argumentResponseProvideDefaults(val: ArgumentResponse): ArgumentResponse { - return { - ...val, - isSecret: (val.isSecret) ?? false, - }; + logAnalytics?: outputs.containerinstance.v20210701.LogAnalyticsResponse; } /** - * The authorization properties for accessing the source code repository. + * Identity for the container group. */ - export interface AuthInfoResponse { + export interface ContainerGroupIdentityResponse { /** - * Time in seconds that the token remains valid + * The principal id of the container group identity. This property will only be provided for a system assigned identity. */ - expiresIn?: number; + principalId: string; /** - * The refresh token used to refresh the access token. + * The tenant id associated with the container group. This property will only be provided for a system assigned identity. */ - refreshToken?: string; + tenantId: string; /** - * The scope of the access token. + * The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group. */ - scope?: string; + type?: string; /** - * The access token used to access the source control provider. + * The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ - token: string; + userAssignedIdentities?: {[key: string]: outputs.containerinstance.v20210701.ContainerGroupIdentityResponseUserAssignedIdentities}; + } + + export interface ContainerGroupIdentityResponseUserAssignedIdentities { /** - * The type of Auth token. + * The client id of user assigned identity. */ - tokenType: string; + clientId: string; + /** + * The principal id of user assigned identity. + */ + principalId: string; } /** - * Properties that describe a base image dependency. + * The instance view of the container group. Only valid in response. */ - export interface BaseImageDependencyResponse { - /** - * The sha256-based digest of the image manifest. - */ - digest?: string; + export interface ContainerGroupResponseInstanceView { /** - * The registry login server. + * The events of this container group. */ - registry?: string; + events: outputs.containerinstance.v20210701.EventResponse[]; /** - * The repository name. + * The state of the container group. Only valid in response. */ - repository?: string; + state: string; + } + + /** + * Container group subnet information. + */ + export interface ContainerGroupSubnetIdResponse { /** - * The tag name. + * Resource ID of virtual network and subnet. */ - tag?: string; + id: string; /** - * The type of the base image dependency. + * Friendly name for the subnet. */ - type?: string; + name?: string; } /** - * The trigger based on base image dependency. + * The container Http Get settings, for liveness or readiness probe */ - export interface BaseImageTriggerResponse { + export interface ContainerHttpGetResponse { /** - * The type of the auto trigger for base image dependency updates. + * The HTTP headers. */ - baseImageTriggerType: string; + httpHeaders?: outputs.containerinstance.v20210701.HttpHeaderResponse[]; /** - * The name of the trigger. + * The path to probe. */ - name: string; + path?: string; /** - * The current status of trigger. + * The port number to probe. */ - status?: string; - } - /** - * baseImageTriggerResponseProvideDefaults sets the appropriate defaults for BaseImageTriggerResponse - */ - export function baseImageTriggerResponseProvideDefaults(val: BaseImageTriggerResponse): BaseImageTriggerResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; + port: number; + /** + * The scheme. + */ + scheme?: string; } /** - * The parameters that describes a set of credentials that will be used when a run is invoked. + * The port exposed on the container instance. */ - export interface CredentialsResponse { + export interface ContainerPortResponse { /** - * Describes the credential parameters for accessing other custom registries. The key - * for the dictionary item will be the registry login server (myregistry.azurecr.io) and - * the value of the item will be the registry credentials for accessing the registry. + * The port number exposed within the container group. */ - customRegistries?: {[key: string]: outputs.containerregistry.v20190401.CustomRegistryCredentialsResponse}; + port: number; /** - * Describes the credential parameters for accessing the source registry. + * The protocol associated with the port. */ - sourceRegistry?: outputs.containerregistry.v20190401.SourceRegistryCredentialsResponse; + protocol?: string; } /** - * Describes the credentials that will be used to access a custom registry during a run. + * The container probe, for liveness or readiness */ - export interface CustomRegistryCredentialsResponse { + export interface ContainerProbeResponse { /** - * Indicates the managed identity assigned to the custom credential. If a user-assigned identity - * this value is the Client ID. If a system-assigned identity, the value will be `system`. In - * the case of a system-assigned identity, the Client ID will be determined by the runner. This - * identity may be used to authenticate to key vault to retrieve credentials or it may be the only - * source of authentication used for accessing the registry. + * The execution command to probe */ - identity?: string; + exec?: outputs.containerinstance.v20210701.ContainerExecResponse; /** - * The password for logging into the custom registry. The password is a secret - * object that allows multiple ways of providing the value for it. + * The failure threshold. */ - password?: outputs.containerregistry.v20190401.SecretObjectResponse; + failureThreshold?: number; /** - * The username for logging into the custom registry. + * The Http Get settings to probe */ - userName?: outputs.containerregistry.v20190401.SecretObjectResponse; - } - - /** - * The Docker build step. - */ - export interface DockerBuildStepResponse { + httpGet?: outputs.containerinstance.v20210701.ContainerHttpGetResponse; /** - * The collection of override arguments to be used when executing this build step. + * The initial delay seconds. */ - arguments?: outputs.containerregistry.v20190401.ArgumentResponse[]; + initialDelaySeconds?: number; /** - * List of base image dependencies for a step. + * The period seconds. */ - baseImageDependencies: outputs.containerregistry.v20190401.BaseImageDependencyResponse[]; + periodSeconds?: number; /** - * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + * The success threshold. */ - contextAccessToken?: string; + successThreshold?: number; /** - * The URL(absolute or relative) of the source context for the task step. + * The timeout seconds. */ - contextPath?: string; + timeoutSeconds?: number; + } + + /** + * The instance view of the container instance. Only valid in response. + */ + export interface ContainerPropertiesResponseInstanceView { /** - * The Docker file path relative to the source context. + * Current container instance state. */ - dockerFilePath: string; + currentState: outputs.containerinstance.v20210701.ContainerStateResponse; /** - * The fully qualified image names including the repository and tag. + * The events of the container instance. */ - imageNames?: string[]; + events: outputs.containerinstance.v20210701.EventResponse[]; /** - * The value of this property indicates whether the image built should be pushed to the registry or not. + * Previous container instance state. */ - isPushEnabled?: boolean; + previousState: outputs.containerinstance.v20210701.ContainerStateResponse; /** - * The value of this property indicates whether the image cache is enabled or not. + * The number of times that the container instance has been restarted. */ - noCache?: boolean; + restartCount: number; + } + + /** + * A container instance. + */ + export interface ContainerResponse { /** - * The name of the target build stage for the docker build. + * The commands to execute within the container instance in exec form. */ - target?: string; + command?: string[]; /** - * The type of the step. - * Expected value is 'Docker'. + * The environment variables to set in the container instance. */ - type: "Docker"; - } - /** - * dockerBuildStepResponseProvideDefaults sets the appropriate defaults for DockerBuildStepResponse - */ - export function dockerBuildStepResponseProvideDefaults(val: DockerBuildStepResponse): DockerBuildStepResponse { - return { - ...val, - isPushEnabled: (val.isPushEnabled) ?? true, - noCache: (val.noCache) ?? false, - }; - } - - /** - * The properties of a encoded task step. - */ - export interface EncodedTaskStepResponse { + environmentVariables?: outputs.containerinstance.v20210701.EnvironmentVariableResponse[]; /** - * List of base image dependencies for a step. + * The name of the image used to create the container instance. */ - baseImageDependencies: outputs.containerregistry.v20190401.BaseImageDependencyResponse[]; + image: string; /** - * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + * The instance view of the container instance. Only valid in response. */ - contextAccessToken?: string; + instanceView: outputs.containerinstance.v20210701.ContainerPropertiesResponseInstanceView; /** - * The URL(absolute or relative) of the source context for the task step. + * The liveness probe. */ - contextPath?: string; + livenessProbe?: outputs.containerinstance.v20210701.ContainerProbeResponse; /** - * Base64 encoded value of the template/definition file content. + * The user-provided name of the container instance. */ - encodedTaskContent: string; + name: string; /** - * Base64 encoded value of the parameters/values file content. + * The exposed ports on the container instance. */ - encodedValuesContent?: string; + ports?: outputs.containerinstance.v20210701.ContainerPortResponse[]; /** - * The type of the step. - * Expected value is 'EncodedTask'. + * The readiness probe. */ - type: "EncodedTask"; + readinessProbe?: outputs.containerinstance.v20210701.ContainerProbeResponse; /** - * The collection of overridable values that can be passed when running a task. + * The resource requirements of the container instance. */ - values?: outputs.containerregistry.v20190401.SetValueResponse[]; + resources: outputs.containerinstance.v20210701.ResourceRequirementsResponse; + /** + * The volume mounts available to the container instance. + */ + volumeMounts?: outputs.containerinstance.v20210701.VolumeMountResponse[]; } /** - * The properties of a task step. + * The container instance state. */ - export interface FileTaskStepResponse { - /** - * List of base image dependencies for a step. - */ - baseImageDependencies: outputs.containerregistry.v20190401.BaseImageDependencyResponse[]; - /** - * The token (git PAT or SAS token of storage account blob) associated with the context for a step. - */ - contextAccessToken?: string; + export interface ContainerStateResponse { /** - * The URL(absolute or relative) of the source context for the task step. + * The human-readable status of the container instance state. */ - contextPath?: string; + detailStatus: string; /** - * The task template/definition file path relative to the source context. + * The container instance exit codes correspond to those from the `docker run` command. */ - taskFilePath: string; + exitCode: number; /** - * The type of the step. - * Expected value is 'FileTask'. + * The date-time when the container instance state finished. */ - type: "FileTask"; + finishTime: string; /** - * The collection of overridable values that can be passed when running a task. + * The date-time when the container instance state started. */ - values?: outputs.containerregistry.v20190401.SetValueResponse[]; + startTime: string; /** - * The task values/parameters file path relative to the source context. + * The state of the container instance. */ - valuesFilePath?: string; + state: string; } /** - * Managed identity for the resource. + * DNS configuration for the container group. */ - export interface IdentityPropertiesResponse { - /** - * The principal ID of resource identity. - */ - principalId?: string; + export interface DnsConfigurationResponse { /** - * The tenant ID of resource. + * The DNS servers for the container group. */ - tenantId?: string; + nameServers: string[]; /** - * The identity type. + * The DNS options for the container group. */ - type?: string; + options?: string; /** - * The list of user identities associated with the resource. The user identity - * dictionary key references will be ARM resource ids in the form: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ - * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * The DNS search domains for hostname lookup in the container group. */ - userAssignedIdentities?: {[key: string]: outputs.containerregistry.v20190401.UserIdentityPropertiesResponse}; + searchDomains?: string; } /** - * The platform properties against which the run has to happen. + * The container group encryption properties. */ - export interface PlatformPropertiesResponse { + export interface EncryptionPropertiesResponse { /** - * The OS architecture. + * The encryption key name. */ - architecture?: string; + keyName: string; /** - * The operating system type required for the run. + * The encryption key version. */ - os: string; + keyVersion: string; /** - * Variant of the CPU. + * The keyvault base url. */ - variant?: string; + vaultBaseUrl: string; } /** - * Describes the properties of a secret object value. + * The environment variable to set within the container instance. */ - export interface SecretObjectResponse { + export interface EnvironmentVariableResponse { /** - * The type of the secret object which determines how the value of the secret object has to be - * interpreted. + * The name of the environment variable. */ - type?: string; + name: string; /** - * The value of the secret. The format of this value will be determined - * based on the type of the secret object. If the type is Opaque, the value will be - * used as is without any modification. + * The value of the secure environment variable. + */ + secureValue?: string; + /** + * The value of the environment variable. */ value?: string; } /** - * The properties of a overridable value that can be passed to a task template. + * A container group or container instance event. */ - export interface SetValueResponse { - /** - * Flag to indicate whether the value represents a secret or not. - */ - isSecret?: boolean; + export interface EventResponse { /** - * The name of the overridable value. + * The count of the event. */ - name: string; + count: number; /** - * The overridable value. + * The date-time of the earliest logged event. */ - value: string; - } - /** - * setValueResponseProvideDefaults sets the appropriate defaults for SetValueResponse - */ - export function setValueResponseProvideDefaults(val: SetValueResponse): SetValueResponse { - return { - ...val, - isSecret: (val.isSecret) ?? false, - }; - } - - /** - * The properties of the source code repository. - */ - export interface SourcePropertiesResponse { + firstTimestamp: string; /** - * The branch name of the source code. + * The date-time of the latest logged event. */ - branch?: string; + lastTimestamp: string; /** - * The full URL to the source code repository + * The event message. */ - repositoryUrl: string; + message: string; /** - * The authorization properties for accessing the source code repository and to set up - * webhooks for notifications. + * The event name. */ - sourceControlAuthProperties?: outputs.containerregistry.v20190401.AuthInfoResponse; + name: string; /** - * The type of source control service. + * The event type. */ - sourceControlType: string; + type: string; } /** - * Describes the credential parameters for accessing the source registry. + * Represents a volume that is populated with the contents of a git repository */ - export interface SourceRegistryCredentialsResponse { + export interface GitRepoVolumeResponse { /** - * The authentication mode which determines the source registry login scope. The credentials for the source registry - * will be generated using the given scope. These credentials will be used to login to - * the source registry during the run. + * Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. */ - loginMode?: string; - } - - /** - * The properties of a source based trigger. - */ - export interface SourceTriggerResponse { + directory?: string; /** - * The name of the trigger. + * Repository URL */ - name: string; + repository: string; /** - * The properties that describes the source(code) for the task. + * Commit hash for the specified revision. */ - sourceRepository: outputs.containerregistry.v20190401.SourcePropertiesResponse; + revision?: string; + } + + /** + * The GPU resource. + */ + export interface GpuResourceResponse { /** - * The source event corresponding to the trigger. + * The count of the GPU resource. */ - sourceTriggerEvents: string[]; + count: number; /** - * The current status of trigger. + * The SKU of the GPU resource. */ - status?: string; - } - /** - * sourceTriggerResponseProvideDefaults sets the appropriate defaults for SourceTriggerResponse - */ - export function sourceTriggerResponseProvideDefaults(val: SourceTriggerResponse): SourceTriggerResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; + sku: string; } /** - * The properties of a timer trigger. + * The HTTP header. */ - export interface TimerTriggerResponse { - /** - * The name of the trigger. - */ - name: string; + export interface HttpHeaderResponse { /** - * The CRON expression for the task schedule + * The header name. */ - schedule: string; + name?: string; /** - * The current status of trigger. + * The header value. */ - status?: string; - } - /** - * timerTriggerResponseProvideDefaults sets the appropriate defaults for TimerTriggerResponse - */ - export function timerTriggerResponseProvideDefaults(val: TimerTriggerResponse): TimerTriggerResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; + value?: string; } /** - * The properties of a trigger. + * Image registry credential. */ - export interface TriggerPropertiesResponse { + export interface ImageRegistryCredentialResponse { /** - * The trigger based on base image dependencies. + * The identity for the private registry. */ - baseImageTrigger?: outputs.containerregistry.v20190401.BaseImageTriggerResponse; + identity?: string; /** - * The collection of triggers based on source code repository. + * The identity URL for the private registry. */ - sourceTriggers?: outputs.containerregistry.v20190401.SourceTriggerResponse[]; + identityUrl?: string; /** - * The collection of timer triggers. + * The password for the private registry. */ - timerTriggers?: outputs.containerregistry.v20190401.TimerTriggerResponse[]; - } - /** - * triggerPropertiesResponseProvideDefaults sets the appropriate defaults for TriggerPropertiesResponse - */ - export function triggerPropertiesResponseProvideDefaults(val: TriggerPropertiesResponse): TriggerPropertiesResponse { - return { - ...val, - baseImageTrigger: (val.baseImageTrigger ? outputs.containerregistry.v20190401.baseImageTriggerResponseProvideDefaults(val.baseImageTrigger) : undefined), - }; - } - - export interface UserIdentityPropertiesResponse { + password?: string; /** - * The client id of user assigned identity. + * The Docker image registry server without a protocol such as "http" and "https". */ - clientId?: string; + server: string; /** - * The principal id of user assigned identity. + * The username for the private registry. */ - principalId?: string; + username: string; } - } - - export namespace v20190501 { /** - * IP rule with specific IP or IP range in CIDR format. + * The init container definition. */ - export interface IPRuleResponse { + export interface InitContainerDefinitionResponse { /** - * The action of IP ACL rule. + * The command to execute within the init container in exec form. */ - action?: string; + command?: string[]; /** - * Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. + * The environment variables to set in the init container. */ - iPAddressOrRange: string; - } - /** - * ipruleResponseProvideDefaults sets the appropriate defaults for IPRuleResponse - */ - export function ipruleResponseProvideDefaults(val: IPRuleResponse): IPRuleResponse { - return { - ...val, - action: (val.action) ?? "Allow", - }; - } - - /** - * The network rule set for a container registry. - */ - export interface NetworkRuleSetResponse { + environmentVariables?: outputs.containerinstance.v20210701.EnvironmentVariableResponse[]; /** - * The default action of allow or deny when no other rules match. + * The image of the init container. */ - defaultAction: string; + image?: string; /** - * The IP ACL rules. + * The instance view of the init container. Only valid in response. */ - ipRules?: outputs.containerregistry.v20190501.IPRuleResponse[]; + instanceView: outputs.containerinstance.v20210701.InitContainerPropertiesDefinitionResponseInstanceView; /** - * The virtual network rules. + * The name for the init container. */ - virtualNetworkRules?: outputs.containerregistry.v20190501.VirtualNetworkRuleResponse[]; - } - /** - * networkRuleSetResponseProvideDefaults sets the appropriate defaults for NetworkRuleSetResponse - */ - export function networkRuleSetResponseProvideDefaults(val: NetworkRuleSetResponse): NetworkRuleSetResponse { - return { - ...val, - defaultAction: (val.defaultAction) ?? "Allow", - }; + name: string; + /** + * The volume mounts available to the init container. + */ + volumeMounts?: outputs.containerinstance.v20210701.VolumeMountResponse[]; } /** - * The policies for a container registry. + * The instance view of the init container. Only valid in response. */ - export interface PoliciesResponse { + export interface InitContainerPropertiesDefinitionResponseInstanceView { /** - * The quarantine policy for a container registry. + * The current state of the init container. */ - quarantinePolicy?: outputs.containerregistry.v20190501.QuarantinePolicyResponse; + currentState: outputs.containerinstance.v20210701.ContainerStateResponse; /** - * The retention policy for a container registry. + * The events of the init container. */ - retentionPolicy?: outputs.containerregistry.v20190501.RetentionPolicyResponse; + events: outputs.containerinstance.v20210701.EventResponse[]; /** - * The content trust policy for a container registry. + * The previous state of the init container. */ - trustPolicy?: outputs.containerregistry.v20190501.TrustPolicyResponse; - } - /** - * policiesResponseProvideDefaults sets the appropriate defaults for PoliciesResponse - */ - export function policiesResponseProvideDefaults(val: PoliciesResponse): PoliciesResponse { - return { - ...val, - quarantinePolicy: (val.quarantinePolicy ? outputs.containerregistry.v20190501.quarantinePolicyResponseProvideDefaults(val.quarantinePolicy) : undefined), - retentionPolicy: (val.retentionPolicy ? outputs.containerregistry.v20190501.retentionPolicyResponseProvideDefaults(val.retentionPolicy) : undefined), - trustPolicy: (val.trustPolicy ? outputs.containerregistry.v20190501.trustPolicyResponseProvideDefaults(val.trustPolicy) : undefined), - }; - } - - /** - * The quarantine policy for a container registry. - */ - export interface QuarantinePolicyResponse { + previousState: outputs.containerinstance.v20210701.ContainerStateResponse; /** - * The value that indicates whether the policy is enabled or not. + * The number of times that the init container has been restarted. */ - status?: string; - } - /** - * quarantinePolicyResponseProvideDefaults sets the appropriate defaults for QuarantinePolicyResponse - */ - export function quarantinePolicyResponseProvideDefaults(val: QuarantinePolicyResponse): QuarantinePolicyResponse { - return { - ...val, - status: (val.status) ?? "disabled", - }; + restartCount: number; } /** - * The login password for the container registry. + * IP address for the container group. */ - export interface RegistryPasswordResponse { + export interface IpAddressResponse { /** - * The password name. + * The Dns name label for the IP. */ - name?: string; + dnsNameLabel?: string; /** - * The password value. + * The FQDN for the IP. */ - value?: string; - } - - /** - * The retention policy for a container registry. - */ - export interface RetentionPolicyResponse { + fqdn: string; /** - * The number of days to retain an untagged manifest after which it gets purged. + * The IP exposed to the public internet. */ - days?: number; + ip?: string; /** - * The timestamp when the policy was last updated. + * The list of ports exposed on the container group. */ - lastUpdatedTime: string; + ports: outputs.containerinstance.v20210701.PortResponse[]; /** - * The value that indicates whether the policy is enabled or not. + * Specifies if the IP is exposed to the public internet or private VNET. */ - status?: string; - } - /** - * retentionPolicyResponseProvideDefaults sets the appropriate defaults for RetentionPolicyResponse - */ - export function retentionPolicyResponseProvideDefaults(val: RetentionPolicyResponse): RetentionPolicyResponse { - return { - ...val, - days: (val.days) ?? 7, - status: (val.status) ?? "disabled", - }; + type: string; } /** - * The SKU of a container registry. + * Container group log analytics information. */ - export interface SkuResponse { + export interface LogAnalyticsResponse { /** - * The SKU name of the container registry. Required for registry creation. + * The log type to be used. */ - name: string; + logType?: string; /** - * The SKU tier based on the SKU name. + * Metadata for log analytics. */ - tier: string; - } - - /** - * The status of an Azure resource at the time the operation was called. - */ - export interface StatusResponse { + metadata?: {[key: string]: string}; /** - * The short label for the status. + * The workspace id for log analytics */ - displayStatus: string; + workspaceId: string; /** - * The detailed message for the status, including alerts and error messages. + * The workspace key for log analytics */ - message: string; + workspaceKey: string; /** - * The timestamp when the status was changed to the current value. + * The workspace resource id for log analytics */ - timestamp: string; + workspaceResourceId?: string; } /** - * The properties of a storage account for a container registry. Only applicable to Classic SKU. + * The port exposed on the container group. */ - export interface StorageAccountPropertiesResponse { + export interface PortResponse { /** - * The resource ID of the storage account. + * The port number. */ - id: string; + port: number; + /** + * The protocol associated with the port. + */ + protocol?: string; } /** - * The content trust policy for a container registry. + * The resource limits. */ - export interface TrustPolicyResponse { + export interface ResourceLimitsResponse { /** - * The value that indicates whether the policy is enabled or not. + * The CPU limit of this container instance. */ - status?: string; + cpu?: number; /** - * The type of trust policy. + * The GPU limit of this container instance. */ - type?: string; - } - /** - * trustPolicyResponseProvideDefaults sets the appropriate defaults for TrustPolicyResponse - */ - export function trustPolicyResponseProvideDefaults(val: TrustPolicyResponse): TrustPolicyResponse { - return { - ...val, - status: (val.status) ?? "disabled", - type: (val.type) ?? "Notary", - }; + gpu?: outputs.containerinstance.v20210701.GpuResourceResponse; + /** + * The memory limit in GB of this container instance. + */ + memoryInGB?: number; } /** - * Virtual network rule. + * The resource requests. */ - export interface VirtualNetworkRuleResponse { + export interface ResourceRequestsResponse { /** - * The action of virtual network rule. + * The CPU request of this container instance. */ - action?: string; + cpu: number; /** - * Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + * The GPU request of this container instance. */ - virtualNetworkResourceId: string; - } - /** - * virtualNetworkRuleResponseProvideDefaults sets the appropriate defaults for VirtualNetworkRuleResponse - */ - export function virtualNetworkRuleResponseProvideDefaults(val: VirtualNetworkRuleResponse): VirtualNetworkRuleResponse { - return { - ...val, - action: (val.action) ?? "Allow", - }; + gpu?: outputs.containerinstance.v20210701.GpuResourceResponse; + /** + * The memory request in GB of this container instance. + */ + memoryInGB: number; } - } - - export namespace v20190601preview { /** - * The properties that determine the run agent configuration. + * The resource requirements. */ - export interface AgentPropertiesResponse { + export interface ResourceRequirementsResponse { /** - * The CPU configuration in terms of number of cores required for the run. + * The resource limits of this container instance. */ - cpu?: number; + limits?: outputs.containerinstance.v20210701.ResourceLimitsResponse; + /** + * The resource requests of this container instance. + */ + requests: outputs.containerinstance.v20210701.ResourceRequestsResponse; } /** - * The properties of a run argument. + * The properties of the volume mount. */ - export interface ArgumentResponse { + export interface VolumeMountResponse { /** - * Flag to indicate whether the argument represents a secret and want to be removed from build logs. + * The path within the container where the volume should be mounted. Must not contain colon (:). */ - isSecret?: boolean; + mountPath: string; /** - * The name of the argument. + * The name of the volume mount. */ name: string; /** - * The value of the argument. + * The flag indicating whether the volume mount is read-only. */ - value: string; - } - /** - * argumentResponseProvideDefaults sets the appropriate defaults for ArgumentResponse - */ - export function argumentResponseProvideDefaults(val: ArgumentResponse): ArgumentResponse { - return { - ...val, - isSecret: (val.isSecret) ?? false, - }; + readOnly?: boolean; } /** - * The authorization properties for accessing the source code repository. + * The properties of the volume. */ - export interface AuthInfoResponse { + export interface VolumeResponse { /** - * Time in seconds that the token remains valid + * The Azure File volume. */ - expiresIn?: number; + azureFile?: outputs.containerinstance.v20210701.AzureFileVolumeResponse; /** - * The refresh token used to refresh the access token. + * The empty directory volume. */ - refreshToken?: string; + emptyDir?: any; /** - * The scope of the access token. + * The git repo volume. */ - scope?: string; + gitRepo?: outputs.containerinstance.v20210701.GitRepoVolumeResponse; /** - * The access token used to access the source control provider. + * The name of the volume. */ - token: string; + name: string; /** - * The type of Auth token. + * The secret volume. */ - tokenType: string; + secret?: {[key: string]: string}; } + } + + export namespace v20230201preview { /** - * Properties that describe a base image dependency. + * The properties of the Azure File volume. Azure File shares are mounted as volumes. */ - export interface BaseImageDependencyResponse { + export interface AzureFileVolumeResponse { /** - * The sha256-based digest of the image manifest. + * The flag indicating whether the Azure File shared mounted as a volume is read-only. */ - digest?: string; + readOnly?: boolean; /** - * The registry login server. + * The name of the Azure File share to be mounted as a volume. */ - registry?: string; + shareName: string; /** - * The repository name. + * The storage account access key used to access the Azure File share. */ - repository?: string; + storageAccountKey?: string; /** - * The tag name. + * The name of the storage account that contains the Azure File share. */ - tag?: string; + storageAccountName: string; + } + + /** + * The container execution command, for liveness or readiness probe + */ + export interface ContainerExecResponse { /** - * The type of the base image dependency. + * The commands to execute within the container. */ - type?: string; + command?: string[]; } /** - * The trigger based on base image dependency. + * Container group diagnostic information. */ - export interface BaseImageTriggerResponse { + export interface ContainerGroupDiagnosticsResponse { /** - * The type of the auto trigger for base image dependency updates. + * Container group log analytics information. */ - baseImageTriggerType: string; + logAnalytics?: outputs.containerinstance.v20230201preview.LogAnalyticsResponse; + } + + /** + * Identity for the container group. + */ + export interface ContainerGroupIdentityResponse { /** - * The name of the trigger. + * The principal id of the container group identity. This property will only be provided for a system assigned identity. */ - name: string; + principalId: string; /** - * The current status of trigger. + * The tenant id associated with the container group. This property will only be provided for a system assigned identity. */ - status?: string; + tenantId: string; /** - * The endpoint URL for receiving update triggers. + * The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group. */ - updateTriggerEndpoint?: string; + type?: string; /** - * Type of Payload body for Base image update triggers. + * The list of user identities associated with the container group. */ - updateTriggerPayloadType?: string; + userAssignedIdentities?: {[key: string]: outputs.containerinstance.v20230201preview.UserAssignedIdentitiesResponse}; } + /** - * baseImageTriggerResponseProvideDefaults sets the appropriate defaults for BaseImageTriggerResponse + * The instance view of the container group. Only valid in response. */ - export function baseImageTriggerResponseProvideDefaults(val: BaseImageTriggerResponse): BaseImageTriggerResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; + export interface ContainerGroupPropertiesResponseInstanceView { + /** + * The events of this container group. + */ + events: outputs.containerinstance.v20230201preview.EventResponse[]; + /** + * The state of the container group. Only valid in response. + */ + state: string; } /** - * The parameters that describes a set of credentials that will be used when a run is invoked. + * Container group subnet information. */ - export interface CredentialsResponse { + export interface ContainerGroupSubnetIdResponse { /** - * Describes the credential parameters for accessing other custom registries. The key - * for the dictionary item will be the registry login server (myregistry.azurecr.io) and - * the value of the item will be the registry credentials for accessing the registry. + * Resource ID of virtual network and subnet. */ - customRegistries?: {[key: string]: outputs.containerregistry.v20190601preview.CustomRegistryCredentialsResponse}; + id: string; /** - * Describes the credential parameters for accessing the source registry. + * Friendly name for the subnet. */ - sourceRegistry?: outputs.containerregistry.v20190601preview.SourceRegistryCredentialsResponse; + name?: string; } /** - * Describes the credentials that will be used to access a custom registry during a run. + * The container Http Get settings, for liveness or readiness probe */ - export interface CustomRegistryCredentialsResponse { + export interface ContainerHttpGetResponse { /** - * Indicates the managed identity assigned to the custom credential. If a user-assigned identity - * this value is the Client ID. If a system-assigned identity, the value will be `system`. In - * the case of a system-assigned identity, the Client ID will be determined by the runner. This - * identity may be used to authenticate to key vault to retrieve credentials or it may be the only - * source of authentication used for accessing the registry. + * The HTTP headers. */ - identity?: string; + httpHeaders?: outputs.containerinstance.v20230201preview.HttpHeaderResponse[]; /** - * The password for logging into the custom registry. The password is a secret - * object that allows multiple ways of providing the value for it. + * The path to probe. */ - password?: outputs.containerregistry.v20190601preview.SecretObjectResponse; + path?: string; /** - * The username for logging into the custom registry. + * The port number to probe. */ - userName?: outputs.containerregistry.v20190601preview.SecretObjectResponse; + port: number; + /** + * The scheme. + */ + scheme?: string; } /** - * The parameters for a docker quick build. + * The port exposed on the container instance. */ - export interface DockerBuildRequestResponse { - /** - * The machine configuration of the run agent. - */ - agentConfiguration?: outputs.containerregistry.v20190601preview.AgentPropertiesResponse; - /** - * The dedicated agent pool for the run. - */ - agentPoolName?: string; + export interface ContainerPortResponse { /** - * The collection of override arguments to be used when executing the run. + * The port number exposed within the container group. */ - arguments?: outputs.containerregistry.v20190601preview.ArgumentResponse[]; + port: number; /** - * The properties that describes a set of credentials that will be used when this run is invoked. + * The protocol associated with the port. */ - credentials?: outputs.containerregistry.v20190601preview.CredentialsResponse; + protocol?: string; + } + + /** + * The container probe, for liveness or readiness + */ + export interface ContainerProbeResponse { /** - * The Docker file path relative to the source location. + * The execution command to probe */ - dockerFilePath: string; + exec?: outputs.containerinstance.v20230201preview.ContainerExecResponse; /** - * The fully qualified image names including the repository and tag. + * The failure threshold. */ - imageNames?: string[]; + failureThreshold?: number; /** - * The value that indicates whether archiving is enabled for the run or not. + * The Http Get settings to probe */ - isArchiveEnabled?: boolean; + httpGet?: outputs.containerinstance.v20230201preview.ContainerHttpGetResponse; /** - * The value of this property indicates whether the image built should be pushed to the registry or not. + * The initial delay seconds. */ - isPushEnabled?: boolean; + initialDelaySeconds?: number; /** - * The template that describes the repository and tag information for run log artifact. + * The period seconds. */ - logTemplate?: string; + periodSeconds?: number; /** - * The value of this property indicates whether the image cache is enabled or not. + * The success threshold. */ - noCache?: boolean; + successThreshold?: number; /** - * The platform properties against which the run has to happen. + * The timeout seconds. */ - platform: outputs.containerregistry.v20190601preview.PlatformPropertiesResponse; + timeoutSeconds?: number; + } + + /** + * The instance view of the container instance. Only valid in response. + */ + export interface ContainerPropertiesResponseInstanceView { /** - * The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository. - * If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API. + * Current container instance state. */ - sourceLocation?: string; + currentState: outputs.containerinstance.v20230201preview.ContainerStateResponse; /** - * The name of the target build stage for the docker build. + * The events of the container instance. */ - target?: string; + events: outputs.containerinstance.v20230201preview.EventResponse[]; /** - * Run timeout in seconds. + * Previous container instance state. */ - timeout?: number; + previousState: outputs.containerinstance.v20230201preview.ContainerStateResponse; /** - * The type of the run request. - * Expected value is 'DockerBuildRequest'. + * The number of times that the container instance has been restarted. */ - type: "DockerBuildRequest"; - } - /** - * dockerBuildRequestResponseProvideDefaults sets the appropriate defaults for DockerBuildRequestResponse - */ - export function dockerBuildRequestResponseProvideDefaults(val: DockerBuildRequestResponse): DockerBuildRequestResponse { - return { - ...val, - isArchiveEnabled: (val.isArchiveEnabled) ?? false, - isPushEnabled: (val.isPushEnabled) ?? true, - noCache: (val.noCache) ?? false, - timeout: (val.timeout) ?? 3600, - }; + restartCount: number; } /** - * The Docker build step. + * A container instance. */ - export interface DockerBuildStepResponse { + export interface ContainerResponse { /** - * The collection of override arguments to be used when executing this build step. + * The commands to execute within the container instance in exec form. */ - arguments?: outputs.containerregistry.v20190601preview.ArgumentResponse[]; + command?: string[]; /** - * List of base image dependencies for a step. + * The environment variables to set in the container instance. */ - baseImageDependencies: outputs.containerregistry.v20190601preview.BaseImageDependencyResponse[]; + environmentVariables?: outputs.containerinstance.v20230201preview.EnvironmentVariableResponse[]; /** - * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + * The name of the image used to create the container instance. */ - contextAccessToken?: string; + image: string; /** - * The URL(absolute or relative) of the source context for the task step. + * The instance view of the container instance. Only valid in response. */ - contextPath?: string; + instanceView: outputs.containerinstance.v20230201preview.ContainerPropertiesResponseInstanceView; /** - * The Docker file path relative to the source context. + * The liveness probe. */ - dockerFilePath: string; + livenessProbe?: outputs.containerinstance.v20230201preview.ContainerProbeResponse; /** - * The fully qualified image names including the repository and tag. + * The user-provided name of the container instance. */ - imageNames?: string[]; + name: string; /** - * The value of this property indicates whether the image built should be pushed to the registry or not. + * The exposed ports on the container instance. */ - isPushEnabled?: boolean; + ports?: outputs.containerinstance.v20230201preview.ContainerPortResponse[]; /** - * The value of this property indicates whether the image cache is enabled or not. + * The readiness probe. */ - noCache?: boolean; + readinessProbe?: outputs.containerinstance.v20230201preview.ContainerProbeResponse; /** - * The name of the target build stage for the docker build. + * The resource requirements of the container instance. */ - target?: string; + resources: outputs.containerinstance.v20230201preview.ResourceRequirementsResponse; /** - * The type of the step. - * Expected value is 'Docker'. + * The container security properties. */ - type: "Docker"; - } - /** - * dockerBuildStepResponseProvideDefaults sets the appropriate defaults for DockerBuildStepResponse - */ - export function dockerBuildStepResponseProvideDefaults(val: DockerBuildStepResponse): DockerBuildStepResponse { - return { - ...val, - isPushEnabled: (val.isPushEnabled) ?? true, - noCache: (val.noCache) ?? false, - }; + securityContext?: outputs.containerinstance.v20230201preview.SecurityContextDefinitionResponse; + /** + * The volume mounts available to the container instance. + */ + volumeMounts?: outputs.containerinstance.v20230201preview.VolumeMountResponse[]; } /** - * The parameters for a quick task run request. + * The container instance state. */ - export interface EncodedTaskRunRequestResponse { + export interface ContainerStateResponse { /** - * The machine configuration of the run agent. + * The human-readable status of the container instance state. */ - agentConfiguration?: outputs.containerregistry.v20190601preview.AgentPropertiesResponse; + detailStatus: string; /** - * The dedicated agent pool for the run. + * The container instance exit codes correspond to those from the `docker run` command. */ - agentPoolName?: string; + exitCode: number; /** - * The properties that describes a set of credentials that will be used when this run is invoked. + * The date-time when the container instance state finished. */ - credentials?: outputs.containerregistry.v20190601preview.CredentialsResponse; + finishTime: string; /** - * Base64 encoded value of the template/definition file content. + * The date-time when the container instance state started. */ - encodedTaskContent: string; + startTime: string; /** - * Base64 encoded value of the parameters/values file content. + * The state of the container instance. */ - encodedValuesContent?: string; + state: string; + } + + /** + * Extension sidecars to be added to the deployment. + */ + export interface DeploymentExtensionSpecResponse { /** - * The value that indicates whether archiving is enabled for the run or not. + * Type of extension to be added. */ - isArchiveEnabled?: boolean; + extensionType: string; /** - * The template that describes the repository and tag information for run log artifact. + * Name of the extension. */ - logTemplate?: string; + name: string; /** - * The platform properties against which the run has to happen. + * Protected settings for the extension. */ - platform: outputs.containerregistry.v20190601preview.PlatformPropertiesResponse; + protectedSettings?: any; /** - * The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository. - * If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API. + * Settings for the extension. */ - sourceLocation?: string; + settings?: any; /** - * Run timeout in seconds. + * Version of the extension being used. */ - timeout?: number; + version: string; + } + + /** + * DNS configuration for the container group. + */ + export interface DnsConfigurationResponse { /** - * The type of the run request. - * Expected value is 'EncodedTaskRunRequest'. + * The DNS servers for the container group. */ - type: "EncodedTaskRunRequest"; + nameServers: string[]; /** - * The collection of overridable values that can be passed when running a task. + * The DNS options for the container group. */ - values?: outputs.containerregistry.v20190601preview.SetValueResponse[]; - } - /** - * encodedTaskRunRequestResponseProvideDefaults sets the appropriate defaults for EncodedTaskRunRequestResponse - */ - export function encodedTaskRunRequestResponseProvideDefaults(val: EncodedTaskRunRequestResponse): EncodedTaskRunRequestResponse { - return { - ...val, - isArchiveEnabled: (val.isArchiveEnabled) ?? false, - timeout: (val.timeout) ?? 3600, - }; + options?: string; + /** + * The DNS search domains for hostname lookup in the container group. + */ + searchDomains?: string; } /** - * The properties of a encoded task step. + * The container group encryption properties. */ - export interface EncodedTaskStepResponse { + export interface EncryptionPropertiesResponse { /** - * List of base image dependencies for a step. + * The keyvault managed identity. */ - baseImageDependencies: outputs.containerregistry.v20190601preview.BaseImageDependencyResponse[]; + identity?: string; /** - * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + * The encryption key name. */ - contextAccessToken?: string; + keyName: string; /** - * The URL(absolute or relative) of the source context for the task step. + * The encryption key version. */ - contextPath?: string; + keyVersion: string; /** - * Base64 encoded value of the template/definition file content. + * The keyvault base url. */ - encodedTaskContent: string; + vaultBaseUrl: string; + } + + /** + * The environment variable to set within the container instance. + */ + export interface EnvironmentVariableResponse { /** - * Base64 encoded value of the parameters/values file content. + * The name of the environment variable. */ - encodedValuesContent?: string; + name: string; /** - * The type of the step. - * Expected value is 'EncodedTask'. + * The value of the secure environment variable. */ - type: "EncodedTask"; + secureValue?: string; /** - * The collection of overridable values that can be passed when running a task. + * The value of the environment variable. */ - values?: outputs.containerregistry.v20190601preview.SetValueResponse[]; + value?: string; } /** - * The request parameters for a scheduling run against a task file. + * A container group or container instance event. */ - export interface FileTaskRunRequestResponse { + export interface EventResponse { /** - * The machine configuration of the run agent. + * The count of the event. */ - agentConfiguration?: outputs.containerregistry.v20190601preview.AgentPropertiesResponse; + count: number; /** - * The dedicated agent pool for the run. + * The date-time of the earliest logged event. */ - agentPoolName?: string; + firstTimestamp: string; /** - * The properties that describes a set of credentials that will be used when this run is invoked. + * The date-time of the latest logged event. */ - credentials?: outputs.containerregistry.v20190601preview.CredentialsResponse; + lastTimestamp: string; /** - * The value that indicates whether archiving is enabled for the run or not. + * The event message. */ - isArchiveEnabled?: boolean; + message: string; /** - * The template that describes the repository and tag information for run log artifact. + * The event name. */ - logTemplate?: string; + name: string; /** - * The platform properties against which the run has to happen. + * The event type. */ - platform: outputs.containerregistry.v20190601preview.PlatformPropertiesResponse; + type: string; + } + + /** + * Represents a volume that is populated with the contents of a git repository + */ + export interface GitRepoVolumeResponse { /** - * The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository. - * If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API. + * Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. */ - sourceLocation?: string; + directory?: string; /** - * The template/definition file path relative to the source. + * Repository URL */ - taskFilePath: string; + repository: string; /** - * Run timeout in seconds. + * Commit hash for the specified revision. */ - timeout?: number; - /** - * The type of the run request. - * Expected value is 'FileTaskRunRequest'. - */ - type: "FileTaskRunRequest"; + revision?: string; + } + + /** + * The GPU resource. + */ + export interface GpuResourceResponse { /** - * The collection of overridable values that can be passed when running a task. + * The count of the GPU resource. */ - values?: outputs.containerregistry.v20190601preview.SetValueResponse[]; + count: number; /** - * The values/parameters file path relative to the source. + * The SKU of the GPU resource. */ - valuesFilePath?: string; - } - /** - * fileTaskRunRequestResponseProvideDefaults sets the appropriate defaults for FileTaskRunRequestResponse - */ - export function fileTaskRunRequestResponseProvideDefaults(val: FileTaskRunRequestResponse): FileTaskRunRequestResponse { - return { - ...val, - isArchiveEnabled: (val.isArchiveEnabled) ?? false, - timeout: (val.timeout) ?? 3600, - }; + sku: string; } /** - * The properties of a task step. + * The HTTP header. */ - export interface FileTaskStepResponse { + export interface HttpHeaderResponse { /** - * List of base image dependencies for a step. + * The header name. */ - baseImageDependencies: outputs.containerregistry.v20190601preview.BaseImageDependencyResponse[]; + name?: string; /** - * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + * The header value. */ - contextAccessToken?: string; + value?: string; + } + + /** + * Image registry credential. + */ + export interface ImageRegistryCredentialResponse { /** - * The URL(absolute or relative) of the source context for the task step. + * The identity for the private registry. */ - contextPath?: string; + identity?: string; /** - * The task template/definition file path relative to the source context. + * The identity URL for the private registry. */ - taskFilePath: string; + identityUrl?: string; /** - * The type of the step. - * Expected value is 'FileTask'. + * The password for the private registry. */ - type: "FileTask"; + password?: string; /** - * The collection of overridable values that can be passed when running a task. + * The Docker image registry server without a protocol such as "http" and "https". */ - values?: outputs.containerregistry.v20190601preview.SetValueResponse[]; + server: string; /** - * The task values/parameters file path relative to the source context. + * The username for the private registry. */ - valuesFilePath?: string; + username?: string; } /** - * Managed identity for the resource. + * The init container definition. */ - export interface IdentityPropertiesResponse { + export interface InitContainerDefinitionResponse { /** - * The principal ID of resource identity. + * The command to execute within the init container in exec form. */ - principalId?: string; + command?: string[]; /** - * The tenant ID of resource. + * The environment variables to set in the init container. */ - tenantId?: string; + environmentVariables?: outputs.containerinstance.v20230201preview.EnvironmentVariableResponse[]; /** - * The identity type. + * The image of the init container. */ - type?: string; + image?: string; /** - * The list of user identities associated with the resource. The user identity - * dictionary key references will be ARM resource ids in the form: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ - * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * The instance view of the init container. Only valid in response. */ - userAssignedIdentities?: {[key: string]: outputs.containerregistry.v20190601preview.UserIdentityPropertiesResponse}; + instanceView: outputs.containerinstance.v20230201preview.InitContainerPropertiesDefinitionResponseInstanceView; + /** + * The name for the init container. + */ + name: string; + /** + * The volume mounts available to the init container. + */ + volumeMounts?: outputs.containerinstance.v20230201preview.VolumeMountResponse[]; } /** - * Properties for a registry image. + * The instance view of the init container. Only valid in response. */ - export interface ImageDescriptorResponse { + export interface InitContainerPropertiesDefinitionResponseInstanceView { /** - * The sha256-based digest of the image manifest. + * The current state of the init container. */ - digest?: string; + currentState: outputs.containerinstance.v20230201preview.ContainerStateResponse; /** - * The registry login server. + * The events of the init container. */ - registry?: string; + events: outputs.containerinstance.v20230201preview.EventResponse[]; /** - * The repository name. + * The previous state of the init container. */ - repository?: string; + previousState: outputs.containerinstance.v20230201preview.ContainerStateResponse; /** - * The tag name. + * The number of times that the init container has been restarted. */ - tag?: string; + restartCount: number; } /** - * The image update trigger that caused a build. + * IP address for the container group. */ - export interface ImageUpdateTriggerResponse { + export interface IpAddressResponse { /** - * The unique ID of the trigger. + * The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant. */ - id?: string; + autoGeneratedDomainNameLabelScope?: string; /** - * The list of image updates that caused the build. + * The Dns name label for the IP. */ - images?: outputs.containerregistry.v20190601preview.ImageDescriptorResponse[]; + dnsNameLabel?: string; /** - * The timestamp when the image update happened. + * The FQDN for the IP. */ - timestamp?: string; + fqdn: string; + /** + * The IP exposed to the public internet. + */ + ip?: string; + /** + * The list of ports exposed on the container group. + */ + ports: outputs.containerinstance.v20230201preview.PortResponse[]; + /** + * Specifies if the IP is exposed to the public internet or private VNET. + */ + type: string; + } + /** + * ipAddressResponseProvideDefaults sets the appropriate defaults for IpAddressResponse + */ + export function ipAddressResponseProvideDefaults(val: IpAddressResponse): IpAddressResponse { + return { + ...val, + autoGeneratedDomainNameLabelScope: (val.autoGeneratedDomainNameLabelScope) ?? "Unsecure", + }; } - export interface OverrideTaskStepPropertiesResponse { + /** + * Container group log analytics information. + */ + export interface LogAnalyticsResponse { /** - * Gets or sets the collection of override arguments to be used when - * executing a build step. + * The log type to be used. */ - arguments?: outputs.containerregistry.v20190601preview.ArgumentResponse[]; + logType?: string; /** - * The source context against which run has to be queued. + * Metadata for log analytics. */ - contextPath?: string; + metadata?: {[key: string]: string}; /** - * The file against which run has to be queued. + * The workspace id for log analytics */ - file?: string; + workspaceId: string; /** - * The name of the target build stage for the docker build. + * The workspace key for log analytics */ - target?: string; + workspaceKey: string; /** - * Base64 encoded update trigger token that will be attached with the base image trigger webhook. + * The workspace resource id for log analytics */ - updateTriggerToken?: string; + workspaceResourceId?: string; + } + + /** + * The port exposed on the container group. + */ + export interface PortResponse { /** - * The collection of overridable values that can be passed when running a Task. + * The port number. */ - values?: outputs.containerregistry.v20190601preview.SetValueResponse[]; + port: number; + /** + * The protocol associated with the port. + */ + protocol?: string; } /** - * The platform properties against which the run has to happen. + * The resource limits. */ - export interface PlatformPropertiesResponse { + export interface ResourceLimitsResponse { /** - * The OS architecture. + * The CPU limit of this container instance. */ - architecture?: string; + cpu?: number; /** - * The operating system type required for the run. + * The GPU limit of this container instance. */ - os: string; + gpu?: outputs.containerinstance.v20230201preview.GpuResourceResponse; /** - * Variant of the CPU. + * The memory limit in GB of this container instance. */ - variant?: string; + memoryInGB?: number; } /** - * Run resource properties + * The resource requests. */ - export interface RunResponse { + export interface ResourceRequestsResponse { /** - * The machine configuration of the run agent. + * The CPU request of this container instance. */ - agentConfiguration?: outputs.containerregistry.v20190601preview.AgentPropertiesResponse; + cpu: number; /** - * The dedicated agent pool for the run. + * The GPU request of this container instance. */ - agentPoolName?: string; + gpu?: outputs.containerinstance.v20230201preview.GpuResourceResponse; /** - * The time the run was scheduled. + * The memory request in GB of this container instance. */ - createTime?: string; + memoryInGB: number; + } + + /** + * The resource requirements. + */ + export interface ResourceRequirementsResponse { /** - * The list of custom registries that were logged in during this run. + * The resource limits of this container instance. */ - customRegistries?: string[]; + limits?: outputs.containerinstance.v20230201preview.ResourceLimitsResponse; /** - * The time the run finished. + * The resource requests of this container instance. */ - finishTime?: string; + requests: outputs.containerinstance.v20230201preview.ResourceRequestsResponse; + } + + /** + * The capabilities to add or drop from a container. + */ + export interface SecurityContextCapabilitiesDefinitionResponse { /** - * The resource ID. + * The capabilities to add to the container. */ - id: string; + add?: string[]; /** - * The image update trigger that caused the run. This is applicable if the task has base image trigger configured. + * The capabilities to drop from the container. */ - imageUpdateTrigger?: outputs.containerregistry.v20190601preview.ImageUpdateTriggerResponse; + drop?: string[]; + } + + /** + * The security context for the container. + */ + export interface SecurityContextDefinitionResponse { /** - * The value that indicates whether archiving is enabled or not. + * A boolean value indicating whether the init process can elevate its privileges */ - isArchiveEnabled?: boolean; + allowPrivilegeEscalation?: boolean; /** - * The last updated time for the run. + * The capabilities to add or drop from a container. */ - lastUpdatedTime?: string; + capabilities?: outputs.containerinstance.v20230201preview.SecurityContextCapabilitiesDefinitionResponse; /** - * The image description for the log artifact. + * The flag to determine if the container permissions is elevated to Privileged. */ - logArtifact: outputs.containerregistry.v20190601preview.ImageDescriptorResponse; + privileged?: boolean; /** - * The name of the resource. + * Sets the User GID for the container. */ - name: string; + runAsGroup?: number; /** - * The list of all images that were generated from the run. This is applicable if the run generates base image dependencies. + * Sets the User UID for the container. */ - outputImages?: outputs.containerregistry.v20190601preview.ImageDescriptorResponse[]; + runAsUser?: number; /** - * The platform properties against which the run will happen. + * a base64 encoded string containing the contents of the JSON in the seccomp profile */ - platform?: outputs.containerregistry.v20190601preview.PlatformPropertiesResponse; + seccompProfile?: string; + } + + /** + * The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + export interface UserAssignedIdentitiesResponse { /** - * The provisioning state of a run. + * The client id of user assigned identity. */ - provisioningState?: string; + clientId: string; /** - * The error message received from backend systems after the run is scheduled. + * The principal id of user assigned identity. */ - runErrorMessage: string; + principalId: string; + } + + /** + * The properties of the volume mount. + */ + export interface VolumeMountResponse { /** - * The unique identifier for the run. + * The path within the container where the volume should be mounted. Must not contain colon (:). */ - runId?: string; + mountPath: string; /** - * The type of run. + * The name of the volume mount. */ - runType?: string; + name: string; /** - * The scope of the credentials that were used to login to the source registry during this run. + * The flag indicating whether the volume mount is read-only. */ - sourceRegistryAuth?: string; + readOnly?: boolean; + } + + /** + * The properties of the volume. + */ + export interface VolumeResponse { /** - * The source trigger that caused the run. + * The Azure File volume. */ - sourceTrigger?: outputs.containerregistry.v20190601preview.SourceTriggerDescriptorResponse; + azureFile?: outputs.containerinstance.v20230201preview.AzureFileVolumeResponse; /** - * The time the run started. + * The empty directory volume. */ - startTime?: string; + emptyDir?: any; /** - * The current status of the run. + * The git repo volume. */ - status?: string; + gitRepo?: outputs.containerinstance.v20230201preview.GitRepoVolumeResponse; /** - * Metadata pertaining to creation and last modification of the resource. + * The name of the volume. */ - systemData: outputs.containerregistry.v20190601preview.SystemDataResponse; + name: string; /** - * The task against which run was scheduled. + * The secret volume. */ - task?: string; + secret?: {[key: string]: string}; + } + + } + + export namespace v20230501 { + /** + * The properties of the Azure File volume. Azure File shares are mounted as volumes. + */ + export interface AzureFileVolumeResponse { /** - * The timer trigger that caused the run. + * The flag indicating whether the Azure File shared mounted as a volume is read-only. */ - timerTrigger?: outputs.containerregistry.v20190601preview.TimerTriggerDescriptorResponse; + readOnly?: boolean; /** - * The type of the resource. + * The name of the Azure File share to be mounted as a volume. */ - type: string; + shareName: string; /** - * The update trigger token passed for the Run. + * The storage account access key used to access the Azure File share. */ - updateTriggerToken?: string; + storageAccountKey?: string; + /** + * The name of the storage account that contains the Azure File share. + */ + storageAccountName: string; } + /** - * runResponseProvideDefaults sets the appropriate defaults for RunResponse + * The properties for confidential container group */ - export function runResponseProvideDefaults(val: RunResponse): RunResponse { - return { - ...val, - isArchiveEnabled: (val.isArchiveEnabled) ?? false, - }; + export interface ConfidentialComputePropertiesResponse { + /** + * The base64 encoded confidential compute enforcement policy + */ + ccePolicy?: string; } /** - * Describes the properties of a secret object value. + * The container execution command, for liveness or readiness probe */ - export interface SecretObjectResponse { + export interface ContainerExecResponse { /** - * The type of the secret object which determines how the value of the secret object has to be - * interpreted. + * The commands to execute within the container. */ - type?: string; + command?: string[]; + } + + /** + * Container group diagnostic information. + */ + export interface ContainerGroupDiagnosticsResponse { /** - * The value of the secret. The format of this value will be determined - * based on the type of the secret object. If the type is Opaque, the value will be - * used as is without any modification. + * Container group log analytics information. */ - value?: string; + logAnalytics?: outputs.containerinstance.v20230501.LogAnalyticsResponse; } /** - * The properties of a overridable value that can be passed to a task template. + * Identity for the container group. */ - export interface SetValueResponse { + export interface ContainerGroupIdentityResponse { /** - * Flag to indicate whether the value represents a secret or not. + * The principal id of the container group identity. This property will only be provided for a system assigned identity. */ - isSecret?: boolean; + principalId: string; /** - * The name of the overridable value. + * The tenant id associated with the container group. This property will only be provided for a system assigned identity. */ - name: string; + tenantId: string; /** - * The overridable value. + * The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group. */ - value: string; + type?: string; + /** + * The list of user identities associated with the container group. + */ + userAssignedIdentities?: {[key: string]: outputs.containerinstance.v20230501.UserAssignedIdentitiesResponse}; } + /** - * setValueResponseProvideDefaults sets the appropriate defaults for SetValueResponse + * The instance view of the container group. Only valid in response. */ - export function setValueResponseProvideDefaults(val: SetValueResponse): SetValueResponse { - return { - ...val, - isSecret: (val.isSecret) ?? false, - }; + export interface ContainerGroupPropertiesResponseInstanceView { + /** + * The events of this container group. + */ + events: outputs.containerinstance.v20230501.EventResponse[]; + /** + * The state of the container group. Only valid in response. + */ + state: string; } /** - * The properties of the source code repository. + * Container group subnet information. */ - export interface SourcePropertiesResponse { + export interface ContainerGroupSubnetIdResponse { /** - * The branch name of the source code. + * Resource ID of virtual network and subnet. */ - branch?: string; + id: string; /** - * The full URL to the source code repository + * Friendly name for the subnet. */ - repositoryUrl: string; + name?: string; + } + + /** + * The container Http Get settings, for liveness or readiness probe + */ + export interface ContainerHttpGetResponse { /** - * The authorization properties for accessing the source code repository and to set up - * webhooks for notifications. + * The HTTP headers. */ - sourceControlAuthProperties?: outputs.containerregistry.v20190601preview.AuthInfoResponse; + httpHeaders?: outputs.containerinstance.v20230501.HttpHeaderResponse[]; /** - * The type of source control service. + * The path to probe. */ - sourceControlType: string; + path?: string; + /** + * The port number to probe. + */ + port: number; + /** + * The scheme. + */ + scheme?: string; } /** - * Describes the credential parameters for accessing the source registry. + * The port exposed on the container instance. */ - export interface SourceRegistryCredentialsResponse { + export interface ContainerPortResponse { /** - * The authentication mode which determines the source registry login scope. The credentials for the source registry - * will be generated using the given scope. These credentials will be used to login to - * the source registry during the run. + * The port number exposed within the container group. */ - loginMode?: string; + port: number; + /** + * The protocol associated with the port. + */ + protocol?: string; } /** - * The source trigger that caused a run. + * The container probe, for liveness or readiness */ - export interface SourceTriggerDescriptorResponse { + export interface ContainerProbeResponse { /** - * The branch name in the repository. + * The execution command to probe */ - branchName?: string; + exec?: outputs.containerinstance.v20230501.ContainerExecResponse; /** - * The unique ID that identifies a commit. + * The failure threshold. */ - commitId?: string; + failureThreshold?: number; /** - * The event type of the trigger. + * The Http Get settings to probe */ - eventType?: string; + httpGet?: outputs.containerinstance.v20230501.ContainerHttpGetResponse; /** - * The unique ID of the trigger. + * The initial delay seconds. */ - id?: string; + initialDelaySeconds?: number; /** - * The source control provider type. + * The period seconds. */ - providerType?: string; + periodSeconds?: number; /** - * The unique ID that identifies pull request. + * The success threshold. */ - pullRequestId?: string; + successThreshold?: number; /** - * The repository URL. + * The timeout seconds. */ - repositoryUrl?: string; + timeoutSeconds?: number; } /** - * The properties of a source based trigger. + * The instance view of the container instance. Only valid in response. */ - export interface SourceTriggerResponse { + export interface ContainerPropertiesResponseInstanceView { /** - * The name of the trigger. + * Current container instance state. */ - name: string; + currentState: outputs.containerinstance.v20230501.ContainerStateResponse; /** - * The properties that describes the source(code) for the task. + * The events of the container instance. */ - sourceRepository: outputs.containerregistry.v20190601preview.SourcePropertiesResponse; + events: outputs.containerinstance.v20230501.EventResponse[]; /** - * The source event corresponding to the trigger. + * Previous container instance state. */ - sourceTriggerEvents: string[]; + previousState: outputs.containerinstance.v20230501.ContainerStateResponse; /** - * The current status of trigger. + * The number of times that the container instance has been restarted. */ - status?: string; - } - /** - * sourceTriggerResponseProvideDefaults sets the appropriate defaults for SourceTriggerResponse - */ - export function sourceTriggerResponseProvideDefaults(val: SourceTriggerResponse): SourceTriggerResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; + restartCount: number; } /** - * Metadata pertaining to creation and last modification of the resource. + * A container instance. */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; + export interface ContainerResponse { /** - * The identity that created the resource. + * The commands to execute within the container instance in exec form. */ - createdBy?: string; + command?: string[]; /** - * The type of identity that created the resource. + * The environment variables to set in the container instance. */ - createdByType?: string; + environmentVariables?: outputs.containerinstance.v20230501.EnvironmentVariableResponse[]; /** - * The timestamp of resource modification (UTC). + * The name of the image used to create the container instance. */ - lastModifiedAt?: string; + image: string; /** - * The identity that last modified the resource. + * The instance view of the container instance. Only valid in response. */ - lastModifiedBy?: string; + instanceView: outputs.containerinstance.v20230501.ContainerPropertiesResponseInstanceView; /** - * The type of identity that last modified the resource. + * The liveness probe. */ - lastModifiedByType?: string; - } - - /** - * The parameters for a task run request. - */ - export interface TaskRunRequestResponse { + livenessProbe?: outputs.containerinstance.v20230501.ContainerProbeResponse; /** - * The dedicated agent pool for the run. + * The user-provided name of the container instance. */ - agentPoolName?: string; + name: string; /** - * The value that indicates whether archiving is enabled for the run or not. + * The exposed ports on the container instance. */ - isArchiveEnabled?: boolean; + ports?: outputs.containerinstance.v20230501.ContainerPortResponse[]; /** - * The template that describes the repository and tag information for run log artifact. + * The readiness probe. */ - logTemplate?: string; + readinessProbe?: outputs.containerinstance.v20230501.ContainerProbeResponse; /** - * Set of overridable parameters that can be passed when running a Task. + * The resource requirements of the container instance. */ - overrideTaskStepProperties?: outputs.containerregistry.v20190601preview.OverrideTaskStepPropertiesResponse; + resources: outputs.containerinstance.v20230501.ResourceRequirementsResponse; /** - * The resource ID of task against which run has to be queued. + * The container security properties. */ - taskId: string; + securityContext?: outputs.containerinstance.v20230501.SecurityContextDefinitionResponse; /** - * The type of the run request. - * Expected value is 'TaskRunRequest'. + * The volume mounts available to the container instance. */ - type: "TaskRunRequest"; + volumeMounts?: outputs.containerinstance.v20230501.VolumeMountResponse[]; } + /** - * taskRunRequestResponseProvideDefaults sets the appropriate defaults for TaskRunRequestResponse + * The container instance state. */ - export function taskRunRequestResponseProvideDefaults(val: TaskRunRequestResponse): TaskRunRequestResponse { - return { - ...val, - isArchiveEnabled: (val.isArchiveEnabled) ?? false, - }; - } - - export interface TimerTriggerDescriptorResponse { + export interface ContainerStateResponse { /** - * The occurrence that triggered the run. + * The human-readable status of the container instance state. */ - scheduleOccurrence?: string; + detailStatus: string; /** - * The timer trigger name that caused the run. + * The container instance exit codes correspond to those from the `docker run` command. */ - timerTriggerName?: string; + exitCode: number; + /** + * The date-time when the container instance state finished. + */ + finishTime: string; + /** + * The date-time when the container instance state started. + */ + startTime: string; + /** + * The state of the container instance. + */ + state: string; } /** - * The properties of a timer trigger. + * Extension sidecars to be added to the deployment. */ - export interface TimerTriggerResponse { + export interface DeploymentExtensionSpecResponse { /** - * The name of the trigger. + * Type of extension to be added. + */ + extensionType: string; + /** + * Name of the extension. */ name: string; /** - * The CRON expression for the task schedule + * Protected settings for the extension. */ - schedule: string; + protectedSettings?: any; /** - * The current status of trigger. + * Settings for the extension. */ - status?: string; - } - /** - * timerTriggerResponseProvideDefaults sets the appropriate defaults for TimerTriggerResponse - */ - export function timerTriggerResponseProvideDefaults(val: TimerTriggerResponse): TimerTriggerResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; + settings?: any; + /** + * Version of the extension being used. + */ + version: string; } /** - * The properties of a trigger. + * DNS configuration for the container group. */ - export interface TriggerPropertiesResponse { + export interface DnsConfigurationResponse { /** - * The trigger based on base image dependencies. + * The DNS servers for the container group. */ - baseImageTrigger?: outputs.containerregistry.v20190601preview.BaseImageTriggerResponse; + nameServers: string[]; /** - * The collection of triggers based on source code repository. + * The DNS options for the container group. */ - sourceTriggers?: outputs.containerregistry.v20190601preview.SourceTriggerResponse[]; + options?: string; /** - * The collection of timer triggers. + * The DNS search domains for hostname lookup in the container group. */ - timerTriggers?: outputs.containerregistry.v20190601preview.TimerTriggerResponse[]; + searchDomains?: string; } + /** - * triggerPropertiesResponseProvideDefaults sets the appropriate defaults for TriggerPropertiesResponse + * The container group encryption properties. */ - export function triggerPropertiesResponseProvideDefaults(val: TriggerPropertiesResponse): TriggerPropertiesResponse { - return { - ...val, - baseImageTrigger: (val.baseImageTrigger ? outputs.containerregistry.v20190601preview.baseImageTriggerResponseProvideDefaults(val.baseImageTrigger) : undefined), - }; - } - - export interface UserIdentityPropertiesResponse { + export interface EncryptionPropertiesResponse { /** - * The client id of user assigned identity. + * The keyvault managed identity. */ - clientId?: string; + identity?: string; /** - * The principal id of user assigned identity. + * The encryption key name. */ - principalId?: string; + keyName: string; + /** + * The encryption key version. + */ + keyVersion: string; + /** + * The keyvault base url. + */ + vaultBaseUrl: string; } - } - - export namespace v20221201 { /** - * The agent that initiated the event. For most situations, this could be from the authorization context of the request. + * The environment variable to set within the container instance. */ - export interface ActorResponse { + export interface EnvironmentVariableResponse { /** - * The subject or username associated with the request context that generated the event. + * The name of the environment variable. */ - name?: string; - } - - export interface EncryptionPropertyResponse { + name: string; /** - * Key vault properties. + * The value of the secure environment variable. */ - keyVaultProperties?: outputs.containerregistry.v20221201.KeyVaultPropertiesResponse; + secureValue?: string; /** - * Indicates whether or not the encryption is enabled for container registry. + * The value of the environment variable. */ - status?: string; + value?: string; } /** - * The content of the event request message. + * A container group or container instance event. */ - export interface EventContentResponse { - /** - * The action that encompasses the provided event. - */ - action?: string; + export interface EventResponse { /** - * The agent that initiated the event. For most situations, this could be from the authorization context of the request. + * The count of the event. */ - actor?: outputs.containerregistry.v20221201.ActorResponse; + count: number; /** - * The event ID. + * The date-time of the earliest logged event. */ - id?: string; + firstTimestamp: string; /** - * The request that generated the event. + * The date-time of the latest logged event. */ - request?: outputs.containerregistry.v20221201.RequestResponse; + lastTimestamp: string; /** - * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. + * The event message. */ - source?: outputs.containerregistry.v20221201.SourceResponse; + message: string; /** - * The target of the event. + * The event name. */ - target?: outputs.containerregistry.v20221201.TargetResponse; + name: string; /** - * The time at which the event occurred. + * The event type. */ - timestamp?: string; + type: string; } /** - * The event request message sent to the service URI. + * Represents a volume that is populated with the contents of a git repository */ - export interface EventRequestMessageResponse { + export interface GitRepoVolumeResponse { /** - * The content of the event request message. + * Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. */ - content?: outputs.containerregistry.v20221201.EventContentResponse; + directory?: string; /** - * The headers of the event request message. + * Repository URL */ - headers?: {[key: string]: string}; + repository: string; /** - * The HTTP method used to send the event request message. + * Commit hash for the specified revision. */ - method?: string; + revision?: string; + } + + /** + * The GPU resource. + */ + export interface GpuResourceResponse { /** - * The URI used to send the event request message. + * The count of the GPU resource. */ - requestUri?: string; + count: number; /** - * The HTTP message version. + * The SKU of the GPU resource. */ - version?: string; + sku: string; } /** - * The event for a webhook. + * The HTTP header. */ - export interface EventResponse { - /** - * The event request message sent to the service URI. - */ - eventRequestMessage?: outputs.containerregistry.v20221201.EventRequestMessageResponse; + export interface HttpHeaderResponse { /** - * The event response message received from the service URI. + * The header name. */ - eventResponseMessage?: outputs.containerregistry.v20221201.EventResponseMessageResponse; + name?: string; /** - * The event ID. + * The header value. */ - id?: string; + value?: string; } /** - * The event response message received from the service URI. + * Image registry credential. */ - export interface EventResponseMessageResponse { + export interface ImageRegistryCredentialResponse { /** - * The content of the event response message. + * The identity for the private registry. */ - content?: string; + identity?: string; /** - * The headers of the event response message. + * The identity URL for the private registry. */ - headers?: {[key: string]: string}; + identityUrl?: string; /** - * The reason phrase of the event response message. + * The password for the private registry. */ - reasonPhrase?: string; + password?: string; /** - * The status code of the event response message. + * The Docker image registry server without a protocol such as "http" and "https". */ - statusCode?: string; + server: string; /** - * The HTTP message version. + * The username for the private registry. */ - version?: string; + username?: string; } /** - * The export policy for a container registry. + * The init container definition. */ - export interface ExportPolicyResponse { + export interface InitContainerDefinitionResponse { /** - * The value that indicates whether the policy is enabled or not. + * The command to execute within the init container in exec form. */ - status?: string; - } - /** - * exportPolicyResponseProvideDefaults sets the appropriate defaults for ExportPolicyResponse - */ - export function exportPolicyResponseProvideDefaults(val: ExportPolicyResponse): ExportPolicyResponse { - return { - ...val, - status: (val.status) ?? "enabled", - }; - } - - /** - * IP rule with specific IP or IP range in CIDR format. - */ - export interface IPRuleResponse { + command?: string[]; /** - * The action of IP ACL rule. + * The environment variables to set in the init container. */ - action?: string; + environmentVariables?: outputs.containerinstance.v20230501.EnvironmentVariableResponse[]; /** - * Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. + * The image of the init container. */ - iPAddressOrRange: string; - } - /** - * ipruleResponseProvideDefaults sets the appropriate defaults for IPRuleResponse - */ - export function ipruleResponseProvideDefaults(val: IPRuleResponse): IPRuleResponse { - return { - ...val, - action: (val.action) ?? "Allow", - }; - } - - /** - * Managed identity for the resource. - */ - export interface IdentityPropertiesResponse { + image?: string; /** - * The principal ID of resource identity. + * The instance view of the init container. Only valid in response. */ - principalId?: string; + instanceView: outputs.containerinstance.v20230501.InitContainerPropertiesDefinitionResponseInstanceView; /** - * The tenant ID of resource. + * The name for the init container. */ - tenantId?: string; + name: string; /** - * The identity type. + * The container security properties. */ - type?: string; + securityContext?: outputs.containerinstance.v20230501.SecurityContextDefinitionResponse; /** - * The list of user identities associated with the resource. The user identity - * dictionary key references will be ARM resource ids in the form: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ - * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * The volume mounts available to the init container. */ - userAssignedIdentities?: {[key: string]: outputs.containerregistry.v20221201.UserIdentityPropertiesResponse}; + volumeMounts?: outputs.containerinstance.v20230501.VolumeMountResponse[]; } - export interface KeyVaultPropertiesResponse { - /** - * The client id of the identity which will be used to access key vault. - */ - identity?: string; + /** + * The instance view of the init container. Only valid in response. + */ + export interface InitContainerPropertiesDefinitionResponseInstanceView { /** - * Key vault uri to access the encryption key. + * The current state of the init container. */ - keyIdentifier?: string; + currentState: outputs.containerinstance.v20230501.ContainerStateResponse; /** - * Auto key rotation status for a CMK enabled registry. + * The events of the init container. */ - keyRotationEnabled: boolean; + events: outputs.containerinstance.v20230501.EventResponse[]; /** - * Timestamp of the last successful key rotation. + * The previous state of the init container. */ - lastKeyRotationTimestamp: string; + previousState: outputs.containerinstance.v20230501.ContainerStateResponse; /** - * The fully qualified key identifier that includes the version of the key that is actually used for encryption. + * The number of times that the init container has been restarted. */ - versionedKeyIdentifier: string; + restartCount: number; } /** - * The network rule set for a container registry. + * IP address for the container group. */ - export interface NetworkRuleSetResponse { + export interface IpAddressResponse { /** - * The default action of allow or deny when no other rules match. + * The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant. */ - defaultAction: string; + autoGeneratedDomainNameLabelScope?: string; /** - * The IP ACL rules. + * The Dns name label for the IP. */ - ipRules?: outputs.containerregistry.v20221201.IPRuleResponse[]; - } - /** - * networkRuleSetResponseProvideDefaults sets the appropriate defaults for NetworkRuleSetResponse - */ - export function networkRuleSetResponseProvideDefaults(val: NetworkRuleSetResponse): NetworkRuleSetResponse { - return { - ...val, - defaultAction: (val.defaultAction) ?? "Allow", - }; - } - - /** - * The policies for a container registry. - */ - export interface PoliciesResponse { + dnsNameLabel?: string; /** - * The export policy for a container registry. + * The FQDN for the IP. */ - exportPolicy?: outputs.containerregistry.v20221201.ExportPolicyResponse; + fqdn: string; /** - * The quarantine policy for a container registry. + * The IP exposed to the public internet. */ - quarantinePolicy?: outputs.containerregistry.v20221201.QuarantinePolicyResponse; + ip?: string; /** - * The retention policy for a container registry. + * The list of ports exposed on the container group. */ - retentionPolicy?: outputs.containerregistry.v20221201.RetentionPolicyResponse; + ports: outputs.containerinstance.v20230501.PortResponse[]; /** - * The content trust policy for a container registry. + * Specifies if the IP is exposed to the public internet or private VNET. */ - trustPolicy?: outputs.containerregistry.v20221201.TrustPolicyResponse; + type: string; } /** - * policiesResponseProvideDefaults sets the appropriate defaults for PoliciesResponse + * ipAddressResponseProvideDefaults sets the appropriate defaults for IpAddressResponse */ - export function policiesResponseProvideDefaults(val: PoliciesResponse): PoliciesResponse { + export function ipAddressResponseProvideDefaults(val: IpAddressResponse): IpAddressResponse { return { ...val, - exportPolicy: (val.exportPolicy ? outputs.containerregistry.v20221201.exportPolicyResponseProvideDefaults(val.exportPolicy) : undefined), - quarantinePolicy: (val.quarantinePolicy ? outputs.containerregistry.v20221201.quarantinePolicyResponseProvideDefaults(val.quarantinePolicy) : undefined), - retentionPolicy: (val.retentionPolicy ? outputs.containerregistry.v20221201.retentionPolicyResponseProvideDefaults(val.retentionPolicy) : undefined), - trustPolicy: (val.trustPolicy ? outputs.containerregistry.v20221201.trustPolicyResponseProvideDefaults(val.trustPolicy) : undefined), + autoGeneratedDomainNameLabelScope: (val.autoGeneratedDomainNameLabelScope) ?? "Unsecure", }; } /** - * An object that represents a private endpoint connection for a container registry. + * Container group log analytics information. */ - export interface PrivateEndpointConnectionResponse { + export interface LogAnalyticsResponse { /** - * The resource ID. + * The log type to be used. */ - id: string; + logType?: string; /** - * The name of the resource. + * Metadata for log analytics. */ - name: string; + metadata?: {[key: string]: string}; /** - * The resource of private endpoint. + * The workspace id for log analytics */ - privateEndpoint?: outputs.containerregistry.v20221201.PrivateEndpointResponse; + workspaceId: string; /** - * A collection of information about the state of the connection between service consumer and provider. + * The workspace key for log analytics */ - privateLinkServiceConnectionState?: outputs.containerregistry.v20221201.PrivateLinkServiceConnectionStateResponse; + workspaceKey: string; /** - * The provisioning state of private endpoint connection resource. + * The workspace resource id for log analytics */ - provisioningState: string; + workspaceResourceId?: string; + } + + /** + * The port exposed on the container group. + */ + export interface PortResponse { /** - * Metadata pertaining to creation and last modification of the resource. + * The port number. */ - systemData: outputs.containerregistry.v20221201.SystemDataResponse; + port: number; /** - * The type of the resource. + * The protocol associated with the port. */ - type: string; + protocol?: string; } /** - * The Private Endpoint resource. + * The resource limits. */ - export interface PrivateEndpointResponse { - /** - * This is private endpoint resource created with Microsoft.Network resource provider. - */ - id?: string; - } - - /** - * The state of a private link service connection. - */ - export interface PrivateLinkServiceConnectionStateResponse { + export interface ResourceLimitsResponse { /** - * A message indicating if changes on the service provider require any updates on the consumer. + * The CPU limit of this container instance. */ - actionsRequired?: string; + cpu?: number; /** - * The description for connection status. For example if connection is rejected it can indicate reason for rejection. + * The GPU limit of this container instance. */ - description?: string; + gpu?: outputs.containerinstance.v20230501.GpuResourceResponse; /** - * The private link service connection status. + * The memory limit in GB of this container instance. */ - status?: string; + memoryInGB?: number; } /** - * The quarantine policy for a container registry. + * The resource requests. */ - export interface QuarantinePolicyResponse { + export interface ResourceRequestsResponse { /** - * The value that indicates whether the policy is enabled or not. + * The CPU request of this container instance. */ - status?: string; - } - /** - * quarantinePolicyResponseProvideDefaults sets the appropriate defaults for QuarantinePolicyResponse - */ - export function quarantinePolicyResponseProvideDefaults(val: QuarantinePolicyResponse): QuarantinePolicyResponse { - return { - ...val, - status: (val.status) ?? "disabled", - }; - } - - /** - * The login password for the container registry. - */ - export interface RegistryPasswordResponse { + cpu: number; /** - * The password name. + * The GPU request of this container instance. */ - name?: string; + gpu?: outputs.containerinstance.v20230501.GpuResourceResponse; /** - * The password value. + * The memory request in GB of this container instance. */ - value?: string; + memoryInGB: number; } /** - * The request that generated the event. + * The resource requirements. */ - export interface RequestResponse { - /** - * The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request. - */ - addr?: string; - /** - * The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests. - */ - host?: string; - /** - * The ID of the request that initiated the event. - */ - id?: string; + export interface ResourceRequirementsResponse { /** - * The request method that generated the event. + * The resource limits of this container instance. */ - method?: string; + limits?: outputs.containerinstance.v20230501.ResourceLimitsResponse; /** - * The user agent header of the request. + * The resource requests of this container instance. */ - useragent?: string; + requests: outputs.containerinstance.v20230501.ResourceRequestsResponse; } /** - * The retention policy for a container registry. + * The capabilities to add or drop from a container. */ - export interface RetentionPolicyResponse { - /** - * The number of days to retain an untagged manifest after which it gets purged. - */ - days?: number; + export interface SecurityContextCapabilitiesDefinitionResponse { /** - * The timestamp when the policy was last updated. + * The capabilities to add to the container. */ - lastUpdatedTime: string; + add?: string[]; /** - * The value that indicates whether the policy is enabled or not. + * The capabilities to drop from the container. */ - status?: string; - } - /** - * retentionPolicyResponseProvideDefaults sets the appropriate defaults for RetentionPolicyResponse - */ - export function retentionPolicyResponseProvideDefaults(val: RetentionPolicyResponse): RetentionPolicyResponse { - return { - ...val, - days: (val.days) ?? 7, - status: (val.status) ?? "disabled", - }; + drop?: string[]; } /** - * The SKU of a container registry. + * The security context for the container. */ - export interface SkuResponse { - /** - * The SKU name of the container registry. Required for registry creation. - */ - name: string; + export interface SecurityContextDefinitionResponse { /** - * The SKU tier based on the SKU name. + * A boolean value indicating whether the init process can elevate its privileges */ - tier: string; - } - - /** - * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. - */ - export interface SourceResponse { + allowPrivilegeEscalation?: boolean; /** - * The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port. + * The capabilities to add or drop from a container. */ - addr?: string; + capabilities?: outputs.containerinstance.v20230501.SecurityContextCapabilitiesDefinitionResponse; /** - * The running instance of an application. Changes after each restart. + * The flag to determine if the container permissions is elevated to Privileged. */ - instanceID?: string; - } - - /** - * The status of an Azure resource at the time the operation was called. - */ - export interface StatusResponse { + privileged?: boolean; /** - * The short label for the status. + * Sets the User GID for the container. */ - displayStatus: string; + runAsGroup?: number; /** - * The detailed message for the status, including alerts and error messages. + * Sets the User UID for the container. */ - message: string; + runAsUser?: number; /** - * The timestamp when the status was changed to the current value. + * a base64 encoded string containing the contents of the JSON in the seccomp profile */ - timestamp: string; + seccompProfile?: string; } /** - * Metadata pertaining to creation and last modification of the resource. + * The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; - /** - * The type of identity that created the resource. - */ - createdByType?: string; - /** - * The timestamp of resource modification (UTC). - */ - lastModifiedAt?: string; + export interface UserAssignedIdentitiesResponse { /** - * The identity that last modified the resource. + * The client id of user assigned identity. */ - lastModifiedBy?: string; + clientId: string; /** - * The type of identity that last modified the resource. + * The principal id of user assigned identity. */ - lastModifiedByType?: string; + principalId: string; } /** - * The target of the event. + * The properties of the volume mount. */ - export interface TargetResponse { - /** - * The digest of the content, as defined by the Registry V2 HTTP API Specification. - */ - digest?: string; + export interface VolumeMountResponse { /** - * The number of bytes of the content. Same as Size field. + * The path within the container where the volume should be mounted. Must not contain colon (:). */ - length?: number; + mountPath: string; /** - * The MIME type of the referenced object. + * The name of the volume mount. */ - mediaType?: string; + name: string; /** - * The name of the artifact. + * The flag indicating whether the volume mount is read-only. */ - name?: string; + readOnly?: boolean; + } + + /** + * The properties of the volume. + */ + export interface VolumeResponse { /** - * The repository name. + * The Azure File volume. */ - repository?: string; + azureFile?: outputs.containerinstance.v20230501.AzureFileVolumeResponse; /** - * The number of bytes of the content. Same as Length field. + * The empty directory volume. */ - size?: number; + emptyDir?: any; /** - * The tag name. + * The git repo volume. */ - tag?: string; + gitRepo?: outputs.containerinstance.v20230501.GitRepoVolumeResponse; /** - * The direct URL to the content. + * The name of the volume. */ - url?: string; + name: string; /** - * The version of the artifact. + * The secret volume. */ - version?: string; + secret?: {[key: string]: string}; } + } +} + +export namespace containerregistry { + /** + * The activation properties of the connected registry. + */ + export interface ActivationPropertiesResponse { /** - * The properties of a certificate used for authenticating a token. + * The activation status of the connected registry. */ - export interface TokenCertificateResponse { - /** - * Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token. - */ - encodedPemCertificate?: string; - /** - * The expiry datetime of the certificate. - */ - expiry?: string; - name?: string; - /** - * The thumbprint of the certificate. - */ - thumbprint?: string; - } + status: string; + } + /** + * The agent that initiated the event. For most situations, this could be from the authorization context of the request. + */ + export interface ActorResponse { /** - * The properties of the credentials that can be used for authenticating the token. + * The subject or username associated with the request context that generated the event. */ - export interface TokenCredentialsPropertiesResponse { - certificates?: outputs.containerregistry.v20221201.TokenCertificateResponse[]; - passwords?: outputs.containerregistry.v20221201.TokenPasswordResponse[]; - } + name?: string; + } + /** + * The properties that determine the run agent configuration. + */ + export interface AgentPropertiesResponse { /** - * The password that will be used for authenticating the token of a container registry. + * The CPU configuration in terms of number of cores required for the run. */ - export interface TokenPasswordResponse { - /** - * The creation datetime of the password. - */ - creationTime?: string; - /** - * The expiry datetime of the password. - */ - expiry?: string; - /** - * The password name "password1" or "password2" - */ - name?: string; - /** - * The password value. - */ - value: string; - } + cpu?: number; + } + /** + * The properties of the archive package source. + */ + export interface ArchivePackageSourcePropertiesResponse { /** - * The content trust policy for a container registry. + * The type of package source for a archive. */ - export interface TrustPolicyResponse { - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - /** - * The type of trust policy. - */ - type?: string; - } + type?: string; /** - * trustPolicyResponseProvideDefaults sets the appropriate defaults for TrustPolicyResponse + * The external repository url. */ - export function trustPolicyResponseProvideDefaults(val: TrustPolicyResponse): TrustPolicyResponse { - return { - ...val, - status: (val.status) ?? "disabled", - type: (val.type) ?? "Notary", - }; - } - - export interface UserIdentityPropertiesResponse { - /** - * The client id of user assigned identity. - */ - clientId?: string; - /** - * The principal id of user assigned identity. - */ - principalId?: string; - } - + url?: string; } - export namespace v20230101preview { + /** + * The properties of a run argument. + */ + export interface ArgumentResponse { /** - * The activation properties of the connected registry. + * Flag to indicate whether the argument represents a secret and want to be removed from build logs. */ - export interface ActivationPropertiesResponse { - /** - * The activation status of the connected registry. - */ - status: string; - } - + isSecret?: boolean; /** - * The agent that initiated the event. For most situations, this could be from the authorization context of the request. + * The name of the argument. */ - export interface ActorResponse { - /** - * The subject or username associated with the request context that generated the event. - */ - name?: string; - } - + name: string; /** - * Authentication credential stored for an upstream. + * The value of the argument. */ - export interface AuthCredentialResponse { - /** - * This provides data pertaining to the health of the auth credential. - */ - credentialHealth: outputs.containerregistry.v20230101preview.CredentialHealthResponse; - /** - * The name of the credential. - */ - name?: string; - /** - * KeyVault Secret URI for accessing the password. - */ - passwordSecretIdentifier?: string; - /** - * KeyVault Secret URI for accessing the username. - */ - usernameSecretIdentifier?: string; - } + value: string; + } + /** + * argumentResponseProvideDefaults sets the appropriate defaults for ArgumentResponse + */ + export function argumentResponseProvideDefaults(val: ArgumentResponse): ArgumentResponse { + return { + ...val, + isSecret: (val.isSecret) ?? false, + }; + } + /** + * Authentication credential stored for an upstream. + */ + export interface AuthCredentialResponse { /** - * The policy for using ARM audience token for a container registry. + * This provides data pertaining to the health of the auth credential. */ - export interface AzureADAuthenticationAsArmPolicyResponse { - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - } + credentialHealth: outputs.containerregistry.CredentialHealthResponse; /** - * azureADAuthenticationAsArmPolicyResponseProvideDefaults sets the appropriate defaults for AzureADAuthenticationAsArmPolicyResponse + * The name of the credential. */ - export function azureADAuthenticationAsArmPolicyResponseProvideDefaults(val: AzureADAuthenticationAsArmPolicyResponse): AzureADAuthenticationAsArmPolicyResponse { - return { - ...val, - status: (val.status) ?? "enabled", - }; - } - + name?: string; /** - * The health of the auth credential. + * KeyVault Secret URI for accessing the password. */ - export interface CredentialHealthResponse { - /** - * Error code representing the health check error. - */ - errorCode?: string; - /** - * Descriptive message representing the health check error. - */ - errorMessage?: string; - /** - * The health status of credential. - */ - status?: string; - } - - export interface EncryptionPropertyResponse { - /** - * Key vault properties. - */ - keyVaultProperties?: outputs.containerregistry.v20230101preview.KeyVaultPropertiesResponse; - /** - * Indicates whether or not the encryption is enabled for container registry. - */ - status?: string; - } - + passwordSecretIdentifier?: string; /** - * The content of the event request message. + * KeyVault Secret URI for accessing the username. */ - export interface EventContentResponse { - /** - * The action that encompasses the provided event. - */ - action?: string; - /** - * The agent that initiated the event. For most situations, this could be from the authorization context of the request. - */ - actor?: outputs.containerregistry.v20230101preview.ActorResponse; - /** - * The event ID. - */ - id?: string; - /** - * The request that generated the event. - */ - request?: outputs.containerregistry.v20230101preview.RequestResponse; - /** - * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. - */ - source?: outputs.containerregistry.v20230101preview.SourceResponse; - /** - * The target of the event. - */ - target?: outputs.containerregistry.v20230101preview.TargetResponse; - /** - * The time at which the event occurred. - */ - timestamp?: string; - } + usernameSecretIdentifier?: string; + } + /** + * The authorization properties for accessing the source code repository. + */ + export interface AuthInfoResponse { /** - * The event request message sent to the service URI. + * Time in seconds that the token remains valid */ - export interface EventRequestMessageResponse { - /** - * The content of the event request message. - */ - content?: outputs.containerregistry.v20230101preview.EventContentResponse; - /** - * The headers of the event request message. - */ - headers?: {[key: string]: string}; - /** - * The HTTP method used to send the event request message. - */ - method?: string; - /** - * The URI used to send the event request message. - */ - requestUri?: string; - /** - * The HTTP message version. - */ - version?: string; - } - + expiresIn?: number; /** - * The event for a webhook. + * The refresh token used to refresh the access token. */ - export interface EventResponse { - /** - * The event request message sent to the service URI. - */ - eventRequestMessage?: outputs.containerregistry.v20230101preview.EventRequestMessageResponse; - /** - * The event response message received from the service URI. - */ - eventResponseMessage?: outputs.containerregistry.v20230101preview.EventResponseMessageResponse; - /** - * The event ID. - */ - id?: string; - } - + refreshToken?: string; /** - * The event response message received from the service URI. + * The scope of the access token. */ - export interface EventResponseMessageResponse { - /** - * The content of the event response message. - */ - content?: string; - /** - * The headers of the event response message. - */ - headers?: {[key: string]: string}; - /** - * The reason phrase of the event response message. - */ - reasonPhrase?: string; - /** - * The status code of the event response message. - */ - statusCode?: string; - /** - * The HTTP message version. - */ - version?: string; - } - + scope?: string; /** - * The properties of the export pipeline target. + * The access token used to access the source control provider. */ - export interface ExportPipelineTargetPropertiesResponse { - /** - * They key vault secret uri to obtain the target storage SAS token. - */ - keyVaultUri: string; - /** - * The type of target for the export pipeline. - */ - type?: string; - /** - * The target uri of the export pipeline. - * When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" - * When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName" - */ - uri?: string; - } + token: string; + /** + * The type of Auth token. + */ + tokenType: string; + } + /** + * Properties that describe a base image dependency. + */ + export interface BaseImageDependencyResponse { /** - * The export policy for a container registry. + * The sha256-based digest of the image manifest. */ - export interface ExportPolicyResponse { - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - } + digest?: string; /** - * exportPolicyResponseProvideDefaults sets the appropriate defaults for ExportPolicyResponse + * The registry login server. */ - export function exportPolicyResponseProvideDefaults(val: ExportPolicyResponse): ExportPolicyResponse { - return { - ...val, - status: (val.status) ?? "enabled", - }; - } - + registry?: string; /** - * IP rule with specific IP or IP range in CIDR format. + * The repository name. */ - export interface IPRuleResponse { - /** - * The action of IP ACL rule. - */ - action?: string; - /** - * Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. - */ - iPAddressOrRange: string; - } + repository?: string; /** - * ipruleResponseProvideDefaults sets the appropriate defaults for IPRuleResponse + * The tag name. */ - export function ipruleResponseProvideDefaults(val: IPRuleResponse): IPRuleResponse { - return { - ...val, - action: (val.action) ?? "Allow", - }; - } - + tag?: string; /** - * Managed identity for the resource. + * The type of the base image dependency. */ - export interface IdentityPropertiesResponse { - /** - * The principal ID of resource identity. - */ - principalId?: string; - /** - * The tenant ID of resource. - */ - tenantId?: string; - /** - * The identity type. - */ - type?: string; - /** - * The list of user identities associated with the resource. The user identity - * dictionary key references will be ARM resource ids in the form: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ - * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - */ - userAssignedIdentities?: {[key: string]: outputs.containerregistry.v20230101preview.UserIdentityPropertiesResponse}; - } + type?: string; + } + /** + * The trigger based on base image dependency. + */ + export interface BaseImageTriggerResponse { /** - * The properties of the import pipeline source. + * The type of the auto trigger for base image dependency updates. */ - export interface ImportPipelineSourcePropertiesResponse { - /** - * They key vault secret uri to obtain the source storage SAS token. - */ - keyVaultUri: string; - /** - * The type of source for the import pipeline. - */ - type?: string; - /** - * The source uri of the import pipeline. - * When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" - * When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName" - */ - uri?: string; - } + baseImageTriggerType: string; /** - * importPipelineSourcePropertiesResponseProvideDefaults sets the appropriate defaults for ImportPipelineSourcePropertiesResponse + * The name of the trigger. */ - export function importPipelineSourcePropertiesResponseProvideDefaults(val: ImportPipelineSourcePropertiesResponse): ImportPipelineSourcePropertiesResponse { - return { - ...val, - type: (val.type) ?? "AzureStorageBlobContainer", - }; - } - - export interface KeyVaultPropertiesResponse { - /** - * The client id of the identity which will be used to access key vault. - */ - identity?: string; - /** - * Key vault uri to access the encryption key. - */ - keyIdentifier?: string; - /** - * Auto key rotation status for a CMK enabled registry. - */ - keyRotationEnabled: boolean; - /** - * Timestamp of the last successful key rotation. - */ - lastKeyRotationTimestamp: string; - /** - * The fully qualified key identifier that includes the version of the key that is actually used for encryption. - */ - versionedKeyIdentifier: string; - } - + name: string; /** - * The logging properties of the connected registry. + * The current status of trigger. */ - export interface LoggingPropertiesResponse { - /** - * Indicates whether audit logs are enabled on the connected registry. - */ - auditLogStatus?: string; - /** - * The verbosity of logs persisted on the connected registry. - */ - logLevel?: string; - } + status?: string; /** - * loggingPropertiesResponseProvideDefaults sets the appropriate defaults for LoggingPropertiesResponse + * The endpoint URL for receiving update triggers. */ - export function loggingPropertiesResponseProvideDefaults(val: LoggingPropertiesResponse): LoggingPropertiesResponse { - return { - ...val, - auditLogStatus: (val.auditLogStatus) ?? "Disabled", - logLevel: (val.logLevel) ?? "Information", - }; - } - + updateTriggerEndpoint?: string; /** - * The login server properties of the connected registry. + * Type of Payload body for Base image update triggers. */ - export interface LoginServerPropertiesResponse { - /** - * The host of the connected registry. Can be FQDN or IP. - */ - host: string; - /** - * The TLS properties of the connected registry login server. - */ - tls: outputs.containerregistry.v20230101preview.TlsPropertiesResponse; - } + updateTriggerPayloadType?: string; + } + /** + * baseImageTriggerResponseProvideDefaults sets the appropriate defaults for BaseImageTriggerResponse + */ + export function baseImageTriggerResponseProvideDefaults(val: BaseImageTriggerResponse): BaseImageTriggerResponse { + return { + ...val, + status: (val.status) ?? "Enabled", + }; + } + /** + * Properties of a build argument. + */ + export interface BuildArgumentResponse { /** - * The network rule set for a container registry. + * Flag to indicate whether the argument represents a secret and want to be removed from build logs. */ - export interface NetworkRuleSetResponse { - /** - * The default action of allow or deny when no other rules match. - */ - defaultAction: string; - /** - * The IP ACL rules. - */ - ipRules?: outputs.containerregistry.v20230101preview.IPRuleResponse[]; - } + isSecret?: boolean; /** - * networkRuleSetResponseProvideDefaults sets the appropriate defaults for NetworkRuleSetResponse + * The name of the argument. */ - export function networkRuleSetResponseProvideDefaults(val: NetworkRuleSetResponse): NetworkRuleSetResponse { - return { - ...val, - defaultAction: (val.defaultAction) ?? "Allow", - }; - } - + name: string; /** - * The properties of the connected registry parent. + * The type of the argument. */ - export interface ParentPropertiesResponse { - /** - * The resource ID of the parent to which the connected registry will be associated. - */ - id?: string; - /** - * The sync properties of the connected registry with its parent. - */ - syncProperties: outputs.containerregistry.v20230101preview.SyncPropertiesResponse; - } + type: string; + /** + * The value of the argument. + */ + value: string; + } + /** + * buildArgumentResponseProvideDefaults sets the appropriate defaults for BuildArgumentResponse + */ + export function buildArgumentResponseProvideDefaults(val: BuildArgumentResponse): BuildArgumentResponse { + return { + ...val, + isSecret: (val.isSecret) ?? false, + }; + } + /** + * The health of the auth credential. + */ + export interface CredentialHealthResponse { /** - * The request properties provided for a pipeline run. + * Error code representing the health check error. */ - export interface PipelineRunRequestResponse { - /** - * List of source artifacts to be transferred by the pipeline. - * Specify an image by repository ('hello-world'). This will use the 'latest' tag. - * Specify an image by tag ('hello-world:latest'). - * Specify an image by sha256-based manifest digest ('hello-world@sha256:abc123'). - */ - artifacts?: string[]; - /** - * The digest of the tar used to transfer the artifacts. - */ - catalogDigest?: string; - /** - * The resource ID of the pipeline to run. - */ - pipelineResourceId?: string; - /** - * The source properties of the pipeline run. - */ - source?: outputs.containerregistry.v20230101preview.PipelineRunSourcePropertiesResponse; - /** - * The target properties of the pipeline run. - */ - target?: outputs.containerregistry.v20230101preview.PipelineRunTargetPropertiesResponse; - } + errorCode?: string; /** - * pipelineRunRequestResponseProvideDefaults sets the appropriate defaults for PipelineRunRequestResponse + * Descriptive message representing the health check error. */ - export function pipelineRunRequestResponseProvideDefaults(val: PipelineRunRequestResponse): PipelineRunRequestResponse { - return { - ...val, - source: (val.source ? outputs.containerregistry.v20230101preview.pipelineRunSourcePropertiesResponseProvideDefaults(val.source) : undefined), - target: (val.target ? outputs.containerregistry.v20230101preview.pipelineRunTargetPropertiesResponseProvideDefaults(val.target) : undefined), - }; - } + errorMessage?: string; + /** + * The health status of credential. + */ + status?: string; + } + /** + * The parameters that describes a set of credentials that will be used when a run is invoked. + */ + export interface CredentialsResponse { /** - * The response properties returned for a pipeline run. + * Describes the credential parameters for accessing other custom registries. The key + * for the dictionary item will be the registry login server (myregistry.azurecr.io) and + * the value of the item will be the registry credentials for accessing the registry. */ - export interface PipelineRunResponseResponse { - /** - * The digest of the tar used to transfer the artifacts. - */ - catalogDigest?: string; - /** - * The time the pipeline run finished. - */ - finishTime?: string; - /** - * The artifacts imported in the pipeline run. - */ - importedArtifacts?: string[]; - /** - * The detailed error message for the pipeline run in the case of failure. - */ - pipelineRunErrorMessage?: string; - /** - * The current progress of the copy operation. - */ - progress?: outputs.containerregistry.v20230101preview.ProgressPropertiesResponse; - /** - * The source of the pipeline run. - */ - source?: outputs.containerregistry.v20230101preview.ImportPipelineSourcePropertiesResponse; - /** - * The time the pipeline run started. - */ - startTime?: string; - /** - * The current status of the pipeline run. - */ - status?: string; - /** - * The target of the pipeline run. - */ - target?: outputs.containerregistry.v20230101preview.ExportPipelineTargetPropertiesResponse; - /** - * The trigger that caused the pipeline run. - */ - trigger?: outputs.containerregistry.v20230101preview.PipelineTriggerDescriptorResponse; - } + customRegistries?: {[key: string]: outputs.containerregistry.CustomRegistryCredentialsResponse}; /** - * pipelineRunResponseResponseProvideDefaults sets the appropriate defaults for PipelineRunResponseResponse + * Describes the credential parameters for accessing the source registry. */ - export function pipelineRunResponseResponseProvideDefaults(val: PipelineRunResponseResponse): PipelineRunResponseResponse { - return { - ...val, - source: (val.source ? outputs.containerregistry.v20230101preview.importPipelineSourcePropertiesResponseProvideDefaults(val.source) : undefined), - }; - } + sourceRegistry?: outputs.containerregistry.SourceRegistryCredentialsResponse; + } - export interface PipelineRunSourcePropertiesResponse { - /** - * The name of the source. - */ - name?: string; - /** - * The type of the source. - */ - type?: string; - } + /** + * Describes the credentials that will be used to access a custom registry during a run. + */ + export interface CustomRegistryCredentialsResponse { /** - * pipelineRunSourcePropertiesResponseProvideDefaults sets the appropriate defaults for PipelineRunSourcePropertiesResponse + * Indicates the managed identity assigned to the custom credential. If a user-assigned identity + * this value is the Client ID. If a system-assigned identity, the value will be `system`. In + * the case of a system-assigned identity, the Client ID will be determined by the runner. This + * identity may be used to authenticate to key vault to retrieve credentials or it may be the only + * source of authentication used for accessing the registry. */ - export function pipelineRunSourcePropertiesResponseProvideDefaults(val: PipelineRunSourcePropertiesResponse): PipelineRunSourcePropertiesResponse { - return { - ...val, - type: (val.type) ?? "AzureStorageBlob", - }; - } - - export interface PipelineRunTargetPropertiesResponse { - /** - * The name of the target. - */ - name?: string; - /** - * The type of the target. - */ - type?: string; - } + identity?: string; /** - * pipelineRunTargetPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineRunTargetPropertiesResponse + * The password for logging into the custom registry. The password is a secret + * object that allows multiple ways of providing the value for it. */ - export function pipelineRunTargetPropertiesResponseProvideDefaults(val: PipelineRunTargetPropertiesResponse): PipelineRunTargetPropertiesResponse { - return { - ...val, - type: (val.type) ?? "AzureStorageBlob", - }; - } - - export interface PipelineSourceTriggerDescriptorResponse { - /** - * The timestamp when the source update happened. - */ - timestamp?: string; - } - - export interface PipelineSourceTriggerPropertiesResponse { - /** - * The current status of the source trigger. - */ - status: string; - } + password?: outputs.containerregistry.SecretObjectResponse; /** - * pipelineSourceTriggerPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineSourceTriggerPropertiesResponse + * The username for logging into the custom registry. */ - export function pipelineSourceTriggerPropertiesResponseProvideDefaults(val: PipelineSourceTriggerPropertiesResponse): PipelineSourceTriggerPropertiesResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; - } - - export interface PipelineTriggerDescriptorResponse { - /** - * The source trigger that caused the pipeline run. - */ - sourceTrigger?: outputs.containerregistry.v20230101preview.PipelineSourceTriggerDescriptorResponse; - } + userName?: outputs.containerregistry.SecretObjectResponse; + } - export interface PipelineTriggerPropertiesResponse { - /** - * The source trigger properties of the pipeline. - */ - sourceTrigger?: outputs.containerregistry.v20230101preview.PipelineSourceTriggerPropertiesResponse; - } + /** + * The parameters for a docker quick build. + */ + export interface DockerBuildRequestResponse { /** - * pipelineTriggerPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineTriggerPropertiesResponse + * The machine configuration of the run agent. */ - export function pipelineTriggerPropertiesResponseProvideDefaults(val: PipelineTriggerPropertiesResponse): PipelineTriggerPropertiesResponse { - return { - ...val, - sourceTrigger: (val.sourceTrigger ? outputs.containerregistry.v20230101preview.pipelineSourceTriggerPropertiesResponseProvideDefaults(val.sourceTrigger) : undefined), - }; - } - + agentConfiguration?: outputs.containerregistry.AgentPropertiesResponse; /** - * The policies for a container registry. + * The dedicated agent pool for the run. */ - export interface PoliciesResponse { - /** - * The policy for using ARM audience token for a container registry. - */ - azureADAuthenticationAsArmPolicy?: outputs.containerregistry.v20230101preview.AzureADAuthenticationAsArmPolicyResponse; - /** - * The export policy for a container registry. - */ - exportPolicy?: outputs.containerregistry.v20230101preview.ExportPolicyResponse; - /** - * The quarantine policy for a container registry. - */ - quarantinePolicy?: outputs.containerregistry.v20230101preview.QuarantinePolicyResponse; - /** - * The retention policy for a container registry. - */ - retentionPolicy?: outputs.containerregistry.v20230101preview.RetentionPolicyResponse; - /** - * The soft delete policy for a container registry. - */ - softDeletePolicy?: outputs.containerregistry.v20230101preview.SoftDeletePolicyResponse; - /** - * The content trust policy for a container registry. - */ - trustPolicy?: outputs.containerregistry.v20230101preview.TrustPolicyResponse; - } + agentPoolName?: string; /** - * policiesResponseProvideDefaults sets the appropriate defaults for PoliciesResponse + * The collection of override arguments to be used when executing the run. */ - export function policiesResponseProvideDefaults(val: PoliciesResponse): PoliciesResponse { - return { - ...val, - azureADAuthenticationAsArmPolicy: (val.azureADAuthenticationAsArmPolicy ? outputs.containerregistry.v20230101preview.azureADAuthenticationAsArmPolicyResponseProvideDefaults(val.azureADAuthenticationAsArmPolicy) : undefined), - exportPolicy: (val.exportPolicy ? outputs.containerregistry.v20230101preview.exportPolicyResponseProvideDefaults(val.exportPolicy) : undefined), - quarantinePolicy: (val.quarantinePolicy ? outputs.containerregistry.v20230101preview.quarantinePolicyResponseProvideDefaults(val.quarantinePolicy) : undefined), - retentionPolicy: (val.retentionPolicy ? outputs.containerregistry.v20230101preview.retentionPolicyResponseProvideDefaults(val.retentionPolicy) : undefined), - softDeletePolicy: (val.softDeletePolicy ? outputs.containerregistry.v20230101preview.softDeletePolicyResponseProvideDefaults(val.softDeletePolicy) : undefined), - trustPolicy: (val.trustPolicy ? outputs.containerregistry.v20230101preview.trustPolicyResponseProvideDefaults(val.trustPolicy) : undefined), - }; - } - + arguments?: outputs.containerregistry.ArgumentResponse[]; /** - * An object that represents a private endpoint connection for a container registry. + * The properties that describes a set of credentials that will be used when this run is invoked. */ - export interface PrivateEndpointConnectionResponse { - /** - * The resource ID. - */ - id: string; - /** - * The name of the resource. - */ - name: string; - /** - * The resource of private endpoint. - */ - privateEndpoint?: outputs.containerregistry.v20230101preview.PrivateEndpointResponse; - /** - * A collection of information about the state of the connection between service consumer and provider. - */ - privateLinkServiceConnectionState?: outputs.containerregistry.v20230101preview.PrivateLinkServiceConnectionStateResponse; - /** - * The provisioning state of private endpoint connection resource. - */ - provisioningState: string; - /** - * Metadata pertaining to creation and last modification of the resource. - */ - systemData: outputs.containerregistry.v20230101preview.SystemDataResponse; - /** - * The type of the resource. - */ - type: string; - } - + credentials?: outputs.containerregistry.CredentialsResponse; /** - * The Private Endpoint resource. + * The Docker file path relative to the source location. */ - export interface PrivateEndpointResponse { - /** - * This is private endpoint resource created with Microsoft.Network resource provider. - */ - id?: string; - } - + dockerFilePath: string; /** - * The state of a private link service connection. + * The fully qualified image names including the repository and tag. */ - export interface PrivateLinkServiceConnectionStateResponse { - /** - * A message indicating if changes on the service provider require any updates on the consumer. - */ - actionsRequired?: string; - /** - * The description for connection status. For example if connection is rejected it can indicate reason for rejection. - */ - description?: string; - /** - * The private link service connection status. - */ - status?: string; - } - - export interface ProgressPropertiesResponse { - /** - * The percentage complete of the copy operation. - */ - percentage?: string; - } - + imageNames?: string[]; /** - * The quarantine policy for a container registry. + * The value that indicates whether archiving is enabled for the run or not. */ - export interface QuarantinePolicyResponse { - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - } + isArchiveEnabled?: boolean; /** - * quarantinePolicyResponseProvideDefaults sets the appropriate defaults for QuarantinePolicyResponse + * The value of this property indicates whether the image built should be pushed to the registry or not. */ - export function quarantinePolicyResponseProvideDefaults(val: QuarantinePolicyResponse): QuarantinePolicyResponse { - return { - ...val, - status: (val.status) ?? "disabled", - }; - } - + isPushEnabled?: boolean; /** - * The login password for the container registry. + * The template that describes the repository and tag information for run log artifact. */ - export interface RegistryPasswordResponse { - /** - * The password name. - */ - name?: string; - /** - * The password value. - */ - value?: string; - } - + logTemplate?: string; /** - * The request that generated the event. + * The value of this property indicates whether the image cache is enabled or not. */ - export interface RequestResponse { - /** - * The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request. - */ - addr?: string; - /** - * The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests. - */ - host?: string; - /** - * The ID of the request that initiated the event. - */ - id?: string; - /** - * The request method that generated the event. - */ - method?: string; - /** - * The user agent header of the request. - */ - useragent?: string; - } - + noCache?: boolean; /** - * The retention policy for a container registry. + * The platform properties against which the run has to happen. */ - export interface RetentionPolicyResponse { - /** - * The number of days to retain an untagged manifest after which it gets purged. - */ - days?: number; - /** - * The timestamp when the policy was last updated. - */ - lastUpdatedTime: string; - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - } + platform: outputs.containerregistry.PlatformPropertiesResponse; /** - * retentionPolicyResponseProvideDefaults sets the appropriate defaults for RetentionPolicyResponse + * The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository. + * If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API. */ - export function retentionPolicyResponseProvideDefaults(val: RetentionPolicyResponse): RetentionPolicyResponse { - return { - ...val, - days: (val.days) ?? 7, - status: (val.status) ?? "disabled", - }; - } - + sourceLocation?: string; /** - * The SKU of a container registry. + * The name of the target build stage for the docker build. */ - export interface SkuResponse { - /** - * The SKU name of the container registry. Required for registry creation. - */ - name: string; - /** - * The SKU tier based on the SKU name. - */ - tier: string; - } - + target?: string; /** - * The soft delete policy for a container registry + * Run timeout in seconds. */ - export interface SoftDeletePolicyResponse { - /** - * The timestamp when the policy was last updated. - */ - lastUpdatedTime: string; - /** - * The number of days after which a soft-deleted item is permanently deleted. - */ - retentionDays?: number; - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - } + timeout?: number; /** - * softDeletePolicyResponseProvideDefaults sets the appropriate defaults for SoftDeletePolicyResponse + * The type of the run request. + * Expected value is 'DockerBuildRequest'. */ - export function softDeletePolicyResponseProvideDefaults(val: SoftDeletePolicyResponse): SoftDeletePolicyResponse { - return { - ...val, - retentionDays: (val.retentionDays) ?? 7, - status: (val.status) ?? "disabled", - }; - } + type: "DockerBuildRequest"; + } + /** + * dockerBuildRequestResponseProvideDefaults sets the appropriate defaults for DockerBuildRequestResponse + */ + export function dockerBuildRequestResponseProvideDefaults(val: DockerBuildRequestResponse): DockerBuildRequestResponse { + return { + ...val, + isArchiveEnabled: (val.isArchiveEnabled) ?? false, + isPushEnabled: (val.isPushEnabled) ?? true, + noCache: (val.noCache) ?? false, + timeout: (val.timeout) ?? 3600, + }; + } + /** + * The Docker build step. + */ + export interface DockerBuildStepResponse { /** - * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. + * The collection of override arguments to be used when executing this build step. */ - export interface SourceResponse { - /** - * The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port. - */ - addr?: string; - /** - * The running instance of an application. Changes after each restart. - */ - instanceID?: string; - } - + arguments?: outputs.containerregistry.ArgumentResponse[]; /** - * The status detail properties of the connected registry. + * List of base image dependencies for a step. */ - export interface StatusDetailPropertiesResponse { - /** - * The code of the status. - */ - code: string; - /** - * The correlation ID of the status. - */ - correlationId: string; - /** - * The description of the status. - */ - description: string; - /** - * The timestamp of the status. - */ - timestamp: string; - /** - * The component of the connected registry corresponding to the status. - */ - type: string; - } - + baseImageDependencies: outputs.containerregistry.BaseImageDependencyResponse[]; /** - * The status of an Azure resource at the time the operation was called. + * The type of the auto trigger for base image dependency updates. */ - export interface StatusResponse { - /** - * The short label for the status. - */ - displayStatus: string; - /** - * The detailed message for the status, including alerts and error messages. - */ - message: string; - /** - * The timestamp when the status was changed to the current value. - */ - timestamp: string; - } - + baseImageTrigger?: string; /** - * The sync properties of the connected registry with its parent. + * The repository branch name. */ - export interface SyncPropertiesResponse { - /** - * The gateway endpoint used by the connected registry to communicate with its parent. - */ - gatewayEndpoint: string; - /** - * The last time a sync occurred between the connected registry and its parent. - */ - lastSyncTime: string; - /** - * The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. - */ - messageTtl: string; - /** - * The cron expression indicating the schedule that the connected registry will sync with its parent. - */ - schedule?: string; - /** - * The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. - */ - syncWindow?: string; - /** - * The resource ID of the ACR token used to authenticate the connected registry to its parent during sync. - */ - tokenId: string; - } - + branch?: string; /** - * Metadata pertaining to creation and last modification of the resource. + * The custom arguments for building this build step. */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; - /** - * The type of identity that created the resource. - */ - createdByType?: string; - /** - * The timestamp of resource modification (UTC). - */ - lastModifiedAt?: string; - /** - * The identity that last modified the resource. - */ - lastModifiedBy?: string; - /** - * The type of identity that last modified the resource. - */ - lastModifiedByType?: string; - } - + buildArguments?: outputs.containerregistry.BuildArgumentResponse[]; /** - * The target of the event. + * The token (git PAT or SAS token of storage account blob) associated with the context for a step. */ - export interface TargetResponse { - /** - * The digest of the content, as defined by the Registry V2 HTTP API Specification. - */ - digest?: string; - /** - * The number of bytes of the content. Same as Size field. - */ - length?: number; - /** - * The MIME type of the referenced object. - */ - mediaType?: string; - /** - * The name of the artifact. - */ - name?: string; - /** - * The repository name. - */ - repository?: string; - /** - * The number of bytes of the content. Same as Length field. - */ - size?: number; - /** - * The tag name. - */ - tag?: string; - /** - * The direct URL to the content. - */ - url?: string; - /** - * The version of the artifact. - */ - version?: string; - } - + contextAccessToken?: string; /** - * The TLS certificate properties of the connected registry login server. + * The URL(absolute or relative) of the source context for the task step. */ - export interface TlsCertificatePropertiesResponse { - /** - * Indicates the location of the certificates. - */ - location: string; - /** - * The type of certificate location. - */ - type: string; - } - + contextPath?: string; /** - * The TLS properties of the connected registry login server. + * The Docker file path relative to the source context. */ - export interface TlsPropertiesResponse { - /** - * The certificate used to configure HTTPS for the login server. - */ - certificate: outputs.containerregistry.v20230101preview.TlsCertificatePropertiesResponse; - /** - * Indicates whether HTTPS is enabled for the login server. - */ - status: string; - } - + dockerFilePath: string; /** - * The properties of a certificate used for authenticating a token. + * The fully qualified image names including the repository and tag. */ - export interface TokenCertificateResponse { - /** - * Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token. - */ - encodedPemCertificate?: string; - /** - * The expiry datetime of the certificate. - */ - expiry?: string; - name?: string; - /** - * The thumbprint of the certificate. - */ - thumbprint?: string; - } - + imageNames?: string[]; /** - * The properties of the credentials that can be used for authenticating the token. + * The value of this property indicates whether the image built should be pushed to the registry or not. */ - export interface TokenCredentialsPropertiesResponse { - certificates?: outputs.containerregistry.v20230101preview.TokenCertificateResponse[]; - passwords?: outputs.containerregistry.v20230101preview.TokenPasswordResponse[]; - } - + isPushEnabled?: boolean; /** - * The password that will be used for authenticating the token of a container registry. + * The value of this property indicates whether the image cache is enabled or not. */ - export interface TokenPasswordResponse { - /** - * The creation datetime of the password. - */ - creationTime?: string; - /** - * The expiry datetime of the password. - */ - expiry?: string; - /** - * The password name "password1" or "password2" - */ - name?: string; - /** - * The password value. - */ - value: string; - } - + noCache?: boolean; /** - * The content trust policy for a container registry. + * The provisioning state of the build step. */ - export interface TrustPolicyResponse { - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - /** - * The type of trust policy. - */ - type?: string; - } + provisioningState?: string; /** - * trustPolicyResponseProvideDefaults sets the appropriate defaults for TrustPolicyResponse + * The name of the target build stage for the docker build. */ - export function trustPolicyResponseProvideDefaults(val: TrustPolicyResponse): TrustPolicyResponse { - return { - ...val, - status: (val.status) ?? "disabled", - type: (val.type) ?? "Notary", - }; - } - - export interface UserIdentityPropertiesResponse { - /** - * The client id of user assigned identity. - */ - clientId?: string; - /** - * The principal id of user assigned identity. - */ - principalId?: string; - } - + target?: string; + /** + * The type of the step. + * Expected value is 'Docker'. + */ + type: "Docker"; + } + /** + * dockerBuildStepResponseProvideDefaults sets the appropriate defaults for DockerBuildStepResponse + */ + export function dockerBuildStepResponseProvideDefaults(val: DockerBuildStepResponse): DockerBuildStepResponse { + return { + ...val, + isPushEnabled: (val.isPushEnabled) ?? true, + noCache: (val.noCache) ?? false, + }; } - export namespace v20230601preview { + /** + * The parameters for a quick task run request. + */ + export interface EncodedTaskRunRequestResponse { /** - * The activation properties of the connected registry. + * The machine configuration of the run agent. */ - export interface ActivationPropertiesResponse { - /** - * The activation status of the connected registry. - */ - status: string; - } - + agentConfiguration?: outputs.containerregistry.AgentPropertiesResponse; /** - * The agent that initiated the event. For most situations, this could be from the authorization context of the request. + * The dedicated agent pool for the run. */ - export interface ActorResponse { - /** - * The subject or username associated with the request context that generated the event. - */ - name?: string; - } - + agentPoolName?: string; /** - * The properties of the archive package source. + * The properties that describes a set of credentials that will be used when this run is invoked. */ - export interface ArchivePackageSourcePropertiesResponse { - /** - * The type of package source for a archive. - */ - type?: string; - /** - * The external repository url. - */ - url?: string; - } - + credentials?: outputs.containerregistry.CredentialsResponse; /** - * Authentication credential stored for an upstream. + * Base64 encoded value of the template/definition file content. */ - export interface AuthCredentialResponse { - /** - * This provides data pertaining to the health of the auth credential. - */ - credentialHealth: outputs.containerregistry.v20230601preview.CredentialHealthResponse; - /** - * The name of the credential. - */ - name?: string; - /** - * KeyVault Secret URI for accessing the password. - */ - passwordSecretIdentifier?: string; - /** - * KeyVault Secret URI for accessing the username. - */ - usernameSecretIdentifier?: string; - } - + encodedTaskContent: string; /** - * The policy for using ARM audience token for a container registry. + * Base64 encoded value of the parameters/values file content. */ - export interface AzureADAuthenticationAsArmPolicyResponse { - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - } + encodedValuesContent?: string; /** - * azureADAuthenticationAsArmPolicyResponseProvideDefaults sets the appropriate defaults for AzureADAuthenticationAsArmPolicyResponse + * The value that indicates whether archiving is enabled for the run or not. */ - export function azureADAuthenticationAsArmPolicyResponseProvideDefaults(val: AzureADAuthenticationAsArmPolicyResponse): AzureADAuthenticationAsArmPolicyResponse { - return { - ...val, - status: (val.status) ?? "enabled", - }; - } - + isArchiveEnabled?: boolean; /** - * The health of the auth credential. + * The template that describes the repository and tag information for run log artifact. */ - export interface CredentialHealthResponse { - /** - * Error code representing the health check error. - */ - errorCode?: string; - /** - * Descriptive message representing the health check error. - */ - errorMessage?: string; - /** - * The health status of credential. - */ - status?: string; - } - - export interface EncryptionPropertyResponse { - /** - * Key vault properties. - */ - keyVaultProperties?: outputs.containerregistry.v20230601preview.KeyVaultPropertiesResponse; - /** - * Indicates whether or not the encryption is enabled for container registry. - */ - status?: string; - } - + logTemplate?: string; /** - * The content of the event request message. + * The platform properties against which the run has to happen. */ - export interface EventContentResponse { - /** - * The action that encompasses the provided event. - */ - action?: string; - /** - * The agent that initiated the event. For most situations, this could be from the authorization context of the request. - */ - actor?: outputs.containerregistry.v20230601preview.ActorResponse; - /** - * The event ID. - */ - id?: string; - /** - * The request that generated the event. - */ - request?: outputs.containerregistry.v20230601preview.RequestResponse; - /** - * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. - */ - source?: outputs.containerregistry.v20230601preview.SourceResponse; - /** - * The target of the event. - */ - target?: outputs.containerregistry.v20230601preview.TargetResponse; - /** - * The time at which the event occurred. - */ - timestamp?: string; - } - + platform: outputs.containerregistry.PlatformPropertiesResponse; /** - * The event request message sent to the service URI. + * The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository. + * If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API. */ - export interface EventRequestMessageResponse { - /** - * The content of the event request message. - */ - content?: outputs.containerregistry.v20230601preview.EventContentResponse; - /** - * The headers of the event request message. - */ - headers?: {[key: string]: string}; - /** - * The HTTP method used to send the event request message. - */ - method?: string; - /** - * The URI used to send the event request message. - */ - requestUri?: string; - /** - * The HTTP message version. - */ - version?: string; - } - + sourceLocation?: string; /** - * The event for a webhook. + * Run timeout in seconds. */ - export interface EventResponse { - /** - * The event request message sent to the service URI. - */ - eventRequestMessage?: outputs.containerregistry.v20230601preview.EventRequestMessageResponse; - /** - * The event response message received from the service URI. - */ - eventResponseMessage?: outputs.containerregistry.v20230601preview.EventResponseMessageResponse; - /** - * The event ID. - */ - id?: string; - } - + timeout?: number; /** - * The event response message received from the service URI. + * The type of the run request. + * Expected value is 'EncodedTaskRunRequest'. */ - export interface EventResponseMessageResponse { - /** - * The content of the event response message. - */ - content?: string; - /** - * The headers of the event response message. - */ - headers?: {[key: string]: string}; - /** - * The reason phrase of the event response message. - */ - reasonPhrase?: string; - /** - * The status code of the event response message. - */ - statusCode?: string; - /** - * The HTTP message version. - */ - version?: string; - } - + type: "EncodedTaskRunRequest"; /** - * The properties of the export pipeline target. + * The collection of overridable values that can be passed when running a task. */ - export interface ExportPipelineTargetPropertiesResponse { - /** - * They key vault secret uri to obtain the target storage SAS token. - */ - keyVaultUri: string; - /** - * The type of target for the export pipeline. - */ - type?: string; - /** - * The target uri of the export pipeline. - * When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" - * When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName" - */ - uri?: string; - } + values?: outputs.containerregistry.SetValueResponse[]; + } + /** + * encodedTaskRunRequestResponseProvideDefaults sets the appropriate defaults for EncodedTaskRunRequestResponse + */ + export function encodedTaskRunRequestResponseProvideDefaults(val: EncodedTaskRunRequestResponse): EncodedTaskRunRequestResponse { + return { + ...val, + isArchiveEnabled: (val.isArchiveEnabled) ?? false, + timeout: (val.timeout) ?? 3600, + }; + } + /** + * The properties of a encoded task step. + */ + export interface EncodedTaskStepResponse { /** - * The export policy for a container registry. + * List of base image dependencies for a step. */ - export interface ExportPolicyResponse { - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - } + baseImageDependencies: outputs.containerregistry.BaseImageDependencyResponse[]; /** - * exportPolicyResponseProvideDefaults sets the appropriate defaults for ExportPolicyResponse + * The token (git PAT or SAS token of storage account blob) associated with the context for a step. */ - export function exportPolicyResponseProvideDefaults(val: ExportPolicyResponse): ExportPolicyResponse { - return { - ...val, - status: (val.status) ?? "enabled", - }; - } - + contextAccessToken?: string; /** - * IP rule with specific IP or IP range in CIDR format. + * The URL(absolute or relative) of the source context for the task step. */ - export interface IPRuleResponse { - /** - * The action of IP ACL rule. - */ - action?: string; - /** - * Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. - */ - iPAddressOrRange: string; - } + contextPath?: string; /** - * ipruleResponseProvideDefaults sets the appropriate defaults for IPRuleResponse + * Base64 encoded value of the template/definition file content. */ - export function ipruleResponseProvideDefaults(val: IPRuleResponse): IPRuleResponse { - return { - ...val, - action: (val.action) ?? "Allow", - }; - } - + encodedTaskContent: string; /** - * Managed identity for the resource. + * Base64 encoded value of the parameters/values file content. */ - export interface IdentityPropertiesResponse { - /** - * The principal ID of resource identity. - */ - principalId: string; - /** - * The tenant ID of resource. - */ - tenantId: string; - /** - * The identity type. - */ - type?: string; - /** - * The list of user identities associated with the resource. The user identity - * dictionary key references will be ARM resource ids in the form: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ - * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - */ - userAssignedIdentities?: {[key: string]: outputs.containerregistry.v20230601preview.UserIdentityPropertiesResponse}; - } - + encodedValuesContent?: string; /** - * The properties of the import pipeline source. + * The type of the step. + * Expected value is 'EncodedTask'. */ - export interface ImportPipelineSourcePropertiesResponse { - /** - * They key vault secret uri to obtain the source storage SAS token. - */ - keyVaultUri: string; - /** - * The type of source for the import pipeline. - */ - type?: string; - /** - * The source uri of the import pipeline. - * When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" - * When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName" - */ - uri?: string; - } + type: "EncodedTask"; /** - * importPipelineSourcePropertiesResponseProvideDefaults sets the appropriate defaults for ImportPipelineSourcePropertiesResponse + * The collection of overridable values that can be passed when running a task. */ - export function importPipelineSourcePropertiesResponseProvideDefaults(val: ImportPipelineSourcePropertiesResponse): ImportPipelineSourcePropertiesResponse { - return { - ...val, - type: (val.type) ?? "AzureStorageBlobContainer", - }; - } - - export interface KeyVaultPropertiesResponse { - /** - * The client id of the identity which will be used to access key vault. - */ - identity?: string; - /** - * Key vault uri to access the encryption key. - */ - keyIdentifier?: string; - /** - * Auto key rotation status for a CMK enabled registry. - */ - keyRotationEnabled: boolean; - /** - * Timestamp of the last successful key rotation. - */ - lastKeyRotationTimestamp: string; - /** - * The fully qualified key identifier that includes the version of the key that is actually used for encryption. - */ - versionedKeyIdentifier: string; - } + values?: outputs.containerregistry.SetValueResponse[]; + } + export interface EncryptionPropertyResponse { /** - * The logging properties of the connected registry. + * Key vault properties. */ - export interface LoggingPropertiesResponse { - /** - * Indicates whether audit logs are enabled on the connected registry. - */ - auditLogStatus?: string; - /** - * The verbosity of logs persisted on the connected registry. - */ - logLevel?: string; - } + keyVaultProperties?: outputs.containerregistry.KeyVaultPropertiesResponse; /** - * loggingPropertiesResponseProvideDefaults sets the appropriate defaults for LoggingPropertiesResponse + * Indicates whether or not the encryption is enabled for container registry. */ - export function loggingPropertiesResponseProvideDefaults(val: LoggingPropertiesResponse): LoggingPropertiesResponse { - return { - ...val, - auditLogStatus: (val.auditLogStatus) ?? "Disabled", - logLevel: (val.logLevel) ?? "Information", - }; - } + status?: string; + } + /** + * The content of the event request message. + */ + export interface EventContentResponse { /** - * The login server properties of the connected registry. + * The action that encompasses the provided event. */ - export interface LoginServerPropertiesResponse { - /** - * The host of the connected registry. Can be FQDN or IP. - */ - host: string; - /** - * The TLS properties of the connected registry login server. - */ - tls: outputs.containerregistry.v20230601preview.TlsPropertiesResponse; - } - + action?: string; /** - * The network rule set for a container registry. + * The agent that initiated the event. For most situations, this could be from the authorization context of the request. */ - export interface NetworkRuleSetResponse { - /** - * The default action of allow or deny when no other rules match. - */ - defaultAction: string; - /** - * The IP ACL rules. - */ - ipRules?: outputs.containerregistry.v20230601preview.IPRuleResponse[]; - } + actor?: outputs.containerregistry.ActorResponse; /** - * networkRuleSetResponseProvideDefaults sets the appropriate defaults for NetworkRuleSetResponse + * The event ID. */ - export function networkRuleSetResponseProvideDefaults(val: NetworkRuleSetResponse): NetworkRuleSetResponse { - return { - ...val, - defaultAction: (val.defaultAction) ?? "Allow", - }; - } - + id?: string; /** - * The properties of the connected registry parent. + * The request that generated the event. */ - export interface ParentPropertiesResponse { - /** - * The resource ID of the parent to which the connected registry will be associated. - */ - id?: string; - /** - * The sync properties of the connected registry with its parent. - */ - syncProperties: outputs.containerregistry.v20230601preview.SyncPropertiesResponse; - } - + request?: outputs.containerregistry.RequestResponse; /** - * The request properties provided for a pipeline run. + * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. */ - export interface PipelineRunRequestResponse { - /** - * List of source artifacts to be transferred by the pipeline. - * Specify an image by repository ('hello-world'). This will use the 'latest' tag. - * Specify an image by tag ('hello-world:latest'). - * Specify an image by sha256-based manifest digest ('hello-world@sha256:abc123'). - */ - artifacts?: string[]; - /** - * The digest of the tar used to transfer the artifacts. - */ - catalogDigest?: string; - /** - * The resource ID of the pipeline to run. - */ - pipelineResourceId?: string; - /** - * The source properties of the pipeline run. - */ - source?: outputs.containerregistry.v20230601preview.PipelineRunSourcePropertiesResponse; - /** - * The target properties of the pipeline run. - */ - target?: outputs.containerregistry.v20230601preview.PipelineRunTargetPropertiesResponse; - } + source?: outputs.containerregistry.SourceResponse; /** - * pipelineRunRequestResponseProvideDefaults sets the appropriate defaults for PipelineRunRequestResponse + * The target of the event. */ - export function pipelineRunRequestResponseProvideDefaults(val: PipelineRunRequestResponse): PipelineRunRequestResponse { - return { - ...val, - source: (val.source ? outputs.containerregistry.v20230601preview.pipelineRunSourcePropertiesResponseProvideDefaults(val.source) : undefined), - target: (val.target ? outputs.containerregistry.v20230601preview.pipelineRunTargetPropertiesResponseProvideDefaults(val.target) : undefined), - }; - } + target?: outputs.containerregistry.TargetResponse; + /** + * The time at which the event occurred. + */ + timestamp?: string; + } + /** + * The event request message sent to the service URI. + */ + export interface EventRequestMessageResponse { /** - * The response properties returned for a pipeline run. + * The content of the event request message. */ - export interface PipelineRunResponseResponse { - /** - * The digest of the tar used to transfer the artifacts. - */ - catalogDigest?: string; - /** - * The time the pipeline run finished. - */ - finishTime?: string; - /** - * The artifacts imported in the pipeline run. - */ - importedArtifacts?: string[]; - /** - * The detailed error message for the pipeline run in the case of failure. - */ - pipelineRunErrorMessage?: string; - /** - * The current progress of the copy operation. - */ - progress?: outputs.containerregistry.v20230601preview.ProgressPropertiesResponse; - /** - * The source of the pipeline run. - */ - source?: outputs.containerregistry.v20230601preview.ImportPipelineSourcePropertiesResponse; - /** - * The time the pipeline run started. - */ - startTime?: string; - /** - * The current status of the pipeline run. - */ - status?: string; - /** - * The target of the pipeline run. - */ - target?: outputs.containerregistry.v20230601preview.ExportPipelineTargetPropertiesResponse; - /** - * The trigger that caused the pipeline run. - */ - trigger?: outputs.containerregistry.v20230601preview.PipelineTriggerDescriptorResponse; - } + content?: outputs.containerregistry.EventContentResponse; /** - * pipelineRunResponseResponseProvideDefaults sets the appropriate defaults for PipelineRunResponseResponse + * The headers of the event request message. */ - export function pipelineRunResponseResponseProvideDefaults(val: PipelineRunResponseResponse): PipelineRunResponseResponse { - return { - ...val, - source: (val.source ? outputs.containerregistry.v20230601preview.importPipelineSourcePropertiesResponseProvideDefaults(val.source) : undefined), - }; - } - - export interface PipelineRunSourcePropertiesResponse { - /** - * The name of the source. - */ - name?: string; - /** - * The type of the source. - */ - type?: string; - } + headers?: {[key: string]: string}; /** - * pipelineRunSourcePropertiesResponseProvideDefaults sets the appropriate defaults for PipelineRunSourcePropertiesResponse + * The HTTP method used to send the event request message. */ - export function pipelineRunSourcePropertiesResponseProvideDefaults(val: PipelineRunSourcePropertiesResponse): PipelineRunSourcePropertiesResponse { - return { - ...val, - type: (val.type) ?? "AzureStorageBlob", - }; - } - - export interface PipelineRunTargetPropertiesResponse { - /** - * The name of the target. - */ - name?: string; - /** - * The type of the target. - */ - type?: string; - } + method?: string; /** - * pipelineRunTargetPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineRunTargetPropertiesResponse + * The URI used to send the event request message. */ - export function pipelineRunTargetPropertiesResponseProvideDefaults(val: PipelineRunTargetPropertiesResponse): PipelineRunTargetPropertiesResponse { - return { - ...val, - type: (val.type) ?? "AzureStorageBlob", - }; - } - - export interface PipelineSourceTriggerDescriptorResponse { - /** - * The timestamp when the source update happened. - */ - timestamp?: string; - } - - export interface PipelineSourceTriggerPropertiesResponse { - /** - * The current status of the source trigger. - */ - status: string; - } + requestUri?: string; /** - * pipelineSourceTriggerPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineSourceTriggerPropertiesResponse + * The HTTP message version. */ - export function pipelineSourceTriggerPropertiesResponseProvideDefaults(val: PipelineSourceTriggerPropertiesResponse): PipelineSourceTriggerPropertiesResponse { - return { - ...val, - status: (val.status) ?? "Enabled", - }; - } - - export interface PipelineTriggerDescriptorResponse { - /** - * The source trigger that caused the pipeline run. - */ - sourceTrigger?: outputs.containerregistry.v20230601preview.PipelineSourceTriggerDescriptorResponse; - } + version?: string; + } - export interface PipelineTriggerPropertiesResponse { - /** - * The source trigger properties of the pipeline. - */ - sourceTrigger?: outputs.containerregistry.v20230601preview.PipelineSourceTriggerPropertiesResponse; - } + /** + * The event for a webhook. + */ + export interface EventResponse { /** - * pipelineTriggerPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineTriggerPropertiesResponse + * The event request message sent to the service URI. */ - export function pipelineTriggerPropertiesResponseProvideDefaults(val: PipelineTriggerPropertiesResponse): PipelineTriggerPropertiesResponse { - return { - ...val, - sourceTrigger: (val.sourceTrigger ? outputs.containerregistry.v20230601preview.pipelineSourceTriggerPropertiesResponseProvideDefaults(val.sourceTrigger) : undefined), - }; - } - + eventRequestMessage?: outputs.containerregistry.EventRequestMessageResponse; /** - * The policies for a container registry. + * The event response message received from the service URI. */ - export interface PoliciesResponse { - /** - * The policy for using ARM audience token for a container registry. - */ - azureADAuthenticationAsArmPolicy?: outputs.containerregistry.v20230601preview.AzureADAuthenticationAsArmPolicyResponse; - /** - * The export policy for a container registry. - */ - exportPolicy?: outputs.containerregistry.v20230601preview.ExportPolicyResponse; - /** - * The quarantine policy for a container registry. - */ - quarantinePolicy?: outputs.containerregistry.v20230601preview.QuarantinePolicyResponse; - /** - * The retention policy for a container registry. - */ - retentionPolicy?: outputs.containerregistry.v20230601preview.RetentionPolicyResponse; - /** - * The soft delete policy for a container registry. - */ - softDeletePolicy?: outputs.containerregistry.v20230601preview.SoftDeletePolicyResponse; - /** - * The content trust policy for a container registry. - */ - trustPolicy?: outputs.containerregistry.v20230601preview.TrustPolicyResponse; - } + eventResponseMessage?: outputs.containerregistry.EventResponseMessageResponse; /** - * policiesResponseProvideDefaults sets the appropriate defaults for PoliciesResponse + * The event ID. */ - export function policiesResponseProvideDefaults(val: PoliciesResponse): PoliciesResponse { - return { - ...val, - azureADAuthenticationAsArmPolicy: (val.azureADAuthenticationAsArmPolicy ? outputs.containerregistry.v20230601preview.azureADAuthenticationAsArmPolicyResponseProvideDefaults(val.azureADAuthenticationAsArmPolicy) : undefined), - exportPolicy: (val.exportPolicy ? outputs.containerregistry.v20230601preview.exportPolicyResponseProvideDefaults(val.exportPolicy) : undefined), - quarantinePolicy: (val.quarantinePolicy ? outputs.containerregistry.v20230601preview.quarantinePolicyResponseProvideDefaults(val.quarantinePolicy) : undefined), - retentionPolicy: (val.retentionPolicy ? outputs.containerregistry.v20230601preview.retentionPolicyResponseProvideDefaults(val.retentionPolicy) : undefined), - softDeletePolicy: (val.softDeletePolicy ? outputs.containerregistry.v20230601preview.softDeletePolicyResponseProvideDefaults(val.softDeletePolicy) : undefined), - trustPolicy: (val.trustPolicy ? outputs.containerregistry.v20230601preview.trustPolicyResponseProvideDefaults(val.trustPolicy) : undefined), - }; - } + id?: string; + } + /** + * The event response message received from the service URI. + */ + export interface EventResponseMessageResponse { /** - * An object that represents a private endpoint connection for a container registry. + * The content of the event response message. */ - export interface PrivateEndpointConnectionResponse { - /** - * The resource ID. - */ - id: string; - /** - * The name of the resource. - */ - name: string; - /** - * The resource of private endpoint. - */ - privateEndpoint?: outputs.containerregistry.v20230601preview.PrivateEndpointResponse; - /** - * A collection of information about the state of the connection between service consumer and provider. - */ - privateLinkServiceConnectionState?: outputs.containerregistry.v20230601preview.PrivateLinkServiceConnectionStateResponse; - /** - * The provisioning state of private endpoint connection resource. - */ - provisioningState: string; - /** - * Metadata pertaining to creation and last modification of the resource. - */ - systemData: outputs.containerregistry.v20230601preview.SystemDataResponse; - /** - * The type of the resource. - */ - type: string; - } - + content?: string; /** - * The Private Endpoint resource. + * The headers of the event response message. */ - export interface PrivateEndpointResponse { - /** - * This is private endpoint resource created with Microsoft.Network resource provider. - */ - id?: string; - } - + headers?: {[key: string]: string}; /** - * The state of a private link service connection. + * The reason phrase of the event response message. */ - export interface PrivateLinkServiceConnectionStateResponse { - /** - * A message indicating if changes on the service provider require any updates on the consumer. - */ - actionsRequired?: string; - /** - * The description for connection status. For example if connection is rejected it can indicate reason for rejection. - */ - description?: string; - /** - * The private link service connection status. - */ - status?: string; - } - - export interface ProgressPropertiesResponse { - /** - * The percentage complete of the copy operation. - */ - percentage?: string; - } - + reasonPhrase?: string; /** - * The quarantine policy for a container registry. + * The status code of the event response message. */ - export interface QuarantinePolicyResponse { - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - } + statusCode?: string; /** - * quarantinePolicyResponseProvideDefaults sets the appropriate defaults for QuarantinePolicyResponse + * The HTTP message version. */ - export function quarantinePolicyResponseProvideDefaults(val: QuarantinePolicyResponse): QuarantinePolicyResponse { - return { - ...val, - status: (val.status) ?? "disabled", - }; - } + version?: string; + } + /** + * The properties of the export pipeline target. + */ + export interface ExportPipelineTargetPropertiesResponse { /** - * The login password for the container registry. + * They key vault secret uri to obtain the target storage SAS token. */ - export interface RegistryPasswordResponse { - /** - * The password name. - */ - name?: string; - /** - * The password value. - */ - value?: string; - } + keyVaultUri: string; + /** + * The type of target for the export pipeline. + */ + type?: string; + /** + * The target uri of the export pipeline. + * When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" + * When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName" + */ + uri?: string; + } + /** + * The export policy for a container registry. + */ + export interface ExportPolicyResponse { /** - * The request that generated the event. + * The value that indicates whether the policy is enabled or not. */ - export interface RequestResponse { - /** - * The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request. - */ - addr?: string; - /** - * The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests. - */ - host?: string; - /** - * The ID of the request that initiated the event. - */ - id?: string; - /** - * The request method that generated the event. - */ - method?: string; - /** - * The user agent header of the request. - */ - useragent?: string; - } + status?: string; + } + /** + * exportPolicyResponseProvideDefaults sets the appropriate defaults for ExportPolicyResponse + */ + export function exportPolicyResponseProvideDefaults(val: ExportPolicyResponse): ExportPolicyResponse { + return { + ...val, + status: (val.status) ?? "enabled", + }; + } + /** + * The request parameters for a scheduling run against a task file. + */ + export interface FileTaskRunRequestResponse { /** - * The retention policy for a container registry. + * The machine configuration of the run agent. */ - export interface RetentionPolicyResponse { - /** - * The number of days to retain an untagged manifest after which it gets purged. - */ - days?: number; - /** - * The timestamp when the policy was last updated. - */ - lastUpdatedTime: string; - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - } + agentConfiguration?: outputs.containerregistry.AgentPropertiesResponse; /** - * retentionPolicyResponseProvideDefaults sets the appropriate defaults for RetentionPolicyResponse + * The dedicated agent pool for the run. */ - export function retentionPolicyResponseProvideDefaults(val: RetentionPolicyResponse): RetentionPolicyResponse { - return { - ...val, - days: (val.days) ?? 7, - status: (val.status) ?? "disabled", - }; - } - + agentPoolName?: string; /** - * The SKU of a container registry. + * The properties that describes a set of credentials that will be used when this run is invoked. */ - export interface SkuResponse { - /** - * The SKU name of the container registry. Required for registry creation. - */ - name: string; - /** - * The SKU tier based on the SKU name. - */ - tier: string; - } - + credentials?: outputs.containerregistry.CredentialsResponse; /** - * The soft delete policy for a container registry + * The value that indicates whether archiving is enabled for the run or not. */ - export interface SoftDeletePolicyResponse { - /** - * The timestamp when the policy was last updated. - */ - lastUpdatedTime: string; - /** - * The number of days after which a soft-deleted item is permanently deleted. - */ - retentionDays?: number; - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - } + isArchiveEnabled?: boolean; /** - * softDeletePolicyResponseProvideDefaults sets the appropriate defaults for SoftDeletePolicyResponse + * The template that describes the repository and tag information for run log artifact. */ - export function softDeletePolicyResponseProvideDefaults(val: SoftDeletePolicyResponse): SoftDeletePolicyResponse { - return { - ...val, - retentionDays: (val.retentionDays) ?? 7, - status: (val.status) ?? "disabled", - }; - } - + logTemplate?: string; /** - * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. + * The platform properties against which the run has to happen. */ - export interface SourceResponse { - /** - * The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port. - */ - addr?: string; - /** - * The running instance of an application. Changes after each restart. - */ - instanceID?: string; - } - + platform: outputs.containerregistry.PlatformPropertiesResponse; /** - * The status detail properties of the connected registry. + * The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository. + * If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API. */ - export interface StatusDetailPropertiesResponse { - /** - * The code of the status. - */ - code: string; - /** - * The correlation ID of the status. - */ - correlationId: string; - /** - * The description of the status. - */ - description: string; - /** - * The timestamp of the status. - */ - timestamp: string; - /** - * The component of the connected registry corresponding to the status. - */ - type: string; - } - + sourceLocation?: string; /** - * The status of an Azure resource at the time the operation was called. + * The template/definition file path relative to the source. */ - export interface StatusResponse { - /** - * The short label for the status. - */ - displayStatus: string; - /** - * The detailed message for the status, including alerts and error messages. - */ - message: string; - /** - * The timestamp when the status was changed to the current value. - */ - timestamp: string; - } - + taskFilePath: string; /** - * The sync properties of the connected registry with its parent. + * Run timeout in seconds. */ - export interface SyncPropertiesResponse { - /** - * The gateway endpoint used by the connected registry to communicate with its parent. - */ - gatewayEndpoint: string; - /** - * The last time a sync occurred between the connected registry and its parent. - */ - lastSyncTime: string; - /** - * The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. - */ - messageTtl: string; - /** - * The cron expression indicating the schedule that the connected registry will sync with its parent. - */ - schedule?: string; - /** - * The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. - */ - syncWindow?: string; - /** - * The resource ID of the ACR token used to authenticate the connected registry to its parent during sync. - */ - tokenId: string; - } - + timeout?: number; /** - * Metadata pertaining to creation and last modification of the resource. + * The type of the run request. + * Expected value is 'FileTaskRunRequest'. */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; - /** - * The type of identity that created the resource. - */ - createdByType?: string; - /** - * The timestamp of resource modification (UTC). - */ - lastModifiedAt?: string; - /** - * The identity that last modified the resource. - */ - lastModifiedBy?: string; - /** - * The type of identity that last modified the resource. - */ - lastModifiedByType?: string; - } - + type: "FileTaskRunRequest"; /** - * The target of the event. + * The collection of overridable values that can be passed when running a task. */ - export interface TargetResponse { - /** - * The digest of the content, as defined by the Registry V2 HTTP API Specification. - */ - digest?: string; - /** - * The number of bytes of the content. Same as Size field. - */ - length?: number; - /** - * The MIME type of the referenced object. - */ - mediaType?: string; - /** - * The name of the artifact. - */ - name?: string; - /** - * The repository name. - */ - repository?: string; - /** - * The number of bytes of the content. Same as Length field. - */ - size?: number; - /** - * The tag name. - */ - tag?: string; - /** - * The direct URL to the content. - */ - url?: string; - /** - * The version of the artifact. - */ - version?: string; - } - + values?: outputs.containerregistry.SetValueResponse[]; /** - * The TLS certificate properties of the connected registry login server. + * The values/parameters file path relative to the source. */ - export interface TlsCertificatePropertiesResponse { - /** - * Indicates the location of the certificates. - */ - location: string; - /** - * The type of certificate location. - */ - type: string; - } + valuesFilePath?: string; + } + /** + * fileTaskRunRequestResponseProvideDefaults sets the appropriate defaults for FileTaskRunRequestResponse + */ + export function fileTaskRunRequestResponseProvideDefaults(val: FileTaskRunRequestResponse): FileTaskRunRequestResponse { + return { + ...val, + isArchiveEnabled: (val.isArchiveEnabled) ?? false, + timeout: (val.timeout) ?? 3600, + }; + } + /** + * The properties of a task step. + */ + export interface FileTaskStepResponse { /** - * The TLS properties of the connected registry login server. + * List of base image dependencies for a step. */ - export interface TlsPropertiesResponse { - /** - * The certificate used to configure HTTPS for the login server. - */ - certificate: outputs.containerregistry.v20230601preview.TlsCertificatePropertiesResponse; - /** - * Indicates whether HTTPS is enabled for the login server. - */ - status: string; - } - + baseImageDependencies: outputs.containerregistry.BaseImageDependencyResponse[]; /** - * The properties of a certificate used for authenticating a token. + * The token (git PAT or SAS token of storage account blob) associated with the context for a step. */ - export interface TokenCertificateResponse { - /** - * Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token. - */ - encodedPemCertificate?: string; - /** - * The expiry datetime of the certificate. - */ - expiry?: string; - name?: string; - /** - * The thumbprint of the certificate. - */ - thumbprint?: string; - } - + contextAccessToken?: string; /** - * The properties of the credentials that can be used for authenticating the token. + * The URL(absolute or relative) of the source context for the task step. */ - export interface TokenCredentialsPropertiesResponse { - certificates?: outputs.containerregistry.v20230601preview.TokenCertificateResponse[]; - passwords?: outputs.containerregistry.v20230601preview.TokenPasswordResponse[]; - } - + contextPath?: string; /** - * The password that will be used for authenticating the token of a container registry. + * The task template/definition file path relative to the source context. */ - export interface TokenPasswordResponse { - /** - * The creation datetime of the password. - */ - creationTime?: string; - /** - * The expiry datetime of the password. - */ - expiry?: string; - /** - * The password name "password1" or "password2" - */ - name?: string; - /** - * The password value. - */ - value: string; - } - + taskFilePath: string; /** - * The content trust policy for a container registry. + * The type of the step. + * Expected value is 'FileTask'. */ - export interface TrustPolicyResponse { - /** - * The value that indicates whether the policy is enabled or not. - */ - status?: string; - /** - * The type of trust policy. - */ - type?: string; - } + type: "FileTask"; /** - * trustPolicyResponseProvideDefaults sets the appropriate defaults for TrustPolicyResponse + * The collection of overridable values that can be passed when running a task. */ - export function trustPolicyResponseProvideDefaults(val: TrustPolicyResponse): TrustPolicyResponse { - return { - ...val, - status: (val.status) ?? "disabled", - type: (val.type) ?? "Notary", - }; - } - - export interface UserIdentityPropertiesResponse { - /** - * The client id of user assigned identity. - */ - clientId: string; - /** - * The principal id of user assigned identity. - */ - principalId: string; - } - - } -} - -export namespace containerservice { - /** - * Settings for upgrading an agentpool - */ - export interface AgentPoolUpgradeSettingsResponse { + values?: outputs.containerregistry.SetValueResponse[]; /** - * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + * The task values/parameters file path relative to the source context. */ - maxSurge?: string; + valuesFilePath?: string; } /** - * Azure Key Vault key management service settings for the security profile. + * IP rule with specific IP or IP range in CIDR format. */ - export interface AzureKeyVaultKmsResponse { - /** - * Whether to enable Azure Key Vault key management service. The default is false. - */ - enabled?: boolean; - /** - * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. - */ - keyId?: string; + export interface IPRuleResponse { /** - * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + * The action of IP ACL rule. */ - keyVaultNetworkAccess?: string; + action?: string; /** - * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + * Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. */ - keyVaultResourceId?: string; + iPAddressOrRange: string; } /** - * azureKeyVaultKmsResponseProvideDefaults sets the appropriate defaults for AzureKeyVaultKmsResponse + * ipruleResponseProvideDefaults sets the appropriate defaults for IPRuleResponse */ - export function azureKeyVaultKmsResponseProvideDefaults(val: AzureKeyVaultKmsResponse): AzureKeyVaultKmsResponse { + export function ipruleResponseProvideDefaults(val: IPRuleResponse): IPRuleResponse { return { ...val, - keyVaultNetworkAccess: (val.keyVaultNetworkAccess) ?? "Public", + action: (val.action) ?? "Allow", }; } /** - * Profile for Linux VMs in the container service cluster. + * Managed identity for the resource. */ - export interface ContainerServiceLinuxProfileResponse { + export interface IdentityPropertiesResponse { /** - * The administrator username to use for Linux VMs. + * The principal ID of resource identity. */ - adminUsername: string; + principalId?: string; /** - * The SSH configuration for Linux-based VMs running on Azure. + * The tenant ID of resource. */ - ssh: outputs.containerservice.ContainerServiceSshConfigurationResponse; + tenantId?: string; + /** + * The identity type. + */ + type?: string; + /** + * The list of user identities associated with the resource. The user identity + * dictionary key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: {[key: string]: outputs.containerregistry.UserIdentityPropertiesResponse}; } /** - * Profile of network configuration. + * Properties for a registry image. */ - export interface ContainerServiceNetworkProfileResponse { + export interface ImageDescriptorResponse { /** - * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + * The sha256-based digest of the image manifest. */ - dnsServiceIP?: string; + digest?: string; /** - * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + * The registry login server. */ - ipFamilies?: string[]; + registry?: string; /** - * Profile of the cluster load balancer. + * The repository name. */ - loadBalancerProfile?: outputs.containerservice.ManagedClusterLoadBalancerProfileResponse; + repository?: string; /** - * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + * The tag name. */ - loadBalancerSku?: string; + tag?: string; + } + + /** + * The image update trigger that caused a build. + */ + export interface ImageUpdateTriggerResponse { /** - * Profile of the cluster NAT gateway. + * The unique ID of the trigger. */ - natGatewayProfile?: outputs.containerservice.ManagedClusterNATGatewayProfileResponse; + id?: string; /** - * Network dataplane used in the Kubernetes cluster. + * The list of image updates that caused the build. */ - networkDataplane?: string; + images?: outputs.containerregistry.ImageDescriptorResponse[]; /** - * This cannot be specified if networkPlugin is anything other than 'azure'. + * The timestamp when the image update happened. */ - networkMode?: string; + timestamp?: string; + } + + /** + * The properties of the import pipeline source. + */ + export interface ImportPipelineSourcePropertiesResponse { /** - * Network plugin used for building the Kubernetes network. + * They key vault secret uri to obtain the source storage SAS token. */ - networkPlugin?: string; + keyVaultUri: string; /** - * The mode the network plugin should use. + * The type of source for the import pipeline. */ - networkPluginMode?: string; + type?: string; /** - * Network policy used for building the Kubernetes network. + * The source uri of the import pipeline. + * When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" + * When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName" */ - networkPolicy?: string; + uri?: string; + } + /** + * importPipelineSourcePropertiesResponseProvideDefaults sets the appropriate defaults for ImportPipelineSourcePropertiesResponse + */ + export function importPipelineSourcePropertiesResponseProvideDefaults(val: ImportPipelineSourcePropertiesResponse): ImportPipelineSourcePropertiesResponse { + return { + ...val, + type: (val.type) ?? "AzureStorageBlobContainer", + }; + } + + export interface KeyVaultPropertiesResponse { /** - * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + * The client id of the identity which will be used to access key vault. */ - outboundType?: string; + identity?: string; /** - * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + * Key vault uri to access the encryption key. */ - podCidr?: string; + keyIdentifier?: string; /** - * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + * Auto key rotation status for a CMK enabled registry. */ - podCidrs?: string[]; + keyRotationEnabled: boolean; /** - * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + * Timestamp of the last successful key rotation. */ - serviceCidr?: string; + lastKeyRotationTimestamp: string; /** - * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + * The fully qualified key identifier that includes the version of the key that is actually used for encryption. */ - serviceCidrs?: string[]; - } - /** - * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse - */ - export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { - return { - ...val, - dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), - natGatewayProfile: (val.natGatewayProfile ? outputs.containerservice.managedClusterNATGatewayProfileResponseProvideDefaults(val.natGatewayProfile) : undefined), - networkPlugin: (val.networkPlugin) ?? "kubenet", - outboundType: (val.outboundType) ?? "loadBalancer", - podCidr: (val.podCidr) ?? "10.244.0.0/16", - serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", - }; + versionedKeyIdentifier: string; } /** - * SSH configuration for Linux-based VMs running on Azure. + * The logging properties of the connected registry. */ - export interface ContainerServiceSshConfigurationResponse { + export interface LoggingPropertiesResponse { /** - * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + * Indicates whether audit logs are enabled on the connected registry. */ - publicKeys: outputs.containerservice.ContainerServiceSshPublicKeyResponse[]; - } - - /** - * Contains information about SSH certificate public key data. - */ - export interface ContainerServiceSshPublicKeyResponse { + auditLogStatus?: string; /** - * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + * The verbosity of logs persisted on the connected registry. */ - keyData: string; + logLevel?: string; } - /** - * Data used when creating a target resource from a source resource. + * loggingPropertiesResponseProvideDefaults sets the appropriate defaults for LoggingPropertiesResponse */ - export interface CreationDataResponse { - /** - * This is the ARM ID of the source object to be used to create the target object. - */ - sourceResourceId?: string; + export function loggingPropertiesResponseProvideDefaults(val: LoggingPropertiesResponse): LoggingPropertiesResponse { + return { + ...val, + auditLogStatus: (val.auditLogStatus) ?? "Disabled", + logLevel: (val.logLevel) ?? "Information", + }; } /** - * The credential result response. + * The login server properties of the connected registry. */ - export interface CredentialResultResponse { + export interface LoginServerPropertiesResponse { /** - * The name of the credential. + * The host of the connected registry. Can be FQDN or IP. */ - name: string; + host: string; /** - * Base64-encoded Kubernetes configuration file. + * The TLS properties of the connected registry login server. */ - value: string; + tls: outputs.containerregistry.TlsPropertiesResponse; } /** - * The resource management error additional info. + * The network rule set for a container registry. */ - export interface ErrorAdditionalInfoResponse { + export interface NetworkRuleSetResponse { /** - * The additional info. + * The default action of allow or deny when no other rules match. */ - info: any; + defaultAction: string; /** - * The additional info type. + * The IP ACL rules. */ - type: string; + ipRules?: outputs.containerregistry.IPRuleResponse[]; } - /** - * The error detail. + * networkRuleSetResponseProvideDefaults sets the appropriate defaults for NetworkRuleSetResponse */ - export interface ErrorDetailResponse { + export function networkRuleSetResponseProvideDefaults(val: NetworkRuleSetResponse): NetworkRuleSetResponse { + return { + ...val, + defaultAction: (val.defaultAction) ?? "Allow", + }; + } + + export interface OverrideTaskStepPropertiesResponse { /** - * The error additional info. + * Gets or sets the collection of override arguments to be used when + * executing a build step. */ - additionalInfo: outputs.containerservice.ErrorAdditionalInfoResponse[]; + arguments?: outputs.containerregistry.ArgumentResponse[]; /** - * The error code. + * The source context against which run has to be queued. */ - code: string; + contextPath?: string; /** - * The error details. + * The file against which run has to be queued. */ - details: outputs.containerservice.ErrorDetailResponse[]; + file?: string; /** - * The error message. + * The name of the target build stage for the docker build. */ - message: string; + target?: string; /** - * The error target. + * Base64 encoded update trigger token that will be attached with the base image trigger webhook. */ - target: string; + updateTriggerToken?: string; + /** + * The collection of overridable values that can be passed when running a Task. + */ + values?: outputs.containerregistry.SetValueResponse[]; } /** - * The complex type of the extended location. + * The properties of the connected registry parent. */ - export interface ExtendedLocationResponse { + export interface ParentPropertiesResponse { /** - * The name of the extended location. + * The resource ID of the parent to which the connected registry will be associated. */ - name?: string; + id?: string; /** - * The type of the extended location. + * The sync properties of the connected registry with its parent. */ - type?: string; + syncProperties: outputs.containerregistry.SyncPropertiesResponse; } /** - * One credential result item. + * The request properties provided for a pipeline run. */ - export interface FleetCredentialResultResponse { + export interface PipelineRunRequestResponse { /** - * The name of the credential. + * List of source artifacts to be transferred by the pipeline. + * Specify an image by repository ('hello-world'). This will use the 'latest' tag. + * Specify an image by tag ('hello-world:latest'). + * Specify an image by sha256-based manifest digest ('hello-world@sha256:abc123'). */ - name: string; + artifacts?: string[]; /** - * Base64-encoded Kubernetes configuration file. + * The digest of the tar used to transfer the artifacts. */ - value: string; - } - - /** - * The FleetHubProfile configures the fleet hub. - */ - export interface FleetHubProfileResponse { + catalogDigest?: string; /** - * DNS prefix used to create the FQDN for the Fleet hub. + * The resource ID of the pipeline to run. */ - dnsPrefix?: string; + pipelineResourceId?: string; /** - * The FQDN of the Fleet hub. + * The source properties of the pipeline run. */ - fqdn: string; + source?: outputs.containerregistry.PipelineRunSourcePropertiesResponse; /** - * The Kubernetes version of the Fleet hub. + * The target properties of the pipeline run. */ - kubernetesVersion: string; + target?: outputs.containerregistry.PipelineRunTargetPropertiesResponse; + } + /** + * pipelineRunRequestResponseProvideDefaults sets the appropriate defaults for PipelineRunRequestResponse + */ + export function pipelineRunRequestResponseProvideDefaults(val: PipelineRunRequestResponse): PipelineRunRequestResponse { + return { + ...val, + source: (val.source ? outputs.containerregistry.pipelineRunSourcePropertiesResponseProvideDefaults(val.source) : undefined), + target: (val.target ? outputs.containerregistry.pipelineRunTargetPropertiesResponseProvideDefaults(val.target) : undefined), + }; } /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * The response properties returned for a pipeline run. */ - export interface KubeletConfigResponse { - /** - * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - */ - allowedUnsafeSysctls?: string[]; + export interface PipelineRunResponseResponse { /** - * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + * The digest of the tar used to transfer the artifacts. */ - containerLogMaxFiles?: number; + catalogDigest?: string; /** - * The maximum size (e.g. 10Mi) of container log file before it is rotated. + * The time the pipeline run finished. */ - containerLogMaxSizeMB?: number; + finishTime?: string; /** - * The default is true. + * The artifacts imported in the pipeline run. */ - cpuCfsQuota?: boolean; + importedArtifacts?: string[]; /** - * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + * The detailed error message for the pipeline run in the case of failure. */ - cpuCfsQuotaPeriod?: string; + pipelineRunErrorMessage?: string; /** - * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + * The current progress of the copy operation. */ - cpuManagerPolicy?: string; + progress?: outputs.containerregistry.ProgressPropertiesResponse; /** - * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + * The source of the pipeline run. */ - failSwapOn?: boolean; + source?: outputs.containerregistry.ImportPipelineSourcePropertiesResponse; /** - * To disable image garbage collection, set to 100. The default is 85% + * The time the pipeline run started. */ - imageGcHighThreshold?: number; + startTime?: string; /** - * This cannot be set higher than imageGcHighThreshold. The default is 80% + * The current status of the pipeline run. */ - imageGcLowThreshold?: number; + status?: string; /** - * The maximum number of processes per pod. + * The target of the pipeline run. */ - podMaxPids?: number; + target?: outputs.containerregistry.ExportPipelineTargetPropertiesResponse; /** - * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + * The trigger that caused the pipeline run. */ - topologyManagerPolicy?: string; + trigger?: outputs.containerregistry.PipelineTriggerDescriptorResponse; } - /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * pipelineRunResponseResponseProvideDefaults sets the appropriate defaults for PipelineRunResponseResponse */ - export interface LinuxOSConfigResponse { + export function pipelineRunResponseResponseProvideDefaults(val: PipelineRunResponseResponse): PipelineRunResponseResponse { + return { + ...val, + source: (val.source ? outputs.containerregistry.importPipelineSourcePropertiesResponseProvideDefaults(val.source) : undefined), + }; + } + + export interface PipelineRunSourcePropertiesResponse { /** - * The size in MB of a swap file that will be created on each node. + * The name of the source. */ - swapFileSizeMB?: number; + name?: string; /** - * Sysctl settings for Linux agent nodes. + * The type of the source. */ - sysctls?: outputs.containerservice.SysctlConfigResponse; + type?: string; + } + /** + * pipelineRunSourcePropertiesResponseProvideDefaults sets the appropriate defaults for PipelineRunSourcePropertiesResponse + */ + export function pipelineRunSourcePropertiesResponseProvideDefaults(val: PipelineRunSourcePropertiesResponse): PipelineRunSourcePropertiesResponse { + return { + ...val, + type: (val.type) ?? "AzureStorageBlob", + }; + } + + export interface PipelineRunTargetPropertiesResponse { /** - * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + * The name of the target. */ - transparentHugePageDefrag?: string; + name?: string; /** - * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + * The type of the target. */ - transparentHugePageEnabled?: string; + type?: string; } - /** - * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + * pipelineRunTargetPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineRunTargetPropertiesResponse */ - export interface ManagedClusterAADProfileResponse { + export function pipelineRunTargetPropertiesResponseProvideDefaults(val: PipelineRunTargetPropertiesResponse): PipelineRunTargetPropertiesResponse { + return { + ...val, + type: (val.type) ?? "AzureStorageBlob", + }; + } + + export interface PipelineSourceTriggerDescriptorResponse { /** - * The list of AAD group object IDs that will have admin role of the cluster. + * The timestamp when the source update happened. */ - adminGroupObjectIDs?: string[]; + timestamp?: string; + } + + export interface PipelineSourceTriggerPropertiesResponse { /** - * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + * The current status of the source trigger. */ - clientAppID?: string; + status: string; + } + /** + * pipelineSourceTriggerPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineSourceTriggerPropertiesResponse + */ + export function pipelineSourceTriggerPropertiesResponseProvideDefaults(val: PipelineSourceTriggerPropertiesResponse): PipelineSourceTriggerPropertiesResponse { + return { + ...val, + status: (val.status) ?? "Enabled", + }; + } + + export interface PipelineTriggerDescriptorResponse { /** - * Whether to enable Azure RBAC for Kubernetes authorization. + * The source trigger that caused the pipeline run. */ - enableAzureRBAC?: boolean; + sourceTrigger?: outputs.containerregistry.PipelineSourceTriggerDescriptorResponse; + } + + export interface PipelineTriggerPropertiesResponse { /** - * Whether to enable managed AAD. + * The source trigger properties of the pipeline. */ - managed?: boolean; + sourceTrigger?: outputs.containerregistry.PipelineSourceTriggerPropertiesResponse; + } + /** + * pipelineTriggerPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineTriggerPropertiesResponse + */ + export function pipelineTriggerPropertiesResponseProvideDefaults(val: PipelineTriggerPropertiesResponse): PipelineTriggerPropertiesResponse { + return { + ...val, + sourceTrigger: (val.sourceTrigger ? outputs.containerregistry.pipelineSourceTriggerPropertiesResponseProvideDefaults(val.sourceTrigger) : undefined), + }; + } + + /** + * The platform properties against which the run has to happen. + */ + export interface PlatformPropertiesResponse { /** - * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + * The OS architecture. */ - serverAppID?: string; + architecture?: string; /** - * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + * The operating system type required for the run. */ - serverAppSecret?: string; + os: string; /** - * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + * Variant of the CPU. */ - tenantID?: string; + variant?: string; } /** - * Access profile for managed cluster API server. + * The policies for a container registry. */ - export interface ManagedClusterAPIServerAccessProfileResponse { - /** - * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - */ - authorizedIPRanges?: string[]; + export interface PoliciesResponse { /** - * Whether to disable run command for the cluster or not. + * The export policy for a container registry. */ - disableRunCommand?: boolean; + exportPolicy?: outputs.containerregistry.ExportPolicyResponse; /** - * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + * The quarantine policy for a container registry. */ - enablePrivateCluster?: boolean; + quarantinePolicy?: outputs.containerregistry.QuarantinePolicyResponse; /** - * Whether to create additional public FQDN for private cluster or not. + * The retention policy for a container registry. */ - enablePrivateClusterPublicFQDN?: boolean; + retentionPolicy?: outputs.containerregistry.RetentionPolicyResponse; /** - * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + * The content trust policy for a container registry. */ - privateDNSZone?: string; + trustPolicy?: outputs.containerregistry.TrustPolicyResponse; + } + /** + * policiesResponseProvideDefaults sets the appropriate defaults for PoliciesResponse + */ + export function policiesResponseProvideDefaults(val: PoliciesResponse): PoliciesResponse { + return { + ...val, + exportPolicy: (val.exportPolicy ? outputs.containerregistry.exportPolicyResponseProvideDefaults(val.exportPolicy) : undefined), + quarantinePolicy: (val.quarantinePolicy ? outputs.containerregistry.quarantinePolicyResponseProvideDefaults(val.quarantinePolicy) : undefined), + retentionPolicy: (val.retentionPolicy ? outputs.containerregistry.retentionPolicyResponseProvideDefaults(val.retentionPolicy) : undefined), + trustPolicy: (val.trustPolicy ? outputs.containerregistry.trustPolicyResponseProvideDefaults(val.trustPolicy) : undefined), + }; } /** - * A Kubernetes add-on profile for a managed cluster. + * An object that represents a private endpoint connection for a container registry. */ - export interface ManagedClusterAddonProfileResponse { + export interface PrivateEndpointConnectionResponse { /** - * Key-value pairs for configuring an add-on. + * The resource ID. */ - config?: {[key: string]: string}; + id: string; /** - * Whether the add-on is enabled or not. + * The name of the resource. */ - enabled: boolean; + name: string; /** - * Information of user assigned identity used by this add-on. + * The resource of private endpoint. */ - identity: outputs.containerservice.ManagedClusterAddonProfileResponseIdentity; - } - - /** - * Information of user assigned identity used by this add-on. - */ - export interface ManagedClusterAddonProfileResponseIdentity { + privateEndpoint?: outputs.containerregistry.PrivateEndpointResponse; /** - * The client ID of the user assigned identity. + * A collection of information about the state of the connection between service consumer and provider. */ - clientId?: string; + privateLinkServiceConnectionState?: outputs.containerregistry.PrivateLinkServiceConnectionStateResponse; /** - * The object ID of the user assigned identity. + * The provisioning state of private endpoint connection resource. */ - objectId?: string; + provisioningState: string; /** - * The resource ID of the user assigned identity. + * Metadata pertaining to creation and last modification of the resource. */ - resourceId?: string; + systemData: outputs.containerregistry.SystemDataResponse; + /** + * The type of the resource. + */ + type: string; } /** - * Profile for the container service agent pool. + * The Private Endpoint resource. */ - export interface ManagedClusterAgentPoolProfileResponse { + export interface PrivateEndpointResponse { /** - * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + * This is private endpoint resource created with Microsoft.Network resource provider. */ - availabilityZones?: string[]; + id?: string; + } + + /** + * The state of a private link service connection. + */ + export interface PrivateLinkServiceConnectionStateResponse { /** - * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + * A message indicating if changes on the service provider require any updates on the consumer. */ - count?: number; + actionsRequired?: string; /** - * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + * The description for connection status. For example if connection is rejected it can indicate reason for rejection. */ - creationData?: outputs.containerservice.CreationDataResponse; + description?: string; /** - * If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + * The private link service connection status. */ - currentOrchestratorVersion: string; + status?: string; + } + + export interface ProgressPropertiesResponse { /** - * Whether to enable auto-scaler + * The percentage complete of the copy operation. */ - enableAutoScaling?: boolean; + percentage?: string; + } + + /** + * The quarantine policy for a container registry. + */ + export interface QuarantinePolicyResponse { /** - * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + * The value that indicates whether the policy is enabled or not. */ - enableEncryptionAtHost?: boolean; + status?: string; + } + /** + * quarantinePolicyResponseProvideDefaults sets the appropriate defaults for QuarantinePolicyResponse + */ + export function quarantinePolicyResponseProvideDefaults(val: QuarantinePolicyResponse): QuarantinePolicyResponse { + return { + ...val, + status: (val.status) ?? "disabled", + }; + } + + /** + * The login password for the container registry. + */ + export interface RegistryPasswordResponse { /** - * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + * The password name. */ - enableFIPS?: boolean; + name?: string; /** - * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + * The password value. */ - enableNodePublicIP?: boolean; + value?: string; + } + + /** + * The request that generated the event. + */ + export interface RequestResponse { /** - * Whether to enable UltraSSD + * The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request. */ - enableUltraSSD?: boolean; + addr?: string; /** - * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + * The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests. */ - gpuInstanceProfile?: string; + host?: string; /** - * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + * The ID of the request that initiated the event. */ - hostGroupID?: string; + id?: string; /** - * The Kubelet configuration on the agent pool nodes. + * The request method that generated the event. */ - kubeletConfig?: outputs.containerservice.KubeletConfigResponse; + method?: string; /** - * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + * The user agent header of the request. */ - kubeletDiskType?: string; + useragent?: string; + } + + /** + * The retention policy for a container registry. + */ + export interface RetentionPolicyResponse { /** - * The OS configuration of Linux agent nodes. + * The number of days to retain an untagged manifest after which it gets purged. */ - linuxOSConfig?: outputs.containerservice.LinuxOSConfigResponse; + days?: number; /** - * The maximum number of nodes for auto-scaling + * The timestamp when the policy was last updated. */ - maxCount?: number; + lastUpdatedTime: string; /** - * The maximum number of pods that can run on a node. + * The value that indicates whether the policy is enabled or not. */ - maxPods?: number; + status?: string; + } + /** + * retentionPolicyResponseProvideDefaults sets the appropriate defaults for RetentionPolicyResponse + */ + export function retentionPolicyResponseProvideDefaults(val: RetentionPolicyResponse): RetentionPolicyResponse { + return { + ...val, + days: (val.days) ?? 7, + status: (val.status) ?? "disabled", + }; + } + + /** + * Run resource properties + */ + export interface RunResponse { /** - * The minimum number of nodes for auto-scaling + * The machine configuration of the run agent. */ - minCount?: number; + agentConfiguration?: outputs.containerregistry.AgentPropertiesResponse; /** - * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + * The dedicated agent pool for the run. */ - mode?: string; + agentPoolName?: string; /** - * Windows agent pool names must be 6 characters or less. + * The time the run was scheduled. */ - name: string; + createTime?: string; /** - * The version of node image + * The list of custom registries that were logged in during this run. */ - nodeImageVersion: string; + customRegistries?: string[]; /** - * The node labels to be persisted across all nodes in agent pool. + * The time the run finished. */ - nodeLabels?: {[key: string]: string}; + finishTime?: string; /** - * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + * The resource ID. */ - nodePublicIPPrefixID?: string; + id: string; /** - * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + * The image update trigger that caused the run. This is applicable if the task has base image trigger configured. */ - nodeTaints?: string[]; + imageUpdateTrigger?: outputs.containerregistry.ImageUpdateTriggerResponse; /** - * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + * The value that indicates whether archiving is enabled or not. */ - orchestratorVersion?: string; + isArchiveEnabled?: boolean; /** - * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + * The last updated time for the run. */ - osDiskSizeGB?: number; + lastUpdatedTime?: string; /** - * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + * The image description for the log artifact. */ - osDiskType?: string; + logArtifact: outputs.containerregistry.ImageDescriptorResponse; /** - * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + * The name of the resource. */ - osSKU?: string; + name: string; /** - * The operating system type. The default is Linux. + * The list of all images that were generated from the run. This is applicable if the run generates base image dependencies. */ - osType?: string; + outputImages?: outputs.containerregistry.ImageDescriptorResponse[]; /** - * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + * The platform properties against which the run will happen. */ - podSubnetID?: string; + platform?: outputs.containerregistry.PlatformPropertiesResponse; /** - * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + * The provisioning state of a run. */ - powerState?: outputs.containerservice.PowerStateResponse; + provisioningState?: string; /** - * The current deployment or provisioning state. + * The error message received from backend systems after the run is scheduled. */ - provisioningState: string; + runErrorMessage: string; /** - * The ID for Proximity Placement Group. + * The unique identifier for the run. */ - proximityPlacementGroupID?: string; + runId?: string; /** - * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + * The type of run. */ - scaleDownMode?: string; + runType?: string; /** - * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + * The scope of the credentials that were used to login to the source registry during this run. */ - scaleSetEvictionPolicy?: string; + sourceRegistryAuth?: string; /** - * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + * The source trigger that caused the run. */ - scaleSetPriority?: string; + sourceTrigger?: outputs.containerregistry.SourceTriggerDescriptorResponse; /** - * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + * The time the run started. */ - spotMaxPrice?: number; + startTime?: string; /** - * The tags to be persisted on the agent pool virtual machine scale set. + * The current status of the run. */ - tags?: {[key: string]: string}; + status?: string; /** - * The type of Agent Pool. + * Metadata pertaining to creation and last modification of the resource. */ - type?: string; + systemData: outputs.containerregistry.SystemDataResponse; /** - * Settings for upgrading the agentpool + * The task against which run was scheduled. */ - upgradeSettings?: outputs.containerservice.AgentPoolUpgradeSettingsResponse; + task?: string; /** - * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + * The timer trigger that caused the run. */ - vmSize?: string; + timerTrigger?: outputs.containerregistry.TimerTriggerDescriptorResponse; /** - * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + * The type of the resource. */ - vnetSubnetID?: string; + type: string; /** - * Determines the type of workload a node can run. + * The update trigger token passed for the Run. */ - workloadRuntime?: string; + updateTriggerToken?: string; } - /** - * Auto upgrade profile for a managed cluster. + * runResponseProvideDefaults sets the appropriate defaults for RunResponse */ - export interface ManagedClusterAutoUpgradeProfileResponse { - /** - * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). - */ - upgradeChannel?: string; + export function runResponseProvideDefaults(val: RunResponse): RunResponse { + return { + ...val, + isArchiveEnabled: (val.isArchiveEnabled) ?? false, + }; } /** - * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + * Describes the properties of a secret object value. */ - export interface ManagedClusterAzureMonitorProfileKubeStateMetricsResponse { + export interface SecretObjectResponse { /** - * Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + * The type of the secret object which determines how the value of the secret object has to be + * interpreted. */ - metricAnnotationsAllowList?: string; + type?: string; /** - * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + * The value of the secret. The format of this value will be determined + * based on the type of the secret object. If the type is Opaque, the value will be + * used as is without any modification. */ - metricLabelsAllowlist?: string; + value?: string; } /** - * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + * The properties of a overridable value that can be passed to a task template. */ - export interface ManagedClusterAzureMonitorProfileMetricsResponse { + export interface SetValueResponse { /** - * Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + * Flag to indicate whether the value represents a secret or not. */ - enabled: boolean; + isSecret?: boolean; /** - * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + * The name of the overridable value. */ - kubeStateMetrics?: outputs.containerservice.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse; + name: string; + /** + * The overridable value. + */ + value: string; } - /** - * Azure Monitor addon profiles for monitoring the managed cluster. + * setValueResponseProvideDefaults sets the appropriate defaults for SetValueResponse */ - export interface ManagedClusterAzureMonitorProfileResponse { - /** - * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. - */ - metrics?: outputs.containerservice.ManagedClusterAzureMonitorProfileMetricsResponse; + export function setValueResponseProvideDefaults(val: SetValueResponse): SetValueResponse { + return { + ...val, + isSecret: (val.isSecret) ?? false, + }; } /** - * Cluster HTTP proxy configuration. + * The SKU of a container registry. */ - export interface ManagedClusterHTTPProxyConfigResponse { - /** - * The HTTP proxy server endpoint to use. - */ - httpProxy?: string; - /** - * The HTTPS proxy server endpoint to use. - */ - httpsProxy?: string; + export interface SkuResponse { /** - * The endpoints that should not go through proxy. + * The SKU name of the container registry. Required for registry creation. */ - noProxy?: string[]; + name: string; /** - * Alternative CA cert to use for connecting to proxy servers. + * The SKU tier based on the SKU name. */ - trustedCa?: string; + tier: string; } /** - * Identity for the managed cluster. + * The authorization properties for accessing the source code repository. */ - export interface ManagedClusterIdentityResponse { - /** - * The principal id of the system assigned identity which is used by master components. - */ - principalId: string; + export interface SourceControlAuthInfoResponse { /** - * The tenant id of the system assigned identity which is used by master components. + * Time in seconds that the token remains valid */ - tenantId: string; + expiresIn?: number; /** - * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + * The refresh token used to refresh the access token. */ - type?: string; + refreshToken?: string; /** - * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + * The scope of the access token. */ - userAssignedIdentities?: {[key: string]: outputs.containerservice.ManagedClusterIdentityResponseUserAssignedIdentities}; - } - - export interface ManagedClusterIdentityResponseUserAssignedIdentities { + scope?: string; /** - * The client id of user assigned identity. + * The access token used to access the source control provider. */ - clientId: string; + token: string; /** - * The principal id of user assigned identity. + * The type of Auth token. */ - principalId: string; + tokenType?: string; } /** - * Profile of the managed cluster load balancer. + * The properties of the source code repository. */ - export interface ManagedClusterLoadBalancerProfileResponse { - /** - * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - */ - allocatedOutboundPorts?: number; - /** - * The effective outbound IP resources of the cluster load balancer. - */ - effectiveOutboundIPs?: outputs.containerservice.ResourceReferenceResponse[]; - /** - * Enable multiple standard load balancers per AKS cluster or not. - */ - enableMultipleStandardLoadBalancers?: boolean; + export interface SourcePropertiesResponse { /** - * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + * The branch name of the source code. */ - idleTimeoutInMinutes?: number; + branch?: string; /** - * Desired managed outbound IPs for the cluster load balancer. + * The full URL to the source code repository */ - managedOutboundIPs?: outputs.containerservice.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; + repositoryUrl: string; /** - * Desired outbound IP Prefix resources for the cluster load balancer. + * The authorization properties for accessing the source code repository and to set up + * webhooks for notifications. */ - outboundIPPrefixes?: outputs.containerservice.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; + sourceControlAuthProperties?: outputs.containerregistry.AuthInfoResponse; /** - * Desired outbound IP resources for the cluster load balancer. + * The type of source control service. */ - outboundIPs?: outputs.containerservice.ManagedClusterLoadBalancerProfileResponseOutboundIPs; + sourceControlType: string; } + /** - * managedClusterLoadBalancerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponse + * Describes the credential parameters for accessing the source registry. */ - export function managedClusterLoadBalancerProfileResponseProvideDefaults(val: ManagedClusterLoadBalancerProfileResponse): ManagedClusterLoadBalancerProfileResponse { - return { - ...val, - allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, - idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, - managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), - }; + export interface SourceRegistryCredentialsResponse { + /** + * The authentication mode which determines the source registry login scope. The credentials for the source registry + * will be generated using the given scope. These credentials will be used to login to + * the source registry during the run. + */ + loginMode?: string; } /** - * Desired managed outbound IPs for the cluster load balancer. + * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. */ - export interface ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + export interface SourceResponse { /** - * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + * The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port. */ - count?: number; + addr?: string; /** - * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + * The running instance of an application. Changes after each restart. */ - countIPv6?: number; - } - /** - * managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs - */ - export function managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val: ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs): ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { - return { - ...val, - count: (val.count) ?? 1, - countIPv6: (val.countIPv6) ?? 0, - }; + instanceID?: string; } /** - * Desired outbound IP Prefix resources for the cluster load balancer. + * The source trigger that caused a run. */ - export interface ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes { + export interface SourceTriggerDescriptorResponse { /** - * A list of public IP prefix resources. + * The branch name in the repository. */ - publicIPPrefixes?: outputs.containerservice.ResourceReferenceResponse[]; - } - - /** - * Desired outbound IP resources for the cluster load balancer. - */ - export interface ManagedClusterLoadBalancerProfileResponseOutboundIPs { + branchName?: string; /** - * A list of public IP resources. + * The unique ID that identifies a commit. */ - publicIPs?: outputs.containerservice.ResourceReferenceResponse[]; - } - - /** - * Profile of the managed outbound IP resources of the managed cluster. - */ - export interface ManagedClusterManagedOutboundIPProfileResponse { + commitId?: string; /** - * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + * The event type of the trigger. */ - count?: number; - } - /** - * managedClusterManagedOutboundIPProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterManagedOutboundIPProfileResponse - */ - export function managedClusterManagedOutboundIPProfileResponseProvideDefaults(val: ManagedClusterManagedOutboundIPProfileResponse): ManagedClusterManagedOutboundIPProfileResponse { - return { - ...val, - count: (val.count) ?? 1, - }; + eventType?: string; + /** + * The unique ID of the trigger. + */ + id?: string; + /** + * The source control provider type. + */ + providerType?: string; + /** + * The unique ID that identifies pull request. + */ + pullRequestId?: string; + /** + * The repository URL. + */ + repositoryUrl?: string; } /** - * Profile of the managed cluster NAT gateway. + * The properties of a source based trigger. */ - export interface ManagedClusterNATGatewayProfileResponse { + export interface SourceTriggerResponse { /** - * The effective outbound IP resources of the cluster NAT gateway. + * The name of the trigger. */ - effectiveOutboundIPs?: outputs.containerservice.ResourceReferenceResponse[]; + name: string; /** - * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + * The properties that describes the source(code) for the task. */ - idleTimeoutInMinutes?: number; + sourceRepository: outputs.containerregistry.SourcePropertiesResponse; /** - * Profile of the managed outbound IP resources of the cluster NAT gateway. + * The source event corresponding to the trigger. */ - managedOutboundIPProfile?: outputs.containerservice.ManagedClusterManagedOutboundIPProfileResponse; + sourceTriggerEvents: string[]; + /** + * The current status of trigger. + */ + status?: string; } /** - * managedClusterNATGatewayProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileResponse + * sourceTriggerResponseProvideDefaults sets the appropriate defaults for SourceTriggerResponse */ - export function managedClusterNATGatewayProfileResponseProvideDefaults(val: ManagedClusterNATGatewayProfileResponse): ManagedClusterNATGatewayProfileResponse { + export function sourceTriggerResponseProvideDefaults(val: SourceTriggerResponse): SourceTriggerResponse { return { ...val, - idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, - managedOutboundIPProfile: (val.managedOutboundIPProfile ? outputs.containerservice.managedClusterManagedOutboundIPProfileResponseProvideDefaults(val.managedOutboundIPProfile) : undefined), + status: (val.status) ?? "Enabled", }; } /** - * The OIDC issuer profile of the Managed Cluster. + * The status detail properties of the connected registry. */ - export interface ManagedClusterOIDCIssuerProfileResponse { + export interface StatusDetailPropertiesResponse { /** - * Whether the OIDC issuer is enabled. + * The code of the status. */ - enabled?: boolean; + code: string; /** - * The OIDC issuer url of the Managed Cluster. + * The correlation ID of the status. */ - issuerURL: string; - } - - /** - * See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. - */ - export interface ManagedClusterPodIdentityExceptionResponse { + correlationId: string; /** - * The name of the pod identity exception. + * The description of the status. */ - name: string; + description: string; /** - * The namespace of the pod identity exception. + * The timestamp of the status. */ - namespace: string; + timestamp: string; /** - * The pod labels to match. + * The component of the connected registry corresponding to the status. */ - podLabels: {[key: string]: string}; + type: string; } /** - * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + * The status of an Azure resource at the time the operation was called. */ - export interface ManagedClusterPodIdentityProfileResponse { - /** - * Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. - */ - allowNetworkPluginKubenet?: boolean; + export interface StatusResponse { /** - * Whether the pod identity addon is enabled. + * The short label for the status. */ - enabled?: boolean; + displayStatus: string; /** - * The pod identities to use in the cluster. + * The detailed message for the status, including alerts and error messages. */ - userAssignedIdentities?: outputs.containerservice.ManagedClusterPodIdentityResponse[]; + message: string; /** - * The pod identity exceptions to allow. + * The timestamp when the status was changed to the current value. */ - userAssignedIdentityExceptions?: outputs.containerservice.ManagedClusterPodIdentityExceptionResponse[]; + timestamp: string; } /** - * An error response from the pod identity provisioning. + * The sync properties of the connected registry with its parent. */ - export interface ManagedClusterPodIdentityProvisioningErrorBodyResponse { + export interface SyncPropertiesResponse { /** - * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + * The gateway endpoint used by the connected registry to communicate with its parent. */ - code?: string; + gatewayEndpoint: string; /** - * A list of additional details about the error. + * The last time a sync occurred between the connected registry and its parent. */ - details?: outputs.containerservice.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; + lastSyncTime: string; /** - * A message describing the error, intended to be suitable for display in a user interface. + * The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. */ - message?: string; + messageTtl: string; /** - * The target of the particular error. For example, the name of the property in error. + * The cron expression indicating the schedule that the connected registry will sync with its parent. */ - target?: string; - } - - /** - * An error response from the pod identity provisioning. - */ - export interface ManagedClusterPodIdentityProvisioningErrorResponse { + schedule?: string; /** - * Details about the error. + * The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. */ - error?: outputs.containerservice.ManagedClusterPodIdentityProvisioningErrorBodyResponse; + syncWindow?: string; + /** + * The resource ID of the ACR token used to authenticate the connected registry to its parent during sync. + */ + tokenId: string; } /** - * Details about the pod identity assigned to the Managed Cluster. + * Metadata pertaining to creation and last modification of the resource. */ - export interface ManagedClusterPodIdentityResponse { + export interface SystemDataResponse { /** - * The binding selector to use for the AzureIdentityBinding resource. + * The timestamp of resource creation (UTC). */ - bindingSelector?: string; + createdAt?: string; /** - * The user assigned identity details. + * The identity that created the resource. */ - identity: outputs.containerservice.UserAssignedIdentityResponse; + createdBy?: string; /** - * The name of the pod identity. + * The type of identity that created the resource. */ - name: string; + createdByType?: string; /** - * The namespace of the pod identity. + * The timestamp of resource modification (UTC). */ - namespace: string; - provisioningInfo: outputs.containerservice.ManagedClusterPodIdentityResponseProvisioningInfo; + lastModifiedAt?: string; /** - * The current provisioning state of the pod identity. + * The identity that last modified the resource. */ - provisioningState: string; - } - - export interface ManagedClusterPodIdentityResponseProvisioningInfo { + lastModifiedBy?: string; /** - * Pod identity assignment error (if any). + * The type of identity that last modified the resource. */ - error?: outputs.containerservice.ManagedClusterPodIdentityProvisioningErrorResponse; + lastModifiedByType?: string; } /** - * managed cluster properties for snapshot, these properties are read only. + * The target of the event. */ - export interface ManagedClusterPropertiesForSnapshotResponse { - /** - * Whether the cluster has enabled Kubernetes Role-Based Access Control or not. - */ - enableRbac?: boolean; + export interface TargetResponse { /** - * The current kubernetes version. + * The digest of the content, as defined by the Registry V2 HTTP API Specification. */ - kubernetesVersion?: string; + digest?: string; /** - * The current network profile. + * The number of bytes of the content. Same as Size field. */ - networkProfile: outputs.containerservice.NetworkProfileForSnapshotResponse; + length?: number; /** - * The current managed cluster sku. + * The MIME type of the referenced object. */ - sku?: outputs.containerservice.ManagedClusterSKUResponse; - } - - /** - * Parameters to be applied to the cluster-autoscaler when enabled - */ - export interface ManagedClusterPropertiesResponseAutoScalerProfile { + mediaType?: string; /** - * Valid values are 'true' and 'false' + * The name of the artifact. */ - balanceSimilarNodeGroups?: string; + name?: string; /** - * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + * The repository name. */ - expander?: string; + repository?: string; /** - * The default is 10. + * The number of bytes of the content. Same as Length field. */ - maxEmptyBulkDelete?: string; + size?: number; /** - * The default is 600. + * The tag name. */ - maxGracefulTerminationSec?: string; + tag?: string; /** - * The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The direct URL to the content. */ - maxNodeProvisionTime?: string; + url?: string; /** - * The default is 45. The maximum is 100 and the minimum is 0. + * The version of the artifact. */ - maxTotalUnreadyPercentage?: string; + version?: string; + } + + /** + * The parameters for a task run request. + */ + export interface TaskRunRequestResponse { /** - * For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + * The dedicated agent pool for the run. */ - newPodScaleUpDelay?: string; + agentPoolName?: string; /** - * This must be an integer. The default is 3. + * The value that indicates whether archiving is enabled for the run or not. */ - okTotalUnreadyCount?: string; + isArchiveEnabled?: boolean; /** - * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The template that describes the repository and tag information for run log artifact. */ - scaleDownDelayAfterAdd?: string; + logTemplate?: string; /** - * The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * Set of overridable parameters that can be passed when running a Task. */ - scaleDownDelayAfterDelete?: string; + overrideTaskStepProperties?: outputs.containerregistry.OverrideTaskStepPropertiesResponse; /** - * The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The resource ID of task against which run has to be queued. */ - scaleDownDelayAfterFailure?: string; + taskId: string; /** - * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The type of the run request. + * Expected value is 'TaskRunRequest'. */ - scaleDownUnneededTime?: string; + type: "TaskRunRequest"; + } + /** + * taskRunRequestResponseProvideDefaults sets the appropriate defaults for TaskRunRequestResponse + */ + export function taskRunRequestResponseProvideDefaults(val: TaskRunRequestResponse): TaskRunRequestResponse { + return { + ...val, + isArchiveEnabled: (val.isArchiveEnabled) ?? false, + }; + } + + export interface TimerTriggerDescriptorResponse { /** - * The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The occurrence that triggered the run. */ - scaleDownUnreadyTime?: string; + scheduleOccurrence?: string; /** - * The default is '0.5'. + * The timer trigger name that caused the run. */ - scaleDownUtilizationThreshold?: string; + timerTriggerName?: string; + } + + /** + * The properties of a timer trigger. + */ + export interface TimerTriggerResponse { /** - * The default is '10'. Values must be an integer number of seconds. + * The name of the trigger. */ - scanInterval?: string; + name: string; /** - * The default is true. + * The CRON expression for the task schedule */ - skipNodesWithLocalStorage?: string; + schedule: string; /** - * The default is true. + * The current status of trigger. */ - skipNodesWithSystemPods?: string; + status?: string; + } + /** + * timerTriggerResponseProvideDefaults sets the appropriate defaults for TimerTriggerResponse + */ + export function timerTriggerResponseProvideDefaults(val: TimerTriggerResponse): TimerTriggerResponse { + return { + ...val, + status: (val.status) ?? "Enabled", + }; } /** - * The SKU of a Managed Cluster. + * The TLS certificate properties of the connected registry login server. */ - export interface ManagedClusterSKUResponse { + export interface TlsCertificatePropertiesResponse { /** - * The name of a managed cluster SKU. + * Indicates the location of the certificates. */ - name?: string; + location: string; /** - * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + * The type of certificate location. */ - tier?: string; + type: string; } /** - * Microsoft Defender settings for the security profile. + * The TLS properties of the connected registry login server. */ - export interface ManagedClusterSecurityProfileDefenderResponse { + export interface TlsPropertiesResponse { /** - * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + * The certificate used to configure HTTPS for the login server. */ - logAnalyticsWorkspaceResourceId?: string; + certificate: outputs.containerregistry.TlsCertificatePropertiesResponse; /** - * Microsoft Defender threat detection for Cloud settings for the security profile. + * Indicates whether HTTPS is enabled for the login server. */ - securityMonitoring?: outputs.containerservice.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse; + status: string; } /** - * Microsoft Defender settings for the security profile threat detection. + * The properties of a certificate used for authenticating a token. */ - export interface ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse { + export interface TokenCertificateResponse { /** - * Whether to enable Defender threat detection + * Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token. */ - enabled?: boolean; - } - - /** - * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. - */ - export interface ManagedClusterSecurityProfileImageCleanerResponse { + encodedPemCertificate?: string; /** - * Whether to enable Image Cleaner on AKS cluster. + * The expiry datetime of the certificate. */ - enabled?: boolean; + expiry?: string; + name?: string; /** - * Image Cleaner scanning interval in hours. + * The thumbprint of the certificate. */ - intervalHours?: number; + thumbprint?: string; } /** - * Security profile for the container service cluster. + * The properties of the credentials that can be used for authenticating the token. */ - export interface ManagedClusterSecurityProfileResponse { - /** - * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - */ - azureKeyVaultKms?: outputs.containerservice.AzureKeyVaultKmsResponse; - /** - * Microsoft Defender settings for the security profile. - */ - defender?: outputs.containerservice.ManagedClusterSecurityProfileDefenderResponse; - /** - * Image Cleaner settings for the security profile. - */ - imageCleaner?: outputs.containerservice.ManagedClusterSecurityProfileImageCleanerResponse; - /** - * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - */ - workloadIdentity?: outputs.containerservice.ManagedClusterSecurityProfileWorkloadIdentityResponse; - } - /** - * managedClusterSecurityProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileResponse - */ - export function managedClusterSecurityProfileResponseProvideDefaults(val: ManagedClusterSecurityProfileResponse): ManagedClusterSecurityProfileResponse { - return { - ...val, - azureKeyVaultKms: (val.azureKeyVaultKms ? outputs.containerservice.azureKeyVaultKmsResponseProvideDefaults(val.azureKeyVaultKms) : undefined), - }; - } - - /** - * Workload identity settings for the security profile. - */ - export interface ManagedClusterSecurityProfileWorkloadIdentityResponse { - /** - * Whether to enable workload identity. - */ - enabled?: boolean; + export interface TokenCredentialsPropertiesResponse { + certificates?: outputs.containerregistry.TokenCertificateResponse[]; + passwords?: outputs.containerregistry.TokenPasswordResponse[]; } /** - * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + * The password that will be used for authenticating the token of a container registry. */ - export interface ManagedClusterServicePrincipalProfileResponse { - /** - * The ID for the service principal. - */ - clientId: string; + export interface TokenPasswordResponse { /** - * The secret password associated with the service principal in plain text. + * The creation datetime of the password. */ - secret?: string; - } - - /** - * AzureBlob CSI Driver settings for the storage profile. - */ - export interface ManagedClusterStorageProfileBlobCSIDriverResponse { + creationTime?: string; /** - * Whether to enable AzureBlob CSI Driver. The default value is false. + * The expiry datetime of the password. */ - enabled?: boolean; - } - - /** - * AzureDisk CSI Driver settings for the storage profile. - */ - export interface ManagedClusterStorageProfileDiskCSIDriverResponse { + expiry?: string; /** - * Whether to enable AzureDisk CSI Driver. The default value is true. + * The password name "password1" or "password2" */ - enabled?: boolean; - } - - /** - * AzureFile CSI Driver settings for the storage profile. - */ - export interface ManagedClusterStorageProfileFileCSIDriverResponse { + name?: string; /** - * Whether to enable AzureFile CSI Driver. The default value is true. + * The password value. */ - enabled?: boolean; + value: string; } /** - * Storage profile for the container service cluster. + * The properties of a trigger. */ - export interface ManagedClusterStorageProfileResponse { - /** - * AzureBlob CSI Driver settings for the storage profile. - */ - blobCSIDriver?: outputs.containerservice.ManagedClusterStorageProfileBlobCSIDriverResponse; - /** - * AzureDisk CSI Driver settings for the storage profile. - */ - diskCSIDriver?: outputs.containerservice.ManagedClusterStorageProfileDiskCSIDriverResponse; + export interface TriggerPropertiesResponse { /** - * AzureFile CSI Driver settings for the storage profile. + * The trigger based on base image dependencies. */ - fileCSIDriver?: outputs.containerservice.ManagedClusterStorageProfileFileCSIDriverResponse; + baseImageTrigger?: outputs.containerregistry.BaseImageTriggerResponse; /** - * Snapshot Controller settings for the storage profile. + * The collection of triggers based on source code repository. */ - snapshotController?: outputs.containerservice.ManagedClusterStorageProfileSnapshotControllerResponse; - } - - /** - * Snapshot Controller settings for the storage profile. - */ - export interface ManagedClusterStorageProfileSnapshotControllerResponse { + sourceTriggers?: outputs.containerregistry.SourceTriggerResponse[]; /** - * Whether to enable Snapshot Controller. The default value is true. + * The collection of timer triggers. */ - enabled?: boolean; + timerTriggers?: outputs.containerregistry.TimerTriggerResponse[]; } - /** - * The update to be applied to the ManagedClusters. + * triggerPropertiesResponseProvideDefaults sets the appropriate defaults for TriggerPropertiesResponse */ - export interface ManagedClusterUpdateResponse { - /** - * The upgrade to apply to the ManagedClusters. - */ - upgrade: outputs.containerservice.ManagedClusterUpgradeSpecResponse; + export function triggerPropertiesResponseProvideDefaults(val: TriggerPropertiesResponse): TriggerPropertiesResponse { + return { + ...val, + baseImageTrigger: (val.baseImageTrigger ? outputs.containerregistry.baseImageTriggerResponseProvideDefaults(val.baseImageTrigger) : undefined), + }; } /** - * The upgrade to apply to a ManagedCluster. + * The content trust policy for a container registry. */ - export interface ManagedClusterUpgradeSpecResponse { + export interface TrustPolicyResponse { /** - * The Kubernetes version to upgrade the member clusters to. + * The value that indicates whether the policy is enabled or not. */ - kubernetesVersion?: string; + status?: string; /** - * The upgrade type. - * Full requires the KubernetesVersion property to be set. - * NodeImageOnly requires the KubernetesVersion property not to be set. + * The type of trust policy. */ - type: string; + type?: string; } - /** - * Profile for Windows VMs in the managed cluster. + * trustPolicyResponseProvideDefaults sets the appropriate defaults for TrustPolicyResponse */ - export interface ManagedClusterWindowsProfileResponse { - /** - * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" - */ - adminPassword?: string; - /** - * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters - */ - adminUsername: string; - /** - * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). - */ - enableCSIProxy?: boolean; + export function trustPolicyResponseProvideDefaults(val: TrustPolicyResponse): TrustPolicyResponse { + return { + ...val, + status: (val.status) ?? "disabled", + type: (val.type) ?? "Notary", + }; + } + + export interface UserIdentityPropertiesResponse { /** - * The Windows gMSA Profile in the Managed Cluster. + * The client id of user assigned identity. */ - gmsaProfile?: outputs.containerservice.WindowsGmsaProfileResponse; + clientId?: string; /** - * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + * The principal id of user assigned identity. */ - licenseType?: string; + principalId?: string; } - /** - * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. - */ - export interface ManagedClusterWorkloadAutoScalerProfileKedaResponse { + export namespace v20160627preview { /** - * Whether to enable KEDA. + * The properties of a storage account for a container registry. */ - enabled: boolean; - } + export interface StorageAccountPropertiesResponse { + /** + * The access key to the storage account. + */ + accessKey: string; + /** + * The name of the storage account. + */ + name: string; + } - /** - * Workload Auto-scaler profile for the managed cluster. - */ - export interface ManagedClusterWorkloadAutoScalerProfileResponse { - /** - * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. - */ - keda?: outputs.containerservice.ManagedClusterWorkloadAutoScalerProfileKedaResponse; } - /** - * The status of a member update operation. - */ - export interface MemberUpdateStatusResponse { - /** - * The Azure resource id of the target Kubernetes cluster. - */ - clusterResourceId: string; + export namespace v20170301 { /** - * The name of the FleetMember. + * The login password for the container registry. */ - name: string; + export interface RegistryPasswordResponse { + /** + * The password name. + */ + name?: string; + /** + * The password value. + */ + value?: string; + } + /** - * The operation resource id of the latest attempt to perform the operation. + * The SKU of a container registry. */ - operationId: string; + export interface SkuResponse { + /** + * The SKU name of the container registry. Required for registry creation. Allowed value: Basic. + */ + name: string; + /** + * The SKU tier based on the SKU name. + */ + tier: string; + } + /** - * The status of the MemberUpdate operation. + * The properties of a storage account for a container registry. */ - status: outputs.containerservice.UpdateStatusResponse; + export interface StorageAccountPropertiesResponse { + /** + * The name of the storage account. + */ + name?: string; + } + } - /** - * network profile for managed cluster snapshot, these properties are read only. - */ - export interface NetworkProfileForSnapshotResponse { - /** - * loadBalancerSku for managed cluster snapshot. - */ - loadBalancerSku?: string; - /** - * networkMode for managed cluster snapshot. - */ - networkMode?: string; + export namespace v20180201preview { /** - * networkPlugin for managed cluster snapshot. + * Properties that describe a base image dependency. */ - networkPlugin?: string; + export interface BaseImageDependencyResponse { + /** + * The sha256-based digest of the image manifest. + */ + digest?: string; + /** + * The registry login server. + */ + registry?: string; + /** + * The repository name. + */ + repository?: string; + /** + * The tag name. + */ + tag?: string; + /** + * The type of the base image dependency. + */ + type?: string; + } + /** - * NetworkPluginMode for managed cluster snapshot. + * Properties of a build argument. */ - networkPluginMode?: string; + export interface BuildArgumentResponse { + /** + * Flag to indicate whether the argument represents a secret and want to be removed from build logs. + */ + isSecret?: boolean; + /** + * The name of the argument. + */ + name: string; + /** + * The type of the argument. + */ + type: string; + /** + * The value of the argument. + */ + value: string; + } /** - * networkPolicy for managed cluster snapshot. + * buildArgumentResponseProvideDefaults sets the appropriate defaults for BuildArgumentResponse */ - networkPolicy?: string; - } + export function buildArgumentResponseProvideDefaults(val: BuildArgumentResponse): BuildArgumentResponse { + return { + ...val, + isSecret: (val.isSecret) ?? false, + }; + } - /** - * Represents the OpenShift networking configuration - */ - export interface NetworkProfileResponse { - /** - * CIDR of subnet used to create PLS needed for management of the cluster - */ - managementSubnetCidr?: string; /** - * CIDR for the OpenShift Vnet. + * The Docker build step. */ - vnetCidr?: string; + export interface DockerBuildStepResponse { + /** + * List of base image dependencies for a step. + */ + baseImageDependencies: outputs.containerregistry.v20180201preview.BaseImageDependencyResponse[]; + /** + * The type of the auto trigger for base image dependency updates. + */ + baseImageTrigger?: string; + /** + * The repository branch name. + */ + branch?: string; + /** + * The custom arguments for building this build step. + */ + buildArguments?: outputs.containerregistry.v20180201preview.BuildArgumentResponse[]; + /** + * The relative context path for a docker build in the source. + */ + contextPath?: string; + /** + * The Docker file path relative to the source control root. + */ + dockerFilePath?: string; + /** + * The fully qualified image names including the repository and tag. + */ + imageNames?: string[]; + /** + * The value of this property indicates whether the image built should be pushed to the registry or not. + */ + isPushEnabled?: boolean; + /** + * The value of this property indicates whether the image cache is enabled or not. + */ + noCache?: boolean; + /** + * The provisioning state of the build step. + */ + provisioningState: string; + /** + * The type of the step. + * Expected value is 'Docker'. + */ + type: "Docker"; + } /** - * ID of the Vnet created for OSA cluster. + * dockerBuildStepResponseProvideDefaults sets the appropriate defaults for DockerBuildStepResponse */ - vnetId?: string; - } - /** - * networkProfileResponseProvideDefaults sets the appropriate defaults for NetworkProfileResponse - */ - export function networkProfileResponseProvideDefaults(val: NetworkProfileResponse): NetworkProfileResponse { - return { - ...val, - vnetCidr: (val.vnetCidr) ?? "10.0.0.0/8", - }; - } + export function dockerBuildStepResponseProvideDefaults(val: DockerBuildStepResponse): DockerBuildStepResponse { + return { + ...val, + isPushEnabled: (val.isPushEnabled) ?? true, + noCache: (val.noCache) ?? false, + }; + } - /** - * Defines further properties on the API. - */ - export interface OpenShiftAPIPropertiesResponse { /** - * Specifies if API server is public or private. + * The platform properties against which the build has to happen. */ - privateApiServer?: boolean; - } + export interface PlatformPropertiesResponse { + /** + * The CPU configuration in terms of number of cores required for the build. + */ + cpu?: number; + /** + * The operating system type required for the build. + */ + osType: string; + } - /** - * Defines the Identity provider for MS AAD. - */ - export interface OpenShiftManagedClusterAADIdentityProviderResponse { - /** - * The clientId password associated with the provider. - */ - clientId?: string; - /** - * The groupId to be granted cluster admin role. - */ - customerAdminGroupId?: string; /** - * The kind of the provider. - * Expected value is 'AADIdentityProvider'. + * The authorization properties for accessing the source code repository. */ - kind: "AADIdentityProvider"; + export interface SourceControlAuthInfoResponse { + /** + * Time in seconds that the token remains valid + */ + expiresIn?: number; + /** + * The refresh token used to refresh the access token. + */ + refreshToken?: string; + /** + * The scope of the access token. + */ + scope?: string; + /** + * The access token used to access the source control provider. + */ + token: string; + /** + * The type of Auth token. + */ + tokenType?: string; + } + /** - * The secret password associated with the provider. + * The properties of the source code repository. */ - secret?: string; + export interface SourceRepositoryPropertiesResponse { + /** + * The value of this property indicates whether the source control commit trigger is enabled or not. + */ + isCommitTriggerEnabled?: boolean; + /** + * The full URL to the source code repository + */ + repositoryUrl: string; + /** + * The authorization properties for accessing the source code repository. + */ + sourceControlAuthProperties?: outputs.containerregistry.v20180201preview.SourceControlAuthInfoResponse; + /** + * The type of source control service. + */ + sourceControlType: string; + } /** - * The tenantId associated with the provider. + * sourceRepositoryPropertiesResponseProvideDefaults sets the appropriate defaults for SourceRepositoryPropertiesResponse */ - tenantId?: string; + export function sourceRepositoryPropertiesResponseProvideDefaults(val: SourceRepositoryPropertiesResponse): SourceRepositoryPropertiesResponse { + return { + ...val, + isCommitTriggerEnabled: (val.isCommitTriggerEnabled) ?? false, + }; + } + } - /** - * Defines the configuration of the OpenShift cluster VMs. - */ - export interface OpenShiftManagedClusterAgentPoolProfileResponse { - /** - * Number of agents (VMs) to host docker containers. - */ - count: number; - /** - * Unique name of the pool profile in the context of the subscription and resource group. - */ - name: string; - /** - * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. - */ - osType?: string; + export namespace v20180901 { /** - * Define the role of the AgentPoolProfile. + * The properties that determine the run agent configuration. */ - role?: string; + export interface AgentPropertiesResponse { + /** + * The CPU configuration in terms of number of cores required for the run. + */ + cpu?: number; + } + /** - * Subnet CIDR for the peering. + * The properties of a run argument. */ - subnetCidr?: string; + export interface ArgumentResponse { + /** + * Flag to indicate whether the argument represents a secret and want to be removed from build logs. + */ + isSecret?: boolean; + /** + * The name of the argument. + */ + name: string; + /** + * The value of the argument. + */ + value: string; + } /** - * Size of agent VMs. + * argumentResponseProvideDefaults sets the appropriate defaults for ArgumentResponse */ - vmSize: string; - } - /** - * openShiftManagedClusterAgentPoolProfileResponseProvideDefaults sets the appropriate defaults for OpenShiftManagedClusterAgentPoolProfileResponse - */ - export function openShiftManagedClusterAgentPoolProfileResponseProvideDefaults(val: OpenShiftManagedClusterAgentPoolProfileResponse): OpenShiftManagedClusterAgentPoolProfileResponse { - return { - ...val, - subnetCidr: (val.subnetCidr) ?? "10.0.0.0/24", - }; - } + export function argumentResponseProvideDefaults(val: ArgumentResponse): ArgumentResponse { + return { + ...val, + isSecret: (val.isSecret) ?? false, + }; + } - /** - * Defines all possible authentication profiles for the OpenShift cluster. - */ - export interface OpenShiftManagedClusterAuthProfileResponse { /** - * Type of authentication profile to use. + * The authorization properties for accessing the source code repository. */ - identityProviders?: outputs.containerservice.OpenShiftManagedClusterIdentityProviderResponse[]; - } + export interface AuthInfoResponse { + /** + * Time in seconds that the token remains valid + */ + expiresIn?: number; + /** + * The refresh token used to refresh the access token. + */ + refreshToken?: string; + /** + * The scope of the access token. + */ + scope?: string; + /** + * The access token used to access the source control provider. + */ + token: string; + /** + * The type of Auth token. + */ + tokenType: string; + } - /** - * Defines the configuration of the identity providers to be used in the OpenShift cluster. - */ - export interface OpenShiftManagedClusterIdentityProviderResponse { - /** - * Name of the provider. - */ - name?: string; /** - * Configuration of the provider. + * Properties that describe a base image dependency. */ - provider?: outputs.containerservice.OpenShiftManagedClusterAADIdentityProviderResponse; - } + export interface BaseImageDependencyResponse { + /** + * The sha256-based digest of the image manifest. + */ + digest?: string; + /** + * The registry login server. + */ + registry?: string; + /** + * The repository name. + */ + repository?: string; + /** + * The tag name. + */ + tag?: string; + /** + * The type of the base image dependency. + */ + type?: string; + } - /** - * OpenShiftManagedClusterMaterPoolProfile contains configuration for OpenShift master VMs. - */ - export interface OpenShiftManagedClusterMasterPoolProfileResponse { /** - * Defines further properties on the API. + * The trigger based on base image dependency. */ - apiProperties?: outputs.containerservice.OpenShiftAPIPropertiesResponse; + export interface BaseImageTriggerResponse { + /** + * The type of the auto trigger for base image dependency updates. + */ + baseImageTriggerType: string; + /** + * The name of the trigger. + */ + name: string; + /** + * The current status of trigger. + */ + status?: string; + } /** - * Number of masters (VMs) to host docker containers. The default value is 3. + * baseImageTriggerResponseProvideDefaults sets the appropriate defaults for BaseImageTriggerResponse */ - count: number; + export function baseImageTriggerResponseProvideDefaults(val: BaseImageTriggerResponse): BaseImageTriggerResponse { + return { + ...val, + status: (val.status) ?? "Enabled", + }; + } + /** - * Subnet CIDR for the peering. + * The parameters that describes a set of credentials that will be used when a run is invoked. */ - subnetCidr?: string; + export interface CredentialsResponse { + /** + * Describes the credential parameters for accessing other custom registries. The key + * for the dictionary item will be the registry login server (myregistry.azurecr.io) and + * the value of the item will be the registry credentials for accessing the registry. + */ + customRegistries?: {[key: string]: outputs.containerregistry.v20180901.CustomRegistryCredentialsResponse}; + /** + * Describes the credential parameters for accessing the source registry. + */ + sourceRegistry?: outputs.containerregistry.v20180901.SourceRegistryCredentialsResponse; + } + /** - * Size of agent VMs. + * Describes the credentials that will be used to access a custom registry during a run. */ - vmSize: string; - } + export interface CustomRegistryCredentialsResponse { + /** + * The password for logging into the custom registry. The password is a secret + * object that allows multiple ways of providing the value for it. + */ + password?: outputs.containerregistry.v20180901.SecretObjectResponse; + /** + * The username for logging into the custom registry. + */ + userName?: outputs.containerregistry.v20180901.SecretObjectResponse; + } - /** - * Defines the configuration for Log Analytics integration. - */ - export interface OpenShiftManagedClusterMonitorProfileResponse { /** - * If the Log analytics integration should be turned on or off + * The Docker build step. */ - enabled?: boolean; + export interface DockerBuildStepResponse { + /** + * The collection of override arguments to be used when executing this build step. + */ + arguments?: outputs.containerregistry.v20180901.ArgumentResponse[]; + /** + * List of base image dependencies for a step. + */ + baseImageDependencies: outputs.containerregistry.v20180901.BaseImageDependencyResponse[]; + /** + * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + */ + contextAccessToken?: string; + /** + * The URL(absolute or relative) of the source context for the task step. + */ + contextPath?: string; + /** + * The Docker file path relative to the source context. + */ + dockerFilePath: string; + /** + * The fully qualified image names including the repository and tag. + */ + imageNames?: string[]; + /** + * The value of this property indicates whether the image built should be pushed to the registry or not. + */ + isPushEnabled?: boolean; + /** + * The value of this property indicates whether the image cache is enabled or not. + */ + noCache?: boolean; + /** + * The name of the target build stage for the docker build. + */ + target?: string; + /** + * The type of the step. + * Expected value is 'Docker'. + */ + type: "Docker"; + } /** - * Azure Resource Manager Resource ID for the Log Analytics workspace to integrate with. + * dockerBuildStepResponseProvideDefaults sets the appropriate defaults for DockerBuildStepResponse */ - workspaceResourceID?: string; - } + export function dockerBuildStepResponseProvideDefaults(val: DockerBuildStepResponse): DockerBuildStepResponse { + return { + ...val, + isPushEnabled: (val.isPushEnabled) ?? true, + noCache: (val.noCache) ?? false, + }; + } - /** - * Represents an OpenShift router - */ - export interface OpenShiftRouterProfileResponse { - /** - * Auto-allocated FQDN for the OpenShift router. - */ - fqdn: string; /** - * Name of the router profile. + * The properties of a encoded task step. */ - name?: string; + export interface EncodedTaskStepResponse { + /** + * List of base image dependencies for a step. + */ + baseImageDependencies: outputs.containerregistry.v20180901.BaseImageDependencyResponse[]; + /** + * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + */ + contextAccessToken?: string; + /** + * The URL(absolute or relative) of the source context for the task step. + */ + contextPath?: string; + /** + * Base64 encoded value of the template/definition file content. + */ + encodedTaskContent: string; + /** + * Base64 encoded value of the parameters/values file content. + */ + encodedValuesContent?: string; + /** + * The type of the step. + * Expected value is 'EncodedTask'. + */ + type: "EncodedTask"; + /** + * The collection of overridable values that can be passed when running a task. + */ + values?: outputs.containerregistry.v20180901.SetValueResponse[]; + } + /** - * DNS subdomain for OpenShift router. + * The properties of a task step. */ - publicSubdomain: string; - } + export interface FileTaskStepResponse { + /** + * List of base image dependencies for a step. + */ + baseImageDependencies: outputs.containerregistry.v20180901.BaseImageDependencyResponse[]; + /** + * The token (git PAT or SAS token of storage account blob) associated with the context for a step. + */ + contextAccessToken?: string; + /** + * The URL(absolute or relative) of the source context for the task step. + */ + contextPath?: string; + /** + * The task template/definition file path relative to the source context. + */ + taskFilePath: string; + /** + * The type of the step. + * Expected value is 'FileTask'. + */ + type: "FileTask"; + /** + * The collection of overridable values that can be passed when running a task. + */ + values?: outputs.containerregistry.v20180901.SetValueResponse[]; + /** + * The task values/parameters file path relative to the source context. + */ + valuesFilePath?: string; + } - /** - * Describes the Power State of the cluster - */ - export interface PowerStateResponse { /** - * Tells whether the cluster is Running or Stopped + * The platform properties against which the run has to happen. */ - code?: string; - } + export interface PlatformPropertiesResponse { + /** + * The OS architecture. + */ + architecture?: string; + /** + * The operating system type required for the run. + */ + os: string; + /** + * Variant of the CPU. + */ + variant?: string; + } - /** - * Private endpoint which a connection belongs to. - */ - export interface PrivateEndpointResponse { /** - * The resource ID of the private endpoint + * Describes the properties of a secret object value. */ - id?: string; - } + export interface SecretObjectResponse { + /** + * The type of the secret object which determines how the value of the secret object has to be + * interpreted. + */ + type?: string; + /** + * The value of the secret. The format of this value will be determined + * based on the type of the secret object. If the type is Opaque, the value will be + * used as is without any modification. + */ + value?: string; + } - /** - * A private link resource - */ - export interface PrivateLinkResourceResponse { /** - * The group ID of the resource. + * The properties of a overridable value that can be passed to a task template. */ - groupId?: string; + export interface SetValueResponse { + /** + * Flag to indicate whether the value represents a secret or not. + */ + isSecret?: boolean; + /** + * The name of the overridable value. + */ + name: string; + /** + * The overridable value. + */ + value: string; + } /** - * The ID of the private link resource. + * setValueResponseProvideDefaults sets the appropriate defaults for SetValueResponse */ - id?: string; + export function setValueResponseProvideDefaults(val: SetValueResponse): SetValueResponse { + return { + ...val, + isSecret: (val.isSecret) ?? false, + }; + } + /** - * The name of the private link resource. + * The properties of the source code repository. */ - name?: string; + export interface SourcePropertiesResponse { + /** + * The branch name of the source code. + */ + branch?: string; + /** + * The full URL to the source code repository + */ + repositoryUrl: string; + /** + * The authorization properties for accessing the source code repository and to set up + * webhooks for notifications. + */ + sourceControlAuthProperties?: outputs.containerregistry.v20180901.AuthInfoResponse; + /** + * The type of source control service. + */ + sourceControlType: string; + } + /** - * The private link service ID of the resource, this field is exposed only to NRP internally. + * Describes the credential parameters for accessing the source registry. */ - privateLinkServiceID: string; + export interface SourceRegistryCredentialsResponse { + /** + * The authentication mode which determines the source registry login scope. The credentials for the source registry + * will be generated using the given scope. These credentials will be used to login to + * the source registry during the run. + */ + loginMode?: string; + } + /** - * The RequiredMembers of the resource + * The properties of a source based trigger. */ - requiredMembers?: string[]; + export interface SourceTriggerResponse { + /** + * The name of the trigger. + */ + name: string; + /** + * The properties that describes the source(code) for the task. + */ + sourceRepository: outputs.containerregistry.v20180901.SourcePropertiesResponse; + /** + * The source event corresponding to the trigger. + */ + sourceTriggerEvents: string[]; + /** + * The current status of trigger. + */ + status?: string; + } /** - * The resource type. + * sourceTriggerResponseProvideDefaults sets the appropriate defaults for SourceTriggerResponse */ - type?: string; - } + export function sourceTriggerResponseProvideDefaults(val: SourceTriggerResponse): SourceTriggerResponse { + return { + ...val, + status: (val.status) ?? "Enabled", + }; + } - /** - * The state of a private link service connection. - */ - export interface PrivateLinkServiceConnectionStateResponse { /** - * The private link service connection description. + * The properties of a trigger. */ - description?: string; + export interface TriggerPropertiesResponse { + /** + * The trigger based on base image dependencies. + */ + baseImageTrigger?: outputs.containerregistry.v20180901.BaseImageTriggerResponse; + /** + * The collection of triggers based on source code repository. + */ + sourceTriggers?: outputs.containerregistry.v20180901.SourceTriggerResponse[]; + } /** - * The private link service connection status. + * triggerPropertiesResponseProvideDefaults sets the appropriate defaults for TriggerPropertiesResponse */ - status?: string; + export function triggerPropertiesResponseProvideDefaults(val: TriggerPropertiesResponse): TriggerPropertiesResponse { + return { + ...val, + baseImageTrigger: (val.baseImageTrigger ? outputs.containerregistry.v20180901.baseImageTriggerResponseProvideDefaults(val.baseImageTrigger) : undefined), + }; + } + } - /** - * Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. - */ - export interface PurchasePlanResponse { - /** - * The plan ID. - */ - name?: string; + export namespace v20190401 { /** - * Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + * The properties that determine the run agent configuration. */ - product?: string; + export interface AgentPropertiesResponse { + /** + * The CPU configuration in terms of number of cores required for the run. + */ + cpu?: number; + } + /** - * The promotion code. + * The properties of a run argument. */ - promotionCode?: string; + export interface ArgumentResponse { + /** + * Flag to indicate whether the argument represents a secret and want to be removed from build logs. + */ + isSecret?: boolean; + /** + * The name of the argument. + */ + name: string; + /** + * The value of the argument. + */ + value: string; + } /** - * The plan ID. + * argumentResponseProvideDefaults sets the appropriate defaults for ArgumentResponse */ - publisher?: string; - } + export function argumentResponseProvideDefaults(val: ArgumentResponse): ArgumentResponse { + return { + ...val, + isSecret: (val.isSecret) ?? false, + }; + } - /** - * A reference to an Azure resource. - */ - export interface ResourceReferenceResponse { /** - * The fully qualified Azure resource id. + * The authorization properties for accessing the source code repository. */ - id?: string; - } - - /** - * Sysctl settings for Linux agent nodes. - */ - export interface SysctlConfigResponse { - /** - * Sysctl setting fs.aio-max-nr. - */ - fsAioMaxNr?: number; - /** - * Sysctl setting fs.file-max. - */ - fsFileMax?: number; - /** - * Sysctl setting fs.inotify.max_user_watches. - */ - fsInotifyMaxUserWatches?: number; - /** - * Sysctl setting fs.nr_open. - */ - fsNrOpen?: number; - /** - * Sysctl setting kernel.threads-max. - */ - kernelThreadsMax?: number; - /** - * Sysctl setting net.core.netdev_max_backlog. - */ - netCoreNetdevMaxBacklog?: number; - /** - * Sysctl setting net.core.optmem_max. - */ - netCoreOptmemMax?: number; - /** - * Sysctl setting net.core.rmem_default. - */ - netCoreRmemDefault?: number; - /** - * Sysctl setting net.core.rmem_max. - */ - netCoreRmemMax?: number; - /** - * Sysctl setting net.core.somaxconn. - */ - netCoreSomaxconn?: number; - /** - * Sysctl setting net.core.wmem_default. - */ - netCoreWmemDefault?: number; - /** - * Sysctl setting net.core.wmem_max. - */ - netCoreWmemMax?: number; - /** - * Sysctl setting net.ipv4.ip_local_port_range. - */ - netIpv4IpLocalPortRange?: string; - /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh1. - */ - netIpv4NeighDefaultGcThresh1?: number; - /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh2. - */ - netIpv4NeighDefaultGcThresh2?: number; - /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh3. - */ - netIpv4NeighDefaultGcThresh3?: number; - /** - * Sysctl setting net.ipv4.tcp_fin_timeout. - */ - netIpv4TcpFinTimeout?: number; - /** - * Sysctl setting net.ipv4.tcp_keepalive_probes. - */ - netIpv4TcpKeepaliveProbes?: number; - /** - * Sysctl setting net.ipv4.tcp_keepalive_time. - */ - netIpv4TcpKeepaliveTime?: number; - /** - * Sysctl setting net.ipv4.tcp_max_syn_backlog. - */ - netIpv4TcpMaxSynBacklog?: number; - /** - * Sysctl setting net.ipv4.tcp_max_tw_buckets. - */ - netIpv4TcpMaxTwBuckets?: number; - /** - * Sysctl setting net.ipv4.tcp_tw_reuse. - */ - netIpv4TcpTwReuse?: boolean; - /** - * Sysctl setting net.ipv4.tcp_keepalive_intvl. - */ - netIpv4TcpkeepaliveIntvl?: number; - /** - * Sysctl setting net.netfilter.nf_conntrack_buckets. - */ - netNetfilterNfConntrackBuckets?: number; - /** - * Sysctl setting net.netfilter.nf_conntrack_max. - */ - netNetfilterNfConntrackMax?: number; - /** - * Sysctl setting vm.max_map_count. - */ - vmMaxMapCount?: number; - /** - * Sysctl setting vm.swappiness. - */ - vmSwappiness?: number; - /** - * Sysctl setting vm.vfs_cache_pressure. - */ - vmVfsCachePressure?: number; - } - - /** - * Metadata pertaining to creation and last modification of the resource. - */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; - /** - * The type of identity that created the resource. - */ - createdByType?: string; - /** - * The timestamp of resource last modification (UTC) - */ - lastModifiedAt?: string; - /** - * The identity that last modified the resource. - */ - lastModifiedBy?: string; - /** - * The type of identity that last modified the resource. - */ - lastModifiedByType?: string; - } - - /** - * Time in a week. - */ - export interface TimeInWeekResponse { - /** - * The day of the week. - */ - day?: string; - /** - * Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. - */ - hourSlots?: number[]; - } - - /** - * For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. - */ - export interface TimeSpanResponse { - /** - * The end of a time span - */ - end?: string; - /** - * The start of a time span - */ - start?: string; - } - - /** - * A group to be updated. - */ - export interface UpdateGroupResponse { - /** - * The name of the Fleet member group to update. - * It should match the name of an existing FleetMember group. - * A group can only appear once across all UpdateStages in the UpdateRun. - */ - name: string; - } - - /** - * The status of a UpdateGroup. - */ - export interface UpdateGroupStatusResponse { - /** - * The list of member this UpdateGroup updates. - */ - members: outputs.containerservice.MemberUpdateStatusResponse[]; - /** - * The name of the UpdateGroup. - */ - name: string; - /** - * The status of the UpdateGroup. - */ - status: outputs.containerservice.UpdateStatusResponse; - } - - /** - * The status of a UpdateRun. - */ - export interface UpdateRunStatusResponse { - /** - * The stages composing an update run. Stages are run sequentially withing an UpdateRun. - */ - stages: outputs.containerservice.UpdateStageStatusResponse[]; - /** - * The status of the UpdateRun. - */ - status: outputs.containerservice.UpdateStatusResponse; - } - - /** - * The UpdateRunStrategy configures the sequence of Stages and Groups in which the clusters will be updated. - */ - export interface UpdateRunStrategyResponse { - /** - * The list of stages that compose this update run. - */ - stages: outputs.containerservice.UpdateStageResponse[]; - } - - /** - * Contains the groups to be updated by an UpdateRun. - * Update order: - * - Sequential between stages: Stages run sequentially. The previous stage must complete before the next one starts. - * - Parallel within a stage: Groups within a stage run in parallel. - * - Sequential within a group: Clusters within a group are updated sequentially. - */ - export interface UpdateStageResponse { - /** - * The time in seconds to wait at the end of this stage before starting the next one. Defaults to 0 seconds if unspecified. - */ - afterStageWaitInSeconds?: number; - /** - * A list of group names that compose the stage. - * The groups will be updated in parallel. Each group name can only appear once in the UpdateRun. - */ - groups?: outputs.containerservice.UpdateGroupResponse[]; - /** - * The name of the stage. Must be unique within the UpdateRun. - */ - name: string; - } - - /** - * The status of a UpdateStage. - */ - export interface UpdateStageStatusResponse { - /** - * The status of the wait period configured on the UpdateStage. - */ - afterStageWaitStatus: outputs.containerservice.WaitStatusResponse; - /** - * The list of groups to be updated as part of this UpdateStage. - */ - groups: outputs.containerservice.UpdateGroupStatusResponse[]; - /** - * The name of the UpdateStage. - */ - name: string; - /** - * The status of the UpdateStage. - */ - status: outputs.containerservice.UpdateStatusResponse; - } - - /** - * The status for an operation or group of operations. - */ - export interface UpdateStatusResponse { - /** - * The time the operation or group was completed. - */ - completedTime: string; - /** - * The error details when a failure is encountered. - */ - error: outputs.containerservice.ErrorDetailResponse; - /** - * The time the operation or group was started. - */ - startTime: string; - /** - * The State of the operation or group. - */ - state: string; - } - - /** - * Details about a user assigned identity. - */ - export interface UserAssignedIdentityResponse { - /** - * The client ID of the user assigned identity. - */ - clientId?: string; - /** - * The object ID of the user assigned identity. - */ - objectId?: string; - /** - * The resource ID of the user assigned identity. - */ - resourceId?: string; - } - - /** - * The status of the wait duration. - */ - export interface WaitStatusResponse { - /** - * The status of the wait duration. - */ - status: outputs.containerservice.UpdateStatusResponse; - /** - * The wait duration configured in seconds. - */ - waitDurationInSeconds: number; - } - - /** - * Windows gMSA Profile in the managed cluster. - */ - export interface WindowsGmsaProfileResponse { - /** - * Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - */ - dnsServer?: string; - /** - * Specifies whether to enable Windows gMSA in the managed cluster. - */ - enabled?: boolean; - /** - * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - */ - rootDomainName?: string; - } - - export namespace v20190601 { - /** - * Profile for Linux VMs in the container service cluster. - */ - export interface ContainerServiceLinuxProfileResponse { + export interface AuthInfoResponse { /** - * The administrator username to use for Linux VMs. + * Time in seconds that the token remains valid */ - adminUsername: string; + expiresIn?: number; /** - * SSH configuration for Linux-based VMs running on Azure. + * The refresh token used to refresh the access token. */ - ssh: outputs.containerservice.v20190601.ContainerServiceSshConfigurationResponse; + refreshToken?: string; + /** + * The scope of the access token. + */ + scope?: string; + /** + * The access token used to access the source control provider. + */ + token: string; + /** + * The type of Auth token. + */ + tokenType: string; } /** - * Profile of network configuration. + * Properties that describe a base image dependency. */ - export interface ContainerServiceNetworkProfileResponse { + export interface BaseImageDependencyResponse { /** - * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + * The sha256-based digest of the image manifest. */ - dnsServiceIP?: string; + digest?: string; /** - * A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range. + * The registry login server. */ - dockerBridgeCidr?: string; + registry?: string; /** - * The load balancer sku for the managed cluster. + * The repository name. */ - loadBalancerSku?: string; + repository?: string; /** - * Network plugin used for building Kubernetes network. + * The tag name. */ - networkPlugin?: string; + tag?: string; /** - * Network policy used for building Kubernetes network. + * The type of the base image dependency. */ - networkPolicy?: string; + type?: string; + } + + /** + * The trigger based on base image dependency. + */ + export interface BaseImageTriggerResponse { /** - * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + * The type of the auto trigger for base image dependency updates. */ - podCidr?: string; + baseImageTriggerType: string; /** - * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + * The name of the trigger. */ - serviceCidr?: string; + name: string; + /** + * The current status of trigger. + */ + status?: string; } /** - * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse + * baseImageTriggerResponseProvideDefaults sets the appropriate defaults for BaseImageTriggerResponse */ - export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { + export function baseImageTriggerResponseProvideDefaults(val: BaseImageTriggerResponse): BaseImageTriggerResponse { return { ...val, - dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - dockerBridgeCidr: (val.dockerBridgeCidr) ?? "172.17.0.1/16", - networkPlugin: (val.networkPlugin) ?? "kubenet", - podCidr: (val.podCidr) ?? "10.244.0.0/16", - serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", + status: (val.status) ?? "Enabled", }; } /** - * SSH configuration for Linux-based VMs running on Azure. + * The parameters that describes a set of credentials that will be used when a run is invoked. */ - export interface ContainerServiceSshConfigurationResponse { + export interface CredentialsResponse { /** - * The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified. + * Describes the credential parameters for accessing other custom registries. The key + * for the dictionary item will be the registry login server (myregistry.azurecr.io) and + * the value of the item will be the registry credentials for accessing the registry. */ - publicKeys: outputs.containerservice.v20190601.ContainerServiceSshPublicKeyResponse[]; - } - - /** - * Contains information about SSH certificate public key data. - */ - export interface ContainerServiceSshPublicKeyResponse { + customRegistries?: {[key: string]: outputs.containerregistry.v20190401.CustomRegistryCredentialsResponse}; /** - * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + * Describes the credential parameters for accessing the source registry. */ - keyData: string; + sourceRegistry?: outputs.containerregistry.v20190401.SourceRegistryCredentialsResponse; } /** - * The credential result response. + * Describes the credentials that will be used to access a custom registry during a run. */ - export interface CredentialResultResponse { + export interface CustomRegistryCredentialsResponse { /** - * The name of the credential. + * Indicates the managed identity assigned to the custom credential. If a user-assigned identity + * this value is the Client ID. If a system-assigned identity, the value will be `system`. In + * the case of a system-assigned identity, the Client ID will be determined by the runner. This + * identity may be used to authenticate to key vault to retrieve credentials or it may be the only + * source of authentication used for accessing the registry. */ - name: string; + identity?: string; /** - * Base64-encoded Kubernetes configuration file. + * The password for logging into the custom registry. The password is a secret + * object that allows multiple ways of providing the value for it. */ - value: string; + password?: outputs.containerregistry.v20190401.SecretObjectResponse; + /** + * The username for logging into the custom registry. + */ + userName?: outputs.containerregistry.v20190401.SecretObjectResponse; } /** - * AADProfile specifies attributes for Azure Active Directory integration. + * The Docker build step. */ - export interface ManagedClusterAADProfileResponse { + export interface DockerBuildStepResponse { /** - * The client AAD application ID. + * The collection of override arguments to be used when executing this build step. */ - clientAppID: string; + arguments?: outputs.containerregistry.v20190401.ArgumentResponse[]; /** - * The server AAD application ID. + * List of base image dependencies for a step. */ - serverAppID: string; + baseImageDependencies: outputs.containerregistry.v20190401.BaseImageDependencyResponse[]; /** - * The server AAD application secret. + * The token (git PAT or SAS token of storage account blob) associated with the context for a step. */ - serverAppSecret?: string; + contextAccessToken?: string; /** - * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + * The URL(absolute or relative) of the source context for the task step. */ - tenantID?: string; - } - - /** - * A Kubernetes add-on profile for a managed cluster. - */ - export interface ManagedClusterAddonProfileResponse { + contextPath?: string; /** - * Key-value pairs for configuring an add-on. + * The Docker file path relative to the source context. */ - config?: {[key: string]: string}; + dockerFilePath: string; /** - * Whether the add-on is enabled or not. + * The fully qualified image names including the repository and tag. */ - enabled: boolean; - } - - /** - * Profile for the container service agent pool. - */ - export interface ManagedClusterAgentPoolProfileResponse { + imageNames?: string[]; /** - * (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. + * The value of this property indicates whether the image built should be pushed to the registry or not. */ - availabilityZones?: string[]; + isPushEnabled?: boolean; /** - * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + * The value of this property indicates whether the image cache is enabled or not. */ - count?: number; + noCache?: boolean; /** - * Whether to enable auto-scaler + * The name of the target build stage for the docker build. */ - enableAutoScaling?: boolean; + target?: string; /** - * Enable public IP for nodes + * The type of the step. + * Expected value is 'Docker'. */ - enableNodePublicIP?: boolean; + type: "Docker"; + } + /** + * dockerBuildStepResponseProvideDefaults sets the appropriate defaults for DockerBuildStepResponse + */ + export function dockerBuildStepResponseProvideDefaults(val: DockerBuildStepResponse): DockerBuildStepResponse { + return { + ...val, + isPushEnabled: (val.isPushEnabled) ?? true, + noCache: (val.noCache) ?? false, + }; + } + + /** + * The properties of a encoded task step. + */ + export interface EncodedTaskStepResponse { /** - * Maximum number of nodes for auto-scaling + * List of base image dependencies for a step. */ - maxCount?: number; + baseImageDependencies: outputs.containerregistry.v20190401.BaseImageDependencyResponse[]; /** - * Maximum number of pods that can run on a node. + * The token (git PAT or SAS token of storage account blob) associated with the context for a step. */ - maxPods?: number; + contextAccessToken?: string; /** - * Minimum number of nodes for auto-scaling + * The URL(absolute or relative) of the source context for the task step. */ - minCount?: number; + contextPath?: string; /** - * Unique name of the agent pool profile in the context of the subscription and resource group. + * Base64 encoded value of the template/definition file content. */ - name: string; + encodedTaskContent: string; /** - * Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + * Base64 encoded value of the parameters/values file content. */ - nodeTaints?: string[]; + encodedValuesContent?: string; /** - * Version of orchestrator specified when creating the managed cluster. + * The type of the step. + * Expected value is 'EncodedTask'. */ - orchestratorVersion?: string; + type: "EncodedTask"; /** - * OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + * The collection of overridable values that can be passed when running a task. */ - osDiskSizeGB?: number; + values?: outputs.containerregistry.v20190401.SetValueResponse[]; + } + + /** + * The properties of a task step. + */ + export interface FileTaskStepResponse { /** - * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. + * List of base image dependencies for a step. */ - osType?: string; + baseImageDependencies: outputs.containerregistry.v20190401.BaseImageDependencyResponse[]; /** - * The current deployment or provisioning state, which only appears in the response. + * The token (git PAT or SAS token of storage account blob) associated with the context for a step. */ - provisioningState: string; + contextAccessToken?: string; /** - * ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. + * The URL(absolute or relative) of the source context for the task step. */ - scaleSetEvictionPolicy?: string; + contextPath?: string; /** - * ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. + * The task template/definition file path relative to the source context. */ - scaleSetPriority?: string; + taskFilePath: string; /** - * AgentPoolType represents types of an agent pool + * The type of the step. + * Expected value is 'FileTask'. */ - type?: string; + type: "FileTask"; /** - * Size of agent VMs. + * The collection of overridable values that can be passed when running a task. */ - vmSize?: string; + values?: outputs.containerregistry.v20190401.SetValueResponse[]; /** - * VNet SubnetID specifies the VNet's subnet identifier. + * The task values/parameters file path relative to the source context. */ - vnetSubnetID?: string; + valuesFilePath?: string; } /** - * Identity for the managed cluster. + * Managed identity for the resource. */ - export interface ManagedClusterIdentityResponse { + export interface IdentityPropertiesResponse { /** - * The principal id of the system assigned identity which is used by master components. + * The principal ID of resource identity. */ - principalId: string; + principalId?: string; /** - * The tenant id of the system assigned identity which is used by master components. + * The tenant ID of resource. */ - tenantId: string; + tenantId?: string; /** - * The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead. + * The identity type. */ type?: string; + /** + * The list of user identities associated with the resource. The user identity + * dictionary key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: {[key: string]: outputs.containerregistry.v20190401.UserIdentityPropertiesResponse}; } /** - * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + * The platform properties against which the run has to happen. */ - export interface ManagedClusterServicePrincipalProfileResponse { + export interface PlatformPropertiesResponse { /** - * The ID for the service principal. + * The OS architecture. */ - clientId: string; + architecture?: string; /** - * The secret password associated with the service principal in plain text. + * The operating system type required for the run. */ - secret?: string; + os: string; + /** + * Variant of the CPU. + */ + variant?: string; } /** - * Profile for Windows VMs in the container service cluster. + * Describes the properties of a secret object value. */ - export interface ManagedClusterWindowsProfileResponse { + export interface SecretObjectResponse { /** - * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + * The type of the secret object which determines how the value of the secret object has to be + * interpreted. */ - adminPassword?: string; + type?: string; /** - * Specifies the name of the administrator account.

**restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + * The value of the secret. The format of this value will be determined + * based on the type of the secret object. If the type is Opaque, the value will be + * used as is without any modification. */ - adminUsername: string; + value?: string; } - } - - export namespace v20191027preview { /** - * Represents the OpenShift networking configuration + * The properties of a overridable value that can be passed to a task template. */ - export interface NetworkProfileResponse { + export interface SetValueResponse { /** - * CIDR of subnet used to create PLS needed for management of the cluster + * Flag to indicate whether the value represents a secret or not. */ - managementSubnetCidr?: string; + isSecret?: boolean; /** - * CIDR for the OpenShift Vnet. + * The name of the overridable value. */ - vnetCidr?: string; + name: string; /** - * ID of the Vnet created for OSA cluster. + * The overridable value. */ - vnetId?: string; + value: string; } /** - * networkProfileResponseProvideDefaults sets the appropriate defaults for NetworkProfileResponse + * setValueResponseProvideDefaults sets the appropriate defaults for SetValueResponse */ - export function networkProfileResponseProvideDefaults(val: NetworkProfileResponse): NetworkProfileResponse { + export function setValueResponseProvideDefaults(val: SetValueResponse): SetValueResponse { return { ...val, - vnetCidr: (val.vnetCidr) ?? "10.0.0.0/8", + isSecret: (val.isSecret) ?? false, }; } /** - * Defines further properties on the API. - */ - export interface OpenShiftAPIPropertiesResponse { - /** - * Specifies if API server is public or private. - */ - privateApiServer?: boolean; - } - - /** - * Defines the Identity provider for MS AAD. + * The properties of the source code repository. */ - export interface OpenShiftManagedClusterAADIdentityProviderResponse { - /** - * The clientId password associated with the provider. - */ - clientId?: string; + export interface SourcePropertiesResponse { /** - * The groupId to be granted cluster admin role. + * The branch name of the source code. */ - customerAdminGroupId?: string; + branch?: string; /** - * The kind of the provider. - * Expected value is 'AADIdentityProvider'. + * The full URL to the source code repository */ - kind: "AADIdentityProvider"; + repositoryUrl: string; /** - * The secret password associated with the provider. + * The authorization properties for accessing the source code repository and to set up + * webhooks for notifications. */ - secret?: string; + sourceControlAuthProperties?: outputs.containerregistry.v20190401.AuthInfoResponse; /** - * The tenantId associated with the provider. + * The type of source control service. */ - tenantId?: string; + sourceControlType: string; } /** - * Defines the configuration of the OpenShift cluster VMs. + * Describes the credential parameters for accessing the source registry. */ - export interface OpenShiftManagedClusterAgentPoolProfileResponse { + export interface SourceRegistryCredentialsResponse { /** - * Number of agents (VMs) to host docker containers. + * The authentication mode which determines the source registry login scope. The credentials for the source registry + * will be generated using the given scope. These credentials will be used to login to + * the source registry during the run. */ - count: number; + loginMode?: string; + } + + /** + * The properties of a source based trigger. + */ + export interface SourceTriggerResponse { /** - * Unique name of the pool profile in the context of the subscription and resource group. + * The name of the trigger. */ name: string; /** - * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. - */ - osType?: string; - /** - * Define the role of the AgentPoolProfile. + * The properties that describes the source(code) for the task. */ - role?: string; + sourceRepository: outputs.containerregistry.v20190401.SourcePropertiesResponse; /** - * Subnet CIDR for the peering. + * The source event corresponding to the trigger. */ - subnetCidr?: string; + sourceTriggerEvents: string[]; /** - * Size of agent VMs. + * The current status of trigger. */ - vmSize: string; + status?: string; } /** - * openShiftManagedClusterAgentPoolProfileResponseProvideDefaults sets the appropriate defaults for OpenShiftManagedClusterAgentPoolProfileResponse + * sourceTriggerResponseProvideDefaults sets the appropriate defaults for SourceTriggerResponse */ - export function openShiftManagedClusterAgentPoolProfileResponseProvideDefaults(val: OpenShiftManagedClusterAgentPoolProfileResponse): OpenShiftManagedClusterAgentPoolProfileResponse { + export function sourceTriggerResponseProvideDefaults(val: SourceTriggerResponse): SourceTriggerResponse { return { ...val, - subnetCidr: (val.subnetCidr) ?? "10.0.0.0/24", + status: (val.status) ?? "Enabled", }; } /** - * Defines all possible authentication profiles for the OpenShift cluster. + * The properties of a timer trigger. */ - export interface OpenShiftManagedClusterAuthProfileResponse { + export interface TimerTriggerResponse { /** - * Type of authentication profile to use. + * The name of the trigger. */ - identityProviders?: outputs.containerservice.v20191027preview.OpenShiftManagedClusterIdentityProviderResponse[]; - } - - /** - * Defines the configuration of the identity providers to be used in the OpenShift cluster. - */ - export interface OpenShiftManagedClusterIdentityProviderResponse { + name: string; /** - * Name of the provider. + * The CRON expression for the task schedule */ - name?: string; + schedule: string; /** - * Configuration of the provider. + * The current status of trigger. */ - provider?: outputs.containerservice.v20191027preview.OpenShiftManagedClusterAADIdentityProviderResponse; + status?: string; + } + /** + * timerTriggerResponseProvideDefaults sets the appropriate defaults for TimerTriggerResponse + */ + export function timerTriggerResponseProvideDefaults(val: TimerTriggerResponse): TimerTriggerResponse { + return { + ...val, + status: (val.status) ?? "Enabled", + }; } /** - * OpenShiftManagedClusterMaterPoolProfile contains configuration for OpenShift master VMs. + * The properties of a trigger. */ - export interface OpenShiftManagedClusterMasterPoolProfileResponse { + export interface TriggerPropertiesResponse { /** - * Defines further properties on the API. + * The trigger based on base image dependencies. */ - apiProperties?: outputs.containerservice.v20191027preview.OpenShiftAPIPropertiesResponse; + baseImageTrigger?: outputs.containerregistry.v20190401.BaseImageTriggerResponse; /** - * Number of masters (VMs) to host docker containers. The default value is 3. + * The collection of triggers based on source code repository. */ - count: number; + sourceTriggers?: outputs.containerregistry.v20190401.SourceTriggerResponse[]; /** - * Subnet CIDR for the peering. + * The collection of timer triggers. */ - subnetCidr?: string; + timerTriggers?: outputs.containerregistry.v20190401.TimerTriggerResponse[]; + } + /** + * triggerPropertiesResponseProvideDefaults sets the appropriate defaults for TriggerPropertiesResponse + */ + export function triggerPropertiesResponseProvideDefaults(val: TriggerPropertiesResponse): TriggerPropertiesResponse { + return { + ...val, + baseImageTrigger: (val.baseImageTrigger ? outputs.containerregistry.v20190401.baseImageTriggerResponseProvideDefaults(val.baseImageTrigger) : undefined), + }; + } + + export interface UserIdentityPropertiesResponse { /** - * Size of agent VMs. + * The client id of user assigned identity. */ - vmSize: string; + clientId?: string; + /** + * The principal id of user assigned identity. + */ + principalId?: string; } + } + + export namespace v20190501 { /** - * Defines the configuration for Log Analytics integration. + * IP rule with specific IP or IP range in CIDR format. */ - export interface OpenShiftManagedClusterMonitorProfileResponse { + export interface IPRuleResponse { /** - * If the Log analytics integration should be turned on or off + * The action of IP ACL rule. */ - enabled?: boolean; + action?: string; /** - * Azure Resource Manager Resource ID for the Log Analytics workspace to integrate with. + * Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. */ - workspaceResourceID?: string; + iPAddressOrRange: string; + } + /** + * ipruleResponseProvideDefaults sets the appropriate defaults for IPRuleResponse + */ + export function ipruleResponseProvideDefaults(val: IPRuleResponse): IPRuleResponse { + return { + ...val, + action: (val.action) ?? "Allow", + }; } /** - * Represents an OpenShift router + * The network rule set for a container registry. */ - export interface OpenShiftRouterProfileResponse { + export interface NetworkRuleSetResponse { /** - * Auto-allocated FQDN for the OpenShift router. + * The default action of allow or deny when no other rules match. */ - fqdn: string; + defaultAction: string; /** - * Name of the router profile. + * The IP ACL rules. */ - name?: string; + ipRules?: outputs.containerregistry.v20190501.IPRuleResponse[]; /** - * DNS subdomain for OpenShift router. + * The virtual network rules. */ - publicSubdomain: string; + virtualNetworkRules?: outputs.containerregistry.v20190501.VirtualNetworkRuleResponse[]; + } + /** + * networkRuleSetResponseProvideDefaults sets the appropriate defaults for NetworkRuleSetResponse + */ + export function networkRuleSetResponseProvideDefaults(val: NetworkRuleSetResponse): NetworkRuleSetResponse { + return { + ...val, + defaultAction: (val.defaultAction) ?? "Allow", + }; } /** - * Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + * The policies for a container registry. */ - export interface PurchasePlanResponse { - /** - * The plan ID. - */ - name?: string; + export interface PoliciesResponse { /** - * Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + * The quarantine policy for a container registry. */ - product?: string; + quarantinePolicy?: outputs.containerregistry.v20190501.QuarantinePolicyResponse; /** - * The promotion code. + * The retention policy for a container registry. */ - promotionCode?: string; + retentionPolicy?: outputs.containerregistry.v20190501.RetentionPolicyResponse; /** - * The plan ID. + * The content trust policy for a container registry. */ - publisher?: string; + trustPolicy?: outputs.containerregistry.v20190501.TrustPolicyResponse; } - - } - - export namespace v20200601 { /** - * Settings for upgrading an agentpool + * policiesResponseProvideDefaults sets the appropriate defaults for PoliciesResponse */ - export interface AgentPoolUpgradeSettingsResponse { - /** - * Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default - */ - maxSurge?: string; + export function policiesResponseProvideDefaults(val: PoliciesResponse): PoliciesResponse { + return { + ...val, + quarantinePolicy: (val.quarantinePolicy ? outputs.containerregistry.v20190501.quarantinePolicyResponseProvideDefaults(val.quarantinePolicy) : undefined), + retentionPolicy: (val.retentionPolicy ? outputs.containerregistry.v20190501.retentionPolicyResponseProvideDefaults(val.retentionPolicy) : undefined), + trustPolicy: (val.trustPolicy ? outputs.containerregistry.v20190501.trustPolicyResponseProvideDefaults(val.trustPolicy) : undefined), + }; } - } - - export namespace v20210201 { /** - * Settings for upgrading an agentpool + * The quarantine policy for a container registry. */ - export interface AgentPoolUpgradeSettingsResponse { + export interface QuarantinePolicyResponse { /** - * Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default + * The value that indicates whether the policy is enabled or not. */ - maxSurge?: string; + status?: string; + } + /** + * quarantinePolicyResponseProvideDefaults sets the appropriate defaults for QuarantinePolicyResponse + */ + export function quarantinePolicyResponseProvideDefaults(val: QuarantinePolicyResponse): QuarantinePolicyResponse { + return { + ...val, + status: (val.status) ?? "disabled", + }; } /** - * Kubelet configurations of agent nodes. + * The login password for the container registry. */ - export interface KubeletConfigResponse { + export interface RegistryPasswordResponse { /** - * Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + * The password name. */ - allowedUnsafeSysctls?: string[]; + name?: string; /** - * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + * The password value. */ - containerLogMaxFiles?: number; + value?: string; + } + + /** + * The retention policy for a container registry. + */ + export interface RetentionPolicyResponse { /** - * The maximum size (e.g. 10Mi) of container log file before it is rotated. + * The number of days to retain an untagged manifest after which it gets purged. */ - containerLogMaxSizeMB?: number; + days?: number; /** - * Enable CPU CFS quota enforcement for containers that specify CPU limits. + * The timestamp when the policy was last updated. */ - cpuCfsQuota?: boolean; + lastUpdatedTime: string; /** - * Sets CPU CFS quota period value. + * The value that indicates whether the policy is enabled or not. */ - cpuCfsQuotaPeriod?: string; + status?: string; + } + /** + * retentionPolicyResponseProvideDefaults sets the appropriate defaults for RetentionPolicyResponse + */ + export function retentionPolicyResponseProvideDefaults(val: RetentionPolicyResponse): RetentionPolicyResponse { + return { + ...val, + days: (val.days) ?? 7, + status: (val.status) ?? "disabled", + }; + } + + /** + * The SKU of a container registry. + */ + export interface SkuResponse { /** - * CPU Manager policy to use. + * The SKU name of the container registry. Required for registry creation. */ - cpuManagerPolicy?: string; + name: string; /** - * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + * The SKU tier based on the SKU name. */ - failSwapOn?: boolean; + tier: string; + } + + /** + * The status of an Azure resource at the time the operation was called. + */ + export interface StatusResponse { /** - * The percent of disk usage after which image garbage collection is always run. + * The short label for the status. */ - imageGcHighThreshold?: number; + displayStatus: string; /** - * The percent of disk usage before which image garbage collection is never run. + * The detailed message for the status, including alerts and error messages. */ - imageGcLowThreshold?: number; + message: string; /** - * The maximum number of processes per pod. + * The timestamp when the status was changed to the current value. */ - podMaxPids?: number; + timestamp: string; + } + + /** + * The properties of a storage account for a container registry. Only applicable to Classic SKU. + */ + export interface StorageAccountPropertiesResponse { /** - * Topology Manager policy to use. + * The resource ID of the storage account. */ - topologyManagerPolicy?: string; + id: string; } /** - * OS configurations of Linux agent nodes. + * The content trust policy for a container registry. */ - export interface LinuxOSConfigResponse { + export interface TrustPolicyResponse { /** - * SwapFileSizeMB specifies size in MB of a swap file will be created on each node. + * The value that indicates whether the policy is enabled or not. */ - swapFileSizeMB?: number; + status?: string; /** - * Sysctl settings for Linux agent nodes. + * The type of trust policy. */ - sysctls?: outputs.containerservice.v20210201.SysctlConfigResponse; - /** - * Transparent Huge Page defrag configuration. + type?: string; + } + /** + * trustPolicyResponseProvideDefaults sets the appropriate defaults for TrustPolicyResponse + */ + export function trustPolicyResponseProvideDefaults(val: TrustPolicyResponse): TrustPolicyResponse { + return { + ...val, + status: (val.status) ?? "disabled", + type: (val.type) ?? "Notary", + }; + } + + /** + * Virtual network rule. + */ + export interface VirtualNetworkRuleResponse { + /** + * The action of virtual network rule. */ - transparentHugePageDefrag?: string; + action?: string; /** - * Transparent Huge Page enabled configuration. + * Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. */ - transparentHugePageEnabled?: string; + virtualNetworkResourceId: string; + } + /** + * virtualNetworkRuleResponseProvideDefaults sets the appropriate defaults for VirtualNetworkRuleResponse + */ + export function virtualNetworkRuleResponseProvideDefaults(val: VirtualNetworkRuleResponse): VirtualNetworkRuleResponse { + return { + ...val, + action: (val.action) ?? "Allow", + }; } + } + + export namespace v20190601preview { /** - * Describes the Power State of the cluster + * The properties that determine the run agent configuration. */ - export interface PowerStateResponse { + export interface AgentPropertiesResponse { /** - * Tells whether the cluster is Running or Stopped + * The CPU configuration in terms of number of cores required for the run. */ - code?: string; + cpu?: number; } /** - * Sysctl settings for Linux agent nodes. + * The properties of a run argument. */ - export interface SysctlConfigResponse { + export interface ArgumentResponse { /** - * Sysctl setting fs.aio-max-nr. + * Flag to indicate whether the argument represents a secret and want to be removed from build logs. */ - fsAioMaxNr?: number; + isSecret?: boolean; /** - * Sysctl setting fs.file-max. + * The name of the argument. */ - fsFileMax?: number; + name: string; /** - * Sysctl setting fs.inotify.max_user_watches. + * The value of the argument. */ - fsInotifyMaxUserWatches?: number; + value: string; + } + /** + * argumentResponseProvideDefaults sets the appropriate defaults for ArgumentResponse + */ + export function argumentResponseProvideDefaults(val: ArgumentResponse): ArgumentResponse { + return { + ...val, + isSecret: (val.isSecret) ?? false, + }; + } + + /** + * The authorization properties for accessing the source code repository. + */ + export interface AuthInfoResponse { /** - * Sysctl setting fs.nr_open. + * Time in seconds that the token remains valid */ - fsNrOpen?: number; + expiresIn?: number; /** - * Sysctl setting kernel.threads-max. + * The refresh token used to refresh the access token. */ - kernelThreadsMax?: number; + refreshToken?: string; /** - * Sysctl setting net.core.netdev_max_backlog. + * The scope of the access token. */ - netCoreNetdevMaxBacklog?: number; + scope?: string; /** - * Sysctl setting net.core.optmem_max. + * The access token used to access the source control provider. */ - netCoreOptmemMax?: number; + token: string; /** - * Sysctl setting net.core.rmem_default. + * The type of Auth token. */ - netCoreRmemDefault?: number; + tokenType: string; + } + + /** + * Properties that describe a base image dependency. + */ + export interface BaseImageDependencyResponse { /** - * Sysctl setting net.core.rmem_max. + * The sha256-based digest of the image manifest. */ - netCoreRmemMax?: number; + digest?: string; /** - * Sysctl setting net.core.somaxconn. + * The registry login server. */ - netCoreSomaxconn?: number; + registry?: string; /** - * Sysctl setting net.core.wmem_default. + * The repository name. */ - netCoreWmemDefault?: number; + repository?: string; /** - * Sysctl setting net.core.wmem_max. + * The tag name. */ - netCoreWmemMax?: number; + tag?: string; /** - * Sysctl setting net.ipv4.ip_local_port_range. + * The type of the base image dependency. */ - netIpv4IpLocalPortRange?: string; + type?: string; + } + + /** + * The trigger based on base image dependency. + */ + export interface BaseImageTriggerResponse { /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + * The type of the auto trigger for base image dependency updates. */ - netIpv4NeighDefaultGcThresh1?: number; + baseImageTriggerType: string; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + * The name of the trigger. */ - netIpv4NeighDefaultGcThresh2?: number; + name: string; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + * The current status of trigger. */ - netIpv4NeighDefaultGcThresh3?: number; + status?: string; /** - * Sysctl setting net.ipv4.tcp_fin_timeout. + * The endpoint URL for receiving update triggers. */ - netIpv4TcpFinTimeout?: number; + updateTriggerEndpoint?: string; /** - * Sysctl setting net.ipv4.tcp_keepalive_probes. + * Type of Payload body for Base image update triggers. */ - netIpv4TcpKeepaliveProbes?: number; + updateTriggerPayloadType?: string; + } + /** + * baseImageTriggerResponseProvideDefaults sets the appropriate defaults for BaseImageTriggerResponse + */ + export function baseImageTriggerResponseProvideDefaults(val: BaseImageTriggerResponse): BaseImageTriggerResponse { + return { + ...val, + status: (val.status) ?? "Enabled", + }; + } + + /** + * The parameters that describes a set of credentials that will be used when a run is invoked. + */ + export interface CredentialsResponse { /** - * Sysctl setting net.ipv4.tcp_keepalive_time. + * Describes the credential parameters for accessing other custom registries. The key + * for the dictionary item will be the registry login server (myregistry.azurecr.io) and + * the value of the item will be the registry credentials for accessing the registry. */ - netIpv4TcpKeepaliveTime?: number; + customRegistries?: {[key: string]: outputs.containerregistry.v20190601preview.CustomRegistryCredentialsResponse}; /** - * Sysctl setting net.ipv4.tcp_max_syn_backlog. + * Describes the credential parameters for accessing the source registry. */ - netIpv4TcpMaxSynBacklog?: number; + sourceRegistry?: outputs.containerregistry.v20190601preview.SourceRegistryCredentialsResponse; + } + + /** + * Describes the credentials that will be used to access a custom registry during a run. + */ + export interface CustomRegistryCredentialsResponse { /** - * Sysctl setting net.ipv4.tcp_max_tw_buckets. + * Indicates the managed identity assigned to the custom credential. If a user-assigned identity + * this value is the Client ID. If a system-assigned identity, the value will be `system`. In + * the case of a system-assigned identity, the Client ID will be determined by the runner. This + * identity may be used to authenticate to key vault to retrieve credentials or it may be the only + * source of authentication used for accessing the registry. */ - netIpv4TcpMaxTwBuckets?: number; + identity?: string; /** - * Sysctl setting net.ipv4.tcp_tw_reuse. + * The password for logging into the custom registry. The password is a secret + * object that allows multiple ways of providing the value for it. */ - netIpv4TcpTwReuse?: boolean; + password?: outputs.containerregistry.v20190601preview.SecretObjectResponse; /** - * Sysctl setting net.ipv4.tcp_keepalive_intvl. + * The username for logging into the custom registry. */ - netIpv4TcpkeepaliveIntvl?: number; + userName?: outputs.containerregistry.v20190601preview.SecretObjectResponse; + } + + /** + * The parameters for a docker quick build. + */ + export interface DockerBuildRequestResponse { /** - * Sysctl setting net.netfilter.nf_conntrack_buckets. + * The machine configuration of the run agent. */ - netNetfilterNfConntrackBuckets?: number; + agentConfiguration?: outputs.containerregistry.v20190601preview.AgentPropertiesResponse; /** - * Sysctl setting net.netfilter.nf_conntrack_max. + * The dedicated agent pool for the run. */ - netNetfilterNfConntrackMax?: number; + agentPoolName?: string; /** - * Sysctl setting vm.max_map_count. + * The collection of override arguments to be used when executing the run. */ - vmMaxMapCount?: number; + arguments?: outputs.containerregistry.v20190601preview.ArgumentResponse[]; /** - * Sysctl setting vm.swappiness. + * The properties that describes a set of credentials that will be used when this run is invoked. */ - vmSwappiness?: number; + credentials?: outputs.containerregistry.v20190601preview.CredentialsResponse; /** - * Sysctl setting vm.vfs_cache_pressure. + * The Docker file path relative to the source location. */ - vmVfsCachePressure?: number; - } - - } - - export namespace v20210501 { - /** - * Settings for upgrading an agentpool - */ - export interface AgentPoolUpgradeSettingsResponse { + dockerFilePath: string; /** - * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + * The fully qualified image names including the repository and tag. */ - maxSurge?: string; - } - - /** - * Profile for Linux VMs in the container service cluster. - */ - export interface ContainerServiceLinuxProfileResponse { + imageNames?: string[]; /** - * The administrator username to use for Linux VMs. + * The value that indicates whether archiving is enabled for the run or not. */ - adminUsername: string; + isArchiveEnabled?: boolean; /** - * The SSH configuration for Linux-based VMs running on Azure. + * The value of this property indicates whether the image built should be pushed to the registry or not. */ - ssh: outputs.containerservice.v20210501.ContainerServiceSshConfigurationResponse; + isPushEnabled?: boolean; + /** + * The template that describes the repository and tag information for run log artifact. + */ + logTemplate?: string; + /** + * The value of this property indicates whether the image cache is enabled or not. + */ + noCache?: boolean; + /** + * The platform properties against which the run has to happen. + */ + platform: outputs.containerregistry.v20190601preview.PlatformPropertiesResponse; + /** + * The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository. + * If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API. + */ + sourceLocation?: string; + /** + * The name of the target build stage for the docker build. + */ + target?: string; + /** + * Run timeout in seconds. + */ + timeout?: number; + /** + * The type of the run request. + * Expected value is 'DockerBuildRequest'. + */ + type: "DockerBuildRequest"; + } + /** + * dockerBuildRequestResponseProvideDefaults sets the appropriate defaults for DockerBuildRequestResponse + */ + export function dockerBuildRequestResponseProvideDefaults(val: DockerBuildRequestResponse): DockerBuildRequestResponse { + return { + ...val, + isArchiveEnabled: (val.isArchiveEnabled) ?? false, + isPushEnabled: (val.isPushEnabled) ?? true, + noCache: (val.noCache) ?? false, + timeout: (val.timeout) ?? 3600, + }; } /** - * Profile of network configuration. + * The Docker build step. */ - export interface ContainerServiceNetworkProfileResponse { + export interface DockerBuildStepResponse { /** - * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + * The collection of override arguments to be used when executing this build step. */ - dnsServiceIP?: string; + arguments?: outputs.containerregistry.v20190601preview.ArgumentResponse[]; /** - * A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range. + * List of base image dependencies for a step. */ - dockerBridgeCidr?: string; + baseImageDependencies: outputs.containerregistry.v20190601preview.BaseImageDependencyResponse[]; /** - * Profile of the cluster load balancer. + * The token (git PAT or SAS token of storage account blob) associated with the context for a step. */ - loadBalancerProfile?: outputs.containerservice.v20210501.ManagedClusterLoadBalancerProfileResponse; + contextAccessToken?: string; /** - * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + * The URL(absolute or relative) of the source context for the task step. */ - loadBalancerSku?: string; + contextPath?: string; /** - * This cannot be specified if networkPlugin is anything other than 'azure'. + * The Docker file path relative to the source context. */ - networkMode?: string; + dockerFilePath: string; /** - * Network plugin used for building the Kubernetes network. + * The fully qualified image names including the repository and tag. */ - networkPlugin?: string; + imageNames?: string[]; /** - * Network policy used for building the Kubernetes network. + * The value of this property indicates whether the image built should be pushed to the registry or not. */ - networkPolicy?: string; + isPushEnabled?: boolean; /** - * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + * The value of this property indicates whether the image cache is enabled or not. */ - outboundType?: string; + noCache?: boolean; /** - * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + * The name of the target build stage for the docker build. */ - podCidr?: string; + target?: string; /** - * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + * The type of the step. + * Expected value is 'Docker'. */ - serviceCidr?: string; + type: "Docker"; } /** - * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse + * dockerBuildStepResponseProvideDefaults sets the appropriate defaults for DockerBuildStepResponse */ - export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { + export function dockerBuildStepResponseProvideDefaults(val: DockerBuildStepResponse): DockerBuildStepResponse { return { ...val, - dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - dockerBridgeCidr: (val.dockerBridgeCidr) ?? "172.17.0.1/16", - loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.v20210501.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), - networkPlugin: (val.networkPlugin) ?? "kubenet", - outboundType: (val.outboundType) ?? "loadBalancer", - podCidr: (val.podCidr) ?? "10.244.0.0/16", - serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", + isPushEnabled: (val.isPushEnabled) ?? true, + noCache: (val.noCache) ?? false, }; } /** - * SSH configuration for Linux-based VMs running on Azure. + * The parameters for a quick task run request. */ - export interface ContainerServiceSshConfigurationResponse { + export interface EncodedTaskRunRequestResponse { /** - * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + * The machine configuration of the run agent. */ - publicKeys: outputs.containerservice.v20210501.ContainerServiceSshPublicKeyResponse[]; - } - - /** - * Contains information about SSH certificate public key data. - */ - export interface ContainerServiceSshPublicKeyResponse { + agentConfiguration?: outputs.containerregistry.v20190601preview.AgentPropertiesResponse; /** - * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + * The dedicated agent pool for the run. */ - keyData: string; - } - - /** - * The credential result response. - */ - export interface CredentialResultResponse { + agentPoolName?: string; /** - * The name of the credential. + * The properties that describes a set of credentials that will be used when this run is invoked. */ - name: string; + credentials?: outputs.containerregistry.v20190601preview.CredentialsResponse; /** - * Base64-encoded Kubernetes configuration file. + * Base64 encoded value of the template/definition file content. */ - value: string; - } - - /** - * The complex type of the extended location. - */ - export interface ExtendedLocationResponse { + encodedTaskContent: string; /** - * The name of the extended location. + * Base64 encoded value of the parameters/values file content. */ - name?: string; + encodedValuesContent?: string; /** - * The type of the extended location. + * The value that indicates whether archiving is enabled for the run or not. */ - type?: string; - } - - /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - */ - export interface KubeletConfigResponse { + isArchiveEnabled?: boolean; /** - * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + * The template that describes the repository and tag information for run log artifact. */ - allowedUnsafeSysctls?: string[]; + logTemplate?: string; /** - * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + * The platform properties against which the run has to happen. */ - containerLogMaxFiles?: number; + platform: outputs.containerregistry.v20190601preview.PlatformPropertiesResponse; /** - * The maximum size (e.g. 10Mi) of container log file before it is rotated. + * The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository. + * If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API. */ - containerLogMaxSizeMB?: number; + sourceLocation?: string; /** - * The default is true. + * Run timeout in seconds. */ - cpuCfsQuota?: boolean; + timeout?: number; /** - * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + * The type of the run request. + * Expected value is 'EncodedTaskRunRequest'. */ - cpuCfsQuotaPeriod?: string; + type: "EncodedTaskRunRequest"; /** - * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + * The collection of overridable values that can be passed when running a task. */ - cpuManagerPolicy?: string; + values?: outputs.containerregistry.v20190601preview.SetValueResponse[]; + } + /** + * encodedTaskRunRequestResponseProvideDefaults sets the appropriate defaults for EncodedTaskRunRequestResponse + */ + export function encodedTaskRunRequestResponseProvideDefaults(val: EncodedTaskRunRequestResponse): EncodedTaskRunRequestResponse { + return { + ...val, + isArchiveEnabled: (val.isArchiveEnabled) ?? false, + timeout: (val.timeout) ?? 3600, + }; + } + + /** + * The properties of a encoded task step. + */ + export interface EncodedTaskStepResponse { /** - * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + * List of base image dependencies for a step. */ - failSwapOn?: boolean; + baseImageDependencies: outputs.containerregistry.v20190601preview.BaseImageDependencyResponse[]; /** - * To disable image garbage collection, set to 100. The default is 85% + * The token (git PAT or SAS token of storage account blob) associated with the context for a step. */ - imageGcHighThreshold?: number; + contextAccessToken?: string; /** - * This cannot be set higher than imageGcHighThreshold. The default is 80% + * The URL(absolute or relative) of the source context for the task step. */ - imageGcLowThreshold?: number; + contextPath?: string; /** - * The maximum number of processes per pod. + * Base64 encoded value of the template/definition file content. */ - podMaxPids?: number; + encodedTaskContent: string; /** - * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + * Base64 encoded value of the parameters/values file content. */ - topologyManagerPolicy?: string; + encodedValuesContent?: string; + /** + * The type of the step. + * Expected value is 'EncodedTask'. + */ + type: "EncodedTask"; + /** + * The collection of overridable values that can be passed when running a task. + */ + values?: outputs.containerregistry.v20190601preview.SetValueResponse[]; } /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * The request parameters for a scheduling run against a task file. */ - export interface LinuxOSConfigResponse { + export interface FileTaskRunRequestResponse { /** - * The size in MB of a swap file that will be created on each node. + * The machine configuration of the run agent. */ - swapFileSizeMB?: number; + agentConfiguration?: outputs.containerregistry.v20190601preview.AgentPropertiesResponse; /** - * Sysctl settings for Linux agent nodes. + * The dedicated agent pool for the run. */ - sysctls?: outputs.containerservice.v20210501.SysctlConfigResponse; + agentPoolName?: string; /** - * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + * The properties that describes a set of credentials that will be used when this run is invoked. */ - transparentHugePageDefrag?: string; + credentials?: outputs.containerregistry.v20190601preview.CredentialsResponse; /** - * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + * The value that indicates whether archiving is enabled for the run or not. */ - transparentHugePageEnabled?: string; - } - - /** - * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). - */ - export interface ManagedClusterAADProfileResponse { + isArchiveEnabled?: boolean; /** - * The list of AAD group object IDs that will have admin role of the cluster. + * The template that describes the repository and tag information for run log artifact. */ - adminGroupObjectIDs?: string[]; + logTemplate?: string; /** - * The client AAD application ID. + * The platform properties against which the run has to happen. */ - clientAppID?: string; + platform: outputs.containerregistry.v20190601preview.PlatformPropertiesResponse; /** - * Whether to enable Azure RBAC for Kubernetes authorization. + * The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository. + * If it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API. */ - enableAzureRBAC?: boolean; + sourceLocation?: string; /** - * Whether to enable managed AAD. + * The template/definition file path relative to the source. */ - managed?: boolean; + taskFilePath: string; /** - * The server AAD application ID. + * Run timeout in seconds. */ - serverAppID?: string; + timeout?: number; /** - * The server AAD application secret. + * The type of the run request. + * Expected value is 'FileTaskRunRequest'. */ - serverAppSecret?: string; + type: "FileTaskRunRequest"; /** - * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + * The collection of overridable values that can be passed when running a task. */ - tenantID?: string; + values?: outputs.containerregistry.v20190601preview.SetValueResponse[]; + /** + * The values/parameters file path relative to the source. + */ + valuesFilePath?: string; + } + /** + * fileTaskRunRequestResponseProvideDefaults sets the appropriate defaults for FileTaskRunRequestResponse + */ + export function fileTaskRunRequestResponseProvideDefaults(val: FileTaskRunRequestResponse): FileTaskRunRequestResponse { + return { + ...val, + isArchiveEnabled: (val.isArchiveEnabled) ?? false, + timeout: (val.timeout) ?? 3600, + }; } /** - * Access profile for managed cluster API server. + * The properties of a task step. */ - export interface ManagedClusterAPIServerAccessProfileResponse { + export interface FileTaskStepResponse { /** - * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + * List of base image dependencies for a step. */ - authorizedIPRanges?: string[]; + baseImageDependencies: outputs.containerregistry.v20190601preview.BaseImageDependencyResponse[]; /** - * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + * The token (git PAT or SAS token of storage account blob) associated with the context for a step. */ - enablePrivateCluster?: boolean; + contextAccessToken?: string; /** - * Whether to create additional public FQDN for private cluster or not. + * The URL(absolute or relative) of the source context for the task step. */ - enablePrivateClusterPublicFQDN?: boolean; + contextPath?: string; /** - * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + * The task template/definition file path relative to the source context. */ - privateDNSZone?: string; - } - - /** - * A Kubernetes add-on profile for a managed cluster. - */ - export interface ManagedClusterAddonProfileResponse { + taskFilePath: string; /** - * Key-value pairs for configuring an add-on. + * The type of the step. + * Expected value is 'FileTask'. */ - config?: {[key: string]: string}; + type: "FileTask"; /** - * Whether the add-on is enabled or not. + * The collection of overridable values that can be passed when running a task. */ - enabled: boolean; + values?: outputs.containerregistry.v20190601preview.SetValueResponse[]; /** - * Information of user assigned identity used by this add-on. + * The task values/parameters file path relative to the source context. */ - identity: outputs.containerservice.v20210501.ManagedClusterAddonProfileResponseIdentity; + valuesFilePath?: string; } /** - * Information of user assigned identity used by this add-on. + * Managed identity for the resource. */ - export interface ManagedClusterAddonProfileResponseIdentity { + export interface IdentityPropertiesResponse { /** - * The client ID of the user assigned identity. + * The principal ID of resource identity. */ - clientId?: string; + principalId?: string; /** - * The object ID of the user assigned identity. + * The tenant ID of resource. */ - objectId?: string; + tenantId?: string; /** - * The resource ID of the user assigned identity. + * The identity type. */ - resourceId?: string; + type?: string; + /** + * The list of user identities associated with the resource. The user identity + * dictionary key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: {[key: string]: outputs.containerregistry.v20190601preview.UserIdentityPropertiesResponse}; } /** - * Profile for the container service agent pool. + * Properties for a registry image. */ - export interface ManagedClusterAgentPoolProfileResponse { + export interface ImageDescriptorResponse { /** - * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + * The sha256-based digest of the image manifest. */ - availabilityZones?: string[]; + digest?: string; /** - * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + * The registry login server. */ - count?: number; + registry?: string; /** - * Whether to enable auto-scaler + * The repository name. */ - enableAutoScaling?: boolean; + repository?: string; /** - * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + * The tag name. */ - enableEncryptionAtHost?: boolean; + tag?: string; + } + + /** + * The image update trigger that caused a build. + */ + export interface ImageUpdateTriggerResponse { /** - * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + * The unique ID of the trigger. */ - enableFIPS?: boolean; + id?: string; /** - * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + * The list of image updates that caused the build. */ - enableNodePublicIP?: boolean; + images?: outputs.containerregistry.v20190601preview.ImageDescriptorResponse[]; /** - * Whether to enable UltraSSD + * The timestamp when the image update happened. */ - enableUltraSSD?: boolean; + timestamp?: string; + } + + export interface OverrideTaskStepPropertiesResponse { /** - * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + * Gets or sets the collection of override arguments to be used when + * executing a build step. */ - gpuInstanceProfile?: string; + arguments?: outputs.containerregistry.v20190601preview.ArgumentResponse[]; /** - * The Kubelet configuration on the agent pool nodes. + * The source context against which run has to be queued. */ - kubeletConfig?: outputs.containerservice.v20210501.KubeletConfigResponse; + contextPath?: string; /** - * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + * The file against which run has to be queued. */ - kubeletDiskType?: string; + file?: string; /** - * The OS configuration of Linux agent nodes. + * The name of the target build stage for the docker build. */ - linuxOSConfig?: outputs.containerservice.v20210501.LinuxOSConfigResponse; + target?: string; /** - * The maximum number of nodes for auto-scaling + * Base64 encoded update trigger token that will be attached with the base image trigger webhook. */ - maxCount?: number; + updateTriggerToken?: string; /** - * The maximum number of pods that can run on a node. + * The collection of overridable values that can be passed when running a Task. */ - maxPods?: number; + values?: outputs.containerregistry.v20190601preview.SetValueResponse[]; + } + + /** + * The platform properties against which the run has to happen. + */ + export interface PlatformPropertiesResponse { /** - * The minimum number of nodes for auto-scaling + * The OS architecture. */ - minCount?: number; + architecture?: string; /** - * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + * The operating system type required for the run. */ - mode?: string; + os: string; /** - * Windows agent pool names must be 6 characters or less. + * Variant of the CPU. */ - name: string; + variant?: string; + } + + /** + * Run resource properties + */ + export interface RunResponse { /** - * The version of node image + * The machine configuration of the run agent. */ - nodeImageVersion: string; + agentConfiguration?: outputs.containerregistry.v20190601preview.AgentPropertiesResponse; /** - * The node labels to be persisted across all nodes in agent pool. + * The dedicated agent pool for the run. */ - nodeLabels?: {[key: string]: string}; + agentPoolName?: string; /** - * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + * The time the run was scheduled. */ - nodePublicIPPrefixID?: string; + createTime?: string; /** - * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + * The list of custom registries that were logged in during this run. */ - nodeTaints?: string[]; + customRegistries?: string[]; /** - * As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + * The time the run finished. */ - orchestratorVersion?: string; + finishTime?: string; /** - * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + * The resource ID. */ - osDiskSizeGB?: number; + id: string; /** - * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + * The image update trigger that caused the run. This is applicable if the task has base image trigger configured. */ - osDiskType?: string; + imageUpdateTrigger?: outputs.containerregistry.v20190601preview.ImageUpdateTriggerResponse; /** - * Specifies an OS SKU. This value must not be specified if OSType is Windows. + * The value that indicates whether archiving is enabled or not. */ - osSKU?: string; + isArchiveEnabled?: boolean; /** - * The operating system type. The default is Linux. + * The last updated time for the run. */ - osType?: string; + lastUpdatedTime?: string; /** - * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + * The image description for the log artifact. */ - podSubnetID?: string; + logArtifact: outputs.containerregistry.v20190601preview.ImageDescriptorResponse; /** - * Describes whether the Agent Pool is Running or Stopped + * The name of the resource. */ - powerState: outputs.containerservice.v20210501.PowerStateResponse; + name: string; /** - * The current deployment or provisioning state. + * The list of all images that were generated from the run. This is applicable if the run generates base image dependencies. */ - provisioningState: string; + outputImages?: outputs.containerregistry.v20190601preview.ImageDescriptorResponse[]; /** - * The ID for Proximity Placement Group. + * The platform properties against which the run will happen. */ - proximityPlacementGroupID?: string; + platform?: outputs.containerregistry.v20190601preview.PlatformPropertiesResponse; /** - * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + * The provisioning state of a run. */ - scaleSetEvictionPolicy?: string; + provisioningState?: string; /** - * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + * The error message received from backend systems after the run is scheduled. */ - scaleSetPriority?: string; + runErrorMessage: string; /** - * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + * The unique identifier for the run. */ - spotMaxPrice?: number; + runId?: string; /** - * The tags to be persisted on the agent pool virtual machine scale set. + * The type of run. */ - tags?: {[key: string]: string}; + runType?: string; /** - * The type of Agent Pool. + * The scope of the credentials that were used to login to the source registry during this run. */ - type?: string; + sourceRegistryAuth?: string; /** - * Settings for upgrading the agentpool + * The source trigger that caused the run. */ - upgradeSettings?: outputs.containerservice.v20210501.AgentPoolUpgradeSettingsResponse; + sourceTrigger?: outputs.containerregistry.v20190601preview.SourceTriggerDescriptorResponse; /** - * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + * The time the run started. */ - vmSize?: string; + startTime?: string; /** - * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + * The current status of the run. */ - vnetSubnetID?: string; - } - - /** - * Auto upgrade profile for a managed cluster. - */ - export interface ManagedClusterAutoUpgradeProfileResponse { + status?: string; /** - * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + * Metadata pertaining to creation and last modification of the resource. */ - upgradeChannel?: string; - } - - /** - * Cluster HTTP proxy configuration. - */ - export interface ManagedClusterHTTPProxyConfigResponse { + systemData: outputs.containerregistry.v20190601preview.SystemDataResponse; /** - * The HTTP proxy server endpoint to use. + * The task against which run was scheduled. */ - httpProxy?: string; + task?: string; /** - * The HTTPS proxy server endpoint to use. + * The timer trigger that caused the run. */ - httpsProxy?: string; + timerTrigger?: outputs.containerregistry.v20190601preview.TimerTriggerDescriptorResponse; /** - * The endpoints that should not go through proxy. + * The type of the resource. */ - noProxy?: string[]; + type: string; /** - * Alternative CA cert to use for connecting to proxy servers. + * The update trigger token passed for the Run. */ - trustedCa?: string; + updateTriggerToken?: string; } - /** - * Identity for the managed cluster. + * runResponseProvideDefaults sets the appropriate defaults for RunResponse */ - export interface ManagedClusterIdentityResponse { - /** - * The principal id of the system assigned identity which is used by master components. - */ - principalId: string; - /** - * The tenant id of the system assigned identity which is used by master components. - */ - tenantId: string; - /** - * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - */ - type?: string; - /** - * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - */ - userAssignedIdentities?: {[key: string]: outputs.containerservice.v20210501.ManagedClusterIdentityResponseUserAssignedIdentities}; + export function runResponseProvideDefaults(val: RunResponse): RunResponse { + return { + ...val, + isArchiveEnabled: (val.isArchiveEnabled) ?? false, + }; } - export interface ManagedClusterIdentityResponseUserAssignedIdentities { + /** + * Describes the properties of a secret object value. + */ + export interface SecretObjectResponse { /** - * The client id of user assigned identity. + * The type of the secret object which determines how the value of the secret object has to be + * interpreted. */ - clientId: string; + type?: string; /** - * The principal id of user assigned identity. + * The value of the secret. The format of this value will be determined + * based on the type of the secret object. If the type is Opaque, the value will be + * used as is without any modification. */ - principalId: string; + value?: string; } /** - * Profile of the managed cluster load balancer. + * The properties of a overridable value that can be passed to a task template. */ - export interface ManagedClusterLoadBalancerProfileResponse { - /** - * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - */ - allocatedOutboundPorts?: number; - /** - * The effective outbound IP resources of the cluster load balancer. - */ - effectiveOutboundIPs?: outputs.containerservice.v20210501.ResourceReferenceResponse[]; - /** - * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. - */ - idleTimeoutInMinutes?: number; + export interface SetValueResponse { /** - * Desired managed outbound IPs for the cluster load balancer. + * Flag to indicate whether the value represents a secret or not. */ - managedOutboundIPs?: outputs.containerservice.v20210501.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; + isSecret?: boolean; /** - * Desired outbound IP Prefix resources for the cluster load balancer. + * The name of the overridable value. */ - outboundIPPrefixes?: outputs.containerservice.v20210501.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; + name: string; /** - * Desired outbound IP resources for the cluster load balancer. + * The overridable value. */ - outboundIPs?: outputs.containerservice.v20210501.ManagedClusterLoadBalancerProfileResponseOutboundIPs; + value: string; } /** - * managedClusterLoadBalancerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponse + * setValueResponseProvideDefaults sets the appropriate defaults for SetValueResponse */ - export function managedClusterLoadBalancerProfileResponseProvideDefaults(val: ManagedClusterLoadBalancerProfileResponse): ManagedClusterLoadBalancerProfileResponse { + export function setValueResponseProvideDefaults(val: SetValueResponse): SetValueResponse { return { ...val, - allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, - idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, - managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.v20210501.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), + isSecret: (val.isSecret) ?? false, }; } /** - * Desired managed outbound IPs for the cluster load balancer. + * The properties of the source code repository. */ - export interface ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + export interface SourcePropertiesResponse { /** - * The desired number of outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + * The branch name of the source code. */ - count?: number; - } - /** - * managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs - */ - export function managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val: ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs): ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { - return { - ...val, - count: (val.count) ?? 1, - }; - } - - /** - * Desired outbound IP Prefix resources for the cluster load balancer. - */ - export interface ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes { + branch?: string; /** - * A list of public IP prefix resources. + * The full URL to the source code repository */ - publicIPPrefixes?: outputs.containerservice.v20210501.ResourceReferenceResponse[]; + repositoryUrl: string; + /** + * The authorization properties for accessing the source code repository and to set up + * webhooks for notifications. + */ + sourceControlAuthProperties?: outputs.containerregistry.v20190601preview.AuthInfoResponse; + /** + * The type of source control service. + */ + sourceControlType: string; } /** - * Desired outbound IP resources for the cluster load balancer. + * Describes the credential parameters for accessing the source registry. */ - export interface ManagedClusterLoadBalancerProfileResponseOutboundIPs { + export interface SourceRegistryCredentialsResponse { /** - * A list of public IP resources. + * The authentication mode which determines the source registry login scope. The credentials for the source registry + * will be generated using the given scope. These credentials will be used to login to + * the source registry during the run. */ - publicIPs?: outputs.containerservice.v20210501.ResourceReferenceResponse[]; + loginMode?: string; } /** - * See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + * The source trigger that caused a run. */ - export interface ManagedClusterPodIdentityExceptionResponse { + export interface SourceTriggerDescriptorResponse { /** - * The name of the pod identity exception. + * The branch name in the repository. */ - name: string; + branchName?: string; /** - * The namespace of the pod identity exception. + * The unique ID that identifies a commit. */ - namespace: string; + commitId?: string; /** - * The pod labels to match. + * The event type of the trigger. */ - podLabels: {[key: string]: string}; - } - - /** - * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. - */ - export interface ManagedClusterPodIdentityProfileResponse { + eventType?: string; /** - * Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. + * The unique ID of the trigger. */ - allowNetworkPluginKubenet?: boolean; + id?: string; /** - * Whether the pod identity addon is enabled. + * The source control provider type. */ - enabled?: boolean; + providerType?: string; /** - * The pod identities to use in the cluster. + * The unique ID that identifies pull request. */ - userAssignedIdentities?: outputs.containerservice.v20210501.ManagedClusterPodIdentityResponse[]; + pullRequestId?: string; /** - * The pod identity exceptions to allow. + * The repository URL. */ - userAssignedIdentityExceptions?: outputs.containerservice.v20210501.ManagedClusterPodIdentityExceptionResponse[]; + repositoryUrl?: string; } /** - * An error response from the pod identity provisioning. + * The properties of a source based trigger. */ - export interface ManagedClusterPodIdentityProvisioningErrorBodyResponse { + export interface SourceTriggerResponse { /** - * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + * The name of the trigger. */ - code?: string; + name: string; /** - * A list of additional details about the error. + * The properties that describes the source(code) for the task. */ - details?: outputs.containerservice.v20210501.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; + sourceRepository: outputs.containerregistry.v20190601preview.SourcePropertiesResponse; /** - * A message describing the error, intended to be suitable for display in a user interface. + * The source event corresponding to the trigger. */ - message?: string; + sourceTriggerEvents: string[]; /** - * The target of the particular error. For example, the name of the property in error. + * The current status of trigger. */ - target?: string; + status?: string; } - /** - * An error response from the pod identity provisioning. + * sourceTriggerResponseProvideDefaults sets the appropriate defaults for SourceTriggerResponse */ - export interface ManagedClusterPodIdentityProvisioningErrorResponse { - /** - * Details about the error. - */ - error?: outputs.containerservice.v20210501.ManagedClusterPodIdentityProvisioningErrorBodyResponse; + export function sourceTriggerResponseProvideDefaults(val: SourceTriggerResponse): SourceTriggerResponse { + return { + ...val, + status: (val.status) ?? "Enabled", + }; } /** - * Details about the pod identity assigned to the Managed Cluster. + * Metadata pertaining to creation and last modification of the resource. */ - export interface ManagedClusterPodIdentityResponse { + export interface SystemDataResponse { /** - * The binding selector to use for the AzureIdentityBinding resource. + * The timestamp of resource creation (UTC). */ - bindingSelector?: string; + createdAt?: string; /** - * The user assigned identity details. + * The identity that created the resource. */ - identity: outputs.containerservice.v20210501.UserAssignedIdentityResponse; + createdBy?: string; /** - * The name of the pod identity. + * The type of identity that created the resource. */ - name: string; + createdByType?: string; /** - * The namespace of the pod identity. + * The timestamp of resource modification (UTC). */ - namespace: string; - provisioningInfo: outputs.containerservice.v20210501.ManagedClusterPodIdentityResponseProvisioningInfo; + lastModifiedAt?: string; /** - * The current provisioning state of the pod identity. + * The identity that last modified the resource. */ - provisioningState: string; - } - - export interface ManagedClusterPodIdentityResponseProvisioningInfo { + lastModifiedBy?: string; /** - * Pod identity assignment error (if any). + * The type of identity that last modified the resource. */ - error?: outputs.containerservice.v20210501.ManagedClusterPodIdentityProvisioningErrorResponse; + lastModifiedByType?: string; } /** - * Parameters to be applied to the cluster-autoscaler when enabled + * The parameters for a task run request. */ - export interface ManagedClusterPropertiesResponseAutoScalerProfile { - /** - * Valid values are 'true' and 'false' - */ - balanceSimilarNodeGroups?: string; - /** - * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. - */ - expander?: string; - /** - * The default is 10. - */ - maxEmptyBulkDelete?: string; + export interface TaskRunRequestResponse { /** - * The default is 600. + * The dedicated agent pool for the run. */ - maxGracefulTerminationSec?: string; + agentPoolName?: string; /** - * The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The value that indicates whether archiving is enabled for the run or not. */ - maxNodeProvisionTime?: string; + isArchiveEnabled?: boolean; /** - * The default is 45. The maximum is 100 and the minimum is 0. + * The template that describes the repository and tag information for run log artifact. */ - maxTotalUnreadyPercentage?: string; + logTemplate?: string; /** - * For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + * Set of overridable parameters that can be passed when running a Task. */ - newPodScaleUpDelay?: string; + overrideTaskStepProperties?: outputs.containerregistry.v20190601preview.OverrideTaskStepPropertiesResponse; /** - * This must be an integer. The default is 3. + * The resource ID of task against which run has to be queued. */ - okTotalUnreadyCount?: string; + taskId: string; /** - * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The type of the run request. + * Expected value is 'TaskRunRequest'. */ - scaleDownDelayAfterAdd?: string; + type: "TaskRunRequest"; + } + /** + * taskRunRequestResponseProvideDefaults sets the appropriate defaults for TaskRunRequestResponse + */ + export function taskRunRequestResponseProvideDefaults(val: TaskRunRequestResponse): TaskRunRequestResponse { + return { + ...val, + isArchiveEnabled: (val.isArchiveEnabled) ?? false, + }; + } + + export interface TimerTriggerDescriptorResponse { /** - * The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The occurrence that triggered the run. */ - scaleDownDelayAfterDelete?: string; + scheduleOccurrence?: string; /** - * The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The timer trigger name that caused the run. */ - scaleDownDelayAfterFailure?: string; + timerTriggerName?: string; + } + + /** + * The properties of a timer trigger. + */ + export interface TimerTriggerResponse { /** - * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The name of the trigger. */ - scaleDownUnneededTime?: string; + name: string; /** - * The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The CRON expression for the task schedule */ - scaleDownUnreadyTime?: string; + schedule: string; /** - * The default is '0.5'. + * The current status of trigger. */ - scaleDownUtilizationThreshold?: string; + status?: string; + } + /** + * timerTriggerResponseProvideDefaults sets the appropriate defaults for TimerTriggerResponse + */ + export function timerTriggerResponseProvideDefaults(val: TimerTriggerResponse): TimerTriggerResponse { + return { + ...val, + status: (val.status) ?? "Enabled", + }; + } + + /** + * The properties of a trigger. + */ + export interface TriggerPropertiesResponse { /** - * The default is '10'. Values must be an integer number of seconds. + * The trigger based on base image dependencies. */ - scanInterval?: string; + baseImageTrigger?: outputs.containerregistry.v20190601preview.BaseImageTriggerResponse; /** - * The default is true. + * The collection of triggers based on source code repository. */ - skipNodesWithLocalStorage?: string; + sourceTriggers?: outputs.containerregistry.v20190601preview.SourceTriggerResponse[]; /** - * The default is true. + * The collection of timer triggers. */ - skipNodesWithSystemPods?: string; + timerTriggers?: outputs.containerregistry.v20190601preview.TimerTriggerResponse[]; + } + /** + * triggerPropertiesResponseProvideDefaults sets the appropriate defaults for TriggerPropertiesResponse + */ + export function triggerPropertiesResponseProvideDefaults(val: TriggerPropertiesResponse): TriggerPropertiesResponse { + return { + ...val, + baseImageTrigger: (val.baseImageTrigger ? outputs.containerregistry.v20190601preview.baseImageTriggerResponseProvideDefaults(val.baseImageTrigger) : undefined), + }; } - export interface ManagedClusterPropertiesResponseIdentityProfile { + export interface UserIdentityPropertiesResponse { /** - * The client ID of the user assigned identity. + * The client id of user assigned identity. */ clientId?: string; /** - * The object ID of the user assigned identity. - */ - objectId?: string; - /** - * The resource ID of the user assigned identity. + * The principal id of user assigned identity. */ - resourceId?: string; + principalId?: string; } + } + + export namespace v20221201 { /** - * The SKU of a Managed Cluster. + * The agent that initiated the event. For most situations, this could be from the authorization context of the request. */ - export interface ManagedClusterSKUResponse { + export interface ActorResponse { /** - * The name of a managed cluster SKU. + * The subject or username associated with the request context that generated the event. */ name?: string; + } + + export interface EncryptionPropertyResponse { /** - * If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details. + * Key vault properties. */ - tier?: string; + keyVaultProperties?: outputs.containerregistry.v20221201.KeyVaultPropertiesResponse; + /** + * Indicates whether or not the encryption is enabled for container registry. + */ + status?: string; } /** - * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + * The content of the event request message. */ - export interface ManagedClusterServicePrincipalProfileResponse { + export interface EventContentResponse { /** - * The ID for the service principal. + * The action that encompasses the provided event. */ - clientId: string; + action?: string; /** - * The secret password associated with the service principal in plain text. + * The agent that initiated the event. For most situations, this could be from the authorization context of the request. */ - secret?: string; + actor?: outputs.containerregistry.v20221201.ActorResponse; + /** + * The event ID. + */ + id?: string; + /** + * The request that generated the event. + */ + request?: outputs.containerregistry.v20221201.RequestResponse; + /** + * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. + */ + source?: outputs.containerregistry.v20221201.SourceResponse; + /** + * The target of the event. + */ + target?: outputs.containerregistry.v20221201.TargetResponse; + /** + * The time at which the event occurred. + */ + timestamp?: string; } /** - * Profile for Windows VMs in the managed cluster. + * The event request message sent to the service URI. */ - export interface ManagedClusterWindowsProfileResponse { + export interface EventRequestMessageResponse { /** - * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + * The content of the event request message. */ - adminPassword?: string; + content?: outputs.containerregistry.v20221201.EventContentResponse; /** - * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + * The headers of the event request message. */ - adminUsername: string; + headers?: {[key: string]: string}; /** - * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + * The HTTP method used to send the event request message. */ - enableCSIProxy?: boolean; + method?: string; /** - * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + * The URI used to send the event request message. */ - licenseType?: string; + requestUri?: string; + /** + * The HTTP message version. + */ + version?: string; } /** - * Describes the Power State of the cluster + * The event for a webhook. */ - export interface PowerStateResponse { + export interface EventResponse { /** - * Tells whether the cluster is Running or Stopped + * The event request message sent to the service URI. */ - code?: string; + eventRequestMessage?: outputs.containerregistry.v20221201.EventRequestMessageResponse; + /** + * The event response message received from the service URI. + */ + eventResponseMessage?: outputs.containerregistry.v20221201.EventResponseMessageResponse; + /** + * The event ID. + */ + id?: string; } /** - * A private link resource + * The event response message received from the service URI. */ - export interface PrivateLinkResourceResponse { - /** - * The group ID of the resource. - */ - groupId?: string; + export interface EventResponseMessageResponse { /** - * The ID of the private link resource. + * The content of the event response message. */ - id?: string; + content?: string; /** - * The name of the private link resource. + * The headers of the event response message. */ - name?: string; + headers?: {[key: string]: string}; /** - * The private link service ID of the resource, this field is exposed only to NRP internally. + * The reason phrase of the event response message. */ - privateLinkServiceID: string; + reasonPhrase?: string; /** - * The RequiredMembers of the resource + * The status code of the event response message. */ - requiredMembers?: string[]; + statusCode?: string; /** - * The resource type. + * The HTTP message version. */ - type?: string; + version?: string; } /** - * A reference to an Azure resource. + * The export policy for a container registry. */ - export interface ResourceReferenceResponse { + export interface ExportPolicyResponse { /** - * The fully qualified Azure resource id. + * The value that indicates whether the policy is enabled or not. */ - id?: string; + status?: string; + } + /** + * exportPolicyResponseProvideDefaults sets the appropriate defaults for ExportPolicyResponse + */ + export function exportPolicyResponseProvideDefaults(val: ExportPolicyResponse): ExportPolicyResponse { + return { + ...val, + status: (val.status) ?? "enabled", + }; } /** - * Sysctl settings for Linux agent nodes. + * IP rule with specific IP or IP range in CIDR format. */ - export interface SysctlConfigResponse { - /** - * Sysctl setting fs.aio-max-nr. - */ - fsAioMaxNr?: number; - /** - * Sysctl setting fs.file-max. - */ - fsFileMax?: number; - /** - * Sysctl setting fs.inotify.max_user_watches. - */ - fsInotifyMaxUserWatches?: number; + export interface IPRuleResponse { /** - * Sysctl setting fs.nr_open. + * The action of IP ACL rule. */ - fsNrOpen?: number; + action?: string; /** - * Sysctl setting kernel.threads-max. + * Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. */ - kernelThreadsMax?: number; + iPAddressOrRange: string; + } + /** + * ipruleResponseProvideDefaults sets the appropriate defaults for IPRuleResponse + */ + export function ipruleResponseProvideDefaults(val: IPRuleResponse): IPRuleResponse { + return { + ...val, + action: (val.action) ?? "Allow", + }; + } + + /** + * Managed identity for the resource. + */ + export interface IdentityPropertiesResponse { /** - * Sysctl setting net.core.netdev_max_backlog. + * The principal ID of resource identity. */ - netCoreNetdevMaxBacklog?: number; + principalId?: string; /** - * Sysctl setting net.core.optmem_max. + * The tenant ID of resource. */ - netCoreOptmemMax?: number; + tenantId?: string; /** - * Sysctl setting net.core.rmem_default. + * The identity type. */ - netCoreRmemDefault?: number; + type?: string; /** - * Sysctl setting net.core.rmem_max. + * The list of user identities associated with the resource. The user identity + * dictionary key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ - netCoreRmemMax?: number; + userAssignedIdentities?: {[key: string]: outputs.containerregistry.v20221201.UserIdentityPropertiesResponse}; + } + + export interface KeyVaultPropertiesResponse { /** - * Sysctl setting net.core.somaxconn. + * The client id of the identity which will be used to access key vault. */ - netCoreSomaxconn?: number; + identity?: string; /** - * Sysctl setting net.core.wmem_default. + * Key vault uri to access the encryption key. */ - netCoreWmemDefault?: number; + keyIdentifier?: string; /** - * Sysctl setting net.core.wmem_max. + * Auto key rotation status for a CMK enabled registry. */ - netCoreWmemMax?: number; + keyRotationEnabled: boolean; /** - * Sysctl setting net.ipv4.ip_local_port_range. + * Timestamp of the last successful key rotation. */ - netIpv4IpLocalPortRange?: string; + lastKeyRotationTimestamp: string; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + * The fully qualified key identifier that includes the version of the key that is actually used for encryption. */ - netIpv4NeighDefaultGcThresh1?: number; + versionedKeyIdentifier: string; + } + + /** + * The network rule set for a container registry. + */ + export interface NetworkRuleSetResponse { /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + * The default action of allow or deny when no other rules match. */ - netIpv4NeighDefaultGcThresh2?: number; + defaultAction: string; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + * The IP ACL rules. */ - netIpv4NeighDefaultGcThresh3?: number; + ipRules?: outputs.containerregistry.v20221201.IPRuleResponse[]; + } + /** + * networkRuleSetResponseProvideDefaults sets the appropriate defaults for NetworkRuleSetResponse + */ + export function networkRuleSetResponseProvideDefaults(val: NetworkRuleSetResponse): NetworkRuleSetResponse { + return { + ...val, + defaultAction: (val.defaultAction) ?? "Allow", + }; + } + + /** + * The policies for a container registry. + */ + export interface PoliciesResponse { /** - * Sysctl setting net.ipv4.tcp_fin_timeout. + * The export policy for a container registry. */ - netIpv4TcpFinTimeout?: number; + exportPolicy?: outputs.containerregistry.v20221201.ExportPolicyResponse; /** - * Sysctl setting net.ipv4.tcp_keepalive_probes. + * The quarantine policy for a container registry. */ - netIpv4TcpKeepaliveProbes?: number; + quarantinePolicy?: outputs.containerregistry.v20221201.QuarantinePolicyResponse; /** - * Sysctl setting net.ipv4.tcp_keepalive_time. + * The retention policy for a container registry. */ - netIpv4TcpKeepaliveTime?: number; + retentionPolicy?: outputs.containerregistry.v20221201.RetentionPolicyResponse; /** - * Sysctl setting net.ipv4.tcp_max_syn_backlog. + * The content trust policy for a container registry. */ - netIpv4TcpMaxSynBacklog?: number; + trustPolicy?: outputs.containerregistry.v20221201.TrustPolicyResponse; + } + /** + * policiesResponseProvideDefaults sets the appropriate defaults for PoliciesResponse + */ + export function policiesResponseProvideDefaults(val: PoliciesResponse): PoliciesResponse { + return { + ...val, + exportPolicy: (val.exportPolicy ? outputs.containerregistry.v20221201.exportPolicyResponseProvideDefaults(val.exportPolicy) : undefined), + quarantinePolicy: (val.quarantinePolicy ? outputs.containerregistry.v20221201.quarantinePolicyResponseProvideDefaults(val.quarantinePolicy) : undefined), + retentionPolicy: (val.retentionPolicy ? outputs.containerregistry.v20221201.retentionPolicyResponseProvideDefaults(val.retentionPolicy) : undefined), + trustPolicy: (val.trustPolicy ? outputs.containerregistry.v20221201.trustPolicyResponseProvideDefaults(val.trustPolicy) : undefined), + }; + } + + /** + * An object that represents a private endpoint connection for a container registry. + */ + export interface PrivateEndpointConnectionResponse { /** - * Sysctl setting net.ipv4.tcp_max_tw_buckets. + * The resource ID. */ - netIpv4TcpMaxTwBuckets?: number; + id: string; /** - * Sysctl setting net.ipv4.tcp_tw_reuse. + * The name of the resource. */ - netIpv4TcpTwReuse?: boolean; + name: string; /** - * Sysctl setting net.ipv4.tcp_keepalive_intvl. + * The resource of private endpoint. */ - netIpv4TcpkeepaliveIntvl?: number; + privateEndpoint?: outputs.containerregistry.v20221201.PrivateEndpointResponse; /** - * Sysctl setting net.netfilter.nf_conntrack_buckets. + * A collection of information about the state of the connection between service consumer and provider. */ - netNetfilterNfConntrackBuckets?: number; + privateLinkServiceConnectionState?: outputs.containerregistry.v20221201.PrivateLinkServiceConnectionStateResponse; /** - * Sysctl setting net.netfilter.nf_conntrack_max. + * The provisioning state of private endpoint connection resource. */ - netNetfilterNfConntrackMax?: number; + provisioningState: string; /** - * Sysctl setting vm.max_map_count. + * Metadata pertaining to creation and last modification of the resource. */ - vmMaxMapCount?: number; + systemData: outputs.containerregistry.v20221201.SystemDataResponse; /** - * Sysctl setting vm.swappiness. + * The type of the resource. */ - vmSwappiness?: number; + type: string; + } + + /** + * The Private Endpoint resource. + */ + export interface PrivateEndpointResponse { /** - * Sysctl setting vm.vfs_cache_pressure. + * This is private endpoint resource created with Microsoft.Network resource provider. */ - vmVfsCachePressure?: number; + id?: string; } /** - * Details about a user assigned identity. + * The state of a private link service connection. */ - export interface UserAssignedIdentityResponse { + export interface PrivateLinkServiceConnectionStateResponse { /** - * The client ID of the user assigned identity. + * A message indicating if changes on the service provider require any updates on the consumer. */ - clientId?: string; + actionsRequired?: string; /** - * The object ID of the user assigned identity. + * The description for connection status. For example if connection is rejected it can indicate reason for rejection. */ - objectId?: string; + description?: string; /** - * The resource ID of the user assigned identity. + * The private link service connection status. */ - resourceId?: string; + status?: string; } - } - - export namespace v20210801 { /** - * Settings for upgrading an agentpool + * The quarantine policy for a container registry. */ - export interface AgentPoolUpgradeSettingsResponse { + export interface QuarantinePolicyResponse { /** - * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + * The value that indicates whether the policy is enabled or not. */ - maxSurge?: string; + status?: string; } - /** - * Data used when creating a target resource from a source resource. + * quarantinePolicyResponseProvideDefaults sets the appropriate defaults for QuarantinePolicyResponse */ - export interface CreationDataResponse { - /** - * This is the ARM ID of the source object to be used to create the target object. - */ - sourceResourceId?: string; + export function quarantinePolicyResponseProvideDefaults(val: QuarantinePolicyResponse): QuarantinePolicyResponse { + return { + ...val, + status: (val.status) ?? "disabled", + }; } /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * The login password for the container registry. */ - export interface KubeletConfigResponse { - /** - * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - */ - allowedUnsafeSysctls?: string[]; + export interface RegistryPasswordResponse { /** - * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + * The password name. */ - containerLogMaxFiles?: number; + name?: string; /** - * The maximum size (e.g. 10Mi) of container log file before it is rotated. + * The password value. */ - containerLogMaxSizeMB?: number; + value?: string; + } + + /** + * The request that generated the event. + */ + export interface RequestResponse { /** - * The default is true. + * The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request. */ - cpuCfsQuota?: boolean; + addr?: string; /** - * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + * The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests. */ - cpuCfsQuotaPeriod?: string; + host?: string; /** - * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + * The ID of the request that initiated the event. */ - cpuManagerPolicy?: string; + id?: string; /** - * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + * The request method that generated the event. */ - failSwapOn?: boolean; + method?: string; /** - * To disable image garbage collection, set to 100. The default is 85% + * The user agent header of the request. */ - imageGcHighThreshold?: number; + useragent?: string; + } + + /** + * The retention policy for a container registry. + */ + export interface RetentionPolicyResponse { /** - * This cannot be set higher than imageGcHighThreshold. The default is 80% + * The number of days to retain an untagged manifest after which it gets purged. */ - imageGcLowThreshold?: number; + days?: number; /** - * The maximum number of processes per pod. + * The timestamp when the policy was last updated. */ - podMaxPids?: number; + lastUpdatedTime: string; /** - * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + * The value that indicates whether the policy is enabled or not. */ - topologyManagerPolicy?: string; + status?: string; + } + /** + * retentionPolicyResponseProvideDefaults sets the appropriate defaults for RetentionPolicyResponse + */ + export function retentionPolicyResponseProvideDefaults(val: RetentionPolicyResponse): RetentionPolicyResponse { + return { + ...val, + days: (val.days) ?? 7, + status: (val.status) ?? "disabled", + }; } /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * The SKU of a container registry. */ - export interface LinuxOSConfigResponse { - /** - * The size in MB of a swap file that will be created on each node. - */ - swapFileSizeMB?: number; - /** - * Sysctl settings for Linux agent nodes. - */ - sysctls?: outputs.containerservice.v20210801.SysctlConfigResponse; + export interface SkuResponse { /** - * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + * The SKU name of the container registry. Required for registry creation. */ - transparentHugePageDefrag?: string; + name: string; /** - * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + * The SKU tier based on the SKU name. */ - transparentHugePageEnabled?: string; + tier: string; } /** - * Describes the Power State of the cluster + * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. */ - export interface PowerStateResponse { + export interface SourceResponse { /** - * Tells whether the cluster is Running or Stopped + * The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port. */ - code?: string; + addr?: string; + /** + * The running instance of an application. Changes after each restart. + */ + instanceID?: string; } /** - * Sysctl settings for Linux agent nodes. + * The status of an Azure resource at the time the operation was called. */ - export interface SysctlConfigResponse { + export interface StatusResponse { /** - * Sysctl setting fs.aio-max-nr. + * The short label for the status. */ - fsAioMaxNr?: number; + displayStatus: string; /** - * Sysctl setting fs.file-max. + * The detailed message for the status, including alerts and error messages. */ - fsFileMax?: number; + message: string; /** - * Sysctl setting fs.inotify.max_user_watches. + * The timestamp when the status was changed to the current value. */ - fsInotifyMaxUserWatches?: number; + timestamp: string; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { /** - * Sysctl setting fs.nr_open. + * The timestamp of resource creation (UTC). */ - fsNrOpen?: number; + createdAt?: string; /** - * Sysctl setting kernel.threads-max. + * The identity that created the resource. */ - kernelThreadsMax?: number; + createdBy?: string; /** - * Sysctl setting net.core.netdev_max_backlog. + * The type of identity that created the resource. */ - netCoreNetdevMaxBacklog?: number; + createdByType?: string; /** - * Sysctl setting net.core.optmem_max. + * The timestamp of resource modification (UTC). */ - netCoreOptmemMax?: number; + lastModifiedAt?: string; /** - * Sysctl setting net.core.rmem_default. + * The identity that last modified the resource. */ - netCoreRmemDefault?: number; + lastModifiedBy?: string; /** - * Sysctl setting net.core.rmem_max. + * The type of identity that last modified the resource. */ - netCoreRmemMax?: number; + lastModifiedByType?: string; + } + + /** + * The target of the event. + */ + export interface TargetResponse { /** - * Sysctl setting net.core.somaxconn. + * The digest of the content, as defined by the Registry V2 HTTP API Specification. */ - netCoreSomaxconn?: number; + digest?: string; /** - * Sysctl setting net.core.wmem_default. + * The number of bytes of the content. Same as Size field. */ - netCoreWmemDefault?: number; + length?: number; /** - * Sysctl setting net.core.wmem_max. + * The MIME type of the referenced object. */ - netCoreWmemMax?: number; + mediaType?: string; /** - * Sysctl setting net.ipv4.ip_local_port_range. + * The name of the artifact. */ - netIpv4IpLocalPortRange?: string; + name?: string; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + * The repository name. */ - netIpv4NeighDefaultGcThresh1?: number; + repository?: string; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + * The number of bytes of the content. Same as Length field. */ - netIpv4NeighDefaultGcThresh2?: number; + size?: number; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + * The tag name. */ - netIpv4NeighDefaultGcThresh3?: number; + tag?: string; /** - * Sysctl setting net.ipv4.tcp_fin_timeout. + * The direct URL to the content. */ - netIpv4TcpFinTimeout?: number; + url?: string; /** - * Sysctl setting net.ipv4.tcp_keepalive_probes. + * The version of the artifact. */ - netIpv4TcpKeepaliveProbes?: number; + version?: string; + } + + /** + * The properties of a certificate used for authenticating a token. + */ + export interface TokenCertificateResponse { /** - * Sysctl setting net.ipv4.tcp_keepalive_time. + * Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token. */ - netIpv4TcpKeepaliveTime?: number; + encodedPemCertificate?: string; /** - * Sysctl setting net.ipv4.tcp_max_syn_backlog. + * The expiry datetime of the certificate. */ - netIpv4TcpMaxSynBacklog?: number; + expiry?: string; + name?: string; /** - * Sysctl setting net.ipv4.tcp_max_tw_buckets. + * The thumbprint of the certificate. */ - netIpv4TcpMaxTwBuckets?: number; + thumbprint?: string; + } + + /** + * The properties of the credentials that can be used for authenticating the token. + */ + export interface TokenCredentialsPropertiesResponse { + certificates?: outputs.containerregistry.v20221201.TokenCertificateResponse[]; + passwords?: outputs.containerregistry.v20221201.TokenPasswordResponse[]; + } + + /** + * The password that will be used for authenticating the token of a container registry. + */ + export interface TokenPasswordResponse { /** - * Sysctl setting net.ipv4.tcp_tw_reuse. + * The creation datetime of the password. */ - netIpv4TcpTwReuse?: boolean; + creationTime?: string; /** - * Sysctl setting net.ipv4.tcp_keepalive_intvl. + * The expiry datetime of the password. */ - netIpv4TcpkeepaliveIntvl?: number; + expiry?: string; /** - * Sysctl setting net.netfilter.nf_conntrack_buckets. + * The password name "password1" or "password2" */ - netNetfilterNfConntrackBuckets?: number; + name?: string; /** - * Sysctl setting net.netfilter.nf_conntrack_max. + * The password value. */ - netNetfilterNfConntrackMax?: number; + value: string; + } + + /** + * The content trust policy for a container registry. + */ + export interface TrustPolicyResponse { /** - * Sysctl setting vm.max_map_count. + * The value that indicates whether the policy is enabled or not. */ - vmMaxMapCount?: number; + status?: string; /** - * Sysctl setting vm.swappiness. + * The type of trust policy. */ - vmSwappiness?: number; + type?: string; + } + /** + * trustPolicyResponseProvideDefaults sets the appropriate defaults for TrustPolicyResponse + */ + export function trustPolicyResponseProvideDefaults(val: TrustPolicyResponse): TrustPolicyResponse { + return { + ...val, + status: (val.status) ?? "disabled", + type: (val.type) ?? "Notary", + }; + } + + export interface UserIdentityPropertiesResponse { /** - * Sysctl setting vm.vfs_cache_pressure. + * The client id of user assigned identity. */ - vmVfsCachePressure?: number; + clientId?: string; + /** + * The principal id of user assigned identity. + */ + principalId?: string; } } - export namespace v20220402preview { + export namespace v20230101preview { /** - * Settings for upgrading an agentpool + * The activation properties of the connected registry. */ - export interface AgentPoolUpgradeSettingsResponse { + export interface ActivationPropertiesResponse { /** - * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + * The activation status of the connected registry. */ - maxSurge?: string; + status: string; } /** - * Data used when creating a target resource from a source resource. + * The agent that initiated the event. For most situations, this could be from the authorization context of the request. */ - export interface CreationDataResponse { + export interface ActorResponse { /** - * This is the ARM ID of the source object to be used to create the target object. + * The subject or username associated with the request context that generated the event. */ - sourceResourceId?: string; + name?: string; } /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * Authentication credential stored for an upstream. */ - export interface KubeletConfigResponse { - /** - * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - */ - allowedUnsafeSysctls?: string[]; - /** - * The maximum number of container log files that can be present for a container. The number must be ≥ 2. - */ - containerLogMaxFiles?: number; - /** - * The maximum size (e.g. 10Mi) of container log file before it is rotated. - */ - containerLogMaxSizeMB?: number; - /** - * The default is true. - */ - cpuCfsQuota?: boolean; - /** - * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - */ - cpuCfsQuotaPeriod?: string; - /** - * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. - */ - cpuManagerPolicy?: string; - /** - * If set to true it will make the Kubelet fail to start if swap is enabled on the node. - */ - failSwapOn?: boolean; + export interface AuthCredentialResponse { /** - * To disable image garbage collection, set to 100. The default is 85% + * This provides data pertaining to the health of the auth credential. */ - imageGcHighThreshold?: number; + credentialHealth: outputs.containerregistry.v20230101preview.CredentialHealthResponse; /** - * This cannot be set higher than imageGcHighThreshold. The default is 80% + * The name of the credential. */ - imageGcLowThreshold?: number; + name?: string; /** - * The maximum number of processes per pod. + * KeyVault Secret URI for accessing the password. */ - podMaxPids?: number; + passwordSecretIdentifier?: string; /** - * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + * KeyVault Secret URI for accessing the username. */ - topologyManagerPolicy?: string; + usernameSecretIdentifier?: string; } /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * The policy for using ARM audience token for a container registry. */ - export interface LinuxOSConfigResponse { - /** - * The size in MB of a swap file that will be created on each node. - */ - swapFileSizeMB?: number; - /** - * Sysctl settings for Linux agent nodes. - */ - sysctls?: outputs.containerservice.v20220402preview.SysctlConfigResponse; - /** - * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - */ - transparentHugePageDefrag?: string; + export interface AzureADAuthenticationAsArmPolicyResponse { /** - * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + * The value that indicates whether the policy is enabled or not. */ - transparentHugePageEnabled?: string; + status?: string; } - /** - * Describes the Power State of the cluster + * azureADAuthenticationAsArmPolicyResponseProvideDefaults sets the appropriate defaults for AzureADAuthenticationAsArmPolicyResponse */ - export interface PowerStateResponse { - /** - * Tells whether the cluster is Running or Stopped - */ - code?: string; + export function azureADAuthenticationAsArmPolicyResponseProvideDefaults(val: AzureADAuthenticationAsArmPolicyResponse): AzureADAuthenticationAsArmPolicyResponse { + return { + ...val, + status: (val.status) ?? "enabled", + }; } /** - * Sysctl settings for Linux agent nodes. + * The health of the auth credential. */ - export interface SysctlConfigResponse { + export interface CredentialHealthResponse { /** - * Sysctl setting fs.aio-max-nr. + * Error code representing the health check error. */ - fsAioMaxNr?: number; + errorCode?: string; /** - * Sysctl setting fs.file-max. + * Descriptive message representing the health check error. */ - fsFileMax?: number; + errorMessage?: string; /** - * Sysctl setting fs.inotify.max_user_watches. + * The health status of credential. */ - fsInotifyMaxUserWatches?: number; + status?: string; + } + + export interface EncryptionPropertyResponse { /** - * Sysctl setting fs.nr_open. + * Key vault properties. */ - fsNrOpen?: number; + keyVaultProperties?: outputs.containerregistry.v20230101preview.KeyVaultPropertiesResponse; /** - * Sysctl setting kernel.threads-max. + * Indicates whether or not the encryption is enabled for container registry. */ - kernelThreadsMax?: number; + status?: string; + } + + /** + * The content of the event request message. + */ + export interface EventContentResponse { /** - * Sysctl setting net.core.netdev_max_backlog. + * The action that encompasses the provided event. */ - netCoreNetdevMaxBacklog?: number; + action?: string; /** - * Sysctl setting net.core.optmem_max. + * The agent that initiated the event. For most situations, this could be from the authorization context of the request. */ - netCoreOptmemMax?: number; + actor?: outputs.containerregistry.v20230101preview.ActorResponse; /** - * Sysctl setting net.core.rmem_default. + * The event ID. */ - netCoreRmemDefault?: number; + id?: string; /** - * Sysctl setting net.core.rmem_max. + * The request that generated the event. */ - netCoreRmemMax?: number; + request?: outputs.containerregistry.v20230101preview.RequestResponse; /** - * Sysctl setting net.core.somaxconn. + * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. */ - netCoreSomaxconn?: number; + source?: outputs.containerregistry.v20230101preview.SourceResponse; /** - * Sysctl setting net.core.wmem_default. + * The target of the event. */ - netCoreWmemDefault?: number; + target?: outputs.containerregistry.v20230101preview.TargetResponse; /** - * Sysctl setting net.core.wmem_max. + * The time at which the event occurred. */ - netCoreWmemMax?: number; + timestamp?: string; + } + + /** + * The event request message sent to the service URI. + */ + export interface EventRequestMessageResponse { /** - * Sysctl setting net.ipv4.ip_local_port_range. + * The content of the event request message. */ - netIpv4IpLocalPortRange?: string; + content?: outputs.containerregistry.v20230101preview.EventContentResponse; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + * The headers of the event request message. */ - netIpv4NeighDefaultGcThresh1?: number; + headers?: {[key: string]: string}; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + * The HTTP method used to send the event request message. */ - netIpv4NeighDefaultGcThresh2?: number; + method?: string; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + * The URI used to send the event request message. */ - netIpv4NeighDefaultGcThresh3?: number; + requestUri?: string; /** - * Sysctl setting net.ipv4.tcp_fin_timeout. + * The HTTP message version. */ - netIpv4TcpFinTimeout?: number; + version?: string; + } + + /** + * The event for a webhook. + */ + export interface EventResponse { /** - * Sysctl setting net.ipv4.tcp_keepalive_probes. + * The event request message sent to the service URI. */ - netIpv4TcpKeepaliveProbes?: number; + eventRequestMessage?: outputs.containerregistry.v20230101preview.EventRequestMessageResponse; /** - * Sysctl setting net.ipv4.tcp_keepalive_time. + * The event response message received from the service URI. */ - netIpv4TcpKeepaliveTime?: number; + eventResponseMessage?: outputs.containerregistry.v20230101preview.EventResponseMessageResponse; /** - * Sysctl setting net.ipv4.tcp_max_syn_backlog. + * The event ID. */ - netIpv4TcpMaxSynBacklog?: number; + id?: string; + } + + /** + * The event response message received from the service URI. + */ + export interface EventResponseMessageResponse { /** - * Sysctl setting net.ipv4.tcp_max_tw_buckets. + * The content of the event response message. */ - netIpv4TcpMaxTwBuckets?: number; + content?: string; /** - * Sysctl setting net.ipv4.tcp_tw_reuse. + * The headers of the event response message. */ - netIpv4TcpTwReuse?: boolean; + headers?: {[key: string]: string}; /** - * Sysctl setting net.ipv4.tcp_keepalive_intvl. + * The reason phrase of the event response message. */ - netIpv4TcpkeepaliveIntvl?: number; + reasonPhrase?: string; /** - * Sysctl setting net.netfilter.nf_conntrack_buckets. + * The status code of the event response message. */ - netNetfilterNfConntrackBuckets?: number; + statusCode?: string; /** - * Sysctl setting net.netfilter.nf_conntrack_max. + * The HTTP message version. */ - netNetfilterNfConntrackMax?: number; + version?: string; + } + + /** + * The properties of the export pipeline target. + */ + export interface ExportPipelineTargetPropertiesResponse { /** - * Sysctl setting vm.max_map_count. + * They key vault secret uri to obtain the target storage SAS token. */ - vmMaxMapCount?: number; + keyVaultUri: string; /** - * Sysctl setting vm.swappiness. + * The type of target for the export pipeline. */ - vmSwappiness?: number; + type?: string; /** - * Sysctl setting vm.vfs_cache_pressure. + * The target uri of the export pipeline. + * When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" + * When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName" */ - vmVfsCachePressure?: number; + uri?: string; } - } - - export namespace v20220702preview { /** - * The credential result response. + * The export policy for a container registry. */ - export interface FleetCredentialResultResponse { - /** - * The name of the credential. - */ - name: string; + export interface ExportPolicyResponse { /** - * Base64-encoded Kubernetes configuration file. + * The value that indicates whether the policy is enabled or not. */ - value: string; + status?: string; + } + /** + * exportPolicyResponseProvideDefaults sets the appropriate defaults for ExportPolicyResponse + */ + export function exportPolicyResponseProvideDefaults(val: ExportPolicyResponse): ExportPolicyResponse { + return { + ...val, + status: (val.status) ?? "enabled", + }; } /** - * The FleetHubProfile configures the fleet hub. + * IP rule with specific IP or IP range in CIDR format. */ - export interface FleetHubProfileResponse { - /** - * DNS prefix used to create the FQDN for the Fleet hub. - */ - dnsPrefix?: string; + export interface IPRuleResponse { /** - * The FQDN of the Fleet hub. + * The action of IP ACL rule. */ - fqdn: string; + action?: string; /** - * The Kubernetes version of the Fleet hub. + * Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. */ - kubernetesVersion: string; + iPAddressOrRange: string; + } + /** + * ipruleResponseProvideDefaults sets the appropriate defaults for IPRuleResponse + */ + export function ipruleResponseProvideDefaults(val: IPRuleResponse): IPRuleResponse { + return { + ...val, + action: (val.action) ?? "Allow", + }; } /** - * Metadata pertaining to creation and last modification of the resource. + * Managed identity for the resource. */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; + export interface IdentityPropertiesResponse { /** - * The type of identity that created the resource. + * The principal ID of resource identity. */ - createdByType?: string; + principalId?: string; /** - * The timestamp of resource last modification (UTC) + * The tenant ID of resource. */ - lastModifiedAt?: string; + tenantId?: string; /** - * The identity that last modified the resource. + * The identity type. */ - lastModifiedBy?: string; + type?: string; /** - * The type of identity that last modified the resource. + * The list of user identities associated with the resource. The user identity + * dictionary key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ - lastModifiedByType?: string; + userAssignedIdentities?: {[key: string]: outputs.containerregistry.v20230101preview.UserIdentityPropertiesResponse}; } - } - - export namespace v20230315preview { /** - * The resource management error additional info. + * The properties of the import pipeline source. */ - export interface ErrorAdditionalInfoResponse { + export interface ImportPipelineSourcePropertiesResponse { /** - * The additional info. + * They key vault secret uri to obtain the source storage SAS token. */ - info: any; + keyVaultUri: string; /** - * The additional info type. + * The type of source for the import pipeline. */ - type: string; + type?: string; + /** + * The source uri of the import pipeline. + * When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" + * When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName" + */ + uri?: string; } - /** - * The error detail. + * importPipelineSourcePropertiesResponseProvideDefaults sets the appropriate defaults for ImportPipelineSourcePropertiesResponse */ - export interface ErrorDetailResponse { + export function importPipelineSourcePropertiesResponseProvideDefaults(val: ImportPipelineSourcePropertiesResponse): ImportPipelineSourcePropertiesResponse { + return { + ...val, + type: (val.type) ?? "AzureStorageBlobContainer", + }; + } + + export interface KeyVaultPropertiesResponse { /** - * The error additional info. + * The client id of the identity which will be used to access key vault. */ - additionalInfo: outputs.containerservice.v20230315preview.ErrorAdditionalInfoResponse[]; + identity?: string; /** - * The error code. + * Key vault uri to access the encryption key. */ - code: string; + keyIdentifier?: string; /** - * The error details. + * Auto key rotation status for a CMK enabled registry. */ - details: outputs.containerservice.v20230315preview.ErrorDetailResponse[]; + keyRotationEnabled: boolean; /** - * The error message. + * Timestamp of the last successful key rotation. */ - message: string; + lastKeyRotationTimestamp: string; /** - * The error target. + * The fully qualified key identifier that includes the version of the key that is actually used for encryption. */ - target: string; + versionedKeyIdentifier: string; } /** - * One credential result item. + * The logging properties of the connected registry. */ - export interface FleetCredentialResultResponse { + export interface LoggingPropertiesResponse { /** - * The name of the credential. + * Indicates whether audit logs are enabled on the connected registry. */ - name: string; + auditLogStatus?: string; /** - * Base64-encoded Kubernetes configuration file. + * The verbosity of logs persisted on the connected registry. */ - value: string; + logLevel?: string; + } + /** + * loggingPropertiesResponseProvideDefaults sets the appropriate defaults for LoggingPropertiesResponse + */ + export function loggingPropertiesResponseProvideDefaults(val: LoggingPropertiesResponse): LoggingPropertiesResponse { + return { + ...val, + auditLogStatus: (val.auditLogStatus) ?? "Disabled", + logLevel: (val.logLevel) ?? "Information", + }; } /** - * The FleetHubProfile configures the fleet hub. + * The login server properties of the connected registry. */ - export interface FleetHubProfileResponse { - /** - * DNS prefix used to create the FQDN for the Fleet hub. - */ - dnsPrefix?: string; + export interface LoginServerPropertiesResponse { /** - * The FQDN of the Fleet hub. + * The host of the connected registry. Can be FQDN or IP. */ - fqdn: string; + host: string; /** - * The Kubernetes version of the Fleet hub. + * The TLS properties of the connected registry login server. */ - kubernetesVersion: string; + tls: outputs.containerregistry.v20230101preview.TlsPropertiesResponse; } /** - * The update to be applied to the ManagedClusters. + * The network rule set for a container registry. */ - export interface ManagedClusterUpdateResponse { + export interface NetworkRuleSetResponse { /** - * The upgrade to apply to the ManagedClusters. + * The default action of allow or deny when no other rules match. */ - upgrade: outputs.containerservice.v20230315preview.ManagedClusterUpgradeSpecResponse; + defaultAction: string; + /** + * The IP ACL rules. + */ + ipRules?: outputs.containerregistry.v20230101preview.IPRuleResponse[]; + } + /** + * networkRuleSetResponseProvideDefaults sets the appropriate defaults for NetworkRuleSetResponse + */ + export function networkRuleSetResponseProvideDefaults(val: NetworkRuleSetResponse): NetworkRuleSetResponse { + return { + ...val, + defaultAction: (val.defaultAction) ?? "Allow", + }; } /** - * The upgrade to apply to a ManagedCluster. + * The properties of the connected registry parent. */ - export interface ManagedClusterUpgradeSpecResponse { + export interface ParentPropertiesResponse { /** - * The Kubernetes version to upgrade the member clusters to. + * The resource ID of the parent to which the connected registry will be associated. */ - kubernetesVersion?: string; + id?: string; /** - * The upgrade type. - * Full requires the KubernetesVersion property to be set. - * NodeImageOnly requires the KubernetesVersion property not to be set. + * The sync properties of the connected registry with its parent. */ - type: string; + syncProperties: outputs.containerregistry.v20230101preview.SyncPropertiesResponse; } /** - * The status of a member update operation. + * The request properties provided for a pipeline run. */ - export interface MemberUpdateStatusResponse { + export interface PipelineRunRequestResponse { /** - * The Azure resource id of the target Kubernetes cluster. + * List of source artifacts to be transferred by the pipeline. + * Specify an image by repository ('hello-world'). This will use the 'latest' tag. + * Specify an image by tag ('hello-world:latest'). + * Specify an image by sha256-based manifest digest ('hello-world@sha256:abc123'). */ - clusterResourceId: string; + artifacts?: string[]; /** - * The name of the FleetMember. + * The digest of the tar used to transfer the artifacts. */ - name: string; + catalogDigest?: string; /** - * The operation resource id of the latest attempt to perform the operation. + * The resource ID of the pipeline to run. */ - operationId: string; + pipelineResourceId?: string; /** - * The status of the MemberUpdate operation. + * The source properties of the pipeline run. */ - status: outputs.containerservice.v20230315preview.UpdateStatusResponse; + source?: outputs.containerregistry.v20230101preview.PipelineRunSourcePropertiesResponse; + /** + * The target properties of the pipeline run. + */ + target?: outputs.containerregistry.v20230101preview.PipelineRunTargetPropertiesResponse; + } + /** + * pipelineRunRequestResponseProvideDefaults sets the appropriate defaults for PipelineRunRequestResponse + */ + export function pipelineRunRequestResponseProvideDefaults(val: PipelineRunRequestResponse): PipelineRunRequestResponse { + return { + ...val, + source: (val.source ? outputs.containerregistry.v20230101preview.pipelineRunSourcePropertiesResponseProvideDefaults(val.source) : undefined), + target: (val.target ? outputs.containerregistry.v20230101preview.pipelineRunTargetPropertiesResponseProvideDefaults(val.target) : undefined), + }; } /** - * Metadata pertaining to creation and last modification of the resource. + * The response properties returned for a pipeline run. */ - export interface SystemDataResponse { + export interface PipelineRunResponseResponse { /** - * The timestamp of resource creation (UTC). + * The digest of the tar used to transfer the artifacts. */ - createdAt?: string; + catalogDigest?: string; /** - * The identity that created the resource. + * The time the pipeline run finished. */ - createdBy?: string; + finishTime?: string; /** - * The type of identity that created the resource. + * The artifacts imported in the pipeline run. */ - createdByType?: string; + importedArtifacts?: string[]; /** - * The timestamp of resource last modification (UTC) + * The detailed error message for the pipeline run in the case of failure. */ - lastModifiedAt?: string; + pipelineRunErrorMessage?: string; /** - * The identity that last modified the resource. + * The current progress of the copy operation. */ - lastModifiedBy?: string; + progress?: outputs.containerregistry.v20230101preview.ProgressPropertiesResponse; /** - * The type of identity that last modified the resource. + * The source of the pipeline run. */ - lastModifiedByType?: string; - } - - /** - * A group to be updated. - */ - export interface UpdateGroupResponse { + source?: outputs.containerregistry.v20230101preview.ImportPipelineSourcePropertiesResponse; /** - * The name of the Fleet member group to update. - * It should match the name of an existing FleetMember group. - * A group can only appear once across all UpdateStages in the UpdateRun. + * The time the pipeline run started. */ - name: string; - } - - /** - * The status of a UpdateGroup. - */ - export interface UpdateGroupStatusResponse { + startTime?: string; /** - * The list of member this UpdateGroup updates. + * The current status of the pipeline run. */ - members: outputs.containerservice.v20230315preview.MemberUpdateStatusResponse[]; + status?: string; /** - * The name of the UpdateGroup. + * The target of the pipeline run. */ - name: string; + target?: outputs.containerregistry.v20230101preview.ExportPipelineTargetPropertiesResponse; /** - * The status of the UpdateGroup. + * The trigger that caused the pipeline run. */ - status: outputs.containerservice.v20230315preview.UpdateStatusResponse; + trigger?: outputs.containerregistry.v20230101preview.PipelineTriggerDescriptorResponse; } - /** - * The status of a UpdateRun. + * pipelineRunResponseResponseProvideDefaults sets the appropriate defaults for PipelineRunResponseResponse */ - export interface UpdateRunStatusResponse { + export function pipelineRunResponseResponseProvideDefaults(val: PipelineRunResponseResponse): PipelineRunResponseResponse { + return { + ...val, + source: (val.source ? outputs.containerregistry.v20230101preview.importPipelineSourcePropertiesResponseProvideDefaults(val.source) : undefined), + }; + } + + export interface PipelineRunSourcePropertiesResponse { /** - * The stages composing an update run. Stages are run sequentially withing an UpdateRun. + * The name of the source. */ - stages: outputs.containerservice.v20230315preview.UpdateStageStatusResponse[]; + name?: string; /** - * The status of the UpdateRun. + * The type of the source. */ - status: outputs.containerservice.v20230315preview.UpdateStatusResponse; + type?: string; } - /** - * The UpdateRunStrategy configures the sequence of Stages and Groups in which the clusters will be updated. + * pipelineRunSourcePropertiesResponseProvideDefaults sets the appropriate defaults for PipelineRunSourcePropertiesResponse */ - export interface UpdateRunStrategyResponse { + export function pipelineRunSourcePropertiesResponseProvideDefaults(val: PipelineRunSourcePropertiesResponse): PipelineRunSourcePropertiesResponse { + return { + ...val, + type: (val.type) ?? "AzureStorageBlob", + }; + } + + export interface PipelineRunTargetPropertiesResponse { /** - * The list of stages that compose this update run. + * The name of the target. */ - stages: outputs.containerservice.v20230315preview.UpdateStageResponse[]; + name?: string; + /** + * The type of the target. + */ + type?: string; } - /** - * Contains the groups to be updated by an UpdateRun. - * Update order: - * - Sequential between stages: Stages run sequentially. The previous stage must complete before the next one starts. - * - Parallel within a stage: Groups within a stage run in parallel. - * - Sequential within a group: Clusters within a group are updated sequentially. + * pipelineRunTargetPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineRunTargetPropertiesResponse */ - export interface UpdateStageResponse { + export function pipelineRunTargetPropertiesResponseProvideDefaults(val: PipelineRunTargetPropertiesResponse): PipelineRunTargetPropertiesResponse { + return { + ...val, + type: (val.type) ?? "AzureStorageBlob", + }; + } + + export interface PipelineSourceTriggerDescriptorResponse { /** - * The time in seconds to wait at the end of this stage before starting the next one. Defaults to 0 seconds if unspecified. + * The timestamp when the source update happened. */ - afterStageWaitInSeconds?: number; + timestamp?: string; + } + + export interface PipelineSourceTriggerPropertiesResponse { /** - * A list of group names that compose the stage. - * The groups will be updated in parallel. Each group name can only appear once in the UpdateRun. + * The current status of the source trigger. */ - groups?: outputs.containerservice.v20230315preview.UpdateGroupResponse[]; + status: string; + } + /** + * pipelineSourceTriggerPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineSourceTriggerPropertiesResponse + */ + export function pipelineSourceTriggerPropertiesResponseProvideDefaults(val: PipelineSourceTriggerPropertiesResponse): PipelineSourceTriggerPropertiesResponse { + return { + ...val, + status: (val.status) ?? "Enabled", + }; + } + + export interface PipelineTriggerDescriptorResponse { /** - * The name of the stage. Must be unique within the UpdateRun. + * The source trigger that caused the pipeline run. */ - name: string; + sourceTrigger?: outputs.containerregistry.v20230101preview.PipelineSourceTriggerDescriptorResponse; + } + + export interface PipelineTriggerPropertiesResponse { + /** + * The source trigger properties of the pipeline. + */ + sourceTrigger?: outputs.containerregistry.v20230101preview.PipelineSourceTriggerPropertiesResponse; + } + /** + * pipelineTriggerPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineTriggerPropertiesResponse + */ + export function pipelineTriggerPropertiesResponseProvideDefaults(val: PipelineTriggerPropertiesResponse): PipelineTriggerPropertiesResponse { + return { + ...val, + sourceTrigger: (val.sourceTrigger ? outputs.containerregistry.v20230101preview.pipelineSourceTriggerPropertiesResponseProvideDefaults(val.sourceTrigger) : undefined), + }; } /** - * The status of a UpdateStage. + * The policies for a container registry. */ - export interface UpdateStageStatusResponse { + export interface PoliciesResponse { /** - * The status of the wait period configured on the UpdateStage. + * The policy for using ARM audience token for a container registry. */ - afterStageWaitStatus: outputs.containerservice.v20230315preview.WaitStatusResponse; + azureADAuthenticationAsArmPolicy?: outputs.containerregistry.v20230101preview.AzureADAuthenticationAsArmPolicyResponse; /** - * The list of groups to be updated as part of this UpdateStage. + * The export policy for a container registry. */ - groups: outputs.containerservice.v20230315preview.UpdateGroupStatusResponse[]; + exportPolicy?: outputs.containerregistry.v20230101preview.ExportPolicyResponse; /** - * The name of the UpdateStage. + * The quarantine policy for a container registry. */ - name: string; + quarantinePolicy?: outputs.containerregistry.v20230101preview.QuarantinePolicyResponse; /** - * The status of the UpdateStage. + * The retention policy for a container registry. */ - status: outputs.containerservice.v20230315preview.UpdateStatusResponse; + retentionPolicy?: outputs.containerregistry.v20230101preview.RetentionPolicyResponse; + /** + * The soft delete policy for a container registry. + */ + softDeletePolicy?: outputs.containerregistry.v20230101preview.SoftDeletePolicyResponse; + /** + * The content trust policy for a container registry. + */ + trustPolicy?: outputs.containerregistry.v20230101preview.TrustPolicyResponse; + } + /** + * policiesResponseProvideDefaults sets the appropriate defaults for PoliciesResponse + */ + export function policiesResponseProvideDefaults(val: PoliciesResponse): PoliciesResponse { + return { + ...val, + azureADAuthenticationAsArmPolicy: (val.azureADAuthenticationAsArmPolicy ? outputs.containerregistry.v20230101preview.azureADAuthenticationAsArmPolicyResponseProvideDefaults(val.azureADAuthenticationAsArmPolicy) : undefined), + exportPolicy: (val.exportPolicy ? outputs.containerregistry.v20230101preview.exportPolicyResponseProvideDefaults(val.exportPolicy) : undefined), + quarantinePolicy: (val.quarantinePolicy ? outputs.containerregistry.v20230101preview.quarantinePolicyResponseProvideDefaults(val.quarantinePolicy) : undefined), + retentionPolicy: (val.retentionPolicy ? outputs.containerregistry.v20230101preview.retentionPolicyResponseProvideDefaults(val.retentionPolicy) : undefined), + softDeletePolicy: (val.softDeletePolicy ? outputs.containerregistry.v20230101preview.softDeletePolicyResponseProvideDefaults(val.softDeletePolicy) : undefined), + trustPolicy: (val.trustPolicy ? outputs.containerregistry.v20230101preview.trustPolicyResponseProvideDefaults(val.trustPolicy) : undefined), + }; } /** - * The status for an operation or group of operations. + * An object that represents a private endpoint connection for a container registry. */ - export interface UpdateStatusResponse { + export interface PrivateEndpointConnectionResponse { /** - * The time the operation or group was completed. + * The resource ID. */ - completedTime: string; + id: string; /** - * The error details when a failure is encountered. + * The name of the resource. */ - error: outputs.containerservice.v20230315preview.ErrorDetailResponse; + name: string; /** - * The time the operation or group was started. + * The resource of private endpoint. */ - startTime: string; + privateEndpoint?: outputs.containerregistry.v20230101preview.PrivateEndpointResponse; /** - * The State of the operation or group. + * A collection of information about the state of the connection between service consumer and provider. */ - state: string; - } - - /** - * The status of the wait duration. - */ - export interface WaitStatusResponse { + privateLinkServiceConnectionState?: outputs.containerregistry.v20230101preview.PrivateLinkServiceConnectionStateResponse; /** - * The status of the wait duration. + * The provisioning state of private endpoint connection resource. */ - status: outputs.containerservice.v20230315preview.UpdateStatusResponse; + provisioningState: string; /** - * The wait duration configured in seconds. + * Metadata pertaining to creation and last modification of the resource. */ - waitDurationInSeconds: number; + systemData: outputs.containerregistry.v20230101preview.SystemDataResponse; + /** + * The type of the resource. + */ + type: string; } - } - - export namespace v20230401 { /** - * Settings for upgrading an agentpool + * The Private Endpoint resource. */ - export interface AgentPoolUpgradeSettingsResponse { + export interface PrivateEndpointResponse { /** - * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + * This is private endpoint resource created with Microsoft.Network resource provider. */ - maxSurge?: string; + id?: string; } /** - * Azure Key Vault key management service settings for the security profile. + * The state of a private link service connection. */ - export interface AzureKeyVaultKmsResponse { + export interface PrivateLinkServiceConnectionStateResponse { /** - * Whether to enable Azure Key Vault key management service. The default is false. + * A message indicating if changes on the service provider require any updates on the consumer. */ - enabled?: boolean; + actionsRequired?: string; /** - * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + * The description for connection status. For example if connection is rejected it can indicate reason for rejection. */ - keyId?: string; + description?: string; /** - * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + * The private link service connection status. */ - keyVaultNetworkAccess?: string; + status?: string; + } + + export interface ProgressPropertiesResponse { /** - * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + * The percentage complete of the copy operation. */ - keyVaultResourceId?: string; + percentage?: string; } + /** - * azureKeyVaultKmsResponseProvideDefaults sets the appropriate defaults for AzureKeyVaultKmsResponse + * The quarantine policy for a container registry. */ - export function azureKeyVaultKmsResponseProvideDefaults(val: AzureKeyVaultKmsResponse): AzureKeyVaultKmsResponse { + export interface QuarantinePolicyResponse { + /** + * The value that indicates whether the policy is enabled or not. + */ + status?: string; + } + /** + * quarantinePolicyResponseProvideDefaults sets the appropriate defaults for QuarantinePolicyResponse + */ + export function quarantinePolicyResponseProvideDefaults(val: QuarantinePolicyResponse): QuarantinePolicyResponse { return { ...val, - keyVaultNetworkAccess: (val.keyVaultNetworkAccess) ?? "Public", + status: (val.status) ?? "disabled", }; } /** - * Profile for Linux VMs in the container service cluster. + * The login password for the container registry. */ - export interface ContainerServiceLinuxProfileResponse { + export interface RegistryPasswordResponse { /** - * The administrator username to use for Linux VMs. + * The password name. */ - adminUsername: string; + name?: string; /** - * The SSH configuration for Linux-based VMs running on Azure. + * The password value. */ - ssh: outputs.containerservice.v20230401.ContainerServiceSshConfigurationResponse; + value?: string; } /** - * Profile of network configuration. + * The request that generated the event. */ - export interface ContainerServiceNetworkProfileResponse { - /** - * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. - */ - dnsServiceIP?: string; - /** - * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - */ - ipFamilies?: string[]; + export interface RequestResponse { /** - * Profile of the cluster load balancer. + * The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request. */ - loadBalancerProfile?: outputs.containerservice.v20230401.ManagedClusterLoadBalancerProfileResponse; + addr?: string; /** - * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + * The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests. */ - loadBalancerSku?: string; + host?: string; /** - * Profile of the cluster NAT gateway. + * The ID of the request that initiated the event. */ - natGatewayProfile?: outputs.containerservice.v20230401.ManagedClusterNATGatewayProfileResponse; + id?: string; /** - * Network dataplane used in the Kubernetes cluster. + * The request method that generated the event. */ - networkDataplane?: string; + method?: string; /** - * This cannot be specified if networkPlugin is anything other than 'azure'. + * The user agent header of the request. */ - networkMode?: string; + useragent?: string; + } + + /** + * The retention policy for a container registry. + */ + export interface RetentionPolicyResponse { /** - * Network plugin used for building the Kubernetes network. + * The number of days to retain an untagged manifest after which it gets purged. */ - networkPlugin?: string; + days?: number; /** - * The mode the network plugin should use. + * The timestamp when the policy was last updated. */ - networkPluginMode?: string; + lastUpdatedTime: string; /** - * Network policy used for building the Kubernetes network. + * The value that indicates whether the policy is enabled or not. */ - networkPolicy?: string; + status?: string; + } + /** + * retentionPolicyResponseProvideDefaults sets the appropriate defaults for RetentionPolicyResponse + */ + export function retentionPolicyResponseProvideDefaults(val: RetentionPolicyResponse): RetentionPolicyResponse { + return { + ...val, + days: (val.days) ?? 7, + status: (val.status) ?? "disabled", + }; + } + + /** + * The SKU of a container registry. + */ + export interface SkuResponse { /** - * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + * The SKU name of the container registry. Required for registry creation. */ - outboundType?: string; + name: string; /** - * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + * The SKU tier based on the SKU name. */ - podCidr?: string; + tier: string; + } + + /** + * The soft delete policy for a container registry + */ + export interface SoftDeletePolicyResponse { /** - * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + * The timestamp when the policy was last updated. */ - podCidrs?: string[]; + lastUpdatedTime: string; /** - * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + * The number of days after which a soft-deleted item is permanently deleted. */ - serviceCidr?: string; + retentionDays?: number; /** - * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + * The value that indicates whether the policy is enabled or not. */ - serviceCidrs?: string[]; + status?: string; } /** - * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse + * softDeletePolicyResponseProvideDefaults sets the appropriate defaults for SoftDeletePolicyResponse */ - export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { + export function softDeletePolicyResponseProvideDefaults(val: SoftDeletePolicyResponse): SoftDeletePolicyResponse { return { ...val, - dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.v20230401.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), - natGatewayProfile: (val.natGatewayProfile ? outputs.containerservice.v20230401.managedClusterNATGatewayProfileResponseProvideDefaults(val.natGatewayProfile) : undefined), - networkPlugin: (val.networkPlugin) ?? "kubenet", - outboundType: (val.outboundType) ?? "loadBalancer", - podCidr: (val.podCidr) ?? "10.244.0.0/16", - serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", + retentionDays: (val.retentionDays) ?? 7, + status: (val.status) ?? "disabled", }; } /** - * SSH configuration for Linux-based VMs running on Azure. + * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. */ - export interface ContainerServiceSshConfigurationResponse { + export interface SourceResponse { /** - * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + * The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port. */ - publicKeys: outputs.containerservice.v20230401.ContainerServiceSshPublicKeyResponse[]; - } - - /** - * Contains information about SSH certificate public key data. - */ - export interface ContainerServiceSshPublicKeyResponse { + addr?: string; /** - * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + * The running instance of an application. Changes after each restart. */ - keyData: string; + instanceID?: string; } /** - * Data used when creating a target resource from a source resource. + * The status detail properties of the connected registry. */ - export interface CreationDataResponse { + export interface StatusDetailPropertiesResponse { /** - * This is the ARM ID of the source object to be used to create the target object. + * The code of the status. */ - sourceResourceId?: string; - } - - /** - * The credential result response. - */ - export interface CredentialResultResponse { + code: string; /** - * The name of the credential. + * The correlation ID of the status. */ - name: string; + correlationId: string; /** - * Base64-encoded Kubernetes configuration file. + * The description of the status. */ - value: string; + description: string; + /** + * The timestamp of the status. + */ + timestamp: string; + /** + * The component of the connected registry corresponding to the status. + */ + type: string; } /** - * The complex type of the extended location. + * The status of an Azure resource at the time the operation was called. */ - export interface ExtendedLocationResponse { + export interface StatusResponse { /** - * The name of the extended location. + * The short label for the status. */ - name?: string; + displayStatus: string; /** - * The type of the extended location. + * The detailed message for the status, including alerts and error messages. */ - type?: string; + message: string; + /** + * The timestamp when the status was changed to the current value. + */ + timestamp: string; } /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * The sync properties of the connected registry with its parent. */ - export interface KubeletConfigResponse { + export interface SyncPropertiesResponse { /** - * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + * The gateway endpoint used by the connected registry to communicate with its parent. */ - allowedUnsafeSysctls?: string[]; + gatewayEndpoint: string; /** - * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + * The last time a sync occurred between the connected registry and its parent. */ - containerLogMaxFiles?: number; + lastSyncTime: string; /** - * The maximum size (e.g. 10Mi) of container log file before it is rotated. + * The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. */ - containerLogMaxSizeMB?: number; + messageTtl: string; /** - * The default is true. + * The cron expression indicating the schedule that the connected registry will sync with its parent. */ - cpuCfsQuota?: boolean; + schedule?: string; /** - * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + * The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. */ - cpuCfsQuotaPeriod?: string; + syncWindow?: string; /** - * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + * The resource ID of the ACR token used to authenticate the connected registry to its parent during sync. */ - cpuManagerPolicy?: string; + tokenId: string; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { /** - * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + * The timestamp of resource creation (UTC). */ - failSwapOn?: boolean; + createdAt?: string; /** - * To disable image garbage collection, set to 100. The default is 85% + * The identity that created the resource. */ - imageGcHighThreshold?: number; + createdBy?: string; /** - * This cannot be set higher than imageGcHighThreshold. The default is 80% + * The type of identity that created the resource. */ - imageGcLowThreshold?: number; + createdByType?: string; /** - * The maximum number of processes per pod. + * The timestamp of resource modification (UTC). */ - podMaxPids?: number; + lastModifiedAt?: string; /** - * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + * The identity that last modified the resource. */ - topologyManagerPolicy?: string; + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; } /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * The target of the event. */ - export interface LinuxOSConfigResponse { + export interface TargetResponse { /** - * The size in MB of a swap file that will be created on each node. + * The digest of the content, as defined by the Registry V2 HTTP API Specification. */ - swapFileSizeMB?: number; + digest?: string; /** - * Sysctl settings for Linux agent nodes. + * The number of bytes of the content. Same as Size field. */ - sysctls?: outputs.containerservice.v20230401.SysctlConfigResponse; + length?: number; /** - * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + * The MIME type of the referenced object. */ - transparentHugePageDefrag?: string; + mediaType?: string; /** - * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + * The name of the artifact. */ - transparentHugePageEnabled?: string; - } - - /** - * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). - */ - export interface ManagedClusterAADProfileResponse { + name?: string; /** - * The list of AAD group object IDs that will have admin role of the cluster. + * The repository name. */ - adminGroupObjectIDs?: string[]; + repository?: string; /** - * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + * The number of bytes of the content. Same as Length field. */ - clientAppID?: string; + size?: number; /** - * Whether to enable Azure RBAC for Kubernetes authorization. + * The tag name. */ - enableAzureRBAC?: boolean; + tag?: string; /** - * Whether to enable managed AAD. + * The direct URL to the content. */ - managed?: boolean; + url?: string; /** - * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + * The version of the artifact. */ - serverAppID?: string; + version?: string; + } + + /** + * The TLS certificate properties of the connected registry login server. + */ + export interface TlsCertificatePropertiesResponse { /** - * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + * Indicates the location of the certificates. */ - serverAppSecret?: string; + location: string; /** - * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + * The type of certificate location. */ - tenantID?: string; + type: string; } /** - * Access profile for managed cluster API server. + * The TLS properties of the connected registry login server. */ - export interface ManagedClusterAPIServerAccessProfileResponse { + export interface TlsPropertiesResponse { /** - * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + * The certificate used to configure HTTPS for the login server. */ - authorizedIPRanges?: string[]; + certificate: outputs.containerregistry.v20230101preview.TlsCertificatePropertiesResponse; /** - * Whether to disable run command for the cluster or not. + * Indicates whether HTTPS is enabled for the login server. */ - disableRunCommand?: boolean; + status: string; + } + + /** + * The properties of a certificate used for authenticating a token. + */ + export interface TokenCertificateResponse { /** - * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + * Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token. */ - enablePrivateCluster?: boolean; + encodedPemCertificate?: string; /** - * Whether to create additional public FQDN for private cluster or not. + * The expiry datetime of the certificate. */ - enablePrivateClusterPublicFQDN?: boolean; + expiry?: string; + name?: string; /** - * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + * The thumbprint of the certificate. */ - privateDNSZone?: string; + thumbprint?: string; } /** - * A Kubernetes add-on profile for a managed cluster. + * The properties of the credentials that can be used for authenticating the token. */ - export interface ManagedClusterAddonProfileResponse { + export interface TokenCredentialsPropertiesResponse { + certificates?: outputs.containerregistry.v20230101preview.TokenCertificateResponse[]; + passwords?: outputs.containerregistry.v20230101preview.TokenPasswordResponse[]; + } + + /** + * The password that will be used for authenticating the token of a container registry. + */ + export interface TokenPasswordResponse { /** - * Key-value pairs for configuring an add-on. + * The creation datetime of the password. */ - config?: {[key: string]: string}; + creationTime?: string; /** - * Whether the add-on is enabled or not. + * The expiry datetime of the password. */ - enabled: boolean; + expiry?: string; /** - * Information of user assigned identity used by this add-on. + * The password name "password1" or "password2" */ - identity: outputs.containerservice.v20230401.ManagedClusterAddonProfileResponseIdentity; + name?: string; + /** + * The password value. + */ + value: string; } /** - * Information of user assigned identity used by this add-on. + * The content trust policy for a container registry. */ - export interface ManagedClusterAddonProfileResponseIdentity { + export interface TrustPolicyResponse { /** - * The client ID of the user assigned identity. + * The value that indicates whether the policy is enabled or not. */ - clientId?: string; + status?: string; /** - * The object ID of the user assigned identity. + * The type of trust policy. */ - objectId?: string; + type?: string; + } + /** + * trustPolicyResponseProvideDefaults sets the appropriate defaults for TrustPolicyResponse + */ + export function trustPolicyResponseProvideDefaults(val: TrustPolicyResponse): TrustPolicyResponse { + return { + ...val, + status: (val.status) ?? "disabled", + type: (val.type) ?? "Notary", + }; + } + + export interface UserIdentityPropertiesResponse { /** - * The resource ID of the user assigned identity. + * The client id of user assigned identity. */ - resourceId?: string; + clientId?: string; + /** + * The principal id of user assigned identity. + */ + principalId?: string; } + } + + export namespace v20230601preview { /** - * Profile for the container service agent pool. + * The activation properties of the connected registry. */ - export interface ManagedClusterAgentPoolProfileResponse { + export interface ActivationPropertiesResponse { /** - * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + * The activation status of the connected registry. */ - availabilityZones?: string[]; + status: string; + } + + /** + * The agent that initiated the event. For most situations, this could be from the authorization context of the request. + */ + export interface ActorResponse { /** - * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + * The subject or username associated with the request context that generated the event. */ - count?: number; + name?: string; + } + + /** + * The properties of the archive package source. + */ + export interface ArchivePackageSourcePropertiesResponse { /** - * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + * The type of package source for a archive. */ - creationData?: outputs.containerservice.v20230401.CreationDataResponse; + type?: string; /** - * If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + * The external repository url. */ - currentOrchestratorVersion: string; + url?: string; + } + + /** + * Authentication credential stored for an upstream. + */ + export interface AuthCredentialResponse { /** - * Whether to enable auto-scaler + * This provides data pertaining to the health of the auth credential. */ - enableAutoScaling?: boolean; + credentialHealth: outputs.containerregistry.v20230601preview.CredentialHealthResponse; /** - * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + * The name of the credential. */ - enableEncryptionAtHost?: boolean; + name?: string; /** - * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + * KeyVault Secret URI for accessing the password. */ - enableFIPS?: boolean; + passwordSecretIdentifier?: string; /** - * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + * KeyVault Secret URI for accessing the username. */ - enableNodePublicIP?: boolean; + usernameSecretIdentifier?: string; + } + + /** + * The policy for using ARM audience token for a container registry. + */ + export interface AzureADAuthenticationAsArmPolicyResponse { /** - * Whether to enable UltraSSD + * The value that indicates whether the policy is enabled or not. */ - enableUltraSSD?: boolean; + status?: string; + } + /** + * azureADAuthenticationAsArmPolicyResponseProvideDefaults sets the appropriate defaults for AzureADAuthenticationAsArmPolicyResponse + */ + export function azureADAuthenticationAsArmPolicyResponseProvideDefaults(val: AzureADAuthenticationAsArmPolicyResponse): AzureADAuthenticationAsArmPolicyResponse { + return { + ...val, + status: (val.status) ?? "enabled", + }; + } + + /** + * The health of the auth credential. + */ + export interface CredentialHealthResponse { /** - * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + * Error code representing the health check error. */ - gpuInstanceProfile?: string; + errorCode?: string; /** - * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + * Descriptive message representing the health check error. */ - hostGroupID?: string; + errorMessage?: string; /** - * The Kubelet configuration on the agent pool nodes. + * The health status of credential. */ - kubeletConfig?: outputs.containerservice.v20230401.KubeletConfigResponse; + status?: string; + } + + export interface EncryptionPropertyResponse { /** - * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + * Key vault properties. */ - kubeletDiskType?: string; + keyVaultProperties?: outputs.containerregistry.v20230601preview.KeyVaultPropertiesResponse; /** - * The OS configuration of Linux agent nodes. + * Indicates whether or not the encryption is enabled for container registry. */ - linuxOSConfig?: outputs.containerservice.v20230401.LinuxOSConfigResponse; - /** - * The maximum number of nodes for auto-scaling - */ - maxCount?: number; - /** - * The maximum number of pods that can run on a node. - */ - maxPods?: number; + status?: string; + } + + /** + * The content of the event request message. + */ + export interface EventContentResponse { /** - * The minimum number of nodes for auto-scaling + * The action that encompasses the provided event. */ - minCount?: number; + action?: string; /** - * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + * The agent that initiated the event. For most situations, this could be from the authorization context of the request. */ - mode?: string; + actor?: outputs.containerregistry.v20230601preview.ActorResponse; /** - * Windows agent pool names must be 6 characters or less. + * The event ID. */ - name: string; + id?: string; /** - * The version of node image + * The request that generated the event. */ - nodeImageVersion: string; + request?: outputs.containerregistry.v20230601preview.RequestResponse; /** - * The node labels to be persisted across all nodes in agent pool. + * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. */ - nodeLabels?: {[key: string]: string}; + source?: outputs.containerregistry.v20230601preview.SourceResponse; /** - * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + * The target of the event. */ - nodePublicIPPrefixID?: string; + target?: outputs.containerregistry.v20230601preview.TargetResponse; /** - * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + * The time at which the event occurred. */ - nodeTaints?: string[]; + timestamp?: string; + } + + /** + * The event request message sent to the service URI. + */ + export interface EventRequestMessageResponse { /** - * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + * The content of the event request message. */ - orchestratorVersion?: string; + content?: outputs.containerregistry.v20230601preview.EventContentResponse; /** - * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + * The headers of the event request message. */ - osDiskSizeGB?: number; + headers?: {[key: string]: string}; /** - * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + * The HTTP method used to send the event request message. */ - osDiskType?: string; + method?: string; /** - * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + * The URI used to send the event request message. */ - osSKU?: string; + requestUri?: string; /** - * The operating system type. The default is Linux. + * The HTTP message version. */ - osType?: string; + version?: string; + } + + /** + * The event for a webhook. + */ + export interface EventResponse { /** - * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + * The event request message sent to the service URI. */ - podSubnetID?: string; + eventRequestMessage?: outputs.containerregistry.v20230601preview.EventRequestMessageResponse; /** - * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + * The event response message received from the service URI. */ - powerState?: outputs.containerservice.v20230401.PowerStateResponse; + eventResponseMessage?: outputs.containerregistry.v20230601preview.EventResponseMessageResponse; /** - * The current deployment or provisioning state. + * The event ID. */ - provisioningState: string; + id?: string; + } + + /** + * The event response message received from the service URI. + */ + export interface EventResponseMessageResponse { /** - * The ID for Proximity Placement Group. + * The content of the event response message. */ - proximityPlacementGroupID?: string; + content?: string; /** - * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + * The headers of the event response message. */ - scaleDownMode?: string; + headers?: {[key: string]: string}; /** - * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + * The reason phrase of the event response message. */ - scaleSetEvictionPolicy?: string; + reasonPhrase?: string; /** - * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + * The status code of the event response message. */ - scaleSetPriority?: string; + statusCode?: string; /** - * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + * The HTTP message version. */ - spotMaxPrice?: number; + version?: string; + } + + /** + * The properties of the export pipeline target. + */ + export interface ExportPipelineTargetPropertiesResponse { /** - * The tags to be persisted on the agent pool virtual machine scale set. + * They key vault secret uri to obtain the target storage SAS token. */ - tags?: {[key: string]: string}; + keyVaultUri: string; /** - * The type of Agent Pool. + * The type of target for the export pipeline. */ type?: string; /** - * Settings for upgrading the agentpool - */ - upgradeSettings?: outputs.containerservice.v20230401.AgentPoolUpgradeSettingsResponse; - /** - * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions - */ - vmSize?: string; - /** - * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - */ - vnetSubnetID?: string; - /** - * Determines the type of workload a node can run. + * The target uri of the export pipeline. + * When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" + * When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName" */ - workloadRuntime?: string; + uri?: string; } /** - * Auto upgrade profile for a managed cluster. + * The export policy for a container registry. */ - export interface ManagedClusterAutoUpgradeProfileResponse { + export interface ExportPolicyResponse { /** - * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + * The value that indicates whether the policy is enabled or not. */ - upgradeChannel?: string; + status?: string; } - /** - * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + * exportPolicyResponseProvideDefaults sets the appropriate defaults for ExportPolicyResponse */ - export interface ManagedClusterAzureMonitorProfileKubeStateMetricsResponse { - /** - * Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. - */ - metricAnnotationsAllowList?: string; - /** - * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. - */ - metricLabelsAllowlist?: string; + export function exportPolicyResponseProvideDefaults(val: ExportPolicyResponse): ExportPolicyResponse { + return { + ...val, + status: (val.status) ?? "enabled", + }; } /** - * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + * IP rule with specific IP or IP range in CIDR format. */ - export interface ManagedClusterAzureMonitorProfileMetricsResponse { + export interface IPRuleResponse { /** - * Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + * The action of IP ACL rule. */ - enabled: boolean; + action?: string; /** - * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + * Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. */ - kubeStateMetrics?: outputs.containerservice.v20230401.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse; + iPAddressOrRange: string; } - /** - * Azure Monitor addon profiles for monitoring the managed cluster. + * ipruleResponseProvideDefaults sets the appropriate defaults for IPRuleResponse */ - export interface ManagedClusterAzureMonitorProfileResponse { - /** - * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. - */ - metrics?: outputs.containerservice.v20230401.ManagedClusterAzureMonitorProfileMetricsResponse; + export function ipruleResponseProvideDefaults(val: IPRuleResponse): IPRuleResponse { + return { + ...val, + action: (val.action) ?? "Allow", + }; } /** - * Cluster HTTP proxy configuration. + * Managed identity for the resource. */ - export interface ManagedClusterHTTPProxyConfigResponse { + export interface IdentityPropertiesResponse { /** - * The HTTP proxy server endpoint to use. + * The principal ID of resource identity. */ - httpProxy?: string; + principalId: string; /** - * The HTTPS proxy server endpoint to use. + * The tenant ID of resource. */ - httpsProxy?: string; + tenantId: string; /** - * The endpoints that should not go through proxy. + * The identity type. */ - noProxy?: string[]; + type?: string; /** - * Alternative CA cert to use for connecting to proxy servers. + * The list of user identities associated with the resource. The user identity + * dictionary key references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + * providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ - trustedCa?: string; + userAssignedIdentities?: {[key: string]: outputs.containerregistry.v20230601preview.UserIdentityPropertiesResponse}; } /** - * Identity for the managed cluster. + * The properties of the import pipeline source. */ - export interface ManagedClusterIdentityResponse { - /** - * The principal id of the system assigned identity which is used by master components. - */ - principalId: string; + export interface ImportPipelineSourcePropertiesResponse { /** - * The tenant id of the system assigned identity which is used by master components. + * They key vault secret uri to obtain the source storage SAS token. */ - tenantId: string; + keyVaultUri: string; /** - * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + * The type of source for the import pipeline. */ type?: string; /** - * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - */ - userAssignedIdentities?: {[key: string]: outputs.containerservice.v20230401.ManagedClusterIdentityResponseUserAssignedIdentities}; - } - - export interface ManagedClusterIdentityResponseUserAssignedIdentities { - /** - * The client id of user assigned identity. - */ - clientId: string; - /** - * The principal id of user assigned identity. + * The source uri of the import pipeline. + * When 'AzureStorageBlob': "https://accountName.blob.core.windows.net/containerName/blobName" + * When 'AzureStorageBlobContainer': "https://accountName.blob.core.windows.net/containerName" */ - principalId: string; + uri?: string; } - /** - * Profile of the managed cluster load balancer. + * importPipelineSourcePropertiesResponseProvideDefaults sets the appropriate defaults for ImportPipelineSourcePropertiesResponse */ - export interface ManagedClusterLoadBalancerProfileResponse { - /** - * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - */ - allocatedOutboundPorts?: number; - /** - * The effective outbound IP resources of the cluster load balancer. - */ - effectiveOutboundIPs?: outputs.containerservice.v20230401.ResourceReferenceResponse[]; + export function importPipelineSourcePropertiesResponseProvideDefaults(val: ImportPipelineSourcePropertiesResponse): ImportPipelineSourcePropertiesResponse { + return { + ...val, + type: (val.type) ?? "AzureStorageBlobContainer", + }; + } + + export interface KeyVaultPropertiesResponse { /** - * Enable multiple standard load balancers per AKS cluster or not. + * The client id of the identity which will be used to access key vault. */ - enableMultipleStandardLoadBalancers?: boolean; + identity?: string; /** - * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + * Key vault uri to access the encryption key. */ - idleTimeoutInMinutes?: number; + keyIdentifier?: string; /** - * Desired managed outbound IPs for the cluster load balancer. + * Auto key rotation status for a CMK enabled registry. */ - managedOutboundIPs?: outputs.containerservice.v20230401.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; + keyRotationEnabled: boolean; /** - * Desired outbound IP Prefix resources for the cluster load balancer. + * Timestamp of the last successful key rotation. */ - outboundIPPrefixes?: outputs.containerservice.v20230401.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; + lastKeyRotationTimestamp: string; /** - * Desired outbound IP resources for the cluster load balancer. + * The fully qualified key identifier that includes the version of the key that is actually used for encryption. */ - outboundIPs?: outputs.containerservice.v20230401.ManagedClusterLoadBalancerProfileResponseOutboundIPs; - } - /** - * managedClusterLoadBalancerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponse - */ - export function managedClusterLoadBalancerProfileResponseProvideDefaults(val: ManagedClusterLoadBalancerProfileResponse): ManagedClusterLoadBalancerProfileResponse { - return { - ...val, - allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, - idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, - managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.v20230401.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), - }; + versionedKeyIdentifier: string; } /** - * Desired managed outbound IPs for the cluster load balancer. + * The logging properties of the connected registry. */ - export interface ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + export interface LoggingPropertiesResponse { /** - * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + * Indicates whether audit logs are enabled on the connected registry. */ - count?: number; + auditLogStatus?: string; /** - * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + * The verbosity of logs persisted on the connected registry. */ - countIPv6?: number; + logLevel?: string; } /** - * managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs + * loggingPropertiesResponseProvideDefaults sets the appropriate defaults for LoggingPropertiesResponse */ - export function managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val: ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs): ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + export function loggingPropertiesResponseProvideDefaults(val: LoggingPropertiesResponse): LoggingPropertiesResponse { return { ...val, - count: (val.count) ?? 1, - countIPv6: (val.countIPv6) ?? 0, + auditLogStatus: (val.auditLogStatus) ?? "Disabled", + logLevel: (val.logLevel) ?? "Information", }; } /** - * Desired outbound IP Prefix resources for the cluster load balancer. + * The login server properties of the connected registry. */ - export interface ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes { + export interface LoginServerPropertiesResponse { /** - * A list of public IP prefix resources. + * The host of the connected registry. Can be FQDN or IP. */ - publicIPPrefixes?: outputs.containerservice.v20230401.ResourceReferenceResponse[]; - } - - /** - * Desired outbound IP resources for the cluster load balancer. - */ - export interface ManagedClusterLoadBalancerProfileResponseOutboundIPs { + host: string; /** - * A list of public IP resources. + * The TLS properties of the connected registry login server. */ - publicIPs?: outputs.containerservice.v20230401.ResourceReferenceResponse[]; + tls: outputs.containerregistry.v20230601preview.TlsPropertiesResponse; } /** - * Profile of the managed outbound IP resources of the managed cluster. + * The network rule set for a container registry. */ - export interface ManagedClusterManagedOutboundIPProfileResponse { + export interface NetworkRuleSetResponse { /** - * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + * The default action of allow or deny when no other rules match. */ - count?: number; + defaultAction: string; + /** + * The IP ACL rules. + */ + ipRules?: outputs.containerregistry.v20230601preview.IPRuleResponse[]; } /** - * managedClusterManagedOutboundIPProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterManagedOutboundIPProfileResponse + * networkRuleSetResponseProvideDefaults sets the appropriate defaults for NetworkRuleSetResponse */ - export function managedClusterManagedOutboundIPProfileResponseProvideDefaults(val: ManagedClusterManagedOutboundIPProfileResponse): ManagedClusterManagedOutboundIPProfileResponse { + export function networkRuleSetResponseProvideDefaults(val: NetworkRuleSetResponse): NetworkRuleSetResponse { return { ...val, - count: (val.count) ?? 1, + defaultAction: (val.defaultAction) ?? "Allow", }; } /** - * Profile of the managed cluster NAT gateway. + * The properties of the connected registry parent. */ - export interface ManagedClusterNATGatewayProfileResponse { - /** - * The effective outbound IP resources of the cluster NAT gateway. - */ - effectiveOutboundIPs?: outputs.containerservice.v20230401.ResourceReferenceResponse[]; + export interface ParentPropertiesResponse { /** - * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + * The resource ID of the parent to which the connected registry will be associated. */ - idleTimeoutInMinutes?: number; + id?: string; /** - * Profile of the managed outbound IP resources of the cluster NAT gateway. + * The sync properties of the connected registry with its parent. */ - managedOutboundIPProfile?: outputs.containerservice.v20230401.ManagedClusterManagedOutboundIPProfileResponse; - } - /** - * managedClusterNATGatewayProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileResponse - */ - export function managedClusterNATGatewayProfileResponseProvideDefaults(val: ManagedClusterNATGatewayProfileResponse): ManagedClusterNATGatewayProfileResponse { - return { - ...val, - idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, - managedOutboundIPProfile: (val.managedOutboundIPProfile ? outputs.containerservice.v20230401.managedClusterManagedOutboundIPProfileResponseProvideDefaults(val.managedOutboundIPProfile) : undefined), - }; + syncProperties: outputs.containerregistry.v20230601preview.SyncPropertiesResponse; } /** - * The OIDC issuer profile of the Managed Cluster. + * The request properties provided for a pipeline run. */ - export interface ManagedClusterOIDCIssuerProfileResponse { + export interface PipelineRunRequestResponse { /** - * Whether the OIDC issuer is enabled. + * List of source artifacts to be transferred by the pipeline. + * Specify an image by repository ('hello-world'). This will use the 'latest' tag. + * Specify an image by tag ('hello-world:latest'). + * Specify an image by sha256-based manifest digest ('hello-world@sha256:abc123'). */ - enabled?: boolean; + artifacts?: string[]; /** - * The OIDC issuer url of the Managed Cluster. + * The digest of the tar used to transfer the artifacts. */ - issuerURL: string; - } - - /** - * See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. - */ - export interface ManagedClusterPodIdentityExceptionResponse { + catalogDigest?: string; /** - * The name of the pod identity exception. + * The resource ID of the pipeline to run. */ - name: string; + pipelineResourceId?: string; /** - * The namespace of the pod identity exception. + * The source properties of the pipeline run. */ - namespace: string; + source?: outputs.containerregistry.v20230601preview.PipelineRunSourcePropertiesResponse; /** - * The pod labels to match. + * The target properties of the pipeline run. */ - podLabels: {[key: string]: string}; + target?: outputs.containerregistry.v20230601preview.PipelineRunTargetPropertiesResponse; + } + /** + * pipelineRunRequestResponseProvideDefaults sets the appropriate defaults for PipelineRunRequestResponse + */ + export function pipelineRunRequestResponseProvideDefaults(val: PipelineRunRequestResponse): PipelineRunRequestResponse { + return { + ...val, + source: (val.source ? outputs.containerregistry.v20230601preview.pipelineRunSourcePropertiesResponseProvideDefaults(val.source) : undefined), + target: (val.target ? outputs.containerregistry.v20230601preview.pipelineRunTargetPropertiesResponseProvideDefaults(val.target) : undefined), + }; } /** - * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + * The response properties returned for a pipeline run. */ - export interface ManagedClusterPodIdentityProfileResponse { + export interface PipelineRunResponseResponse { /** - * Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. + * The digest of the tar used to transfer the artifacts. */ - allowNetworkPluginKubenet?: boolean; + catalogDigest?: string; /** - * Whether the pod identity addon is enabled. + * The time the pipeline run finished. */ - enabled?: boolean; + finishTime?: string; /** - * The pod identities to use in the cluster. + * The artifacts imported in the pipeline run. */ - userAssignedIdentities?: outputs.containerservice.v20230401.ManagedClusterPodIdentityResponse[]; + importedArtifacts?: string[]; /** - * The pod identity exceptions to allow. + * The detailed error message for the pipeline run in the case of failure. */ - userAssignedIdentityExceptions?: outputs.containerservice.v20230401.ManagedClusterPodIdentityExceptionResponse[]; - } - - /** - * An error response from the pod identity provisioning. - */ - export interface ManagedClusterPodIdentityProvisioningErrorBodyResponse { + pipelineRunErrorMessage?: string; /** - * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + * The current progress of the copy operation. */ - code?: string; + progress?: outputs.containerregistry.v20230601preview.ProgressPropertiesResponse; /** - * A list of additional details about the error. + * The source of the pipeline run. */ - details?: outputs.containerservice.v20230401.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; + source?: outputs.containerregistry.v20230601preview.ImportPipelineSourcePropertiesResponse; /** - * A message describing the error, intended to be suitable for display in a user interface. + * The time the pipeline run started. */ - message?: string; + startTime?: string; /** - * The target of the particular error. For example, the name of the property in error. + * The current status of the pipeline run. */ - target?: string; + status?: string; + /** + * The target of the pipeline run. + */ + target?: outputs.containerregistry.v20230601preview.ExportPipelineTargetPropertiesResponse; + /** + * The trigger that caused the pipeline run. + */ + trigger?: outputs.containerregistry.v20230601preview.PipelineTriggerDescriptorResponse; } - /** - * An error response from the pod identity provisioning. + * pipelineRunResponseResponseProvideDefaults sets the appropriate defaults for PipelineRunResponseResponse */ - export interface ManagedClusterPodIdentityProvisioningErrorResponse { + export function pipelineRunResponseResponseProvideDefaults(val: PipelineRunResponseResponse): PipelineRunResponseResponse { + return { + ...val, + source: (val.source ? outputs.containerregistry.v20230601preview.importPipelineSourcePropertiesResponseProvideDefaults(val.source) : undefined), + }; + } + + export interface PipelineRunSourcePropertiesResponse { /** - * Details about the error. + * The name of the source. */ - error?: outputs.containerservice.v20230401.ManagedClusterPodIdentityProvisioningErrorBodyResponse; + name?: string; + /** + * The type of the source. + */ + type?: string; } - /** - * Details about the pod identity assigned to the Managed Cluster. + * pipelineRunSourcePropertiesResponseProvideDefaults sets the appropriate defaults for PipelineRunSourcePropertiesResponse */ - export interface ManagedClusterPodIdentityResponse { + export function pipelineRunSourcePropertiesResponseProvideDefaults(val: PipelineRunSourcePropertiesResponse): PipelineRunSourcePropertiesResponse { + return { + ...val, + type: (val.type) ?? "AzureStorageBlob", + }; + } + + export interface PipelineRunTargetPropertiesResponse { /** - * The binding selector to use for the AzureIdentityBinding resource. + * The name of the target. */ - bindingSelector?: string; + name?: string; /** - * The user assigned identity details. + * The type of the target. */ - identity: outputs.containerservice.v20230401.UserAssignedIdentityResponse; + type?: string; + } + /** + * pipelineRunTargetPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineRunTargetPropertiesResponse + */ + export function pipelineRunTargetPropertiesResponseProvideDefaults(val: PipelineRunTargetPropertiesResponse): PipelineRunTargetPropertiesResponse { + return { + ...val, + type: (val.type) ?? "AzureStorageBlob", + }; + } + + export interface PipelineSourceTriggerDescriptorResponse { /** - * The name of the pod identity. + * The timestamp when the source update happened. */ - name: string; + timestamp?: string; + } + + export interface PipelineSourceTriggerPropertiesResponse { /** - * The namespace of the pod identity. + * The current status of the source trigger. */ - namespace: string; - provisioningInfo: outputs.containerservice.v20230401.ManagedClusterPodIdentityResponseProvisioningInfo; + status: string; + } + /** + * pipelineSourceTriggerPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineSourceTriggerPropertiesResponse + */ + export function pipelineSourceTriggerPropertiesResponseProvideDefaults(val: PipelineSourceTriggerPropertiesResponse): PipelineSourceTriggerPropertiesResponse { + return { + ...val, + status: (val.status) ?? "Enabled", + }; + } + + export interface PipelineTriggerDescriptorResponse { /** - * The current provisioning state of the pod identity. + * The source trigger that caused the pipeline run. */ - provisioningState: string; + sourceTrigger?: outputs.containerregistry.v20230601preview.PipelineSourceTriggerDescriptorResponse; } - export interface ManagedClusterPodIdentityResponseProvisioningInfo { + export interface PipelineTriggerPropertiesResponse { /** - * Pod identity assignment error (if any). + * The source trigger properties of the pipeline. */ - error?: outputs.containerservice.v20230401.ManagedClusterPodIdentityProvisioningErrorResponse; + sourceTrigger?: outputs.containerregistry.v20230601preview.PipelineSourceTriggerPropertiesResponse; + } + /** + * pipelineTriggerPropertiesResponseProvideDefaults sets the appropriate defaults for PipelineTriggerPropertiesResponse + */ + export function pipelineTriggerPropertiesResponseProvideDefaults(val: PipelineTriggerPropertiesResponse): PipelineTriggerPropertiesResponse { + return { + ...val, + sourceTrigger: (val.sourceTrigger ? outputs.containerregistry.v20230601preview.pipelineSourceTriggerPropertiesResponseProvideDefaults(val.sourceTrigger) : undefined), + }; } /** - * Parameters to be applied to the cluster-autoscaler when enabled + * The policies for a container registry. */ - export interface ManagedClusterPropertiesResponseAutoScalerProfile { + export interface PoliciesResponse { /** - * Valid values are 'true' and 'false' + * The policy for using ARM audience token for a container registry. */ - balanceSimilarNodeGroups?: string; + azureADAuthenticationAsArmPolicy?: outputs.containerregistry.v20230601preview.AzureADAuthenticationAsArmPolicyResponse; /** - * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + * The export policy for a container registry. */ - expander?: string; + exportPolicy?: outputs.containerregistry.v20230601preview.ExportPolicyResponse; /** - * The default is 10. + * The quarantine policy for a container registry. */ - maxEmptyBulkDelete?: string; + quarantinePolicy?: outputs.containerregistry.v20230601preview.QuarantinePolicyResponse; /** - * The default is 600. + * The retention policy for a container registry. */ - maxGracefulTerminationSec?: string; + retentionPolicy?: outputs.containerregistry.v20230601preview.RetentionPolicyResponse; /** - * The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The soft delete policy for a container registry. */ - maxNodeProvisionTime?: string; + softDeletePolicy?: outputs.containerregistry.v20230601preview.SoftDeletePolicyResponse; /** - * The default is 45. The maximum is 100 and the minimum is 0. + * The content trust policy for a container registry. */ - maxTotalUnreadyPercentage?: string; + trustPolicy?: outputs.containerregistry.v20230601preview.TrustPolicyResponse; + } + /** + * policiesResponseProvideDefaults sets the appropriate defaults for PoliciesResponse + */ + export function policiesResponseProvideDefaults(val: PoliciesResponse): PoliciesResponse { + return { + ...val, + azureADAuthenticationAsArmPolicy: (val.azureADAuthenticationAsArmPolicy ? outputs.containerregistry.v20230601preview.azureADAuthenticationAsArmPolicyResponseProvideDefaults(val.azureADAuthenticationAsArmPolicy) : undefined), + exportPolicy: (val.exportPolicy ? outputs.containerregistry.v20230601preview.exportPolicyResponseProvideDefaults(val.exportPolicy) : undefined), + quarantinePolicy: (val.quarantinePolicy ? outputs.containerregistry.v20230601preview.quarantinePolicyResponseProvideDefaults(val.quarantinePolicy) : undefined), + retentionPolicy: (val.retentionPolicy ? outputs.containerregistry.v20230601preview.retentionPolicyResponseProvideDefaults(val.retentionPolicy) : undefined), + softDeletePolicy: (val.softDeletePolicy ? outputs.containerregistry.v20230601preview.softDeletePolicyResponseProvideDefaults(val.softDeletePolicy) : undefined), + trustPolicy: (val.trustPolicy ? outputs.containerregistry.v20230601preview.trustPolicyResponseProvideDefaults(val.trustPolicy) : undefined), + }; + } + + /** + * An object that represents a private endpoint connection for a container registry. + */ + export interface PrivateEndpointConnectionResponse { /** - * For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + * The resource ID. */ - newPodScaleUpDelay?: string; + id: string; /** - * This must be an integer. The default is 3. + * The name of the resource. */ - okTotalUnreadyCount?: string; + name: string; /** - * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The resource of private endpoint. */ - scaleDownDelayAfterAdd?: string; + privateEndpoint?: outputs.containerregistry.v20230601preview.PrivateEndpointResponse; /** - * The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * A collection of information about the state of the connection between service consumer and provider. */ - scaleDownDelayAfterDelete?: string; + privateLinkServiceConnectionState?: outputs.containerregistry.v20230601preview.PrivateLinkServiceConnectionStateResponse; /** - * The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The provisioning state of private endpoint connection resource. */ - scaleDownDelayAfterFailure?: string; + provisioningState: string; /** - * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * Metadata pertaining to creation and last modification of the resource. */ - scaleDownUnneededTime?: string; + systemData: outputs.containerregistry.v20230601preview.SystemDataResponse; /** - * The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + * The type of the resource. */ - scaleDownUnreadyTime?: string; + type: string; + } + + /** + * The Private Endpoint resource. + */ + export interface PrivateEndpointResponse { /** - * The default is '0.5'. + * This is private endpoint resource created with Microsoft.Network resource provider. */ - scaleDownUtilizationThreshold?: string; + id?: string; + } + + /** + * The state of a private link service connection. + */ + export interface PrivateLinkServiceConnectionStateResponse { /** - * The default is '10'. Values must be an integer number of seconds. + * A message indicating if changes on the service provider require any updates on the consumer. */ - scanInterval?: string; + actionsRequired?: string; /** - * The default is true. + * The description for connection status. For example if connection is rejected it can indicate reason for rejection. */ - skipNodesWithLocalStorage?: string; + description?: string; /** - * The default is true. + * The private link service connection status. */ - skipNodesWithSystemPods?: string; + status?: string; } - /** - * The SKU of a Managed Cluster. - */ - export interface ManagedClusterSKUResponse { - /** - * The name of a managed cluster SKU. - */ - name?: string; + export interface ProgressPropertiesResponse { /** - * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + * The percentage complete of the copy operation. */ - tier?: string; + percentage?: string; } /** - * Microsoft Defender settings for the security profile. + * The quarantine policy for a container registry. */ - export interface ManagedClusterSecurityProfileDefenderResponse { - /** - * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. - */ - logAnalyticsWorkspaceResourceId?: string; + export interface QuarantinePolicyResponse { /** - * Microsoft Defender threat detection for Cloud settings for the security profile. + * The value that indicates whether the policy is enabled or not. */ - securityMonitoring?: outputs.containerservice.v20230401.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse; + status?: string; + } + /** + * quarantinePolicyResponseProvideDefaults sets the appropriate defaults for QuarantinePolicyResponse + */ + export function quarantinePolicyResponseProvideDefaults(val: QuarantinePolicyResponse): QuarantinePolicyResponse { + return { + ...val, + status: (val.status) ?? "disabled", + }; } /** - * Microsoft Defender settings for the security profile threat detection. + * The login password for the container registry. */ - export interface ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse { + export interface RegistryPasswordResponse { /** - * Whether to enable Defender threat detection + * The password name. */ - enabled?: boolean; + name?: string; + /** + * The password value. + */ + value?: string; } /** - * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. + * The request that generated the event. */ - export interface ManagedClusterSecurityProfileImageCleanerResponse { + export interface RequestResponse { /** - * Whether to enable Image Cleaner on AKS cluster. + * The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request. */ - enabled?: boolean; + addr?: string; /** - * Image Cleaner scanning interval in hours. + * The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests. */ - intervalHours?: number; + host?: string; + /** + * The ID of the request that initiated the event. + */ + id?: string; + /** + * The request method that generated the event. + */ + method?: string; + /** + * The user agent header of the request. + */ + useragent?: string; } /** - * Security profile for the container service cluster. + * The retention policy for a container registry. */ - export interface ManagedClusterSecurityProfileResponse { - /** - * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - */ - azureKeyVaultKms?: outputs.containerservice.v20230401.AzureKeyVaultKmsResponse; + export interface RetentionPolicyResponse { /** - * Microsoft Defender settings for the security profile. + * The number of days to retain an untagged manifest after which it gets purged. */ - defender?: outputs.containerservice.v20230401.ManagedClusterSecurityProfileDefenderResponse; + days?: number; /** - * Image Cleaner settings for the security profile. + * The timestamp when the policy was last updated. */ - imageCleaner?: outputs.containerservice.v20230401.ManagedClusterSecurityProfileImageCleanerResponse; + lastUpdatedTime: string; /** - * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + * The value that indicates whether the policy is enabled or not. */ - workloadIdentity?: outputs.containerservice.v20230401.ManagedClusterSecurityProfileWorkloadIdentityResponse; + status?: string; } /** - * managedClusterSecurityProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileResponse + * retentionPolicyResponseProvideDefaults sets the appropriate defaults for RetentionPolicyResponse */ - export function managedClusterSecurityProfileResponseProvideDefaults(val: ManagedClusterSecurityProfileResponse): ManagedClusterSecurityProfileResponse { + export function retentionPolicyResponseProvideDefaults(val: RetentionPolicyResponse): RetentionPolicyResponse { return { ...val, - azureKeyVaultKms: (val.azureKeyVaultKms ? outputs.containerservice.v20230401.azureKeyVaultKmsResponseProvideDefaults(val.azureKeyVaultKms) : undefined), + days: (val.days) ?? 7, + status: (val.status) ?? "disabled", }; } /** - * Workload identity settings for the security profile. + * The SKU of a container registry. */ - export interface ManagedClusterSecurityProfileWorkloadIdentityResponse { + export interface SkuResponse { /** - * Whether to enable workload identity. + * The SKU name of the container registry. Required for registry creation. */ - enabled?: boolean; + name: string; + /** + * The SKU tier based on the SKU name. + */ + tier: string; } /** - * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + * The soft delete policy for a container registry */ - export interface ManagedClusterServicePrincipalProfileResponse { + export interface SoftDeletePolicyResponse { /** - * The ID for the service principal. + * The timestamp when the policy was last updated. */ - clientId: string; + lastUpdatedTime: string; /** - * The secret password associated with the service principal in plain text. + * The number of days after which a soft-deleted item is permanently deleted. */ - secret?: string; - } - - /** - * AzureBlob CSI Driver settings for the storage profile. - */ - export interface ManagedClusterStorageProfileBlobCSIDriverResponse { + retentionDays?: number; /** - * Whether to enable AzureBlob CSI Driver. The default value is false. + * The value that indicates whether the policy is enabled or not. */ - enabled?: boolean; + status?: string; } - /** - * AzureDisk CSI Driver settings for the storage profile. + * softDeletePolicyResponseProvideDefaults sets the appropriate defaults for SoftDeletePolicyResponse */ - export interface ManagedClusterStorageProfileDiskCSIDriverResponse { - /** - * Whether to enable AzureDisk CSI Driver. The default value is true. - */ - enabled?: boolean; + export function softDeletePolicyResponseProvideDefaults(val: SoftDeletePolicyResponse): SoftDeletePolicyResponse { + return { + ...val, + retentionDays: (val.retentionDays) ?? 7, + status: (val.status) ?? "disabled", + }; } /** - * AzureFile CSI Driver settings for the storage profile. + * The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it. */ - export interface ManagedClusterStorageProfileFileCSIDriverResponse { + export interface SourceResponse { /** - * Whether to enable AzureFile CSI Driver. The default value is true. + * The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port. */ - enabled?: boolean; + addr?: string; + /** + * The running instance of an application. Changes after each restart. + */ + instanceID?: string; } /** - * Storage profile for the container service cluster. + * The status detail properties of the connected registry. */ - export interface ManagedClusterStorageProfileResponse { + export interface StatusDetailPropertiesResponse { /** - * AzureBlob CSI Driver settings for the storage profile. + * The code of the status. */ - blobCSIDriver?: outputs.containerservice.v20230401.ManagedClusterStorageProfileBlobCSIDriverResponse; + code: string; /** - * AzureDisk CSI Driver settings for the storage profile. + * The correlation ID of the status. */ - diskCSIDriver?: outputs.containerservice.v20230401.ManagedClusterStorageProfileDiskCSIDriverResponse; + correlationId: string; /** - * AzureFile CSI Driver settings for the storage profile. + * The description of the status. */ - fileCSIDriver?: outputs.containerservice.v20230401.ManagedClusterStorageProfileFileCSIDriverResponse; + description: string; /** - * Snapshot Controller settings for the storage profile. + * The timestamp of the status. */ - snapshotController?: outputs.containerservice.v20230401.ManagedClusterStorageProfileSnapshotControllerResponse; + timestamp: string; + /** + * The component of the connected registry corresponding to the status. + */ + type: string; } /** - * Snapshot Controller settings for the storage profile. + * The status of an Azure resource at the time the operation was called. */ - export interface ManagedClusterStorageProfileSnapshotControllerResponse { + export interface StatusResponse { /** - * Whether to enable Snapshot Controller. The default value is true. + * The short label for the status. */ - enabled?: boolean; + displayStatus: string; + /** + * The detailed message for the status, including alerts and error messages. + */ + message: string; + /** + * The timestamp when the status was changed to the current value. + */ + timestamp: string; } /** - * Profile for Windows VMs in the managed cluster. + * The sync properties of the connected registry with its parent. */ - export interface ManagedClusterWindowsProfileResponse { + export interface SyncPropertiesResponse { /** - * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + * The gateway endpoint used by the connected registry to communicate with its parent. */ - adminPassword?: string; + gatewayEndpoint: string; /** - * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + * The last time a sync occurred between the connected registry and its parent. */ - adminUsername: string; + lastSyncTime: string; /** - * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + * The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. */ - enableCSIProxy?: boolean; + messageTtl: string; /** - * The Windows gMSA Profile in the Managed Cluster. + * The cron expression indicating the schedule that the connected registry will sync with its parent. */ - gmsaProfile?: outputs.containerservice.v20230401.WindowsGmsaProfileResponse; + schedule?: string; /** - * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + * The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601. */ - licenseType?: string; - } - - /** - * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. - */ - export interface ManagedClusterWorkloadAutoScalerProfileKedaResponse { + syncWindow?: string; /** - * Whether to enable KEDA. + * The resource ID of the ACR token used to authenticate the connected registry to its parent during sync. */ - enabled: boolean; + tokenId: string; } /** - * Workload Auto-scaler profile for the managed cluster. + * Metadata pertaining to creation and last modification of the resource. */ - export interface ManagedClusterWorkloadAutoScalerProfileResponse { + export interface SystemDataResponse { /** - * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + * The timestamp of resource creation (UTC). */ - keda?: outputs.containerservice.v20230401.ManagedClusterWorkloadAutoScalerProfileKedaResponse; - } - - /** - * Describes the Power State of the cluster - */ - export interface PowerStateResponse { + createdAt?: string; /** - * Tells whether the cluster is Running or Stopped + * The identity that created the resource. */ - code?: string; - } - - /** - * Private endpoint which a connection belongs to. - */ - export interface PrivateEndpointResponse { + createdBy?: string; /** - * The resource ID of the private endpoint + * The type of identity that created the resource. */ - id?: string; + createdByType?: string; + /** + * The timestamp of resource modification (UTC). + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; } /** - * A private link resource + * The target of the event. */ - export interface PrivateLinkResourceResponse { + export interface TargetResponse { /** - * The group ID of the resource. + * The digest of the content, as defined by the Registry V2 HTTP API Specification. */ - groupId?: string; + digest?: string; /** - * The ID of the private link resource. + * The number of bytes of the content. Same as Size field. */ - id?: string; + length?: number; /** - * The name of the private link resource. + * The MIME type of the referenced object. + */ + mediaType?: string; + /** + * The name of the artifact. */ name?: string; /** - * The private link service ID of the resource, this field is exposed only to NRP internally. + * The repository name. */ - privateLinkServiceID: string; + repository?: string; /** - * The RequiredMembers of the resource + * The number of bytes of the content. Same as Length field. */ - requiredMembers?: string[]; + size?: number; /** - * The resource type. + * The tag name. */ - type?: string; + tag?: string; + /** + * The direct URL to the content. + */ + url?: string; + /** + * The version of the artifact. + */ + version?: string; } /** - * The state of a private link service connection. + * The TLS certificate properties of the connected registry login server. */ - export interface PrivateLinkServiceConnectionStateResponse { + export interface TlsCertificatePropertiesResponse { /** - * The private link service connection description. + * Indicates the location of the certificates. */ - description?: string; + location: string; /** - * The private link service connection status. + * The type of certificate location. */ - status?: string; + type: string; } /** - * A reference to an Azure resource. + * The TLS properties of the connected registry login server. */ - export interface ResourceReferenceResponse { + export interface TlsPropertiesResponse { /** - * The fully qualified Azure resource id. + * The certificate used to configure HTTPS for the login server. */ - id?: string; + certificate: outputs.containerregistry.v20230601preview.TlsCertificatePropertiesResponse; + /** + * Indicates whether HTTPS is enabled for the login server. + */ + status: string; } /** - * Sysctl settings for Linux agent nodes. + * The properties of a certificate used for authenticating a token. */ - export interface SysctlConfigResponse { - /** - * Sysctl setting fs.aio-max-nr. - */ - fsAioMaxNr?: number; + export interface TokenCertificateResponse { /** - * Sysctl setting fs.file-max. + * Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token. */ - fsFileMax?: number; + encodedPemCertificate?: string; /** - * Sysctl setting fs.inotify.max_user_watches. + * The expiry datetime of the certificate. */ - fsInotifyMaxUserWatches?: number; + expiry?: string; + name?: string; /** - * Sysctl setting fs.nr_open. + * The thumbprint of the certificate. */ - fsNrOpen?: number; - /** - * Sysctl setting kernel.threads-max. - */ - kernelThreadsMax?: number; - /** - * Sysctl setting net.core.netdev_max_backlog. - */ - netCoreNetdevMaxBacklog?: number; - /** - * Sysctl setting net.core.optmem_max. - */ - netCoreOptmemMax?: number; - /** - * Sysctl setting net.core.rmem_default. - */ - netCoreRmemDefault?: number; - /** - * Sysctl setting net.core.rmem_max. - */ - netCoreRmemMax?: number; - /** - * Sysctl setting net.core.somaxconn. - */ - netCoreSomaxconn?: number; - /** - * Sysctl setting net.core.wmem_default. - */ - netCoreWmemDefault?: number; - /** - * Sysctl setting net.core.wmem_max. - */ - netCoreWmemMax?: number; - /** - * Sysctl setting net.ipv4.ip_local_port_range. - */ - netIpv4IpLocalPortRange?: string; - /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh1. - */ - netIpv4NeighDefaultGcThresh1?: number; - /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh2. - */ - netIpv4NeighDefaultGcThresh2?: number; - /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh3. - */ - netIpv4NeighDefaultGcThresh3?: number; - /** - * Sysctl setting net.ipv4.tcp_fin_timeout. - */ - netIpv4TcpFinTimeout?: number; - /** - * Sysctl setting net.ipv4.tcp_keepalive_probes. - */ - netIpv4TcpKeepaliveProbes?: number; - /** - * Sysctl setting net.ipv4.tcp_keepalive_time. - */ - netIpv4TcpKeepaliveTime?: number; - /** - * Sysctl setting net.ipv4.tcp_max_syn_backlog. - */ - netIpv4TcpMaxSynBacklog?: number; - /** - * Sysctl setting net.ipv4.tcp_max_tw_buckets. - */ - netIpv4TcpMaxTwBuckets?: number; - /** - * Sysctl setting net.ipv4.tcp_tw_reuse. - */ - netIpv4TcpTwReuse?: boolean; - /** - * Sysctl setting net.ipv4.tcp_keepalive_intvl. - */ - netIpv4TcpkeepaliveIntvl?: number; - /** - * Sysctl setting net.netfilter.nf_conntrack_buckets. - */ - netNetfilterNfConntrackBuckets?: number; - /** - * Sysctl setting net.netfilter.nf_conntrack_max. - */ - netNetfilterNfConntrackMax?: number; - /** - * Sysctl setting vm.max_map_count. - */ - vmMaxMapCount?: number; - /** - * Sysctl setting vm.swappiness. - */ - vmSwappiness?: number; - /** - * Sysctl setting vm.vfs_cache_pressure. - */ - vmVfsCachePressure?: number; + thumbprint?: string; } /** - * Metadata pertaining to creation and last modification of the resource. + * The properties of the credentials that can be used for authenticating the token. */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; - /** - * The type of identity that created the resource. - */ - createdByType?: string; - /** - * The timestamp of resource last modification (UTC) - */ - lastModifiedAt?: string; - /** - * The identity that last modified the resource. - */ - lastModifiedBy?: string; - /** - * The type of identity that last modified the resource. - */ - lastModifiedByType?: string; + export interface TokenCredentialsPropertiesResponse { + certificates?: outputs.containerregistry.v20230601preview.TokenCertificateResponse[]; + passwords?: outputs.containerregistry.v20230601preview.TokenPasswordResponse[]; } /** - * Time in a week. + * The password that will be used for authenticating the token of a container registry. */ - export interface TimeInWeekResponse { + export interface TokenPasswordResponse { /** - * The day of the week. + * The creation datetime of the password. */ - day?: string; + creationTime?: string; /** - * Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + * The expiry datetime of the password. */ - hourSlots?: number[]; - } - - /** - * For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. - */ - export interface TimeSpanResponse { + expiry?: string; /** - * The end of a time span + * The password name "password1" or "password2" */ - end?: string; + name?: string; /** - * The start of a time span + * The password value. */ - start?: string; + value: string; } /** - * Details about a user assigned identity. + * The content trust policy for a container registry. */ - export interface UserAssignedIdentityResponse { - /** - * The client ID of the user assigned identity. - */ - clientId?: string; + export interface TrustPolicyResponse { /** - * The object ID of the user assigned identity. + * The value that indicates whether the policy is enabled or not. */ - objectId?: string; + status?: string; /** - * The resource ID of the user assigned identity. + * The type of trust policy. */ - resourceId?: string; + type?: string; } - /** - * Windows gMSA Profile in the managed cluster. + * trustPolicyResponseProvideDefaults sets the appropriate defaults for TrustPolicyResponse */ - export interface WindowsGmsaProfileResponse { - /** - * Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - */ - dnsServer?: string; + export function trustPolicyResponseProvideDefaults(val: TrustPolicyResponse): TrustPolicyResponse { + return { + ...val, + status: (val.status) ?? "disabled", + type: (val.type) ?? "Notary", + }; + } + + export interface UserIdentityPropertiesResponse { /** - * Specifies whether to enable Windows gMSA in the managed cluster. + * The client id of user assigned identity. */ - enabled?: boolean; + clientId: string; /** - * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + * The principal id of user assigned identity. */ - rootDomainName?: string; + principalId: string; } } +} - export namespace v20230502preview { +export namespace containerservice { + /** + * Settings for upgrading an agentpool + */ + export interface AgentPoolUpgradeSettingsResponse { /** - * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade */ - export interface AbsoluteMonthlyScheduleResponse { - /** - * The date of the month. - */ - dayOfMonth: number; - /** - * Specifies the number of months between each set of occurrences. - */ - intervalMonths: number; - } + maxSurge?: string; + } + /** + * Azure Key Vault key management service settings for the security profile. + */ + export interface AzureKeyVaultKmsResponse { /** - * Network settings of an agent pool. + * Whether to enable Azure Key Vault key management service. The default is false. */ - export interface AgentPoolNetworkProfileResponse { - /** - * The port ranges that are allowed to access. The specified ranges are allowed to overlap. - */ - allowedHostPorts?: outputs.containerservice.v20230502preview.PortRangeResponse[]; - /** - * The IDs of the application security groups which agent pool will associate when created. - */ - applicationSecurityGroups?: string[]; - /** - * IPTags of instance-level public IPs. - */ - nodePublicIPTags?: outputs.containerservice.v20230502preview.IPTagResponse[]; - } - + enabled?: boolean; /** - * Settings for upgrading an agentpool + * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. */ - export interface AgentPoolUpgradeSettingsResponse { - /** - * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - */ - maxSurge?: string; - } - + keyId?: string; /** - * The Windows agent pool's specific profile. + * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */ - export interface AgentPoolWindowsProfileResponse { - /** - * The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled. - */ - disableOutboundNat?: boolean; - } + keyVaultNetworkAccess?: string; + /** + * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + */ + keyVaultResourceId?: string; + } + /** + * azureKeyVaultKmsResponseProvideDefaults sets the appropriate defaults for AzureKeyVaultKmsResponse + */ + export function azureKeyVaultKmsResponseProvideDefaults(val: AzureKeyVaultKmsResponse): AzureKeyVaultKmsResponse { + return { + ...val, + keyVaultNetworkAccess: (val.keyVaultNetworkAccess) ?? "Public", + }; + } + /** + * Profile for Linux VMs in the container service cluster. + */ + export interface ContainerServiceLinuxProfileResponse { /** - * Azure Key Vault key management service settings for the security profile. + * The administrator username to use for Linux VMs. */ - export interface AzureKeyVaultKmsResponse { - /** - * Whether to enable Azure Key Vault key management service. The default is false. - */ - enabled?: boolean; - /** - * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. - */ - keyId?: string; - /** - * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. - */ - keyVaultNetworkAccess?: string; - /** - * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - */ - keyVaultResourceId?: string; - } + adminUsername: string; /** - * azureKeyVaultKmsResponseProvideDefaults sets the appropriate defaults for AzureKeyVaultKmsResponse + * The SSH configuration for Linux-based VMs running on Azure. */ - export function azureKeyVaultKmsResponseProvideDefaults(val: AzureKeyVaultKmsResponse): AzureKeyVaultKmsResponse { - return { - ...val, - keyVaultNetworkAccess: (val.keyVaultNetworkAccess) ?? "Public", - }; - } + ssh: outputs.containerservice.ContainerServiceSshConfigurationResponse; + } + /** + * Profile of network configuration. + */ + export interface ContainerServiceNetworkProfileResponse { /** - * Settings for upgrading a cluster. + * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. */ - export interface ClusterUpgradeSettingsResponse { - /** - * Settings for overrides. - */ - overrideSettings?: outputs.containerservice.v20230502preview.UpgradeOverrideSettingsResponse; - } - + dnsServiceIP?: string; /** - * Profile for Linux VMs in the container service cluster. + * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. */ - export interface ContainerServiceLinuxProfileResponse { - /** - * The administrator username to use for Linux VMs. - */ - adminUsername: string; - /** - * The SSH configuration for Linux-based VMs running on Azure. - */ - ssh: outputs.containerservice.v20230502preview.ContainerServiceSshConfigurationResponse; - } - + ipFamilies?: string[]; /** - * Profile of network configuration. + * Profile of the cluster load balancer. */ - export interface ContainerServiceNetworkProfileResponse { - /** - * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. - */ - dnsServiceIP?: string; - /** - * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - */ - ipFamilies?: string[]; - /** - * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. - */ - kubeProxyConfig?: outputs.containerservice.v20230502preview.ContainerServiceNetworkProfileResponseKubeProxyConfig; - /** - * Profile of the cluster load balancer. - */ - loadBalancerProfile?: outputs.containerservice.v20230502preview.ManagedClusterLoadBalancerProfileResponse; - /** - * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. - */ - loadBalancerSku?: string; - /** - * This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format - */ - monitoring?: outputs.containerservice.v20230502preview.NetworkMonitoringResponse; - /** - * Profile of the cluster NAT gateway. - */ - natGatewayProfile?: outputs.containerservice.v20230502preview.ManagedClusterNATGatewayProfileResponse; - /** - * Network dataplane used in the Kubernetes cluster. - */ - networkDataplane?: string; - /** - * This cannot be specified if networkPlugin is anything other than 'azure'. - */ - networkMode?: string; - /** - * Network plugin used for building the Kubernetes network. - */ - networkPlugin?: string; - /** - * Network plugin mode used for building the Kubernetes network. - */ - networkPluginMode?: string; - /** - * Network policy used for building the Kubernetes network. - */ - networkPolicy?: string; - /** - * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - */ - outboundType?: string; - /** - * A CIDR notation IP range from which to assign pod IPs when kubenet is used. - */ - podCidr?: string; - /** - * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. - */ - podCidrs?: string[]; - /** - * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. - */ - serviceCidr?: string; - /** - * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - */ - serviceCidrs?: string[]; - } + loadBalancerProfile?: outputs.containerservice.ManagedClusterLoadBalancerProfileResponse; /** - * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse + * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */ - export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { - return { - ...val, - dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.v20230502preview.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), - natGatewayProfile: (val.natGatewayProfile ? outputs.containerservice.v20230502preview.managedClusterNATGatewayProfileResponseProvideDefaults(val.natGatewayProfile) : undefined), - outboundType: (val.outboundType) ?? "loadBalancer", - podCidr: (val.podCidr) ?? "10.244.0.0/16", - serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", - }; - } - + loadBalancerSku?: string; /** - * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + * Profile of the cluster NAT gateway. */ - export interface ContainerServiceNetworkProfileResponseIpvsConfig { - /** - * IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. - */ - scheduler?: string; - /** - * The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value. - */ - tcpFinTimeoutSeconds?: number; - /** - * The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. - */ - tcpTimeoutSeconds?: number; - /** - * The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. - */ - udpTimeoutSeconds?: number; - } - + natGatewayProfile?: outputs.containerservice.ManagedClusterNATGatewayProfileResponse; /** - * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + * Network dataplane used in the Kubernetes cluster. */ - export interface ContainerServiceNetworkProfileResponseKubeProxyConfig { - /** - * Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations). - */ - enabled?: boolean; - /** - * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. - */ - ipvsConfig?: outputs.containerservice.v20230502preview.ContainerServiceNetworkProfileResponseIpvsConfig; - /** - * Specify which proxy mode to use ('IPTABLES' or 'IPVS') - */ - mode?: string; - } - + networkDataplane?: string; /** - * SSH configuration for Linux-based VMs running on Azure. + * This cannot be specified if networkPlugin is anything other than 'azure'. */ - export interface ContainerServiceSshConfigurationResponse { - /** - * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. - */ - publicKeys: outputs.containerservice.v20230502preview.ContainerServiceSshPublicKeyResponse[]; - } - + networkMode?: string; /** - * Contains information about SSH certificate public key data. + * Network plugin used for building the Kubernetes network. */ - export interface ContainerServiceSshPublicKeyResponse { - /** - * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. - */ - keyData: string; - } - + networkPlugin?: string; /** - * Data used when creating a target resource from a source resource. + * The mode the network plugin should use. */ - export interface CreationDataResponse { - /** - * This is the ARM ID of the source object to be used to create the target object. - */ - sourceResourceId?: string; - } - + networkPluginMode?: string; /** - * The credential result response. + * Network policy used for building the Kubernetes network. */ - export interface CredentialResultResponse { - /** - * The name of the credential. - */ - name: string; - /** - * Base64-encoded Kubernetes configuration file. - */ - value: string; - } - + networkPolicy?: string; /** - * For schedules like: 'recur every day' or 'recur every 3 days'. + * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */ - export interface DailyScheduleResponse { - /** - * Specifies the number of days between each set of occurrences. - */ - intervalDays: number; - } - + outboundType?: string; /** - * For example, between '2022-12-23' and '2023-01-05'. + * A CIDR notation IP range from which to assign pod IPs when kubenet is used. */ - export interface DateSpanResponse { - /** - * The end date of the date span. - */ - end: string; - /** - * The start date of the date span. - */ - start: string; - } - + podCidr?: string; /** - * The complex type of the extended location. + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. */ - export interface ExtendedLocationResponse { - /** - * The name of the extended location. - */ - name?: string; - /** - * The type of the extended location. - */ - type?: string; - } + podCidrs?: string[]; + /** + * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + */ + serviceCidr?: string; + /** + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + */ + serviceCidrs?: string[]; + } + /** + * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse + */ + export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { + return { + ...val, + dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", + loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), + natGatewayProfile: (val.natGatewayProfile ? outputs.containerservice.managedClusterNATGatewayProfileResponseProvideDefaults(val.natGatewayProfile) : undefined), + networkPlugin: (val.networkPlugin) ?? "kubenet", + outboundType: (val.outboundType) ?? "loadBalancer", + podCidr: (val.podCidr) ?? "10.244.0.0/16", + serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", + }; + } + /** + * SSH configuration for Linux-based VMs running on Azure. + */ + export interface ContainerServiceSshConfigurationResponse { /** - * The Guardrails profile. + * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */ - export interface GuardrailsProfileResponse { - /** - * List of namespaces excluded from guardrails checks - */ - excludedNamespaces?: string[]; - /** - * The guardrails level to be used. By default, Guardrails is enabled for all namespaces except those that AKS excludes via systemExcludedNamespaces - */ - level: string; - /** - * List of namespaces specified by AKS to be excluded from Guardrails - */ - systemExcludedNamespaces: string[]; - /** - * The version of constraints to use - */ - version: string; - } + publicKeys: outputs.containerservice.ContainerServiceSshPublicKeyResponse[]; + } + /** + * Contains information about SSH certificate public key data. + */ + export interface ContainerServiceSshPublicKeyResponse { /** - * Contains the IPTag associated with the object. + * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. */ - export interface IPTagResponse { - /** - * The IP tag type. Example: RoutingPreference. - */ - ipTagType?: string; - /** - * The value of the IP tag associated with the public IP. Example: Internet. - */ - tag?: string; - } + keyData: string; + } + /** + * Data used when creating a target resource from a source resource. + */ + export interface CreationDataResponse { /** - * Istio components configuration. + * This is the ARM ID of the source object to be used to create the target object. */ - export interface IstioComponentsResponse { - /** - * Istio ingress gateways. - */ - ingressGateways?: outputs.containerservice.v20230502preview.IstioIngressGatewayResponse[]; - } + sourceResourceId?: string; + } + /** + * The credential result response. + */ + export interface CredentialResultResponse { /** - * Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + * The name of the credential. */ - export interface IstioIngressGatewayResponse { - /** - * Whether to enable the ingress gateway. - */ - enabled: boolean; - /** - * Mode of an ingress gateway. - */ - mode: string; - } + name: string; + /** + * Base64-encoded Kubernetes configuration file. + */ + value: string; + } + /** + * The resource management error additional info. + */ + export interface ErrorAdditionalInfoResponse { /** - * Istio service mesh configuration. + * The additional info. */ - export interface IstioServiceMeshResponse { - /** - * Istio components configuration. - */ - components?: outputs.containerservice.v20230502preview.IstioComponentsResponse; - } + info: any; + /** + * The additional info type. + */ + type: string; + } + /** + * The error detail. + */ + export interface ErrorDetailResponse { /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * The error additional info. */ - export interface KubeletConfigResponse { - /** - * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - */ - allowedUnsafeSysctls?: string[]; - /** - * The maximum number of container log files that can be present for a container. The number must be ≥ 2. - */ - containerLogMaxFiles?: number; - /** - * The maximum size (e.g. 10Mi) of container log file before it is rotated. - */ - containerLogMaxSizeMB?: number; - /** - * The default is true. - */ - cpuCfsQuota?: boolean; - /** - * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - */ - cpuCfsQuotaPeriod?: string; - /** - * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. - */ - cpuManagerPolicy?: string; - /** - * If set to true it will make the Kubelet fail to start if swap is enabled on the node. - */ - failSwapOn?: boolean; - /** - * To disable image garbage collection, set to 100. The default is 85% - */ - imageGcHighThreshold?: number; - /** - * This cannot be set higher than imageGcHighThreshold. The default is 80% - */ - imageGcLowThreshold?: number; - /** - * The maximum number of processes per pod. - */ - podMaxPids?: number; - /** - * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - */ - topologyManagerPolicy?: string; - } + additionalInfo: outputs.containerservice.ErrorAdditionalInfoResponse[]; + /** + * The error code. + */ + code: string; + /** + * The error details. + */ + details: outputs.containerservice.ErrorDetailResponse[]; + /** + * The error message. + */ + message: string; + /** + * The error target. + */ + target: string; + } + /** + * The complex type of the extended location. + */ + export interface ExtendedLocationResponse { /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * The name of the extended location. */ - export interface LinuxOSConfigResponse { - /** - * The size in MB of a swap file that will be created on each node. - */ - swapFileSizeMB?: number; - /** - * Sysctl settings for Linux agent nodes. - */ - sysctls?: outputs.containerservice.v20230502preview.SysctlConfigResponse; - /** - * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - */ - transparentHugePageDefrag?: string; - /** - * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - */ - transparentHugePageEnabled?: string; - } + name?: string; + /** + * The type of the extended location. + */ + type?: string; + } + /** + * One credential result item. + */ + export interface FleetCredentialResultResponse { /** - * Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + * The name of the credential. */ - export interface MaintenanceWindowResponse { - /** - * Length of maintenance window range from 4 to 24 hours. - */ - durationHours: number; - /** - * Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. - */ - notAllowedDates?: outputs.containerservice.v20230502preview.DateSpanResponse[]; - /** - * Recurrence schedule for the maintenance window. - */ - schedule: outputs.containerservice.v20230502preview.ScheduleResponse; - /** - * The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. - */ - startDate?: string; - /** - * The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. - */ - startTime: string; - /** - * The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. - */ - utcOffset?: string; - } + name: string; /** - * maintenanceWindowResponseProvideDefaults sets the appropriate defaults for MaintenanceWindowResponse + * Base64-encoded Kubernetes configuration file. */ - export function maintenanceWindowResponseProvideDefaults(val: MaintenanceWindowResponse): MaintenanceWindowResponse { - return { - ...val, - durationHours: (val.durationHours) ?? 24, - }; - } + value: string; + } + /** + * The FleetHubProfile configures the fleet hub. + */ + export interface FleetHubProfileResponse { /** - * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + * DNS prefix used to create the FQDN for the Fleet hub. */ - export interface ManagedClusterAADProfileResponse { - /** - * The list of AAD group object IDs that will have admin role of the cluster. - */ - adminGroupObjectIDs?: string[]; - /** - * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - */ - clientAppID?: string; - /** - * Whether to enable Azure RBAC for Kubernetes authorization. - */ - enableAzureRBAC?: boolean; - /** - * Whether to enable managed AAD. - */ - managed?: boolean; - /** - * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - */ - serverAppID?: string; - /** - * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. - */ - serverAppSecret?: string; - /** - * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. - */ - tenantID?: string; - } + dnsPrefix?: string; + /** + * The FQDN of the Fleet hub. + */ + fqdn: string; + /** + * The Kubernetes version of the Fleet hub. + */ + kubernetesVersion: string; + } + /** + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + */ + export interface KubeletConfigResponse { /** - * Access profile for managed cluster API server. + * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). */ - export interface ManagedClusterAPIServerAccessProfileResponse { - /** - * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - */ - authorizedIPRanges?: string[]; - /** - * Whether to disable run command for the cluster or not. - */ - disableRunCommand?: boolean; - /** - * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). - */ - enablePrivateCluster?: boolean; - /** - * Whether to create additional public FQDN for private cluster or not. - */ - enablePrivateClusterPublicFQDN?: boolean; - /** - * Whether to enable apiserver vnet integration for the cluster or not. - */ - enableVnetIntegration?: boolean; - /** - * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. - */ - privateDNSZone?: string; - /** - * It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration. - */ - subnetId?: string; - } + allowedUnsafeSysctls?: string[]; + /** + * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + */ + containerLogMaxFiles?: number; + /** + * The maximum size (e.g. 10Mi) of container log file before it is rotated. + */ + containerLogMaxSizeMB?: number; + /** + * The default is true. + */ + cpuCfsQuota?: boolean; + /** + * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + */ + cpuCfsQuotaPeriod?: string; + /** + * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + */ + cpuManagerPolicy?: string; + /** + * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + */ + failSwapOn?: boolean; + /** + * To disable image garbage collection, set to 100. The default is 85% + */ + imageGcHighThreshold?: number; + /** + * This cannot be set higher than imageGcHighThreshold. The default is 80% + */ + imageGcLowThreshold?: number; + /** + * The maximum number of processes per pod. + */ + podMaxPids?: number; + /** + * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + */ + topologyManagerPolicy?: string; + } + /** + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + */ + export interface LinuxOSConfigResponse { /** - * A Kubernetes add-on profile for a managed cluster. + * The size in MB of a swap file that will be created on each node. */ - export interface ManagedClusterAddonProfileResponse { - /** - * Key-value pairs for configuring an add-on. - */ - config?: {[key: string]: string}; - /** - * Whether the add-on is enabled or not. - */ - enabled: boolean; - /** - * Information of user assigned identity used by this add-on. - */ - identity: outputs.containerservice.v20230502preview.ManagedClusterAddonProfileResponseIdentity; - } + swapFileSizeMB?: number; + /** + * Sysctl settings for Linux agent nodes. + */ + sysctls?: outputs.containerservice.SysctlConfigResponse; + /** + * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageDefrag?: string; + /** + * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageEnabled?: string; + } + /** + * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + */ + export interface ManagedClusterAADProfileResponse { /** - * Information of user assigned identity used by this add-on. + * The list of AAD group object IDs that will have admin role of the cluster. */ - export interface ManagedClusterAddonProfileResponseIdentity { - /** - * The client ID of the user assigned identity. - */ - clientId?: string; - /** - * The object ID of the user assigned identity. - */ - objectId?: string; - /** - * The resource ID of the user assigned identity. - */ - resourceId?: string; - } + adminGroupObjectIDs?: string[]; + /** + * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + */ + clientAppID?: string; + /** + * Whether to enable Azure RBAC for Kubernetes authorization. + */ + enableAzureRBAC?: boolean; + /** + * Whether to enable managed AAD. + */ + managed?: boolean; + /** + * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + */ + serverAppID?: string; + /** + * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + */ + serverAppSecret?: string; + /** + * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + */ + tenantID?: string; + } + /** + * Access profile for managed cluster API server. + */ + export interface ManagedClusterAPIServerAccessProfileResponse { /** - * Profile for the container service agent pool. + * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). */ - export interface ManagedClusterAgentPoolProfileResponse { - /** - * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. - */ - availabilityZones?: string[]; - /** - * AKS will associate the specified agent pool with the Capacity Reservation Group. - */ - capacityReservationGroupID?: string; - /** - * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - */ - count?: number; - /** - * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. - */ - creationData?: outputs.containerservice.v20230502preview.CreationDataResponse; - /** - * If orchestratorVersion was a fully specified version , this field will be exactly equal to it. If orchestratorVersion was , this field will contain the full version being used. - */ - currentOrchestratorVersion: string; - /** - * Whether to enable auto-scaler - */ - enableAutoScaling?: boolean; - /** - * When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded certificates into node trust stores. Defaults to false. - */ - enableCustomCATrust?: boolean; - /** - * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption - */ - enableEncryptionAtHost?: boolean; - /** - * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. - */ - enableFIPS?: boolean; - /** - * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. - */ - enableNodePublicIP?: boolean; - /** - * Whether to enable UltraSSD - */ - enableUltraSSD?: boolean; - /** - * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - */ - gpuInstanceProfile?: string; - /** - * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - */ - hostGroupID?: string; - /** - * The Kubelet configuration on the agent pool nodes. - */ - kubeletConfig?: outputs.containerservice.v20230502preview.KubeletConfigResponse; - /** - * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. - */ - kubeletDiskType?: string; - /** - * The OS configuration of Linux agent nodes. - */ - linuxOSConfig?: outputs.containerservice.v20230502preview.LinuxOSConfigResponse; - /** - * The maximum number of nodes for auto-scaling - */ - maxCount?: number; - /** - * The maximum number of pods that can run on a node. - */ - maxPods?: number; - /** - * A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). - */ - messageOfTheDay?: string; - /** - * The minimum number of nodes for auto-scaling - */ - minCount?: number; - /** - * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - */ - mode?: string; - /** - * Windows agent pool names must be 6 characters or less. - */ - name: string; - /** - * Network-related settings of an agent pool. - */ - networkProfile?: outputs.containerservice.v20230502preview.AgentPoolNetworkProfileResponse; - /** - * The version of node image - */ - nodeImageVersion: string; - /** - * The node labels to be persisted across all nodes in agent pool. - */ - nodeLabels?: {[key: string]: string}; - /** - * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - */ - nodePublicIPPrefixID?: string; - /** - * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - */ - nodeTaints?: string[]; - /** - * Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - */ - orchestratorVersion?: string; - /** - * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. - */ - osDiskSizeGB?: number; - /** - * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - */ - osDiskType?: string; - /** - * Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. - */ - osSKU?: string; - /** - * The operating system type. The default is Linux. - */ - osType?: string; - /** - * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - */ - podSubnetID?: string; - /** - * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded - */ - powerState?: outputs.containerservice.v20230502preview.PowerStateResponse; - /** - * The current deployment or provisioning state. - */ - provisioningState: string; - /** - * The ID for Proximity Placement Group. - */ - proximityPlacementGroupID?: string; - /** - * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. - */ - scaleDownMode?: string; - /** - * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. - */ - scaleSetEvictionPolicy?: string; - /** - * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - */ - scaleSetPriority?: string; - /** - * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - */ - spotMaxPrice?: number; - /** - * The tags to be persisted on the agent pool virtual machine scale set. - */ - tags?: {[key: string]: string}; - /** - * The type of Agent Pool. - */ - type?: string; - /** - * Settings for upgrading the agentpool - */ - upgradeSettings?: outputs.containerservice.v20230502preview.AgentPoolUpgradeSettingsResponse; - /** - * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions - */ - vmSize?: string; - /** - * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - */ - vnetSubnetID?: string; - /** - * The Windows agent pool's specific profile. - */ - windowsProfile?: outputs.containerservice.v20230502preview.AgentPoolWindowsProfileResponse; - /** - * Determines the type of workload a node can run. - */ - workloadRuntime?: string; - } - + authorizedIPRanges?: string[]; /** - * Auto upgrade profile for a managed cluster. + * Whether to disable run command for the cluster or not. */ - export interface ManagedClusterAutoUpgradeProfileResponse { - /** - * The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. - */ - nodeOSUpgradeChannel?: string; - /** - * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). - */ - upgradeChannel?: string; - } - + disableRunCommand?: boolean; /** - * Kube State Metrics for prometheus addon profile for the container service cluster + * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). */ - export interface ManagedClusterAzureMonitorProfileKubeStateMetricsResponse { - /** - * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. - */ - metricAnnotationsAllowList?: string; - /** - * Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels metric. - */ - metricLabelsAllowlist?: string; - } - + enablePrivateCluster?: boolean; /** - * Metrics profile for the prometheus service addon + * Whether to create additional public FQDN for private cluster or not. */ - export interface ManagedClusterAzureMonitorProfileMetricsResponse { - /** - * Whether to enable the Prometheus collector - */ - enabled: boolean; - /** - * Kube State Metrics for prometheus addon profile for the container service cluster - */ - kubeStateMetrics?: outputs.containerservice.v20230502preview.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse; - } - + enablePrivateClusterPublicFQDN?: boolean; /** - * Prometheus addon profile for the container service cluster + * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. */ - export interface ManagedClusterAzureMonitorProfileResponse { - /** - * Metrics profile for the prometheus service addon - */ - metrics?: outputs.containerservice.v20230502preview.ManagedClusterAzureMonitorProfileMetricsResponse; - } + privateDNSZone?: string; + } + /** + * A Kubernetes add-on profile for a managed cluster. + */ + export interface ManagedClusterAddonProfileResponse { /** - * Cluster HTTP proxy configuration. + * Key-value pairs for configuring an add-on. */ - export interface ManagedClusterHTTPProxyConfigResponse { - /** - * A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a superset of noProxy and values injected by AKS. - */ - effectiveNoProxy: string[]; - /** - * The HTTP proxy server endpoint to use. - */ - httpProxy?: string; - /** - * The HTTPS proxy server endpoint to use. - */ - httpsProxy?: string; - /** - * The endpoints that should not go through proxy. - */ - noProxy?: string[]; - /** - * Alternative CA cert to use for connecting to proxy servers. - */ - trustedCa?: string; - } - + config?: {[key: string]: string}; /** - * Identity for the managed cluster. + * Whether the add-on is enabled or not. */ - export interface ManagedClusterIdentityResponse { - /** - * The principal id of the system assigned identity which is used by master components. - */ - principalId: string; - /** - * The tenant id of the system assigned identity which is used by master components. - */ - tenantId: string; - /** - * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - */ - type?: string; - /** - * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - */ - userAssignedIdentities?: {[key: string]: outputs.containerservice.v20230502preview.ManagedClusterIdentityResponseUserAssignedIdentities}; - } - - export interface ManagedClusterIdentityResponseUserAssignedIdentities { - /** - * The client id of user assigned identity. - */ - clientId: string; - /** - * The principal id of user assigned identity. - */ - principalId: string; - } - + enabled: boolean; /** - * Ingress profile for the container service cluster. + * Information of user assigned identity used by this add-on. */ - export interface ManagedClusterIngressProfileResponse { - /** - * Web App Routing settings for the ingress profile. - */ - webAppRouting?: outputs.containerservice.v20230502preview.ManagedClusterIngressProfileWebAppRoutingResponse; - } + identity: outputs.containerservice.ManagedClusterAddonProfileResponseIdentity; + } + /** + * Information of user assigned identity used by this add-on. + */ + export interface ManagedClusterAddonProfileResponseIdentity { /** - * Web App Routing settings for the ingress profile. + * The client ID of the user assigned identity. */ - export interface ManagedClusterIngressProfileWebAppRoutingResponse { - /** - * Resource ID of the DNS Zone to be associated with the web app. Used only when Web App Routing is enabled. - */ - dnsZoneResourceId?: string; - /** - * Whether to enable Web App Routing. - */ - enabled?: boolean; - /** - * Managed identity of the Web Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. - */ - identity: outputs.containerservice.v20230502preview.UserAssignedIdentityResponse; - } - + clientId?: string; /** - * Profile of the managed cluster load balancer. + * The object ID of the user assigned identity. */ - export interface ManagedClusterLoadBalancerProfileResponse { - /** - * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - */ - allocatedOutboundPorts?: number; - /** - * The type of the managed inbound Load Balancer BackendPool. - */ - backendPoolType?: string; - /** - * The effective outbound IP resources of the cluster load balancer. - */ - effectiveOutboundIPs?: outputs.containerservice.v20230502preview.ResourceReferenceResponse[]; - /** - * Enable multiple standard load balancers per AKS cluster or not. - */ - enableMultipleStandardLoadBalancers?: boolean; - /** - * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. - */ - idleTimeoutInMinutes?: number; - /** - * Desired managed outbound IPs for the cluster load balancer. - */ - managedOutboundIPs?: outputs.containerservice.v20230502preview.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; - /** - * Desired outbound IP Prefix resources for the cluster load balancer. - */ - outboundIPPrefixes?: outputs.containerservice.v20230502preview.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; - /** - * Desired outbound IP resources for the cluster load balancer. - */ - outboundIPs?: outputs.containerservice.v20230502preview.ManagedClusterLoadBalancerProfileResponseOutboundIPs; - } + objectId?: string; /** - * managedClusterLoadBalancerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponse + * The resource ID of the user assigned identity. */ - export function managedClusterLoadBalancerProfileResponseProvideDefaults(val: ManagedClusterLoadBalancerProfileResponse): ManagedClusterLoadBalancerProfileResponse { - return { - ...val, - allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, - backendPoolType: (val.backendPoolType) ?? "NodeIPConfiguration", - idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, - managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.v20230502preview.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), - }; - } + resourceId?: string; + } + /** + * Profile for the container service agent pool. + */ + export interface ManagedClusterAgentPoolProfileResponse { /** - * Desired managed outbound IPs for the cluster load balancer. + * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */ - export interface ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { - /** - * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. - */ - count?: number; - /** - * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - */ - countIPv6?: number; - } + availabilityZones?: string[]; /** - * managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */ - export function managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val: ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs): ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { - return { - ...val, - count: (val.count) ?? 1, - countIPv6: (val.countIPv6) ?? 0, - }; - } - + count?: number; /** - * Desired outbound IP Prefix resources for the cluster load balancer. + * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */ - export interface ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes { - /** - * A list of public IP prefix resources. - */ - publicIPPrefixes?: outputs.containerservice.v20230502preview.ResourceReferenceResponse[]; - } - + creationData?: outputs.containerservice.CreationDataResponse; /** - * Desired outbound IP resources for the cluster load balancer. + * If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. */ - export interface ManagedClusterLoadBalancerProfileResponseOutboundIPs { - /** - * A list of public IP resources. - */ - publicIPs?: outputs.containerservice.v20230502preview.ResourceReferenceResponse[]; - } - + currentOrchestratorVersion: string; /** - * Profile of the managed outbound IP resources of the managed cluster. + * Whether to enable auto-scaler */ - export interface ManagedClusterManagedOutboundIPProfileResponse { - /** - * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. - */ - count?: number; - } + enableAutoScaling?: boolean; /** - * managedClusterManagedOutboundIPProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterManagedOutboundIPProfileResponse + * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */ - export function managedClusterManagedOutboundIPProfileResponseProvideDefaults(val: ManagedClusterManagedOutboundIPProfileResponse): ManagedClusterManagedOutboundIPProfileResponse { - return { - ...val, - count: (val.count) ?? 1, - }; - } - + enableEncryptionAtHost?: boolean; /** - * Profile of the managed cluster NAT gateway. + * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. */ - export interface ManagedClusterNATGatewayProfileResponse { - /** - * The effective outbound IP resources of the cluster NAT gateway. - */ - effectiveOutboundIPs?: outputs.containerservice.v20230502preview.ResourceReferenceResponse[]; - /** - * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. - */ - idleTimeoutInMinutes?: number; - /** - * Profile of the managed outbound IP resources of the cluster NAT gateway. - */ - managedOutboundIPProfile?: outputs.containerservice.v20230502preview.ManagedClusterManagedOutboundIPProfileResponse; - } + enableFIPS?: boolean; /** - * managedClusterNATGatewayProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileResponse + * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. */ - export function managedClusterNATGatewayProfileResponseProvideDefaults(val: ManagedClusterNATGatewayProfileResponse): ManagedClusterNATGatewayProfileResponse { - return { - ...val, - idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, - managedOutboundIPProfile: (val.managedOutboundIPProfile ? outputs.containerservice.v20230502preview.managedClusterManagedOutboundIPProfileResponseProvideDefaults(val.managedOutboundIPProfile) : undefined), - }; - } - + enableNodePublicIP?: boolean; /** - * Node resource group lockdown profile for a managed cluster. + * Whether to enable UltraSSD */ - export interface ManagedClusterNodeResourceGroupProfileResponse { - /** - * The restriction level applied to the cluster's node resource group - */ - restrictionLevel?: string; - } - + enableUltraSSD?: boolean; /** - * The OIDC issuer profile of the Managed Cluster. + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */ - export interface ManagedClusterOIDCIssuerProfileResponse { - /** - * Whether the OIDC issuer is enabled. - */ - enabled?: boolean; - /** - * The OIDC issuer url of the Managed Cluster. - */ - issuerURL: string; - } - + gpuInstanceProfile?: string; /** - * See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */ - export interface ManagedClusterPodIdentityExceptionResponse { - /** - * The name of the pod identity exception. - */ - name: string; - /** - * The namespace of the pod identity exception. - */ - namespace: string; - /** - * The pod labels to match. - */ - podLabels: {[key: string]: string}; - } - + hostGroupID?: string; /** - * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + * The Kubelet configuration on the agent pool nodes. */ - export interface ManagedClusterPodIdentityProfileResponse { - /** - * Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. - */ - allowNetworkPluginKubenet?: boolean; - /** - * Whether the pod identity addon is enabled. - */ - enabled?: boolean; - /** - * The pod identities to use in the cluster. - */ - userAssignedIdentities?: outputs.containerservice.v20230502preview.ManagedClusterPodIdentityResponse[]; - /** - * The pod identity exceptions to allow. - */ - userAssignedIdentityExceptions?: outputs.containerservice.v20230502preview.ManagedClusterPodIdentityExceptionResponse[]; - } - + kubeletConfig?: outputs.containerservice.KubeletConfigResponse; /** - * An error response from the pod identity provisioning. + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */ - export interface ManagedClusterPodIdentityProvisioningErrorBodyResponse { - /** - * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - */ - code?: string; - /** - * A list of additional details about the error. - */ - details?: outputs.containerservice.v20230502preview.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; - /** - * A message describing the error, intended to be suitable for display in a user interface. - */ - message?: string; - /** - * The target of the particular error. For example, the name of the property in error. - */ - target?: string; - } - + kubeletDiskType?: string; /** - * An error response from the pod identity provisioning. + * The OS configuration of Linux agent nodes. */ - export interface ManagedClusterPodIdentityProvisioningErrorResponse { - /** - * Details about the error. - */ - error?: outputs.containerservice.v20230502preview.ManagedClusterPodIdentityProvisioningErrorBodyResponse; - } - + linuxOSConfig?: outputs.containerservice.LinuxOSConfigResponse; /** - * Details about the pod identity assigned to the Managed Cluster. + * The maximum number of nodes for auto-scaling */ - export interface ManagedClusterPodIdentityResponse { - /** - * The binding selector to use for the AzureIdentityBinding resource. - */ - bindingSelector?: string; - /** - * The user assigned identity details. - */ - identity: outputs.containerservice.v20230502preview.UserAssignedIdentityResponse; - /** - * The name of the pod identity. - */ - name: string; - /** - * The namespace of the pod identity. - */ - namespace: string; - provisioningInfo: outputs.containerservice.v20230502preview.ManagedClusterPodIdentityResponseProvisioningInfo; - /** - * The current provisioning state of the pod identity. - */ - provisioningState: string; - } - - export interface ManagedClusterPodIdentityResponseProvisioningInfo { - /** - * Pod identity assignment error (if any). - */ - error?: outputs.containerservice.v20230502preview.ManagedClusterPodIdentityProvisioningErrorResponse; - } - + maxCount?: number; /** - * managed cluster properties for snapshot, these properties are read only. + * The maximum number of pods that can run on a node. */ - export interface ManagedClusterPropertiesForSnapshotResponse { - /** - * Whether the cluster has enabled Kubernetes Role-Based Access Control or not. - */ - enableRbac?: boolean; - /** - * The current kubernetes version. - */ - kubernetesVersion?: string; - /** - * The current network profile. - */ - networkProfile: outputs.containerservice.v20230502preview.NetworkProfileForSnapshotResponse; - /** - * The current managed cluster sku. - */ - sku?: outputs.containerservice.v20230502preview.ManagedClusterSKUResponse; - } - + maxPods?: number; /** - * Parameters to be applied to the cluster-autoscaler when enabled + * The minimum number of nodes for auto-scaling */ - export interface ManagedClusterPropertiesResponseAutoScalerProfile { - /** - * Valid values are 'true' and 'false' - */ - balanceSimilarNodeGroups?: string; - /** - * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. - */ - expander?: string; - /** - * The default is 10. - */ - maxEmptyBulkDelete?: string; - /** - * The default is 600. - */ - maxGracefulTerminationSec?: string; - /** - * The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. - */ - maxNodeProvisionTime?: string; - /** - * The default is 45. The maximum is 100 and the minimum is 0. - */ - maxTotalUnreadyPercentage?: string; - /** - * For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - */ - newPodScaleUpDelay?: string; - /** - * This must be an integer. The default is 3. - */ - okTotalUnreadyCount?: string; - /** - * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. - */ - scaleDownDelayAfterAdd?: string; - /** - * The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. - */ - scaleDownDelayAfterDelete?: string; - /** - * The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. - */ - scaleDownDelayAfterFailure?: string; - /** - * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. - */ - scaleDownUnneededTime?: string; - /** - * The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. - */ - scaleDownUnreadyTime?: string; - /** - * The default is '0.5'. - */ - scaleDownUtilizationThreshold?: string; - /** - * The default is '10'. Values must be an integer number of seconds. - */ - scanInterval?: string; - /** - * The default is true. - */ - skipNodesWithLocalStorage?: string; - /** - * The default is true. - */ - skipNodesWithSystemPods?: string; - } - + minCount?: number; /** - * The SKU of a Managed Cluster. + * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */ - export interface ManagedClusterSKUResponse { - /** - * The name of a managed cluster SKU. - */ - name?: string; - /** - * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. - */ - tier?: string; - } - + mode?: string; /** - * Microsoft Defender settings for the security profile. + * Windows agent pool names must be 6 characters or less. */ - export interface ManagedClusterSecurityProfileDefenderResponse { - /** - * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. - */ - logAnalyticsWorkspaceResourceId?: string; - /** - * Microsoft Defender threat detection for Cloud settings for the security profile. - */ - securityMonitoring?: outputs.containerservice.v20230502preview.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse; - } - + name: string; /** - * Microsoft Defender settings for the security profile threat detection. + * The version of node image */ - export interface ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse { - /** - * Whether to enable Defender threat detection - */ - enabled?: boolean; - } - + nodeImageVersion: string; /** - * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. + * The node labels to be persisted across all nodes in agent pool. */ - export interface ManagedClusterSecurityProfileImageCleanerResponse { - /** - * Whether to enable Image Cleaner on AKS cluster. - */ - enabled?: boolean; - /** - * Image Cleaner scanning interval in hours. - */ - intervalHours?: number; - } - + nodeLabels?: {[key: string]: string}; /** - * Node Restriction settings for the security profile. + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */ - export interface ManagedClusterSecurityProfileNodeRestrictionResponse { - /** - * Whether to enable Node Restriction - */ - enabled?: boolean; - } - + nodePublicIPPrefixID?: string; /** - * Security profile for the container service cluster. + * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */ - export interface ManagedClusterSecurityProfileResponse { - /** - * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - */ - azureKeyVaultKms?: outputs.containerservice.v20230502preview.AzureKeyVaultKmsResponse; - /** - * A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the Custom CA Trust feature enabled. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) - */ - customCATrustCertificates?: string[]; - /** - * Microsoft Defender settings for the security profile. - */ - defender?: outputs.containerservice.v20230502preview.ManagedClusterSecurityProfileDefenderResponse; - /** - * Image Cleaner settings for the security profile. - */ - imageCleaner?: outputs.containerservice.v20230502preview.ManagedClusterSecurityProfileImageCleanerResponse; - /** - * [Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile. - */ - nodeRestriction?: outputs.containerservice.v20230502preview.ManagedClusterSecurityProfileNodeRestrictionResponse; - /** - * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - */ - workloadIdentity?: outputs.containerservice.v20230502preview.ManagedClusterSecurityProfileWorkloadIdentityResponse; - } + nodeTaints?: string[]; /** - * managedClusterSecurityProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileResponse + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ - export function managedClusterSecurityProfileResponseProvideDefaults(val: ManagedClusterSecurityProfileResponse): ManagedClusterSecurityProfileResponse { - return { - ...val, - azureKeyVaultKms: (val.azureKeyVaultKms ? outputs.containerservice.v20230502preview.azureKeyVaultKmsResponseProvideDefaults(val.azureKeyVaultKms) : undefined), - }; - } - + orchestratorVersion?: string; /** - * Workload identity settings for the security profile. + * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. */ - export interface ManagedClusterSecurityProfileWorkloadIdentityResponse { - /** - * Whether to enable workload identity. - */ - enabled?: boolean; - } - + osDiskSizeGB?: number; /** - * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */ - export interface ManagedClusterServicePrincipalProfileResponse { - /** - * The ID for the service principal. - */ - clientId: string; - /** - * The secret password associated with the service principal in plain text. - */ - secret?: string; - } - + osDiskType?: string; /** - * AzureBlob CSI Driver settings for the storage profile. + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */ - export interface ManagedClusterStorageProfileBlobCSIDriverResponse { - /** - * Whether to enable AzureBlob CSI Driver. The default value is false. - */ - enabled?: boolean; - } - + osSKU?: string; /** - * AzureDisk CSI Driver settings for the storage profile. + * The operating system type. The default is Linux. */ - export interface ManagedClusterStorageProfileDiskCSIDriverResponse { - /** - * Whether to enable AzureDisk CSI Driver. The default value is true. - */ - enabled?: boolean; - /** - * The version of AzureDisk CSI Driver. The default value is v1. - */ - version?: string; - } - + osType?: string; /** - * AzureFile CSI Driver settings for the storage profile. + * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ - export interface ManagedClusterStorageProfileFileCSIDriverResponse { - /** - * Whether to enable AzureFile CSI Driver. The default value is true. - */ - enabled?: boolean; - } - + podSubnetID?: string; /** - * Storage profile for the container service cluster. + * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */ - export interface ManagedClusterStorageProfileResponse { - /** - * AzureBlob CSI Driver settings for the storage profile. - */ - blobCSIDriver?: outputs.containerservice.v20230502preview.ManagedClusterStorageProfileBlobCSIDriverResponse; - /** - * AzureDisk CSI Driver settings for the storage profile. - */ - diskCSIDriver?: outputs.containerservice.v20230502preview.ManagedClusterStorageProfileDiskCSIDriverResponse; - /** - * AzureFile CSI Driver settings for the storage profile. - */ - fileCSIDriver?: outputs.containerservice.v20230502preview.ManagedClusterStorageProfileFileCSIDriverResponse; - /** - * Snapshot Controller settings for the storage profile. - */ - snapshotController?: outputs.containerservice.v20230502preview.ManagedClusterStorageProfileSnapshotControllerResponse; - } - + powerState?: outputs.containerservice.PowerStateResponse; /** - * Snapshot Controller settings for the storage profile. + * The current deployment or provisioning state. */ - export interface ManagedClusterStorageProfileSnapshotControllerResponse { - /** - * Whether to enable Snapshot Controller. The default value is true. - */ - enabled?: boolean; - } - + provisioningState: string; /** - * Profile for Windows VMs in the managed cluster. + * The ID for Proximity Placement Group. */ - export interface ManagedClusterWindowsProfileResponse { - /** - * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" - */ - adminPassword?: string; - /** - * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters - */ - adminUsername: string; - /** - * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). - */ - enableCSIProxy?: boolean; - /** - * The Windows gMSA Profile in the Managed Cluster. - */ - gmsaProfile?: outputs.containerservice.v20230502preview.WindowsGmsaProfileResponse; - /** - * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - */ - licenseType?: string; - } - + proximityPlacementGroupID?: string; /** - * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */ - export interface ManagedClusterWorkloadAutoScalerProfileKedaResponse { - /** - * Whether to enable KEDA. - */ - enabled: boolean; - } - + scaleDownMode?: string; /** - * Workload Auto-scaler profile for the managed cluster. + * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. */ - export interface ManagedClusterWorkloadAutoScalerProfileResponse { - /** - * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. - */ - keda?: outputs.containerservice.v20230502preview.ManagedClusterWorkloadAutoScalerProfileKedaResponse; - verticalPodAutoscaler?: outputs.containerservice.v20230502preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse; - } + scaleSetEvictionPolicy?: string; /** - * managedClusterWorkloadAutoScalerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileResponse + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. */ - export function managedClusterWorkloadAutoScalerProfileResponseProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileResponse): ManagedClusterWorkloadAutoScalerProfileResponse { - return { - ...val, - verticalPodAutoscaler: (val.verticalPodAutoscaler ? outputs.containerservice.v20230502preview.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults(val.verticalPodAutoscaler) : undefined), - }; - } - - export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse { - /** - * Controls which resource value autoscaler will change. Default value is RequestsAndLimits. - */ - controlledValues: string; - /** - * Whether to enable VPA. Default value is false. - */ - enabled: boolean; - /** - * Each update mode level is a superset of the lower levels. Off
Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - */ - dnsServer?: string; - /** - * Specifies whether to enable Windows gMSA in the managed cluster. - */ - enabled?: boolean; - /** - * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - */ - rootDomainName?: string; - } - + type?: string; + /** + * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: {[key: string]: outputs.containerservice.ManagedClusterIdentityResponseUserAssignedIdentities}; } - export namespace v20230601 { + export interface ManagedClusterIdentityResponseUserAssignedIdentities { /** - * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + * The client id of user assigned identity. */ - export interface AbsoluteMonthlyScheduleResponse { - /** - * The date of the month. - */ - dayOfMonth: number; - /** - * Specifies the number of months between each set of occurrences. - */ - intervalMonths: number; - } - + clientId: string; /** - * Settings for upgrading an agentpool + * The principal id of user assigned identity. */ - export interface AgentPoolUpgradeSettingsResponse { - /** - * The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. - */ - drainTimeoutInMinutes?: number; - /** - * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - */ - maxSurge?: string; - } + principalId: string; + } + /** + * Profile of the managed cluster load balancer. + */ + export interface ManagedClusterLoadBalancerProfileResponse { /** - * Azure Key Vault key management service settings for the security profile. + * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. */ - export interface AzureKeyVaultKmsResponse { - /** - * Whether to enable Azure Key Vault key management service. The default is false. - */ - enabled?: boolean; - /** - * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. - */ - keyId?: string; - /** - * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. - */ - keyVaultNetworkAccess?: string; - /** - * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - */ - keyVaultResourceId?: string; - } + allocatedOutboundPorts?: number; /** - * azureKeyVaultKmsResponseProvideDefaults sets the appropriate defaults for AzureKeyVaultKmsResponse + * The effective outbound IP resources of the cluster load balancer. */ - export function azureKeyVaultKmsResponseProvideDefaults(val: AzureKeyVaultKmsResponse): AzureKeyVaultKmsResponse { - return { - ...val, - keyVaultNetworkAccess: (val.keyVaultNetworkAccess) ?? "Public", - }; - } - + effectiveOutboundIPs?: outputs.containerservice.ResourceReferenceResponse[]; /** - * Profile for Linux VMs in the container service cluster. + * Enable multiple standard load balancers per AKS cluster or not. */ - export interface ContainerServiceLinuxProfileResponse { - /** - * The administrator username to use for Linux VMs. - */ - adminUsername: string; - /** - * The SSH configuration for Linux-based VMs running on Azure. - */ - ssh: outputs.containerservice.v20230601.ContainerServiceSshConfigurationResponse; - } - + enableMultipleStandardLoadBalancers?: boolean; /** - * Profile of network configuration. + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. */ - export interface ContainerServiceNetworkProfileResponse { - /** - * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. - */ - dnsServiceIP?: string; - /** - * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - */ - ipFamilies?: string[]; - /** - * Profile of the cluster load balancer. - */ - loadBalancerProfile?: outputs.containerservice.v20230601.ManagedClusterLoadBalancerProfileResponse; - /** - * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. - */ - loadBalancerSku?: string; - /** - * Profile of the cluster NAT gateway. - */ - natGatewayProfile?: outputs.containerservice.v20230601.ManagedClusterNATGatewayProfileResponse; - /** - * Network dataplane used in the Kubernetes cluster. - */ - networkDataplane?: string; - /** - * This cannot be specified if networkPlugin is anything other than 'azure'. - */ - networkMode?: string; - /** - * Network plugin used for building the Kubernetes network. - */ - networkPlugin?: string; - /** - * The mode the network plugin should use. - */ - networkPluginMode?: string; - /** - * Network policy used for building the Kubernetes network. - */ - networkPolicy?: string; - /** - * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - */ - outboundType?: string; - /** - * A CIDR notation IP range from which to assign pod IPs when kubenet is used. - */ - podCidr?: string; - /** - * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. - */ - podCidrs?: string[]; - /** - * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. - */ - serviceCidr?: string; - /** - * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - */ - serviceCidrs?: string[]; - } + idleTimeoutInMinutes?: number; /** - * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse + * Desired managed outbound IPs for the cluster load balancer. */ - export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { - return { - ...val, - dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.v20230601.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), - natGatewayProfile: (val.natGatewayProfile ? outputs.containerservice.v20230601.managedClusterNATGatewayProfileResponseProvideDefaults(val.natGatewayProfile) : undefined), - networkPlugin: (val.networkPlugin) ?? "kubenet", - outboundType: (val.outboundType) ?? "loadBalancer", - podCidr: (val.podCidr) ?? "10.244.0.0/16", - serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", - }; - } - + managedOutboundIPs?: outputs.containerservice.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; /** - * SSH configuration for Linux-based VMs running on Azure. + * Desired outbound IP Prefix resources for the cluster load balancer. */ - export interface ContainerServiceSshConfigurationResponse { - /** - * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. - */ - publicKeys: outputs.containerservice.v20230601.ContainerServiceSshPublicKeyResponse[]; - } - + outboundIPPrefixes?: outputs.containerservice.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; /** - * Contains information about SSH certificate public key data. + * Desired outbound IP resources for the cluster load balancer. */ - export interface ContainerServiceSshPublicKeyResponse { - /** - * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. - */ - keyData: string; - } + outboundIPs?: outputs.containerservice.ManagedClusterLoadBalancerProfileResponseOutboundIPs; + } + /** + * managedClusterLoadBalancerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponse + */ + export function managedClusterLoadBalancerProfileResponseProvideDefaults(val: ManagedClusterLoadBalancerProfileResponse): ManagedClusterLoadBalancerProfileResponse { + return { + ...val, + allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, + managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), + }; + } + /** + * Desired managed outbound IPs for the cluster load balancer. + */ + export interface ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { /** - * Data used when creating a target resource from a source resource. + * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. */ - export interface CreationDataResponse { - /** - * This is the ARM ID of the source object to be used to create the target object. - */ - sourceResourceId?: string; - } - + count?: number; /** - * The credential result response. + * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. */ - export interface CredentialResultResponse { - /** - * The name of the credential. - */ - name: string; - /** - * Base64-encoded Kubernetes configuration file. - */ - value: string; - } + countIPv6?: number; + } + /** + * managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs + */ + export function managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val: ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs): ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + return { + ...val, + count: (val.count) ?? 1, + countIPv6: (val.countIPv6) ?? 0, + }; + } + /** + * Desired outbound IP Prefix resources for the cluster load balancer. + */ + export interface ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes { /** - * For schedules like: 'recur every day' or 'recur every 3 days'. + * A list of public IP prefix resources. */ - export interface DailyScheduleResponse { - /** - * Specifies the number of days between each set of occurrences. - */ - intervalDays: number; - } + publicIPPrefixes?: outputs.containerservice.ResourceReferenceResponse[]; + } + /** + * Desired outbound IP resources for the cluster load balancer. + */ + export interface ManagedClusterLoadBalancerProfileResponseOutboundIPs { /** - * For example, between '2022-12-23' and '2023-01-05'. + * A list of public IP resources. */ - export interface DateSpanResponse { - /** - * The end date of the date span. - */ - end: string; - /** - * The start date of the date span. - */ - start: string; - } + publicIPs?: outputs.containerservice.ResourceReferenceResponse[]; + } + /** + * Profile of the managed outbound IP resources of the managed cluster. + */ + export interface ManagedClusterManagedOutboundIPProfileResponse { /** - * Delegated resource properties - internal use only. + * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. */ - export interface DelegatedResourceResponse { - /** - * The source resource location - internal use only. - */ - location?: string; - /** - * The delegation id of the referral delegation (optional) - internal use only. - */ - referralResource?: string; - /** - * The ARM resource id of the delegated resource - internal use only. - */ - resourceId?: string; - /** - * The tenant id of the delegated resource - internal use only. - */ - tenantId?: string; - } + count?: number; + } + /** + * managedClusterManagedOutboundIPProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterManagedOutboundIPProfileResponse + */ + export function managedClusterManagedOutboundIPProfileResponseProvideDefaults(val: ManagedClusterManagedOutboundIPProfileResponse): ManagedClusterManagedOutboundIPProfileResponse { + return { + ...val, + count: (val.count) ?? 1, + }; + } + /** + * Profile of the managed cluster NAT gateway. + */ + export interface ManagedClusterNATGatewayProfileResponse { /** - * The complex type of the extended location. + * The effective outbound IP resources of the cluster NAT gateway. */ - export interface ExtendedLocationResponse { - /** - * The name of the extended location. - */ - name?: string; - /** - * The type of the extended location. - */ - type?: string; - } + effectiveOutboundIPs?: outputs.containerservice.ResourceReferenceResponse[]; + /** + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + */ + idleTimeoutInMinutes?: number; + /** + * Profile of the managed outbound IP resources of the cluster NAT gateway. + */ + managedOutboundIPProfile?: outputs.containerservice.ManagedClusterManagedOutboundIPProfileResponse; + } + /** + * managedClusterNATGatewayProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileResponse + */ + export function managedClusterNATGatewayProfileResponseProvideDefaults(val: ManagedClusterNATGatewayProfileResponse): ManagedClusterNATGatewayProfileResponse { + return { + ...val, + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, + managedOutboundIPProfile: (val.managedOutboundIPProfile ? outputs.containerservice.managedClusterManagedOutboundIPProfileResponseProvideDefaults(val.managedOutboundIPProfile) : undefined), + }; + } + /** + * The OIDC issuer profile of the Managed Cluster. + */ + export interface ManagedClusterOIDCIssuerProfileResponse { /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * Whether the OIDC issuer is enabled. */ - export interface KubeletConfigResponse { - /** - * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - */ - allowedUnsafeSysctls?: string[]; - /** - * The maximum number of container log files that can be present for a container. The number must be ≥ 2. - */ - containerLogMaxFiles?: number; - /** - * The maximum size (e.g. 10Mi) of container log file before it is rotated. - */ - containerLogMaxSizeMB?: number; - /** - * The default is true. - */ - cpuCfsQuota?: boolean; - /** - * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - */ - cpuCfsQuotaPeriod?: string; - /** - * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. - */ - cpuManagerPolicy?: string; - /** - * If set to true it will make the Kubelet fail to start if swap is enabled on the node. - */ - failSwapOn?: boolean; - /** - * To disable image garbage collection, set to 100. The default is 85% - */ - imageGcHighThreshold?: number; - /** - * This cannot be set higher than imageGcHighThreshold. The default is 80% - */ - imageGcLowThreshold?: number; - /** - * The maximum number of processes per pod. - */ - podMaxPids?: number; - /** - * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - */ - topologyManagerPolicy?: string; - } + enabled?: boolean; + /** + * The OIDC issuer url of the Managed Cluster. + */ + issuerURL: string; + } + /** + * See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + */ + export interface ManagedClusterPodIdentityExceptionResponse { /** - * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + * The name of the pod identity exception. */ - export interface LinuxOSConfigResponse { - /** - * The size in MB of a swap file that will be created on each node. - */ - swapFileSizeMB?: number; - /** - * Sysctl settings for Linux agent nodes. - */ - sysctls?: outputs.containerservice.v20230601.SysctlConfigResponse; - /** - * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - */ - transparentHugePageDefrag?: string; - /** - * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - */ - transparentHugePageEnabled?: string; - } + name: string; + /** + * The namespace of the pod identity exception. + */ + namespace: string; + /** + * The pod labels to match. + */ + podLabels: {[key: string]: string}; + } + /** + * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + */ + export interface ManagedClusterPodIdentityProfileResponse { /** - * Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + * Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. */ - export interface MaintenanceWindowResponse { - /** - * Length of maintenance window range from 4 to 24 hours. - */ - durationHours: number; - /** - * Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. - */ - notAllowedDates?: outputs.containerservice.v20230601.DateSpanResponse[]; - /** - * Recurrence schedule for the maintenance window. - */ - schedule: outputs.containerservice.v20230601.ScheduleResponse; - /** - * The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. - */ - startDate?: string; - /** - * The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. - */ - startTime: string; - /** - * The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. - */ - utcOffset?: string; - } + allowNetworkPluginKubenet?: boolean; /** - * maintenanceWindowResponseProvideDefaults sets the appropriate defaults for MaintenanceWindowResponse + * Whether the pod identity addon is enabled. */ - export function maintenanceWindowResponseProvideDefaults(val: MaintenanceWindowResponse): MaintenanceWindowResponse { - return { - ...val, - durationHours: (val.durationHours) ?? 24, - }; - } + enabled?: boolean; + /** + * The pod identities to use in the cluster. + */ + userAssignedIdentities?: outputs.containerservice.ManagedClusterPodIdentityResponse[]; + /** + * The pod identity exceptions to allow. + */ + userAssignedIdentityExceptions?: outputs.containerservice.ManagedClusterPodIdentityExceptionResponse[]; + } + /** + * An error response from the pod identity provisioning. + */ + export interface ManagedClusterPodIdentityProvisioningErrorBodyResponse { /** - * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */ - export interface ManagedClusterAADProfileResponse { - /** - * The list of AAD group object IDs that will have admin role of the cluster. - */ - adminGroupObjectIDs?: string[]; - /** - * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - */ - clientAppID?: string; - /** - * Whether to enable Azure RBAC for Kubernetes authorization. - */ - enableAzureRBAC?: boolean; - /** - * Whether to enable managed AAD. - */ - managed?: boolean; - /** - * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - */ - serverAppID?: string; - /** - * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. - */ - serverAppSecret?: string; - /** - * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. - */ - tenantID?: string; - } + code?: string; + /** + * A list of additional details about the error. + */ + details?: outputs.containerservice.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; + /** + * A message describing the error, intended to be suitable for display in a user interface. + */ + message?: string; + /** + * The target of the particular error. For example, the name of the property in error. + */ + target?: string; + } + /** + * An error response from the pod identity provisioning. + */ + export interface ManagedClusterPodIdentityProvisioningErrorResponse { /** - * Access profile for managed cluster API server. + * Details about the error. */ - export interface ManagedClusterAPIServerAccessProfileResponse { - /** - * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - */ - authorizedIPRanges?: string[]; - /** - * Whether to disable run command for the cluster or not. - */ - disableRunCommand?: boolean; - /** - * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). - */ - enablePrivateCluster?: boolean; - /** - * Whether to create additional public FQDN for private cluster or not. - */ - enablePrivateClusterPublicFQDN?: boolean; - /** - * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. - */ - privateDNSZone?: string; - } + error?: outputs.containerservice.ManagedClusterPodIdentityProvisioningErrorBodyResponse; + } + /** + * Details about the pod identity assigned to the Managed Cluster. + */ + export interface ManagedClusterPodIdentityResponse { /** - * A Kubernetes add-on profile for a managed cluster. + * The binding selector to use for the AzureIdentityBinding resource. */ - export interface ManagedClusterAddonProfileResponse { - /** - * Key-value pairs for configuring an add-on. - */ - config?: {[key: string]: string}; - /** - * Whether the add-on is enabled or not. - */ - enabled: boolean; - /** - * Information of user assigned identity used by this add-on. - */ - identity: outputs.containerservice.v20230601.ManagedClusterAddonProfileResponseIdentity; - } + bindingSelector?: string; + /** + * The user assigned identity details. + */ + identity: outputs.containerservice.UserAssignedIdentityResponse; + /** + * The name of the pod identity. + */ + name: string; + /** + * The namespace of the pod identity. + */ + namespace: string; + provisioningInfo: outputs.containerservice.ManagedClusterPodIdentityResponseProvisioningInfo; + /** + * The current provisioning state of the pod identity. + */ + provisioningState: string; + } + export interface ManagedClusterPodIdentityResponseProvisioningInfo { /** - * Information of user assigned identity used by this add-on. + * Pod identity assignment error (if any). */ - export interface ManagedClusterAddonProfileResponseIdentity { - /** - * The client ID of the user assigned identity. - */ - clientId?: string; - /** - * The object ID of the user assigned identity. - */ - objectId?: string; - /** - * The resource ID of the user assigned identity. - */ - resourceId?: string; - } + error?: outputs.containerservice.ManagedClusterPodIdentityProvisioningErrorResponse; + } + /** + * managed cluster properties for snapshot, these properties are read only. + */ + export interface ManagedClusterPropertiesForSnapshotResponse { /** - * Profile for the container service agent pool. + * Whether the cluster has enabled Kubernetes Role-Based Access Control or not. */ - export interface ManagedClusterAgentPoolProfileResponse { - /** - * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. - */ - availabilityZones?: string[]; - /** - * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - */ - count?: number; - /** - * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. - */ - creationData?: outputs.containerservice.v20230601.CreationDataResponse; - /** - * If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. - */ - currentOrchestratorVersion: string; - /** - * Whether to enable auto-scaler - */ - enableAutoScaling?: boolean; - /** - * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption - */ - enableEncryptionAtHost?: boolean; - /** - * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. - */ - enableFIPS?: boolean; - /** - * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. - */ - enableNodePublicIP?: boolean; - /** - * Whether to enable UltraSSD - */ - enableUltraSSD?: boolean; - /** - * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - */ - gpuInstanceProfile?: string; - /** - * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - */ - hostGroupID?: string; - /** - * The Kubelet configuration on the agent pool nodes. - */ - kubeletConfig?: outputs.containerservice.v20230601.KubeletConfigResponse; - /** - * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. - */ - kubeletDiskType?: string; - /** - * The OS configuration of Linux agent nodes. - */ - linuxOSConfig?: outputs.containerservice.v20230601.LinuxOSConfigResponse; - /** - * The maximum number of nodes for auto-scaling - */ - maxCount?: number; - /** - * The maximum number of pods that can run on a node. - */ - maxPods?: number; - /** - * The minimum number of nodes for auto-scaling - */ - minCount?: number; - /** - * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - */ - mode?: string; - /** - * Windows agent pool names must be 6 characters or less. - */ - name: string; - /** - * The version of node image - */ - nodeImageVersion: string; - /** - * The node labels to be persisted across all nodes in agent pool. - */ - nodeLabels?: {[key: string]: string}; - /** - * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - */ - nodePublicIPPrefixID?: string; - /** - * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - */ - nodeTaints?: string[]; - /** - * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - */ - orchestratorVersion?: string; - /** - * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. - */ - osDiskSizeGB?: number; - /** - * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - */ - osDiskType?: string; - /** - * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - */ - osSKU?: string; - /** - * The operating system type. The default is Linux. - */ - osType?: string; - /** - * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - */ - podSubnetID?: string; - /** - * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded - */ - powerState?: outputs.containerservice.v20230601.PowerStateResponse; - /** - * The current deployment or provisioning state. - */ - provisioningState: string; - /** - * The ID for Proximity Placement Group. - */ - proximityPlacementGroupID?: string; - /** - * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. - */ - scaleDownMode?: string; - /** - * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. - */ - scaleSetEvictionPolicy?: string; - /** - * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - */ - scaleSetPriority?: string; - /** - * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - */ - spotMaxPrice?: number; - /** - * The tags to be persisted on the agent pool virtual machine scale set. - */ - tags?: {[key: string]: string}; - /** - * The type of Agent Pool. - */ - type?: string; - /** - * Settings for upgrading the agentpool - */ - upgradeSettings?: outputs.containerservice.v20230601.AgentPoolUpgradeSettingsResponse; - /** - * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions - */ - vmSize?: string; - /** - * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - */ - vnetSubnetID?: string; - /** - * Determines the type of workload a node can run. - */ - workloadRuntime?: string; - } - + enableRbac?: boolean; /** - * Auto upgrade profile for a managed cluster. + * The current kubernetes version. */ - export interface ManagedClusterAutoUpgradeProfileResponse { - /** - * Manner in which the OS on your nodes is updated. The default is NodeImage. - */ - nodeOSUpgradeChannel?: string; - /** - * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). - */ - upgradeChannel?: string; - } - + kubernetesVersion?: string; /** - * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + * The current network profile. */ - export interface ManagedClusterAzureMonitorProfileKubeStateMetricsResponse { - /** - * Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. - */ - metricAnnotationsAllowList?: string; - /** - * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. - */ - metricLabelsAllowlist?: string; - } - + networkProfile: outputs.containerservice.NetworkProfileForSnapshotResponse; /** - * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + * The current managed cluster sku. */ - export interface ManagedClusterAzureMonitorProfileMetricsResponse { - /** - * Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. - */ - enabled: boolean; - /** - * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. - */ - kubeStateMetrics?: outputs.containerservice.v20230601.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse; - } + sku?: outputs.containerservice.ManagedClusterSKUResponse; + } + /** + * Parameters to be applied to the cluster-autoscaler when enabled + */ + export interface ManagedClusterPropertiesResponseAutoScalerProfile { /** - * Azure Monitor addon profiles for monitoring the managed cluster. + * Valid values are 'true' and 'false' */ - export interface ManagedClusterAzureMonitorProfileResponse { - /** - * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. - */ - metrics?: outputs.containerservice.v20230601.ManagedClusterAzureMonitorProfileMetricsResponse; - } - + balanceSimilarNodeGroups?: string; /** - * Cluster HTTP proxy configuration. + * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */ - export interface ManagedClusterHTTPProxyConfigResponse { - /** - * The HTTP proxy server endpoint to use. - */ - httpProxy?: string; - /** - * The HTTPS proxy server endpoint to use. - */ - httpsProxy?: string; - /** - * The endpoints that should not go through proxy. - */ - noProxy?: string[]; - /** - * Alternative CA cert to use for connecting to proxy servers. - */ - trustedCa?: string; - } - + expander?: string; /** - * Identity for the managed cluster. + * The default is 10. */ - export interface ManagedClusterIdentityResponse { - /** - * The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. - */ - delegatedResources?: {[key: string]: outputs.containerservice.v20230601.DelegatedResourceResponse}; - /** - * The principal id of the system assigned identity which is used by master components. - */ - principalId: string; - /** - * The tenant id of the system assigned identity which is used by master components. - */ - tenantId: string; - /** - * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - */ - type?: string; - /** - * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - */ - userAssignedIdentities?: {[key: string]: outputs.containerservice.v20230601.ManagedClusterIdentityResponseUserAssignedIdentities}; - } - - export interface ManagedClusterIdentityResponseUserAssignedIdentities { - /** - * The client id of user assigned identity. - */ - clientId: string; - /** - * The principal id of user assigned identity. - */ - principalId: string; - } - + maxEmptyBulkDelete?: string; /** - * Profile of the managed cluster load balancer. + * The default is 600. */ - export interface ManagedClusterLoadBalancerProfileResponse { - /** - * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - */ - allocatedOutboundPorts?: number; - /** - * The effective outbound IP resources of the cluster load balancer. - */ - effectiveOutboundIPs?: outputs.containerservice.v20230601.ResourceReferenceResponse[]; - /** - * Enable multiple standard load balancers per AKS cluster or not. - */ - enableMultipleStandardLoadBalancers?: boolean; - /** - * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. - */ - idleTimeoutInMinutes?: number; - /** - * Desired managed outbound IPs for the cluster load balancer. - */ - managedOutboundIPs?: outputs.containerservice.v20230601.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; - /** - * Desired outbound IP Prefix resources for the cluster load balancer. - */ - outboundIPPrefixes?: outputs.containerservice.v20230601.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; - /** - * Desired outbound IP resources for the cluster load balancer. - */ - outboundIPs?: outputs.containerservice.v20230601.ManagedClusterLoadBalancerProfileResponseOutboundIPs; - } + maxGracefulTerminationSec?: string; /** - * managedClusterLoadBalancerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponse + * The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - export function managedClusterLoadBalancerProfileResponseProvideDefaults(val: ManagedClusterLoadBalancerProfileResponse): ManagedClusterLoadBalancerProfileResponse { - return { - ...val, - allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, - idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, - managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.v20230601.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), - }; - } - + maxNodeProvisionTime?: string; /** - * Desired managed outbound IPs for the cluster load balancer. + * The default is 45. The maximum is 100 and the minimum is 0. */ - export interface ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { - /** - * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. - */ - count?: number; - /** - * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - */ - countIPv6?: number; - } + maxTotalUnreadyPercentage?: string; /** - * managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs + * For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). */ - export function managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val: ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs): ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { - return { - ...val, - count: (val.count) ?? 1, - countIPv6: (val.countIPv6) ?? 0, - }; - } - + newPodScaleUpDelay?: string; /** - * Desired outbound IP Prefix resources for the cluster load balancer. + * This must be an integer. The default is 3. */ - export interface ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes { - /** - * A list of public IP prefix resources. - */ - publicIPPrefixes?: outputs.containerservice.v20230601.ResourceReferenceResponse[]; - } - + okTotalUnreadyCount?: string; /** - * Desired outbound IP resources for the cluster load balancer. + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - export interface ManagedClusterLoadBalancerProfileResponseOutboundIPs { - /** - * A list of public IP resources. - */ - publicIPs?: outputs.containerservice.v20230601.ResourceReferenceResponse[]; - } - + scaleDownDelayAfterAdd?: string; /** - * Profile of the managed outbound IP resources of the managed cluster. + * The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - export interface ManagedClusterManagedOutboundIPProfileResponse { - /** - * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. - */ - count?: number; - } + scaleDownDelayAfterDelete?: string; /** - * managedClusterManagedOutboundIPProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterManagedOutboundIPProfileResponse + * The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - export function managedClusterManagedOutboundIPProfileResponseProvideDefaults(val: ManagedClusterManagedOutboundIPProfileResponse): ManagedClusterManagedOutboundIPProfileResponse { - return { - ...val, - count: (val.count) ?? 1, - }; - } - + scaleDownDelayAfterFailure?: string; /** - * Profile of the managed cluster NAT gateway. + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - export interface ManagedClusterNATGatewayProfileResponse { - /** - * The effective outbound IP resources of the cluster NAT gateway. - */ - effectiveOutboundIPs?: outputs.containerservice.v20230601.ResourceReferenceResponse[]; - /** - * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. - */ - idleTimeoutInMinutes?: number; - /** - * Profile of the managed outbound IP resources of the cluster NAT gateway. - */ - managedOutboundIPProfile?: outputs.containerservice.v20230601.ManagedClusterManagedOutboundIPProfileResponse; - } + scaleDownUnneededTime?: string; /** - * managedClusterNATGatewayProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileResponse + * The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - export function managedClusterNATGatewayProfileResponseProvideDefaults(val: ManagedClusterNATGatewayProfileResponse): ManagedClusterNATGatewayProfileResponse { - return { - ...val, - idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, - managedOutboundIPProfile: (val.managedOutboundIPProfile ? outputs.containerservice.v20230601.managedClusterManagedOutboundIPProfileResponseProvideDefaults(val.managedOutboundIPProfile) : undefined), - }; - } - + scaleDownUnreadyTime?: string; /** - * The OIDC issuer profile of the Managed Cluster. + * The default is '0.5'. */ - export interface ManagedClusterOIDCIssuerProfileResponse { - /** - * Whether the OIDC issuer is enabled. - */ - enabled?: boolean; - /** - * The OIDC issuer url of the Managed Cluster. - */ - issuerURL: string; - } - + scaleDownUtilizationThreshold?: string; /** - * See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + * The default is '10'. Values must be an integer number of seconds. */ - export interface ManagedClusterPodIdentityExceptionResponse { - /** - * The name of the pod identity exception. - */ - name: string; - /** - * The namespace of the pod identity exception. - */ - namespace: string; - /** - * The pod labels to match. - */ - podLabels: {[key: string]: string}; - } - + scanInterval?: string; /** - * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + * The default is true. */ - export interface ManagedClusterPodIdentityProfileResponse { - /** - * Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. - */ - allowNetworkPluginKubenet?: boolean; - /** - * Whether the pod identity addon is enabled. - */ - enabled?: boolean; - /** - * The pod identities to use in the cluster. - */ - userAssignedIdentities?: outputs.containerservice.v20230601.ManagedClusterPodIdentityResponse[]; - /** - * The pod identity exceptions to allow. - */ - userAssignedIdentityExceptions?: outputs.containerservice.v20230601.ManagedClusterPodIdentityExceptionResponse[]; - } - + skipNodesWithLocalStorage?: string; /** - * An error response from the pod identity provisioning. + * The default is true. */ - export interface ManagedClusterPodIdentityProvisioningErrorBodyResponse { - /** - * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - */ - code?: string; - /** - * A list of additional details about the error. - */ - details?: outputs.containerservice.v20230601.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; - /** - * A message describing the error, intended to be suitable for display in a user interface. - */ - message?: string; - /** - * The target of the particular error. For example, the name of the property in error. - */ - target?: string; - } + skipNodesWithSystemPods?: string; + } + /** + * The SKU of a Managed Cluster. + */ + export interface ManagedClusterSKUResponse { /** - * An error response from the pod identity provisioning. + * The name of a managed cluster SKU. */ - export interface ManagedClusterPodIdentityProvisioningErrorResponse { - /** - * Details about the error. - */ - error?: outputs.containerservice.v20230601.ManagedClusterPodIdentityProvisioningErrorBodyResponse; - } - + name?: string; /** - * Details about the pod identity assigned to the Managed Cluster. + * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */ - export interface ManagedClusterPodIdentityResponse { - /** - * The binding selector to use for the AzureIdentityBinding resource. - */ - bindingSelector?: string; - /** - * The user assigned identity details. - */ - identity: outputs.containerservice.v20230601.UserAssignedIdentityResponse; - /** - * The name of the pod identity. - */ - name: string; - /** - * The namespace of the pod identity. - */ - namespace: string; - provisioningInfo: outputs.containerservice.v20230601.ManagedClusterPodIdentityResponseProvisioningInfo; - /** - * The current provisioning state of the pod identity. - */ - provisioningState: string; - } + tier?: string; + } - export interface ManagedClusterPodIdentityResponseProvisioningInfo { - /** - * Pod identity assignment error (if any). - */ - error?: outputs.containerservice.v20230601.ManagedClusterPodIdentityProvisioningErrorResponse; - } + /** + * Microsoft Defender settings for the security profile. + */ + export interface ManagedClusterSecurityProfileDefenderResponse { + /** + * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + */ + logAnalyticsWorkspaceResourceId?: string; + /** + * Microsoft Defender threat detection for Cloud settings for the security profile. + */ + securityMonitoring?: outputs.containerservice.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse; + } + /** + * Microsoft Defender settings for the security profile threat detection. + */ + export interface ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse { /** - * Parameters to be applied to the cluster-autoscaler when enabled + * Whether to enable Defender threat detection */ - export interface ManagedClusterPropertiesResponseAutoScalerProfile { - /** - * Valid values are 'true' and 'false' - */ - balanceSimilarNodeGroups?: string; - /** - * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. - */ - expander?: string; - /** - * The default is 10. - */ - maxEmptyBulkDelete?: string; - /** - * The default is 600. - */ - maxGracefulTerminationSec?: string; - /** - * The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. - */ - maxNodeProvisionTime?: string; - /** - * The default is 45. The maximum is 100 and the minimum is 0. - */ - maxTotalUnreadyPercentage?: string; - /** - * For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - */ - newPodScaleUpDelay?: string; - /** - * This must be an integer. The default is 3. - */ - okTotalUnreadyCount?: string; - /** - * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. - */ - scaleDownDelayAfterAdd?: string; - /** - * The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. - */ - scaleDownDelayAfterDelete?: string; - /** - * The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. - */ - scaleDownDelayAfterFailure?: string; - /** - * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. - */ - scaleDownUnneededTime?: string; - /** - * The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. - */ - scaleDownUnreadyTime?: string; - /** - * The default is '0.5'. - */ - scaleDownUtilizationThreshold?: string; - /** - * The default is '10'. Values must be an integer number of seconds. - */ - scanInterval?: string; - /** - * The default is true. - */ - skipNodesWithLocalStorage?: string; - /** - * The default is true. - */ - skipNodesWithSystemPods?: string; - } + enabled?: boolean; + } + /** + * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. + */ + export interface ManagedClusterSecurityProfileImageCleanerResponse { /** - * The SKU of a Managed Cluster. + * Whether to enable Image Cleaner on AKS cluster. */ - export interface ManagedClusterSKUResponse { - /** - * The name of a managed cluster SKU. - */ - name?: string; - /** - * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. - */ - tier?: string; - } + enabled?: boolean; + /** + * Image Cleaner scanning interval in hours. + */ + intervalHours?: number; + } + /** + * Security profile for the container service cluster. + */ + export interface ManagedClusterSecurityProfileResponse { + /** + * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + */ + azureKeyVaultKms?: outputs.containerservice.AzureKeyVaultKmsResponse; /** * Microsoft Defender settings for the security profile. */ - export interface ManagedClusterSecurityProfileDefenderResponse { - /** - * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. - */ - logAnalyticsWorkspaceResourceId?: string; - /** - * Microsoft Defender threat detection for Cloud settings for the security profile. - */ - securityMonitoring?: outputs.containerservice.v20230601.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse; - } - + defender?: outputs.containerservice.ManagedClusterSecurityProfileDefenderResponse; /** - * Microsoft Defender settings for the security profile threat detection. + * Image Cleaner settings for the security profile. */ - export interface ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse { - /** - * Whether to enable Defender threat detection - */ - enabled?: boolean; - } + imageCleaner?: outputs.containerservice.ManagedClusterSecurityProfileImageCleanerResponse; + /** + * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + */ + workloadIdentity?: outputs.containerservice.ManagedClusterSecurityProfileWorkloadIdentityResponse; + } + /** + * managedClusterSecurityProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileResponse + */ + export function managedClusterSecurityProfileResponseProvideDefaults(val: ManagedClusterSecurityProfileResponse): ManagedClusterSecurityProfileResponse { + return { + ...val, + azureKeyVaultKms: (val.azureKeyVaultKms ? outputs.containerservice.azureKeyVaultKmsResponseProvideDefaults(val.azureKeyVaultKms) : undefined), + }; + } + /** + * Workload identity settings for the security profile. + */ + export interface ManagedClusterSecurityProfileWorkloadIdentityResponse { /** - * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. + * Whether to enable workload identity. */ - export interface ManagedClusterSecurityProfileImageCleanerResponse { - /** - * Whether to enable Image Cleaner on AKS cluster. - */ - enabled?: boolean; - /** - * Image Cleaner scanning interval in hours. - */ - intervalHours?: number; - } + enabled?: boolean; + } + /** + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + */ + export interface ManagedClusterServicePrincipalProfileResponse { /** - * Security profile for the container service cluster. + * The ID for the service principal. */ - export interface ManagedClusterSecurityProfileResponse { - /** - * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - */ - azureKeyVaultKms?: outputs.containerservice.v20230601.AzureKeyVaultKmsResponse; - /** - * Microsoft Defender settings for the security profile. - */ - defender?: outputs.containerservice.v20230601.ManagedClusterSecurityProfileDefenderResponse; - /** - * Image Cleaner settings for the security profile. - */ - imageCleaner?: outputs.containerservice.v20230601.ManagedClusterSecurityProfileImageCleanerResponse; - /** - * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - */ - workloadIdentity?: outputs.containerservice.v20230601.ManagedClusterSecurityProfileWorkloadIdentityResponse; - } + clientId: string; /** - * managedClusterSecurityProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileResponse + * The secret password associated with the service principal in plain text. */ - export function managedClusterSecurityProfileResponseProvideDefaults(val: ManagedClusterSecurityProfileResponse): ManagedClusterSecurityProfileResponse { - return { - ...val, - azureKeyVaultKms: (val.azureKeyVaultKms ? outputs.containerservice.v20230601.azureKeyVaultKmsResponseProvideDefaults(val.azureKeyVaultKms) : undefined), - }; - } + secret?: string; + } + /** + * AzureBlob CSI Driver settings for the storage profile. + */ + export interface ManagedClusterStorageProfileBlobCSIDriverResponse { /** - * Workload identity settings for the security profile. + * Whether to enable AzureBlob CSI Driver. The default value is false. */ - export interface ManagedClusterSecurityProfileWorkloadIdentityResponse { - /** - * Whether to enable workload identity. - */ - enabled?: boolean; - } + enabled?: boolean; + } + + /** + * AzureDisk CSI Driver settings for the storage profile. + */ + export interface ManagedClusterStorageProfileDiskCSIDriverResponse { + /** + * Whether to enable AzureDisk CSI Driver. The default value is true. + */ + enabled?: boolean; + } + /** + * AzureFile CSI Driver settings for the storage profile. + */ + export interface ManagedClusterStorageProfileFileCSIDriverResponse { /** - * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + * Whether to enable AzureFile CSI Driver. The default value is true. */ - export interface ManagedClusterServicePrincipalProfileResponse { - /** - * The ID for the service principal. - */ - clientId: string; - /** - * The secret password associated with the service principal in plain text. - */ - secret?: string; - } + enabled?: boolean; + } + /** + * Storage profile for the container service cluster. + */ + export interface ManagedClusterStorageProfileResponse { /** * AzureBlob CSI Driver settings for the storage profile. */ - export interface ManagedClusterStorageProfileBlobCSIDriverResponse { - /** - * Whether to enable AzureBlob CSI Driver. The default value is false. - */ - enabled?: boolean; - } - + blobCSIDriver?: outputs.containerservice.ManagedClusterStorageProfileBlobCSIDriverResponse; /** * AzureDisk CSI Driver settings for the storage profile. */ - export interface ManagedClusterStorageProfileDiskCSIDriverResponse { - /** - * Whether to enable AzureDisk CSI Driver. The default value is true. - */ - enabled?: boolean; - } - + diskCSIDriver?: outputs.containerservice.ManagedClusterStorageProfileDiskCSIDriverResponse; /** * AzureFile CSI Driver settings for the storage profile. */ - export interface ManagedClusterStorageProfileFileCSIDriverResponse { - /** - * Whether to enable AzureFile CSI Driver. The default value is true. - */ - enabled?: boolean; - } - - /** - * Storage profile for the container service cluster. - */ - export interface ManagedClusterStorageProfileResponse { - /** - * AzureBlob CSI Driver settings for the storage profile. - */ - blobCSIDriver?: outputs.containerservice.v20230601.ManagedClusterStorageProfileBlobCSIDriverResponse; - /** - * AzureDisk CSI Driver settings for the storage profile. - */ - diskCSIDriver?: outputs.containerservice.v20230601.ManagedClusterStorageProfileDiskCSIDriverResponse; - /** - * AzureFile CSI Driver settings for the storage profile. - */ - fileCSIDriver?: outputs.containerservice.v20230601.ManagedClusterStorageProfileFileCSIDriverResponse; - /** - * Snapshot Controller settings for the storage profile. - */ - snapshotController?: outputs.containerservice.v20230601.ManagedClusterStorageProfileSnapshotControllerResponse; - } - + fileCSIDriver?: outputs.containerservice.ManagedClusterStorageProfileFileCSIDriverResponse; /** * Snapshot Controller settings for the storage profile. */ - export interface ManagedClusterStorageProfileSnapshotControllerResponse { - /** - * Whether to enable Snapshot Controller. The default value is true. - */ - enabled?: boolean; - } + snapshotController?: outputs.containerservice.ManagedClusterStorageProfileSnapshotControllerResponse; + } + /** + * Snapshot Controller settings for the storage profile. + */ + export interface ManagedClusterStorageProfileSnapshotControllerResponse { /** - * Profile for Windows VMs in the managed cluster. + * Whether to enable Snapshot Controller. The default value is true. */ - export interface ManagedClusterWindowsProfileResponse { - /** - * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" - */ - adminPassword?: string; - /** - * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters - */ - adminUsername: string; - /** - * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). - */ - enableCSIProxy?: boolean; - /** - * The Windows gMSA Profile in the Managed Cluster. - */ - gmsaProfile?: outputs.containerservice.v20230601.WindowsGmsaProfileResponse; - /** - * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - */ - licenseType?: string; - } + enabled?: boolean; + } + /** + * The update to be applied to the ManagedClusters. + */ + export interface ManagedClusterUpdateResponse { /** - * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + * The upgrade to apply to the ManagedClusters. */ - export interface ManagedClusterWorkloadAutoScalerProfileKedaResponse { - /** - * Whether to enable KEDA. - */ - enabled: boolean; - } + upgrade: outputs.containerservice.ManagedClusterUpgradeSpecResponse; + } + /** + * The upgrade to apply to a ManagedCluster. + */ + export interface ManagedClusterUpgradeSpecResponse { /** - * Workload Auto-scaler profile for the managed cluster. + * The Kubernetes version to upgrade the member clusters to. */ - export interface ManagedClusterWorkloadAutoScalerProfileResponse { - /** - * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. - */ - keda?: outputs.containerservice.v20230601.ManagedClusterWorkloadAutoScalerProfileKedaResponse; - /** - * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. - */ - verticalPodAutoscaler?: outputs.containerservice.v20230601.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse; - } + kubernetesVersion?: string; /** - * managedClusterWorkloadAutoScalerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileResponse + * The upgrade type. + * Full requires the KubernetesVersion property to be set. + * NodeImageOnly requires the KubernetesVersion property not to be set. */ - export function managedClusterWorkloadAutoScalerProfileResponseProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileResponse): ManagedClusterWorkloadAutoScalerProfileResponse { - return { - ...val, - verticalPodAutoscaler: (val.verticalPodAutoscaler ? outputs.containerservice.v20230601.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults(val.verticalPodAutoscaler) : undefined), - }; - } + type: string; + } + /** + * Profile for Windows VMs in the managed cluster. + */ + export interface ManagedClusterWindowsProfileResponse { /** - * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" */ - export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse { - /** - * Whether to enable VPA. Default value is false. - */ - enabled: boolean; - } + adminPassword?: string; /** - * managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse + * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters */ - export function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse): ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse { - return { - ...val, - enabled: (val.enabled) ?? false, - }; - } - + adminUsername: string; /** - * Describes the Power State of the cluster + * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). */ - export interface PowerStateResponse { - /** - * Tells whether the cluster is Running or Stopped - */ - code?: string; - } - + enableCSIProxy?: boolean; /** - * Private endpoint which a connection belongs to. + * The Windows gMSA Profile in the Managed Cluster. */ - export interface PrivateEndpointResponse { - /** - * The resource ID of the private endpoint - */ - id?: string; - } - + gmsaProfile?: outputs.containerservice.WindowsGmsaProfileResponse; /** - * A private link resource + * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */ - export interface PrivateLinkResourceResponse { - /** - * The group ID of the resource. - */ - groupId?: string; - /** - * The ID of the private link resource. - */ - id?: string; - /** - * The name of the private link resource. - */ - name?: string; - /** - * The private link service ID of the resource, this field is exposed only to NRP internally. - */ - privateLinkServiceID: string; - /** - * The RequiredMembers of the resource - */ - requiredMembers?: string[]; - /** - * The resource type. - */ - type?: string; - } + licenseType?: string; + } + /** + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + */ + export interface ManagedClusterWorkloadAutoScalerProfileKedaResponse { /** - * The state of a private link service connection. + * Whether to enable KEDA. */ - export interface PrivateLinkServiceConnectionStateResponse { - /** - * The private link service connection description. - */ - description?: string; - /** - * The private link service connection status. - */ - status?: string; - } + enabled: boolean; + } + /** + * Workload Auto-scaler profile for the managed cluster. + */ + export interface ManagedClusterWorkloadAutoScalerProfileResponse { /** - * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ - export interface RelativeMonthlyScheduleResponse { - /** - * Specifies on which day of the week the maintenance occurs. - */ - dayOfWeek: string; + keda?: outputs.containerservice.ManagedClusterWorkloadAutoScalerProfileKedaResponse; + } + + /** + * The status of a member update operation. + */ + export interface MemberUpdateStatusResponse { + /** + * The Azure resource id of the target Kubernetes cluster. + */ + clusterResourceId: string; + /** + * The name of the FleetMember. + */ + name: string; + /** + * The operation resource id of the latest attempt to perform the operation. + */ + operationId: string; + /** + * The status of the MemberUpdate operation. + */ + status: outputs.containerservice.UpdateStatusResponse; + } + + /** + * network profile for managed cluster snapshot, these properties are read only. + */ + export interface NetworkProfileForSnapshotResponse { + /** + * loadBalancerSku for managed cluster snapshot. + */ + loadBalancerSku?: string; + /** + * networkMode for managed cluster snapshot. + */ + networkMode?: string; + /** + * networkPlugin for managed cluster snapshot. + */ + networkPlugin?: string; + /** + * NetworkPluginMode for managed cluster snapshot. + */ + networkPluginMode?: string; + /** + * networkPolicy for managed cluster snapshot. + */ + networkPolicy?: string; + } + + /** + * Represents the OpenShift networking configuration + */ + export interface NetworkProfileResponse { + /** + * CIDR of subnet used to create PLS needed for management of the cluster + */ + managementSubnetCidr?: string; + /** + * CIDR for the OpenShift Vnet. + */ + vnetCidr?: string; + /** + * ID of the Vnet created for OSA cluster. + */ + vnetId?: string; + } + /** + * networkProfileResponseProvideDefaults sets the appropriate defaults for NetworkProfileResponse + */ + export function networkProfileResponseProvideDefaults(val: NetworkProfileResponse): NetworkProfileResponse { + return { + ...val, + vnetCidr: (val.vnetCidr) ?? "10.0.0.0/8", + }; + } + + /** + * Defines further properties on the API. + */ + export interface OpenShiftAPIPropertiesResponse { + /** + * Specifies if API server is public or private. + */ + privateApiServer?: boolean; + } + + /** + * Defines the Identity provider for MS AAD. + */ + export interface OpenShiftManagedClusterAADIdentityProviderResponse { + /** + * The clientId password associated with the provider. + */ + clientId?: string; + /** + * The groupId to be granted cluster admin role. + */ + customerAdminGroupId?: string; + /** + * The kind of the provider. + * Expected value is 'AADIdentityProvider'. + */ + kind: "AADIdentityProvider"; + /** + * The secret password associated with the provider. + */ + secret?: string; + /** + * The tenantId associated with the provider. + */ + tenantId?: string; + } + + /** + * Defines the configuration of the OpenShift cluster VMs. + */ + export interface OpenShiftManagedClusterAgentPoolProfileResponse { + /** + * Number of agents (VMs) to host docker containers. + */ + count: number; + /** + * Unique name of the pool profile in the context of the subscription and resource group. + */ + name: string; + /** + * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. + */ + osType?: string; + /** + * Define the role of the AgentPoolProfile. + */ + role?: string; + /** + * Subnet CIDR for the peering. + */ + subnetCidr?: string; + /** + * Size of agent VMs. + */ + vmSize: string; + } + /** + * openShiftManagedClusterAgentPoolProfileResponseProvideDefaults sets the appropriate defaults for OpenShiftManagedClusterAgentPoolProfileResponse + */ + export function openShiftManagedClusterAgentPoolProfileResponseProvideDefaults(val: OpenShiftManagedClusterAgentPoolProfileResponse): OpenShiftManagedClusterAgentPoolProfileResponse { + return { + ...val, + subnetCidr: (val.subnetCidr) ?? "10.0.0.0/24", + }; + } + + /** + * Defines all possible authentication profiles for the OpenShift cluster. + */ + export interface OpenShiftManagedClusterAuthProfileResponse { + /** + * Type of authentication profile to use. + */ + identityProviders?: outputs.containerservice.OpenShiftManagedClusterIdentityProviderResponse[]; + } + + /** + * Defines the configuration of the identity providers to be used in the OpenShift cluster. + */ + export interface OpenShiftManagedClusterIdentityProviderResponse { + /** + * Name of the provider. + */ + name?: string; + /** + * Configuration of the provider. + */ + provider?: outputs.containerservice.OpenShiftManagedClusterAADIdentityProviderResponse; + } + + /** + * OpenShiftManagedClusterMaterPoolProfile contains configuration for OpenShift master VMs. + */ + export interface OpenShiftManagedClusterMasterPoolProfileResponse { + /** + * Defines further properties on the API. + */ + apiProperties?: outputs.containerservice.OpenShiftAPIPropertiesResponse; + /** + * Number of masters (VMs) to host docker containers. The default value is 3. + */ + count: number; + /** + * Subnet CIDR for the peering. + */ + subnetCidr?: string; + /** + * Size of agent VMs. + */ + vmSize: string; + } + + /** + * Defines the configuration for Log Analytics integration. + */ + export interface OpenShiftManagedClusterMonitorProfileResponse { + /** + * If the Log analytics integration should be turned on or off + */ + enabled?: boolean; + /** + * Azure Resource Manager Resource ID for the Log Analytics workspace to integrate with. + */ + workspaceResourceID?: string; + } + + /** + * Represents an OpenShift router + */ + export interface OpenShiftRouterProfileResponse { + /** + * Auto-allocated FQDN for the OpenShift router. + */ + fqdn: string; + /** + * Name of the router profile. + */ + name?: string; + /** + * DNS subdomain for OpenShift router. + */ + publicSubdomain: string; + } + + /** + * Describes the Power State of the cluster + */ + export interface PowerStateResponse { + /** + * Tells whether the cluster is Running or Stopped + */ + code?: string; + } + + /** + * Private endpoint which a connection belongs to. + */ + export interface PrivateEndpointResponse { + /** + * The resource ID of the private endpoint + */ + id?: string; + } + + /** + * A private link resource + */ + export interface PrivateLinkResourceResponse { + /** + * The group ID of the resource. + */ + groupId?: string; + /** + * The ID of the private link resource. + */ + id?: string; + /** + * The name of the private link resource. + */ + name?: string; + /** + * The private link service ID of the resource, this field is exposed only to NRP internally. + */ + privateLinkServiceID: string; + /** + * The RequiredMembers of the resource + */ + requiredMembers?: string[]; + /** + * The resource type. + */ + type?: string; + } + + /** + * The state of a private link service connection. + */ + export interface PrivateLinkServiceConnectionStateResponse { + /** + * The private link service connection description. + */ + description?: string; + /** + * The private link service connection status. + */ + status?: string; + } + + /** + * Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + */ + export interface PurchasePlanResponse { + /** + * The plan ID. + */ + name?: string; + /** + * Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + */ + product?: string; + /** + * The promotion code. + */ + promotionCode?: string; + /** + * The plan ID. + */ + publisher?: string; + } + + /** + * A reference to an Azure resource. + */ + export interface ResourceReferenceResponse { + /** + * The fully qualified Azure resource id. + */ + id?: string; + } + + /** + * Sysctl settings for Linux agent nodes. + */ + export interface SysctlConfigResponse { + /** + * Sysctl setting fs.aio-max-nr. + */ + fsAioMaxNr?: number; + /** + * Sysctl setting fs.file-max. + */ + fsFileMax?: number; + /** + * Sysctl setting fs.inotify.max_user_watches. + */ + fsInotifyMaxUserWatches?: number; + /** + * Sysctl setting fs.nr_open. + */ + fsNrOpen?: number; + /** + * Sysctl setting kernel.threads-max. + */ + kernelThreadsMax?: number; + /** + * Sysctl setting net.core.netdev_max_backlog. + */ + netCoreNetdevMaxBacklog?: number; + /** + * Sysctl setting net.core.optmem_max. + */ + netCoreOptmemMax?: number; + /** + * Sysctl setting net.core.rmem_default. + */ + netCoreRmemDefault?: number; + /** + * Sysctl setting net.core.rmem_max. + */ + netCoreRmemMax?: number; + /** + * Sysctl setting net.core.somaxconn. + */ + netCoreSomaxconn?: number; + /** + * Sysctl setting net.core.wmem_default. + */ + netCoreWmemDefault?: number; + /** + * Sysctl setting net.core.wmem_max. + */ + netCoreWmemMax?: number; + /** + * Sysctl setting net.ipv4.ip_local_port_range. + */ + netIpv4IpLocalPortRange?: string; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + */ + netIpv4NeighDefaultGcThresh1?: number; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + */ + netIpv4NeighDefaultGcThresh2?: number; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + */ + netIpv4NeighDefaultGcThresh3?: number; + /** + * Sysctl setting net.ipv4.tcp_fin_timeout. + */ + netIpv4TcpFinTimeout?: number; + /** + * Sysctl setting net.ipv4.tcp_keepalive_probes. + */ + netIpv4TcpKeepaliveProbes?: number; + /** + * Sysctl setting net.ipv4.tcp_keepalive_time. + */ + netIpv4TcpKeepaliveTime?: number; + /** + * Sysctl setting net.ipv4.tcp_max_syn_backlog. + */ + netIpv4TcpMaxSynBacklog?: number; + /** + * Sysctl setting net.ipv4.tcp_max_tw_buckets. + */ + netIpv4TcpMaxTwBuckets?: number; + /** + * Sysctl setting net.ipv4.tcp_tw_reuse. + */ + netIpv4TcpTwReuse?: boolean; + /** + * Sysctl setting net.ipv4.tcp_keepalive_intvl. + */ + netIpv4TcpkeepaliveIntvl?: number; + /** + * Sysctl setting net.netfilter.nf_conntrack_buckets. + */ + netNetfilterNfConntrackBuckets?: number; + /** + * Sysctl setting net.netfilter.nf_conntrack_max. + */ + netNetfilterNfConntrackMax?: number; + /** + * Sysctl setting vm.max_map_count. + */ + vmMaxMapCount?: number; + /** + * Sysctl setting vm.swappiness. + */ + vmSwappiness?: number; + /** + * Sysctl setting vm.vfs_cache_pressure. + */ + vmVfsCachePressure?: number; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + /** + * Time in a week. + */ + export interface TimeInWeekResponse { + /** + * The day of the week. + */ + day?: string; + /** + * Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + */ + hourSlots?: number[]; + } + + /** + * For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + */ + export interface TimeSpanResponse { + /** + * The end of a time span + */ + end?: string; + /** + * The start of a time span + */ + start?: string; + } + + /** + * A group to be updated. + */ + export interface UpdateGroupResponse { + /** + * The name of the Fleet member group to update. + * It should match the name of an existing FleetMember group. + * A group can only appear once across all UpdateStages in the UpdateRun. + */ + name: string; + } + + /** + * The status of a UpdateGroup. + */ + export interface UpdateGroupStatusResponse { + /** + * The list of member this UpdateGroup updates. + */ + members: outputs.containerservice.MemberUpdateStatusResponse[]; + /** + * The name of the UpdateGroup. + */ + name: string; + /** + * The status of the UpdateGroup. + */ + status: outputs.containerservice.UpdateStatusResponse; + } + + /** + * The status of a UpdateRun. + */ + export interface UpdateRunStatusResponse { + /** + * The stages composing an update run. Stages are run sequentially withing an UpdateRun. + */ + stages: outputs.containerservice.UpdateStageStatusResponse[]; + /** + * The status of the UpdateRun. + */ + status: outputs.containerservice.UpdateStatusResponse; + } + + /** + * The UpdateRunStrategy configures the sequence of Stages and Groups in which the clusters will be updated. + */ + export interface UpdateRunStrategyResponse { + /** + * The list of stages that compose this update run. + */ + stages: outputs.containerservice.UpdateStageResponse[]; + } + + /** + * Contains the groups to be updated by an UpdateRun. + * Update order: + * - Sequential between stages: Stages run sequentially. The previous stage must complete before the next one starts. + * - Parallel within a stage: Groups within a stage run in parallel. + * - Sequential within a group: Clusters within a group are updated sequentially. + */ + export interface UpdateStageResponse { + /** + * The time in seconds to wait at the end of this stage before starting the next one. Defaults to 0 seconds if unspecified. + */ + afterStageWaitInSeconds?: number; + /** + * A list of group names that compose the stage. + * The groups will be updated in parallel. Each group name can only appear once in the UpdateRun. + */ + groups?: outputs.containerservice.UpdateGroupResponse[]; + /** + * The name of the stage. Must be unique within the UpdateRun. + */ + name: string; + } + + /** + * The status of a UpdateStage. + */ + export interface UpdateStageStatusResponse { + /** + * The status of the wait period configured on the UpdateStage. + */ + afterStageWaitStatus: outputs.containerservice.WaitStatusResponse; + /** + * The list of groups to be updated as part of this UpdateStage. + */ + groups: outputs.containerservice.UpdateGroupStatusResponse[]; + /** + * The name of the UpdateStage. + */ + name: string; + /** + * The status of the UpdateStage. + */ + status: outputs.containerservice.UpdateStatusResponse; + } + + /** + * The status for an operation or group of operations. + */ + export interface UpdateStatusResponse { + /** + * The time the operation or group was completed. + */ + completedTime: string; + /** + * The error details when a failure is encountered. + */ + error: outputs.containerservice.ErrorDetailResponse; + /** + * The time the operation or group was started. + */ + startTime: string; + /** + * The State of the operation or group. + */ + state: string; + } + + /** + * Details about a user assigned identity. + */ + export interface UserAssignedIdentityResponse { + /** + * The client ID of the user assigned identity. + */ + clientId?: string; + /** + * The object ID of the user assigned identity. + */ + objectId?: string; + /** + * The resource ID of the user assigned identity. + */ + resourceId?: string; + } + + /** + * The status of the wait duration. + */ + export interface WaitStatusResponse { + /** + * The status of the wait duration. + */ + status: outputs.containerservice.UpdateStatusResponse; + /** + * The wait duration configured in seconds. + */ + waitDurationInSeconds: number; + } + + /** + * Windows gMSA Profile in the managed cluster. + */ + export interface WindowsGmsaProfileResponse { + /** + * Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + dnsServer?: string; + /** + * Specifies whether to enable Windows gMSA in the managed cluster. + */ + enabled?: boolean; + /** + * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + rootDomainName?: string; + } + + export namespace v20190601 { + /** + * Profile for Linux VMs in the container service cluster. + */ + export interface ContainerServiceLinuxProfileResponse { /** - * Specifies the number of months between each set of occurrences. + * The administrator username to use for Linux VMs. */ - intervalMonths: number; + adminUsername: string; /** - * Specifies on which week of the month the dayOfWeek applies. + * SSH configuration for Linux-based VMs running on Azure. */ - weekIndex: string; + ssh: outputs.containerservice.v20190601.ContainerServiceSshConfigurationResponse; } /** - * A reference to an Azure resource. + * Profile of network configuration. */ - export interface ResourceReferenceResponse { + export interface ContainerServiceNetworkProfileResponse { /** - * The fully qualified Azure resource id. + * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. */ - id?: string; - } - - /** - * One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. - */ - export interface ScheduleResponse { + dnsServiceIP?: string; /** - * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + * A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range. */ - absoluteMonthly?: outputs.containerservice.v20230601.AbsoluteMonthlyScheduleResponse; + dockerBridgeCidr?: string; /** - * For schedules like: 'recur every day' or 'recur every 3 days'. + * The load balancer sku for the managed cluster. */ - daily?: outputs.containerservice.v20230601.DailyScheduleResponse; + loadBalancerSku?: string; /** - * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + * Network plugin used for building Kubernetes network. */ - relativeMonthly?: outputs.containerservice.v20230601.RelativeMonthlyScheduleResponse; + networkPlugin?: string; /** - * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + * Network policy used for building Kubernetes network. */ - weekly?: outputs.containerservice.v20230601.WeeklyScheduleResponse; + networkPolicy?: string; + /** + * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + */ + podCidr?: string; + /** + * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + */ + serviceCidr?: string; + } + /** + * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse + */ + export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { + return { + ...val, + dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", + dockerBridgeCidr: (val.dockerBridgeCidr) ?? "172.17.0.1/16", + networkPlugin: (val.networkPlugin) ?? "kubenet", + podCidr: (val.podCidr) ?? "10.244.0.0/16", + serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", + }; } /** - * Sysctl settings for Linux agent nodes. + * SSH configuration for Linux-based VMs running on Azure. */ - export interface SysctlConfigResponse { + export interface ContainerServiceSshConfigurationResponse { /** - * Sysctl setting fs.aio-max-nr. + * The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified. */ - fsAioMaxNr?: number; + publicKeys: outputs.containerservice.v20190601.ContainerServiceSshPublicKeyResponse[]; + } + + /** + * Contains information about SSH certificate public key data. + */ + export interface ContainerServiceSshPublicKeyResponse { /** - * Sysctl setting fs.file-max. + * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. */ - fsFileMax?: number; + keyData: string; + } + + /** + * The credential result response. + */ + export interface CredentialResultResponse { /** - * Sysctl setting fs.inotify.max_user_watches. + * The name of the credential. */ - fsInotifyMaxUserWatches?: number; + name: string; /** - * Sysctl setting fs.nr_open. + * Base64-encoded Kubernetes configuration file. */ - fsNrOpen?: number; + value: string; + } + + /** + * AADProfile specifies attributes for Azure Active Directory integration. + */ + export interface ManagedClusterAADProfileResponse { /** - * Sysctl setting kernel.threads-max. + * The client AAD application ID. */ - kernelThreadsMax?: number; + clientAppID: string; /** - * Sysctl setting net.core.netdev_max_backlog. + * The server AAD application ID. */ - netCoreNetdevMaxBacklog?: number; + serverAppID: string; /** - * Sysctl setting net.core.optmem_max. + * The server AAD application secret. */ - netCoreOptmemMax?: number; + serverAppSecret?: string; /** - * Sysctl setting net.core.rmem_default. + * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. */ - netCoreRmemDefault?: number; + tenantID?: string; + } + + /** + * A Kubernetes add-on profile for a managed cluster. + */ + export interface ManagedClusterAddonProfileResponse { /** - * Sysctl setting net.core.rmem_max. + * Key-value pairs for configuring an add-on. */ - netCoreRmemMax?: number; + config?: {[key: string]: string}; /** - * Sysctl setting net.core.somaxconn. + * Whether the add-on is enabled or not. */ - netCoreSomaxconn?: number; + enabled: boolean; + } + + /** + * Profile for the container service agent pool. + */ + export interface ManagedClusterAgentPoolProfileResponse { /** - * Sysctl setting net.core.wmem_default. + * (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. */ - netCoreWmemDefault?: number; + availabilityZones?: string[]; /** - * Sysctl setting net.core.wmem_max. + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. */ - netCoreWmemMax?: number; + count?: number; /** - * Sysctl setting net.ipv4.ip_local_port_range. + * Whether to enable auto-scaler */ - netIpv4IpLocalPortRange?: string; + enableAutoScaling?: boolean; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + * Enable public IP for nodes */ - netIpv4NeighDefaultGcThresh1?: number; + enableNodePublicIP?: boolean; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + * Maximum number of nodes for auto-scaling */ - netIpv4NeighDefaultGcThresh2?: number; + maxCount?: number; /** - * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + * Maximum number of pods that can run on a node. */ - netIpv4NeighDefaultGcThresh3?: number; + maxPods?: number; /** - * Sysctl setting net.ipv4.tcp_fin_timeout. + * Minimum number of nodes for auto-scaling */ - netIpv4TcpFinTimeout?: number; + minCount?: number; /** - * Sysctl setting net.ipv4.tcp_keepalive_probes. + * Unique name of the agent pool profile in the context of the subscription and resource group. */ - netIpv4TcpKeepaliveProbes?: number; + name: string; /** - * Sysctl setting net.ipv4.tcp_keepalive_time. + * Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */ - netIpv4TcpKeepaliveTime?: number; + nodeTaints?: string[]; /** - * Sysctl setting net.ipv4.tcp_max_syn_backlog. + * Version of orchestrator specified when creating the managed cluster. */ - netIpv4TcpMaxSynBacklog?: number; + orchestratorVersion?: string; /** - * Sysctl setting net.ipv4.tcp_max_tw_buckets. + * OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. */ - netIpv4TcpMaxTwBuckets?: number; + osDiskSizeGB?: number; /** - * Sysctl setting net.ipv4.tcp_tw_reuse. + * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. */ - netIpv4TcpTwReuse?: boolean; + osType?: string; /** - * Sysctl setting net.ipv4.tcp_keepalive_intvl. + * The current deployment or provisioning state, which only appears in the response. */ - netIpv4TcpkeepaliveIntvl?: number; + provisioningState: string; /** - * Sysctl setting net.netfilter.nf_conntrack_buckets. + * ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. */ - netNetfilterNfConntrackBuckets?: number; + scaleSetEvictionPolicy?: string; /** - * Sysctl setting net.netfilter.nf_conntrack_max. + * ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. */ - netNetfilterNfConntrackMax?: number; + scaleSetPriority?: string; /** - * Sysctl setting vm.max_map_count. + * AgentPoolType represents types of an agent pool */ - vmMaxMapCount?: number; + type?: string; /** - * Sysctl setting vm.swappiness. + * Size of agent VMs. */ - vmSwappiness?: number; + vmSize?: string; /** - * Sysctl setting vm.vfs_cache_pressure. + * VNet SubnetID specifies the VNet's subnet identifier. */ - vmVfsCachePressure?: number; + vnetSubnetID?: string; } /** - * Metadata pertaining to creation and last modification of the resource. + * Identity for the managed cluster. */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; - /** - * The type of identity that created the resource. - */ - createdByType?: string; + export interface ManagedClusterIdentityResponse { /** - * The timestamp of resource last modification (UTC) + * The principal id of the system assigned identity which is used by master components. */ - lastModifiedAt?: string; + principalId: string; /** - * The identity that last modified the resource. + * The tenant id of the system assigned identity which is used by master components. */ - lastModifiedBy?: string; + tenantId: string; /** - * The type of identity that last modified the resource. + * The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead. */ - lastModifiedByType?: string; + type?: string; } /** - * Time in a week. + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. */ - export interface TimeInWeekResponse { + export interface ManagedClusterServicePrincipalProfileResponse { /** - * The day of the week. + * The ID for the service principal. */ - day?: string; + clientId: string; /** - * Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + * The secret password associated with the service principal in plain text. */ - hourSlots?: number[]; + secret?: string; } /** - * For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + * Profile for Windows VMs in the container service cluster. */ - export interface TimeSpanResponse { + export interface ManagedClusterWindowsProfileResponse { /** - * The end of a time span + * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" */ - end?: string; + adminPassword?: string; /** - * The start of a time span + * Specifies the name of the administrator account.

**restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters */ - start?: string; + adminUsername: string; } + } + + export namespace v20191027preview { /** - * Details about a user assigned identity. + * Represents the OpenShift networking configuration */ - export interface UserAssignedIdentityResponse { + export interface NetworkProfileResponse { /** - * The client ID of the user assigned identity. + * CIDR of subnet used to create PLS needed for management of the cluster */ - clientId?: string; + managementSubnetCidr?: string; /** - * The object ID of the user assigned identity. + * CIDR for the OpenShift Vnet. */ - objectId?: string; + vnetCidr?: string; /** - * The resource ID of the user assigned identity. + * ID of the Vnet created for OSA cluster. */ - resourceId?: string; + vnetId?: string; + } + /** + * networkProfileResponseProvideDefaults sets the appropriate defaults for NetworkProfileResponse + */ + export function networkProfileResponseProvideDefaults(val: NetworkProfileResponse): NetworkProfileResponse { + return { + ...val, + vnetCidr: (val.vnetCidr) ?? "10.0.0.0/8", + }; } /** - * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + * Defines further properties on the API. */ - export interface WeeklyScheduleResponse { - /** - * Specifies on which day of the week the maintenance occurs. - */ - dayOfWeek: string; + export interface OpenShiftAPIPropertiesResponse { /** - * Specifies the number of weeks between each set of occurrences. + * Specifies if API server is public or private. */ - intervalWeeks: number; + privateApiServer?: boolean; } /** - * Windows gMSA Profile in the managed cluster. + * Defines the Identity provider for MS AAD. */ - export interface WindowsGmsaProfileResponse { + export interface OpenShiftManagedClusterAADIdentityProviderResponse { /** - * Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + * The clientId password associated with the provider. */ - dnsServer?: string; + clientId?: string; /** - * Specifies whether to enable Windows gMSA in the managed cluster. + * The groupId to be granted cluster admin role. */ - enabled?: boolean; + customerAdminGroupId?: string; /** - * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + * The kind of the provider. + * Expected value is 'AADIdentityProvider'. */ - rootDomainName?: string; - } - - } - - export namespace v20230602preview { - /** - * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. - */ - export interface AbsoluteMonthlyScheduleResponse { + kind: "AADIdentityProvider"; /** - * The date of the month. + * The secret password associated with the provider. */ - dayOfMonth: number; + secret?: string; /** - * Specifies the number of months between each set of occurrences. + * The tenantId associated with the provider. */ - intervalMonths: number; + tenantId?: string; } /** - * Network settings of an agent pool. + * Defines the configuration of the OpenShift cluster VMs. */ - export interface AgentPoolNetworkProfileResponse { + export interface OpenShiftManagedClusterAgentPoolProfileResponse { /** - * The port ranges that are allowed to access. The specified ranges are allowed to overlap. + * Number of agents (VMs) to host docker containers. */ - allowedHostPorts?: outputs.containerservice.v20230602preview.PortRangeResponse[]; + count: number; /** - * The IDs of the application security groups which agent pool will associate when created. + * Unique name of the pool profile in the context of the subscription and resource group. */ - applicationSecurityGroups?: string[]; + name: string; /** - * IPTags of instance-level public IPs. + * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. */ - nodePublicIPTags?: outputs.containerservice.v20230602preview.IPTagResponse[]; + osType?: string; + /** + * Define the role of the AgentPoolProfile. + */ + role?: string; + /** + * Subnet CIDR for the peering. + */ + subnetCidr?: string; + /** + * Size of agent VMs. + */ + vmSize: string; } - /** - * The security settings of an agent pool. + * openShiftManagedClusterAgentPoolProfileResponseProvideDefaults sets the appropriate defaults for OpenShiftManagedClusterAgentPoolProfileResponse */ - export interface AgentPoolSecurityProfileResponse { - /** - * SSH access method of an agent pool. - */ - sshAccess?: string; + export function openShiftManagedClusterAgentPoolProfileResponseProvideDefaults(val: OpenShiftManagedClusterAgentPoolProfileResponse): OpenShiftManagedClusterAgentPoolProfileResponse { + return { + ...val, + subnetCidr: (val.subnetCidr) ?? "10.0.0.0/24", + }; } /** - * Settings for upgrading an agentpool + * Defines all possible authentication profiles for the OpenShift cluster. */ - export interface AgentPoolUpgradeSettingsResponse { - /** - * The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. - */ - drainTimeoutInMinutes?: number; + export interface OpenShiftManagedClusterAuthProfileResponse { /** - * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + * Type of authentication profile to use. */ - maxSurge?: string; + identityProviders?: outputs.containerservice.v20191027preview.OpenShiftManagedClusterIdentityProviderResponse[]; } /** - * The Windows agent pool's specific profile. + * Defines the configuration of the identity providers to be used in the OpenShift cluster. */ - export interface AgentPoolWindowsProfileResponse { + export interface OpenShiftManagedClusterIdentityProviderResponse { /** - * The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled. + * Name of the provider. */ - disableOutboundNat?: boolean; + name?: string; + /** + * Configuration of the provider. + */ + provider?: outputs.containerservice.v20191027preview.OpenShiftManagedClusterAADIdentityProviderResponse; } /** - * Azure Key Vault key management service settings for the security profile. + * OpenShiftManagedClusterMaterPoolProfile contains configuration for OpenShift master VMs. */ - export interface AzureKeyVaultKmsResponse { + export interface OpenShiftManagedClusterMasterPoolProfileResponse { /** - * Whether to enable Azure Key Vault key management service. The default is false. + * Defines further properties on the API. */ - enabled?: boolean; + apiProperties?: outputs.containerservice.v20191027preview.OpenShiftAPIPropertiesResponse; /** - * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + * Number of masters (VMs) to host docker containers. The default value is 3. */ - keyId?: string; + count: number; /** - * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + * Subnet CIDR for the peering. */ - keyVaultNetworkAccess?: string; + subnetCidr?: string; /** - * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + * Size of agent VMs. */ - keyVaultResourceId?: string; + vmSize: string; } + /** - * azureKeyVaultKmsResponseProvideDefaults sets the appropriate defaults for AzureKeyVaultKmsResponse + * Defines the configuration for Log Analytics integration. */ - export function azureKeyVaultKmsResponseProvideDefaults(val: AzureKeyVaultKmsResponse): AzureKeyVaultKmsResponse { - return { - ...val, - keyVaultNetworkAccess: (val.keyVaultNetworkAccess) ?? "Public", - }; + export interface OpenShiftManagedClusterMonitorProfileResponse { + /** + * If the Log analytics integration should be turned on or off + */ + enabled?: boolean; + /** + * Azure Resource Manager Resource ID for the Log Analytics workspace to integrate with. + */ + workspaceResourceID?: string; } /** - * Settings for upgrading a cluster. + * Represents an OpenShift router */ - export interface ClusterUpgradeSettingsResponse { + export interface OpenShiftRouterProfileResponse { /** - * Settings for overrides. + * Auto-allocated FQDN for the OpenShift router. */ - overrideSettings?: outputs.containerservice.v20230602preview.UpgradeOverrideSettingsResponse; + fqdn: string; + /** + * Name of the router profile. + */ + name?: string; + /** + * DNS subdomain for OpenShift router. + */ + publicSubdomain: string; } /** - * Profile for Linux VMs in the container service cluster. + * Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. */ - export interface ContainerServiceLinuxProfileResponse { + export interface PurchasePlanResponse { /** - * The administrator username to use for Linux VMs. + * The plan ID. */ - adminUsername: string; + name?: string; /** - * The SSH configuration for Linux-based VMs running on Azure. + * Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. */ - ssh: outputs.containerservice.v20230602preview.ContainerServiceSshConfigurationResponse; + product?: string; + /** + * The promotion code. + */ + promotionCode?: string; + /** + * The plan ID. + */ + publisher?: string; } + } + + export namespace v20200601 { /** - * Profile of network configuration. + * Settings for upgrading an agentpool */ - export interface ContainerServiceNetworkProfileResponse { + export interface AgentPoolUpgradeSettingsResponse { /** - * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + * Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default */ - dnsServiceIP?: string; + maxSurge?: string; + } + + } + + export namespace v20210201 { + /** + * Settings for upgrading an agentpool + */ + export interface AgentPoolUpgradeSettingsResponse { /** - * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + * Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default */ - ipFamilies?: string[]; + maxSurge?: string; + } + + /** + * Kubelet configurations of agent nodes. + */ + export interface KubeletConfigResponse { /** - * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + * Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in `*`). */ - kubeProxyConfig?: outputs.containerservice.v20230602preview.ContainerServiceNetworkProfileResponseKubeProxyConfig; + allowedUnsafeSysctls?: string[]; /** - * Profile of the cluster load balancer. + * The maximum number of container log files that can be present for a container. The number must be ≥ 2. */ - loadBalancerProfile?: outputs.containerservice.v20230602preview.ManagedClusterLoadBalancerProfileResponse; + containerLogMaxFiles?: number; /** - * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + * The maximum size (e.g. 10Mi) of container log file before it is rotated. */ - loadBalancerSku?: string; + containerLogMaxSizeMB?: number; /** - * This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format + * Enable CPU CFS quota enforcement for containers that specify CPU limits. */ - monitoring?: outputs.containerservice.v20230602preview.NetworkMonitoringResponse; + cpuCfsQuota?: boolean; /** - * Profile of the cluster NAT gateway. + * Sets CPU CFS quota period value. */ - natGatewayProfile?: outputs.containerservice.v20230602preview.ManagedClusterNATGatewayProfileResponse; + cpuCfsQuotaPeriod?: string; /** - * Network dataplane used in the Kubernetes cluster. + * CPU Manager policy to use. */ - networkDataplane?: string; + cpuManagerPolicy?: string; /** - * This cannot be specified if networkPlugin is anything other than 'azure'. + * If set to true it will make the Kubelet fail to start if swap is enabled on the node. */ - networkMode?: string; + failSwapOn?: boolean; /** - * Network plugin used for building the Kubernetes network. + * The percent of disk usage after which image garbage collection is always run. */ - networkPlugin?: string; + imageGcHighThreshold?: number; /** - * Network plugin mode used for building the Kubernetes network. + * The percent of disk usage before which image garbage collection is never run. */ - networkPluginMode?: string; + imageGcLowThreshold?: number; /** - * Network policy used for building the Kubernetes network. + * The maximum number of processes per pod. */ - networkPolicy?: string; + podMaxPids?: number; /** - * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + * Topology Manager policy to use. */ - outboundType?: string; + topologyManagerPolicy?: string; + } + + /** + * OS configurations of Linux agent nodes. + */ + export interface LinuxOSConfigResponse { /** - * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + * SwapFileSizeMB specifies size in MB of a swap file will be created on each node. */ - podCidr?: string; + swapFileSizeMB?: number; /** - * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + * Sysctl settings for Linux agent nodes. */ - podCidrs?: string[]; + sysctls?: outputs.containerservice.v20210201.SysctlConfigResponse; /** - * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + * Transparent Huge Page defrag configuration. */ - serviceCidr?: string; + transparentHugePageDefrag?: string; /** - * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + * Transparent Huge Page enabled configuration. */ - serviceCidrs?: string[]; + transparentHugePageEnabled?: string; } + /** - * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse + * Describes the Power State of the cluster */ - export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { - return { - ...val, - dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", - loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.v20230602preview.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), - natGatewayProfile: (val.natGatewayProfile ? outputs.containerservice.v20230602preview.managedClusterNATGatewayProfileResponseProvideDefaults(val.natGatewayProfile) : undefined), - outboundType: (val.outboundType) ?? "loadBalancer", - podCidr: (val.podCidr) ?? "10.244.0.0/16", - serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", - }; + export interface PowerStateResponse { + /** + * Tells whether the cluster is Running or Stopped + */ + code?: string; } /** - * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + * Sysctl settings for Linux agent nodes. */ - export interface ContainerServiceNetworkProfileResponseIpvsConfig { + export interface SysctlConfigResponse { /** - * IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. + * Sysctl setting fs.aio-max-nr. */ - scheduler?: string; + fsAioMaxNr?: number; /** - * The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value. + * Sysctl setting fs.file-max. */ - tcpFinTimeoutSeconds?: number; + fsFileMax?: number; /** - * The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. + * Sysctl setting fs.inotify.max_user_watches. */ - tcpTimeoutSeconds?: number; + fsInotifyMaxUserWatches?: number; /** - * The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. + * Sysctl setting fs.nr_open. */ - udpTimeoutSeconds?: number; - } - - /** - * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. - */ - export interface ContainerServiceNetworkProfileResponseKubeProxyConfig { + fsNrOpen?: number; /** - * Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations). + * Sysctl setting kernel.threads-max. */ - enabled?: boolean; + kernelThreadsMax?: number; /** - * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + * Sysctl setting net.core.netdev_max_backlog. */ - ipvsConfig?: outputs.containerservice.v20230602preview.ContainerServiceNetworkProfileResponseIpvsConfig; + netCoreNetdevMaxBacklog?: number; /** - * Specify which proxy mode to use ('IPTABLES' or 'IPVS') + * Sysctl setting net.core.optmem_max. */ - mode?: string; - } - - /** - * SSH configuration for Linux-based VMs running on Azure. - */ - export interface ContainerServiceSshConfigurationResponse { + netCoreOptmemMax?: number; /** - * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + * Sysctl setting net.core.rmem_default. */ - publicKeys: outputs.containerservice.v20230602preview.ContainerServiceSshPublicKeyResponse[]; - } - - /** - * Contains information about SSH certificate public key data. - */ - export interface ContainerServiceSshPublicKeyResponse { + netCoreRmemDefault?: number; /** - * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + * Sysctl setting net.core.rmem_max. */ - keyData: string; - } - - /** - * Data used when creating a target resource from a source resource. - */ - export interface CreationDataResponse { + netCoreRmemMax?: number; /** - * This is the ARM ID of the source object to be used to create the target object. + * Sysctl setting net.core.somaxconn. */ - sourceResourceId?: string; - } - - /** - * The credential result response. - */ - export interface CredentialResultResponse { + netCoreSomaxconn?: number; /** - * The name of the credential. + * Sysctl setting net.core.wmem_default. */ - name: string; + netCoreWmemDefault?: number; /** - * Base64-encoded Kubernetes configuration file. + * Sysctl setting net.core.wmem_max. */ - value: string; - } - - /** - * For schedules like: 'recur every day' or 'recur every 3 days'. - */ - export interface DailyScheduleResponse { + netCoreWmemMax?: number; /** - * Specifies the number of days between each set of occurrences. + * Sysctl setting net.ipv4.ip_local_port_range. */ - intervalDays: number; - } - - /** - * For example, between '2022-12-23' and '2023-01-05'. - */ - export interface DateSpanResponse { + netIpv4IpLocalPortRange?: string; /** - * The end date of the date span. + * Sysctl setting net.ipv4.neigh.default.gc_thresh1. */ - end: string; + netIpv4NeighDefaultGcThresh1?: number; /** - * The start date of the date span. + * Sysctl setting net.ipv4.neigh.default.gc_thresh2. */ - start: string; - } - - /** - * Delegated resource properties - internal use only. - */ - export interface DelegatedResourceResponse { + netIpv4NeighDefaultGcThresh2?: number; /** - * The source resource location - internal use only. + * Sysctl setting net.ipv4.neigh.default.gc_thresh3. */ - location?: string; + netIpv4NeighDefaultGcThresh3?: number; /** - * The delegation id of the referral delegation (optional) - internal use only. + * Sysctl setting net.ipv4.tcp_fin_timeout. */ - referralResource?: string; + netIpv4TcpFinTimeout?: number; /** - * The ARM resource id of the delegated resource - internal use only. + * Sysctl setting net.ipv4.tcp_keepalive_probes. */ - resourceId?: string; + netIpv4TcpKeepaliveProbes?: number; /** - * The tenant id of the delegated resource - internal use only. + * Sysctl setting net.ipv4.tcp_keepalive_time. */ - tenantId?: string; - } - - /** - * The complex type of the extended location. - */ - export interface ExtendedLocationResponse { + netIpv4TcpKeepaliveTime?: number; /** - * The name of the extended location. + * Sysctl setting net.ipv4.tcp_max_syn_backlog. */ - name?: string; + netIpv4TcpMaxSynBacklog?: number; /** - * The type of the extended location. + * Sysctl setting net.ipv4.tcp_max_tw_buckets. */ - type?: string; - } - - /** - * The Guardrails profile. - */ - export interface GuardrailsProfileResponse { + netIpv4TcpMaxTwBuckets?: number; /** - * List of namespaces excluded from guardrails checks + * Sysctl setting net.ipv4.tcp_tw_reuse. */ - excludedNamespaces?: string[]; + netIpv4TcpTwReuse?: boolean; /** - * The guardrails level to be used. By default, Guardrails is enabled for all namespaces except those that AKS excludes via systemExcludedNamespaces + * Sysctl setting net.ipv4.tcp_keepalive_intvl. */ - level: string; + netIpv4TcpkeepaliveIntvl?: number; /** - * List of namespaces specified by AKS to be excluded from Guardrails + * Sysctl setting net.netfilter.nf_conntrack_buckets. */ - systemExcludedNamespaces: string[]; + netNetfilterNfConntrackBuckets?: number; /** - * The version of constraints to use + * Sysctl setting net.netfilter.nf_conntrack_max. */ - version: string; - } - - /** - * Contains the IPTag associated with the object. - */ - export interface IPTagResponse { + netNetfilterNfConntrackMax?: number; /** - * The IP tag type. Example: RoutingPreference. + * Sysctl setting vm.max_map_count. */ - ipTagType?: string; + vmMaxMapCount?: number; /** - * The value of the IP tag associated with the public IP. Example: Internet. + * Sysctl setting vm.swappiness. */ - tag?: string; - } - - /** - * Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca - */ - export interface IstioCertificateAuthorityResponse { + vmSwappiness?: number; /** - * Plugin certificates information for Service Mesh. + * Sysctl setting vm.vfs_cache_pressure. */ - plugin?: outputs.containerservice.v20230602preview.IstioPluginCertificateAuthorityResponse; + vmVfsCachePressure?: number; } + } + + export namespace v20210501 { /** - * Istio components configuration. + * Settings for upgrading an agentpool */ - export interface IstioComponentsResponse { + export interface AgentPoolUpgradeSettingsResponse { /** - * Istio ingress gateways. + * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade */ - ingressGateways?: outputs.containerservice.v20230602preview.IstioIngressGatewayResponse[]; + maxSurge?: string; } /** - * Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + * Profile for Linux VMs in the container service cluster. */ - export interface IstioIngressGatewayResponse { + export interface ContainerServiceLinuxProfileResponse { /** - * Whether to enable the ingress gateway. + * The administrator username to use for Linux VMs. */ - enabled: boolean; + adminUsername: string; /** - * Mode of an ingress gateway. + * The SSH configuration for Linux-based VMs running on Azure. */ - mode: string; + ssh: outputs.containerservice.v20210501.ContainerServiceSshConfigurationResponse; } /** - * Plugin certificates information for Service Mesh. + * Profile of network configuration. */ - export interface IstioPluginCertificateAuthorityResponse { + export interface ContainerServiceNetworkProfileResponse { /** - * Certificate chain object name in Azure Key Vault. + * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. */ - certChainObjectName?: string; + dnsServiceIP?: string; /** - * Intermediate certificate object name in Azure Key Vault. + * A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range. */ - certObjectName?: string; + dockerBridgeCidr?: string; /** - * Intermediate certificate private key object name in Azure Key Vault. + * Profile of the cluster load balancer. */ - keyObjectName?: string; + loadBalancerProfile?: outputs.containerservice.v20210501.ManagedClusterLoadBalancerProfileResponse; /** - * The resource ID of the Key Vault. + * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */ - keyVaultId?: string; + loadBalancerSku?: string; /** - * Root certificate object name in Azure Key Vault. + * This cannot be specified if networkPlugin is anything other than 'azure'. */ - rootCertObjectName?: string; + networkMode?: string; + /** + * Network plugin used for building the Kubernetes network. + */ + networkPlugin?: string; + /** + * Network policy used for building the Kubernetes network. + */ + networkPolicy?: string; + /** + * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + */ + outboundType?: string; + /** + * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + */ + podCidr?: string; + /** + * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + */ + serviceCidr?: string; + } + /** + * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse + */ + export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { + return { + ...val, + dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", + dockerBridgeCidr: (val.dockerBridgeCidr) ?? "172.17.0.1/16", + loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.v20210501.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), + networkPlugin: (val.networkPlugin) ?? "kubenet", + outboundType: (val.outboundType) ?? "loadBalancer", + podCidr: (val.podCidr) ?? "10.244.0.0/16", + serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", + }; } /** - * Istio service mesh configuration. + * SSH configuration for Linux-based VMs running on Azure. */ - export interface IstioServiceMeshResponse { + export interface ContainerServiceSshConfigurationResponse { /** - * Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca + * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */ - certificateAuthority?: outputs.containerservice.v20230602preview.IstioCertificateAuthorityResponse; + publicKeys: outputs.containerservice.v20210501.ContainerServiceSshPublicKeyResponse[]; + } + + /** + * Contains information about SSH certificate public key data. + */ + export interface ContainerServiceSshPublicKeyResponse { /** - * Istio components configuration. + * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. */ - components?: outputs.containerservice.v20230602preview.IstioComponentsResponse; + keyData: string; + } + + /** + * The credential result response. + */ + export interface CredentialResultResponse { /** - * The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + * The name of the credential. */ - revisions?: string[]; + name: string; + /** + * Base64-encoded Kubernetes configuration file. + */ + value: string; + } + + /** + * The complex type of the extended location. + */ + export interface ExtendedLocationResponse { + /** + * The name of the extended location. + */ + name?: string; + /** + * The type of the extended location. + */ + type?: string; } /** @@ -88109,7 +84809,7 @@ export namespace containerservice { /** * Sysctl settings for Linux agent nodes. */ - sysctls?: outputs.containerservice.v20230602preview.SysctlConfigResponse; + sysctls?: outputs.containerservice.v20210501.SysctlConfigResponse; /** * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ @@ -88120,45 +84820,6 @@ export namespace containerservice { transparentHugePageEnabled?: string; } - /** - * Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. - */ - export interface MaintenanceWindowResponse { - /** - * Length of maintenance window range from 4 to 24 hours. - */ - durationHours: number; - /** - * Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. - */ - notAllowedDates?: outputs.containerservice.v20230602preview.DateSpanResponse[]; - /** - * Recurrence schedule for the maintenance window. - */ - schedule: outputs.containerservice.v20230602preview.ScheduleResponse; - /** - * The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. - */ - startDate?: string; - /** - * The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. - */ - startTime: string; - /** - * The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. - */ - utcOffset?: string; - } - /** - * maintenanceWindowResponseProvideDefaults sets the appropriate defaults for MaintenanceWindowResponse - */ - export function maintenanceWindowResponseProvideDefaults(val: MaintenanceWindowResponse): MaintenanceWindowResponse { - return { - ...val, - durationHours: (val.durationHours) ?? 24, - }; - } - /** * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). */ @@ -88168,7 +84829,7 @@ export namespace containerservice { */ adminGroupObjectIDs?: string[]; /** - * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + * The client AAD application ID. */ clientAppID?: string; /** @@ -88180,11 +84841,11 @@ export namespace containerservice { */ managed?: boolean; /** - * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + * The server AAD application ID. */ serverAppID?: string; /** - * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + * The server AAD application secret. */ serverAppSecret?: string; /** @@ -88201,10 +84862,6 @@ export namespace containerservice { * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). */ authorizedIPRanges?: string[]; - /** - * Whether to disable run command for the cluster or not. - */ - disableRunCommand?: boolean; /** * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). */ @@ -88213,18 +84870,10 @@ export namespace containerservice { * Whether to create additional public FQDN for private cluster or not. */ enablePrivateClusterPublicFQDN?: boolean; - /** - * Whether to enable apiserver vnet integration for the cluster or not. - */ - enableVnetIntegration?: boolean; /** * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. */ privateDNSZone?: string; - /** - * It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration. - */ - subnetId?: string; } /** @@ -88242,7 +84891,7 @@ export namespace containerservice { /** * Information of user assigned identity used by this add-on. */ - identity: outputs.containerservice.v20230602preview.ManagedClusterAddonProfileResponseIdentity; + identity: outputs.containerservice.v20210501.ManagedClusterAddonProfileResponseIdentity; } /** @@ -88271,30 +84920,14 @@ export namespace containerservice { * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */ availabilityZones?: string[]; - /** - * AKS will associate the specified agent pool with the Capacity Reservation Group. - */ - capacityReservationGroupID?: string; /** * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */ count?: number; - /** - * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. - */ - creationData?: outputs.containerservice.v20230602preview.CreationDataResponse; - /** - * If orchestratorVersion was a fully specified version , this field will be exactly equal to it. If orchestratorVersion was , this field will contain the full version being used. - */ - currentOrchestratorVersion: string; /** * Whether to enable auto-scaler */ enableAutoScaling?: boolean; - /** - * When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded certificates into node trust stores. Defaults to false. - */ - enableCustomCATrust?: boolean; /** * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */ @@ -88315,14 +84948,10 @@ export namespace containerservice { * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */ gpuInstanceProfile?: string; - /** - * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - */ - hostGroupID?: string; /** * The Kubelet configuration on the agent pool nodes. */ - kubeletConfig?: outputs.containerservice.v20230602preview.KubeletConfigResponse; + kubeletConfig?: outputs.containerservice.v20210501.KubeletConfigResponse; /** * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */ @@ -88330,7 +84959,7 @@ export namespace containerservice { /** * The OS configuration of Linux agent nodes. */ - linuxOSConfig?: outputs.containerservice.v20230602preview.LinuxOSConfigResponse; + linuxOSConfig?: outputs.containerservice.v20210501.LinuxOSConfigResponse; /** * The maximum number of nodes for auto-scaling */ @@ -88339,10 +84968,6 @@ export namespace containerservice { * The maximum number of pods that can run on a node. */ maxPods?: number; - /** - * A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). - */ - messageOfTheDay?: string; /** * The minimum number of nodes for auto-scaling */ @@ -88355,10 +84980,6 @@ export namespace containerservice { * Windows agent pool names must be 6 characters or less. */ name: string; - /** - * Network-related settings of an agent pool. - */ - networkProfile?: outputs.containerservice.v20230602preview.AgentPoolNetworkProfileResponse; /** * The version of node image */ @@ -88376,7 +84997,7 @@ export namespace containerservice { */ nodeTaints?: string[]; /** - * Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + * As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ orchestratorVersion?: string; /** @@ -88388,7 +85009,7 @@ export namespace containerservice { */ osDiskType?: string; /** - * Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. + * Specifies an OS SKU. This value must not be specified if OSType is Windows. */ osSKU?: string; /** @@ -88400,9 +85021,9 @@ export namespace containerservice { */ podSubnetID?: string; /** - * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + * Describes whether the Agent Pool is Running or Stopped */ - powerState?: outputs.containerservice.v20230602preview.PowerStateResponse; + powerState: outputs.containerservice.v20210501.PowerStateResponse; /** * The current deployment or provisioning state. */ @@ -88411,10 +85032,6 @@ export namespace containerservice { * The ID for Proximity Placement Group. */ proximityPlacementGroupID?: string; - /** - * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. - */ - scaleDownMode?: string; /** * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. */ @@ -88423,10 +85040,6 @@ export namespace containerservice { * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. */ scaleSetPriority?: string; - /** - * The security settings of an agent pool. - */ - securityProfile?: outputs.containerservice.v20230602preview.AgentPoolSecurityProfileResponse; /** * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */ @@ -88442,7 +85055,7 @@ export namespace containerservice { /** * Settings for upgrading the agentpool */ - upgradeSettings?: outputs.containerservice.v20230602preview.AgentPoolUpgradeSettingsResponse; + upgradeSettings?: outputs.containerservice.v20210501.AgentPoolUpgradeSettingsResponse; /** * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */ @@ -88451,76 +85064,22 @@ export namespace containerservice { * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ vnetSubnetID?: string; - /** - * The Windows agent pool's specific profile. - */ - windowsProfile?: outputs.containerservice.v20230602preview.AgentPoolWindowsProfileResponse; - /** - * Determines the type of workload a node can run. - */ - workloadRuntime?: string; } /** * Auto upgrade profile for a managed cluster. */ export interface ManagedClusterAutoUpgradeProfileResponse { - /** - * The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. - */ - nodeOSUpgradeChannel?: string; /** * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */ upgradeChannel?: string; } - /** - * Kube State Metrics for prometheus addon profile for the container service cluster - */ - export interface ManagedClusterAzureMonitorProfileKubeStateMetricsResponse { - /** - * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. - */ - metricAnnotationsAllowList?: string; - /** - * Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels metric. - */ - metricLabelsAllowlist?: string; - } - - /** - * Metrics profile for the prometheus service addon - */ - export interface ManagedClusterAzureMonitorProfileMetricsResponse { - /** - * Whether to enable the Prometheus collector - */ - enabled: boolean; - /** - * Kube State Metrics for prometheus addon profile for the container service cluster - */ - kubeStateMetrics?: outputs.containerservice.v20230602preview.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse; - } - - /** - * Prometheus addon profile for the container service cluster - */ - export interface ManagedClusterAzureMonitorProfileResponse { - /** - * Metrics profile for the prometheus service addon - */ - metrics?: outputs.containerservice.v20230602preview.ManagedClusterAzureMonitorProfileMetricsResponse; - } - /** * Cluster HTTP proxy configuration. */ export interface ManagedClusterHTTPProxyConfigResponse { - /** - * A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a superset of noProxy and values injected by AKS. - */ - effectiveNoProxy: string[]; /** * The HTTP proxy server endpoint to use. */ @@ -88543,10 +85102,6 @@ export namespace containerservice { * Identity for the managed cluster. */ export interface ManagedClusterIdentityResponse { - /** - * The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. - */ - delegatedResources?: {[key: string]: outputs.containerservice.v20230602preview.DelegatedResourceResponse}; /** * The principal id of the system assigned identity which is used by master components. */ @@ -88562,7 +85117,7 @@ export namespace containerservice { /** * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ - userAssignedIdentities?: {[key: string]: outputs.containerservice.v20230602preview.ManagedClusterIdentityResponseUserAssignedIdentities}; + userAssignedIdentities?: {[key: string]: outputs.containerservice.v20210501.ManagedClusterIdentityResponseUserAssignedIdentities}; } export interface ManagedClusterIdentityResponseUserAssignedIdentities { @@ -88576,34 +85131,6 @@ export namespace containerservice { principalId: string; } - /** - * Ingress profile for the container service cluster. - */ - export interface ManagedClusterIngressProfileResponse { - /** - * Web App Routing settings for the ingress profile. - */ - webAppRouting?: outputs.containerservice.v20230602preview.ManagedClusterIngressProfileWebAppRoutingResponse; - } - - /** - * Web App Routing settings for the ingress profile. - */ - export interface ManagedClusterIngressProfileWebAppRoutingResponse { - /** - * Resource ID of the DNS Zone to be associated with the web app. Used only when Web App Routing is enabled. - */ - dnsZoneResourceId?: string; - /** - * Whether to enable Web App Routing. - */ - enabled?: boolean; - /** - * Managed identity of the Web Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. - */ - identity: outputs.containerservice.v20230602preview.UserAssignedIdentityResponse; - } - /** * Profile of the managed cluster load balancer. */ @@ -88612,18 +85139,10 @@ export namespace containerservice { * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. */ allocatedOutboundPorts?: number; - /** - * The type of the managed inbound Load Balancer BackendPool. - */ - backendPoolType?: string; /** * The effective outbound IP resources of the cluster load balancer. */ - effectiveOutboundIPs?: outputs.containerservice.v20230602preview.ResourceReferenceResponse[]; - /** - * Enable multiple standard load balancers per AKS cluster or not. - */ - enableMultipleStandardLoadBalancers?: boolean; + effectiveOutboundIPs?: outputs.containerservice.v20210501.ResourceReferenceResponse[]; /** * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. */ @@ -88631,15 +85150,15 @@ export namespace containerservice { /** * Desired managed outbound IPs for the cluster load balancer. */ - managedOutboundIPs?: outputs.containerservice.v20230602preview.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; + managedOutboundIPs?: outputs.containerservice.v20210501.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; /** * Desired outbound IP Prefix resources for the cluster load balancer. */ - outboundIPPrefixes?: outputs.containerservice.v20230602preview.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; + outboundIPPrefixes?: outputs.containerservice.v20210501.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; /** * Desired outbound IP resources for the cluster load balancer. */ - outboundIPs?: outputs.containerservice.v20230602preview.ManagedClusterLoadBalancerProfileResponseOutboundIPs; + outboundIPs?: outputs.containerservice.v20210501.ManagedClusterLoadBalancerProfileResponseOutboundIPs; } /** * managedClusterLoadBalancerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponse @@ -88648,9 +85167,8 @@ export namespace containerservice { return { ...val, allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, - backendPoolType: (val.backendPoolType) ?? "NodeIPConfiguration", idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, - managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.v20230602preview.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), + managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.v20210501.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), }; } @@ -88659,13 +85177,9 @@ export namespace containerservice { */ export interface ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { /** - * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + * The desired number of outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. */ count?: number; - /** - * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - */ - countIPv6?: number; } /** * managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs @@ -88674,7 +85188,6 @@ export namespace containerservice { return { ...val, count: (val.count) ?? 1, - countIPv6: (val.countIPv6) ?? 0, }; } @@ -88685,7 +85198,7 @@ export namespace containerservice { /** * A list of public IP prefix resources. */ - publicIPPrefixes?: outputs.containerservice.v20230602preview.ResourceReferenceResponse[]; + publicIPPrefixes?: outputs.containerservice.v20210501.ResourceReferenceResponse[]; } /** @@ -88695,78 +85208,7 @@ export namespace containerservice { /** * A list of public IP resources. */ - publicIPs?: outputs.containerservice.v20230602preview.ResourceReferenceResponse[]; - } - - /** - * Profile of the managed outbound IP resources of the managed cluster. - */ - export interface ManagedClusterManagedOutboundIPProfileResponse { - /** - * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. - */ - count?: number; - } - /** - * managedClusterManagedOutboundIPProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterManagedOutboundIPProfileResponse - */ - export function managedClusterManagedOutboundIPProfileResponseProvideDefaults(val: ManagedClusterManagedOutboundIPProfileResponse): ManagedClusterManagedOutboundIPProfileResponse { - return { - ...val, - count: (val.count) ?? 1, - }; - } - - /** - * Profile of the managed cluster NAT gateway. - */ - export interface ManagedClusterNATGatewayProfileResponse { - /** - * The effective outbound IP resources of the cluster NAT gateway. - */ - effectiveOutboundIPs?: outputs.containerservice.v20230602preview.ResourceReferenceResponse[]; - /** - * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. - */ - idleTimeoutInMinutes?: number; - /** - * Profile of the managed outbound IP resources of the cluster NAT gateway. - */ - managedOutboundIPProfile?: outputs.containerservice.v20230602preview.ManagedClusterManagedOutboundIPProfileResponse; - } - /** - * managedClusterNATGatewayProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileResponse - */ - export function managedClusterNATGatewayProfileResponseProvideDefaults(val: ManagedClusterNATGatewayProfileResponse): ManagedClusterNATGatewayProfileResponse { - return { - ...val, - idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, - managedOutboundIPProfile: (val.managedOutboundIPProfile ? outputs.containerservice.v20230602preview.managedClusterManagedOutboundIPProfileResponseProvideDefaults(val.managedOutboundIPProfile) : undefined), - }; - } - - /** - * Node resource group lockdown profile for a managed cluster. - */ - export interface ManagedClusterNodeResourceGroupProfileResponse { - /** - * The restriction level applied to the cluster's node resource group - */ - restrictionLevel?: string; - } - - /** - * The OIDC issuer profile of the Managed Cluster. - */ - export interface ManagedClusterOIDCIssuerProfileResponse { - /** - * Whether the OIDC issuer is enabled. - */ - enabled?: boolean; - /** - * The OIDC issuer url of the Managed Cluster. - */ - issuerURL: string; + publicIPs?: outputs.containerservice.v20210501.ResourceReferenceResponse[]; } /** @@ -88802,11 +85244,11 @@ export namespace containerservice { /** * The pod identities to use in the cluster. */ - userAssignedIdentities?: outputs.containerservice.v20230602preview.ManagedClusterPodIdentityResponse[]; + userAssignedIdentities?: outputs.containerservice.v20210501.ManagedClusterPodIdentityResponse[]; /** * The pod identity exceptions to allow. */ - userAssignedIdentityExceptions?: outputs.containerservice.v20230602preview.ManagedClusterPodIdentityExceptionResponse[]; + userAssignedIdentityExceptions?: outputs.containerservice.v20210501.ManagedClusterPodIdentityExceptionResponse[]; } /** @@ -88820,7 +85262,7 @@ export namespace containerservice { /** * A list of additional details about the error. */ - details?: outputs.containerservice.v20230602preview.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; + details?: outputs.containerservice.v20210501.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; /** * A message describing the error, intended to be suitable for display in a user interface. */ @@ -88838,7 +85280,7 @@ export namespace containerservice { /** * Details about the error. */ - error?: outputs.containerservice.v20230602preview.ManagedClusterPodIdentityProvisioningErrorBodyResponse; + error?: outputs.containerservice.v20210501.ManagedClusterPodIdentityProvisioningErrorBodyResponse; } /** @@ -88852,7 +85294,7 @@ export namespace containerservice { /** * The user assigned identity details. */ - identity: outputs.containerservice.v20230602preview.UserAssignedIdentityResponse; + identity: outputs.containerservice.v20210501.UserAssignedIdentityResponse; /** * The name of the pod identity. */ @@ -88861,7 +85303,7 @@ export namespace containerservice { * The namespace of the pod identity. */ namespace: string; - provisioningInfo: outputs.containerservice.v20230602preview.ManagedClusterPodIdentityResponseProvisioningInfo; + provisioningInfo: outputs.containerservice.v20210501.ManagedClusterPodIdentityResponseProvisioningInfo; /** * The current provisioning state of the pod identity. */ @@ -88872,29 +85314,7 @@ export namespace containerservice { /** * Pod identity assignment error (if any). */ - error?: outputs.containerservice.v20230602preview.ManagedClusterPodIdentityProvisioningErrorResponse; - } - - /** - * managed cluster properties for snapshot, these properties are read only. - */ - export interface ManagedClusterPropertiesForSnapshotResponse { - /** - * Whether the cluster has enabled Kubernetes Role-Based Access Control or not. - */ - enableRbac?: boolean; - /** - * The current kubernetes version. - */ - kubernetesVersion?: string; - /** - * The current network profile. - */ - networkProfile: outputs.containerservice.v20230602preview.NetworkProfileForSnapshotResponse; - /** - * The current managed cluster sku. - */ - sku?: outputs.containerservice.v20230602preview.ManagedClusterSKUResponse; + error?: outputs.containerservice.v20210501.ManagedClusterPodIdentityProvisioningErrorResponse; } /** @@ -88971,6 +85391,21 @@ export namespace containerservice { skipNodesWithSystemPods?: string; } + export interface ManagedClusterPropertiesResponseIdentityProfile { + /** + * The client ID of the user assigned identity. + */ + clientId?: string; + /** + * The object ID of the user assigned identity. + */ + objectId?: string; + /** + * The resource ID of the user assigned identity. + */ + resourceId?: string; + } + /** * The SKU of a Managed Cluster. */ @@ -88980,336 +85415,326 @@ export namespace containerservice { */ name?: string; /** - * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + * If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details. */ tier?: string; } /** - * Microsoft Defender settings for the security profile. + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. */ - export interface ManagedClusterSecurityProfileDefenderResponse { + export interface ManagedClusterServicePrincipalProfileResponse { /** - * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + * The ID for the service principal. */ - logAnalyticsWorkspaceResourceId?: string; + clientId: string; /** - * Microsoft Defender threat detection for Cloud settings for the security profile. + * The secret password associated with the service principal in plain text. */ - securityMonitoring?: outputs.containerservice.v20230602preview.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse; + secret?: string; } /** - * Microsoft Defender settings for the security profile threat detection. + * Profile for Windows VMs in the managed cluster. */ - export interface ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse { + export interface ManagedClusterWindowsProfileResponse { /** - * Whether to enable Defender threat detection + * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" */ - enabled?: boolean; - } - - /** - * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. - */ - export interface ManagedClusterSecurityProfileImageCleanerResponse { + adminPassword?: string; /** - * Whether to enable Image Cleaner on AKS cluster. + * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters */ - enabled?: boolean; + adminUsername: string; /** - * Image Cleaner scanning interval in hours. + * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). */ - intervalHours?: number; - } - - /** - * Image integrity related settings for the security profile. - */ - export interface ManagedClusterSecurityProfileImageIntegrityResponse { + enableCSIProxy?: boolean; /** - * Whether to enable image integrity. The default value is false. + * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */ - enabled?: boolean; + licenseType?: string; } /** - * Node Restriction settings for the security profile. + * Describes the Power State of the cluster */ - export interface ManagedClusterSecurityProfileNodeRestrictionResponse { + export interface PowerStateResponse { /** - * Whether to enable Node Restriction + * Tells whether the cluster is Running or Stopped */ - enabled?: boolean; + code?: string; } /** - * Security profile for the container service cluster. + * A private link resource */ - export interface ManagedClusterSecurityProfileResponse { - /** - * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - */ - azureKeyVaultKms?: outputs.containerservice.v20230602preview.AzureKeyVaultKmsResponse; + export interface PrivateLinkResourceResponse { /** - * A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the Custom CA Trust feature enabled. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) + * The group ID of the resource. */ - customCATrustCertificates?: string[]; + groupId?: string; /** - * Microsoft Defender settings for the security profile. + * The ID of the private link resource. */ - defender?: outputs.containerservice.v20230602preview.ManagedClusterSecurityProfileDefenderResponse; + id?: string; /** - * Image Cleaner settings for the security profile. + * The name of the private link resource. */ - imageCleaner?: outputs.containerservice.v20230602preview.ManagedClusterSecurityProfileImageCleanerResponse; + name?: string; /** - * Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This will not have any effect unless Azure Policy is applied to enforce image signatures. See https://aka.ms/aks/image-integrity for how to use this feature via policy. + * The private link service ID of the resource, this field is exposed only to NRP internally. */ - imageIntegrity?: outputs.containerservice.v20230602preview.ManagedClusterSecurityProfileImageIntegrityResponse; + privateLinkServiceID: string; /** - * [Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile. + * The RequiredMembers of the resource */ - nodeRestriction?: outputs.containerservice.v20230602preview.ManagedClusterSecurityProfileNodeRestrictionResponse; + requiredMembers?: string[]; /** - * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + * The resource type. */ - workloadIdentity?: outputs.containerservice.v20230602preview.ManagedClusterSecurityProfileWorkloadIdentityResponse; - } - /** - * managedClusterSecurityProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileResponse - */ - export function managedClusterSecurityProfileResponseProvideDefaults(val: ManagedClusterSecurityProfileResponse): ManagedClusterSecurityProfileResponse { - return { - ...val, - azureKeyVaultKms: (val.azureKeyVaultKms ? outputs.containerservice.v20230602preview.azureKeyVaultKmsResponseProvideDefaults(val.azureKeyVaultKms) : undefined), - }; + type?: string; } /** - * Workload identity settings for the security profile. + * A reference to an Azure resource. */ - export interface ManagedClusterSecurityProfileWorkloadIdentityResponse { + export interface ResourceReferenceResponse { /** - * Whether to enable workload identity. + * The fully qualified Azure resource id. */ - enabled?: boolean; + id?: string; } /** - * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + * Sysctl settings for Linux agent nodes. */ - export interface ManagedClusterServicePrincipalProfileResponse { + export interface SysctlConfigResponse { /** - * The ID for the service principal. + * Sysctl setting fs.aio-max-nr. */ - clientId: string; + fsAioMaxNr?: number; /** - * The secret password associated with the service principal in plain text. + * Sysctl setting fs.file-max. */ - secret?: string; - } - - /** - * AzureBlob CSI Driver settings for the storage profile. - */ - export interface ManagedClusterStorageProfileBlobCSIDriverResponse { + fsFileMax?: number; /** - * Whether to enable AzureBlob CSI Driver. The default value is false. + * Sysctl setting fs.inotify.max_user_watches. */ - enabled?: boolean; - } - - /** - * AzureDisk CSI Driver settings for the storage profile. - */ - export interface ManagedClusterStorageProfileDiskCSIDriverResponse { + fsInotifyMaxUserWatches?: number; /** - * Whether to enable AzureDisk CSI Driver. The default value is true. + * Sysctl setting fs.nr_open. */ - enabled?: boolean; + fsNrOpen?: number; /** - * The version of AzureDisk CSI Driver. The default value is v1. + * Sysctl setting kernel.threads-max. */ - version?: string; - } - - /** - * AzureFile CSI Driver settings for the storage profile. - */ - export interface ManagedClusterStorageProfileFileCSIDriverResponse { + kernelThreadsMax?: number; /** - * Whether to enable AzureFile CSI Driver. The default value is true. + * Sysctl setting net.core.netdev_max_backlog. */ - enabled?: boolean; - } - - /** - * Storage profile for the container service cluster. - */ - export interface ManagedClusterStorageProfileResponse { + netCoreNetdevMaxBacklog?: number; /** - * AzureBlob CSI Driver settings for the storage profile. + * Sysctl setting net.core.optmem_max. */ - blobCSIDriver?: outputs.containerservice.v20230602preview.ManagedClusterStorageProfileBlobCSIDriverResponse; + netCoreOptmemMax?: number; /** - * AzureDisk CSI Driver settings for the storage profile. + * Sysctl setting net.core.rmem_default. */ - diskCSIDriver?: outputs.containerservice.v20230602preview.ManagedClusterStorageProfileDiskCSIDriverResponse; + netCoreRmemDefault?: number; /** - * AzureFile CSI Driver settings for the storage profile. + * Sysctl setting net.core.rmem_max. */ - fileCSIDriver?: outputs.containerservice.v20230602preview.ManagedClusterStorageProfileFileCSIDriverResponse; + netCoreRmemMax?: number; /** - * Snapshot Controller settings for the storage profile. + * Sysctl setting net.core.somaxconn. */ - snapshotController?: outputs.containerservice.v20230602preview.ManagedClusterStorageProfileSnapshotControllerResponse; - } - - /** - * Snapshot Controller settings for the storage profile. - */ - export interface ManagedClusterStorageProfileSnapshotControllerResponse { + netCoreSomaxconn?: number; /** - * Whether to enable Snapshot Controller. The default value is true. + * Sysctl setting net.core.wmem_default. */ - enabled?: boolean; - } - - /** - * Profile for Windows VMs in the managed cluster. - */ - export interface ManagedClusterWindowsProfileResponse { + netCoreWmemDefault?: number; /** - * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + * Sysctl setting net.core.wmem_max. */ - adminPassword?: string; + netCoreWmemMax?: number; /** - * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + * Sysctl setting net.ipv4.ip_local_port_range. */ - adminUsername: string; + netIpv4IpLocalPortRange?: string; /** - * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + * Sysctl setting net.ipv4.neigh.default.gc_thresh1. */ - enableCSIProxy?: boolean; + netIpv4NeighDefaultGcThresh1?: number; /** - * The Windows gMSA Profile in the Managed Cluster. + * Sysctl setting net.ipv4.neigh.default.gc_thresh2. */ - gmsaProfile?: outputs.containerservice.v20230602preview.WindowsGmsaProfileResponse; + netIpv4NeighDefaultGcThresh2?: number; /** - * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + * Sysctl setting net.ipv4.neigh.default.gc_thresh3. */ - licenseType?: string; - } - - /** - * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. - */ - export interface ManagedClusterWorkloadAutoScalerProfileKedaResponse { + netIpv4NeighDefaultGcThresh3?: number; /** - * Whether to enable KEDA. + * Sysctl setting net.ipv4.tcp_fin_timeout. */ - enabled: boolean; - } - - /** - * Workload Auto-scaler profile for the managed cluster. - */ - export interface ManagedClusterWorkloadAutoScalerProfileResponse { + netIpv4TcpFinTimeout?: number; /** - * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + * Sysctl setting net.ipv4.tcp_keepalive_probes. */ - keda?: outputs.containerservice.v20230602preview.ManagedClusterWorkloadAutoScalerProfileKedaResponse; - verticalPodAutoscaler?: outputs.containerservice.v20230602preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse; + netIpv4TcpKeepaliveProbes?: number; + /** + * Sysctl setting net.ipv4.tcp_keepalive_time. + */ + netIpv4TcpKeepaliveTime?: number; + /** + * Sysctl setting net.ipv4.tcp_max_syn_backlog. + */ + netIpv4TcpMaxSynBacklog?: number; + /** + * Sysctl setting net.ipv4.tcp_max_tw_buckets. + */ + netIpv4TcpMaxTwBuckets?: number; + /** + * Sysctl setting net.ipv4.tcp_tw_reuse. + */ + netIpv4TcpTwReuse?: boolean; + /** + * Sysctl setting net.ipv4.tcp_keepalive_intvl. + */ + netIpv4TcpkeepaliveIntvl?: number; + /** + * Sysctl setting net.netfilter.nf_conntrack_buckets. + */ + netNetfilterNfConntrackBuckets?: number; + /** + * Sysctl setting net.netfilter.nf_conntrack_max. + */ + netNetfilterNfConntrackMax?: number; + /** + * Sysctl setting vm.max_map_count. + */ + vmMaxMapCount?: number; + /** + * Sysctl setting vm.swappiness. + */ + vmSwappiness?: number; + /** + * Sysctl setting vm.vfs_cache_pressure. + */ + vmVfsCachePressure?: number; } + /** - * managedClusterWorkloadAutoScalerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileResponse + * Details about a user assigned identity. */ - export function managedClusterWorkloadAutoScalerProfileResponseProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileResponse): ManagedClusterWorkloadAutoScalerProfileResponse { - return { - ...val, - verticalPodAutoscaler: (val.verticalPodAutoscaler ? outputs.containerservice.v20230602preview.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults(val.verticalPodAutoscaler) : undefined), - }; - } - - export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse { + export interface UserAssignedIdentityResponse { /** - * Controls which resource value autoscaler will change. Default value is RequestsAndLimits. + * The client ID of the user assigned identity. */ - controlledValues: string; + clientId?: string; /** - * Whether to enable VPA. Default value is false. + * The object ID of the user assigned identity. */ - enabled: boolean; + objectId?: string; /** - * Each update mode level is a superset of the lower levels. Off
Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + * The Azure resource id of the target Kubernetes cluster. */ - dnsServer?: string; + clusterResourceId: string; /** - * Specifies whether to enable Windows gMSA in the managed cluster. + * The name of the FleetMember. */ - enabled?: boolean; + name: string; /** - * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + * The operation resource id of the latest attempt to perform the operation. */ - rootDomainName?: string; + operationId: string; + /** + * The status of the MemberUpdate operation. + */ + status: outputs.containerservice.v20230315preview.UpdateStatusResponse; } - } -} - -export namespace containerstorage { - /** - * Disk Pool Properties - */ - export interface DiskPoolPropertiesResponse { /** - * List of KV pairs to set in StorageClass to configure CSI driver. + * Metadata pertaining to creation and last modification of the resource. */ - csiParams?: {[key: string]: string}; + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + /** - * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + * A group to be updated. */ - disks?: string[]; + export interface UpdateGroupResponse { + /** + * The name of the Fleet member group to update. + * It should match the name of an existing FleetMember group. + * A group can only appear once across all UpdateStages in the UpdateRun. + */ + name: string; + } + /** - * Maximum capacity of the volumes in GiB the user intends to create. Default 512. + * The status of a UpdateGroup. */ - maxVolumeCapacityGiB?: number; - } - /** - * diskPoolPropertiesResponseProvideDefaults sets the appropriate defaults for DiskPoolPropertiesResponse - */ - export function diskPoolPropertiesResponseProvideDefaults(val: DiskPoolPropertiesResponse): DiskPoolPropertiesResponse { - return { - ...val, - maxVolumeCapacityGiB: (val.maxVolumeCapacityGiB) ?? 512, - }; - } + export interface UpdateGroupStatusResponse { + /** + * The list of member this UpdateGroup updates. + */ + members: outputs.containerservice.v20230315preview.MemberUpdateStatusResponse[]; + /** + * The name of the UpdateGroup. + */ + name: string; + /** + * The status of the UpdateGroup. + */ + status: outputs.containerservice.v20230315preview.UpdateStatusResponse; + } - /** - * Elastic San Pool Properties - */ - export interface ElasticSanPoolPropertiesResponse { /** - * Resource group of an existing SAN. + * The status of a UpdateRun. */ - resourceGroup: string; + export interface UpdateRunStatusResponse { + /** + * The stages composing an update run. Stages are run sequentially withing an UpdateRun. + */ + stages: outputs.containerservice.v20230315preview.UpdateStageStatusResponse[]; + /** + * The status of the UpdateRun. + */ + status: outputs.containerservice.v20230315preview.UpdateStatusResponse; + } + /** - * Name of an existing SAN. + * The UpdateRunStrategy configures the sequence of Stages and Groups in which the clusters will be updated. */ - sanName: string; + export interface UpdateRunStrategyResponse { + /** + * The list of stages that compose this update run. + */ + stages: outputs.containerservice.v20230315preview.UpdateStageResponse[]; + } + /** - * Volume group of an existing SAN. + * Contains the groups to be updated by an UpdateRun. + * Update order: + * - Sequential between stages: Stages run sequentially. The previous stage must complete before the next one starts. + * - Parallel within a stage: Groups within a stage run in parallel. + * - Sequential within a group: Clusters within a group are updated sequentially. */ - volumeGroup: string; - } + export interface UpdateStageResponse { + /** + * The time in seconds to wait at the end of this stage before starting the next one. Defaults to 0 seconds if unspecified. + */ + afterStageWaitInSeconds?: number; + /** + * A list of group names that compose the stage. + * The groups will be updated in parallel. Each group name can only appear once in the UpdateRun. + */ + groups?: outputs.containerservice.v20230315preview.UpdateGroupResponse[]; + /** + * The name of the stage. Must be unique within the UpdateRun. + */ + name: string; + } - /** - * Ephemeral Pool Properties - */ - export interface EphemeralPoolPropertiesResponse { /** - * Consent to format the local disks. + * The status of a UpdateStage. */ - diskFormat?: boolean; + export interface UpdateStageStatusResponse { + /** + * The status of the wait period configured on the UpdateStage. + */ + afterStageWaitStatus: outputs.containerservice.v20230315preview.WaitStatusResponse; + /** + * The list of groups to be updated as part of this UpdateStage. + */ + groups: outputs.containerservice.v20230315preview.UpdateGroupStatusResponse[]; + /** + * The name of the UpdateStage. + */ + name: string; + /** + * The status of the UpdateStage. + */ + status: outputs.containerservice.v20230315preview.UpdateStatusResponse; + } + /** - * Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. + * The status for an operation or group of operations. */ - diskSelector: string[]; + export interface UpdateStatusResponse { + /** + * The time the operation or group was completed. + */ + completedTime: string; + /** + * The error details when a failure is encountered. + */ + error: outputs.containerservice.v20230315preview.ErrorDetailResponse; + /** + * The time the operation or group was started. + */ + startTime: string; + /** + * The State of the operation or group. + */ + state: string; + } + /** - * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + * The status of the wait duration. */ - disks: string[]; - } - /** - * ephemeralPoolPropertiesResponseProvideDefaults sets the appropriate defaults for EphemeralPoolPropertiesResponse - */ - export function ephemeralPoolPropertiesResponseProvideDefaults(val: EphemeralPoolPropertiesResponse): EphemeralPoolPropertiesResponse { - return { - ...val, - diskFormat: (val.diskFormat) ?? false, - }; + export interface WaitStatusResponse { + /** + * The status of the wait duration. + */ + status: outputs.containerservice.v20230315preview.UpdateStatusResponse; + /** + * The wait duration configured in seconds. + */ + waitDurationInSeconds: number; + } + } - /** - * Metadata pertaining to creation and last modification of the resource. - */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; - /** - * The type of identity that created the resource. - */ - createdByType?: string; - /** - * The timestamp of resource last modification (UTC) - */ - lastModifiedAt?: string; - /** - * The identity that last modified the resource. - */ - lastModifiedBy?: string; + export namespace v20230401 { /** - * The type of identity that last modified the resource. + * Settings for upgrading an agentpool */ - lastModifiedByType?: string; - } + export interface AgentPoolUpgradeSettingsResponse { + /** + * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + */ + maxSurge?: string; + } - export namespace v20230301preview { /** - * Disk Pool Properties + * Azure Key Vault key management service settings for the security profile. */ - export interface DiskPoolPropertiesResponse { + export interface AzureKeyVaultKmsResponse { /** - * List of KV pairs to set in StorageClass to configure CSI driver. + * Whether to enable Azure Key Vault key management service. The default is false. */ - csiParams?: {[key: string]: string}; + enabled?: boolean; /** - * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + */ + keyId?: string; + /** + * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */ - disks?: string[]; + keyVaultNetworkAccess?: string; /** - * Maximum capacity of the volumes in GiB the user intends to create. Default 512. + * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. */ - maxVolumeCapacityGiB?: number; + keyVaultResourceId?: string; } /** - * diskPoolPropertiesResponseProvideDefaults sets the appropriate defaults for DiskPoolPropertiesResponse + * azureKeyVaultKmsResponseProvideDefaults sets the appropriate defaults for AzureKeyVaultKmsResponse */ - export function diskPoolPropertiesResponseProvideDefaults(val: DiskPoolPropertiesResponse): DiskPoolPropertiesResponse { + export function azureKeyVaultKmsResponseProvideDefaults(val: AzureKeyVaultKmsResponse): AzureKeyVaultKmsResponse { return { ...val, - maxVolumeCapacityGiB: (val.maxVolumeCapacityGiB) ?? 512, + keyVaultNetworkAccess: (val.keyVaultNetworkAccess) ?? "Public", }; } /** - * Elastic San Pool Properties + * Profile for Linux VMs in the container service cluster. */ - export interface ElasticSanPoolPropertiesResponse { - /** - * Resource group of an existing SAN. - */ - resourceGroup: string; + export interface ContainerServiceLinuxProfileResponse { /** - * Name of an existing SAN. + * The administrator username to use for Linux VMs. */ - sanName: string; + adminUsername: string; /** - * Volume group of an existing SAN. + * The SSH configuration for Linux-based VMs running on Azure. */ - volumeGroup: string; + ssh: outputs.containerservice.v20230401.ContainerServiceSshConfigurationResponse; } /** - * Ephemeral Pool Properties + * Profile of network configuration. */ - export interface EphemeralPoolPropertiesResponse { + export interface ContainerServiceNetworkProfileResponse { + /** + * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + */ + dnsServiceIP?: string; /** - * Consent to format the local disks. + * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. */ - diskFormat?: boolean; + ipFamilies?: string[]; /** - * Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. + * Profile of the cluster load balancer. */ - diskSelector: string[]; + loadBalancerProfile?: outputs.containerservice.v20230401.ManagedClusterLoadBalancerProfileResponse; /** - * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */ - disks: string[]; + loadBalancerSku?: string; + /** + * Profile of the cluster NAT gateway. + */ + natGatewayProfile?: outputs.containerservice.v20230401.ManagedClusterNATGatewayProfileResponse; + /** + * Network dataplane used in the Kubernetes cluster. + */ + networkDataplane?: string; + /** + * This cannot be specified if networkPlugin is anything other than 'azure'. + */ + networkMode?: string; + /** + * Network plugin used for building the Kubernetes network. + */ + networkPlugin?: string; + /** + * The mode the network plugin should use. + */ + networkPluginMode?: string; + /** + * Network policy used for building the Kubernetes network. + */ + networkPolicy?: string; + /** + * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + */ + outboundType?: string; + /** + * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + */ + podCidr?: string; + /** + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + */ + podCidrs?: string[]; + /** + * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + */ + serviceCidr?: string; + /** + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + */ + serviceCidrs?: string[]; } /** - * ephemeralPoolPropertiesResponseProvideDefaults sets the appropriate defaults for EphemeralPoolPropertiesResponse + * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse */ - export function ephemeralPoolPropertiesResponseProvideDefaults(val: EphemeralPoolPropertiesResponse): EphemeralPoolPropertiesResponse { + export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { return { ...val, - diskFormat: (val.diskFormat) ?? false, + dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", + loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.v20230401.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), + natGatewayProfile: (val.natGatewayProfile ? outputs.containerservice.v20230401.managedClusterNATGatewayProfileResponseProvideDefaults(val.natGatewayProfile) : undefined), + networkPlugin: (val.networkPlugin) ?? "kubenet", + outboundType: (val.outboundType) ?? "loadBalancer", + podCidr: (val.podCidr) ?? "10.244.0.0/16", + serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", }; } /** - * Metadata pertaining to creation and last modification of the resource. + * SSH configuration for Linux-based VMs running on Azure. */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; + export interface ContainerServiceSshConfigurationResponse { /** - * The identity that created the resource. + * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */ - createdBy?: string; + publicKeys: outputs.containerservice.v20230401.ContainerServiceSshPublicKeyResponse[]; + } + + /** + * Contains information about SSH certificate public key data. + */ + export interface ContainerServiceSshPublicKeyResponse { /** - * The type of identity that created the resource. + * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. */ - createdByType?: string; + keyData: string; + } + + /** + * Data used when creating a target resource from a source resource. + */ + export interface CreationDataResponse { /** - * The timestamp of resource last modification (UTC) + * This is the ARM ID of the source object to be used to create the target object. */ - lastModifiedAt?: string; + sourceResourceId?: string; + } + + /** + * The credential result response. + */ + export interface CredentialResultResponse { /** - * The identity that last modified the resource. + * The name of the credential. */ - lastModifiedBy?: string; + name: string; /** - * The type of identity that last modified the resource. + * Base64-encoded Kubernetes configuration file. */ - lastModifiedByType?: string; + value: string; } - } -} - -export namespace costmanagement { - /** - * The comparison expression to be used in the budgets. - */ - export interface BudgetComparisonExpressionResponse { - /** - * The name of the column to use in comparison. - */ - name: string; /** - * The operator to use for comparison. + * The complex type of the extended location. */ - operator: string; + export interface ExtendedLocationResponse { + /** + * The name of the extended location. + */ + name?: string; + /** + * The type of the extended location. + */ + type?: string; + } + /** - * Array of values to use for comparison + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ - values: string[]; - } + export interface KubeletConfigResponse { + /** + * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + */ + allowedUnsafeSysctls?: string[]; + /** + * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + */ + containerLogMaxFiles?: number; + /** + * The maximum size (e.g. 10Mi) of container log file before it is rotated. + */ + containerLogMaxSizeMB?: number; + /** + * The default is true. + */ + cpuCfsQuota?: boolean; + /** + * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + */ + cpuCfsQuotaPeriod?: string; + /** + * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + */ + cpuManagerPolicy?: string; + /** + * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + */ + failSwapOn?: boolean; + /** + * To disable image garbage collection, set to 100. The default is 85% + */ + imageGcHighThreshold?: number; + /** + * This cannot be set higher than imageGcHighThreshold. The default is 80% + */ + imageGcLowThreshold?: number; + /** + * The maximum number of processes per pod. + */ + podMaxPids?: number; + /** + * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + */ + topologyManagerPolicy?: string; + } - /** - * The Dimensions or Tags to filter a budget by. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - */ - export interface BudgetFilterPropertiesResponse { - /** - * Has comparison expression for a dimension. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - * - * Supported dimension names for **CategoryType: ReservationUtilization** - * - ReservationId - * - ReservedResourceType - */ - dimensions?: outputs.costmanagement.BudgetComparisonExpressionResponse; /** - * Has comparison expression for a tag. - * - * Supported for CategoryType(s): Cost. + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ - tags?: outputs.costmanagement.BudgetComparisonExpressionResponse; - } + export interface LinuxOSConfigResponse { + /** + * The size in MB of a swap file that will be created on each node. + */ + swapFileSizeMB?: number; + /** + * Sysctl settings for Linux agent nodes. + */ + sysctls?: outputs.containerservice.v20230401.SysctlConfigResponse; + /** + * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageDefrag?: string; + /** + * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageEnabled?: string; + } - /** - * May be used to filter budgets by user-specified dimensions and/or tags. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - */ - export interface BudgetFilterResponse { /** - * The logical "AND" expression. Must have at least 2 items. - * - * Supported for CategoryType(s): Cost. + * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). */ - and?: outputs.costmanagement.BudgetFilterPropertiesResponse[]; + export interface ManagedClusterAADProfileResponse { + /** + * The list of AAD group object IDs that will have admin role of the cluster. + */ + adminGroupObjectIDs?: string[]; + /** + * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + */ + clientAppID?: string; + /** + * Whether to enable Azure RBAC for Kubernetes authorization. + */ + enableAzureRBAC?: boolean; + /** + * Whether to enable managed AAD. + */ + managed?: boolean; + /** + * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + */ + serverAppID?: string; + /** + * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + */ + serverAppSecret?: string; + /** + * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + */ + tenantID?: string; + } + /** - * Has comparison expression for a dimension. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - * - * Supported dimension names for **CategoryType: ReservationUtilization** - * - ReservationId - * - ReservedResourceType + * Access profile for managed cluster API server. */ - dimensions?: outputs.costmanagement.BudgetComparisonExpressionResponse; + export interface ManagedClusterAPIServerAccessProfileResponse { + /** + * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + */ + authorizedIPRanges?: string[]; + /** + * Whether to disable run command for the cluster or not. + */ + disableRunCommand?: boolean; + /** + * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + */ + enablePrivateCluster?: boolean; + /** + * Whether to create additional public FQDN for private cluster or not. + */ + enablePrivateClusterPublicFQDN?: boolean; + /** + * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + */ + privateDNSZone?: string; + } + /** - * Has comparison expression for a tag. - * - * Supported for CategoryType(s): Cost. + * A Kubernetes add-on profile for a managed cluster. */ - tags?: outputs.costmanagement.BudgetComparisonExpressionResponse; - } + export interface ManagedClusterAddonProfileResponse { + /** + * Key-value pairs for configuring an add-on. + */ + config?: {[key: string]: string}; + /** + * Whether the add-on is enabled or not. + */ + enabled: boolean; + /** + * Information of user assigned identity used by this add-on. + */ + identity: outputs.containerservice.v20230401.ManagedClusterAddonProfileResponseIdentity; + } - /** - * The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - * - * Required for CategoryType(s): Cost, ReservationUtilization. - */ - export interface BudgetTimePeriodResponse { /** - * The end date for the budget. - * - * - Constraints for **CategoryType: Cost** - No constraints. If not provided, we default this to 10 years from the start date. - * - * - Constraints for **CategoryType: ReservationUtilization** - End date cannot be more than 3 years after the start date. + * Information of user assigned identity used by this add-on. */ - endDate?: string; + export interface ManagedClusterAddonProfileResponseIdentity { + /** + * The client ID of the user assigned identity. + */ + clientId?: string; + /** + * The object ID of the user assigned identity. + */ + objectId?: string; + /** + * The resource ID of the user assigned identity. + */ + resourceId?: string; + } + /** - * The start date for the budget. - * - * - Constraints for **CategoryType: Cost** - Must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period. - * - * - Constraints for **CategoryType: ReservationUtilization** - Must be on or after the current date and less than the end date. + * Profile for the container service agent pool. */ - startDate: string; - } + export interface ManagedClusterAgentPoolProfileResponse { + /** + * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + */ + availabilityZones?: string[]; + /** + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + */ + count?: number; + /** + * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + */ + creationData?: outputs.containerservice.v20230401.CreationDataResponse; + /** + * If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + */ + currentOrchestratorVersion: string; + /** + * Whether to enable auto-scaler + */ + enableAutoScaling?: boolean; + /** + * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + */ + enableEncryptionAtHost?: boolean; + /** + * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + */ + enableFIPS?: boolean; + /** + * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + */ + enableNodePublicIP?: boolean; + /** + * Whether to enable UltraSSD + */ + enableUltraSSD?: boolean; + /** + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + */ + gpuInstanceProfile?: string; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + */ + hostGroupID?: string; + /** + * The Kubelet configuration on the agent pool nodes. + */ + kubeletConfig?: outputs.containerservice.v20230401.KubeletConfigResponse; + /** + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + */ + kubeletDiskType?: string; + /** + * The OS configuration of Linux agent nodes. + */ + linuxOSConfig?: outputs.containerservice.v20230401.LinuxOSConfigResponse; + /** + * The maximum number of nodes for auto-scaling + */ + maxCount?: number; + /** + * The maximum number of pods that can run on a node. + */ + maxPods?: number; + /** + * The minimum number of nodes for auto-scaling + */ + minCount?: number; + /** + * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + */ + mode?: string; + /** + * Windows agent pool names must be 6 characters or less. + */ + name: string; + /** + * The version of node image + */ + nodeImageVersion: string; + /** + * The node labels to be persisted across all nodes in agent pool. + */ + nodeLabels?: {[key: string]: string}; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + */ + nodePublicIPPrefixID?: string; + /** + * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + */ + nodeTaints?: string[]; + /** + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + */ + orchestratorVersion?: string; + /** + * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + */ + osDiskSizeGB?: number; + /** + * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + */ + osDiskType?: string; + /** + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + */ + osSKU?: string; + /** + * The operating system type. The default is Linux. + */ + osType?: string; + /** + * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + podSubnetID?: string; + /** + * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + */ + powerState?: outputs.containerservice.v20230401.PowerStateResponse; + /** + * The current deployment or provisioning state. + */ + provisioningState: string; + /** + * The ID for Proximity Placement Group. + */ + proximityPlacementGroupID?: string; + /** + * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + */ + scaleDownMode?: string; + /** + * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + */ + scaleSetEvictionPolicy?: string; + /** + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + */ + scaleSetPriority?: string; + /** + * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + */ + spotMaxPrice?: number; + /** + * The tags to be persisted on the agent pool virtual machine scale set. + */ + tags?: {[key: string]: string}; + /** + * The type of Agent Pool. + */ + type?: string; + /** + * Settings for upgrading the agentpool + */ + upgradeSettings?: outputs.containerservice.v20230401.AgentPoolUpgradeSettingsResponse; + /** + * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + */ + vmSize?: string; + /** + * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + vnetSubnetID?: string; + /** + * Determines the type of workload a node can run. + */ + workloadRuntime?: string; + } - /** - * The common properties of the export. - */ - export interface CommonExportPropertiesResponse { /** - * Has the definition for the export. + * Auto upgrade profile for a managed cluster. */ - definition: outputs.costmanagement.ExportDefinitionResponse; + export interface ManagedClusterAutoUpgradeProfileResponse { + /** + * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + */ + upgradeChannel?: string; + } + /** - * Has delivery information for the export. + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */ - deliveryInfo: outputs.costmanagement.ExportDeliveryInfoResponse; + export interface ManagedClusterAzureMonitorProfileKubeStateMetricsResponse { + /** + * Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + */ + metricAnnotationsAllowList?: string; + /** + * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + */ + metricLabelsAllowlist?: string; + } + /** - * The format of the export being delivered. Currently only 'Csv' is supported. + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */ - format?: string; + export interface ManagedClusterAzureMonitorProfileMetricsResponse { + /** + * Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + */ + enabled: boolean; + /** + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + */ + kubeStateMetrics?: outputs.containerservice.v20230401.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse; + } + /** - * If the export has an active schedule, provides an estimate of the next run time. + * Azure Monitor addon profiles for monitoring the managed cluster. */ - nextRunTimeEstimate: string; + export interface ManagedClusterAzureMonitorProfileResponse { + /** + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + */ + metrics?: outputs.containerservice.v20230401.ManagedClusterAzureMonitorProfileMetricsResponse; + } + /** - * If set to true, exported data will be partitioned by size and placed in a blob directory together with a manifest file. Note: this option is currently available only for Microsoft Customer Agreement commerce scopes. + * Cluster HTTP proxy configuration. */ - partitionData?: boolean; + export interface ManagedClusterHTTPProxyConfigResponse { + /** + * The HTTP proxy server endpoint to use. + */ + httpProxy?: string; + /** + * The HTTPS proxy server endpoint to use. + */ + httpsProxy?: string; + /** + * The endpoints that should not go through proxy. + */ + noProxy?: string[]; + /** + * Alternative CA cert to use for connecting to proxy servers. + */ + trustedCa?: string; + } + /** - * If requested, has the most recent run history for the export. + * Identity for the managed cluster. */ - runHistory?: outputs.costmanagement.ExportExecutionListResultResponse; - } + export interface ManagedClusterIdentityResponse { + /** + * The principal id of the system assigned identity which is used by master components. + */ + principalId: string; + /** + * The tenant id of the system assigned identity which is used by master components. + */ + tenantId: string; + /** + * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + */ + type?: string; + /** + * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: {[key: string]: outputs.containerservice.v20230401.ManagedClusterIdentityResponseUserAssignedIdentities}; + } + + export interface ManagedClusterIdentityResponseUserAssignedIdentities { + /** + * The client id of user assigned identity. + */ + clientId: string; + /** + * The principal id of user assigned identity. + */ + principalId: string; + } - /** - * Details of any error encountered on last collection attempt - */ - export interface ConnectorCollectionErrorInfoResponse { /** - * Short error message + * Profile of the managed cluster load balancer. */ - errorCode: string; + export interface ManagedClusterLoadBalancerProfileResponse { + /** + * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + */ + allocatedOutboundPorts?: number; + /** + * The effective outbound IP resources of the cluster load balancer. + */ + effectiveOutboundIPs?: outputs.containerservice.v20230401.ResourceReferenceResponse[]; + /** + * Enable multiple standard load balancers per AKS cluster or not. + */ + enableMultipleStandardLoadBalancers?: boolean; + /** + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + */ + idleTimeoutInMinutes?: number; + /** + * Desired managed outbound IPs for the cluster load balancer. + */ + managedOutboundIPs?: outputs.containerservice.v20230401.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; + /** + * Desired outbound IP Prefix resources for the cluster load balancer. + */ + outboundIPPrefixes?: outputs.containerservice.v20230401.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; + /** + * Desired outbound IP resources for the cluster load balancer. + */ + outboundIPs?: outputs.containerservice.v20230401.ManagedClusterLoadBalancerProfileResponseOutboundIPs; + } /** - * External Provider error message + * managedClusterLoadBalancerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponse */ - errorInnerMessage?: string; + export function managedClusterLoadBalancerProfileResponseProvideDefaults(val: ManagedClusterLoadBalancerProfileResponse): ManagedClusterLoadBalancerProfileResponse { + return { + ...val, + allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, + managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.v20230401.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), + }; + } + /** - * Detailed error message + * Desired managed outbound IPs for the cluster load balancer. */ - errorMessage: string; + export interface ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + /** + * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + */ + count?: number; + /** + * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + */ + countIPv6?: number; + } /** - * Time the error started occurring (Last time error occurred in lastRun) + * managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs */ - errorStartTime: string; - } + export function managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val: ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs): ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + return { + ...val, + count: (val.count) ?? 1, + countIPv6: (val.countIPv6) ?? 0, + }; + } - /** - * Collection and ingestion information - */ - export interface ConnectorCollectionInfoResponse { - /** - * Error information of last collection - */ - error?: outputs.costmanagement.ConnectorCollectionErrorInfoResponse; /** - * Last time the data acquisition process initiated connecting to the external provider + * Desired outbound IP Prefix resources for the cluster load balancer. */ - lastChecked?: string; + export interface ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes { + /** + * A list of public IP prefix resources. + */ + publicIPPrefixes?: outputs.containerservice.v20230401.ResourceReferenceResponse[]; + } + /** - * Last time the data acquisition process completed (even if no new data was found) + * Desired outbound IP resources for the cluster load balancer. */ - lastRun: string; + export interface ManagedClusterLoadBalancerProfileResponseOutboundIPs { + /** + * A list of public IP resources. + */ + publicIPs?: outputs.containerservice.v20230401.ResourceReferenceResponse[]; + } + /** - * Last time the external data was updated into Azure + * Profile of the managed outbound IP resources of the managed cluster. */ - lastUpdated: string; + export interface ManagedClusterManagedOutboundIPProfileResponse { + /** + * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + */ + count?: number; + } /** - * Source timestamp of external data currently available in Azure (eg AWS last processed CUR file timestamp) + * managedClusterManagedOutboundIPProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterManagedOutboundIPProfileResponse */ - sourceLastUpdated: string; - } + export function managedClusterManagedOutboundIPProfileResponseProvideDefaults(val: ManagedClusterManagedOutboundIPProfileResponse): ManagedClusterManagedOutboundIPProfileResponse { + return { + ...val, + count: (val.count) ?? 1, + }; + } - /** - * Target resources and allocation - */ - export interface CostAllocationProportionResponse { /** - * Target resource for cost allocation + * Profile of the managed cluster NAT gateway. */ - name: string; + export interface ManagedClusterNATGatewayProfileResponse { + /** + * The effective outbound IP resources of the cluster NAT gateway. + */ + effectiveOutboundIPs?: outputs.containerservice.v20230401.ResourceReferenceResponse[]; + /** + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + */ + idleTimeoutInMinutes?: number; + /** + * Profile of the managed outbound IP resources of the cluster NAT gateway. + */ + managedOutboundIPProfile?: outputs.containerservice.v20230401.ManagedClusterManagedOutboundIPProfileResponse; + } /** - * Percentage of source cost to allocate to this resource. This value can be specified to two decimal places and the total percentage of all resources in this rule must sum to 100.00. + * managedClusterNATGatewayProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileResponse */ - percentage: number; - } + export function managedClusterNATGatewayProfileResponseProvideDefaults(val: ManagedClusterNATGatewayProfileResponse): ManagedClusterNATGatewayProfileResponse { + return { + ...val, + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, + managedOutboundIPProfile: (val.managedOutboundIPProfile ? outputs.containerservice.v20230401.managedClusterManagedOutboundIPProfileResponseProvideDefaults(val.managedOutboundIPProfile) : undefined), + }; + } - /** - * Resource details of the cost allocation rule - */ - export interface CostAllocationRuleDetailsResponse { /** - * Source resources for cost allocation. At this time, this list can contain no more than one element. + * The OIDC issuer profile of the Managed Cluster. */ - sourceResources?: outputs.costmanagement.SourceCostAllocationResourceResponse[]; + export interface ManagedClusterOIDCIssuerProfileResponse { + /** + * Whether the OIDC issuer is enabled. + */ + enabled?: boolean; + /** + * The OIDC issuer url of the Managed Cluster. + */ + issuerURL: string; + } + /** - * Target resources for cost allocation. At this time, this list can contain no more than one element. + * See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. */ - targetResources?: outputs.costmanagement.TargetCostAllocationResourceResponse[]; - } + export interface ManagedClusterPodIdentityExceptionResponse { + /** + * The name of the pod identity exception. + */ + name: string; + /** + * The namespace of the pod identity exception. + */ + namespace: string; + /** + * The pod labels to match. + */ + podLabels: {[key: string]: string}; + } - /** - * The properties of a cost allocation rule - */ - export interface CostAllocationRulePropertiesResponse { /** - * Time at which the rule was created. Rules that change cost for the same resource are applied in order of creation. + * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. */ - createdDate: string; + export interface ManagedClusterPodIdentityProfileResponse { + /** + * Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. + */ + allowNetworkPluginKubenet?: boolean; + /** + * Whether the pod identity addon is enabled. + */ + enabled?: boolean; + /** + * The pod identities to use in the cluster. + */ + userAssignedIdentities?: outputs.containerservice.v20230401.ManagedClusterPodIdentityResponse[]; + /** + * The pod identity exceptions to allow. + */ + userAssignedIdentityExceptions?: outputs.containerservice.v20230401.ManagedClusterPodIdentityExceptionResponse[]; + } + /** - * Description of a cost allocation rule. + * An error response from the pod identity provisioning. */ - description?: string; + export interface ManagedClusterPodIdentityProvisioningErrorBodyResponse { + /** + * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + */ + code?: string; + /** + * A list of additional details about the error. + */ + details?: outputs.containerservice.v20230401.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; + /** + * A message describing the error, intended to be suitable for display in a user interface. + */ + message?: string; + /** + * The target of the particular error. For example, the name of the property in error. + */ + target?: string; + } + /** - * Resource information for the cost allocation rule + * An error response from the pod identity provisioning. */ - details: outputs.costmanagement.CostAllocationRuleDetailsResponse; + export interface ManagedClusterPodIdentityProvisioningErrorResponse { + /** + * Details about the error. + */ + error?: outputs.containerservice.v20230401.ManagedClusterPodIdentityProvisioningErrorBodyResponse; + } + /** - * Status of the rule + * Details about the pod identity assigned to the Managed Cluster. */ - status: string; + export interface ManagedClusterPodIdentityResponse { + /** + * The binding selector to use for the AzureIdentityBinding resource. + */ + bindingSelector?: string; + /** + * The user assigned identity details. + */ + identity: outputs.containerservice.v20230401.UserAssignedIdentityResponse; + /** + * The name of the pod identity. + */ + name: string; + /** + * The namespace of the pod identity. + */ + namespace: string; + provisioningInfo: outputs.containerservice.v20230401.ManagedClusterPodIdentityResponseProvisioningInfo; + /** + * The current provisioning state of the pod identity. + */ + provisioningState: string; + } + + export interface ManagedClusterPodIdentityResponseProvisioningInfo { + /** + * Pod identity assignment error (if any). + */ + error?: outputs.containerservice.v20230401.ManagedClusterPodIdentityProvisioningErrorResponse; + } + /** - * Time at which the rule was last updated. + * Parameters to be applied to the cluster-autoscaler when enabled */ - updatedDate: string; - } + export interface ManagedClusterPropertiesResponseAutoScalerProfile { + /** + * Valid values are 'true' and 'false' + */ + balanceSimilarNodeGroups?: string; + /** + * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + */ + expander?: string; + /** + * The default is 10. + */ + maxEmptyBulkDelete?: string; + /** + * The default is 600. + */ + maxGracefulTerminationSec?: string; + /** + * The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + maxNodeProvisionTime?: string; + /** + * The default is 45. The maximum is 100 and the minimum is 0. + */ + maxTotalUnreadyPercentage?: string; + /** + * For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + */ + newPodScaleUpDelay?: string; + /** + * This must be an integer. The default is 3. + */ + okTotalUnreadyCount?: string; + /** + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownDelayAfterAdd?: string; + /** + * The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownDelayAfterDelete?: string; + /** + * The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownDelayAfterFailure?: string; + /** + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownUnneededTime?: string; + /** + * The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownUnreadyTime?: string; + /** + * The default is '0.5'. + */ + scaleDownUtilizationThreshold?: string; + /** + * The default is '10'. Values must be an integer number of seconds. + */ + scanInterval?: string; + /** + * The default is true. + */ + skipNodesWithLocalStorage?: string; + /** + * The default is true. + */ + skipNodesWithSystemPods?: string; + } - /** - * The current amount of cost which is being tracked for a budget. - * - * Supported for CategoryType(s): Cost. - */ - export interface CurrentSpendResponse { /** - * The total amount of cost which is being tracked by the budget. + * The SKU of a Managed Cluster. */ - amount: number; + export interface ManagedClusterSKUResponse { + /** + * The name of a managed cluster SKU. + */ + name?: string; + /** + * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + */ + tier?: string; + } + /** - * The unit of measure for the budget amount. + * Microsoft Defender settings for the security profile. */ - unit: string; - } + export interface ManagedClusterSecurityProfileDefenderResponse { + /** + * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + */ + logAnalyticsWorkspaceResourceId?: string; + /** + * Microsoft Defender threat detection for Cloud settings for the security profile. + */ + securityMonitoring?: outputs.containerservice.v20230401.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse; + } - /** - * The customer billing metadata - */ - export interface CustomerMetadataResponse { /** - * Customer billing account id + * Microsoft Defender settings for the security profile threat detection. */ - billingAccountId: string; + export interface ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse { + /** + * Whether to enable Defender threat detection + */ + enabled?: boolean; + } + /** - * Customer billing profile id + * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. */ - billingProfileId: string; - } + export interface ManagedClusterSecurityProfileImageCleanerResponse { + /** + * Whether to enable Image Cleaner on AKS cluster. + */ + enabled?: boolean; + /** + * Image Cleaner scanning interval in hours. + */ + intervalHours?: number; + } - /** - * The details of the error. - */ - export interface ErrorDetailsResponse { /** - * Error code. + * Security profile for the container service cluster. */ - code: string; + export interface ManagedClusterSecurityProfileResponse { + /** + * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + */ + azureKeyVaultKms?: outputs.containerservice.v20230401.AzureKeyVaultKmsResponse; + /** + * Microsoft Defender settings for the security profile. + */ + defender?: outputs.containerservice.v20230401.ManagedClusterSecurityProfileDefenderResponse; + /** + * Image Cleaner settings for the security profile. + */ + imageCleaner?: outputs.containerservice.v20230401.ManagedClusterSecurityProfileImageCleanerResponse; + /** + * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + */ + workloadIdentity?: outputs.containerservice.v20230401.ManagedClusterSecurityProfileWorkloadIdentityResponse; + } /** - * Error message indicating why the operation failed. + * managedClusterSecurityProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileResponse */ - message: string; - } + export function managedClusterSecurityProfileResponseProvideDefaults(val: ManagedClusterSecurityProfileResponse): ManagedClusterSecurityProfileResponse { + return { + ...val, + azureKeyVaultKms: (val.azureKeyVaultKms ? outputs.containerservice.v20230401.azureKeyVaultKmsResponseProvideDefaults(val.azureKeyVaultKms) : undefined), + }; + } - /** - * The export dataset configuration. Allows columns to be selected for the export. If not provided then the export will include all available columns. - */ - export interface ExportDatasetConfigurationResponse { /** - * Array of column names to be included in the export. If not provided then the export will include all available columns. The available columns can vary by customer channel (see examples). + * Workload identity settings for the security profile. */ - columns?: string[]; - } + export interface ManagedClusterSecurityProfileWorkloadIdentityResponse { + /** + * Whether to enable workload identity. + */ + enabled?: boolean; + } - /** - * The definition for data in the export. - */ - export interface ExportDatasetResponse { - /** - * The export dataset configuration. - */ - configuration?: outputs.costmanagement.ExportDatasetConfigurationResponse; /** - * The granularity of rows in the export. Currently only 'Daily' is supported. + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. */ - granularity?: string; - } + export interface ManagedClusterServicePrincipalProfileResponse { + /** + * The ID for the service principal. + */ + clientId: string; + /** + * The secret password associated with the service principal in plain text. + */ + secret?: string; + } - /** - * The definition of an export. - */ - export interface ExportDefinitionResponse { /** - * The definition for data in the export. + * AzureBlob CSI Driver settings for the storage profile. */ - dataSet?: outputs.costmanagement.ExportDatasetResponse; + export interface ManagedClusterStorageProfileBlobCSIDriverResponse { + /** + * Whether to enable AzureBlob CSI Driver. The default value is false. + */ + enabled?: boolean; + } + /** - * Has time period for pulling data for the export. + * AzureDisk CSI Driver settings for the storage profile. */ - timePeriod?: outputs.costmanagement.ExportTimePeriodResponse; + export interface ManagedClusterStorageProfileDiskCSIDriverResponse { + /** + * Whether to enable AzureDisk CSI Driver. The default value is true. + */ + enabled?: boolean; + } + /** - * The time frame for pulling data for the export. If custom, then a specific time period must be provided. + * AzureFile CSI Driver settings for the storage profile. */ - timeframe: string; + export interface ManagedClusterStorageProfileFileCSIDriverResponse { + /** + * Whether to enable AzureFile CSI Driver. The default value is true. + */ + enabled?: boolean; + } + /** - * The type of the export. Note that 'Usage' is equivalent to 'ActualCost' and is applicable to exports that do not yet provide data for charges or amortization for service reservations. + * Storage profile for the container service cluster. */ - type: string; - } - - /** - * This represents the blob storage account location where exports of costs will be delivered. There are two ways to configure the destination. The approach recommended for most customers is to specify the resourceId of the storage account. This requires a one-time registration of the account's subscription with the Microsoft.CostManagementExports resource provider in order to give Cost Management services access to the storage. When creating an export in the Azure portal this registration is performed automatically but API users may need to register the subscription explicitly (for more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services ). Another way to configure the destination is available ONLY to Partners with a Microsoft Partner Agreement plan who are global admins of their billing account. These Partners, instead of specifying the resourceId of a storage account, can specify the storage account name along with a SAS token for the account. This allows exports of costs to a storage account in any tenant. The SAS token should be created for the blob service with Service/Container/Object resource types and with Read/Write/Delete/List/Add/Create permissions (for more information see https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/export-cost-data-storage-account-sas-key ). - */ - export interface ExportDeliveryDestinationResponse { - /** - * The name of the container where exports will be uploaded. If the container does not exist it will be created. - */ - container: string; - /** - * The resource id of the storage account where exports will be delivered. This is not required if a sasToken and storageAccount are specified. - */ - resourceId?: string; - /** - * The name of the directory where exports will be uploaded. - */ - rootFolderPath?: string; - /** - * A SAS token for the storage account. For a restricted set of Azure customers this together with storageAccount can be specified instead of resourceId. Note: the value returned by the API for this property will always be obfuscated. Returning this same obfuscated value will not result in the SAS token being updated. To update this value a new SAS token must be specified. - */ - sasToken?: string; - /** - * The storage account where exports will be uploaded. For a restricted set of Azure customers this together with sasToken can be specified instead of resourceId. - */ - storageAccount?: string; - } + export interface ManagedClusterStorageProfileResponse { + /** + * AzureBlob CSI Driver settings for the storage profile. + */ + blobCSIDriver?: outputs.containerservice.v20230401.ManagedClusterStorageProfileBlobCSIDriverResponse; + /** + * AzureDisk CSI Driver settings for the storage profile. + */ + diskCSIDriver?: outputs.containerservice.v20230401.ManagedClusterStorageProfileDiskCSIDriverResponse; + /** + * AzureFile CSI Driver settings for the storage profile. + */ + fileCSIDriver?: outputs.containerservice.v20230401.ManagedClusterStorageProfileFileCSIDriverResponse; + /** + * Snapshot Controller settings for the storage profile. + */ + snapshotController?: outputs.containerservice.v20230401.ManagedClusterStorageProfileSnapshotControllerResponse; + } - /** - * The delivery information associated with a export. - */ - export interface ExportDeliveryInfoResponse { /** - * Has destination for the export being delivered. + * Snapshot Controller settings for the storage profile. */ - destination: outputs.costmanagement.ExportDeliveryDestinationResponse; - } + export interface ManagedClusterStorageProfileSnapshotControllerResponse { + /** + * Whether to enable Snapshot Controller. The default value is true. + */ + enabled?: boolean; + } - /** - * Result of listing the run history of an export. - */ - export interface ExportExecutionListResultResponse { /** - * A list of export runs. + * Profile for Windows VMs in the managed cluster. */ - value: outputs.costmanagement.ExportRunResponse[]; - } + export interface ManagedClusterWindowsProfileResponse { + /** + * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + */ + adminPassword?: string; + /** + * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + */ + adminUsername: string; + /** + * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + */ + enableCSIProxy?: boolean; + /** + * The Windows gMSA Profile in the Managed Cluster. + */ + gmsaProfile?: outputs.containerservice.v20230401.WindowsGmsaProfileResponse; + /** + * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + */ + licenseType?: string; + } - /** - * The start and end date for recurrence schedule. - */ - export interface ExportRecurrencePeriodResponse { - /** - * The start date of recurrence. - */ - from: string; /** - * The end date of recurrence. + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ - to?: string; - } + export interface ManagedClusterWorkloadAutoScalerProfileKedaResponse { + /** + * Whether to enable KEDA. + */ + enabled: boolean; + } - /** - * An export run. - */ - export interface ExportRunResponse { - /** - * eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not. - */ - eTag?: string; - /** - * The details of any error. - */ - error?: outputs.costmanagement.ErrorDetailsResponse; - /** - * The type of the export run. - */ - executionType?: string; - /** - * The name of the exported file. - */ - fileName?: string; - /** - * Resource Id. - */ - id: string; /** - * Resource name. - */ - name: string; - /** - * The time when the export run finished. + * Workload Auto-scaler profile for the managed cluster. */ - processingEndTime?: string; + export interface ManagedClusterWorkloadAutoScalerProfileResponse { + /** + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + */ + keda?: outputs.containerservice.v20230401.ManagedClusterWorkloadAutoScalerProfileKedaResponse; + } + /** - * The time when export was picked up to be run. + * Describes the Power State of the cluster */ - processingStartTime?: string; + export interface PowerStateResponse { + /** + * Tells whether the cluster is Running or Stopped + */ + code?: string; + } + /** - * The export settings that were in effect for this run. + * Private endpoint which a connection belongs to. */ - runSettings?: outputs.costmanagement.CommonExportPropertiesResponse; + export interface PrivateEndpointResponse { + /** + * The resource ID of the private endpoint + */ + id?: string; + } + /** - * The last known status of the export run. + * A private link resource */ - status?: string; + export interface PrivateLinkResourceResponse { + /** + * The group ID of the resource. + */ + groupId?: string; + /** + * The ID of the private link resource. + */ + id?: string; + /** + * The name of the private link resource. + */ + name?: string; + /** + * The private link service ID of the resource, this field is exposed only to NRP internally. + */ + privateLinkServiceID: string; + /** + * The RequiredMembers of the resource + */ + requiredMembers?: string[]; + /** + * The resource type. + */ + type?: string; + } + /** - * The identifier for the entity that triggered the export. For on-demand runs it is the user email. For scheduled runs it is 'System'. + * The state of a private link service connection. */ - submittedBy?: string; + export interface PrivateLinkServiceConnectionStateResponse { + /** + * The private link service connection description. + */ + description?: string; + /** + * The private link service connection status. + */ + status?: string; + } + /** - * The time when export was queued to be run. + * A reference to an Azure resource. */ - submittedTime?: string; + export interface ResourceReferenceResponse { + /** + * The fully qualified Azure resource id. + */ + id?: string; + } + /** - * Resource type. + * Sysctl settings for Linux agent nodes. */ - type: string; - } + export interface SysctlConfigResponse { + /** + * Sysctl setting fs.aio-max-nr. + */ + fsAioMaxNr?: number; + /** + * Sysctl setting fs.file-max. + */ + fsFileMax?: number; + /** + * Sysctl setting fs.inotify.max_user_watches. + */ + fsInotifyMaxUserWatches?: number; + /** + * Sysctl setting fs.nr_open. + */ + fsNrOpen?: number; + /** + * Sysctl setting kernel.threads-max. + */ + kernelThreadsMax?: number; + /** + * Sysctl setting net.core.netdev_max_backlog. + */ + netCoreNetdevMaxBacklog?: number; + /** + * Sysctl setting net.core.optmem_max. + */ + netCoreOptmemMax?: number; + /** + * Sysctl setting net.core.rmem_default. + */ + netCoreRmemDefault?: number; + /** + * Sysctl setting net.core.rmem_max. + */ + netCoreRmemMax?: number; + /** + * Sysctl setting net.core.somaxconn. + */ + netCoreSomaxconn?: number; + /** + * Sysctl setting net.core.wmem_default. + */ + netCoreWmemDefault?: number; + /** + * Sysctl setting net.core.wmem_max. + */ + netCoreWmemMax?: number; + /** + * Sysctl setting net.ipv4.ip_local_port_range. + */ + netIpv4IpLocalPortRange?: string; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + */ + netIpv4NeighDefaultGcThresh1?: number; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + */ + netIpv4NeighDefaultGcThresh2?: number; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + */ + netIpv4NeighDefaultGcThresh3?: number; + /** + * Sysctl setting net.ipv4.tcp_fin_timeout. + */ + netIpv4TcpFinTimeout?: number; + /** + * Sysctl setting net.ipv4.tcp_keepalive_probes. + */ + netIpv4TcpKeepaliveProbes?: number; + /** + * Sysctl setting net.ipv4.tcp_keepalive_time. + */ + netIpv4TcpKeepaliveTime?: number; + /** + * Sysctl setting net.ipv4.tcp_max_syn_backlog. + */ + netIpv4TcpMaxSynBacklog?: number; + /** + * Sysctl setting net.ipv4.tcp_max_tw_buckets. + */ + netIpv4TcpMaxTwBuckets?: number; + /** + * Sysctl setting net.ipv4.tcp_tw_reuse. + */ + netIpv4TcpTwReuse?: boolean; + /** + * Sysctl setting net.ipv4.tcp_keepalive_intvl. + */ + netIpv4TcpkeepaliveIntvl?: number; + /** + * Sysctl setting net.netfilter.nf_conntrack_buckets. + */ + netNetfilterNfConntrackBuckets?: number; + /** + * Sysctl setting net.netfilter.nf_conntrack_max. + */ + netNetfilterNfConntrackMax?: number; + /** + * Sysctl setting vm.max_map_count. + */ + vmMaxMapCount?: number; + /** + * Sysctl setting vm.swappiness. + */ + vmSwappiness?: number; + /** + * Sysctl setting vm.vfs_cache_pressure. + */ + vmVfsCachePressure?: number; + } - /** - * The schedule associated with the export. - */ - export interface ExportScheduleResponse { /** - * The schedule recurrence. + * Metadata pertaining to creation and last modification of the resource. */ - recurrence?: string; + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + /** - * Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. + * Time in a week. */ - recurrencePeriod?: outputs.costmanagement.ExportRecurrencePeriodResponse; + export interface TimeInWeekResponse { + /** + * The day of the week. + */ + day?: string; + /** + * Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + */ + hourSlots?: number[]; + } + /** - * The status of the export's schedule. If 'Inactive', the export's schedule is paused. + * For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. */ - status?: string; - } + export interface TimeSpanResponse { + /** + * The end of a time span + */ + end?: string; + /** + * The start of a time span + */ + start?: string; + } - /** - * The date range for data in the export. This should only be specified with timeFrame set to 'Custom'. The maximum date range is 3 months. - */ - export interface ExportTimePeriodResponse { /** - * The start date for export data. + * Details about a user assigned identity. */ - from: string; + export interface UserAssignedIdentityResponse { + /** + * The client ID of the user assigned identity. + */ + clientId?: string; + /** + * The object ID of the user assigned identity. + */ + objectId?: string; + /** + * The resource ID of the user assigned identity. + */ + resourceId?: string; + } + /** - * The end date for export data. + * Windows gMSA Profile in the managed cluster. */ - to: string; + export interface WindowsGmsaProfileResponse { + /** + * Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + dnsServer?: string; + /** + * Specifies whether to enable Windows gMSA in the managed cluster. + */ + enabled?: boolean; + /** + * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + rootDomainName?: string; + } + } - /** - * Destination of the view data. This is optional. Currently only CSV format is supported. - */ - export interface FileDestinationResponse { + export namespace v20230502preview { /** - * Destination of the view data. Currently only CSV format is supported. + * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ - fileFormats?: string[]; - } + export interface AbsoluteMonthlyScheduleResponse { + /** + * The date of the month. + */ + dayOfMonth: number; + /** + * Specifies the number of months between each set of occurrences. + */ + intervalMonths: number; + } - /** - * The forecasted cost which is being tracked for a budget. - * - * Supported for CategoryType(s): Cost. - */ - export interface ForecastSpendResponse { /** - * The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type. + * Network settings of an agent pool. */ - amount: number; + export interface AgentPoolNetworkProfileResponse { + /** + * The port ranges that are allowed to access. The specified ranges are allowed to overlap. + */ + allowedHostPorts?: outputs.containerservice.v20230502preview.PortRangeResponse[]; + /** + * The IDs of the application security groups which agent pool will associate when created. + */ + applicationSecurityGroups?: string[]; + /** + * IPTags of instance-level public IPs. + */ + nodePublicIPTags?: outputs.containerservice.v20230502preview.IPTagResponse[]; + } + /** - * The unit of measure for the budget amount. + * Settings for upgrading an agentpool */ - unit: string; - } + export interface AgentPoolUpgradeSettingsResponse { + /** + * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + */ + maxSurge?: string; + } - /** - * Each KPI must contain a 'type' and 'enabled' key. - */ - export interface KpiPropertiesResponse { /** - * show the KPI in the UI? + * The Windows agent pool's specific profile. */ - enabled?: boolean; + export interface AgentPoolWindowsProfileResponse { + /** + * The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled. + */ + disableOutboundNat?: boolean; + } + /** - * ID of resource related to metric (budget). + * Azure Key Vault key management service settings for the security profile. */ - id?: string; + export interface AzureKeyVaultKmsResponse { + /** + * Whether to enable Azure Key Vault key management service. The default is false. + */ + enabled?: boolean; + /** + * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + */ + keyId?: string; + /** + * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + */ + keyVaultNetworkAccess?: string; + /** + * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + */ + keyVaultResourceId?: string; + } /** - * KPI type (Forecast, Budget). + * azureKeyVaultKmsResponseProvideDefaults sets the appropriate defaults for AzureKeyVaultKmsResponse */ - type?: string; - } + export function azureKeyVaultKmsResponseProvideDefaults(val: AzureKeyVaultKmsResponse): AzureKeyVaultKmsResponse { + return { + ...val, + keyVaultNetworkAccess: (val.keyVaultNetworkAccess) ?? "Public", + }; + } - /** - * The properties of the scheduled action notification. - */ - export interface NotificationPropertiesResponse { - /** - * Locale of the email. - */ - language?: string; /** - * Optional message to be added in the email. Length is limited to 250 characters. + * Settings for upgrading a cluster. */ - message?: string; + export interface ClusterUpgradeSettingsResponse { + /** + * Settings for overrides. + */ + overrideSettings?: outputs.containerservice.v20230502preview.UpgradeOverrideSettingsResponse; + } + /** - * Regional format used for formatting date/time and currency values in the email. + * Profile for Linux VMs in the container service cluster. */ - regionalFormat?: string; + export interface ContainerServiceLinuxProfileResponse { + /** + * The administrator username to use for Linux VMs. + */ + adminUsername: string; + /** + * The SSH configuration for Linux-based VMs running on Azure. + */ + ssh: outputs.containerservice.v20230502preview.ContainerServiceSshConfigurationResponse; + } + /** - * Subject of the email. Length is limited to 70 characters. + * Profile of network configuration. */ - subject: string; + export interface ContainerServiceNetworkProfileResponse { + /** + * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + */ + dnsServiceIP?: string; + /** + * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + */ + ipFamilies?: string[]; + /** + * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + */ + kubeProxyConfig?: outputs.containerservice.v20230502preview.ContainerServiceNetworkProfileResponseKubeProxyConfig; + /** + * Profile of the cluster load balancer. + */ + loadBalancerProfile?: outputs.containerservice.v20230502preview.ManagedClusterLoadBalancerProfileResponse; + /** + * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + */ + loadBalancerSku?: string; + /** + * This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format + */ + monitoring?: outputs.containerservice.v20230502preview.NetworkMonitoringResponse; + /** + * Profile of the cluster NAT gateway. + */ + natGatewayProfile?: outputs.containerservice.v20230502preview.ManagedClusterNATGatewayProfileResponse; + /** + * Network dataplane used in the Kubernetes cluster. + */ + networkDataplane?: string; + /** + * This cannot be specified if networkPlugin is anything other than 'azure'. + */ + networkMode?: string; + /** + * Network plugin used for building the Kubernetes network. + */ + networkPlugin?: string; + /** + * Network plugin mode used for building the Kubernetes network. + */ + networkPluginMode?: string; + /** + * Network policy used for building the Kubernetes network. + */ + networkPolicy?: string; + /** + * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + */ + outboundType?: string; + /** + * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + */ + podCidr?: string; + /** + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + */ + podCidrs?: string[]; + /** + * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + */ + serviceCidr?: string; + /** + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + */ + serviceCidrs?: string[]; + } /** - * Array of email addresses. + * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse */ - to: string[]; - } + export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { + return { + ...val, + dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", + loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.v20230502preview.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), + natGatewayProfile: (val.natGatewayProfile ? outputs.containerservice.v20230502preview.managedClusterNATGatewayProfileResponseProvideDefaults(val.natGatewayProfile) : undefined), + outboundType: (val.outboundType) ?? "loadBalancer", + podCidr: (val.podCidr) ?? "10.244.0.0/16", + serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", + }; + } - /** - * The notification associated with a budget. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - */ - export interface NotificationResponse { /** - * Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. + * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. */ - contactEmails: string[]; + export interface ContainerServiceNetworkProfileResponseIpvsConfig { + /** + * IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. + */ + scheduler?: string; + /** + * The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value. + */ + tcpFinTimeoutSeconds?: number; + /** + * The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. + */ + tcpTimeoutSeconds?: number; + /** + * The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. + */ + udpTimeoutSeconds?: number; + } + /** - * Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. - * - * Supported for CategoryType(s): Cost. + * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. */ - contactGroups?: string[]; + export interface ContainerServiceNetworkProfileResponseKubeProxyConfig { + /** + * Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations). + */ + enabled?: boolean; + /** + * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + */ + ipvsConfig?: outputs.containerservice.v20230502preview.ContainerServiceNetworkProfileResponseIpvsConfig; + /** + * Specify which proxy mode to use ('IPTABLES' or 'IPVS') + */ + mode?: string; + } + /** - * Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached. - * - * Supported for CategoryType(s): Cost. + * SSH configuration for Linux-based VMs running on Azure. */ - contactRoles?: string[]; + export interface ContainerServiceSshConfigurationResponse { + /** + * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + */ + publicKeys: outputs.containerservice.v20230502preview.ContainerServiceSshPublicKeyResponse[]; + } + /** - * The notification is enabled or not. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. + * Contains information about SSH certificate public key data. */ - enabled: boolean; + export interface ContainerServiceSshPublicKeyResponse { + /** + * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + */ + keyData: string; + } + /** - * Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days). - * - * Supported for CategoryType(s): ReservationUtilization. + * Data used when creating a target resource from a source resource. */ - frequency?: string; + export interface CreationDataResponse { + /** + * This is the ARM ID of the source object to be used to create the target object. + */ + sourceResourceId?: string; + } + /** - * Language in which the recipient will receive the notification, - * - * Supported for CategoryType(s): Cost, ReservationUtilization. + * The credential result response. */ - locale?: string; + export interface CredentialResultResponse { + /** + * The name of the credential. + */ + name: string; + /** + * Base64-encoded Kubernetes configuration file. + */ + value: string; + } + /** - * The comparison operator. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - * - * Supported operators for **CategoryType: Cost** - * - GreaterThan - * - GreaterThanOrEqualTo - * - * Supported operators for **CategoryType: ReservationUtilization** - * - LessThan + * For schedules like: 'recur every day' or 'recur every 3 days'. */ - operator: string; + export interface DailyScheduleResponse { + /** + * Specifies the number of days between each set of occurrences. + */ + intervalDays: number; + } + /** - * Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - * - * **CategoryType: Cost** - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold. - * - * **CategoryType: ReservationUtilization** - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold. + * For example, between '2022-12-23' and '2023-01-05'. */ - threshold: number; + export interface DateSpanResponse { + /** + * The end date of the date span. + */ + end: string; + /** + * The start date of the date span. + */ + start: string; + } + /** - * The type of threshold. - * - * Supported for CategoryType(s): Cost. + * The complex type of the extended location. */ - thresholdType?: string; - } - /** - * notificationResponseProvideDefaults sets the appropriate defaults for NotificationResponse - */ - export function notificationResponseProvideDefaults(val: NotificationResponse): NotificationResponse { - return { - ...val, - thresholdType: (val.thresholdType) ?? "Actual", - }; - } + export interface ExtendedLocationResponse { + /** + * The name of the extended location. + */ + name?: string; + /** + * The type of the extended location. + */ + type?: string; + } - /** - * Each pivot must contain a 'type' and 'name'. - */ - export interface PivotPropertiesResponse { /** - * Data field to show in view. + * The Guardrails profile. */ - name?: string; + export interface GuardrailsProfileResponse { + /** + * List of namespaces excluded from guardrails checks + */ + excludedNamespaces?: string[]; + /** + * The guardrails level to be used. By default, Guardrails is enabled for all namespaces except those that AKS excludes via systemExcludedNamespaces + */ + level: string; + /** + * List of namespaces specified by AKS to be excluded from Guardrails + */ + systemExcludedNamespaces: string[]; + /** + * The version of constraints to use + */ + version: string; + } + /** - * Data type to show in view. + * Contains the IPTag associated with the object. */ - type?: string; - } + export interface IPTagResponse { + /** + * The IP tag type. Example: RoutingPreference. + */ + ipTagType?: string; + /** + * The value of the IP tag associated with the public IP. Example: Internet. + */ + tag?: string; + } - /** - * The aggregation expression to be used in the report. - */ - export interface ReportAggregationResponse { /** - * The name of the aggregation function to use. + * Istio components configuration. */ - function: string; + export interface IstioComponentsResponse { + /** + * Istio ingress gateways. + */ + ingressGateways?: outputs.containerservice.v20230502preview.IstioIngressGatewayResponse[]; + } + /** - * The name of the column to aggregate. + * Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. */ - name: string; - } + export interface IstioIngressGatewayResponse { + /** + * Whether to enable the ingress gateway. + */ + enabled: boolean; + /** + * Mode of an ingress gateway. + */ + mode: string; + } - /** - * The comparison expression to be used in the report. - */ - export interface ReportComparisonExpressionResponse { /** - * The name of the column to use in comparison. + * Istio service mesh configuration. */ - name: string; + export interface IstioServiceMeshResponse { + /** + * Istio components configuration. + */ + components?: outputs.containerservice.v20230502preview.IstioComponentsResponse; + } + /** - * The operator to use for comparison. + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ - operator: string; + export interface KubeletConfigResponse { + /** + * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + */ + allowedUnsafeSysctls?: string[]; + /** + * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + */ + containerLogMaxFiles?: number; + /** + * The maximum size (e.g. 10Mi) of container log file before it is rotated. + */ + containerLogMaxSizeMB?: number; + /** + * The default is true. + */ + cpuCfsQuota?: boolean; + /** + * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + */ + cpuCfsQuotaPeriod?: string; + /** + * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + */ + cpuManagerPolicy?: string; + /** + * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + */ + failSwapOn?: boolean; + /** + * To disable image garbage collection, set to 100. The default is 85% + */ + imageGcHighThreshold?: number; + /** + * This cannot be set higher than imageGcHighThreshold. The default is 80% + */ + imageGcLowThreshold?: number; + /** + * The maximum number of processes per pod. + */ + podMaxPids?: number; + /** + * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + */ + topologyManagerPolicy?: string; + } + /** - * Array of values to use for comparison + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ - values: string[]; - } + export interface LinuxOSConfigResponse { + /** + * The size in MB of a swap file that will be created on each node. + */ + swapFileSizeMB?: number; + /** + * Sysctl settings for Linux agent nodes. + */ + sysctls?: outputs.containerservice.v20230502preview.SysctlConfigResponse; + /** + * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageDefrag?: string; + /** + * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageEnabled?: string; + } - /** - * The aggregation expression to be used in the report. - */ - export interface ReportConfigAggregationResponse { /** - * The name of the aggregation function to use. + * Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. */ - function: string; + export interface MaintenanceWindowResponse { + /** + * Length of maintenance window range from 4 to 24 hours. + */ + durationHours: number; + /** + * Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. + */ + notAllowedDates?: outputs.containerservice.v20230502preview.DateSpanResponse[]; + /** + * Recurrence schedule for the maintenance window. + */ + schedule: outputs.containerservice.v20230502preview.ScheduleResponse; + /** + * The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + */ + startDate?: string; + /** + * The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + */ + startTime: string; + /** + * The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. + */ + utcOffset?: string; + } /** - * The name of the column to aggregate. + * maintenanceWindowResponseProvideDefaults sets the appropriate defaults for MaintenanceWindowResponse */ - name: string; - } + export function maintenanceWindowResponseProvideDefaults(val: MaintenanceWindowResponse): MaintenanceWindowResponse { + return { + ...val, + durationHours: (val.durationHours) ?? 24, + }; + } - /** - * The comparison expression to be used in the report. - */ - export interface ReportConfigComparisonExpressionResponse { /** - * The name of the column to use in comparison. + * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). */ - name: string; - /** - * The operator to use for comparison. - */ - operator: string; - /** - * Array of values to use for comparison - */ - values: string[]; - } - - /** - * The configuration of dataset in the report. - */ - export interface ReportConfigDatasetConfigurationResponse { - /** - * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. - */ - columns?: string[]; - } - - /** - * The definition of data present in the report. - */ - export interface ReportConfigDatasetResponse { - /** - * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. - */ - aggregation?: {[key: string]: outputs.costmanagement.ReportConfigAggregationResponse}; - /** - * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. - */ - configuration?: outputs.costmanagement.ReportConfigDatasetConfigurationResponse; - /** - * Has filter expression to use in the report. - */ - filter?: outputs.costmanagement.ReportConfigFilterResponse; - /** - * The granularity of rows in the report. - */ - granularity?: string; - /** - * Array of group by expression to use in the report. Report can have up to 2 group by clauses. - */ - grouping?: outputs.costmanagement.ReportConfigGroupingResponse[]; - /** - * Array of order by expression to use in the report. - */ - sorting?: outputs.costmanagement.ReportConfigSortingResponse[]; - } - - /** - * The filter expression to be used in the report. - */ - export interface ReportConfigFilterResponse { - /** - * The logical "AND" expression. Must have at least 2 items. - */ - and?: outputs.costmanagement.ReportConfigFilterResponse[]; - /** - * Has comparison expression for a dimension - */ - dimensions?: outputs.costmanagement.ReportConfigComparisonExpressionResponse; - /** - * The logical "OR" expression. Must have at least 2 items. - */ - or?: outputs.costmanagement.ReportConfigFilterResponse[]; - /** - * Has comparison expression for a tag - */ - tags?: outputs.costmanagement.ReportConfigComparisonExpressionResponse; - } - - /** - * The group by expression to be used in the report. - */ - export interface ReportConfigGroupingResponse { - /** - * The name of the column to group. This version supports subscription lowest possible grain. - */ - name: string; - /** - * Has type of the column to group. - */ - type: string; - } - - /** - * The order by expression to be used in the report. - */ - export interface ReportConfigSortingResponse { - /** - * Direction of sort. - */ - direction?: string; - /** - * The name of the column to sort. - */ - name: string; - } - - /** - * The start and end date for pulling data for the report. - */ - export interface ReportConfigTimePeriodResponse { - /** - * The start date to pull data from. - */ - from: string; - /** - * The end date to pull data to. - */ - to: string; - } - - /** - * The configuration of dataset in the report. - */ - export interface ReportDatasetConfigurationResponse { - /** - * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. - */ - columns?: string[]; - } - - /** - * The definition of data present in the report. - */ - export interface ReportDatasetResponse { - /** - * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. - */ - aggregation?: {[key: string]: outputs.costmanagement.ReportAggregationResponse}; - /** - * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. - */ - configuration?: outputs.costmanagement.ReportDatasetConfigurationResponse; - /** - * Has filter expression to use in the report. - */ - filter?: outputs.costmanagement.ReportFilterResponse; - /** - * The granularity of rows in the report. - */ - granularity?: string; - /** - * Array of group by expression to use in the report. Report can have up to 2 group by clauses. - */ - grouping?: outputs.costmanagement.ReportGroupingResponse[]; - } - - /** - * The definition of a report. - */ - export interface ReportDefinitionResponse { - /** - * Has definition for data in this report. - */ - dataset?: outputs.costmanagement.ReportDatasetResponse; - /** - * Has time period for pulling data for the report. - */ - timePeriod?: outputs.costmanagement.ReportTimePeriodResponse; - /** - * The time frame for pulling data for the report. If custom, then a specific time period must be provided. - */ - timeframe: string; - /** - * The type of the report. - */ - type: string; - } - - /** - * The destination information for the delivery of the report. - */ - export interface ReportDeliveryDestinationResponse { - /** - * The name of the container where reports will be uploaded. - */ - container: string; - /** - * The resource id of the storage account where reports will be delivered. - */ - resourceId: string; - /** - * The name of the directory where reports will be uploaded. - */ - rootFolderPath?: string; - } - - /** - * The delivery information associated with a report. - */ - export interface ReportDeliveryInfoResponse { - /** - * Has destination for the report being delivered. - */ - destination: outputs.costmanagement.ReportDeliveryDestinationResponse; - } - - /** - * The filter expression to be used in the report. - */ - export interface ReportFilterResponse { - /** - * The logical "AND" expression. Must have at least 2 items. - */ - and?: outputs.costmanagement.ReportFilterResponse[]; - /** - * Has comparison expression for a dimension - */ - dimension?: outputs.costmanagement.ReportComparisonExpressionResponse; - /** - * The logical "NOT" expression. - */ - not?: outputs.costmanagement.ReportFilterResponse; - /** - * The logical "OR" expression. Must have at least 2 items. - */ - or?: outputs.costmanagement.ReportFilterResponse[]; - /** - * Has comparison expression for a tag - */ - tag?: outputs.costmanagement.ReportComparisonExpressionResponse; - } - - /** - * The group by expression to be used in the report. - */ - export interface ReportGroupingResponse { - /** - * The name of the column to group. - */ - name: string; - /** - * Has type of the column to group. - */ - type: string; - } - - /** - * The start and end date for recurrence schedule. - */ - export interface ReportRecurrencePeriodResponse { - /** - * The start date of recurrence. - */ - from: string; - /** - * The end date of recurrence. - */ - to?: string; - } - - /** - * The schedule associated with a report. - */ - export interface ReportScheduleResponse { - /** - * The schedule recurrence. - */ - recurrence: string; - /** - * Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. - */ - recurrencePeriod?: outputs.costmanagement.ReportRecurrencePeriodResponse; - /** - * The status of the schedule. Whether active or not. If inactive, the report's scheduled execution is paused. - */ - status?: string; - } - - /** - * The start and end date for pulling data for the report. - */ - export interface ReportTimePeriodResponse { - /** - * The start date to pull data from. - */ - from: string; - /** - * The end date to pull data to. - */ - to: string; - } - - /** - * The properties of the schedule. - */ - export interface SchedulePropertiesResponse { - /** - * UTC day on which cost analysis data will be emailed. Must be between 1 and 31. This property is applicable when frequency is Monthly and overrides weeksOfMonth or daysOfWeek. - */ - dayOfMonth?: number; - /** - * Day names in english on which cost analysis data will be emailed. This property is applicable when frequency is Weekly or Monthly. - */ - daysOfWeek?: string[]; - /** - * The end date and time of the scheduled action (UTC). - */ - endDate: string; - /** - * Frequency of the schedule. - */ - frequency: string; - /** - * UTC time at which cost analysis data will be emailed. - */ - hourOfDay?: number; - /** - * The start date and time of the scheduled action (UTC). - */ - startDate: string; - /** - * Weeks in which cost analysis data will be emailed. This property is applicable when frequency is Monthly and used in combination with daysOfWeek. - */ - weeksOfMonth?: string[]; - } - - export interface SettingsPropertiesResponseCache { - /** - * Indicates the account type. Allowed values include: EA, PAYG, Modern, Internal, Unknown. - */ - channel: string; - /** - * Resource ID used by Resource Manager to uniquely identify the scope. - */ - id: string; - /** - * Display name for the scope. - */ - name: string; - /** - * Resource ID of the parent scope. For instance, subscription's resource ID for a resource group or a management group resource ID for a subscription. - */ - parent?: string; - /** - * Indicates the status of the scope. Status only applies to subscriptions and billing accounts. - */ - status?: string; - /** - * Indicates the type of modern account. Allowed values include: Individual, Enterprise, Partner, Indirect, NotApplicable - */ - subchannel: string; - } - - /** - * Source resources for cost allocation - */ - export interface SourceCostAllocationResourceResponse { - /** - * If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag - */ - name: string; - /** - * Type of resources contained in this cost allocation rule - */ - resourceType: string; - /** - * Source Resources for cost allocation. This list cannot contain more than 25 values. - */ - values: string[]; - } - - /** - * Metadata pertaining to creation and last modification of the resource. - */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; - /** - * The type of identity that created the resource. - */ - createdByType?: string; - /** - * The timestamp of resource last modification (UTC) - */ - lastModifiedAt?: string; - /** - * The identity that last modified the resource. - */ - lastModifiedBy?: string; - /** - * The type of identity that last modified the resource. - */ - lastModifiedByType?: string; - } - - /** - * The properties of the tag inheritance setting. - */ - export interface TagInheritancePropertiesResponse { - /** - * When resource has the same tag as subscription or resource group and this property is set to true - the subscription or resource group tag will be applied. If subscription and resource group tags are also the same, subscription tag will be applied. - */ - preferContainerTags: boolean; - } - - /** - * Target resources for cost allocation. - */ - export interface TargetCostAllocationResourceResponse { - /** - * If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag - */ - name: string; - /** - * Method of cost allocation for the rule - */ - policyType: string; - /** - * Type of resources contained in this cost allocation rule - */ - resourceType: string; - /** - * Target resources for cost allocation. This list cannot contain more than 25 values. - */ - values: outputs.costmanagement.CostAllocationProportionResponse[]; - } - - export namespace v20180801preview { - /** - * Details of any error encountered on last collection attempt - */ - export interface ConnectorCollectionErrorInfoResponse { + export interface ManagedClusterAADProfileResponse { /** - * Short error message + * The list of AAD group object IDs that will have admin role of the cluster. */ - errorCode: string; + adminGroupObjectIDs?: string[]; /** - * Detailed error message + * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */ - errorMessage: string; + clientAppID?: string; /** - * Time the error started occurring (Last time error occurred in lastRun) + * Whether to enable Azure RBAC for Kubernetes authorization. */ - errorStartTime: string; - } - - /** - * Collection and ingestion information - */ - export interface ConnectorCollectionInfoResponse { + enableAzureRBAC?: boolean; /** - * Error information of last collection + * Whether to enable managed AAD. */ - error?: outputs.costmanagement.v20180801preview.ConnectorCollectionErrorInfoResponse; + managed?: boolean; /** - * Last time the data acquisition process completed (even if no new data was found) + * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */ - lastRun: string; + serverAppID?: string; /** - * Last time the external data was updated into Azure + * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. */ - lastUpdated: string; + serverAppSecret?: string; /** - * Source timestamp of external data currently available in Azure (eg AWS last processed CUR file timestamp) + * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. */ - sourceLastUpdated: string; + tenantID?: string; } /** - * The aggregation expression to be used in the report. + * Access profile for managed cluster API server. */ - export interface ReportAggregationResponse { + export interface ManagedClusterAPIServerAccessProfileResponse { /** - * The name of the aggregation function to use. + * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). */ - function: string; + authorizedIPRanges?: string[]; /** - * The name of the column to aggregate. + * Whether to disable run command for the cluster or not. */ - name: string; - } - - /** - * The comparison expression to be used in the report. - */ - export interface ReportComparisonExpressionResponse { + disableRunCommand?: boolean; /** - * The name of the column to use in comparison. + * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). */ - name: string; + enablePrivateCluster?: boolean; /** - * The operator to use for comparison. + * Whether to create additional public FQDN for private cluster or not. */ - operator: string; + enablePrivateClusterPublicFQDN?: boolean; /** - * Array of values to use for comparison + * Whether to enable apiserver vnet integration for the cluster or not. */ - values: string[]; - } - - /** - * The configuration of dataset in the report. - */ - export interface ReportDatasetConfigurationResponse { + enableVnetIntegration?: boolean; /** - * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. */ - columns?: string[]; + privateDNSZone?: string; + /** + * It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration. + */ + subnetId?: string; } /** - * The definition of data present in the report. + * A Kubernetes add-on profile for a managed cluster. */ - export interface ReportDatasetResponse { - /** - * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. - */ - aggregation?: {[key: string]: outputs.costmanagement.v20180801preview.ReportAggregationResponse}; - /** - * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. - */ - configuration?: outputs.costmanagement.v20180801preview.ReportDatasetConfigurationResponse; + export interface ManagedClusterAddonProfileResponse { /** - * Has filter expression to use in the report. + * Key-value pairs for configuring an add-on. */ - filter?: outputs.costmanagement.v20180801preview.ReportFilterResponse; + config?: {[key: string]: string}; /** - * The granularity of rows in the report. + * Whether the add-on is enabled or not. */ - granularity?: string; + enabled: boolean; /** - * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + * Information of user assigned identity used by this add-on. */ - grouping?: outputs.costmanagement.v20180801preview.ReportGroupingResponse[]; + identity: outputs.containerservice.v20230502preview.ManagedClusterAddonProfileResponseIdentity; } /** - * The definition of a report. + * Information of user assigned identity used by this add-on. */ - export interface ReportDefinitionResponse { - /** - * Has definition for data in this report. - */ - dataset?: outputs.costmanagement.v20180801preview.ReportDatasetResponse; + export interface ManagedClusterAddonProfileResponseIdentity { /** - * Has time period for pulling data for the report. + * The client ID of the user assigned identity. */ - timePeriod?: outputs.costmanagement.v20180801preview.ReportTimePeriodResponse; + clientId?: string; /** - * The time frame for pulling data for the report. If custom, then a specific time period must be provided. + * The object ID of the user assigned identity. */ - timeframe: string; + objectId?: string; /** - * The type of the report. + * The resource ID of the user assigned identity. */ - type: string; + resourceId?: string; } /** - * The destination information for the delivery of the report. + * Profile for the container service agent pool. */ - export interface ReportDeliveryDestinationResponse { + export interface ManagedClusterAgentPoolProfileResponse { /** - * The name of the container where reports will be uploaded. + * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */ - container: string; + availabilityZones?: string[]; /** - * The resource id of the storage account where reports will be delivered. + * AKS will associate the specified agent pool with the Capacity Reservation Group. */ - resourceId: string; + capacityReservationGroupID?: string; /** - * The name of the directory where reports will be uploaded. + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */ - rootFolderPath?: string; - } - - /** - * The delivery information associated with a report. - */ - export interface ReportDeliveryInfoResponse { + count?: number; /** - * Has destination for the report being delivered. + * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */ - destination: outputs.costmanagement.v20180801preview.ReportDeliveryDestinationResponse; - } - - /** - * The filter expression to be used in the report. - */ - export interface ReportFilterResponse { + creationData?: outputs.containerservice.v20230502preview.CreationDataResponse; /** - * The logical "AND" expression. Must have at least 2 items. + * If orchestratorVersion was a fully specified version , this field will be exactly equal to it. If orchestratorVersion was , this field will contain the full version being used. */ - and?: outputs.costmanagement.v20180801preview.ReportFilterResponse[]; + currentOrchestratorVersion: string; /** - * Has comparison expression for a dimension + * Whether to enable auto-scaler */ - dimension?: outputs.costmanagement.v20180801preview.ReportComparisonExpressionResponse; + enableAutoScaling?: boolean; /** - * The logical "NOT" expression. + * When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded certificates into node trust stores. Defaults to false. */ - not?: outputs.costmanagement.v20180801preview.ReportFilterResponse; + enableCustomCATrust?: boolean; /** - * The logical "OR" expression. Must have at least 2 items. + * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */ - or?: outputs.costmanagement.v20180801preview.ReportFilterResponse[]; + enableEncryptionAtHost?: boolean; /** - * Has comparison expression for a tag + * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. */ - tag?: outputs.costmanagement.v20180801preview.ReportComparisonExpressionResponse; - } - - /** - * The group by expression to be used in the report. - */ - export interface ReportGroupingResponse { + enableFIPS?: boolean; /** - * The name of the column to group. + * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. */ - name: string; + enableNodePublicIP?: boolean; /** - * Has type of the column to group. + * Whether to enable UltraSSD */ - type: string; - } - - /** - * The start and end date for recurrence schedule. - */ - export interface ReportRecurrencePeriodResponse { + enableUltraSSD?: boolean; /** - * The start date of recurrence. + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */ - from: string; + gpuInstanceProfile?: string; /** - * The end date of recurrence. + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */ - to?: string; - } - - /** - * The schedule associated with a report. - */ - export interface ReportScheduleResponse { + hostGroupID?: string; /** - * The schedule recurrence. + * The Kubelet configuration on the agent pool nodes. */ - recurrence: string; + kubeletConfig?: outputs.containerservice.v20230502preview.KubeletConfigResponse; /** - * Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */ - recurrencePeriod?: outputs.costmanagement.v20180801preview.ReportRecurrencePeriodResponse; + kubeletDiskType?: string; /** - * The status of the schedule. Whether active or not. If inactive, the report's scheduled execution is paused. + * The OS configuration of Linux agent nodes. */ - status?: string; - } - - /** - * The start and end date for pulling data for the report. - */ - export interface ReportTimePeriodResponse { + linuxOSConfig?: outputs.containerservice.v20230502preview.LinuxOSConfigResponse; /** - * The start date to pull data from. + * The maximum number of nodes for auto-scaling */ - from: string; + maxCount?: number; /** - * The end date to pull data to. + * The maximum number of pods that can run on a node. */ - to: string; - } - - } - - export namespace v20190301preview { - /** - * Details of any error encountered on last collection attempt - */ - export interface ConnectorCollectionErrorInfoResponse { + maxPods?: number; /** - * Short error code + * A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). */ - errorCode: string; + messageOfTheDay?: string; /** - * External Provider error message + * The minimum number of nodes for auto-scaling */ - errorInnerMessage: string; + minCount?: number; /** - * Detailed error message + * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */ - errorMessage: string; + mode?: string; /** - * Time the error started occurring (Last time error occurred in lastChecked) + * Windows agent pool names must be 6 characters or less. */ - errorStartTime: string; - } - - /** - * Collection and ingestion information - */ - export interface ConnectorCollectionInfoResponse { + name: string; /** - * Error information of last collection + * Network-related settings of an agent pool. */ - error?: outputs.costmanagement.v20190301preview.ConnectorCollectionErrorInfoResponse; + networkProfile?: outputs.containerservice.v20230502preview.AgentPoolNetworkProfileResponse; /** - * Last time the data acquisition process initiated connecting to the external provider + * The version of node image */ - lastChecked: string; + nodeImageVersion: string; /** - * Last time the external data was updated into Azure + * The node labels to be persisted across all nodes in agent pool. */ - lastUpdated: string; + nodeLabels?: {[key: string]: string}; /** - * Source timestamp of external data currently available in Azure (eg AWS last processed CUR file timestamp) + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */ - sourceLastUpdated: string; - } - - } - - export namespace v20190401preview { - /** - * The start and end date for a budget. - */ - export interface BudgetTimePeriodResponse { + nodePublicIPPrefixID?: string; /** - * The end date for the budget. If not provided, we default this to 10 years from the start date. + * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */ - endDate?: string; + nodeTaints?: string[]; /** - * The start date for the budget. + * Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ - startDate: string; - } - - /** - * The current amount of cost which is being tracked for a budget. - */ - export interface CurrentSpendResponse { + orchestratorVersion?: string; /** - * The total amount of cost which is being tracked by the budget. + * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. */ - amount: number; + osDiskSizeGB?: number; /** - * The unit of measure for the budget amount. + * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */ - unit: string; - } - - /** - * The notification associated with a budget. - */ - export interface NotificationResponse { + osDiskType?: string; /** - * Email addresses to send the budget notification to when the threshold is exceeded. + * Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. */ - contactEmails: string[]; + osSKU?: string; /** - * Action groups to send the budget notification to when the threshold is exceeded. + * The operating system type. The default is Linux. */ - contactGroups?: string[]; + osType?: string; /** - * Contact roles to send the budget notification to when the threshold is exceeded. + * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ - contactRoles?: string[]; + podSubnetID?: string; /** - * The notification is enabled or not. + * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */ - enabled: boolean; + powerState?: outputs.containerservice.v20230502preview.PowerStateResponse; /** - * The comparison operator. + * The current deployment or provisioning state. */ - operator: string; + provisioningState: string; /** - * Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000. + * The ID for Proximity Placement Group. */ - threshold: number; - } - - /** - * The comparison expression to be used in the report. - */ - export interface ReportConfigComparisonExpressionResponse { + proximityPlacementGroupID?: string; /** - * The name of the column to use in comparison. + * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */ - name: string; + scaleDownMode?: string; /** - * The operator to use for comparison. + * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. */ - operator: string; + scaleSetEvictionPolicy?: string; /** - * Array of values to use for comparison + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. */ - values: string[]; - } - - /** - * The filter expression to be used in the report. - */ - export interface ReportConfigFilterResponse { + scaleSetPriority?: string; /** - * The logical "AND" expression. Must have at least 2 items. + * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */ - and?: outputs.costmanagement.v20190401preview.ReportConfigFilterResponse[]; + spotMaxPrice?: number; /** - * Has comparison expression for a dimension + * The tags to be persisted on the agent pool virtual machine scale set. */ - dimension?: outputs.costmanagement.v20190401preview.ReportConfigComparisonExpressionResponse; + tags?: {[key: string]: string}; /** - * The logical "NOT" expression. + * The type of Agent Pool. */ - not?: outputs.costmanagement.v20190401preview.ReportConfigFilterResponse; + type?: string; /** - * The logical "OR" expression. Must have at least 2 items. + * Settings for upgrading the agentpool */ - or?: outputs.costmanagement.v20190401preview.ReportConfigFilterResponse[]; + upgradeSettings?: outputs.containerservice.v20230502preview.AgentPoolUpgradeSettingsResponse; /** - * Has comparison expression for a tag + * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */ - tag?: outputs.costmanagement.v20190401preview.ReportConfigComparisonExpressionResponse; - } - - } - - export namespace v20191001 { - /** - * The destination information for the delivery of the export. - */ - export interface ExportDeliveryDestinationResponse { + vmSize?: string; /** - * The name of the container where exports will be uploaded. + * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ - container: string; + vnetSubnetID?: string; /** - * The resource id of the storage account where exports will be delivered. + * The Windows agent pool's specific profile. */ - resourceId: string; + windowsProfile?: outputs.containerservice.v20230502preview.AgentPoolWindowsProfileResponse; /** - * The name of the directory where exports will be uploaded. + * Determines the type of workload a node can run. */ - rootFolderPath?: string; + workloadRuntime?: string; } /** - * The delivery information associated with a export. + * Auto upgrade profile for a managed cluster. */ - export interface ExportDeliveryInfoResponse { + export interface ManagedClusterAutoUpgradeProfileResponse { /** - * Has destination for the export being delivered. + * The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. */ - destination: outputs.costmanagement.v20191001.ExportDeliveryDestinationResponse; + nodeOSUpgradeChannel?: string; + /** + * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + */ + upgradeChannel?: string; } /** - * The start and end date for recurrence schedule. + * Kube State Metrics for prometheus addon profile for the container service cluster */ - export interface ExportRecurrencePeriodResponse { + export interface ManagedClusterAzureMonitorProfileKubeStateMetricsResponse { /** - * The start date of recurrence. + * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. */ - from: string; + metricAnnotationsAllowList?: string; /** - * The end date of recurrence. + * Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels metric. */ - to?: string; + metricLabelsAllowlist?: string; } /** - * The schedule associated with a export. + * Metrics profile for the prometheus service addon */ - export interface ExportScheduleResponse { - /** - * The schedule recurrence. - */ - recurrence: string; + export interface ManagedClusterAzureMonitorProfileMetricsResponse { /** - * Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. + * Whether to enable the Prometheus collector */ - recurrencePeriod?: outputs.costmanagement.v20191001.ExportRecurrencePeriodResponse; + enabled: boolean; /** - * The status of the schedule. Whether active or not. If inactive, the export's scheduled execution is paused. + * Kube State Metrics for prometheus addon profile for the container service cluster */ - status?: string; + kubeStateMetrics?: outputs.containerservice.v20230502preview.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse; } /** - * The aggregation expression to be used in the query. + * Prometheus addon profile for the container service cluster */ - export interface QueryAggregationResponse { - /** - * The name of the aggregation function to use. - */ - function: string; + export interface ManagedClusterAzureMonitorProfileResponse { /** - * The name of the column to aggregate. + * Metrics profile for the prometheus service addon */ - name: string; + metrics?: outputs.containerservice.v20230502preview.ManagedClusterAzureMonitorProfileMetricsResponse; } /** - * The comparison expression to be used in the query. + * Cluster HTTP proxy configuration. */ - export interface QueryComparisonExpressionResponse { + export interface ManagedClusterHTTPProxyConfigResponse { /** - * The name of the column to use in comparison. + * A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a superset of noProxy and values injected by AKS. */ - name: string; + effectiveNoProxy: string[]; /** - * The operator to use for comparison. + * The HTTP proxy server endpoint to use. */ - operator: string; + httpProxy?: string; /** - * Array of values to use for comparison + * The HTTPS proxy server endpoint to use. */ - values: string[]; - } - - /** - * The configuration of dataset in the query. - */ - export interface QueryDatasetConfigurationResponse { + httpsProxy?: string; /** - * Array of column names to be included in the query. Any valid query column name is allowed. If not provided, then query includes all columns. + * The endpoints that should not go through proxy. */ - columns?: string[]; + noProxy?: string[]; + /** + * Alternative CA cert to use for connecting to proxy servers. + */ + trustedCa?: string; } /** - * The definition of data present in the query. + * Identity for the managed cluster. */ - export interface QueryDatasetResponse { + export interface ManagedClusterIdentityResponse { /** - * Dictionary of aggregation expression to use in the query. The key of each item in the dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses. + * The principal id of the system assigned identity which is used by master components. */ - aggregation?: {[key: string]: outputs.costmanagement.v20191001.QueryAggregationResponse}; + principalId: string; /** - * Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided. + * The tenant id of the system assigned identity which is used by master components. */ - configuration?: outputs.costmanagement.v20191001.QueryDatasetConfigurationResponse; + tenantId: string; /** - * The filter expression to use in the query. Please reference our Query API REST documentation for how to properly format the filter. + * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */ - filter?: outputs.costmanagement.v20191001.QueryFilterResponse; + type?: string; /** - * The granularity of rows in the query. + * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */ - granularity?: string; + userAssignedIdentities?: {[key: string]: outputs.containerservice.v20230502preview.ManagedClusterIdentityResponseUserAssignedIdentities}; + } + + export interface ManagedClusterIdentityResponseUserAssignedIdentities { /** - * Array of group by expression to use in the query. Query can have up to 2 group by clauses. + * The client id of user assigned identity. */ - grouping?: outputs.costmanagement.v20191001.QueryGroupingResponse[]; + clientId: string; /** - * Array of sorting by columns in query. + * The principal id of user assigned identity. */ - sorting?: outputs.costmanagement.v20191001.QuerySortingConfigurationResponse[]; + principalId: string; } /** - * The definition of a query. + * Ingress profile for the container service cluster. */ - export interface QueryDefinitionResponse { + export interface ManagedClusterIngressProfileResponse { /** - * Has definition for data in this query. + * Web App Routing settings for the ingress profile. */ - dataset?: outputs.costmanagement.v20191001.QueryDatasetResponse; + webAppRouting?: outputs.containerservice.v20230502preview.ManagedClusterIngressProfileWebAppRoutingResponse; + } + + /** + * Web App Routing settings for the ingress profile. + */ + export interface ManagedClusterIngressProfileWebAppRoutingResponse { /** - * Has time period for pulling data for the query. + * Resource ID of the DNS Zone to be associated with the web app. Used only when Web App Routing is enabled. */ - timePeriod?: outputs.costmanagement.v20191001.QueryTimePeriodResponse; + dnsZoneResourceId?: string; /** - * The time frame for pulling data for the query. If custom, then a specific time period must be provided. + * Whether to enable Web App Routing. */ - timeframe: string; + enabled?: boolean; /** - * The type of the query. + * Managed identity of the Web Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. */ - type: string; + identity: outputs.containerservice.v20230502preview.UserAssignedIdentityResponse; } /** - * The filter expression to be used in the export. + * Profile of the managed cluster load balancer. */ - export interface QueryFilterResponse { + export interface ManagedClusterLoadBalancerProfileResponse { /** - * The logical "AND" expression. Must have at least 2 items. + * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. */ - and?: outputs.costmanagement.v20191001.QueryFilterResponse[]; + allocatedOutboundPorts?: number; /** - * Has comparison expression for a dimension + * The type of the managed inbound Load Balancer BackendPool. */ - dimension?: outputs.costmanagement.v20191001.QueryComparisonExpressionResponse; + backendPoolType?: string; /** - * The logical "NOT" expression. + * The effective outbound IP resources of the cluster load balancer. */ - not?: outputs.costmanagement.v20191001.QueryFilterResponse; + effectiveOutboundIPs?: outputs.containerservice.v20230502preview.ResourceReferenceResponse[]; /** - * The logical "OR" expression. Must have at least 2 items. + * Enable multiple standard load balancers per AKS cluster or not. */ - or?: outputs.costmanagement.v20191001.QueryFilterResponse[]; + enableMultipleStandardLoadBalancers?: boolean; /** - * Has comparison expression for a tag + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. */ - tag?: outputs.costmanagement.v20191001.QueryComparisonExpressionResponse; - } - - /** - * The group by expression to be used in the query. - */ - export interface QueryGroupingResponse { + idleTimeoutInMinutes?: number; /** - * The name of the column to group. + * Desired managed outbound IPs for the cluster load balancer. */ - name: string; + managedOutboundIPs?: outputs.containerservice.v20230502preview.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; /** - * Has type of the column to group. + * Desired outbound IP Prefix resources for the cluster load balancer. */ - type: string; + outboundIPPrefixes?: outputs.containerservice.v20230502preview.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; + /** + * Desired outbound IP resources for the cluster load balancer. + */ + outboundIPs?: outputs.containerservice.v20230502preview.ManagedClusterLoadBalancerProfileResponseOutboundIPs; } - /** - * The configuration for sorting in the query. + * managedClusterLoadBalancerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponse */ - export interface QuerySortingConfigurationResponse { - /** - * The name of the column to use in sorting. - */ - name?: string; - /** - * The sorting direction - */ - querySortingDirection?: string; + export function managedClusterLoadBalancerProfileResponseProvideDefaults(val: ManagedClusterLoadBalancerProfileResponse): ManagedClusterLoadBalancerProfileResponse { + return { + ...val, + allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, + backendPoolType: (val.backendPoolType) ?? "NodeIPConfiguration", + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, + managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.v20230502preview.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), + }; } /** - * The start and end date for pulling data for the query. + * Desired managed outbound IPs for the cluster load balancer. */ - export interface QueryTimePeriodResponse { + export interface ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { /** - * The start date to pull data from. + * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. */ - from: string; + count?: number; /** - * The end date to pull data to. + * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. */ - to: string; + countIPv6?: number; + } + /** + * managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs + */ + export function managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val: ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs): ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + return { + ...val, + count: (val.count) ?? 1, + countIPv6: (val.countIPv6) ?? 0, + }; } - } - - export namespace v20191101 { /** - * Each KPI must contain a 'type' and 'enabled' key. + * Desired outbound IP Prefix resources for the cluster load balancer. */ - export interface KpiPropertiesResponse { - /** - * show the KPI in the UI? - */ - enabled?: boolean; - /** - * ID of resource related to metric (budget). - */ - id?: string; + export interface ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes { /** - * KPI type (Forecast, Budget). + * A list of public IP prefix resources. */ - type?: string; + publicIPPrefixes?: outputs.containerservice.v20230502preview.ResourceReferenceResponse[]; } /** - * Each pivot must contain a 'type' and 'name'. + * Desired outbound IP resources for the cluster load balancer. */ - export interface PivotPropertiesResponse { - /** - * Data field to show in view. - */ - name?: string; + export interface ManagedClusterLoadBalancerProfileResponseOutboundIPs { /** - * Data type to show in view. + * A list of public IP resources. */ - type?: string; + publicIPs?: outputs.containerservice.v20230502preview.ResourceReferenceResponse[]; } /** - * The aggregation expression to be used in the report. + * Profile of the managed outbound IP resources of the managed cluster. */ - export interface ReportConfigAggregationResponse { - /** - * The name of the aggregation function to use. - */ - function: string; + export interface ManagedClusterManagedOutboundIPProfileResponse { /** - * The name of the column to aggregate. + * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. */ - name: string; + count?: number; + } + /** + * managedClusterManagedOutboundIPProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterManagedOutboundIPProfileResponse + */ + export function managedClusterManagedOutboundIPProfileResponseProvideDefaults(val: ManagedClusterManagedOutboundIPProfileResponse): ManagedClusterManagedOutboundIPProfileResponse { + return { + ...val, + count: (val.count) ?? 1, + }; } /** - * The comparison expression to be used in the report. + * Profile of the managed cluster NAT gateway. */ - export interface ReportConfigComparisonExpressionResponse { + export interface ManagedClusterNATGatewayProfileResponse { /** - * The name of the column to use in comparison. + * The effective outbound IP resources of the cluster NAT gateway. */ - name: string; + effectiveOutboundIPs?: outputs.containerservice.v20230502preview.ResourceReferenceResponse[]; /** - * The operator to use for comparison. + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. */ - operator: string; + idleTimeoutInMinutes?: number; /** - * Array of values to use for comparison + * Profile of the managed outbound IP resources of the cluster NAT gateway. */ - values: string[]; + managedOutboundIPProfile?: outputs.containerservice.v20230502preview.ManagedClusterManagedOutboundIPProfileResponse; + } + /** + * managedClusterNATGatewayProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileResponse + */ + export function managedClusterNATGatewayProfileResponseProvideDefaults(val: ManagedClusterNATGatewayProfileResponse): ManagedClusterNATGatewayProfileResponse { + return { + ...val, + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, + managedOutboundIPProfile: (val.managedOutboundIPProfile ? outputs.containerservice.v20230502preview.managedClusterManagedOutboundIPProfileResponseProvideDefaults(val.managedOutboundIPProfile) : undefined), + }; } /** - * The configuration of dataset in the report. + * Node resource group lockdown profile for a managed cluster. */ - export interface ReportConfigDatasetConfigurationResponse { + export interface ManagedClusterNodeResourceGroupProfileResponse { /** - * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + * The restriction level applied to the cluster's node resource group */ - columns?: string[]; + restrictionLevel?: string; } /** - * The definition of data present in the report. + * The OIDC issuer profile of the Managed Cluster. */ - export interface ReportConfigDatasetResponse { - /** - * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. - */ - aggregation?: {[key: string]: outputs.costmanagement.v20191101.ReportConfigAggregationResponse}; + export interface ManagedClusterOIDCIssuerProfileResponse { /** - * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. + * Whether the OIDC issuer is enabled. */ - configuration?: outputs.costmanagement.v20191101.ReportConfigDatasetConfigurationResponse; + enabled?: boolean; /** - * Has filter expression to use in the report. + * The OIDC issuer url of the Managed Cluster. */ - filter?: outputs.costmanagement.v20191101.ReportConfigFilterResponse; + issuerURL: string; + } + + /** + * See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + */ + export interface ManagedClusterPodIdentityExceptionResponse { /** - * The granularity of rows in the report. + * The name of the pod identity exception. */ - granularity?: string; + name: string; /** - * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + * The namespace of the pod identity exception. */ - grouping?: outputs.costmanagement.v20191101.ReportConfigGroupingResponse[]; + namespace: string; /** - * Array of order by expression to use in the report. + * The pod labels to match. */ - sorting?: outputs.costmanagement.v20191101.ReportConfigSortingResponse[]; + podLabels: {[key: string]: string}; } /** - * The filter expression to be used in the report. + * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. */ - export interface ReportConfigFilterResponse { - /** - * The logical "AND" expression. Must have at least 2 items. - */ - and?: outputs.costmanagement.v20191101.ReportConfigFilterResponse[]; - /** - * Has comparison expression for a dimension - */ - dimensions?: outputs.costmanagement.v20191101.ReportConfigComparisonExpressionResponse; + export interface ManagedClusterPodIdentityProfileResponse { /** - * The logical "OR" expression. Must have at least 2 items. + * Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. */ - or?: outputs.costmanagement.v20191101.ReportConfigFilterResponse[]; + allowNetworkPluginKubenet?: boolean; /** - * Has comparison expression for a tag key + * Whether the pod identity addon is enabled. */ - tagKey?: outputs.costmanagement.v20191101.ReportConfigComparisonExpressionResponse; + enabled?: boolean; /** - * Has comparison expression for a tag value + * The pod identities to use in the cluster. */ - tagValue?: outputs.costmanagement.v20191101.ReportConfigComparisonExpressionResponse; + userAssignedIdentities?: outputs.containerservice.v20230502preview.ManagedClusterPodIdentityResponse[]; /** - * Has comparison expression for a tag + * The pod identity exceptions to allow. */ - tags?: outputs.costmanagement.v20191101.ReportConfigComparisonExpressionResponse; + userAssignedIdentityExceptions?: outputs.containerservice.v20230502preview.ManagedClusterPodIdentityExceptionResponse[]; } /** - * The group by expression to be used in the report. + * An error response from the pod identity provisioning. */ - export interface ReportConfigGroupingResponse { + export interface ManagedClusterPodIdentityProvisioningErrorBodyResponse { /** - * The name of the column to group. This version supports subscription lowest possible grain. + * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */ - name: string; + code?: string; /** - * Has type of the column to group. + * A list of additional details about the error. */ - type: string; - } - - /** - * The order by expression to be used in the report. - */ - export interface ReportConfigSortingResponse { + details?: outputs.containerservice.v20230502preview.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; /** - * Direction of sort. + * A message describing the error, intended to be suitable for display in a user interface. */ - direction?: string; + message?: string; /** - * The name of the column to sort. + * The target of the particular error. For example, the name of the property in error. */ - name: string; + target?: string; } /** - * The start and end date for pulling data for the report. + * An error response from the pod identity provisioning. */ - export interface ReportConfigTimePeriodResponse { - /** - * The start date to pull data from. - */ - from: string; + export interface ManagedClusterPodIdentityProvisioningErrorResponse { /** - * The end date to pull data to. + * Details about the error. */ - to: string; + error?: outputs.containerservice.v20230502preview.ManagedClusterPodIdentityProvisioningErrorBodyResponse; } - export interface SettingsPropertiesResponseCache { + /** + * Details about the pod identity assigned to the Managed Cluster. + */ + export interface ManagedClusterPodIdentityResponse { /** - * Indicates the account type. Allowed values include: EA, PAYG, Modern, Internal, Unknown. + * The binding selector to use for the AzureIdentityBinding resource. */ - channel: string; + bindingSelector?: string; /** - * Resource ID used by Resource Manager to uniquely identify the scope. + * The user assigned identity details. */ - id: string; + identity: outputs.containerservice.v20230502preview.UserAssignedIdentityResponse; /** - * Display name for the scope. + * The name of the pod identity. */ name: string; /** - * Resource ID of the parent scope. For instance, subscription's resource ID for a resource group or a management group resource ID for a subscription. + * The namespace of the pod identity. */ - parent?: string; + namespace: string; + provisioningInfo: outputs.containerservice.v20230502preview.ManagedClusterPodIdentityResponseProvisioningInfo; /** - * Indicates the status of the scope. Status only applies to subscriptions and billing accounts. + * The current provisioning state of the pod identity. */ - status?: string; + provisioningState: string; + } + + export interface ManagedClusterPodIdentityResponseProvisioningInfo { /** - * Indicates the type of modern account. Allowed values include: Individual, Enterprise, Partner, Indirect, NotApplicable + * Pod identity assignment error (if any). */ - subchannel: string; + error?: outputs.containerservice.v20230502preview.ManagedClusterPodIdentityProvisioningErrorResponse; } - } - - export namespace v20200301preview { /** - * Target resources and allocation + * managed cluster properties for snapshot, these properties are read only. */ - export interface CostAllocationProportionResponse { + export interface ManagedClusterPropertiesForSnapshotResponse { /** - * Target resource for cost allocation + * Whether the cluster has enabled Kubernetes Role-Based Access Control or not. */ - name: string; + enableRbac?: boolean; /** - * Percentage of source cost to allocate to this resource. This value can be specified to two decimal places and the total percentage of all resources in this rule must sum to 100.00. + * The current kubernetes version. */ - percentage: number; - } - - /** - * Resource details of the cost allocation rule - */ - export interface CostAllocationRuleDetailsResponse { + kubernetesVersion?: string; /** - * Source resources for cost allocation. At this time, this list can contain no more than one element. + * The current network profile. */ - sourceResources?: outputs.costmanagement.v20200301preview.SourceCostAllocationResourceResponse[]; + networkProfile: outputs.containerservice.v20230502preview.NetworkProfileForSnapshotResponse; /** - * Target resources for cost allocation. At this time, this list can contain no more than one element. + * The current managed cluster sku. */ - targetResources?: outputs.costmanagement.v20200301preview.TargetCostAllocationResourceResponse[]; + sku?: outputs.containerservice.v20230502preview.ManagedClusterSKUResponse; } /** - * The properties of a cost allocation rule + * Parameters to be applied to the cluster-autoscaler when enabled */ - export interface CostAllocationRulePropertiesResponse { + export interface ManagedClusterPropertiesResponseAutoScalerProfile { /** - * Time at which the rule was created. Rules that change cost for the same resource are applied in order of creation. + * Valid values are 'true' and 'false' */ - createdDate: string; + balanceSimilarNodeGroups?: string; /** - * Description of a cost allocation rule. + * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */ - description?: string; + expander?: string; /** - * Resource information for the cost allocation rule + * The default is 10. */ - details: outputs.costmanagement.v20200301preview.CostAllocationRuleDetailsResponse; + maxEmptyBulkDelete?: string; /** - * Status of the rule + * The default is 600. */ - status: string; + maxGracefulTerminationSec?: string; /** - * Time at which the rule was last updated. + * The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - updatedDate: string; - } - - /** - * Source resources for cost allocation - */ - export interface SourceCostAllocationResourceResponse { + maxNodeProvisionTime?: string; /** - * If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag + * The default is 45. The maximum is 100 and the minimum is 0. */ - name: string; + maxTotalUnreadyPercentage?: string; /** - * Type of resources contained in this cost allocation rule + * For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). */ - resourceType: string; + newPodScaleUpDelay?: string; /** - * Source Resources for cost allocation. This list cannot contain more than 25 values. + * This must be an integer. The default is 3. */ - values: string[]; - } - - /** - * Target resources for cost allocation. - */ - export interface TargetCostAllocationResourceResponse { + okTotalUnreadyCount?: string; /** - * If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - name: string; + scaleDownDelayAfterAdd?: string; /** - * Method of cost allocation for the rule + * The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - policyType: string; + scaleDownDelayAfterDelete?: string; /** - * Type of resources contained in this cost allocation rule + * The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - resourceType: string; + scaleDownDelayAfterFailure?: string; /** - * Target resources for cost allocation. This list cannot contain more than 25 values. + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - values: outputs.costmanagement.v20200301preview.CostAllocationProportionResponse[]; - } - - } - - export namespace v20200601 { - /** - * Each KPI must contain a 'type' and 'enabled' key. - */ - export interface KpiPropertiesResponse { + scaleDownUnneededTime?: string; /** - * show the KPI in the UI? + * The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - enabled?: boolean; + scaleDownUnreadyTime?: string; /** - * ID of resource related to metric (budget). + * The default is '0.5'. */ - id?: string; + scaleDownUtilizationThreshold?: string; /** - * KPI type (Forecast, Budget). + * The default is '10'. Values must be an integer number of seconds. */ - type?: string; + scanInterval?: string; + /** + * The default is true. + */ + skipNodesWithLocalStorage?: string; + /** + * The default is true. + */ + skipNodesWithSystemPods?: string; } /** - * Each pivot must contain a 'type' and 'name'. + * The SKU of a Managed Cluster. */ - export interface PivotPropertiesResponse { + export interface ManagedClusterSKUResponse { /** - * Data field to show in view. + * The name of a managed cluster SKU. */ name?: string; /** - * Data type to show in view. + * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */ - type?: string; + tier?: string; } /** - * The aggregation expression to be used in the report. + * Microsoft Defender settings for the security profile. */ - export interface ReportConfigAggregationResponse { + export interface ManagedClusterSecurityProfileDefenderResponse { /** - * The name of the aggregation function to use. + * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. */ - function: string; + logAnalyticsWorkspaceResourceId?: string; /** - * The name of the column to aggregate. + * Microsoft Defender threat detection for Cloud settings for the security profile. */ - name: string; + securityMonitoring?: outputs.containerservice.v20230502preview.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse; } /** - * The comparison expression to be used in the report. + * Microsoft Defender settings for the security profile threat detection. */ - export interface ReportConfigComparisonExpressionResponse { + export interface ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse { /** - * The name of the column to use in comparison. + * Whether to enable Defender threat detection */ - name: string; + enabled?: boolean; + } + + /** + * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. + */ + export interface ManagedClusterSecurityProfileImageCleanerResponse { /** - * The operator to use for comparison. + * Whether to enable Image Cleaner on AKS cluster. */ - operator: string; + enabled?: boolean; /** - * Array of values to use for comparison + * Image Cleaner scanning interval in hours. */ - values: string[]; + intervalHours?: number; } /** - * The configuration of dataset in the report. + * Node Restriction settings for the security profile. */ - export interface ReportConfigDatasetConfigurationResponse { + export interface ManagedClusterSecurityProfileNodeRestrictionResponse { /** - * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + * Whether to enable Node Restriction */ - columns?: string[]; + enabled?: boolean; } /** - * The definition of data present in the report. + * Security profile for the container service cluster. */ - export interface ReportConfigDatasetResponse { + export interface ManagedClusterSecurityProfileResponse { /** - * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. + * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. */ - aggregation?: {[key: string]: outputs.costmanagement.v20200601.ReportConfigAggregationResponse}; + azureKeyVaultKms?: outputs.containerservice.v20230502preview.AzureKeyVaultKmsResponse; /** - * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. + * A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the Custom CA Trust feature enabled. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) */ - configuration?: outputs.costmanagement.v20200601.ReportConfigDatasetConfigurationResponse; + customCATrustCertificates?: string[]; /** - * Has filter expression to use in the report. + * Microsoft Defender settings for the security profile. */ - filter?: outputs.costmanagement.v20200601.ReportConfigFilterResponse; + defender?: outputs.containerservice.v20230502preview.ManagedClusterSecurityProfileDefenderResponse; /** - * The granularity of rows in the report. + * Image Cleaner settings for the security profile. */ - granularity?: string; + imageCleaner?: outputs.containerservice.v20230502preview.ManagedClusterSecurityProfileImageCleanerResponse; /** - * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + * [Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile. */ - grouping?: outputs.costmanagement.v20200601.ReportConfigGroupingResponse[]; + nodeRestriction?: outputs.containerservice.v20230502preview.ManagedClusterSecurityProfileNodeRestrictionResponse; /** - * Array of order by expression to use in the report. + * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. */ - sorting?: outputs.costmanagement.v20200601.ReportConfigSortingResponse[]; + workloadIdentity?: outputs.containerservice.v20230502preview.ManagedClusterSecurityProfileWorkloadIdentityResponse; } - /** - * The filter expression to be used in the report. + * managedClusterSecurityProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileResponse */ - export interface ReportConfigFilterResponse { - /** - * The logical "AND" expression. Must have at least 2 items. - */ - and?: outputs.costmanagement.v20200601.ReportConfigFilterResponse[]; - /** - * Has comparison expression for a dimension - */ - dimension?: outputs.costmanagement.v20200601.ReportConfigComparisonExpressionResponse; - /** - * The logical "NOT" expression. - */ - not?: outputs.costmanagement.v20200601.ReportConfigFilterResponse; - /** - * The logical "OR" expression. Must have at least 2 items. - */ - or?: outputs.costmanagement.v20200601.ReportConfigFilterResponse[]; - /** - * Has comparison expression for a tag - */ - tag?: outputs.costmanagement.v20200601.ReportConfigComparisonExpressionResponse; + export function managedClusterSecurityProfileResponseProvideDefaults(val: ManagedClusterSecurityProfileResponse): ManagedClusterSecurityProfileResponse { + return { + ...val, + azureKeyVaultKms: (val.azureKeyVaultKms ? outputs.containerservice.v20230502preview.azureKeyVaultKmsResponseProvideDefaults(val.azureKeyVaultKms) : undefined), + }; } /** - * The group by expression to be used in the report. + * Workload identity settings for the security profile. */ - export interface ReportConfigGroupingResponse { - /** - * The name of the column to group. This version supports subscription lowest possible grain. - */ - name: string; + export interface ManagedClusterSecurityProfileWorkloadIdentityResponse { /** - * Has type of the column to group. + * Whether to enable workload identity. */ - type: string; + enabled?: boolean; } /** - * The order by expression to be used in the report. + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. */ - export interface ReportConfigSortingResponse { + export interface ManagedClusterServicePrincipalProfileResponse { /** - * Direction of sort. + * The ID for the service principal. */ - direction?: string; + clientId: string; /** - * The name of the column to sort. + * The secret password associated with the service principal in plain text. */ - name: string; + secret?: string; } /** - * The start and end date for pulling data for the report. + * AzureBlob CSI Driver settings for the storage profile. */ - export interface ReportConfigTimePeriodResponse { - /** - * The start date to pull data from. - */ - from: string; + export interface ManagedClusterStorageProfileBlobCSIDriverResponse { /** - * The end date to pull data to. + * Whether to enable AzureBlob CSI Driver. The default value is false. */ - to: string; + enabled?: boolean; } - } - - export namespace v20221001 { /** - * Each KPI must contain a 'type' and 'enabled' key. + * AzureDisk CSI Driver settings for the storage profile. */ - export interface KpiPropertiesResponse { + export interface ManagedClusterStorageProfileDiskCSIDriverResponse { /** - * show the KPI in the UI? + * Whether to enable AzureDisk CSI Driver. The default value is true. */ enabled?: boolean; /** - * ID of resource related to metric (budget). - */ - id?: string; - /** - * KPI type (Forecast, Budget). + * The version of AzureDisk CSI Driver. The default value is v1. */ - type?: string; + version?: string; } /** - * Each pivot must contain a 'type' and 'name'. + * AzureFile CSI Driver settings for the storage profile. */ - export interface PivotPropertiesResponse { - /** - * Data field to show in view. - */ - name?: string; + export interface ManagedClusterStorageProfileFileCSIDriverResponse { /** - * Data type to show in view. + * Whether to enable AzureFile CSI Driver. The default value is true. */ - type?: string; + enabled?: boolean; } /** - * The aggregation expression to be used in the report. + * Storage profile for the container service cluster. */ - export interface ReportConfigAggregationResponse { - /** - * The name of the aggregation function to use. - */ - function: string; + export interface ManagedClusterStorageProfileResponse { /** - * The name of the column to aggregate. + * AzureBlob CSI Driver settings for the storage profile. */ - name: string; - } - - /** - * The comparison expression to be used in the report. - */ - export interface ReportConfigComparisonExpressionResponse { + blobCSIDriver?: outputs.containerservice.v20230502preview.ManagedClusterStorageProfileBlobCSIDriverResponse; /** - * The name of the column to use in comparison. + * AzureDisk CSI Driver settings for the storage profile. */ - name: string; + diskCSIDriver?: outputs.containerservice.v20230502preview.ManagedClusterStorageProfileDiskCSIDriverResponse; /** - * The operator to use for comparison. + * AzureFile CSI Driver settings for the storage profile. */ - operator: string; + fileCSIDriver?: outputs.containerservice.v20230502preview.ManagedClusterStorageProfileFileCSIDriverResponse; /** - * Array of values to use for comparison + * Snapshot Controller settings for the storage profile. */ - values: string[]; + snapshotController?: outputs.containerservice.v20230502preview.ManagedClusterStorageProfileSnapshotControllerResponse; } /** - * The configuration of dataset in the report. + * Snapshot Controller settings for the storage profile. */ - export interface ReportConfigDatasetConfigurationResponse { + export interface ManagedClusterStorageProfileSnapshotControllerResponse { /** - * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + * Whether to enable Snapshot Controller. The default value is true. */ - columns?: string[]; + enabled?: boolean; } /** - * The definition of data present in the report. + * Profile for Windows VMs in the managed cluster. */ - export interface ReportConfigDatasetResponse { + export interface ManagedClusterWindowsProfileResponse { /** - * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. + * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" */ - aggregation?: {[key: string]: outputs.costmanagement.v20221001.ReportConfigAggregationResponse}; + adminPassword?: string; /** - * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. + * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters */ - configuration?: outputs.costmanagement.v20221001.ReportConfigDatasetConfigurationResponse; + adminUsername: string; /** - * Has filter expression to use in the report. + * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). */ - filter?: outputs.costmanagement.v20221001.ReportConfigFilterResponse; + enableCSIProxy?: boolean; /** - * The granularity of rows in the report. + * The Windows gMSA Profile in the Managed Cluster. */ - granularity?: string; + gmsaProfile?: outputs.containerservice.v20230502preview.WindowsGmsaProfileResponse; /** - * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. */ - grouping?: outputs.costmanagement.v20221001.ReportConfigGroupingResponse[]; + licenseType?: string; + } + + /** + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + */ + export interface ManagedClusterWorkloadAutoScalerProfileKedaResponse { /** - * Array of order by expression to use in the report. + * Whether to enable KEDA. */ - sorting?: outputs.costmanagement.v20221001.ReportConfigSortingResponse[]; + enabled: boolean; } /** - * The filter expression to be used in the report. + * Workload Auto-scaler profile for the managed cluster. */ - export interface ReportConfigFilterResponse { + export interface ManagedClusterWorkloadAutoScalerProfileResponse { /** - * The logical "AND" expression. Must have at least 2 items. + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ - and?: outputs.costmanagement.v20221001.ReportConfigFilterResponse[]; + keda?: outputs.containerservice.v20230502preview.ManagedClusterWorkloadAutoScalerProfileKedaResponse; + verticalPodAutoscaler?: outputs.containerservice.v20230502preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse; + } + /** + * managedClusterWorkloadAutoScalerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileResponse + */ + export function managedClusterWorkloadAutoScalerProfileResponseProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileResponse): ManagedClusterWorkloadAutoScalerProfileResponse { + return { + ...val, + verticalPodAutoscaler: (val.verticalPodAutoscaler ? outputs.containerservice.v20230502preview.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults(val.verticalPodAutoscaler) : undefined), + }; + } + + export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse { /** - * Has comparison expression for a dimension + * Controls which resource value autoscaler will change. Default value is RequestsAndLimits. */ - dimensions?: outputs.costmanagement.v20221001.ReportConfigComparisonExpressionResponse; + controlledValues: string; /** - * The logical "OR" expression. Must have at least 2 items. + * Whether to enable VPA. Default value is false. */ - or?: outputs.costmanagement.v20221001.ReportConfigFilterResponse[]; + enabled: boolean; /** - * Has comparison expression for a tag + * Each update mode level is a superset of the lower levels. Off
Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. */ - recurrence?: string; + dnsServer?: string; /** - * Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. + * Specifies whether to enable Windows gMSA in the managed cluster. */ - recurrencePeriod?: outputs.costmanagement.v20230301.ExportRecurrencePeriodResponse; + enabled?: boolean; /** - * The status of the export's schedule. If 'Inactive', the export's schedule is paused. + * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. */ - status?: string; + rootDomainName?: string; } + } + + export namespace v20230601 { /** - * The date range for data in the export. This should only be specified with timeFrame set to 'Custom'. The maximum date range is 3 months. + * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ - export interface ExportTimePeriodResponse { + export interface AbsoluteMonthlyScheduleResponse { /** - * The start date for export data. + * The date of the month. */ - from: string; + dayOfMonth: number; /** - * The end date for export data. + * Specifies the number of months between each set of occurrences. */ - to: string; + intervalMonths: number; } /** - * Destination of the view data. This is optional. Currently only CSV format is supported. + * Settings for upgrading an agentpool */ - export interface FileDestinationResponse { + export interface AgentPoolUpgradeSettingsResponse { /** - * Destination of the view data. Currently only CSV format is supported. + * The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. */ - fileFormats?: string[]; + drainTimeoutInMinutes?: number; + /** + * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + */ + maxSurge?: string; } /** - * Each KPI must contain a 'type' and 'enabled' key. + * Azure Key Vault key management service settings for the security profile. */ - export interface KpiPropertiesResponse { + export interface AzureKeyVaultKmsResponse { /** - * show the KPI in the UI? + * Whether to enable Azure Key Vault key management service. The default is false. */ enabled?: boolean; /** - * ID of resource related to metric (budget). + * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. */ - id?: string; + keyId?: string; /** - * KPI type (Forecast, Budget). + * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */ - type?: string; + keyVaultNetworkAccess?: string; + /** + * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + */ + keyVaultResourceId?: string; + } + /** + * azureKeyVaultKmsResponseProvideDefaults sets the appropriate defaults for AzureKeyVaultKmsResponse + */ + export function azureKeyVaultKmsResponseProvideDefaults(val: AzureKeyVaultKmsResponse): AzureKeyVaultKmsResponse { + return { + ...val, + keyVaultNetworkAccess: (val.keyVaultNetworkAccess) ?? "Public", + }; } /** - * The properties of the scheduled action notification. + * Profile for Linux VMs in the container service cluster. */ - export interface NotificationPropertiesResponse { - /** - * Locale of the email. - */ - language?: string; - /** - * Optional message to be added in the email. Length is limited to 250 characters. - */ - message?: string; - /** - * Regional format used for formatting date/time and currency values in the email. - */ - regionalFormat?: string; + export interface ContainerServiceLinuxProfileResponse { /** - * Subject of the email. Length is limited to 70 characters. + * The administrator username to use for Linux VMs. */ - subject: string; + adminUsername: string; /** - * Array of email addresses. + * The SSH configuration for Linux-based VMs running on Azure. */ - to: string[]; + ssh: outputs.containerservice.v20230601.ContainerServiceSshConfigurationResponse; } /** - * Each pivot must contain a 'type' and 'name'. + * Profile of network configuration. */ - export interface PivotPropertiesResponse { + export interface ContainerServiceNetworkProfileResponse { /** - * Data field to show in view. + * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. */ - name?: string; + dnsServiceIP?: string; /** - * Data type to show in view. + * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. */ - type?: string; - } - - /** - * The aggregation expression to be used in the report. - */ - export interface ReportConfigAggregationResponse { + ipFamilies?: string[]; /** - * The name of the aggregation function to use. + * Profile of the cluster load balancer. */ - function: string; + loadBalancerProfile?: outputs.containerservice.v20230601.ManagedClusterLoadBalancerProfileResponse; /** - * The name of the column to aggregate. + * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */ - name: string; - } - - /** - * The comparison expression to be used in the report. - */ - export interface ReportConfigComparisonExpressionResponse { + loadBalancerSku?: string; /** - * The name of the column to use in comparison. + * Profile of the cluster NAT gateway. */ - name: string; + natGatewayProfile?: outputs.containerservice.v20230601.ManagedClusterNATGatewayProfileResponse; /** - * The operator to use for comparison. + * Network dataplane used in the Kubernetes cluster. */ - operator: string; + networkDataplane?: string; /** - * Array of values to use for comparison + * This cannot be specified if networkPlugin is anything other than 'azure'. */ - values: string[]; - } - - /** - * The configuration of dataset in the report. - */ - export interface ReportConfigDatasetConfigurationResponse { + networkMode?: string; /** - * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + * Network plugin used for building the Kubernetes network. */ - columns?: string[]; - } - - /** - * The definition of data present in the report. - */ - export interface ReportConfigDatasetResponse { + networkPlugin?: string; /** - * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. + * The mode the network plugin should use. */ - aggregation?: {[key: string]: outputs.costmanagement.v20230301.ReportConfigAggregationResponse}; + networkPluginMode?: string; /** - * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. + * Network policy used for building the Kubernetes network. */ - configuration?: outputs.costmanagement.v20230301.ReportConfigDatasetConfigurationResponse; + networkPolicy?: string; /** - * Has filter expression to use in the report. + * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */ - filter?: outputs.costmanagement.v20230301.ReportConfigFilterResponse; + outboundType?: string; /** - * The granularity of rows in the report. + * A CIDR notation IP range from which to assign pod IPs when kubenet is used. */ - granularity?: string; + podCidr?: string; /** - * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. */ - grouping?: outputs.costmanagement.v20230301.ReportConfigGroupingResponse[]; + podCidrs?: string[]; /** - * Array of order by expression to use in the report. + * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. */ - sorting?: outputs.costmanagement.v20230301.ReportConfigSortingResponse[]; + serviceCidr?: string; + /** + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + */ + serviceCidrs?: string[]; + } + /** + * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse + */ + export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { + return { + ...val, + dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", + loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.v20230601.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), + natGatewayProfile: (val.natGatewayProfile ? outputs.containerservice.v20230601.managedClusterNATGatewayProfileResponseProvideDefaults(val.natGatewayProfile) : undefined), + networkPlugin: (val.networkPlugin) ?? "kubenet", + outboundType: (val.outboundType) ?? "loadBalancer", + podCidr: (val.podCidr) ?? "10.244.0.0/16", + serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", + }; } /** - * The filter expression to be used in the report. + * SSH configuration for Linux-based VMs running on Azure. */ - export interface ReportConfigFilterResponse { - /** - * The logical "AND" expression. Must have at least 2 items. - */ - and?: outputs.costmanagement.v20230301.ReportConfigFilterResponse[]; + export interface ContainerServiceSshConfigurationResponse { /** - * Has comparison expression for a dimension + * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */ - dimensions?: outputs.costmanagement.v20230301.ReportConfigComparisonExpressionResponse; + publicKeys: outputs.containerservice.v20230601.ContainerServiceSshPublicKeyResponse[]; + } + + /** + * Contains information about SSH certificate public key data. + */ + export interface ContainerServiceSshPublicKeyResponse { /** - * The logical "OR" expression. Must have at least 2 items. + * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. */ - or?: outputs.costmanagement.v20230301.ReportConfigFilterResponse[]; + keyData: string; + } + + /** + * Data used when creating a target resource from a source resource. + */ + export interface CreationDataResponse { /** - * Has comparison expression for a tag + * This is the ARM ID of the source object to be used to create the target object. */ - tags?: outputs.costmanagement.v20230301.ReportConfigComparisonExpressionResponse; + sourceResourceId?: string; } /** - * The group by expression to be used in the report. + * The credential result response. */ - export interface ReportConfigGroupingResponse { + export interface CredentialResultResponse { /** - * The name of the column to group. This version supports subscription lowest possible grain. + * The name of the credential. */ name: string; /** - * Has type of the column to group. + * Base64-encoded Kubernetes configuration file. */ - type: string; + value: string; } /** - * The order by expression to be used in the report. + * For schedules like: 'recur every day' or 'recur every 3 days'. */ - export interface ReportConfigSortingResponse { - /** - * Direction of sort. - */ - direction?: string; + export interface DailyScheduleResponse { /** - * The name of the column to sort. + * Specifies the number of days between each set of occurrences. */ - name: string; + intervalDays: number; } /** - * The start and end date for pulling data for the report. + * For example, between '2022-12-23' and '2023-01-05'. */ - export interface ReportConfigTimePeriodResponse { + export interface DateSpanResponse { /** - * The start date to pull data from. + * The end date of the date span. */ - from: string; + end: string; /** - * The end date to pull data to. + * The start date of the date span. */ - to: string; + start: string; } /** - * The properties of the schedule. + * Delegated resource properties - internal use only. */ - export interface SchedulePropertiesResponse { - /** - * UTC day on which cost analysis data will be emailed. Must be between 1 and 31. This property is applicable when frequency is Monthly and overrides weeksOfMonth or daysOfWeek. - */ - dayOfMonth?: number; + export interface DelegatedResourceResponse { /** - * Day names in english on which cost analysis data will be emailed. This property is applicable when frequency is Weekly or Monthly. + * The source resource location - internal use only. */ - daysOfWeek?: string[]; + location?: string; /** - * The end date and time of the scheduled action (UTC). + * The delegation id of the referral delegation (optional) - internal use only. */ - endDate: string; + referralResource?: string; /** - * Frequency of the schedule. + * The ARM resource id of the delegated resource - internal use only. */ - frequency: string; + resourceId?: string; /** - * UTC time at which cost analysis data will be emailed. + * The tenant id of the delegated resource - internal use only. */ - hourOfDay?: number; + tenantId?: string; + } + + /** + * The complex type of the extended location. + */ + export interface ExtendedLocationResponse { /** - * The start date and time of the scheduled action (UTC). + * The name of the extended location. */ - startDate: string; + name?: string; /** - * Weeks in which cost analysis data will be emailed. This property is applicable when frequency is Monthly and used in combination with daysOfWeek. + * The type of the extended location. */ - weeksOfMonth?: string[]; + type?: string; } /** - * Metadata pertaining to creation and last modification of the resource. + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ - export interface SystemDataResponse { + export interface KubeletConfigResponse { /** - * The timestamp of resource creation (UTC). + * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). */ - createdAt?: string; + allowedUnsafeSysctls?: string[]; /** - * The identity that created the resource. + * The maximum number of container log files that can be present for a container. The number must be ≥ 2. */ - createdBy?: string; + containerLogMaxFiles?: number; /** - * The type of identity that created the resource. + * The maximum size (e.g. 10Mi) of container log file before it is rotated. */ - createdByType?: string; + containerLogMaxSizeMB?: number; /** - * The timestamp of resource last modification (UTC) + * The default is true. */ - lastModifiedAt?: string; + cpuCfsQuota?: boolean; /** - * The identity that last modified the resource. + * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. */ - lastModifiedBy?: string; + cpuCfsQuotaPeriod?: string; /** - * The type of identity that last modified the resource. + * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. */ - lastModifiedByType?: string; - } - - } - - export namespace v20230401preview { - /** - * The comparison expression to be used in the budgets. - */ - export interface BudgetComparisonExpressionResponse { + cpuManagerPolicy?: string; /** - * The name of the column to use in comparison. + * If set to true it will make the Kubelet fail to start if swap is enabled on the node. */ - name: string; + failSwapOn?: boolean; /** - * The operator to use for comparison. + * To disable image garbage collection, set to 100. The default is 85% */ - operator: string; + imageGcHighThreshold?: number; /** - * Array of values to use for comparison + * This cannot be set higher than imageGcHighThreshold. The default is 80% */ - values: string[]; - } - - /** - * The Dimensions or Tags to filter a budget by. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - */ - export interface BudgetFilterPropertiesResponse { + imageGcLowThreshold?: number; /** - * Has comparison expression for a dimension. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - * - * Supported dimension names for **CategoryType: ReservationUtilization** - * - ReservationId - * - ReservedResourceType + * The maximum number of processes per pod. */ - dimensions?: outputs.costmanagement.v20230401preview.BudgetComparisonExpressionResponse; + podMaxPids?: number; /** - * Has comparison expression for a tag. - * - * Supported for CategoryType(s): Cost. + * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. */ - tags?: outputs.costmanagement.v20230401preview.BudgetComparisonExpressionResponse; + topologyManagerPolicy?: string; } /** - * May be used to filter budgets by user-specified dimensions and/or tags. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ - export interface BudgetFilterResponse { - /** - * The logical "AND" expression. Must have at least 2 items. - * - * Supported for CategoryType(s): Cost. - */ - and?: outputs.costmanagement.v20230401preview.BudgetFilterPropertiesResponse[]; + export interface LinuxOSConfigResponse { /** - * Has comparison expression for a dimension. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - * - * Supported dimension names for **CategoryType: ReservationUtilization** - * - ReservationId - * - ReservedResourceType + * The size in MB of a swap file that will be created on each node. */ - dimensions?: outputs.costmanagement.v20230401preview.BudgetComparisonExpressionResponse; + swapFileSizeMB?: number; /** - * Has comparison expression for a tag. - * - * Supported for CategoryType(s): Cost. + * Sysctl settings for Linux agent nodes. */ - tags?: outputs.costmanagement.v20230401preview.BudgetComparisonExpressionResponse; - } - - /** - * The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - * - * Required for CategoryType(s): Cost, ReservationUtilization. - */ - export interface BudgetTimePeriodResponse { + sysctls?: outputs.containerservice.v20230601.SysctlConfigResponse; /** - * The end date for the budget. - * - * - Constraints for **CategoryType: Cost** - No constraints. If not provided, we default this to 10 years from the start date. - * - * - Constraints for **CategoryType: ReservationUtilization** - End date cannot be more than 3 years after the start date. + * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ - endDate?: string; + transparentHugePageDefrag?: string; /** - * The start date for the budget. - * - * - Constraints for **CategoryType: Cost** - Must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period. - * - * - Constraints for **CategoryType: ReservationUtilization** - Must be on or after the current date and less than the end date. + * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ - startDate: string; + transparentHugePageEnabled?: string; } /** - * The common properties of the export. + * Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. */ - export interface CommonExportPropertiesResponse { + export interface MaintenanceWindowResponse { /** - * Has the definition for the export. + * Length of maintenance window range from 4 to 24 hours. */ - definition: outputs.costmanagement.v20230401preview.ExportDefinitionResponse; + durationHours: number; /** - * Has delivery information for the export. + * Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. */ - deliveryInfo: outputs.costmanagement.v20230401preview.ExportDeliveryInfoResponse; + notAllowedDates?: outputs.containerservice.v20230601.DateSpanResponse[]; /** - * The format of the export being delivered. Currently only 'Csv' is supported. + * Recurrence schedule for the maintenance window. */ - format?: string; + schedule: outputs.containerservice.v20230601.ScheduleResponse; /** - * If the export has an active schedule, provides an estimate of the next run time. + * The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. */ - nextRunTimeEstimate: string; + startDate?: string; /** - * If set to true, exported data will be partitioned by size and placed in a blob directory together with a manifest file. Note: this option is currently available only for Microsoft Customer Agreement commerce scopes. + * The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. */ - partitionData?: boolean; + startTime: string; /** - * If requested, has the most recent run history for the export. + * The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. */ - runHistory?: outputs.costmanagement.v20230401preview.ExportExecutionListResultResponse; + utcOffset?: string; + } + /** + * maintenanceWindowResponseProvideDefaults sets the appropriate defaults for MaintenanceWindowResponse + */ + export function maintenanceWindowResponseProvideDefaults(val: MaintenanceWindowResponse): MaintenanceWindowResponse { + return { + ...val, + durationHours: (val.durationHours) ?? 24, + }; } /** - * The current amount of cost which is being tracked for a budget. - * - * Supported for CategoryType(s): Cost. + * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). */ - export interface CurrentSpendResponse { + export interface ManagedClusterAADProfileResponse { /** - * The total amount of cost which is being tracked by the budget. + * The list of AAD group object IDs that will have admin role of the cluster. */ - amount: number; + adminGroupObjectIDs?: string[]; /** - * The unit of measure for the budget amount. + * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */ - unit: string; - } - - /** - * The details of the error. - */ - export interface ErrorDetailsResponse { + clientAppID?: string; /** - * Error code. + * Whether to enable Azure RBAC for Kubernetes authorization. */ - code: string; + enableAzureRBAC?: boolean; /** - * Error message indicating why the operation failed. + * Whether to enable managed AAD. */ - message: string; - } - - /** - * The export dataset configuration. Allows columns to be selected for the export. If not provided then the export will include all available columns. - */ - export interface ExportDatasetConfigurationResponse { + managed?: boolean; /** - * Array of column names to be included in the export. If not provided then the export will include all available columns. The available columns can vary by customer channel (see examples). + * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */ - columns?: string[]; - } - - /** - * The definition for data in the export. - */ - export interface ExportDatasetResponse { + serverAppID?: string; /** - * The export dataset configuration. + * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. */ - configuration?: outputs.costmanagement.v20230401preview.ExportDatasetConfigurationResponse; + serverAppSecret?: string; /** - * The granularity of rows in the export. Currently only 'Daily' is supported. + * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. */ - granularity?: string; + tenantID?: string; } /** - * The definition of an export. + * Access profile for managed cluster API server. */ - export interface ExportDefinitionResponse { + export interface ManagedClusterAPIServerAccessProfileResponse { /** - * The definition for data in the export. + * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). */ - dataSet?: outputs.costmanagement.v20230401preview.ExportDatasetResponse; + authorizedIPRanges?: string[]; /** - * Has time period for pulling data for the export. + * Whether to disable run command for the cluster or not. */ - timePeriod?: outputs.costmanagement.v20230401preview.ExportTimePeriodResponse; + disableRunCommand?: boolean; /** - * The time frame for pulling data for the export. If custom, then a specific time period must be provided. + * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). */ - timeframe: string; + enablePrivateCluster?: boolean; /** - * The type of the export. Note that 'Usage' is equivalent to 'ActualCost' and is applicable to exports that do not yet provide data for charges or amortization for service reservations. + * Whether to create additional public FQDN for private cluster or not. */ - type: string; + enablePrivateClusterPublicFQDN?: boolean; + /** + * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + */ + privateDNSZone?: string; } /** - * This represents the blob storage account location where exports of costs will be delivered. There are two ways to configure the destination. The approach recommended for most customers is to specify the resourceId of the storage account. This requires a one-time registration of the account's subscription with the Microsoft.CostManagementExports resource provider in order to give Cost Management services access to the storage. When creating an export in the Azure portal this registration is performed automatically but API users may need to register the subscription explicitly (for more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services ). Another way to configure the destination is available ONLY to Partners with a Microsoft Partner Agreement plan who are global admins of their billing account. These Partners, instead of specifying the resourceId of a storage account, can specify the storage account name along with a SAS token for the account. This allows exports of costs to a storage account in any tenant. The SAS token should be created for the blob service with Service/Container/Object resource types and with Read/Write/Delete/List/Add/Create permissions (for more information see https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/export-cost-data-storage-account-sas-key ). + * A Kubernetes add-on profile for a managed cluster. */ - export interface ExportDeliveryDestinationResponse { - /** - * The name of the container where exports will be uploaded. If the container does not exist it will be created. - */ - container: string; - /** - * The resource id of the storage account where exports will be delivered. This is not required if a sasToken and storageAccount are specified. - */ - resourceId?: string; + export interface ManagedClusterAddonProfileResponse { /** - * The name of the directory where exports will be uploaded. + * Key-value pairs for configuring an add-on. */ - rootFolderPath?: string; + config?: {[key: string]: string}; /** - * A SAS token for the storage account. For a restricted set of Azure customers this together with storageAccount can be specified instead of resourceId. Note: the value returned by the API for this property will always be obfuscated. Returning this same obfuscated value will not result in the SAS token being updated. To update this value a new SAS token must be specified. + * Whether the add-on is enabled or not. */ - sasToken?: string; + enabled: boolean; /** - * The storage account where exports will be uploaded. For a restricted set of Azure customers this together with sasToken can be specified instead of resourceId. + * Information of user assigned identity used by this add-on. */ - storageAccount?: string; + identity: outputs.containerservice.v20230601.ManagedClusterAddonProfileResponseIdentity; } /** - * The delivery information associated with a export. + * Information of user assigned identity used by this add-on. */ - export interface ExportDeliveryInfoResponse { + export interface ManagedClusterAddonProfileResponseIdentity { /** - * Has destination for the export being delivered. + * The client ID of the user assigned identity. */ - destination: outputs.costmanagement.v20230401preview.ExportDeliveryDestinationResponse; - } - - /** - * Result of listing the run history of an export. - */ - export interface ExportExecutionListResultResponse { + clientId?: string; /** - * A list of export runs. + * The object ID of the user assigned identity. */ - value: outputs.costmanagement.v20230401preview.ExportRunResponse[]; + objectId?: string; + /** + * The resource ID of the user assigned identity. + */ + resourceId?: string; } /** - * The start and end date for recurrence schedule. + * Profile for the container service agent pool. */ - export interface ExportRecurrencePeriodResponse { + export interface ManagedClusterAgentPoolProfileResponse { /** - * The start date of recurrence. + * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. */ - from: string; + availabilityZones?: string[]; /** - * The end date of recurrence. + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. */ - to?: string; - } - - /** - * An export run. - */ - export interface ExportRunResponse { + count?: number; /** - * eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not. + * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. */ - eTag?: string; + creationData?: outputs.containerservice.v20230601.CreationDataResponse; /** - * The details of any error. + * If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. */ - error?: outputs.costmanagement.v20230401preview.ErrorDetailsResponse; + currentOrchestratorVersion: string; /** - * The type of the export run. + * Whether to enable auto-scaler */ - executionType?: string; + enableAutoScaling?: boolean; /** - * The name of the exported file. + * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption */ - fileName?: string; + enableEncryptionAtHost?: boolean; /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. */ - id: string; + enableFIPS?: boolean; /** - * The name of the resource + * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. */ - name: string; + enableNodePublicIP?: boolean; /** - * The time when the export run finished. + * Whether to enable UltraSSD */ - processingEndTime?: string; + enableUltraSSD?: boolean; /** - * The time when export was picked up to be run. + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. */ - processingStartTime?: string; + gpuInstanceProfile?: string; /** - * The export settings that were in effect for this run. + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). */ - runSettings?: outputs.costmanagement.v20230401preview.CommonExportPropertiesResponse; + hostGroupID?: string; /** - * The last known status of the export run. + * The Kubelet configuration on the agent pool nodes. */ - status?: string; + kubeletConfig?: outputs.containerservice.v20230601.KubeletConfigResponse; /** - * The identifier for the entity that triggered the export. For on-demand runs it is the user email. For scheduled runs it is 'System'. + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. */ - submittedBy?: string; + kubeletDiskType?: string; /** - * The time when export was queued to be run. + * The OS configuration of Linux agent nodes. */ - submittedTime?: string; + linuxOSConfig?: outputs.containerservice.v20230601.LinuxOSConfigResponse; /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * The maximum number of nodes for auto-scaling */ - type: string; - } - - /** - * The schedule associated with the export. - */ - export interface ExportScheduleResponse { + maxCount?: number; /** - * The schedule recurrence. + * The maximum number of pods that can run on a node. */ - recurrence?: string; + maxPods?: number; /** - * Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. + * The minimum number of nodes for auto-scaling */ - recurrencePeriod?: outputs.costmanagement.v20230401preview.ExportRecurrencePeriodResponse; + minCount?: number; /** - * The status of the export's schedule. If 'Inactive', the export's schedule is paused. + * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools */ - status?: string; - } - - /** - * The date range for data in the export. This should only be specified with timeFrame set to 'Custom'. The maximum date range is 3 months. - */ - export interface ExportTimePeriodResponse { + mode?: string; /** - * The start date for export data. + * Windows agent pool names must be 6 characters or less. */ - from: string; + name: string; /** - * The end date for export data. + * The version of node image */ - to: string; - } - - /** - * Destination of the view data. This is optional. Currently only CSV format is supported. - */ - export interface FileDestinationResponse { + nodeImageVersion: string; /** - * Destination of the view data. Currently only CSV format is supported. + * The node labels to be persisted across all nodes in agent pool. */ - fileFormats?: string[]; - } - - /** - * The forecasted cost which is being tracked for a budget. - * - * Supported for CategoryType(s): Cost. - */ - export interface ForecastSpendResponse { + nodeLabels?: {[key: string]: string}; /** - * The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type. + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} */ - amount: number; + nodePublicIPPrefixID?: string; /** - * The unit of measure for the budget amount. + * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. */ - unit: string; - } - - /** - * Each KPI must contain a 'type' and 'enabled' key. - */ - export interface KpiPropertiesResponse { + nodeTaints?: string[]; /** - * show the KPI in the UI? + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). */ - enabled?: boolean; + orchestratorVersion?: string; /** - * ID of resource related to metric (budget). + * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. */ - id?: string; + osDiskSizeGB?: number; /** - * KPI type (Forecast, Budget). + * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). */ - type?: string; - } - - /** - * The properties of the scheduled action notification. - */ - export interface NotificationPropertiesResponse { + osDiskType?: string; /** - * Locale of the email. + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. */ - language?: string; + osSKU?: string; /** - * Optional message to be added in the email. Length is limited to 250 characters. + * The operating system type. The default is Linux. */ - message?: string; + osType?: string; /** - * Regional format used for formatting date/time and currency values in the email. + * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} */ - regionalFormat?: string; + podSubnetID?: string; /** - * Subject of the email. Length is limited to 70 characters. + * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded */ - subject: string; + powerState?: outputs.containerservice.v20230601.PowerStateResponse; /** - * Array of email addresses. + * The current deployment or provisioning state. */ - to: string[]; - } - - /** - * The notification associated with a budget. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - */ - export interface NotificationResponse { + provisioningState: string; /** - * Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. + * The ID for Proximity Placement Group. */ - contactEmails: string[]; + proximityPlacementGroupID?: string; /** - * Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. - * - * Supported for CategoryType(s): Cost. + * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. */ - contactGroups?: string[]; + scaleDownMode?: string; /** - * Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached. - * - * Supported for CategoryType(s): Cost. + * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. */ - contactRoles?: string[]; + scaleSetEvictionPolicy?: string; /** - * The notification is enabled or not. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. */ - enabled: boolean; + scaleSetPriority?: string; /** - * Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days). - * - * Supported for CategoryType(s): ReservationUtilization. + * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) */ - frequency?: string; + spotMaxPrice?: number; /** - * Language in which the recipient will receive the notification, - * - * Supported for CategoryType(s): Cost, ReservationUtilization. + * The tags to be persisted on the agent pool virtual machine scale set. */ - locale?: string; + tags?: {[key: string]: string}; /** - * The comparison operator. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - * - * Supported operators for **CategoryType: Cost** - * - GreaterThan - * - GreaterThanOrEqualTo - * - * Supported operators for **CategoryType: ReservationUtilization** - * - LessThan + * The type of Agent Pool. */ - operator: string; + type?: string; /** - * Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places. - * - * Supported for CategoryType(s): Cost, ReservationUtilization. - * - * **CategoryType: Cost** - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold. - * - * **CategoryType: ReservationUtilization** - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold. + * Settings for upgrading the agentpool */ - threshold: number; + upgradeSettings?: outputs.containerservice.v20230601.AgentPoolUpgradeSettingsResponse; /** - * The type of threshold. - * - * Supported for CategoryType(s): Cost. + * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions */ - thresholdType?: string; - } - /** - * notificationResponseProvideDefaults sets the appropriate defaults for NotificationResponse - */ - export function notificationResponseProvideDefaults(val: NotificationResponse): NotificationResponse { - return { - ...val, - thresholdType: (val.thresholdType) ?? "Actual", - }; + vmSize?: string; + /** + * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + vnetSubnetID?: string; + /** + * Determines the type of workload a node can run. + */ + workloadRuntime?: string; } /** - * Each pivot must contain a 'type' and 'name'. + * Auto upgrade profile for a managed cluster. */ - export interface PivotPropertiesResponse { + export interface ManagedClusterAutoUpgradeProfileResponse { /** - * Data field to show in view. + * Manner in which the OS on your nodes is updated. The default is NodeImage. */ - name?: string; + nodeOSUpgradeChannel?: string; /** - * Data type to show in view. + * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */ - type?: string; + upgradeChannel?: string; } /** - * The aggregation expression to be used in the report. + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */ - export interface ReportConfigAggregationResponse { + export interface ManagedClusterAzureMonitorProfileKubeStateMetricsResponse { /** - * The name of the aggregation function to use. + * Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. */ - function: string; + metricAnnotationsAllowList?: string; /** - * The name of the column to aggregate. + * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. */ - name: string; + metricLabelsAllowlist?: string; } /** - * The comparison expression to be used in the report. + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */ - export interface ReportConfigComparisonExpressionResponse { - /** - * The name of the column to use in comparison. - */ - name: string; + export interface ManagedClusterAzureMonitorProfileMetricsResponse { /** - * The operator to use for comparison. + * Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. */ - operator: string; + enabled: boolean; /** - * Array of values to use for comparison + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */ - values: string[]; + kubeStateMetrics?: outputs.containerservice.v20230601.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse; } /** - * The configuration of dataset in the report. + * Azure Monitor addon profiles for monitoring the managed cluster. */ - export interface ReportConfigDatasetConfigurationResponse { + export interface ManagedClusterAzureMonitorProfileResponse { /** - * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */ - columns?: string[]; + metrics?: outputs.containerservice.v20230601.ManagedClusterAzureMonitorProfileMetricsResponse; } /** - * The definition of data present in the report. + * Cluster HTTP proxy configuration. */ - export interface ReportConfigDatasetResponse { + export interface ManagedClusterHTTPProxyConfigResponse { /** - * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. + * The HTTP proxy server endpoint to use. */ - aggregation?: {[key: string]: outputs.costmanagement.v20230401preview.ReportConfigAggregationResponse}; + httpProxy?: string; /** - * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. + * The HTTPS proxy server endpoint to use. */ - configuration?: outputs.costmanagement.v20230401preview.ReportConfigDatasetConfigurationResponse; + httpsProxy?: string; /** - * Has filter expression to use in the report. + * The endpoints that should not go through proxy. */ - filter?: outputs.costmanagement.v20230401preview.ReportConfigFilterResponse; + noProxy?: string[]; /** - * The granularity of rows in the report. + * Alternative CA cert to use for connecting to proxy servers. */ - granularity?: string; + trustedCa?: string; + } + + /** + * Identity for the managed cluster. + */ + export interface ManagedClusterIdentityResponse { /** - * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + * The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. */ - grouping?: outputs.costmanagement.v20230401preview.ReportConfigGroupingResponse[]; + delegatedResources?: {[key: string]: outputs.containerservice.v20230601.DelegatedResourceResponse}; /** - * Array of order by expression to use in the report. + * The principal id of the system assigned identity which is used by master components. */ - sorting?: outputs.costmanagement.v20230401preview.ReportConfigSortingResponse[]; + principalId: string; + /** + * The tenant id of the system assigned identity which is used by master components. + */ + tenantId: string; + /** + * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + */ + type?: string; + /** + * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: {[key: string]: outputs.containerservice.v20230601.ManagedClusterIdentityResponseUserAssignedIdentities}; + } + + export interface ManagedClusterIdentityResponseUserAssignedIdentities { + /** + * The client id of user assigned identity. + */ + clientId: string; + /** + * The principal id of user assigned identity. + */ + principalId: string; } /** - * The filter expression to be used in the report. + * Profile of the managed cluster load balancer. */ - export interface ReportConfigFilterResponse { + export interface ManagedClusterLoadBalancerProfileResponse { /** - * The logical "AND" expression. Must have at least 2 items. + * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. */ - and?: outputs.costmanagement.v20230401preview.ReportConfigFilterResponse[]; + allocatedOutboundPorts?: number; /** - * Has comparison expression for a dimension + * The effective outbound IP resources of the cluster load balancer. */ - dimensions?: outputs.costmanagement.v20230401preview.ReportConfigComparisonExpressionResponse; + effectiveOutboundIPs?: outputs.containerservice.v20230601.ResourceReferenceResponse[]; /** - * The logical "OR" expression. Must have at least 2 items. + * Enable multiple standard load balancers per AKS cluster or not. */ - or?: outputs.costmanagement.v20230401preview.ReportConfigFilterResponse[]; + enableMultipleStandardLoadBalancers?: boolean; /** - * Has comparison expression for a tag + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. */ - tags?: outputs.costmanagement.v20230401preview.ReportConfigComparisonExpressionResponse; + idleTimeoutInMinutes?: number; + /** + * Desired managed outbound IPs for the cluster load balancer. + */ + managedOutboundIPs?: outputs.containerservice.v20230601.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; + /** + * Desired outbound IP Prefix resources for the cluster load balancer. + */ + outboundIPPrefixes?: outputs.containerservice.v20230601.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; + /** + * Desired outbound IP resources for the cluster load balancer. + */ + outboundIPs?: outputs.containerservice.v20230601.ManagedClusterLoadBalancerProfileResponseOutboundIPs; + } + /** + * managedClusterLoadBalancerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponse + */ + export function managedClusterLoadBalancerProfileResponseProvideDefaults(val: ManagedClusterLoadBalancerProfileResponse): ManagedClusterLoadBalancerProfileResponse { + return { + ...val, + allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, + managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.v20230601.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), + }; } /** - * The group by expression to be used in the report. + * Desired managed outbound IPs for the cluster load balancer. */ - export interface ReportConfigGroupingResponse { + export interface ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { /** - * The name of the column to group. This version supports subscription lowest possible grain. + * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. */ - name: string; + count?: number; /** - * Has type of the column to group. + * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. */ - type: string; + countIPv6?: number; + } + /** + * managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs + */ + export function managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val: ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs): ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + return { + ...val, + count: (val.count) ?? 1, + countIPv6: (val.countIPv6) ?? 0, + }; } /** - * The order by expression to be used in the report. + * Desired outbound IP Prefix resources for the cluster load balancer. */ - export interface ReportConfigSortingResponse { + export interface ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes { /** - * Direction of sort. + * A list of public IP prefix resources. */ - direction?: string; + publicIPPrefixes?: outputs.containerservice.v20230601.ResourceReferenceResponse[]; + } + + /** + * Desired outbound IP resources for the cluster load balancer. + */ + export interface ManagedClusterLoadBalancerProfileResponseOutboundIPs { /** - * The name of the column to sort. + * A list of public IP resources. */ - name: string; + publicIPs?: outputs.containerservice.v20230601.ResourceReferenceResponse[]; } /** - * The start and end date for pulling data for the report. + * Profile of the managed outbound IP resources of the managed cluster. */ - export interface ReportConfigTimePeriodResponse { + export interface ManagedClusterManagedOutboundIPProfileResponse { /** - * The start date to pull data from. + * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. */ - from: string; + count?: number; + } + /** + * managedClusterManagedOutboundIPProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterManagedOutboundIPProfileResponse + */ + export function managedClusterManagedOutboundIPProfileResponseProvideDefaults(val: ManagedClusterManagedOutboundIPProfileResponse): ManagedClusterManagedOutboundIPProfileResponse { + return { + ...val, + count: (val.count) ?? 1, + }; + } + + /** + * Profile of the managed cluster NAT gateway. + */ + export interface ManagedClusterNATGatewayProfileResponse { /** - * The end date to pull data to. + * The effective outbound IP resources of the cluster NAT gateway. */ - to: string; + effectiveOutboundIPs?: outputs.containerservice.v20230601.ResourceReferenceResponse[]; + /** + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + */ + idleTimeoutInMinutes?: number; + /** + * Profile of the managed outbound IP resources of the cluster NAT gateway. + */ + managedOutboundIPProfile?: outputs.containerservice.v20230601.ManagedClusterManagedOutboundIPProfileResponse; + } + /** + * managedClusterNATGatewayProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileResponse + */ + export function managedClusterNATGatewayProfileResponseProvideDefaults(val: ManagedClusterNATGatewayProfileResponse): ManagedClusterNATGatewayProfileResponse { + return { + ...val, + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, + managedOutboundIPProfile: (val.managedOutboundIPProfile ? outputs.containerservice.v20230601.managedClusterManagedOutboundIPProfileResponseProvideDefaults(val.managedOutboundIPProfile) : undefined), + }; } /** - * The properties of the schedule. + * The OIDC issuer profile of the Managed Cluster. */ - export interface SchedulePropertiesResponse { + export interface ManagedClusterOIDCIssuerProfileResponse { /** - * UTC day on which cost analysis data will be emailed. Must be between 1 and 31. This property is applicable when frequency is Monthly and overrides weeksOfMonth or daysOfWeek. + * Whether the OIDC issuer is enabled. */ - dayOfMonth?: number; + enabled?: boolean; /** - * Day names in english on which cost analysis data will be emailed. This property is applicable when frequency is Weekly or Monthly. + * The OIDC issuer url of the Managed Cluster. */ - daysOfWeek?: string[]; + issuerURL: string; + } + + /** + * See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + */ + export interface ManagedClusterPodIdentityExceptionResponse { /** - * The end date and time of the scheduled action (UTC). + * The name of the pod identity exception. */ - endDate: string; + name: string; /** - * Frequency of the schedule. + * The namespace of the pod identity exception. */ - frequency: string; + namespace: string; /** - * UTC time at which cost analysis data will be emailed. + * The pod labels to match. */ - hourOfDay?: number; + podLabels: {[key: string]: string}; + } + + /** + * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + */ + export interface ManagedClusterPodIdentityProfileResponse { /** - * The start date and time of the scheduled action (UTC). + * Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. */ - startDate: string; + allowNetworkPluginKubenet?: boolean; /** - * Weeks in which cost analysis data will be emailed. This property is applicable when frequency is Monthly and used in combination with daysOfWeek. + * Whether the pod identity addon is enabled. */ - weeksOfMonth?: string[]; + enabled?: boolean; + /** + * The pod identities to use in the cluster. + */ + userAssignedIdentities?: outputs.containerservice.v20230601.ManagedClusterPodIdentityResponse[]; + /** + * The pod identity exceptions to allow. + */ + userAssignedIdentityExceptions?: outputs.containerservice.v20230601.ManagedClusterPodIdentityExceptionResponse[]; } /** - * Managed service identity (either system assigned, or none) + * An error response from the pod identity provisioning. */ - export interface SystemAssignedServiceIdentityResponse { + export interface ManagedClusterPodIdentityProvisioningErrorBodyResponse { /** - * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */ - principalId: string; + code?: string; /** - * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + * A list of additional details about the error. */ - tenantId: string; + details?: outputs.containerservice.v20230601.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; /** - * Type of managed service identity (either system assigned, or none). + * A message describing the error, intended to be suitable for display in a user interface. */ - type: string; + message?: string; + /** + * The target of the particular error. For example, the name of the property in error. + */ + target?: string; } /** - * Metadata pertaining to creation and last modification of the resource. + * An error response from the pod identity provisioning. */ - export interface SystemDataResponse { + export interface ManagedClusterPodIdentityProvisioningErrorResponse { /** - * The timestamp of resource creation (UTC). + * Details about the error. */ - createdAt?: string; + error?: outputs.containerservice.v20230601.ManagedClusterPodIdentityProvisioningErrorBodyResponse; + } + + /** + * Details about the pod identity assigned to the Managed Cluster. + */ + export interface ManagedClusterPodIdentityResponse { /** - * The identity that created the resource. + * The binding selector to use for the AzureIdentityBinding resource. */ - createdBy?: string; + bindingSelector?: string; /** - * The type of identity that created the resource. + * The user assigned identity details. */ - createdByType?: string; + identity: outputs.containerservice.v20230601.UserAssignedIdentityResponse; /** - * The timestamp of resource last modification (UTC) + * The name of the pod identity. */ - lastModifiedAt?: string; + name: string; /** - * The identity that last modified the resource. + * The namespace of the pod identity. */ - lastModifiedBy?: string; + namespace: string; + provisioningInfo: outputs.containerservice.v20230601.ManagedClusterPodIdentityResponseProvisioningInfo; /** - * The type of identity that last modified the resource. + * The current provisioning state of the pod identity. */ - lastModifiedByType?: string; + provisioningState: string; } - } -} + export interface ManagedClusterPodIdentityResponseProvisioningInfo { + /** + * Pod identity assignment error (if any). + */ + error?: outputs.containerservice.v20230601.ManagedClusterPodIdentityProvisioningErrorResponse; + } -export namespace customerinsights { - /** - * The AssignmentPrincipal - */ - export interface AssignmentPrincipalResponse { /** - * The principal id being assigned to. + * Parameters to be applied to the cluster-autoscaler when enabled */ - principalId: string; + export interface ManagedClusterPropertiesResponseAutoScalerProfile { + /** + * Valid values are 'true' and 'false' + */ + balanceSimilarNodeGroups?: string; + /** + * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + */ + expander?: string; + /** + * The default is 10. + */ + maxEmptyBulkDelete?: string; + /** + * The default is 600. + */ + maxGracefulTerminationSec?: string; + /** + * The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + maxNodeProvisionTime?: string; + /** + * The default is 45. The maximum is 100 and the minimum is 0. + */ + maxTotalUnreadyPercentage?: string; + /** + * For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + */ + newPodScaleUpDelay?: string; + /** + * This must be an integer. The default is 3. + */ + okTotalUnreadyCount?: string; + /** + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownDelayAfterAdd?: string; + /** + * The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownDelayAfterDelete?: string; + /** + * The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownDelayAfterFailure?: string; + /** + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownUnneededTime?: string; + /** + * The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownUnreadyTime?: string; + /** + * The default is '0.5'. + */ + scaleDownUtilizationThreshold?: string; + /** + * The default is '10'. Values must be an integer number of seconds. + */ + scanInterval?: string; + /** + * The default is true. + */ + skipNodesWithLocalStorage?: string; + /** + * The default is true. + */ + skipNodesWithSystemPods?: string; + } + /** - * Other metadata for the principal. + * The SKU of a Managed Cluster. */ - principalMetadata?: {[key: string]: string}; + export interface ManagedClusterSKUResponse { + /** + * The name of a managed cluster SKU. + */ + name?: string; + /** + * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + */ + tier?: string; + } + /** - * The Type of the principal ID. + * Microsoft Defender settings for the security profile. */ - principalType: string; - } + export interface ManagedClusterSecurityProfileDefenderResponse { + /** + * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + */ + logAnalyticsWorkspaceResourceId?: string; + /** + * Microsoft Defender threat detection for Cloud settings for the security profile. + */ + securityMonitoring?: outputs.containerservice.v20230601.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse; + } - /** - * Definition of canonical profile. - */ - export interface CanonicalProfileDefinitionResponse { /** - * Canonical profile ID. + * Microsoft Defender settings for the security profile threat detection. */ - canonicalProfileId?: number; + export interface ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse { + /** + * Whether to enable Defender threat detection + */ + enabled?: boolean; + } + /** - * Properties of the canonical profile. + * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. */ - properties?: outputs.customerinsights.CanonicalProfileDefinitionResponseProperties[]; - } + export interface ManagedClusterSecurityProfileImageCleanerResponse { + /** + * Whether to enable Image Cleaner on AKS cluster. + */ + enabled?: boolean; + /** + * Image Cleaner scanning interval in hours. + */ + intervalHours?: number; + } - /** - * The definition of a canonical profile property. - */ - export interface CanonicalProfileDefinitionResponseProperties { /** - * Profile name. + * Security profile for the container service cluster. */ - profileName?: string; + export interface ManagedClusterSecurityProfileResponse { + /** + * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + */ + azureKeyVaultKms?: outputs.containerservice.v20230601.AzureKeyVaultKmsResponse; + /** + * Microsoft Defender settings for the security profile. + */ + defender?: outputs.containerservice.v20230601.ManagedClusterSecurityProfileDefenderResponse; + /** + * Image Cleaner settings for the security profile. + */ + imageCleaner?: outputs.containerservice.v20230601.ManagedClusterSecurityProfileImageCleanerResponse; + /** + * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + */ + workloadIdentity?: outputs.containerservice.v20230601.ManagedClusterSecurityProfileWorkloadIdentityResponse; + } /** - * Property name of profile. + * managedClusterSecurityProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileResponse */ - profilePropertyName?: string; + export function managedClusterSecurityProfileResponseProvideDefaults(val: ManagedClusterSecurityProfileResponse): ManagedClusterSecurityProfileResponse { + return { + ...val, + azureKeyVaultKms: (val.azureKeyVaultKms ? outputs.containerservice.v20230601.azureKeyVaultKmsResponseProvideDefaults(val.azureKeyVaultKms) : undefined), + }; + } + /** - * The rank. + * Workload identity settings for the security profile. */ - rank?: number; + export interface ManagedClusterSecurityProfileWorkloadIdentityResponse { + /** + * Whether to enable workload identity. + */ + enabled?: boolean; + } + /** - * Type of canonical property value. + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. */ - type?: string; + export interface ManagedClusterServicePrincipalProfileResponse { + /** + * The ID for the service principal. + */ + clientId: string; + /** + * The secret password associated with the service principal in plain text. + */ + secret?: string; + } + /** - * Value of the canonical property. + * AzureBlob CSI Driver settings for the storage profile. */ - value?: string; - } + export interface ManagedClusterStorageProfileBlobCSIDriverResponse { + /** + * Whether to enable AzureBlob CSI Driver. The default value is false. + */ + enabled?: boolean; + } - /** - * Connector mapping property availability. - */ - export interface ConnectorMappingAvailabilityResponse { /** - * The frequency to update. + * AzureDisk CSI Driver settings for the storage profile. */ - frequency?: string; + export interface ManagedClusterStorageProfileDiskCSIDriverResponse { + /** + * Whether to enable AzureDisk CSI Driver. The default value is true. + */ + enabled?: boolean; + } + /** - * The interval of the given frequency to use. + * AzureFile CSI Driver settings for the storage profile. */ - interval: number; - } + export interface ManagedClusterStorageProfileFileCSIDriverResponse { + /** + * Whether to enable AzureFile CSI Driver. The default value is true. + */ + enabled?: boolean; + } - /** - * The complete operation. - */ - export interface ConnectorMappingCompleteOperationResponse { /** - * The type of completion operation. + * Storage profile for the container service cluster. */ - completionOperationType?: string; + export interface ManagedClusterStorageProfileResponse { + /** + * AzureBlob CSI Driver settings for the storage profile. + */ + blobCSIDriver?: outputs.containerservice.v20230601.ManagedClusterStorageProfileBlobCSIDriverResponse; + /** + * AzureDisk CSI Driver settings for the storage profile. + */ + diskCSIDriver?: outputs.containerservice.v20230601.ManagedClusterStorageProfileDiskCSIDriverResponse; + /** + * AzureFile CSI Driver settings for the storage profile. + */ + fileCSIDriver?: outputs.containerservice.v20230601.ManagedClusterStorageProfileFileCSIDriverResponse; + /** + * Snapshot Controller settings for the storage profile. + */ + snapshotController?: outputs.containerservice.v20230601.ManagedClusterStorageProfileSnapshotControllerResponse; + } + /** - * The destination folder where files will be moved to once the import is done. + * Snapshot Controller settings for the storage profile. */ - destinationFolder?: string; - } + export interface ManagedClusterStorageProfileSnapshotControllerResponse { + /** + * Whether to enable Snapshot Controller. The default value is true. + */ + enabled?: boolean; + } - /** - * The error management. - */ - export interface ConnectorMappingErrorManagementResponse { /** - * The error limit allowed while importing data. + * Profile for Windows VMs in the managed cluster. */ - errorLimit?: number; + export interface ManagedClusterWindowsProfileResponse { + /** + * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + */ + adminPassword?: string; + /** + * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + */ + adminUsername: string; + /** + * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + */ + enableCSIProxy?: boolean; + /** + * The Windows gMSA Profile in the Managed Cluster. + */ + gmsaProfile?: outputs.containerservice.v20230601.WindowsGmsaProfileResponse; + /** + * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + */ + licenseType?: string; + } + /** - * The type of error management to use for the mapping. + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ - errorManagementType: string; - } + export interface ManagedClusterWorkloadAutoScalerProfileKedaResponse { + /** + * Whether to enable KEDA. + */ + enabled: boolean; + } - /** - * Connector mapping property format. - */ - export interface ConnectorMappingFormatResponse { /** - * The oData language. + * Workload Auto-scaler profile for the managed cluster. */ - acceptLanguage?: string; + export interface ManagedClusterWorkloadAutoScalerProfileResponse { + /** + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + */ + keda?: outputs.containerservice.v20230601.ManagedClusterWorkloadAutoScalerProfileKedaResponse; + /** + * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + */ + verticalPodAutoscaler?: outputs.containerservice.v20230601.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse; + } /** - * Character separating array elements. + * managedClusterWorkloadAutoScalerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileResponse */ - arraySeparator?: string; + export function managedClusterWorkloadAutoScalerProfileResponseProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileResponse): ManagedClusterWorkloadAutoScalerProfileResponse { + return { + ...val, + verticalPodAutoscaler: (val.verticalPodAutoscaler ? outputs.containerservice.v20230601.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults(val.verticalPodAutoscaler) : undefined), + }; + } + /** - * The character that signifies a break between columns. + * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. */ - columnDelimiter?: string; + export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse { + /** + * Whether to enable VPA. Default value is false. + */ + enabled: boolean; + } /** - * The type mapping format. + * managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse */ - formatType: string; + export function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse): ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse { + return { + ...val, + enabled: (val.enabled) ?? false, + }; + } + /** - * Quote character, used to indicate enquoted fields. + * Describes the Power State of the cluster */ - quoteCharacter?: string; + export interface PowerStateResponse { + /** + * Tells whether the cluster is Running or Stopped + */ + code?: string; + } + /** - * Escape character for quotes, can be the same as the quoteCharacter. + * Private endpoint which a connection belongs to. */ - quoteEscapeCharacter?: string; - } + export interface PrivateEndpointResponse { + /** + * The resource ID of the private endpoint + */ + id?: string; + } - /** - * The connector mapping properties. - */ - export interface ConnectorMappingPropertiesResponse { /** - * The availability of mapping property. + * A private link resource */ - availability: outputs.customerinsights.ConnectorMappingAvailabilityResponse; + export interface PrivateLinkResourceResponse { + /** + * The group ID of the resource. + */ + groupId?: string; + /** + * The ID of the private link resource. + */ + id?: string; + /** + * The name of the private link resource. + */ + name?: string; + /** + * The private link service ID of the resource, this field is exposed only to NRP internally. + */ + privateLinkServiceID: string; + /** + * The RequiredMembers of the resource + */ + requiredMembers?: string[]; + /** + * The resource type. + */ + type?: string; + } + /** - * The operation after import is done. + * The state of a private link service connection. */ - completeOperation: outputs.customerinsights.ConnectorMappingCompleteOperationResponse; + export interface PrivateLinkServiceConnectionStateResponse { + /** + * The private link service connection description. + */ + description?: string; + /** + * The private link service connection status. + */ + status?: string; + } + /** - * The error management setting for the mapping. + * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. */ - errorManagement: outputs.customerinsights.ConnectorMappingErrorManagementResponse; + export interface RelativeMonthlyScheduleResponse { + /** + * Specifies on which day of the week the maintenance occurs. + */ + dayOfWeek: string; + /** + * Specifies the number of months between each set of occurrences. + */ + intervalMonths: number; + /** + * Specifies on which week of the month the dayOfWeek applies. + */ + weekIndex: string; + } + /** - * The file filter for the mapping. + * A reference to an Azure resource. */ - fileFilter?: string; + export interface ResourceReferenceResponse { + /** + * The fully qualified Azure resource id. + */ + id?: string; + } + /** - * The folder path for the mapping. + * One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. */ - folderPath?: string; + export interface ScheduleResponse { + /** + * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + */ + absoluteMonthly?: outputs.containerservice.v20230601.AbsoluteMonthlyScheduleResponse; + /** + * For schedules like: 'recur every day' or 'recur every 3 days'. + */ + daily?: outputs.containerservice.v20230601.DailyScheduleResponse; + /** + * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + */ + relativeMonthly?: outputs.containerservice.v20230601.RelativeMonthlyScheduleResponse; + /** + * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + */ + weekly?: outputs.containerservice.v20230601.WeeklyScheduleResponse; + } + /** - * The format of mapping property. + * Sysctl settings for Linux agent nodes. */ - format: outputs.customerinsights.ConnectorMappingFormatResponse; + export interface SysctlConfigResponse { + /** + * Sysctl setting fs.aio-max-nr. + */ + fsAioMaxNr?: number; + /** + * Sysctl setting fs.file-max. + */ + fsFileMax?: number; + /** + * Sysctl setting fs.inotify.max_user_watches. + */ + fsInotifyMaxUserWatches?: number; + /** + * Sysctl setting fs.nr_open. + */ + fsNrOpen?: number; + /** + * Sysctl setting kernel.threads-max. + */ + kernelThreadsMax?: number; + /** + * Sysctl setting net.core.netdev_max_backlog. + */ + netCoreNetdevMaxBacklog?: number; + /** + * Sysctl setting net.core.optmem_max. + */ + netCoreOptmemMax?: number; + /** + * Sysctl setting net.core.rmem_default. + */ + netCoreRmemDefault?: number; + /** + * Sysctl setting net.core.rmem_max. + */ + netCoreRmemMax?: number; + /** + * Sysctl setting net.core.somaxconn. + */ + netCoreSomaxconn?: number; + /** + * Sysctl setting net.core.wmem_default. + */ + netCoreWmemDefault?: number; + /** + * Sysctl setting net.core.wmem_max. + */ + netCoreWmemMax?: number; + /** + * Sysctl setting net.ipv4.ip_local_port_range. + */ + netIpv4IpLocalPortRange?: string; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + */ + netIpv4NeighDefaultGcThresh1?: number; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + */ + netIpv4NeighDefaultGcThresh2?: number; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + */ + netIpv4NeighDefaultGcThresh3?: number; + /** + * Sysctl setting net.ipv4.tcp_fin_timeout. + */ + netIpv4TcpFinTimeout?: number; + /** + * Sysctl setting net.ipv4.tcp_keepalive_probes. + */ + netIpv4TcpKeepaliveProbes?: number; + /** + * Sysctl setting net.ipv4.tcp_keepalive_time. + */ + netIpv4TcpKeepaliveTime?: number; + /** + * Sysctl setting net.ipv4.tcp_max_syn_backlog. + */ + netIpv4TcpMaxSynBacklog?: number; + /** + * Sysctl setting net.ipv4.tcp_max_tw_buckets. + */ + netIpv4TcpMaxTwBuckets?: number; + /** + * Sysctl setting net.ipv4.tcp_tw_reuse. + */ + netIpv4TcpTwReuse?: boolean; + /** + * Sysctl setting net.ipv4.tcp_keepalive_intvl. + */ + netIpv4TcpkeepaliveIntvl?: number; + /** + * Sysctl setting net.netfilter.nf_conntrack_buckets. + */ + netNetfilterNfConntrackBuckets?: number; + /** + * Sysctl setting net.netfilter.nf_conntrack_max. + */ + netNetfilterNfConntrackMax?: number; + /** + * Sysctl setting vm.max_map_count. + */ + vmMaxMapCount?: number; + /** + * Sysctl setting vm.swappiness. + */ + vmSwappiness?: number; + /** + * Sysctl setting vm.vfs_cache_pressure. + */ + vmVfsCachePressure?: number; + } + /** - * If the file contains a header or not. + * Metadata pertaining to creation and last modification of the resource. */ - hasHeader?: boolean; + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + /** - * Ingestion mapping information at property level. + * Time in a week. */ - structure: outputs.customerinsights.ConnectorMappingStructureResponse[]; - } + export interface TimeInWeekResponse { + /** + * The day of the week. + */ + day?: string; + /** + * Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + */ + hourSlots?: number[]; + } - /** - * Connector mapping property structure. - */ - export interface ConnectorMappingStructureResponse { /** - * The column name of the import file. + * For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. */ - columnName: string; + export interface TimeSpanResponse { + /** + * The end of a time span + */ + end?: string; + /** + * The start of a time span + */ + start?: string; + } + /** - * Custom format specifier for input parsing. + * Details about a user assigned identity. */ - customFormatSpecifier?: string; + export interface UserAssignedIdentityResponse { + /** + * The client ID of the user assigned identity. + */ + clientId?: string; + /** + * The object ID of the user assigned identity. + */ + objectId?: string; + /** + * The resource ID of the user assigned identity. + */ + resourceId?: string; + } + /** - * Indicates if the column is encrypted. + * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. */ - isEncrypted?: boolean; + export interface WeeklyScheduleResponse { + /** + * Specifies on which day of the week the maintenance occurs. + */ + dayOfWeek: string; + /** + * Specifies the number of weeks between each set of occurrences. + */ + intervalWeeks: number; + } + /** - * The property name of the mapping entity. + * Windows gMSA Profile in the managed cluster. */ - propertyName: string; + export interface WindowsGmsaProfileResponse { + /** + * Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + dnsServer?: string; + /** + * Specifies whether to enable Windows gMSA in the managed cluster. + */ + enabled?: boolean; + /** + * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + rootDomainName?: string; + } + } - /** - * The data source precedence is a way to know the precedence of each data source. - */ - export interface DataSourcePrecedenceResponse { + export namespace v20230602preview { /** - * The data source reference id. + * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ - dataSourceReferenceId: string; + export interface AbsoluteMonthlyScheduleResponse { + /** + * The date of the month. + */ + dayOfMonth: number; + /** + * Specifies the number of months between each set of occurrences. + */ + intervalMonths: number; + } + /** - * The data source type. + * Network settings of an agent pool. */ - dataSourceType: string; + export interface AgentPoolNetworkProfileResponse { + /** + * The port ranges that are allowed to access. The specified ranges are allowed to overlap. + */ + allowedHostPorts?: outputs.containerservice.v20230602preview.PortRangeResponse[]; + /** + * The IDs of the application security groups which agent pool will associate when created. + */ + applicationSecurityGroups?: string[]; + /** + * IPTags of instance-level public IPs. + */ + nodePublicIPTags?: outputs.containerservice.v20230602preview.IPTagResponse[]; + } + /** - * The data source ID. - */ - id: number; - /** - * The data source name - */ - name: string; - /** - * the precedence value. - */ - precedence?: number; - /** - * The data source status. - */ - status: string; - } - - /** - * Hub billing info. - */ - export interface HubBillingInfoFormatResponse { - /** - * The maximum number of units can be used. One unit is 10,000 Profiles and 100,000 Interactions. - */ - maxUnits?: number; - /** - * The minimum number of units will be billed. One unit is 10,000 Profiles and 100,000 Interactions. - */ - minUnits?: number; - /** - * The sku name. - */ - skuName?: string; - } - - /** - * The KPI alias. - */ - export interface KpiAliasResponse { - /** - * KPI alias name. - */ - aliasName: string; - /** - * The expression. - */ - expression: string; - } - - /** - * The KPI extract. - */ - export interface KpiExtractResponse { - /** - * The expression. - */ - expression: string; - /** - * KPI extract name. - */ - extractName: string; - } - - /** - * The KPI GroupBy field metadata. - */ - export interface KpiGroupByMetadataResponse { - /** - * The display name. - */ - displayName?: {[key: string]: string}; - /** - * The name of the field. - */ - fieldName?: string; - /** - * The type of the field. - */ - fieldType?: string; - } - - /** - * The KPI participant profile metadata. - */ - export interface KpiParticipantProfilesMetadataResponse { - /** - * Name of the type. - */ - typeName: string; - } - - /** - * Defines the KPI Threshold limits. - */ - export interface KpiThresholdsResponse { - /** - * Whether or not the KPI is an increasing KPI. - */ - increasingKpi: boolean; - /** - * The lower threshold limit. - */ - lowerLimit: number; - /** - * The upper threshold limit. - */ - upperLimit: number; - } - - /** - * The participant profile property reference. - */ - export interface ParticipantProfilePropertyReferenceResponse { - /** - * The source interaction property that maps to the target profile property. - */ - interactionPropertyName: string; - /** - * The target profile property that maps to the source interaction property. - */ - profilePropertyName: string; - } - - /** - * The participant property reference. - */ - export interface ParticipantPropertyReferenceResponse { - /** - * The source property that maps to the target property. - */ - sourcePropertyName: string; - /** - * The target property that maps to the source property. - */ - targetPropertyName: string; - } - - /** - * The definition of the prediction distribution. - */ - export interface PredictionDistributionDefinitionResponse { - /** - * Distributions of the prediction. - */ - distributions?: outputs.customerinsights.PredictionDistributionDefinitionResponseDistributions[]; - /** - * Total negatives in the distribution. - */ - totalNegatives?: number; - /** - * Total positive in the distribution. - */ - totalPositives?: number; - } - - /** - * The definition of a prediction distribution. - */ - export interface PredictionDistributionDefinitionResponseDistributions { - /** - * Number of negatives. - */ - negatives?: number; - /** - * Number of negatives above threshold. - */ - negativesAboveThreshold?: number; - /** - * Number of positives. - */ - positives?: number; - /** - * Number of positives above threshold. - */ - positivesAboveThreshold?: number; - /** - * Score threshold. - */ - scoreThreshold?: number; - } - - /** - * The definition of a prediction grade. - */ - export interface PredictionResponseGrades { - /** - * Name of the grade. - */ - gradeName?: string; - /** - * Maximum score threshold. - */ - maxScoreThreshold?: number; - /** - * Minimum score threshold. - */ - minScoreThreshold?: number; - } - - /** - * Definition of the link mapping of prediction. - */ - export interface PredictionResponseMappings { - /** - * The grade of the link mapping. - */ - grade: string; - /** - * The reason of the link mapping. - */ - reason: string; - /** - * The score of the link mapping. - */ - score: string; - } - - /** - * System generated entities. - */ - export interface PredictionResponseSystemGeneratedEntities { - /** - * Generated interaction types. - */ - generatedInteractionTypes?: string[]; - /** - * Generated KPIs. - */ - generatedKpis?: {[key: string]: string}; - /** - * Generated links. - */ - generatedLinks?: string[]; - } - - /** - * Valid enum values in case of an enum property. - */ - export interface ProfileEnumValidValuesFormatResponse { - /** - * Localized names of the enum member. - */ - localizedValueNames?: {[key: string]: string}; - /** - * The integer value of the enum member. - */ - value?: number; - } - - /** - * Property definition. - */ - export interface PropertyDefinitionResponse { - /** - * Array value separator for properties with isArray set. - */ - arrayValueSeparator?: string; - /** - * This is specific to interactions modeled as activities. Data sources are used to determine where data is stored and also in precedence rules. - */ - dataSourcePrecedenceRules: outputs.customerinsights.DataSourcePrecedenceResponse[]; - /** - * Describes valid values for an enum property. - */ - enumValidValues?: outputs.customerinsights.ProfileEnumValidValuesFormatResponse[]; - /** - * Name of the property. - */ - fieldName: string; - /** - * Type of the property. - */ - fieldType: string; - /** - * Indicates if the property is actually an array of the fieldType above on the data api. - */ - isArray?: boolean; - /** - * Whether property is available in graph or not. - */ - isAvailableInGraph?: boolean; - /** - * Indicates if the property is an enum. - */ - isEnum?: boolean; - /** - * Indicates if the property is an flag enum. - */ - isFlagEnum?: boolean; - /** - * Whether the property is an Image. - */ - isImage?: boolean; - /** - * Whether the property is a localized string. - */ - isLocalizedString?: boolean; - /** - * Whether the property is a name or a part of name. - */ - isName?: boolean; - /** - * Whether property value is required on instances, IsRequired field only for Interaction. Profile Instance will not check for required field. - */ - isRequired?: boolean; - /** - * Max length of string. Used only if type is string. - */ - maxLength?: number; - /** - * The ID associated with the property. - */ - propertyId?: string; - /** - * URL encoded schema.org item prop link for the property. - */ - schemaItemPropLink?: string; - } - - /** - * The fields mapping for Relationships. - */ - export interface RelationshipLinkFieldMappingResponse { - /** - * The field name on the Interaction Type. - */ - interactionFieldName: string; - /** - * Link type. - */ - linkType?: string; - /** - * The field name on the Relationship metadata. - */ - relationshipFieldName: string; - } - - /** - * Map a field of profile to its corresponding StrongId in Related Profile. - */ - export interface RelationshipTypeFieldMappingResponse { - /** - * Specifies the fieldName in profile. - */ - profileFieldName: string; - /** - * Specifies the KeyProperty (from StrongId) of the related profile. - */ - relatedProfileKeyProperty: string; - } - - /** - * Maps fields in Profile to their corresponding StrongIds in Related Profile. - */ - export interface RelationshipTypeMappingResponse { - /** - * Maps a profile property with the StrongId of related profile. This is an array to support StrongIds that are composite key as well. - */ - fieldMappings: outputs.customerinsights.RelationshipTypeFieldMappingResponse[]; - } - - /** - * The resource set description. - */ - export interface ResourceSetDescriptionResponse { - /** - * The elements included in the set. - */ - elements?: string[]; - /** - * The elements that are not included in the set, in case elements contains '*' indicating 'all'. - */ - exceptions?: string[]; - } - - /** - * Property/Properties which represent a unique ID. - */ - export interface StrongIdResponse { - /** - * Localized descriptions. - */ - description?: {[key: string]: string}; - /** - * Localized display name. - */ - displayName?: {[key: string]: string}; - /** - * The properties which make up the unique ID. - */ - keyPropertyNames: string[]; - /** - * The Name identifying the strong ID. - */ - strongIdName: string; - } - - /** - * Metadata for a Link's property mapping. - */ - export interface TypePropertiesMappingResponse { - /** - * Link type. - */ - linkType?: string; - /** - * Property name on the source Entity Type. - */ - sourcePropertyName: string; - /** - * Property name on the target Entity Type. + * The security settings of an agent pool. */ - targetPropertyName: string; - } + export interface AgentPoolSecurityProfileResponse { + /** + * SSH access method of an agent pool. + */ + sshAccess?: string; + } - export namespace v20170426 { /** - * The AssignmentPrincipal + * Settings for upgrading an agentpool */ - export interface AssignmentPrincipalResponse { - /** - * The principal id being assigned to. - */ - principalId: string; + export interface AgentPoolUpgradeSettingsResponse { /** - * Other metadata for the principal. + * The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. */ - principalMetadata?: {[key: string]: string}; + drainTimeoutInMinutes?: number; /** - * The Type of the principal ID. + * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade */ - principalType: string; + maxSurge?: string; } /** - * Definition of canonical profile. + * The Windows agent pool's specific profile. */ - export interface CanonicalProfileDefinitionResponse { - /** - * Canonical profile ID. - */ - canonicalProfileId?: number; + export interface AgentPoolWindowsProfileResponse { /** - * Properties of the canonical profile. + * The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled. */ - properties?: outputs.customerinsights.v20170426.CanonicalProfileDefinitionResponseProperties[]; + disableOutboundNat?: boolean; } /** - * The definition of a canonical profile property. + * Azure Key Vault key management service settings for the security profile. */ - export interface CanonicalProfileDefinitionResponseProperties { - /** - * Profile name. - */ - profileName?: string; + export interface AzureKeyVaultKmsResponse { /** - * Property name of profile. + * Whether to enable Azure Key Vault key management service. The default is false. */ - profilePropertyName?: string; + enabled?: boolean; /** - * The rank. + * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. */ - rank?: number; + keyId?: string; /** - * Type of canonical property value. + * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. */ - type?: string; + keyVaultNetworkAccess?: string; /** - * Value of the canonical property. + * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. */ - value?: string; + keyVaultResourceId?: string; } - /** - * Connector mapping property availability. + * azureKeyVaultKmsResponseProvideDefaults sets the appropriate defaults for AzureKeyVaultKmsResponse */ - export interface ConnectorMappingAvailabilityResponse { - /** - * The frequency to update. - */ - frequency?: string; - /** - * The interval of the given frequency to use. - */ - interval: number; + export function azureKeyVaultKmsResponseProvideDefaults(val: AzureKeyVaultKmsResponse): AzureKeyVaultKmsResponse { + return { + ...val, + keyVaultNetworkAccess: (val.keyVaultNetworkAccess) ?? "Public", + }; } /** - * The complete operation. + * Settings for upgrading a cluster. */ - export interface ConnectorMappingCompleteOperationResponse { - /** - * The type of completion operation. - */ - completionOperationType?: string; + export interface ClusterUpgradeSettingsResponse { /** - * The destination folder where files will be moved to once the import is done. + * Settings for overrides. */ - destinationFolder?: string; + overrideSettings?: outputs.containerservice.v20230602preview.UpgradeOverrideSettingsResponse; } /** - * The error management. + * Profile for Linux VMs in the container service cluster. */ - export interface ConnectorMappingErrorManagementResponse { + export interface ContainerServiceLinuxProfileResponse { /** - * The error limit allowed while importing data. + * The administrator username to use for Linux VMs. */ - errorLimit?: number; + adminUsername: string; /** - * The type of error management to use for the mapping. + * The SSH configuration for Linux-based VMs running on Azure. */ - errorManagementType: string; + ssh: outputs.containerservice.v20230602preview.ContainerServiceSshConfigurationResponse; } /** - * Connector mapping property format. + * Profile of network configuration. */ - export interface ConnectorMappingFormatResponse { - /** - * The oData language. - */ - acceptLanguage?: string; + export interface ContainerServiceNetworkProfileResponse { /** - * Character separating array elements. + * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. */ - arraySeparator?: string; + dnsServiceIP?: string; /** - * The character that signifies a break between columns. + * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. */ - columnDelimiter?: string; + ipFamilies?: string[]; /** - * The type mapping format. + * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. */ - formatType: string; + kubeProxyConfig?: outputs.containerservice.v20230602preview.ContainerServiceNetworkProfileResponseKubeProxyConfig; /** - * Quote character, used to indicate enquoted fields. + * Profile of the cluster load balancer. */ - quoteCharacter?: string; + loadBalancerProfile?: outputs.containerservice.v20230602preview.ManagedClusterLoadBalancerProfileResponse; /** - * Escape character for quotes, can be the same as the quoteCharacter. + * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. */ - quoteEscapeCharacter?: string; - } - - /** - * The connector mapping properties. - */ - export interface ConnectorMappingPropertiesResponse { + loadBalancerSku?: string; /** - * The availability of mapping property. + * This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format */ - availability: outputs.customerinsights.v20170426.ConnectorMappingAvailabilityResponse; + monitoring?: outputs.containerservice.v20230602preview.NetworkMonitoringResponse; /** - * The operation after import is done. + * Profile of the cluster NAT gateway. */ - completeOperation: outputs.customerinsights.v20170426.ConnectorMappingCompleteOperationResponse; + natGatewayProfile?: outputs.containerservice.v20230602preview.ManagedClusterNATGatewayProfileResponse; /** - * The error management setting for the mapping. + * Network dataplane used in the Kubernetes cluster. */ - errorManagement: outputs.customerinsights.v20170426.ConnectorMappingErrorManagementResponse; + networkDataplane?: string; /** - * The file filter for the mapping. + * This cannot be specified if networkPlugin is anything other than 'azure'. */ - fileFilter?: string; + networkMode?: string; /** - * The folder path for the mapping. + * Network plugin used for building the Kubernetes network. */ - folderPath?: string; + networkPlugin?: string; /** - * The format of mapping property. + * Network plugin mode used for building the Kubernetes network. */ - format: outputs.customerinsights.v20170426.ConnectorMappingFormatResponse; + networkPluginMode?: string; /** - * If the file contains a header or not. + * Network policy used for building the Kubernetes network. */ - hasHeader?: boolean; + networkPolicy?: string; /** - * Ingestion mapping information at property level. + * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). */ - structure: outputs.customerinsights.v20170426.ConnectorMappingStructureResponse[]; - } - - /** - * Connector mapping property structure. - */ - export interface ConnectorMappingStructureResponse { + outboundType?: string; /** - * The column name of the import file. + * A CIDR notation IP range from which to assign pod IPs when kubenet is used. */ - columnName: string; + podCidr?: string; /** - * Custom format specifier for input parsing. + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. */ - customFormatSpecifier?: string; + podCidrs?: string[]; /** - * Indicates if the column is encrypted. + * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. */ - isEncrypted?: boolean; + serviceCidr?: string; /** - * The property name of the mapping entity. + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. */ - propertyName: string; + serviceCidrs?: string[]; + } + /** + * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse + */ + export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { + return { + ...val, + dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", + loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.v20230602preview.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), + natGatewayProfile: (val.natGatewayProfile ? outputs.containerservice.v20230602preview.managedClusterNATGatewayProfileResponseProvideDefaults(val.natGatewayProfile) : undefined), + outboundType: (val.outboundType) ?? "loadBalancer", + podCidr: (val.podCidr) ?? "10.244.0.0/16", + serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", + }; } /** - * The data source precedence is a way to know the precedence of each data source. + * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. */ - export interface DataSourcePrecedenceResponse { - /** - * The data source reference id. - */ - dataSourceReferenceId: string; - /** - * The data source type. - */ - dataSourceType: string; + export interface ContainerServiceNetworkProfileResponseIpvsConfig { /** - * The data source ID. + * IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. */ - id: number; + scheduler?: string; /** - * The data source name + * The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value. */ - name: string; + tcpFinTimeoutSeconds?: number; /** - * the precedence value. + * The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. */ - precedence?: number; + tcpTimeoutSeconds?: number; /** - * The data source status. + * The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. */ - status: string; + udpTimeoutSeconds?: number; } /** - * Hub billing info. + * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. */ - export interface HubBillingInfoFormatResponse { + export interface ContainerServiceNetworkProfileResponseKubeProxyConfig { /** - * The maximum number of units can be used. One unit is 10,000 Profiles and 100,000 Interactions. + * Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations). */ - maxUnits?: number; + enabled?: boolean; /** - * The minimum number of units will be billed. One unit is 10,000 Profiles and 100,000 Interactions. + * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. */ - minUnits?: number; + ipvsConfig?: outputs.containerservice.v20230602preview.ContainerServiceNetworkProfileResponseIpvsConfig; /** - * The sku name. + * Specify which proxy mode to use ('IPTABLES' or 'IPVS') */ - skuName?: string; + mode?: string; } /** - * The KPI alias. + * SSH configuration for Linux-based VMs running on Azure. */ - export interface KpiAliasResponse { - /** - * KPI alias name. - */ - aliasName: string; + export interface ContainerServiceSshConfigurationResponse { /** - * The expression. + * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. */ - expression: string; + publicKeys: outputs.containerservice.v20230602preview.ContainerServiceSshPublicKeyResponse[]; } /** - * The KPI extract. + * Contains information about SSH certificate public key data. */ - export interface KpiExtractResponse { - /** - * The expression. - */ - expression: string; + export interface ContainerServiceSshPublicKeyResponse { /** - * KPI extract name. + * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. */ - extractName: string; + keyData: string; } /** - * The KPI GroupBy field metadata. + * Data used when creating a target resource from a source resource. */ - export interface KpiGroupByMetadataResponse { + export interface CreationDataResponse { /** - * The display name. + * This is the ARM ID of the source object to be used to create the target object. */ - displayName?: {[key: string]: string}; + sourceResourceId?: string; + } + + /** + * The credential result response. + */ + export interface CredentialResultResponse { /** - * The name of the field. + * The name of the credential. */ - fieldName?: string; + name: string; /** - * The type of the field. + * Base64-encoded Kubernetes configuration file. */ - fieldType?: string; + value: string; } /** - * The KPI participant profile metadata. + * For schedules like: 'recur every day' or 'recur every 3 days'. */ - export interface KpiParticipantProfilesMetadataResponse { + export interface DailyScheduleResponse { /** - * Name of the type. + * Specifies the number of days between each set of occurrences. */ - typeName: string; + intervalDays: number; } /** - * Defines the KPI Threshold limits. + * For example, between '2022-12-23' and '2023-01-05'. */ - export interface KpiThresholdsResponse { - /** - * Whether or not the KPI is an increasing KPI. - */ - increasingKpi: boolean; + export interface DateSpanResponse { /** - * The lower threshold limit. + * The end date of the date span. */ - lowerLimit: number; + end: string; /** - * The upper threshold limit. + * The start date of the date span. */ - upperLimit: number; + start: string; } /** - * The participant profile property reference. + * Delegated resource properties - internal use only. */ - export interface ParticipantProfilePropertyReferenceResponse { + export interface DelegatedResourceResponse { /** - * The source interaction property that maps to the target profile property. + * The source resource location - internal use only. */ - interactionPropertyName: string; + location?: string; /** - * The target profile property that maps to the source interaction property. + * The delegation id of the referral delegation (optional) - internal use only. */ - profilePropertyName: string; - } - - /** - * The participant property reference. - */ - export interface ParticipantPropertyReferenceResponse { + referralResource?: string; /** - * The source property that maps to the target property. + * The ARM resource id of the delegated resource - internal use only. */ - sourcePropertyName: string; + resourceId?: string; /** - * The target property that maps to the source property. + * The tenant id of the delegated resource - internal use only. */ - targetPropertyName: string; + tenantId?: string; } /** - * The definition of the prediction distribution. + * The complex type of the extended location. */ - export interface PredictionDistributionDefinitionResponse { - /** - * Distributions of the prediction. - */ - distributions?: outputs.customerinsights.v20170426.PredictionDistributionDefinitionResponseDistributions[]; + export interface ExtendedLocationResponse { /** - * Total negatives in the distribution. + * The name of the extended location. */ - totalNegatives?: number; + name?: string; /** - * Total positive in the distribution. + * The type of the extended location. */ - totalPositives?: number; + type?: string; } /** - * The definition of a prediction distribution. + * The Guardrails profile. */ - export interface PredictionDistributionDefinitionResponseDistributions { - /** - * Number of negatives. - */ - negatives?: number; + export interface GuardrailsProfileResponse { /** - * Number of negatives above threshold. + * List of namespaces excluded from guardrails checks */ - negativesAboveThreshold?: number; + excludedNamespaces?: string[]; /** - * Number of positives. + * The guardrails level to be used. By default, Guardrails is enabled for all namespaces except those that AKS excludes via systemExcludedNamespaces */ - positives?: number; + level: string; /** - * Number of positives above threshold. + * List of namespaces specified by AKS to be excluded from Guardrails */ - positivesAboveThreshold?: number; + systemExcludedNamespaces: string[]; /** - * Score threshold. + * The version of constraints to use */ - scoreThreshold?: number; + version: string; } /** - * The definition of a prediction grade. + * Contains the IPTag associated with the object. */ - export interface PredictionResponseGrades { + export interface IPTagResponse { /** - * Name of the grade. + * The IP tag type. Example: RoutingPreference. */ - gradeName?: string; + ipTagType?: string; /** - * Maximum score threshold. + * The value of the IP tag associated with the public IP. Example: Internet. */ - maxScoreThreshold?: number; + tag?: string; + } + + /** + * Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca + */ + export interface IstioCertificateAuthorityResponse { /** - * Minimum score threshold. + * Plugin certificates information for Service Mesh. */ - minScoreThreshold?: number; + plugin?: outputs.containerservice.v20230602preview.IstioPluginCertificateAuthorityResponse; } /** - * Definition of the link mapping of prediction. + * Istio components configuration. */ - export interface PredictionResponseMappings { + export interface IstioComponentsResponse { /** - * The grade of the link mapping. + * Istio ingress gateways. */ - grade: string; + ingressGateways?: outputs.containerservice.v20230602preview.IstioIngressGatewayResponse[]; + } + + /** + * Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + */ + export interface IstioIngressGatewayResponse { /** - * The reason of the link mapping. + * Whether to enable the ingress gateway. */ - reason: string; + enabled: boolean; /** - * The score of the link mapping. + * Mode of an ingress gateway. */ - score: string; + mode: string; } /** - * System generated entities. + * Plugin certificates information for Service Mesh. */ - export interface PredictionResponseSystemGeneratedEntities { + export interface IstioPluginCertificateAuthorityResponse { /** - * Generated interaction types. + * Certificate chain object name in Azure Key Vault. */ - generatedInteractionTypes?: string[]; + certChainObjectName?: string; /** - * Generated KPIs. + * Intermediate certificate object name in Azure Key Vault. */ - generatedKpis?: {[key: string]: string}; + certObjectName?: string; /** - * Generated links. + * Intermediate certificate private key object name in Azure Key Vault. */ - generatedLinks?: string[]; + keyObjectName?: string; + /** + * The resource ID of the Key Vault. + */ + keyVaultId?: string; + /** + * Root certificate object name in Azure Key Vault. + */ + rootCertObjectName?: string; } /** - * Valid enum values in case of an enum property. + * Istio service mesh configuration. */ - export interface ProfileEnumValidValuesFormatResponse { + export interface IstioServiceMeshResponse { /** - * Localized names of the enum member. + * Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca */ - localizedValueNames?: {[key: string]: string}; + certificateAuthority?: outputs.containerservice.v20230602preview.IstioCertificateAuthorityResponse; /** - * The integer value of the enum member. + * Istio components configuration. */ - value?: number; + components?: outputs.containerservice.v20230602preview.IstioComponentsResponse; + /** + * The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + */ + revisions?: string[]; } /** - * Property definition. + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ - export interface PropertyDefinitionResponse { - /** - * Array value separator for properties with isArray set. - */ - arrayValueSeparator?: string; + export interface KubeletConfigResponse { /** - * This is specific to interactions modeled as activities. Data sources are used to determine where data is stored and also in precedence rules. + * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). */ - dataSourcePrecedenceRules: outputs.customerinsights.v20170426.DataSourcePrecedenceResponse[]; + allowedUnsafeSysctls?: string[]; /** - * Describes valid values for an enum property. + * The maximum number of container log files that can be present for a container. The number must be ≥ 2. */ - enumValidValues?: outputs.customerinsights.v20170426.ProfileEnumValidValuesFormatResponse[]; + containerLogMaxFiles?: number; /** - * Name of the property. + * The maximum size (e.g. 10Mi) of container log file before it is rotated. */ - fieldName: string; + containerLogMaxSizeMB?: number; /** - * Type of the property. + * The default is true. */ - fieldType: string; + cpuCfsQuota?: boolean; /** - * Indicates if the property is actually an array of the fieldType above on the data api. + * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. */ - isArray?: boolean; + cpuCfsQuotaPeriod?: string; /** - * Whether property is available in graph or not. + * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. */ - isAvailableInGraph?: boolean; + cpuManagerPolicy?: string; /** - * Indicates if the property is an enum. + * If set to true it will make the Kubelet fail to start if swap is enabled on the node. */ - isEnum?: boolean; + failSwapOn?: boolean; /** - * Indicates if the property is an flag enum. + * To disable image garbage collection, set to 100. The default is 85% */ - isFlagEnum?: boolean; + imageGcHighThreshold?: number; /** - * Whether the property is an Image. + * This cannot be set higher than imageGcHighThreshold. The default is 80% */ - isImage?: boolean; + imageGcLowThreshold?: number; /** - * Whether the property is a localized string. + * The maximum number of processes per pod. */ - isLocalizedString?: boolean; + podMaxPids?: number; /** - * Whether the property is a name or a part of name. + * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. */ - isName?: boolean; + topologyManagerPolicy?: string; + } + + /** + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + */ + export interface LinuxOSConfigResponse { /** - * Whether property value is required on instances, IsRequired field only for Interaction. Profile Instance will not check for required field. + * The size in MB of a swap file that will be created on each node. */ - isRequired?: boolean; + swapFileSizeMB?: number; /** - * Max length of string. Used only if type is string. + * Sysctl settings for Linux agent nodes. */ - maxLength?: number; + sysctls?: outputs.containerservice.v20230602preview.SysctlConfigResponse; /** - * The ID associated with the property. + * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ - propertyId?: string; + transparentHugePageDefrag?: string; /** - * URL encoded schema.org item prop link for the property. + * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). */ - schemaItemPropLink?: string; + transparentHugePageEnabled?: string; } /** - * The fields mapping for Relationships. + * Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. */ - export interface RelationshipLinkFieldMappingResponse { + export interface MaintenanceWindowResponse { /** - * The field name on the Interaction Type. + * Length of maintenance window range from 4 to 24 hours. */ - interactionFieldName: string; + durationHours: number; /** - * Link type. + * Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. */ - linkType?: string; + notAllowedDates?: outputs.containerservice.v20230602preview.DateSpanResponse[]; /** - * The field name on the Relationship metadata. + * Recurrence schedule for the maintenance window. */ - relationshipFieldName: string; - } - - /** - * Map a field of profile to its corresponding StrongId in Related Profile. - */ - export interface RelationshipTypeFieldMappingResponse { + schedule: outputs.containerservice.v20230602preview.ScheduleResponse; /** - * Specifies the fieldName in profile. + * The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. */ - profileFieldName: string; + startDate?: string; /** - * Specifies the KeyProperty (from StrongId) of the related profile. + * The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. */ - relatedProfileKeyProperty: string; - } - - /** - * Maps fields in Profile to their corresponding StrongIds in Related Profile. - */ - export interface RelationshipTypeMappingResponse { + startTime: string; /** - * Maps a profile property with the StrongId of related profile. This is an array to support StrongIds that are composite key as well. + * The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. */ - fieldMappings: outputs.customerinsights.v20170426.RelationshipTypeFieldMappingResponse[]; + utcOffset?: string; } - /** - * The resource set description. + * maintenanceWindowResponseProvideDefaults sets the appropriate defaults for MaintenanceWindowResponse */ - export interface ResourceSetDescriptionResponse { - /** - * The elements included in the set. - */ - elements?: string[]; - /** - * The elements that are not included in the set, in case elements contains '*' indicating 'all'. - */ - exceptions?: string[]; + export function maintenanceWindowResponseProvideDefaults(val: MaintenanceWindowResponse): MaintenanceWindowResponse { + return { + ...val, + durationHours: (val.durationHours) ?? 24, + }; } /** - * Property/Properties which represent a unique ID. + * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). */ - export interface StrongIdResponse { + export interface ManagedClusterAADProfileResponse { /** - * Localized descriptions. + * The list of AAD group object IDs that will have admin role of the cluster. */ - description?: {[key: string]: string}; + adminGroupObjectIDs?: string[]; /** - * Localized display name. + * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. */ - displayName?: {[key: string]: string}; + clientAppID?: string; /** - * The properties which make up the unique ID. + * Whether to enable Azure RBAC for Kubernetes authorization. */ - keyPropertyNames: string[]; + enableAzureRBAC?: boolean; /** - * The Name identifying the strong ID. + * Whether to enable managed AAD. */ - strongIdName: string; + managed?: boolean; + /** + * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + */ + serverAppID?: string; + /** + * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + */ + serverAppSecret?: string; + /** + * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + */ + tenantID?: string; } /** - * Metadata for a Link's property mapping. + * Access profile for managed cluster API server. */ - export interface TypePropertiesMappingResponse { + export interface ManagedClusterAPIServerAccessProfileResponse { /** - * Link type. + * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). */ - linkType?: string; + authorizedIPRanges?: string[]; /** - * Property name on the source Entity Type. + * Whether to disable run command for the cluster or not. */ - sourcePropertyName: string; + disableRunCommand?: boolean; /** - * Property name on the target Entity Type. + * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). */ - targetPropertyName: string; + enablePrivateCluster?: boolean; + /** + * Whether to create additional public FQDN for private cluster or not. + */ + enablePrivateClusterPublicFQDN?: boolean; + /** + * Whether to enable apiserver vnet integration for the cluster or not. + */ + enableVnetIntegration?: boolean; + /** + * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + */ + privateDNSZone?: string; + /** + * It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration. + */ + subnetId?: string; } - } -} - -export namespace customproviders { - /** - * The route definition for an action implemented by the custom resource provider. - */ - export interface CustomRPActionRouteDefinitionResponse { - /** - * The route definition endpoint URI that the custom resource provider will proxy requests to. This can be in the form of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a path (e.g. 'https://testendpoint/{requestPath}') - */ - endpoint: string; /** - * The name of the route definition. This becomes the name for the ARM extension (e.g. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + * A Kubernetes add-on profile for a managed cluster. */ - name: string; + export interface ManagedClusterAddonProfileResponse { + /** + * Key-value pairs for configuring an add-on. + */ + config?: {[key: string]: string}; + /** + * Whether the add-on is enabled or not. + */ + enabled: boolean; + /** + * Information of user assigned identity used by this add-on. + */ + identity: outputs.containerservice.v20230602preview.ManagedClusterAddonProfileResponseIdentity; + } + /** - * The routing types that are supported for action requests. + * Information of user assigned identity used by this add-on. */ - routingType?: string; - } + export interface ManagedClusterAddonProfileResponseIdentity { + /** + * The client ID of the user assigned identity. + */ + clientId?: string; + /** + * The object ID of the user assigned identity. + */ + objectId?: string; + /** + * The resource ID of the user assigned identity. + */ + resourceId?: string; + } - /** - * The route definition for a resource implemented by the custom resource provider. - */ - export interface CustomRPResourceTypeRouteDefinitionResponse { /** - * The route definition endpoint URI that the custom resource provider will proxy requests to. This can be in the form of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a path (e.g. 'https://testendpoint/{requestPath}') + * Profile for the container service agent pool. */ - endpoint: string; + export interface ManagedClusterAgentPoolProfileResponse { + /** + * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + */ + availabilityZones?: string[]; + /** + * AKS will associate the specified agent pool with the Capacity Reservation Group. + */ + capacityReservationGroupID?: string; + /** + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + */ + count?: number; + /** + * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + */ + creationData?: outputs.containerservice.v20230602preview.CreationDataResponse; + /** + * If orchestratorVersion was a fully specified version , this field will be exactly equal to it. If orchestratorVersion was , this field will contain the full version being used. + */ + currentOrchestratorVersion: string; + /** + * Whether to enable auto-scaler + */ + enableAutoScaling?: boolean; + /** + * When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded certificates into node trust stores. Defaults to false. + */ + enableCustomCATrust?: boolean; + /** + * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + */ + enableEncryptionAtHost?: boolean; + /** + * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + */ + enableFIPS?: boolean; + /** + * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + */ + enableNodePublicIP?: boolean; + /** + * Whether to enable UltraSSD + */ + enableUltraSSD?: boolean; + /** + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + */ + gpuInstanceProfile?: string; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + */ + hostGroupID?: string; + /** + * The Kubelet configuration on the agent pool nodes. + */ + kubeletConfig?: outputs.containerservice.v20230602preview.KubeletConfigResponse; + /** + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + */ + kubeletDiskType?: string; + /** + * The OS configuration of Linux agent nodes. + */ + linuxOSConfig?: outputs.containerservice.v20230602preview.LinuxOSConfigResponse; + /** + * The maximum number of nodes for auto-scaling + */ + maxCount?: number; + /** + * The maximum number of pods that can run on a node. + */ + maxPods?: number; + /** + * A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). + */ + messageOfTheDay?: string; + /** + * The minimum number of nodes for auto-scaling + */ + minCount?: number; + /** + * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + */ + mode?: string; + /** + * Windows agent pool names must be 6 characters or less. + */ + name: string; + /** + * Network-related settings of an agent pool. + */ + networkProfile?: outputs.containerservice.v20230602preview.AgentPoolNetworkProfileResponse; + /** + * The version of node image + */ + nodeImageVersion: string; + /** + * The node labels to be persisted across all nodes in agent pool. + */ + nodeLabels?: {[key: string]: string}; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + */ + nodePublicIPPrefixID?: string; + /** + * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + */ + nodeTaints?: string[]; + /** + * Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + */ + orchestratorVersion?: string; + /** + * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + */ + osDiskSizeGB?: number; + /** + * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + */ + osDiskType?: string; + /** + * Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. + */ + osSKU?: string; + /** + * The operating system type. The default is Linux. + */ + osType?: string; + /** + * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + podSubnetID?: string; + /** + * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + */ + powerState?: outputs.containerservice.v20230602preview.PowerStateResponse; + /** + * The current deployment or provisioning state. + */ + provisioningState: string; + /** + * The ID for Proximity Placement Group. + */ + proximityPlacementGroupID?: string; + /** + * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + */ + scaleDownMode?: string; + /** + * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + */ + scaleSetEvictionPolicy?: string; + /** + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + */ + scaleSetPriority?: string; + /** + * The security settings of an agent pool. + */ + securityProfile?: outputs.containerservice.v20230602preview.AgentPoolSecurityProfileResponse; + /** + * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + */ + spotMaxPrice?: number; + /** + * The tags to be persisted on the agent pool virtual machine scale set. + */ + tags?: {[key: string]: string}; + /** + * The type of Agent Pool. + */ + type?: string; + /** + * Settings for upgrading the agentpool + */ + upgradeSettings?: outputs.containerservice.v20230602preview.AgentPoolUpgradeSettingsResponse; + /** + * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + */ + vmSize?: string; + /** + * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + vnetSubnetID?: string; + /** + * The Windows agent pool's specific profile. + */ + windowsProfile?: outputs.containerservice.v20230602preview.AgentPoolWindowsProfileResponse; + /** + * Determines the type of workload a node can run. + */ + workloadRuntime?: string; + } + /** - * The name of the route definition. This becomes the name for the ARM extension (e.g. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + * Auto upgrade profile for a managed cluster. */ - name: string; + export interface ManagedClusterAutoUpgradeProfileResponse { + /** + * The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. + */ + nodeOSUpgradeChannel?: string; + /** + * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + */ + upgradeChannel?: string; + } + /** - * The routing types that are supported for resource requests. + * Kube State Metrics for prometheus addon profile for the container service cluster */ - routingType?: string; - } + export interface ManagedClusterAzureMonitorProfileKubeStateMetricsResponse { + /** + * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric. + */ + metricAnnotationsAllowList?: string; + /** + * Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels metric. + */ + metricLabelsAllowlist?: string; + } - /** - * A validation to apply on custom resource provider requests. - */ - export interface CustomRPValidationsResponse { /** - * A link to the validation specification. The specification must be hosted on raw.githubusercontent.com. + * Metrics profile for the prometheus service addon */ - specification: string; + export interface ManagedClusterAzureMonitorProfileMetricsResponse { + /** + * Whether to enable the Prometheus collector + */ + enabled: boolean; + /** + * Kube State Metrics for prometheus addon profile for the container service cluster + */ + kubeStateMetrics?: outputs.containerservice.v20230602preview.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse; + } + /** - * The type of validation to run against a matching request. + * Prometheus addon profile for the container service cluster */ - validationType?: string; - } + export interface ManagedClusterAzureMonitorProfileResponse { + /** + * Metrics profile for the prometheus service addon + */ + metrics?: outputs.containerservice.v20230602preview.ManagedClusterAzureMonitorProfileMetricsResponse; + } - export namespace v20180901preview { /** - * The route definition for an action implemented by the custom resource provider. + * Cluster HTTP proxy configuration. */ - export interface CustomRPActionRouteDefinitionResponse { + export interface ManagedClusterHTTPProxyConfigResponse { /** - * The route definition endpoint URI that the custom resource provider will proxy requests to. This can be in the form of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a path (e.g. 'https://testendpoint/{requestPath}') + * A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a superset of noProxy and values injected by AKS. */ - endpoint: string; + effectiveNoProxy: string[]; /** - * The name of the route definition. This becomes the name for the ARM extension (e.g. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + * The HTTP proxy server endpoint to use. */ - name: string; + httpProxy?: string; /** - * The routing types that are supported for action requests. + * The HTTPS proxy server endpoint to use. */ - routingType?: string; + httpsProxy?: string; + /** + * The endpoints that should not go through proxy. + */ + noProxy?: string[]; + /** + * Alternative CA cert to use for connecting to proxy servers. + */ + trustedCa?: string; } /** - * The route definition for a resource implemented by the custom resource provider. + * Identity for the managed cluster. */ - export interface CustomRPResourceTypeRouteDefinitionResponse { + export interface ManagedClusterIdentityResponse { /** - * The route definition endpoint URI that the custom resource provider will proxy requests to. This can be in the form of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a path (e.g. 'https://testendpoint/{requestPath}') + * The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. */ - endpoint: string; + delegatedResources?: {[key: string]: outputs.containerservice.v20230602preview.DelegatedResourceResponse}; /** - * The name of the route definition. This becomes the name for the ARM extension (e.g. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + * The principal id of the system assigned identity which is used by master components. */ - name: string; + principalId: string; /** - * The routing types that are supported for resource requests. + * The tenant id of the system assigned identity which is used by master components. */ - routingType?: string; + tenantId: string; + /** + * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + */ + type?: string; + /** + * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: {[key: string]: outputs.containerservice.v20230602preview.ManagedClusterIdentityResponseUserAssignedIdentities}; } - /** - * A validation to apply on custom resource provider requests. - */ - export interface CustomRPValidationsResponse { + export interface ManagedClusterIdentityResponseUserAssignedIdentities { /** - * A link to the validation specification. The specification must be hosted on raw.githubusercontent.com. + * The client id of user assigned identity. */ - specification: string; + clientId: string; /** - * The type of validation to run against a matching request. + * The principal id of user assigned identity. */ - validationType?: string; + principalId: string; } - } -} - -export namespace dashboard { - /** - * Integrations for Azure Monitor Workspace. - */ - export interface AzureMonitorWorkspaceIntegrationResponse { /** - * The resource Id of the connected Azure Monitor Workspace. + * Ingress profile for the container service cluster. */ - azureMonitorWorkspaceResourceId?: string; - } - - /** - * GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios. - */ - export interface GrafanaIntegrationsResponse { - azureMonitorWorkspaceIntegrations?: outputs.dashboard.AzureMonitorWorkspaceIntegrationResponse[]; - } + export interface ManagedClusterIngressProfileResponse { + /** + * Web App Routing settings for the ingress profile. + */ + webAppRouting?: outputs.containerservice.v20230602preview.ManagedClusterIngressProfileWebAppRoutingResponse; + } - /** - * Properties specific to the grafana resource. - */ - export interface ManagedGrafanaPropertiesResponse { /** - * The api key setting of the Grafana instance. - */ - apiKey?: string; - /** - * Scope for dns deterministic name hash calculation. - */ - autoGeneratedDomainNameLabelScope?: string; - /** - * Whether a Grafana instance uses deterministic outbound IPs. - */ - deterministicOutboundIP?: string; - /** - * The endpoint of the Grafana instance. - */ - endpoint: string; - /** - * GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios. - */ - grafanaIntegrations?: outputs.dashboard.GrafanaIntegrationsResponse; - /** - * The Grafana software version. - */ - grafanaVersion: string; - /** - * List of outbound IPs if deterministicOutboundIP is enabled. - */ - outboundIPs: string[]; - /** - * The private endpoint connections of the Grafana instance. - */ - privateEndpointConnections: outputs.dashboard.PrivateEndpointConnectionResponse[]; - /** - * Provisioning state of the resource. - */ - provisioningState: string; - /** - * Indicate the state for enable or disable traffic over the public interface. - */ - publicNetworkAccess?: string; - /** - * The zone redundancy setting of the Grafana instance. + * Web App Routing settings for the ingress profile. */ - zoneRedundancy?: string; - } + export interface ManagedClusterIngressProfileWebAppRoutingResponse { + /** + * Resource ID of the DNS Zone to be associated with the web app. Used only when Web App Routing is enabled. + */ + dnsZoneResourceId?: string; + /** + * Whether to enable Web App Routing. + */ + enabled?: boolean; + /** + * Managed identity of the Web Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. + */ + identity: outputs.containerservice.v20230602preview.UserAssignedIdentityResponse; + } - /** - * Managed service identity (system assigned and/or user assigned identities) - */ - export interface ManagedServiceIdentityResponse { - /** - * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. - */ - principalId: string; - /** - * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. - */ - tenantId: string; /** - * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + * Profile of the managed cluster load balancer. */ - type: string; + export interface ManagedClusterLoadBalancerProfileResponse { + /** + * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + */ + allocatedOutboundPorts?: number; + /** + * The type of the managed inbound Load Balancer BackendPool. + */ + backendPoolType?: string; + /** + * The effective outbound IP resources of the cluster load balancer. + */ + effectiveOutboundIPs?: outputs.containerservice.v20230602preview.ResourceReferenceResponse[]; + /** + * Enable multiple standard load balancers per AKS cluster or not. + */ + enableMultipleStandardLoadBalancers?: boolean; + /** + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + */ + idleTimeoutInMinutes?: number; + /** + * Desired managed outbound IPs for the cluster load balancer. + */ + managedOutboundIPs?: outputs.containerservice.v20230602preview.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; + /** + * Desired outbound IP Prefix resources for the cluster load balancer. + */ + outboundIPPrefixes?: outputs.containerservice.v20230602preview.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; + /** + * Desired outbound IP resources for the cluster load balancer. + */ + outboundIPs?: outputs.containerservice.v20230602preview.ManagedClusterLoadBalancerProfileResponseOutboundIPs; + } /** - * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + * managedClusterLoadBalancerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponse */ - userAssignedIdentities?: {[key: string]: outputs.dashboard.UserAssignedIdentityResponse}; - } + export function managedClusterLoadBalancerProfileResponseProvideDefaults(val: ManagedClusterLoadBalancerProfileResponse): ManagedClusterLoadBalancerProfileResponse { + return { + ...val, + allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, + backendPoolType: (val.backendPoolType) ?? "NodeIPConfiguration", + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, + managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.v20230602preview.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), + }; + } - /** - * The Private Endpoint Connection resource. - */ - export interface PrivateEndpointConnectionResponse { - /** - * The private endpoint connection group ids. - */ - groupIds?: string[]; /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - */ - id: string; - /** - * The name of the resource - */ - name: string; - /** - * The resource of private end point. - */ - privateEndpoint?: outputs.dashboard.PrivateEndpointResponse; - /** - * A collection of information about the state of the connection between service consumer and provider. - */ - privateLinkServiceConnectionState: outputs.dashboard.PrivateLinkServiceConnectionStateResponse; - /** - * The provisioning state of the private endpoint connection resource. - */ - provisioningState: string; - /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. + * Desired managed outbound IPs for the cluster load balancer. */ - systemData: outputs.dashboard.SystemDataResponse; + export interface ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + /** + * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + */ + count?: number; + /** + * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + */ + countIPv6?: number; + } /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs */ - type: string; - } + export function managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val: ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs): ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + return { + ...val, + count: (val.count) ?? 1, + countIPv6: (val.countIPv6) ?? 0, + }; + } - /** - * The Private Endpoint resource. - */ - export interface PrivateEndpointResponse { /** - * The ARM identifier for Private Endpoint + * Desired outbound IP Prefix resources for the cluster load balancer. */ - id: string; - } + export interface ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes { + /** + * A list of public IP prefix resources. + */ + publicIPPrefixes?: outputs.containerservice.v20230602preview.ResourceReferenceResponse[]; + } - /** - * A collection of information about the state of the connection between service consumer and provider. - */ - export interface PrivateLinkServiceConnectionStateResponse { - /** - * A message indicating if changes on the service provider require any updates on the consumer. - */ - actionsRequired?: string; - /** - * The reason for approval/rejection of the connection. - */ - description?: string; /** - * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + * Desired outbound IP resources for the cluster load balancer. */ - status?: string; - } - - export interface ResourceSkuResponse { - name: string; - } + export interface ManagedClusterLoadBalancerProfileResponseOutboundIPs { + /** + * A list of public IP resources. + */ + publicIPs?: outputs.containerservice.v20230602preview.ResourceReferenceResponse[]; + } - /** - * Metadata pertaining to creation and last modification of the resource. - */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; /** - * The type of identity that created the resource. + * Profile of the managed outbound IP resources of the managed cluster. */ - createdByType?: string; + export interface ManagedClusterManagedOutboundIPProfileResponse { + /** + * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + */ + count?: number; + } /** - * The timestamp of resource last modification (UTC) + * managedClusterManagedOutboundIPProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterManagedOutboundIPProfileResponse */ - lastModifiedAt?: string; + export function managedClusterManagedOutboundIPProfileResponseProvideDefaults(val: ManagedClusterManagedOutboundIPProfileResponse): ManagedClusterManagedOutboundIPProfileResponse { + return { + ...val, + count: (val.count) ?? 1, + }; + } + /** - * The identity that last modified the resource. + * Profile of the managed cluster NAT gateway. */ - lastModifiedBy?: string; + export interface ManagedClusterNATGatewayProfileResponse { + /** + * The effective outbound IP resources of the cluster NAT gateway. + */ + effectiveOutboundIPs?: outputs.containerservice.v20230602preview.ResourceReferenceResponse[]; + /** + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + */ + idleTimeoutInMinutes?: number; + /** + * Profile of the managed outbound IP resources of the cluster NAT gateway. + */ + managedOutboundIPProfile?: outputs.containerservice.v20230602preview.ManagedClusterManagedOutboundIPProfileResponse; + } /** - * The type of identity that last modified the resource. + * managedClusterNATGatewayProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileResponse */ - lastModifiedByType?: string; - } + export function managedClusterNATGatewayProfileResponseProvideDefaults(val: ManagedClusterNATGatewayProfileResponse): ManagedClusterNATGatewayProfileResponse { + return { + ...val, + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, + managedOutboundIPProfile: (val.managedOutboundIPProfile ? outputs.containerservice.v20230602preview.managedClusterManagedOutboundIPProfileResponseProvideDefaults(val.managedOutboundIPProfile) : undefined), + }; + } - /** - * User assigned identity properties - */ - export interface UserAssignedIdentityResponse { /** - * The client ID of the assigned identity. + * Node resource group lockdown profile for a managed cluster. */ - clientId: string; + export interface ManagedClusterNodeResourceGroupProfileResponse { + /** + * The restriction level applied to the cluster's node resource group + */ + restrictionLevel?: string; + } + /** - * The principal ID of the assigned identity. + * The OIDC issuer profile of the Managed Cluster. */ - principalId: string; - } + export interface ManagedClusterOIDCIssuerProfileResponse { + /** + * Whether the OIDC issuer is enabled. + */ + enabled?: boolean; + /** + * The OIDC issuer url of the Managed Cluster. + */ + issuerURL: string; + } - export namespace v20210901preview { /** - * Properties specific to the grafana resource. + * See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. */ - export interface ManagedGrafanaPropertiesResponse { - autoGeneratedDomainNameLabelScope?: string; + export interface ManagedClusterPodIdentityExceptionResponse { /** - * The endpoint of the Grafana instance. + * The name of the pod identity exception. */ - endpoint: string; + name: string; /** - * The Grafana software version. + * The namespace of the pod identity exception. */ - grafanaVersion: string; + namespace: string; /** - * Provisioning state of the resource. + * The pod labels to match. */ - provisioningState?: string; - zoneRedundancy?: string; + podLabels: {[key: string]: string}; } /** - * The managed identity of a resource. + * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. */ - export interface ManagedIdentityResponse { + export interface ManagedClusterPodIdentityProfileResponse { /** - * The principal id of the system assigned identity. + * Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. */ - principalId: string; + allowNetworkPluginKubenet?: boolean; /** - * The tenant id of the system assigned identity. + * Whether the pod identity addon is enabled. */ - tenantId: string; + enabled?: boolean; /** - * The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource. + * The pod identities to use in the cluster. */ - type?: string; + userAssignedIdentities?: outputs.containerservice.v20230602preview.ManagedClusterPodIdentityResponse[]; /** - * Dictionary of user assigned identities. + * The pod identity exceptions to allow. */ - userAssignedIdentities?: {[key: string]: outputs.dashboard.v20210901preview.UserAssignedIdentityResponse}; - } - - export interface ResourceSkuResponse { - name: string; + userAssignedIdentityExceptions?: outputs.containerservice.v20230602preview.ManagedClusterPodIdentityExceptionResponse[]; } - export interface SystemDataResponse { - createdAt?: string; - createdBy?: string; + /** + * An error response from the pod identity provisioning. + */ + export interface ManagedClusterPodIdentityProvisioningErrorBodyResponse { /** - * The type of identity that created the resource. + * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */ - createdByType?: string; - lastModifiedAt?: string; - lastModifiedBy?: string; - lastModifiedByType?: string; - } - - export interface UserAssignedIdentityResponse { + code?: string; /** - * The client id of user assigned identity. + * A list of additional details about the error. */ - clientId: string; + details?: outputs.containerservice.v20230602preview.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; /** - * The principal id of user assigned identity. + * A message describing the error, intended to be suitable for display in a user interface. */ - principalId: string; - } - - } - - export namespace v20220801 { - /** - * Integrations for Azure Monitor Workspace. - */ - export interface AzureMonitorWorkspaceIntegrationResponse { + message?: string; /** - * The resource Id of the connected Azure Monitor Workspace. + * The target of the particular error. For example, the name of the property in error. */ - azureMonitorWorkspaceResourceId?: string; + target?: string; } /** - * GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios. + * An error response from the pod identity provisioning. */ - export interface GrafanaIntegrationsResponse { - azureMonitorWorkspaceIntegrations?: outputs.dashboard.v20220801.AzureMonitorWorkspaceIntegrationResponse[]; + export interface ManagedClusterPodIdentityProvisioningErrorResponse { + /** + * Details about the error. + */ + error?: outputs.containerservice.v20230602preview.ManagedClusterPodIdentityProvisioningErrorBodyResponse; } /** - * Properties specific to the grafana resource. + * Details about the pod identity assigned to the Managed Cluster. */ - export interface ManagedGrafanaPropertiesResponse { - /** - * The api key setting of the Grafana instance. - */ - apiKey?: string; - /** - * Scope for dns deterministic name hash calculation. - */ - autoGeneratedDomainNameLabelScope?: string; - /** - * Whether a Grafana instance uses deterministic outbound IPs. - */ - deterministicOutboundIP?: string; - /** - * The endpoint of the Grafana instance. - */ - endpoint: string; + export interface ManagedClusterPodIdentityResponse { /** - * GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios. + * The binding selector to use for the AzureIdentityBinding resource. */ - grafanaIntegrations?: outputs.dashboard.v20220801.GrafanaIntegrationsResponse; + bindingSelector?: string; /** - * The Grafana software version. + * The user assigned identity details. */ - grafanaVersion: string; + identity: outputs.containerservice.v20230602preview.UserAssignedIdentityResponse; /** - * List of outbound IPs if deterministicOutboundIP is enabled. + * The name of the pod identity. */ - outboundIPs: string[]; + name: string; /** - * The private endpoint connections of the Grafana instance. + * The namespace of the pod identity. */ - privateEndpointConnections: outputs.dashboard.v20220801.PrivateEndpointConnectionResponse[]; + namespace: string; + provisioningInfo: outputs.containerservice.v20230602preview.ManagedClusterPodIdentityResponseProvisioningInfo; /** - * Provisioning state of the resource. + * The current provisioning state of the pod identity. */ provisioningState: string; + } + + export interface ManagedClusterPodIdentityResponseProvisioningInfo { /** - * Indicate the state for enable or disable traffic over the public interface. - */ - publicNetworkAccess?: string; - /** - * The zone redundancy setting of the Grafana instance. + * Pod identity assignment error (if any). */ - zoneRedundancy?: string; + error?: outputs.containerservice.v20230602preview.ManagedClusterPodIdentityProvisioningErrorResponse; } /** - * Managed service identity (system assigned and/or user assigned identities) + * managed cluster properties for snapshot, these properties are read only. */ - export interface ManagedServiceIdentityResponse { + export interface ManagedClusterPropertiesForSnapshotResponse { /** - * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + * Whether the cluster has enabled Kubernetes Role-Based Access Control or not. */ - principalId: string; + enableRbac?: boolean; /** - * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + * The current kubernetes version. */ - tenantId: string; + kubernetesVersion?: string; /** - * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + * The current network profile. */ - type: string; + networkProfile: outputs.containerservice.v20230602preview.NetworkProfileForSnapshotResponse; /** - * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + * The current managed cluster sku. */ - userAssignedIdentities?: {[key: string]: outputs.dashboard.v20220801.UserAssignedIdentityResponse}; + sku?: outputs.containerservice.v20230602preview.ManagedClusterSKUResponse; } /** - * The Private Endpoint Connection resource. + * Parameters to be applied to the cluster-autoscaler when enabled */ - export interface PrivateEndpointConnectionResponse { - /** - * The private endpoint connection group ids. - */ - groupIds?: string[]; + export interface ManagedClusterPropertiesResponseAutoScalerProfile { /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * Valid values are 'true' and 'false' */ - id: string; + balanceSimilarNodeGroups?: string; /** - * The name of the resource + * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. */ - name: string; + expander?: string; /** - * The resource of private end point. + * The default is 10. */ - privateEndpoint?: outputs.dashboard.v20220801.PrivateEndpointResponse; + maxEmptyBulkDelete?: string; /** - * A collection of information about the state of the connection between service consumer and provider. + * The default is 600. */ - privateLinkServiceConnectionState: outputs.dashboard.v20220801.PrivateLinkServiceConnectionStateResponse; + maxGracefulTerminationSec?: string; /** - * The provisioning state of the private endpoint connection resource. + * The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - provisioningState: string; + maxNodeProvisionTime?: string; /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. + * The default is 45. The maximum is 100 and the minimum is 0. */ - systemData: outputs.dashboard.v20220801.SystemDataResponse; + maxTotalUnreadyPercentage?: string; /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). */ - type: string; - } - - /** - * The Private Endpoint resource. - */ - export interface PrivateEndpointResponse { + newPodScaleUpDelay?: string; /** - * The ARM identifier for Private Endpoint + * This must be an integer. The default is 3. */ - id: string; - } - - /** - * A collection of information about the state of the connection between service consumer and provider. - */ - export interface PrivateLinkServiceConnectionStateResponse { + okTotalUnreadyCount?: string; /** - * A message indicating if changes on the service provider require any updates on the consumer. + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - actionsRequired?: string; + scaleDownDelayAfterAdd?: string; /** - * The reason for approval/rejection of the connection. + * The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - description?: string; + scaleDownDelayAfterDelete?: string; /** - * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + * The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - status?: string; - } - - export interface ResourceSkuResponse { - name: string; - } - - /** - * Metadata pertaining to creation and last modification of the resource. - */ - export interface SystemDataResponse { + scaleDownDelayAfterFailure?: string; /** - * The timestamp of resource creation (UTC). + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - createdAt?: string; + scaleDownUnneededTime?: string; /** - * The identity that created the resource. + * The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. */ - createdBy?: string; + scaleDownUnreadyTime?: string; /** - * The type of identity that created the resource. + * The default is '0.5'. */ - createdByType?: string; + scaleDownUtilizationThreshold?: string; /** - * The timestamp of resource last modification (UTC) + * The default is '10'. Values must be an integer number of seconds. */ - lastModifiedAt?: string; + scanInterval?: string; /** - * The identity that last modified the resource. + * The default is true. */ - lastModifiedBy?: string; + skipNodesWithLocalStorage?: string; /** - * The type of identity that last modified the resource. + * The default is true. */ - lastModifiedByType?: string; + skipNodesWithSystemPods?: string; } /** - * User assigned identity properties + * The SKU of a Managed Cluster. */ - export interface UserAssignedIdentityResponse { + export interface ManagedClusterSKUResponse { /** - * The client ID of the assigned identity. + * The name of a managed cluster SKU. */ - clientId: string; + name?: string; /** - * The principal ID of the assigned identity. + * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. */ - principalId: string; + tier?: string; } - } -} - -export namespace databox { - /** - * Credential details of the account. - */ - export interface AccountCredentialDetailsResponse { - /** - * Connection string of the account endpoint to use the account as a storage endpoint on the device. - */ - accountConnectionString: string; - /** - * Name of the account. - */ - accountName: string; - /** - * Type of the account. - */ - dataAccountType: string; /** - * Per share level unencrypted access credentials. + * Microsoft Defender settings for the security profile. */ - shareCredentialDetails: outputs.databox.ShareCredentialDetailsResponse[]; - } + export interface ManagedClusterSecurityProfileDefenderResponse { + /** + * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + */ + logAnalyticsWorkspaceResourceId?: string; + /** + * Microsoft Defender threat detection for Cloud settings for the security profile. + */ + securityMonitoring?: outputs.containerservice.v20230602preview.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse; + } - /** - * This class represents additional info which Resource Providers pass when an error occurs. - */ - export interface AdditionalErrorInfoResponse { /** - * Additional information of the type of error. + * Microsoft Defender settings for the security profile threat detection. */ - info?: any; + export interface ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse { + /** + * Whether to enable Defender threat detection + */ + enabled?: boolean; + } + /** - * Type of error (e.g. CustomerIntervention, PolicyViolation, SecurityViolation). + * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. */ - type?: string; - } + export interface ManagedClusterSecurityProfileImageCleanerResponse { + /** + * Whether to enable Image Cleaner on AKS cluster. + */ + enabled?: boolean; + /** + * Image Cleaner scanning interval in hours. + */ + intervalHours?: number; + } - /** - * The Network Adapter configuration of a DataBox. - */ - export interface ApplianceNetworkConfigurationResponse { /** - * Mac Address. + * Image integrity related settings for the security profile. */ - macAddress: string; + export interface ManagedClusterSecurityProfileImageIntegrityResponse { + /** + * Whether to enable image integrity. The default value is false. + */ + enabled?: boolean; + } + /** - * Name of the network. + * Node Restriction settings for the security profile. */ - name: string; - } + export interface ManagedClusterSecurityProfileNodeRestrictionResponse { + /** + * Whether to enable Node Restriction + */ + enabled?: boolean; + } - /** - * Filter details to transfer Azure files - */ - export interface AzureFileFilterDetailsResponse { /** - * List of full path of the files to be transferred. + * Security profile for the container service cluster. */ - filePathList?: string[]; + export interface ManagedClusterSecurityProfileResponse { + /** + * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + */ + azureKeyVaultKms?: outputs.containerservice.v20230602preview.AzureKeyVaultKmsResponse; + /** + * A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the Custom CA Trust feature enabled. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) + */ + customCATrustCertificates?: string[]; + /** + * Microsoft Defender settings for the security profile. + */ + defender?: outputs.containerservice.v20230602preview.ManagedClusterSecurityProfileDefenderResponse; + /** + * Image Cleaner settings for the security profile. + */ + imageCleaner?: outputs.containerservice.v20230602preview.ManagedClusterSecurityProfileImageCleanerResponse; + /** + * Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This will not have any effect unless Azure Policy is applied to enforce image signatures. See https://aka.ms/aks/image-integrity for how to use this feature via policy. + */ + imageIntegrity?: outputs.containerservice.v20230602preview.ManagedClusterSecurityProfileImageIntegrityResponse; + /** + * [Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile. + */ + nodeRestriction?: outputs.containerservice.v20230602preview.ManagedClusterSecurityProfileNodeRestrictionResponse; + /** + * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + */ + workloadIdentity?: outputs.containerservice.v20230602preview.ManagedClusterSecurityProfileWorkloadIdentityResponse; + } /** - * Prefix list of the Azure files to be transferred. + * managedClusterSecurityProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileResponse */ - filePrefixList?: string[]; + export function managedClusterSecurityProfileResponseProvideDefaults(val: ManagedClusterSecurityProfileResponse): ManagedClusterSecurityProfileResponse { + return { + ...val, + azureKeyVaultKms: (val.azureKeyVaultKms ? outputs.containerservice.v20230602preview.azureKeyVaultKmsResponseProvideDefaults(val.azureKeyVaultKms) : undefined), + }; + } + /** - * List of file shares to be transferred. + * Workload identity settings for the security profile. */ - fileShareList?: string[]; - } + export interface ManagedClusterSecurityProfileWorkloadIdentityResponse { + /** + * Whether to enable workload identity. + */ + enabled?: boolean; + } - /** - * Filter details to transfer Azure Blobs - */ - export interface BlobFilterDetailsResponse { /** - * List of full path of the blobs to be transferred. + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. */ - blobPathList?: string[]; + export interface ManagedClusterServicePrincipalProfileResponse { + /** + * The ID for the service principal. + */ + clientId: string; + /** + * The secret password associated with the service principal in plain text. + */ + secret?: string; + } + /** - * Prefix list of the Azure blobs to be transferred. + * AzureBlob CSI Driver settings for the storage profile. */ - blobPrefixList?: string[]; + export interface ManagedClusterStorageProfileBlobCSIDriverResponse { + /** + * Whether to enable AzureBlob CSI Driver. The default value is false. + */ + enabled?: boolean; + } + /** - * List of blob containers to be transferred. + * AzureDisk CSI Driver settings for the storage profile. */ - containerList?: string[]; - } + export interface ManagedClusterStorageProfileDiskCSIDriverResponse { + /** + * Whether to enable AzureDisk CSI Driver. The default value is true. + */ + enabled?: boolean; + /** + * The version of AzureDisk CSI Driver. The default value is v1. + */ + version?: string; + } - /** - * Provides additional information about an http error response. - */ - export interface CloudErrorResponse { /** - * Gets or sets additional error info. + * AzureFile CSI Driver settings for the storage profile. */ - additionalInfo: outputs.databox.AdditionalErrorInfoResponse[]; + export interface ManagedClusterStorageProfileFileCSIDriverResponse { + /** + * Whether to enable AzureFile CSI Driver. The default value is true. + */ + enabled?: boolean; + } + /** - * Error code. + * Storage profile for the container service cluster. */ - code?: string; + export interface ManagedClusterStorageProfileResponse { + /** + * AzureBlob CSI Driver settings for the storage profile. + */ + blobCSIDriver?: outputs.containerservice.v20230602preview.ManagedClusterStorageProfileBlobCSIDriverResponse; + /** + * AzureDisk CSI Driver settings for the storage profile. + */ + diskCSIDriver?: outputs.containerservice.v20230602preview.ManagedClusterStorageProfileDiskCSIDriverResponse; + /** + * AzureFile CSI Driver settings for the storage profile. + */ + fileCSIDriver?: outputs.containerservice.v20230602preview.ManagedClusterStorageProfileFileCSIDriverResponse; + /** + * Snapshot Controller settings for the storage profile. + */ + snapshotController?: outputs.containerservice.v20230602preview.ManagedClusterStorageProfileSnapshotControllerResponse; + } + /** - * Gets or sets details for the error. + * Snapshot Controller settings for the storage profile. */ - details: outputs.databox.CloudErrorResponse[]; + export interface ManagedClusterStorageProfileSnapshotControllerResponse { + /** + * Whether to enable Snapshot Controller. The default value is true. + */ + enabled?: boolean; + } + /** - * The error message parsed from the body of the http error response. + * Profile for Windows VMs in the managed cluster. */ - message?: string; + export interface ManagedClusterWindowsProfileResponse { + /** + * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + */ + adminPassword?: string; + /** + * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + */ + adminUsername: string; + /** + * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + */ + enableCSIProxy?: boolean; + /** + * The Windows gMSA Profile in the Managed Cluster. + */ + gmsaProfile?: outputs.containerservice.v20230602preview.WindowsGmsaProfileResponse; + /** + * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + */ + licenseType?: string; + } + /** - * Gets or sets the target of the error. + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ - target?: string; - } + export interface ManagedClusterWorkloadAutoScalerProfileKedaResponse { + /** + * Whether to enable KEDA. + */ + enabled: boolean; + } - /** - * Contact Details. - */ - export interface ContactDetailsResponse { /** - * Contact name of the person. + * Workload Auto-scaler profile for the managed cluster. */ - contactName: string; + export interface ManagedClusterWorkloadAutoScalerProfileResponse { + /** + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + */ + keda?: outputs.containerservice.v20230602preview.ManagedClusterWorkloadAutoScalerProfileKedaResponse; + verticalPodAutoscaler?: outputs.containerservice.v20230602preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse; + } /** - * List of Email-ids to be notified about job progress. + * managedClusterWorkloadAutoScalerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileResponse */ - emailList: string[]; + export function managedClusterWorkloadAutoScalerProfileResponseProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileResponse): ManagedClusterWorkloadAutoScalerProfileResponse { + return { + ...val, + verticalPodAutoscaler: (val.verticalPodAutoscaler ? outputs.containerservice.v20230602preview.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults(val.verticalPodAutoscaler) : undefined), + }; + } + + export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse { + /** + * Controls which resource value autoscaler will change. Default value is RequestsAndLimits. + */ + controlledValues: string; + /** + * Whether to enable VPA. Default value is false. + */ + enabled: boolean; + /** + * Each update mode level is a superset of the lower levels. Off
Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + dnsServer?: string; + /** + * Specifies whether to enable Windows gMSA in the managed cluster. + */ + enabled?: boolean; + /** + * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + rootDomainName?: string; + } + + } + + export namespace v20230701 { /** - * Number of folders not adhering to azure naming conventions which were processed by automatic renaming + * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. */ - renamedContainerCount: number; + export interface AbsoluteMonthlyScheduleResponse { + /** + * The date of the month. + */ + dayOfMonth: number; + /** + * Specifies the number of months between each set of occurrences. + */ + intervalMonths: number; + } + /** - * Name of the storage account. This will be empty for data account types other than storage account. + * Settings for upgrading an agentpool */ - storageAccountName: string; + export interface AgentPoolUpgradeSettingsResponse { + /** + * The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. + */ + drainTimeoutInMinutes?: number; + /** + * This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + */ + maxSurge?: string; + } + /** - * Total amount of data to be processed by the job. + * Azure Key Vault key management service settings for the security profile. */ - totalBytesToProcess: number; + export interface AzureKeyVaultKmsResponse { + /** + * Whether to enable Azure Key Vault key management service. The default is false. + */ + enabled?: boolean; + /** + * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + */ + keyId?: string; + /** + * Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + */ + keyVaultNetworkAccess?: string; + /** + * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + */ + keyVaultResourceId?: string; + } /** - * Total files to process + * azureKeyVaultKmsResponseProvideDefaults sets the appropriate defaults for AzureKeyVaultKmsResponse */ - totalFilesToProcess: number; + export function azureKeyVaultKmsResponseProvideDefaults(val: AzureKeyVaultKmsResponse): AzureKeyVaultKmsResponse { + return { + ...val, + keyVaultNetworkAccess: (val.keyVaultNetworkAccess) ?? "Public", + }; + } + /** - * Transfer type of data + * Settings for upgrading a cluster. */ - transferType: string; - } + export interface ClusterUpgradeSettingsResponse { + /** + * Settings for overrides. + */ + overrideSettings?: outputs.containerservice.v20230701.UpgradeOverrideSettingsResponse; + } - /** - * The secrets related to customer disk job. - */ - export interface CustomerDiskJobSecretsResponse { /** - * Carrier Account Number of the customer + * Profile for Linux VMs in the container service cluster. */ - carrierAccountNumber: string; + export interface ContainerServiceLinuxProfileResponse { + /** + * The administrator username to use for Linux VMs. + */ + adminUsername: string; + /** + * The SSH configuration for Linux-based VMs running on Azure. + */ + ssh: outputs.containerservice.v20230701.ContainerServiceSshConfigurationResponse; + } + /** - * Dc Access Security Code for Customer Managed Shipping + * Profile of network configuration. */ - dcAccessSecurityCode: outputs.databox.DcAccessSecurityCodeResponse; + export interface ContainerServiceNetworkProfileResponse { + /** + * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + */ + dnsServiceIP?: string; + /** + * IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + */ + ipFamilies?: string[]; + /** + * Profile of the cluster load balancer. + */ + loadBalancerProfile?: outputs.containerservice.v20230701.ManagedClusterLoadBalancerProfileResponse; + /** + * The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + */ + loadBalancerSku?: string; + /** + * Profile of the cluster NAT gateway. + */ + natGatewayProfile?: outputs.containerservice.v20230701.ManagedClusterNATGatewayProfileResponse; + /** + * Network dataplane used in the Kubernetes cluster. + */ + networkDataplane?: string; + /** + * This cannot be specified if networkPlugin is anything other than 'azure'. + */ + networkMode?: string; + /** + * Network plugin used for building the Kubernetes network. + */ + networkPlugin?: string; + /** + * The mode the network plugin should use. + */ + networkPluginMode?: string; + /** + * Network policy used for building the Kubernetes network. + */ + networkPolicy?: string; + /** + * This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + */ + outboundType?: string; + /** + * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + */ + podCidr?: string; + /** + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + */ + podCidrs?: string[]; + /** + * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + */ + serviceCidr?: string; + /** + * One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + */ + serviceCidrs?: string[]; + } /** - * Contains the list of secrets object for that device. + * containerServiceNetworkProfileResponseProvideDefaults sets the appropriate defaults for ContainerServiceNetworkProfileResponse */ - diskSecrets: outputs.databox.DiskSecretResponse[]; + export function containerServiceNetworkProfileResponseProvideDefaults(val: ContainerServiceNetworkProfileResponse): ContainerServiceNetworkProfileResponse { + return { + ...val, + dnsServiceIP: (val.dnsServiceIP) ?? "10.0.0.10", + loadBalancerProfile: (val.loadBalancerProfile ? outputs.containerservice.v20230701.managedClusterLoadBalancerProfileResponseProvideDefaults(val.loadBalancerProfile) : undefined), + natGatewayProfile: (val.natGatewayProfile ? outputs.containerservice.v20230701.managedClusterNATGatewayProfileResponseProvideDefaults(val.natGatewayProfile) : undefined), + networkPlugin: (val.networkPlugin) ?? "kubenet", + outboundType: (val.outboundType) ?? "loadBalancer", + podCidr: (val.podCidr) ?? "10.244.0.0/16", + serviceCidr: (val.serviceCidr) ?? "10.0.0.0/16", + }; + } + /** - * Error while fetching the secrets. + * SSH configuration for Linux-based VMs running on Azure. */ - error: outputs.databox.CloudErrorResponse; + export interface ContainerServiceSshConfigurationResponse { + /** + * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + */ + publicKeys: outputs.containerservice.v20230701.ContainerServiceSshPublicKeyResponse[]; + } + /** - * Used to indicate what type of job secrets object. - * Expected value is 'DataBoxCustomerDisk'. + * Contains information about SSH certificate public key data. */ - jobSecretsType: "DataBoxCustomerDisk"; - } + export interface ContainerServiceSshPublicKeyResponse { + /** + * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + */ + keyData: string; + } - /** - * Copy log details for a storage account of a DataBox job - */ - export interface DataBoxAccountCopyLogDetailsResponse { /** - * Account name. + * Data used when creating a target resource from a source resource. */ - accountName: string; + export interface CreationDataResponse { + /** + * This is the ARM ID of the source object to be used to create the target object. + */ + sourceResourceId?: string; + } + /** - * Indicates the type of job details. - * Expected value is 'DataBox'. + * The credential result response. */ - copyLogDetailsType: "DataBox"; + export interface CredentialResultResponse { + /** + * The name of the credential. + */ + name: string; + /** + * Base64-encoded Kubernetes configuration file. + */ + value: string; + } + /** - * Link for copy logs. + * For schedules like: 'recur every day' or 'recur every 3 days'. */ - copyLogLink: string; + export interface DailyScheduleResponse { + /** + * Specifies the number of days between each set of occurrences. + */ + intervalDays: number; + } + /** - * Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose. + * For example, between '2022-12-23' and '2023-01-05'. */ - copyVerboseLogLink: string; - } + export interface DateSpanResponse { + /** + * The end date of the date span. + */ + end: string; + /** + * The start date of the date span. + */ + start: string; + } - /** - * Copy Log Details for customer disk - */ - export interface DataBoxCustomerDiskCopyLogDetailsResponse { /** - * Indicates the type of job details. - * Expected value is 'DataBoxCustomerDisk'. + * Delegated resource properties - internal use only. */ - copyLogDetailsType: "DataBoxCustomerDisk"; + export interface DelegatedResourceResponse { + /** + * The source resource location - internal use only. + */ + location?: string; + /** + * The delegation id of the referral delegation (optional) - internal use only. + */ + referralResource?: string; + /** + * The ARM resource id of the delegated resource - internal use only. + */ + resourceId?: string; + /** + * The tenant id of the delegated resource - internal use only. + */ + tenantId?: string; + } + /** - * Link for copy error logs. + * The complex type of the extended location. */ - errorLogLink: string; + export interface ExtendedLocationResponse { + /** + * The name of the extended location. + */ + name?: string; + /** + * The type of the extended location. + */ + type?: string; + } + /** - * Disk Serial Number. + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ - serialNumber: string; - /** - * Link for copy verbose logs. - */ - verboseLogLink: string; - } + export interface KubeletConfigResponse { + /** + * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + */ + allowedUnsafeSysctls?: string[]; + /** + * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + */ + containerLogMaxFiles?: number; + /** + * The maximum size (e.g. 10Mi) of container log file before it is rotated. + */ + containerLogMaxSizeMB?: number; + /** + * The default is true. + */ + cpuCfsQuota?: boolean; + /** + * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + */ + cpuCfsQuotaPeriod?: string; + /** + * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + */ + cpuManagerPolicy?: string; + /** + * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + */ + failSwapOn?: boolean; + /** + * To disable image garbage collection, set to 100. The default is 85% + */ + imageGcHighThreshold?: number; + /** + * This cannot be set higher than imageGcHighThreshold. The default is 80% + */ + imageGcLowThreshold?: number; + /** + * The maximum number of processes per pod. + */ + podMaxPids?: number; + /** + * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + */ + topologyManagerPolicy?: string; + } - /** - * DataBox CustomerDisk Copy Progress - */ - export interface DataBoxCustomerDiskCopyProgressResponse { - /** - * Id of the account where the data needs to be uploaded. - */ - accountId: string; /** - * Available actions on the job. + * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */ - actions: string[]; + export interface LinuxOSConfigResponse { + /** + * The size in MB of a swap file that will be created on each node. + */ + swapFileSizeMB?: number; + /** + * Sysctl settings for Linux agent nodes. + */ + sysctls?: outputs.containerservice.v20230701.SysctlConfigResponse; + /** + * Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageDefrag?: string; + /** + * Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageEnabled?: string; + } + /** - * To indicate bytes transferred. + * Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. */ - bytesProcessed: number; + export interface MaintenanceWindowResponse { + /** + * Length of maintenance window range from 4 to 24 hours. + */ + durationHours: number; + /** + * Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. + */ + notAllowedDates?: outputs.containerservice.v20230701.DateSpanResponse[]; + /** + * Recurrence schedule for the maintenance window. + */ + schedule: outputs.containerservice.v20230701.ScheduleResponse; + /** + * The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + */ + startDate?: string; + /** + * The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + */ + startTime: string; + /** + * The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. + */ + utcOffset?: string; + } /** - * The Status of the copy + * maintenanceWindowResponseProvideDefaults sets the appropriate defaults for MaintenanceWindowResponse */ - copyStatus: string; + export function maintenanceWindowResponseProvideDefaults(val: MaintenanceWindowResponse): MaintenanceWindowResponse { + return { + ...val, + durationHours: (val.durationHours) ?? 24, + }; + } + /** - * Data Account Type. + * For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). */ - dataAccountType: string; + export interface ManagedClusterAADProfileResponse { + /** + * The list of AAD group object IDs that will have admin role of the cluster. + */ + adminGroupObjectIDs?: string[]; + /** + * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + */ + clientAppID?: string; + /** + * Whether to enable Azure RBAC for Kubernetes authorization. + */ + enableAzureRBAC?: boolean; + /** + * Whether to enable managed AAD. + */ + managed?: boolean; + /** + * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + */ + serverAppID?: string; + /** + * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + */ + serverAppSecret?: string; + /** + * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + */ + tenantID?: string; + } + /** - * To indicate directories errored out in the job. + * Access profile for managed cluster API server. */ - directoriesErroredOut: number; + export interface ManagedClusterAPIServerAccessProfileResponse { + /** + * IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + */ + authorizedIPRanges?: string[]; + /** + * Whether to disable run command for the cluster or not. + */ + disableRunCommand?: boolean; + /** + * For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + */ + enablePrivateCluster?: boolean; + /** + * Whether to create additional public FQDN for private cluster or not. + */ + enablePrivateClusterPublicFQDN?: boolean; + /** + * The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + */ + privateDNSZone?: string; + } + /** - * Error, if any, in the stage + * A Kubernetes add-on profile for a managed cluster. */ - error: outputs.databox.CloudErrorResponse; + export interface ManagedClusterAddonProfileResponse { + /** + * Key-value pairs for configuring an add-on. + */ + config?: {[key: string]: string}; + /** + * Whether the add-on is enabled or not. + */ + enabled: boolean; + /** + * Information of user assigned identity used by this add-on. + */ + identity: outputs.containerservice.v20230701.ManagedClusterAddonProfileResponseIdentity; + } + /** - * Number of files which could not be copied + * Information of user assigned identity used by this add-on. */ - filesErroredOut: number; + export interface ManagedClusterAddonProfileResponseIdentity { + /** + * The client ID of the user assigned identity. + */ + clientId?: string; + /** + * The object ID of the user assigned identity. + */ + objectId?: string; + /** + * The resource ID of the user assigned identity. + */ + resourceId?: string; + } + /** - * Number of files processed + * Profile for the container service agent pool. */ - filesProcessed: number; + export interface ManagedClusterAgentPoolProfileResponse { + /** + * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + */ + availabilityZones?: string[]; + /** + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + */ + count?: number; + /** + * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + */ + creationData?: outputs.containerservice.v20230701.CreationDataResponse; + /** + * If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + */ + currentOrchestratorVersion: string; + /** + * Whether to enable auto-scaler + */ + enableAutoScaling?: boolean; + /** + * This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + */ + enableEncryptionAtHost?: boolean; + /** + * See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + */ + enableFIPS?: boolean; + /** + * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + */ + enableNodePublicIP?: boolean; + /** + * Whether to enable UltraSSD + */ + enableUltraSSD?: boolean; + /** + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + */ + gpuInstanceProfile?: string; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + */ + hostGroupID?: string; + /** + * The Kubelet configuration on the agent pool nodes. + */ + kubeletConfig?: outputs.containerservice.v20230701.KubeletConfigResponse; + /** + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + */ + kubeletDiskType?: string; + /** + * The OS configuration of Linux agent nodes. + */ + linuxOSConfig?: outputs.containerservice.v20230701.LinuxOSConfigResponse; + /** + * The maximum number of nodes for auto-scaling + */ + maxCount?: number; + /** + * The maximum number of pods that can run on a node. + */ + maxPods?: number; + /** + * The minimum number of nodes for auto-scaling + */ + minCount?: number; + /** + * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + */ + mode?: string; + /** + * Windows agent pool names must be 6 characters or less. + */ + name: string; + /** + * The version of node image + */ + nodeImageVersion: string; + /** + * The node labels to be persisted across all nodes in agent pool. + */ + nodeLabels?: {[key: string]: string}; + /** + * This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + */ + nodePublicIPPrefixID?: string; + /** + * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + */ + nodeTaints?: string[]; + /** + * Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + */ + orchestratorVersion?: string; + /** + * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + */ + osDiskSizeGB?: number; + /** + * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + */ + osDiskType?: string; + /** + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + */ + osSKU?: string; + /** + * The operating system type. The default is Linux. + */ + osType?: string; + /** + * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + podSubnetID?: string; + /** + * When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + */ + powerState?: outputs.containerservice.v20230701.PowerStateResponse; + /** + * The current deployment or provisioning state. + */ + provisioningState: string; + /** + * The ID for Proximity Placement Group. + */ + proximityPlacementGroupID?: string; + /** + * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + */ + scaleDownMode?: string; + /** + * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + */ + scaleSetEvictionPolicy?: string; + /** + * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + */ + scaleSetPriority?: string; + /** + * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + */ + spotMaxPrice?: number; + /** + * The tags to be persisted on the agent pool virtual machine scale set. + */ + tags?: {[key: string]: string}; + /** + * The type of Agent Pool. + */ + type?: string; + /** + * Settings for upgrading the agentpool + */ + upgradeSettings?: outputs.containerservice.v20230701.AgentPoolUpgradeSettingsResponse; + /** + * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + */ + vmSize?: string; + /** + * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + vnetSubnetID?: string; + /** + * Determines the type of workload a node can run. + */ + workloadRuntime?: string; + } + /** - * To indicate directories renamed + * Auto upgrade profile for a managed cluster. */ - invalidDirectoriesProcessed: number; + export interface ManagedClusterAutoUpgradeProfileResponse { + /** + * Manner in which the OS on your nodes is updated. The default is NodeImage. + */ + nodeOSUpgradeChannel?: string; + /** + * For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + */ + upgradeChannel?: string; + } + /** - * Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. */ - invalidFileBytesUploaded: number; + export interface ManagedClusterAzureMonitorProfileKubeStateMetricsResponse { + /** + * Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + */ + metricAnnotationsAllowList?: string; + /** + * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + */ + metricLabelsAllowlist?: string; + } + /** - * Number of files not adhering to azure naming conventions which were processed by automatic renaming + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */ - invalidFilesProcessed: number; + export interface ManagedClusterAzureMonitorProfileMetricsResponse { + /** + * Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + */ + enabled: boolean; + /** + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + */ + kubeStateMetrics?: outputs.containerservice.v20230701.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse; + } + /** - * To indicate if enumeration of data is in progress. - * Until this is true, the TotalBytesToProcess may not be valid. + * Azure Monitor addon profiles for monitoring the managed cluster. */ - isEnumerationInProgress: boolean; + export interface ManagedClusterAzureMonitorProfileResponse { + /** + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + */ + metrics?: outputs.containerservice.v20230701.ManagedClusterAzureMonitorProfileMetricsResponse; + } + /** - * Number of folders not adhering to azure naming conventions which were processed by automatic renaming + * Cluster HTTP proxy configuration. */ - renamedContainerCount: number; + export interface ManagedClusterHTTPProxyConfigResponse { + /** + * The HTTP proxy server endpoint to use. + */ + httpProxy?: string; + /** + * The HTTPS proxy server endpoint to use. + */ + httpsProxy?: string; + /** + * The endpoints that should not go through proxy. + */ + noProxy?: string[]; + /** + * Alternative CA cert to use for connecting to proxy servers. + */ + trustedCa?: string; + } + /** - * Disk Serial Number. + * Identity for the managed cluster. */ - serialNumber: string; + export interface ManagedClusterIdentityResponse { + /** + * The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + */ + delegatedResources?: {[key: string]: outputs.containerservice.v20230701.DelegatedResourceResponse}; + /** + * The principal id of the system assigned identity which is used by master components. + */ + principalId: string; + /** + * The tenant id of the system assigned identity which is used by master components. + */ + tenantId: string; + /** + * For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + */ + type?: string; + /** + * The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: {[key: string]: outputs.containerservice.v20230701.ManagedClusterIdentityResponseUserAssignedIdentities}; + } + + export interface ManagedClusterIdentityResponseUserAssignedIdentities { + /** + * The client id of user assigned identity. + */ + clientId: string; + /** + * The principal id of user assigned identity. + */ + principalId: string; + } + /** - * Name of the storage account. This will be empty for data account types other than storage account. + * Profile of the managed cluster load balancer. */ - storageAccountName: string; + export interface ManagedClusterLoadBalancerProfileResponse { + /** + * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + */ + allocatedOutboundPorts?: number; + /** + * The effective outbound IP resources of the cluster load balancer. + */ + effectiveOutboundIPs?: outputs.containerservice.v20230701.ResourceReferenceResponse[]; + /** + * Enable multiple standard load balancers per AKS cluster or not. + */ + enableMultipleStandardLoadBalancers?: boolean; + /** + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + */ + idleTimeoutInMinutes?: number; + /** + * Desired managed outbound IPs for the cluster load balancer. + */ + managedOutboundIPs?: outputs.containerservice.v20230701.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs; + /** + * Desired outbound IP Prefix resources for the cluster load balancer. + */ + outboundIPPrefixes?: outputs.containerservice.v20230701.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes; + /** + * Desired outbound IP resources for the cluster load balancer. + */ + outboundIPs?: outputs.containerservice.v20230701.ManagedClusterLoadBalancerProfileResponseOutboundIPs; + } /** - * Total amount of data to be processed by the job. + * managedClusterLoadBalancerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponse */ - totalBytesToProcess: number; + export function managedClusterLoadBalancerProfileResponseProvideDefaults(val: ManagedClusterLoadBalancerProfileResponse): ManagedClusterLoadBalancerProfileResponse { + return { + ...val, + allocatedOutboundPorts: (val.allocatedOutboundPorts) ?? 0, + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 30, + managedOutboundIPs: (val.managedOutboundIPs ? outputs.containerservice.v20230701.managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val.managedOutboundIPs) : undefined), + }; + } + /** - * Total files to process + * Desired managed outbound IPs for the cluster load balancer. */ - totalFilesToProcess: number; + export interface ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + /** + * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + */ + count?: number; + /** + * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + */ + countIPv6?: number; + } /** - * Transfer type of data + * managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults sets the appropriate defaults for ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs */ - transferType: string; - } + export function managedClusterLoadBalancerProfileResponseManagedOutboundIPsProvideDefaults(val: ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs): ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs { + return { + ...val, + count: (val.count) ?? 1, + countIPv6: (val.countIPv6) ?? 0, + }; + } - /** - * Customer disk job details. - */ - export interface DataBoxCustomerDiskJobDetailsResponse { - /** - * Available actions on the job. - */ - actions: string[]; /** - * Shared access key to download the chain of custody logs + * Desired outbound IP Prefix resources for the cluster load balancer. */ - chainOfCustodySasKey: string; + export interface ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes { + /** + * A list of public IP prefix resources. + */ + publicIPPrefixes?: outputs.containerservice.v20230701.ResourceReferenceResponse[]; + } + /** - * Contact details for notification and shipping. + * Desired outbound IP resources for the cluster load balancer. */ - contactDetails: outputs.databox.ContactDetailsResponse; + export interface ManagedClusterLoadBalancerProfileResponseOutboundIPs { + /** + * A list of public IP resources. + */ + publicIPs?: outputs.containerservice.v20230701.ResourceReferenceResponse[]; + } + /** - * List of copy log details. + * Profile of the managed outbound IP resources of the managed cluster. */ - copyLogDetails: (outputs.databox.DataBoxAccountCopyLogDetailsResponse | outputs.databox.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.DataBoxDiskCopyLogDetailsResponse | outputs.databox.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + export interface ManagedClusterManagedOutboundIPProfileResponse { + /** + * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + */ + count?: number; + } /** - * Copy progress per disk. + * managedClusterManagedOutboundIPProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterManagedOutboundIPProfileResponse */ - copyProgress: outputs.databox.DataBoxCustomerDiskCopyProgressResponse[]; + export function managedClusterManagedOutboundIPProfileResponseProvideDefaults(val: ManagedClusterManagedOutboundIPProfileResponse): ManagedClusterManagedOutboundIPProfileResponse { + return { + ...val, + count: (val.count) ?? 1, + }; + } + /** - * DataCenter code. + * Profile of the managed cluster NAT gateway. */ - dataCenterCode: string; + export interface ManagedClusterNATGatewayProfileResponse { + /** + * The effective outbound IP resources of the cluster NAT gateway. + */ + effectiveOutboundIPs?: outputs.containerservice.v20230701.ResourceReferenceResponse[]; + /** + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + */ + idleTimeoutInMinutes?: number; + /** + * Profile of the managed outbound IP resources of the cluster NAT gateway. + */ + managedOutboundIPProfile?: outputs.containerservice.v20230701.ManagedClusterManagedOutboundIPProfileResponse; + } /** - * Details of the data to be exported from azure. + * managedClusterNATGatewayProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterNATGatewayProfileResponse */ - dataExportDetails?: outputs.databox.DataExportDetailsResponse[]; + export function managedClusterNATGatewayProfileResponseProvideDefaults(val: ManagedClusterNATGatewayProfileResponse): ManagedClusterNATGatewayProfileResponse { + return { + ...val, + idleTimeoutInMinutes: (val.idleTimeoutInMinutes) ?? 4, + managedOutboundIPProfile: (val.managedOutboundIPProfile ? outputs.containerservice.v20230701.managedClusterManagedOutboundIPProfileResponseProvideDefaults(val.managedOutboundIPProfile) : undefined), + }; + } + /** - * Details of the data to be imported into azure. + * The OIDC issuer profile of the Managed Cluster. */ - dataImportDetails?: outputs.databox.DataImportDetailsResponse[]; + export interface ManagedClusterOIDCIssuerProfileResponse { + /** + * Whether the OIDC issuer is enabled. + */ + enabled?: boolean; + /** + * The OIDC issuer url of the Managed Cluster. + */ + issuerURL: string; + } + /** - * Datacenter address to ship to, for the given sku and storage location. + * See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. */ - datacenterAddress: outputs.databox.DatacenterAddressInstructionResponseResponse | outputs.databox.DatacenterAddressLocationResponseResponse; + export interface ManagedClusterPodIdentityExceptionResponse { + /** + * The name of the pod identity exception. + */ + name: string; + /** + * The namespace of the pod identity exception. + */ + namespace: string; + /** + * The pod labels to match. + */ + podLabels: {[key: string]: string}; + } + /** - * Delivery package shipping details. + * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. */ - deliverToDcPackageDetails: outputs.databox.PackageCarrierInfoResponse; + export interface ManagedClusterPodIdentityProfileResponse { + /** + * Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. + */ + allowNetworkPluginKubenet?: boolean; + /** + * Whether the pod identity addon is enabled. + */ + enabled?: boolean; + /** + * The pod identities to use in the cluster. + */ + userAssignedIdentities?: outputs.containerservice.v20230701.ManagedClusterPodIdentityResponse[]; + /** + * The pod identity exceptions to allow. + */ + userAssignedIdentityExceptions?: outputs.containerservice.v20230701.ManagedClusterPodIdentityExceptionResponse[]; + } + /** - * Delivery package shipping details. + * An error response from the pod identity provisioning. */ - deliveryPackage: outputs.databox.PackageShippingDetailsResponse; + export interface ManagedClusterPodIdentityProvisioningErrorBodyResponse { + /** + * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + */ + code?: string; + /** + * A list of additional details about the error. + */ + details?: outputs.containerservice.v20230701.ManagedClusterPodIdentityProvisioningErrorBodyResponse[]; + /** + * A message describing the error, intended to be suitable for display in a user interface. + */ + message?: string; + /** + * The target of the particular error. For example, the name of the property in error. + */ + target?: string; + } + /** - * Holds device data erasure details + * An error response from the pod identity provisioning. */ - deviceErasureDetails: outputs.databox.DeviceErasureDetailsResponse; + export interface ManagedClusterPodIdentityProvisioningErrorResponse { + /** + * Details about the error. + */ + error?: outputs.containerservice.v20230701.ManagedClusterPodIdentityProvisioningErrorBodyResponse; + } + /** - * Flag to indicate if disk manifest should be backed-up in the Storage Account. + * Details about the pod identity assigned to the Managed Cluster. */ - enableManifestBackup?: boolean; + export interface ManagedClusterPodIdentityResponse { + /** + * The binding selector to use for the AzureIdentityBinding resource. + */ + bindingSelector?: string; + /** + * The user assigned identity details. + */ + identity: outputs.containerservice.v20230701.UserAssignedIdentityResponse; + /** + * The name of the pod identity. + */ + name: string; + /** + * The namespace of the pod identity. + */ + namespace: string; + provisioningInfo: outputs.containerservice.v20230701.ManagedClusterPodIdentityResponseProvisioningInfo; + /** + * The current provisioning state of the pod identity. + */ + provisioningState: string; + } + + export interface ManagedClusterPodIdentityResponseProvisioningInfo { + /** + * Pod identity assignment error (if any). + */ + error?: outputs.containerservice.v20230701.ManagedClusterPodIdentityProvisioningErrorResponse; + } + /** - * The expected size of the data, which needs to be transferred in this job, in terabytes. + * Parameters to be applied to the cluster-autoscaler when enabled */ - expectedDataSizeInTeraBytes?: number; + export interface ManagedClusterPropertiesResponseAutoScalerProfile { + /** + * Valid values are 'true' and 'false' + */ + balanceSimilarNodeGroups?: string; + /** + * If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + */ + expander?: string; + /** + * The default is 10. + */ + maxEmptyBulkDelete?: string; + /** + * The default is 600. + */ + maxGracefulTerminationSec?: string; + /** + * The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + maxNodeProvisionTime?: string; + /** + * The default is 45. The maximum is 100 and the minimum is 0. + */ + maxTotalUnreadyPercentage?: string; + /** + * For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + */ + newPodScaleUpDelay?: string; + /** + * This must be an integer. The default is 3. + */ + okTotalUnreadyCount?: string; + /** + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownDelayAfterAdd?: string; + /** + * The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownDelayAfterDelete?: string; + /** + * The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownDelayAfterFailure?: string; + /** + * The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownUnneededTime?: string; + /** + * The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + scaleDownUnreadyTime?: string; + /** + * The default is '0.5'. + */ + scaleDownUtilizationThreshold?: string; + /** + * The default is '10'. Values must be an integer number of seconds. + */ + scanInterval?: string; + /** + * The default is true. + */ + skipNodesWithLocalStorage?: string; + /** + * The default is true. + */ + skipNodesWithSystemPods?: string; + } + /** - * Contains the map of disk serial number to the disk details for export jobs. + * The SKU of a Managed Cluster. */ - exportDiskDetailsCollection: {[key: string]: outputs.databox.ExportDiskDetailsResponse}; + export interface ManagedClusterSKUResponse { + /** + * The name of a managed cluster SKU. + */ + name?: string; + /** + * If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + */ + tier?: string; + } + /** - * Contains the map of disk serial number to the disk details for import jobs. + * Microsoft Defender settings for the security profile. */ - importDiskDetailsCollection?: {[key: string]: outputs.databox.ImportDiskDetailsResponse}; + export interface ManagedClusterSecurityProfileDefenderResponse { + /** + * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + */ + logAnalyticsWorkspaceResourceId?: string; + /** + * Microsoft Defender threat detection for Cloud settings for the security profile. + */ + securityMonitoring?: outputs.containerservice.v20230701.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse; + } + /** - * Indicates the type of job details. - * Expected value is 'DataBoxCustomerDisk'. + * Microsoft Defender settings for the security profile threat detection. */ - jobDetailsType: "DataBoxCustomerDisk"; + export interface ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse { + /** + * Whether to enable Defender threat detection + */ + enabled?: boolean; + } + /** - * List of stages that run in the job. + * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. */ - jobStages: outputs.databox.JobStagesResponse[]; + export interface ManagedClusterSecurityProfileImageCleanerResponse { + /** + * Whether to enable Image Cleaner on AKS cluster. + */ + enabled?: boolean; + /** + * Image Cleaner scanning interval in hours. + */ + intervalHours?: number; + } + /** - * Details about which key encryption type is being used. + * Security profile for the container service cluster. */ - keyEncryptionKey?: outputs.databox.KeyEncryptionKeyResponse; + export interface ManagedClusterSecurityProfileResponse { + /** + * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + */ + azureKeyVaultKms?: outputs.containerservice.v20230701.AzureKeyVaultKmsResponse; + /** + * Microsoft Defender settings for the security profile. + */ + defender?: outputs.containerservice.v20230701.ManagedClusterSecurityProfileDefenderResponse; + /** + * Image Cleaner settings for the security profile. + */ + imageCleaner?: outputs.containerservice.v20230701.ManagedClusterSecurityProfileImageCleanerResponse; + /** + * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + */ + workloadIdentity?: outputs.containerservice.v20230701.ManagedClusterSecurityProfileWorkloadIdentityResponse; + } /** - * Last mitigation action performed on the job. + * managedClusterSecurityProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterSecurityProfileResponse */ - lastMitigationActionOnJob: outputs.databox.LastMitigationActionOnJobResponse; + export function managedClusterSecurityProfileResponseProvideDefaults(val: ManagedClusterSecurityProfileResponse): ManagedClusterSecurityProfileResponse { + return { + ...val, + azureKeyVaultKms: (val.azureKeyVaultKms ? outputs.containerservice.v20230701.azureKeyVaultKmsResponseProvideDefaults(val.azureKeyVaultKms) : undefined), + }; + } + /** - * Preferences for the order. + * Workload identity settings for the security profile. */ - preferences?: outputs.databox.PreferencesResponse; + export interface ManagedClusterSecurityProfileWorkloadIdentityResponse { + /** + * Whether to enable workload identity. + */ + enabled?: boolean; + } + /** - * Return package shipping details. + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. */ - returnPackage: outputs.databox.PackageShippingDetailsResponse; + export interface ManagedClusterServicePrincipalProfileResponse { + /** + * The ID for the service principal. + */ + clientId: string; + /** + * The secret password associated with the service principal in plain text. + */ + secret?: string; + } + /** - * Return package shipping details. + * AzureBlob CSI Driver settings for the storage profile. */ - returnToCustomerPackageDetails: outputs.databox.PackageCarrierDetailsResponse; + export interface ManagedClusterStorageProfileBlobCSIDriverResponse { + /** + * Whether to enable AzureBlob CSI Driver. The default value is false. + */ + enabled?: boolean; + } + /** - * Shared access key to download the return shipment label + * AzureDisk CSI Driver settings for the storage profile. */ - reverseShipmentLabelSasKey: string; + export interface ManagedClusterStorageProfileDiskCSIDriverResponse { + /** + * Whether to enable AzureDisk CSI Driver. The default value is true. + */ + enabled?: boolean; + } + /** - * Optional Reverse Shipping details for order. + * AzureFile CSI Driver settings for the storage profile. */ - reverseShippingDetails?: outputs.databox.ReverseShippingDetailsResponse; + export interface ManagedClusterStorageProfileFileCSIDriverResponse { + /** + * Whether to enable AzureFile CSI Driver. The default value is true. + */ + enabled?: boolean; + } + /** - * Shipping address of the customer. + * Storage profile for the container service cluster. */ - shippingAddress?: outputs.databox.ShippingAddressResponse; - } - /** - * dataBoxCustomerDiskJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxCustomerDiskJobDetailsResponse - */ - export function dataBoxCustomerDiskJobDetailsResponseProvideDefaults(val: DataBoxCustomerDiskJobDetailsResponse): DataBoxCustomerDiskJobDetailsResponse { - return { - ...val, - enableManifestBackup: (val.enableManifestBackup) ?? false, - keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), - preferences: (val.preferences ? outputs.databox.preferencesResponseProvideDefaults(val.preferences) : undefined), - reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), - shippingAddress: (val.shippingAddress ? outputs.databox.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), - }; - } + export interface ManagedClusterStorageProfileResponse { + /** + * AzureBlob CSI Driver settings for the storage profile. + */ + blobCSIDriver?: outputs.containerservice.v20230701.ManagedClusterStorageProfileBlobCSIDriverResponse; + /** + * AzureDisk CSI Driver settings for the storage profile. + */ + diskCSIDriver?: outputs.containerservice.v20230701.ManagedClusterStorageProfileDiskCSIDriverResponse; + /** + * AzureFile CSI Driver settings for the storage profile. + */ + fileCSIDriver?: outputs.containerservice.v20230701.ManagedClusterStorageProfileFileCSIDriverResponse; + /** + * Snapshot Controller settings for the storage profile. + */ + snapshotController?: outputs.containerservice.v20230701.ManagedClusterStorageProfileSnapshotControllerResponse; + } - /** - * Copy Log Details for a disk - */ - export interface DataBoxDiskCopyLogDetailsResponse { /** - * Indicates the type of job details. - * Expected value is 'DataBoxDisk'. + * Snapshot Controller settings for the storage profile. */ - copyLogDetailsType: "DataBoxDisk"; + export interface ManagedClusterStorageProfileSnapshotControllerResponse { + /** + * Whether to enable Snapshot Controller. The default value is true. + */ + enabled?: boolean; + } + /** - * Disk Serial Number. + * Profile for Windows VMs in the managed cluster. */ - diskSerialNumber: string; + export interface ManagedClusterWindowsProfileResponse { + /** + * Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + */ + adminPassword?: string; + /** + * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + */ + adminUsername: string; + /** + * For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + */ + enableCSIProxy?: boolean; + /** + * The Windows gMSA Profile in the Managed Cluster. + */ + gmsaProfile?: outputs.containerservice.v20230701.WindowsGmsaProfileResponse; + /** + * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + */ + licenseType?: string; + } + /** - * Link for copy error logs. + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */ - errorLogLink: string; + export interface ManagedClusterWorkloadAutoScalerProfileKedaResponse { + /** + * Whether to enable KEDA. + */ + enabled: boolean; + } + /** - * Link for copy verbose logs. + * Workload Auto-scaler profile for the managed cluster. */ - verboseLogLink: string; - } - - /** - * DataBox Disk Copy Progress - */ - export interface DataBoxDiskCopyProgressResponse { - /** - * Available actions on the job. - */ - actions: string[]; - /** - * Bytes copied during the copy of disk. - */ - bytesCopied: number; - /** - * Error, if any, in the stage - */ - error: outputs.databox.CloudErrorResponse; + export interface ManagedClusterWorkloadAutoScalerProfileResponse { + /** + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + */ + keda?: outputs.containerservice.v20230701.ManagedClusterWorkloadAutoScalerProfileKedaResponse; + /** + * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + */ + verticalPodAutoscaler?: outputs.containerservice.v20230701.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse; + } /** - * Indicates the percentage completed for the copy of the disk. + * managedClusterWorkloadAutoScalerProfileResponseProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileResponse */ - percentComplete: number; + export function managedClusterWorkloadAutoScalerProfileResponseProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileResponse): ManagedClusterWorkloadAutoScalerProfileResponse { + return { + ...val, + verticalPodAutoscaler: (val.verticalPodAutoscaler ? outputs.containerservice.v20230701.managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults(val.verticalPodAutoscaler) : undefined), + }; + } + /** - * The serial number of the disk + * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. */ - serialNumber: string; + export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse { + /** + * Whether to enable VPA. Default value is false. + */ + enabled: boolean; + } /** - * The Status of the copy + * managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults sets the appropriate defaults for ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse */ - status: string; - } + export function managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponseProvideDefaults(val: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse): ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse { + return { + ...val, + enabled: (val.enabled) ?? false, + }; + } - /** - * Granular Copy Log Details for customer disk - */ - export interface DataBoxDiskGranularCopyLogDetailsResponse { - /** - * Account id. - */ - accountId: string; /** - * Indicates the type of job details. - * Expected value is 'DataBoxCustomerDisk'. + * Describes the Power State of the cluster */ - copyLogDetailsType: "DataBoxCustomerDisk"; + export interface PowerStateResponse { + /** + * Tells whether the cluster is Running or Stopped + */ + code?: string; + } + /** - * Link for copy error logs. + * Private endpoint which a connection belongs to. */ - errorLogLink: string; + export interface PrivateEndpointResponse { + /** + * The resource ID of the private endpoint + */ + id?: string; + } + /** - * Disk Serial Number. + * A private link resource */ - serialNumber: string; + export interface PrivateLinkResourceResponse { + /** + * The group ID of the resource. + */ + groupId?: string; + /** + * The ID of the private link resource. + */ + id?: string; + /** + * The name of the private link resource. + */ + name?: string; + /** + * The private link service ID of the resource, this field is exposed only to NRP internally. + */ + privateLinkServiceID: string; + /** + * The RequiredMembers of the resource + */ + requiredMembers?: string[]; + /** + * The resource type. + */ + type?: string; + } + /** - * Link for copy verbose logs. + * The state of a private link service connection. */ - verboseLogLink: string; - } + export interface PrivateLinkServiceConnectionStateResponse { + /** + * The private link service connection description. + */ + description?: string; + /** + * The private link service connection status. + */ + status?: string; + } - /** - * DataBox Disk Granular Copy Progress - */ - export interface DataBoxDiskGranularCopyProgressResponse { /** - * Id of the account where the data needs to be uploaded. + * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. */ - accountId: string; + export interface RelativeMonthlyScheduleResponse { + /** + * Specifies on which day of the week the maintenance occurs. + */ + dayOfWeek: string; + /** + * Specifies the number of months between each set of occurrences. + */ + intervalMonths: number; + /** + * Specifies on which week of the month the dayOfWeek applies. + */ + weekIndex: string; + } + /** - * Available actions on the job. + * A reference to an Azure resource. */ - actions: string[]; + export interface ResourceReferenceResponse { + /** + * The fully qualified Azure resource id. + */ + id?: string; + } + /** - * To indicate bytes transferred. + * One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. */ - bytesProcessed: number; + export interface ScheduleResponse { + /** + * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + */ + absoluteMonthly?: outputs.containerservice.v20230701.AbsoluteMonthlyScheduleResponse; + /** + * For schedules like: 'recur every day' or 'recur every 3 days'. + */ + daily?: outputs.containerservice.v20230701.DailyScheduleResponse; + /** + * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + */ + relativeMonthly?: outputs.containerservice.v20230701.RelativeMonthlyScheduleResponse; + /** + * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + */ + weekly?: outputs.containerservice.v20230701.WeeklyScheduleResponse; + } + /** - * The Status of the copy + * Sysctl settings for Linux agent nodes. */ - copyStatus: string; + export interface SysctlConfigResponse { + /** + * Sysctl setting fs.aio-max-nr. + */ + fsAioMaxNr?: number; + /** + * Sysctl setting fs.file-max. + */ + fsFileMax?: number; + /** + * Sysctl setting fs.inotify.max_user_watches. + */ + fsInotifyMaxUserWatches?: number; + /** + * Sysctl setting fs.nr_open. + */ + fsNrOpen?: number; + /** + * Sysctl setting kernel.threads-max. + */ + kernelThreadsMax?: number; + /** + * Sysctl setting net.core.netdev_max_backlog. + */ + netCoreNetdevMaxBacklog?: number; + /** + * Sysctl setting net.core.optmem_max. + */ + netCoreOptmemMax?: number; + /** + * Sysctl setting net.core.rmem_default. + */ + netCoreRmemDefault?: number; + /** + * Sysctl setting net.core.rmem_max. + */ + netCoreRmemMax?: number; + /** + * Sysctl setting net.core.somaxconn. + */ + netCoreSomaxconn?: number; + /** + * Sysctl setting net.core.wmem_default. + */ + netCoreWmemDefault?: number; + /** + * Sysctl setting net.core.wmem_max. + */ + netCoreWmemMax?: number; + /** + * Sysctl setting net.ipv4.ip_local_port_range. + */ + netIpv4IpLocalPortRange?: string; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + */ + netIpv4NeighDefaultGcThresh1?: number; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + */ + netIpv4NeighDefaultGcThresh2?: number; + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + */ + netIpv4NeighDefaultGcThresh3?: number; + /** + * Sysctl setting net.ipv4.tcp_fin_timeout. + */ + netIpv4TcpFinTimeout?: number; + /** + * Sysctl setting net.ipv4.tcp_keepalive_probes. + */ + netIpv4TcpKeepaliveProbes?: number; + /** + * Sysctl setting net.ipv4.tcp_keepalive_time. + */ + netIpv4TcpKeepaliveTime?: number; + /** + * Sysctl setting net.ipv4.tcp_max_syn_backlog. + */ + netIpv4TcpMaxSynBacklog?: number; + /** + * Sysctl setting net.ipv4.tcp_max_tw_buckets. + */ + netIpv4TcpMaxTwBuckets?: number; + /** + * Sysctl setting net.ipv4.tcp_tw_reuse. + */ + netIpv4TcpTwReuse?: boolean; + /** + * Sysctl setting net.ipv4.tcp_keepalive_intvl. + */ + netIpv4TcpkeepaliveIntvl?: number; + /** + * Sysctl setting net.netfilter.nf_conntrack_buckets. + */ + netNetfilterNfConntrackBuckets?: number; + /** + * Sysctl setting net.netfilter.nf_conntrack_max. + */ + netNetfilterNfConntrackMax?: number; + /** + * Sysctl setting vm.max_map_count. + */ + vmMaxMapCount?: number; + /** + * Sysctl setting vm.swappiness. + */ + vmSwappiness?: number; + /** + * Sysctl setting vm.vfs_cache_pressure. + */ + vmVfsCachePressure?: number; + } + /** - * Data Account Type. + * Metadata pertaining to creation and last modification of the resource. */ - dataAccountType: string; + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + /** - * To indicate directories errored out in the job. + * Time in a week. */ - directoriesErroredOut: number; + export interface TimeInWeekResponse { + /** + * The day of the week. + */ + day?: string; + /** + * Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + */ + hourSlots?: number[]; + } + /** - * Error, if any, in the stage + * For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. */ - error: outputs.databox.CloudErrorResponse; + export interface TimeSpanResponse { + /** + * The end of a time span + */ + end?: string; + /** + * The start of a time span + */ + start?: string; + } + /** - * Number of files which could not be copied + * Settings for overrides when upgrading a cluster. */ - filesErroredOut: number; + export interface UpgradeOverrideSettingsResponse { + /** + * Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. + */ + forceUpgrade?: boolean; + /** + * Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. + */ + until?: string; + } + /** - * Number of files processed + * Details about a user assigned identity. */ - filesProcessed: number; + export interface UserAssignedIdentityResponse { + /** + * The client ID of the user assigned identity. + */ + clientId?: string; + /** + * The object ID of the user assigned identity. + */ + objectId?: string; + /** + * The resource ID of the user assigned identity. + */ + resourceId?: string; + } + /** - * To indicate directories renamed + * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. */ - invalidDirectoriesProcessed: number; + export interface WeeklyScheduleResponse { + /** + * Specifies on which day of the week the maintenance occurs. + */ + dayOfWeek: string; + /** + * Specifies the number of weeks between each set of occurrences. + */ + intervalWeeks: number; + } + /** - * Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + * Windows gMSA Profile in the managed cluster. */ - invalidFileBytesUploaded: number; + export interface WindowsGmsaProfileResponse { + /** + * Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + dnsServer?: string; + /** + * Specifies whether to enable Windows gMSA in the managed cluster. + */ + enabled?: boolean; + /** + * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + rootDomainName?: string; + } + + } +} + +export namespace containerstorage { + /** + * Assignment Properties + */ + export interface AssignmentResponse { /** - * Number of files not adhering to azure naming conventions which were processed by automatic renaming + * Resource id for the assigned resource */ - invalidFilesProcessed: number; + id: string; /** - * To indicate if enumeration of data is in progress. - * Until this is true, the TotalBytesToProcess may not be valid. + * Indicates if the assignment is in a usable state */ - isEnumerationInProgress: boolean; + status: outputs.containerstorage.AssignmentStatusResponse; + } + + /** + * Status of the assignment resource + */ + export interface AssignmentStatusResponse { /** - * Number of folders not adhering to azure naming conventions which were processed by automatic renaming + * Reason for the status */ - renamedContainerCount: number; + message?: string; /** - * Disk Serial Number. + * State of the assignment resource */ - serialNumber: string; + state: string; + } + + /** + * Azure Disk Pool Properties + */ + export interface AzureDiskResponse { /** - * Name of the storage account. This will be empty for data account types other than storage account. + * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). */ - storageAccountName: string; + disks?: outputs.containerstorage.DiskResponse[]; /** - * Total amount of data to be processed by the job. + * Encryption specifies the encryption configuration for the Azure Disk pool */ - totalBytesToProcess: number; + encryption?: outputs.containerstorage.EncryptionResponse; /** - * Total files to process + * Managed resource group for the pool. */ - totalFilesToProcess: number; + resourceGroup: string; /** - * Transfer type of data + * Sku name */ - transferType: string; + skuName?: string; } /** - * DataBox Disk Job Details. + * Model for disk for that pool is using */ - export interface DataBoxDiskJobDetailsResponse { - /** - * Available actions on the job. - */ - actions: string[]; - /** - * Shared access key to download the chain of custody logs - */ - chainOfCustodySasKey: string; + export interface DiskResponse { /** - * Contact details for notification and shipping. + * ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 */ - contactDetails: outputs.databox.ContactDetailsResponse; + id: string; /** - * List of copy log details. + * Reference is the location of the disk in an external system. */ - copyLogDetails: (outputs.databox.DataBoxAccountCopyLogDetailsResponse | outputs.databox.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.DataBoxDiskCopyLogDetailsResponse | outputs.databox.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + reference: string; + } + + /** + * Elastic San Pool Properties + */ + export interface ElasticSanResponse { /** - * Copy progress per disk. + * Encryption specifies the encryption configuration for the Azure Disk pool */ - copyProgress: outputs.databox.DataBoxDiskCopyProgressResponse[]; + encryption?: outputs.containerstorage.EncryptionResponse; /** - * DataCenter code. + * Managed resource group for the pool. */ - dataCenterCode: string; + resourceGroup: string; /** - * Details of the data to be exported from azure. + * Sku name */ - dataExportDetails?: outputs.databox.DataExportDetailsResponse[]; + skuName?: string; + } + + /** + * Properties of the ElasticSAN iSCSI target + */ + export interface ElasticSanVolumePropertiesResponse { /** - * Details of the data to be imported into azure. + * iSCSI Target IQN (iSCSI Qualified Name); example: "iqn.2005-03.org.iscsi:server" */ - dataImportDetails?: outputs.databox.DataImportDetailsResponse[]; + targetIqn: string; /** - * Datacenter address to ship to, for the given sku and storage location. + * iSCSI Target Portal Host Name */ - datacenterAddress: outputs.databox.DatacenterAddressInstructionResponseResponse | outputs.databox.DatacenterAddressLocationResponseResponse; + targetPortalHostname: string; /** - * Delivery package shipping details. + * iSCSI Target Portal Port */ - deliveryPackage: outputs.databox.PackageShippingDetailsResponse; + targetPortalPort: number; + } + + /** + * Encryption key properties for the pool. + */ + export interface EncryptionResponse { /** - * Holds device data erasure details + * The managed service identities assigned to this resource. */ - deviceErasureDetails: outputs.databox.DeviceErasureDetailsResponse; + identity?: outputs.containerstorage.ManagedServiceIdentityResponse; /** - * Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer. + * The name of the key vault key. */ - disksAndSizeDetails: {[key: string]: number}; + keyName: string; /** - * The expected size of the data, which needs to be transferred in this job, in terabytes. + * The URI of the key vault. */ - expectedDataSizeInTeraBytes?: number; + keyVaultUri: string; + } + + /** + * Ephemeral Disk Pool Properties + */ + export interface EphemeralDiskResponse { /** - * Copy progress per disk. + * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). */ - granularCopyLogDetails: outputs.databox.DataBoxDiskGranularCopyLogDetailsResponse[]; + disks?: outputs.containerstorage.DiskResponse[]; /** - * Copy progress per disk. + * The number of data copies. Default 3. */ - granularCopyProgress: outputs.databox.DataBoxDiskGranularCopyProgressResponse[]; + replicas?: number; + } + /** + * ephemeralDiskResponseProvideDefaults sets the appropriate defaults for EphemeralDiskResponse + */ + export function ephemeralDiskResponseProvideDefaults(val: EphemeralDiskResponse): EphemeralDiskResponse { + return { + ...val, + replicas: (val.replicas) ?? 3, + }; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityResponse { /** - * Indicates the type of job details. - * Expected value is 'DataBoxDisk'. + * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */ - jobDetailsType: "DataBoxDisk"; + principalId: string; /** - * List of stages that run in the job. + * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */ - jobStages: outputs.databox.JobStagesResponse[]; + tenantId: string; /** - * Details about which key encryption type is being used. + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). */ - keyEncryptionKey?: outputs.databox.KeyEncryptionKeyResponse; + type: string; /** - * Last mitigation action performed on the job. + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. */ - lastMitigationActionOnJob: outputs.databox.LastMitigationActionOnJobResponse; + userAssignedIdentities?: {[key: string]: outputs.containerstorage.UserAssignedIdentityResponse}; + } + + /** + * Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + */ + export interface PoolTypeResponse { /** - * User entered passkey for DataBox Disk job. + * Disk Pool Properties */ - passkey?: string; + azureDisk?: outputs.containerstorage.AzureDiskResponse; /** - * Preferences for the order. + * Elastic San Pool Properties */ - preferences?: outputs.databox.PreferencesResponse; + elasticSan?: outputs.containerstorage.ElasticSanResponse; /** - * User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. + * Ephemeral Pool Properties */ - preferredDisks?: {[key: string]: number}; + ephemeralDisk?: outputs.containerstorage.EphemeralDiskResponse; + } + /** + * poolTypeResponseProvideDefaults sets the appropriate defaults for PoolTypeResponse + */ + export function poolTypeResponseProvideDefaults(val: PoolTypeResponse): PoolTypeResponse { + return { + ...val, + ephemeralDisk: (val.ephemeralDisk ? outputs.containerstorage.ephemeralDiskResponseProvideDefaults(val.ephemeralDisk) : undefined), + }; + } + + /** + * Requests for capacity for the pool. + */ + export interface RequestsResponse { /** - * Return package shipping details. + * Requested capacity of the pool in GiB. */ - returnPackage: outputs.databox.PackageShippingDetailsResponse; + storage?: number; + } + /** + * requestsResponseProvideDefaults sets the appropriate defaults for RequestsResponse + */ + export function requestsResponseProvideDefaults(val: RequestsResponse): RequestsResponse { + return { + ...val, + storage: (val.storage) ?? 1024, + }; + } + + /** + * Status of the resource + */ + export interface ResourceOperationalStatusResponse { /** - * Shared access key to download the return shipment label + * Reason for state. */ - reverseShipmentLabelSasKey: string; + message?: string; /** - * Optional Reverse Shipping details for order. + * state of the resource */ - reverseShippingDetails?: outputs.databox.ReverseShippingDetailsResponse; + state: string; + } + + /** + * Resource Requests for the pool. + */ + export interface ResourcesResponse { /** - * Shipping address of the customer. + * Requests for capacity for the pool. */ - shippingAddress?: outputs.databox.ShippingAddressResponse; + requests?: outputs.containerstorage.RequestsResponse; } /** - * dataBoxDiskJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxDiskJobDetailsResponse + * resourcesResponseProvideDefaults sets the appropriate defaults for ResourcesResponse */ - export function dataBoxDiskJobDetailsResponseProvideDefaults(val: DataBoxDiskJobDetailsResponse): DataBoxDiskJobDetailsResponse { + export function resourcesResponseProvideDefaults(val: ResourcesResponse): ResourcesResponse { return { ...val, - keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), - preferences: (val.preferences ? outputs.databox.preferencesResponseProvideDefaults(val.preferences) : undefined), - reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), - shippingAddress: (val.shippingAddress ? outputs.databox.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + requests: (val.requests ? outputs.containerstorage.requestsResponseProvideDefaults(val.requests) : undefined), }; } /** - * The secrets related to disk job. + * Metadata pertaining to creation and last modification of the resource. */ - export interface DataBoxDiskJobSecretsResponse { + export interface SystemDataResponse { /** - * Dc Access Security Code for Customer Managed Shipping + * The timestamp of resource creation (UTC). */ - dcAccessSecurityCode: outputs.databox.DcAccessSecurityCodeResponse; + createdAt?: string; /** - * Contains the list of secrets object for that device. + * The identity that created the resource. */ - diskSecrets: outputs.databox.DiskSecretResponse[]; + createdBy?: string; /** - * Error while fetching the secrets. + * The type of identity that created the resource. */ - error: outputs.databox.CloudErrorResponse; + createdByType?: string; /** - * Whether passkey was provided by user. + * The timestamp of resource last modification (UTC) */ - isPasskeyUserDefined: boolean; + lastModifiedAt?: string; /** - * Used to indicate what type of job secrets object. - * Expected value is 'DataBoxDisk'. + * The identity that last modified the resource. */ - jobSecretsType: "DataBoxDisk"; + lastModifiedBy?: string; /** - * PassKey for the disk Job. + * The type of identity that last modified the resource. */ - passKey: string; + lastModifiedByType?: string; } /** - * Copy log details for a storage account for Databox heavy + * User assigned identity properties */ - export interface DataBoxHeavyAccountCopyLogDetailsResponse { - /** - * Account name. - */ - accountName: string; - /** - * Indicates the type of job details. - * Expected value is 'DataBoxHeavy'. - */ - copyLogDetailsType: "DataBoxHeavy"; + export interface UserAssignedIdentityResponse { /** - * Link for copy logs. + * The client ID of the assigned identity. */ - copyLogLink: string[]; + clientId: string; /** - * Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose. + * The principal ID of the assigned identity. */ - copyVerboseLogLink: string[]; + principalId: string; } /** - * Databox Heavy Device Job Details + * Properties of the volume */ - export interface DataBoxHeavyJobDetailsResponse { - /** - * Available actions on the job. - */ - actions: string[]; + export interface VolumeTypeResponse { /** - * Shared access key to download the chain of custody logs + * Properties of the ElasticSAN iSCSI target */ - chainOfCustodySasKey: string; + elasticSan: outputs.containerstorage.ElasticSanVolumePropertiesResponse; + } + + export namespace v20230701preview { /** - * Contact details for notification and shipping. + * Assignment Properties */ - contactDetails: outputs.databox.ContactDetailsResponse; + export interface AssignmentResponse { + /** + * Resource id for the assigned resource + */ + id: string; + /** + * Indicates if the assignment is in a usable state + */ + status: outputs.containerstorage.v20230701preview.AssignmentStatusResponse; + } + /** - * List of copy log details. + * Status of the assignment resource */ - copyLogDetails: (outputs.databox.DataBoxAccountCopyLogDetailsResponse | outputs.databox.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.DataBoxDiskCopyLogDetailsResponse | outputs.databox.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + export interface AssignmentStatusResponse { + /** + * Reason for the status + */ + message?: string; + /** + * State of the assignment resource + */ + state: string; + } + /** - * Copy progress per account. + * Azure Disk Pool Properties */ - copyProgress: outputs.databox.CopyProgressResponse[]; + export interface AzureDiskResponse { + /** + * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + */ + disks?: outputs.containerstorage.v20230701preview.DiskResponse[]; + /** + * Encryption specifies the encryption configuration for the Azure Disk pool + */ + encryption?: outputs.containerstorage.v20230701preview.EncryptionResponse; + /** + * Managed resource group for the pool. + */ + resourceGroup: string; + /** + * Sku name + */ + skuName?: string; + } + /** - * DataCenter code. + * Model for disk for that pool is using */ - dataCenterCode: string; + export interface DiskResponse { + /** + * ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + */ + id: string; + /** + * Reference is the location of the disk in an external system. + */ + reference: string; + } + /** - * Details of the data to be exported from azure. + * Elastic San Pool Properties */ - dataExportDetails?: outputs.databox.DataExportDetailsResponse[]; + export interface ElasticSanResponse { + /** + * Encryption specifies the encryption configuration for the Azure Disk pool + */ + encryption?: outputs.containerstorage.v20230701preview.EncryptionResponse; + /** + * Managed resource group for the pool. + */ + resourceGroup: string; + /** + * Sku name + */ + skuName?: string; + } + /** - * Details of the data to be imported into azure. + * Properties of the ElasticSAN iSCSI target */ - dataImportDetails?: outputs.databox.DataImportDetailsResponse[]; + export interface ElasticSanVolumePropertiesResponse { + /** + * iSCSI Target IQN (iSCSI Qualified Name); example: "iqn.2005-03.org.iscsi:server" + */ + targetIqn: string; + /** + * iSCSI Target Portal Host Name + */ + targetPortalHostname: string; + /** + * iSCSI Target Portal Port + */ + targetPortalPort: number; + } + /** - * Datacenter address to ship to, for the given sku and storage location. + * Encryption key properties for the pool. */ - datacenterAddress: outputs.databox.DatacenterAddressInstructionResponseResponse | outputs.databox.DatacenterAddressLocationResponseResponse; + export interface EncryptionResponse { + /** + * The managed service identities assigned to this resource. + */ + identity?: outputs.containerstorage.v20230701preview.ManagedServiceIdentityResponse; + /** + * The name of the key vault key. + */ + keyName: string; + /** + * The URI of the key vault. + */ + keyVaultUri: string; + } + /** - * Delivery package shipping details. + * Ephemeral Disk Pool Properties */ - deliveryPackage: outputs.databox.PackageShippingDetailsResponse; + export interface EphemeralDiskResponse { + /** + * Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + */ + disks?: outputs.containerstorage.v20230701preview.DiskResponse[]; + /** + * The number of data copies. Default 3. + */ + replicas?: number; + } /** - * Holds device data erasure details + * ephemeralDiskResponseProvideDefaults sets the appropriate defaults for EphemeralDiskResponse */ - deviceErasureDetails: outputs.databox.DeviceErasureDetailsResponse; + export function ephemeralDiskResponseProvideDefaults(val: EphemeralDiskResponse): EphemeralDiskResponse { + return { + ...val, + replicas: (val.replicas) ?? 3, + }; + } + /** - * Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + * Managed service identity (system assigned and/or user assigned identities) */ - devicePassword?: string; + export interface ManagedServiceIdentityResponse { + /** + * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + principalId: string; + /** + * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + tenantId: string; + /** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: string; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: {[key: string]: outputs.containerstorage.v20230701preview.UserAssignedIdentityResponse}; + } + /** - * The expected size of the data, which needs to be transferred in this job, in terabytes. + * Type of the Pool: ephemeralDisk, azureDisk, or elasticsan */ - expectedDataSizeInTeraBytes?: number; + export interface PoolTypeResponse { + /** + * Disk Pool Properties + */ + azureDisk?: outputs.containerstorage.v20230701preview.AzureDiskResponse; + /** + * Elastic San Pool Properties + */ + elasticSan?: outputs.containerstorage.v20230701preview.ElasticSanResponse; + /** + * Ephemeral Pool Properties + */ + ephemeralDisk?: outputs.containerstorage.v20230701preview.EphemeralDiskResponse; + } /** - * Indicates the type of job details. - * Expected value is 'DataBoxHeavy'. + * poolTypeResponseProvideDefaults sets the appropriate defaults for PoolTypeResponse */ - jobDetailsType: "DataBoxHeavy"; + export function poolTypeResponseProvideDefaults(val: PoolTypeResponse): PoolTypeResponse { + return { + ...val, + ephemeralDisk: (val.ephemeralDisk ? outputs.containerstorage.v20230701preview.ephemeralDiskResponseProvideDefaults(val.ephemeralDisk) : undefined), + }; + } + /** - * List of stages that run in the job. + * Requests for capacity for the pool. */ - jobStages: outputs.databox.JobStagesResponse[]; + export interface RequestsResponse { + /** + * Requested capacity of the pool in GiB. + */ + storage?: number; + } /** - * Details about which key encryption type is being used. + * requestsResponseProvideDefaults sets the appropriate defaults for RequestsResponse */ - keyEncryptionKey?: outputs.databox.KeyEncryptionKeyResponse; + export function requestsResponseProvideDefaults(val: RequestsResponse): RequestsResponse { + return { + ...val, + storage: (val.storage) ?? 1024, + }; + } + /** - * Last mitigation action performed on the job. + * Status of the resource */ - lastMitigationActionOnJob: outputs.databox.LastMitigationActionOnJobResponse; + export interface ResourceOperationalStatusResponse { + /** + * Reason for state. + */ + message?: string; + /** + * state of the resource + */ + state: string; + } + /** - * Preferences for the order. + * Resource Requests for the pool. */ - preferences?: outputs.databox.PreferencesResponse; + export interface ResourcesResponse { + /** + * Requests for capacity for the pool. + */ + requests?: outputs.containerstorage.v20230701preview.RequestsResponse; + } /** - * Return package shipping details. + * resourcesResponseProvideDefaults sets the appropriate defaults for ResourcesResponse */ - returnPackage: outputs.databox.PackageShippingDetailsResponse; + export function resourcesResponseProvideDefaults(val: ResourcesResponse): ResourcesResponse { + return { + ...val, + requests: (val.requests ? outputs.containerstorage.v20230701preview.requestsResponseProvideDefaults(val.requests) : undefined), + }; + } + /** - * Shared access key to download the return shipment label + * Metadata pertaining to creation and last modification of the resource. */ - reverseShipmentLabelSasKey: string; + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + /** - * Optional Reverse Shipping details for order. + * User assigned identity properties */ - reverseShippingDetails?: outputs.databox.ReverseShippingDetailsResponse; + export interface UserAssignedIdentityResponse { + /** + * The client ID of the assigned identity. + */ + clientId: string; + /** + * The principal ID of the assigned identity. + */ + principalId: string; + } + /** - * Shipping address of the customer. + * Properties of the volume */ - shippingAddress?: outputs.databox.ShippingAddressResponse; - } - /** - * dataBoxHeavyJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxHeavyJobDetailsResponse - */ - export function dataBoxHeavyJobDetailsResponseProvideDefaults(val: DataBoxHeavyJobDetailsResponse): DataBoxHeavyJobDetailsResponse { - return { - ...val, - keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), - preferences: (val.preferences ? outputs.databox.preferencesResponseProvideDefaults(val.preferences) : undefined), - reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), - shippingAddress: (val.shippingAddress ? outputs.databox.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), - }; + export interface VolumeTypeResponse { + /** + * Properties of the ElasticSAN iSCSI target + */ + elasticSan: outputs.containerstorage.v20230701preview.ElasticSanVolumePropertiesResponse; + } + } +} +export namespace costmanagement { /** - * The secrets related to a databox heavy job. + * The comparison expression to be used in the budgets. */ - export interface DataBoxHeavyJobSecretsResponse { - /** - * Contains the list of secret objects for a databox heavy job. - */ - cabinetPodSecrets: outputs.databox.DataBoxHeavySecretResponse[]; + export interface BudgetComparisonExpressionResponse { /** - * Dc Access Security Code for Customer Managed Shipping + * The name of the column to use in comparison. */ - dcAccessSecurityCode: outputs.databox.DcAccessSecurityCodeResponse; + name: string; /** - * Error while fetching the secrets. + * The operator to use for comparison. */ - error: outputs.databox.CloudErrorResponse; + operator: string; /** - * Used to indicate what type of job secrets object. - * Expected value is 'DataBoxHeavy'. + * Array of values to use for comparison */ - jobSecretsType: "DataBoxHeavy"; + values: string[]; } /** - * The secrets related to a databox heavy. + * The Dimensions or Tags to filter a budget by. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. */ - export interface DataBoxHeavySecretResponse { + export interface BudgetFilterPropertiesResponse { /** - * Per account level access credentials. + * Has comparison expression for a dimension. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + * + * Supported dimension names for **CategoryType: ReservationUtilization** + * - ReservationId + * - ReservedResourceType */ - accountCredentialDetails: outputs.databox.AccountCredentialDetailsResponse[]; + dimensions?: outputs.costmanagement.BudgetComparisonExpressionResponse; /** - * Password for out of the box experience on device. + * Has comparison expression for a tag. + * + * Supported for CategoryType(s): Cost. */ - devicePassword: string; + tags?: outputs.costmanagement.BudgetComparisonExpressionResponse; + } + + /** + * May be used to filter budgets by user-specified dimensions and/or tags. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + */ + export interface BudgetFilterResponse { /** - * Serial number of the assigned device. + * The logical "AND" expression. Must have at least 2 items. + * + * Supported for CategoryType(s): Cost. */ - deviceSerialNumber: string; + and?: outputs.costmanagement.BudgetFilterPropertiesResponse[]; /** - * The base 64 encoded public key to authenticate with the device + * Has comparison expression for a dimension. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + * + * Supported dimension names for **CategoryType: ReservationUtilization** + * - ReservationId + * - ReservedResourceType */ - encodedValidationCertPubKey: string; + dimensions?: outputs.costmanagement.BudgetComparisonExpressionResponse; /** - * Network configuration of the appliance. + * Has comparison expression for a tag. + * + * Supported for CategoryType(s): Cost. */ - networkConfigurations: outputs.databox.ApplianceNetworkConfigurationResponse[]; + tags?: outputs.costmanagement.BudgetComparisonExpressionResponse; } /** - * Databox Job Details + * The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + * + * Required for CategoryType(s): Cost, ReservationUtilization. */ - export interface DataBoxJobDetailsResponse { + export interface BudgetTimePeriodResponse { /** - * Available actions on the job. + * The end date for the budget. + * + * - Constraints for **CategoryType: Cost** - No constraints. If not provided, we default this to 10 years from the start date. + * + * - Constraints for **CategoryType: ReservationUtilization** - End date cannot be more than 3 years after the start date. */ - actions: string[]; + endDate?: string; /** - * Shared access key to download the chain of custody logs + * The start date for the budget. + * + * - Constraints for **CategoryType: Cost** - Must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period. + * + * - Constraints for **CategoryType: ReservationUtilization** - Must be on or after the current date and less than the end date. */ - chainOfCustodySasKey: string; + startDate: string; + } + + /** + * The common properties of the export. + */ + export interface CommonExportPropertiesResponse { /** - * Contact details for notification and shipping. + * Has the definition for the export. */ - contactDetails: outputs.databox.ContactDetailsResponse; + definition: outputs.costmanagement.ExportDefinitionResponse; /** - * List of copy log details. + * Has delivery information for the export. */ - copyLogDetails: (outputs.databox.DataBoxAccountCopyLogDetailsResponse | outputs.databox.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.DataBoxDiskCopyLogDetailsResponse | outputs.databox.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + deliveryInfo: outputs.costmanagement.ExportDeliveryInfoResponse; /** - * Copy progress per storage account. + * The format of the export being delivered. Currently only 'Csv' is supported. */ - copyProgress: outputs.databox.CopyProgressResponse[]; + format?: string; /** - * DataCenter code. + * If the export has an active schedule, provides an estimate of the next run time. */ - dataCenterCode: string; + nextRunTimeEstimate: string; /** - * Details of the data to be exported from azure. + * If set to true, exported data will be partitioned by size and placed in a blob directory together with a manifest file. Note: this option is currently available only for Microsoft Customer Agreement commerce scopes. */ - dataExportDetails?: outputs.databox.DataExportDetailsResponse[]; - /** - * Details of the data to be imported into azure. - */ - dataImportDetails?: outputs.databox.DataImportDetailsResponse[]; + partitionData?: boolean; /** - * Datacenter address to ship to, for the given sku and storage location. + * If requested, has the most recent run history for the export. */ - datacenterAddress: outputs.databox.DatacenterAddressInstructionResponseResponse | outputs.databox.DatacenterAddressLocationResponseResponse; + runHistory?: outputs.costmanagement.ExportExecutionListResultResponse; + } + + /** + * Details of any error encountered on last collection attempt + */ + export interface ConnectorCollectionErrorInfoResponse { /** - * Delivery package shipping details. + * Short error message */ - deliveryPackage: outputs.databox.PackageShippingDetailsResponse; + errorCode: string; /** - * Holds device data erasure details + * External Provider error message */ - deviceErasureDetails: outputs.databox.DeviceErasureDetailsResponse; + errorInnerMessage?: string; /** - * Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + * Detailed error message */ - devicePassword?: string; + errorMessage: string; /** - * The expected size of the data, which needs to be transferred in this job, in terabytes. + * Time the error started occurring (Last time error occurred in lastRun) */ - expectedDataSizeInTeraBytes?: number; + errorStartTime: string; + } + + /** + * Collection and ingestion information + */ + export interface ConnectorCollectionInfoResponse { /** - * Indicates the type of job details. - * Expected value is 'DataBox'. + * Error information of last collection */ - jobDetailsType: "DataBox"; + error?: outputs.costmanagement.ConnectorCollectionErrorInfoResponse; /** - * List of stages that run in the job. + * Last time the data acquisition process initiated connecting to the external provider */ - jobStages: outputs.databox.JobStagesResponse[]; + lastChecked?: string; /** - * Details about which key encryption type is being used. + * Last time the data acquisition process completed (even if no new data was found) */ - keyEncryptionKey?: outputs.databox.KeyEncryptionKeyResponse; + lastRun: string; /** - * Last mitigation action performed on the job. + * Last time the external data was updated into Azure */ - lastMitigationActionOnJob: outputs.databox.LastMitigationActionOnJobResponse; + lastUpdated: string; /** - * Preferences for the order. + * Source timestamp of external data currently available in Azure (eg AWS last processed CUR file timestamp) */ - preferences?: outputs.databox.PreferencesResponse; + sourceLastUpdated: string; + } + + /** + * Target resources and allocation + */ + export interface CostAllocationProportionResponse { /** - * Return package shipping details. + * Target resource for cost allocation */ - returnPackage: outputs.databox.PackageShippingDetailsResponse; + name: string; /** - * Shared access key to download the return shipment label + * Percentage of source cost to allocate to this resource. This value can be specified to two decimal places and the total percentage of all resources in this rule must sum to 100.00. */ - reverseShipmentLabelSasKey: string; + percentage: number; + } + + /** + * Resource details of the cost allocation rule + */ + export interface CostAllocationRuleDetailsResponse { /** - * Optional Reverse Shipping details for order. + * Source resources for cost allocation. At this time, this list can contain no more than one element. */ - reverseShippingDetails?: outputs.databox.ReverseShippingDetailsResponse; + sourceResources?: outputs.costmanagement.SourceCostAllocationResourceResponse[]; /** - * Shipping address of the customer. + * Target resources for cost allocation. At this time, this list can contain no more than one element. */ - shippingAddress?: outputs.databox.ShippingAddressResponse; - } - /** - * dataBoxJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxJobDetailsResponse - */ - export function dataBoxJobDetailsResponseProvideDefaults(val: DataBoxJobDetailsResponse): DataBoxJobDetailsResponse { - return { - ...val, - keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), - preferences: (val.preferences ? outputs.databox.preferencesResponseProvideDefaults(val.preferences) : undefined), - reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), - shippingAddress: (val.shippingAddress ? outputs.databox.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), - }; + targetResources?: outputs.costmanagement.TargetCostAllocationResourceResponse[]; } /** - * The secrets related to a DataBox. + * The properties of a cost allocation rule */ - export interface DataBoxSecretResponse { + export interface CostAllocationRulePropertiesResponse { /** - * Per account level access credentials. + * Time at which the rule was created. Rules that change cost for the same resource are applied in order of creation. */ - accountCredentialDetails: outputs.databox.AccountCredentialDetailsResponse[]; + createdDate: string; /** - * Password for out of the box experience on device. + * Description of a cost allocation rule. */ - devicePassword: string; + description?: string; /** - * Serial number of the assigned device. + * Resource information for the cost allocation rule */ - deviceSerialNumber: string; + details: outputs.costmanagement.CostAllocationRuleDetailsResponse; /** - * The base 64 encoded public key to authenticate with the device + * Status of the rule */ - encodedValidationCertPubKey: string; + status: string; /** - * Network configuration of the appliance. + * Time at which the rule was last updated. */ - networkConfigurations: outputs.databox.ApplianceNetworkConfigurationResponse[]; + updatedDate: string; } /** - * Details of the data to be used for exporting data from azure. + * The current amount of cost which is being tracked for a budget. + * + * Supported for CategoryType(s): Cost. */ - export interface DataExportDetailsResponse { + export interface CurrentSpendResponse { /** - * Account details of the data to be transferred + * The total amount of cost which is being tracked by the budget. */ - accountDetails: outputs.databox.ManagedDiskDetailsResponse | outputs.databox.StorageAccountDetailsResponse; + amount: number; /** - * Level of the logs to be collected. + * The unit of measure for the budget amount. */ - logCollectionLevel?: string; + unit: string; + } + + /** + * The customer billing metadata + */ + export interface CustomerMetadataResponse { /** - * Configuration for the data transfer. + * Customer billing account id */ - transferConfiguration: outputs.databox.TransferConfigurationResponse; + billingAccountId: string; + /** + * Customer billing profile id + */ + billingProfileId: string; } + /** - * dataExportDetailsResponseProvideDefaults sets the appropriate defaults for DataExportDetailsResponse + * The details of the error. */ - export function dataExportDetailsResponseProvideDefaults(val: DataExportDetailsResponse): DataExportDetailsResponse { - return { - ...val, - logCollectionLevel: (val.logCollectionLevel) ?? "Error", - transferConfiguration: outputs.databox.transferConfigurationResponseProvideDefaults(val.transferConfiguration), - }; + export interface ErrorDetailsResponse { + /** + * Error code. + */ + code: string; + /** + * Error message indicating why the operation failed. + */ + message: string; } /** - * Details of the data to be used for importing data to azure. + * The export dataset configuration. Allows columns to be selected for the export. If not provided then the export will include all available columns. */ - export interface DataImportDetailsResponse { + export interface ExportDatasetConfigurationResponse { /** - * Account details of the data to be transferred + * Array of column names to be included in the export. If not provided then the export will include all available columns. The available columns can vary by customer channel (see examples). */ - accountDetails: outputs.databox.ManagedDiskDetailsResponse | outputs.databox.StorageAccountDetailsResponse; + columns?: string[]; + } + + /** + * The definition for data in the export. + */ + export interface ExportDatasetResponse { /** - * Level of the logs to be collected. + * The export dataset configuration. */ - logCollectionLevel?: string; + configuration?: outputs.costmanagement.ExportDatasetConfigurationResponse; + /** + * The granularity of rows in the export. Currently only 'Daily' is supported. + */ + granularity?: string; } + /** - * dataImportDetailsResponseProvideDefaults sets the appropriate defaults for DataImportDetailsResponse + * The definition of an export. */ - export function dataImportDetailsResponseProvideDefaults(val: DataImportDetailsResponse): DataImportDetailsResponse { - return { - ...val, - logCollectionLevel: (val.logCollectionLevel) ?? "Error", - }; + export interface ExportDefinitionResponse { + /** + * The definition for data in the export. + */ + dataSet?: outputs.costmanagement.ExportDatasetResponse; + /** + * Has time period for pulling data for the export. + */ + timePeriod?: outputs.costmanagement.ExportTimePeriodResponse; + /** + * The time frame for pulling data for the export. If custom, then a specific time period must be provided. + */ + timeframe: string; + /** + * The type of the export. Note that 'Usage' is equivalent to 'ActualCost' and is applicable to exports that do not yet provide data for charges or amortization for service reservations. + */ + type: string; } /** - * The secrets related to a databox job. + * This represents the blob storage account location where exports of costs will be delivered. There are two ways to configure the destination. The approach recommended for most customers is to specify the resourceId of the storage account. This requires a one-time registration of the account's subscription with the Microsoft.CostManagementExports resource provider in order to give Cost Management services access to the storage. When creating an export in the Azure portal this registration is performed automatically but API users may need to register the subscription explicitly (for more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services ). Another way to configure the destination is available ONLY to Partners with a Microsoft Partner Agreement plan who are global admins of their billing account. These Partners, instead of specifying the resourceId of a storage account, can specify the storage account name along with a SAS token for the account. This allows exports of costs to a storage account in any tenant. The SAS token should be created for the blob service with Service/Container/Object resource types and with Read/Write/Delete/List/Add/Create permissions (for more information see https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/export-cost-data-storage-account-sas-key ). */ - export interface DataboxJobSecretsResponse { + export interface ExportDeliveryDestinationResponse { /** - * Dc Access Security Code for Customer Managed Shipping + * The name of the container where exports will be uploaded. If the container does not exist it will be created. */ - dcAccessSecurityCode: outputs.databox.DcAccessSecurityCodeResponse; + container: string; /** - * Error while fetching the secrets. + * The resource id of the storage account where exports will be delivered. This is not required if a sasToken and storageAccount are specified. */ - error: outputs.databox.CloudErrorResponse; + resourceId?: string; /** - * Used to indicate what type of job secrets object. - * Expected value is 'DataBox'. + * The name of the directory where exports will be uploaded. */ - jobSecretsType: "DataBox"; + rootFolderPath?: string; /** - * Contains the list of secret objects for a job. + * A SAS token for the storage account. For a restricted set of Azure customers this together with storageAccount can be specified instead of resourceId. Note: the value returned by the API for this property will always be obfuscated. Returning this same obfuscated value will not result in the SAS token being updated. To update this value a new SAS token must be specified. */ - podSecrets?: outputs.databox.DataBoxSecretResponse[]; + sasToken?: string; + /** + * The storage account where exports will be uploaded. For a restricted set of Azure customers this together with sasToken can be specified instead of resourceId. + */ + storageAccount?: string; } /** - * Datacenter instruction for given storage location. + * The delivery information associated with a export. */ - export interface DatacenterAddressInstructionResponseResponse { + export interface ExportDeliveryInfoResponse { /** - * Data center communication instruction + * Has destination for the export being delivered. */ - communicationInstruction: string; + destination: outputs.costmanagement.ExportDeliveryDestinationResponse; + } + + /** + * Result of listing the run history of an export. + */ + export interface ExportExecutionListResultResponse { /** - * Azure Location where the Data Center serves primarily. + * A list of export runs. */ - dataCenterAzureLocation: string; + value: outputs.costmanagement.ExportRunResponse[]; + } + + /** + * The start and end date for recurrence schedule. + */ + export interface ExportRecurrencePeriodResponse { /** - * Data center address type - * Expected value is 'DatacenterAddressInstruction'. + * The start date of recurrence. */ - datacenterAddressType: "DatacenterAddressInstruction"; + from: string; /** - * List of supported carriers for return shipment. + * The end date of recurrence. */ - supportedCarriersForReturnShipment: string[]; + to?: string; } /** - * Datacenter address for given storage location. + * An export run. */ - export interface DatacenterAddressLocationResponseResponse { + export interface ExportRunResponse { /** - * Special instruction for shipping + * eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not. */ - additionalShippingInformation: string; + eTag?: string; /** - * Address type + * The details of any error. */ - addressType: string; + error?: outputs.costmanagement.ErrorDetailsResponse; /** - * City name + * The type of the export run. */ - city: string; + executionType?: string; /** - * Company name + * The name of the exported file. */ - company: string; + fileName?: string; /** - * Contact person name + * Resource Id. */ - contactPersonName: string; + id: string; /** - * name of the country + * Resource name. */ - country: string; + name: string; /** - * Azure Location where the Data Center serves primarily. + * The time when the export run finished. */ - dataCenterAzureLocation: string; + processingEndTime?: string; /** - * Data center address type - * Expected value is 'DatacenterAddressLocation'. + * The time when export was picked up to be run. */ - datacenterAddressType: "DatacenterAddressLocation"; + processingStartTime?: string; /** - * Phone number + * The export settings that were in effect for this run. */ - phone: string; + runSettings?: outputs.costmanagement.CommonExportPropertiesResponse; /** - * Phone extension + * The last known status of the export run. */ - phoneExtension: string; + status?: string; /** - * name of the state + * The identifier for the entity that triggered the export. For on-demand runs it is the user email. For scheduled runs it is 'System'. */ - state: string; + submittedBy?: string; /** - * Street address line 1 + * The time when export was queued to be run. */ - street1: string; + submittedTime?: string; /** - * Street address line 2 + * Resource type. */ - street2: string; + type: string; + } + + /** + * The schedule associated with the export. + */ + export interface ExportScheduleResponse { /** - * Street address line 3 + * The schedule recurrence. */ - street3: string; + recurrence?: string; /** - * List of supported carriers for return shipment. + * Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. */ - supportedCarriersForReturnShipment: string[]; + recurrencePeriod?: outputs.costmanagement.ExportRecurrencePeriodResponse; /** - * Zip code + * The status of the export's schedule. If 'Inactive', the export's schedule is paused. */ - zip: string; + status?: string; } /** - * Dc access security code + * The date range for data in the export. This should only be specified with timeFrame set to 'Custom'. The maximum date range is 3 months. */ - export interface DcAccessSecurityCodeResponse { + export interface ExportTimePeriodResponse { /** - * Forward Dc access security code. + * The start date for export data. */ - forwardDCAccessCode?: string; + from: string; /** - * Reverse Dc access security code. + * The end date for export data. */ - reverseDCAccessCode?: string; + to: string; } /** - * Device erasure details with erasure completion status and erasureordestructionlog sas key + * Destination of the view data. This is optional. Currently only CSV format is supported. */ - export interface DeviceErasureDetailsResponse { + export interface FileDestinationResponse { /** - * Holds the device erasure completion status + * Destination of the view data. Currently only CSV format is supported. */ - deviceErasureStatus: string; + fileFormats?: string[]; + } + + /** + * The forecasted cost which is being tracked for a budget. + * + * Supported for CategoryType(s): Cost. + */ + export interface ForecastSpendResponse { /** - * Shared access key to download cleanup or destruction certificate for device + * The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type. */ - erasureOrDestructionCertificateSasKey: string; + amount: number; + /** + * The unit of measure for the budget amount. + */ + unit: string; } /** - * Contains all the secrets of a Disk. + * Each KPI must contain a 'type' and 'enabled' key. */ - export interface DiskSecretResponse { + export interface KpiPropertiesResponse { /** - * Bit Locker key of the disk which can be used to unlock the disk to copy data. + * show the KPI in the UI? */ - bitLockerKey: string; + enabled?: boolean; /** - * Serial number of the assigned disk. + * ID of resource related to metric (budget). */ - diskSerialNumber: string; + id?: string; + /** + * KPI type (Forecast, Budget). + */ + type?: string; } /** - * Preferences related to the Encryption. + * The properties of the scheduled action notification. */ - export interface EncryptionPreferencesResponse { + export interface NotificationPropertiesResponse { /** - * Defines secondary layer of software-based encryption enablement. + * Locale of the email. */ - doubleEncryption?: string; + language?: string; /** - * Defines Hardware level encryption (Only for disk) + * Optional message to be added in the email. Length is limited to 250 characters. */ - hardwareEncryption?: string; + message?: string; + /** + * Regional format used for formatting date/time and currency values in the email. + */ + regionalFormat?: string; + /** + * Subject of the email. Length is limited to 70 characters. + */ + subject: string; + /** + * Array of email addresses. + */ + to: string[]; } + /** - * encryptionPreferencesResponseProvideDefaults sets the appropriate defaults for EncryptionPreferencesResponse + * The notification associated with a budget. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. */ - export function encryptionPreferencesResponseProvideDefaults(val: EncryptionPreferencesResponse): EncryptionPreferencesResponse { + export interface NotificationResponse { + /** + * Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + */ + contactEmails: string[]; + /** + * Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. + * + * Supported for CategoryType(s): Cost. + */ + contactGroups?: string[]; + /** + * Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached. + * + * Supported for CategoryType(s): Cost. + */ + contactRoles?: string[]; + /** + * The notification is enabled or not. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + */ + enabled: boolean; + /** + * Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days). + * + * Supported for CategoryType(s): ReservationUtilization. + */ + frequency?: string; + /** + * Language in which the recipient will receive the notification, + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + */ + locale?: string; + /** + * The comparison operator. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + * + * Supported operators for **CategoryType: Cost** + * - GreaterThan + * - GreaterThanOrEqualTo + * + * Supported operators for **CategoryType: ReservationUtilization** + * - LessThan + */ + operator: string; + /** + * Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + * + * **CategoryType: Cost** - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold. + * + * **CategoryType: ReservationUtilization** - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold. + */ + threshold: number; + /** + * The type of threshold. + * + * Supported for CategoryType(s): Cost. + */ + thresholdType?: string; + } + /** + * notificationResponseProvideDefaults sets the appropriate defaults for NotificationResponse + */ + export function notificationResponseProvideDefaults(val: NotificationResponse): NotificationResponse { return { ...val, - doubleEncryption: (val.doubleEncryption) ?? "Disabled", + thresholdType: (val.thresholdType) ?? "Actual", }; } /** - * Export disk details + * Each pivot must contain a 'type' and 'name'. */ - export interface ExportDiskDetailsResponse { - /** - * Path to backed up manifest, only returned if enableManifestBackup is true. - */ - backupManifestCloudPath: string; + export interface PivotPropertiesResponse { /** - * The relative path of the manifest file on the disk. + * Data field to show in view. */ - manifestFile: string; + name?: string; /** - * The Base16-encoded MD5 hash of the manifest file on the disk. + * Data type to show in view. */ - manifestHash: string; + type?: string; } /** - * Details of the filter files to be used for data transfer. + * The aggregation expression to be used in the report. */ - export interface FilterFileDetailsResponse { + export interface ReportAggregationResponse { /** - * Path of the file that contains the details of all items to transfer. + * The name of the aggregation function to use. */ - filterFilePath: string; + function: string; /** - * Type of the filter file. + * The name of the column to aggregate. */ - filterFileType: string; + name: string; } /** - * Managed identity properties. + * The comparison expression to be used in the report. */ - export interface IdentityPropertiesResponse { + export interface ReportComparisonExpressionResponse { /** - * Managed service identity type. + * The name of the column to use in comparison. */ - type?: string; + name: string; /** - * User assigned identity properties. + * The operator to use for comparison. */ - userAssigned?: outputs.databox.UserAssignedPropertiesResponse; + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; } /** - * Import disk details + * The aggregation expression to be used in the report. */ - export interface ImportDiskDetailsResponse { + export interface ReportConfigAggregationResponse { /** - * Path to backed up manifest, only returned if enableManifestBackup is true. + * The name of the aggregation function to use. */ - backupManifestCloudPath: string; + function: string; /** - * BitLocker key used to encrypt the disk. + * The name of the column to aggregate. */ - bitLockerKey: string; + name: string; + } + + /** + * The comparison expression to be used in the report. + */ + export interface ReportConfigComparisonExpressionResponse { /** - * The relative path of the manifest file on the disk. + * The name of the column to use in comparison. */ - manifestFile: string; + name: string; /** - * The Base16-encoded MD5 hash of the manifest file on the disk. + * The operator to use for comparison. */ - manifestHash: string; + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; } /** - * Additional delivery info. + * The configuration of dataset in the report. */ - export interface JobDeliveryInfoResponse { + export interface ReportConfigDatasetConfigurationResponse { /** - * Scheduled date time. + * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. */ - scheduledDateTime?: string; + columns?: string[]; } /** - * Job stages. + * The definition of data present in the report. */ - export interface JobStagesResponse { + export interface ReportConfigDatasetResponse { /** - * Display name of the job stage. + * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. */ - displayName: string; + aggregation?: {[key: string]: outputs.costmanagement.ReportConfigAggregationResponse}; /** - * Job Stage Details + * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. */ - jobStageDetails: any; + configuration?: outputs.costmanagement.ReportConfigDatasetConfigurationResponse; /** - * Name of the job stage. + * Has filter expression to use in the report. */ - stageName: string; + filter?: outputs.costmanagement.ReportConfigFilterResponse; /** - * Status of the job stage. + * The granularity of rows in the report. */ - stageStatus: string; + granularity?: string; /** - * Time for the job stage in UTC ISO 8601 format. + * Array of group by expression to use in the report. Report can have up to 2 group by clauses. */ - stageTime: string; + grouping?: outputs.costmanagement.ReportConfigGroupingResponse[]; + /** + * Array of order by expression to use in the report. + */ + sorting?: outputs.costmanagement.ReportConfigSortingResponse[]; } /** - * Encryption key containing details about key to encrypt different keys. + * The filter expression to be used in the report. */ - export interface KeyEncryptionKeyResponse { + export interface ReportConfigFilterResponse { /** - * Managed identity properties used for key encryption. + * The logical "AND" expression. Must have at least 2 items. */ - identityProperties?: outputs.databox.IdentityPropertiesResponse; + and?: outputs.costmanagement.ReportConfigFilterResponse[]; /** - * Type of encryption key used for key encryption. + * Has comparison expression for a dimension */ - kekType: string; + dimensions?: outputs.costmanagement.ReportConfigComparisonExpressionResponse; /** - * Key encryption key. It is required in case of Customer managed KekType. + * The logical "OR" expression. Must have at least 2 items. */ - kekUrl?: string; + or?: outputs.costmanagement.ReportConfigFilterResponse[]; /** - * Kek vault resource id. It is required in case of Customer managed KekType. + * Has comparison expression for a tag */ - kekVaultResourceID?: string; + tags?: outputs.costmanagement.ReportConfigComparisonExpressionResponse; } + /** - * keyEncryptionKeyResponseProvideDefaults sets the appropriate defaults for KeyEncryptionKeyResponse + * The group by expression to be used in the report. */ - export function keyEncryptionKeyResponseProvideDefaults(val: KeyEncryptionKeyResponse): KeyEncryptionKeyResponse { - return { - ...val, - kekType: (val.kekType) ?? "MicrosoftManaged", - }; + export interface ReportConfigGroupingResponse { + /** + * The name of the column to group. This version supports subscription lowest possible grain. + */ + name: string; + /** + * Has type of the column to group. + */ + type: string; } /** - * Last Mitigation Action Performed On Job + * The order by expression to be used in the report. */ - export interface LastMitigationActionOnJobResponse { + export interface ReportConfigSortingResponse { /** - * Action performed date time + * Direction of sort. */ - actionDateTimeInUtc?: string; + direction?: string; /** - * Resolution code provided by customer + * The name of the column to sort. */ - customerResolution?: string; + name: string; + } + + /** + * The start and end date for pulling data for the report. + */ + export interface ReportConfigTimePeriodResponse { /** - * Action performed by customer, - * possibility is that mitigation might happen by customer or service or by ops + * The start date to pull data from. */ - isPerformedByCustomer?: boolean; + from: string; + /** + * The end date to pull data to. + */ + to: string; } /** - * Details of the managed disks. + * The configuration of dataset in the report. */ - export interface ManagedDiskDetailsResponse { + export interface ReportDatasetConfigurationResponse { /** - * Account Type of the data to be transferred. - * Expected value is 'ManagedDisk'. + * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. */ - dataAccountType: "ManagedDisk"; + columns?: string[]; + } + + /** + * The definition of data present in the report. + */ + export interface ReportDatasetResponse { /** - * Resource Group Id of the compute disks. + * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. */ - resourceGroupId: string; + aggregation?: {[key: string]: outputs.costmanagement.ReportAggregationResponse}; /** - * Resource Id of the storage account that can be used to copy the vhd for staging. + * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. */ - stagingStorageAccountId: string; + configuration?: outputs.costmanagement.ReportDatasetConfigurationResponse; + /** + * Has filter expression to use in the report. + */ + filter?: outputs.costmanagement.ReportFilterResponse; + /** + * The granularity of rows in the report. + */ + granularity?: string; + /** + * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + */ + grouping?: outputs.costmanagement.ReportGroupingResponse[]; } + /** - * managedDiskDetailsResponseProvideDefaults sets the appropriate defaults for ManagedDiskDetailsResponse + * The definition of a report. */ - export function managedDiskDetailsResponseProvideDefaults(val: ManagedDiskDetailsResponse): ManagedDiskDetailsResponse { - return { - ...val, - dataAccountType: (val.dataAccountType) ?? "StorageAccount", - }; + export interface ReportDefinitionResponse { + /** + * Has definition for data in this report. + */ + dataset?: outputs.costmanagement.ReportDatasetResponse; + /** + * Has time period for pulling data for the report. + */ + timePeriod?: outputs.costmanagement.ReportTimePeriodResponse; + /** + * The time frame for pulling data for the report. If custom, then a specific time period must be provided. + */ + timeframe: string; + /** + * The type of the report. + */ + type: string; } /** - * Notification preference for a job stage. + * The destination information for the delivery of the report. */ - export interface NotificationPreferenceResponse { + export interface ReportDeliveryDestinationResponse { /** - * Notification is required or not. + * The name of the container where reports will be uploaded. */ - sendNotification: boolean; + container: string; /** - * Name of the stage. + * The resource id of the storage account where reports will be delivered. */ - stageName: string; + resourceId: string; + /** + * The name of the directory where reports will be uploaded. + */ + rootFolderPath?: string; } + /** - * notificationPreferenceResponseProvideDefaults sets the appropriate defaults for NotificationPreferenceResponse + * The delivery information associated with a report. */ - export function notificationPreferenceResponseProvideDefaults(val: NotificationPreferenceResponse): NotificationPreferenceResponse { - return { - ...val, - sendNotification: (val.sendNotification) ?? true, - }; + export interface ReportDeliveryInfoResponse { + /** + * Has destination for the report being delivered. + */ + destination: outputs.costmanagement.ReportDeliveryDestinationResponse; } /** - * Package carrier details. + * The filter expression to be used in the report. */ - export interface PackageCarrierDetailsResponse { + export interface ReportFilterResponse { /** - * Carrier Account Number of customer for customer disk. + * The logical "AND" expression. Must have at least 2 items. */ - carrierAccountNumber?: string; + and?: outputs.costmanagement.ReportFilterResponse[]; /** - * Name of the carrier. + * Has comparison expression for a dimension */ - carrierName?: string; + dimension?: outputs.costmanagement.ReportComparisonExpressionResponse; /** - * Tracking Id of shipment. + * The logical "NOT" expression. */ - trackingId?: string; + not?: outputs.costmanagement.ReportFilterResponse; + /** + * The logical "OR" expression. Must have at least 2 items. + */ + or?: outputs.costmanagement.ReportFilterResponse[]; + /** + * Has comparison expression for a tag + */ + tag?: outputs.costmanagement.ReportComparisonExpressionResponse; } /** - * package carrier info + * The group by expression to be used in the report. */ - export interface PackageCarrierInfoResponse { + export interface ReportGroupingResponse { /** - * Name of the carrier. + * The name of the column to group. */ - carrierName?: string; + name: string; /** - * Tracking Id of shipment. + * Has type of the column to group. */ - trackingId?: string; + type: string; } /** - * package shipping details + * The start and end date for recurrence schedule. */ - export interface PackageShippingDetailsResponse { + export interface ReportRecurrencePeriodResponse { /** - * Name of the carrier. + * The start date of recurrence. */ - carrierName: string; + from: string; /** - * Tracking Id of shipment. + * The end date of recurrence. */ - trackingId: string; + to?: string; + } + + /** + * The schedule associated with a report. + */ + export interface ReportScheduleResponse { /** - * Url where shipment can be tracked. + * The schedule recurrence. */ - trackingUrl: string; + recurrence: string; + /** + * Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. + */ + recurrencePeriod?: outputs.costmanagement.ReportRecurrencePeriodResponse; + /** + * The status of the schedule. Whether active or not. If inactive, the report's scheduled execution is paused. + */ + status?: string; } /** - * Preferences related to the order + * The start and end date for pulling data for the report. */ - export interface PreferencesResponse { + export interface ReportTimePeriodResponse { /** - * Preferences related to the Encryption. + * The start date to pull data from. */ - encryptionPreferences?: outputs.databox.EncryptionPreferencesResponse; + from: string; /** - * Preferred data center region. + * The end date to pull data to. */ - preferredDataCenterRegion?: string[]; + to: string; + } + + /** + * The properties of the schedule. + */ + export interface SchedulePropertiesResponse { /** - * Optional Preferences related to the reverse shipment logistics of the sku. + * UTC day on which cost analysis data will be emailed. Must be between 1 and 31. This property is applicable when frequency is Monthly and overrides weeksOfMonth or daysOfWeek. */ - reverseTransportPreferences?: outputs.databox.TransportPreferencesResponse; + dayOfMonth?: number; /** - * Preferences related to the Access Tier of storage accounts. + * Day names in english on which cost analysis data will be emailed. This property is applicable when frequency is Weekly or Monthly. */ - storageAccountAccessTierPreferences?: string[]; + daysOfWeek?: string[]; /** - * Preferences related to the shipment logistics of the sku. + * The end date and time of the scheduled action (UTC). */ - transportPreferences?: outputs.databox.TransportPreferencesResponse; + endDate: string; + /** + * Frequency of the schedule. + */ + frequency: string; + /** + * UTC time at which cost analysis data will be emailed. + */ + hourOfDay?: number; + /** + * The start date and time of the scheduled action (UTC). + */ + startDate: string; + /** + * Weeks in which cost analysis data will be emailed. This property is applicable when frequency is Monthly and used in combination with daysOfWeek. + */ + weeksOfMonth?: string[]; + } + + export interface SettingsPropertiesResponseCache { + /** + * Indicates the account type. Allowed values include: EA, PAYG, Modern, Internal, Unknown. + */ + channel: string; + /** + * Resource ID used by Resource Manager to uniquely identify the scope. + */ + id: string; + /** + * Display name for the scope. + */ + name: string; + /** + * Resource ID of the parent scope. For instance, subscription's resource ID for a resource group or a management group resource ID for a subscription. + */ + parent?: string; + /** + * Indicates the status of the scope. Status only applies to subscriptions and billing accounts. + */ + status?: string; + /** + * Indicates the type of modern account. Allowed values include: Individual, Enterprise, Partner, Indirect, NotApplicable + */ + subchannel: string; } + /** - * preferencesResponseProvideDefaults sets the appropriate defaults for PreferencesResponse + * Source resources for cost allocation */ - export function preferencesResponseProvideDefaults(val: PreferencesResponse): PreferencesResponse { - return { - ...val, - encryptionPreferences: (val.encryptionPreferences ? outputs.databox.encryptionPreferencesResponseProvideDefaults(val.encryptionPreferences) : undefined), - }; + export interface SourceCostAllocationResourceResponse { + /** + * If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag + */ + name: string; + /** + * Type of resources contained in this cost allocation rule + */ + resourceType: string; + /** + * Source Resources for cost allocation. This list cannot contain more than 25 values. + */ + values: string[]; } /** - * Msi identity details of the resource + * Metadata pertaining to creation and last modification of the resource. */ - export interface ResourceIdentityResponse { + export interface SystemDataResponse { /** - * Service Principal Id backing the Msi + * The timestamp of resource creation (UTC). */ - principalId: string; + createdAt?: string; /** - * Home Tenant Id + * The identity that created the resource. */ - tenantId: string; + createdBy?: string; /** - * Identity type + * The type of identity that created the resource. */ - type?: string; + createdByType?: string; /** - * User Assigned Identities + * The timestamp of resource last modification (UTC) */ - userAssignedIdentities?: {[key: string]: outputs.databox.UserAssignedIdentityResponse}; + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; } + /** - * resourceIdentityResponseProvideDefaults sets the appropriate defaults for ResourceIdentityResponse + * The properties of the tag inheritance setting. */ - export function resourceIdentityResponseProvideDefaults(val: ResourceIdentityResponse): ResourceIdentityResponse { - return { - ...val, - type: (val.type) ?? "None", - }; + export interface TagInheritancePropertiesResponse { + /** + * When resource has the same tag as subscription or resource group and this property is set to true - the subscription or resource group tag will be applied. If subscription and resource group tags are also the same, subscription tag will be applied. + */ + preferContainerTags: boolean; } /** - * Reverse Shipping Address and contact details for a job. + * Target resources for cost allocation. */ - export interface ReverseShippingDetailsResponse { + export interface TargetCostAllocationResourceResponse { /** - * Contact Info. + * If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag */ - contactDetails?: outputs.databox.ContactInfoResponse; + name: string; /** - * A flag to indicate whether Reverse Shipping details are updated or not after device has been prepared. - * Read only field + * Method of cost allocation for the rule */ - isUpdated: boolean; + policyType: string; /** - * Shipping address where customer wishes to receive the device. + * Type of resources contained in this cost allocation rule */ - shippingAddress?: outputs.databox.ShippingAddressResponse; - } - /** - * reverseShippingDetailsResponseProvideDefaults sets the appropriate defaults for ReverseShippingDetailsResponse - */ - export function reverseShippingDetailsResponseProvideDefaults(val: ReverseShippingDetailsResponse): ReverseShippingDetailsResponse { - return { - ...val, - shippingAddress: (val.shippingAddress ? outputs.databox.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), - }; + resourceType: string; + /** + * Target resources for cost allocation. This list cannot contain more than 25 values. + */ + values: outputs.costmanagement.CostAllocationProportionResponse[]; } - /** - * Credential details of the shares in account. - */ - export interface ShareCredentialDetailsResponse { + export namespace v20180801preview { + /** + * Details of any error encountered on last collection attempt + */ + export interface ConnectorCollectionErrorInfoResponse { + /** + * Short error message + */ + errorCode: string; + /** + * Detailed error message + */ + errorMessage: string; + /** + * Time the error started occurring (Last time error occurred in lastRun) + */ + errorStartTime: string; + } + + /** + * Collection and ingestion information + */ + export interface ConnectorCollectionInfoResponse { + /** + * Error information of last collection + */ + error?: outputs.costmanagement.v20180801preview.ConnectorCollectionErrorInfoResponse; + /** + * Last time the data acquisition process completed (even if no new data was found) + */ + lastRun: string; + /** + * Last time the external data was updated into Azure + */ + lastUpdated: string; + /** + * Source timestamp of external data currently available in Azure (eg AWS last processed CUR file timestamp) + */ + sourceLastUpdated: string; + } + + /** + * The aggregation expression to be used in the report. + */ + export interface ReportAggregationResponse { + /** + * The name of the aggregation function to use. + */ + function: string; + /** + * The name of the column to aggregate. + */ + name: string; + } + + /** + * The comparison expression to be used in the report. + */ + export interface ReportComparisonExpressionResponse { + /** + * The name of the column to use in comparison. + */ + name: string; + /** + * The operator to use for comparison. + */ + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; + } + + /** + * The configuration of dataset in the report. + */ + export interface ReportDatasetConfigurationResponse { + /** + * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + */ + columns?: string[]; + } + + /** + * The definition of data present in the report. + */ + export interface ReportDatasetResponse { + /** + * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. + */ + aggregation?: {[key: string]: outputs.costmanagement.v20180801preview.ReportAggregationResponse}; + /** + * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. + */ + configuration?: outputs.costmanagement.v20180801preview.ReportDatasetConfigurationResponse; + /** + * Has filter expression to use in the report. + */ + filter?: outputs.costmanagement.v20180801preview.ReportFilterResponse; + /** + * The granularity of rows in the report. + */ + granularity?: string; + /** + * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + */ + grouping?: outputs.costmanagement.v20180801preview.ReportGroupingResponse[]; + } + + /** + * The definition of a report. + */ + export interface ReportDefinitionResponse { + /** + * Has definition for data in this report. + */ + dataset?: outputs.costmanagement.v20180801preview.ReportDatasetResponse; + /** + * Has time period for pulling data for the report. + */ + timePeriod?: outputs.costmanagement.v20180801preview.ReportTimePeriodResponse; + /** + * The time frame for pulling data for the report. If custom, then a specific time period must be provided. + */ + timeframe: string; + /** + * The type of the report. + */ + type: string; + } + + /** + * The destination information for the delivery of the report. + */ + export interface ReportDeliveryDestinationResponse { + /** + * The name of the container where reports will be uploaded. + */ + container: string; + /** + * The resource id of the storage account where reports will be delivered. + */ + resourceId: string; + /** + * The name of the directory where reports will be uploaded. + */ + rootFolderPath?: string; + } + + /** + * The delivery information associated with a report. + */ + export interface ReportDeliveryInfoResponse { + /** + * Has destination for the report being delivered. + */ + destination: outputs.costmanagement.v20180801preview.ReportDeliveryDestinationResponse; + } + + /** + * The filter expression to be used in the report. + */ + export interface ReportFilterResponse { + /** + * The logical "AND" expression. Must have at least 2 items. + */ + and?: outputs.costmanagement.v20180801preview.ReportFilterResponse[]; + /** + * Has comparison expression for a dimension + */ + dimension?: outputs.costmanagement.v20180801preview.ReportComparisonExpressionResponse; + /** + * The logical "NOT" expression. + */ + not?: outputs.costmanagement.v20180801preview.ReportFilterResponse; + /** + * The logical "OR" expression. Must have at least 2 items. + */ + or?: outputs.costmanagement.v20180801preview.ReportFilterResponse[]; + /** + * Has comparison expression for a tag + */ + tag?: outputs.costmanagement.v20180801preview.ReportComparisonExpressionResponse; + } + + /** + * The group by expression to be used in the report. + */ + export interface ReportGroupingResponse { + /** + * The name of the column to group. + */ + name: string; + /** + * Has type of the column to group. + */ + type: string; + } + + /** + * The start and end date for recurrence schedule. + */ + export interface ReportRecurrencePeriodResponse { + /** + * The start date of recurrence. + */ + from: string; + /** + * The end date of recurrence. + */ + to?: string; + } + + /** + * The schedule associated with a report. + */ + export interface ReportScheduleResponse { + /** + * The schedule recurrence. + */ + recurrence: string; + /** + * Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. + */ + recurrencePeriod?: outputs.costmanagement.v20180801preview.ReportRecurrencePeriodResponse; + /** + * The status of the schedule. Whether active or not. If inactive, the report's scheduled execution is paused. + */ + status?: string; + } + + /** + * The start and end date for pulling data for the report. + */ + export interface ReportTimePeriodResponse { + /** + * The start date to pull data from. + */ + from: string; + /** + * The end date to pull data to. + */ + to: string; + } + + } + + export namespace v20190301preview { + /** + * Details of any error encountered on last collection attempt + */ + export interface ConnectorCollectionErrorInfoResponse { + /** + * Short error code + */ + errorCode: string; + /** + * External Provider error message + */ + errorInnerMessage: string; + /** + * Detailed error message + */ + errorMessage: string; + /** + * Time the error started occurring (Last time error occurred in lastChecked) + */ + errorStartTime: string; + } + + /** + * Collection and ingestion information + */ + export interface ConnectorCollectionInfoResponse { + /** + * Error information of last collection + */ + error?: outputs.costmanagement.v20190301preview.ConnectorCollectionErrorInfoResponse; + /** + * Last time the data acquisition process initiated connecting to the external provider + */ + lastChecked: string; + /** + * Last time the external data was updated into Azure + */ + lastUpdated: string; + /** + * Source timestamp of external data currently available in Azure (eg AWS last processed CUR file timestamp) + */ + sourceLastUpdated: string; + } + + } + + export namespace v20190401preview { + /** + * The start and end date for a budget. + */ + export interface BudgetTimePeriodResponse { + /** + * The end date for the budget. If not provided, we default this to 10 years from the start date. + */ + endDate?: string; + /** + * The start date for the budget. + */ + startDate: string; + } + + /** + * The current amount of cost which is being tracked for a budget. + */ + export interface CurrentSpendResponse { + /** + * The total amount of cost which is being tracked by the budget. + */ + amount: number; + /** + * The unit of measure for the budget amount. + */ + unit: string; + } + + /** + * The notification associated with a budget. + */ + export interface NotificationResponse { + /** + * Email addresses to send the budget notification to when the threshold is exceeded. + */ + contactEmails: string[]; + /** + * Action groups to send the budget notification to when the threshold is exceeded. + */ + contactGroups?: string[]; + /** + * Contact roles to send the budget notification to when the threshold is exceeded. + */ + contactRoles?: string[]; + /** + * The notification is enabled or not. + */ + enabled: boolean; + /** + * The comparison operator. + */ + operator: string; + /** + * Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000. + */ + threshold: number; + } + + /** + * The comparison expression to be used in the report. + */ + export interface ReportConfigComparisonExpressionResponse { + /** + * The name of the column to use in comparison. + */ + name: string; + /** + * The operator to use for comparison. + */ + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; + } + + /** + * The filter expression to be used in the report. + */ + export interface ReportConfigFilterResponse { + /** + * The logical "AND" expression. Must have at least 2 items. + */ + and?: outputs.costmanagement.v20190401preview.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a dimension + */ + dimension?: outputs.costmanagement.v20190401preview.ReportConfigComparisonExpressionResponse; + /** + * The logical "NOT" expression. + */ + not?: outputs.costmanagement.v20190401preview.ReportConfigFilterResponse; + /** + * The logical "OR" expression. Must have at least 2 items. + */ + or?: outputs.costmanagement.v20190401preview.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a tag + */ + tag?: outputs.costmanagement.v20190401preview.ReportConfigComparisonExpressionResponse; + } + + } + + export namespace v20191001 { + /** + * The destination information for the delivery of the export. + */ + export interface ExportDeliveryDestinationResponse { + /** + * The name of the container where exports will be uploaded. + */ + container: string; + /** + * The resource id of the storage account where exports will be delivered. + */ + resourceId: string; + /** + * The name of the directory where exports will be uploaded. + */ + rootFolderPath?: string; + } + + /** + * The delivery information associated with a export. + */ + export interface ExportDeliveryInfoResponse { + /** + * Has destination for the export being delivered. + */ + destination: outputs.costmanagement.v20191001.ExportDeliveryDestinationResponse; + } + + /** + * The start and end date for recurrence schedule. + */ + export interface ExportRecurrencePeriodResponse { + /** + * The start date of recurrence. + */ + from: string; + /** + * The end date of recurrence. + */ + to?: string; + } + + /** + * The schedule associated with a export. + */ + export interface ExportScheduleResponse { + /** + * The schedule recurrence. + */ + recurrence: string; + /** + * Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. + */ + recurrencePeriod?: outputs.costmanagement.v20191001.ExportRecurrencePeriodResponse; + /** + * The status of the schedule. Whether active or not. If inactive, the export's scheduled execution is paused. + */ + status?: string; + } + + /** + * The aggregation expression to be used in the query. + */ + export interface QueryAggregationResponse { + /** + * The name of the aggregation function to use. + */ + function: string; + /** + * The name of the column to aggregate. + */ + name: string; + } + + /** + * The comparison expression to be used in the query. + */ + export interface QueryComparisonExpressionResponse { + /** + * The name of the column to use in comparison. + */ + name: string; + /** + * The operator to use for comparison. + */ + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; + } + + /** + * The configuration of dataset in the query. + */ + export interface QueryDatasetConfigurationResponse { + /** + * Array of column names to be included in the query. Any valid query column name is allowed. If not provided, then query includes all columns. + */ + columns?: string[]; + } + + /** + * The definition of data present in the query. + */ + export interface QueryDatasetResponse { + /** + * Dictionary of aggregation expression to use in the query. The key of each item in the dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses. + */ + aggregation?: {[key: string]: outputs.costmanagement.v20191001.QueryAggregationResponse}; + /** + * Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided. + */ + configuration?: outputs.costmanagement.v20191001.QueryDatasetConfigurationResponse; + /** + * The filter expression to use in the query. Please reference our Query API REST documentation for how to properly format the filter. + */ + filter?: outputs.costmanagement.v20191001.QueryFilterResponse; + /** + * The granularity of rows in the query. + */ + granularity?: string; + /** + * Array of group by expression to use in the query. Query can have up to 2 group by clauses. + */ + grouping?: outputs.costmanagement.v20191001.QueryGroupingResponse[]; + /** + * Array of sorting by columns in query. + */ + sorting?: outputs.costmanagement.v20191001.QuerySortingConfigurationResponse[]; + } + + /** + * The definition of a query. + */ + export interface QueryDefinitionResponse { + /** + * Has definition for data in this query. + */ + dataset?: outputs.costmanagement.v20191001.QueryDatasetResponse; + /** + * Has time period for pulling data for the query. + */ + timePeriod?: outputs.costmanagement.v20191001.QueryTimePeriodResponse; + /** + * The time frame for pulling data for the query. If custom, then a specific time period must be provided. + */ + timeframe: string; + /** + * The type of the query. + */ + type: string; + } + + /** + * The filter expression to be used in the export. + */ + export interface QueryFilterResponse { + /** + * The logical "AND" expression. Must have at least 2 items. + */ + and?: outputs.costmanagement.v20191001.QueryFilterResponse[]; + /** + * Has comparison expression for a dimension + */ + dimension?: outputs.costmanagement.v20191001.QueryComparisonExpressionResponse; + /** + * The logical "NOT" expression. + */ + not?: outputs.costmanagement.v20191001.QueryFilterResponse; + /** + * The logical "OR" expression. Must have at least 2 items. + */ + or?: outputs.costmanagement.v20191001.QueryFilterResponse[]; + /** + * Has comparison expression for a tag + */ + tag?: outputs.costmanagement.v20191001.QueryComparisonExpressionResponse; + } + + /** + * The group by expression to be used in the query. + */ + export interface QueryGroupingResponse { + /** + * The name of the column to group. + */ + name: string; + /** + * Has type of the column to group. + */ + type: string; + } + + /** + * The configuration for sorting in the query. + */ + export interface QuerySortingConfigurationResponse { + /** + * The name of the column to use in sorting. + */ + name?: string; + /** + * The sorting direction + */ + querySortingDirection?: string; + } + + /** + * The start and end date for pulling data for the query. + */ + export interface QueryTimePeriodResponse { + /** + * The start date to pull data from. + */ + from: string; + /** + * The end date to pull data to. + */ + to: string; + } + + } + + export namespace v20191101 { + /** + * Each KPI must contain a 'type' and 'enabled' key. + */ + export interface KpiPropertiesResponse { + /** + * show the KPI in the UI? + */ + enabled?: boolean; + /** + * ID of resource related to metric (budget). + */ + id?: string; + /** + * KPI type (Forecast, Budget). + */ + type?: string; + } + + /** + * Each pivot must contain a 'type' and 'name'. + */ + export interface PivotPropertiesResponse { + /** + * Data field to show in view. + */ + name?: string; + /** + * Data type to show in view. + */ + type?: string; + } + + /** + * The aggregation expression to be used in the report. + */ + export interface ReportConfigAggregationResponse { + /** + * The name of the aggregation function to use. + */ + function: string; + /** + * The name of the column to aggregate. + */ + name: string; + } + + /** + * The comparison expression to be used in the report. + */ + export interface ReportConfigComparisonExpressionResponse { + /** + * The name of the column to use in comparison. + */ + name: string; + /** + * The operator to use for comparison. + */ + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; + } + + /** + * The configuration of dataset in the report. + */ + export interface ReportConfigDatasetConfigurationResponse { + /** + * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + */ + columns?: string[]; + } + + /** + * The definition of data present in the report. + */ + export interface ReportConfigDatasetResponse { + /** + * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. + */ + aggregation?: {[key: string]: outputs.costmanagement.v20191101.ReportConfigAggregationResponse}; + /** + * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. + */ + configuration?: outputs.costmanagement.v20191101.ReportConfigDatasetConfigurationResponse; + /** + * Has filter expression to use in the report. + */ + filter?: outputs.costmanagement.v20191101.ReportConfigFilterResponse; + /** + * The granularity of rows in the report. + */ + granularity?: string; + /** + * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + */ + grouping?: outputs.costmanagement.v20191101.ReportConfigGroupingResponse[]; + /** + * Array of order by expression to use in the report. + */ + sorting?: outputs.costmanagement.v20191101.ReportConfigSortingResponse[]; + } + + /** + * The filter expression to be used in the report. + */ + export interface ReportConfigFilterResponse { + /** + * The logical "AND" expression. Must have at least 2 items. + */ + and?: outputs.costmanagement.v20191101.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a dimension + */ + dimensions?: outputs.costmanagement.v20191101.ReportConfigComparisonExpressionResponse; + /** + * The logical "OR" expression. Must have at least 2 items. + */ + or?: outputs.costmanagement.v20191101.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a tag key + */ + tagKey?: outputs.costmanagement.v20191101.ReportConfigComparisonExpressionResponse; + /** + * Has comparison expression for a tag value + */ + tagValue?: outputs.costmanagement.v20191101.ReportConfigComparisonExpressionResponse; + /** + * Has comparison expression for a tag + */ + tags?: outputs.costmanagement.v20191101.ReportConfigComparisonExpressionResponse; + } + + /** + * The group by expression to be used in the report. + */ + export interface ReportConfigGroupingResponse { + /** + * The name of the column to group. This version supports subscription lowest possible grain. + */ + name: string; + /** + * Has type of the column to group. + */ + type: string; + } + + /** + * The order by expression to be used in the report. + */ + export interface ReportConfigSortingResponse { + /** + * Direction of sort. + */ + direction?: string; + /** + * The name of the column to sort. + */ + name: string; + } + + /** + * The start and end date for pulling data for the report. + */ + export interface ReportConfigTimePeriodResponse { + /** + * The start date to pull data from. + */ + from: string; + /** + * The end date to pull data to. + */ + to: string; + } + + export interface SettingsPropertiesResponseCache { + /** + * Indicates the account type. Allowed values include: EA, PAYG, Modern, Internal, Unknown. + */ + channel: string; + /** + * Resource ID used by Resource Manager to uniquely identify the scope. + */ + id: string; + /** + * Display name for the scope. + */ + name: string; + /** + * Resource ID of the parent scope. For instance, subscription's resource ID for a resource group or a management group resource ID for a subscription. + */ + parent?: string; + /** + * Indicates the status of the scope. Status only applies to subscriptions and billing accounts. + */ + status?: string; + /** + * Indicates the type of modern account. Allowed values include: Individual, Enterprise, Partner, Indirect, NotApplicable + */ + subchannel: string; + } + + } + + export namespace v20200301preview { + /** + * Target resources and allocation + */ + export interface CostAllocationProportionResponse { + /** + * Target resource for cost allocation + */ + name: string; + /** + * Percentage of source cost to allocate to this resource. This value can be specified to two decimal places and the total percentage of all resources in this rule must sum to 100.00. + */ + percentage: number; + } + + /** + * Resource details of the cost allocation rule + */ + export interface CostAllocationRuleDetailsResponse { + /** + * Source resources for cost allocation. At this time, this list can contain no more than one element. + */ + sourceResources?: outputs.costmanagement.v20200301preview.SourceCostAllocationResourceResponse[]; + /** + * Target resources for cost allocation. At this time, this list can contain no more than one element. + */ + targetResources?: outputs.costmanagement.v20200301preview.TargetCostAllocationResourceResponse[]; + } + + /** + * The properties of a cost allocation rule + */ + export interface CostAllocationRulePropertiesResponse { + /** + * Time at which the rule was created. Rules that change cost for the same resource are applied in order of creation. + */ + createdDate: string; + /** + * Description of a cost allocation rule. + */ + description?: string; + /** + * Resource information for the cost allocation rule + */ + details: outputs.costmanagement.v20200301preview.CostAllocationRuleDetailsResponse; + /** + * Status of the rule + */ + status: string; + /** + * Time at which the rule was last updated. + */ + updatedDate: string; + } + + /** + * Source resources for cost allocation + */ + export interface SourceCostAllocationResourceResponse { + /** + * If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag + */ + name: string; + /** + * Type of resources contained in this cost allocation rule + */ + resourceType: string; + /** + * Source Resources for cost allocation. This list cannot contain more than 25 values. + */ + values: string[]; + } + + /** + * Target resources for cost allocation. + */ + export interface TargetCostAllocationResourceResponse { + /** + * If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag + */ + name: string; + /** + * Method of cost allocation for the rule + */ + policyType: string; + /** + * Type of resources contained in this cost allocation rule + */ + resourceType: string; + /** + * Target resources for cost allocation. This list cannot contain more than 25 values. + */ + values: outputs.costmanagement.v20200301preview.CostAllocationProportionResponse[]; + } + + } + + export namespace v20200601 { + /** + * Each KPI must contain a 'type' and 'enabled' key. + */ + export interface KpiPropertiesResponse { + /** + * show the KPI in the UI? + */ + enabled?: boolean; + /** + * ID of resource related to metric (budget). + */ + id?: string; + /** + * KPI type (Forecast, Budget). + */ + type?: string; + } + + /** + * Each pivot must contain a 'type' and 'name'. + */ + export interface PivotPropertiesResponse { + /** + * Data field to show in view. + */ + name?: string; + /** + * Data type to show in view. + */ + type?: string; + } + + /** + * The aggregation expression to be used in the report. + */ + export interface ReportConfigAggregationResponse { + /** + * The name of the aggregation function to use. + */ + function: string; + /** + * The name of the column to aggregate. + */ + name: string; + } + + /** + * The comparison expression to be used in the report. + */ + export interface ReportConfigComparisonExpressionResponse { + /** + * The name of the column to use in comparison. + */ + name: string; + /** + * The operator to use for comparison. + */ + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; + } + + /** + * The configuration of dataset in the report. + */ + export interface ReportConfigDatasetConfigurationResponse { + /** + * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + */ + columns?: string[]; + } + + /** + * The definition of data present in the report. + */ + export interface ReportConfigDatasetResponse { + /** + * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. + */ + aggregation?: {[key: string]: outputs.costmanagement.v20200601.ReportConfigAggregationResponse}; + /** + * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. + */ + configuration?: outputs.costmanagement.v20200601.ReportConfigDatasetConfigurationResponse; + /** + * Has filter expression to use in the report. + */ + filter?: outputs.costmanagement.v20200601.ReportConfigFilterResponse; + /** + * The granularity of rows in the report. + */ + granularity?: string; + /** + * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + */ + grouping?: outputs.costmanagement.v20200601.ReportConfigGroupingResponse[]; + /** + * Array of order by expression to use in the report. + */ + sorting?: outputs.costmanagement.v20200601.ReportConfigSortingResponse[]; + } + + /** + * The filter expression to be used in the report. + */ + export interface ReportConfigFilterResponse { + /** + * The logical "AND" expression. Must have at least 2 items. + */ + and?: outputs.costmanagement.v20200601.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a dimension + */ + dimension?: outputs.costmanagement.v20200601.ReportConfigComparisonExpressionResponse; + /** + * The logical "NOT" expression. + */ + not?: outputs.costmanagement.v20200601.ReportConfigFilterResponse; + /** + * The logical "OR" expression. Must have at least 2 items. + */ + or?: outputs.costmanagement.v20200601.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a tag + */ + tag?: outputs.costmanagement.v20200601.ReportConfigComparisonExpressionResponse; + } + + /** + * The group by expression to be used in the report. + */ + export interface ReportConfigGroupingResponse { + /** + * The name of the column to group. This version supports subscription lowest possible grain. + */ + name: string; + /** + * Has type of the column to group. + */ + type: string; + } + + /** + * The order by expression to be used in the report. + */ + export interface ReportConfigSortingResponse { + /** + * Direction of sort. + */ + direction?: string; + /** + * The name of the column to sort. + */ + name: string; + } + + /** + * The start and end date for pulling data for the report. + */ + export interface ReportConfigTimePeriodResponse { + /** + * The start date to pull data from. + */ + from: string; + /** + * The end date to pull data to. + */ + to: string; + } + + } + + export namespace v20221001 { + /** + * Each KPI must contain a 'type' and 'enabled' key. + */ + export interface KpiPropertiesResponse { + /** + * show the KPI in the UI? + */ + enabled?: boolean; + /** + * ID of resource related to metric (budget). + */ + id?: string; + /** + * KPI type (Forecast, Budget). + */ + type?: string; + } + + /** + * Each pivot must contain a 'type' and 'name'. + */ + export interface PivotPropertiesResponse { + /** + * Data field to show in view. + */ + name?: string; + /** + * Data type to show in view. + */ + type?: string; + } + + /** + * The aggregation expression to be used in the report. + */ + export interface ReportConfigAggregationResponse { + /** + * The name of the aggregation function to use. + */ + function: string; + /** + * The name of the column to aggregate. + */ + name: string; + } + + /** + * The comparison expression to be used in the report. + */ + export interface ReportConfigComparisonExpressionResponse { + /** + * The name of the column to use in comparison. + */ + name: string; + /** + * The operator to use for comparison. + */ + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; + } + + /** + * The configuration of dataset in the report. + */ + export interface ReportConfigDatasetConfigurationResponse { + /** + * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + */ + columns?: string[]; + } + + /** + * The definition of data present in the report. + */ + export interface ReportConfigDatasetResponse { + /** + * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. + */ + aggregation?: {[key: string]: outputs.costmanagement.v20221001.ReportConfigAggregationResponse}; + /** + * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. + */ + configuration?: outputs.costmanagement.v20221001.ReportConfigDatasetConfigurationResponse; + /** + * Has filter expression to use in the report. + */ + filter?: outputs.costmanagement.v20221001.ReportConfigFilterResponse; + /** + * The granularity of rows in the report. + */ + granularity?: string; + /** + * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + */ + grouping?: outputs.costmanagement.v20221001.ReportConfigGroupingResponse[]; + /** + * Array of order by expression to use in the report. + */ + sorting?: outputs.costmanagement.v20221001.ReportConfigSortingResponse[]; + } + + /** + * The filter expression to be used in the report. + */ + export interface ReportConfigFilterResponse { + /** + * The logical "AND" expression. Must have at least 2 items. + */ + and?: outputs.costmanagement.v20221001.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a dimension + */ + dimensions?: outputs.costmanagement.v20221001.ReportConfigComparisonExpressionResponse; + /** + * The logical "OR" expression. Must have at least 2 items. + */ + or?: outputs.costmanagement.v20221001.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a tag + */ + tags?: outputs.costmanagement.v20221001.ReportConfigComparisonExpressionResponse; + } + + /** + * The group by expression to be used in the report. + */ + export interface ReportConfigGroupingResponse { + /** + * The name of the column to group. This version supports subscription lowest possible grain. + */ + name: string; + /** + * Has type of the column to group. + */ + type: string; + } + + /** + * The order by expression to be used in the report. + */ + export interface ReportConfigSortingResponse { + /** + * Direction of sort. + */ + direction?: string; + /** + * The name of the column to sort. + */ + name: string; + } + + /** + * The start and end date for pulling data for the report. + */ + export interface ReportConfigTimePeriodResponse { + /** + * The start date to pull data from. + */ + from: string; + /** + * The end date to pull data to. + */ + to: string; + } + + } + + export namespace v20221005preview { + /** + * The customer billing metadata + */ + export interface CustomerMetadataResponse { + /** + * Customer billing account id + */ + billingAccountId: string; + /** + * Customer billing profile id + */ + billingProfileId: string; + } + + /** + * Each KPI must contain a 'type' and 'enabled' key. + */ + export interface KpiPropertiesResponse { + /** + * show the KPI in the UI? + */ + enabled?: boolean; + /** + * ID of resource related to metric (budget). + */ + id?: string; + /** + * KPI type (Forecast, Budget). + */ + type?: string; + } + + /** + * Each pivot must contain a 'type' and 'name'. + */ + export interface PivotPropertiesResponse { + /** + * Data field to show in view. + */ + name?: string; + /** + * Data type to show in view. + */ + type?: string; + } + + /** + * The aggregation expression to be used in the report. + */ + export interface ReportConfigAggregationResponse { + /** + * The name of the aggregation function to use. + */ + function: string; + /** + * The name of the column to aggregate. + */ + name: string; + } + + /** + * The comparison expression to be used in the report. + */ + export interface ReportConfigComparisonExpressionResponse { + /** + * The name of the column to use in comparison. + */ + name: string; + /** + * The operator to use for comparison. + */ + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; + } + + /** + * The configuration of dataset in the report. + */ + export interface ReportConfigDatasetConfigurationResponse { + /** + * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + */ + columns?: string[]; + } + + /** + * The definition of data present in the report. + */ + export interface ReportConfigDatasetResponse { + /** + * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. + */ + aggregation?: {[key: string]: outputs.costmanagement.v20221005preview.ReportConfigAggregationResponse}; + /** + * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. + */ + configuration?: outputs.costmanagement.v20221005preview.ReportConfigDatasetConfigurationResponse; + /** + * Has filter expression to use in the report. + */ + filter?: outputs.costmanagement.v20221005preview.ReportConfigFilterResponse; + /** + * The granularity of rows in the report. + */ + granularity?: string; + /** + * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + */ + grouping?: outputs.costmanagement.v20221005preview.ReportConfigGroupingResponse[]; + /** + * Array of order by expression to use in the report. + */ + sorting?: outputs.costmanagement.v20221005preview.ReportConfigSortingResponse[]; + } + + /** + * The filter expression to be used in the report. + */ + export interface ReportConfigFilterResponse { + /** + * The logical "AND" expression. Must have at least 2 items. + */ + and?: outputs.costmanagement.v20221005preview.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a dimension + */ + dimensions?: outputs.costmanagement.v20221005preview.ReportConfigComparisonExpressionResponse; + /** + * The logical "OR" expression. Must have at least 2 items. + */ + or?: outputs.costmanagement.v20221005preview.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a tag + */ + tags?: outputs.costmanagement.v20221005preview.ReportConfigComparisonExpressionResponse; + } + + /** + * The group by expression to be used in the report. + */ + export interface ReportConfigGroupingResponse { + /** + * The name of the column to group. This version supports subscription lowest possible grain. + */ + name: string; + /** + * Has type of the column to group. + */ + type: string; + } + + /** + * The order by expression to be used in the report. + */ + export interface ReportConfigSortingResponse { + /** + * Direction of sort. + */ + direction?: string; + /** + * The name of the column to sort. + */ + name: string; + } + + /** + * The start and end date for pulling data for the report. + */ + export interface ReportConfigTimePeriodResponse { + /** + * The start date to pull data from. + */ + from: string; + /** + * The end date to pull data to. + */ + to: string; + } + + /** + * The properties of the tag inheritance setting. + */ + export interface TagInheritancePropertiesResponse { + /** + * When resource has the same tag as subscription or resource group and this property is set to true - the subscription or resource group tag will be applied. If subscription and resource group tags are also the same, subscription tag will be applied. + */ + preferContainerTags: boolean; + } + + } + + export namespace v20230301 { + /** + * The common properties of the export. + */ + export interface CommonExportPropertiesResponse { + /** + * Has the definition for the export. + */ + definition: outputs.costmanagement.v20230301.ExportDefinitionResponse; + /** + * Has delivery information for the export. + */ + deliveryInfo: outputs.costmanagement.v20230301.ExportDeliveryInfoResponse; + /** + * The format of the export being delivered. Currently only 'Csv' is supported. + */ + format?: string; + /** + * If the export has an active schedule, provides an estimate of the next run time. + */ + nextRunTimeEstimate: string; + /** + * If set to true, exported data will be partitioned by size and placed in a blob directory together with a manifest file. Note: this option is currently available only for Microsoft Customer Agreement commerce scopes. + */ + partitionData?: boolean; + /** + * If requested, has the most recent run history for the export. + */ + runHistory?: outputs.costmanagement.v20230301.ExportExecutionListResultResponse; + } + + /** + * The details of the error. + */ + export interface ErrorDetailsResponse { + /** + * Error code. + */ + code: string; + /** + * Error message indicating why the operation failed. + */ + message: string; + } + + /** + * The export dataset configuration. Allows columns to be selected for the export. If not provided then the export will include all available columns. + */ + export interface ExportDatasetConfigurationResponse { + /** + * Array of column names to be included in the export. If not provided then the export will include all available columns. The available columns can vary by customer channel (see examples). + */ + columns?: string[]; + } + + /** + * The definition for data in the export. + */ + export interface ExportDatasetResponse { + /** + * The export dataset configuration. + */ + configuration?: outputs.costmanagement.v20230301.ExportDatasetConfigurationResponse; + /** + * The granularity of rows in the export. Currently only 'Daily' is supported. + */ + granularity?: string; + } + + /** + * The definition of an export. + */ + export interface ExportDefinitionResponse { + /** + * The definition for data in the export. + */ + dataSet?: outputs.costmanagement.v20230301.ExportDatasetResponse; + /** + * Has time period for pulling data for the export. + */ + timePeriod?: outputs.costmanagement.v20230301.ExportTimePeriodResponse; + /** + * The time frame for pulling data for the export. If custom, then a specific time period must be provided. + */ + timeframe: string; + /** + * The type of the export. Note that 'Usage' is equivalent to 'ActualCost' and is applicable to exports that do not yet provide data for charges or amortization for service reservations. + */ + type: string; + } + + /** + * This represents the blob storage account location where exports of costs will be delivered. There are two ways to configure the destination. The approach recommended for most customers is to specify the resourceId of the storage account. This requires a one-time registration of the account's subscription with the Microsoft.CostManagementExports resource provider in order to give Cost Management services access to the storage. When creating an export in the Azure portal this registration is performed automatically but API users may need to register the subscription explicitly (for more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services ). Another way to configure the destination is available ONLY to Partners with a Microsoft Partner Agreement plan who are global admins of their billing account. These Partners, instead of specifying the resourceId of a storage account, can specify the storage account name along with a SAS token for the account. This allows exports of costs to a storage account in any tenant. The SAS token should be created for the blob service with Service/Container/Object resource types and with Read/Write/Delete/List/Add/Create permissions (for more information see https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/export-cost-data-storage-account-sas-key ). + */ + export interface ExportDeliveryDestinationResponse { + /** + * The name of the container where exports will be uploaded. If the container does not exist it will be created. + */ + container: string; + /** + * The resource id of the storage account where exports will be delivered. This is not required if a sasToken and storageAccount are specified. + */ + resourceId?: string; + /** + * The name of the directory where exports will be uploaded. + */ + rootFolderPath?: string; + /** + * A SAS token for the storage account. For a restricted set of Azure customers this together with storageAccount can be specified instead of resourceId. Note: the value returned by the API for this property will always be obfuscated. Returning this same obfuscated value will not result in the SAS token being updated. To update this value a new SAS token must be specified. + */ + sasToken?: string; + /** + * The storage account where exports will be uploaded. For a restricted set of Azure customers this together with sasToken can be specified instead of resourceId. + */ + storageAccount?: string; + } + + /** + * The delivery information associated with a export. + */ + export interface ExportDeliveryInfoResponse { + /** + * Has destination for the export being delivered. + */ + destination: outputs.costmanagement.v20230301.ExportDeliveryDestinationResponse; + } + + /** + * Result of listing the run history of an export. + */ + export interface ExportExecutionListResultResponse { + /** + * A list of export runs. + */ + value: outputs.costmanagement.v20230301.ExportRunResponse[]; + } + + /** + * The start and end date for recurrence schedule. + */ + export interface ExportRecurrencePeriodResponse { + /** + * The start date of recurrence. + */ + from: string; + /** + * The end date of recurrence. + */ + to?: string; + } + + /** + * An export run. + */ + export interface ExportRunResponse { + /** + * eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not. + */ + eTag?: string; + /** + * The details of any error. + */ + error?: outputs.costmanagement.v20230301.ErrorDetailsResponse; + /** + * The type of the export run. + */ + executionType?: string; + /** + * The name of the exported file. + */ + fileName?: string; + /** + * Resource Id. + */ + id: string; + /** + * Resource name. + */ + name: string; + /** + * The time when the export run finished. + */ + processingEndTime?: string; + /** + * The time when export was picked up to be run. + */ + processingStartTime?: string; + /** + * The export settings that were in effect for this run. + */ + runSettings?: outputs.costmanagement.v20230301.CommonExportPropertiesResponse; + /** + * The last known status of the export run. + */ + status?: string; + /** + * The identifier for the entity that triggered the export. For on-demand runs it is the user email. For scheduled runs it is 'System'. + */ + submittedBy?: string; + /** + * The time when export was queued to be run. + */ + submittedTime?: string; + /** + * Resource type. + */ + type: string; + } + + /** + * The schedule associated with the export. + */ + export interface ExportScheduleResponse { + /** + * The schedule recurrence. + */ + recurrence?: string; + /** + * Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. + */ + recurrencePeriod?: outputs.costmanagement.v20230301.ExportRecurrencePeriodResponse; + /** + * The status of the export's schedule. If 'Inactive', the export's schedule is paused. + */ + status?: string; + } + + /** + * The date range for data in the export. This should only be specified with timeFrame set to 'Custom'. The maximum date range is 3 months. + */ + export interface ExportTimePeriodResponse { + /** + * The start date for export data. + */ + from: string; + /** + * The end date for export data. + */ + to: string; + } + + /** + * Destination of the view data. This is optional. Currently only CSV format is supported. + */ + export interface FileDestinationResponse { + /** + * Destination of the view data. Currently only CSV format is supported. + */ + fileFormats?: string[]; + } + + /** + * Each KPI must contain a 'type' and 'enabled' key. + */ + export interface KpiPropertiesResponse { + /** + * show the KPI in the UI? + */ + enabled?: boolean; + /** + * ID of resource related to metric (budget). + */ + id?: string; + /** + * KPI type (Forecast, Budget). + */ + type?: string; + } + + /** + * The properties of the scheduled action notification. + */ + export interface NotificationPropertiesResponse { + /** + * Locale of the email. + */ + language?: string; + /** + * Optional message to be added in the email. Length is limited to 250 characters. + */ + message?: string; + /** + * Regional format used for formatting date/time and currency values in the email. + */ + regionalFormat?: string; + /** + * Subject of the email. Length is limited to 70 characters. + */ + subject: string; + /** + * Array of email addresses. + */ + to: string[]; + } + + /** + * Each pivot must contain a 'type' and 'name'. + */ + export interface PivotPropertiesResponse { + /** + * Data field to show in view. + */ + name?: string; + /** + * Data type to show in view. + */ + type?: string; + } + + /** + * The aggregation expression to be used in the report. + */ + export interface ReportConfigAggregationResponse { + /** + * The name of the aggregation function to use. + */ + function: string; + /** + * The name of the column to aggregate. + */ + name: string; + } + + /** + * The comparison expression to be used in the report. + */ + export interface ReportConfigComparisonExpressionResponse { + /** + * The name of the column to use in comparison. + */ + name: string; + /** + * The operator to use for comparison. + */ + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; + } + + /** + * The configuration of dataset in the report. + */ + export interface ReportConfigDatasetConfigurationResponse { + /** + * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + */ + columns?: string[]; + } + + /** + * The definition of data present in the report. + */ + export interface ReportConfigDatasetResponse { + /** + * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. + */ + aggregation?: {[key: string]: outputs.costmanagement.v20230301.ReportConfigAggregationResponse}; + /** + * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. + */ + configuration?: outputs.costmanagement.v20230301.ReportConfigDatasetConfigurationResponse; + /** + * Has filter expression to use in the report. + */ + filter?: outputs.costmanagement.v20230301.ReportConfigFilterResponse; + /** + * The granularity of rows in the report. + */ + granularity?: string; + /** + * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + */ + grouping?: outputs.costmanagement.v20230301.ReportConfigGroupingResponse[]; + /** + * Array of order by expression to use in the report. + */ + sorting?: outputs.costmanagement.v20230301.ReportConfigSortingResponse[]; + } + + /** + * The filter expression to be used in the report. + */ + export interface ReportConfigFilterResponse { + /** + * The logical "AND" expression. Must have at least 2 items. + */ + and?: outputs.costmanagement.v20230301.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a dimension + */ + dimensions?: outputs.costmanagement.v20230301.ReportConfigComparisonExpressionResponse; + /** + * The logical "OR" expression. Must have at least 2 items. + */ + or?: outputs.costmanagement.v20230301.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a tag + */ + tags?: outputs.costmanagement.v20230301.ReportConfigComparisonExpressionResponse; + } + + /** + * The group by expression to be used in the report. + */ + export interface ReportConfigGroupingResponse { + /** + * The name of the column to group. This version supports subscription lowest possible grain. + */ + name: string; + /** + * Has type of the column to group. + */ + type: string; + } + + /** + * The order by expression to be used in the report. + */ + export interface ReportConfigSortingResponse { + /** + * Direction of sort. + */ + direction?: string; + /** + * The name of the column to sort. + */ + name: string; + } + + /** + * The start and end date for pulling data for the report. + */ + export interface ReportConfigTimePeriodResponse { + /** + * The start date to pull data from. + */ + from: string; + /** + * The end date to pull data to. + */ + to: string; + } + + /** + * The properties of the schedule. + */ + export interface SchedulePropertiesResponse { + /** + * UTC day on which cost analysis data will be emailed. Must be between 1 and 31. This property is applicable when frequency is Monthly and overrides weeksOfMonth or daysOfWeek. + */ + dayOfMonth?: number; + /** + * Day names in english on which cost analysis data will be emailed. This property is applicable when frequency is Weekly or Monthly. + */ + daysOfWeek?: string[]; + /** + * The end date and time of the scheduled action (UTC). + */ + endDate: string; + /** + * Frequency of the schedule. + */ + frequency: string; + /** + * UTC time at which cost analysis data will be emailed. + */ + hourOfDay?: number; + /** + * The start date and time of the scheduled action (UTC). + */ + startDate: string; + /** + * Weeks in which cost analysis data will be emailed. This property is applicable when frequency is Monthly and used in combination with daysOfWeek. + */ + weeksOfMonth?: string[]; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + } + + export namespace v20230401preview { + /** + * The comparison expression to be used in the budgets. + */ + export interface BudgetComparisonExpressionResponse { + /** + * The name of the column to use in comparison. + */ + name: string; + /** + * The operator to use for comparison. + */ + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; + } + + /** + * The Dimensions or Tags to filter a budget by. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + */ + export interface BudgetFilterPropertiesResponse { + /** + * Has comparison expression for a dimension. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + * + * Supported dimension names for **CategoryType: ReservationUtilization** + * - ReservationId + * - ReservedResourceType + */ + dimensions?: outputs.costmanagement.v20230401preview.BudgetComparisonExpressionResponse; + /** + * Has comparison expression for a tag. + * + * Supported for CategoryType(s): Cost. + */ + tags?: outputs.costmanagement.v20230401preview.BudgetComparisonExpressionResponse; + } + + /** + * May be used to filter budgets by user-specified dimensions and/or tags. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + */ + export interface BudgetFilterResponse { + /** + * The logical "AND" expression. Must have at least 2 items. + * + * Supported for CategoryType(s): Cost. + */ + and?: outputs.costmanagement.v20230401preview.BudgetFilterPropertiesResponse[]; + /** + * Has comparison expression for a dimension. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + * + * Supported dimension names for **CategoryType: ReservationUtilization** + * - ReservationId + * - ReservedResourceType + */ + dimensions?: outputs.costmanagement.v20230401preview.BudgetComparisonExpressionResponse; + /** + * Has comparison expression for a tag. + * + * Supported for CategoryType(s): Cost. + */ + tags?: outputs.costmanagement.v20230401preview.BudgetComparisonExpressionResponse; + } + + /** + * The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + * + * Required for CategoryType(s): Cost, ReservationUtilization. + */ + export interface BudgetTimePeriodResponse { + /** + * The end date for the budget. + * + * - Constraints for **CategoryType: Cost** - No constraints. If not provided, we default this to 10 years from the start date. + * + * - Constraints for **CategoryType: ReservationUtilization** - End date cannot be more than 3 years after the start date. + */ + endDate?: string; + /** + * The start date for the budget. + * + * - Constraints for **CategoryType: Cost** - Must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period. + * + * - Constraints for **CategoryType: ReservationUtilization** - Must be on or after the current date and less than the end date. + */ + startDate: string; + } + + /** + * The common properties of the export. + */ + export interface CommonExportPropertiesResponse { + /** + * Has the definition for the export. + */ + definition: outputs.costmanagement.v20230401preview.ExportDefinitionResponse; + /** + * Has delivery information for the export. + */ + deliveryInfo: outputs.costmanagement.v20230401preview.ExportDeliveryInfoResponse; + /** + * The format of the export being delivered. Currently only 'Csv' is supported. + */ + format?: string; + /** + * If the export has an active schedule, provides an estimate of the next run time. + */ + nextRunTimeEstimate: string; + /** + * If set to true, exported data will be partitioned by size and placed in a blob directory together with a manifest file. Note: this option is currently available only for Microsoft Customer Agreement commerce scopes. + */ + partitionData?: boolean; + /** + * If requested, has the most recent run history for the export. + */ + runHistory?: outputs.costmanagement.v20230401preview.ExportExecutionListResultResponse; + } + + /** + * The current amount of cost which is being tracked for a budget. + * + * Supported for CategoryType(s): Cost. + */ + export interface CurrentSpendResponse { + /** + * The total amount of cost which is being tracked by the budget. + */ + amount: number; + /** + * The unit of measure for the budget amount. + */ + unit: string; + } + + /** + * The details of the error. + */ + export interface ErrorDetailsResponse { + /** + * Error code. + */ + code: string; + /** + * Error message indicating why the operation failed. + */ + message: string; + } + + /** + * The export dataset configuration. Allows columns to be selected for the export. If not provided then the export will include all available columns. + */ + export interface ExportDatasetConfigurationResponse { + /** + * Array of column names to be included in the export. If not provided then the export will include all available columns. The available columns can vary by customer channel (see examples). + */ + columns?: string[]; + } + + /** + * The definition for data in the export. + */ + export interface ExportDatasetResponse { + /** + * The export dataset configuration. + */ + configuration?: outputs.costmanagement.v20230401preview.ExportDatasetConfigurationResponse; + /** + * The granularity of rows in the export. Currently only 'Daily' is supported. + */ + granularity?: string; + } + + /** + * The definition of an export. + */ + export interface ExportDefinitionResponse { + /** + * The definition for data in the export. + */ + dataSet?: outputs.costmanagement.v20230401preview.ExportDatasetResponse; + /** + * Has time period for pulling data for the export. + */ + timePeriod?: outputs.costmanagement.v20230401preview.ExportTimePeriodResponse; + /** + * The time frame for pulling data for the export. If custom, then a specific time period must be provided. + */ + timeframe: string; + /** + * The type of the export. Note that 'Usage' is equivalent to 'ActualCost' and is applicable to exports that do not yet provide data for charges or amortization for service reservations. + */ + type: string; + } + + /** + * This represents the blob storage account location where exports of costs will be delivered. There are two ways to configure the destination. The approach recommended for most customers is to specify the resourceId of the storage account. This requires a one-time registration of the account's subscription with the Microsoft.CostManagementExports resource provider in order to give Cost Management services access to the storage. When creating an export in the Azure portal this registration is performed automatically but API users may need to register the subscription explicitly (for more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services ). Another way to configure the destination is available ONLY to Partners with a Microsoft Partner Agreement plan who are global admins of their billing account. These Partners, instead of specifying the resourceId of a storage account, can specify the storage account name along with a SAS token for the account. This allows exports of costs to a storage account in any tenant. The SAS token should be created for the blob service with Service/Container/Object resource types and with Read/Write/Delete/List/Add/Create permissions (for more information see https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/export-cost-data-storage-account-sas-key ). + */ + export interface ExportDeliveryDestinationResponse { + /** + * The name of the container where exports will be uploaded. If the container does not exist it will be created. + */ + container: string; + /** + * The resource id of the storage account where exports will be delivered. This is not required if a sasToken and storageAccount are specified. + */ + resourceId?: string; + /** + * The name of the directory where exports will be uploaded. + */ + rootFolderPath?: string; + /** + * A SAS token for the storage account. For a restricted set of Azure customers this together with storageAccount can be specified instead of resourceId. Note: the value returned by the API for this property will always be obfuscated. Returning this same obfuscated value will not result in the SAS token being updated. To update this value a new SAS token must be specified. + */ + sasToken?: string; + /** + * The storage account where exports will be uploaded. For a restricted set of Azure customers this together with sasToken can be specified instead of resourceId. + */ + storageAccount?: string; + } + + /** + * The delivery information associated with a export. + */ + export interface ExportDeliveryInfoResponse { + /** + * Has destination for the export being delivered. + */ + destination: outputs.costmanagement.v20230401preview.ExportDeliveryDestinationResponse; + } + + /** + * Result of listing the run history of an export. + */ + export interface ExportExecutionListResultResponse { + /** + * A list of export runs. + */ + value: outputs.costmanagement.v20230401preview.ExportRunResponse[]; + } + + /** + * The start and end date for recurrence schedule. + */ + export interface ExportRecurrencePeriodResponse { + /** + * The start date of recurrence. + */ + from: string; + /** + * The end date of recurrence. + */ + to?: string; + } + + /** + * An export run. + */ + export interface ExportRunResponse { + /** + * eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not. + */ + eTag?: string; + /** + * The details of any error. + */ + error?: outputs.costmanagement.v20230401preview.ErrorDetailsResponse; + /** + * The type of the export run. + */ + executionType?: string; + /** + * The name of the exported file. + */ + fileName?: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + id: string; + /** + * The name of the resource + */ + name: string; + /** + * The time when the export run finished. + */ + processingEndTime?: string; + /** + * The time when export was picked up to be run. + */ + processingStartTime?: string; + /** + * The export settings that were in effect for this run. + */ + runSettings?: outputs.costmanagement.v20230401preview.CommonExportPropertiesResponse; + /** + * The last known status of the export run. + */ + status?: string; + /** + * The identifier for the entity that triggered the export. For on-demand runs it is the user email. For scheduled runs it is 'System'. + */ + submittedBy?: string; + /** + * The time when export was queued to be run. + */ + submittedTime?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + type: string; + } + + /** + * The schedule associated with the export. + */ + export interface ExportScheduleResponse { + /** + * The schedule recurrence. + */ + recurrence?: string; + /** + * Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date. + */ + recurrencePeriod?: outputs.costmanagement.v20230401preview.ExportRecurrencePeriodResponse; + /** + * The status of the export's schedule. If 'Inactive', the export's schedule is paused. + */ + status?: string; + } + + /** + * The date range for data in the export. This should only be specified with timeFrame set to 'Custom'. The maximum date range is 3 months. + */ + export interface ExportTimePeriodResponse { + /** + * The start date for export data. + */ + from: string; + /** + * The end date for export data. + */ + to: string; + } + + /** + * Destination of the view data. This is optional. Currently only CSV format is supported. + */ + export interface FileDestinationResponse { + /** + * Destination of the view data. Currently only CSV format is supported. + */ + fileFormats?: string[]; + } + + /** + * The forecasted cost which is being tracked for a budget. + * + * Supported for CategoryType(s): Cost. + */ + export interface ForecastSpendResponse { + /** + * The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type. + */ + amount: number; + /** + * The unit of measure for the budget amount. + */ + unit: string; + } + + /** + * Each KPI must contain a 'type' and 'enabled' key. + */ + export interface KpiPropertiesResponse { + /** + * show the KPI in the UI? + */ + enabled?: boolean; + /** + * ID of resource related to metric (budget). + */ + id?: string; + /** + * KPI type (Forecast, Budget). + */ + type?: string; + } + + /** + * The properties of the scheduled action notification. + */ + export interface NotificationPropertiesResponse { + /** + * Locale of the email. + */ + language?: string; + /** + * Optional message to be added in the email. Length is limited to 250 characters. + */ + message?: string; + /** + * Regional format used for formatting date/time and currency values in the email. + */ + regionalFormat?: string; + /** + * Subject of the email. Length is limited to 70 characters. + */ + subject: string; + /** + * Array of email addresses. + */ + to: string[]; + } + + /** + * The notification associated with a budget. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + */ + export interface NotificationResponse { + /** + * Email addresses to send the notification to when the threshold is breached. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + */ + contactEmails: string[]; + /** + * Subscription or Resource Group scopes only. Action groups to send the notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. + * + * Supported for CategoryType(s): Cost. + */ + contactGroups?: string[]; + /** + * Subscription or Resource Group scopes only. Contact roles to send the notification to when the threshold is breached. + * + * Supported for CategoryType(s): Cost. + */ + contactRoles?: string[]; + /** + * The notification is enabled or not. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + */ + enabled: boolean; + /** + * Frequency of a notification. Represents how long the notification will be silent after triggering an alert for a threshold breach. If not specified, the frequency will be set by default based on the timeGrain (Weekly when timeGrain: Last7Days, Monthly when timeGrain: Last30Days). + * + * Supported for CategoryType(s): ReservationUtilization. + */ + frequency?: string; + /** + * Language in which the recipient will receive the notification, + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + */ + locale?: string; + /** + * The comparison operator. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + * + * Supported operators for **CategoryType: Cost** + * - GreaterThan + * - GreaterThanOrEqualTo + * + * Supported operators for **CategoryType: ReservationUtilization** + * - LessThan + */ + operator: string; + /** + * Threshold value associated with a notification. It is always percent with a maximum of 2 decimal places. + * + * Supported for CategoryType(s): Cost, ReservationUtilization. + * + * **CategoryType: Cost** - Must be between 0 and 1000. Notification is sent when the cost exceeded the threshold. + * + * **CategoryType: ReservationUtilization** - Must be between 0 and 100. Notification is sent when a reservation has a utilization percentage below the threshold. + */ + threshold: number; + /** + * The type of threshold. + * + * Supported for CategoryType(s): Cost. + */ + thresholdType?: string; + } + /** + * notificationResponseProvideDefaults sets the appropriate defaults for NotificationResponse + */ + export function notificationResponseProvideDefaults(val: NotificationResponse): NotificationResponse { + return { + ...val, + thresholdType: (val.thresholdType) ?? "Actual", + }; + } + + /** + * Each pivot must contain a 'type' and 'name'. + */ + export interface PivotPropertiesResponse { + /** + * Data field to show in view. + */ + name?: string; + /** + * Data type to show in view. + */ + type?: string; + } + + /** + * The aggregation expression to be used in the report. + */ + export interface ReportConfigAggregationResponse { + /** + * The name of the aggregation function to use. + */ + function: string; + /** + * The name of the column to aggregate. + */ + name: string; + } + + /** + * The comparison expression to be used in the report. + */ + export interface ReportConfigComparisonExpressionResponse { + /** + * The name of the column to use in comparison. + */ + name: string; + /** + * The operator to use for comparison. + */ + operator: string; + /** + * Array of values to use for comparison + */ + values: string[]; + } + + /** + * The configuration of dataset in the report. + */ + export interface ReportConfigDatasetConfigurationResponse { + /** + * Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns. + */ + columns?: string[]; + } + + /** + * The definition of data present in the report. + */ + export interface ReportConfigDatasetResponse { + /** + * Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses. + */ + aggregation?: {[key: string]: outputs.costmanagement.v20230401preview.ReportConfigAggregationResponse}; + /** + * Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided. + */ + configuration?: outputs.costmanagement.v20230401preview.ReportConfigDatasetConfigurationResponse; + /** + * Has filter expression to use in the report. + */ + filter?: outputs.costmanagement.v20230401preview.ReportConfigFilterResponse; + /** + * The granularity of rows in the report. + */ + granularity?: string; + /** + * Array of group by expression to use in the report. Report can have up to 2 group by clauses. + */ + grouping?: outputs.costmanagement.v20230401preview.ReportConfigGroupingResponse[]; + /** + * Array of order by expression to use in the report. + */ + sorting?: outputs.costmanagement.v20230401preview.ReportConfigSortingResponse[]; + } + + /** + * The filter expression to be used in the report. + */ + export interface ReportConfigFilterResponse { + /** + * The logical "AND" expression. Must have at least 2 items. + */ + and?: outputs.costmanagement.v20230401preview.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a dimension + */ + dimensions?: outputs.costmanagement.v20230401preview.ReportConfigComparisonExpressionResponse; + /** + * The logical "OR" expression. Must have at least 2 items. + */ + or?: outputs.costmanagement.v20230401preview.ReportConfigFilterResponse[]; + /** + * Has comparison expression for a tag + */ + tags?: outputs.costmanagement.v20230401preview.ReportConfigComparisonExpressionResponse; + } + + /** + * The group by expression to be used in the report. + */ + export interface ReportConfigGroupingResponse { + /** + * The name of the column to group. This version supports subscription lowest possible grain. + */ + name: string; + /** + * Has type of the column to group. + */ + type: string; + } + + /** + * The order by expression to be used in the report. + */ + export interface ReportConfigSortingResponse { + /** + * Direction of sort. + */ + direction?: string; + /** + * The name of the column to sort. + */ + name: string; + } + + /** + * The start and end date for pulling data for the report. + */ + export interface ReportConfigTimePeriodResponse { + /** + * The start date to pull data from. + */ + from: string; + /** + * The end date to pull data to. + */ + to: string; + } + + /** + * The properties of the schedule. + */ + export interface SchedulePropertiesResponse { + /** + * UTC day on which cost analysis data will be emailed. Must be between 1 and 31. This property is applicable when frequency is Monthly and overrides weeksOfMonth or daysOfWeek. + */ + dayOfMonth?: number; + /** + * Day names in english on which cost analysis data will be emailed. This property is applicable when frequency is Weekly or Monthly. + */ + daysOfWeek?: string[]; + /** + * The end date and time of the scheduled action (UTC). + */ + endDate: string; + /** + * Frequency of the schedule. + */ + frequency: string; + /** + * UTC time at which cost analysis data will be emailed. + */ + hourOfDay?: number; + /** + * The start date and time of the scheduled action (UTC). + */ + startDate: string; + /** + * Weeks in which cost analysis data will be emailed. This property is applicable when frequency is Monthly and used in combination with daysOfWeek. + */ + weeksOfMonth?: string[]; + } + + /** + * Managed service identity (either system assigned, or none) + */ + export interface SystemAssignedServiceIdentityResponse { + /** + * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + principalId: string; + /** + * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + tenantId: string; + /** + * Type of managed service identity (either system assigned, or none). + */ + type: string; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + } +} + +export namespace customerinsights { + /** + * The AssignmentPrincipal + */ + export interface AssignmentPrincipalResponse { + /** + * The principal id being assigned to. + */ + principalId: string; + /** + * Other metadata for the principal. + */ + principalMetadata?: {[key: string]: string}; + /** + * The Type of the principal ID. + */ + principalType: string; + } + + /** + * Definition of canonical profile. + */ + export interface CanonicalProfileDefinitionResponse { + /** + * Canonical profile ID. + */ + canonicalProfileId?: number; + /** + * Properties of the canonical profile. + */ + properties?: outputs.customerinsights.CanonicalProfileDefinitionResponseProperties[]; + } + + /** + * The definition of a canonical profile property. + */ + export interface CanonicalProfileDefinitionResponseProperties { + /** + * Profile name. + */ + profileName?: string; + /** + * Property name of profile. + */ + profilePropertyName?: string; + /** + * The rank. + */ + rank?: number; + /** + * Type of canonical property value. + */ + type?: string; + /** + * Value of the canonical property. + */ + value?: string; + } + + /** + * Connector mapping property availability. + */ + export interface ConnectorMappingAvailabilityResponse { + /** + * The frequency to update. + */ + frequency?: string; + /** + * The interval of the given frequency to use. + */ + interval: number; + } + + /** + * The complete operation. + */ + export interface ConnectorMappingCompleteOperationResponse { + /** + * The type of completion operation. + */ + completionOperationType?: string; + /** + * The destination folder where files will be moved to once the import is done. + */ + destinationFolder?: string; + } + + /** + * The error management. + */ + export interface ConnectorMappingErrorManagementResponse { + /** + * The error limit allowed while importing data. + */ + errorLimit?: number; + /** + * The type of error management to use for the mapping. + */ + errorManagementType: string; + } + + /** + * Connector mapping property format. + */ + export interface ConnectorMappingFormatResponse { + /** + * The oData language. + */ + acceptLanguage?: string; + /** + * Character separating array elements. + */ + arraySeparator?: string; + /** + * The character that signifies a break between columns. + */ + columnDelimiter?: string; + /** + * The type mapping format. + */ + formatType: string; + /** + * Quote character, used to indicate enquoted fields. + */ + quoteCharacter?: string; + /** + * Escape character for quotes, can be the same as the quoteCharacter. + */ + quoteEscapeCharacter?: string; + } + + /** + * The connector mapping properties. + */ + export interface ConnectorMappingPropertiesResponse { + /** + * The availability of mapping property. + */ + availability: outputs.customerinsights.ConnectorMappingAvailabilityResponse; + /** + * The operation after import is done. + */ + completeOperation: outputs.customerinsights.ConnectorMappingCompleteOperationResponse; + /** + * The error management setting for the mapping. + */ + errorManagement: outputs.customerinsights.ConnectorMappingErrorManagementResponse; + /** + * The file filter for the mapping. + */ + fileFilter?: string; + /** + * The folder path for the mapping. + */ + folderPath?: string; + /** + * The format of mapping property. + */ + format: outputs.customerinsights.ConnectorMappingFormatResponse; + /** + * If the file contains a header or not. + */ + hasHeader?: boolean; + /** + * Ingestion mapping information at property level. + */ + structure: outputs.customerinsights.ConnectorMappingStructureResponse[]; + } + + /** + * Connector mapping property structure. + */ + export interface ConnectorMappingStructureResponse { + /** + * The column name of the import file. + */ + columnName: string; + /** + * Custom format specifier for input parsing. + */ + customFormatSpecifier?: string; + /** + * Indicates if the column is encrypted. + */ + isEncrypted?: boolean; + /** + * The property name of the mapping entity. + */ + propertyName: string; + } + + /** + * The data source precedence is a way to know the precedence of each data source. + */ + export interface DataSourcePrecedenceResponse { + /** + * The data source reference id. + */ + dataSourceReferenceId: string; + /** + * The data source type. + */ + dataSourceType: string; + /** + * The data source ID. + */ + id: number; + /** + * The data source name + */ + name: string; + /** + * the precedence value. + */ + precedence?: number; + /** + * The data source status. + */ + status: string; + } + + /** + * Hub billing info. + */ + export interface HubBillingInfoFormatResponse { + /** + * The maximum number of units can be used. One unit is 10,000 Profiles and 100,000 Interactions. + */ + maxUnits?: number; + /** + * The minimum number of units will be billed. One unit is 10,000 Profiles and 100,000 Interactions. + */ + minUnits?: number; + /** + * The sku name. + */ + skuName?: string; + } + + /** + * The KPI alias. + */ + export interface KpiAliasResponse { + /** + * KPI alias name. + */ + aliasName: string; + /** + * The expression. + */ + expression: string; + } + + /** + * The KPI extract. + */ + export interface KpiExtractResponse { + /** + * The expression. + */ + expression: string; + /** + * KPI extract name. + */ + extractName: string; + } + + /** + * The KPI GroupBy field metadata. + */ + export interface KpiGroupByMetadataResponse { + /** + * The display name. + */ + displayName?: {[key: string]: string}; + /** + * The name of the field. + */ + fieldName?: string; + /** + * The type of the field. + */ + fieldType?: string; + } + + /** + * The KPI participant profile metadata. + */ + export interface KpiParticipantProfilesMetadataResponse { + /** + * Name of the type. + */ + typeName: string; + } + + /** + * Defines the KPI Threshold limits. + */ + export interface KpiThresholdsResponse { + /** + * Whether or not the KPI is an increasing KPI. + */ + increasingKpi: boolean; + /** + * The lower threshold limit. + */ + lowerLimit: number; + /** + * The upper threshold limit. + */ + upperLimit: number; + } + + /** + * The participant profile property reference. + */ + export interface ParticipantProfilePropertyReferenceResponse { + /** + * The source interaction property that maps to the target profile property. + */ + interactionPropertyName: string; + /** + * The target profile property that maps to the source interaction property. + */ + profilePropertyName: string; + } + + /** + * The participant property reference. + */ + export interface ParticipantPropertyReferenceResponse { + /** + * The source property that maps to the target property. + */ + sourcePropertyName: string; + /** + * The target property that maps to the source property. + */ + targetPropertyName: string; + } + + /** + * The definition of the prediction distribution. + */ + export interface PredictionDistributionDefinitionResponse { + /** + * Distributions of the prediction. + */ + distributions?: outputs.customerinsights.PredictionDistributionDefinitionResponseDistributions[]; + /** + * Total negatives in the distribution. + */ + totalNegatives?: number; + /** + * Total positive in the distribution. + */ + totalPositives?: number; + } + + /** + * The definition of a prediction distribution. + */ + export interface PredictionDistributionDefinitionResponseDistributions { + /** + * Number of negatives. + */ + negatives?: number; + /** + * Number of negatives above threshold. + */ + negativesAboveThreshold?: number; + /** + * Number of positives. + */ + positives?: number; + /** + * Number of positives above threshold. + */ + positivesAboveThreshold?: number; + /** + * Score threshold. + */ + scoreThreshold?: number; + } + + /** + * The definition of a prediction grade. + */ + export interface PredictionResponseGrades { + /** + * Name of the grade. + */ + gradeName?: string; + /** + * Maximum score threshold. + */ + maxScoreThreshold?: number; + /** + * Minimum score threshold. + */ + minScoreThreshold?: number; + } + + /** + * Definition of the link mapping of prediction. + */ + export interface PredictionResponseMappings { + /** + * The grade of the link mapping. + */ + grade: string; + /** + * The reason of the link mapping. + */ + reason: string; + /** + * The score of the link mapping. + */ + score: string; + } + + /** + * System generated entities. + */ + export interface PredictionResponseSystemGeneratedEntities { + /** + * Generated interaction types. + */ + generatedInteractionTypes?: string[]; + /** + * Generated KPIs. + */ + generatedKpis?: {[key: string]: string}; + /** + * Generated links. + */ + generatedLinks?: string[]; + } + + /** + * Valid enum values in case of an enum property. + */ + export interface ProfileEnumValidValuesFormatResponse { + /** + * Localized names of the enum member. + */ + localizedValueNames?: {[key: string]: string}; + /** + * The integer value of the enum member. + */ + value?: number; + } + + /** + * Property definition. + */ + export interface PropertyDefinitionResponse { + /** + * Array value separator for properties with isArray set. + */ + arrayValueSeparator?: string; + /** + * This is specific to interactions modeled as activities. Data sources are used to determine where data is stored and also in precedence rules. + */ + dataSourcePrecedenceRules: outputs.customerinsights.DataSourcePrecedenceResponse[]; + /** + * Describes valid values for an enum property. + */ + enumValidValues?: outputs.customerinsights.ProfileEnumValidValuesFormatResponse[]; + /** + * Name of the property. + */ + fieldName: string; + /** + * Type of the property. + */ + fieldType: string; + /** + * Indicates if the property is actually an array of the fieldType above on the data api. + */ + isArray?: boolean; + /** + * Whether property is available in graph or not. + */ + isAvailableInGraph?: boolean; + /** + * Indicates if the property is an enum. + */ + isEnum?: boolean; + /** + * Indicates if the property is an flag enum. + */ + isFlagEnum?: boolean; + /** + * Whether the property is an Image. + */ + isImage?: boolean; + /** + * Whether the property is a localized string. + */ + isLocalizedString?: boolean; + /** + * Whether the property is a name or a part of name. + */ + isName?: boolean; + /** + * Whether property value is required on instances, IsRequired field only for Interaction. Profile Instance will not check for required field. + */ + isRequired?: boolean; + /** + * Max length of string. Used only if type is string. + */ + maxLength?: number; + /** + * The ID associated with the property. + */ + propertyId?: string; + /** + * URL encoded schema.org item prop link for the property. + */ + schemaItemPropLink?: string; + } + + /** + * The fields mapping for Relationships. + */ + export interface RelationshipLinkFieldMappingResponse { + /** + * The field name on the Interaction Type. + */ + interactionFieldName: string; + /** + * Link type. + */ + linkType?: string; + /** + * The field name on the Relationship metadata. + */ + relationshipFieldName: string; + } + + /** + * Map a field of profile to its corresponding StrongId in Related Profile. + */ + export interface RelationshipTypeFieldMappingResponse { + /** + * Specifies the fieldName in profile. + */ + profileFieldName: string; + /** + * Specifies the KeyProperty (from StrongId) of the related profile. + */ + relatedProfileKeyProperty: string; + } + + /** + * Maps fields in Profile to their corresponding StrongIds in Related Profile. + */ + export interface RelationshipTypeMappingResponse { + /** + * Maps a profile property with the StrongId of related profile. This is an array to support StrongIds that are composite key as well. + */ + fieldMappings: outputs.customerinsights.RelationshipTypeFieldMappingResponse[]; + } + + /** + * The resource set description. + */ + export interface ResourceSetDescriptionResponse { + /** + * The elements included in the set. + */ + elements?: string[]; + /** + * The elements that are not included in the set, in case elements contains '*' indicating 'all'. + */ + exceptions?: string[]; + } + + /** + * Property/Properties which represent a unique ID. + */ + export interface StrongIdResponse { + /** + * Localized descriptions. + */ + description?: {[key: string]: string}; + /** + * Localized display name. + */ + displayName?: {[key: string]: string}; + /** + * The properties which make up the unique ID. + */ + keyPropertyNames: string[]; + /** + * The Name identifying the strong ID. + */ + strongIdName: string; + } + + /** + * Metadata for a Link's property mapping. + */ + export interface TypePropertiesMappingResponse { + /** + * Link type. + */ + linkType?: string; + /** + * Property name on the source Entity Type. + */ + sourcePropertyName: string; + /** + * Property name on the target Entity Type. + */ + targetPropertyName: string; + } + + export namespace v20170426 { + /** + * The AssignmentPrincipal + */ + export interface AssignmentPrincipalResponse { + /** + * The principal id being assigned to. + */ + principalId: string; + /** + * Other metadata for the principal. + */ + principalMetadata?: {[key: string]: string}; + /** + * The Type of the principal ID. + */ + principalType: string; + } + + /** + * Definition of canonical profile. + */ + export interface CanonicalProfileDefinitionResponse { + /** + * Canonical profile ID. + */ + canonicalProfileId?: number; + /** + * Properties of the canonical profile. + */ + properties?: outputs.customerinsights.v20170426.CanonicalProfileDefinitionResponseProperties[]; + } + + /** + * The definition of a canonical profile property. + */ + export interface CanonicalProfileDefinitionResponseProperties { + /** + * Profile name. + */ + profileName?: string; + /** + * Property name of profile. + */ + profilePropertyName?: string; + /** + * The rank. + */ + rank?: number; + /** + * Type of canonical property value. + */ + type?: string; + /** + * Value of the canonical property. + */ + value?: string; + } + + /** + * Connector mapping property availability. + */ + export interface ConnectorMappingAvailabilityResponse { + /** + * The frequency to update. + */ + frequency?: string; + /** + * The interval of the given frequency to use. + */ + interval: number; + } + + /** + * The complete operation. + */ + export interface ConnectorMappingCompleteOperationResponse { + /** + * The type of completion operation. + */ + completionOperationType?: string; + /** + * The destination folder where files will be moved to once the import is done. + */ + destinationFolder?: string; + } + + /** + * The error management. + */ + export interface ConnectorMappingErrorManagementResponse { + /** + * The error limit allowed while importing data. + */ + errorLimit?: number; + /** + * The type of error management to use for the mapping. + */ + errorManagementType: string; + } + + /** + * Connector mapping property format. + */ + export interface ConnectorMappingFormatResponse { + /** + * The oData language. + */ + acceptLanguage?: string; + /** + * Character separating array elements. + */ + arraySeparator?: string; + /** + * The character that signifies a break between columns. + */ + columnDelimiter?: string; + /** + * The type mapping format. + */ + formatType: string; + /** + * Quote character, used to indicate enquoted fields. + */ + quoteCharacter?: string; + /** + * Escape character for quotes, can be the same as the quoteCharacter. + */ + quoteEscapeCharacter?: string; + } + + /** + * The connector mapping properties. + */ + export interface ConnectorMappingPropertiesResponse { + /** + * The availability of mapping property. + */ + availability: outputs.customerinsights.v20170426.ConnectorMappingAvailabilityResponse; + /** + * The operation after import is done. + */ + completeOperation: outputs.customerinsights.v20170426.ConnectorMappingCompleteOperationResponse; + /** + * The error management setting for the mapping. + */ + errorManagement: outputs.customerinsights.v20170426.ConnectorMappingErrorManagementResponse; + /** + * The file filter for the mapping. + */ + fileFilter?: string; + /** + * The folder path for the mapping. + */ + folderPath?: string; + /** + * The format of mapping property. + */ + format: outputs.customerinsights.v20170426.ConnectorMappingFormatResponse; + /** + * If the file contains a header or not. + */ + hasHeader?: boolean; + /** + * Ingestion mapping information at property level. + */ + structure: outputs.customerinsights.v20170426.ConnectorMappingStructureResponse[]; + } + + /** + * Connector mapping property structure. + */ + export interface ConnectorMappingStructureResponse { + /** + * The column name of the import file. + */ + columnName: string; + /** + * Custom format specifier for input parsing. + */ + customFormatSpecifier?: string; + /** + * Indicates if the column is encrypted. + */ + isEncrypted?: boolean; + /** + * The property name of the mapping entity. + */ + propertyName: string; + } + + /** + * The data source precedence is a way to know the precedence of each data source. + */ + export interface DataSourcePrecedenceResponse { + /** + * The data source reference id. + */ + dataSourceReferenceId: string; + /** + * The data source type. + */ + dataSourceType: string; + /** + * The data source ID. + */ + id: number; + /** + * The data source name + */ + name: string; + /** + * the precedence value. + */ + precedence?: number; + /** + * The data source status. + */ + status: string; + } + + /** + * Hub billing info. + */ + export interface HubBillingInfoFormatResponse { + /** + * The maximum number of units can be used. One unit is 10,000 Profiles and 100,000 Interactions. + */ + maxUnits?: number; + /** + * The minimum number of units will be billed. One unit is 10,000 Profiles and 100,000 Interactions. + */ + minUnits?: number; + /** + * The sku name. + */ + skuName?: string; + } + + /** + * The KPI alias. + */ + export interface KpiAliasResponse { + /** + * KPI alias name. + */ + aliasName: string; + /** + * The expression. + */ + expression: string; + } + + /** + * The KPI extract. + */ + export interface KpiExtractResponse { + /** + * The expression. + */ + expression: string; + /** + * KPI extract name. + */ + extractName: string; + } + + /** + * The KPI GroupBy field metadata. + */ + export interface KpiGroupByMetadataResponse { + /** + * The display name. + */ + displayName?: {[key: string]: string}; + /** + * The name of the field. + */ + fieldName?: string; + /** + * The type of the field. + */ + fieldType?: string; + } + + /** + * The KPI participant profile metadata. + */ + export interface KpiParticipantProfilesMetadataResponse { + /** + * Name of the type. + */ + typeName: string; + } + + /** + * Defines the KPI Threshold limits. + */ + export interface KpiThresholdsResponse { + /** + * Whether or not the KPI is an increasing KPI. + */ + increasingKpi: boolean; + /** + * The lower threshold limit. + */ + lowerLimit: number; + /** + * The upper threshold limit. + */ + upperLimit: number; + } + + /** + * The participant profile property reference. + */ + export interface ParticipantProfilePropertyReferenceResponse { + /** + * The source interaction property that maps to the target profile property. + */ + interactionPropertyName: string; + /** + * The target profile property that maps to the source interaction property. + */ + profilePropertyName: string; + } + + /** + * The participant property reference. + */ + export interface ParticipantPropertyReferenceResponse { + /** + * The source property that maps to the target property. + */ + sourcePropertyName: string; + /** + * The target property that maps to the source property. + */ + targetPropertyName: string; + } + + /** + * The definition of the prediction distribution. + */ + export interface PredictionDistributionDefinitionResponse { + /** + * Distributions of the prediction. + */ + distributions?: outputs.customerinsights.v20170426.PredictionDistributionDefinitionResponseDistributions[]; + /** + * Total negatives in the distribution. + */ + totalNegatives?: number; + /** + * Total positive in the distribution. + */ + totalPositives?: number; + } + + /** + * The definition of a prediction distribution. + */ + export interface PredictionDistributionDefinitionResponseDistributions { + /** + * Number of negatives. + */ + negatives?: number; + /** + * Number of negatives above threshold. + */ + negativesAboveThreshold?: number; + /** + * Number of positives. + */ + positives?: number; + /** + * Number of positives above threshold. + */ + positivesAboveThreshold?: number; + /** + * Score threshold. + */ + scoreThreshold?: number; + } + + /** + * The definition of a prediction grade. + */ + export interface PredictionResponseGrades { + /** + * Name of the grade. + */ + gradeName?: string; + /** + * Maximum score threshold. + */ + maxScoreThreshold?: number; + /** + * Minimum score threshold. + */ + minScoreThreshold?: number; + } + + /** + * Definition of the link mapping of prediction. + */ + export interface PredictionResponseMappings { + /** + * The grade of the link mapping. + */ + grade: string; + /** + * The reason of the link mapping. + */ + reason: string; + /** + * The score of the link mapping. + */ + score: string; + } + + /** + * System generated entities. + */ + export interface PredictionResponseSystemGeneratedEntities { + /** + * Generated interaction types. + */ + generatedInteractionTypes?: string[]; + /** + * Generated KPIs. + */ + generatedKpis?: {[key: string]: string}; + /** + * Generated links. + */ + generatedLinks?: string[]; + } + + /** + * Valid enum values in case of an enum property. + */ + export interface ProfileEnumValidValuesFormatResponse { + /** + * Localized names of the enum member. + */ + localizedValueNames?: {[key: string]: string}; + /** + * The integer value of the enum member. + */ + value?: number; + } + + /** + * Property definition. + */ + export interface PropertyDefinitionResponse { + /** + * Array value separator for properties with isArray set. + */ + arrayValueSeparator?: string; + /** + * This is specific to interactions modeled as activities. Data sources are used to determine where data is stored and also in precedence rules. + */ + dataSourcePrecedenceRules: outputs.customerinsights.v20170426.DataSourcePrecedenceResponse[]; + /** + * Describes valid values for an enum property. + */ + enumValidValues?: outputs.customerinsights.v20170426.ProfileEnumValidValuesFormatResponse[]; + /** + * Name of the property. + */ + fieldName: string; + /** + * Type of the property. + */ + fieldType: string; + /** + * Indicates if the property is actually an array of the fieldType above on the data api. + */ + isArray?: boolean; + /** + * Whether property is available in graph or not. + */ + isAvailableInGraph?: boolean; + /** + * Indicates if the property is an enum. + */ + isEnum?: boolean; + /** + * Indicates if the property is an flag enum. + */ + isFlagEnum?: boolean; + /** + * Whether the property is an Image. + */ + isImage?: boolean; + /** + * Whether the property is a localized string. + */ + isLocalizedString?: boolean; + /** + * Whether the property is a name or a part of name. + */ + isName?: boolean; + /** + * Whether property value is required on instances, IsRequired field only for Interaction. Profile Instance will not check for required field. + */ + isRequired?: boolean; + /** + * Max length of string. Used only if type is string. + */ + maxLength?: number; + /** + * The ID associated with the property. + */ + propertyId?: string; + /** + * URL encoded schema.org item prop link for the property. + */ + schemaItemPropLink?: string; + } + + /** + * The fields mapping for Relationships. + */ + export interface RelationshipLinkFieldMappingResponse { + /** + * The field name on the Interaction Type. + */ + interactionFieldName: string; + /** + * Link type. + */ + linkType?: string; + /** + * The field name on the Relationship metadata. + */ + relationshipFieldName: string; + } + + /** + * Map a field of profile to its corresponding StrongId in Related Profile. + */ + export interface RelationshipTypeFieldMappingResponse { + /** + * Specifies the fieldName in profile. + */ + profileFieldName: string; + /** + * Specifies the KeyProperty (from StrongId) of the related profile. + */ + relatedProfileKeyProperty: string; + } + + /** + * Maps fields in Profile to their corresponding StrongIds in Related Profile. + */ + export interface RelationshipTypeMappingResponse { + /** + * Maps a profile property with the StrongId of related profile. This is an array to support StrongIds that are composite key as well. + */ + fieldMappings: outputs.customerinsights.v20170426.RelationshipTypeFieldMappingResponse[]; + } + + /** + * The resource set description. + */ + export interface ResourceSetDescriptionResponse { + /** + * The elements included in the set. + */ + elements?: string[]; + /** + * The elements that are not included in the set, in case elements contains '*' indicating 'all'. + */ + exceptions?: string[]; + } + + /** + * Property/Properties which represent a unique ID. + */ + export interface StrongIdResponse { + /** + * Localized descriptions. + */ + description?: {[key: string]: string}; + /** + * Localized display name. + */ + displayName?: {[key: string]: string}; + /** + * The properties which make up the unique ID. + */ + keyPropertyNames: string[]; + /** + * The Name identifying the strong ID. + */ + strongIdName: string; + } + + /** + * Metadata for a Link's property mapping. + */ + export interface TypePropertiesMappingResponse { + /** + * Link type. + */ + linkType?: string; + /** + * Property name on the source Entity Type. + */ + sourcePropertyName: string; + /** + * Property name on the target Entity Type. + */ + targetPropertyName: string; + } + + } +} + +export namespace customproviders { + /** + * The route definition for an action implemented by the custom resource provider. + */ + export interface CustomRPActionRouteDefinitionResponse { + /** + * The route definition endpoint URI that the custom resource provider will proxy requests to. This can be in the form of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a path (e.g. 'https://testendpoint/{requestPath}') + */ + endpoint: string; + /** + * The name of the route definition. This becomes the name for the ARM extension (e.g. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + */ + name: string; + /** + * The routing types that are supported for action requests. + */ + routingType?: string; + } + + /** + * The route definition for a resource implemented by the custom resource provider. + */ + export interface CustomRPResourceTypeRouteDefinitionResponse { + /** + * The route definition endpoint URI that the custom resource provider will proxy requests to. This can be in the form of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a path (e.g. 'https://testendpoint/{requestPath}') + */ + endpoint: string; + /** + * The name of the route definition. This becomes the name for the ARM extension (e.g. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + */ + name: string; + /** + * The routing types that are supported for resource requests. + */ + routingType?: string; + } + + /** + * A validation to apply on custom resource provider requests. + */ + export interface CustomRPValidationsResponse { + /** + * A link to the validation specification. The specification must be hosted on raw.githubusercontent.com. + */ + specification: string; + /** + * The type of validation to run against a matching request. + */ + validationType?: string; + } + + export namespace v20180901preview { + /** + * The route definition for an action implemented by the custom resource provider. + */ + export interface CustomRPActionRouteDefinitionResponse { + /** + * The route definition endpoint URI that the custom resource provider will proxy requests to. This can be in the form of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a path (e.g. 'https://testendpoint/{requestPath}') + */ + endpoint: string; + /** + * The name of the route definition. This becomes the name for the ARM extension (e.g. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + */ + name: string; + /** + * The routing types that are supported for action requests. + */ + routingType?: string; + } + + /** + * The route definition for a resource implemented by the custom resource provider. + */ + export interface CustomRPResourceTypeRouteDefinitionResponse { + /** + * The route definition endpoint URI that the custom resource provider will proxy requests to. This can be in the form of a flat URI (e.g. 'https://testendpoint/') or can specify to route via a path (e.g. 'https://testendpoint/{requestPath}') + */ + endpoint: string; + /** + * The name of the route definition. This becomes the name for the ARM extension (e.g. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{name}') + */ + name: string; + /** + * The routing types that are supported for resource requests. + */ + routingType?: string; + } + + /** + * A validation to apply on custom resource provider requests. + */ + export interface CustomRPValidationsResponse { + /** + * A link to the validation specification. The specification must be hosted on raw.githubusercontent.com. + */ + specification: string; + /** + * The type of validation to run against a matching request. + */ + validationType?: string; + } + + } +} + +export namespace dashboard { + /** + * Integrations for Azure Monitor Workspace. + */ + export interface AzureMonitorWorkspaceIntegrationResponse { + /** + * The resource Id of the connected Azure Monitor Workspace. + */ + azureMonitorWorkspaceResourceId?: string; + } + + /** + * GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios. + */ + export interface GrafanaIntegrationsResponse { + azureMonitorWorkspaceIntegrations?: outputs.dashboard.AzureMonitorWorkspaceIntegrationResponse[]; + } + + /** + * Properties specific to the grafana resource. + */ + export interface ManagedGrafanaPropertiesResponse { + /** + * The api key setting of the Grafana instance. + */ + apiKey?: string; + /** + * Scope for dns deterministic name hash calculation. + */ + autoGeneratedDomainNameLabelScope?: string; + /** + * Whether a Grafana instance uses deterministic outbound IPs. + */ + deterministicOutboundIP?: string; + /** + * The endpoint of the Grafana instance. + */ + endpoint: string; + /** + * GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios. + */ + grafanaIntegrations?: outputs.dashboard.GrafanaIntegrationsResponse; + /** + * The Grafana software version. + */ + grafanaVersion: string; + /** + * List of outbound IPs if deterministicOutboundIP is enabled. + */ + outboundIPs: string[]; + /** + * The private endpoint connections of the Grafana instance. + */ + privateEndpointConnections: outputs.dashboard.PrivateEndpointConnectionResponse[]; + /** + * Provisioning state of the resource. + */ + provisioningState: string; + /** + * Indicate the state for enable or disable traffic over the public interface. + */ + publicNetworkAccess?: string; + /** + * The zone redundancy setting of the Grafana instance. + */ + zoneRedundancy?: string; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityResponse { + /** + * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + principalId: string; + /** + * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + tenantId: string; + /** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: string; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: {[key: string]: outputs.dashboard.UserAssignedIdentityResponse}; + } + + /** + * The Private Endpoint Connection resource. + */ + export interface PrivateEndpointConnectionResponse { + /** + * The private endpoint connection group ids. + */ + groupIds?: string[]; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + id: string; + /** + * The name of the resource + */ + name: string; + /** + * The resource of private end point. + */ + privateEndpoint?: outputs.dashboard.PrivateEndpointResponse; + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + privateLinkServiceConnectionState: outputs.dashboard.PrivateLinkServiceConnectionStateResponse; + /** + * The provisioning state of the private endpoint connection resource. + */ + provisioningState: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + systemData: outputs.dashboard.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + type: string; + } + + /** + * The Private Endpoint resource. + */ + export interface PrivateEndpointResponse { + /** + * The ARM identifier for Private Endpoint + */ + id: string; + } + + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + export interface PrivateLinkServiceConnectionStateResponse { + /** + * A message indicating if changes on the service provider require any updates on the consumer. + */ + actionsRequired?: string; + /** + * The reason for approval/rejection of the connection. + */ + description?: string; + /** + * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + */ + status?: string; + } + + export interface ResourceSkuResponse { + name: string; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + /** + * User assigned identity properties + */ + export interface UserAssignedIdentityResponse { + /** + * The client ID of the assigned identity. + */ + clientId: string; + /** + * The principal ID of the assigned identity. + */ + principalId: string; + } + + export namespace v20210901preview { + /** + * Properties specific to the grafana resource. + */ + export interface ManagedGrafanaPropertiesResponse { + autoGeneratedDomainNameLabelScope?: string; + /** + * The endpoint of the Grafana instance. + */ + endpoint: string; + /** + * The Grafana software version. + */ + grafanaVersion: string; + /** + * Provisioning state of the resource. + */ + provisioningState?: string; + zoneRedundancy?: string; + } + + /** + * The managed identity of a resource. + */ + export interface ManagedIdentityResponse { + /** + * The principal id of the system assigned identity. + */ + principalId: string; + /** + * The tenant id of the system assigned identity. + */ + tenantId: string; + /** + * The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource. + */ + type?: string; + /** + * Dictionary of user assigned identities. + */ + userAssignedIdentities?: {[key: string]: outputs.dashboard.v20210901preview.UserAssignedIdentityResponse}; + } + + export interface ResourceSkuResponse { + name: string; + } + + export interface SystemDataResponse { + createdAt?: string; + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + lastModifiedAt?: string; + lastModifiedBy?: string; + lastModifiedByType?: string; + } + + export interface UserAssignedIdentityResponse { + /** + * The client id of user assigned identity. + */ + clientId: string; + /** + * The principal id of user assigned identity. + */ + principalId: string; + } + + } + + export namespace v20220801 { + /** + * Integrations for Azure Monitor Workspace. + */ + export interface AzureMonitorWorkspaceIntegrationResponse { + /** + * The resource Id of the connected Azure Monitor Workspace. + */ + azureMonitorWorkspaceResourceId?: string; + } + + /** + * GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios. + */ + export interface GrafanaIntegrationsResponse { + azureMonitorWorkspaceIntegrations?: outputs.dashboard.v20220801.AzureMonitorWorkspaceIntegrationResponse[]; + } + + /** + * Properties specific to the grafana resource. + */ + export interface ManagedGrafanaPropertiesResponse { + /** + * The api key setting of the Grafana instance. + */ + apiKey?: string; + /** + * Scope for dns deterministic name hash calculation. + */ + autoGeneratedDomainNameLabelScope?: string; + /** + * Whether a Grafana instance uses deterministic outbound IPs. + */ + deterministicOutboundIP?: string; + /** + * The endpoint of the Grafana instance. + */ + endpoint: string; + /** + * GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios. + */ + grafanaIntegrations?: outputs.dashboard.v20220801.GrafanaIntegrationsResponse; + /** + * The Grafana software version. + */ + grafanaVersion: string; + /** + * List of outbound IPs if deterministicOutboundIP is enabled. + */ + outboundIPs: string[]; + /** + * The private endpoint connections of the Grafana instance. + */ + privateEndpointConnections: outputs.dashboard.v20220801.PrivateEndpointConnectionResponse[]; + /** + * Provisioning state of the resource. + */ + provisioningState: string; + /** + * Indicate the state for enable or disable traffic over the public interface. + */ + publicNetworkAccess?: string; + /** + * The zone redundancy setting of the Grafana instance. + */ + zoneRedundancy?: string; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityResponse { + /** + * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + principalId: string; + /** + * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + tenantId: string; + /** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: string; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: {[key: string]: outputs.dashboard.v20220801.UserAssignedIdentityResponse}; + } + + /** + * The Private Endpoint Connection resource. + */ + export interface PrivateEndpointConnectionResponse { + /** + * The private endpoint connection group ids. + */ + groupIds?: string[]; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + id: string; + /** + * The name of the resource + */ + name: string; + /** + * The resource of private end point. + */ + privateEndpoint?: outputs.dashboard.v20220801.PrivateEndpointResponse; + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + privateLinkServiceConnectionState: outputs.dashboard.v20220801.PrivateLinkServiceConnectionStateResponse; + /** + * The provisioning state of the private endpoint connection resource. + */ + provisioningState: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + systemData: outputs.dashboard.v20220801.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + type: string; + } + + /** + * The Private Endpoint resource. + */ + export interface PrivateEndpointResponse { + /** + * The ARM identifier for Private Endpoint + */ + id: string; + } + + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + export interface PrivateLinkServiceConnectionStateResponse { + /** + * A message indicating if changes on the service provider require any updates on the consumer. + */ + actionsRequired?: string; + /** + * The reason for approval/rejection of the connection. + */ + description?: string; + /** + * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + */ + status?: string; + } + + export interface ResourceSkuResponse { + name: string; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + /** + * User assigned identity properties + */ + export interface UserAssignedIdentityResponse { + /** + * The client ID of the assigned identity. + */ + clientId: string; + /** + * The principal ID of the assigned identity. + */ + principalId: string; + } + + } +} + +export namespace databox { + /** + * Credential details of the account. + */ + export interface AccountCredentialDetailsResponse { + /** + * Connection string of the account endpoint to use the account as a storage endpoint on the device. + */ + accountConnectionString: string; + /** + * Name of the account. + */ + accountName: string; + /** + * Type of the account. + */ + dataAccountType: string; + /** + * Per share level unencrypted access credentials. + */ + shareCredentialDetails: outputs.databox.ShareCredentialDetailsResponse[]; + } + + /** + * This class represents additional info which Resource Providers pass when an error occurs. + */ + export interface AdditionalErrorInfoResponse { + /** + * Additional information of the type of error. + */ + info?: any; + /** + * Type of error (e.g. CustomerIntervention, PolicyViolation, SecurityViolation). + */ + type?: string; + } + + /** + * The Network Adapter configuration of a DataBox. + */ + export interface ApplianceNetworkConfigurationResponse { + /** + * Mac Address. + */ + macAddress: string; + /** + * Name of the network. + */ + name: string; + } + + /** + * Filter details to transfer Azure files + */ + export interface AzureFileFilterDetailsResponse { + /** + * List of full path of the files to be transferred. + */ + filePathList?: string[]; + /** + * Prefix list of the Azure files to be transferred. + */ + filePrefixList?: string[]; + /** + * List of file shares to be transferred. + */ + fileShareList?: string[]; + } + + /** + * Filter details to transfer Azure Blobs + */ + export interface BlobFilterDetailsResponse { + /** + * List of full path of the blobs to be transferred. + */ + blobPathList?: string[]; + /** + * Prefix list of the Azure blobs to be transferred. + */ + blobPrefixList?: string[]; + /** + * List of blob containers to be transferred. + */ + containerList?: string[]; + } + + /** + * Provides additional information about an http error response. + */ + export interface CloudErrorResponse { + /** + * Gets or sets additional error info. + */ + additionalInfo: outputs.databox.AdditionalErrorInfoResponse[]; + /** + * Error code. + */ + code?: string; + /** + * Gets or sets details for the error. + */ + details: outputs.databox.CloudErrorResponse[]; + /** + * The error message parsed from the body of the http error response. + */ + message?: string; + /** + * Gets or sets the target of the error. + */ + target?: string; + } + + /** + * Contact Details. + */ + export interface ContactDetailsResponse { + /** + * Contact name of the person. + */ + contactName: string; + /** + * List of Email-ids to be notified about job progress. + */ + emailList: string[]; + /** + * Mobile number of the contact person. + */ + mobile?: string; + /** + * Notification preference for a job stage. + */ + notificationPreference?: outputs.databox.NotificationPreferenceResponse[]; + /** + * Phone number of the contact person. + */ + phone: string; + /** + * Phone extension number of the contact person. + */ + phoneExtension?: string; + } + + /** + * Contact Info. + */ + export interface ContactInfoResponse { + /** + * Contact name of the person. + */ + contactName: string; + /** + * Mobile number of the contact person. + */ + mobile?: string; + /** + * Phone number of the contact person. + */ + phone: string; + /** + * Phone extension number of the contact person. + */ + phoneExtension?: string; + } + + /** + * Copy progress. + */ + export interface CopyProgressResponse { + /** + * Id of the account where the data needs to be uploaded. + */ + accountId: string; + /** + * Available actions on the job. + */ + actions: string[]; + /** + * To indicate bytes transferred. + */ + bytesProcessed: number; + /** + * Data Account Type. + */ + dataAccountType: string; + /** + * To indicate directories errored out in the job. + */ + directoriesErroredOut: number; + /** + * Error, if any, in the stage + */ + error: outputs.databox.CloudErrorResponse; + /** + * Number of files which could not be copied + */ + filesErroredOut: number; + /** + * Number of files processed + */ + filesProcessed: number; + /** + * To indicate directories renamed + */ + invalidDirectoriesProcessed: number; + /** + * Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + */ + invalidFileBytesUploaded: number; + /** + * Number of files not adhering to azure naming conventions which were processed by automatic renaming + */ + invalidFilesProcessed: number; + /** + * To indicate if enumeration of data is in progress. + * Until this is true, the TotalBytesToProcess may not be valid. + */ + isEnumerationInProgress: boolean; + /** + * Number of folders not adhering to azure naming conventions which were processed by automatic renaming + */ + renamedContainerCount: number; + /** + * Name of the storage account. This will be empty for data account types other than storage account. + */ + storageAccountName: string; + /** + * Total amount of data to be processed by the job. + */ + totalBytesToProcess: number; + /** + * Total files to process + */ + totalFilesToProcess: number; + /** + * Transfer type of data + */ + transferType: string; + } + + /** + * The secrets related to customer disk job. + */ + export interface CustomerDiskJobSecretsResponse { + /** + * Carrier Account Number of the customer + */ + carrierAccountNumber: string; + /** + * Dc Access Security Code for Customer Managed Shipping + */ + dcAccessSecurityCode: outputs.databox.DcAccessSecurityCodeResponse; + /** + * Contains the list of secrets object for that device. + */ + diskSecrets: outputs.databox.DiskSecretResponse[]; + /** + * Error while fetching the secrets. + */ + error: outputs.databox.CloudErrorResponse; + /** + * Used to indicate what type of job secrets object. + * Expected value is 'DataBoxCustomerDisk'. + */ + jobSecretsType: "DataBoxCustomerDisk"; + } + + /** + * Copy log details for a storage account of a DataBox job + */ + export interface DataBoxAccountCopyLogDetailsResponse { + /** + * Account name. + */ + accountName: string; + /** + * Indicates the type of job details. + * Expected value is 'DataBox'. + */ + copyLogDetailsType: "DataBox"; + /** + * Link for copy logs. + */ + copyLogLink: string; + /** + * Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose. + */ + copyVerboseLogLink: string; + } + + /** + * Copy Log Details for customer disk + */ + export interface DataBoxCustomerDiskCopyLogDetailsResponse { + /** + * Indicates the type of job details. + * Expected value is 'DataBoxCustomerDisk'. + */ + copyLogDetailsType: "DataBoxCustomerDisk"; + /** + * Link for copy error logs. + */ + errorLogLink: string; + /** + * Disk Serial Number. + */ + serialNumber: string; + /** + * Link for copy verbose logs. + */ + verboseLogLink: string; + } + + /** + * DataBox CustomerDisk Copy Progress + */ + export interface DataBoxCustomerDiskCopyProgressResponse { + /** + * Id of the account where the data needs to be uploaded. + */ + accountId: string; + /** + * Available actions on the job. + */ + actions: string[]; + /** + * To indicate bytes transferred. + */ + bytesProcessed: number; + /** + * The Status of the copy + */ + copyStatus: string; + /** + * Data Account Type. + */ + dataAccountType: string; + /** + * To indicate directories errored out in the job. + */ + directoriesErroredOut: number; + /** + * Error, if any, in the stage + */ + error: outputs.databox.CloudErrorResponse; + /** + * Number of files which could not be copied + */ + filesErroredOut: number; + /** + * Number of files processed + */ + filesProcessed: number; + /** + * To indicate directories renamed + */ + invalidDirectoriesProcessed: number; + /** + * Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + */ + invalidFileBytesUploaded: number; + /** + * Number of files not adhering to azure naming conventions which were processed by automatic renaming + */ + invalidFilesProcessed: number; + /** + * To indicate if enumeration of data is in progress. + * Until this is true, the TotalBytesToProcess may not be valid. + */ + isEnumerationInProgress: boolean; + /** + * Number of folders not adhering to azure naming conventions which were processed by automatic renaming + */ + renamedContainerCount: number; + /** + * Disk Serial Number. + */ + serialNumber: string; + /** + * Name of the storage account. This will be empty for data account types other than storage account. + */ + storageAccountName: string; + /** + * Total amount of data to be processed by the job. + */ + totalBytesToProcess: number; + /** + * Total files to process + */ + totalFilesToProcess: number; + /** + * Transfer type of data + */ + transferType: string; + } + + /** + * Customer disk job details. + */ + export interface DataBoxCustomerDiskJobDetailsResponse { + /** + * Available actions on the job. + */ + actions: string[]; + /** + * Shared access key to download the chain of custody logs + */ + chainOfCustodySasKey: string; + /** + * Contact details for notification and shipping. + */ + contactDetails: outputs.databox.ContactDetailsResponse; + /** + * List of copy log details. + */ + copyLogDetails: (outputs.databox.DataBoxAccountCopyLogDetailsResponse | outputs.databox.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.DataBoxDiskCopyLogDetailsResponse | outputs.databox.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + /** + * Copy progress per disk. + */ + copyProgress: outputs.databox.DataBoxCustomerDiskCopyProgressResponse[]; + /** + * DataCenter code. + */ + dataCenterCode: string; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: outputs.databox.DataExportDetailsResponse[]; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: outputs.databox.DataImportDetailsResponse[]; + /** + * Datacenter address to ship to, for the given sku and storage location. + */ + datacenterAddress: outputs.databox.DatacenterAddressInstructionResponseResponse | outputs.databox.DatacenterAddressLocationResponseResponse; + /** + * Delivery package shipping details. + */ + deliverToDcPackageDetails: outputs.databox.PackageCarrierInfoResponse; + /** + * Delivery package shipping details. + */ + deliveryPackage: outputs.databox.PackageShippingDetailsResponse; + /** + * Holds device data erasure details + */ + deviceErasureDetails: outputs.databox.DeviceErasureDetailsResponse; + /** + * Flag to indicate if disk manifest should be backed-up in the Storage Account. + */ + enableManifestBackup?: boolean; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Contains the map of disk serial number to the disk details for export jobs. + */ + exportDiskDetailsCollection: {[key: string]: outputs.databox.ExportDiskDetailsResponse}; + /** + * Contains the map of disk serial number to the disk details for import jobs. + */ + importDiskDetailsCollection?: {[key: string]: outputs.databox.ImportDiskDetailsResponse}; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxCustomerDisk'. + */ + jobDetailsType: "DataBoxCustomerDisk"; + /** + * List of stages that run in the job. + */ + jobStages: outputs.databox.JobStagesResponse[]; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: outputs.databox.KeyEncryptionKeyResponse; + /** + * Last mitigation action performed on the job. + */ + lastMitigationActionOnJob: outputs.databox.LastMitigationActionOnJobResponse; + /** + * Preferences for the order. + */ + preferences?: outputs.databox.PreferencesResponse; + /** + * Return package shipping details. + */ + returnPackage: outputs.databox.PackageShippingDetailsResponse; + /** + * Return package shipping details. + */ + returnToCustomerPackageDetails: outputs.databox.PackageCarrierDetailsResponse; + /** + * Shared access key to download the return shipment label + */ + reverseShipmentLabelSasKey: string; + /** + * Optional Reverse Shipping details for order. + */ + reverseShippingDetails?: outputs.databox.ReverseShippingDetailsResponse; + /** + * Shipping address of the customer. + */ + shippingAddress?: outputs.databox.ShippingAddressResponse; + } + /** + * dataBoxCustomerDiskJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxCustomerDiskJobDetailsResponse + */ + export function dataBoxCustomerDiskJobDetailsResponseProvideDefaults(val: DataBoxCustomerDiskJobDetailsResponse): DataBoxCustomerDiskJobDetailsResponse { + return { + ...val, + enableManifestBackup: (val.enableManifestBackup) ?? false, + keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), + preferences: (val.preferences ? outputs.databox.preferencesResponseProvideDefaults(val.preferences) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + }; + } + + /** + * Copy Log Details for a disk + */ + export interface DataBoxDiskCopyLogDetailsResponse { + /** + * Indicates the type of job details. + * Expected value is 'DataBoxDisk'. + */ + copyLogDetailsType: "DataBoxDisk"; + /** + * Disk Serial Number. + */ + diskSerialNumber: string; + /** + * Link for copy error logs. + */ + errorLogLink: string; + /** + * Link for copy verbose logs. + */ + verboseLogLink: string; + } + + /** + * DataBox Disk Copy Progress + */ + export interface DataBoxDiskCopyProgressResponse { + /** + * Available actions on the job. + */ + actions: string[]; + /** + * Bytes copied during the copy of disk. + */ + bytesCopied: number; + /** + * Error, if any, in the stage + */ + error: outputs.databox.CloudErrorResponse; + /** + * Indicates the percentage completed for the copy of the disk. + */ + percentComplete: number; + /** + * The serial number of the disk + */ + serialNumber: string; + /** + * The Status of the copy + */ + status: string; + } + + /** + * Granular Copy Log Details for customer disk + */ + export interface DataBoxDiskGranularCopyLogDetailsResponse { + /** + * Account id. + */ + accountId: string; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxCustomerDisk'. + */ + copyLogDetailsType: "DataBoxCustomerDisk"; + /** + * Link for copy error logs. + */ + errorLogLink: string; + /** + * Disk Serial Number. + */ + serialNumber: string; + /** + * Link for copy verbose logs. + */ + verboseLogLink: string; + } + + /** + * DataBox Disk Granular Copy Progress + */ + export interface DataBoxDiskGranularCopyProgressResponse { + /** + * Id of the account where the data needs to be uploaded. + */ + accountId: string; + /** + * Available actions on the job. + */ + actions: string[]; + /** + * To indicate bytes transferred. + */ + bytesProcessed: number; + /** + * The Status of the copy + */ + copyStatus: string; + /** + * Data Account Type. + */ + dataAccountType: string; + /** + * To indicate directories errored out in the job. + */ + directoriesErroredOut: number; + /** + * Error, if any, in the stage + */ + error: outputs.databox.CloudErrorResponse; + /** + * Number of files which could not be copied + */ + filesErroredOut: number; + /** + * Number of files processed + */ + filesProcessed: number; + /** + * To indicate directories renamed + */ + invalidDirectoriesProcessed: number; + /** + * Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + */ + invalidFileBytesUploaded: number; + /** + * Number of files not adhering to azure naming conventions which were processed by automatic renaming + */ + invalidFilesProcessed: number; + /** + * To indicate if enumeration of data is in progress. + * Until this is true, the TotalBytesToProcess may not be valid. + */ + isEnumerationInProgress: boolean; + /** + * Number of folders not adhering to azure naming conventions which were processed by automatic renaming + */ + renamedContainerCount: number; + /** + * Disk Serial Number. + */ + serialNumber: string; + /** + * Name of the storage account. This will be empty for data account types other than storage account. + */ + storageAccountName: string; + /** + * Total amount of data to be processed by the job. + */ + totalBytesToProcess: number; + /** + * Total files to process + */ + totalFilesToProcess: number; + /** + * Transfer type of data + */ + transferType: string; + } + + /** + * DataBox Disk Job Details. + */ + export interface DataBoxDiskJobDetailsResponse { + /** + * Available actions on the job. + */ + actions: string[]; + /** + * Shared access key to download the chain of custody logs + */ + chainOfCustodySasKey: string; + /** + * Contact details for notification and shipping. + */ + contactDetails: outputs.databox.ContactDetailsResponse; + /** + * List of copy log details. + */ + copyLogDetails: (outputs.databox.DataBoxAccountCopyLogDetailsResponse | outputs.databox.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.DataBoxDiskCopyLogDetailsResponse | outputs.databox.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + /** + * Copy progress per disk. + */ + copyProgress: outputs.databox.DataBoxDiskCopyProgressResponse[]; + /** + * DataCenter code. + */ + dataCenterCode: string; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: outputs.databox.DataExportDetailsResponse[]; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: outputs.databox.DataImportDetailsResponse[]; + /** + * Datacenter address to ship to, for the given sku and storage location. + */ + datacenterAddress: outputs.databox.DatacenterAddressInstructionResponseResponse | outputs.databox.DatacenterAddressLocationResponseResponse; + /** + * Delivery package shipping details. + */ + deliveryPackage: outputs.databox.PackageShippingDetailsResponse; + /** + * Holds device data erasure details + */ + deviceErasureDetails: outputs.databox.DeviceErasureDetailsResponse; + /** + * Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer. + */ + disksAndSizeDetails: {[key: string]: number}; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Copy progress per disk. + */ + granularCopyLogDetails: outputs.databox.DataBoxDiskGranularCopyLogDetailsResponse[]; + /** + * Copy progress per disk. + */ + granularCopyProgress: outputs.databox.DataBoxDiskGranularCopyProgressResponse[]; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxDisk'. + */ + jobDetailsType: "DataBoxDisk"; + /** + * List of stages that run in the job. + */ + jobStages: outputs.databox.JobStagesResponse[]; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: outputs.databox.KeyEncryptionKeyResponse; + /** + * Last mitigation action performed on the job. + */ + lastMitigationActionOnJob: outputs.databox.LastMitigationActionOnJobResponse; + /** + * User entered passkey for DataBox Disk job. + */ + passkey?: string; + /** + * Preferences for the order. + */ + preferences?: outputs.databox.PreferencesResponse; + /** + * User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. + */ + preferredDisks?: {[key: string]: number}; + /** + * Return package shipping details. + */ + returnPackage: outputs.databox.PackageShippingDetailsResponse; + /** + * Shared access key to download the return shipment label + */ + reverseShipmentLabelSasKey: string; + /** + * Optional Reverse Shipping details for order. + */ + reverseShippingDetails?: outputs.databox.ReverseShippingDetailsResponse; + /** + * Shipping address of the customer. + */ + shippingAddress?: outputs.databox.ShippingAddressResponse; + } + /** + * dataBoxDiskJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxDiskJobDetailsResponse + */ + export function dataBoxDiskJobDetailsResponseProvideDefaults(val: DataBoxDiskJobDetailsResponse): DataBoxDiskJobDetailsResponse { + return { + ...val, + keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), + preferences: (val.preferences ? outputs.databox.preferencesResponseProvideDefaults(val.preferences) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + }; + } + + /** + * The secrets related to disk job. + */ + export interface DataBoxDiskJobSecretsResponse { + /** + * Dc Access Security Code for Customer Managed Shipping + */ + dcAccessSecurityCode: outputs.databox.DcAccessSecurityCodeResponse; + /** + * Contains the list of secrets object for that device. + */ + diskSecrets: outputs.databox.DiskSecretResponse[]; + /** + * Error while fetching the secrets. + */ + error: outputs.databox.CloudErrorResponse; + /** + * Whether passkey was provided by user. + */ + isPasskeyUserDefined: boolean; + /** + * Used to indicate what type of job secrets object. + * Expected value is 'DataBoxDisk'. + */ + jobSecretsType: "DataBoxDisk"; + /** + * PassKey for the disk Job. + */ + passKey: string; + } + + /** + * Copy log details for a storage account for Databox heavy + */ + export interface DataBoxHeavyAccountCopyLogDetailsResponse { + /** + * Account name. + */ + accountName: string; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxHeavy'. + */ + copyLogDetailsType: "DataBoxHeavy"; + /** + * Link for copy logs. + */ + copyLogLink: string[]; + /** + * Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose. + */ + copyVerboseLogLink: string[]; + } + + /** + * Databox Heavy Device Job Details + */ + export interface DataBoxHeavyJobDetailsResponse { + /** + * Available actions on the job. + */ + actions: string[]; + /** + * Shared access key to download the chain of custody logs + */ + chainOfCustodySasKey: string; + /** + * Contact details for notification and shipping. + */ + contactDetails: outputs.databox.ContactDetailsResponse; + /** + * List of copy log details. + */ + copyLogDetails: (outputs.databox.DataBoxAccountCopyLogDetailsResponse | outputs.databox.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.DataBoxDiskCopyLogDetailsResponse | outputs.databox.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + /** + * Copy progress per account. + */ + copyProgress: outputs.databox.CopyProgressResponse[]; + /** + * DataCenter code. + */ + dataCenterCode: string; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: outputs.databox.DataExportDetailsResponse[]; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: outputs.databox.DataImportDetailsResponse[]; + /** + * Datacenter address to ship to, for the given sku and storage location. + */ + datacenterAddress: outputs.databox.DatacenterAddressInstructionResponseResponse | outputs.databox.DatacenterAddressLocationResponseResponse; + /** + * Delivery package shipping details. + */ + deliveryPackage: outputs.databox.PackageShippingDetailsResponse; + /** + * Holds device data erasure details + */ + deviceErasureDetails: outputs.databox.DeviceErasureDetailsResponse; + /** + * Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + */ + devicePassword?: string; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxHeavy'. + */ + jobDetailsType: "DataBoxHeavy"; + /** + * List of stages that run in the job. + */ + jobStages: outputs.databox.JobStagesResponse[]; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: outputs.databox.KeyEncryptionKeyResponse; + /** + * Last mitigation action performed on the job. + */ + lastMitigationActionOnJob: outputs.databox.LastMitigationActionOnJobResponse; + /** + * Preferences for the order. + */ + preferences?: outputs.databox.PreferencesResponse; + /** + * Return package shipping details. + */ + returnPackage: outputs.databox.PackageShippingDetailsResponse; + /** + * Shared access key to download the return shipment label + */ + reverseShipmentLabelSasKey: string; + /** + * Optional Reverse Shipping details for order. + */ + reverseShippingDetails?: outputs.databox.ReverseShippingDetailsResponse; + /** + * Shipping address of the customer. + */ + shippingAddress?: outputs.databox.ShippingAddressResponse; + } + /** + * dataBoxHeavyJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxHeavyJobDetailsResponse + */ + export function dataBoxHeavyJobDetailsResponseProvideDefaults(val: DataBoxHeavyJobDetailsResponse): DataBoxHeavyJobDetailsResponse { + return { + ...val, + keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), + preferences: (val.preferences ? outputs.databox.preferencesResponseProvideDefaults(val.preferences) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + }; + } + + /** + * The secrets related to a databox heavy job. + */ + export interface DataBoxHeavyJobSecretsResponse { + /** + * Contains the list of secret objects for a databox heavy job. + */ + cabinetPodSecrets: outputs.databox.DataBoxHeavySecretResponse[]; + /** + * Dc Access Security Code for Customer Managed Shipping + */ + dcAccessSecurityCode: outputs.databox.DcAccessSecurityCodeResponse; + /** + * Error while fetching the secrets. + */ + error: outputs.databox.CloudErrorResponse; + /** + * Used to indicate what type of job secrets object. + * Expected value is 'DataBoxHeavy'. + */ + jobSecretsType: "DataBoxHeavy"; + } + + /** + * The secrets related to a databox heavy. + */ + export interface DataBoxHeavySecretResponse { + /** + * Per account level access credentials. + */ + accountCredentialDetails: outputs.databox.AccountCredentialDetailsResponse[]; + /** + * Password for out of the box experience on device. + */ + devicePassword: string; + /** + * Serial number of the assigned device. + */ + deviceSerialNumber: string; + /** + * The base 64 encoded public key to authenticate with the device + */ + encodedValidationCertPubKey: string; + /** + * Network configuration of the appliance. + */ + networkConfigurations: outputs.databox.ApplianceNetworkConfigurationResponse[]; + } + + /** + * Databox Job Details + */ + export interface DataBoxJobDetailsResponse { + /** + * Available actions on the job. + */ + actions: string[]; + /** + * Shared access key to download the chain of custody logs + */ + chainOfCustodySasKey: string; + /** + * Contact details for notification and shipping. + */ + contactDetails: outputs.databox.ContactDetailsResponse; + /** + * List of copy log details. + */ + copyLogDetails: (outputs.databox.DataBoxAccountCopyLogDetailsResponse | outputs.databox.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.DataBoxDiskCopyLogDetailsResponse | outputs.databox.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + /** + * Copy progress per storage account. + */ + copyProgress: outputs.databox.CopyProgressResponse[]; + /** + * DataCenter code. + */ + dataCenterCode: string; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: outputs.databox.DataExportDetailsResponse[]; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: outputs.databox.DataImportDetailsResponse[]; + /** + * Datacenter address to ship to, for the given sku and storage location. + */ + datacenterAddress: outputs.databox.DatacenterAddressInstructionResponseResponse | outputs.databox.DatacenterAddressLocationResponseResponse; + /** + * Delivery package shipping details. + */ + deliveryPackage: outputs.databox.PackageShippingDetailsResponse; + /** + * Holds device data erasure details + */ + deviceErasureDetails: outputs.databox.DeviceErasureDetailsResponse; + /** + * Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + */ + devicePassword?: string; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Indicates the type of job details. + * Expected value is 'DataBox'. + */ + jobDetailsType: "DataBox"; + /** + * List of stages that run in the job. + */ + jobStages: outputs.databox.JobStagesResponse[]; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: outputs.databox.KeyEncryptionKeyResponse; + /** + * Last mitigation action performed on the job. + */ + lastMitigationActionOnJob: outputs.databox.LastMitigationActionOnJobResponse; + /** + * Preferences for the order. + */ + preferences?: outputs.databox.PreferencesResponse; + /** + * Return package shipping details. + */ + returnPackage: outputs.databox.PackageShippingDetailsResponse; + /** + * Shared access key to download the return shipment label + */ + reverseShipmentLabelSasKey: string; + /** + * Optional Reverse Shipping details for order. + */ + reverseShippingDetails?: outputs.databox.ReverseShippingDetailsResponse; + /** + * Shipping address of the customer. + */ + shippingAddress?: outputs.databox.ShippingAddressResponse; + } + /** + * dataBoxJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxJobDetailsResponse + */ + export function dataBoxJobDetailsResponseProvideDefaults(val: DataBoxJobDetailsResponse): DataBoxJobDetailsResponse { + return { + ...val, + keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), + preferences: (val.preferences ? outputs.databox.preferencesResponseProvideDefaults(val.preferences) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + }; + } + + /** + * The secrets related to a DataBox. + */ + export interface DataBoxSecretResponse { + /** + * Per account level access credentials. + */ + accountCredentialDetails: outputs.databox.AccountCredentialDetailsResponse[]; + /** + * Password for out of the box experience on device. + */ + devicePassword: string; + /** + * Serial number of the assigned device. + */ + deviceSerialNumber: string; + /** + * The base 64 encoded public key to authenticate with the device + */ + encodedValidationCertPubKey: string; + /** + * Network configuration of the appliance. + */ + networkConfigurations: outputs.databox.ApplianceNetworkConfigurationResponse[]; + } + + /** + * Details of the data to be used for exporting data from azure. + */ + export interface DataExportDetailsResponse { + /** + * Account details of the data to be transferred + */ + accountDetails: outputs.databox.ManagedDiskDetailsResponse | outputs.databox.StorageAccountDetailsResponse; + /** + * Level of the logs to be collected. + */ + logCollectionLevel?: string; + /** + * Configuration for the data transfer. + */ + transferConfiguration: outputs.databox.TransferConfigurationResponse; + } + /** + * dataExportDetailsResponseProvideDefaults sets the appropriate defaults for DataExportDetailsResponse + */ + export function dataExportDetailsResponseProvideDefaults(val: DataExportDetailsResponse): DataExportDetailsResponse { + return { + ...val, + logCollectionLevel: (val.logCollectionLevel) ?? "Error", + transferConfiguration: outputs.databox.transferConfigurationResponseProvideDefaults(val.transferConfiguration), + }; + } + + /** + * Details of the data to be used for importing data to azure. + */ + export interface DataImportDetailsResponse { + /** + * Account details of the data to be transferred + */ + accountDetails: outputs.databox.ManagedDiskDetailsResponse | outputs.databox.StorageAccountDetailsResponse; + /** + * Level of the logs to be collected. + */ + logCollectionLevel?: string; + } + /** + * dataImportDetailsResponseProvideDefaults sets the appropriate defaults for DataImportDetailsResponse + */ + export function dataImportDetailsResponseProvideDefaults(val: DataImportDetailsResponse): DataImportDetailsResponse { + return { + ...val, + logCollectionLevel: (val.logCollectionLevel) ?? "Error", + }; + } + + /** + * The secrets related to a databox job. + */ + export interface DataboxJobSecretsResponse { + /** + * Dc Access Security Code for Customer Managed Shipping + */ + dcAccessSecurityCode: outputs.databox.DcAccessSecurityCodeResponse; + /** + * Error while fetching the secrets. + */ + error: outputs.databox.CloudErrorResponse; + /** + * Used to indicate what type of job secrets object. + * Expected value is 'DataBox'. + */ + jobSecretsType: "DataBox"; + /** + * Contains the list of secret objects for a job. + */ + podSecrets?: outputs.databox.DataBoxSecretResponse[]; + } + + /** + * Datacenter instruction for given storage location. + */ + export interface DatacenterAddressInstructionResponseResponse { + /** + * Data center communication instruction + */ + communicationInstruction: string; + /** + * Azure Location where the Data Center serves primarily. + */ + dataCenterAzureLocation: string; + /** + * Data center address type + * Expected value is 'DatacenterAddressInstruction'. + */ + datacenterAddressType: "DatacenterAddressInstruction"; + /** + * List of supported carriers for return shipment. + */ + supportedCarriersForReturnShipment: string[]; + } + + /** + * Datacenter address for given storage location. + */ + export interface DatacenterAddressLocationResponseResponse { + /** + * Special instruction for shipping + */ + additionalShippingInformation: string; + /** + * Address type + */ + addressType: string; + /** + * City name + */ + city: string; + /** + * Company name + */ + company: string; + /** + * Contact person name + */ + contactPersonName: string; + /** + * name of the country + */ + country: string; + /** + * Azure Location where the Data Center serves primarily. + */ + dataCenterAzureLocation: string; + /** + * Data center address type + * Expected value is 'DatacenterAddressLocation'. + */ + datacenterAddressType: "DatacenterAddressLocation"; + /** + * Phone number + */ + phone: string; + /** + * Phone extension + */ + phoneExtension: string; + /** + * name of the state + */ + state: string; + /** + * Street address line 1 + */ + street1: string; + /** + * Street address line 2 + */ + street2: string; + /** + * Street address line 3 + */ + street3: string; + /** + * List of supported carriers for return shipment. + */ + supportedCarriersForReturnShipment: string[]; + /** + * Zip code + */ + zip: string; + } + + /** + * Dc access security code + */ + export interface DcAccessSecurityCodeResponse { + /** + * Forward Dc access security code. + */ + forwardDCAccessCode?: string; + /** + * Reverse Dc access security code. + */ + reverseDCAccessCode?: string; + } + + /** + * Device erasure details with erasure completion status and erasureordestructionlog sas key + */ + export interface DeviceErasureDetailsResponse { + /** + * Holds the device erasure completion status + */ + deviceErasureStatus: string; + /** + * Shared access key to download cleanup or destruction certificate for device + */ + erasureOrDestructionCertificateSasKey: string; + } + + /** + * Contains all the secrets of a Disk. + */ + export interface DiskSecretResponse { + /** + * Bit Locker key of the disk which can be used to unlock the disk to copy data. + */ + bitLockerKey: string; + /** + * Serial number of the assigned disk. + */ + diskSerialNumber: string; + } + + /** + * Preferences related to the Encryption. + */ + export interface EncryptionPreferencesResponse { + /** + * Defines secondary layer of software-based encryption enablement. + */ + doubleEncryption?: string; + /** + * Defines Hardware level encryption (Only for disk) + */ + hardwareEncryption?: string; + } + /** + * encryptionPreferencesResponseProvideDefaults sets the appropriate defaults for EncryptionPreferencesResponse + */ + export function encryptionPreferencesResponseProvideDefaults(val: EncryptionPreferencesResponse): EncryptionPreferencesResponse { + return { + ...val, + doubleEncryption: (val.doubleEncryption) ?? "Disabled", + }; + } + + /** + * Export disk details + */ + export interface ExportDiskDetailsResponse { + /** + * Path to backed up manifest, only returned if enableManifestBackup is true. + */ + backupManifestCloudPath: string; + /** + * The relative path of the manifest file on the disk. + */ + manifestFile: string; + /** + * The Base16-encoded MD5 hash of the manifest file on the disk. + */ + manifestHash: string; + } + + /** + * Details of the filter files to be used for data transfer. + */ + export interface FilterFileDetailsResponse { + /** + * Path of the file that contains the details of all items to transfer. + */ + filterFilePath: string; + /** + * Type of the filter file. + */ + filterFileType: string; + } + + /** + * Managed identity properties. + */ + export interface IdentityPropertiesResponse { + /** + * Managed service identity type. + */ + type?: string; + /** + * User assigned identity properties. + */ + userAssigned?: outputs.databox.UserAssignedPropertiesResponse; + } + + /** + * Import disk details + */ + export interface ImportDiskDetailsResponse { + /** + * Path to backed up manifest, only returned if enableManifestBackup is true. + */ + backupManifestCloudPath: string; + /** + * BitLocker key used to encrypt the disk. + */ + bitLockerKey: string; + /** + * The relative path of the manifest file on the disk. + */ + manifestFile: string; + /** + * The Base16-encoded MD5 hash of the manifest file on the disk. + */ + manifestHash: string; + } + + /** + * Additional delivery info. + */ + export interface JobDeliveryInfoResponse { + /** + * Scheduled date time. + */ + scheduledDateTime?: string; + } + + /** + * Job stages. + */ + export interface JobStagesResponse { + /** + * Display name of the job stage. + */ + displayName: string; + /** + * Job Stage Details + */ + jobStageDetails: any; + /** + * Name of the job stage. + */ + stageName: string; + /** + * Status of the job stage. + */ + stageStatus: string; + /** + * Time for the job stage in UTC ISO 8601 format. + */ + stageTime: string; + } + + /** + * Encryption key containing details about key to encrypt different keys. + */ + export interface KeyEncryptionKeyResponse { + /** + * Managed identity properties used for key encryption. + */ + identityProperties?: outputs.databox.IdentityPropertiesResponse; + /** + * Type of encryption key used for key encryption. + */ + kekType: string; + /** + * Key encryption key. It is required in case of Customer managed KekType. + */ + kekUrl?: string; + /** + * Kek vault resource id. It is required in case of Customer managed KekType. + */ + kekVaultResourceID?: string; + } + /** + * keyEncryptionKeyResponseProvideDefaults sets the appropriate defaults for KeyEncryptionKeyResponse + */ + export function keyEncryptionKeyResponseProvideDefaults(val: KeyEncryptionKeyResponse): KeyEncryptionKeyResponse { + return { + ...val, + kekType: (val.kekType) ?? "MicrosoftManaged", + }; + } + + /** + * Last Mitigation Action Performed On Job + */ + export interface LastMitigationActionOnJobResponse { + /** + * Action performed date time + */ + actionDateTimeInUtc?: string; + /** + * Resolution code provided by customer + */ + customerResolution?: string; + /** + * Action performed by customer, + * possibility is that mitigation might happen by customer or service or by ops + */ + isPerformedByCustomer?: boolean; + } + + /** + * Details of the managed disks. + */ + export interface ManagedDiskDetailsResponse { + /** + * Account Type of the data to be transferred. + * Expected value is 'ManagedDisk'. + */ + dataAccountType: "ManagedDisk"; + /** + * Resource Group Id of the compute disks. + */ + resourceGroupId: string; + /** + * Resource Id of the storage account that can be used to copy the vhd for staging. + */ + stagingStorageAccountId: string; + } + /** + * managedDiskDetailsResponseProvideDefaults sets the appropriate defaults for ManagedDiskDetailsResponse + */ + export function managedDiskDetailsResponseProvideDefaults(val: ManagedDiskDetailsResponse): ManagedDiskDetailsResponse { + return { + ...val, + dataAccountType: (val.dataAccountType) ?? "StorageAccount", + }; + } + + /** + * Notification preference for a job stage. + */ + export interface NotificationPreferenceResponse { + /** + * Notification is required or not. + */ + sendNotification: boolean; + /** + * Name of the stage. + */ + stageName: string; + } + /** + * notificationPreferenceResponseProvideDefaults sets the appropriate defaults for NotificationPreferenceResponse + */ + export function notificationPreferenceResponseProvideDefaults(val: NotificationPreferenceResponse): NotificationPreferenceResponse { + return { + ...val, + sendNotification: (val.sendNotification) ?? true, + }; + } + + /** + * Package carrier details. + */ + export interface PackageCarrierDetailsResponse { + /** + * Carrier Account Number of customer for customer disk. + */ + carrierAccountNumber?: string; + /** + * Name of the carrier. + */ + carrierName?: string; + /** + * Tracking Id of shipment. + */ + trackingId?: string; + } + + /** + * package carrier info + */ + export interface PackageCarrierInfoResponse { + /** + * Name of the carrier. + */ + carrierName?: string; + /** + * Tracking Id of shipment. + */ + trackingId?: string; + } + + /** + * package shipping details + */ + export interface PackageShippingDetailsResponse { + /** + * Name of the carrier. + */ + carrierName: string; + /** + * Tracking Id of shipment. + */ + trackingId: string; + /** + * Url where shipment can be tracked. + */ + trackingUrl: string; + } + + /** + * Preferences related to the order + */ + export interface PreferencesResponse { + /** + * Preferences related to the Encryption. + */ + encryptionPreferences?: outputs.databox.EncryptionPreferencesResponse; + /** + * Preferred data center region. + */ + preferredDataCenterRegion?: string[]; + /** + * Optional Preferences related to the reverse shipment logistics of the sku. + */ + reverseTransportPreferences?: outputs.databox.TransportPreferencesResponse; + /** + * Preferences related to the Access Tier of storage accounts. + */ + storageAccountAccessTierPreferences?: string[]; + /** + * Preferences related to the shipment logistics of the sku. + */ + transportPreferences?: outputs.databox.TransportPreferencesResponse; + } + /** + * preferencesResponseProvideDefaults sets the appropriate defaults for PreferencesResponse + */ + export function preferencesResponseProvideDefaults(val: PreferencesResponse): PreferencesResponse { + return { + ...val, + encryptionPreferences: (val.encryptionPreferences ? outputs.databox.encryptionPreferencesResponseProvideDefaults(val.encryptionPreferences) : undefined), + }; + } + + /** + * Msi identity details of the resource + */ + export interface ResourceIdentityResponse { + /** + * Service Principal Id backing the Msi + */ + principalId: string; + /** + * Home Tenant Id + */ + tenantId: string; + /** + * Identity type + */ + type?: string; + /** + * User Assigned Identities + */ + userAssignedIdentities?: {[key: string]: outputs.databox.UserAssignedIdentityResponse}; + } + /** + * resourceIdentityResponseProvideDefaults sets the appropriate defaults for ResourceIdentityResponse + */ + export function resourceIdentityResponseProvideDefaults(val: ResourceIdentityResponse): ResourceIdentityResponse { + return { + ...val, + type: (val.type) ?? "None", + }; + } + + /** + * Reverse Shipping Address and contact details for a job. + */ + export interface ReverseShippingDetailsResponse { + /** + * Contact Info. + */ + contactDetails?: outputs.databox.ContactInfoResponse; + /** + * A flag to indicate whether Reverse Shipping details are updated or not after device has been prepared. + * Read only field + */ + isUpdated: boolean; + /** + * Shipping address where customer wishes to receive the device. + */ + shippingAddress?: outputs.databox.ShippingAddressResponse; + } + /** + * reverseShippingDetailsResponseProvideDefaults sets the appropriate defaults for ReverseShippingDetailsResponse + */ + export function reverseShippingDetailsResponseProvideDefaults(val: ReverseShippingDetailsResponse): ReverseShippingDetailsResponse { + return { + ...val, + shippingAddress: (val.shippingAddress ? outputs.databox.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + }; + } + + /** + * Credential details of the shares in account. + */ + export interface ShareCredentialDetailsResponse { + /** + * Password for the share. + */ + password: string; + /** + * Name of the share. + */ + shareName: string; + /** + * Type of the share. + */ + shareType: string; + /** + * Access protocols supported on the device. + */ + supportedAccessProtocols: string[]; + /** + * User name for the share. + */ + userName: string; + } + + /** + * Shipping address where customer wishes to receive the device. + */ + export interface ShippingAddressResponse { + /** + * Type of address. + */ + addressType?: string; + /** + * Name of the City. + */ + city?: string; + /** + * Name of the company. + */ + companyName?: string; + /** + * Name of the Country. + */ + country: string; + /** + * Postal code. + */ + postalCode?: string; + /** + * Flag to indicate if customer has chosen to skip default address validation + */ + skipAddressValidation?: boolean; + /** + * Name of the State or Province. + */ + stateOrProvince?: string; + /** + * Street Address line 1. + */ + streetAddress1: string; + /** + * Street Address line 2. + */ + streetAddress2?: string; + /** + * Street Address line 3. + */ + streetAddress3?: string; + /** + * Tax Identification Number + */ + taxIdentificationNumber?: string; + /** + * Extended Zip Code. + */ + zipExtendedCode?: string; + } + /** + * shippingAddressResponseProvideDefaults sets the appropriate defaults for ShippingAddressResponse + */ + export function shippingAddressResponseProvideDefaults(val: ShippingAddressResponse): ShippingAddressResponse { + return { + ...val, + addressType: (val.addressType) ?? "None", + }; + } + + /** + * The Sku. + */ + export interface SkuResponse { + /** + * The display name of the sku. + */ + displayName?: string; + /** + * The sku family. + */ + family?: string; + /** + * The sku name. + */ + name: string; + } + + /** + * Details for the storage account. + */ + export interface StorageAccountDetailsResponse { + /** + * Account Type of the data to be transferred. + * Expected value is 'StorageAccount'. + */ + dataAccountType: "StorageAccount"; + /** + * Storage Account Resource Id. + */ + storageAccountId: string; + } + /** + * storageAccountDetailsResponseProvideDefaults sets the appropriate defaults for StorageAccountDetailsResponse + */ + export function storageAccountDetailsResponseProvideDefaults(val: StorageAccountDetailsResponse): StorageAccountDetailsResponse { + return { + ...val, + dataAccountType: (val.dataAccountType) ?? "StorageAccount", + }; + } + + /** + * Provides details about resource creation and update time + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC) + */ + createdAt: string; + /** + * A string identifier for the identity that created the resource + */ + createdBy: string; + /** + * The type of identity that created the resource: user, application, managedIdentity + */ + createdByType: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt: string; + /** + * A string identifier for the identity that last modified the resource + */ + lastModifiedBy: string; + /** + * The type of identity that last modified the resource: user, application, managedIdentity + */ + lastModifiedByType: string; + } + + /** + * Details to transfer all data. + */ + export interface TransferAllDetailsResponse { + /** + * Type of the account of data + */ + dataAccountType: string; + /** + * To indicate if all Azure blobs have to be transferred + */ + transferAllBlobs?: boolean; + /** + * To indicate if all Azure Files have to be transferred + */ + transferAllFiles?: boolean; + } + /** + * transferAllDetailsResponseProvideDefaults sets the appropriate defaults for TransferAllDetailsResponse + */ + export function transferAllDetailsResponseProvideDefaults(val: TransferAllDetailsResponse): TransferAllDetailsResponse { + return { + ...val, + dataAccountType: (val.dataAccountType) ?? "StorageAccount", + }; + } + + /** + * Configuration for defining the transfer of data. + */ + export interface TransferConfigurationResponse { + /** + * Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + */ + transferAllDetails?: outputs.databox.TransferConfigurationResponseTransferAllDetails; + /** + * Type of the configuration for transfer. + */ + transferConfigurationType: string; + /** + * Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + */ + transferFilterDetails?: outputs.databox.TransferConfigurationResponseTransferFilterDetails; + } + /** + * transferConfigurationResponseProvideDefaults sets the appropriate defaults for TransferConfigurationResponse + */ + export function transferConfigurationResponseProvideDefaults(val: TransferConfigurationResponse): TransferConfigurationResponse { + return { + ...val, + transferAllDetails: (val.transferAllDetails ? outputs.databox.transferConfigurationResponseTransferAllDetailsProvideDefaults(val.transferAllDetails) : undefined), + transferFilterDetails: (val.transferFilterDetails ? outputs.databox.transferConfigurationResponseTransferFilterDetailsProvideDefaults(val.transferFilterDetails) : undefined), + }; + } + + /** + * Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + */ + export interface TransferConfigurationResponseTransferAllDetails { + /** + * Details to transfer all data. + */ + include?: outputs.databox.TransferAllDetailsResponse; + } + /** + * transferConfigurationResponseTransferAllDetailsProvideDefaults sets the appropriate defaults for TransferConfigurationResponseTransferAllDetails + */ + export function transferConfigurationResponseTransferAllDetailsProvideDefaults(val: TransferConfigurationResponseTransferAllDetails): TransferConfigurationResponseTransferAllDetails { + return { + ...val, + include: (val.include ? outputs.databox.transferAllDetailsResponseProvideDefaults(val.include) : undefined), + }; + } + + /** + * Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + */ + export interface TransferConfigurationResponseTransferFilterDetails { + /** + * Details of the filtering the transfer of data. + */ + include?: outputs.databox.TransferFilterDetailsResponse; + } + /** + * transferConfigurationResponseTransferFilterDetailsProvideDefaults sets the appropriate defaults for TransferConfigurationResponseTransferFilterDetails + */ + export function transferConfigurationResponseTransferFilterDetailsProvideDefaults(val: TransferConfigurationResponseTransferFilterDetails): TransferConfigurationResponseTransferFilterDetails { + return { + ...val, + include: (val.include ? outputs.databox.transferFilterDetailsResponseProvideDefaults(val.include) : undefined), + }; + } + + /** + * Details of the filtering the transfer of data. + */ + export interface TransferFilterDetailsResponse { + /** + * Filter details to transfer Azure files. + */ + azureFileFilterDetails?: outputs.databox.AzureFileFilterDetailsResponse; + /** + * Filter details to transfer blobs. + */ + blobFilterDetails?: outputs.databox.BlobFilterDetailsResponse; + /** + * Type of the account of data. + */ + dataAccountType: string; + /** + * Details of the filter files to be used for data transfer. + */ + filterFileDetails?: outputs.databox.FilterFileDetailsResponse[]; + } + /** + * transferFilterDetailsResponseProvideDefaults sets the appropriate defaults for TransferFilterDetailsResponse + */ + export function transferFilterDetailsResponseProvideDefaults(val: TransferFilterDetailsResponse): TransferFilterDetailsResponse { + return { + ...val, + dataAccountType: (val.dataAccountType) ?? "StorageAccount", + }; + } + + /** + * Preferences related to the shipment logistics of the sku + */ + export interface TransportPreferencesResponse { + /** + * Read only property which indicates whether transport preferences has been updated or not after device is prepared. + */ + isUpdated: boolean; + /** + * Indicates Shipment Logistics type that the customer preferred. + */ + preferredShipmentType: string; + } + + /** + * Unencrypted credentials for accessing device. + */ + export interface UnencryptedCredentialsResponse { + /** + * Name of the job. + */ + jobName: string; + /** + * Secrets related to this job. + */ + jobSecrets: outputs.databox.CustomerDiskJobSecretsResponse | outputs.databox.DataBoxDiskJobSecretsResponse | outputs.databox.DataBoxHeavyJobSecretsResponse | outputs.databox.DataboxJobSecretsResponse; + } + + /** + * Class defining User assigned identity details. + */ + export interface UserAssignedIdentityResponse { + /** + * The client id of user assigned identity. + */ + clientId: string; + /** + * The principal id of user assigned identity. + */ + principalId: string; + } + + /** + * User assigned identity properties. + */ + export interface UserAssignedPropertiesResponse { + /** + * Arm resource id for user assigned identity to be used to fetch MSI token. + */ + resourceId?: string; + } + + export namespace v20221201 { + /** + * Credential details of the account. + */ + export interface AccountCredentialDetailsResponse { + /** + * Connection string of the account endpoint to use the account as a storage endpoint on the device. + */ + accountConnectionString: string; + /** + * Name of the account. + */ + accountName: string; + /** + * Type of the account. + */ + dataAccountType: string; + /** + * Per share level unencrypted access credentials. + */ + shareCredentialDetails: outputs.databox.v20221201.ShareCredentialDetailsResponse[]; + } + + /** + * This class represents additional info which Resource Providers pass when an error occurs. + */ + export interface AdditionalErrorInfoResponse { + /** + * Additional information of the type of error. + */ + info?: any; + /** + * Type of error (e.g. CustomerIntervention, PolicyViolation, SecurityViolation). + */ + type?: string; + } + + /** + * The Network Adapter configuration of a DataBox. + */ + export interface ApplianceNetworkConfigurationResponse { + /** + * Mac Address. + */ + macAddress: string; + /** + * Name of the network. + */ + name: string; + } + + /** + * Filter details to transfer Azure files + */ + export interface AzureFileFilterDetailsResponse { + /** + * List of full path of the files to be transferred. + */ + filePathList?: string[]; + /** + * Prefix list of the Azure files to be transferred. + */ + filePrefixList?: string[]; + /** + * List of file shares to be transferred. + */ + fileShareList?: string[]; + } + + /** + * Filter details to transfer Azure Blobs + */ + export interface BlobFilterDetailsResponse { + /** + * List of full path of the blobs to be transferred. + */ + blobPathList?: string[]; + /** + * Prefix list of the Azure blobs to be transferred. + */ + blobPrefixList?: string[]; + /** + * List of blob containers to be transferred. + */ + containerList?: string[]; + } + + /** + * Provides additional information about an http error response. + */ + export interface CloudErrorResponse { + /** + * Gets or sets additional error info. + */ + additionalInfo: outputs.databox.v20221201.AdditionalErrorInfoResponse[]; + /** + * Error code. + */ + code?: string; + /** + * Gets or sets details for the error. + */ + details: outputs.databox.v20221201.CloudErrorResponse[]; + /** + * The error message parsed from the body of the http error response. + */ + message?: string; + /** + * Gets or sets the target of the error. + */ + target?: string; + } + + /** + * Contact Details. + */ + export interface ContactDetailsResponse { + /** + * Contact name of the person. + */ + contactName: string; + /** + * List of Email-ids to be notified about job progress. + */ + emailList: string[]; + /** + * Mobile number of the contact person. + */ + mobile?: string; + /** + * Notification preference for a job stage. + */ + notificationPreference?: outputs.databox.v20221201.NotificationPreferenceResponse[]; + /** + * Phone number of the contact person. + */ + phone: string; + /** + * Phone extension number of the contact person. + */ + phoneExtension?: string; + } + + /** + * Contact Info. + */ + export interface ContactInfoResponse { + /** + * Contact name of the person. + */ + contactName: string; + /** + * Mobile number of the contact person. + */ + mobile?: string; + /** + * Phone number of the contact person. + */ + phone: string; + /** + * Phone extension number of the contact person. + */ + phoneExtension?: string; + } + + /** + * Copy progress. + */ + export interface CopyProgressResponse { + /** + * Id of the account where the data needs to be uploaded. + */ + accountId: string; + /** + * Available actions on the job. + */ + actions: string[]; + /** + * To indicate bytes transferred. + */ + bytesProcessed: number; + /** + * Data Account Type. + */ + dataAccountType: string; + /** + * To indicate directories errored out in the job. + */ + directoriesErroredOut: number; + /** + * Error, if any, in the stage + */ + error: outputs.databox.v20221201.CloudErrorResponse; + /** + * Number of files which could not be copied + */ + filesErroredOut: number; + /** + * Number of files processed + */ + filesProcessed: number; + /** + * To indicate directories renamed + */ + invalidDirectoriesProcessed: number; + /** + * Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + */ + invalidFileBytesUploaded: number; + /** + * Number of files not adhering to azure naming conventions which were processed by automatic renaming + */ + invalidFilesProcessed: number; + /** + * To indicate if enumeration of data is in progress. + * Until this is true, the TotalBytesToProcess may not be valid. + */ + isEnumerationInProgress: boolean; + /** + * Number of folders not adhering to azure naming conventions which were processed by automatic renaming + */ + renamedContainerCount: number; + /** + * Name of the storage account. This will be empty for data account types other than storage account. + */ + storageAccountName: string; + /** + * Total amount of data to be processed by the job. + */ + totalBytesToProcess: number; + /** + * Total files to process + */ + totalFilesToProcess: number; + /** + * Transfer type of data + */ + transferType: string; + } + + /** + * The secrets related to customer disk job. + */ + export interface CustomerDiskJobSecretsResponse { + /** + * Carrier Account Number of the customer + */ + carrierAccountNumber: string; + /** + * Dc Access Security Code for Customer Managed Shipping + */ + dcAccessSecurityCode: outputs.databox.v20221201.DcAccessSecurityCodeResponse; + /** + * Contains the list of secrets object for that device. + */ + diskSecrets: outputs.databox.v20221201.DiskSecretResponse[]; + /** + * Error while fetching the secrets. + */ + error: outputs.databox.v20221201.CloudErrorResponse; + /** + * Used to indicate what type of job secrets object. + * Expected value is 'DataBoxCustomerDisk'. + */ + jobSecretsType: "DataBoxCustomerDisk"; + } + + /** + * Copy log details for a storage account of a DataBox job + */ + export interface DataBoxAccountCopyLogDetailsResponse { + /** + * Account name. + */ + accountName: string; + /** + * Indicates the type of job details. + * Expected value is 'DataBox'. + */ + copyLogDetailsType: "DataBox"; + /** + * Link for copy logs. + */ + copyLogLink: string; + /** + * Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose. + */ + copyVerboseLogLink: string; + } + + /** + * Copy Log Details for customer disk + */ + export interface DataBoxCustomerDiskCopyLogDetailsResponse { + /** + * Indicates the type of job details. + * Expected value is 'DataBoxCustomerDisk'. + */ + copyLogDetailsType: "DataBoxCustomerDisk"; + /** + * Link for copy error logs. + */ + errorLogLink: string; + /** + * Disk Serial Number. + */ + serialNumber: string; + /** + * Link for copy verbose logs. + */ + verboseLogLink: string; + } + + /** + * DataBox CustomerDisk Copy Progress + */ + export interface DataBoxCustomerDiskCopyProgressResponse { + /** + * Id of the account where the data needs to be uploaded. + */ + accountId: string; + /** + * Available actions on the job. + */ + actions: string[]; + /** + * To indicate bytes transferred. + */ + bytesProcessed: number; + /** + * The Status of the copy + */ + copyStatus: string; + /** + * Data Account Type. + */ + dataAccountType: string; + /** + * To indicate directories errored out in the job. + */ + directoriesErroredOut: number; + /** + * Error, if any, in the stage + */ + error: outputs.databox.v20221201.CloudErrorResponse; + /** + * Number of files which could not be copied + */ + filesErroredOut: number; + /** + * Number of files processed + */ + filesProcessed: number; + /** + * To indicate directories renamed + */ + invalidDirectoriesProcessed: number; + /** + * Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + */ + invalidFileBytesUploaded: number; + /** + * Number of files not adhering to azure naming conventions which were processed by automatic renaming + */ + invalidFilesProcessed: number; + /** + * To indicate if enumeration of data is in progress. + * Until this is true, the TotalBytesToProcess may not be valid. + */ + isEnumerationInProgress: boolean; + /** + * Number of folders not adhering to azure naming conventions which were processed by automatic renaming + */ + renamedContainerCount: number; + /** + * Disk Serial Number. + */ + serialNumber: string; + /** + * Name of the storage account. This will be empty for data account types other than storage account. + */ + storageAccountName: string; + /** + * Total amount of data to be processed by the job. + */ + totalBytesToProcess: number; + /** + * Total files to process + */ + totalFilesToProcess: number; + /** + * Transfer type of data + */ + transferType: string; + } + + /** + * Customer disk job details. + */ + export interface DataBoxCustomerDiskJobDetailsResponse { + /** + * Available actions on the job. + */ + actions: string[]; + /** + * Shared access key to download the chain of custody logs + */ + chainOfCustodySasKey: string; + /** + * Contact details for notification and shipping. + */ + contactDetails: outputs.databox.v20221201.ContactDetailsResponse; + /** + * List of copy log details. + */ + copyLogDetails: (outputs.databox.v20221201.DataBoxAccountCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + /** + * Copy progress per disk. + */ + copyProgress: outputs.databox.v20221201.DataBoxCustomerDiskCopyProgressResponse[]; + /** + * DataCenter code. + */ + dataCenterCode: string; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: outputs.databox.v20221201.DataExportDetailsResponse[]; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: outputs.databox.v20221201.DataImportDetailsResponse[]; + /** + * Datacenter address to ship to, for the given sku and storage location. + */ + datacenterAddress: outputs.databox.v20221201.DatacenterAddressInstructionResponseResponse | outputs.databox.v20221201.DatacenterAddressLocationResponseResponse; + /** + * Delivery package shipping details. + */ + deliverToDcPackageDetails: outputs.databox.v20221201.PackageCarrierInfoResponse; + /** + * Delivery package shipping details. + */ + deliveryPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + /** + * Holds device data erasure details + */ + deviceErasureDetails: outputs.databox.v20221201.DeviceErasureDetailsResponse; + /** + * Flag to indicate if disk manifest should be backed-up in the Storage Account. + */ + enableManifestBackup?: boolean; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Contains the map of disk serial number to the disk details for export jobs. + */ + exportDiskDetailsCollection: {[key: string]: outputs.databox.v20221201.ExportDiskDetailsResponse}; + /** + * Contains the map of disk serial number to the disk details for import jobs. + */ + importDiskDetailsCollection?: {[key: string]: outputs.databox.v20221201.ImportDiskDetailsResponse}; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxCustomerDisk'. + */ + jobDetailsType: "DataBoxCustomerDisk"; + /** + * List of stages that run in the job. + */ + jobStages: outputs.databox.v20221201.JobStagesResponse[]; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: outputs.databox.v20221201.KeyEncryptionKeyResponse; + /** + * Last mitigation action performed on the job. + */ + lastMitigationActionOnJob: outputs.databox.v20221201.LastMitigationActionOnJobResponse; + /** + * Preferences for the order. + */ + preferences?: outputs.databox.v20221201.PreferencesResponse; + /** + * Return package shipping details. + */ + returnPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + /** + * Return package shipping details. + */ + returnToCustomerPackageDetails: outputs.databox.v20221201.PackageCarrierDetailsResponse; + /** + * Shared access key to download the return shipment label + */ + reverseShipmentLabelSasKey: string; + /** + * Optional Reverse Shipping details for order. + */ + reverseShippingDetails?: outputs.databox.v20221201.ReverseShippingDetailsResponse; + /** + * Shipping address of the customer. + */ + shippingAddress?: outputs.databox.v20221201.ShippingAddressResponse; + } + /** + * dataBoxCustomerDiskJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxCustomerDiskJobDetailsResponse + */ + export function dataBoxCustomerDiskJobDetailsResponseProvideDefaults(val: DataBoxCustomerDiskJobDetailsResponse): DataBoxCustomerDiskJobDetailsResponse { + return { + ...val, + enableManifestBackup: (val.enableManifestBackup) ?? false, + keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.v20221201.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), + preferences: (val.preferences ? outputs.databox.v20221201.preferencesResponseProvideDefaults(val.preferences) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.v20221201.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.v20221201.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + }; + } + + /** + * Copy Log Details for a disk + */ + export interface DataBoxDiskCopyLogDetailsResponse { + /** + * Indicates the type of job details. + * Expected value is 'DataBoxDisk'. + */ + copyLogDetailsType: "DataBoxDisk"; + /** + * Disk Serial Number. + */ + diskSerialNumber: string; + /** + * Link for copy error logs. + */ + errorLogLink: string; + /** + * Link for copy verbose logs. + */ + verboseLogLink: string; + } + + /** + * DataBox Disk Copy Progress + */ + export interface DataBoxDiskCopyProgressResponse { + /** + * Available actions on the job. + */ + actions: string[]; + /** + * Bytes copied during the copy of disk. + */ + bytesCopied: number; + /** + * Error, if any, in the stage + */ + error: outputs.databox.v20221201.CloudErrorResponse; + /** + * Indicates the percentage completed for the copy of the disk. + */ + percentComplete: number; + /** + * The serial number of the disk + */ + serialNumber: string; + /** + * The Status of the copy + */ + status: string; + } + + /** + * Granular Copy Log Details for customer disk + */ + export interface DataBoxDiskGranularCopyLogDetailsResponse { + /** + * Account id. + */ + accountId: string; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxCustomerDisk'. + */ + copyLogDetailsType: "DataBoxCustomerDisk"; + /** + * Link for copy error logs. + */ + errorLogLink: string; + /** + * Disk Serial Number. + */ + serialNumber: string; + /** + * Link for copy verbose logs. + */ + verboseLogLink: string; + } + + /** + * DataBox Disk Granular Copy Progress + */ + export interface DataBoxDiskGranularCopyProgressResponse { + /** + * Id of the account where the data needs to be uploaded. + */ + accountId: string; + /** + * Available actions on the job. + */ + actions: string[]; + /** + * To indicate bytes transferred. + */ + bytesProcessed: number; + /** + * The Status of the copy + */ + copyStatus: string; + /** + * Data Account Type. + */ + dataAccountType: string; + /** + * To indicate directories errored out in the job. + */ + directoriesErroredOut: number; + /** + * Error, if any, in the stage + */ + error: outputs.databox.v20221201.CloudErrorResponse; + /** + * Number of files which could not be copied + */ + filesErroredOut: number; + /** + * Number of files processed + */ + filesProcessed: number; + /** + * To indicate directories renamed + */ + invalidDirectoriesProcessed: number; + /** + * Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + */ + invalidFileBytesUploaded: number; + /** + * Number of files not adhering to azure naming conventions which were processed by automatic renaming + */ + invalidFilesProcessed: number; + /** + * To indicate if enumeration of data is in progress. + * Until this is true, the TotalBytesToProcess may not be valid. + */ + isEnumerationInProgress: boolean; + /** + * Number of folders not adhering to azure naming conventions which were processed by automatic renaming + */ + renamedContainerCount: number; + /** + * Disk Serial Number. + */ + serialNumber: string; + /** + * Name of the storage account. This will be empty for data account types other than storage account. + */ + storageAccountName: string; + /** + * Total amount of data to be processed by the job. + */ + totalBytesToProcess: number; + /** + * Total files to process + */ + totalFilesToProcess: number; + /** + * Transfer type of data + */ + transferType: string; + } + + /** + * DataBox Disk Job Details. + */ + export interface DataBoxDiskJobDetailsResponse { + /** + * Available actions on the job. + */ + actions: string[]; + /** + * Shared access key to download the chain of custody logs + */ + chainOfCustodySasKey: string; + /** + * Contact details for notification and shipping. + */ + contactDetails: outputs.databox.v20221201.ContactDetailsResponse; + /** + * List of copy log details. + */ + copyLogDetails: (outputs.databox.v20221201.DataBoxAccountCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + /** + * Copy progress per disk. + */ + copyProgress: outputs.databox.v20221201.DataBoxDiskCopyProgressResponse[]; + /** + * DataCenter code. + */ + dataCenterCode: string; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: outputs.databox.v20221201.DataExportDetailsResponse[]; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: outputs.databox.v20221201.DataImportDetailsResponse[]; + /** + * Datacenter address to ship to, for the given sku and storage location. + */ + datacenterAddress: outputs.databox.v20221201.DatacenterAddressInstructionResponseResponse | outputs.databox.v20221201.DatacenterAddressLocationResponseResponse; + /** + * Delivery package shipping details. + */ + deliveryPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + /** + * Holds device data erasure details + */ + deviceErasureDetails: outputs.databox.v20221201.DeviceErasureDetailsResponse; + /** + * Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer. + */ + disksAndSizeDetails: {[key: string]: number}; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Copy progress per disk. + */ + granularCopyLogDetails: outputs.databox.v20221201.DataBoxDiskGranularCopyLogDetailsResponse[]; + /** + * Copy progress per disk. + */ + granularCopyProgress: outputs.databox.v20221201.DataBoxDiskGranularCopyProgressResponse[]; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxDisk'. + */ + jobDetailsType: "DataBoxDisk"; + /** + * List of stages that run in the job. + */ + jobStages: outputs.databox.v20221201.JobStagesResponse[]; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: outputs.databox.v20221201.KeyEncryptionKeyResponse; + /** + * Last mitigation action performed on the job. + */ + lastMitigationActionOnJob: outputs.databox.v20221201.LastMitigationActionOnJobResponse; + /** + * User entered passkey for DataBox Disk job. + */ + passkey?: string; + /** + * Preferences for the order. + */ + preferences?: outputs.databox.v20221201.PreferencesResponse; + /** + * User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. + */ + preferredDisks?: {[key: string]: number}; + /** + * Return package shipping details. + */ + returnPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + /** + * Shared access key to download the return shipment label + */ + reverseShipmentLabelSasKey: string; + /** + * Optional Reverse Shipping details for order. + */ + reverseShippingDetails?: outputs.databox.v20221201.ReverseShippingDetailsResponse; + /** + * Shipping address of the customer. + */ + shippingAddress?: outputs.databox.v20221201.ShippingAddressResponse; + } + /** + * dataBoxDiskJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxDiskJobDetailsResponse + */ + export function dataBoxDiskJobDetailsResponseProvideDefaults(val: DataBoxDiskJobDetailsResponse): DataBoxDiskJobDetailsResponse { + return { + ...val, + keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.v20221201.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), + preferences: (val.preferences ? outputs.databox.v20221201.preferencesResponseProvideDefaults(val.preferences) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.v20221201.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.v20221201.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + }; + } + + /** + * The secrets related to disk job. + */ + export interface DataBoxDiskJobSecretsResponse { + /** + * Dc Access Security Code for Customer Managed Shipping + */ + dcAccessSecurityCode: outputs.databox.v20221201.DcAccessSecurityCodeResponse; + /** + * Contains the list of secrets object for that device. + */ + diskSecrets: outputs.databox.v20221201.DiskSecretResponse[]; + /** + * Error while fetching the secrets. + */ + error: outputs.databox.v20221201.CloudErrorResponse; + /** + * Whether passkey was provided by user. + */ + isPasskeyUserDefined: boolean; + /** + * Used to indicate what type of job secrets object. + * Expected value is 'DataBoxDisk'. + */ + jobSecretsType: "DataBoxDisk"; + /** + * PassKey for the disk Job. + */ + passKey: string; + } + + /** + * Copy log details for a storage account for Databox heavy + */ + export interface DataBoxHeavyAccountCopyLogDetailsResponse { + /** + * Account name. + */ + accountName: string; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxHeavy'. + */ + copyLogDetailsType: "DataBoxHeavy"; + /** + * Link for copy logs. + */ + copyLogLink: string[]; + /** + * Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose. + */ + copyVerboseLogLink: string[]; + } + + /** + * Databox Heavy Device Job Details + */ + export interface DataBoxHeavyJobDetailsResponse { + /** + * Available actions on the job. + */ + actions: string[]; + /** + * Shared access key to download the chain of custody logs + */ + chainOfCustodySasKey: string; + /** + * Contact details for notification and shipping. + */ + contactDetails: outputs.databox.v20221201.ContactDetailsResponse; + /** + * List of copy log details. + */ + copyLogDetails: (outputs.databox.v20221201.DataBoxAccountCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + /** + * Copy progress per account. + */ + copyProgress: outputs.databox.v20221201.CopyProgressResponse[]; + /** + * DataCenter code. + */ + dataCenterCode: string; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: outputs.databox.v20221201.DataExportDetailsResponse[]; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: outputs.databox.v20221201.DataImportDetailsResponse[]; + /** + * Datacenter address to ship to, for the given sku and storage location. + */ + datacenterAddress: outputs.databox.v20221201.DatacenterAddressInstructionResponseResponse | outputs.databox.v20221201.DatacenterAddressLocationResponseResponse; + /** + * Delivery package shipping details. + */ + deliveryPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + /** + * Holds device data erasure details + */ + deviceErasureDetails: outputs.databox.v20221201.DeviceErasureDetailsResponse; + /** + * Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + */ + devicePassword?: string; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Indicates the type of job details. + * Expected value is 'DataBoxHeavy'. + */ + jobDetailsType: "DataBoxHeavy"; + /** + * List of stages that run in the job. + */ + jobStages: outputs.databox.v20221201.JobStagesResponse[]; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: outputs.databox.v20221201.KeyEncryptionKeyResponse; + /** + * Last mitigation action performed on the job. + */ + lastMitigationActionOnJob: outputs.databox.v20221201.LastMitigationActionOnJobResponse; + /** + * Preferences for the order. + */ + preferences?: outputs.databox.v20221201.PreferencesResponse; + /** + * Return package shipping details. + */ + returnPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + /** + * Shared access key to download the return shipment label + */ + reverseShipmentLabelSasKey: string; + /** + * Optional Reverse Shipping details for order. + */ + reverseShippingDetails?: outputs.databox.v20221201.ReverseShippingDetailsResponse; + /** + * Shipping address of the customer. + */ + shippingAddress?: outputs.databox.v20221201.ShippingAddressResponse; + } + /** + * dataBoxHeavyJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxHeavyJobDetailsResponse + */ + export function dataBoxHeavyJobDetailsResponseProvideDefaults(val: DataBoxHeavyJobDetailsResponse): DataBoxHeavyJobDetailsResponse { + return { + ...val, + keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.v20221201.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), + preferences: (val.preferences ? outputs.databox.v20221201.preferencesResponseProvideDefaults(val.preferences) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.v20221201.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.v20221201.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + }; + } + + /** + * The secrets related to a databox heavy job. + */ + export interface DataBoxHeavyJobSecretsResponse { + /** + * Contains the list of secret objects for a databox heavy job. + */ + cabinetPodSecrets: outputs.databox.v20221201.DataBoxHeavySecretResponse[]; + /** + * Dc Access Security Code for Customer Managed Shipping + */ + dcAccessSecurityCode: outputs.databox.v20221201.DcAccessSecurityCodeResponse; + /** + * Error while fetching the secrets. + */ + error: outputs.databox.v20221201.CloudErrorResponse; + /** + * Used to indicate what type of job secrets object. + * Expected value is 'DataBoxHeavy'. + */ + jobSecretsType: "DataBoxHeavy"; + } + + /** + * The secrets related to a databox heavy. + */ + export interface DataBoxHeavySecretResponse { + /** + * Per account level access credentials. + */ + accountCredentialDetails: outputs.databox.v20221201.AccountCredentialDetailsResponse[]; + /** + * Password for out of the box experience on device. + */ + devicePassword: string; + /** + * Serial number of the assigned device. + */ + deviceSerialNumber: string; + /** + * The base 64 encoded public key to authenticate with the device + */ + encodedValidationCertPubKey: string; + /** + * Network configuration of the appliance. + */ + networkConfigurations: outputs.databox.v20221201.ApplianceNetworkConfigurationResponse[]; + } + + /** + * Databox Job Details + */ + export interface DataBoxJobDetailsResponse { + /** + * Available actions on the job. + */ + actions: string[]; + /** + * Shared access key to download the chain of custody logs + */ + chainOfCustodySasKey: string; + /** + * Contact details for notification and shipping. + */ + contactDetails: outputs.databox.v20221201.ContactDetailsResponse; + /** + * List of copy log details. + */ + copyLogDetails: (outputs.databox.v20221201.DataBoxAccountCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + /** + * Copy progress per storage account. + */ + copyProgress: outputs.databox.v20221201.CopyProgressResponse[]; + /** + * DataCenter code. + */ + dataCenterCode: string; + /** + * Details of the data to be exported from azure. + */ + dataExportDetails?: outputs.databox.v20221201.DataExportDetailsResponse[]; + /** + * Details of the data to be imported into azure. + */ + dataImportDetails?: outputs.databox.v20221201.DataImportDetailsResponse[]; + /** + * Datacenter address to ship to, for the given sku and storage location. + */ + datacenterAddress: outputs.databox.v20221201.DatacenterAddressInstructionResponseResponse | outputs.databox.v20221201.DatacenterAddressLocationResponseResponse; + /** + * Delivery package shipping details. + */ + deliveryPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + /** + * Holds device data erasure details + */ + deviceErasureDetails: outputs.databox.v20221201.DeviceErasureDetailsResponse; + /** + * Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ + */ + devicePassword?: string; + /** + * The expected size of the data, which needs to be transferred in this job, in terabytes. + */ + expectedDataSizeInTeraBytes?: number; + /** + * Indicates the type of job details. + * Expected value is 'DataBox'. + */ + jobDetailsType: "DataBox"; + /** + * List of stages that run in the job. + */ + jobStages: outputs.databox.v20221201.JobStagesResponse[]; + /** + * Details about which key encryption type is being used. + */ + keyEncryptionKey?: outputs.databox.v20221201.KeyEncryptionKeyResponse; + /** + * Last mitigation action performed on the job. + */ + lastMitigationActionOnJob: outputs.databox.v20221201.LastMitigationActionOnJobResponse; + /** + * Preferences for the order. + */ + preferences?: outputs.databox.v20221201.PreferencesResponse; + /** + * Return package shipping details. + */ + returnPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + /** + * Shared access key to download the return shipment label + */ + reverseShipmentLabelSasKey: string; + /** + * Optional Reverse Shipping details for order. + */ + reverseShippingDetails?: outputs.databox.v20221201.ReverseShippingDetailsResponse; + /** + * Shipping address of the customer. + */ + shippingAddress?: outputs.databox.v20221201.ShippingAddressResponse; + } + /** + * dataBoxJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxJobDetailsResponse + */ + export function dataBoxJobDetailsResponseProvideDefaults(val: DataBoxJobDetailsResponse): DataBoxJobDetailsResponse { + return { + ...val, + keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.v20221201.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), + preferences: (val.preferences ? outputs.databox.v20221201.preferencesResponseProvideDefaults(val.preferences) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.v20221201.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.v20221201.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + }; + } + + /** + * The secrets related to a DataBox. + */ + export interface DataBoxSecretResponse { + /** + * Per account level access credentials. + */ + accountCredentialDetails: outputs.databox.v20221201.AccountCredentialDetailsResponse[]; + /** + * Password for out of the box experience on device. + */ + devicePassword: string; + /** + * Serial number of the assigned device. + */ + deviceSerialNumber: string; + /** + * The base 64 encoded public key to authenticate with the device + */ + encodedValidationCertPubKey: string; + /** + * Network configuration of the appliance. + */ + networkConfigurations: outputs.databox.v20221201.ApplianceNetworkConfigurationResponse[]; + } + + /** + * Details of the data to be used for exporting data from azure. + */ + export interface DataExportDetailsResponse { + /** + * Account details of the data to be transferred + */ + accountDetails: outputs.databox.v20221201.ManagedDiskDetailsResponse | outputs.databox.v20221201.StorageAccountDetailsResponse; + /** + * Level of the logs to be collected. + */ + logCollectionLevel?: string; + /** + * Configuration for the data transfer. + */ + transferConfiguration: outputs.databox.v20221201.TransferConfigurationResponse; + } + /** + * dataExportDetailsResponseProvideDefaults sets the appropriate defaults for DataExportDetailsResponse + */ + export function dataExportDetailsResponseProvideDefaults(val: DataExportDetailsResponse): DataExportDetailsResponse { + return { + ...val, + logCollectionLevel: (val.logCollectionLevel) ?? "Error", + transferConfiguration: outputs.databox.v20221201.transferConfigurationResponseProvideDefaults(val.transferConfiguration), + }; + } + + /** + * Details of the data to be used for importing data to azure. + */ + export interface DataImportDetailsResponse { + /** + * Account details of the data to be transferred + */ + accountDetails: outputs.databox.v20221201.ManagedDiskDetailsResponse | outputs.databox.v20221201.StorageAccountDetailsResponse; + /** + * Level of the logs to be collected. + */ + logCollectionLevel?: string; + } + /** + * dataImportDetailsResponseProvideDefaults sets the appropriate defaults for DataImportDetailsResponse + */ + export function dataImportDetailsResponseProvideDefaults(val: DataImportDetailsResponse): DataImportDetailsResponse { + return { + ...val, + logCollectionLevel: (val.logCollectionLevel) ?? "Error", + }; + } + + /** + * The secrets related to a databox job. + */ + export interface DataboxJobSecretsResponse { + /** + * Dc Access Security Code for Customer Managed Shipping + */ + dcAccessSecurityCode: outputs.databox.v20221201.DcAccessSecurityCodeResponse; + /** + * Error while fetching the secrets. + */ + error: outputs.databox.v20221201.CloudErrorResponse; + /** + * Used to indicate what type of job secrets object. + * Expected value is 'DataBox'. + */ + jobSecretsType: "DataBox"; + /** + * Contains the list of secret objects for a job. + */ + podSecrets?: outputs.databox.v20221201.DataBoxSecretResponse[]; + } + + /** + * Datacenter instruction for given storage location. + */ + export interface DatacenterAddressInstructionResponseResponse { + /** + * Data center communication instruction + */ + communicationInstruction: string; + /** + * Azure Location where the Data Center serves primarily. + */ + dataCenterAzureLocation: string; + /** + * Data center address type + * Expected value is 'DatacenterAddressInstruction'. + */ + datacenterAddressType: "DatacenterAddressInstruction"; + /** + * List of supported carriers for return shipment. + */ + supportedCarriersForReturnShipment: string[]; + } + + /** + * Datacenter address for given storage location. + */ + export interface DatacenterAddressLocationResponseResponse { + /** + * Special instruction for shipping + */ + additionalShippingInformation: string; + /** + * Address type + */ + addressType: string; + /** + * City name + */ + city: string; + /** + * Company name + */ + company: string; + /** + * Contact person name + */ + contactPersonName: string; + /** + * name of the country + */ + country: string; + /** + * Azure Location where the Data Center serves primarily. + */ + dataCenterAzureLocation: string; + /** + * Data center address type + * Expected value is 'DatacenterAddressLocation'. + */ + datacenterAddressType: "DatacenterAddressLocation"; + /** + * Phone number + */ + phone: string; + /** + * Phone extension + */ + phoneExtension: string; + /** + * name of the state + */ + state: string; + /** + * Street address line 1 + */ + street1: string; + /** + * Street address line 2 + */ + street2: string; + /** + * Street address line 3 + */ + street3: string; + /** + * List of supported carriers for return shipment. + */ + supportedCarriersForReturnShipment: string[]; + /** + * Zip code + */ + zip: string; + } + + /** + * Dc access security code + */ + export interface DcAccessSecurityCodeResponse { + /** + * Forward Dc access security code. + */ + forwardDCAccessCode?: string; + /** + * Reverse Dc access security code. + */ + reverseDCAccessCode?: string; + } + /** - * Password for the share. + * Device erasure details with erasure completion status and erasureordestructionlog sas key */ - password: string; + export interface DeviceErasureDetailsResponse { + /** + * Holds the device erasure completion status + */ + deviceErasureStatus: string; + /** + * Shared access key to download cleanup or destruction certificate for device + */ + erasureOrDestructionCertificateSasKey: string; + } + /** - * Name of the share. + * Contains all the secrets of a Disk. */ - shareName: string; + export interface DiskSecretResponse { + /** + * Bit Locker key of the disk which can be used to unlock the disk to copy data. + */ + bitLockerKey: string; + /** + * Serial number of the assigned disk. + */ + diskSerialNumber: string; + } + /** - * Type of the share. + * Preferences related to the Encryption. */ - shareType: string; + export interface EncryptionPreferencesResponse { + /** + * Defines secondary layer of software-based encryption enablement. + */ + doubleEncryption?: string; + /** + * Defines Hardware level encryption (Only for disk) + */ + hardwareEncryption?: string; + } /** - * Access protocols supported on the device. + * encryptionPreferencesResponseProvideDefaults sets the appropriate defaults for EncryptionPreferencesResponse */ - supportedAccessProtocols: string[]; + export function encryptionPreferencesResponseProvideDefaults(val: EncryptionPreferencesResponse): EncryptionPreferencesResponse { + return { + ...val, + doubleEncryption: (val.doubleEncryption) ?? "Disabled", + }; + } + /** - * User name for the share. + * Export disk details */ - userName: string; - } + export interface ExportDiskDetailsResponse { + /** + * Path to backed up manifest, only returned if enableManifestBackup is true. + */ + backupManifestCloudPath: string; + /** + * The relative path of the manifest file on the disk. + */ + manifestFile: string; + /** + * The Base16-encoded MD5 hash of the manifest file on the disk. + */ + manifestHash: string; + } - /** - * Shipping address where customer wishes to receive the device. - */ - export interface ShippingAddressResponse { /** - * Type of address. + * Details of the filter files to be used for data transfer. */ - addressType?: string; + export interface FilterFileDetailsResponse { + /** + * Path of the file that contains the details of all items to transfer. + */ + filterFilePath: string; + /** + * Type of the filter file. + */ + filterFileType: string; + } + /** - * Name of the City. + * Managed identity properties. */ - city?: string; + export interface IdentityPropertiesResponse { + /** + * Managed service identity type. + */ + type?: string; + /** + * User assigned identity properties. + */ + userAssigned?: outputs.databox.v20221201.UserAssignedPropertiesResponse; + } + /** - * Name of the company. + * Import disk details */ - companyName?: string; + export interface ImportDiskDetailsResponse { + /** + * Path to backed up manifest, only returned if enableManifestBackup is true. + */ + backupManifestCloudPath: string; + /** + * BitLocker key used to encrypt the disk. + */ + bitLockerKey: string; + /** + * The relative path of the manifest file on the disk. + */ + manifestFile: string; + /** + * The Base16-encoded MD5 hash of the manifest file on the disk. + */ + manifestHash: string; + } + /** - * Name of the Country. + * Additional delivery info. */ - country: string; + export interface JobDeliveryInfoResponse { + /** + * Scheduled date time. + */ + scheduledDateTime?: string; + } + /** - * Postal code. + * Job stages. */ - postalCode?: string; + export interface JobStagesResponse { + /** + * Display name of the job stage. + */ + displayName: string; + /** + * Job Stage Details + */ + jobStageDetails: any; + /** + * Name of the job stage. + */ + stageName: string; + /** + * Status of the job stage. + */ + stageStatus: string; + /** + * Time for the job stage in UTC ISO 8601 format. + */ + stageTime: string; + } + /** - * Flag to indicate if customer has chosen to skip default address validation + * Encryption key containing details about key to encrypt different keys. */ - skipAddressValidation?: boolean; + export interface KeyEncryptionKeyResponse { + /** + * Managed identity properties used for key encryption. + */ + identityProperties?: outputs.databox.v20221201.IdentityPropertiesResponse; + /** + * Type of encryption key used for key encryption. + */ + kekType: string; + /** + * Key encryption key. It is required in case of Customer managed KekType. + */ + kekUrl?: string; + /** + * Kek vault resource id. It is required in case of Customer managed KekType. + */ + kekVaultResourceID?: string; + } /** - * Name of the State or Province. + * keyEncryptionKeyResponseProvideDefaults sets the appropriate defaults for KeyEncryptionKeyResponse */ - stateOrProvince?: string; + export function keyEncryptionKeyResponseProvideDefaults(val: KeyEncryptionKeyResponse): KeyEncryptionKeyResponse { + return { + ...val, + kekType: (val.kekType) ?? "MicrosoftManaged", + }; + } + /** - * Street Address line 1. + * Last Mitigation Action Performed On Job */ - streetAddress1: string; + export interface LastMitigationActionOnJobResponse { + /** + * Action performed date time + */ + actionDateTimeInUtc?: string; + /** + * Resolution code provided by customer + */ + customerResolution?: string; + /** + * Action performed by customer, + * possibility is that mitigation might happen by customer or service or by ops + */ + isPerformedByCustomer?: boolean; + } + /** - * Street Address line 2. + * Details of the managed disks. */ - streetAddress2?: string; + export interface ManagedDiskDetailsResponse { + /** + * Account Type of the data to be transferred. + * Expected value is 'ManagedDisk'. + */ + dataAccountType: "ManagedDisk"; + /** + * Resource Group Id of the compute disks. + */ + resourceGroupId: string; + /** + * Resource Id of the storage account that can be used to copy the vhd for staging. + */ + stagingStorageAccountId: string; + } /** - * Street Address line 3. + * managedDiskDetailsResponseProvideDefaults sets the appropriate defaults for ManagedDiskDetailsResponse */ - streetAddress3?: string; + export function managedDiskDetailsResponseProvideDefaults(val: ManagedDiskDetailsResponse): ManagedDiskDetailsResponse { + return { + ...val, + dataAccountType: (val.dataAccountType) ?? "StorageAccount", + }; + } + /** - * Tax Identification Number + * Notification preference for a job stage. */ - taxIdentificationNumber?: string; + export interface NotificationPreferenceResponse { + /** + * Notification is required or not. + */ + sendNotification: boolean; + /** + * Name of the stage. + */ + stageName: string; + } /** - * Extended Zip Code. + * notificationPreferenceResponseProvideDefaults sets the appropriate defaults for NotificationPreferenceResponse */ - zipExtendedCode?: string; - } - /** - * shippingAddressResponseProvideDefaults sets the appropriate defaults for ShippingAddressResponse - */ - export function shippingAddressResponseProvideDefaults(val: ShippingAddressResponse): ShippingAddressResponse { - return { - ...val, - addressType: (val.addressType) ?? "None", - }; - } + export function notificationPreferenceResponseProvideDefaults(val: NotificationPreferenceResponse): NotificationPreferenceResponse { + return { + ...val, + sendNotification: (val.sendNotification) ?? true, + }; + } - /** - * The Sku. - */ - export interface SkuResponse { /** - * The display name of the sku. + * Package carrier details. */ - displayName?: string; + export interface PackageCarrierDetailsResponse { + /** + * Carrier Account Number of customer for customer disk. + */ + carrierAccountNumber?: string; + /** + * Name of the carrier. + */ + carrierName?: string; + /** + * Tracking Id of shipment. + */ + trackingId?: string; + } + /** - * The sku family. + * package carrier info */ - family?: string; + export interface PackageCarrierInfoResponse { + /** + * Name of the carrier. + */ + carrierName?: string; + /** + * Tracking Id of shipment. + */ + trackingId?: string; + } + /** - * The sku name. + * package shipping details */ - name: string; - } + export interface PackageShippingDetailsResponse { + /** + * Name of the carrier. + */ + carrierName: string; + /** + * Tracking Id of shipment. + */ + trackingId: string; + /** + * Url where shipment can be tracked. + */ + trackingUrl: string; + } - /** - * Details for the storage account. - */ - export interface StorageAccountDetailsResponse { /** - * Account Type of the data to be transferred. - * Expected value is 'StorageAccount'. + * Preferences related to the order */ - dataAccountType: "StorageAccount"; + export interface PreferencesResponse { + /** + * Preferences related to the Encryption. + */ + encryptionPreferences?: outputs.databox.v20221201.EncryptionPreferencesResponse; + /** + * Preferred data center region. + */ + preferredDataCenterRegion?: string[]; + /** + * Optional Preferences related to the reverse shipment logistics of the sku. + */ + reverseTransportPreferences?: outputs.databox.v20221201.TransportPreferencesResponse; + /** + * Preferences related to the Access Tier of storage accounts. + */ + storageAccountAccessTierPreferences?: string[]; + /** + * Preferences related to the shipment logistics of the sku. + */ + transportPreferences?: outputs.databox.v20221201.TransportPreferencesResponse; + } /** - * Storage Account Resource Id. + * preferencesResponseProvideDefaults sets the appropriate defaults for PreferencesResponse */ - storageAccountId: string; - } - /** - * storageAccountDetailsResponseProvideDefaults sets the appropriate defaults for StorageAccountDetailsResponse - */ - export function storageAccountDetailsResponseProvideDefaults(val: StorageAccountDetailsResponse): StorageAccountDetailsResponse { - return { - ...val, - dataAccountType: (val.dataAccountType) ?? "StorageAccount", - }; - } + export function preferencesResponseProvideDefaults(val: PreferencesResponse): PreferencesResponse { + return { + ...val, + encryptionPreferences: (val.encryptionPreferences ? outputs.databox.v20221201.encryptionPreferencesResponseProvideDefaults(val.encryptionPreferences) : undefined), + }; + } - /** - * Provides details about resource creation and update time - */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC) - */ - createdAt: string; /** - * A string identifier for the identity that created the resource + * Msi identity details of the resource */ - createdBy: string; + export interface ResourceIdentityResponse { + /** + * Service Principal Id backing the Msi + */ + principalId: string; + /** + * Home Tenant Id + */ + tenantId: string; + /** + * Identity type + */ + type?: string; + /** + * User Assigned Identities + */ + userAssignedIdentities?: {[key: string]: outputs.databox.v20221201.UserAssignedIdentityResponse}; + } /** - * The type of identity that created the resource: user, application, managedIdentity + * resourceIdentityResponseProvideDefaults sets the appropriate defaults for ResourceIdentityResponse */ - createdByType: string; + export function resourceIdentityResponseProvideDefaults(val: ResourceIdentityResponse): ResourceIdentityResponse { + return { + ...val, + type: (val.type) ?? "None", + }; + } + /** - * The timestamp of resource last modification (UTC) + * Reverse Shipping Address and contact details for a job. */ - lastModifiedAt: string; + export interface ReverseShippingDetailsResponse { + /** + * Contact Info. + */ + contactDetails?: outputs.databox.v20221201.ContactInfoResponse; + /** + * A flag to indicate whether Reverse Shipping details are updated or not after device has been prepared. + * Read only field + */ + isUpdated: boolean; + /** + * Shipping address where customer wishes to receive the device. + */ + shippingAddress?: outputs.databox.v20221201.ShippingAddressResponse; + } /** - * A string identifier for the identity that last modified the resource + * reverseShippingDetailsResponseProvideDefaults sets the appropriate defaults for ReverseShippingDetailsResponse */ - lastModifiedBy: string; + export function reverseShippingDetailsResponseProvideDefaults(val: ReverseShippingDetailsResponse): ReverseShippingDetailsResponse { + return { + ...val, + shippingAddress: (val.shippingAddress ? outputs.databox.v20221201.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + }; + } + /** - * The type of identity that last modified the resource: user, application, managedIdentity + * Credential details of the shares in account. */ - lastModifiedByType: string; - } + export interface ShareCredentialDetailsResponse { + /** + * Password for the share. + */ + password: string; + /** + * Name of the share. + */ + shareName: string; + /** + * Type of the share. + */ + shareType: string; + /** + * Access protocols supported on the device. + */ + supportedAccessProtocols: string[]; + /** + * User name for the share. + */ + userName: string; + } - /** - * Details to transfer all data. - */ - export interface TransferAllDetailsResponse { /** - * Type of the account of data + * Shipping address where customer wishes to receive the device. */ - dataAccountType: string; + export interface ShippingAddressResponse { + /** + * Type of address. + */ + addressType?: string; + /** + * Name of the City. + */ + city?: string; + /** + * Name of the company. + */ + companyName?: string; + /** + * Name of the Country. + */ + country: string; + /** + * Postal code. + */ + postalCode?: string; + /** + * Flag to indicate if customer has chosen to skip default address validation + */ + skipAddressValidation?: boolean; + /** + * Name of the State or Province. + */ + stateOrProvince?: string; + /** + * Street Address line 1. + */ + streetAddress1: string; + /** + * Street Address line 2. + */ + streetAddress2?: string; + /** + * Street Address line 3. + */ + streetAddress3?: string; + /** + * Tax Identification Number + */ + taxIdentificationNumber?: string; + /** + * Extended Zip Code. + */ + zipExtendedCode?: string; + } /** - * To indicate if all Azure blobs have to be transferred + * shippingAddressResponseProvideDefaults sets the appropriate defaults for ShippingAddressResponse */ - transferAllBlobs?: boolean; + export function shippingAddressResponseProvideDefaults(val: ShippingAddressResponse): ShippingAddressResponse { + return { + ...val, + addressType: (val.addressType) ?? "None", + }; + } + /** - * To indicate if all Azure Files have to be transferred + * The Sku. */ - transferAllFiles?: boolean; - } - /** - * transferAllDetailsResponseProvideDefaults sets the appropriate defaults for TransferAllDetailsResponse - */ - export function transferAllDetailsResponseProvideDefaults(val: TransferAllDetailsResponse): TransferAllDetailsResponse { - return { - ...val, - dataAccountType: (val.dataAccountType) ?? "StorageAccount", - }; - } + export interface SkuResponse { + /** + * The display name of the sku. + */ + displayName?: string; + /** + * The sku family. + */ + family?: string; + /** + * The sku name. + */ + name: string; + } - /** - * Configuration for defining the transfer of data. - */ - export interface TransferConfigurationResponse { /** - * Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + * Details for the storage account. */ - transferAllDetails?: outputs.databox.TransferConfigurationResponseTransferAllDetails; + export interface StorageAccountDetailsResponse { + /** + * Account Type of the data to be transferred. + * Expected value is 'StorageAccount'. + */ + dataAccountType: "StorageAccount"; + /** + * Storage Account Resource Id. + */ + storageAccountId: string; + } /** - * Type of the configuration for transfer. + * storageAccountDetailsResponseProvideDefaults sets the appropriate defaults for StorageAccountDetailsResponse */ - transferConfigurationType: string; + export function storageAccountDetailsResponseProvideDefaults(val: StorageAccountDetailsResponse): StorageAccountDetailsResponse { + return { + ...val, + dataAccountType: (val.dataAccountType) ?? "StorageAccount", + }; + } + /** - * Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + * Provides details about resource creation and update time */ - transferFilterDetails?: outputs.databox.TransferConfigurationResponseTransferFilterDetails; - } - /** - * transferConfigurationResponseProvideDefaults sets the appropriate defaults for TransferConfigurationResponse - */ - export function transferConfigurationResponseProvideDefaults(val: TransferConfigurationResponse): TransferConfigurationResponse { - return { - ...val, - transferAllDetails: (val.transferAllDetails ? outputs.databox.transferConfigurationResponseTransferAllDetailsProvideDefaults(val.transferAllDetails) : undefined), - transferFilterDetails: (val.transferFilterDetails ? outputs.databox.transferConfigurationResponseTransferFilterDetailsProvideDefaults(val.transferFilterDetails) : undefined), - }; - } + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC) + */ + createdAt: string; + /** + * A string identifier for the identity that created the resource + */ + createdBy: string; + /** + * The type of identity that created the resource: user, application, managedIdentity + */ + createdByType: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt: string; + /** + * A string identifier for the identity that last modified the resource + */ + lastModifiedBy: string; + /** + * The type of identity that last modified the resource: user, application, managedIdentity + */ + lastModifiedByType: string; + } - /** - * Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll - */ - export interface TransferConfigurationResponseTransferAllDetails { /** * Details to transfer all data. */ - include?: outputs.databox.TransferAllDetailsResponse; - } - /** - * transferConfigurationResponseTransferAllDetailsProvideDefaults sets the appropriate defaults for TransferConfigurationResponseTransferAllDetails - */ - export function transferConfigurationResponseTransferAllDetailsProvideDefaults(val: TransferConfigurationResponseTransferAllDetails): TransferConfigurationResponseTransferAllDetails { - return { - ...val, - include: (val.include ? outputs.databox.transferAllDetailsResponseProvideDefaults(val.include) : undefined), - }; - } - - /** - * Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. - */ - export interface TransferConfigurationResponseTransferFilterDetails { + export interface TransferAllDetailsResponse { + /** + * Type of the account of data + */ + dataAccountType: string; + /** + * To indicate if all Azure blobs have to be transferred + */ + transferAllBlobs?: boolean; + /** + * To indicate if all Azure Files have to be transferred + */ + transferAllFiles?: boolean; + } /** - * Details of the filtering the transfer of data. + * transferAllDetailsResponseProvideDefaults sets the appropriate defaults for TransferAllDetailsResponse */ - include?: outputs.databox.TransferFilterDetailsResponse; - } - /** - * transferConfigurationResponseTransferFilterDetailsProvideDefaults sets the appropriate defaults for TransferConfigurationResponseTransferFilterDetails - */ - export function transferConfigurationResponseTransferFilterDetailsProvideDefaults(val: TransferConfigurationResponseTransferFilterDetails): TransferConfigurationResponseTransferFilterDetails { - return { - ...val, - include: (val.include ? outputs.databox.transferFilterDetailsResponseProvideDefaults(val.include) : undefined), - }; - } + export function transferAllDetailsResponseProvideDefaults(val: TransferAllDetailsResponse): TransferAllDetailsResponse { + return { + ...val, + dataAccountType: (val.dataAccountType) ?? "StorageAccount", + }; + } - /** - * Details of the filtering the transfer of data. - */ - export interface TransferFilterDetailsResponse { /** - * Filter details to transfer Azure files. + * Configuration for defining the transfer of data. */ - azureFileFilterDetails?: outputs.databox.AzureFileFilterDetailsResponse; + export interface TransferConfigurationResponse { + /** + * Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + */ + transferAllDetails?: outputs.databox.v20221201.TransferConfigurationResponseTransferAllDetails; + /** + * Type of the configuration for transfer. + */ + transferConfigurationType: string; + /** + * Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + */ + transferFilterDetails?: outputs.databox.v20221201.TransferConfigurationResponseTransferFilterDetails; + } /** - * Filter details to transfer blobs. + * transferConfigurationResponseProvideDefaults sets the appropriate defaults for TransferConfigurationResponse */ - blobFilterDetails?: outputs.databox.BlobFilterDetailsResponse; + export function transferConfigurationResponseProvideDefaults(val: TransferConfigurationResponse): TransferConfigurationResponse { + return { + ...val, + transferAllDetails: (val.transferAllDetails ? outputs.databox.v20221201.transferConfigurationResponseTransferAllDetailsProvideDefaults(val.transferAllDetails) : undefined), + transferFilterDetails: (val.transferFilterDetails ? outputs.databox.v20221201.transferConfigurationResponseTransferFilterDetailsProvideDefaults(val.transferFilterDetails) : undefined), + }; + } + /** - * Type of the account of data. + * Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll */ - dataAccountType: string; + export interface TransferConfigurationResponseTransferAllDetails { + /** + * Details to transfer all data. + */ + include?: outputs.databox.v20221201.TransferAllDetailsResponse; + } /** - * Details of the filter files to be used for data transfer. + * transferConfigurationResponseTransferAllDetailsProvideDefaults sets the appropriate defaults for TransferConfigurationResponseTransferAllDetails */ - filterFileDetails?: outputs.databox.FilterFileDetailsResponse[]; - } - /** - * transferFilterDetailsResponseProvideDefaults sets the appropriate defaults for TransferFilterDetailsResponse - */ - export function transferFilterDetailsResponseProvideDefaults(val: TransferFilterDetailsResponse): TransferFilterDetailsResponse { - return { - ...val, - dataAccountType: (val.dataAccountType) ?? "StorageAccount", - }; - } + export function transferConfigurationResponseTransferAllDetailsProvideDefaults(val: TransferConfigurationResponseTransferAllDetails): TransferConfigurationResponseTransferAllDetails { + return { + ...val, + include: (val.include ? outputs.databox.v20221201.transferAllDetailsResponseProvideDefaults(val.include) : undefined), + }; + } - /** - * Preferences related to the shipment logistics of the sku - */ - export interface TransportPreferencesResponse { /** - * Read only property which indicates whether transport preferences has been updated or not after device is prepared. + * Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. */ - isUpdated: boolean; + export interface TransferConfigurationResponseTransferFilterDetails { + /** + * Details of the filtering the transfer of data. + */ + include?: outputs.databox.v20221201.TransferFilterDetailsResponse; + } /** - * Indicates Shipment Logistics type that the customer preferred. + * transferConfigurationResponseTransferFilterDetailsProvideDefaults sets the appropriate defaults for TransferConfigurationResponseTransferFilterDetails */ - preferredShipmentType: string; - } + export function transferConfigurationResponseTransferFilterDetailsProvideDefaults(val: TransferConfigurationResponseTransferFilterDetails): TransferConfigurationResponseTransferFilterDetails { + return { + ...val, + include: (val.include ? outputs.databox.v20221201.transferFilterDetailsResponseProvideDefaults(val.include) : undefined), + }; + } - /** - * Unencrypted credentials for accessing device. - */ - export interface UnencryptedCredentialsResponse { /** - * Name of the job. + * Details of the filtering the transfer of data. */ - jobName: string; + export interface TransferFilterDetailsResponse { + /** + * Filter details to transfer Azure files. + */ + azureFileFilterDetails?: outputs.databox.v20221201.AzureFileFilterDetailsResponse; + /** + * Filter details to transfer blobs. + */ + blobFilterDetails?: outputs.databox.v20221201.BlobFilterDetailsResponse; + /** + * Type of the account of data. + */ + dataAccountType: string; + /** + * Details of the filter files to be used for data transfer. + */ + filterFileDetails?: outputs.databox.v20221201.FilterFileDetailsResponse[]; + } /** - * Secrets related to this job. + * transferFilterDetailsResponseProvideDefaults sets the appropriate defaults for TransferFilterDetailsResponse */ - jobSecrets: outputs.databox.CustomerDiskJobSecretsResponse | outputs.databox.DataBoxDiskJobSecretsResponse | outputs.databox.DataBoxHeavyJobSecretsResponse | outputs.databox.DataboxJobSecretsResponse; - } + export function transferFilterDetailsResponseProvideDefaults(val: TransferFilterDetailsResponse): TransferFilterDetailsResponse { + return { + ...val, + dataAccountType: (val.dataAccountType) ?? "StorageAccount", + }; + } - /** - * Class defining User assigned identity details. - */ - export interface UserAssignedIdentityResponse { /** - * The client id of user assigned identity. + * Preferences related to the shipment logistics of the sku */ - clientId: string; + export interface TransportPreferencesResponse { + /** + * Read only property which indicates whether transport preferences has been updated or not after device is prepared. + */ + isUpdated: boolean; + /** + * Indicates Shipment Logistics type that the customer preferred. + */ + preferredShipmentType: string; + } + /** - * The principal id of user assigned identity. + * Unencrypted credentials for accessing device. */ - principalId: string; - } + export interface UnencryptedCredentialsResponse { + /** + * Name of the job. + */ + jobName: string; + /** + * Secrets related to this job. + */ + jobSecrets: outputs.databox.v20221201.CustomerDiskJobSecretsResponse | outputs.databox.v20221201.DataBoxDiskJobSecretsResponse | outputs.databox.v20221201.DataBoxHeavyJobSecretsResponse | outputs.databox.v20221201.DataboxJobSecretsResponse; + } - /** - * User assigned identity properties. - */ - export interface UserAssignedPropertiesResponse { /** - * Arm resource id for user assigned identity to be used to fetch MSI token. + * Class defining User assigned identity details. */ - resourceId?: string; + export interface UserAssignedIdentityResponse { + /** + * The client id of user assigned identity. + */ + clientId: string; + /** + * The principal id of user assigned identity. + */ + principalId: string; + } + + /** + * User assigned identity properties. + */ + export interface UserAssignedPropertiesResponse { + /** + * Arm resource id for user assigned identity to be used to fetch MSI token. + */ + resourceId?: string; + } + } - export namespace v20221201 { + export namespace v20230301 { /** * Credential details of the account. */ @@ -97648,7 +105806,7 @@ export namespace databox { /** * Per share level unencrypted access credentials. */ - shareCredentialDetails: outputs.databox.v20221201.ShareCredentialDetailsResponse[]; + shareCredentialDetails: outputs.databox.v20230301.ShareCredentialDetailsResponse[]; } /** @@ -97722,7 +105880,7 @@ export namespace databox { /** * Gets or sets additional error info. */ - additionalInfo: outputs.databox.v20221201.AdditionalErrorInfoResponse[]; + additionalInfo: outputs.databox.v20230301.AdditionalErrorInfoResponse[]; /** * Error code. */ @@ -97730,7 +105888,7 @@ export namespace databox { /** * Gets or sets details for the error. */ - details: outputs.databox.v20221201.CloudErrorResponse[]; + details: outputs.databox.v20230301.CloudErrorResponse[]; /** * The error message parsed from the body of the http error response. */ @@ -97760,7 +105918,7 @@ export namespace databox { /** * Notification preference for a job stage. */ - notificationPreference?: outputs.databox.v20221201.NotificationPreferenceResponse[]; + notificationPreference?: outputs.databox.v20230301.NotificationPreferenceResponse[]; /** * Phone number of the contact person. */ @@ -97820,7 +105978,7 @@ export namespace databox { /** * Error, if any, in the stage */ - error: outputs.databox.v20221201.CloudErrorResponse; + error: outputs.databox.v20230301.CloudErrorResponse; /** * Number of files which could not be copied */ @@ -97879,15 +106037,15 @@ export namespace databox { /** * Dc Access Security Code for Customer Managed Shipping */ - dcAccessSecurityCode: outputs.databox.v20221201.DcAccessSecurityCodeResponse; + dcAccessSecurityCode: outputs.databox.v20230301.DcAccessSecurityCodeResponse; /** * Contains the list of secrets object for that device. */ - diskSecrets: outputs.databox.v20221201.DiskSecretResponse[]; + diskSecrets: outputs.databox.v20230301.DiskSecretResponse[]; /** * Error while fetching the secrets. */ - error: outputs.databox.v20221201.CloudErrorResponse; + error: outputs.databox.v20230301.CloudErrorResponse; /** * Used to indicate what type of job secrets object. * Expected value is 'DataBoxCustomerDisk'. @@ -97972,7 +106130,7 @@ export namespace databox { /** * Error, if any, in the stage */ - error: outputs.databox.v20221201.CloudErrorResponse; + error: outputs.databox.v20230301.CloudErrorResponse; /** * Number of files which could not be copied */ @@ -98039,15 +106197,15 @@ export namespace databox { /** * Contact details for notification and shipping. */ - contactDetails: outputs.databox.v20221201.ContactDetailsResponse; + contactDetails: outputs.databox.v20230301.ContactDetailsResponse; /** * List of copy log details. */ - copyLogDetails: (outputs.databox.v20221201.DataBoxAccountCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + copyLogDetails: (outputs.databox.v20230301.DataBoxAccountCopyLogDetailsResponse | outputs.databox.v20230301.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.v20230301.DataBoxDiskCopyLogDetailsResponse | outputs.databox.v20230301.DataBoxHeavyAccountCopyLogDetailsResponse)[]; /** * Copy progress per disk. */ - copyProgress: outputs.databox.v20221201.DataBoxCustomerDiskCopyProgressResponse[]; + copyProgress: outputs.databox.v20230301.DataBoxCustomerDiskCopyProgressResponse[]; /** * DataCenter code. */ @@ -98055,27 +106213,27 @@ export namespace databox { /** * Details of the data to be exported from azure. */ - dataExportDetails?: outputs.databox.v20221201.DataExportDetailsResponse[]; + dataExportDetails?: outputs.databox.v20230301.DataExportDetailsResponse[]; /** * Details of the data to be imported into azure. */ - dataImportDetails?: outputs.databox.v20221201.DataImportDetailsResponse[]; + dataImportDetails?: outputs.databox.v20230301.DataImportDetailsResponse[]; /** * Datacenter address to ship to, for the given sku and storage location. */ - datacenterAddress: outputs.databox.v20221201.DatacenterAddressInstructionResponseResponse | outputs.databox.v20221201.DatacenterAddressLocationResponseResponse; + datacenterAddress: outputs.databox.v20230301.DatacenterAddressInstructionResponseResponse | outputs.databox.v20230301.DatacenterAddressLocationResponseResponse; /** * Delivery package shipping details. */ - deliverToDcPackageDetails: outputs.databox.v20221201.PackageCarrierInfoResponse; + deliverToDcPackageDetails: outputs.databox.v20230301.PackageCarrierInfoResponse; /** * Delivery package shipping details. */ - deliveryPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + deliveryPackage: outputs.databox.v20230301.PackageShippingDetailsResponse; /** * Holds device data erasure details */ - deviceErasureDetails: outputs.databox.v20221201.DeviceErasureDetailsResponse; + deviceErasureDetails: outputs.databox.v20230301.DeviceErasureDetailsResponse; /** * Flag to indicate if disk manifest should be backed-up in the Storage Account. */ @@ -98087,11 +106245,11 @@ export namespace databox { /** * Contains the map of disk serial number to the disk details for export jobs. */ - exportDiskDetailsCollection: {[key: string]: outputs.databox.v20221201.ExportDiskDetailsResponse}; + exportDiskDetailsCollection: {[key: string]: outputs.databox.v20230301.ExportDiskDetailsResponse}; /** * Contains the map of disk serial number to the disk details for import jobs. */ - importDiskDetailsCollection?: {[key: string]: outputs.databox.v20221201.ImportDiskDetailsResponse}; + importDiskDetailsCollection?: {[key: string]: outputs.databox.v20230301.ImportDiskDetailsResponse}; /** * Indicates the type of job details. * Expected value is 'DataBoxCustomerDisk'. @@ -98100,27 +106258,27 @@ export namespace databox { /** * List of stages that run in the job. */ - jobStages: outputs.databox.v20221201.JobStagesResponse[]; + jobStages: outputs.databox.v20230301.JobStagesResponse[]; /** * Details about which key encryption type is being used. */ - keyEncryptionKey?: outputs.databox.v20221201.KeyEncryptionKeyResponse; + keyEncryptionKey?: outputs.databox.v20230301.KeyEncryptionKeyResponse; /** * Last mitigation action performed on the job. */ - lastMitigationActionOnJob: outputs.databox.v20221201.LastMitigationActionOnJobResponse; + lastMitigationActionOnJob: outputs.databox.v20230301.LastMitigationActionOnJobResponse; /** * Preferences for the order. */ - preferences?: outputs.databox.v20221201.PreferencesResponse; + preferences?: outputs.databox.v20230301.PreferencesResponse; /** * Return package shipping details. */ - returnPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + returnPackage: outputs.databox.v20230301.PackageShippingDetailsResponse; /** * Return package shipping details. */ - returnToCustomerPackageDetails: outputs.databox.v20221201.PackageCarrierDetailsResponse; + returnToCustomerPackageDetails: outputs.databox.v20230301.PackageCarrierDetailsResponse; /** * Shared access key to download the return shipment label */ @@ -98128,11 +106286,11 @@ export namespace databox { /** * Optional Reverse Shipping details for order. */ - reverseShippingDetails?: outputs.databox.v20221201.ReverseShippingDetailsResponse; + reverseShippingDetails?: outputs.databox.v20230301.ReverseShippingDetailsResponse; /** * Shipping address of the customer. */ - shippingAddress?: outputs.databox.v20221201.ShippingAddressResponse; + shippingAddress?: outputs.databox.v20230301.ShippingAddressResponse; } /** * dataBoxCustomerDiskJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxCustomerDiskJobDetailsResponse @@ -98141,10 +106299,10 @@ export namespace databox { return { ...val, enableManifestBackup: (val.enableManifestBackup) ?? false, - keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.v20221201.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), - preferences: (val.preferences ? outputs.databox.v20221201.preferencesResponseProvideDefaults(val.preferences) : undefined), - reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.v20221201.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), - shippingAddress: (val.shippingAddress ? outputs.databox.v20221201.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.v20230301.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), + preferences: (val.preferences ? outputs.databox.v20230301.preferencesResponseProvideDefaults(val.preferences) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.v20230301.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.v20230301.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), }; } @@ -98186,7 +106344,7 @@ export namespace databox { /** * Error, if any, in the stage */ - error: outputs.databox.v20221201.CloudErrorResponse; + error: outputs.databox.v20230301.CloudErrorResponse; /** * Indicates the percentage completed for the copy of the disk. */ @@ -98259,7 +106417,7 @@ export namespace databox { /** * Error, if any, in the stage */ - error: outputs.databox.v20221201.CloudErrorResponse; + error: outputs.databox.v20230301.CloudErrorResponse; /** * Number of files which could not be copied */ @@ -98326,15 +106484,15 @@ export namespace databox { /** * Contact details for notification and shipping. */ - contactDetails: outputs.databox.v20221201.ContactDetailsResponse; + contactDetails: outputs.databox.v20230301.ContactDetailsResponse; /** * List of copy log details. */ - copyLogDetails: (outputs.databox.v20221201.DataBoxAccountCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + copyLogDetails: (outputs.databox.v20230301.DataBoxAccountCopyLogDetailsResponse | outputs.databox.v20230301.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.v20230301.DataBoxDiskCopyLogDetailsResponse | outputs.databox.v20230301.DataBoxHeavyAccountCopyLogDetailsResponse)[]; /** * Copy progress per disk. */ - copyProgress: outputs.databox.v20221201.DataBoxDiskCopyProgressResponse[]; + copyProgress: outputs.databox.v20230301.DataBoxDiskCopyProgressResponse[]; /** * DataCenter code. */ @@ -98342,23 +106500,23 @@ export namespace databox { /** * Details of the data to be exported from azure. */ - dataExportDetails?: outputs.databox.v20221201.DataExportDetailsResponse[]; + dataExportDetails?: outputs.databox.v20230301.DataExportDetailsResponse[]; /** * Details of the data to be imported into azure. */ - dataImportDetails?: outputs.databox.v20221201.DataImportDetailsResponse[]; + dataImportDetails?: outputs.databox.v20230301.DataImportDetailsResponse[]; /** * Datacenter address to ship to, for the given sku and storage location. */ - datacenterAddress: outputs.databox.v20221201.DatacenterAddressInstructionResponseResponse | outputs.databox.v20221201.DatacenterAddressLocationResponseResponse; + datacenterAddress: outputs.databox.v20230301.DatacenterAddressInstructionResponseResponse | outputs.databox.v20230301.DatacenterAddressLocationResponseResponse; /** * Delivery package shipping details. */ - deliveryPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + deliveryPackage: outputs.databox.v20230301.PackageShippingDetailsResponse; /** * Holds device data erasure details */ - deviceErasureDetails: outputs.databox.v20221201.DeviceErasureDetailsResponse; + deviceErasureDetails: outputs.databox.v20230301.DeviceErasureDetailsResponse; /** * Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer. */ @@ -98370,11 +106528,11 @@ export namespace databox { /** * Copy progress per disk. */ - granularCopyLogDetails: outputs.databox.v20221201.DataBoxDiskGranularCopyLogDetailsResponse[]; + granularCopyLogDetails: outputs.databox.v20230301.DataBoxDiskGranularCopyLogDetailsResponse[]; /** * Copy progress per disk. */ - granularCopyProgress: outputs.databox.v20221201.DataBoxDiskGranularCopyProgressResponse[]; + granularCopyProgress: outputs.databox.v20230301.DataBoxDiskGranularCopyProgressResponse[]; /** * Indicates the type of job details. * Expected value is 'DataBoxDisk'. @@ -98383,15 +106541,15 @@ export namespace databox { /** * List of stages that run in the job. */ - jobStages: outputs.databox.v20221201.JobStagesResponse[]; + jobStages: outputs.databox.v20230301.JobStagesResponse[]; /** * Details about which key encryption type is being used. */ - keyEncryptionKey?: outputs.databox.v20221201.KeyEncryptionKeyResponse; + keyEncryptionKey?: outputs.databox.v20230301.KeyEncryptionKeyResponse; /** * Last mitigation action performed on the job. */ - lastMitigationActionOnJob: outputs.databox.v20221201.LastMitigationActionOnJobResponse; + lastMitigationActionOnJob: outputs.databox.v20230301.LastMitigationActionOnJobResponse; /** * User entered passkey for DataBox Disk job. */ @@ -98399,7 +106557,7 @@ export namespace databox { /** * Preferences for the order. */ - preferences?: outputs.databox.v20221201.PreferencesResponse; + preferences?: outputs.databox.v20230301.PreferencesResponse; /** * User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. */ @@ -98407,7 +106565,7 @@ export namespace databox { /** * Return package shipping details. */ - returnPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + returnPackage: outputs.databox.v20230301.PackageShippingDetailsResponse; /** * Shared access key to download the return shipment label */ @@ -98415,11 +106573,11 @@ export namespace databox { /** * Optional Reverse Shipping details for order. */ - reverseShippingDetails?: outputs.databox.v20221201.ReverseShippingDetailsResponse; + reverseShippingDetails?: outputs.databox.v20230301.ReverseShippingDetailsResponse; /** * Shipping address of the customer. */ - shippingAddress?: outputs.databox.v20221201.ShippingAddressResponse; + shippingAddress?: outputs.databox.v20230301.ShippingAddressResponse; } /** * dataBoxDiskJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxDiskJobDetailsResponse @@ -98427,10 +106585,10 @@ export namespace databox { export function dataBoxDiskJobDetailsResponseProvideDefaults(val: DataBoxDiskJobDetailsResponse): DataBoxDiskJobDetailsResponse { return { ...val, - keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.v20221201.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), - preferences: (val.preferences ? outputs.databox.v20221201.preferencesResponseProvideDefaults(val.preferences) : undefined), - reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.v20221201.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), - shippingAddress: (val.shippingAddress ? outputs.databox.v20221201.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.v20230301.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), + preferences: (val.preferences ? outputs.databox.v20230301.preferencesResponseProvideDefaults(val.preferences) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.v20230301.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.v20230301.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), }; } @@ -98441,15 +106599,15 @@ export namespace databox { /** * Dc Access Security Code for Customer Managed Shipping */ - dcAccessSecurityCode: outputs.databox.v20221201.DcAccessSecurityCodeResponse; + dcAccessSecurityCode: outputs.databox.v20230301.DcAccessSecurityCodeResponse; /** * Contains the list of secrets object for that device. */ - diskSecrets: outputs.databox.v20221201.DiskSecretResponse[]; + diskSecrets: outputs.databox.v20230301.DiskSecretResponse[]; /** * Error while fetching the secrets. */ - error: outputs.databox.v20221201.CloudErrorResponse; + error: outputs.databox.v20230301.CloudErrorResponse; /** * Whether passkey was provided by user. */ @@ -98503,15 +106661,15 @@ export namespace databox { /** * Contact details for notification and shipping. */ - contactDetails: outputs.databox.v20221201.ContactDetailsResponse; + contactDetails: outputs.databox.v20230301.ContactDetailsResponse; /** * List of copy log details. */ - copyLogDetails: (outputs.databox.v20221201.DataBoxAccountCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + copyLogDetails: (outputs.databox.v20230301.DataBoxAccountCopyLogDetailsResponse | outputs.databox.v20230301.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.v20230301.DataBoxDiskCopyLogDetailsResponse | outputs.databox.v20230301.DataBoxHeavyAccountCopyLogDetailsResponse)[]; /** * Copy progress per account. */ - copyProgress: outputs.databox.v20221201.CopyProgressResponse[]; + copyProgress: outputs.databox.v20230301.CopyProgressResponse[]; /** * DataCenter code. */ @@ -98519,23 +106677,23 @@ export namespace databox { /** * Details of the data to be exported from azure. */ - dataExportDetails?: outputs.databox.v20221201.DataExportDetailsResponse[]; + dataExportDetails?: outputs.databox.v20230301.DataExportDetailsResponse[]; /** * Details of the data to be imported into azure. */ - dataImportDetails?: outputs.databox.v20221201.DataImportDetailsResponse[]; + dataImportDetails?: outputs.databox.v20230301.DataImportDetailsResponse[]; /** * Datacenter address to ship to, for the given sku and storage location. */ - datacenterAddress: outputs.databox.v20221201.DatacenterAddressInstructionResponseResponse | outputs.databox.v20221201.DatacenterAddressLocationResponseResponse; + datacenterAddress: outputs.databox.v20230301.DatacenterAddressInstructionResponseResponse | outputs.databox.v20230301.DatacenterAddressLocationResponseResponse; /** * Delivery package shipping details. */ - deliveryPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + deliveryPackage: outputs.databox.v20230301.PackageShippingDetailsResponse; /** * Holds device data erasure details */ - deviceErasureDetails: outputs.databox.v20221201.DeviceErasureDetailsResponse; + deviceErasureDetails: outputs.databox.v20230301.DeviceErasureDetailsResponse; /** * Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ */ @@ -98552,23 +106710,23 @@ export namespace databox { /** * List of stages that run in the job. */ - jobStages: outputs.databox.v20221201.JobStagesResponse[]; + jobStages: outputs.databox.v20230301.JobStagesResponse[]; /** * Details about which key encryption type is being used. */ - keyEncryptionKey?: outputs.databox.v20221201.KeyEncryptionKeyResponse; + keyEncryptionKey?: outputs.databox.v20230301.KeyEncryptionKeyResponse; /** * Last mitigation action performed on the job. */ - lastMitigationActionOnJob: outputs.databox.v20221201.LastMitigationActionOnJobResponse; + lastMitigationActionOnJob: outputs.databox.v20230301.LastMitigationActionOnJobResponse; /** * Preferences for the order. */ - preferences?: outputs.databox.v20221201.PreferencesResponse; + preferences?: outputs.databox.v20230301.PreferencesResponse; /** * Return package shipping details. */ - returnPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + returnPackage: outputs.databox.v20230301.PackageShippingDetailsResponse; /** * Shared access key to download the return shipment label */ @@ -98576,11 +106734,11 @@ export namespace databox { /** * Optional Reverse Shipping details for order. */ - reverseShippingDetails?: outputs.databox.v20221201.ReverseShippingDetailsResponse; + reverseShippingDetails?: outputs.databox.v20230301.ReverseShippingDetailsResponse; /** * Shipping address of the customer. */ - shippingAddress?: outputs.databox.v20221201.ShippingAddressResponse; + shippingAddress?: outputs.databox.v20230301.ShippingAddressResponse; } /** * dataBoxHeavyJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxHeavyJobDetailsResponse @@ -98588,10 +106746,10 @@ export namespace databox { export function dataBoxHeavyJobDetailsResponseProvideDefaults(val: DataBoxHeavyJobDetailsResponse): DataBoxHeavyJobDetailsResponse { return { ...val, - keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.v20221201.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), - preferences: (val.preferences ? outputs.databox.v20221201.preferencesResponseProvideDefaults(val.preferences) : undefined), - reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.v20221201.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), - shippingAddress: (val.shippingAddress ? outputs.databox.v20221201.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.v20230301.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), + preferences: (val.preferences ? outputs.databox.v20230301.preferencesResponseProvideDefaults(val.preferences) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.v20230301.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.v20230301.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), }; } @@ -98602,15 +106760,15 @@ export namespace databox { /** * Contains the list of secret objects for a databox heavy job. */ - cabinetPodSecrets: outputs.databox.v20221201.DataBoxHeavySecretResponse[]; + cabinetPodSecrets: outputs.databox.v20230301.DataBoxHeavySecretResponse[]; /** * Dc Access Security Code for Customer Managed Shipping */ - dcAccessSecurityCode: outputs.databox.v20221201.DcAccessSecurityCodeResponse; + dcAccessSecurityCode: outputs.databox.v20230301.DcAccessSecurityCodeResponse; /** * Error while fetching the secrets. */ - error: outputs.databox.v20221201.CloudErrorResponse; + error: outputs.databox.v20230301.CloudErrorResponse; /** * Used to indicate what type of job secrets object. * Expected value is 'DataBoxHeavy'. @@ -98625,7 +106783,7 @@ export namespace databox { /** * Per account level access credentials. */ - accountCredentialDetails: outputs.databox.v20221201.AccountCredentialDetailsResponse[]; + accountCredentialDetails: outputs.databox.v20230301.AccountCredentialDetailsResponse[]; /** * Password for out of the box experience on device. */ @@ -98641,7 +106799,7 @@ export namespace databox { /** * Network configuration of the appliance. */ - networkConfigurations: outputs.databox.v20221201.ApplianceNetworkConfigurationResponse[]; + networkConfigurations: outputs.databox.v20230301.ApplianceNetworkConfigurationResponse[]; } /** @@ -98659,15 +106817,15 @@ export namespace databox { /** * Contact details for notification and shipping. */ - contactDetails: outputs.databox.v20221201.ContactDetailsResponse; + contactDetails: outputs.databox.v20230301.ContactDetailsResponse; /** * List of copy log details. */ - copyLogDetails: (outputs.databox.v20221201.DataBoxAccountCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxDiskCopyLogDetailsResponse | outputs.databox.v20221201.DataBoxHeavyAccountCopyLogDetailsResponse)[]; + copyLogDetails: (outputs.databox.v20230301.DataBoxAccountCopyLogDetailsResponse | outputs.databox.v20230301.DataBoxCustomerDiskCopyLogDetailsResponse | outputs.databox.v20230301.DataBoxDiskCopyLogDetailsResponse | outputs.databox.v20230301.DataBoxHeavyAccountCopyLogDetailsResponse)[]; /** * Copy progress per storage account. */ - copyProgress: outputs.databox.v20221201.CopyProgressResponse[]; + copyProgress: outputs.databox.v20230301.CopyProgressResponse[]; /** * DataCenter code. */ @@ -98675,23 +106833,23 @@ export namespace databox { /** * Details of the data to be exported from azure. */ - dataExportDetails?: outputs.databox.v20221201.DataExportDetailsResponse[]; + dataExportDetails?: outputs.databox.v20230301.DataExportDetailsResponse[]; /** * Details of the data to be imported into azure. */ - dataImportDetails?: outputs.databox.v20221201.DataImportDetailsResponse[]; + dataImportDetails?: outputs.databox.v20230301.DataImportDetailsResponse[]; /** * Datacenter address to ship to, for the given sku and storage location. */ - datacenterAddress: outputs.databox.v20221201.DatacenterAddressInstructionResponseResponse | outputs.databox.v20221201.DatacenterAddressLocationResponseResponse; + datacenterAddress: outputs.databox.v20230301.DatacenterAddressInstructionResponseResponse | outputs.databox.v20230301.DatacenterAddressLocationResponseResponse; /** * Delivery package shipping details. */ - deliveryPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + deliveryPackage: outputs.databox.v20230301.PackageShippingDetailsResponse; /** * Holds device data erasure details */ - deviceErasureDetails: outputs.databox.v20221201.DeviceErasureDetailsResponse; + deviceErasureDetails: outputs.databox.v20230301.DeviceErasureDetailsResponse; /** * Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\-$%^!+=;:_()]+ */ @@ -98708,23 +106866,23 @@ export namespace databox { /** * List of stages that run in the job. */ - jobStages: outputs.databox.v20221201.JobStagesResponse[]; + jobStages: outputs.databox.v20230301.JobStagesResponse[]; /** * Details about which key encryption type is being used. */ - keyEncryptionKey?: outputs.databox.v20221201.KeyEncryptionKeyResponse; + keyEncryptionKey?: outputs.databox.v20230301.KeyEncryptionKeyResponse; /** * Last mitigation action performed on the job. */ - lastMitigationActionOnJob: outputs.databox.v20221201.LastMitigationActionOnJobResponse; + lastMitigationActionOnJob: outputs.databox.v20230301.LastMitigationActionOnJobResponse; /** * Preferences for the order. */ - preferences?: outputs.databox.v20221201.PreferencesResponse; + preferences?: outputs.databox.v20230301.PreferencesResponse; /** * Return package shipping details. */ - returnPackage: outputs.databox.v20221201.PackageShippingDetailsResponse; + returnPackage: outputs.databox.v20230301.PackageShippingDetailsResponse; /** * Shared access key to download the return shipment label */ @@ -98732,11 +106890,11 @@ export namespace databox { /** * Optional Reverse Shipping details for order. */ - reverseShippingDetails?: outputs.databox.v20221201.ReverseShippingDetailsResponse; + reverseShippingDetails?: outputs.databox.v20230301.ReverseShippingDetailsResponse; /** * Shipping address of the customer. */ - shippingAddress?: outputs.databox.v20221201.ShippingAddressResponse; + shippingAddress?: outputs.databox.v20230301.ShippingAddressResponse; } /** * dataBoxJobDetailsResponseProvideDefaults sets the appropriate defaults for DataBoxJobDetailsResponse @@ -98744,10 +106902,10 @@ export namespace databox { export function dataBoxJobDetailsResponseProvideDefaults(val: DataBoxJobDetailsResponse): DataBoxJobDetailsResponse { return { ...val, - keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.v20221201.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), - preferences: (val.preferences ? outputs.databox.v20221201.preferencesResponseProvideDefaults(val.preferences) : undefined), - reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.v20221201.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), - shippingAddress: (val.shippingAddress ? outputs.databox.v20221201.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + keyEncryptionKey: (val.keyEncryptionKey ? outputs.databox.v20230301.keyEncryptionKeyResponseProvideDefaults(val.keyEncryptionKey) : undefined), + preferences: (val.preferences ? outputs.databox.v20230301.preferencesResponseProvideDefaults(val.preferences) : undefined), + reverseShippingDetails: (val.reverseShippingDetails ? outputs.databox.v20230301.reverseShippingDetailsResponseProvideDefaults(val.reverseShippingDetails) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.v20230301.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), }; } @@ -98758,7 +106916,7 @@ export namespace databox { /** * Per account level access credentials. */ - accountCredentialDetails: outputs.databox.v20221201.AccountCredentialDetailsResponse[]; + accountCredentialDetails: outputs.databox.v20230301.AccountCredentialDetailsResponse[]; /** * Password for out of the box experience on device. */ @@ -98774,7 +106932,7 @@ export namespace databox { /** * Network configuration of the appliance. */ - networkConfigurations: outputs.databox.v20221201.ApplianceNetworkConfigurationResponse[]; + networkConfigurations: outputs.databox.v20230301.ApplianceNetworkConfigurationResponse[]; } /** @@ -98784,7 +106942,7 @@ export namespace databox { /** * Account details of the data to be transferred */ - accountDetails: outputs.databox.v20221201.ManagedDiskDetailsResponse | outputs.databox.v20221201.StorageAccountDetailsResponse; + accountDetails: outputs.databox.v20230301.ManagedDiskDetailsResponse | outputs.databox.v20230301.StorageAccountDetailsResponse; /** * Level of the logs to be collected. */ @@ -98792,7 +106950,7 @@ export namespace databox { /** * Configuration for the data transfer. */ - transferConfiguration: outputs.databox.v20221201.TransferConfigurationResponse; + transferConfiguration: outputs.databox.v20230301.TransferConfigurationResponse; } /** * dataExportDetailsResponseProvideDefaults sets the appropriate defaults for DataExportDetailsResponse @@ -98801,7 +106959,7 @@ export namespace databox { return { ...val, logCollectionLevel: (val.logCollectionLevel) ?? "Error", - transferConfiguration: outputs.databox.v20221201.transferConfigurationResponseProvideDefaults(val.transferConfiguration), + transferConfiguration: outputs.databox.v20230301.transferConfigurationResponseProvideDefaults(val.transferConfiguration), }; } @@ -98812,7 +106970,7 @@ export namespace databox { /** * Account details of the data to be transferred */ - accountDetails: outputs.databox.v20221201.ManagedDiskDetailsResponse | outputs.databox.v20221201.StorageAccountDetailsResponse; + accountDetails: outputs.databox.v20230301.ManagedDiskDetailsResponse | outputs.databox.v20230301.StorageAccountDetailsResponse; /** * Level of the logs to be collected. */ @@ -98835,11 +106993,11 @@ export namespace databox { /** * Dc Access Security Code for Customer Managed Shipping */ - dcAccessSecurityCode: outputs.databox.v20221201.DcAccessSecurityCodeResponse; + dcAccessSecurityCode: outputs.databox.v20230301.DcAccessSecurityCodeResponse; /** * Error while fetching the secrets. */ - error: outputs.databox.v20221201.CloudErrorResponse; + error: outputs.databox.v20230301.CloudErrorResponse; /** * Used to indicate what type of job secrets object. * Expected value is 'DataBox'. @@ -98848,7 +107006,7 @@ export namespace databox { /** * Contains the list of secret objects for a job. */ - podSecrets?: outputs.databox.v20221201.DataBoxSecretResponse[]; + podSecrets?: outputs.databox.v20230301.DataBoxSecretResponse[]; } /** @@ -99053,7 +107211,7 @@ export namespace databox { /** * User assigned identity properties. */ - userAssigned?: outputs.databox.v20221201.UserAssignedPropertiesResponse; + userAssigned?: outputs.databox.v20230301.UserAssignedPropertiesResponse; } /** @@ -99078,6 +107236,32 @@ export namespace databox { manifestHash: string; } + /** + * Job Delay Notification details + */ + export interface JobDelayDetailsResponse { + /** + * Description of the delay. + */ + description: string; + /** + * Delay Error code + */ + errorCode: string; + /** + * Timestamp when the delay notification was resolved. + */ + resolutionTime: string; + /** + * Timestamp when the delay notification was created. + */ + startTime: string; + /** + * Status of notification + */ + status: string; + } + /** * Additional delivery info. */ @@ -99092,6 +107276,10 @@ export namespace databox { * Job stages. */ export interface JobStagesResponse { + /** + * Delay information for the job stages. + */ + delayInformation: outputs.databox.v20230301.JobDelayDetailsResponse[]; /** * Display name of the job stage. */ @@ -99121,7 +107309,7 @@ export namespace databox { /** * Managed identity properties used for key encryption. */ - identityProperties?: outputs.databox.v20221201.IdentityPropertiesResponse; + identityProperties?: outputs.databox.v20230301.IdentityPropertiesResponse; /** * Type of encryption key used for key encryption. */ @@ -99272,7 +107460,7 @@ export namespace databox { /** * Preferences related to the Encryption. */ - encryptionPreferences?: outputs.databox.v20221201.EncryptionPreferencesResponse; + encryptionPreferences?: outputs.databox.v20230301.EncryptionPreferencesResponse; /** * Preferred data center region. */ @@ -99280,7 +107468,7 @@ export namespace databox { /** * Optional Preferences related to the reverse shipment logistics of the sku. */ - reverseTransportPreferences?: outputs.databox.v20221201.TransportPreferencesResponse; + reverseTransportPreferences?: outputs.databox.v20230301.TransportPreferencesResponse; /** * Preferences related to the Access Tier of storage accounts. */ @@ -99288,7 +107476,7 @@ export namespace databox { /** * Preferences related to the shipment logistics of the sku. */ - transportPreferences?: outputs.databox.v20221201.TransportPreferencesResponse; + transportPreferences?: outputs.databox.v20230301.TransportPreferencesResponse; } /** * preferencesResponseProvideDefaults sets the appropriate defaults for PreferencesResponse @@ -99296,7 +107484,7 @@ export namespace databox { export function preferencesResponseProvideDefaults(val: PreferencesResponse): PreferencesResponse { return { ...val, - encryptionPreferences: (val.encryptionPreferences ? outputs.databox.v20221201.encryptionPreferencesResponseProvideDefaults(val.encryptionPreferences) : undefined), + encryptionPreferences: (val.encryptionPreferences ? outputs.databox.v20230301.encryptionPreferencesResponseProvideDefaults(val.encryptionPreferences) : undefined), }; } @@ -99319,7 +107507,7 @@ export namespace databox { /** * User Assigned Identities */ - userAssignedIdentities?: {[key: string]: outputs.databox.v20221201.UserAssignedIdentityResponse}; + userAssignedIdentities?: {[key: string]: outputs.databox.v20230301.UserAssignedIdentityResponse}; } /** * resourceIdentityResponseProvideDefaults sets the appropriate defaults for ResourceIdentityResponse @@ -99338,7 +107526,7 @@ export namespace databox { /** * Contact Info. */ - contactDetails?: outputs.databox.v20221201.ContactInfoResponse; + contactDetails?: outputs.databox.v20230301.ContactInfoResponse; /** * A flag to indicate whether Reverse Shipping details are updated or not after device has been prepared. * Read only field @@ -99347,7 +107535,7 @@ export namespace databox { /** * Shipping address where customer wishes to receive the device. */ - shippingAddress?: outputs.databox.v20221201.ShippingAddressResponse; + shippingAddress?: outputs.databox.v20230301.ShippingAddressResponse; } /** * reverseShippingDetailsResponseProvideDefaults sets the appropriate defaults for ReverseShippingDetailsResponse @@ -99355,7 +107543,7 @@ export namespace databox { export function reverseShippingDetailsResponseProvideDefaults(val: ReverseShippingDetailsResponse): ReverseShippingDetailsResponse { return { ...val, - shippingAddress: (val.shippingAddress ? outputs.databox.v20221201.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), + shippingAddress: (val.shippingAddress ? outputs.databox.v20230301.shippingAddressResponseProvideDefaults(val.shippingAddress) : undefined), }; } @@ -99554,7 +107742,7 @@ export namespace databox { /** * Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll */ - transferAllDetails?: outputs.databox.v20221201.TransferConfigurationResponseTransferAllDetails; + transferAllDetails?: outputs.databox.v20230301.TransferConfigurationResponseTransferAllDetails; /** * Type of the configuration for transfer. */ @@ -99562,7 +107750,7 @@ export namespace databox { /** * Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. */ - transferFilterDetails?: outputs.databox.v20221201.TransferConfigurationResponseTransferFilterDetails; + transferFilterDetails?: outputs.databox.v20230301.TransferConfigurationResponseTransferFilterDetails; } /** * transferConfigurationResponseProvideDefaults sets the appropriate defaults for TransferConfigurationResponse @@ -99570,8 +107758,8 @@ export namespace databox { export function transferConfigurationResponseProvideDefaults(val: TransferConfigurationResponse): TransferConfigurationResponse { return { ...val, - transferAllDetails: (val.transferAllDetails ? outputs.databox.v20221201.transferConfigurationResponseTransferAllDetailsProvideDefaults(val.transferAllDetails) : undefined), - transferFilterDetails: (val.transferFilterDetails ? outputs.databox.v20221201.transferConfigurationResponseTransferFilterDetailsProvideDefaults(val.transferFilterDetails) : undefined), + transferAllDetails: (val.transferAllDetails ? outputs.databox.v20230301.transferConfigurationResponseTransferAllDetailsProvideDefaults(val.transferAllDetails) : undefined), + transferFilterDetails: (val.transferFilterDetails ? outputs.databox.v20230301.transferConfigurationResponseTransferFilterDetailsProvideDefaults(val.transferFilterDetails) : undefined), }; } @@ -99582,7 +107770,7 @@ export namespace databox { /** * Details to transfer all data. */ - include?: outputs.databox.v20221201.TransferAllDetailsResponse; + include?: outputs.databox.v20230301.TransferAllDetailsResponse; } /** * transferConfigurationResponseTransferAllDetailsProvideDefaults sets the appropriate defaults for TransferConfigurationResponseTransferAllDetails @@ -99590,7 +107778,7 @@ export namespace databox { export function transferConfigurationResponseTransferAllDetailsProvideDefaults(val: TransferConfigurationResponseTransferAllDetails): TransferConfigurationResponseTransferAllDetails { return { ...val, - include: (val.include ? outputs.databox.v20221201.transferAllDetailsResponseProvideDefaults(val.include) : undefined), + include: (val.include ? outputs.databox.v20230301.transferAllDetailsResponseProvideDefaults(val.include) : undefined), }; } @@ -99601,7 +107789,7 @@ export namespace databox { /** * Details of the filtering the transfer of data. */ - include?: outputs.databox.v20221201.TransferFilterDetailsResponse; + include?: outputs.databox.v20230301.TransferFilterDetailsResponse; } /** * transferConfigurationResponseTransferFilterDetailsProvideDefaults sets the appropriate defaults for TransferConfigurationResponseTransferFilterDetails @@ -99609,7 +107797,7 @@ export namespace databox { export function transferConfigurationResponseTransferFilterDetailsProvideDefaults(val: TransferConfigurationResponseTransferFilterDetails): TransferConfigurationResponseTransferFilterDetails { return { ...val, - include: (val.include ? outputs.databox.v20221201.transferFilterDetailsResponseProvideDefaults(val.include) : undefined), + include: (val.include ? outputs.databox.v20230301.transferFilterDetailsResponseProvideDefaults(val.include) : undefined), }; } @@ -99620,11 +107808,11 @@ export namespace databox { /** * Filter details to transfer Azure files. */ - azureFileFilterDetails?: outputs.databox.v20221201.AzureFileFilterDetailsResponse; + azureFileFilterDetails?: outputs.databox.v20230301.AzureFileFilterDetailsResponse; /** * Filter details to transfer blobs. */ - blobFilterDetails?: outputs.databox.v20221201.BlobFilterDetailsResponse; + blobFilterDetails?: outputs.databox.v20230301.BlobFilterDetailsResponse; /** * Type of the account of data. */ @@ -99632,7 +107820,7 @@ export namespace databox { /** * Details of the filter files to be used for data transfer. */ - filterFileDetails?: outputs.databox.v20221201.FilterFileDetailsResponse[]; + filterFileDetails?: outputs.databox.v20230301.FilterFileDetailsResponse[]; } /** * transferFilterDetailsResponseProvideDefaults sets the appropriate defaults for TransferFilterDetailsResponse @@ -99669,7 +107857,7 @@ export namespace databox { /** * Secrets related to this job. */ - jobSecrets: outputs.databox.v20221201.CustomerDiskJobSecretsResponse | outputs.databox.v20221201.DataBoxDiskJobSecretsResponse | outputs.databox.v20221201.DataBoxHeavyJobSecretsResponse | outputs.databox.v20221201.DataboxJobSecretsResponse; + jobSecrets: outputs.databox.v20230301.CustomerDiskJobSecretsResponse | outputs.databox.v20230301.DataBoxDiskJobSecretsResponse | outputs.databox.v20230301.DataBoxHeavyJobSecretsResponse | outputs.databox.v20230301.DataboxJobSecretsResponse; } /** @@ -184191,206 +192379,570 @@ export namespace desktopvirtualization { tier?: string; } - /** - * Metadata pertaining to creation and last modification of the resource. - */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; - /** - * The type of identity that created the resource. - */ - createdByType?: string; - /** - * The timestamp of resource last modification (UTC) - */ - lastModifiedAt?: string; - /** - * The identity that last modified the resource. - */ - lastModifiedBy?: string; - /** - * The type of identity that last modified the resource. - */ - lastModifiedByType?: string; - } - - } - - export namespace v20220909 { - /** - * The session host configuration for updating agent, monitoring agent, and stack component. - */ - export interface AgentUpdatePropertiesResponse { - /** - * Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. - */ - maintenanceWindowTimeZone?: string; - /** - * List of maintenance windows. Maintenance windows are 2 hours long. - */ - maintenanceWindows?: outputs.desktopvirtualization.v20220909.MaintenanceWindowPropertiesResponse[]; - /** - * The type of maintenance for session host components. - */ - type?: string; - /** - * Whether to use localTime of the virtual machine. - */ - useSessionHostLocalTime?: boolean; - } - - /** - * Maintenance window starting hour and day of week. - */ - export interface MaintenanceWindowPropertiesResponse { - /** - * Day of the week. - */ - dayOfWeek?: string; - /** - * The update start hour of the day. (0 - 23) - */ - hour?: number; - } - - /** - * Schema for MSIX Package Application properties. - */ - export interface MsixPackageApplicationsResponse { - /** - * Package Application Id, found in appxmanifest.xml. - */ - appId?: string; - /** - * Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml. - */ - appUserModelID?: string; - /** - * Description of Package Application. - */ - description?: string; - /** - * User friendly name. - */ - friendlyName?: string; - /** - * User friendly name. - */ - iconImageName?: string; - /** - * the icon a 64 bit string as a byte array. - */ - rawIcon?: string; - /** - * the icon a 64 bit string as a byte array. - */ - rawPng?: string; - } - - /** - * Schema for MSIX Package Dependencies properties. - */ - export interface MsixPackageDependenciesResponse { - /** - * Name of package dependency. - */ - dependencyName?: string; - /** - * Dependency version required. - */ - minVersion?: string; - /** - * Name of dependency publisher. - */ - publisher?: string; - } - - /** - * Represents a RegistrationInfo definition. - */ - export interface RegistrationInfoResponse { - /** - * Expiration time of registration token. - */ - expirationTime?: string; - /** - * The type of resetting the token. - */ - registrationTokenOperation?: string; - /** - * The registration token base64 encoded string. - */ - token?: string; - } - - export interface ResourceModelWithAllowedPropertySetResponseIdentity { - /** - * The principal ID of resource identity. - */ - principalId: string; - /** - * The tenant ID of resource. - */ - tenantId: string; - /** - * The identity type. - */ - type?: string; - } - - export interface ResourceModelWithAllowedPropertySetResponsePlan { - /** - * A user defined name of the 3rd Party Artifact that is being procured. - */ - name: string; - /** - * The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. - */ - product: string; - /** - * A publisher provided promotion code as provisioned in Data Market for the said product/artifact. - */ - promotionCode?: string; - /** - * The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic - */ - publisher: string; - /** - * The version of the desired product/artifact. - */ - version?: string; - } - - export interface ResourceModelWithAllowedPropertySetResponseSku { - /** - * If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. - */ - capacity?: number; - /** - * If the service has different generations of hardware, for the same SKU, then that can be captured here. - */ - family?: string; - /** - * The name of the SKU. Ex - P3. It is typically a letter+number code - */ - name: string; - /** - * The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. - */ - size?: string; - /** - * This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. - */ - tier?: string; - } - + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + } + + export namespace v20220909 { + /** + * The session host configuration for updating agent, monitoring agent, and stack component. + */ + export interface AgentUpdatePropertiesResponse { + /** + * Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. + */ + maintenanceWindowTimeZone?: string; + /** + * List of maintenance windows. Maintenance windows are 2 hours long. + */ + maintenanceWindows?: outputs.desktopvirtualization.v20220909.MaintenanceWindowPropertiesResponse[]; + /** + * The type of maintenance for session host components. + */ + type?: string; + /** + * Whether to use localTime of the virtual machine. + */ + useSessionHostLocalTime?: boolean; + } + + /** + * Maintenance window starting hour and day of week. + */ + export interface MaintenanceWindowPropertiesResponse { + /** + * Day of the week. + */ + dayOfWeek?: string; + /** + * The update start hour of the day. (0 - 23) + */ + hour?: number; + } + + /** + * Schema for MSIX Package Application properties. + */ + export interface MsixPackageApplicationsResponse { + /** + * Package Application Id, found in appxmanifest.xml. + */ + appId?: string; + /** + * Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml. + */ + appUserModelID?: string; + /** + * Description of Package Application. + */ + description?: string; + /** + * User friendly name. + */ + friendlyName?: string; + /** + * User friendly name. + */ + iconImageName?: string; + /** + * the icon a 64 bit string as a byte array. + */ + rawIcon?: string; + /** + * the icon a 64 bit string as a byte array. + */ + rawPng?: string; + } + + /** + * Schema for MSIX Package Dependencies properties. + */ + export interface MsixPackageDependenciesResponse { + /** + * Name of package dependency. + */ + dependencyName?: string; + /** + * Dependency version required. + */ + minVersion?: string; + /** + * Name of dependency publisher. + */ + publisher?: string; + } + + /** + * Represents a RegistrationInfo definition. + */ + export interface RegistrationInfoResponse { + /** + * Expiration time of registration token. + */ + expirationTime?: string; + /** + * The type of resetting the token. + */ + registrationTokenOperation?: string; + /** + * The registration token base64 encoded string. + */ + token?: string; + } + + export interface ResourceModelWithAllowedPropertySetResponseIdentity { + /** + * The principal ID of resource identity. + */ + principalId: string; + /** + * The tenant ID of resource. + */ + tenantId: string; + /** + * The identity type. + */ + type?: string; + } + + export interface ResourceModelWithAllowedPropertySetResponsePlan { + /** + * A user defined name of the 3rd Party Artifact that is being procured. + */ + name: string; + /** + * The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. + */ + product: string; + /** + * A publisher provided promotion code as provisioned in Data Market for the said product/artifact. + */ + promotionCode?: string; + /** + * The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic + */ + publisher: string; + /** + * The version of the desired product/artifact. + */ + version?: string; + } + + export interface ResourceModelWithAllowedPropertySetResponseSku { + /** + * If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. + */ + capacity?: number; + /** + * If the service has different generations of hardware, for the same SKU, then that can be captured here. + */ + family?: string; + /** + * The name of the SKU. Ex - P3. It is typically a letter+number code + */ + name: string; + /** + * The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. + */ + size?: string; + /** + * This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + */ + tier?: string; + } + + /** + * Scaling plan reference to hostpool. + */ + export interface ScalingHostPoolReferenceResponse { + /** + * Arm path of referenced hostpool. + */ + hostPoolArmPath?: string; + /** + * Is the scaling plan enabled for this hostpool. + */ + scalingPlanEnabled?: boolean; + } + + /** + * A ScalingPlanPooledSchedule. + */ + export interface ScalingScheduleResponse { + /** + * Set of days of the week on which this schedule is active. + */ + daysOfWeek?: string[]; + /** + * Name of the ScalingPlanPooledSchedule. + */ + name?: string; + /** + * Load balancing algorithm for off-peak period. + */ + offPeakLoadBalancingAlgorithm?: string; + /** + * Starting time for off-peak period. + */ + offPeakStartTime?: outputs.desktopvirtualization.v20220909.TimeResponse; + /** + * Load balancing algorithm for peak period. + */ + peakLoadBalancingAlgorithm?: string; + /** + * Starting time for peak period. + */ + peakStartTime?: outputs.desktopvirtualization.v20220909.TimeResponse; + /** + * Capacity threshold for ramp down period. + */ + rampDownCapacityThresholdPct?: number; + /** + * Should users be logged off forcefully from hosts. + */ + rampDownForceLogoffUsers?: boolean; + /** + * Load balancing algorithm for ramp down period. + */ + rampDownLoadBalancingAlgorithm?: string; + /** + * Minimum host percentage for ramp down period. + */ + rampDownMinimumHostsPct?: number; + /** + * Notification message for users during ramp down period. + */ + rampDownNotificationMessage?: string; + /** + * Starting time for ramp down period. + */ + rampDownStartTime?: outputs.desktopvirtualization.v20220909.TimeResponse; + /** + * Specifies when to stop hosts during ramp down period. + */ + rampDownStopHostsWhen?: string; + /** + * Number of minutes to wait to stop hosts during ramp down period. + */ + rampDownWaitTimeMinutes?: number; + /** + * Capacity threshold for ramp up period. + */ + rampUpCapacityThresholdPct?: number; + /** + * Load balancing algorithm for ramp up period. + */ + rampUpLoadBalancingAlgorithm?: string; + /** + * Minimum host percentage for ramp up period. + */ + rampUpMinimumHostsPct?: number; + /** + * Starting time for ramp up period. + */ + rampUpStartTime?: outputs.desktopvirtualization.v20220909.TimeResponse; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + /** + * The time for a scaling action to occur. + */ + export interface TimeResponse { + /** + * The hour. + */ + hour: number; + /** + * The minute. + */ + minute: number; + } + + } + + export namespace v20221014preview { + /** + * The session host configuration for updating agent, monitoring agent, and stack component. + */ + export interface AgentUpdatePropertiesResponse { + /** + * Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. + */ + maintenanceWindowTimeZone?: string; + /** + * List of maintenance windows. Maintenance windows are 2 hours long. + */ + maintenanceWindows?: outputs.desktopvirtualization.v20221014preview.MaintenanceWindowPropertiesResponse[]; + /** + * The type of maintenance for session host components. + */ + type?: string; + /** + * Whether to use localTime of the virtual machine. + */ + useSessionHostLocalTime?: boolean; + } + + /** + * Maintenance window starting hour and day of week. + */ + export interface MaintenanceWindowPropertiesResponse { + /** + * Day of the week. + */ + dayOfWeek?: string; + /** + * The update start hour of the day. (0 - 23) + */ + hour?: number; + } + + /** + * Schema for MSIX Package Application properties. + */ + export interface MsixPackageApplicationsResponse { + /** + * Package Application Id, found in appxmanifest.xml. + */ + appId?: string; + /** + * Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml. + */ + appUserModelID?: string; + /** + * Description of Package Application. + */ + description?: string; + /** + * User friendly name. + */ + friendlyName?: string; + /** + * User friendly name. + */ + iconImageName?: string; + /** + * the icon a 64 bit string as a byte array. + */ + rawIcon?: string; + /** + * the icon a 64 bit string as a byte array. + */ + rawPng?: string; + } + + /** + * Schema for MSIX Package Dependencies properties. + */ + export interface MsixPackageDependenciesResponse { + /** + * Name of package dependency. + */ + dependencyName?: string; + /** + * Dependency version required. + */ + minVersion?: string; + /** + * Name of dependency publisher. + */ + publisher?: string; + } + + /** + * The Private Endpoint Connection resource. + */ + export interface PrivateEndpointConnectionResponse { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + id: string; + /** + * The name of the resource + */ + name: string; + /** + * The resource of private end point. + */ + privateEndpoint?: outputs.desktopvirtualization.v20221014preview.PrivateEndpointResponse; + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + privateLinkServiceConnectionState: outputs.desktopvirtualization.v20221014preview.PrivateLinkServiceConnectionStateResponse; + /** + * The provisioning state of the private endpoint connection resource. + */ + provisioningState: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + type: string; + } + + /** + * The Private Endpoint resource. + */ + export interface PrivateEndpointResponse { + /** + * The ARM identifier for Private Endpoint + */ + id: string; + } + + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + export interface PrivateLinkServiceConnectionStateResponse { + /** + * A message indicating if changes on the service provider require any updates on the consumer. + */ + actionsRequired?: string; + /** + * The reason for approval/rejection of the connection. + */ + description?: string; + /** + * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + */ + status?: string; + } + + /** + * Represents a RegistrationInfo definition. + */ + export interface RegistrationInfoResponse { + /** + * Expiration time of registration token. + */ + expirationTime?: string; + /** + * The type of resetting the token. + */ + registrationTokenOperation?: string; + /** + * The registration token base64 encoded string. + */ + token?: string; + } + + export interface ResourceModelWithAllowedPropertySetResponseIdentity { + /** + * The principal ID of resource identity. + */ + principalId: string; + /** + * The tenant ID of resource. + */ + tenantId: string; + /** + * The identity type. + */ + type?: string; + } + + export interface ResourceModelWithAllowedPropertySetResponsePlan { + /** + * A user defined name of the 3rd Party Artifact that is being procured. + */ + name: string; + /** + * The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. + */ + product: string; + /** + * A publisher provided promotion code as provisioned in Data Market for the said product/artifact. + */ + promotionCode?: string; + /** + * The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic + */ + publisher: string; + /** + * The version of the desired product/artifact. + */ + version?: string; + } + + export interface ResourceModelWithAllowedPropertySetResponseSku { + /** + * If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. + */ + capacity?: number; + /** + * If the service has different generations of hardware, for the same SKU, then that can be captured here. + */ + family?: string; + /** + * The name of the SKU. Ex - P3. It is typically a letter+number code + */ + name: string; + /** + * The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. + */ + size?: string; + /** + * This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + */ + tier?: string; + } + /** * Scaling plan reference to hostpool. */ @@ -184424,7 +192976,7 @@ export namespace desktopvirtualization { /** * Starting time for off-peak period. */ - offPeakStartTime?: outputs.desktopvirtualization.v20220909.TimeResponse; + offPeakStartTime?: outputs.desktopvirtualization.v20221014preview.TimeResponse; /** * Load balancing algorithm for peak period. */ @@ -184432,7 +192984,7 @@ export namespace desktopvirtualization { /** * Starting time for peak period. */ - peakStartTime?: outputs.desktopvirtualization.v20220909.TimeResponse; + peakStartTime?: outputs.desktopvirtualization.v20221014preview.TimeResponse; /** * Capacity threshold for ramp down period. */ @@ -184456,7 +193008,7 @@ export namespace desktopvirtualization { /** * Starting time for ramp down period. */ - rampDownStartTime?: outputs.desktopvirtualization.v20220909.TimeResponse; + rampDownStartTime?: outputs.desktopvirtualization.v20221014preview.TimeResponse; /** * Specifies when to stop hosts during ramp down period. */ @@ -184480,7 +193032,7 @@ export namespace desktopvirtualization { /** * Starting time for ramp up period. */ - rampUpStartTime?: outputs.desktopvirtualization.v20220909.TimeResponse; + rampUpStartTime?: outputs.desktopvirtualization.v20221014preview.TimeResponse; } /** @@ -184529,7 +193081,7 @@ export namespace desktopvirtualization { } - export namespace v20221014preview { + export namespace v20230707preview { /** * The session host configuration for updating agent, monitoring agent, and stack component. */ @@ -184541,7 +193093,7 @@ export namespace desktopvirtualization { /** * List of maintenance windows. Maintenance windows are 2 hours long. */ - maintenanceWindows?: outputs.desktopvirtualization.v20221014preview.MaintenanceWindowPropertiesResponse[]; + maintenanceWindows?: outputs.desktopvirtualization.v20230707preview.MaintenanceWindowPropertiesResponse[]; /** * The type of maintenance for session host components. */ @@ -184633,11 +193185,11 @@ export namespace desktopvirtualization { /** * The resource of private end point. */ - privateEndpoint?: outputs.desktopvirtualization.v20221014preview.PrivateEndpointResponse; + privateEndpoint?: outputs.desktopvirtualization.v20230707preview.PrivateEndpointResponse; /** * A collection of information about the state of the connection between service consumer and provider. */ - privateLinkServiceConnectionState: outputs.desktopvirtualization.v20221014preview.PrivateLinkServiceConnectionStateResponse; + privateLinkServiceConnectionState: outputs.desktopvirtualization.v20230707preview.PrivateLinkServiceConnectionStateResponse; /** * The provisioning state of the private endpoint connection resource. */ @@ -184788,7 +193340,7 @@ export namespace desktopvirtualization { /** * Starting time for off-peak period. */ - offPeakStartTime?: outputs.desktopvirtualization.v20221014preview.TimeResponse; + offPeakStartTime?: outputs.desktopvirtualization.v20230707preview.TimeResponse; /** * Load balancing algorithm for peak period. */ @@ -184796,7 +193348,7 @@ export namespace desktopvirtualization { /** * Starting time for peak period. */ - peakStartTime?: outputs.desktopvirtualization.v20221014preview.TimeResponse; + peakStartTime?: outputs.desktopvirtualization.v20230707preview.TimeResponse; /** * Capacity threshold for ramp down period. */ @@ -184820,7 +193372,7 @@ export namespace desktopvirtualization { /** * Starting time for ramp down period. */ - rampDownStartTime?: outputs.desktopvirtualization.v20221014preview.TimeResponse; + rampDownStartTime?: outputs.desktopvirtualization.v20230707preview.TimeResponse; /** * Specifies when to stop hosts during ramp down period. */ @@ -184844,7 +193396,7 @@ export namespace desktopvirtualization { /** * Starting time for ramp up period. */ - rampUpStartTime?: outputs.desktopvirtualization.v20221014preview.TimeResponse; + rampUpStartTime?: outputs.desktopvirtualization.v20230707preview.TimeResponse; } /** @@ -212321,6 +220873,24 @@ export namespace hardwaresecuritymodules { } export namespace hdinsight { + /** + * Identity properties of the AKS cluster agentpool MSI + */ + export interface AksClusterProfileResponseAksClusterAgentPoolIdentityProfile { + /** + * ClientId of the MSI. + */ + msiClientId: string; + /** + * ObjectId of the MSI. + */ + msiObjectId: string; + /** + * ResourceId of the MSI. + */ + msiResourceId: string; + } + /** * Gets the application SSH endpoint */ @@ -212672,6 +221242,72 @@ export namespace hdinsight { userAssignedIdentities?: {[key: string]: outputs.hdinsight.UserAssignedIdentityResponse}; } + /** + * Properties of underlying AKS cluster. + */ + export interface ClusterPoolResourcePropertiesResponseAksClusterProfile { + /** + * Identity properties of the AKS cluster agentpool MSI + */ + aksClusterAgentPoolIdentityProfile?: outputs.hdinsight.AksClusterProfileResponseAksClusterAgentPoolIdentityProfile; + /** + * ARM Resource ID of the AKS cluster + */ + aksClusterResourceId?: string; + /** + * AKS control plane and default node pool version of this ClusterPool + */ + aksVersion: string; + } + + /** + * CLuster pool profile. + */ + export interface ClusterPoolResourcePropertiesResponseClusterPoolProfile { + /** + * Cluster pool version is a 2-part version. + */ + clusterPoolVersion: string; + } + + /** + * CLuster pool compute profile. + */ + export interface ClusterPoolResourcePropertiesResponseComputeProfile { + /** + * The number of virtual machines. + */ + count: number; + /** + * The virtual machine SKU. + */ + vmSize: string; + } + + /** + * Cluster pool log analytics profile to enable OMS agent for AKS cluster. + */ + export interface ClusterPoolResourcePropertiesResponseLogAnalyticsProfile { + /** + * True if log analytics is enabled for cluster pool, otherwise false. + */ + enabled: boolean; + /** + * Log analytics workspace to associate with the OMS agent. + */ + workspaceId?: string; + } + + /** + * Cluster pool network profile. + */ + export interface ClusterPoolResourcePropertiesResponseNetworkProfile { + /** + * Cluster pool subnet resource id. + */ + subnetId: string; + } + /** * The compute isolation properties. */ @@ -215369,6 +224005,1010 @@ export namespace hdinsight { } } + + export namespace v20230601preview { + /** + * Identity properties of the AKS cluster agentpool MSI + */ + export interface AksClusterProfileResponseAksClusterAgentPoolIdentityProfile { + /** + * ClientId of the MSI. + */ + msiClientId: string; + /** + * ObjectId of the MSI. + */ + msiObjectId: string; + /** + * ResourceId of the MSI. + */ + msiResourceId: string; + } + + /** + * Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + */ + export interface AuthorizationProfileResponse { + /** + * AAD group Ids authorized for data plane access. + */ + groupIds?: string[]; + /** + * AAD user Ids authorized for data plane access. + */ + userIds?: string[]; + } + + /** + * This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + */ + export interface AutoscaleProfileResponse { + /** + * User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based. + */ + autoscaleType?: string; + /** + * This indicates whether auto scale is enabled on HDInsight on AKS cluster. + */ + enabled: boolean; + /** + * This property is for graceful decommission timeout; It has a default setting of 3600 seconds before forced shutdown takes place. This is the maximal time to wait for running containers and applications to complete before transition a DECOMMISSIONING node into DECOMMISSIONED. The default value is 3600 seconds. Negative value (like -1) is handled as infinite timeout. + */ + gracefulDecommissionTimeout?: number; + /** + * Profiles of load based Autoscale. + */ + loadBasedConfig?: outputs.hdinsight.v20230601preview.LoadBasedConfigResponse; + /** + * Profiles of schedule based Autoscale. + */ + scheduleBasedConfig?: outputs.hdinsight.v20230601preview.ScheduleBasedConfigResponse; + } + + /** + * Trino cluster catalog options. + */ + export interface CatalogOptionsResponse { + /** + * hive catalog options. + */ + hive?: outputs.hdinsight.v20230601preview.HiveCatalogOptionResponse[]; + } + + /** + * Cluster configuration files. + */ + export interface ClusterConfigFileResponse { + /** + * Free form content of the entire configuration file. + */ + content?: string; + /** + * This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content is base64 encoded. Set it to none or skip it if the content is plain text. + */ + encoding?: string; + /** + * Configuration file name. + */ + fileName: string; + /** + * Path of the config file if content is specified. + */ + path?: string; + /** + * List of key value pairs + * where key represents a valid service configuration name and value represents the value of the config. + */ + values?: {[key: string]: string}; + } + + /** + * Collection of logs to be enabled or disabled for log analytics. + */ + export interface ClusterLogAnalyticsApplicationLogsResponse { + /** + * True if stderror is enabled, otherwise false. + */ + stdErrorEnabled?: boolean; + /** + * True if stdout is enabled, otherwise false. + */ + stdOutEnabled?: boolean; + } + + /** + * Cluster log analytics profile to enable or disable OMS agent for cluster. + */ + export interface ClusterLogAnalyticsProfileResponse { + /** + * Collection of logs to be enabled or disabled for log analytics. + */ + applicationLogs?: outputs.hdinsight.v20230601preview.ClusterLogAnalyticsApplicationLogsResponse; + /** + * True if log analytics is enabled for the cluster, otherwise false. + */ + enabled: boolean; + /** + * True if metrics are enabled, otherwise false. + */ + metricsEnabled?: boolean; + } + + /** + * Properties of underlying AKS cluster. + */ + export interface ClusterPoolResourcePropertiesResponseAksClusterProfile { + /** + * Identity properties of the AKS cluster agentpool MSI + */ + aksClusterAgentPoolIdentityProfile?: outputs.hdinsight.v20230601preview.AksClusterProfileResponseAksClusterAgentPoolIdentityProfile; + /** + * ARM Resource ID of the AKS cluster + */ + aksClusterResourceId?: string; + /** + * AKS control plane and default node pool version of this ClusterPool + */ + aksVersion: string; + } + + /** + * CLuster pool profile. + */ + export interface ClusterPoolResourcePropertiesResponseClusterPoolProfile { + /** + * Cluster pool version is a 2-part version. + */ + clusterPoolVersion: string; + } + + /** + * CLuster pool compute profile. + */ + export interface ClusterPoolResourcePropertiesResponseComputeProfile { + /** + * The number of virtual machines. + */ + count: number; + /** + * The virtual machine SKU. + */ + vmSize: string; + } + + /** + * Cluster pool log analytics profile to enable OMS agent for AKS cluster. + */ + export interface ClusterPoolResourcePropertiesResponseLogAnalyticsProfile { + /** + * True if log analytics is enabled for cluster pool, otherwise false. + */ + enabled: boolean; + /** + * Log analytics workspace to associate with the OMS agent. + */ + workspaceId?: string; + } + + /** + * Cluster pool network profile. + */ + export interface ClusterPoolResourcePropertiesResponseNetworkProfile { + /** + * Cluster pool subnet resource id. + */ + subnetId: string; + } + + /** + * Cluster profile. + */ + export interface ClusterProfileResponse { + /** + * Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + */ + authorizationProfile: outputs.hdinsight.v20230601preview.AuthorizationProfileResponse; + /** + * This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + */ + autoscaleProfile?: outputs.hdinsight.v20230601preview.AutoscaleProfileResponse; + /** + * Version with 3/4 part. + */ + clusterVersion: string; + /** + * Component list of this cluster type and version. + */ + components: outputs.hdinsight.v20230601preview.ClusterProfileResponseComponents[]; + /** + * Cluster connectivity profile. + */ + connectivityProfile: outputs.hdinsight.v20230601preview.ConnectivityProfileResponse; + /** + * The Flink cluster profile. + */ + flinkProfile?: outputs.hdinsight.v20230601preview.FlinkProfileResponse; + /** + * Identity Profile with details of an MSI. + */ + identityProfile: outputs.hdinsight.v20230601preview.IdentityProfileResponse; + /** + * Kafka cluster profile. + */ + kafkaProfile?: any; + /** + * LLAP cluster profile. + */ + llapProfile?: any; + /** + * Cluster log analytics profile to enable or disable OMS agent for cluster. + */ + logAnalyticsProfile?: outputs.hdinsight.v20230601preview.ClusterLogAnalyticsProfileResponse; + /** + * Version with three part. + */ + ossVersion: string; + /** + * Cluster Prometheus profile. + */ + prometheusProfile?: outputs.hdinsight.v20230601preview.ClusterPrometheusProfileResponse; + /** + * The script action profile list. + */ + scriptActionProfiles?: outputs.hdinsight.v20230601preview.ScriptActionProfileResponse[]; + /** + * The cluster secret profile. + */ + secretsProfile?: outputs.hdinsight.v20230601preview.SecretsProfileResponse; + /** + * The service configs profiles. + */ + serviceConfigsProfiles?: outputs.hdinsight.v20230601preview.ClusterServiceConfigsProfileResponse[]; + /** + * The spark cluster profile. + */ + sparkProfile?: outputs.hdinsight.v20230601preview.SparkProfileResponse; + /** + * Ssh profile for the cluster. + */ + sshProfile?: outputs.hdinsight.v20230601preview.SshProfileResponse; + /** + * Stub cluster profile. + */ + stubProfile?: any; + /** + * Trino Cluster profile. + */ + trinoProfile?: outputs.hdinsight.v20230601preview.TrinoProfileResponse; + } + /** + * clusterProfileResponseProvideDefaults sets the appropriate defaults for ClusterProfileResponse + */ + export function clusterProfileResponseProvideDefaults(val: ClusterProfileResponse): ClusterProfileResponse { + return { + ...val, + prometheusProfile: (val.prometheusProfile ? outputs.hdinsight.v20230601preview.clusterPrometheusProfileResponseProvideDefaults(val.prometheusProfile) : undefined), + trinoProfile: (val.trinoProfile ? outputs.hdinsight.v20230601preview.trinoProfileResponseProvideDefaults(val.trinoProfile) : undefined), + }; + } + + export interface ClusterProfileResponseComponents { + name?: string; + version?: string; + } + + /** + * Cluster Prometheus profile. + */ + export interface ClusterPrometheusProfileResponse { + /** + * Enable Prometheus for cluster or not. + */ + enabled: boolean; + } + /** + * clusterPrometheusProfileResponseProvideDefaults sets the appropriate defaults for ClusterPrometheusProfileResponse + */ + export function clusterPrometheusProfileResponseProvideDefaults(val: ClusterPrometheusProfileResponse): ClusterPrometheusProfileResponse { + return { + ...val, + enabled: (val.enabled) ?? false, + }; + } + + /** + * Cluster configs per component. + */ + export interface ClusterServiceConfigResponse { + /** + * Name of the component the config files should apply to. + */ + component: string; + /** + * List of Config Files. + */ + files: outputs.hdinsight.v20230601preview.ClusterConfigFileResponse[]; + } + + /** + * Cluster service configs. + */ + export interface ClusterServiceConfigsProfileResponse { + /** + * List of service configs. + */ + configs: outputs.hdinsight.v20230601preview.ClusterServiceConfigResponse[]; + /** + * Name of the service the configurations should apply to. + */ + serviceName: string; + } + + /** + * The comparison rule. + */ + export interface ComparisonRuleResponse { + /** + * The comparison operator. + */ + operator: string; + /** + * Threshold setting. + */ + threshold: number; + } + + /** + * The compute profile. + */ + export interface ComputeProfileResponse { + /** + * The nodes definitions. + */ + nodes: outputs.hdinsight.v20230601preview.NodeProfileResponse[]; + } + + /** + * The cpu and memory requirement definition. + */ + export interface ComputeResourceDefinitionResponse { + /** + * The required CPU. + */ + cpu: number; + /** + * The required memory in MB, Container memory will be 110 percentile + */ + memory: number; + } + + /** + * Cluster connectivity profile. + */ + export interface ConnectivityProfileResponse { + /** + * List of SSH connectivity endpoints. + */ + ssh?: outputs.hdinsight.v20230601preview.SshConnectivityEndpointResponse[]; + /** + * Web connectivity endpoint details. + */ + web: outputs.hdinsight.v20230601preview.ConnectivityProfileResponseWeb; + } + + /** + * Web connectivity endpoint details. + */ + export interface ConnectivityProfileResponseWeb { + /** + * Web connectivity endpoint. + */ + fqdn: string; + } + + /** + * Flink cluster catalog options. + */ + export interface FlinkCatalogOptionsResponse { + /** + * Hive Catalog Option for Flink cluster. + */ + hive?: outputs.hdinsight.v20230601preview.FlinkHiveCatalogOptionResponse; + } + + /** + * Hive Catalog Option for Flink cluster. + */ + export interface FlinkHiveCatalogOptionResponse { + /** + * Secret reference name from secretsProfile.secrets containing password for database connection. + */ + metastoreDbConnectionPasswordSecret: string; + /** + * Connection string for hive metastore database. + */ + metastoreDbConnectionURL: string; + /** + * User name for database connection. + */ + metastoreDbConnectionUserName: string; + } + + /** + * The Flink cluster profile. + */ + export interface FlinkProfileResponse { + /** + * Flink cluster catalog options. + */ + catalogOptions?: outputs.hdinsight.v20230601preview.FlinkCatalogOptionsResponse; + /** + * History Server container/ process CPU and memory requirements + */ + historyServer?: outputs.hdinsight.v20230601preview.ComputeResourceDefinitionResponse; + /** + * Job Manager container/ process CPU and memory requirements + */ + jobManager: outputs.hdinsight.v20230601preview.ComputeResourceDefinitionResponse; + /** + * The number of task managers. + */ + numReplicas?: number; + /** + * The storage profile + */ + storage: outputs.hdinsight.v20230601preview.FlinkStorageProfileResponse; + /** + * Task Manager container/ process CPU and memory requirements + */ + taskManager: outputs.hdinsight.v20230601preview.ComputeResourceDefinitionResponse; + } + + /** + * The storage profile + */ + export interface FlinkStorageProfileResponse { + /** + * Storage account uri which is used for savepoint and checkpoint state. + */ + storageUri: string; + /** + * Storage key is only required for wasb(s) storage. + */ + storagekey?: string; + } + + /** + * Hive Catalog Option + */ + export interface HiveCatalogOptionResponse { + /** + * Name of trino catalog which should use specified hive metastore. + */ + catalogName: string; + /** + * Secret reference name from secretsProfile.secrets containing password for database connection. + */ + metastoreDbConnectionPasswordSecret: string; + /** + * Connection string for hive metastore database. + */ + metastoreDbConnectionURL: string; + /** + * User name for database connection. + */ + metastoreDbConnectionUserName: string; + /** + * Metastore root directory URI, format: abfs[s]://@.dfs.core.windows.net/. More details: https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri + */ + metastoreWarehouseDir: string; + } + + /** + * Identity Profile with details of an MSI. + */ + export interface IdentityProfileResponse { + /** + * ClientId of the MSI. + */ + msiClientId: string; + /** + * ObjectId of the MSI. + */ + msiObjectId: string; + /** + * ResourceId of the MSI. + */ + msiResourceId: string; + } + + /** + * Profile of load based Autoscale. + */ + export interface LoadBasedConfigResponse { + /** + * This is a cool down period, this is a time period in seconds, which determines the amount of time that must elapse between a scaling activity started by a rule and the start of the next scaling activity, regardless of the rule that triggers it. The default value is 300 seconds. + */ + cooldownPeriod?: number; + /** + * User needs to set the maximum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + */ + maxNodes: number; + /** + * User needs to set the minimum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + */ + minNodes: number; + /** + * User can specify the poll interval, this is the time period (in seconds) after which scaling metrics are polled for triggering a scaling operation. + */ + pollInterval?: number; + /** + * The scaling rules. + */ + scalingRules: outputs.hdinsight.v20230601preview.ScalingRuleResponse[]; + } + + /** + * The node profile. + */ + export interface NodeProfileResponse { + /** + * The number of virtual machines. + */ + count: number; + /** + * The node type. + */ + type: string; + /** + * The virtual machine SKU. + */ + vmSize: string; + } + + /** + * The scaling rule. + */ + export interface ScalingRuleResponse { + /** + * The action type. + */ + actionType: string; + /** + * The comparison rule. + */ + comparisonRule: outputs.hdinsight.v20230601preview.ComparisonRuleResponse; + /** + * This is an evaluation count for a scaling condition, the number of times a trigger condition should be successful, before scaling activity is triggered. + */ + evaluationCount: number; + /** + * Metrics name for individual workloads. For example: cpu + */ + scalingMetric: string; + } + + /** + * Profile of schedule based Autoscale. + */ + export interface ScheduleBasedConfigResponse { + /** + * Setting default node count of current schedule configuration. Default node count specifies the number of nodes which are default when an specified scaling operation is executed (scale up/scale down) + */ + defaultCount: number; + /** + * This specifies the schedules where scheduled based Autoscale to be enabled, the user has a choice to set multiple rules within the schedule across days and times (start/end). + */ + schedules: outputs.hdinsight.v20230601preview.ScheduleResponse[]; + /** + * User has to specify the timezone on which the schedule has to be set for schedule based autoscale configuration. + */ + timeZone: string; + } + + /** + * Schedule definition. + */ + export interface ScheduleResponse { + /** + * User has to set the node count anticipated at end of the scaling operation of the set current schedule configuration, format is integer. + */ + count: number; + /** + * User has to set the days where schedule has to be set for autoscale operation. + */ + days: string[]; + /** + * User has to set the end time of current schedule configuration, format like 10:30 (HH:MM). + */ + endTime: string; + /** + * User has to set the start time of current schedule configuration, format like 10:30 (HH:MM). + */ + startTime: string; + } + + /** + * The script action profile. + */ + export interface ScriptActionProfileResponse { + /** + * Script name. + */ + name: string; + /** + * Additional parameters for the script action. It should be space-separated list of arguments required for script execution. + */ + parameters?: string; + /** + * List of services to apply the script action. + */ + services: string[]; + /** + * Specify if the script should persist on the cluster. + */ + shouldPersist?: boolean; + /** + * Timeout duration for the script action in minutes. + */ + timeoutInMinutes?: number; + /** + * Type of the script action. Supported type is bash scripts. + */ + type: string; + /** + * Url of the script file. + */ + url: string; + } + /** + * scriptActionProfileResponseProvideDefaults sets the appropriate defaults for ScriptActionProfileResponse + */ + export function scriptActionProfileResponseProvideDefaults(val: ScriptActionProfileResponse): ScriptActionProfileResponse { + return { + ...val, + shouldPersist: (val.shouldPersist) ?? true, + }; + } + + /** + * Secret reference and corresponding properties of a key vault secret. + */ + export interface SecretReferenceResponse { + /** + * Object identifier name of the secret in key vault. + */ + keyVaultObjectName: string; + /** + * Reference name of the secret to be used in service configs. + */ + referenceName: string; + /** + * Type of key vault object: secret, key or certificate. + */ + type: string; + /** + * Version of the secret in key vault. + */ + version?: string; + } + + /** + * The cluster secret profile. + */ + export interface SecretsProfileResponse { + /** + * Name of the user Key Vault where all the cluster specific user secrets are stored. + */ + keyVaultResourceId: string; + /** + * Properties of Key Vault secret. + */ + secrets?: outputs.hdinsight.v20230601preview.SecretReferenceResponse[]; + } + + /** + * The metastore specification for Spark cluster. + */ + export interface SparkMetastoreSpecResponse { + /** + * The database name. + */ + dbName?: string; + /** + * The secret name which contains the database user password. + */ + dbPasswordSecretName: string; + /** + * The database server host. + */ + dbServerHost: string; + /** + * The database user name. + */ + dbUserName: string; + /** + * The key vault resource id. + */ + keyVaultId: string; + /** + * The thrift url. + */ + thriftUrl?: string; + } + + /** + * The spark cluster profile. + */ + export interface SparkProfileResponse { + /** + * The default storage URL. + */ + defaultStorageUrl?: string; + /** + * The metastore specification for Spark cluster. + */ + metastoreSpec?: outputs.hdinsight.v20230601preview.SparkMetastoreSpecResponse; + /** + * Spark user plugins spec + */ + userPluginsSpec?: outputs.hdinsight.v20230601preview.SparkUserPluginsResponse; + } + + /** + * Spark user plugin. + */ + export interface SparkUserPluginResponse { + /** + * Fully qualified path to the folder containing the plugins. + */ + path: string; + } + + /** + * Spark user plugins spec + */ + export interface SparkUserPluginsResponse { + /** + * Spark user plugins. + */ + plugins?: outputs.hdinsight.v20230601preview.SparkUserPluginResponse[]; + } + + /** + * SSH connectivity endpoint details. + */ + export interface SshConnectivityEndpointResponse { + /** + * SSH connectivity endpoint. + */ + endpoint: string; + } + + /** + * Ssh profile for the cluster. + */ + export interface SshProfileResponse { + /** + * Number of ssh pods per cluster. + */ + count: number; + /** + * Prefix of the pod names. Pod number will be appended to the prefix. The ingress URLs for the pods will be available at //- + */ + podPrefix: string; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + /** + * Trino Coordinator. + */ + export interface TrinoCoordinatorResponse { + /** + * The flag that if enable debug or not. + */ + enable?: boolean; + /** + * The flag that if enable coordinator HA, uses multiple coordinator replicas with auto failover, one per each head node. Default: true. + */ + highAvailabilityEnabled?: boolean; + /** + * The debug port. + */ + port?: number; + /** + * The flag that if suspend debug or not. + */ + suspend?: boolean; + } + /** + * trinoCoordinatorResponseProvideDefaults sets the appropriate defaults for TrinoCoordinatorResponse + */ + export function trinoCoordinatorResponseProvideDefaults(val: TrinoCoordinatorResponse): TrinoCoordinatorResponse { + return { + ...val, + enable: (val.enable) ?? false, + highAvailabilityEnabled: (val.highAvailabilityEnabled) ?? true, + port: (val.port) ?? 8008, + suspend: (val.suspend) ?? false, + }; + } + + /** + * Trino Cluster profile. + */ + export interface TrinoProfileResponse { + /** + * Trino cluster catalog options. + */ + catalogOptions?: outputs.hdinsight.v20230601preview.CatalogOptionsResponse; + /** + * Trino Coordinator. + */ + coordinator?: outputs.hdinsight.v20230601preview.TrinoCoordinatorResponse; + /** + * Trino user plugins spec + */ + userPluginsSpec?: outputs.hdinsight.v20230601preview.TrinoUserPluginsResponse; + /** + * User telemetry + */ + userTelemetrySpec?: outputs.hdinsight.v20230601preview.TrinoUserTelemetryResponse; + /** + * Trino worker. + */ + worker?: outputs.hdinsight.v20230601preview.TrinoWorkerResponse; + } + /** + * trinoProfileResponseProvideDefaults sets the appropriate defaults for TrinoProfileResponse + */ + export function trinoProfileResponseProvideDefaults(val: TrinoProfileResponse): TrinoProfileResponse { + return { + ...val, + coordinator: (val.coordinator ? outputs.hdinsight.v20230601preview.trinoCoordinatorResponseProvideDefaults(val.coordinator) : undefined), + userTelemetrySpec: (val.userTelemetrySpec ? outputs.hdinsight.v20230601preview.trinoUserTelemetryResponseProvideDefaults(val.userTelemetrySpec) : undefined), + worker: (val.worker ? outputs.hdinsight.v20230601preview.trinoWorkerResponseProvideDefaults(val.worker) : undefined), + }; + } + + /** + * Trino user telemetry definition. + */ + export interface TrinoTelemetryConfigResponse { + /** + * Hive Catalog name used to mount external tables on the logs written by trino, if not specified there tables are not created. + */ + hivecatalogName?: string; + /** + * Schema of the above catalog to use, to mount query logs as external tables, if not specified tables will be mounted under schema trinologs. + */ + hivecatalogSchema?: string; + /** + * Retention period for query log table partitions, this doesn't have any affect on actual data. + */ + partitionRetentionInDays?: number; + /** + * Azure storage location of the blobs. + */ + path?: string; + } + /** + * trinoTelemetryConfigResponseProvideDefaults sets the appropriate defaults for TrinoTelemetryConfigResponse + */ + export function trinoTelemetryConfigResponseProvideDefaults(val: TrinoTelemetryConfigResponse): TrinoTelemetryConfigResponse { + return { + ...val, + hivecatalogSchema: (val.hivecatalogSchema) ?? "trinologs", + partitionRetentionInDays: (val.partitionRetentionInDays) ?? 365, + }; + } + + /** + * Trino user plugin. + */ + export interface TrinoUserPluginResponse { + /** + * Denotes whether the plugin is active or not. + */ + enabled?: boolean; + /** + * This field maps to the sub-directory in trino plugins location, that will contain all the plugins under path. + */ + name?: string; + /** + * Fully qualified path to the folder containing the plugins. + */ + path?: string; + } + + /** + * Trino user plugins spec + */ + export interface TrinoUserPluginsResponse { + /** + * Trino user plugins. + */ + plugins?: outputs.hdinsight.v20230601preview.TrinoUserPluginResponse[]; + } + + /** + * User telemetry + */ + export interface TrinoUserTelemetryResponse { + /** + * Trino user telemetry definition. + */ + storage?: outputs.hdinsight.v20230601preview.TrinoTelemetryConfigResponse; + } + /** + * trinoUserTelemetryResponseProvideDefaults sets the appropriate defaults for TrinoUserTelemetryResponse + */ + export function trinoUserTelemetryResponseProvideDefaults(val: TrinoUserTelemetryResponse): TrinoUserTelemetryResponse { + return { + ...val, + storage: (val.storage ? outputs.hdinsight.v20230601preview.trinoTelemetryConfigResponseProvideDefaults(val.storage) : undefined), + }; + } + + /** + * Trino worker. + */ + export interface TrinoWorkerResponse { + /** + * The flag that if enable debug or not. + */ + enable?: boolean; + /** + * The debug port. + */ + port?: number; + /** + * The flag that if suspend debug or not. + */ + suspend?: boolean; + } + /** + * trinoWorkerResponseProvideDefaults sets the appropriate defaults for TrinoWorkerResponse + */ + export function trinoWorkerResponseProvideDefaults(val: TrinoWorkerResponse): TrinoWorkerResponse { + return { + ...val, + enable: (val.enable) ?? false, + port: (val.port) ?? 8008, + suspend: (val.suspend) ?? false, + }; + } + + } } export namespace healthbot { @@ -217345,68 +226985,6 @@ export namespace hybridcompute { typeHandlerVersion?: string; } - /** - * Describes the Machine Extension Instance View. - */ - export interface MachineRunCommandInstanceViewResponse { - /** - * The run command name. - */ - name?: string; - /** - * Instance view status. - */ - status?: outputs.hybridcompute.MachineRunCommandInstanceViewResponseStatus; - } - - /** - * Instance view status. - */ - export interface MachineRunCommandInstanceViewResponseStatus { - /** - * The status code. - */ - code?: string; - /** - * The short localizable label for the status. - */ - displayStatus?: string; - /** - * The level code. - */ - level?: string; - /** - * The detailed status message, including for alerts and error messages. - */ - message?: string; - /** - * The time of the status. - */ - time?: string; - } - - /** - * Describes the script sources for run command. Use only one of script, scriptUri, commandId. - */ - export interface MachineRunCommandScriptSourceResponse { - /** - * Specifies the commandId of predefined built-in script. - */ - commandId?: string; - /** - * Specifies the script content to be executed on the machine. - */ - script?: string; - /** - * Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - */ - scriptUri?: string; - /** - * User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - */ - scriptUriManagedIdentity?: outputs.hybridcompute.RunCommandManagedIdentityResponse; - } - /** * Specifies the operating system settings for the hybrid machine. */ @@ -217525,34 +227103,6 @@ export namespace hybridcompute { status: string; } - /** - * Describes the properties of a run command parameter. - */ - export interface RunCommandInputParameterResponse { - /** - * The run command parameter name. - */ - name: string; - /** - * The run command parameter value. - */ - value: string; - } - - /** - * Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - */ - export interface RunCommandManagedIdentityResponse { - /** - * Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - */ - clientId?: string; - /** - * Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - */ - objectId?: string; - } - /** * Describes the status and behavior of a service. */ @@ -218117,548 +227667,9 @@ export namespace hybridcompute { } /** - * Describes the properties of a Machine Extension. - */ - export interface MachineExtensionPropertiesResponse { - /** - * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - */ - autoUpgradeMinorVersion?: boolean; - /** - * Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - */ - enableAutomaticUpgrade?: boolean; - /** - * How the extension handler should be forced to update even if the extension configuration has not changed. - */ - forceUpdateTag?: string; - /** - * The machine extension instance view. - */ - instanceView?: outputs.hybridcompute.v20220510preview.MachineExtensionInstanceViewResponse; - /** - * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - */ - protectedSettings?: any; - /** - * The provisioning state, which only appears in the response. - */ - provisioningState: string; - /** - * The name of the extension handler publisher. - */ - publisher?: string; - /** - * Json formatted public settings for the extension. - */ - settings?: any; - /** - * Specifies the type of the extension; an example is "CustomScriptExtension". - */ - type?: string; - /** - * Specifies the version of the script handler. - */ - typeHandlerVersion?: string; - } - - /** - * Describes a Machine Extension. - */ - export interface MachineExtensionResponse { - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - */ - id: string; - /** - * The geo-location where the resource lives - */ - location: string; - /** - * The name of the resource - */ - name: string; - /** - * Describes Machine Extension Properties. - */ - properties?: outputs.hybridcompute.v20220510preview.MachineExtensionPropertiesResponse; - /** - * The system meta data relating to this resource. - */ - systemData: outputs.hybridcompute.v20220510preview.SystemDataResponse; - /** - * Resource tags. - */ - tags?: {[key: string]: string}; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - */ - type: string; - } - - /** - * Describes the properties of a hybrid machine. - */ - export interface MachinePropertiesResponse { - /** - * Specifies the AD fully qualified display name. - */ - adFqdn: string; - /** - * Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. - */ - agentConfiguration: outputs.hybridcompute.v20220510preview.AgentConfigurationResponse; - /** - * The hybrid machine agent full version. - */ - agentVersion: string; - /** - * Public Key that the client provides to be used during initial resource onboarding - */ - clientPublicKey?: string; - /** - * The metadata of the cloud environment (Azure/GCP/AWS/OCI...). - */ - cloudMetadata?: outputs.hybridcompute.v20220510preview.CloudMetadataResponse; - /** - * Detected properties from the machine. - */ - detectedProperties: {[key: string]: string}; - /** - * Specifies the hybrid machine display name. - */ - displayName: string; - /** - * Specifies the DNS fully qualified display name. - */ - dnsFqdn: string; - /** - * Specifies the Windows domain name. - */ - domainName: string; - /** - * Details about the error state. - */ - errorDetails: outputs.hybridcompute.v20220510preview.ErrorDetailResponse[]; - /** - * The time of the last status change. - */ - lastStatusChange: string; - /** - * Metadata pertaining to the geographic location of the resource. - */ - locationData?: outputs.hybridcompute.v20220510preview.LocationDataResponse; - /** - * Specifies the hybrid machine FQDN. - */ - machineFqdn: string; - /** - * Specifies whether any MS SQL instance is discovered on the machine. - */ - mssqlDiscovered?: string; - /** - * The Operating System running on the hybrid machine. - */ - osName: string; - /** - * Specifies the operating system settings for the hybrid machine. - */ - osProfile?: outputs.hybridcompute.v20220510preview.OSProfileResponse; - /** - * Specifies the Operating System product SKU. - */ - osSku: string; - /** - * The type of Operating System (windows/linux). - */ - osType?: string; - /** - * The version of Operating System running on the hybrid machine. - */ - osVersion: string; - /** - * The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - */ - parentClusterResourceId?: string; - /** - * The resource id of the private link scope this machine is assigned to, if any. - */ - privateLinkScopeResourceId?: string; - /** - * The provisioning state, which only appears in the response. - */ - provisioningState: string; - /** - * Statuses of dependent services that are reported back to ARM. - */ - serviceStatuses?: outputs.hybridcompute.v20220510preview.ServiceStatusesResponse; - /** - * The status of the hybrid machine agent. - */ - status: string; - /** - * Specifies the hybrid machine unique ID. - */ - vmId?: string; - /** - * Specifies the Arc Machine's unique SMBIOS ID - */ - vmUuid: string; - } - - /** - * Specifies the operating system settings for the hybrid machine. - */ - export interface OSProfileResponse { - /** - * Specifies the host OS name of the hybrid machine. - */ - computerName: string; - /** - * Specifies the linux configuration for update management. - */ - linuxConfiguration?: outputs.hybridcompute.v20220510preview.OSProfileResponseLinuxConfiguration; - /** - * Specifies the windows configuration for update management. - */ - windowsConfiguration?: outputs.hybridcompute.v20220510preview.OSProfileResponseWindowsConfiguration; - } - - /** - * Specifies the linux configuration for update management. - */ - export interface OSProfileResponseLinuxConfiguration { - /** - * Specifies the assessment mode. - */ - assessmentMode?: string; - /** - * Specifies the patch mode. - */ - patchMode?: string; - } - - /** - * Specifies the windows configuration for update management. - */ - export interface OSProfileResponseWindowsConfiguration { - /** - * Specifies the assessment mode. - */ - assessmentMode?: string; - /** - * Specifies the patch mode. - */ - patchMode?: string; - } - - /** - * Describes the status and behavior of a service. - */ - export interface ServiceStatusResponse { - /** - * The behavior of the service when the Arc-enabled machine starts up. - */ - startupType?: string; - /** - * The current status of the service. - */ - status?: string; - } - - /** - * Reports the state and behavior of dependent services. - */ - export interface ServiceStatusesResponse { - /** - * The state of the extension service on the Arc-enabled machine. - */ - extensionService?: outputs.hybridcompute.v20220510preview.ServiceStatusResponse; - /** - * The state of the guest configuration service on the Arc-enabled machine. - */ - guestConfigurationService?: outputs.hybridcompute.v20220510preview.ServiceStatusResponse; - } - - /** - * Metadata pertaining to creation and last modification of the resource. - */ - export interface SystemDataResponse { - /** - * The timestamp of resource creation (UTC). - */ - createdAt?: string; - /** - * The identity that created the resource. - */ - createdBy?: string; - /** - * The type of identity that created the resource. - */ - createdByType?: string; - /** - * The timestamp of resource last modification (UTC) - */ - lastModifiedAt?: string; - /** - * The identity that last modified the resource. - */ - lastModifiedBy?: string; - /** - * The type of identity that last modified the resource. - */ - lastModifiedByType?: string; - } - - } - - export namespace v20221227 { - /** - * Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. - */ - export interface AgentConfigurationResponse { - /** - * Name of configuration mode to use. Modes are pre-defined configurations of security controls, extension allowlists and guest configuration, maintained by Microsoft. - */ - configMode: string; - /** - * Array of extensions that are allowed to be installed or updated. - */ - extensionsAllowList: outputs.hybridcompute.v20221227.ConfigurationExtensionResponse[]; - /** - * Array of extensions that are blocked (cannot be installed or updated) - */ - extensionsBlockList: outputs.hybridcompute.v20221227.ConfigurationExtensionResponse[]; - /** - * Specifies whether the extension service is enabled or disabled. - */ - extensionsEnabled: string; - /** - * Specified whether the guest configuration service is enabled or disabled. - */ - guestConfigurationEnabled: string; - /** - * Specifies the list of ports that the agent will be able to listen on. - */ - incomingConnectionsPorts: string[]; - /** - * List of service names which should not use the specified proxy server. - */ - proxyBypass: string[]; - /** - * Specifies the URL of the proxy to be used. - */ - proxyUrl: string; - } - - /** - * The info w.r.t Agent Upgrade. - */ - export interface AgentUpgradeResponse { - /** - * The correlation ID passed in from RSM per upgrade. - */ - correlationId?: string; - /** - * Specifies the version info w.r.t AgentUpgrade for the machine. - */ - desiredVersion?: string; - /** - * Specifies if RSM should try to upgrade this machine - */ - enableAutomaticUpgrade?: boolean; - /** - * Failure message of last upgrade attempt if any. - */ - lastAttemptMessage: string; - /** - * Specifies the status of Agent Upgrade. - */ - lastAttemptStatus: string; - /** - * Timestamp of last upgrade attempt - */ - lastAttemptTimestamp: string; - } - - /** - * The metadata of the cloud environment (Azure/GCP/AWS/OCI...). - */ - export interface CloudMetadataResponse { - /** - * Specifies the cloud provider (Azure/AWS/GCP...). - */ - provider: string; - } - - /** - * Describes properties that can identify extensions. - */ - export interface ConfigurationExtensionResponse { - /** - * Publisher of the extension. - */ - publisher: string; - /** - * Type of the extension. - */ - type: string; - } - - /** - * The resource management error additional info. - */ - export interface ErrorAdditionalInfoResponse { - /** - * The additional info. - */ - info: any; - /** - * The additional info type. - */ - type: string; - } - - /** - * The error detail. - */ - export interface ErrorDetailResponse { - /** - * The error additional info. - */ - additionalInfo: outputs.hybridcompute.v20221227.ErrorAdditionalInfoResponse[]; - /** - * The error code. - */ - code: string; - /** - * The error details. - */ - details: outputs.hybridcompute.v20221227.ErrorDetailResponse[]; - /** - * The error message. - */ - message: string; - /** - * The error target. - */ - target: string; - } - - /** - * Properties that define a Azure Arc PrivateLinkScope resource. - */ - export interface HybridComputePrivateLinkScopePropertiesResponse { - /** - * The collection of associated Private Endpoint Connections. - */ - privateEndpointConnections: outputs.hybridcompute.v20221227.PrivateEndpointConnectionDataModelResponse[]; - /** - * The Guid id of the private link scope. - */ - privateLinkScopeId: string; - /** - * Current state of this PrivateLinkScope: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Provisioning ,Succeeded, Canceled and Failed. - */ - provisioningState: string; - /** - * Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. - */ - publicNetworkAccess?: string; - } - - /** - * Identity for the resource. - */ - export interface IdentityResponse { - /** - * The principal ID of resource identity. - */ - principalId: string; - /** - * The tenant ID of resource. - */ - tenantId: string; - /** - * The identity type. - */ - type?: string; - } - - /** - * Metadata pertaining to the geographic location of the resource. - */ - export interface LocationDataResponse { - /** - * The city or locality where the resource is located. - */ - city?: string; - /** - * The country or region where the resource is located - */ - countryOrRegion?: string; - /** - * The district, state, or province where the resource is located. - */ - district?: string; - /** - * A canonical name for the geographic or physical location. - */ - name: string; - } - - /** - * Describes the Machine Extension Instance View. - */ - export interface MachineExtensionInstanceViewResponse { - /** - * The machine extension name. - */ - name?: string; - /** - * Instance view status. - */ - status?: outputs.hybridcompute.v20221227.MachineExtensionInstanceViewResponseStatus; - /** - * Specifies the type of the extension; an example is "CustomScriptExtension". - */ - type?: string; - /** - * Specifies the version of the script handler. - */ - typeHandlerVersion?: string; - } - - /** - * Instance view status. - */ - export interface MachineExtensionInstanceViewResponseStatus { - /** - * The status code. - */ - code?: string; - /** - * The short localizable label for the status. - */ - displayStatus?: string; - /** - * The level code. - */ - level?: string; - /** - * The detailed status message, including for alerts and error messages. - */ - message?: string; - /** - * The time of the status. - */ - time?: string; - } - - /** - * Describes a Machine Extension. + * Describes the properties of a Machine Extension. */ - export interface MachineExtensionResponse { + export interface MachineExtensionPropertiesResponse { /** * Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */ @@ -218671,22 +227682,10 @@ export namespace hybridcompute { * How the extension handler should be forced to update even if the extension configuration has not changed. */ forceUpdateTag?: string; - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - */ - id: string; /** * The machine extension instance view. */ - instanceView?: outputs.hybridcompute.v20221227.MachineExtensionInstanceViewResponse; - /** - * The geo-location where the resource lives - */ - location: string; - /** - * The name of the resource - */ - name: string; + instanceView?: outputs.hybridcompute.v20220510preview.MachineExtensionInstanceViewResponse; /** * The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. */ @@ -218704,17 +227703,9 @@ export namespace hybridcompute { */ settings?: any; /** - * Azure Resource Manager metadata containing createdBy and modifiedBy information. - */ - systemData: outputs.hybridcompute.v20221227.SystemDataResponse; - /** - * Resource tags. - */ - tags?: {[key: string]: string}; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * Specifies the type of the extension; an example is "CustomScriptExtension". */ - type: string; + type?: string; /** * Specifies the version of the script handler. */ @@ -218722,121 +227713,193 @@ export namespace hybridcompute { } /** - * Specifies the operating system settings for the hybrid machine. + * Describes a Machine Extension. */ - export interface OSProfileResponse { + export interface MachineExtensionResponse { /** - * Specifies the host OS name of the hybrid machine. + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */ - computerName: string; + id: string; /** - * Specifies the linux configuration for update management. + * The geo-location where the resource lives */ - linuxConfiguration?: outputs.hybridcompute.v20221227.OSProfileResponseLinuxConfiguration; + location: string; /** - * Specifies the windows configuration for update management. + * The name of the resource */ - windowsConfiguration?: outputs.hybridcompute.v20221227.OSProfileResponseWindowsConfiguration; - } - - /** - * Specifies the linux configuration for update management. - */ - export interface OSProfileResponseLinuxConfiguration { + name: string; /** - * Specifies the assessment mode. + * Describes Machine Extension Properties. */ - assessmentMode?: string; + properties?: outputs.hybridcompute.v20220510preview.MachineExtensionPropertiesResponse; /** - * Specifies the patch mode. + * The system meta data relating to this resource. */ - patchMode?: string; - } - - /** - * Specifies the windows configuration for update management. - */ - export interface OSProfileResponseWindowsConfiguration { + systemData: outputs.hybridcompute.v20220510preview.SystemDataResponse; /** - * Specifies the assessment mode. + * Resource tags. */ - assessmentMode?: string; + tags?: {[key: string]: string}; /** - * Specifies the patch mode. + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ - patchMode?: string; + type: string; } /** - * The Data Model for a Private Endpoint Connection associated with a Private Link Scope + * Describes the properties of a hybrid machine. */ - export interface PrivateEndpointConnectionDataModelResponse { + export interface MachinePropertiesResponse { /** - * The ARM Resource Id of the Private Endpoint. + * Specifies the AD fully qualified display name. */ - id: string; + adFqdn: string; /** - * The Name of the Private Endpoint. + * Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. */ - name: string; + agentConfiguration: outputs.hybridcompute.v20220510preview.AgentConfigurationResponse; /** - * The Private Endpoint Connection properties. + * The hybrid machine agent full version. */ - properties?: outputs.hybridcompute.v20221227.PrivateEndpointConnectionPropertiesResponse; + agentVersion: string; /** - * Azure resource type + * Public Key that the client provides to be used during initial resource onboarding */ - type: string; - } - - /** - * Properties of a private endpoint connection. - */ - export interface PrivateEndpointConnectionPropertiesResponse { + clientPublicKey?: string; /** - * List of group IDs. + * The metadata of the cloud environment (Azure/GCP/AWS/OCI...). */ - groupIds: string[]; + cloudMetadata?: outputs.hybridcompute.v20220510preview.CloudMetadataResponse; /** - * Private endpoint which the connection belongs to. + * Detected properties from the machine. */ - privateEndpoint?: outputs.hybridcompute.v20221227.PrivateEndpointPropertyResponse; + detectedProperties: {[key: string]: string}; /** - * Connection state of the private endpoint connection. + * Specifies the hybrid machine display name. */ - privateLinkServiceConnectionState?: outputs.hybridcompute.v20221227.PrivateLinkServiceConnectionStatePropertyResponse; + displayName: string; /** - * State of the private endpoint connection. + * Specifies the DNS fully qualified display name. + */ + dnsFqdn: string; + /** + * Specifies the Windows domain name. + */ + domainName: string; + /** + * Details about the error state. + */ + errorDetails: outputs.hybridcompute.v20220510preview.ErrorDetailResponse[]; + /** + * The time of the last status change. + */ + lastStatusChange: string; + /** + * Metadata pertaining to the geographic location of the resource. + */ + locationData?: outputs.hybridcompute.v20220510preview.LocationDataResponse; + /** + * Specifies the hybrid machine FQDN. + */ + machineFqdn: string; + /** + * Specifies whether any MS SQL instance is discovered on the machine. + */ + mssqlDiscovered?: string; + /** + * The Operating System running on the hybrid machine. + */ + osName: string; + /** + * Specifies the operating system settings for the hybrid machine. + */ + osProfile?: outputs.hybridcompute.v20220510preview.OSProfileResponse; + /** + * Specifies the Operating System product SKU. + */ + osSku: string; + /** + * The type of Operating System (windows/linux). + */ + osType?: string; + /** + * The version of Operating System running on the hybrid machine. + */ + osVersion: string; + /** + * The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. + */ + parentClusterResourceId?: string; + /** + * The resource id of the private link scope this machine is assigned to, if any. + */ + privateLinkScopeResourceId?: string; + /** + * The provisioning state, which only appears in the response. */ provisioningState: string; + /** + * Statuses of dependent services that are reported back to ARM. + */ + serviceStatuses?: outputs.hybridcompute.v20220510preview.ServiceStatusesResponse; + /** + * The status of the hybrid machine agent. + */ + status: string; + /** + * Specifies the hybrid machine unique ID. + */ + vmId?: string; + /** + * Specifies the Arc Machine's unique SMBIOS ID + */ + vmUuid: string; } /** - * Private endpoint which the connection belongs to. + * Specifies the operating system settings for the hybrid machine. */ - export interface PrivateEndpointPropertyResponse { + export interface OSProfileResponse { /** - * Resource id of the private endpoint. + * Specifies the host OS name of the hybrid machine. */ - id?: string; + computerName: string; + /** + * Specifies the linux configuration for update management. + */ + linuxConfiguration?: outputs.hybridcompute.v20220510preview.OSProfileResponseLinuxConfiguration; + /** + * Specifies the windows configuration for update management. + */ + windowsConfiguration?: outputs.hybridcompute.v20220510preview.OSProfileResponseWindowsConfiguration; } /** - * State of the private endpoint connection. + * Specifies the linux configuration for update management. */ - export interface PrivateLinkServiceConnectionStatePropertyResponse { + export interface OSProfileResponseLinuxConfiguration { /** - * The actions required for private link service connection. + * Specifies the assessment mode. */ - actionsRequired: string; + assessmentMode?: string; /** - * The private link service connection description. + * Specifies the patch mode. */ - description: string; + patchMode?: string; + } + + /** + * Specifies the windows configuration for update management. + */ + export interface OSProfileResponseWindowsConfiguration { /** - * The private link service connection status. + * Specifies the assessment mode. */ - status: string; + assessmentMode?: string; + /** + * Specifies the patch mode. + */ + patchMode?: string; } /** @@ -218860,11 +227923,11 @@ export namespace hybridcompute { /** * The state of the extension service on the Arc-enabled machine. */ - extensionService?: outputs.hybridcompute.v20221227.ServiceStatusResponse; + extensionService?: outputs.hybridcompute.v20220510preview.ServiceStatusResponse; /** * The state of the guest configuration service on the Arc-enabled machine. */ - guestConfigurationService?: outputs.hybridcompute.v20221227.ServiceStatusResponse; + guestConfigurationService?: outputs.hybridcompute.v20220510preview.ServiceStatusResponse; } /** @@ -218899,7 +227962,7 @@ export namespace hybridcompute { } - export namespace v20230425preview { + export namespace v20221227 { /** * Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. */ @@ -218911,11 +227974,11 @@ export namespace hybridcompute { /** * Array of extensions that are allowed to be installed or updated. */ - extensionsAllowList: outputs.hybridcompute.v20230425preview.ConfigurationExtensionResponse[]; + extensionsAllowList: outputs.hybridcompute.v20221227.ConfigurationExtensionResponse[]; /** * Array of extensions that are blocked (cannot be installed or updated) */ - extensionsBlockList: outputs.hybridcompute.v20230425preview.ConfigurationExtensionResponse[]; + extensionsBlockList: outputs.hybridcompute.v20221227.ConfigurationExtensionResponse[]; /** * Specifies whether the extension service is enabled or disabled. */ @@ -218954,10 +228017,6 @@ export namespace hybridcompute { * Specifies if RSM should try to upgrade this machine */ enableAutomaticUpgrade?: boolean; - /** - * Specifies the version of the last attempt - */ - lastAttemptDesiredVersion: string; /** * Failure message of last upgrade attempt if any. */ @@ -219017,7 +228076,7 @@ export namespace hybridcompute { /** * The error additional info. */ - additionalInfo: outputs.hybridcompute.v20230425preview.ErrorAdditionalInfoResponse[]; + additionalInfo: outputs.hybridcompute.v20221227.ErrorAdditionalInfoResponse[]; /** * The error code. */ @@ -219025,7 +228084,7 @@ export namespace hybridcompute { /** * The error details. */ - details: outputs.hybridcompute.v20230425preview.ErrorDetailResponse[]; + details: outputs.hybridcompute.v20221227.ErrorDetailResponse[]; /** * The error message. */ @@ -219043,7 +228102,7 @@ export namespace hybridcompute { /** * The collection of associated Private Endpoint Connections. */ - privateEndpointConnections: outputs.hybridcompute.v20230425preview.PrivateEndpointConnectionDataModelResponse[]; + privateEndpointConnections: outputs.hybridcompute.v20221227.PrivateEndpointConnectionDataModelResponse[]; /** * The Guid id of the private link scope. */ @@ -219076,24 +228135,6 @@ export namespace hybridcompute { type?: string; } - /** - * Describes properties of the IP address. - */ - export interface IpAddressResponse { - /** - * Represents the IP Address. - */ - address?: string; - /** - * Represents the Ip Address Version. - */ - ipAddressVersion?: string; - /** - * The subnet to which this IP address belongs. - */ - subnet: outputs.hybridcompute.v20230425preview.SubnetResponse; - } - /** * Metadata pertaining to the geographic location of the resource. */ @@ -219127,7 +228168,7 @@ export namespace hybridcompute { /** * Instance view status. */ - status?: outputs.hybridcompute.v20230425preview.MachineExtensionInstanceViewResponseStatus; + status?: outputs.hybridcompute.v20221227.MachineExtensionInstanceViewResponseStatus; /** * Specifies the type of the extension; an example is "CustomScriptExtension". */ @@ -219187,7 +228228,7 @@ export namespace hybridcompute { /** * The machine extension instance view. */ - instanceView?: outputs.hybridcompute.v20230425preview.MachineExtensionInstanceViewResponse; + instanceView?: outputs.hybridcompute.v20221227.MachineExtensionInstanceViewResponse; /** * The geo-location where the resource lives */ @@ -219215,7 +228256,7 @@ export namespace hybridcompute { /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ - systemData: outputs.hybridcompute.v20230425preview.SystemDataResponse; + systemData: outputs.hybridcompute.v20221227.SystemDataResponse; /** * Resource tags. */ @@ -219230,88 +228271,6 @@ export namespace hybridcompute { typeHandlerVersion?: string; } - /** - * Describes the Machine Extension Instance View. - */ - export interface MachineRunCommandInstanceViewResponse { - /** - * The run command name. - */ - name?: string; - /** - * Instance view status. - */ - status?: outputs.hybridcompute.v20230425preview.MachineRunCommandInstanceViewResponseStatus; - } - - /** - * Instance view status. - */ - export interface MachineRunCommandInstanceViewResponseStatus { - /** - * The status code. - */ - code?: string; - /** - * The short localizable label for the status. - */ - displayStatus?: string; - /** - * The level code. - */ - level?: string; - /** - * The detailed status message, including for alerts and error messages. - */ - message?: string; - /** - * The time of the status. - */ - time?: string; - } - - /** - * Describes the script sources for run command. Use only one of script, scriptUri, commandId. - */ - export interface MachineRunCommandScriptSourceResponse { - /** - * Specifies the commandId of predefined built-in script. - */ - commandId?: string; - /** - * Specifies the script content to be executed on the machine. - */ - script?: string; - /** - * Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - */ - scriptUri?: string; - /** - * User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - */ - scriptUriManagedIdentity?: outputs.hybridcompute.v20230425preview.RunCommandManagedIdentityResponse; - } - - /** - * Describes a network interface. - */ - export interface NetworkInterfaceResponse { - /** - * The list of IP addresses in this interface. - */ - ipAddresses?: outputs.hybridcompute.v20230425preview.IpAddressResponse[]; - } - - /** - * Describes the network information on this machine. - */ - export interface NetworkProfileResponse { - /** - * The list of network interfaces. - */ - networkInterfaces?: outputs.hybridcompute.v20230425preview.NetworkInterfaceResponse[]; - } - /** * Specifies the operating system settings for the hybrid machine. */ @@ -219323,11 +228282,11 @@ export namespace hybridcompute { /** * Specifies the linux configuration for update management. */ - linuxConfiguration?: outputs.hybridcompute.v20230425preview.OSProfileResponseLinuxConfiguration; + linuxConfiguration?: outputs.hybridcompute.v20221227.OSProfileResponseLinuxConfiguration; /** * Specifies the windows configuration for update management. */ - windowsConfiguration?: outputs.hybridcompute.v20230425preview.OSProfileResponseWindowsConfiguration; + windowsConfiguration?: outputs.hybridcompute.v20221227.OSProfileResponseWindowsConfiguration; } /** @@ -219373,7 +228332,7 @@ export namespace hybridcompute { /** * The Private Endpoint Connection properties. */ - properties?: outputs.hybridcompute.v20230425preview.PrivateEndpointConnectionPropertiesResponse; + properties?: outputs.hybridcompute.v20221227.PrivateEndpointConnectionPropertiesResponse; /** * Azure resource type */ @@ -219391,11 +228350,11 @@ export namespace hybridcompute { /** * Private endpoint which the connection belongs to. */ - privateEndpoint?: outputs.hybridcompute.v20230425preview.PrivateEndpointPropertyResponse; + privateEndpoint?: outputs.hybridcompute.v20221227.PrivateEndpointPropertyResponse; /** * Connection state of the private endpoint connection. */ - privateLinkServiceConnectionState?: outputs.hybridcompute.v20230425preview.PrivateLinkServiceConnectionStatePropertyResponse; + privateLinkServiceConnectionState?: outputs.hybridcompute.v20221227.PrivateLinkServiceConnectionStatePropertyResponse; /** * State of the private endpoint connection. */ @@ -219430,34 +228389,6 @@ export namespace hybridcompute { status: string; } - /** - * Describes the properties of a run command parameter. - */ - export interface RunCommandInputParameterResponse { - /** - * The run command parameter name. - */ - name: string; - /** - * The run command parameter value. - */ - value: string; - } - - /** - * Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - */ - export interface RunCommandManagedIdentityResponse { - /** - * Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - */ - clientId?: string; - /** - * Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - */ - objectId?: string; - } - /** * Describes the status and behavior of a service. */ @@ -219479,21 +228410,11 @@ export namespace hybridcompute { /** * The state of the extension service on the Arc-enabled machine. */ - extensionService?: outputs.hybridcompute.v20230425preview.ServiceStatusResponse; + extensionService?: outputs.hybridcompute.v20221227.ServiceStatusResponse; /** * The state of the guest configuration service on the Arc-enabled machine. */ - guestConfigurationService?: outputs.hybridcompute.v20230425preview.ServiceStatusResponse; - } - - /** - * Describes the subnet. - */ - export interface SubnetResponse { - /** - * Represents address prefix. - */ - addressPrefix?: string; + guestConfigurationService?: outputs.hybridcompute.v20221227.ServiceStatusResponse; } /** @@ -258222,13 +267143,13 @@ export namespace machinelearningservices { */ privateEndpoint?: outputs.machinelearningservices.PrivateEndpointResourceResponse; /** - * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + * The connection state. */ - provisioningState?: string; + privateLinkServiceConnectionState?: outputs.machinelearningservices.RegistryPrivateLinkServiceConnectionStateResponse; /** - * The connection state. + * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. */ - registryPrivateLinkServiceConnectionState?: outputs.machinelearningservices.RegistryPrivateLinkServiceConnectionStateResponse; + provisioningState?: string; } /** @@ -258237,7 +267158,7 @@ export namespace machinelearningservices { export interface RegistryPrivateEndpointConnectionResponse { /** * This is the private endpoint connection name created on SRP - * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} */ id?: string; /** @@ -258306,6 +267227,10 @@ export namespace machinelearningservices { * MLFlow Registry URI for the Registry */ mlFlowRegistryUri?: string; + /** + * Private endpoint connections info used for pending connections in private link portal + */ + privateEndpointConnections?: outputs.machinelearningservices.RegistryPrivateEndpointConnectionResponse[]; /** * Is the Registry accessible from the internet? * Possible values: "Enabled" or "Disabled" @@ -258315,10 +267240,6 @@ export namespace machinelearningservices { * Details of each region the registry is in */ regionDetails?: outputs.machinelearningservices.RegistryRegionArmDetailsResponse[]; - /** - * Private endpoint connections info used for pending connections in private link portal - */ - registryPrivateEndpointConnections?: outputs.machinelearningservices.RegistryPrivateEndpointConnectionResponse[]; } /** @@ -278064,13 +286985,13 @@ export namespace machinelearningservices { */ privateEndpoint?: outputs.machinelearningservices.v20230401.PrivateEndpointResourceResponse; /** - * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + * The connection state. */ - provisioningState?: string; + privateLinkServiceConnectionState?: outputs.machinelearningservices.v20230401.RegistryPrivateLinkServiceConnectionStateResponse; /** - * The connection state. + * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. */ - registryPrivateLinkServiceConnectionState?: outputs.machinelearningservices.v20230401.RegistryPrivateLinkServiceConnectionStateResponse; + provisioningState?: string; } /** @@ -278079,7 +287000,7 @@ export namespace machinelearningservices { export interface RegistryPrivateEndpointConnectionResponse { /** * This is the private endpoint connection name created on SRP - * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} */ id?: string; /** @@ -278148,6 +287069,10 @@ export namespace machinelearningservices { * MLFlow Registry URI for the Registry */ mlFlowRegistryUri?: string; + /** + * Private endpoint connections info used for pending connections in private link portal + */ + privateEndpointConnections?: outputs.machinelearningservices.v20230401.RegistryPrivateEndpointConnectionResponse[]; /** * Is the Registry accessible from the internet? * Possible values: "Enabled" or "Disabled" @@ -278157,10 +287082,6 @@ export namespace machinelearningservices { * Details of each region the registry is in */ regionDetails?: outputs.machinelearningservices.v20230401.RegistryRegionArmDetailsResponse[]; - /** - * Private endpoint connections info used for pending connections in private link portal - */ - registryPrivateEndpointConnections?: outputs.machinelearningservices.v20230401.RegistryPrivateEndpointConnectionResponse[]; } /** @@ -287752,13 +296673,13 @@ export namespace machinelearningservices { */ privateEndpoint?: outputs.machinelearningservices.v20230401preview.PrivateEndpointResourceResponse; /** - * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + * The connection state. */ - provisioningState?: string; + privateLinkServiceConnectionState?: outputs.machinelearningservices.v20230401preview.RegistryPrivateLinkServiceConnectionStateResponse; /** - * The connection state. + * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. */ - registryPrivateLinkServiceConnectionState?: outputs.machinelearningservices.v20230401preview.RegistryPrivateLinkServiceConnectionStateResponse; + provisioningState?: string; } /** @@ -287767,7 +296688,7 @@ export namespace machinelearningservices { export interface RegistryPrivateEndpointConnectionResponse { /** * This is the private endpoint connection name created on SRP - * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} */ id?: string; /** @@ -287836,6 +296757,10 @@ export namespace machinelearningservices { * MLFlow Registry URI for the Registry */ mlFlowRegistryUri?: string; + /** + * Private endpoint connections info used for pending connections in private link portal + */ + privateEndpointConnections?: outputs.machinelearningservices.v20230401preview.RegistryPrivateEndpointConnectionResponse[]; /** * Is the Registry accessible from the internet? * Possible values: "Enabled" or "Disabled" @@ -287845,10 +296770,6 @@ export namespace machinelearningservices { * Details of each region the registry is in */ regionDetails?: outputs.machinelearningservices.v20230401preview.RegistryRegionArmDetailsResponse[]; - /** - * Private endpoint connections info used for pending connections in private link portal - */ - registryPrivateEndpointConnections?: outputs.machinelearningservices.v20230401preview.RegistryPrivateEndpointConnectionResponse[]; } export interface RegressionModelPerformanceMetricThresholdResponse { @@ -298388,13 +307309,13 @@ export namespace machinelearningservices { */ privateEndpoint?: outputs.machinelearningservices.v20230601preview.PrivateEndpointResourceResponse; /** - * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + * The connection state. */ - provisioningState?: string; + privateLinkServiceConnectionState?: outputs.machinelearningservices.v20230601preview.RegistryPrivateLinkServiceConnectionStateResponse; /** - * The connection state. + * One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. */ - registryPrivateLinkServiceConnectionState?: outputs.machinelearningservices.v20230601preview.RegistryPrivateLinkServiceConnectionStateResponse; + provisioningState?: string; } /** @@ -298403,7 +307324,7 @@ export namespace machinelearningservices { export interface RegistryPrivateEndpointConnectionResponse { /** * This is the private endpoint connection name created on SRP - * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + * Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} */ id?: string; /** @@ -298472,6 +307393,10 @@ export namespace machinelearningservices { * MLFlow Registry URI for the Registry */ mlFlowRegistryUri?: string; + /** + * Private endpoint connections info used for pending connections in private link portal + */ + privateEndpointConnections?: outputs.machinelearningservices.v20230601preview.RegistryPrivateEndpointConnectionResponse[]; /** * Is the Registry accessible from the internet? * Possible values: "Enabled" or "Disabled" @@ -298481,10 +307406,6 @@ export namespace machinelearningservices { * Details of each region the registry is in */ regionDetails?: outputs.machinelearningservices.v20230601preview.RegistryRegionArmDetailsResponse[]; - /** - * Private endpoint connections info used for pending connections in private link portal - */ - registryPrivateEndpointConnections?: outputs.machinelearningservices.v20230601preview.RegistryPrivateEndpointConnectionResponse[]; } export interface RegressionModelPerformanceMetricThresholdResponse { @@ -302089,7 +311010,7 @@ export namespace managednetworkfabric { */ ipGroups?: outputs.managednetworkfabric.IpGroupPropertiesResponse[]; /** - * List of the port group. + * List of the port groups. */ portGroups?: outputs.managednetworkfabric.PortGroupPropertiesResponse[]; /** @@ -302306,15 +311227,15 @@ export namespace managednetworkfabric { */ ipGroupNames?: string[]; /** - * The list of IP Prefixes. + * The list of IP Prefixes that need to be matched. */ ipPrefixValues?: string[]; /** - * IP Prefix Type. + * IP Prefix Type that needs to be matched. */ prefixType?: string; /** - * IP Address type. + * IP Address type that needs to be matched. */ type?: string; } @@ -302562,7 +311483,7 @@ export namespace managednetworkfabric { */ export interface NetworkTapRuleMatchConditionResponse { /** - * Encapsulation Type. + * Encapsulation Type that needs to be matched. */ encapsulationType?: string; /** @@ -302688,7 +311609,7 @@ export namespace managednetworkfabric { */ layer4Protocol: string; /** - * List of the port Group Names that to be matched. + * List of the port Group Names that need to be matched. */ portGroupNames?: string[]; /** @@ -302710,7 +311631,7 @@ export namespace managednetworkfabric { */ name?: string; /** - * List of the ports that needs to be matched. + * List of the ports that need to be matched. */ ports?: string[]; } @@ -302906,19 +311827,19 @@ export namespace managednetworkfabric { } /** - * The vlan match conditions that needs to be matched. + * The vlan match conditions that need to be matched. */ export interface VlanMatchConditionResponse { /** - * List of inner vlans that needs to be matched. + * List of inner vlans that need to be matched. */ innerVlans?: string[]; /** - * List of vlan group names that to be matched. + * List of vlan group names that need to be matched. */ vlanGroupNames?: string[]; /** - * List of vlans that needs to be matched. + * List of vlans that need to be matched. */ vlans?: string[]; } @@ -303741,15 +312662,15 @@ export namespace managednetworkfabric { */ export interface AccessControlListMatchConditionResponse { /** - * List of DSCP Markings that needs to be matched. + * List of DSCP Markings that need to be matched. */ dscpMarkings?: string[]; /** - * List of ether type values that needs to be matched. + * List of ether type values that need to be matched. */ etherTypes?: string[]; /** - * List of IP fragment packets that needs to be matched. + * List of IP fragment packets that need to be matched. */ fragments?: string[]; /** @@ -303757,7 +312678,7 @@ export namespace managednetworkfabric { */ ipCondition?: outputs.managednetworkfabric.v20230615.IpMatchConditionResponse; /** - * List of IP Lengths that needs to be matched. + * List of IP Lengths that need to be matched. */ ipLengths?: string[]; /** @@ -303769,7 +312690,7 @@ export namespace managednetworkfabric { */ protocolTypes?: string[]; /** - * List of TTL [Time To Live] values that needs to be matched. + * List of TTL [Time To Live] values that need to be matched. */ ttlValues?: string[]; /** @@ -303809,7 +312730,7 @@ export namespace managednetworkfabric { */ export interface AccessControlListPortConditionResponse { /** - * List of protocol flags that needs to be matched. + * List of protocol flags that need to be matched. */ flags?: string[]; /** @@ -303817,7 +312738,7 @@ export namespace managednetworkfabric { */ layer4Protocol: string; /** - * List of the port Group Names that to be matched. + * List of the port Group Names that need to be matched. */ portGroupNames?: string[]; /** @@ -303928,7 +312849,7 @@ export namespace managednetworkfabric { */ ipGroups?: outputs.managednetworkfabric.v20230615.IpGroupPropertiesResponse[]; /** - * List of the port group. + * List of the port groups. */ portGroups?: outputs.managednetworkfabric.v20230615.PortGroupPropertiesResponse[]; /** @@ -304346,15 +313267,15 @@ export namespace managednetworkfabric { */ ipGroupNames?: string[]; /** - * The list of IP Prefixes. + * The list of IP Prefixes that need to be matched. */ ipPrefixValues?: string[]; /** - * IP Prefix Type. + * IP Prefix Type that needs to be matched. */ prefixType?: string; /** - * IP Address type. + * IP Address type that needs to be matched. */ type?: string; } @@ -304577,7 +313498,7 @@ export namespace managednetworkfabric { */ export interface NetworkTapRuleMatchConditionResponse { /** - * Encapsulation Type. + * Encapsulation Type that needs to be matched. */ encapsulationType?: string; /** @@ -304703,7 +313624,7 @@ export namespace managednetworkfabric { */ layer4Protocol: string; /** - * List of the port Group Names that to be matched. + * List of the port Group Names that need to be matched. */ portGroupNames?: string[]; /** @@ -304725,7 +313646,7 @@ export namespace managednetworkfabric { */ name?: string; /** - * List of the ports that needs to be matched. + * List of the ports that need to be matched. */ ports?: string[]; } @@ -304947,19 +313868,19 @@ export namespace managednetworkfabric { } /** - * The vlan match conditions that needs to be matched. + * The vlan match conditions that need to be matched. */ export interface VlanMatchConditionResponse { /** - * List of inner vlans that needs to be matched. + * List of inner vlans that need to be matched. */ innerVlans?: string[]; /** - * List of vlan group names that to be matched. + * List of vlan group names that need to be matched. */ vlanGroupNames?: string[]; /** - * List of vlans that needs to be matched. + * List of vlans that need to be matched. */ vlans?: string[]; } @@ -306654,6 +315575,222 @@ export namespace maps { } } + + export namespace v20230601 { + /** + * Specifies a CORS rule for the Map Account. + */ + export interface CorsRuleResponse { + /** + * Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" to allow all domains + */ + allowedOrigins: string[]; + } + + /** + * Sets the CORS rules. You can include up to five CorsRule elements in the request. + */ + export interface CorsRulesResponse { + /** + * The list of CORS rules. You can include up to five CorsRule elements in the request. + */ + corsRules?: outputs.maps.v20230601.CorsRuleResponse[]; + } + + /** + * Creator resource properties + */ + export interface CreatorPropertiesResponse { + /** + * The state of the resource provisioning, terminal states: Succeeded, Failed, Canceled + */ + provisioningState: string; + /** + * The storage units to be allocated. Integer values from 1 to 100, inclusive. + */ + storageUnits: number; + } + + /** + * All Customer-managed key encryption properties for the resource. + */ + export interface CustomerManagedKeyEncryptionResponse { + /** + * All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + */ + keyEncryptionKeyIdentity?: outputs.maps.v20230601.CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity; + /** + * key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek. + */ + keyEncryptionKeyUrl?: string; + } + + /** + * All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + */ + export interface CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity { + /** + * delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only. + */ + delegatedIdentityClientId?: string; + /** + * Values can be systemAssignedIdentity or userAssignedIdentity + */ + identityType?: string; + /** + * user assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and delegatedResourceIdentity. + */ + userAssignedIdentityResourceId?: string; + } + + /** + * (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + */ + export interface EncryptionResponse { + /** + * All Customer-managed key encryption properties for the resource. + */ + customerManagedKeyEncryption?: outputs.maps.v20230601.CustomerManagedKeyEncryptionResponse; + /** + * Values are enabled and disabled. + */ + infrastructureEncryption?: string; + } + + /** + * Linked resource is reference to a resource deployed in an Azure subscription, add the linked resource `uniqueName` value as an optional parameter for operations on Azure Maps Geospatial REST APIs. + */ + export interface LinkedResourceResponse { + /** + * ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'. + */ + id: string; + /** + * A provided name which uniquely identifies the linked resource. + */ + uniqueName: string; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityResponse { + /** + * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + principalId: string; + /** + * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + tenantId: string; + /** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: string; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: {[key: string]: outputs.maps.v20230601.UserAssignedIdentityResponse}; + } + + /** + * Additional Map account properties + */ + export interface MapsAccountPropertiesResponse { + /** + * Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service. + */ + cors?: outputs.maps.v20230601.CorsRulesResponse; + /** + * Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys and Shared Access Signature Token authentication from any usage. + */ + disableLocalAuth?: boolean; + /** + * (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + */ + encryption?: outputs.maps.v20230601.EncryptionResponse; + /** + * The array of associated resources to the Map account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Map Account Managed Identity(s) permissions to those resource(s). + */ + linkedResources?: outputs.maps.v20230601.LinkedResourceResponse[]; + /** + * The provisioning state of the Map account resource, Account updates can only be performed on terminal states. Terminal states: `Succeeded` and `Failed` + */ + provisioningState: string; + /** + * A unique identifier for the maps account + */ + uniqueId: string; + } + /** + * mapsAccountPropertiesResponseProvideDefaults sets the appropriate defaults for MapsAccountPropertiesResponse + */ + export function mapsAccountPropertiesResponseProvideDefaults(val: MapsAccountPropertiesResponse): MapsAccountPropertiesResponse { + return { + ...val, + disableLocalAuth: (val.disableLocalAuth) ?? false, + }; + } + + /** + * The SKU of the Maps Account. + */ + export interface SkuResponse { + /** + * The name of the SKU, in standard format (such as S0). + */ + name: string; + /** + * Gets the sku tier. This is based on the SKU name. + */ + tier: string; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + /** + * User assigned identity properties + */ + export interface UserAssignedIdentityResponse { + /** + * The client ID of the assigned identity. + */ + clientId: string; + /** + * The principal ID of the assigned identity. + */ + principalId: string; + } + + } } export namespace marketplace { @@ -323817,6 +332954,71 @@ export namespace mobilenetwork { } } +export namespace mobilepacketcore { + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + export namespace v20230515preview { + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + } +} + export namespace monitor { /** * The Data Collection Rule and Endpoint used for ingestion by default. @@ -468008,6 +477210,263 @@ export namespace storagesync { } } +export namespace storagetasks { + /** + * The else block of storage task operation + */ + export interface ElseConditionResponse { + /** + * List of operations to execute in the else block + */ + operations: outputs.storagetasks.StorageTaskOperationResponse[]; + } + + /** + * The if block of storage task operation + */ + export interface IfConditionResponse { + /** + * The condition predicate which is composed of object properties, eg: blob and container properties. + */ + condition: string; + /** + * List of operations to execute when the condition predicate satisfies. + */ + operations: outputs.storagetasks.StorageTaskOperationResponse[]; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityResponse { + /** + * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + principalId: string; + /** + * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + tenantId: string; + /** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: string; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: {[key: string]: outputs.storagetasks.UserAssignedIdentityResponse}; + } + + /** + * The storage task action represents conditional statements and operations to be performed on target objects. + */ + export interface StorageTaskActionResponse { + /** + * The else block of storage task operation + */ + else?: outputs.storagetasks.ElseConditionResponse; + /** + * The if block of storage task operation + */ + if: outputs.storagetasks.IfConditionResponse; + } + + /** + * Represents an operation to be performed on the object + */ + export interface StorageTaskOperationResponse { + /** + * The operation to be performed on the object. + */ + name: string; + /** + * Action to be taken when the operation fails for a object. + */ + onFailure?: string; + /** + * Action to be taken when the operation is successful for a object. + */ + onSuccess?: string; + /** + * Key-value parameters for the operation. + */ + parameters?: {[key: string]: string}; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + /** + * User assigned identity properties + */ + export interface UserAssignedIdentityResponse { + /** + * The client ID of the assigned identity. + */ + clientId: string; + /** + * The principal ID of the assigned identity. + */ + principalId: string; + } + + export namespace v20230101 { + /** + * The else block of storage task operation + */ + export interface ElseConditionResponse { + /** + * List of operations to execute in the else block + */ + operations: outputs.storagetasks.v20230101.StorageTaskOperationResponse[]; + } + + /** + * The if block of storage task operation + */ + export interface IfConditionResponse { + /** + * The condition predicate which is composed of object properties, eg: blob and container properties. + */ + condition: string; + /** + * List of operations to execute when the condition predicate satisfies. + */ + operations: outputs.storagetasks.v20230101.StorageTaskOperationResponse[]; + } + + /** + * Managed service identity (system assigned and/or user assigned identities) + */ + export interface ManagedServiceIdentityResponse { + /** + * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + principalId: string; + /** + * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + */ + tenantId: string; + /** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + type: string; + /** + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + userAssignedIdentities?: {[key: string]: outputs.storagetasks.v20230101.UserAssignedIdentityResponse}; + } + + /** + * The storage task action represents conditional statements and operations to be performed on target objects. + */ + export interface StorageTaskActionResponse { + /** + * The else block of storage task operation + */ + else?: outputs.storagetasks.v20230101.ElseConditionResponse; + /** + * The if block of storage task operation + */ + if: outputs.storagetasks.v20230101.IfConditionResponse; + } + + /** + * Represents an operation to be performed on the object + */ + export interface StorageTaskOperationResponse { + /** + * The operation to be performed on the object. + */ + name: string; + /** + * Action to be taken when the operation fails for a object. + */ + onFailure?: string; + /** + * Action to be taken when the operation is successful for a object. + */ + onSuccess?: string; + /** + * Key-value parameters for the operation. + */ + parameters?: {[key: string]: string}; + } + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + /** + * User assigned identity properties + */ + export interface UserAssignedIdentityResponse { + /** + * The client ID of the assigned identity. + */ + clientId: string; + /** + * The principal ID of the assigned identity. + */ + principalId: string; + } + + } +} + export namespace storsimple { /** * Represent the secrets intended for encryption with asymmetric key pair. diff --git a/sdk/python/pulumi_azure_native/__init__.py b/sdk/python/pulumi_azure_native/__init__.py index 8a9776fbb136..50c09bdfd849 100644 --- a/sdk/python/pulumi_azure_native/__init__.py +++ b/sdk/python/pulumi_azure_native/__init__.py @@ -281,6 +281,8 @@ mixedreality = __mixedreality import pulumi_azure_native.mobilenetwork as __mobilenetwork mobilenetwork = __mobilenetwork + import pulumi_azure_native.mobilepacketcore as __mobilepacketcore + mobilepacketcore = __mobilepacketcore import pulumi_azure_native.monitor as __monitor monitor = __monitor import pulumi_azure_native.netapp as __netapp @@ -387,6 +389,8 @@ storagepool = __storagepool import pulumi_azure_native.storagesync as __storagesync storagesync = __storagesync + import pulumi_azure_native.storagetasks as __storagetasks + storagetasks = __storagetasks import pulumi_azure_native.storsimple as __storsimple storsimple = __storsimple import pulumi_azure_native.streamanalytics as __streamanalytics @@ -560,6 +564,7 @@ migrate = _utilities.lazy_import('pulumi_azure_native.migrate') mixedreality = _utilities.lazy_import('pulumi_azure_native.mixedreality') mobilenetwork = _utilities.lazy_import('pulumi_azure_native.mobilenetwork') + mobilepacketcore = _utilities.lazy_import('pulumi_azure_native.mobilepacketcore') monitor = _utilities.lazy_import('pulumi_azure_native.monitor') netapp = _utilities.lazy_import('pulumi_azure_native.netapp') network = _utilities.lazy_import('pulumi_azure_native.network') @@ -613,6 +618,7 @@ storagemover = _utilities.lazy_import('pulumi_azure_native.storagemover') storagepool = _utilities.lazy_import('pulumi_azure_native.storagepool') storagesync = _utilities.lazy_import('pulumi_azure_native.storagesync') + storagetasks = _utilities.lazy_import('pulumi_azure_native.storagetasks') storsimple = _utilities.lazy_import('pulumi_azure_native.storsimple') streamanalytics = _utilities.lazy_import('pulumi_azure_native.streamanalytics') subscription = _utilities.lazy_import('pulumi_azure_native.subscription') @@ -1929,6 +1935,30 @@ "azure-native:avs/v20220501:WorkloadNetworkVMGroup": "WorkloadNetworkVMGroup" } }, + { + "pkg": "azure-native", + "mod": "avs/v20230301", + "fqn": "pulumi_azure_native.avs.v20230301", + "classes": { + "azure-native:avs/v20230301:Addon": "Addon", + "azure-native:avs/v20230301:Authorization": "Authorization", + "azure-native:avs/v20230301:CloudLink": "CloudLink", + "azure-native:avs/v20230301:Cluster": "Cluster", + "azure-native:avs/v20230301:Datastore": "Datastore", + "azure-native:avs/v20230301:GlobalReachConnection": "GlobalReachConnection", + "azure-native:avs/v20230301:HcxEnterpriseSite": "HcxEnterpriseSite", + "azure-native:avs/v20230301:PlacementPolicy": "PlacementPolicy", + "azure-native:avs/v20230301:PrivateCloud": "PrivateCloud", + "azure-native:avs/v20230301:ScriptExecution": "ScriptExecution", + "azure-native:avs/v20230301:WorkloadNetworkDhcp": "WorkloadNetworkDhcp", + "azure-native:avs/v20230301:WorkloadNetworkDnsService": "WorkloadNetworkDnsService", + "azure-native:avs/v20230301:WorkloadNetworkDnsZone": "WorkloadNetworkDnsZone", + "azure-native:avs/v20230301:WorkloadNetworkPortMirroring": "WorkloadNetworkPortMirroring", + "azure-native:avs/v20230301:WorkloadNetworkPublicIP": "WorkloadNetworkPublicIP", + "azure-native:avs/v20230301:WorkloadNetworkSegment": "WorkloadNetworkSegment", + "azure-native:avs/v20230301:WorkloadNetworkVMGroup": "WorkloadNetworkVMGroup" + } + }, { "pkg": "azure-native", "mod": "azureactivedirectory", @@ -2689,6 +2719,43 @@ "azure-native:compute/v20230301:VirtualMachineScaleSetVMRunCommand": "VirtualMachineScaleSetVMRunCommand" } }, + { + "pkg": "azure-native", + "mod": "compute/v20230402", + "fqn": "pulumi_azure_native.compute.v20230402", + "classes": { + "azure-native:compute/v20230402:Disk": "Disk", + "azure-native:compute/v20230402:DiskAccess": "DiskAccess", + "azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection": "DiskAccessAPrivateEndpointConnection", + "azure-native:compute/v20230402:DiskEncryptionSet": "DiskEncryptionSet", + "azure-native:compute/v20230402:Snapshot": "Snapshot" + } + }, + { + "pkg": "azure-native", + "mod": "compute/v20230701", + "fqn": "pulumi_azure_native.compute.v20230701", + "classes": { + "azure-native:compute/v20230701:AvailabilitySet": "AvailabilitySet", + "azure-native:compute/v20230701:CapacityReservation": "CapacityReservation", + "azure-native:compute/v20230701:CapacityReservationGroup": "CapacityReservationGroup", + "azure-native:compute/v20230701:DedicatedHost": "DedicatedHost", + "azure-native:compute/v20230701:DedicatedHostGroup": "DedicatedHostGroup", + "azure-native:compute/v20230701:Image": "Image", + "azure-native:compute/v20230701:ProximityPlacementGroup": "ProximityPlacementGroup", + "azure-native:compute/v20230701:RestorePoint": "RestorePoint", + "azure-native:compute/v20230701:RestorePointCollection": "RestorePointCollection", + "azure-native:compute/v20230701:SshPublicKey": "SshPublicKey", + "azure-native:compute/v20230701:VirtualMachine": "VirtualMachine", + "azure-native:compute/v20230701:VirtualMachineExtension": "VirtualMachineExtension", + "azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine": "VirtualMachineRunCommandByVirtualMachine", + "azure-native:compute/v20230701:VirtualMachineScaleSet": "VirtualMachineScaleSet", + "azure-native:compute/v20230701:VirtualMachineScaleSetExtension": "VirtualMachineScaleSetExtension", + "azure-native:compute/v20230701:VirtualMachineScaleSetVM": "VirtualMachineScaleSetVM", + "azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension": "VirtualMachineScaleSetVMExtension", + "azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand": "VirtualMachineScaleSetVMRunCommand" + } + }, { "pkg": "azure-native", "mod": "confidentialledger", @@ -3123,24 +3190,36 @@ "azure-native:containerservice/v20230602preview:TrustedAccessRoleBinding": "TrustedAccessRoleBinding" } }, + { + "pkg": "azure-native", + "mod": "containerservice/v20230701", + "fqn": "pulumi_azure_native.containerservice.v20230701", + "classes": { + "azure-native:containerservice/v20230701:AgentPool": "AgentPool", + "azure-native:containerservice/v20230701:MaintenanceConfiguration": "MaintenanceConfiguration", + "azure-native:containerservice/v20230701:ManagedCluster": "ManagedCluster", + "azure-native:containerservice/v20230701:PrivateEndpointConnection": "PrivateEndpointConnection", + "azure-native:containerservice/v20230701:Snapshot": "Snapshot" + } + }, { "pkg": "azure-native", "mod": "containerstorage", "fqn": "pulumi_azure_native.containerstorage", "classes": { "azure-native:containerstorage:Pool": "Pool", - "azure-native:containerstorage:Volume": "Volume", - "azure-native:containerstorage:VolumeSnapshot": "VolumeSnapshot" + "azure-native:containerstorage:Snapshot": "Snapshot", + "azure-native:containerstorage:Volume": "Volume" } }, { "pkg": "azure-native", - "mod": "containerstorage/v20230301preview", - "fqn": "pulumi_azure_native.containerstorage.v20230301preview", + "mod": "containerstorage/v20230701preview", + "fqn": "pulumi_azure_native.containerstorage.v20230701preview", "classes": { - "azure-native:containerstorage/v20230301preview:Pool": "Pool", - "azure-native:containerstorage/v20230301preview:Volume": "Volume", - "azure-native:containerstorage/v20230301preview:VolumeSnapshot": "VolumeSnapshot" + "azure-native:containerstorage/v20230701preview:Pool": "Pool", + "azure-native:containerstorage/v20230701preview:Snapshot": "Snapshot", + "azure-native:containerstorage/v20230701preview:Volume": "Volume" } }, { @@ -3370,6 +3449,14 @@ "azure-native:databox/v20221201:Job": "Job" } }, + { + "pkg": "azure-native", + "mod": "databox/v20230301", + "fqn": "pulumi_azure_native.databox.v20230301", + "classes": { + "azure-native:databox/v20230301:Job": "Job" + } + }, { "pkg": "azure-native", "mod": "databoxedge", @@ -4164,6 +4251,7 @@ "azure-native:desktopvirtualization:PrivateEndpointConnectionByHostPool": "PrivateEndpointConnectionByHostPool", "azure-native:desktopvirtualization:PrivateEndpointConnectionByWorkspace": "PrivateEndpointConnectionByWorkspace", "azure-native:desktopvirtualization:ScalingPlan": "ScalingPlan", + "azure-native:desktopvirtualization:ScalingPlanPersonalSchedule": "ScalingPlanPersonalSchedule", "azure-native:desktopvirtualization:ScalingPlanPooledSchedule": "ScalingPlanPooledSchedule", "azure-native:desktopvirtualization:Workspace": "Workspace" } @@ -4223,6 +4311,23 @@ "azure-native:desktopvirtualization/v20221014preview:Workspace": "Workspace" } }, + { + "pkg": "azure-native", + "mod": "desktopvirtualization/v20230707preview", + "fqn": "pulumi_azure_native.desktopvirtualization.v20230707preview", + "classes": { + "azure-native:desktopvirtualization/v20230707preview:Application": "Application", + "azure-native:desktopvirtualization/v20230707preview:ApplicationGroup": "ApplicationGroup", + "azure-native:desktopvirtualization/v20230707preview:HostPool": "HostPool", + "azure-native:desktopvirtualization/v20230707preview:MSIXPackage": "MSIXPackage", + "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool": "PrivateEndpointConnectionByHostPool", + "azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace": "PrivateEndpointConnectionByWorkspace", + "azure-native:desktopvirtualization/v20230707preview:ScalingPlan": "ScalingPlan", + "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPersonalSchedule": "ScalingPlanPersonalSchedule", + "azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule": "ScalingPlanPooledSchedule", + "azure-native:desktopvirtualization/v20230707preview:Workspace": "Workspace" + } + }, { "pkg": "azure-native", "mod": "devcenter", @@ -5126,6 +5231,7 @@ "classes": { "azure-native:hdinsight:Application": "Application", "azure-native:hdinsight:Cluster": "Cluster", + "azure-native:hdinsight:ClusterPool": "ClusterPool", "azure-native:hdinsight:PrivateEndpointConnection": "PrivateEndpointConnection" } }, @@ -5149,6 +5255,15 @@ "azure-native:hdinsight/v20230415preview:PrivateEndpointConnection": "PrivateEndpointConnection" } }, + { + "pkg": "azure-native", + "mod": "hdinsight/v20230601preview", + "fqn": "pulumi_azure_native.hdinsight.v20230601preview", + "classes": { + "azure-native:hdinsight/v20230601preview:Cluster": "Cluster", + "azure-native:hdinsight/v20230601preview:ClusterPool": "ClusterPool" + } + }, { "pkg": "azure-native", "mod": "healthbot", @@ -5237,7 +5352,6 @@ "classes": { "azure-native:hybridcompute:Machine": "Machine", "azure-native:hybridcompute:MachineExtension": "MachineExtension", - "azure-native:hybridcompute:MachineRunCommand": "MachineRunCommand", "azure-native:hybridcompute:PrivateEndpointConnection": "PrivateEndpointConnection", "azure-native:hybridcompute:PrivateLinkScope": "PrivateLinkScope", "azure-native:hybridcompute:PrivateLinkScopedResource": "PrivateLinkScopedResource" @@ -5283,18 +5397,6 @@ "azure-native:hybridcompute/v20221227:PrivateLinkScope": "PrivateLinkScope" } }, - { - "pkg": "azure-native", - "mod": "hybridcompute/v20230425preview", - "fqn": "pulumi_azure_native.hybridcompute.v20230425preview", - "classes": { - "azure-native:hybridcompute/v20230425preview:Machine": "Machine", - "azure-native:hybridcompute/v20230425preview:MachineExtension": "MachineExtension", - "azure-native:hybridcompute/v20230425preview:MachineRunCommand": "MachineRunCommand", - "azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection": "PrivateEndpointConnection", - "azure-native:hybridcompute/v20230425preview:PrivateLinkScope": "PrivateLinkScope" - } - }, { "pkg": "azure-native", "mod": "hybridconnectivity", @@ -6872,6 +6974,15 @@ "azure-native:maps/v20211201preview:Creator": "Creator" } }, + { + "pkg": "azure-native", + "mod": "maps/v20230601", + "fqn": "pulumi_azure_native.maps.v20230601", + "classes": { + "azure-native:maps/v20230601:Account": "Account", + "azure-native:maps/v20230601:Creator": "Creator" + } + }, { "pkg": "azure-native", "mod": "marketplace", @@ -7198,6 +7309,22 @@ "azure-native:mobilenetwork/v20230601:Slice": "Slice" } }, + { + "pkg": "azure-native", + "mod": "mobilepacketcore", + "fqn": "pulumi_azure_native.mobilepacketcore", + "classes": { + "azure-native:mobilepacketcore:NetworkFunction": "NetworkFunction" + } + }, + { + "pkg": "azure-native", + "mod": "mobilepacketcore/v20230515preview", + "fqn": "pulumi_azure_native.mobilepacketcore.v20230515preview", + "classes": { + "azure-native:mobilepacketcore/v20230515preview:NetworkFunction": "NetworkFunction" + } + }, { "pkg": "azure-native", "mod": "monitor", @@ -10332,6 +10459,22 @@ "azure-native:storagesync/v20220601:SyncGroup": "SyncGroup" } }, + { + "pkg": "azure-native", + "mod": "storagetasks", + "fqn": "pulumi_azure_native.storagetasks", + "classes": { + "azure-native:storagetasks:StorageTask": "StorageTask" + } + }, + { + "pkg": "azure-native", + "mod": "storagetasks/v20230101", + "fqn": "pulumi_azure_native.storagetasks.v20230101", + "classes": { + "azure-native:storagetasks/v20230101:StorageTask": "StorageTask" + } + }, { "pkg": "azure-native", "mod": "storsimple", diff --git a/sdk/python/pulumi_azure_native/appplatform/outputs.py b/sdk/python/pulumi_azure_native/appplatform/outputs.py index 584e8568ec1d..d35cf132d930 100644 --- a/sdk/python/pulumi_azure_native/appplatform/outputs.py +++ b/sdk/python/pulumi_azure_native/appplatform/outputs.py @@ -69,6 +69,7 @@ 'DeploymentInstanceResponse', 'DeploymentResourcePropertiesResponse', 'DeploymentSettingsResponse', + 'DevToolPortalComponentResponse', 'DevToolPortalFeatureDetailResponse', 'DevToolPortalFeatureSettingsResponse', 'DevToolPortalInstanceResponse', @@ -2328,7 +2329,7 @@ def __init__(__self__, *, :param str fqdn: Fully qualified dns name of the service instance :param str power_state: Power state of the Service :param str provisioning_state: Provisioning state of the Service - :param str service_id: ServiceInstanceEntity GUID which uniquely identifies a created resource + :param str service_id: ServiceInstanceEntity Id which uniquely identifies a created resource :param int version: Version of the Service :param str infra_resource_group: The name of the resource group that contains the infrastructure resources :param str managed_environment_id: The resource Id of the Managed Environment that the Spring Apps instance builds on @@ -2384,7 +2385,7 @@ def provisioning_state(self) -> str: @pulumi.getter(name="serviceId") def service_id(self) -> str: """ - ServiceInstanceEntity GUID which uniquely identifies a created resource + ServiceInstanceEntity Id which uniquely identifies a created resource """ return pulumi.get(self, "service_id") @@ -4223,6 +4224,59 @@ def termination_grace_period_seconds(self) -> Optional[int]: return pulumi.get(self, "termination_grace_period_seconds") +@pulumi.output_type +class DevToolPortalComponentResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceRequests": + suggest = "resource_requests" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DevToolPortalComponentResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DevToolPortalComponentResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DevToolPortalComponentResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + instances: Sequence['outputs.DevToolPortalInstanceResponse'], + name: str, + resource_requests: 'outputs.DevToolPortalResourceRequestsResponse'): + """ + :param Sequence['DevToolPortalInstanceResponse'] instances: Collection of instances belong to Dev Tool Portal. + :param 'DevToolPortalResourceRequestsResponse' resource_requests: The requested resource quantity for required CPU and Memory. + """ + pulumi.set(__self__, "instances", instances) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "resource_requests", resource_requests) + + @property + @pulumi.getter + def instances(self) -> Sequence['outputs.DevToolPortalInstanceResponse']: + """ + Collection of instances belong to Dev Tool Portal. + """ + return pulumi.get(self, "instances") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="resourceRequests") + def resource_requests(self) -> 'outputs.DevToolPortalResourceRequestsResponse': + """ + The requested resource quantity for required CPU and Memory. + """ + return pulumi.get(self, "resource_requests") + + @pulumi.output_type class DevToolPortalFeatureDetailResponse(dict): """ @@ -4356,8 +4410,6 @@ def __key_warning(key: str): suggest = None if key == "provisioningState": suggest = "provisioning_state" - elif key == "resourceRequests": - suggest = "resource_requests" elif key == "ssoProperties": suggest = "sso_properties" @@ -4373,26 +4425,23 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - instances: Sequence['outputs.DevToolPortalInstanceResponse'], + components: Sequence['outputs.DevToolPortalComponentResponse'], provisioning_state: str, - resource_requests: 'outputs.DevToolPortalResourceRequestsResponse', url: str, features: Optional['outputs.DevToolPortalFeatureSettingsResponse'] = None, public: Optional[bool] = None, sso_properties: Optional['outputs.DevToolPortalSsoPropertiesResponse'] = None): """ Dev Tool Portal properties payload - :param Sequence['DevToolPortalInstanceResponse'] instances: Collection of instances belong to Dev Tool Portal. + :param Sequence['DevToolPortalComponentResponse'] components: Collection of components belong to Dev Tool Portal. :param str provisioning_state: State of the Dev Tool Portal. - :param 'DevToolPortalResourceRequestsResponse' resource_requests: The requested resource quantity for required CPU and Memory. :param str url: URL of the resource, exposed when 'public' is true. :param 'DevToolPortalFeatureSettingsResponse' features: Settings for Dev Tool Portal :param bool public: Indicates whether the resource exposes public endpoint :param 'DevToolPortalSsoPropertiesResponse' sso_properties: Single sign-on related configuration """ - pulumi.set(__self__, "instances", instances) + pulumi.set(__self__, "components", components) pulumi.set(__self__, "provisioning_state", provisioning_state) - pulumi.set(__self__, "resource_requests", resource_requests) pulumi.set(__self__, "url", url) if features is not None: pulumi.set(__self__, "features", features) @@ -4405,11 +4454,11 @@ def __init__(__self__, *, @property @pulumi.getter - def instances(self) -> Sequence['outputs.DevToolPortalInstanceResponse']: + def components(self) -> Sequence['outputs.DevToolPortalComponentResponse']: """ - Collection of instances belong to Dev Tool Portal. + Collection of components belong to Dev Tool Portal. """ - return pulumi.get(self, "instances") + return pulumi.get(self, "components") @property @pulumi.getter(name="provisioningState") @@ -4419,14 +4468,6 @@ def provisioning_state(self) -> str: """ return pulumi.get(self, "provisioning_state") - @property - @pulumi.getter(name="resourceRequests") - def resource_requests(self) -> 'outputs.DevToolPortalResourceRequestsResponse': - """ - The requested resource quantity for required CPU and Memory. - """ - return pulumi.get(self, "resource_requests") - @property @pulumi.getter def url(self) -> str: diff --git a/sdk/python/pulumi_azure_native/appplatform/v20230501preview/outputs.py b/sdk/python/pulumi_azure_native/appplatform/v20230501preview/outputs.py index 22f91f8d2229..f592c09f5834 100644 --- a/sdk/python/pulumi_azure_native/appplatform/v20230501preview/outputs.py +++ b/sdk/python/pulumi_azure_native/appplatform/v20230501preview/outputs.py @@ -69,6 +69,7 @@ 'DeploymentInstanceResponse', 'DeploymentResourcePropertiesResponse', 'DeploymentSettingsResponse', + 'DevToolPortalComponentResponse', 'DevToolPortalFeatureDetailResponse', 'DevToolPortalFeatureSettingsResponse', 'DevToolPortalInstanceResponse', @@ -2328,7 +2329,7 @@ def __init__(__self__, *, :param str fqdn: Fully qualified dns name of the service instance :param str power_state: Power state of the Service :param str provisioning_state: Provisioning state of the Service - :param str service_id: ServiceInstanceEntity GUID which uniquely identifies a created resource + :param str service_id: ServiceInstanceEntity Id which uniquely identifies a created resource :param int version: Version of the Service :param str infra_resource_group: The name of the resource group that contains the infrastructure resources :param str managed_environment_id: The resource Id of the Managed Environment that the Spring Apps instance builds on @@ -2384,7 +2385,7 @@ def provisioning_state(self) -> str: @pulumi.getter(name="serviceId") def service_id(self) -> str: """ - ServiceInstanceEntity GUID which uniquely identifies a created resource + ServiceInstanceEntity Id which uniquely identifies a created resource """ return pulumi.get(self, "service_id") @@ -4223,6 +4224,59 @@ def termination_grace_period_seconds(self) -> Optional[int]: return pulumi.get(self, "termination_grace_period_seconds") +@pulumi.output_type +class DevToolPortalComponentResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceRequests": + suggest = "resource_requests" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DevToolPortalComponentResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DevToolPortalComponentResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DevToolPortalComponentResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + instances: Sequence['outputs.DevToolPortalInstanceResponse'], + name: str, + resource_requests: 'outputs.DevToolPortalResourceRequestsResponse'): + """ + :param Sequence['DevToolPortalInstanceResponse'] instances: Collection of instances belong to Dev Tool Portal. + :param 'DevToolPortalResourceRequestsResponse' resource_requests: The requested resource quantity for required CPU and Memory. + """ + pulumi.set(__self__, "instances", instances) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "resource_requests", resource_requests) + + @property + @pulumi.getter + def instances(self) -> Sequence['outputs.DevToolPortalInstanceResponse']: + """ + Collection of instances belong to Dev Tool Portal. + """ + return pulumi.get(self, "instances") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="resourceRequests") + def resource_requests(self) -> 'outputs.DevToolPortalResourceRequestsResponse': + """ + The requested resource quantity for required CPU and Memory. + """ + return pulumi.get(self, "resource_requests") + + @pulumi.output_type class DevToolPortalFeatureDetailResponse(dict): """ @@ -4356,8 +4410,6 @@ def __key_warning(key: str): suggest = None if key == "provisioningState": suggest = "provisioning_state" - elif key == "resourceRequests": - suggest = "resource_requests" elif key == "ssoProperties": suggest = "sso_properties" @@ -4373,26 +4425,23 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - instances: Sequence['outputs.DevToolPortalInstanceResponse'], + components: Sequence['outputs.DevToolPortalComponentResponse'], provisioning_state: str, - resource_requests: 'outputs.DevToolPortalResourceRequestsResponse', url: str, features: Optional['outputs.DevToolPortalFeatureSettingsResponse'] = None, public: Optional[bool] = None, sso_properties: Optional['outputs.DevToolPortalSsoPropertiesResponse'] = None): """ Dev Tool Portal properties payload - :param Sequence['DevToolPortalInstanceResponse'] instances: Collection of instances belong to Dev Tool Portal. + :param Sequence['DevToolPortalComponentResponse'] components: Collection of components belong to Dev Tool Portal. :param str provisioning_state: State of the Dev Tool Portal. - :param 'DevToolPortalResourceRequestsResponse' resource_requests: The requested resource quantity for required CPU and Memory. :param str url: URL of the resource, exposed when 'public' is true. :param 'DevToolPortalFeatureSettingsResponse' features: Settings for Dev Tool Portal :param bool public: Indicates whether the resource exposes public endpoint :param 'DevToolPortalSsoPropertiesResponse' sso_properties: Single sign-on related configuration """ - pulumi.set(__self__, "instances", instances) + pulumi.set(__self__, "components", components) pulumi.set(__self__, "provisioning_state", provisioning_state) - pulumi.set(__self__, "resource_requests", resource_requests) pulumi.set(__self__, "url", url) if features is not None: pulumi.set(__self__, "features", features) @@ -4405,11 +4454,11 @@ def __init__(__self__, *, @property @pulumi.getter - def instances(self) -> Sequence['outputs.DevToolPortalInstanceResponse']: + def components(self) -> Sequence['outputs.DevToolPortalComponentResponse']: """ - Collection of instances belong to Dev Tool Portal. + Collection of components belong to Dev Tool Portal. """ - return pulumi.get(self, "instances") + return pulumi.get(self, "components") @property @pulumi.getter(name="provisioningState") @@ -4419,14 +4468,6 @@ def provisioning_state(self) -> str: """ return pulumi.get(self, "provisioning_state") - @property - @pulumi.getter(name="resourceRequests") - def resource_requests(self) -> 'outputs.DevToolPortalResourceRequestsResponse': - """ - The requested resource quantity for required CPU and Memory. - """ - return pulumi.get(self, "resource_requests") - @property @pulumi.getter def url(self) -> str: diff --git a/sdk/python/pulumi_azure_native/avs/__init__.py b/sdk/python/pulumi_azure_native/avs/__init__.py index e3977f79e495..7121b2289670 100644 --- a/sdk/python/pulumi_azure_native/avs/__init__.py +++ b/sdk/python/pulumi_azure_native/avs/__init__.py @@ -56,9 +56,12 @@ v20210601 = __v20210601 import pulumi_azure_native.avs.v20220501 as __v20220501 v20220501 = __v20220501 + import pulumi_azure_native.avs.v20230301 as __v20230301 + v20230301 = __v20230301 else: v20200320 = _utilities.lazy_import('pulumi_azure_native.avs.v20200320') v20210101preview = _utilities.lazy_import('pulumi_azure_native.avs.v20210101preview') v20210601 = _utilities.lazy_import('pulumi_azure_native.avs.v20210601') v20220501 = _utilities.lazy_import('pulumi_azure_native.avs.v20220501') + v20230301 = _utilities.lazy_import('pulumi_azure_native.avs.v20230301') diff --git a/sdk/python/pulumi_azure_native/avs/addon.py b/sdk/python/pulumi_azure_native/avs/addon.py index 750e8c2b03de..772ae2987ae0 100644 --- a/sdk/python/pulumi_azure_native/avs/addon.py +++ b/sdk/python/pulumi_azure_native/avs/addon.py @@ -152,7 +152,7 @@ def _internal_init(__self__, __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["name"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:Addon"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Addon"), pulumi.Alias(type_="azure-native:avs/v20210601:Addon"), pulumi.Alias(type_="azure-native:avs/v20211201:Addon"), pulumi.Alias(type_="azure-native:avs/v20220501:Addon")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:Addon"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Addon"), pulumi.Alias(type_="azure-native:avs/v20210601:Addon"), pulumi.Alias(type_="azure-native:avs/v20211201:Addon"), pulumi.Alias(type_="azure-native:avs/v20220501:Addon"), pulumi.Alias(type_="azure-native:avs/v20230301:Addon")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Addon, __self__).__init__( 'azure-native:avs:Addon', diff --git a/sdk/python/pulumi_azure_native/avs/authorization.py b/sdk/python/pulumi_azure_native/avs/authorization.py index 23f121905dd0..3c60c924db2a 100644 --- a/sdk/python/pulumi_azure_native/avs/authorization.py +++ b/sdk/python/pulumi_azure_native/avs/authorization.py @@ -153,7 +153,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200320:Authorization"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Authorization"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Authorization"), pulumi.Alias(type_="azure-native:avs/v20210601:Authorization"), pulumi.Alias(type_="azure-native:avs/v20211201:Authorization"), pulumi.Alias(type_="azure-native:avs/v20220501:Authorization")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200320:Authorization"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Authorization"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Authorization"), pulumi.Alias(type_="azure-native:avs/v20210601:Authorization"), pulumi.Alias(type_="azure-native:avs/v20211201:Authorization"), pulumi.Alias(type_="azure-native:avs/v20220501:Authorization"), pulumi.Alias(type_="azure-native:avs/v20230301:Authorization")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Authorization, __self__).__init__( 'azure-native:avs:Authorization', diff --git a/sdk/python/pulumi_azure_native/avs/cloud_link.py b/sdk/python/pulumi_azure_native/avs/cloud_link.py index f90ca5a8d71a..1b06d21f2da5 100644 --- a/sdk/python/pulumi_azure_native/avs/cloud_link.py +++ b/sdk/python/pulumi_azure_native/avs/cloud_link.py @@ -151,7 +151,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20210601:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20211201:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20220501:CloudLink")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20210601:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20211201:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20220501:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20230301:CloudLink")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(CloudLink, __self__).__init__( 'azure-native:avs:CloudLink', diff --git a/sdk/python/pulumi_azure_native/avs/cluster.py b/sdk/python/pulumi_azure_native/avs/cluster.py index a0ec811ece69..e6a285214639 100644 --- a/sdk/python/pulumi_azure_native/avs/cluster.py +++ b/sdk/python/pulumi_azure_native/avs/cluster.py @@ -195,7 +195,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200320:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210601:Cluster"), pulumi.Alias(type_="azure-native:avs/v20211201:Cluster"), pulumi.Alias(type_="azure-native:avs/v20220501:Cluster")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200320:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210601:Cluster"), pulumi.Alias(type_="azure-native:avs/v20211201:Cluster"), pulumi.Alias(type_="azure-native:avs/v20220501:Cluster"), pulumi.Alias(type_="azure-native:avs/v20230301:Cluster")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Cluster, __self__).__init__( 'azure-native:avs:Cluster', diff --git a/sdk/python/pulumi_azure_native/avs/datastore.py b/sdk/python/pulumi_azure_native/avs/datastore.py index e4c3da6eb839..a9114cde148d 100644 --- a/sdk/python/pulumi_azure_native/avs/datastore.py +++ b/sdk/python/pulumi_azure_native/avs/datastore.py @@ -196,7 +196,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20210101preview:Datastore"), pulumi.Alias(type_="azure-native:avs/v20210601:Datastore"), pulumi.Alias(type_="azure-native:avs/v20211201:Datastore"), pulumi.Alias(type_="azure-native:avs/v20220501:Datastore")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20210101preview:Datastore"), pulumi.Alias(type_="azure-native:avs/v20210601:Datastore"), pulumi.Alias(type_="azure-native:avs/v20211201:Datastore"), pulumi.Alias(type_="azure-native:avs/v20220501:Datastore"), pulumi.Alias(type_="azure-native:avs/v20230301:Datastore")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Datastore, __self__).__init__( 'azure-native:avs:Datastore', diff --git a/sdk/python/pulumi_azure_native/avs/global_reach_connection.py b/sdk/python/pulumi_azure_native/avs/global_reach_connection.py index 0677d743acf4..7b21e13f0483 100644 --- a/sdk/python/pulumi_azure_native/avs/global_reach_connection.py +++ b/sdk/python/pulumi_azure_native/avs/global_reach_connection.py @@ -193,7 +193,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20210101preview:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20210601:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20211201:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20220501:GlobalReachConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20210101preview:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20210601:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20211201:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20220501:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20230301:GlobalReachConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(GlobalReachConnection, __self__).__init__( 'azure-native:avs:GlobalReachConnection', diff --git a/sdk/python/pulumi_azure_native/avs/hcx_enterprise_site.py b/sdk/python/pulumi_azure_native/avs/hcx_enterprise_site.py index 767750fbcab8..266855f48591 100644 --- a/sdk/python/pulumi_azure_native/avs/hcx_enterprise_site.py +++ b/sdk/python/pulumi_azure_native/avs/hcx_enterprise_site.py @@ -132,7 +132,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200320:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20200717preview:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20210101preview:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20210601:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20211201:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20220501:HcxEnterpriseSite")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200320:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20200717preview:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20210101preview:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20210601:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20211201:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20220501:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20230301:HcxEnterpriseSite")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(HcxEnterpriseSite, __self__).__init__( 'azure-native:avs:HcxEnterpriseSite', diff --git a/sdk/python/pulumi_azure_native/avs/placement_policy.py b/sdk/python/pulumi_azure_native/avs/placement_policy.py index ccabcda4caa2..bdbeab32d3c5 100644 --- a/sdk/python/pulumi_azure_native/avs/placement_policy.py +++ b/sdk/python/pulumi_azure_native/avs/placement_policy.py @@ -174,7 +174,7 @@ def _internal_init(__self__, __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["name"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20211201:PlacementPolicy"), pulumi.Alias(type_="azure-native:avs/v20220501:PlacementPolicy")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20211201:PlacementPolicy"), pulumi.Alias(type_="azure-native:avs/v20220501:PlacementPolicy"), pulumi.Alias(type_="azure-native:avs/v20230301:PlacementPolicy")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PlacementPolicy, __self__).__init__( 'azure-native:avs:PlacementPolicy', diff --git a/sdk/python/pulumi_azure_native/avs/private_cloud.py b/sdk/python/pulumi_azure_native/avs/private_cloud.py index 4226f7ca924f..01f96196421e 100644 --- a/sdk/python/pulumi_azure_native/avs/private_cloud.py +++ b/sdk/python/pulumi_azure_native/avs/private_cloud.py @@ -370,7 +370,7 @@ def _internal_init(__self__, __props__.__dict__["type"] = None __props__.__dict__["vcenter_certificate_thumbprint"] = None __props__.__dict__["vmotion_network"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200320:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20200717preview:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20210101preview:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20210601:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20211201:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20220501:PrivateCloud")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200320:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20200717preview:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20210101preview:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20210601:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20211201:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20220501:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20230301:PrivateCloud")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateCloud, __self__).__init__( 'azure-native:avs:PrivateCloud', diff --git a/sdk/python/pulumi_azure_native/avs/script_execution.py b/sdk/python/pulumi_azure_native/avs/script_execution.py index ae8031714dff..1459b373e867 100644 --- a/sdk/python/pulumi_azure_native/avs/script_execution.py +++ b/sdk/python/pulumi_azure_native/avs/script_execution.py @@ -300,7 +300,7 @@ def _internal_init(__self__, __props__.__dict__["submitted_at"] = None __props__.__dict__["type"] = None __props__.__dict__["warnings"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20210601:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20211201:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20220501:ScriptExecution")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20210601:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20211201:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20220501:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20230301:ScriptExecution")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ScriptExecution, __self__).__init__( 'azure-native:avs:ScriptExecution', diff --git a/sdk/python/pulumi_azure_native/avs/v20200320/cluster.py b/sdk/python/pulumi_azure_native/avs/v20200320/cluster.py index ddfd512317a5..0152b4bc068d 100644 --- a/sdk/python/pulumi_azure_native/avs/v20200320/cluster.py +++ b/sdk/python/pulumi_azure_native/avs/v20200320/cluster.py @@ -175,7 +175,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210601:Cluster"), pulumi.Alias(type_="azure-native:avs/v20211201:Cluster"), pulumi.Alias(type_="azure-native:avs/v20220501:Cluster")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210601:Cluster"), pulumi.Alias(type_="azure-native:avs/v20211201:Cluster"), pulumi.Alias(type_="azure-native:avs/v20220501:Cluster"), pulumi.Alias(type_="azure-native:avs/v20230301:Cluster")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Cluster, __self__).__init__( 'azure-native:avs/v20200320:Cluster', diff --git a/sdk/python/pulumi_azure_native/avs/v20210101preview/addon.py b/sdk/python/pulumi_azure_native/avs/v20210101preview/addon.py index 4976b30ad47a..521ca416b930 100644 --- a/sdk/python/pulumi_azure_native/avs/v20210101preview/addon.py +++ b/sdk/python/pulumi_azure_native/avs/v20210101preview/addon.py @@ -170,7 +170,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Addon"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Addon"), pulumi.Alias(type_="azure-native:avs/v20210601:Addon"), pulumi.Alias(type_="azure-native:avs/v20211201:Addon"), pulumi.Alias(type_="azure-native:avs/v20220501:Addon")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Addon"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Addon"), pulumi.Alias(type_="azure-native:avs/v20210601:Addon"), pulumi.Alias(type_="azure-native:avs/v20211201:Addon"), pulumi.Alias(type_="azure-native:avs/v20220501:Addon"), pulumi.Alias(type_="azure-native:avs/v20230301:Addon")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Addon, __self__).__init__( 'azure-native:avs/v20210101preview:Addon', diff --git a/sdk/python/pulumi_azure_native/avs/v20210101preview/workload_network_dhcp.py b/sdk/python/pulumi_azure_native/avs/v20210101preview/workload_network_dhcp.py index ef3e3b253aea..63098b8756e0 100644 --- a/sdk/python/pulumi_azure_native/avs/v20210101preview/workload_network_dhcp.py +++ b/sdk/python/pulumi_azure_native/avs/v20210101preview/workload_network_dhcp.py @@ -192,7 +192,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["segments"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkDhcp")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkDhcp")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkDhcp, __self__).__init__( 'azure-native:avs/v20210101preview:WorkloadNetworkDhcp', diff --git a/sdk/python/pulumi_azure_native/avs/v20210601/cluster.py b/sdk/python/pulumi_azure_native/avs/v20210601/cluster.py index aad33cc96839..667c54f79f11 100644 --- a/sdk/python/pulumi_azure_native/avs/v20210601/cluster.py +++ b/sdk/python/pulumi_azure_native/avs/v20210601/cluster.py @@ -174,7 +174,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200320:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20211201:Cluster"), pulumi.Alias(type_="azure-native:avs/v20220501:Cluster")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200320:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20211201:Cluster"), pulumi.Alias(type_="azure-native:avs/v20220501:Cluster"), pulumi.Alias(type_="azure-native:avs/v20230301:Cluster")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Cluster, __self__).__init__( 'azure-native:avs/v20210601:Cluster', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/addon.py b/sdk/python/pulumi_azure_native/avs/v20220501/addon.py index 133773a071ee..37ec2b6689da 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/addon.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/addon.py @@ -150,7 +150,7 @@ def _internal_init(__self__, __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["name"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Addon"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Addon"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Addon"), pulumi.Alias(type_="azure-native:avs/v20210601:Addon"), pulumi.Alias(type_="azure-native:avs/v20211201:Addon")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Addon"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Addon"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Addon"), pulumi.Alias(type_="azure-native:avs/v20210601:Addon"), pulumi.Alias(type_="azure-native:avs/v20211201:Addon"), pulumi.Alias(type_="azure-native:avs/v20230301:Addon")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Addon, __self__).__init__( 'azure-native:avs/v20220501:Addon', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/authorization.py b/sdk/python/pulumi_azure_native/avs/v20220501/authorization.py index 75dd467f6e8a..48c615f7cfc4 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/authorization.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/authorization.py @@ -151,7 +151,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Authorization"), pulumi.Alias(type_="azure-native:avs/v20200320:Authorization"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Authorization"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Authorization"), pulumi.Alias(type_="azure-native:avs/v20210601:Authorization"), pulumi.Alias(type_="azure-native:avs/v20211201:Authorization")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Authorization"), pulumi.Alias(type_="azure-native:avs/v20200320:Authorization"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Authorization"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Authorization"), pulumi.Alias(type_="azure-native:avs/v20210601:Authorization"), pulumi.Alias(type_="azure-native:avs/v20211201:Authorization"), pulumi.Alias(type_="azure-native:avs/v20230301:Authorization")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Authorization, __self__).__init__( 'azure-native:avs/v20220501:Authorization', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/cloud_link.py b/sdk/python/pulumi_azure_native/avs/v20220501/cloud_link.py index 50cd999e6476..1bc3edf447f7 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/cloud_link.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/cloud_link.py @@ -149,7 +149,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20210601:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20211201:CloudLink")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20210601:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20211201:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20230301:CloudLink")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(CloudLink, __self__).__init__( 'azure-native:avs/v20220501:CloudLink', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/cluster.py b/sdk/python/pulumi_azure_native/avs/v20220501/cluster.py index 4e5ddc4f76c9..a56062f34ec4 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/cluster.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/cluster.py @@ -193,7 +193,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200320:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210601:Cluster"), pulumi.Alias(type_="azure-native:avs/v20211201:Cluster")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200320:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210601:Cluster"), pulumi.Alias(type_="azure-native:avs/v20211201:Cluster"), pulumi.Alias(type_="azure-native:avs/v20230301:Cluster")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Cluster, __self__).__init__( 'azure-native:avs/v20220501:Cluster', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/datastore.py b/sdk/python/pulumi_azure_native/avs/v20220501/datastore.py index e47f32862a1e..5b72a66804a0 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/datastore.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/datastore.py @@ -194,7 +194,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Datastore"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Datastore"), pulumi.Alias(type_="azure-native:avs/v20210601:Datastore"), pulumi.Alias(type_="azure-native:avs/v20211201:Datastore")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Datastore"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Datastore"), pulumi.Alias(type_="azure-native:avs/v20210601:Datastore"), pulumi.Alias(type_="azure-native:avs/v20211201:Datastore"), pulumi.Alias(type_="azure-native:avs/v20230301:Datastore")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Datastore, __self__).__init__( 'azure-native:avs/v20220501:Datastore', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/global_reach_connection.py b/sdk/python/pulumi_azure_native/avs/v20220501/global_reach_connection.py index 0b855ae3fd11..197cce03b375 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/global_reach_connection.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/global_reach_connection.py @@ -191,7 +191,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20200717preview:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20210101preview:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20210601:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20211201:GlobalReachConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20200717preview:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20210101preview:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20210601:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20211201:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20230301:GlobalReachConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(GlobalReachConnection, __self__).__init__( 'azure-native:avs/v20220501:GlobalReachConnection', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/hcx_enterprise_site.py b/sdk/python/pulumi_azure_native/avs/v20220501/hcx_enterprise_site.py index acb7f93f0825..3773ec85bca3 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/hcx_enterprise_site.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/hcx_enterprise_site.py @@ -130,7 +130,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20200320:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20200717preview:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20210101preview:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20210601:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20211201:HcxEnterpriseSite")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20200320:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20200717preview:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20210101preview:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20210601:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20211201:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20230301:HcxEnterpriseSite")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(HcxEnterpriseSite, __self__).__init__( 'azure-native:avs/v20220501:HcxEnterpriseSite', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/placement_policy.py b/sdk/python/pulumi_azure_native/avs/v20220501/placement_policy.py index 0e2b1e5c88d5..049c8470c2e0 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/placement_policy.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/placement_policy.py @@ -172,7 +172,7 @@ def _internal_init(__self__, __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["name"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:PlacementPolicy"), pulumi.Alias(type_="azure-native:avs/v20211201:PlacementPolicy")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:PlacementPolicy"), pulumi.Alias(type_="azure-native:avs/v20211201:PlacementPolicy"), pulumi.Alias(type_="azure-native:avs/v20230301:PlacementPolicy")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PlacementPolicy, __self__).__init__( 'azure-native:avs/v20220501:PlacementPolicy', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/private_cloud.py b/sdk/python/pulumi_azure_native/avs/v20220501/private_cloud.py index 567cc8469275..eb97b44b978d 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/private_cloud.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/private_cloud.py @@ -368,7 +368,7 @@ def _internal_init(__self__, __props__.__dict__["type"] = None __props__.__dict__["vcenter_certificate_thumbprint"] = None __props__.__dict__["vmotion_network"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20200320:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20200717preview:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20210101preview:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20210601:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20211201:PrivateCloud")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20200320:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20200717preview:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20210101preview:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20210601:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20211201:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20230301:PrivateCloud")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateCloud, __self__).__init__( 'azure-native:avs/v20220501:PrivateCloud', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/script_execution.py b/sdk/python/pulumi_azure_native/avs/v20220501/script_execution.py index 8944059c66a9..aaa21497a66c 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/script_execution.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/script_execution.py @@ -298,7 +298,7 @@ def _internal_init(__self__, __props__.__dict__["submitted_at"] = None __props__.__dict__["type"] = None __props__.__dict__["warnings"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20210601:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20211201:ScriptExecution")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20210601:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20211201:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20230301:ScriptExecution")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ScriptExecution, __self__).__init__( 'azure-native:avs/v20220501:ScriptExecution', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_dhcp.py b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_dhcp.py index 043497f2adee..bf9aac084847 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_dhcp.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_dhcp.py @@ -150,7 +150,7 @@ def _internal_init(__self__, __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["name"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDhcp")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkDhcp")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkDhcp, __self__).__init__( 'azure-native:avs/v20220501:WorkloadNetworkDhcp', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_dns_service.py b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_dns_service.py index 971e9c48d267..879ffcad2662 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_dns_service.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_dns_service.py @@ -251,7 +251,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDnsService")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkDnsService")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkDnsService, __self__).__init__( 'azure-native:avs/v20220501:WorkloadNetworkDnsService', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_dns_zone.py b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_dns_zone.py index 372047c93774..d735fea9cf79 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_dns_zone.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_dns_zone.py @@ -249,7 +249,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDnsZone")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkDnsZone")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkDnsZone, __self__).__init__( 'azure-native:avs/v20220501:WorkloadNetworkDnsZone', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_port_mirroring.py b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_port_mirroring.py index 1cda2286fa83..37188714c8fe 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_port_mirroring.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_port_mirroring.py @@ -231,7 +231,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkPortMirroring")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkPortMirroring")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkPortMirroring, __self__).__init__( 'azure-native:avs/v20220501:WorkloadNetworkPortMirroring', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_public_ip.py b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_public_ip.py index ac46276e0d54..28b556cfd37b 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_public_ip.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_public_ip.py @@ -170,7 +170,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["public_ip_block"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkPublicIP")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkPublicIP")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkPublicIP, __self__).__init__( 'azure-native:avs/v20220501:WorkloadNetworkPublicIP', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_segment.py b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_segment.py index 84c0090766cd..f73046bb577a 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_segment.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_segment.py @@ -213,7 +213,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkSegment")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkSegment")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkSegment, __self__).__init__( 'azure-native:avs/v20220501:WorkloadNetworkSegment', diff --git a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_vm_group.py b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_vm_group.py index a5ad25a066a8..3664ca545832 100644 --- a/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_vm_group.py +++ b/sdk/python/pulumi_azure_native/avs/v20220501/workload_network_vm_group.py @@ -190,7 +190,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkVMGroup")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkVMGroup")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkVMGroup, __self__).__init__( 'azure-native:avs/v20220501:WorkloadNetworkVMGroup', diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/__init__.py b/sdk/python/pulumi_azure_native/avs/v20230301/__init__.py new file mode 100644 index 000000000000..bfbb0827ef84 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/__init__.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .addon import * +from .authorization import * +from .cloud_link import * +from .cluster import * +from .datastore import * +from .get_addon import * +from .get_authorization import * +from .get_cloud_link import * +from .get_cluster import * +from .get_datastore import * +from .get_global_reach_connection import * +from .get_hcx_enterprise_site import * +from .get_placement_policy import * +from .get_private_cloud import * +from .get_script_execution import * +from .get_script_execution_logs import * +from .get_workload_network_dhcp import * +from .get_workload_network_dns_service import * +from .get_workload_network_dns_zone import * +from .get_workload_network_port_mirroring import * +from .get_workload_network_public_ip import * +from .get_workload_network_segment import * +from .get_workload_network_vm_group import * +from .global_reach_connection import * +from .hcx_enterprise_site import * +from .list_cluster_zones import * +from .list_private_cloud_admin_credentials import * +from .placement_policy import * +from .private_cloud import * +from .script_execution import * +from .workload_network_dhcp import * +from .workload_network_dns_service import * +from .workload_network_dns_zone import * +from .workload_network_port_mirroring import * +from .workload_network_public_ip import * +from .workload_network_segment import * +from .workload_network_vm_group import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/_enums.py b/sdk/python/pulumi_azure_native/avs/v20230301/_enums.py new file mode 100644 index 000000000000..ff4a5ee3f87f --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/_enums.py @@ -0,0 +1,159 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'AddonType', + 'AffinityStrength', + 'AffinityType', + 'AvailabilityStrategy', + 'AzureHybridBenefitType', + 'DhcpTypeEnum', + 'DnsServiceLogLevelEnum', + 'EncryptionState', + 'InternetEnum', + 'MountOptionEnum', + 'PlacementPolicyState', + 'PlacementPolicyType', + 'PortMirroringDirectionEnum', + 'ResourceIdentityType', + 'ScriptExecutionParameterType', + 'SslEnum', +] + + +class AddonType(str, Enum): + """ + The type of private cloud addon + """ + SRM = "SRM" + VR = "VR" + HCX = "HCX" + ARC = "Arc" + + +class AffinityStrength(str, Enum): + """ + vm-host placement policy affinity strength (should/must) + """ + SHOULD = "Should" + MUST = "Must" + + +class AffinityType(str, Enum): + """ + placement policy affinity type + """ + AFFINITY = "Affinity" + ANTI_AFFINITY = "AntiAffinity" + + +class AvailabilityStrategy(str, Enum): + """ + The availability strategy for the private cloud + """ + SINGLE_ZONE = "SingleZone" + DUAL_ZONE = "DualZone" + + +class AzureHybridBenefitType(str, Enum): + """ + placement policy azure hybrid benefit opt-in type + """ + SQL_HOST = "SqlHost" + NONE = "None" + + +class DhcpTypeEnum(str, Enum): + """ + Type of DHCP: SERVER or RELAY. + """ + SERVER = "SERVER" + RELAY = "RELAY" + + +class DnsServiceLogLevelEnum(str, Enum): + """ + DNS Service log level. + """ + DEBUG = "DEBUG" + INFO = "INFO" + WARNING = "WARNING" + ERROR = "ERROR" + FATAL = "FATAL" + + +class EncryptionState(str, Enum): + """ + Status of customer managed encryption key + """ + ENABLED = "Enabled" + DISABLED = "Disabled" + + +class InternetEnum(str, Enum): + """ + Connectivity to internet is enabled or disabled + """ + ENABLED = "Enabled" + DISABLED = "Disabled" + + +class MountOptionEnum(str, Enum): + """ + Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN + """ + MOUNT = "MOUNT" + ATTACH = "ATTACH" + + +class PlacementPolicyState(str, Enum): + """ + Whether the placement policy is enabled or disabled + """ + ENABLED = "Enabled" + DISABLED = "Disabled" + + +class PlacementPolicyType(str, Enum): + """ + placement policy type + """ + VM_VM = "VmVm" + VM_HOST = "VmHost" + + +class PortMirroringDirectionEnum(str, Enum): + """ + Direction of port mirroring profile. + """ + INGRESS = "INGRESS" + EGRESS = "EGRESS" + BIDIRECTIONAL = "BIDIRECTIONAL" + + +class ResourceIdentityType(str, Enum): + """ + The type of identity used for the private cloud. The type 'SystemAssigned' refers to an implicitly created identity. The type 'None' will remove any identities from the Private Cloud. + """ + SYSTEM_ASSIGNED = "SystemAssigned" + NONE = "None" + + +class ScriptExecutionParameterType(str, Enum): + """ + The type of execution parameter + """ + VALUE = "Value" + SECURE_VALUE = "SecureValue" + CREDENTIAL = "Credential" + + +class SslEnum(str, Enum): + """ + Protect LDAP communication using SSL certificate (LDAPS) + """ + ENABLED = "Enabled" + DISABLED = "Disabled" diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/_inputs.py b/sdk/python/pulumi_azure_native/avs/v20230301/_inputs.py new file mode 100644 index 000000000000..f6b58c67bc80 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/_inputs.py @@ -0,0 +1,1290 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = [ + 'AddonArcPropertiesArgs', + 'AddonHcxPropertiesArgs', + 'AddonSrmPropertiesArgs', + 'AddonVrPropertiesArgs', + 'AvailabilityPropertiesArgs', + 'DiskPoolVolumeArgs', + 'EncryptionKeyVaultPropertiesArgs', + 'EncryptionArgs', + 'IdentitySourceArgs', + 'ManagementClusterArgs', + 'NetAppVolumeArgs', + 'PSCredentialExecutionParameterArgs', + 'PrivateCloudIdentityArgs', + 'ScriptSecureStringExecutionParameterArgs', + 'ScriptStringExecutionParameterArgs', + 'SkuArgs', + 'VmHostPlacementPolicyPropertiesArgs', + 'VmVmPlacementPolicyPropertiesArgs', + 'WorkloadNetworkDhcpRelayArgs', + 'WorkloadNetworkDhcpServerArgs', + 'WorkloadNetworkSegmentSubnetArgs', +] + +@pulumi.input_type +class AddonArcPropertiesArgs: + def __init__(__self__, *, + addon_type: pulumi.Input[str], + v_center: Optional[pulumi.Input[str]] = None): + """ + The properties of an Arc addon + :param pulumi.Input[str] addon_type: The type of private cloud addon + Expected value is 'Arc'. + :param pulumi.Input[str] v_center: The VMware vCenter resource ID + """ + pulumi.set(__self__, "addon_type", 'Arc') + if v_center is not None: + pulumi.set(__self__, "v_center", v_center) + + @property + @pulumi.getter(name="addonType") + def addon_type(self) -> pulumi.Input[str]: + """ + The type of private cloud addon + Expected value is 'Arc'. + """ + return pulumi.get(self, "addon_type") + + @addon_type.setter + def addon_type(self, value: pulumi.Input[str]): + pulumi.set(self, "addon_type", value) + + @property + @pulumi.getter(name="vCenter") + def v_center(self) -> Optional[pulumi.Input[str]]: + """ + The VMware vCenter resource ID + """ + return pulumi.get(self, "v_center") + + @v_center.setter + def v_center(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "v_center", value) + + +@pulumi.input_type +class AddonHcxPropertiesArgs: + def __init__(__self__, *, + addon_type: pulumi.Input[str], + offer: pulumi.Input[str]): + """ + The properties of an HCX addon + :param pulumi.Input[str] addon_type: The type of private cloud addon + Expected value is 'HCX'. + :param pulumi.Input[str] offer: The HCX offer, example VMware MaaS Cloud Provider (Enterprise) + """ + pulumi.set(__self__, "addon_type", 'HCX') + pulumi.set(__self__, "offer", offer) + + @property + @pulumi.getter(name="addonType") + def addon_type(self) -> pulumi.Input[str]: + """ + The type of private cloud addon + Expected value is 'HCX'. + """ + return pulumi.get(self, "addon_type") + + @addon_type.setter + def addon_type(self, value: pulumi.Input[str]): + pulumi.set(self, "addon_type", value) + + @property + @pulumi.getter + def offer(self) -> pulumi.Input[str]: + """ + The HCX offer, example VMware MaaS Cloud Provider (Enterprise) + """ + return pulumi.get(self, "offer") + + @offer.setter + def offer(self, value: pulumi.Input[str]): + pulumi.set(self, "offer", value) + + +@pulumi.input_type +class AddonSrmPropertiesArgs: + def __init__(__self__, *, + addon_type: pulumi.Input[str], + license_key: Optional[pulumi.Input[str]] = None): + """ + The properties of a Site Recovery Manager (SRM) addon + :param pulumi.Input[str] addon_type: The type of private cloud addon + Expected value is 'SRM'. + :param pulumi.Input[str] license_key: The Site Recovery Manager (SRM) license + """ + pulumi.set(__self__, "addon_type", 'SRM') + if license_key is not None: + pulumi.set(__self__, "license_key", license_key) + + @property + @pulumi.getter(name="addonType") + def addon_type(self) -> pulumi.Input[str]: + """ + The type of private cloud addon + Expected value is 'SRM'. + """ + return pulumi.get(self, "addon_type") + + @addon_type.setter + def addon_type(self, value: pulumi.Input[str]): + pulumi.set(self, "addon_type", value) + + @property + @pulumi.getter(name="licenseKey") + def license_key(self) -> Optional[pulumi.Input[str]]: + """ + The Site Recovery Manager (SRM) license + """ + return pulumi.get(self, "license_key") + + @license_key.setter + def license_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "license_key", value) + + +@pulumi.input_type +class AddonVrPropertiesArgs: + def __init__(__self__, *, + addon_type: pulumi.Input[str], + vrs_count: pulumi.Input[int]): + """ + The properties of a vSphere Replication (VR) addon + :param pulumi.Input[str] addon_type: The type of private cloud addon + Expected value is 'VR'. + :param pulumi.Input[int] vrs_count: The vSphere Replication Server (VRS) count + """ + pulumi.set(__self__, "addon_type", 'VR') + pulumi.set(__self__, "vrs_count", vrs_count) + + @property + @pulumi.getter(name="addonType") + def addon_type(self) -> pulumi.Input[str]: + """ + The type of private cloud addon + Expected value is 'VR'. + """ + return pulumi.get(self, "addon_type") + + @addon_type.setter + def addon_type(self, value: pulumi.Input[str]): + pulumi.set(self, "addon_type", value) + + @property + @pulumi.getter(name="vrsCount") + def vrs_count(self) -> pulumi.Input[int]: + """ + The vSphere Replication Server (VRS) count + """ + return pulumi.get(self, "vrs_count") + + @vrs_count.setter + def vrs_count(self, value: pulumi.Input[int]): + pulumi.set(self, "vrs_count", value) + + +@pulumi.input_type +class AvailabilityPropertiesArgs: + def __init__(__self__, *, + secondary_zone: Optional[pulumi.Input[int]] = None, + strategy: Optional[pulumi.Input[Union[str, 'AvailabilityStrategy']]] = None, + zone: Optional[pulumi.Input[int]] = None): + """ + The properties describing private cloud availability zone distribution + :param pulumi.Input[int] secondary_zone: The secondary availability zone for the private cloud + :param pulumi.Input[Union[str, 'AvailabilityStrategy']] strategy: The availability strategy for the private cloud + :param pulumi.Input[int] zone: The primary availability zone for the private cloud + """ + if secondary_zone is not None: + pulumi.set(__self__, "secondary_zone", secondary_zone) + if strategy is not None: + pulumi.set(__self__, "strategy", strategy) + if zone is not None: + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter(name="secondaryZone") + def secondary_zone(self) -> Optional[pulumi.Input[int]]: + """ + The secondary availability zone for the private cloud + """ + return pulumi.get(self, "secondary_zone") + + @secondary_zone.setter + def secondary_zone(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "secondary_zone", value) + + @property + @pulumi.getter + def strategy(self) -> Optional[pulumi.Input[Union[str, 'AvailabilityStrategy']]]: + """ + The availability strategy for the private cloud + """ + return pulumi.get(self, "strategy") + + @strategy.setter + def strategy(self, value: Optional[pulumi.Input[Union[str, 'AvailabilityStrategy']]]): + pulumi.set(self, "strategy", value) + + @property + @pulumi.getter + def zone(self) -> Optional[pulumi.Input[int]]: + """ + The primary availability zone for the private cloud + """ + return pulumi.get(self, "zone") + + @zone.setter + def zone(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "zone", value) + + +@pulumi.input_type +class DiskPoolVolumeArgs: + def __init__(__self__, *, + lun_name: pulumi.Input[str], + target_id: pulumi.Input[str], + mount_option: Optional[pulumi.Input[Union[str, 'MountOptionEnum']]] = None): + """ + An iSCSI volume from Microsoft.StoragePool provider + :param pulumi.Input[str] lun_name: Name of the LUN to be used for datastore + :param pulumi.Input[str] target_id: Azure resource ID of the iSCSI target + :param pulumi.Input[Union[str, 'MountOptionEnum']] mount_option: Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN + """ + pulumi.set(__self__, "lun_name", lun_name) + pulumi.set(__self__, "target_id", target_id) + if mount_option is None: + mount_option = 'MOUNT' + if mount_option is not None: + pulumi.set(__self__, "mount_option", mount_option) + + @property + @pulumi.getter(name="lunName") + def lun_name(self) -> pulumi.Input[str]: + """ + Name of the LUN to be used for datastore + """ + return pulumi.get(self, "lun_name") + + @lun_name.setter + def lun_name(self, value: pulumi.Input[str]): + pulumi.set(self, "lun_name", value) + + @property + @pulumi.getter(name="targetId") + def target_id(self) -> pulumi.Input[str]: + """ + Azure resource ID of the iSCSI target + """ + return pulumi.get(self, "target_id") + + @target_id.setter + def target_id(self, value: pulumi.Input[str]): + pulumi.set(self, "target_id", value) + + @property + @pulumi.getter(name="mountOption") + def mount_option(self) -> Optional[pulumi.Input[Union[str, 'MountOptionEnum']]]: + """ + Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN + """ + return pulumi.get(self, "mount_option") + + @mount_option.setter + def mount_option(self, value: Optional[pulumi.Input[Union[str, 'MountOptionEnum']]]): + pulumi.set(self, "mount_option", value) + + +@pulumi.input_type +class EncryptionKeyVaultPropertiesArgs: + def __init__(__self__, *, + key_name: Optional[pulumi.Input[str]] = None, + key_vault_url: Optional[pulumi.Input[str]] = None, + key_version: Optional[pulumi.Input[str]] = None): + """ + An Encryption Key + :param pulumi.Input[str] key_name: The name of the key. + :param pulumi.Input[str] key_vault_url: The URL of the vault. + :param pulumi.Input[str] key_version: The version of the key. + """ + if key_name is not None: + pulumi.set(__self__, "key_name", key_name) + if key_vault_url is not None: + pulumi.set(__self__, "key_vault_url", key_vault_url) + if key_version is not None: + pulumi.set(__self__, "key_version", key_version) + + @property + @pulumi.getter(name="keyName") + def key_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the key. + """ + return pulumi.get(self, "key_name") + + @key_name.setter + def key_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_name", value) + + @property + @pulumi.getter(name="keyVaultUrl") + def key_vault_url(self) -> Optional[pulumi.Input[str]]: + """ + The URL of the vault. + """ + return pulumi.get(self, "key_vault_url") + + @key_vault_url.setter + def key_vault_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_vault_url", value) + + @property + @pulumi.getter(name="keyVersion") + def key_version(self) -> Optional[pulumi.Input[str]]: + """ + The version of the key. + """ + return pulumi.get(self, "key_version") + + @key_version.setter + def key_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_version", value) + + +@pulumi.input_type +class EncryptionArgs: + def __init__(__self__, *, + key_vault_properties: Optional[pulumi.Input['EncryptionKeyVaultPropertiesArgs']] = None, + status: Optional[pulumi.Input[Union[str, 'EncryptionState']]] = None): + """ + The properties of customer managed encryption key + :param pulumi.Input['EncryptionKeyVaultPropertiesArgs'] key_vault_properties: The key vault where the encryption key is stored + :param pulumi.Input[Union[str, 'EncryptionState']] status: Status of customer managed encryption key + """ + if key_vault_properties is not None: + pulumi.set(__self__, "key_vault_properties", key_vault_properties) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="keyVaultProperties") + def key_vault_properties(self) -> Optional[pulumi.Input['EncryptionKeyVaultPropertiesArgs']]: + """ + The key vault where the encryption key is stored + """ + return pulumi.get(self, "key_vault_properties") + + @key_vault_properties.setter + def key_vault_properties(self, value: Optional[pulumi.Input['EncryptionKeyVaultPropertiesArgs']]): + pulumi.set(self, "key_vault_properties", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[Union[str, 'EncryptionState']]]: + """ + Status of customer managed encryption key + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[Union[str, 'EncryptionState']]]): + pulumi.set(self, "status", value) + + +@pulumi.input_type +class IdentitySourceArgs: + def __init__(__self__, *, + alias: Optional[pulumi.Input[str]] = None, + base_group_dn: Optional[pulumi.Input[str]] = None, + base_user_dn: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + primary_server: Optional[pulumi.Input[str]] = None, + secondary_server: Optional[pulumi.Input[str]] = None, + ssl: Optional[pulumi.Input[Union[str, 'SslEnum']]] = None, + username: Optional[pulumi.Input[str]] = None): + """ + vCenter Single Sign On Identity Source + :param pulumi.Input[str] alias: The domain's NetBIOS name + :param pulumi.Input[str] base_group_dn: The base distinguished name for groups + :param pulumi.Input[str] base_user_dn: The base distinguished name for users + :param pulumi.Input[str] domain: The domain's dns name + :param pulumi.Input[str] name: The name of the identity source + :param pulumi.Input[str] password: The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups. + :param pulumi.Input[str] primary_server: Primary server URL + :param pulumi.Input[str] secondary_server: Secondary server URL + :param pulumi.Input[Union[str, 'SslEnum']] ssl: Protect LDAP communication using SSL certificate (LDAPS) + :param pulumi.Input[str] username: The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group + """ + if alias is not None: + pulumi.set(__self__, "alias", alias) + if base_group_dn is not None: + pulumi.set(__self__, "base_group_dn", base_group_dn) + if base_user_dn is not None: + pulumi.set(__self__, "base_user_dn", base_user_dn) + if domain is not None: + pulumi.set(__self__, "domain", domain) + if name is not None: + pulumi.set(__self__, "name", name) + if password is not None: + pulumi.set(__self__, "password", password) + if primary_server is not None: + pulumi.set(__self__, "primary_server", primary_server) + if secondary_server is not None: + pulumi.set(__self__, "secondary_server", secondary_server) + if ssl is not None: + pulumi.set(__self__, "ssl", ssl) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter + def alias(self) -> Optional[pulumi.Input[str]]: + """ + The domain's NetBIOS name + """ + return pulumi.get(self, "alias") + + @alias.setter + def alias(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "alias", value) + + @property + @pulumi.getter(name="baseGroupDN") + def base_group_dn(self) -> Optional[pulumi.Input[str]]: + """ + The base distinguished name for groups + """ + return pulumi.get(self, "base_group_dn") + + @base_group_dn.setter + def base_group_dn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "base_group_dn", value) + + @property + @pulumi.getter(name="baseUserDN") + def base_user_dn(self) -> Optional[pulumi.Input[str]]: + """ + The base distinguished name for users + """ + return pulumi.get(self, "base_user_dn") + + @base_user_dn.setter + def base_user_dn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "base_user_dn", value) + + @property + @pulumi.getter + def domain(self) -> Optional[pulumi.Input[str]]: + """ + The domain's dns name + """ + return pulumi.get(self, "domain") + + @domain.setter + def domain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the identity source + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter(name="primaryServer") + def primary_server(self) -> Optional[pulumi.Input[str]]: + """ + Primary server URL + """ + return pulumi.get(self, "primary_server") + + @primary_server.setter + def primary_server(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "primary_server", value) + + @property + @pulumi.getter(name="secondaryServer") + def secondary_server(self) -> Optional[pulumi.Input[str]]: + """ + Secondary server URL + """ + return pulumi.get(self, "secondary_server") + + @secondary_server.setter + def secondary_server(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secondary_server", value) + + @property + @pulumi.getter + def ssl(self) -> Optional[pulumi.Input[Union[str, 'SslEnum']]]: + """ + Protect LDAP communication using SSL certificate (LDAPS) + """ + return pulumi.get(self, "ssl") + + @ssl.setter + def ssl(self, value: Optional[pulumi.Input[Union[str, 'SslEnum']]]): + pulumi.set(self, "ssl", value) + + @property + @pulumi.getter + def username(self) -> Optional[pulumi.Input[str]]: + """ + The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "username", value) + + +@pulumi.input_type +class ManagementClusterArgs: + def __init__(__self__, *, + cluster_size: pulumi.Input[int], + hosts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The properties of a management cluster + :param pulumi.Input[int] cluster_size: The cluster size + :param pulumi.Input[Sequence[pulumi.Input[str]]] hosts: The hosts + """ + pulumi.set(__self__, "cluster_size", cluster_size) + if hosts is not None: + pulumi.set(__self__, "hosts", hosts) + + @property + @pulumi.getter(name="clusterSize") + def cluster_size(self) -> pulumi.Input[int]: + """ + The cluster size + """ + return pulumi.get(self, "cluster_size") + + @cluster_size.setter + def cluster_size(self, value: pulumi.Input[int]): + pulumi.set(self, "cluster_size", value) + + @property + @pulumi.getter + def hosts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The hosts + """ + return pulumi.get(self, "hosts") + + @hosts.setter + def hosts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "hosts", value) + + +@pulumi.input_type +class NetAppVolumeArgs: + def __init__(__self__, *, + id: pulumi.Input[str]): + """ + An Azure NetApp Files volume from Microsoft.NetApp provider + :param pulumi.Input[str] id: Azure resource ID of the NetApp volume + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> pulumi.Input[str]: + """ + Azure resource ID of the NetApp volume + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class PSCredentialExecutionParameterArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + type: pulumi.Input[str], + password: Optional[pulumi.Input[str]] = None, + username: Optional[pulumi.Input[str]] = None): + """ + a powershell credential object + :param pulumi.Input[str] name: The parameter name + :param pulumi.Input[str] type: The type of execution parameter + Expected value is 'Credential'. + :param pulumi.Input[str] password: password for login + :param pulumi.Input[str] username: username for login + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", 'Credential') + if password is not None: + pulumi.set(__self__, "password", password) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The parameter name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of execution parameter + Expected value is 'Credential'. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + password for login + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter + def username(self) -> Optional[pulumi.Input[str]]: + """ + username for login + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "username", value) + + +@pulumi.input_type +class PrivateCloudIdentityArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input[Union[str, 'ResourceIdentityType']]] = None): + """ + Identity for the virtual machine. + :param pulumi.Input[Union[str, 'ResourceIdentityType']] type: The type of identity used for the private cloud. The type 'SystemAssigned' refers to an implicitly created identity. The type 'None' will remove any identities from the Private Cloud. + """ + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[Union[str, 'ResourceIdentityType']]]: + """ + The type of identity used for the private cloud. The type 'SystemAssigned' refers to an implicitly created identity. The type 'None' will remove any identities from the Private Cloud. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[Union[str, 'ResourceIdentityType']]]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class ScriptSecureStringExecutionParameterArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + type: pulumi.Input[str], + secure_value: Optional[pulumi.Input[str]] = None): + """ + a plain text value execution parameter + :param pulumi.Input[str] name: The parameter name + :param pulumi.Input[str] type: The type of execution parameter + Expected value is 'SecureValue'. + :param pulumi.Input[str] secure_value: A secure value for the passed parameter, not to be stored in logs + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", 'SecureValue') + if secure_value is not None: + pulumi.set(__self__, "secure_value", secure_value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The parameter name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of execution parameter + Expected value is 'SecureValue'. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="secureValue") + def secure_value(self) -> Optional[pulumi.Input[str]]: + """ + A secure value for the passed parameter, not to be stored in logs + """ + return pulumi.get(self, "secure_value") + + @secure_value.setter + def secure_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secure_value", value) + + +@pulumi.input_type +class ScriptStringExecutionParameterArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + type: pulumi.Input[str], + value: Optional[pulumi.Input[str]] = None): + """ + a plain text value execution parameter + :param pulumi.Input[str] name: The parameter name + :param pulumi.Input[str] type: The type of execution parameter + Expected value is 'Value'. + :param pulumi.Input[str] value: The value for the passed parameter + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", 'Value') + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The parameter name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of execution parameter + Expected value is 'Value'. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + The value for the passed parameter + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class SkuArgs: + def __init__(__self__, *, + name: pulumi.Input[str]): + """ + The resource model definition representing SKU + :param pulumi.Input[str] name: The name of the SKU. + """ + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the SKU. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class VmHostPlacementPolicyPropertiesArgs: + def __init__(__self__, *, + affinity_type: pulumi.Input[Union[str, 'AffinityType']], + host_members: pulumi.Input[Sequence[pulumi.Input[str]]], + type: pulumi.Input[str], + vm_members: pulumi.Input[Sequence[pulumi.Input[str]]], + affinity_strength: Optional[pulumi.Input[Union[str, 'AffinityStrength']]] = None, + azure_hybrid_benefit_type: Optional[pulumi.Input[Union[str, 'AzureHybridBenefitType']]] = None, + display_name: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[Union[str, 'PlacementPolicyState']]] = None): + """ + VM-Host placement policy properties + :param pulumi.Input[Union[str, 'AffinityType']] affinity_type: placement policy affinity type + :param pulumi.Input[Sequence[pulumi.Input[str]]] host_members: Host members list + :param pulumi.Input[str] type: placement policy type + Expected value is 'VmHost'. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vm_members: Virtual machine members list + :param pulumi.Input[Union[str, 'AffinityStrength']] affinity_strength: vm-host placement policy affinity strength (should/must) + :param pulumi.Input[Union[str, 'AzureHybridBenefitType']] azure_hybrid_benefit_type: placement policy azure hybrid benefit opt-in type + :param pulumi.Input[str] display_name: Display name of the placement policy + :param pulumi.Input[Union[str, 'PlacementPolicyState']] state: Whether the placement policy is enabled or disabled + """ + pulumi.set(__self__, "affinity_type", affinity_type) + pulumi.set(__self__, "host_members", host_members) + pulumi.set(__self__, "type", 'VmHost') + pulumi.set(__self__, "vm_members", vm_members) + if affinity_strength is not None: + pulumi.set(__self__, "affinity_strength", affinity_strength) + if azure_hybrid_benefit_type is not None: + pulumi.set(__self__, "azure_hybrid_benefit_type", azure_hybrid_benefit_type) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if state is not None: + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="affinityType") + def affinity_type(self) -> pulumi.Input[Union[str, 'AffinityType']]: + """ + placement policy affinity type + """ + return pulumi.get(self, "affinity_type") + + @affinity_type.setter + def affinity_type(self, value: pulumi.Input[Union[str, 'AffinityType']]): + pulumi.set(self, "affinity_type", value) + + @property + @pulumi.getter(name="hostMembers") + def host_members(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Host members list + """ + return pulumi.get(self, "host_members") + + @host_members.setter + def host_members(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "host_members", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + placement policy type + Expected value is 'VmHost'. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="vmMembers") + def vm_members(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Virtual machine members list + """ + return pulumi.get(self, "vm_members") + + @vm_members.setter + def vm_members(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "vm_members", value) + + @property + @pulumi.getter(name="affinityStrength") + def affinity_strength(self) -> Optional[pulumi.Input[Union[str, 'AffinityStrength']]]: + """ + vm-host placement policy affinity strength (should/must) + """ + return pulumi.get(self, "affinity_strength") + + @affinity_strength.setter + def affinity_strength(self, value: Optional[pulumi.Input[Union[str, 'AffinityStrength']]]): + pulumi.set(self, "affinity_strength", value) + + @property + @pulumi.getter(name="azureHybridBenefitType") + def azure_hybrid_benefit_type(self) -> Optional[pulumi.Input[Union[str, 'AzureHybridBenefitType']]]: + """ + placement policy azure hybrid benefit opt-in type + """ + return pulumi.get(self, "azure_hybrid_benefit_type") + + @azure_hybrid_benefit_type.setter + def azure_hybrid_benefit_type(self, value: Optional[pulumi.Input[Union[str, 'AzureHybridBenefitType']]]): + pulumi.set(self, "azure_hybrid_benefit_type", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Display name of the placement policy + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[Union[str, 'PlacementPolicyState']]]: + """ + Whether the placement policy is enabled or disabled + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[Union[str, 'PlacementPolicyState']]]): + pulumi.set(self, "state", value) + + +@pulumi.input_type +class VmVmPlacementPolicyPropertiesArgs: + def __init__(__self__, *, + affinity_type: pulumi.Input[Union[str, 'AffinityType']], + type: pulumi.Input[str], + vm_members: pulumi.Input[Sequence[pulumi.Input[str]]], + display_name: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[Union[str, 'PlacementPolicyState']]] = None): + """ + VM-VM placement policy properties + :param pulumi.Input[Union[str, 'AffinityType']] affinity_type: placement policy affinity type + :param pulumi.Input[str] type: placement policy type + Expected value is 'VmVm'. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vm_members: Virtual machine members list + :param pulumi.Input[str] display_name: Display name of the placement policy + :param pulumi.Input[Union[str, 'PlacementPolicyState']] state: Whether the placement policy is enabled or disabled + """ + pulumi.set(__self__, "affinity_type", affinity_type) + pulumi.set(__self__, "type", 'VmVm') + pulumi.set(__self__, "vm_members", vm_members) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if state is not None: + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="affinityType") + def affinity_type(self) -> pulumi.Input[Union[str, 'AffinityType']]: + """ + placement policy affinity type + """ + return pulumi.get(self, "affinity_type") + + @affinity_type.setter + def affinity_type(self, value: pulumi.Input[Union[str, 'AffinityType']]): + pulumi.set(self, "affinity_type", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + placement policy type + Expected value is 'VmVm'. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="vmMembers") + def vm_members(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Virtual machine members list + """ + return pulumi.get(self, "vm_members") + + @vm_members.setter + def vm_members(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "vm_members", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Display name of the placement policy + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[Union[str, 'PlacementPolicyState']]]: + """ + Whether the placement policy is enabled or disabled + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[Union[str, 'PlacementPolicyState']]]): + pulumi.set(self, "state", value) + + +@pulumi.input_type +class WorkloadNetworkDhcpRelayArgs: + def __init__(__self__, *, + dhcp_type: pulumi.Input[str], + display_name: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + server_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + NSX DHCP Relay + :param pulumi.Input[str] dhcp_type: Type of DHCP: SERVER or RELAY. + Expected value is 'RELAY'. + :param pulumi.Input[str] display_name: Display name of the DHCP entity. + :param pulumi.Input[float] revision: NSX revision number. + :param pulumi.Input[Sequence[pulumi.Input[str]]] server_addresses: DHCP Relay Addresses. Max 3. + """ + pulumi.set(__self__, "dhcp_type", 'RELAY') + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if revision is not None: + pulumi.set(__self__, "revision", revision) + if server_addresses is not None: + pulumi.set(__self__, "server_addresses", server_addresses) + + @property + @pulumi.getter(name="dhcpType") + def dhcp_type(self) -> pulumi.Input[str]: + """ + Type of DHCP: SERVER or RELAY. + Expected value is 'RELAY'. + """ + return pulumi.get(self, "dhcp_type") + + @dhcp_type.setter + def dhcp_type(self, value: pulumi.Input[str]): + pulumi.set(self, "dhcp_type", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Display name of the DHCP entity. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def revision(self) -> Optional[pulumi.Input[float]]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @revision.setter + def revision(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "revision", value) + + @property + @pulumi.getter(name="serverAddresses") + def server_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + DHCP Relay Addresses. Max 3. + """ + return pulumi.get(self, "server_addresses") + + @server_addresses.setter + def server_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "server_addresses", value) + + +@pulumi.input_type +class WorkloadNetworkDhcpServerArgs: + def __init__(__self__, *, + dhcp_type: pulumi.Input[str], + display_name: Optional[pulumi.Input[str]] = None, + lease_time: Optional[pulumi.Input[float]] = None, + revision: Optional[pulumi.Input[float]] = None, + server_address: Optional[pulumi.Input[str]] = None): + """ + NSX DHCP Server + :param pulumi.Input[str] dhcp_type: Type of DHCP: SERVER or RELAY. + Expected value is 'SERVER'. + :param pulumi.Input[str] display_name: Display name of the DHCP entity. + :param pulumi.Input[float] lease_time: DHCP Server Lease Time. + :param pulumi.Input[float] revision: NSX revision number. + :param pulumi.Input[str] server_address: DHCP Server Address. + """ + pulumi.set(__self__, "dhcp_type", 'SERVER') + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if lease_time is not None: + pulumi.set(__self__, "lease_time", lease_time) + if revision is not None: + pulumi.set(__self__, "revision", revision) + if server_address is not None: + pulumi.set(__self__, "server_address", server_address) + + @property + @pulumi.getter(name="dhcpType") + def dhcp_type(self) -> pulumi.Input[str]: + """ + Type of DHCP: SERVER or RELAY. + Expected value is 'SERVER'. + """ + return pulumi.get(self, "dhcp_type") + + @dhcp_type.setter + def dhcp_type(self, value: pulumi.Input[str]): + pulumi.set(self, "dhcp_type", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Display name of the DHCP entity. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="leaseTime") + def lease_time(self) -> Optional[pulumi.Input[float]]: + """ + DHCP Server Lease Time. + """ + return pulumi.get(self, "lease_time") + + @lease_time.setter + def lease_time(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "lease_time", value) + + @property + @pulumi.getter + def revision(self) -> Optional[pulumi.Input[float]]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @revision.setter + def revision(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "revision", value) + + @property + @pulumi.getter(name="serverAddress") + def server_address(self) -> Optional[pulumi.Input[str]]: + """ + DHCP Server Address. + """ + return pulumi.get(self, "server_address") + + @server_address.setter + def server_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "server_address", value) + + +@pulumi.input_type +class WorkloadNetworkSegmentSubnetArgs: + def __init__(__self__, *, + dhcp_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + gateway_address: Optional[pulumi.Input[str]] = None): + """ + Subnet configuration for segment + :param pulumi.Input[Sequence[pulumi.Input[str]]] dhcp_ranges: DHCP Range assigned for subnet. + :param pulumi.Input[str] gateway_address: Gateway address. + """ + if dhcp_ranges is not None: + pulumi.set(__self__, "dhcp_ranges", dhcp_ranges) + if gateway_address is not None: + pulumi.set(__self__, "gateway_address", gateway_address) + + @property + @pulumi.getter(name="dhcpRanges") + def dhcp_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + DHCP Range assigned for subnet. + """ + return pulumi.get(self, "dhcp_ranges") + + @dhcp_ranges.setter + def dhcp_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "dhcp_ranges", value) + + @property + @pulumi.getter(name="gatewayAddress") + def gateway_address(self) -> Optional[pulumi.Input[str]]: + """ + Gateway address. + """ + return pulumi.get(self, "gateway_address") + + @gateway_address.setter + def gateway_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "gateway_address", value) + + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/addon.py b/sdk/python/pulumi_azure_native/avs/v20230301/addon.py new file mode 100644 index 000000000000..cc3638bfa5bd --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/addon.py @@ -0,0 +1,205 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['AddonArgs', 'Addon'] + +@pulumi.input_type +class AddonArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + addon_name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[Union['AddonArcPropertiesArgs', 'AddonHcxPropertiesArgs', 'AddonSrmPropertiesArgs', 'AddonVrPropertiesArgs']]] = None): + """ + The set of arguments for constructing a Addon resource. + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] addon_name: Name of the addon for the private cloud + :param pulumi.Input[Union['AddonArcPropertiesArgs', 'AddonHcxPropertiesArgs', 'AddonSrmPropertiesArgs', 'AddonVrPropertiesArgs']] properties: The properties of an addon resource + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if addon_name is not None: + pulumi.set(__self__, "addon_name", addon_name) + if properties is not None: + pulumi.set(__self__, "properties", properties) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + The name of the private cloud. + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="addonName") + def addon_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the addon for the private cloud + """ + return pulumi.get(self, "addon_name") + + @addon_name.setter + def addon_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "addon_name", value) + + @property + @pulumi.getter + def properties(self) -> Optional[pulumi.Input[Union['AddonArcPropertiesArgs', 'AddonHcxPropertiesArgs', 'AddonSrmPropertiesArgs', 'AddonVrPropertiesArgs']]]: + """ + The properties of an addon resource + """ + return pulumi.get(self, "properties") + + @properties.setter + def properties(self, value: Optional[pulumi.Input[Union['AddonArcPropertiesArgs', 'AddonHcxPropertiesArgs', 'AddonSrmPropertiesArgs', 'AddonVrPropertiesArgs']]]): + pulumi.set(self, "properties", value) + + +class Addon(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + addon_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[Union[pulumi.InputType['AddonArcPropertiesArgs'], pulumi.InputType['AddonHcxPropertiesArgs'], pulumi.InputType['AddonSrmPropertiesArgs'], pulumi.InputType['AddonVrPropertiesArgs']]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + An addon resource + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] addon_name: Name of the addon for the private cloud + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[Union[pulumi.InputType['AddonArcPropertiesArgs'], pulumi.InputType['AddonHcxPropertiesArgs'], pulumi.InputType['AddonSrmPropertiesArgs'], pulumi.InputType['AddonVrPropertiesArgs']]] properties: The properties of an addon resource + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AddonArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + An addon resource + + :param str resource_name: The name of the resource. + :param AddonArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AddonArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + addon_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[Union[pulumi.InputType['AddonArcPropertiesArgs'], pulumi.InputType['AddonHcxPropertiesArgs'], pulumi.InputType['AddonSrmPropertiesArgs'], pulumi.InputType['AddonVrPropertiesArgs']]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AddonArgs.__new__(AddonArgs) + + __props__.__dict__["addon_name"] = addon_name + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + __props__.__dict__["properties"] = properties + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["name"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Addon"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Addon"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Addon"), pulumi.Alias(type_="azure-native:avs/v20210601:Addon"), pulumi.Alias(type_="azure-native:avs/v20211201:Addon"), pulumi.Alias(type_="azure-native:avs/v20220501:Addon")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Addon, __self__).__init__( + 'azure-native:avs/v20230301:Addon', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Addon': + """ + Get an existing Addon resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = AddonArgs.__new__(AddonArgs) + + __props__.__dict__["name"] = None + __props__.__dict__["properties"] = None + __props__.__dict__["type"] = None + return Addon(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> pulumi.Output[Any]: + """ + The properties of an addon resource + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/authorization.py b/sdk/python/pulumi_azure_native/avs/v20230301/authorization.py new file mode 100644 index 000000000000..459d36a4e0ec --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/authorization.py @@ -0,0 +1,233 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = ['AuthorizationArgs', 'Authorization'] + +@pulumi.input_type +class AuthorizationArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + authorization_name: Optional[pulumi.Input[str]] = None, + express_route_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Authorization resource. + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] authorization_name: Name of the ExpressRoute Circuit Authorization in the private cloud + :param pulumi.Input[str] express_route_id: The ID of the ExpressRoute Circuit + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if authorization_name is not None: + pulumi.set(__self__, "authorization_name", authorization_name) + if express_route_id is not None: + pulumi.set(__self__, "express_route_id", express_route_id) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + The name of the private cloud. + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="authorizationName") + def authorization_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the ExpressRoute Circuit Authorization in the private cloud + """ + return pulumi.get(self, "authorization_name") + + @authorization_name.setter + def authorization_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorization_name", value) + + @property + @pulumi.getter(name="expressRouteId") + def express_route_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the ExpressRoute Circuit + """ + return pulumi.get(self, "express_route_id") + + @express_route_id.setter + def express_route_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "express_route_id", value) + + +class Authorization(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_name: Optional[pulumi.Input[str]] = None, + express_route_id: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ExpressRoute Circuit Authorization + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] authorization_name: Name of the ExpressRoute Circuit Authorization in the private cloud + :param pulumi.Input[str] express_route_id: The ID of the ExpressRoute Circuit + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AuthorizationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ExpressRoute Circuit Authorization + + :param str resource_name: The name of the resource. + :param AuthorizationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AuthorizationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_name: Optional[pulumi.Input[str]] = None, + express_route_id: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AuthorizationArgs.__new__(AuthorizationArgs) + + __props__.__dict__["authorization_name"] = authorization_name + __props__.__dict__["express_route_id"] = express_route_id + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["express_route_authorization_id"] = None + __props__.__dict__["express_route_authorization_key"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Authorization"), pulumi.Alias(type_="azure-native:avs/v20200320:Authorization"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Authorization"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Authorization"), pulumi.Alias(type_="azure-native:avs/v20210601:Authorization"), pulumi.Alias(type_="azure-native:avs/v20211201:Authorization"), pulumi.Alias(type_="azure-native:avs/v20220501:Authorization")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Authorization, __self__).__init__( + 'azure-native:avs/v20230301:Authorization', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Authorization': + """ + Get an existing Authorization resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = AuthorizationArgs.__new__(AuthorizationArgs) + + __props__.__dict__["express_route_authorization_id"] = None + __props__.__dict__["express_route_authorization_key"] = None + __props__.__dict__["express_route_id"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + return Authorization(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="expressRouteAuthorizationId") + def express_route_authorization_id(self) -> pulumi.Output[str]: + """ + The ID of the ExpressRoute Circuit Authorization + """ + return pulumi.get(self, "express_route_authorization_id") + + @property + @pulumi.getter(name="expressRouteAuthorizationKey") + def express_route_authorization_key(self) -> pulumi.Output[str]: + """ + The key of the ExpressRoute Circuit Authorization + """ + return pulumi.get(self, "express_route_authorization_key") + + @property + @pulumi.getter(name="expressRouteId") + def express_route_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the ExpressRoute Circuit + """ + return pulumi.get(self, "express_route_id") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The state of the ExpressRoute Circuit Authorization provisioning + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/cloud_link.py b/sdk/python/pulumi_azure_native/avs/v20230301/cloud_link.py new file mode 100644 index 000000000000..0e0ae8c8c5aa --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/cloud_link.py @@ -0,0 +1,213 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = ['CloudLinkArgs', 'CloudLink'] + +@pulumi.input_type +class CloudLinkArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + cloud_link_name: Optional[pulumi.Input[str]] = None, + linked_cloud: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a CloudLink resource. + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] cloud_link_name: Name of the cloud link resource + :param pulumi.Input[str] linked_cloud: Identifier of the other private cloud participating in the link. + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if cloud_link_name is not None: + pulumi.set(__self__, "cloud_link_name", cloud_link_name) + if linked_cloud is not None: + pulumi.set(__self__, "linked_cloud", linked_cloud) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + The name of the private cloud. + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="cloudLinkName") + def cloud_link_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the cloud link resource + """ + return pulumi.get(self, "cloud_link_name") + + @cloud_link_name.setter + def cloud_link_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cloud_link_name", value) + + @property + @pulumi.getter(name="linkedCloud") + def linked_cloud(self) -> Optional[pulumi.Input[str]]: + """ + Identifier of the other private cloud participating in the link. + """ + return pulumi.get(self, "linked_cloud") + + @linked_cloud.setter + def linked_cloud(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "linked_cloud", value) + + +class CloudLink(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cloud_link_name: Optional[pulumi.Input[str]] = None, + linked_cloud: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + A cloud link resource + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cloud_link_name: Name of the cloud link resource + :param pulumi.Input[str] linked_cloud: Identifier of the other private cloud participating in the link. + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CloudLinkArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + A cloud link resource + + :param str resource_name: The name of the resource. + :param CloudLinkArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(CloudLinkArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cloud_link_name: Optional[pulumi.Input[str]] = None, + linked_cloud: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = CloudLinkArgs.__new__(CloudLinkArgs) + + __props__.__dict__["cloud_link_name"] = cloud_link_name + __props__.__dict__["linked_cloud"] = linked_cloud + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["name"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20210601:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20211201:CloudLink"), pulumi.Alias(type_="azure-native:avs/v20220501:CloudLink")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(CloudLink, __self__).__init__( + 'azure-native:avs/v20230301:CloudLink', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'CloudLink': + """ + Get an existing CloudLink resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = CloudLinkArgs.__new__(CloudLinkArgs) + + __props__.__dict__["linked_cloud"] = None + __props__.__dict__["name"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + return CloudLink(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="linkedCloud") + def linked_cloud(self) -> pulumi.Output[Optional[str]]: + """ + Identifier of the other private cloud participating in the link. + """ + return pulumi.get(self, "linked_cloud") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The state of the cloud link. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/cluster.py b/sdk/python/pulumi_azure_native/avs/v20230301/cluster.py new file mode 100644 index 000000000000..73c7bae05589 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/cluster.py @@ -0,0 +1,284 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ClusterArgs', 'Cluster'] + +@pulumi.input_type +class ClusterArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + sku: pulumi.Input['SkuArgs'], + cluster_name: Optional[pulumi.Input[str]] = None, + cluster_size: Optional[pulumi.Input[int]] = None, + hosts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Cluster resource. + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input['SkuArgs'] sku: The cluster SKU + :param pulumi.Input[str] cluster_name: Name of the cluster in the private cloud + :param pulumi.Input[int] cluster_size: The cluster size + :param pulumi.Input[Sequence[pulumi.Input[str]]] hosts: The hosts + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "sku", sku) + if cluster_name is not None: + pulumi.set(__self__, "cluster_name", cluster_name) + if cluster_size is not None: + pulumi.set(__self__, "cluster_size", cluster_size) + if hosts is not None: + pulumi.set(__self__, "hosts", hosts) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + The name of the private cloud. + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def sku(self) -> pulumi.Input['SkuArgs']: + """ + The cluster SKU + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: pulumi.Input['SkuArgs']): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the cluster in the private cloud + """ + return pulumi.get(self, "cluster_name") + + @cluster_name.setter + def cluster_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_name", value) + + @property + @pulumi.getter(name="clusterSize") + def cluster_size(self) -> Optional[pulumi.Input[int]]: + """ + The cluster size + """ + return pulumi.get(self, "cluster_size") + + @cluster_size.setter + def cluster_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "cluster_size", value) + + @property + @pulumi.getter + def hosts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The hosts + """ + return pulumi.get(self, "hosts") + + @hosts.setter + def hosts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "hosts", value) + + +class Cluster(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_name: Optional[pulumi.Input[str]] = None, + cluster_size: Optional[pulumi.Input[int]] = None, + hosts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + __props__=None): + """ + A cluster resource + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cluster_name: Name of the cluster in the private cloud + :param pulumi.Input[int] cluster_size: The cluster size + :param pulumi.Input[Sequence[pulumi.Input[str]]] hosts: The hosts + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[pulumi.InputType['SkuArgs']] sku: The cluster SKU + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ClusterArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + A cluster resource + + :param str resource_name: The name of the resource. + :param ClusterArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ClusterArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_name: Optional[pulumi.Input[str]] = None, + cluster_size: Optional[pulumi.Input[int]] = None, + hosts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ClusterArgs.__new__(ClusterArgs) + + __props__.__dict__["cluster_name"] = cluster_name + __props__.__dict__["cluster_size"] = cluster_size + __props__.__dict__["hosts"] = hosts + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if sku is None and not opts.urn: + raise TypeError("Missing required property 'sku'") + __props__.__dict__["sku"] = sku + __props__.__dict__["cluster_id"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200320:Cluster"), pulumi.Alias(type_="azure-native:avs/v20200717preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Cluster"), pulumi.Alias(type_="azure-native:avs/v20210601:Cluster"), pulumi.Alias(type_="azure-native:avs/v20211201:Cluster"), pulumi.Alias(type_="azure-native:avs/v20220501:Cluster")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Cluster, __self__).__init__( + 'azure-native:avs/v20230301:Cluster', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Cluster': + """ + Get an existing Cluster resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ClusterArgs.__new__(ClusterArgs) + + __props__.__dict__["cluster_id"] = None + __props__.__dict__["cluster_size"] = None + __props__.__dict__["hosts"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["type"] = None + return Cluster(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Output[int]: + """ + The identity + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter(name="clusterSize") + def cluster_size(self) -> pulumi.Output[Optional[int]]: + """ + The cluster size + """ + return pulumi.get(self, "cluster_size") + + @property + @pulumi.getter + def hosts(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The hosts + """ + return pulumi.get(self, "hosts") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The state of the cluster provisioning + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output['outputs.SkuResponse']: + """ + The cluster SKU + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/datastore.py b/sdk/python/pulumi_azure_native/avs/v20230301/datastore.py new file mode 100644 index 000000000000..4e473b0f5fc7 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/datastore.py @@ -0,0 +1,276 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['DatastoreArgs', 'Datastore'] + +@pulumi.input_type +class DatastoreArgs: + def __init__(__self__, *, + cluster_name: pulumi.Input[str], + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + datastore_name: Optional[pulumi.Input[str]] = None, + disk_pool_volume: Optional[pulumi.Input['DiskPoolVolumeArgs']] = None, + net_app_volume: Optional[pulumi.Input['NetAppVolumeArgs']] = None): + """ + The set of arguments for constructing a Datastore resource. + :param pulumi.Input[str] cluster_name: Name of the cluster in the private cloud + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] datastore_name: Name of the datastore in the private cloud cluster + :param pulumi.Input['DiskPoolVolumeArgs'] disk_pool_volume: An iSCSI volume + :param pulumi.Input['NetAppVolumeArgs'] net_app_volume: An Azure NetApp Files volume + """ + pulumi.set(__self__, "cluster_name", cluster_name) + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if datastore_name is not None: + pulumi.set(__self__, "datastore_name", datastore_name) + if disk_pool_volume is not None: + pulumi.set(__self__, "disk_pool_volume", disk_pool_volume) + if net_app_volume is not None: + pulumi.set(__self__, "net_app_volume", net_app_volume) + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> pulumi.Input[str]: + """ + Name of the cluster in the private cloud + """ + return pulumi.get(self, "cluster_name") + + @cluster_name.setter + def cluster_name(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_name", value) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + Name of the private cloud + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="datastoreName") + def datastore_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the datastore in the private cloud cluster + """ + return pulumi.get(self, "datastore_name") + + @datastore_name.setter + def datastore_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "datastore_name", value) + + @property + @pulumi.getter(name="diskPoolVolume") + def disk_pool_volume(self) -> Optional[pulumi.Input['DiskPoolVolumeArgs']]: + """ + An iSCSI volume + """ + return pulumi.get(self, "disk_pool_volume") + + @disk_pool_volume.setter + def disk_pool_volume(self, value: Optional[pulumi.Input['DiskPoolVolumeArgs']]): + pulumi.set(self, "disk_pool_volume", value) + + @property + @pulumi.getter(name="netAppVolume") + def net_app_volume(self) -> Optional[pulumi.Input['NetAppVolumeArgs']]: + """ + An Azure NetApp Files volume + """ + return pulumi.get(self, "net_app_volume") + + @net_app_volume.setter + def net_app_volume(self, value: Optional[pulumi.Input['NetAppVolumeArgs']]): + pulumi.set(self, "net_app_volume", value) + + +class Datastore(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_name: Optional[pulumi.Input[str]] = None, + datastore_name: Optional[pulumi.Input[str]] = None, + disk_pool_volume: Optional[pulumi.Input[pulumi.InputType['DiskPoolVolumeArgs']]] = None, + net_app_volume: Optional[pulumi.Input[pulumi.InputType['NetAppVolumeArgs']]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + A datastore resource + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cluster_name: Name of the cluster in the private cloud + :param pulumi.Input[str] datastore_name: Name of the datastore in the private cloud cluster + :param pulumi.Input[pulumi.InputType['DiskPoolVolumeArgs']] disk_pool_volume: An iSCSI volume + :param pulumi.Input[pulumi.InputType['NetAppVolumeArgs']] net_app_volume: An Azure NetApp Files volume + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DatastoreArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + A datastore resource + + :param str resource_name: The name of the resource. + :param DatastoreArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DatastoreArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_name: Optional[pulumi.Input[str]] = None, + datastore_name: Optional[pulumi.Input[str]] = None, + disk_pool_volume: Optional[pulumi.Input[pulumi.InputType['DiskPoolVolumeArgs']]] = None, + net_app_volume: Optional[pulumi.Input[pulumi.InputType['NetAppVolumeArgs']]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DatastoreArgs.__new__(DatastoreArgs) + + if cluster_name is None and not opts.urn: + raise TypeError("Missing required property 'cluster_name'") + __props__.__dict__["cluster_name"] = cluster_name + __props__.__dict__["datastore_name"] = datastore_name + __props__.__dict__["disk_pool_volume"] = disk_pool_volume + __props__.__dict__["net_app_volume"] = net_app_volume + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:Datastore"), pulumi.Alias(type_="azure-native:avs/v20210101preview:Datastore"), pulumi.Alias(type_="azure-native:avs/v20210601:Datastore"), pulumi.Alias(type_="azure-native:avs/v20211201:Datastore"), pulumi.Alias(type_="azure-native:avs/v20220501:Datastore")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Datastore, __self__).__init__( + 'azure-native:avs/v20230301:Datastore', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Datastore': + """ + Get an existing Datastore resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DatastoreArgs.__new__(DatastoreArgs) + + __props__.__dict__["disk_pool_volume"] = None + __props__.__dict__["name"] = None + __props__.__dict__["net_app_volume"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + return Datastore(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="diskPoolVolume") + def disk_pool_volume(self) -> pulumi.Output[Optional['outputs.DiskPoolVolumeResponse']]: + """ + An iSCSI volume + """ + return pulumi.get(self, "disk_pool_volume") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="netAppVolume") + def net_app_volume(self) -> pulumi.Output[Optional['outputs.NetAppVolumeResponse']]: + """ + An Azure NetApp Files volume + """ + return pulumi.get(self, "net_app_volume") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The state of the datastore provisioning + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The operational status of the datastore + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_addon.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_addon.py new file mode 100644 index 000000000000..b2cdc91847bf --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_addon.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetAddonResult', + 'AwaitableGetAddonResult', + 'get_addon', + 'get_addon_output', +] + +@pulumi.output_type +class GetAddonResult: + """ + An addon resource + """ + def __init__(__self__, id=None, name=None, properties=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> Any: + """ + The properties of an addon resource + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetAddonResult(GetAddonResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAddonResult( + id=self.id, + name=self.name, + properties=self.properties, + type=self.type) + + +def get_addon(addon_name: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAddonResult: + """ + An addon resource + + + :param str addon_name: Name of the addon for the private cloud + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['addonName'] = addon_name + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getAddon', __args__, opts=opts, typ=GetAddonResult).value + + return AwaitableGetAddonResult( + id=__ret__.id, + name=__ret__.name, + properties=__ret__.properties, + type=__ret__.type) + + +@_utilities.lift_output_func(get_addon) +def get_addon_output(addon_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAddonResult]: + """ + An addon resource + + + :param str addon_name: Name of the addon for the private cloud + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_authorization.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_authorization.py new file mode 100644 index 000000000000..26d0e1fc0565 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_authorization.py @@ -0,0 +1,161 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'GetAuthorizationResult', + 'AwaitableGetAuthorizationResult', + 'get_authorization', + 'get_authorization_output', +] + +@pulumi.output_type +class GetAuthorizationResult: + """ + ExpressRoute Circuit Authorization + """ + def __init__(__self__, express_route_authorization_id=None, express_route_authorization_key=None, express_route_id=None, id=None, name=None, provisioning_state=None, type=None): + if express_route_authorization_id and not isinstance(express_route_authorization_id, str): + raise TypeError("Expected argument 'express_route_authorization_id' to be a str") + pulumi.set(__self__, "express_route_authorization_id", express_route_authorization_id) + if express_route_authorization_key and not isinstance(express_route_authorization_key, str): + raise TypeError("Expected argument 'express_route_authorization_key' to be a str") + pulumi.set(__self__, "express_route_authorization_key", express_route_authorization_key) + if express_route_id and not isinstance(express_route_id, str): + raise TypeError("Expected argument 'express_route_id' to be a str") + pulumi.set(__self__, "express_route_id", express_route_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="expressRouteAuthorizationId") + def express_route_authorization_id(self) -> str: + """ + The ID of the ExpressRoute Circuit Authorization + """ + return pulumi.get(self, "express_route_authorization_id") + + @property + @pulumi.getter(name="expressRouteAuthorizationKey") + def express_route_authorization_key(self) -> str: + """ + The key of the ExpressRoute Circuit Authorization + """ + return pulumi.get(self, "express_route_authorization_key") + + @property + @pulumi.getter(name="expressRouteId") + def express_route_id(self) -> Optional[str]: + """ + The ID of the ExpressRoute Circuit + """ + return pulumi.get(self, "express_route_id") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The state of the ExpressRoute Circuit Authorization provisioning + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetAuthorizationResult(GetAuthorizationResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAuthorizationResult( + express_route_authorization_id=self.express_route_authorization_id, + express_route_authorization_key=self.express_route_authorization_key, + express_route_id=self.express_route_id, + id=self.id, + name=self.name, + provisioning_state=self.provisioning_state, + type=self.type) + + +def get_authorization(authorization_name: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAuthorizationResult: + """ + ExpressRoute Circuit Authorization + + + :param str authorization_name: Name of the ExpressRoute Circuit Authorization in the private cloud + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['authorizationName'] = authorization_name + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getAuthorization', __args__, opts=opts, typ=GetAuthorizationResult).value + + return AwaitableGetAuthorizationResult( + express_route_authorization_id=__ret__.express_route_authorization_id, + express_route_authorization_key=__ret__.express_route_authorization_key, + express_route_id=__ret__.express_route_id, + id=__ret__.id, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + type=__ret__.type) + + +@_utilities.lift_output_func(get_authorization) +def get_authorization_output(authorization_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAuthorizationResult]: + """ + ExpressRoute Circuit Authorization + + + :param str authorization_name: Name of the ExpressRoute Circuit Authorization in the private cloud + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_cloud_link.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_cloud_link.py new file mode 100644 index 000000000000..90d75746f8d6 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_cloud_link.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'GetCloudLinkResult', + 'AwaitableGetCloudLinkResult', + 'get_cloud_link', + 'get_cloud_link_output', +] + +@pulumi.output_type +class GetCloudLinkResult: + """ + A cloud link resource + """ + def __init__(__self__, id=None, linked_cloud=None, name=None, status=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if linked_cloud and not isinstance(linked_cloud, str): + raise TypeError("Expected argument 'linked_cloud' to be a str") + pulumi.set(__self__, "linked_cloud", linked_cloud) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="linkedCloud") + def linked_cloud(self) -> Optional[str]: + """ + Identifier of the other private cloud participating in the link. + """ + return pulumi.get(self, "linked_cloud") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def status(self) -> str: + """ + The state of the cloud link. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetCloudLinkResult(GetCloudLinkResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCloudLinkResult( + id=self.id, + linked_cloud=self.linked_cloud, + name=self.name, + status=self.status, + type=self.type) + + +def get_cloud_link(cloud_link_name: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCloudLinkResult: + """ + A cloud link resource + + + :param str cloud_link_name: Name of the cloud link resource + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['cloudLinkName'] = cloud_link_name + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getCloudLink', __args__, opts=opts, typ=GetCloudLinkResult).value + + return AwaitableGetCloudLinkResult( + id=__ret__.id, + linked_cloud=__ret__.linked_cloud, + name=__ret__.name, + status=__ret__.status, + type=__ret__.type) + + +@_utilities.lift_output_func(get_cloud_link) +def get_cloud_link_output(cloud_link_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCloudLinkResult]: + """ + A cloud link resource + + + :param str cloud_link_name: Name of the cloud link resource + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_cluster.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_cluster.py new file mode 100644 index 000000000000..6d0f211bc129 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_cluster.py @@ -0,0 +1,175 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetClusterResult', + 'AwaitableGetClusterResult', + 'get_cluster', + 'get_cluster_output', +] + +@pulumi.output_type +class GetClusterResult: + """ + A cluster resource + """ + def __init__(__self__, cluster_id=None, cluster_size=None, hosts=None, id=None, name=None, provisioning_state=None, sku=None, type=None): + if cluster_id and not isinstance(cluster_id, int): + raise TypeError("Expected argument 'cluster_id' to be a int") + pulumi.set(__self__, "cluster_id", cluster_id) + if cluster_size and not isinstance(cluster_size, int): + raise TypeError("Expected argument 'cluster_size' to be a int") + pulumi.set(__self__, "cluster_size", cluster_size) + if hosts and not isinstance(hosts, list): + raise TypeError("Expected argument 'hosts' to be a list") + pulumi.set(__self__, "hosts", hosts) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> int: + """ + The identity + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter(name="clusterSize") + def cluster_size(self) -> Optional[int]: + """ + The cluster size + """ + return pulumi.get(self, "cluster_size") + + @property + @pulumi.getter + def hosts(self) -> Optional[Sequence[str]]: + """ + The hosts + """ + return pulumi.get(self, "hosts") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The state of the cluster provisioning + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def sku(self) -> 'outputs.SkuResponse': + """ + The cluster SKU + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetClusterResult(GetClusterResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetClusterResult( + cluster_id=self.cluster_id, + cluster_size=self.cluster_size, + hosts=self.hosts, + id=self.id, + name=self.name, + provisioning_state=self.provisioning_state, + sku=self.sku, + type=self.type) + + +def get_cluster(cluster_name: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClusterResult: + """ + A cluster resource + + + :param str cluster_name: Name of the cluster in the private cloud + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['clusterName'] = cluster_name + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getCluster', __args__, opts=opts, typ=GetClusterResult).value + + return AwaitableGetClusterResult( + cluster_id=__ret__.cluster_id, + cluster_size=__ret__.cluster_size, + hosts=__ret__.hosts, + id=__ret__.id, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + sku=__ret__.sku, + type=__ret__.type) + + +@_utilities.lift_output_func(get_cluster) +def get_cluster_output(cluster_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: + """ + A cluster resource + + + :param str cluster_name: Name of the cluster in the private cloud + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_datastore.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_datastore.py new file mode 100644 index 000000000000..d0daf09b806f --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_datastore.py @@ -0,0 +1,167 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetDatastoreResult', + 'AwaitableGetDatastoreResult', + 'get_datastore', + 'get_datastore_output', +] + +@pulumi.output_type +class GetDatastoreResult: + """ + A datastore resource + """ + def __init__(__self__, disk_pool_volume=None, id=None, name=None, net_app_volume=None, provisioning_state=None, status=None, type=None): + if disk_pool_volume and not isinstance(disk_pool_volume, dict): + raise TypeError("Expected argument 'disk_pool_volume' to be a dict") + pulumi.set(__self__, "disk_pool_volume", disk_pool_volume) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if net_app_volume and not isinstance(net_app_volume, dict): + raise TypeError("Expected argument 'net_app_volume' to be a dict") + pulumi.set(__self__, "net_app_volume", net_app_volume) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="diskPoolVolume") + def disk_pool_volume(self) -> Optional['outputs.DiskPoolVolumeResponse']: + """ + An iSCSI volume + """ + return pulumi.get(self, "disk_pool_volume") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="netAppVolume") + def net_app_volume(self) -> Optional['outputs.NetAppVolumeResponse']: + """ + An Azure NetApp Files volume + """ + return pulumi.get(self, "net_app_volume") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The state of the datastore provisioning + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def status(self) -> str: + """ + The operational status of the datastore + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetDatastoreResult(GetDatastoreResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDatastoreResult( + disk_pool_volume=self.disk_pool_volume, + id=self.id, + name=self.name, + net_app_volume=self.net_app_volume, + provisioning_state=self.provisioning_state, + status=self.status, + type=self.type) + + +def get_datastore(cluster_name: Optional[str] = None, + datastore_name: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatastoreResult: + """ + A datastore resource + + + :param str cluster_name: Name of the cluster in the private cloud + :param str datastore_name: Name of the datastore in the private cloud cluster + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['clusterName'] = cluster_name + __args__['datastoreName'] = datastore_name + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getDatastore', __args__, opts=opts, typ=GetDatastoreResult).value + + return AwaitableGetDatastoreResult( + disk_pool_volume=__ret__.disk_pool_volume, + id=__ret__.id, + name=__ret__.name, + net_app_volume=__ret__.net_app_volume, + provisioning_state=__ret__.provisioning_state, + status=__ret__.status, + type=__ret__.type) + + +@_utilities.lift_output_func(get_datastore) +def get_datastore_output(cluster_name: Optional[pulumi.Input[str]] = None, + datastore_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatastoreResult]: + """ + A datastore resource + + + :param str cluster_name: Name of the cluster in the private cloud + :param str datastore_name: Name of the datastore in the private cloud cluster + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_global_reach_connection.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_global_reach_connection.py new file mode 100644 index 000000000000..10270a012b1f --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_global_reach_connection.py @@ -0,0 +1,187 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'GetGlobalReachConnectionResult', + 'AwaitableGetGlobalReachConnectionResult', + 'get_global_reach_connection', + 'get_global_reach_connection_output', +] + +@pulumi.output_type +class GetGlobalReachConnectionResult: + """ + A global reach connection resource + """ + def __init__(__self__, address_prefix=None, authorization_key=None, circuit_connection_status=None, express_route_id=None, id=None, name=None, peer_express_route_circuit=None, provisioning_state=None, type=None): + if address_prefix and not isinstance(address_prefix, str): + raise TypeError("Expected argument 'address_prefix' to be a str") + pulumi.set(__self__, "address_prefix", address_prefix) + if authorization_key and not isinstance(authorization_key, str): + raise TypeError("Expected argument 'authorization_key' to be a str") + pulumi.set(__self__, "authorization_key", authorization_key) + if circuit_connection_status and not isinstance(circuit_connection_status, str): + raise TypeError("Expected argument 'circuit_connection_status' to be a str") + pulumi.set(__self__, "circuit_connection_status", circuit_connection_status) + if express_route_id and not isinstance(express_route_id, str): + raise TypeError("Expected argument 'express_route_id' to be a str") + pulumi.set(__self__, "express_route_id", express_route_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if peer_express_route_circuit and not isinstance(peer_express_route_circuit, str): + raise TypeError("Expected argument 'peer_express_route_circuit' to be a str") + pulumi.set(__self__, "peer_express_route_circuit", peer_express_route_circuit) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="addressPrefix") + def address_prefix(self) -> str: + """ + The network used for global reach carved out from the original network block provided for the private cloud + """ + return pulumi.get(self, "address_prefix") + + @property + @pulumi.getter(name="authorizationKey") + def authorization_key(self) -> Optional[str]: + """ + Authorization key from the peer express route used for the global reach connection + """ + return pulumi.get(self, "authorization_key") + + @property + @pulumi.getter(name="circuitConnectionStatus") + def circuit_connection_status(self) -> str: + """ + The connection status of the global reach connection + """ + return pulumi.get(self, "circuit_connection_status") + + @property + @pulumi.getter(name="expressRouteId") + def express_route_id(self) -> Optional[str]: + """ + The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection + """ + return pulumi.get(self, "express_route_id") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="peerExpressRouteCircuit") + def peer_express_route_circuit(self) -> Optional[str]: + """ + Identifier of the ExpressRoute Circuit to peer with in the global reach connection + """ + return pulumi.get(self, "peer_express_route_circuit") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The state of the ExpressRoute Circuit Authorization provisioning + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetGlobalReachConnectionResult(GetGlobalReachConnectionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetGlobalReachConnectionResult( + address_prefix=self.address_prefix, + authorization_key=self.authorization_key, + circuit_connection_status=self.circuit_connection_status, + express_route_id=self.express_route_id, + id=self.id, + name=self.name, + peer_express_route_circuit=self.peer_express_route_circuit, + provisioning_state=self.provisioning_state, + type=self.type) + + +def get_global_reach_connection(global_reach_connection_name: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGlobalReachConnectionResult: + """ + A global reach connection resource + + + :param str global_reach_connection_name: Name of the global reach connection in the private cloud + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['globalReachConnectionName'] = global_reach_connection_name + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getGlobalReachConnection', __args__, opts=opts, typ=GetGlobalReachConnectionResult).value + + return AwaitableGetGlobalReachConnectionResult( + address_prefix=__ret__.address_prefix, + authorization_key=__ret__.authorization_key, + circuit_connection_status=__ret__.circuit_connection_status, + express_route_id=__ret__.express_route_id, + id=__ret__.id, + name=__ret__.name, + peer_express_route_circuit=__ret__.peer_express_route_circuit, + provisioning_state=__ret__.provisioning_state, + type=__ret__.type) + + +@_utilities.lift_output_func(get_global_reach_connection) +def get_global_reach_connection_output(global_reach_connection_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGlobalReachConnectionResult]: + """ + A global reach connection resource + + + :param str global_reach_connection_name: Name of the global reach connection in the private cloud + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_hcx_enterprise_site.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_hcx_enterprise_site.py new file mode 100644 index 000000000000..fb940ae5e56d --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_hcx_enterprise_site.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'GetHcxEnterpriseSiteResult', + 'AwaitableGetHcxEnterpriseSiteResult', + 'get_hcx_enterprise_site', + 'get_hcx_enterprise_site_output', +] + +@pulumi.output_type +class GetHcxEnterpriseSiteResult: + """ + An HCX Enterprise Site resource + """ + def __init__(__self__, activation_key=None, id=None, name=None, status=None, type=None): + if activation_key and not isinstance(activation_key, str): + raise TypeError("Expected argument 'activation_key' to be a str") + pulumi.set(__self__, "activation_key", activation_key) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="activationKey") + def activation_key(self) -> str: + """ + The activation key + """ + return pulumi.get(self, "activation_key") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def status(self) -> str: + """ + The status of the HCX Enterprise Site + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetHcxEnterpriseSiteResult(GetHcxEnterpriseSiteResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetHcxEnterpriseSiteResult( + activation_key=self.activation_key, + id=self.id, + name=self.name, + status=self.status, + type=self.type) + + +def get_hcx_enterprise_site(hcx_enterprise_site_name: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetHcxEnterpriseSiteResult: + """ + An HCX Enterprise Site resource + + + :param str hcx_enterprise_site_name: Name of the HCX Enterprise Site in the private cloud + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['hcxEnterpriseSiteName'] = hcx_enterprise_site_name + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getHcxEnterpriseSite', __args__, opts=opts, typ=GetHcxEnterpriseSiteResult).value + + return AwaitableGetHcxEnterpriseSiteResult( + activation_key=__ret__.activation_key, + id=__ret__.id, + name=__ret__.name, + status=__ret__.status, + type=__ret__.type) + + +@_utilities.lift_output_func(get_hcx_enterprise_site) +def get_hcx_enterprise_site_output(hcx_enterprise_site_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHcxEnterpriseSiteResult]: + """ + An HCX Enterprise Site resource + + + :param str hcx_enterprise_site_name: Name of the HCX Enterprise Site in the private cloud + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_placement_policy.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_placement_policy.py new file mode 100644 index 000000000000..25c17c30eeb7 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_placement_policy.py @@ -0,0 +1,128 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetPlacementPolicyResult', + 'AwaitableGetPlacementPolicyResult', + 'get_placement_policy', + 'get_placement_policy_output', +] + +@pulumi.output_type +class GetPlacementPolicyResult: + """ + A vSphere Distributed Resource Scheduler (DRS) placement policy + """ + def __init__(__self__, id=None, name=None, properties=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> Any: + """ + placement policy properties + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetPlacementPolicyResult(GetPlacementPolicyResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetPlacementPolicyResult( + id=self.id, + name=self.name, + properties=self.properties, + type=self.type) + + +def get_placement_policy(cluster_name: Optional[str] = None, + placement_policy_name: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPlacementPolicyResult: + """ + A vSphere Distributed Resource Scheduler (DRS) placement policy + + + :param str cluster_name: Name of the cluster in the private cloud + :param str placement_policy_name: Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['clusterName'] = cluster_name + __args__['placementPolicyName'] = placement_policy_name + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getPlacementPolicy', __args__, opts=opts, typ=GetPlacementPolicyResult).value + + return AwaitableGetPlacementPolicyResult( + id=__ret__.id, + name=__ret__.name, + properties=__ret__.properties, + type=__ret__.type) + + +@_utilities.lift_output_func(get_placement_policy) +def get_placement_policy_output(cluster_name: Optional[pulumi.Input[str]] = None, + placement_policy_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPlacementPolicyResult]: + """ + A vSphere Distributed Resource Scheduler (DRS) placement policy + + + :param str cluster_name: Name of the cluster in the private cloud + :param str placement_policy_name: Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_private_cloud.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_private_cloud.py new file mode 100644 index 000000000000..7059d0c3787d --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_private_cloud.py @@ -0,0 +1,417 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetPrivateCloudResult', + 'AwaitableGetPrivateCloudResult', + 'get_private_cloud', + 'get_private_cloud_output', +] + +@pulumi.output_type +class GetPrivateCloudResult: + """ + A private cloud resource + """ + def __init__(__self__, availability=None, circuit=None, encryption=None, endpoints=None, extended_network_blocks=None, external_cloud_links=None, id=None, identity=None, identity_sources=None, internet=None, location=None, management_cluster=None, management_network=None, name=None, network_block=None, nsx_public_ip_quota_raised=None, nsxt_certificate_thumbprint=None, nsxt_password=None, provisioning_network=None, provisioning_state=None, secondary_circuit=None, sku=None, tags=None, type=None, vcenter_certificate_thumbprint=None, vcenter_password=None, vmotion_network=None): + if availability and not isinstance(availability, dict): + raise TypeError("Expected argument 'availability' to be a dict") + pulumi.set(__self__, "availability", availability) + if circuit and not isinstance(circuit, dict): + raise TypeError("Expected argument 'circuit' to be a dict") + pulumi.set(__self__, "circuit", circuit) + if encryption and not isinstance(encryption, dict): + raise TypeError("Expected argument 'encryption' to be a dict") + pulumi.set(__self__, "encryption", encryption) + if endpoints and not isinstance(endpoints, dict): + raise TypeError("Expected argument 'endpoints' to be a dict") + pulumi.set(__self__, "endpoints", endpoints) + if extended_network_blocks and not isinstance(extended_network_blocks, list): + raise TypeError("Expected argument 'extended_network_blocks' to be a list") + pulumi.set(__self__, "extended_network_blocks", extended_network_blocks) + if external_cloud_links and not isinstance(external_cloud_links, list): + raise TypeError("Expected argument 'external_cloud_links' to be a list") + pulumi.set(__self__, "external_cloud_links", external_cloud_links) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if identity_sources and not isinstance(identity_sources, list): + raise TypeError("Expected argument 'identity_sources' to be a list") + pulumi.set(__self__, "identity_sources", identity_sources) + if internet and not isinstance(internet, str): + raise TypeError("Expected argument 'internet' to be a str") + pulumi.set(__self__, "internet", internet) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if management_cluster and not isinstance(management_cluster, dict): + raise TypeError("Expected argument 'management_cluster' to be a dict") + pulumi.set(__self__, "management_cluster", management_cluster) + if management_network and not isinstance(management_network, str): + raise TypeError("Expected argument 'management_network' to be a str") + pulumi.set(__self__, "management_network", management_network) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if network_block and not isinstance(network_block, str): + raise TypeError("Expected argument 'network_block' to be a str") + pulumi.set(__self__, "network_block", network_block) + if nsx_public_ip_quota_raised and not isinstance(nsx_public_ip_quota_raised, str): + raise TypeError("Expected argument 'nsx_public_ip_quota_raised' to be a str") + pulumi.set(__self__, "nsx_public_ip_quota_raised", nsx_public_ip_quota_raised) + if nsxt_certificate_thumbprint and not isinstance(nsxt_certificate_thumbprint, str): + raise TypeError("Expected argument 'nsxt_certificate_thumbprint' to be a str") + pulumi.set(__self__, "nsxt_certificate_thumbprint", nsxt_certificate_thumbprint) + if nsxt_password and not isinstance(nsxt_password, str): + raise TypeError("Expected argument 'nsxt_password' to be a str") + pulumi.set(__self__, "nsxt_password", nsxt_password) + if provisioning_network and not isinstance(provisioning_network, str): + raise TypeError("Expected argument 'provisioning_network' to be a str") + pulumi.set(__self__, "provisioning_network", provisioning_network) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if secondary_circuit and not isinstance(secondary_circuit, dict): + raise TypeError("Expected argument 'secondary_circuit' to be a dict") + pulumi.set(__self__, "secondary_circuit", secondary_circuit) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if vcenter_certificate_thumbprint and not isinstance(vcenter_certificate_thumbprint, str): + raise TypeError("Expected argument 'vcenter_certificate_thumbprint' to be a str") + pulumi.set(__self__, "vcenter_certificate_thumbprint", vcenter_certificate_thumbprint) + if vcenter_password and not isinstance(vcenter_password, str): + raise TypeError("Expected argument 'vcenter_password' to be a str") + pulumi.set(__self__, "vcenter_password", vcenter_password) + if vmotion_network and not isinstance(vmotion_network, str): + raise TypeError("Expected argument 'vmotion_network' to be a str") + pulumi.set(__self__, "vmotion_network", vmotion_network) + + @property + @pulumi.getter + def availability(self) -> Optional['outputs.AvailabilityPropertiesResponse']: + """ + Properties describing how the cloud is distributed across availability zones + """ + return pulumi.get(self, "availability") + + @property + @pulumi.getter + def circuit(self) -> Optional['outputs.CircuitResponse']: + """ + An ExpressRoute Circuit + """ + return pulumi.get(self, "circuit") + + @property + @pulumi.getter + def encryption(self) -> Optional['outputs.EncryptionResponse']: + """ + Customer managed key encryption, can be enabled or disabled + """ + return pulumi.get(self, "encryption") + + @property + @pulumi.getter + def endpoints(self) -> 'outputs.EndpointsResponse': + """ + The endpoints + """ + return pulumi.get(self, "endpoints") + + @property + @pulumi.getter(name="extendedNetworkBlocks") + def extended_network_blocks(self) -> Optional[Sequence[str]]: + """ + Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). + """ + return pulumi.get(self, "extended_network_blocks") + + @property + @pulumi.getter(name="externalCloudLinks") + def external_cloud_links(self) -> Sequence[str]: + """ + Array of cloud link IDs from other clouds that connect to this one + """ + return pulumi.get(self, "external_cloud_links") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.PrivateCloudIdentityResponse']: + """ + The identity of the private cloud, if configured. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="identitySources") + def identity_sources(self) -> Optional[Sequence['outputs.IdentitySourceResponse']]: + """ + vCenter Single Sign On Identity Sources + """ + return pulumi.get(self, "identity_sources") + + @property + @pulumi.getter + def internet(self) -> Optional[str]: + """ + Connectivity to internet is enabled or disabled + """ + return pulumi.get(self, "internet") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managementCluster") + def management_cluster(self) -> 'outputs.ManagementClusterResponse': + """ + The default cluster used for management + """ + return pulumi.get(self, "management_cluster") + + @property + @pulumi.getter(name="managementNetwork") + def management_network(self) -> str: + """ + Network used to access vCenter Server and NSX-T Manager + """ + return pulumi.get(self, "management_network") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkBlock") + def network_block(self) -> str: + """ + The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 + """ + return pulumi.get(self, "network_block") + + @property + @pulumi.getter(name="nsxPublicIpQuotaRaised") + def nsx_public_ip_quota_raised(self) -> str: + """ + Flag to indicate whether the private cloud has the quota for provisioned NSX Public IP count raised from 64 to 1024 + """ + return pulumi.get(self, "nsx_public_ip_quota_raised") + + @property + @pulumi.getter(name="nsxtCertificateThumbprint") + def nsxt_certificate_thumbprint(self) -> str: + """ + Thumbprint of the NSX-T Manager SSL certificate + """ + return pulumi.get(self, "nsxt_certificate_thumbprint") + + @property + @pulumi.getter(name="nsxtPassword") + def nsxt_password(self) -> Optional[str]: + """ + Optionally, set the NSX-T Manager password when the private cloud is created + """ + return pulumi.get(self, "nsxt_password") + + @property + @pulumi.getter(name="provisioningNetwork") + def provisioning_network(self) -> str: + """ + Used for virtual machine cold migration, cloning, and snapshot migration + """ + return pulumi.get(self, "provisioning_network") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="secondaryCircuit") + def secondary_circuit(self) -> Optional['outputs.CircuitResponse']: + """ + A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud + """ + return pulumi.get(self, "secondary_circuit") + + @property + @pulumi.getter + def sku(self) -> 'outputs.SkuResponse': + """ + The private cloud SKU + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="vcenterCertificateThumbprint") + def vcenter_certificate_thumbprint(self) -> str: + """ + Thumbprint of the vCenter Server SSL certificate + """ + return pulumi.get(self, "vcenter_certificate_thumbprint") + + @property + @pulumi.getter(name="vcenterPassword") + def vcenter_password(self) -> Optional[str]: + """ + Optionally, set the vCenter admin password when the private cloud is created + """ + return pulumi.get(self, "vcenter_password") + + @property + @pulumi.getter(name="vmotionNetwork") + def vmotion_network(self) -> str: + """ + Used for live migration of virtual machines + """ + return pulumi.get(self, "vmotion_network") + + +class AwaitableGetPrivateCloudResult(GetPrivateCloudResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetPrivateCloudResult( + availability=self.availability, + circuit=self.circuit, + encryption=self.encryption, + endpoints=self.endpoints, + extended_network_blocks=self.extended_network_blocks, + external_cloud_links=self.external_cloud_links, + id=self.id, + identity=self.identity, + identity_sources=self.identity_sources, + internet=self.internet, + location=self.location, + management_cluster=self.management_cluster, + management_network=self.management_network, + name=self.name, + network_block=self.network_block, + nsx_public_ip_quota_raised=self.nsx_public_ip_quota_raised, + nsxt_certificate_thumbprint=self.nsxt_certificate_thumbprint, + nsxt_password=self.nsxt_password, + provisioning_network=self.provisioning_network, + provisioning_state=self.provisioning_state, + secondary_circuit=self.secondary_circuit, + sku=self.sku, + tags=self.tags, + type=self.type, + vcenter_certificate_thumbprint=self.vcenter_certificate_thumbprint, + vcenter_password=self.vcenter_password, + vmotion_network=self.vmotion_network) + + +def get_private_cloud(private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPrivateCloudResult: + """ + A private cloud resource + + + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getPrivateCloud', __args__, opts=opts, typ=GetPrivateCloudResult).value + + return AwaitableGetPrivateCloudResult( + availability=__ret__.availability, + circuit=__ret__.circuit, + encryption=__ret__.encryption, + endpoints=__ret__.endpoints, + extended_network_blocks=__ret__.extended_network_blocks, + external_cloud_links=__ret__.external_cloud_links, + id=__ret__.id, + identity=__ret__.identity, + identity_sources=__ret__.identity_sources, + internet=__ret__.internet, + location=__ret__.location, + management_cluster=__ret__.management_cluster, + management_network=__ret__.management_network, + name=__ret__.name, + network_block=__ret__.network_block, + nsx_public_ip_quota_raised=__ret__.nsx_public_ip_quota_raised, + nsxt_certificate_thumbprint=__ret__.nsxt_certificate_thumbprint, + nsxt_password=__ret__.nsxt_password, + provisioning_network=__ret__.provisioning_network, + provisioning_state=__ret__.provisioning_state, + secondary_circuit=__ret__.secondary_circuit, + sku=__ret__.sku, + tags=__ret__.tags, + type=__ret__.type, + vcenter_certificate_thumbprint=__ret__.vcenter_certificate_thumbprint, + vcenter_password=__ret__.vcenter_password, + vmotion_network=__ret__.vmotion_network) + + +@_utilities.lift_output_func(get_private_cloud) +def get_private_cloud_output(private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrivateCloudResult]: + """ + A private cloud resource + + + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_script_execution.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_script_execution.py new file mode 100644 index 000000000000..67acecab937a --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_script_execution.py @@ -0,0 +1,305 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetScriptExecutionResult', + 'AwaitableGetScriptExecutionResult', + 'get_script_execution', + 'get_script_execution_output', +] + +@pulumi.output_type +class GetScriptExecutionResult: + """ + An instance of a script executed by a user - custom or AVS + """ + def __init__(__self__, errors=None, failure_reason=None, finished_at=None, hidden_parameters=None, id=None, information=None, name=None, named_outputs=None, output=None, parameters=None, provisioning_state=None, retention=None, script_cmdlet_id=None, started_at=None, submitted_at=None, timeout=None, type=None, warnings=None): + if errors and not isinstance(errors, list): + raise TypeError("Expected argument 'errors' to be a list") + pulumi.set(__self__, "errors", errors) + if failure_reason and not isinstance(failure_reason, str): + raise TypeError("Expected argument 'failure_reason' to be a str") + pulumi.set(__self__, "failure_reason", failure_reason) + if finished_at and not isinstance(finished_at, str): + raise TypeError("Expected argument 'finished_at' to be a str") + pulumi.set(__self__, "finished_at", finished_at) + if hidden_parameters and not isinstance(hidden_parameters, list): + raise TypeError("Expected argument 'hidden_parameters' to be a list") + pulumi.set(__self__, "hidden_parameters", hidden_parameters) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if information and not isinstance(information, list): + raise TypeError("Expected argument 'information' to be a list") + pulumi.set(__self__, "information", information) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if named_outputs and not isinstance(named_outputs, dict): + raise TypeError("Expected argument 'named_outputs' to be a dict") + pulumi.set(__self__, "named_outputs", named_outputs) + if output and not isinstance(output, list): + raise TypeError("Expected argument 'output' to be a list") + pulumi.set(__self__, "output", output) + if parameters and not isinstance(parameters, list): + raise TypeError("Expected argument 'parameters' to be a list") + pulumi.set(__self__, "parameters", parameters) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if retention and not isinstance(retention, str): + raise TypeError("Expected argument 'retention' to be a str") + pulumi.set(__self__, "retention", retention) + if script_cmdlet_id and not isinstance(script_cmdlet_id, str): + raise TypeError("Expected argument 'script_cmdlet_id' to be a str") + pulumi.set(__self__, "script_cmdlet_id", script_cmdlet_id) + if started_at and not isinstance(started_at, str): + raise TypeError("Expected argument 'started_at' to be a str") + pulumi.set(__self__, "started_at", started_at) + if submitted_at and not isinstance(submitted_at, str): + raise TypeError("Expected argument 'submitted_at' to be a str") + pulumi.set(__self__, "submitted_at", submitted_at) + if timeout and not isinstance(timeout, str): + raise TypeError("Expected argument 'timeout' to be a str") + pulumi.set(__self__, "timeout", timeout) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if warnings and not isinstance(warnings, list): + raise TypeError("Expected argument 'warnings' to be a list") + pulumi.set(__self__, "warnings", warnings) + + @property + @pulumi.getter + def errors(self) -> Sequence[str]: + """ + Standard error output stream from the powershell execution + """ + return pulumi.get(self, "errors") + + @property + @pulumi.getter(name="failureReason") + def failure_reason(self) -> Optional[str]: + """ + Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + """ + return pulumi.get(self, "failure_reason") + + @property + @pulumi.getter(name="finishedAt") + def finished_at(self) -> str: + """ + Time the script execution was finished + """ + return pulumi.get(self, "finished_at") + + @property + @pulumi.getter(name="hiddenParameters") + def hidden_parameters(self) -> Optional[Sequence[Any]]: + """ + Parameters that will be hidden/not visible to ARM, such as passwords and credentials + """ + return pulumi.get(self, "hidden_parameters") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def information(self) -> Sequence[str]: + """ + Standard information out stream from the powershell execution + """ + return pulumi.get(self, "information") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="namedOutputs") + def named_outputs(self) -> Optional[Mapping[str, Any]]: + """ + User-defined dictionary. + """ + return pulumi.get(self, "named_outputs") + + @property + @pulumi.getter + def output(self) -> Optional[Sequence[str]]: + """ + Standard output stream from the powershell execution + """ + return pulumi.get(self, "output") + + @property + @pulumi.getter + def parameters(self) -> Optional[Sequence[Any]]: + """ + Parameters the script will accept + """ + return pulumi.get(self, "parameters") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The state of the script execution resource + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def retention(self) -> Optional[str]: + """ + Time to live for the resource. If not provided, will be available for 60 days + """ + return pulumi.get(self, "retention") + + @property + @pulumi.getter(name="scriptCmdletId") + def script_cmdlet_id(self) -> Optional[str]: + """ + A reference to the script cmdlet resource if user is running a AVS script + """ + return pulumi.get(self, "script_cmdlet_id") + + @property + @pulumi.getter(name="startedAt") + def started_at(self) -> str: + """ + Time the script execution was started + """ + return pulumi.get(self, "started_at") + + @property + @pulumi.getter(name="submittedAt") + def submitted_at(self) -> str: + """ + Time the script execution was submitted + """ + return pulumi.get(self, "submitted_at") + + @property + @pulumi.getter + def timeout(self) -> str: + """ + Time limit for execution + """ + return pulumi.get(self, "timeout") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def warnings(self) -> Sequence[str]: + """ + Standard warning out stream from the powershell execution + """ + return pulumi.get(self, "warnings") + + +class AwaitableGetScriptExecutionResult(GetScriptExecutionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetScriptExecutionResult( + errors=self.errors, + failure_reason=self.failure_reason, + finished_at=self.finished_at, + hidden_parameters=self.hidden_parameters, + id=self.id, + information=self.information, + name=self.name, + named_outputs=self.named_outputs, + output=self.output, + parameters=self.parameters, + provisioning_state=self.provisioning_state, + retention=self.retention, + script_cmdlet_id=self.script_cmdlet_id, + started_at=self.started_at, + submitted_at=self.submitted_at, + timeout=self.timeout, + type=self.type, + warnings=self.warnings) + + +def get_script_execution(private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + script_execution_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetScriptExecutionResult: + """ + An instance of a script executed by a user - custom or AVS + + + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str script_execution_name: Name of the user-invoked script execution resource + """ + __args__ = dict() + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + __args__['scriptExecutionName'] = script_execution_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getScriptExecution', __args__, opts=opts, typ=GetScriptExecutionResult).value + + return AwaitableGetScriptExecutionResult( + errors=__ret__.errors, + failure_reason=__ret__.failure_reason, + finished_at=__ret__.finished_at, + hidden_parameters=__ret__.hidden_parameters, + id=__ret__.id, + information=__ret__.information, + name=__ret__.name, + named_outputs=__ret__.named_outputs, + output=__ret__.output, + parameters=__ret__.parameters, + provisioning_state=__ret__.provisioning_state, + retention=__ret__.retention, + script_cmdlet_id=__ret__.script_cmdlet_id, + started_at=__ret__.started_at, + submitted_at=__ret__.submitted_at, + timeout=__ret__.timeout, + type=__ret__.type, + warnings=__ret__.warnings) + + +@_utilities.lift_output_func(get_script_execution) +def get_script_execution_output(private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + script_execution_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetScriptExecutionResult]: + """ + An instance of a script executed by a user - custom or AVS + + + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str script_execution_name: Name of the user-invoked script execution resource + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_script_execution_logs.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_script_execution_logs.py new file mode 100644 index 000000000000..ec3071430f14 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_script_execution_logs.py @@ -0,0 +1,305 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetScriptExecutionLogsResult', + 'AwaitableGetScriptExecutionLogsResult', + 'get_script_execution_logs', + 'get_script_execution_logs_output', +] + +@pulumi.output_type +class GetScriptExecutionLogsResult: + """ + An instance of a script executed by a user - custom or AVS + """ + def __init__(__self__, errors=None, failure_reason=None, finished_at=None, hidden_parameters=None, id=None, information=None, name=None, named_outputs=None, output=None, parameters=None, provisioning_state=None, retention=None, script_cmdlet_id=None, started_at=None, submitted_at=None, timeout=None, type=None, warnings=None): + if errors and not isinstance(errors, list): + raise TypeError("Expected argument 'errors' to be a list") + pulumi.set(__self__, "errors", errors) + if failure_reason and not isinstance(failure_reason, str): + raise TypeError("Expected argument 'failure_reason' to be a str") + pulumi.set(__self__, "failure_reason", failure_reason) + if finished_at and not isinstance(finished_at, str): + raise TypeError("Expected argument 'finished_at' to be a str") + pulumi.set(__self__, "finished_at", finished_at) + if hidden_parameters and not isinstance(hidden_parameters, list): + raise TypeError("Expected argument 'hidden_parameters' to be a list") + pulumi.set(__self__, "hidden_parameters", hidden_parameters) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if information and not isinstance(information, list): + raise TypeError("Expected argument 'information' to be a list") + pulumi.set(__self__, "information", information) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if named_outputs and not isinstance(named_outputs, dict): + raise TypeError("Expected argument 'named_outputs' to be a dict") + pulumi.set(__self__, "named_outputs", named_outputs) + if output and not isinstance(output, list): + raise TypeError("Expected argument 'output' to be a list") + pulumi.set(__self__, "output", output) + if parameters and not isinstance(parameters, list): + raise TypeError("Expected argument 'parameters' to be a list") + pulumi.set(__self__, "parameters", parameters) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if retention and not isinstance(retention, str): + raise TypeError("Expected argument 'retention' to be a str") + pulumi.set(__self__, "retention", retention) + if script_cmdlet_id and not isinstance(script_cmdlet_id, str): + raise TypeError("Expected argument 'script_cmdlet_id' to be a str") + pulumi.set(__self__, "script_cmdlet_id", script_cmdlet_id) + if started_at and not isinstance(started_at, str): + raise TypeError("Expected argument 'started_at' to be a str") + pulumi.set(__self__, "started_at", started_at) + if submitted_at and not isinstance(submitted_at, str): + raise TypeError("Expected argument 'submitted_at' to be a str") + pulumi.set(__self__, "submitted_at", submitted_at) + if timeout and not isinstance(timeout, str): + raise TypeError("Expected argument 'timeout' to be a str") + pulumi.set(__self__, "timeout", timeout) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if warnings and not isinstance(warnings, list): + raise TypeError("Expected argument 'warnings' to be a list") + pulumi.set(__self__, "warnings", warnings) + + @property + @pulumi.getter + def errors(self) -> Sequence[str]: + """ + Standard error output stream from the powershell execution + """ + return pulumi.get(self, "errors") + + @property + @pulumi.getter(name="failureReason") + def failure_reason(self) -> Optional[str]: + """ + Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + """ + return pulumi.get(self, "failure_reason") + + @property + @pulumi.getter(name="finishedAt") + def finished_at(self) -> str: + """ + Time the script execution was finished + """ + return pulumi.get(self, "finished_at") + + @property + @pulumi.getter(name="hiddenParameters") + def hidden_parameters(self) -> Optional[Sequence[Any]]: + """ + Parameters that will be hidden/not visible to ARM, such as passwords and credentials + """ + return pulumi.get(self, "hidden_parameters") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def information(self) -> Sequence[str]: + """ + Standard information out stream from the powershell execution + """ + return pulumi.get(self, "information") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="namedOutputs") + def named_outputs(self) -> Optional[Mapping[str, Any]]: + """ + User-defined dictionary. + """ + return pulumi.get(self, "named_outputs") + + @property + @pulumi.getter + def output(self) -> Optional[Sequence[str]]: + """ + Standard output stream from the powershell execution + """ + return pulumi.get(self, "output") + + @property + @pulumi.getter + def parameters(self) -> Optional[Sequence[Any]]: + """ + Parameters the script will accept + """ + return pulumi.get(self, "parameters") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The state of the script execution resource + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def retention(self) -> Optional[str]: + """ + Time to live for the resource. If not provided, will be available for 60 days + """ + return pulumi.get(self, "retention") + + @property + @pulumi.getter(name="scriptCmdletId") + def script_cmdlet_id(self) -> Optional[str]: + """ + A reference to the script cmdlet resource if user is running a AVS script + """ + return pulumi.get(self, "script_cmdlet_id") + + @property + @pulumi.getter(name="startedAt") + def started_at(self) -> str: + """ + Time the script execution was started + """ + return pulumi.get(self, "started_at") + + @property + @pulumi.getter(name="submittedAt") + def submitted_at(self) -> str: + """ + Time the script execution was submitted + """ + return pulumi.get(self, "submitted_at") + + @property + @pulumi.getter + def timeout(self) -> str: + """ + Time limit for execution + """ + return pulumi.get(self, "timeout") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def warnings(self) -> Sequence[str]: + """ + Standard warning out stream from the powershell execution + """ + return pulumi.get(self, "warnings") + + +class AwaitableGetScriptExecutionLogsResult(GetScriptExecutionLogsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetScriptExecutionLogsResult( + errors=self.errors, + failure_reason=self.failure_reason, + finished_at=self.finished_at, + hidden_parameters=self.hidden_parameters, + id=self.id, + information=self.information, + name=self.name, + named_outputs=self.named_outputs, + output=self.output, + parameters=self.parameters, + provisioning_state=self.provisioning_state, + retention=self.retention, + script_cmdlet_id=self.script_cmdlet_id, + started_at=self.started_at, + submitted_at=self.submitted_at, + timeout=self.timeout, + type=self.type, + warnings=self.warnings) + + +def get_script_execution_logs(private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + script_execution_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetScriptExecutionLogsResult: + """ + Return the logs for a script execution resource + + + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str script_execution_name: Name of the user-invoked script execution resource + """ + __args__ = dict() + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + __args__['scriptExecutionName'] = script_execution_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getScriptExecutionLogs', __args__, opts=opts, typ=GetScriptExecutionLogsResult).value + + return AwaitableGetScriptExecutionLogsResult( + errors=__ret__.errors, + failure_reason=__ret__.failure_reason, + finished_at=__ret__.finished_at, + hidden_parameters=__ret__.hidden_parameters, + id=__ret__.id, + information=__ret__.information, + name=__ret__.name, + named_outputs=__ret__.named_outputs, + output=__ret__.output, + parameters=__ret__.parameters, + provisioning_state=__ret__.provisioning_state, + retention=__ret__.retention, + script_cmdlet_id=__ret__.script_cmdlet_id, + started_at=__ret__.started_at, + submitted_at=__ret__.submitted_at, + timeout=__ret__.timeout, + type=__ret__.type, + warnings=__ret__.warnings) + + +@_utilities.lift_output_func(get_script_execution_logs) +def get_script_execution_logs_output(private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + script_execution_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetScriptExecutionLogsResult]: + """ + Return the logs for a script execution resource + + + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str script_execution_name: Name of the user-invoked script execution resource + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_dhcp.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_dhcp.py new file mode 100644 index 000000000000..abc3b03bcb23 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_dhcp.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetWorkloadNetworkDhcpResult', + 'AwaitableGetWorkloadNetworkDhcpResult', + 'get_workload_network_dhcp', + 'get_workload_network_dhcp_output', +] + +@pulumi.output_type +class GetWorkloadNetworkDhcpResult: + """ + NSX DHCP + """ + def __init__(__self__, id=None, name=None, properties=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> Any: + """ + DHCP properties. + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetWorkloadNetworkDhcpResult(GetWorkloadNetworkDhcpResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetWorkloadNetworkDhcpResult( + id=self.id, + name=self.name, + properties=self.properties, + type=self.type) + + +def get_workload_network_dhcp(dhcp_id: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWorkloadNetworkDhcpResult: + """ + NSX DHCP + + + :param str dhcp_id: NSX DHCP identifier. Generally the same as the DHCP display name + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['dhcpId'] = dhcp_id + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getWorkloadNetworkDhcp', __args__, opts=opts, typ=GetWorkloadNetworkDhcpResult).value + + return AwaitableGetWorkloadNetworkDhcpResult( + id=__ret__.id, + name=__ret__.name, + properties=__ret__.properties, + type=__ret__.type) + + +@_utilities.lift_output_func(get_workload_network_dhcp) +def get_workload_network_dhcp_output(dhcp_id: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkloadNetworkDhcpResult]: + """ + NSX DHCP + + + :param str dhcp_id: NSX DHCP identifier. Generally the same as the DHCP display name + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_dns_service.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_dns_service.py new file mode 100644 index 000000000000..1d73571dfc0a --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_dns_service.py @@ -0,0 +1,213 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'GetWorkloadNetworkDnsServiceResult', + 'AwaitableGetWorkloadNetworkDnsServiceResult', + 'get_workload_network_dns_service', + 'get_workload_network_dns_service_output', +] + +@pulumi.output_type +class GetWorkloadNetworkDnsServiceResult: + """ + NSX DNS Service + """ + def __init__(__self__, default_dns_zone=None, display_name=None, dns_service_ip=None, fqdn_zones=None, id=None, log_level=None, name=None, provisioning_state=None, revision=None, status=None, type=None): + if default_dns_zone and not isinstance(default_dns_zone, str): + raise TypeError("Expected argument 'default_dns_zone' to be a str") + pulumi.set(__self__, "default_dns_zone", default_dns_zone) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if dns_service_ip and not isinstance(dns_service_ip, str): + raise TypeError("Expected argument 'dns_service_ip' to be a str") + pulumi.set(__self__, "dns_service_ip", dns_service_ip) + if fqdn_zones and not isinstance(fqdn_zones, list): + raise TypeError("Expected argument 'fqdn_zones' to be a list") + pulumi.set(__self__, "fqdn_zones", fqdn_zones) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if log_level and not isinstance(log_level, str): + raise TypeError("Expected argument 'log_level' to be a str") + pulumi.set(__self__, "log_level", log_level) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if revision and not isinstance(revision, float): + raise TypeError("Expected argument 'revision' to be a float") + pulumi.set(__self__, "revision", revision) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="defaultDnsZone") + def default_dns_zone(self) -> Optional[str]: + """ + Default DNS zone of the DNS Service. + """ + return pulumi.get(self, "default_dns_zone") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + Display name of the DNS Service. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="dnsServiceIp") + def dns_service_ip(self) -> Optional[str]: + """ + DNS service IP of the DNS Service. + """ + return pulumi.get(self, "dns_service_ip") + + @property + @pulumi.getter(name="fqdnZones") + def fqdn_zones(self) -> Optional[Sequence[str]]: + """ + FQDN zones of the DNS Service. + """ + return pulumi.get(self, "fqdn_zones") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="logLevel") + def log_level(self) -> Optional[str]: + """ + DNS Service log level. + """ + return pulumi.get(self, "log_level") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def revision(self) -> Optional[float]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @property + @pulumi.getter + def status(self) -> str: + """ + DNS Service status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetWorkloadNetworkDnsServiceResult(GetWorkloadNetworkDnsServiceResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetWorkloadNetworkDnsServiceResult( + default_dns_zone=self.default_dns_zone, + display_name=self.display_name, + dns_service_ip=self.dns_service_ip, + fqdn_zones=self.fqdn_zones, + id=self.id, + log_level=self.log_level, + name=self.name, + provisioning_state=self.provisioning_state, + revision=self.revision, + status=self.status, + type=self.type) + + +def get_workload_network_dns_service(dns_service_id: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWorkloadNetworkDnsServiceResult: + """ + NSX DNS Service + + + :param str dns_service_id: NSX DNS Service identifier. Generally the same as the DNS Service's display name + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['dnsServiceId'] = dns_service_id + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getWorkloadNetworkDnsService', __args__, opts=opts, typ=GetWorkloadNetworkDnsServiceResult).value + + return AwaitableGetWorkloadNetworkDnsServiceResult( + default_dns_zone=__ret__.default_dns_zone, + display_name=__ret__.display_name, + dns_service_ip=__ret__.dns_service_ip, + fqdn_zones=__ret__.fqdn_zones, + id=__ret__.id, + log_level=__ret__.log_level, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + revision=__ret__.revision, + status=__ret__.status, + type=__ret__.type) + + +@_utilities.lift_output_func(get_workload_network_dns_service) +def get_workload_network_dns_service_output(dns_service_id: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkloadNetworkDnsServiceResult]: + """ + NSX DNS Service + + + :param str dns_service_id: NSX DNS Service identifier. Generally the same as the DNS Service's display name + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_dns_zone.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_dns_zone.py new file mode 100644 index 000000000000..c92ef992c78b --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_dns_zone.py @@ -0,0 +1,200 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'GetWorkloadNetworkDnsZoneResult', + 'AwaitableGetWorkloadNetworkDnsZoneResult', + 'get_workload_network_dns_zone', + 'get_workload_network_dns_zone_output', +] + +@pulumi.output_type +class GetWorkloadNetworkDnsZoneResult: + """ + NSX DNS Zone + """ + def __init__(__self__, display_name=None, dns_server_ips=None, dns_services=None, domain=None, id=None, name=None, provisioning_state=None, revision=None, source_ip=None, type=None): + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if dns_server_ips and not isinstance(dns_server_ips, list): + raise TypeError("Expected argument 'dns_server_ips' to be a list") + pulumi.set(__self__, "dns_server_ips", dns_server_ips) + if dns_services and not isinstance(dns_services, float): + raise TypeError("Expected argument 'dns_services' to be a float") + pulumi.set(__self__, "dns_services", dns_services) + if domain and not isinstance(domain, list): + raise TypeError("Expected argument 'domain' to be a list") + pulumi.set(__self__, "domain", domain) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if revision and not isinstance(revision, float): + raise TypeError("Expected argument 'revision' to be a float") + pulumi.set(__self__, "revision", revision) + if source_ip and not isinstance(source_ip, str): + raise TypeError("Expected argument 'source_ip' to be a str") + pulumi.set(__self__, "source_ip", source_ip) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + Display name of the DNS Zone. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="dnsServerIps") + def dns_server_ips(self) -> Optional[Sequence[str]]: + """ + DNS Server IP array of the DNS Zone. + """ + return pulumi.get(self, "dns_server_ips") + + @property + @pulumi.getter(name="dnsServices") + def dns_services(self) -> Optional[float]: + """ + Number of DNS Services using the DNS zone. + """ + return pulumi.get(self, "dns_services") + + @property + @pulumi.getter + def domain(self) -> Optional[Sequence[str]]: + """ + Domain names of the DNS Zone. + """ + return pulumi.get(self, "domain") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def revision(self) -> Optional[float]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @property + @pulumi.getter(name="sourceIp") + def source_ip(self) -> Optional[str]: + """ + Source IP of the DNS Zone. + """ + return pulumi.get(self, "source_ip") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetWorkloadNetworkDnsZoneResult(GetWorkloadNetworkDnsZoneResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetWorkloadNetworkDnsZoneResult( + display_name=self.display_name, + dns_server_ips=self.dns_server_ips, + dns_services=self.dns_services, + domain=self.domain, + id=self.id, + name=self.name, + provisioning_state=self.provisioning_state, + revision=self.revision, + source_ip=self.source_ip, + type=self.type) + + +def get_workload_network_dns_zone(dns_zone_id: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWorkloadNetworkDnsZoneResult: + """ + NSX DNS Zone + + + :param str dns_zone_id: NSX DNS Zone identifier. Generally the same as the DNS Zone's display name + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['dnsZoneId'] = dns_zone_id + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getWorkloadNetworkDnsZone', __args__, opts=opts, typ=GetWorkloadNetworkDnsZoneResult).value + + return AwaitableGetWorkloadNetworkDnsZoneResult( + display_name=__ret__.display_name, + dns_server_ips=__ret__.dns_server_ips, + dns_services=__ret__.dns_services, + domain=__ret__.domain, + id=__ret__.id, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + revision=__ret__.revision, + source_ip=__ret__.source_ip, + type=__ret__.type) + + +@_utilities.lift_output_func(get_workload_network_dns_zone) +def get_workload_network_dns_zone_output(dns_zone_id: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkloadNetworkDnsZoneResult]: + """ + NSX DNS Zone + + + :param str dns_zone_id: NSX DNS Zone identifier. Generally the same as the DNS Zone's display name + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_port_mirroring.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_port_mirroring.py new file mode 100644 index 000000000000..ce566b54ddbe --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_port_mirroring.py @@ -0,0 +1,200 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'GetWorkloadNetworkPortMirroringResult', + 'AwaitableGetWorkloadNetworkPortMirroringResult', + 'get_workload_network_port_mirroring', + 'get_workload_network_port_mirroring_output', +] + +@pulumi.output_type +class GetWorkloadNetworkPortMirroringResult: + """ + NSX Port Mirroring + """ + def __init__(__self__, destination=None, direction=None, display_name=None, id=None, name=None, provisioning_state=None, revision=None, source=None, status=None, type=None): + if destination and not isinstance(destination, str): + raise TypeError("Expected argument 'destination' to be a str") + pulumi.set(__self__, "destination", destination) + if direction and not isinstance(direction, str): + raise TypeError("Expected argument 'direction' to be a str") + pulumi.set(__self__, "direction", direction) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if revision and not isinstance(revision, float): + raise TypeError("Expected argument 'revision' to be a float") + pulumi.set(__self__, "revision", revision) + if source and not isinstance(source, str): + raise TypeError("Expected argument 'source' to be a str") + pulumi.set(__self__, "source", source) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def destination(self) -> Optional[str]: + """ + Destination VM Group. + """ + return pulumi.get(self, "destination") + + @property + @pulumi.getter + def direction(self) -> Optional[str]: + """ + Direction of port mirroring profile. + """ + return pulumi.get(self, "direction") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + Display name of the port mirroring profile. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def revision(self) -> Optional[float]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @property + @pulumi.getter + def source(self) -> Optional[str]: + """ + Source VM Group. + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def status(self) -> str: + """ + Port Mirroring Status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetWorkloadNetworkPortMirroringResult(GetWorkloadNetworkPortMirroringResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetWorkloadNetworkPortMirroringResult( + destination=self.destination, + direction=self.direction, + display_name=self.display_name, + id=self.id, + name=self.name, + provisioning_state=self.provisioning_state, + revision=self.revision, + source=self.source, + status=self.status, + type=self.type) + + +def get_workload_network_port_mirroring(port_mirroring_id: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWorkloadNetworkPortMirroringResult: + """ + NSX Port Mirroring + + + :param str port_mirroring_id: NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['portMirroringId'] = port_mirroring_id + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getWorkloadNetworkPortMirroring', __args__, opts=opts, typ=GetWorkloadNetworkPortMirroringResult).value + + return AwaitableGetWorkloadNetworkPortMirroringResult( + destination=__ret__.destination, + direction=__ret__.direction, + display_name=__ret__.display_name, + id=__ret__.id, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + revision=__ret__.revision, + source=__ret__.source, + status=__ret__.status, + type=__ret__.type) + + +@_utilities.lift_output_func(get_workload_network_port_mirroring) +def get_workload_network_port_mirroring_output(port_mirroring_id: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkloadNetworkPortMirroringResult]: + """ + NSX Port Mirroring + + + :param str port_mirroring_id: NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_public_ip.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_public_ip.py new file mode 100644 index 000000000000..bd5695e73dfd --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_public_ip.py @@ -0,0 +1,161 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'GetWorkloadNetworkPublicIPResult', + 'AwaitableGetWorkloadNetworkPublicIPResult', + 'get_workload_network_public_ip', + 'get_workload_network_public_ip_output', +] + +@pulumi.output_type +class GetWorkloadNetworkPublicIPResult: + """ + NSX Public IP Block + """ + def __init__(__self__, display_name=None, id=None, name=None, number_of_public_ips=None, provisioning_state=None, public_ip_block=None, type=None): + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if number_of_public_ips and not isinstance(number_of_public_ips, float): + raise TypeError("Expected argument 'number_of_public_ips' to be a float") + pulumi.set(__self__, "number_of_public_ips", number_of_public_ips) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if public_ip_block and not isinstance(public_ip_block, str): + raise TypeError("Expected argument 'public_ip_block' to be a str") + pulumi.set(__self__, "public_ip_block", public_ip_block) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + Display name of the Public IP Block. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="numberOfPublicIPs") + def number_of_public_ips(self) -> Optional[float]: + """ + Number of Public IPs requested. + """ + return pulumi.get(self, "number_of_public_ips") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="publicIPBlock") + def public_ip_block(self) -> str: + """ + CIDR Block of the Public IP Block. + """ + return pulumi.get(self, "public_ip_block") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetWorkloadNetworkPublicIPResult(GetWorkloadNetworkPublicIPResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetWorkloadNetworkPublicIPResult( + display_name=self.display_name, + id=self.id, + name=self.name, + number_of_public_ips=self.number_of_public_ips, + provisioning_state=self.provisioning_state, + public_ip_block=self.public_ip_block, + type=self.type) + + +def get_workload_network_public_ip(private_cloud_name: Optional[str] = None, + public_ip_id: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWorkloadNetworkPublicIPResult: + """ + NSX Public IP Block + + + :param str private_cloud_name: Name of the private cloud + :param str public_ip_id: NSX Public IP Block identifier. Generally the same as the Public IP Block's display name + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['privateCloudName'] = private_cloud_name + __args__['publicIPId'] = public_ip_id + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getWorkloadNetworkPublicIP', __args__, opts=opts, typ=GetWorkloadNetworkPublicIPResult).value + + return AwaitableGetWorkloadNetworkPublicIPResult( + display_name=__ret__.display_name, + id=__ret__.id, + name=__ret__.name, + number_of_public_ips=__ret__.number_of_public_ips, + provisioning_state=__ret__.provisioning_state, + public_ip_block=__ret__.public_ip_block, + type=__ret__.type) + + +@_utilities.lift_output_func(get_workload_network_public_ip) +def get_workload_network_public_ip_output(private_cloud_name: Optional[pulumi.Input[str]] = None, + public_ip_id: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkloadNetworkPublicIPResult]: + """ + NSX Public IP Block + + + :param str private_cloud_name: Name of the private cloud + :param str public_ip_id: NSX Public IP Block identifier. Generally the same as the Public IP Block's display name + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_segment.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_segment.py new file mode 100644 index 000000000000..7df938308c57 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_segment.py @@ -0,0 +1,201 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetWorkloadNetworkSegmentResult', + 'AwaitableGetWorkloadNetworkSegmentResult', + 'get_workload_network_segment', + 'get_workload_network_segment_output', +] + +@pulumi.output_type +class GetWorkloadNetworkSegmentResult: + """ + NSX Segment + """ + def __init__(__self__, connected_gateway=None, display_name=None, id=None, name=None, port_vif=None, provisioning_state=None, revision=None, status=None, subnet=None, type=None): + if connected_gateway and not isinstance(connected_gateway, str): + raise TypeError("Expected argument 'connected_gateway' to be a str") + pulumi.set(__self__, "connected_gateway", connected_gateway) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if port_vif and not isinstance(port_vif, list): + raise TypeError("Expected argument 'port_vif' to be a list") + pulumi.set(__self__, "port_vif", port_vif) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if revision and not isinstance(revision, float): + raise TypeError("Expected argument 'revision' to be a float") + pulumi.set(__self__, "revision", revision) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if subnet and not isinstance(subnet, dict): + raise TypeError("Expected argument 'subnet' to be a dict") + pulumi.set(__self__, "subnet", subnet) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="connectedGateway") + def connected_gateway(self) -> Optional[str]: + """ + Gateway which to connect segment to. + """ + return pulumi.get(self, "connected_gateway") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + Display name of the segment. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="portVif") + def port_vif(self) -> Sequence['outputs.WorkloadNetworkSegmentPortVifResponse']: + """ + Port Vif which segment is associated with. + """ + return pulumi.get(self, "port_vif") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def revision(self) -> Optional[float]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @property + @pulumi.getter + def status(self) -> str: + """ + Segment status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def subnet(self) -> Optional['outputs.WorkloadNetworkSegmentSubnetResponse']: + """ + Subnet which to connect segment to. + """ + return pulumi.get(self, "subnet") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetWorkloadNetworkSegmentResult(GetWorkloadNetworkSegmentResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetWorkloadNetworkSegmentResult( + connected_gateway=self.connected_gateway, + display_name=self.display_name, + id=self.id, + name=self.name, + port_vif=self.port_vif, + provisioning_state=self.provisioning_state, + revision=self.revision, + status=self.status, + subnet=self.subnet, + type=self.type) + + +def get_workload_network_segment(private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + segment_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWorkloadNetworkSegmentResult: + """ + NSX Segment + + + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str segment_id: NSX Segment identifier. Generally the same as the Segment's display name + """ + __args__ = dict() + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + __args__['segmentId'] = segment_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getWorkloadNetworkSegment', __args__, opts=opts, typ=GetWorkloadNetworkSegmentResult).value + + return AwaitableGetWorkloadNetworkSegmentResult( + connected_gateway=__ret__.connected_gateway, + display_name=__ret__.display_name, + id=__ret__.id, + name=__ret__.name, + port_vif=__ret__.port_vif, + provisioning_state=__ret__.provisioning_state, + revision=__ret__.revision, + status=__ret__.status, + subnet=__ret__.subnet, + type=__ret__.type) + + +@_utilities.lift_output_func(get_workload_network_segment) +def get_workload_network_segment_output(private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + segment_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkloadNetworkSegmentResult]: + """ + NSX Segment + + + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str segment_id: NSX Segment identifier. Generally the same as the Segment's display name + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_vm_group.py b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_vm_group.py new file mode 100644 index 000000000000..9e050a57797c --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/get_workload_network_vm_group.py @@ -0,0 +1,174 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'GetWorkloadNetworkVMGroupResult', + 'AwaitableGetWorkloadNetworkVMGroupResult', + 'get_workload_network_vm_group', + 'get_workload_network_vm_group_output', +] + +@pulumi.output_type +class GetWorkloadNetworkVMGroupResult: + """ + NSX VM Group + """ + def __init__(__self__, display_name=None, id=None, members=None, name=None, provisioning_state=None, revision=None, status=None, type=None): + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if members and not isinstance(members, list): + raise TypeError("Expected argument 'members' to be a list") + pulumi.set(__self__, "members", members) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if revision and not isinstance(revision, float): + raise TypeError("Expected argument 'revision' to be a float") + pulumi.set(__self__, "revision", revision) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + Display name of the VM group. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def members(self) -> Optional[Sequence[str]]: + """ + Virtual machine members of this group. + """ + return pulumi.get(self, "members") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def revision(self) -> Optional[float]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @property + @pulumi.getter + def status(self) -> str: + """ + VM Group status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetWorkloadNetworkVMGroupResult(GetWorkloadNetworkVMGroupResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetWorkloadNetworkVMGroupResult( + display_name=self.display_name, + id=self.id, + members=self.members, + name=self.name, + provisioning_state=self.provisioning_state, + revision=self.revision, + status=self.status, + type=self.type) + + +def get_workload_network_vm_group(private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + vm_group_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWorkloadNetworkVMGroupResult: + """ + NSX VM Group + + + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str vm_group_id: NSX VM Group identifier. Generally the same as the VM Group's display name + """ + __args__ = dict() + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + __args__['vmGroupId'] = vm_group_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:getWorkloadNetworkVMGroup', __args__, opts=opts, typ=GetWorkloadNetworkVMGroupResult).value + + return AwaitableGetWorkloadNetworkVMGroupResult( + display_name=__ret__.display_name, + id=__ret__.id, + members=__ret__.members, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + revision=__ret__.revision, + status=__ret__.status, + type=__ret__.type) + + +@_utilities.lift_output_func(get_workload_network_vm_group) +def get_workload_network_vm_group_output(private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + vm_group_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkloadNetworkVMGroupResult]: + """ + NSX VM Group + + + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str vm_group_id: NSX VM Group identifier. Generally the same as the VM Group's display name + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/global_reach_connection.py b/sdk/python/pulumi_azure_native/avs/v20230301/global_reach_connection.py new file mode 100644 index 000000000000..6379d2aa0286 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/global_reach_connection.py @@ -0,0 +1,291 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = ['GlobalReachConnectionArgs', 'GlobalReachConnection'] + +@pulumi.input_type +class GlobalReachConnectionArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + authorization_key: Optional[pulumi.Input[str]] = None, + express_route_id: Optional[pulumi.Input[str]] = None, + global_reach_connection_name: Optional[pulumi.Input[str]] = None, + peer_express_route_circuit: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a GlobalReachConnection resource. + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] authorization_key: Authorization key from the peer express route used for the global reach connection + :param pulumi.Input[str] express_route_id: The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection + :param pulumi.Input[str] global_reach_connection_name: Name of the global reach connection in the private cloud + :param pulumi.Input[str] peer_express_route_circuit: Identifier of the ExpressRoute Circuit to peer with in the global reach connection + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if authorization_key is not None: + pulumi.set(__self__, "authorization_key", authorization_key) + if express_route_id is not None: + pulumi.set(__self__, "express_route_id", express_route_id) + if global_reach_connection_name is not None: + pulumi.set(__self__, "global_reach_connection_name", global_reach_connection_name) + if peer_express_route_circuit is not None: + pulumi.set(__self__, "peer_express_route_circuit", peer_express_route_circuit) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + The name of the private cloud. + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="authorizationKey") + def authorization_key(self) -> Optional[pulumi.Input[str]]: + """ + Authorization key from the peer express route used for the global reach connection + """ + return pulumi.get(self, "authorization_key") + + @authorization_key.setter + def authorization_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorization_key", value) + + @property + @pulumi.getter(name="expressRouteId") + def express_route_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection + """ + return pulumi.get(self, "express_route_id") + + @express_route_id.setter + def express_route_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "express_route_id", value) + + @property + @pulumi.getter(name="globalReachConnectionName") + def global_reach_connection_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the global reach connection in the private cloud + """ + return pulumi.get(self, "global_reach_connection_name") + + @global_reach_connection_name.setter + def global_reach_connection_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "global_reach_connection_name", value) + + @property + @pulumi.getter(name="peerExpressRouteCircuit") + def peer_express_route_circuit(self) -> Optional[pulumi.Input[str]]: + """ + Identifier of the ExpressRoute Circuit to peer with in the global reach connection + """ + return pulumi.get(self, "peer_express_route_circuit") + + @peer_express_route_circuit.setter + def peer_express_route_circuit(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "peer_express_route_circuit", value) + + +class GlobalReachConnection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_key: Optional[pulumi.Input[str]] = None, + express_route_id: Optional[pulumi.Input[str]] = None, + global_reach_connection_name: Optional[pulumi.Input[str]] = None, + peer_express_route_circuit: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + A global reach connection resource + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] authorization_key: Authorization key from the peer express route used for the global reach connection + :param pulumi.Input[str] express_route_id: The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection + :param pulumi.Input[str] global_reach_connection_name: Name of the global reach connection in the private cloud + :param pulumi.Input[str] peer_express_route_circuit: Identifier of the ExpressRoute Circuit to peer with in the global reach connection + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: GlobalReachConnectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + A global reach connection resource + + :param str resource_name: The name of the resource. + :param GlobalReachConnectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(GlobalReachConnectionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorization_key: Optional[pulumi.Input[str]] = None, + express_route_id: Optional[pulumi.Input[str]] = None, + global_reach_connection_name: Optional[pulumi.Input[str]] = None, + peer_express_route_circuit: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = GlobalReachConnectionArgs.__new__(GlobalReachConnectionArgs) + + __props__.__dict__["authorization_key"] = authorization_key + __props__.__dict__["express_route_id"] = express_route_id + __props__.__dict__["global_reach_connection_name"] = global_reach_connection_name + __props__.__dict__["peer_express_route_circuit"] = peer_express_route_circuit + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["address_prefix"] = None + __props__.__dict__["circuit_connection_status"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20200717preview:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20210101preview:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20210601:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20211201:GlobalReachConnection"), pulumi.Alias(type_="azure-native:avs/v20220501:GlobalReachConnection")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(GlobalReachConnection, __self__).__init__( + 'azure-native:avs/v20230301:GlobalReachConnection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'GlobalReachConnection': + """ + Get an existing GlobalReachConnection resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = GlobalReachConnectionArgs.__new__(GlobalReachConnectionArgs) + + __props__.__dict__["address_prefix"] = None + __props__.__dict__["authorization_key"] = None + __props__.__dict__["circuit_connection_status"] = None + __props__.__dict__["express_route_id"] = None + __props__.__dict__["name"] = None + __props__.__dict__["peer_express_route_circuit"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + return GlobalReachConnection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="addressPrefix") + def address_prefix(self) -> pulumi.Output[str]: + """ + The network used for global reach carved out from the original network block provided for the private cloud + """ + return pulumi.get(self, "address_prefix") + + @property + @pulumi.getter(name="authorizationKey") + def authorization_key(self) -> pulumi.Output[Optional[str]]: + """ + Authorization key from the peer express route used for the global reach connection + """ + return pulumi.get(self, "authorization_key") + + @property + @pulumi.getter(name="circuitConnectionStatus") + def circuit_connection_status(self) -> pulumi.Output[str]: + """ + The connection status of the global reach connection + """ + return pulumi.get(self, "circuit_connection_status") + + @property + @pulumi.getter(name="expressRouteId") + def express_route_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection + """ + return pulumi.get(self, "express_route_id") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="peerExpressRouteCircuit") + def peer_express_route_circuit(self) -> pulumi.Output[Optional[str]]: + """ + Identifier of the ExpressRoute Circuit to peer with in the global reach connection + """ + return pulumi.get(self, "peer_express_route_circuit") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The state of the ExpressRoute Circuit Authorization provisioning + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/hcx_enterprise_site.py b/sdk/python/pulumi_azure_native/avs/v20230301/hcx_enterprise_site.py new file mode 100644 index 000000000000..4a68675fe33c --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/hcx_enterprise_site.py @@ -0,0 +1,194 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = ['HcxEnterpriseSiteArgs', 'HcxEnterpriseSite'] + +@pulumi.input_type +class HcxEnterpriseSiteArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + hcx_enterprise_site_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a HcxEnterpriseSite resource. + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] hcx_enterprise_site_name: Name of the HCX Enterprise Site in the private cloud + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if hcx_enterprise_site_name is not None: + pulumi.set(__self__, "hcx_enterprise_site_name", hcx_enterprise_site_name) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + The name of the private cloud. + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="hcxEnterpriseSiteName") + def hcx_enterprise_site_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the HCX Enterprise Site in the private cloud + """ + return pulumi.get(self, "hcx_enterprise_site_name") + + @hcx_enterprise_site_name.setter + def hcx_enterprise_site_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "hcx_enterprise_site_name", value) + + +class HcxEnterpriseSite(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + hcx_enterprise_site_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + An HCX Enterprise Site resource + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] hcx_enterprise_site_name: Name of the HCX Enterprise Site in the private cloud + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: HcxEnterpriseSiteArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + An HCX Enterprise Site resource + + :param str resource_name: The name of the resource. + :param HcxEnterpriseSiteArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(HcxEnterpriseSiteArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + hcx_enterprise_site_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = HcxEnterpriseSiteArgs.__new__(HcxEnterpriseSiteArgs) + + __props__.__dict__["hcx_enterprise_site_name"] = hcx_enterprise_site_name + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["activation_key"] = None + __props__.__dict__["name"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20200320:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20200717preview:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20210101preview:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20210601:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20211201:HcxEnterpriseSite"), pulumi.Alias(type_="azure-native:avs/v20220501:HcxEnterpriseSite")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(HcxEnterpriseSite, __self__).__init__( + 'azure-native:avs/v20230301:HcxEnterpriseSite', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'HcxEnterpriseSite': + """ + Get an existing HcxEnterpriseSite resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = HcxEnterpriseSiteArgs.__new__(HcxEnterpriseSiteArgs) + + __props__.__dict__["activation_key"] = None + __props__.__dict__["name"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + return HcxEnterpriseSite(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="activationKey") + def activation_key(self) -> pulumi.Output[str]: + """ + The activation key + """ + return pulumi.get(self, "activation_key") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the HCX Enterprise Site + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/list_cluster_zones.py b/sdk/python/pulumi_azure_native/avs/v20230301/list_cluster_zones.py new file mode 100644 index 000000000000..6ea3528cb03a --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/list_cluster_zones.py @@ -0,0 +1,84 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'ListClusterZonesResult', + 'AwaitableListClusterZonesResult', + 'list_cluster_zones', + 'list_cluster_zones_output', +] + +@pulumi.output_type +class ListClusterZonesResult: + """ + List of all zones and associated hosts for a cluster + """ + def __init__(__self__, zones=None): + if zones and not isinstance(zones, list): + raise TypeError("Expected argument 'zones' to be a list") + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter + def zones(self) -> Optional[Sequence['outputs.ClusterZoneResponse']]: + """ + Zone and associated hosts info + """ + return pulumi.get(self, "zones") + + +class AwaitableListClusterZonesResult(ListClusterZonesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return ListClusterZonesResult( + zones=self.zones) + + +def list_cluster_zones(cluster_name: Optional[str] = None, + private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListClusterZonesResult: + """ + List of all zones and associated hosts for a cluster + + + :param str cluster_name: Name of the cluster in the private cloud + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['clusterName'] = cluster_name + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:listClusterZones', __args__, opts=opts, typ=ListClusterZonesResult).value + + return AwaitableListClusterZonesResult( + zones=__ret__.zones) + + +@_utilities.lift_output_func(list_cluster_zones) +def list_cluster_zones_output(cluster_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[ListClusterZonesResult]: + """ + List of all zones and associated hosts for a cluster + + + :param str cluster_name: Name of the cluster in the private cloud + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/list_private_cloud_admin_credentials.py b/sdk/python/pulumi_azure_native/avs/v20230301/list_private_cloud_admin_credentials.py new file mode 100644 index 000000000000..68c5c431dfd3 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/list_private_cloud_admin_credentials.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'ListPrivateCloudAdminCredentialsResult', + 'AwaitableListPrivateCloudAdminCredentialsResult', + 'list_private_cloud_admin_credentials', + 'list_private_cloud_admin_credentials_output', +] + +@pulumi.output_type +class ListPrivateCloudAdminCredentialsResult: + """ + Administrative credentials for accessing vCenter and NSX-T + """ + def __init__(__self__, nsxt_password=None, nsxt_username=None, vcenter_password=None, vcenter_username=None): + if nsxt_password and not isinstance(nsxt_password, str): + raise TypeError("Expected argument 'nsxt_password' to be a str") + pulumi.set(__self__, "nsxt_password", nsxt_password) + if nsxt_username and not isinstance(nsxt_username, str): + raise TypeError("Expected argument 'nsxt_username' to be a str") + pulumi.set(__self__, "nsxt_username", nsxt_username) + if vcenter_password and not isinstance(vcenter_password, str): + raise TypeError("Expected argument 'vcenter_password' to be a str") + pulumi.set(__self__, "vcenter_password", vcenter_password) + if vcenter_username and not isinstance(vcenter_username, str): + raise TypeError("Expected argument 'vcenter_username' to be a str") + pulumi.set(__self__, "vcenter_username", vcenter_username) + + @property + @pulumi.getter(name="nsxtPassword") + def nsxt_password(self) -> str: + """ + NSX-T Manager password + """ + return pulumi.get(self, "nsxt_password") + + @property + @pulumi.getter(name="nsxtUsername") + def nsxt_username(self) -> str: + """ + NSX-T Manager username + """ + return pulumi.get(self, "nsxt_username") + + @property + @pulumi.getter(name="vcenterPassword") + def vcenter_password(self) -> str: + """ + vCenter admin password + """ + return pulumi.get(self, "vcenter_password") + + @property + @pulumi.getter(name="vcenterUsername") + def vcenter_username(self) -> str: + """ + vCenter admin username + """ + return pulumi.get(self, "vcenter_username") + + +class AwaitableListPrivateCloudAdminCredentialsResult(ListPrivateCloudAdminCredentialsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return ListPrivateCloudAdminCredentialsResult( + nsxt_password=self.nsxt_password, + nsxt_username=self.nsxt_username, + vcenter_password=self.vcenter_password, + vcenter_username=self.vcenter_username) + + +def list_private_cloud_admin_credentials(private_cloud_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListPrivateCloudAdminCredentialsResult: + """ + Administrative credentials for accessing vCenter and NSX-T + + + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['privateCloudName'] = private_cloud_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:avs/v20230301:listPrivateCloudAdminCredentials', __args__, opts=opts, typ=ListPrivateCloudAdminCredentialsResult).value + + return AwaitableListPrivateCloudAdminCredentialsResult( + nsxt_password=__ret__.nsxt_password, + nsxt_username=__ret__.nsxt_username, + vcenter_password=__ret__.vcenter_password, + vcenter_username=__ret__.vcenter_username) + + +@_utilities.lift_output_func(list_private_cloud_admin_credentials) +def list_private_cloud_admin_credentials_output(private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[ListPrivateCloudAdminCredentialsResult]: + """ + Administrative credentials for accessing vCenter and NSX-T + + + :param str private_cloud_name: Name of the private cloud + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/outputs.py b/sdk/python/pulumi_azure_native/avs/v20230301/outputs.py new file mode 100644 index 000000000000..c090a93991ea --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/outputs.py @@ -0,0 +1,1861 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'AddonArcPropertiesResponse', + 'AddonHcxPropertiesResponse', + 'AddonSrmPropertiesResponse', + 'AddonVrPropertiesResponse', + 'AvailabilityPropertiesResponse', + 'CircuitResponse', + 'ClusterZoneResponse', + 'DiskPoolVolumeResponse', + 'EncryptionKeyVaultPropertiesResponse', + 'EncryptionResponse', + 'EndpointsResponse', + 'IdentitySourceResponse', + 'ManagementClusterResponse', + 'NetAppVolumeResponse', + 'PSCredentialExecutionParameterResponse', + 'PrivateCloudIdentityResponse', + 'ScriptSecureStringExecutionParameterResponse', + 'ScriptStringExecutionParameterResponse', + 'SkuResponse', + 'VmHostPlacementPolicyPropertiesResponse', + 'VmVmPlacementPolicyPropertiesResponse', + 'WorkloadNetworkDhcpRelayResponse', + 'WorkloadNetworkDhcpServerResponse', + 'WorkloadNetworkSegmentPortVifResponse', + 'WorkloadNetworkSegmentSubnetResponse', +] + +@pulumi.output_type +class AddonArcPropertiesResponse(dict): + """ + The properties of an Arc addon + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "addonType": + suggest = "addon_type" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "vCenter": + suggest = "v_center" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AddonArcPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AddonArcPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AddonArcPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + addon_type: str, + provisioning_state: str, + v_center: Optional[str] = None): + """ + The properties of an Arc addon + :param str addon_type: The type of private cloud addon + Expected value is 'Arc'. + :param str provisioning_state: The state of the addon provisioning + :param str v_center: The VMware vCenter resource ID + """ + pulumi.set(__self__, "addon_type", 'Arc') + pulumi.set(__self__, "provisioning_state", provisioning_state) + if v_center is not None: + pulumi.set(__self__, "v_center", v_center) + + @property + @pulumi.getter(name="addonType") + def addon_type(self) -> str: + """ + The type of private cloud addon + Expected value is 'Arc'. + """ + return pulumi.get(self, "addon_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The state of the addon provisioning + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="vCenter") + def v_center(self) -> Optional[str]: + """ + The VMware vCenter resource ID + """ + return pulumi.get(self, "v_center") + + +@pulumi.output_type +class AddonHcxPropertiesResponse(dict): + """ + The properties of an HCX addon + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "addonType": + suggest = "addon_type" + elif key == "provisioningState": + suggest = "provisioning_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AddonHcxPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AddonHcxPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AddonHcxPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + addon_type: str, + offer: str, + provisioning_state: str): + """ + The properties of an HCX addon + :param str addon_type: The type of private cloud addon + Expected value is 'HCX'. + :param str offer: The HCX offer, example VMware MaaS Cloud Provider (Enterprise) + :param str provisioning_state: The state of the addon provisioning + """ + pulumi.set(__self__, "addon_type", 'HCX') + pulumi.set(__self__, "offer", offer) + pulumi.set(__self__, "provisioning_state", provisioning_state) + + @property + @pulumi.getter(name="addonType") + def addon_type(self) -> str: + """ + The type of private cloud addon + Expected value is 'HCX'. + """ + return pulumi.get(self, "addon_type") + + @property + @pulumi.getter + def offer(self) -> str: + """ + The HCX offer, example VMware MaaS Cloud Provider (Enterprise) + """ + return pulumi.get(self, "offer") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The state of the addon provisioning + """ + return pulumi.get(self, "provisioning_state") + + +@pulumi.output_type +class AddonSrmPropertiesResponse(dict): + """ + The properties of a Site Recovery Manager (SRM) addon + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "addonType": + suggest = "addon_type" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "licenseKey": + suggest = "license_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AddonSrmPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AddonSrmPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AddonSrmPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + addon_type: str, + provisioning_state: str, + license_key: Optional[str] = None): + """ + The properties of a Site Recovery Manager (SRM) addon + :param str addon_type: The type of private cloud addon + Expected value is 'SRM'. + :param str provisioning_state: The state of the addon provisioning + :param str license_key: The Site Recovery Manager (SRM) license + """ + pulumi.set(__self__, "addon_type", 'SRM') + pulumi.set(__self__, "provisioning_state", provisioning_state) + if license_key is not None: + pulumi.set(__self__, "license_key", license_key) + + @property + @pulumi.getter(name="addonType") + def addon_type(self) -> str: + """ + The type of private cloud addon + Expected value is 'SRM'. + """ + return pulumi.get(self, "addon_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The state of the addon provisioning + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="licenseKey") + def license_key(self) -> Optional[str]: + """ + The Site Recovery Manager (SRM) license + """ + return pulumi.get(self, "license_key") + + +@pulumi.output_type +class AddonVrPropertiesResponse(dict): + """ + The properties of a vSphere Replication (VR) addon + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "addonType": + suggest = "addon_type" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "vrsCount": + suggest = "vrs_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AddonVrPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AddonVrPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AddonVrPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + addon_type: str, + provisioning_state: str, + vrs_count: int): + """ + The properties of a vSphere Replication (VR) addon + :param str addon_type: The type of private cloud addon + Expected value is 'VR'. + :param str provisioning_state: The state of the addon provisioning + :param int vrs_count: The vSphere Replication Server (VRS) count + """ + pulumi.set(__self__, "addon_type", 'VR') + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "vrs_count", vrs_count) + + @property + @pulumi.getter(name="addonType") + def addon_type(self) -> str: + """ + The type of private cloud addon + Expected value is 'VR'. + """ + return pulumi.get(self, "addon_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The state of the addon provisioning + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="vrsCount") + def vrs_count(self) -> int: + """ + The vSphere Replication Server (VRS) count + """ + return pulumi.get(self, "vrs_count") + + +@pulumi.output_type +class AvailabilityPropertiesResponse(dict): + """ + The properties describing private cloud availability zone distribution + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "secondaryZone": + suggest = "secondary_zone" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AvailabilityPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AvailabilityPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AvailabilityPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + secondary_zone: Optional[int] = None, + strategy: Optional[str] = None, + zone: Optional[int] = None): + """ + The properties describing private cloud availability zone distribution + :param int secondary_zone: The secondary availability zone for the private cloud + :param str strategy: The availability strategy for the private cloud + :param int zone: The primary availability zone for the private cloud + """ + if secondary_zone is not None: + pulumi.set(__self__, "secondary_zone", secondary_zone) + if strategy is not None: + pulumi.set(__self__, "strategy", strategy) + if zone is not None: + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter(name="secondaryZone") + def secondary_zone(self) -> Optional[int]: + """ + The secondary availability zone for the private cloud + """ + return pulumi.get(self, "secondary_zone") + + @property + @pulumi.getter + def strategy(self) -> Optional[str]: + """ + The availability strategy for the private cloud + """ + return pulumi.get(self, "strategy") + + @property + @pulumi.getter + def zone(self) -> Optional[int]: + """ + The primary availability zone for the private cloud + """ + return pulumi.get(self, "zone") + + +@pulumi.output_type +class CircuitResponse(dict): + """ + An ExpressRoute Circuit + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "expressRouteID": + suggest = "express_route_id" + elif key == "expressRoutePrivatePeeringID": + suggest = "express_route_private_peering_id" + elif key == "primarySubnet": + suggest = "primary_subnet" + elif key == "secondarySubnet": + suggest = "secondary_subnet" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CircuitResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CircuitResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CircuitResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + express_route_id: str, + express_route_private_peering_id: str, + primary_subnet: str, + secondary_subnet: str): + """ + An ExpressRoute Circuit + :param str express_route_id: Identifier of the ExpressRoute Circuit (Microsoft Colo only) + :param str express_route_private_peering_id: ExpressRoute Circuit private peering identifier + :param str primary_subnet: CIDR of primary subnet + :param str secondary_subnet: CIDR of secondary subnet + """ + pulumi.set(__self__, "express_route_id", express_route_id) + pulumi.set(__self__, "express_route_private_peering_id", express_route_private_peering_id) + pulumi.set(__self__, "primary_subnet", primary_subnet) + pulumi.set(__self__, "secondary_subnet", secondary_subnet) + + @property + @pulumi.getter(name="expressRouteID") + def express_route_id(self) -> str: + """ + Identifier of the ExpressRoute Circuit (Microsoft Colo only) + """ + return pulumi.get(self, "express_route_id") + + @property + @pulumi.getter(name="expressRoutePrivatePeeringID") + def express_route_private_peering_id(self) -> str: + """ + ExpressRoute Circuit private peering identifier + """ + return pulumi.get(self, "express_route_private_peering_id") + + @property + @pulumi.getter(name="primarySubnet") + def primary_subnet(self) -> str: + """ + CIDR of primary subnet + """ + return pulumi.get(self, "primary_subnet") + + @property + @pulumi.getter(name="secondarySubnet") + def secondary_subnet(self) -> str: + """ + CIDR of secondary subnet + """ + return pulumi.get(self, "secondary_subnet") + + +@pulumi.output_type +class ClusterZoneResponse(dict): + """ + Zone and associated hosts info + """ + def __init__(__self__, *, + hosts: Sequence[str], + zone: str): + """ + Zone and associated hosts info + :param Sequence[str] hosts: List of hosts belonging to the availability zone in a cluster + :param str zone: Availability zone identifier + """ + pulumi.set(__self__, "hosts", hosts) + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter + def hosts(self) -> Sequence[str]: + """ + List of hosts belonging to the availability zone in a cluster + """ + return pulumi.get(self, "hosts") + + @property + @pulumi.getter + def zone(self) -> str: + """ + Availability zone identifier + """ + return pulumi.get(self, "zone") + + +@pulumi.output_type +class DiskPoolVolumeResponse(dict): + """ + An iSCSI volume from Microsoft.StoragePool provider + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lunName": + suggest = "lun_name" + elif key == "targetId": + suggest = "target_id" + elif key == "mountOption": + suggest = "mount_option" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DiskPoolVolumeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DiskPoolVolumeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DiskPoolVolumeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + lun_name: str, + path: str, + target_id: str, + mount_option: Optional[str] = None): + """ + An iSCSI volume from Microsoft.StoragePool provider + :param str lun_name: Name of the LUN to be used for datastore + :param str path: Device path + :param str target_id: Azure resource ID of the iSCSI target + :param str mount_option: Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN + """ + pulumi.set(__self__, "lun_name", lun_name) + pulumi.set(__self__, "path", path) + pulumi.set(__self__, "target_id", target_id) + if mount_option is None: + mount_option = 'MOUNT' + if mount_option is not None: + pulumi.set(__self__, "mount_option", mount_option) + + @property + @pulumi.getter(name="lunName") + def lun_name(self) -> str: + """ + Name of the LUN to be used for datastore + """ + return pulumi.get(self, "lun_name") + + @property + @pulumi.getter + def path(self) -> str: + """ + Device path + """ + return pulumi.get(self, "path") + + @property + @pulumi.getter(name="targetId") + def target_id(self) -> str: + """ + Azure resource ID of the iSCSI target + """ + return pulumi.get(self, "target_id") + + @property + @pulumi.getter(name="mountOption") + def mount_option(self) -> Optional[str]: + """ + Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN + """ + return pulumi.get(self, "mount_option") + + +@pulumi.output_type +class EncryptionKeyVaultPropertiesResponse(dict): + """ + An Encryption Key + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoDetectedKeyVersion": + suggest = "auto_detected_key_version" + elif key == "keyState": + suggest = "key_state" + elif key == "versionType": + suggest = "version_type" + elif key == "keyName": + suggest = "key_name" + elif key == "keyVaultUrl": + suggest = "key_vault_url" + elif key == "keyVersion": + suggest = "key_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EncryptionKeyVaultPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EncryptionKeyVaultPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EncryptionKeyVaultPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_detected_key_version: str, + key_state: str, + version_type: str, + key_name: Optional[str] = None, + key_vault_url: Optional[str] = None, + key_version: Optional[str] = None): + """ + An Encryption Key + :param str auto_detected_key_version: The auto-detected version of the key if versionType is auto-detected. + :param str key_state: The state of key provided + :param str version_type: Property of the key if user provided or auto detected + :param str key_name: The name of the key. + :param str key_vault_url: The URL of the vault. + :param str key_version: The version of the key. + """ + pulumi.set(__self__, "auto_detected_key_version", auto_detected_key_version) + pulumi.set(__self__, "key_state", key_state) + pulumi.set(__self__, "version_type", version_type) + if key_name is not None: + pulumi.set(__self__, "key_name", key_name) + if key_vault_url is not None: + pulumi.set(__self__, "key_vault_url", key_vault_url) + if key_version is not None: + pulumi.set(__self__, "key_version", key_version) + + @property + @pulumi.getter(name="autoDetectedKeyVersion") + def auto_detected_key_version(self) -> str: + """ + The auto-detected version of the key if versionType is auto-detected. + """ + return pulumi.get(self, "auto_detected_key_version") + + @property + @pulumi.getter(name="keyState") + def key_state(self) -> str: + """ + The state of key provided + """ + return pulumi.get(self, "key_state") + + @property + @pulumi.getter(name="versionType") + def version_type(self) -> str: + """ + Property of the key if user provided or auto detected + """ + return pulumi.get(self, "version_type") + + @property + @pulumi.getter(name="keyName") + def key_name(self) -> Optional[str]: + """ + The name of the key. + """ + return pulumi.get(self, "key_name") + + @property + @pulumi.getter(name="keyVaultUrl") + def key_vault_url(self) -> Optional[str]: + """ + The URL of the vault. + """ + return pulumi.get(self, "key_vault_url") + + @property + @pulumi.getter(name="keyVersion") + def key_version(self) -> Optional[str]: + """ + The version of the key. + """ + return pulumi.get(self, "key_version") + + +@pulumi.output_type +class EncryptionResponse(dict): + """ + The properties of customer managed encryption key + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyVaultProperties": + suggest = "key_vault_properties" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EncryptionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EncryptionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EncryptionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_vault_properties: Optional['outputs.EncryptionKeyVaultPropertiesResponse'] = None, + status: Optional[str] = None): + """ + The properties of customer managed encryption key + :param 'EncryptionKeyVaultPropertiesResponse' key_vault_properties: The key vault where the encryption key is stored + :param str status: Status of customer managed encryption key + """ + if key_vault_properties is not None: + pulumi.set(__self__, "key_vault_properties", key_vault_properties) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="keyVaultProperties") + def key_vault_properties(self) -> Optional['outputs.EncryptionKeyVaultPropertiesResponse']: + """ + The key vault where the encryption key is stored + """ + return pulumi.get(self, "key_vault_properties") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + """ + Status of customer managed encryption key + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class EndpointsResponse(dict): + """ + Endpoint addresses + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "hcxCloudManager": + suggest = "hcx_cloud_manager" + elif key == "nsxtManager": + suggest = "nsxt_manager" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EndpointsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EndpointsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EndpointsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + hcx_cloud_manager: str, + nsxt_manager: str, + vcsa: str): + """ + Endpoint addresses + :param str hcx_cloud_manager: Endpoint for the HCX Cloud Manager + :param str nsxt_manager: Endpoint for the NSX-T Data Center manager + :param str vcsa: Endpoint for Virtual Center Server Appliance + """ + pulumi.set(__self__, "hcx_cloud_manager", hcx_cloud_manager) + pulumi.set(__self__, "nsxt_manager", nsxt_manager) + pulumi.set(__self__, "vcsa", vcsa) + + @property + @pulumi.getter(name="hcxCloudManager") + def hcx_cloud_manager(self) -> str: + """ + Endpoint for the HCX Cloud Manager + """ + return pulumi.get(self, "hcx_cloud_manager") + + @property + @pulumi.getter(name="nsxtManager") + def nsxt_manager(self) -> str: + """ + Endpoint for the NSX-T Data Center manager + """ + return pulumi.get(self, "nsxt_manager") + + @property + @pulumi.getter + def vcsa(self) -> str: + """ + Endpoint for Virtual Center Server Appliance + """ + return pulumi.get(self, "vcsa") + + +@pulumi.output_type +class IdentitySourceResponse(dict): + """ + vCenter Single Sign On Identity Source + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "baseGroupDN": + suggest = "base_group_dn" + elif key == "baseUserDN": + suggest = "base_user_dn" + elif key == "primaryServer": + suggest = "primary_server" + elif key == "secondaryServer": + suggest = "secondary_server" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IdentitySourceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IdentitySourceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IdentitySourceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alias: Optional[str] = None, + base_group_dn: Optional[str] = None, + base_user_dn: Optional[str] = None, + domain: Optional[str] = None, + name: Optional[str] = None, + password: Optional[str] = None, + primary_server: Optional[str] = None, + secondary_server: Optional[str] = None, + ssl: Optional[str] = None, + username: Optional[str] = None): + """ + vCenter Single Sign On Identity Source + :param str alias: The domain's NetBIOS name + :param str base_group_dn: The base distinguished name for groups + :param str base_user_dn: The base distinguished name for users + :param str domain: The domain's dns name + :param str name: The name of the identity source + :param str password: The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups. + :param str primary_server: Primary server URL + :param str secondary_server: Secondary server URL + :param str ssl: Protect LDAP communication using SSL certificate (LDAPS) + :param str username: The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group + """ + if alias is not None: + pulumi.set(__self__, "alias", alias) + if base_group_dn is not None: + pulumi.set(__self__, "base_group_dn", base_group_dn) + if base_user_dn is not None: + pulumi.set(__self__, "base_user_dn", base_user_dn) + if domain is not None: + pulumi.set(__self__, "domain", domain) + if name is not None: + pulumi.set(__self__, "name", name) + if password is not None: + pulumi.set(__self__, "password", password) + if primary_server is not None: + pulumi.set(__self__, "primary_server", primary_server) + if secondary_server is not None: + pulumi.set(__self__, "secondary_server", secondary_server) + if ssl is not None: + pulumi.set(__self__, "ssl", ssl) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter + def alias(self) -> Optional[str]: + """ + The domain's NetBIOS name + """ + return pulumi.get(self, "alias") + + @property + @pulumi.getter(name="baseGroupDN") + def base_group_dn(self) -> Optional[str]: + """ + The base distinguished name for groups + """ + return pulumi.get(self, "base_group_dn") + + @property + @pulumi.getter(name="baseUserDN") + def base_user_dn(self) -> Optional[str]: + """ + The base distinguished name for users + """ + return pulumi.get(self, "base_user_dn") + + @property + @pulumi.getter + def domain(self) -> Optional[str]: + """ + The domain's dns name + """ + return pulumi.get(self, "domain") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the identity source + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def password(self) -> Optional[str]: + """ + The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups. + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter(name="primaryServer") + def primary_server(self) -> Optional[str]: + """ + Primary server URL + """ + return pulumi.get(self, "primary_server") + + @property + @pulumi.getter(name="secondaryServer") + def secondary_server(self) -> Optional[str]: + """ + Secondary server URL + """ + return pulumi.get(self, "secondary_server") + + @property + @pulumi.getter + def ssl(self) -> Optional[str]: + """ + Protect LDAP communication using SSL certificate (LDAPS) + """ + return pulumi.get(self, "ssl") + + @property + @pulumi.getter + def username(self) -> Optional[str]: + """ + The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group + """ + return pulumi.get(self, "username") + + +@pulumi.output_type +class ManagementClusterResponse(dict): + """ + The properties of a management cluster + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clusterId": + suggest = "cluster_id" + elif key == "clusterSize": + suggest = "cluster_size" + elif key == "provisioningState": + suggest = "provisioning_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagementClusterResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagementClusterResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagementClusterResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cluster_id: int, + cluster_size: int, + provisioning_state: str, + hosts: Optional[Sequence[str]] = None): + """ + The properties of a management cluster + :param int cluster_id: The identity + :param int cluster_size: The cluster size + :param str provisioning_state: The state of the cluster provisioning + :param Sequence[str] hosts: The hosts + """ + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "cluster_size", cluster_size) + pulumi.set(__self__, "provisioning_state", provisioning_state) + if hosts is not None: + pulumi.set(__self__, "hosts", hosts) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> int: + """ + The identity + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter(name="clusterSize") + def cluster_size(self) -> int: + """ + The cluster size + """ + return pulumi.get(self, "cluster_size") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The state of the cluster provisioning + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def hosts(self) -> Optional[Sequence[str]]: + """ + The hosts + """ + return pulumi.get(self, "hosts") + + +@pulumi.output_type +class NetAppVolumeResponse(dict): + """ + An Azure NetApp Files volume from Microsoft.NetApp provider + """ + def __init__(__self__, *, + id: str): + """ + An Azure NetApp Files volume from Microsoft.NetApp provider + :param str id: Azure resource ID of the NetApp volume + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + Azure resource ID of the NetApp volume + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class PSCredentialExecutionParameterResponse(dict): + """ + a powershell credential object + """ + def __init__(__self__, *, + name: str, + type: str, + password: Optional[str] = None, + username: Optional[str] = None): + """ + a powershell credential object + :param str name: The parameter name + :param str type: The type of execution parameter + Expected value is 'Credential'. + :param str password: password for login + :param str username: username for login + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", 'Credential') + if password is not None: + pulumi.set(__self__, "password", password) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter + def name(self) -> str: + """ + The parameter name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of execution parameter + Expected value is 'Credential'. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def password(self) -> Optional[str]: + """ + password for login + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter + def username(self) -> Optional[str]: + """ + username for login + """ + return pulumi.get(self, "username") + + +@pulumi.output_type +class PrivateCloudIdentityResponse(dict): + """ + Identity for the virtual machine. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PrivateCloudIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PrivateCloudIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PrivateCloudIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + type: Optional[str] = None): + """ + Identity for the virtual machine. + :param str principal_id: The principal ID of private cloud identity. This property will only be provided for a system assigned identity. + :param str tenant_id: The tenant ID associated with the private cloud. This property will only be provided for a system assigned identity. + :param str type: The type of identity used for the private cloud. The type 'SystemAssigned' refers to an implicitly created identity. The type 'None' will remove any identities from the Private Cloud. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal ID of private cloud identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The tenant ID associated with the private cloud. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of identity used for the private cloud. The type 'SystemAssigned' refers to an implicitly created identity. The type 'None' will remove any identities from the Private Cloud. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class ScriptSecureStringExecutionParameterResponse(dict): + """ + a plain text value execution parameter + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "secureValue": + suggest = "secure_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScriptSecureStringExecutionParameterResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScriptSecureStringExecutionParameterResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScriptSecureStringExecutionParameterResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + type: str, + secure_value: Optional[str] = None): + """ + a plain text value execution parameter + :param str name: The parameter name + :param str type: The type of execution parameter + Expected value is 'SecureValue'. + :param str secure_value: A secure value for the passed parameter, not to be stored in logs + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", 'SecureValue') + if secure_value is not None: + pulumi.set(__self__, "secure_value", secure_value) + + @property + @pulumi.getter + def name(self) -> str: + """ + The parameter name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of execution parameter + Expected value is 'SecureValue'. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="secureValue") + def secure_value(self) -> Optional[str]: + """ + A secure value for the passed parameter, not to be stored in logs + """ + return pulumi.get(self, "secure_value") + + +@pulumi.output_type +class ScriptStringExecutionParameterResponse(dict): + """ + a plain text value execution parameter + """ + def __init__(__self__, *, + name: str, + type: str, + value: Optional[str] = None): + """ + a plain text value execution parameter + :param str name: The parameter name + :param str type: The type of execution parameter + Expected value is 'Value'. + :param str value: The value for the passed parameter + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", 'Value') + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + The parameter name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of execution parameter + Expected value is 'Value'. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + """ + The value for the passed parameter + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class SkuResponse(dict): + """ + The resource model definition representing SKU + """ + def __init__(__self__, *, + name: str): + """ + The resource model definition representing SKU + :param str name: The name of the SKU. + """ + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the SKU. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class VmHostPlacementPolicyPropertiesResponse(dict): + """ + VM-Host placement policy properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "affinityType": + suggest = "affinity_type" + elif key == "hostMembers": + suggest = "host_members" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "vmMembers": + suggest = "vm_members" + elif key == "affinityStrength": + suggest = "affinity_strength" + elif key == "azureHybridBenefitType": + suggest = "azure_hybrid_benefit_type" + elif key == "displayName": + suggest = "display_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VmHostPlacementPolicyPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VmHostPlacementPolicyPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VmHostPlacementPolicyPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + affinity_type: str, + host_members: Sequence[str], + provisioning_state: str, + type: str, + vm_members: Sequence[str], + affinity_strength: Optional[str] = None, + azure_hybrid_benefit_type: Optional[str] = None, + display_name: Optional[str] = None, + state: Optional[str] = None): + """ + VM-Host placement policy properties + :param str affinity_type: placement policy affinity type + :param Sequence[str] host_members: Host members list + :param str provisioning_state: The provisioning state + :param str type: placement policy type + Expected value is 'VmHost'. + :param Sequence[str] vm_members: Virtual machine members list + :param str affinity_strength: vm-host placement policy affinity strength (should/must) + :param str azure_hybrid_benefit_type: placement policy azure hybrid benefit opt-in type + :param str display_name: Display name of the placement policy + :param str state: Whether the placement policy is enabled or disabled + """ + pulumi.set(__self__, "affinity_type", affinity_type) + pulumi.set(__self__, "host_members", host_members) + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "type", 'VmHost') + pulumi.set(__self__, "vm_members", vm_members) + if affinity_strength is not None: + pulumi.set(__self__, "affinity_strength", affinity_strength) + if azure_hybrid_benefit_type is not None: + pulumi.set(__self__, "azure_hybrid_benefit_type", azure_hybrid_benefit_type) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if state is not None: + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="affinityType") + def affinity_type(self) -> str: + """ + placement policy affinity type + """ + return pulumi.get(self, "affinity_type") + + @property + @pulumi.getter(name="hostMembers") + def host_members(self) -> Sequence[str]: + """ + Host members list + """ + return pulumi.get(self, "host_members") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> str: + """ + placement policy type + Expected value is 'VmHost'. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="vmMembers") + def vm_members(self) -> Sequence[str]: + """ + Virtual machine members list + """ + return pulumi.get(self, "vm_members") + + @property + @pulumi.getter(name="affinityStrength") + def affinity_strength(self) -> Optional[str]: + """ + vm-host placement policy affinity strength (should/must) + """ + return pulumi.get(self, "affinity_strength") + + @property + @pulumi.getter(name="azureHybridBenefitType") + def azure_hybrid_benefit_type(self) -> Optional[str]: + """ + placement policy azure hybrid benefit opt-in type + """ + return pulumi.get(self, "azure_hybrid_benefit_type") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + Display name of the placement policy + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def state(self) -> Optional[str]: + """ + Whether the placement policy is enabled or disabled + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class VmVmPlacementPolicyPropertiesResponse(dict): + """ + VM-VM placement policy properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "affinityType": + suggest = "affinity_type" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "vmMembers": + suggest = "vm_members" + elif key == "displayName": + suggest = "display_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VmVmPlacementPolicyPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VmVmPlacementPolicyPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VmVmPlacementPolicyPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + affinity_type: str, + provisioning_state: str, + type: str, + vm_members: Sequence[str], + display_name: Optional[str] = None, + state: Optional[str] = None): + """ + VM-VM placement policy properties + :param str affinity_type: placement policy affinity type + :param str provisioning_state: The provisioning state + :param str type: placement policy type + Expected value is 'VmVm'. + :param Sequence[str] vm_members: Virtual machine members list + :param str display_name: Display name of the placement policy + :param str state: Whether the placement policy is enabled or disabled + """ + pulumi.set(__self__, "affinity_type", affinity_type) + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "type", 'VmVm') + pulumi.set(__self__, "vm_members", vm_members) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if state is not None: + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="affinityType") + def affinity_type(self) -> str: + """ + placement policy affinity type + """ + return pulumi.get(self, "affinity_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> str: + """ + placement policy type + Expected value is 'VmVm'. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="vmMembers") + def vm_members(self) -> Sequence[str]: + """ + Virtual machine members list + """ + return pulumi.get(self, "vm_members") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + Display name of the placement policy + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def state(self) -> Optional[str]: + """ + Whether the placement policy is enabled or disabled + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class WorkloadNetworkDhcpRelayResponse(dict): + """ + NSX DHCP Relay + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dhcpType": + suggest = "dhcp_type" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "displayName": + suggest = "display_name" + elif key == "serverAddresses": + suggest = "server_addresses" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkloadNetworkDhcpRelayResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkloadNetworkDhcpRelayResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkloadNetworkDhcpRelayResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dhcp_type: str, + provisioning_state: str, + segments: Sequence[str], + display_name: Optional[str] = None, + revision: Optional[float] = None, + server_addresses: Optional[Sequence[str]] = None): + """ + NSX DHCP Relay + :param str dhcp_type: Type of DHCP: SERVER or RELAY. + Expected value is 'RELAY'. + :param str provisioning_state: The provisioning state + :param Sequence[str] segments: NSX Segments consuming DHCP. + :param str display_name: Display name of the DHCP entity. + :param float revision: NSX revision number. + :param Sequence[str] server_addresses: DHCP Relay Addresses. Max 3. + """ + pulumi.set(__self__, "dhcp_type", 'RELAY') + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "segments", segments) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if revision is not None: + pulumi.set(__self__, "revision", revision) + if server_addresses is not None: + pulumi.set(__self__, "server_addresses", server_addresses) + + @property + @pulumi.getter(name="dhcpType") + def dhcp_type(self) -> str: + """ + Type of DHCP: SERVER or RELAY. + Expected value is 'RELAY'. + """ + return pulumi.get(self, "dhcp_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def segments(self) -> Sequence[str]: + """ + NSX Segments consuming DHCP. + """ + return pulumi.get(self, "segments") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + Display name of the DHCP entity. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def revision(self) -> Optional[float]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @property + @pulumi.getter(name="serverAddresses") + def server_addresses(self) -> Optional[Sequence[str]]: + """ + DHCP Relay Addresses. Max 3. + """ + return pulumi.get(self, "server_addresses") + + +@pulumi.output_type +class WorkloadNetworkDhcpServerResponse(dict): + """ + NSX DHCP Server + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dhcpType": + suggest = "dhcp_type" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "displayName": + suggest = "display_name" + elif key == "leaseTime": + suggest = "lease_time" + elif key == "serverAddress": + suggest = "server_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkloadNetworkDhcpServerResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkloadNetworkDhcpServerResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkloadNetworkDhcpServerResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dhcp_type: str, + provisioning_state: str, + segments: Sequence[str], + display_name: Optional[str] = None, + lease_time: Optional[float] = None, + revision: Optional[float] = None, + server_address: Optional[str] = None): + """ + NSX DHCP Server + :param str dhcp_type: Type of DHCP: SERVER or RELAY. + Expected value is 'SERVER'. + :param str provisioning_state: The provisioning state + :param Sequence[str] segments: NSX Segments consuming DHCP. + :param str display_name: Display name of the DHCP entity. + :param float lease_time: DHCP Server Lease Time. + :param float revision: NSX revision number. + :param str server_address: DHCP Server Address. + """ + pulumi.set(__self__, "dhcp_type", 'SERVER') + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "segments", segments) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if lease_time is not None: + pulumi.set(__self__, "lease_time", lease_time) + if revision is not None: + pulumi.set(__self__, "revision", revision) + if server_address is not None: + pulumi.set(__self__, "server_address", server_address) + + @property + @pulumi.getter(name="dhcpType") + def dhcp_type(self) -> str: + """ + Type of DHCP: SERVER or RELAY. + Expected value is 'SERVER'. + """ + return pulumi.get(self, "dhcp_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def segments(self) -> Sequence[str]: + """ + NSX Segments consuming DHCP. + """ + return pulumi.get(self, "segments") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + Display name of the DHCP entity. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="leaseTime") + def lease_time(self) -> Optional[float]: + """ + DHCP Server Lease Time. + """ + return pulumi.get(self, "lease_time") + + @property + @pulumi.getter + def revision(self) -> Optional[float]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @property + @pulumi.getter(name="serverAddress") + def server_address(self) -> Optional[str]: + """ + DHCP Server Address. + """ + return pulumi.get(self, "server_address") + + +@pulumi.output_type +class WorkloadNetworkSegmentPortVifResponse(dict): + """ + Ports and any VIF attached to segment. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "portName": + suggest = "port_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkloadNetworkSegmentPortVifResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkloadNetworkSegmentPortVifResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkloadNetworkSegmentPortVifResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + port_name: Optional[str] = None): + """ + Ports and any VIF attached to segment. + :param str port_name: Name of port or VIF attached to segment. + """ + if port_name is not None: + pulumi.set(__self__, "port_name", port_name) + + @property + @pulumi.getter(name="portName") + def port_name(self) -> Optional[str]: + """ + Name of port or VIF attached to segment. + """ + return pulumi.get(self, "port_name") + + +@pulumi.output_type +class WorkloadNetworkSegmentSubnetResponse(dict): + """ + Subnet configuration for segment + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dhcpRanges": + suggest = "dhcp_ranges" + elif key == "gatewayAddress": + suggest = "gateway_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkloadNetworkSegmentSubnetResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkloadNetworkSegmentSubnetResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkloadNetworkSegmentSubnetResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dhcp_ranges: Optional[Sequence[str]] = None, + gateway_address: Optional[str] = None): + """ + Subnet configuration for segment + :param Sequence[str] dhcp_ranges: DHCP Range assigned for subnet. + :param str gateway_address: Gateway address. + """ + if dhcp_ranges is not None: + pulumi.set(__self__, "dhcp_ranges", dhcp_ranges) + if gateway_address is not None: + pulumi.set(__self__, "gateway_address", gateway_address) + + @property + @pulumi.getter(name="dhcpRanges") + def dhcp_ranges(self) -> Optional[Sequence[str]]: + """ + DHCP Range assigned for subnet. + """ + return pulumi.get(self, "dhcp_ranges") + + @property + @pulumi.getter(name="gatewayAddress") + def gateway_address(self) -> Optional[str]: + """ + Gateway address. + """ + return pulumi.get(self, "gateway_address") + + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/placement_policy.py b/sdk/python/pulumi_azure_native/avs/v20230301/placement_policy.py new file mode 100644 index 000000000000..84ed1ff2f49e --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/placement_policy.py @@ -0,0 +1,227 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['PlacementPolicyArgs', 'PlacementPolicy'] + +@pulumi.input_type +class PlacementPolicyArgs: + def __init__(__self__, *, + cluster_name: pulumi.Input[str], + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + placement_policy_name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[Union['VmHostPlacementPolicyPropertiesArgs', 'VmVmPlacementPolicyPropertiesArgs']]] = None): + """ + The set of arguments for constructing a PlacementPolicy resource. + :param pulumi.Input[str] cluster_name: Name of the cluster in the private cloud + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] placement_policy_name: Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy + :param pulumi.Input[Union['VmHostPlacementPolicyPropertiesArgs', 'VmVmPlacementPolicyPropertiesArgs']] properties: placement policy properties + """ + pulumi.set(__self__, "cluster_name", cluster_name) + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if placement_policy_name is not None: + pulumi.set(__self__, "placement_policy_name", placement_policy_name) + if properties is not None: + pulumi.set(__self__, "properties", properties) + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> pulumi.Input[str]: + """ + Name of the cluster in the private cloud + """ + return pulumi.get(self, "cluster_name") + + @cluster_name.setter + def cluster_name(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_name", value) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + Name of the private cloud + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="placementPolicyName") + def placement_policy_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy + """ + return pulumi.get(self, "placement_policy_name") + + @placement_policy_name.setter + def placement_policy_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "placement_policy_name", value) + + @property + @pulumi.getter + def properties(self) -> Optional[pulumi.Input[Union['VmHostPlacementPolicyPropertiesArgs', 'VmVmPlacementPolicyPropertiesArgs']]]: + """ + placement policy properties + """ + return pulumi.get(self, "properties") + + @properties.setter + def properties(self, value: Optional[pulumi.Input[Union['VmHostPlacementPolicyPropertiesArgs', 'VmVmPlacementPolicyPropertiesArgs']]]): + pulumi.set(self, "properties", value) + + +class PlacementPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_name: Optional[pulumi.Input[str]] = None, + placement_policy_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[Union[pulumi.InputType['VmHostPlacementPolicyPropertiesArgs'], pulumi.InputType['VmVmPlacementPolicyPropertiesArgs']]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + A vSphere Distributed Resource Scheduler (DRS) placement policy + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cluster_name: Name of the cluster in the private cloud + :param pulumi.Input[str] placement_policy_name: Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[Union[pulumi.InputType['VmHostPlacementPolicyPropertiesArgs'], pulumi.InputType['VmVmPlacementPolicyPropertiesArgs']]] properties: placement policy properties + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: PlacementPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + A vSphere Distributed Resource Scheduler (DRS) placement policy + + :param str resource_name: The name of the resource. + :param PlacementPolicyArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(PlacementPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_name: Optional[pulumi.Input[str]] = None, + placement_policy_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[Union[pulumi.InputType['VmHostPlacementPolicyPropertiesArgs'], pulumi.InputType['VmVmPlacementPolicyPropertiesArgs']]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = PlacementPolicyArgs.__new__(PlacementPolicyArgs) + + if cluster_name is None and not opts.urn: + raise TypeError("Missing required property 'cluster_name'") + __props__.__dict__["cluster_name"] = cluster_name + __props__.__dict__["placement_policy_name"] = placement_policy_name + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + __props__.__dict__["properties"] = properties + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["name"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:PlacementPolicy"), pulumi.Alias(type_="azure-native:avs/v20211201:PlacementPolicy"), pulumi.Alias(type_="azure-native:avs/v20220501:PlacementPolicy")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(PlacementPolicy, __self__).__init__( + 'azure-native:avs/v20230301:PlacementPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'PlacementPolicy': + """ + Get an existing PlacementPolicy resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = PlacementPolicyArgs.__new__(PlacementPolicyArgs) + + __props__.__dict__["name"] = None + __props__.__dict__["properties"] = None + __props__.__dict__["type"] = None + return PlacementPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> pulumi.Output[Any]: + """ + placement policy properties + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/private_cloud.py b/sdk/python/pulumi_azure_native/avs/v20230301/private_cloud.py new file mode 100644 index 000000000000..696e666269be --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/private_cloud.py @@ -0,0 +1,650 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['PrivateCloudArgs', 'PrivateCloud'] + +@pulumi.input_type +class PrivateCloudArgs: + def __init__(__self__, *, + management_cluster: pulumi.Input['ManagementClusterArgs'], + network_block: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + sku: pulumi.Input['SkuArgs'], + availability: Optional[pulumi.Input['AvailabilityPropertiesArgs']] = None, + encryption: Optional[pulumi.Input['EncryptionArgs']] = None, + extended_network_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + identity: Optional[pulumi.Input['PrivateCloudIdentityArgs']] = None, + identity_sources: Optional[pulumi.Input[Sequence[pulumi.Input['IdentitySourceArgs']]]] = None, + internet: Optional[pulumi.Input[Union[str, 'InternetEnum']]] = None, + location: Optional[pulumi.Input[str]] = None, + nsxt_password: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + vcenter_password: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a PrivateCloud resource. + :param pulumi.Input['ManagementClusterArgs'] management_cluster: The default cluster used for management + :param pulumi.Input[str] network_block: The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input['SkuArgs'] sku: The private cloud SKU + :param pulumi.Input['AvailabilityPropertiesArgs'] availability: Properties describing how the cloud is distributed across availability zones + :param pulumi.Input['EncryptionArgs'] encryption: Customer managed key encryption, can be enabled or disabled + :param pulumi.Input[Sequence[pulumi.Input[str]]] extended_network_blocks: Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). + :param pulumi.Input['PrivateCloudIdentityArgs'] identity: The identity of the private cloud, if configured. + :param pulumi.Input[Sequence[pulumi.Input['IdentitySourceArgs']]] identity_sources: vCenter Single Sign On Identity Sources + :param pulumi.Input[Union[str, 'InternetEnum']] internet: Connectivity to internet is enabled or disabled + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] nsxt_password: Optionally, set the NSX-T Manager password when the private cloud is created + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[str] vcenter_password: Optionally, set the vCenter admin password when the private cloud is created + """ + pulumi.set(__self__, "management_cluster", management_cluster) + pulumi.set(__self__, "network_block", network_block) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "sku", sku) + if availability is not None: + pulumi.set(__self__, "availability", availability) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if extended_network_blocks is not None: + pulumi.set(__self__, "extended_network_blocks", extended_network_blocks) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if identity_sources is not None: + pulumi.set(__self__, "identity_sources", identity_sources) + if internet is None: + internet = 'Disabled' + if internet is not None: + pulumi.set(__self__, "internet", internet) + if location is not None: + pulumi.set(__self__, "location", location) + if nsxt_password is not None: + pulumi.set(__self__, "nsxt_password", nsxt_password) + if private_cloud_name is not None: + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if vcenter_password is not None: + pulumi.set(__self__, "vcenter_password", vcenter_password) + + @property + @pulumi.getter(name="managementCluster") + def management_cluster(self) -> pulumi.Input['ManagementClusterArgs']: + """ + The default cluster used for management + """ + return pulumi.get(self, "management_cluster") + + @management_cluster.setter + def management_cluster(self, value: pulumi.Input['ManagementClusterArgs']): + pulumi.set(self, "management_cluster", value) + + @property + @pulumi.getter(name="networkBlock") + def network_block(self) -> pulumi.Input[str]: + """ + The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 + """ + return pulumi.get(self, "network_block") + + @network_block.setter + def network_block(self, value: pulumi.Input[str]): + pulumi.set(self, "network_block", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def sku(self) -> pulumi.Input['SkuArgs']: + """ + The private cloud SKU + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: pulumi.Input['SkuArgs']): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter + def availability(self) -> Optional[pulumi.Input['AvailabilityPropertiesArgs']]: + """ + Properties describing how the cloud is distributed across availability zones + """ + return pulumi.get(self, "availability") + + @availability.setter + def availability(self, value: Optional[pulumi.Input['AvailabilityPropertiesArgs']]): + pulumi.set(self, "availability", value) + + @property + @pulumi.getter + def encryption(self) -> Optional[pulumi.Input['EncryptionArgs']]: + """ + Customer managed key encryption, can be enabled or disabled + """ + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: Optional[pulumi.Input['EncryptionArgs']]): + pulumi.set(self, "encryption", value) + + @property + @pulumi.getter(name="extendedNetworkBlocks") + def extended_network_blocks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). + """ + return pulumi.get(self, "extended_network_blocks") + + @extended_network_blocks.setter + def extended_network_blocks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "extended_network_blocks", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['PrivateCloudIdentityArgs']]: + """ + The identity of the private cloud, if configured. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['PrivateCloudIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter(name="identitySources") + def identity_sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IdentitySourceArgs']]]]: + """ + vCenter Single Sign On Identity Sources + """ + return pulumi.get(self, "identity_sources") + + @identity_sources.setter + def identity_sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IdentitySourceArgs']]]]): + pulumi.set(self, "identity_sources", value) + + @property + @pulumi.getter + def internet(self) -> Optional[pulumi.Input[Union[str, 'InternetEnum']]]: + """ + Connectivity to internet is enabled or disabled + """ + return pulumi.get(self, "internet") + + @internet.setter + def internet(self, value: Optional[pulumi.Input[Union[str, 'InternetEnum']]]): + pulumi.set(self, "internet", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="nsxtPassword") + def nsxt_password(self) -> Optional[pulumi.Input[str]]: + """ + Optionally, set the NSX-T Manager password when the private cloud is created + """ + return pulumi.get(self, "nsxt_password") + + @nsxt_password.setter + def nsxt_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "nsxt_password", value) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the private cloud + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="vcenterPassword") + def vcenter_password(self) -> Optional[pulumi.Input[str]]: + """ + Optionally, set the vCenter admin password when the private cloud is created + """ + return pulumi.get(self, "vcenter_password") + + @vcenter_password.setter + def vcenter_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vcenter_password", value) + + +class PrivateCloud(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + availability: Optional[pulumi.Input[pulumi.InputType['AvailabilityPropertiesArgs']]] = None, + encryption: Optional[pulumi.Input[pulumi.InputType['EncryptionArgs']]] = None, + extended_network_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['PrivateCloudIdentityArgs']]] = None, + identity_sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IdentitySourceArgs']]]]] = None, + internet: Optional[pulumi.Input[Union[str, 'InternetEnum']]] = None, + location: Optional[pulumi.Input[str]] = None, + management_cluster: Optional[pulumi.Input[pulumi.InputType['ManagementClusterArgs']]] = None, + network_block: Optional[pulumi.Input[str]] = None, + nsxt_password: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + vcenter_password: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + A private cloud resource + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['AvailabilityPropertiesArgs']] availability: Properties describing how the cloud is distributed across availability zones + :param pulumi.Input[pulumi.InputType['EncryptionArgs']] encryption: Customer managed key encryption, can be enabled or disabled + :param pulumi.Input[Sequence[pulumi.Input[str]]] extended_network_blocks: Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). + :param pulumi.Input[pulumi.InputType['PrivateCloudIdentityArgs']] identity: The identity of the private cloud, if configured. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IdentitySourceArgs']]]] identity_sources: vCenter Single Sign On Identity Sources + :param pulumi.Input[Union[str, 'InternetEnum']] internet: Connectivity to internet is enabled or disabled + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[pulumi.InputType['ManagementClusterArgs']] management_cluster: The default cluster used for management + :param pulumi.Input[str] network_block: The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 + :param pulumi.Input[str] nsxt_password: Optionally, set the NSX-T Manager password when the private cloud is created + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[pulumi.InputType['SkuArgs']] sku: The private cloud SKU + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[str] vcenter_password: Optionally, set the vCenter admin password when the private cloud is created + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: PrivateCloudArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + A private cloud resource + + :param str resource_name: The name of the resource. + :param PrivateCloudArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(PrivateCloudArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + availability: Optional[pulumi.Input[pulumi.InputType['AvailabilityPropertiesArgs']]] = None, + encryption: Optional[pulumi.Input[pulumi.InputType['EncryptionArgs']]] = None, + extended_network_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['PrivateCloudIdentityArgs']]] = None, + identity_sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IdentitySourceArgs']]]]] = None, + internet: Optional[pulumi.Input[Union[str, 'InternetEnum']]] = None, + location: Optional[pulumi.Input[str]] = None, + management_cluster: Optional[pulumi.Input[pulumi.InputType['ManagementClusterArgs']]] = None, + network_block: Optional[pulumi.Input[str]] = None, + nsxt_password: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + vcenter_password: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = PrivateCloudArgs.__new__(PrivateCloudArgs) + + __props__.__dict__["availability"] = availability + __props__.__dict__["encryption"] = encryption + __props__.__dict__["extended_network_blocks"] = extended_network_blocks + __props__.__dict__["identity"] = identity + __props__.__dict__["identity_sources"] = identity_sources + if internet is None: + internet = 'Disabled' + __props__.__dict__["internet"] = internet + __props__.__dict__["location"] = location + if management_cluster is None and not opts.urn: + raise TypeError("Missing required property 'management_cluster'") + __props__.__dict__["management_cluster"] = management_cluster + if network_block is None and not opts.urn: + raise TypeError("Missing required property 'network_block'") + __props__.__dict__["network_block"] = network_block + __props__.__dict__["nsxt_password"] = nsxt_password + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if sku is None and not opts.urn: + raise TypeError("Missing required property 'sku'") + __props__.__dict__["sku"] = sku + __props__.__dict__["tags"] = tags + __props__.__dict__["vcenter_password"] = vcenter_password + __props__.__dict__["circuit"] = None + __props__.__dict__["endpoints"] = None + __props__.__dict__["external_cloud_links"] = None + __props__.__dict__["management_network"] = None + __props__.__dict__["name"] = None + __props__.__dict__["nsx_public_ip_quota_raised"] = None + __props__.__dict__["nsxt_certificate_thumbprint"] = None + __props__.__dict__["provisioning_network"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["secondary_circuit"] = None + __props__.__dict__["type"] = None + __props__.__dict__["vcenter_certificate_thumbprint"] = None + __props__.__dict__["vmotion_network"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20200320:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20200717preview:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20210101preview:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20210601:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20211201:PrivateCloud"), pulumi.Alias(type_="azure-native:avs/v20220501:PrivateCloud")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(PrivateCloud, __self__).__init__( + 'azure-native:avs/v20230301:PrivateCloud', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'PrivateCloud': + """ + Get an existing PrivateCloud resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = PrivateCloudArgs.__new__(PrivateCloudArgs) + + __props__.__dict__["availability"] = None + __props__.__dict__["circuit"] = None + __props__.__dict__["encryption"] = None + __props__.__dict__["endpoints"] = None + __props__.__dict__["extended_network_blocks"] = None + __props__.__dict__["external_cloud_links"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["identity_sources"] = None + __props__.__dict__["internet"] = None + __props__.__dict__["location"] = None + __props__.__dict__["management_cluster"] = None + __props__.__dict__["management_network"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_block"] = None + __props__.__dict__["nsx_public_ip_quota_raised"] = None + __props__.__dict__["nsxt_certificate_thumbprint"] = None + __props__.__dict__["nsxt_password"] = None + __props__.__dict__["provisioning_network"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["secondary_circuit"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["vcenter_certificate_thumbprint"] = None + __props__.__dict__["vcenter_password"] = None + __props__.__dict__["vmotion_network"] = None + return PrivateCloud(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def availability(self) -> pulumi.Output[Optional['outputs.AvailabilityPropertiesResponse']]: + """ + Properties describing how the cloud is distributed across availability zones + """ + return pulumi.get(self, "availability") + + @property + @pulumi.getter + def circuit(self) -> pulumi.Output[Optional['outputs.CircuitResponse']]: + """ + An ExpressRoute Circuit + """ + return pulumi.get(self, "circuit") + + @property + @pulumi.getter + def encryption(self) -> pulumi.Output[Optional['outputs.EncryptionResponse']]: + """ + Customer managed key encryption, can be enabled or disabled + """ + return pulumi.get(self, "encryption") + + @property + @pulumi.getter + def endpoints(self) -> pulumi.Output['outputs.EndpointsResponse']: + """ + The endpoints + """ + return pulumi.get(self, "endpoints") + + @property + @pulumi.getter(name="extendedNetworkBlocks") + def extended_network_blocks(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X). + """ + return pulumi.get(self, "extended_network_blocks") + + @property + @pulumi.getter(name="externalCloudLinks") + def external_cloud_links(self) -> pulumi.Output[Sequence[str]]: + """ + Array of cloud link IDs from other clouds that connect to this one + """ + return pulumi.get(self, "external_cloud_links") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.PrivateCloudIdentityResponse']]: + """ + The identity of the private cloud, if configured. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="identitySources") + def identity_sources(self) -> pulumi.Output[Optional[Sequence['outputs.IdentitySourceResponse']]]: + """ + vCenter Single Sign On Identity Sources + """ + return pulumi.get(self, "identity_sources") + + @property + @pulumi.getter + def internet(self) -> pulumi.Output[Optional[str]]: + """ + Connectivity to internet is enabled or disabled + """ + return pulumi.get(self, "internet") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managementCluster") + def management_cluster(self) -> pulumi.Output['outputs.ManagementClusterResponse']: + """ + The default cluster used for management + """ + return pulumi.get(self, "management_cluster") + + @property + @pulumi.getter(name="managementNetwork") + def management_network(self) -> pulumi.Output[str]: + """ + Network used to access vCenter Server and NSX-T Manager + """ + return pulumi.get(self, "management_network") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkBlock") + def network_block(self) -> pulumi.Output[str]: + """ + The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 + """ + return pulumi.get(self, "network_block") + + @property + @pulumi.getter(name="nsxPublicIpQuotaRaised") + def nsx_public_ip_quota_raised(self) -> pulumi.Output[str]: + """ + Flag to indicate whether the private cloud has the quota for provisioned NSX Public IP count raised from 64 to 1024 + """ + return pulumi.get(self, "nsx_public_ip_quota_raised") + + @property + @pulumi.getter(name="nsxtCertificateThumbprint") + def nsxt_certificate_thumbprint(self) -> pulumi.Output[str]: + """ + Thumbprint of the NSX-T Manager SSL certificate + """ + return pulumi.get(self, "nsxt_certificate_thumbprint") + + @property + @pulumi.getter(name="nsxtPassword") + def nsxt_password(self) -> pulumi.Output[Optional[str]]: + """ + Optionally, set the NSX-T Manager password when the private cloud is created + """ + return pulumi.get(self, "nsxt_password") + + @property + @pulumi.getter(name="provisioningNetwork") + def provisioning_network(self) -> pulumi.Output[str]: + """ + Used for virtual machine cold migration, cloning, and snapshot migration + """ + return pulumi.get(self, "provisioning_network") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="secondaryCircuit") + def secondary_circuit(self) -> pulumi.Output[Optional['outputs.CircuitResponse']]: + """ + A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud + """ + return pulumi.get(self, "secondary_circuit") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output['outputs.SkuResponse']: + """ + The private cloud SKU + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="vcenterCertificateThumbprint") + def vcenter_certificate_thumbprint(self) -> pulumi.Output[str]: + """ + Thumbprint of the vCenter Server SSL certificate + """ + return pulumi.get(self, "vcenter_certificate_thumbprint") + + @property + @pulumi.getter(name="vcenterPassword") + def vcenter_password(self) -> pulumi.Output[Optional[str]]: + """ + Optionally, set the vCenter admin password when the private cloud is created + """ + return pulumi.get(self, "vcenter_password") + + @property + @pulumi.getter(name="vmotionNetwork") + def vmotion_network(self) -> pulumi.Output[str]: + """ + Used for live migration of virtual machines + """ + return pulumi.get(self, "vmotion_network") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/script_execution.py b/sdk/python/pulumi_azure_native/avs/v20230301/script_execution.py new file mode 100644 index 000000000000..dd6be1cb646b --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/script_execution.py @@ -0,0 +1,479 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ScriptExecutionArgs', 'ScriptExecution'] + +@pulumi.input_type +class ScriptExecutionArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + timeout: pulumi.Input[str], + failure_reason: Optional[pulumi.Input[str]] = None, + hidden_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PSCredentialExecutionParameterArgs', 'ScriptSecureStringExecutionParameterArgs', 'ScriptStringExecutionParameterArgs']]]]] = None, + named_outputs: Optional[pulumi.Input[Mapping[str, Any]]] = None, + output: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PSCredentialExecutionParameterArgs', 'ScriptSecureStringExecutionParameterArgs', 'ScriptStringExecutionParameterArgs']]]]] = None, + retention: Optional[pulumi.Input[str]] = None, + script_cmdlet_id: Optional[pulumi.Input[str]] = None, + script_execution_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ScriptExecution resource. + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] timeout: Time limit for execution + :param pulumi.Input[str] failure_reason: Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + :param pulumi.Input[Sequence[pulumi.Input[Union['PSCredentialExecutionParameterArgs', 'ScriptSecureStringExecutionParameterArgs', 'ScriptStringExecutionParameterArgs']]]] hidden_parameters: Parameters that will be hidden/not visible to ARM, such as passwords and credentials + :param pulumi.Input[Mapping[str, Any]] named_outputs: User-defined dictionary. + :param pulumi.Input[Sequence[pulumi.Input[str]]] output: Standard output stream from the powershell execution + :param pulumi.Input[Sequence[pulumi.Input[Union['PSCredentialExecutionParameterArgs', 'ScriptSecureStringExecutionParameterArgs', 'ScriptStringExecutionParameterArgs']]]] parameters: Parameters the script will accept + :param pulumi.Input[str] retention: Time to live for the resource. If not provided, will be available for 60 days + :param pulumi.Input[str] script_cmdlet_id: A reference to the script cmdlet resource if user is running a AVS script + :param pulumi.Input[str] script_execution_name: Name of the user-invoked script execution resource + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "timeout", timeout) + if failure_reason is not None: + pulumi.set(__self__, "failure_reason", failure_reason) + if hidden_parameters is not None: + pulumi.set(__self__, "hidden_parameters", hidden_parameters) + if named_outputs is not None: + pulumi.set(__self__, "named_outputs", named_outputs) + if output is not None: + pulumi.set(__self__, "output", output) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if retention is not None: + pulumi.set(__self__, "retention", retention) + if script_cmdlet_id is not None: + pulumi.set(__self__, "script_cmdlet_id", script_cmdlet_id) + if script_execution_name is not None: + pulumi.set(__self__, "script_execution_name", script_execution_name) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + The name of the private cloud. + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def timeout(self) -> pulumi.Input[str]: + """ + Time limit for execution + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: pulumi.Input[str]): + pulumi.set(self, "timeout", value) + + @property + @pulumi.getter(name="failureReason") + def failure_reason(self) -> Optional[pulumi.Input[str]]: + """ + Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + """ + return pulumi.get(self, "failure_reason") + + @failure_reason.setter + def failure_reason(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "failure_reason", value) + + @property + @pulumi.getter(name="hiddenParameters") + def hidden_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union['PSCredentialExecutionParameterArgs', 'ScriptSecureStringExecutionParameterArgs', 'ScriptStringExecutionParameterArgs']]]]]: + """ + Parameters that will be hidden/not visible to ARM, such as passwords and credentials + """ + return pulumi.get(self, "hidden_parameters") + + @hidden_parameters.setter + def hidden_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PSCredentialExecutionParameterArgs', 'ScriptSecureStringExecutionParameterArgs', 'ScriptStringExecutionParameterArgs']]]]]): + pulumi.set(self, "hidden_parameters", value) + + @property + @pulumi.getter(name="namedOutputs") + def named_outputs(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + User-defined dictionary. + """ + return pulumi.get(self, "named_outputs") + + @named_outputs.setter + def named_outputs(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "named_outputs", value) + + @property + @pulumi.getter + def output(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Standard output stream from the powershell execution + """ + return pulumi.get(self, "output") + + @output.setter + def output(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "output", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union['PSCredentialExecutionParameterArgs', 'ScriptSecureStringExecutionParameterArgs', 'ScriptStringExecutionParameterArgs']]]]]: + """ + Parameters the script will accept + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PSCredentialExecutionParameterArgs', 'ScriptSecureStringExecutionParameterArgs', 'ScriptStringExecutionParameterArgs']]]]]): + pulumi.set(self, "parameters", value) + + @property + @pulumi.getter + def retention(self) -> Optional[pulumi.Input[str]]: + """ + Time to live for the resource. If not provided, will be available for 60 days + """ + return pulumi.get(self, "retention") + + @retention.setter + def retention(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "retention", value) + + @property + @pulumi.getter(name="scriptCmdletId") + def script_cmdlet_id(self) -> Optional[pulumi.Input[str]]: + """ + A reference to the script cmdlet resource if user is running a AVS script + """ + return pulumi.get(self, "script_cmdlet_id") + + @script_cmdlet_id.setter + def script_cmdlet_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "script_cmdlet_id", value) + + @property + @pulumi.getter(name="scriptExecutionName") + def script_execution_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the user-invoked script execution resource + """ + return pulumi.get(self, "script_execution_name") + + @script_execution_name.setter + def script_execution_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "script_execution_name", value) + + +class ScriptExecution(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + failure_reason: Optional[pulumi.Input[str]] = None, + hidden_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union[pulumi.InputType['PSCredentialExecutionParameterArgs'], pulumi.InputType['ScriptSecureStringExecutionParameterArgs'], pulumi.InputType['ScriptStringExecutionParameterArgs']]]]]] = None, + named_outputs: Optional[pulumi.Input[Mapping[str, Any]]] = None, + output: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union[pulumi.InputType['PSCredentialExecutionParameterArgs'], pulumi.InputType['ScriptSecureStringExecutionParameterArgs'], pulumi.InputType['ScriptStringExecutionParameterArgs']]]]]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + retention: Optional[pulumi.Input[str]] = None, + script_cmdlet_id: Optional[pulumi.Input[str]] = None, + script_execution_name: Optional[pulumi.Input[str]] = None, + timeout: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + An instance of a script executed by a user - custom or AVS + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] failure_reason: Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + :param pulumi.Input[Sequence[pulumi.Input[Union[pulumi.InputType['PSCredentialExecutionParameterArgs'], pulumi.InputType['ScriptSecureStringExecutionParameterArgs'], pulumi.InputType['ScriptStringExecutionParameterArgs']]]]] hidden_parameters: Parameters that will be hidden/not visible to ARM, such as passwords and credentials + :param pulumi.Input[Mapping[str, Any]] named_outputs: User-defined dictionary. + :param pulumi.Input[Sequence[pulumi.Input[str]]] output: Standard output stream from the powershell execution + :param pulumi.Input[Sequence[pulumi.Input[Union[pulumi.InputType['PSCredentialExecutionParameterArgs'], pulumi.InputType['ScriptSecureStringExecutionParameterArgs'], pulumi.InputType['ScriptStringExecutionParameterArgs']]]]] parameters: Parameters the script will accept + :param pulumi.Input[str] private_cloud_name: The name of the private cloud. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] retention: Time to live for the resource. If not provided, will be available for 60 days + :param pulumi.Input[str] script_cmdlet_id: A reference to the script cmdlet resource if user is running a AVS script + :param pulumi.Input[str] script_execution_name: Name of the user-invoked script execution resource + :param pulumi.Input[str] timeout: Time limit for execution + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ScriptExecutionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + An instance of a script executed by a user - custom or AVS + + :param str resource_name: The name of the resource. + :param ScriptExecutionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ScriptExecutionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + failure_reason: Optional[pulumi.Input[str]] = None, + hidden_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union[pulumi.InputType['PSCredentialExecutionParameterArgs'], pulumi.InputType['ScriptSecureStringExecutionParameterArgs'], pulumi.InputType['ScriptStringExecutionParameterArgs']]]]]] = None, + named_outputs: Optional[pulumi.Input[Mapping[str, Any]]] = None, + output: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union[pulumi.InputType['PSCredentialExecutionParameterArgs'], pulumi.InputType['ScriptSecureStringExecutionParameterArgs'], pulumi.InputType['ScriptStringExecutionParameterArgs']]]]]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + retention: Optional[pulumi.Input[str]] = None, + script_cmdlet_id: Optional[pulumi.Input[str]] = None, + script_execution_name: Optional[pulumi.Input[str]] = None, + timeout: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ScriptExecutionArgs.__new__(ScriptExecutionArgs) + + __props__.__dict__["failure_reason"] = failure_reason + __props__.__dict__["hidden_parameters"] = hidden_parameters + __props__.__dict__["named_outputs"] = named_outputs + __props__.__dict__["output"] = output + __props__.__dict__["parameters"] = parameters + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["retention"] = retention + __props__.__dict__["script_cmdlet_id"] = script_cmdlet_id + __props__.__dict__["script_execution_name"] = script_execution_name + if timeout is None and not opts.urn: + raise TypeError("Missing required property 'timeout'") + __props__.__dict__["timeout"] = timeout + __props__.__dict__["errors"] = None + __props__.__dict__["finished_at"] = None + __props__.__dict__["information"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["started_at"] = None + __props__.__dict__["submitted_at"] = None + __props__.__dict__["type"] = None + __props__.__dict__["warnings"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20210601:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20211201:ScriptExecution"), pulumi.Alias(type_="azure-native:avs/v20220501:ScriptExecution")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(ScriptExecution, __self__).__init__( + 'azure-native:avs/v20230301:ScriptExecution', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ScriptExecution': + """ + Get an existing ScriptExecution resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ScriptExecutionArgs.__new__(ScriptExecutionArgs) + + __props__.__dict__["errors"] = None + __props__.__dict__["failure_reason"] = None + __props__.__dict__["finished_at"] = None + __props__.__dict__["hidden_parameters"] = None + __props__.__dict__["information"] = None + __props__.__dict__["name"] = None + __props__.__dict__["named_outputs"] = None + __props__.__dict__["output"] = None + __props__.__dict__["parameters"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["retention"] = None + __props__.__dict__["script_cmdlet_id"] = None + __props__.__dict__["started_at"] = None + __props__.__dict__["submitted_at"] = None + __props__.__dict__["timeout"] = None + __props__.__dict__["type"] = None + __props__.__dict__["warnings"] = None + return ScriptExecution(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def errors(self) -> pulumi.Output[Sequence[str]]: + """ + Standard error output stream from the powershell execution + """ + return pulumi.get(self, "errors") + + @property + @pulumi.getter(name="failureReason") + def failure_reason(self) -> pulumi.Output[Optional[str]]: + """ + Error message if the script was able to run, but if the script itself had errors or powershell threw an exception + """ + return pulumi.get(self, "failure_reason") + + @property + @pulumi.getter(name="finishedAt") + def finished_at(self) -> pulumi.Output[str]: + """ + Time the script execution was finished + """ + return pulumi.get(self, "finished_at") + + @property + @pulumi.getter(name="hiddenParameters") + def hidden_parameters(self) -> pulumi.Output[Optional[Sequence[Any]]]: + """ + Parameters that will be hidden/not visible to ARM, such as passwords and credentials + """ + return pulumi.get(self, "hidden_parameters") + + @property + @pulumi.getter + def information(self) -> pulumi.Output[Sequence[str]]: + """ + Standard information out stream from the powershell execution + """ + return pulumi.get(self, "information") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="namedOutputs") + def named_outputs(self) -> pulumi.Output[Optional[Mapping[str, Any]]]: + """ + User-defined dictionary. + """ + return pulumi.get(self, "named_outputs") + + @property + @pulumi.getter + def output(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Standard output stream from the powershell execution + """ + return pulumi.get(self, "output") + + @property + @pulumi.getter + def parameters(self) -> pulumi.Output[Optional[Sequence[Any]]]: + """ + Parameters the script will accept + """ + return pulumi.get(self, "parameters") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The state of the script execution resource + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def retention(self) -> pulumi.Output[Optional[str]]: + """ + Time to live for the resource. If not provided, will be available for 60 days + """ + return pulumi.get(self, "retention") + + @property + @pulumi.getter(name="scriptCmdletId") + def script_cmdlet_id(self) -> pulumi.Output[Optional[str]]: + """ + A reference to the script cmdlet resource if user is running a AVS script + """ + return pulumi.get(self, "script_cmdlet_id") + + @property + @pulumi.getter(name="startedAt") + def started_at(self) -> pulumi.Output[str]: + """ + Time the script execution was started + """ + return pulumi.get(self, "started_at") + + @property + @pulumi.getter(name="submittedAt") + def submitted_at(self) -> pulumi.Output[str]: + """ + Time the script execution was submitted + """ + return pulumi.get(self, "submitted_at") + + @property + @pulumi.getter + def timeout(self) -> pulumi.Output[str]: + """ + Time limit for execution + """ + return pulumi.get(self, "timeout") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def warnings(self) -> pulumi.Output[Sequence[str]]: + """ + Standard warning out stream from the powershell execution + """ + return pulumi.get(self, "warnings") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_dhcp.py b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_dhcp.py new file mode 100644 index 000000000000..810639ce3b7e --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_dhcp.py @@ -0,0 +1,205 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['WorkloadNetworkDhcpArgs', 'WorkloadNetworkDhcp'] + +@pulumi.input_type +class WorkloadNetworkDhcpArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + dhcp_id: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[Union['WorkloadNetworkDhcpRelayArgs', 'WorkloadNetworkDhcpServerArgs']]] = None): + """ + The set of arguments for constructing a WorkloadNetworkDhcp resource. + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] dhcp_id: NSX DHCP identifier. Generally the same as the DHCP display name + :param pulumi.Input[Union['WorkloadNetworkDhcpRelayArgs', 'WorkloadNetworkDhcpServerArgs']] properties: DHCP properties. + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if dhcp_id is not None: + pulumi.set(__self__, "dhcp_id", dhcp_id) + if properties is not None: + pulumi.set(__self__, "properties", properties) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + Name of the private cloud + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="dhcpId") + def dhcp_id(self) -> Optional[pulumi.Input[str]]: + """ + NSX DHCP identifier. Generally the same as the DHCP display name + """ + return pulumi.get(self, "dhcp_id") + + @dhcp_id.setter + def dhcp_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dhcp_id", value) + + @property + @pulumi.getter + def properties(self) -> Optional[pulumi.Input[Union['WorkloadNetworkDhcpRelayArgs', 'WorkloadNetworkDhcpServerArgs']]]: + """ + DHCP properties. + """ + return pulumi.get(self, "properties") + + @properties.setter + def properties(self, value: Optional[pulumi.Input[Union['WorkloadNetworkDhcpRelayArgs', 'WorkloadNetworkDhcpServerArgs']]]): + pulumi.set(self, "properties", value) + + +class WorkloadNetworkDhcp(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + dhcp_id: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[Union[pulumi.InputType['WorkloadNetworkDhcpRelayArgs'], pulumi.InputType['WorkloadNetworkDhcpServerArgs']]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + NSX DHCP + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] dhcp_id: NSX DHCP identifier. Generally the same as the DHCP display name + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[Union[pulumi.InputType['WorkloadNetworkDhcpRelayArgs'], pulumi.InputType['WorkloadNetworkDhcpServerArgs']]] properties: DHCP properties. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: WorkloadNetworkDhcpArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + NSX DHCP + + :param str resource_name: The name of the resource. + :param WorkloadNetworkDhcpArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(WorkloadNetworkDhcpArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + dhcp_id: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[Union[pulumi.InputType['WorkloadNetworkDhcpRelayArgs'], pulumi.InputType['WorkloadNetworkDhcpServerArgs']]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = WorkloadNetworkDhcpArgs.__new__(WorkloadNetworkDhcpArgs) + + __props__.__dict__["dhcp_id"] = dhcp_id + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + __props__.__dict__["properties"] = properties + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["name"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkDhcp")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(WorkloadNetworkDhcp, __self__).__init__( + 'azure-native:avs/v20230301:WorkloadNetworkDhcp', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'WorkloadNetworkDhcp': + """ + Get an existing WorkloadNetworkDhcp resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = WorkloadNetworkDhcpArgs.__new__(WorkloadNetworkDhcpArgs) + + __props__.__dict__["name"] = None + __props__.__dict__["properties"] = None + __props__.__dict__["type"] = None + return WorkloadNetworkDhcp(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> pulumi.Output[Any]: + """ + DHCP properties. + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_dns_service.py b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_dns_service.py new file mode 100644 index 000000000000..01fb34c2d070 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_dns_service.py @@ -0,0 +1,369 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = ['WorkloadNetworkDnsServiceArgs', 'WorkloadNetworkDnsService'] + +@pulumi.input_type +class WorkloadNetworkDnsServiceArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + default_dns_zone: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + dns_service_id: Optional[pulumi.Input[str]] = None, + dns_service_ip: Optional[pulumi.Input[str]] = None, + fqdn_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + log_level: Optional[pulumi.Input[Union[str, 'DnsServiceLogLevelEnum']]] = None, + revision: Optional[pulumi.Input[float]] = None): + """ + The set of arguments for constructing a WorkloadNetworkDnsService resource. + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] default_dns_zone: Default DNS zone of the DNS Service. + :param pulumi.Input[str] display_name: Display name of the DNS Service. + :param pulumi.Input[str] dns_service_id: NSX DNS Service identifier. Generally the same as the DNS Service's display name + :param pulumi.Input[str] dns_service_ip: DNS service IP of the DNS Service. + :param pulumi.Input[Sequence[pulumi.Input[str]]] fqdn_zones: FQDN zones of the DNS Service. + :param pulumi.Input[Union[str, 'DnsServiceLogLevelEnum']] log_level: DNS Service log level. + :param pulumi.Input[float] revision: NSX revision number. + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if default_dns_zone is not None: + pulumi.set(__self__, "default_dns_zone", default_dns_zone) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if dns_service_id is not None: + pulumi.set(__self__, "dns_service_id", dns_service_id) + if dns_service_ip is not None: + pulumi.set(__self__, "dns_service_ip", dns_service_ip) + if fqdn_zones is not None: + pulumi.set(__self__, "fqdn_zones", fqdn_zones) + if log_level is not None: + pulumi.set(__self__, "log_level", log_level) + if revision is not None: + pulumi.set(__self__, "revision", revision) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + Name of the private cloud + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="defaultDnsZone") + def default_dns_zone(self) -> Optional[pulumi.Input[str]]: + """ + Default DNS zone of the DNS Service. + """ + return pulumi.get(self, "default_dns_zone") + + @default_dns_zone.setter + def default_dns_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default_dns_zone", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Display name of the DNS Service. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="dnsServiceId") + def dns_service_id(self) -> Optional[pulumi.Input[str]]: + """ + NSX DNS Service identifier. Generally the same as the DNS Service's display name + """ + return pulumi.get(self, "dns_service_id") + + @dns_service_id.setter + def dns_service_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dns_service_id", value) + + @property + @pulumi.getter(name="dnsServiceIp") + def dns_service_ip(self) -> Optional[pulumi.Input[str]]: + """ + DNS service IP of the DNS Service. + """ + return pulumi.get(self, "dns_service_ip") + + @dns_service_ip.setter + def dns_service_ip(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dns_service_ip", value) + + @property + @pulumi.getter(name="fqdnZones") + def fqdn_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + FQDN zones of the DNS Service. + """ + return pulumi.get(self, "fqdn_zones") + + @fqdn_zones.setter + def fqdn_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "fqdn_zones", value) + + @property + @pulumi.getter(name="logLevel") + def log_level(self) -> Optional[pulumi.Input[Union[str, 'DnsServiceLogLevelEnum']]]: + """ + DNS Service log level. + """ + return pulumi.get(self, "log_level") + + @log_level.setter + def log_level(self, value: Optional[pulumi.Input[Union[str, 'DnsServiceLogLevelEnum']]]): + pulumi.set(self, "log_level", value) + + @property + @pulumi.getter + def revision(self) -> Optional[pulumi.Input[float]]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @revision.setter + def revision(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "revision", value) + + +class WorkloadNetworkDnsService(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + default_dns_zone: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + dns_service_id: Optional[pulumi.Input[str]] = None, + dns_service_ip: Optional[pulumi.Input[str]] = None, + fqdn_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + log_level: Optional[pulumi.Input[Union[str, 'DnsServiceLogLevelEnum']]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + __props__=None): + """ + NSX DNS Service + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] default_dns_zone: Default DNS zone of the DNS Service. + :param pulumi.Input[str] display_name: Display name of the DNS Service. + :param pulumi.Input[str] dns_service_id: NSX DNS Service identifier. Generally the same as the DNS Service's display name + :param pulumi.Input[str] dns_service_ip: DNS service IP of the DNS Service. + :param pulumi.Input[Sequence[pulumi.Input[str]]] fqdn_zones: FQDN zones of the DNS Service. + :param pulumi.Input[Union[str, 'DnsServiceLogLevelEnum']] log_level: DNS Service log level. + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[float] revision: NSX revision number. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: WorkloadNetworkDnsServiceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + NSX DNS Service + + :param str resource_name: The name of the resource. + :param WorkloadNetworkDnsServiceArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(WorkloadNetworkDnsServiceArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + default_dns_zone: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + dns_service_id: Optional[pulumi.Input[str]] = None, + dns_service_ip: Optional[pulumi.Input[str]] = None, + fqdn_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + log_level: Optional[pulumi.Input[Union[str, 'DnsServiceLogLevelEnum']]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = WorkloadNetworkDnsServiceArgs.__new__(WorkloadNetworkDnsServiceArgs) + + __props__.__dict__["default_dns_zone"] = default_dns_zone + __props__.__dict__["display_name"] = display_name + __props__.__dict__["dns_service_id"] = dns_service_id + __props__.__dict__["dns_service_ip"] = dns_service_ip + __props__.__dict__["fqdn_zones"] = fqdn_zones + __props__.__dict__["log_level"] = log_level + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["revision"] = revision + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkDnsService")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(WorkloadNetworkDnsService, __self__).__init__( + 'azure-native:avs/v20230301:WorkloadNetworkDnsService', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'WorkloadNetworkDnsService': + """ + Get an existing WorkloadNetworkDnsService resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = WorkloadNetworkDnsServiceArgs.__new__(WorkloadNetworkDnsServiceArgs) + + __props__.__dict__["default_dns_zone"] = None + __props__.__dict__["display_name"] = None + __props__.__dict__["dns_service_ip"] = None + __props__.__dict__["fqdn_zones"] = None + __props__.__dict__["log_level"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["revision"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + return WorkloadNetworkDnsService(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="defaultDnsZone") + def default_dns_zone(self) -> pulumi.Output[Optional[str]]: + """ + Default DNS zone of the DNS Service. + """ + return pulumi.get(self, "default_dns_zone") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + Display name of the DNS Service. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="dnsServiceIp") + def dns_service_ip(self) -> pulumi.Output[Optional[str]]: + """ + DNS service IP of the DNS Service. + """ + return pulumi.get(self, "dns_service_ip") + + @property + @pulumi.getter(name="fqdnZones") + def fqdn_zones(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + FQDN zones of the DNS Service. + """ + return pulumi.get(self, "fqdn_zones") + + @property + @pulumi.getter(name="logLevel") + def log_level(self) -> pulumi.Output[Optional[str]]: + """ + DNS Service log level. + """ + return pulumi.get(self, "log_level") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def revision(self) -> pulumi.Output[Optional[float]]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + DNS Service status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_dns_zone.py b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_dns_zone.py new file mode 100644 index 000000000000..78d8eeb3af57 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_dns_zone.py @@ -0,0 +1,358 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = ['WorkloadNetworkDnsZoneArgs', 'WorkloadNetworkDnsZone'] + +@pulumi.input_type +class WorkloadNetworkDnsZoneArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + display_name: Optional[pulumi.Input[str]] = None, + dns_server_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + dns_services: Optional[pulumi.Input[float]] = None, + dns_zone_id: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + revision: Optional[pulumi.Input[float]] = None, + source_ip: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a WorkloadNetworkDnsZone resource. + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] display_name: Display name of the DNS Zone. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_server_ips: DNS Server IP array of the DNS Zone. + :param pulumi.Input[float] dns_services: Number of DNS Services using the DNS zone. + :param pulumi.Input[str] dns_zone_id: NSX DNS Zone identifier. Generally the same as the DNS Zone's display name + :param pulumi.Input[Sequence[pulumi.Input[str]]] domain: Domain names of the DNS Zone. + :param pulumi.Input[float] revision: NSX revision number. + :param pulumi.Input[str] source_ip: Source IP of the DNS Zone. + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if dns_server_ips is not None: + pulumi.set(__self__, "dns_server_ips", dns_server_ips) + if dns_services is not None: + pulumi.set(__self__, "dns_services", dns_services) + if dns_zone_id is not None: + pulumi.set(__self__, "dns_zone_id", dns_zone_id) + if domain is not None: + pulumi.set(__self__, "domain", domain) + if revision is not None: + pulumi.set(__self__, "revision", revision) + if source_ip is not None: + pulumi.set(__self__, "source_ip", source_ip) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + Name of the private cloud + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Display name of the DNS Zone. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="dnsServerIps") + def dns_server_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + DNS Server IP array of the DNS Zone. + """ + return pulumi.get(self, "dns_server_ips") + + @dns_server_ips.setter + def dns_server_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "dns_server_ips", value) + + @property + @pulumi.getter(name="dnsServices") + def dns_services(self) -> Optional[pulumi.Input[float]]: + """ + Number of DNS Services using the DNS zone. + """ + return pulumi.get(self, "dns_services") + + @dns_services.setter + def dns_services(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "dns_services", value) + + @property + @pulumi.getter(name="dnsZoneId") + def dns_zone_id(self) -> Optional[pulumi.Input[str]]: + """ + NSX DNS Zone identifier. Generally the same as the DNS Zone's display name + """ + return pulumi.get(self, "dns_zone_id") + + @dns_zone_id.setter + def dns_zone_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dns_zone_id", value) + + @property + @pulumi.getter + def domain(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Domain names of the DNS Zone. + """ + return pulumi.get(self, "domain") + + @domain.setter + def domain(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "domain", value) + + @property + @pulumi.getter + def revision(self) -> Optional[pulumi.Input[float]]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @revision.setter + def revision(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "revision", value) + + @property + @pulumi.getter(name="sourceIp") + def source_ip(self) -> Optional[pulumi.Input[str]]: + """ + Source IP of the DNS Zone. + """ + return pulumi.get(self, "source_ip") + + @source_ip.setter + def source_ip(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_ip", value) + + +class WorkloadNetworkDnsZone(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + dns_server_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + dns_services: Optional[pulumi.Input[float]] = None, + dns_zone_id: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + source_ip: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + NSX DNS Zone + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] display_name: Display name of the DNS Zone. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_server_ips: DNS Server IP array of the DNS Zone. + :param pulumi.Input[float] dns_services: Number of DNS Services using the DNS zone. + :param pulumi.Input[str] dns_zone_id: NSX DNS Zone identifier. Generally the same as the DNS Zone's display name + :param pulumi.Input[Sequence[pulumi.Input[str]]] domain: Domain names of the DNS Zone. + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[float] revision: NSX revision number. + :param pulumi.Input[str] source_ip: Source IP of the DNS Zone. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: WorkloadNetworkDnsZoneArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + NSX DNS Zone + + :param str resource_name: The name of the resource. + :param WorkloadNetworkDnsZoneArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(WorkloadNetworkDnsZoneArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + dns_server_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + dns_services: Optional[pulumi.Input[float]] = None, + dns_zone_id: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + source_ip: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = WorkloadNetworkDnsZoneArgs.__new__(WorkloadNetworkDnsZoneArgs) + + __props__.__dict__["display_name"] = display_name + __props__.__dict__["dns_server_ips"] = dns_server_ips + __props__.__dict__["dns_services"] = dns_services + __props__.__dict__["dns_zone_id"] = dns_zone_id + __props__.__dict__["domain"] = domain + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["revision"] = revision + __props__.__dict__["source_ip"] = source_ip + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkDnsZone")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(WorkloadNetworkDnsZone, __self__).__init__( + 'azure-native:avs/v20230301:WorkloadNetworkDnsZone', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'WorkloadNetworkDnsZone': + """ + Get an existing WorkloadNetworkDnsZone resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = WorkloadNetworkDnsZoneArgs.__new__(WorkloadNetworkDnsZoneArgs) + + __props__.__dict__["display_name"] = None + __props__.__dict__["dns_server_ips"] = None + __props__.__dict__["dns_services"] = None + __props__.__dict__["domain"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["revision"] = None + __props__.__dict__["source_ip"] = None + __props__.__dict__["type"] = None + return WorkloadNetworkDnsZone(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + Display name of the DNS Zone. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="dnsServerIps") + def dns_server_ips(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + DNS Server IP array of the DNS Zone. + """ + return pulumi.get(self, "dns_server_ips") + + @property + @pulumi.getter(name="dnsServices") + def dns_services(self) -> pulumi.Output[Optional[float]]: + """ + Number of DNS Services using the DNS zone. + """ + return pulumi.get(self, "dns_services") + + @property + @pulumi.getter + def domain(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Domain names of the DNS Zone. + """ + return pulumi.get(self, "domain") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def revision(self) -> pulumi.Output[Optional[float]]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @property + @pulumi.getter(name="sourceIp") + def source_ip(self) -> pulumi.Output[Optional[str]]: + """ + Source IP of the DNS Zone. + """ + return pulumi.get(self, "source_ip") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_port_mirroring.py b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_port_mirroring.py new file mode 100644 index 000000000000..5f94e24f72e5 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_port_mirroring.py @@ -0,0 +1,340 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = ['WorkloadNetworkPortMirroringArgs', 'WorkloadNetworkPortMirroring'] + +@pulumi.input_type +class WorkloadNetworkPortMirroringArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + destination: Optional[pulumi.Input[str]] = None, + direction: Optional[pulumi.Input[Union[str, 'PortMirroringDirectionEnum']]] = None, + display_name: Optional[pulumi.Input[str]] = None, + port_mirroring_id: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + source: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a WorkloadNetworkPortMirroring resource. + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] destination: Destination VM Group. + :param pulumi.Input[Union[str, 'PortMirroringDirectionEnum']] direction: Direction of port mirroring profile. + :param pulumi.Input[str] display_name: Display name of the port mirroring profile. + :param pulumi.Input[str] port_mirroring_id: NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name + :param pulumi.Input[float] revision: NSX revision number. + :param pulumi.Input[str] source: Source VM Group. + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if destination is not None: + pulumi.set(__self__, "destination", destination) + if direction is not None: + pulumi.set(__self__, "direction", direction) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if port_mirroring_id is not None: + pulumi.set(__self__, "port_mirroring_id", port_mirroring_id) + if revision is not None: + pulumi.set(__self__, "revision", revision) + if source is not None: + pulumi.set(__self__, "source", source) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + Name of the private cloud + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def destination(self) -> Optional[pulumi.Input[str]]: + """ + Destination VM Group. + """ + return pulumi.get(self, "destination") + + @destination.setter + def destination(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "destination", value) + + @property + @pulumi.getter + def direction(self) -> Optional[pulumi.Input[Union[str, 'PortMirroringDirectionEnum']]]: + """ + Direction of port mirroring profile. + """ + return pulumi.get(self, "direction") + + @direction.setter + def direction(self, value: Optional[pulumi.Input[Union[str, 'PortMirroringDirectionEnum']]]): + pulumi.set(self, "direction", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Display name of the port mirroring profile. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="portMirroringId") + def port_mirroring_id(self) -> Optional[pulumi.Input[str]]: + """ + NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name + """ + return pulumi.get(self, "port_mirroring_id") + + @port_mirroring_id.setter + def port_mirroring_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "port_mirroring_id", value) + + @property + @pulumi.getter + def revision(self) -> Optional[pulumi.Input[float]]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @revision.setter + def revision(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "revision", value) + + @property + @pulumi.getter + def source(self) -> Optional[pulumi.Input[str]]: + """ + Source VM Group. + """ + return pulumi.get(self, "source") + + @source.setter + def source(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source", value) + + +class WorkloadNetworkPortMirroring(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + destination: Optional[pulumi.Input[str]] = None, + direction: Optional[pulumi.Input[Union[str, 'PortMirroringDirectionEnum']]] = None, + display_name: Optional[pulumi.Input[str]] = None, + port_mirroring_id: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + source: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + NSX Port Mirroring + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] destination: Destination VM Group. + :param pulumi.Input[Union[str, 'PortMirroringDirectionEnum']] direction: Direction of port mirroring profile. + :param pulumi.Input[str] display_name: Display name of the port mirroring profile. + :param pulumi.Input[str] port_mirroring_id: NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[float] revision: NSX revision number. + :param pulumi.Input[str] source: Source VM Group. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: WorkloadNetworkPortMirroringArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + NSX Port Mirroring + + :param str resource_name: The name of the resource. + :param WorkloadNetworkPortMirroringArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(WorkloadNetworkPortMirroringArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + destination: Optional[pulumi.Input[str]] = None, + direction: Optional[pulumi.Input[Union[str, 'PortMirroringDirectionEnum']]] = None, + display_name: Optional[pulumi.Input[str]] = None, + port_mirroring_id: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + source: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = WorkloadNetworkPortMirroringArgs.__new__(WorkloadNetworkPortMirroringArgs) + + __props__.__dict__["destination"] = destination + __props__.__dict__["direction"] = direction + __props__.__dict__["display_name"] = display_name + __props__.__dict__["port_mirroring_id"] = port_mirroring_id + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["revision"] = revision + __props__.__dict__["source"] = source + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkPortMirroring")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(WorkloadNetworkPortMirroring, __self__).__init__( + 'azure-native:avs/v20230301:WorkloadNetworkPortMirroring', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'WorkloadNetworkPortMirroring': + """ + Get an existing WorkloadNetworkPortMirroring resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = WorkloadNetworkPortMirroringArgs.__new__(WorkloadNetworkPortMirroringArgs) + + __props__.__dict__["destination"] = None + __props__.__dict__["direction"] = None + __props__.__dict__["display_name"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["revision"] = None + __props__.__dict__["source"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + return WorkloadNetworkPortMirroring(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def destination(self) -> pulumi.Output[Optional[str]]: + """ + Destination VM Group. + """ + return pulumi.get(self, "destination") + + @property + @pulumi.getter + def direction(self) -> pulumi.Output[Optional[str]]: + """ + Direction of port mirroring profile. + """ + return pulumi.get(self, "direction") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + Display name of the port mirroring profile. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def revision(self) -> pulumi.Output[Optional[float]]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @property + @pulumi.getter + def source(self) -> pulumi.Output[Optional[str]]: + """ + Source VM Group. + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + Port Mirroring Status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_public_ip.py b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_public_ip.py new file mode 100644 index 000000000000..f63b1cd02892 --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_public_ip.py @@ -0,0 +1,252 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = ['WorkloadNetworkPublicIPArgs', 'WorkloadNetworkPublicIP'] + +@pulumi.input_type +class WorkloadNetworkPublicIPArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + display_name: Optional[pulumi.Input[str]] = None, + number_of_public_ips: Optional[pulumi.Input[float]] = None, + public_ip_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a WorkloadNetworkPublicIP resource. + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] display_name: Display name of the Public IP Block. + :param pulumi.Input[float] number_of_public_ips: Number of Public IPs requested. + :param pulumi.Input[str] public_ip_id: NSX Public IP Block identifier. Generally the same as the Public IP Block's display name + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if number_of_public_ips is not None: + pulumi.set(__self__, "number_of_public_ips", number_of_public_ips) + if public_ip_id is not None: + pulumi.set(__self__, "public_ip_id", public_ip_id) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + Name of the private cloud + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Display name of the Public IP Block. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="numberOfPublicIPs") + def number_of_public_ips(self) -> Optional[pulumi.Input[float]]: + """ + Number of Public IPs requested. + """ + return pulumi.get(self, "number_of_public_ips") + + @number_of_public_ips.setter + def number_of_public_ips(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "number_of_public_ips", value) + + @property + @pulumi.getter(name="publicIPId") + def public_ip_id(self) -> Optional[pulumi.Input[str]]: + """ + NSX Public IP Block identifier. Generally the same as the Public IP Block's display name + """ + return pulumi.get(self, "public_ip_id") + + @public_ip_id.setter + def public_ip_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "public_ip_id", value) + + +class WorkloadNetworkPublicIP(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + number_of_public_ips: Optional[pulumi.Input[float]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + public_ip_id: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + NSX Public IP Block + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] display_name: Display name of the Public IP Block. + :param pulumi.Input[float] number_of_public_ips: Number of Public IPs requested. + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] public_ip_id: NSX Public IP Block identifier. Generally the same as the Public IP Block's display name + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: WorkloadNetworkPublicIPArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + NSX Public IP Block + + :param str resource_name: The name of the resource. + :param WorkloadNetworkPublicIPArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(WorkloadNetworkPublicIPArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + number_of_public_ips: Optional[pulumi.Input[float]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + public_ip_id: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = WorkloadNetworkPublicIPArgs.__new__(WorkloadNetworkPublicIPArgs) + + __props__.__dict__["display_name"] = display_name + __props__.__dict__["number_of_public_ips"] = number_of_public_ips + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + __props__.__dict__["public_ip_id"] = public_ip_id + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["public_ip_block"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkPublicIP")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(WorkloadNetworkPublicIP, __self__).__init__( + 'azure-native:avs/v20230301:WorkloadNetworkPublicIP', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'WorkloadNetworkPublicIP': + """ + Get an existing WorkloadNetworkPublicIP resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = WorkloadNetworkPublicIPArgs.__new__(WorkloadNetworkPublicIPArgs) + + __props__.__dict__["display_name"] = None + __props__.__dict__["name"] = None + __props__.__dict__["number_of_public_ips"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["public_ip_block"] = None + __props__.__dict__["type"] = None + return WorkloadNetworkPublicIP(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + Display name of the Public IP Block. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="numberOfPublicIPs") + def number_of_public_ips(self) -> pulumi.Output[Optional[float]]: + """ + Number of Public IPs requested. + """ + return pulumi.get(self, "number_of_public_ips") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="publicIPBlock") + def public_ip_block(self) -> pulumi.Output[str]: + """ + CIDR Block of the Public IP Block. + """ + return pulumi.get(self, "public_ip_block") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_segment.py b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_segment.py new file mode 100644 index 000000000000..7daf41da289a --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_segment.py @@ -0,0 +1,322 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['WorkloadNetworkSegmentArgs', 'WorkloadNetworkSegment'] + +@pulumi.input_type +class WorkloadNetworkSegmentArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + connected_gateway: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + segment_id: Optional[pulumi.Input[str]] = None, + subnet: Optional[pulumi.Input['WorkloadNetworkSegmentSubnetArgs']] = None): + """ + The set of arguments for constructing a WorkloadNetworkSegment resource. + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] connected_gateway: Gateway which to connect segment to. + :param pulumi.Input[str] display_name: Display name of the segment. + :param pulumi.Input[float] revision: NSX revision number. + :param pulumi.Input[str] segment_id: NSX Segment identifier. Generally the same as the Segment's display name + :param pulumi.Input['WorkloadNetworkSegmentSubnetArgs'] subnet: Subnet which to connect segment to. + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if connected_gateway is not None: + pulumi.set(__self__, "connected_gateway", connected_gateway) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if revision is not None: + pulumi.set(__self__, "revision", revision) + if segment_id is not None: + pulumi.set(__self__, "segment_id", segment_id) + if subnet is not None: + pulumi.set(__self__, "subnet", subnet) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + Name of the private cloud + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="connectedGateway") + def connected_gateway(self) -> Optional[pulumi.Input[str]]: + """ + Gateway which to connect segment to. + """ + return pulumi.get(self, "connected_gateway") + + @connected_gateway.setter + def connected_gateway(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "connected_gateway", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Display name of the segment. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def revision(self) -> Optional[pulumi.Input[float]]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @revision.setter + def revision(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "revision", value) + + @property + @pulumi.getter(name="segmentId") + def segment_id(self) -> Optional[pulumi.Input[str]]: + """ + NSX Segment identifier. Generally the same as the Segment's display name + """ + return pulumi.get(self, "segment_id") + + @segment_id.setter + def segment_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "segment_id", value) + + @property + @pulumi.getter + def subnet(self) -> Optional[pulumi.Input['WorkloadNetworkSegmentSubnetArgs']]: + """ + Subnet which to connect segment to. + """ + return pulumi.get(self, "subnet") + + @subnet.setter + def subnet(self, value: Optional[pulumi.Input['WorkloadNetworkSegmentSubnetArgs']]): + pulumi.set(self, "subnet", value) + + +class WorkloadNetworkSegment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + connected_gateway: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + segment_id: Optional[pulumi.Input[str]] = None, + subnet: Optional[pulumi.Input[pulumi.InputType['WorkloadNetworkSegmentSubnetArgs']]] = None, + __props__=None): + """ + NSX Segment + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] connected_gateway: Gateway which to connect segment to. + :param pulumi.Input[str] display_name: Display name of the segment. + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[float] revision: NSX revision number. + :param pulumi.Input[str] segment_id: NSX Segment identifier. Generally the same as the Segment's display name + :param pulumi.Input[pulumi.InputType['WorkloadNetworkSegmentSubnetArgs']] subnet: Subnet which to connect segment to. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: WorkloadNetworkSegmentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + NSX Segment + + :param str resource_name: The name of the resource. + :param WorkloadNetworkSegmentArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(WorkloadNetworkSegmentArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + connected_gateway: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + segment_id: Optional[pulumi.Input[str]] = None, + subnet: Optional[pulumi.Input[pulumi.InputType['WorkloadNetworkSegmentSubnetArgs']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = WorkloadNetworkSegmentArgs.__new__(WorkloadNetworkSegmentArgs) + + __props__.__dict__["connected_gateway"] = connected_gateway + __props__.__dict__["display_name"] = display_name + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["revision"] = revision + __props__.__dict__["segment_id"] = segment_id + __props__.__dict__["subnet"] = subnet + __props__.__dict__["name"] = None + __props__.__dict__["port_vif"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkSegment")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(WorkloadNetworkSegment, __self__).__init__( + 'azure-native:avs/v20230301:WorkloadNetworkSegment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'WorkloadNetworkSegment': + """ + Get an existing WorkloadNetworkSegment resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = WorkloadNetworkSegmentArgs.__new__(WorkloadNetworkSegmentArgs) + + __props__.__dict__["connected_gateway"] = None + __props__.__dict__["display_name"] = None + __props__.__dict__["name"] = None + __props__.__dict__["port_vif"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["revision"] = None + __props__.__dict__["status"] = None + __props__.__dict__["subnet"] = None + __props__.__dict__["type"] = None + return WorkloadNetworkSegment(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="connectedGateway") + def connected_gateway(self) -> pulumi.Output[Optional[str]]: + """ + Gateway which to connect segment to. + """ + return pulumi.get(self, "connected_gateway") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + Display name of the segment. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="portVif") + def port_vif(self) -> pulumi.Output[Sequence['outputs.WorkloadNetworkSegmentPortVifResponse']]: + """ + Port Vif which segment is associated with. + """ + return pulumi.get(self, "port_vif") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def revision(self) -> pulumi.Output[Optional[float]]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + Segment status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def subnet(self) -> pulumi.Output[Optional['outputs.WorkloadNetworkSegmentSubnetResponse']]: + """ + Subnet which to connect segment to. + """ + return pulumi.get(self, "subnet") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_vm_group.py b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_vm_group.py new file mode 100644 index 000000000000..fb921110d7ba --- /dev/null +++ b/sdk/python/pulumi_azure_native/avs/v20230301/workload_network_vm_group.py @@ -0,0 +1,281 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = ['WorkloadNetworkVMGroupArgs', 'WorkloadNetworkVMGroup'] + +@pulumi.input_type +class WorkloadNetworkVMGroupArgs: + def __init__(__self__, *, + private_cloud_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + display_name: Optional[pulumi.Input[str]] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + revision: Optional[pulumi.Input[float]] = None, + vm_group_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a WorkloadNetworkVMGroup resource. + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] display_name: Display name of the VM group. + :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Virtual machine members of this group. + :param pulumi.Input[float] revision: NSX revision number. + :param pulumi.Input[str] vm_group_id: NSX VM Group identifier. Generally the same as the VM Group's display name + """ + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if members is not None: + pulumi.set(__self__, "members", members) + if revision is not None: + pulumi.set(__self__, "revision", revision) + if vm_group_id is not None: + pulumi.set(__self__, "vm_group_id", vm_group_id) + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> pulumi.Input[str]: + """ + Name of the private cloud + """ + return pulumi.get(self, "private_cloud_name") + + @private_cloud_name.setter + def private_cloud_name(self, value: pulumi.Input[str]): + pulumi.set(self, "private_cloud_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + Display name of the VM group. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Virtual machine members of this group. + """ + return pulumi.get(self, "members") + + @members.setter + def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "members", value) + + @property + @pulumi.getter + def revision(self) -> Optional[pulumi.Input[float]]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @revision.setter + def revision(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "revision", value) + + @property + @pulumi.getter(name="vmGroupId") + def vm_group_id(self) -> Optional[pulumi.Input[str]]: + """ + NSX VM Group identifier. Generally the same as the VM Group's display name + """ + return pulumi.get(self, "vm_group_id") + + @vm_group_id.setter + def vm_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vm_group_id", value) + + +class WorkloadNetworkVMGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + vm_group_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + NSX VM Group + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] display_name: Display name of the VM group. + :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Virtual machine members of this group. + :param pulumi.Input[str] private_cloud_name: Name of the private cloud + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[float] revision: NSX revision number. + :param pulumi.Input[str] vm_group_id: NSX VM Group identifier. Generally the same as the VM Group's display name + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: WorkloadNetworkVMGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + NSX VM Group + + :param str resource_name: The name of the resource. + :param WorkloadNetworkVMGroupArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(WorkloadNetworkVMGroupArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + private_cloud_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + revision: Optional[pulumi.Input[float]] = None, + vm_group_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = WorkloadNetworkVMGroupArgs.__new__(WorkloadNetworkVMGroupArgs) + + __props__.__dict__["display_name"] = display_name + __props__.__dict__["members"] = members + if private_cloud_name is None and not opts.urn: + raise TypeError("Missing required property 'private_cloud_name'") + __props__.__dict__["private_cloud_name"] = private_cloud_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["revision"] = revision + __props__.__dict__["vm_group_id"] = vm_group_id + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkVMGroup")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(WorkloadNetworkVMGroup, __self__).__init__( + 'azure-native:avs/v20230301:WorkloadNetworkVMGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'WorkloadNetworkVMGroup': + """ + Get an existing WorkloadNetworkVMGroup resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = WorkloadNetworkVMGroupArgs.__new__(WorkloadNetworkVMGroupArgs) + + __props__.__dict__["display_name"] = None + __props__.__dict__["members"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["revision"] = None + __props__.__dict__["status"] = None + __props__.__dict__["type"] = None + return WorkloadNetworkVMGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + Display name of the VM group. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def members(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Virtual machine members of this group. + """ + return pulumi.get(self, "members") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def revision(self) -> pulumi.Output[Optional[float]]: + """ + NSX revision number. + """ + return pulumi.get(self, "revision") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + VM Group status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/avs/workload_network_dhcp.py b/sdk/python/pulumi_azure_native/avs/workload_network_dhcp.py index 0ba3c0f3d0ba..520dfbf2db3f 100644 --- a/sdk/python/pulumi_azure_native/avs/workload_network_dhcp.py +++ b/sdk/python/pulumi_azure_native/avs/workload_network_dhcp.py @@ -152,7 +152,7 @@ def _internal_init(__self__, __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["name"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkDhcp")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkDhcp"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkDhcp")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkDhcp, __self__).__init__( 'azure-native:avs:WorkloadNetworkDhcp', diff --git a/sdk/python/pulumi_azure_native/avs/workload_network_dns_service.py b/sdk/python/pulumi_azure_native/avs/workload_network_dns_service.py index 9d8f06c8d5d4..f4df510bb9d5 100644 --- a/sdk/python/pulumi_azure_native/avs/workload_network_dns_service.py +++ b/sdk/python/pulumi_azure_native/avs/workload_network_dns_service.py @@ -253,7 +253,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkDnsService")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkDnsService"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkDnsService")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkDnsService, __self__).__init__( 'azure-native:avs:WorkloadNetworkDnsService', diff --git a/sdk/python/pulumi_azure_native/avs/workload_network_dns_zone.py b/sdk/python/pulumi_azure_native/avs/workload_network_dns_zone.py index a1cc48ec6f50..948a98bbf461 100644 --- a/sdk/python/pulumi_azure_native/avs/workload_network_dns_zone.py +++ b/sdk/python/pulumi_azure_native/avs/workload_network_dns_zone.py @@ -251,7 +251,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkDnsZone")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkDnsZone"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkDnsZone")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkDnsZone, __self__).__init__( 'azure-native:avs:WorkloadNetworkDnsZone', diff --git a/sdk/python/pulumi_azure_native/avs/workload_network_port_mirroring.py b/sdk/python/pulumi_azure_native/avs/workload_network_port_mirroring.py index 8c8c11684b4a..a0d4b6d316a7 100644 --- a/sdk/python/pulumi_azure_native/avs/workload_network_port_mirroring.py +++ b/sdk/python/pulumi_azure_native/avs/workload_network_port_mirroring.py @@ -233,7 +233,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkPortMirroring")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkPortMirroring"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkPortMirroring")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkPortMirroring, __self__).__init__( 'azure-native:avs:WorkloadNetworkPortMirroring', diff --git a/sdk/python/pulumi_azure_native/avs/workload_network_public_ip.py b/sdk/python/pulumi_azure_native/avs/workload_network_public_ip.py index 016dfee76807..0b0ee5335289 100644 --- a/sdk/python/pulumi_azure_native/avs/workload_network_public_ip.py +++ b/sdk/python/pulumi_azure_native/avs/workload_network_public_ip.py @@ -172,7 +172,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["public_ip_block"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkPublicIP")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkPublicIP"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkPublicIP")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkPublicIP, __self__).__init__( 'azure-native:avs:WorkloadNetworkPublicIP', diff --git a/sdk/python/pulumi_azure_native/avs/workload_network_segment.py b/sdk/python/pulumi_azure_native/avs/workload_network_segment.py index 507bb88bb3aa..bf68d9f86435 100644 --- a/sdk/python/pulumi_azure_native/avs/workload_network_segment.py +++ b/sdk/python/pulumi_azure_native/avs/workload_network_segment.py @@ -215,7 +215,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkSegment")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkSegment"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkSegment")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkSegment, __self__).__init__( 'azure-native:avs:WorkloadNetworkSegment', diff --git a/sdk/python/pulumi_azure_native/avs/workload_network_vm_group.py b/sdk/python/pulumi_azure_native/avs/workload_network_vm_group.py index a8f738137754..1bb4c81635d3 100644 --- a/sdk/python/pulumi_azure_native/avs/workload_network_vm_group.py +++ b/sdk/python/pulumi_azure_native/avs/workload_network_vm_group.py @@ -192,7 +192,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkVMGroup")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:avs/v20200717preview:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20210101preview:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20210601:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20211201:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20220501:WorkloadNetworkVMGroup"), pulumi.Alias(type_="azure-native:avs/v20230301:WorkloadNetworkVMGroup")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(WorkloadNetworkVMGroup, __self__).__init__( 'azure-native:avs:WorkloadNetworkVMGroup', diff --git a/sdk/python/pulumi_azure_native/compute/__init__.py b/sdk/python/pulumi_azure_native/compute/__init__.py index b74bc9a44465..98fa3511cb42 100644 --- a/sdk/python/pulumi_azure_native/compute/__init__.py +++ b/sdk/python/pulumi_azure_native/compute/__init__.py @@ -97,6 +97,10 @@ v20230102 = __v20230102 import pulumi_azure_native.compute.v20230301 as __v20230301 v20230301 = __v20230301 + import pulumi_azure_native.compute.v20230402 as __v20230402 + v20230402 = __v20230402 + import pulumi_azure_native.compute.v20230701 as __v20230701 + v20230701 = __v20230701 else: v20201201 = _utilities.lazy_import('pulumi_azure_native.compute.v20201201') v20210301 = _utilities.lazy_import('pulumi_azure_native.compute.v20210301') @@ -111,4 +115,6 @@ v20221101 = _utilities.lazy_import('pulumi_azure_native.compute.v20221101') v20230102 = _utilities.lazy_import('pulumi_azure_native.compute.v20230102') v20230301 = _utilities.lazy_import('pulumi_azure_native.compute.v20230301') + v20230402 = _utilities.lazy_import('pulumi_azure_native.compute.v20230402') + v20230701 = _utilities.lazy_import('pulumi_azure_native.compute.v20230701') diff --git a/sdk/python/pulumi_azure_native/compute/availability_set.py b/sdk/python/pulumi_azure_native/compute/availability_set.py index 2e77f09e35ba..546079e0579f 100644 --- a/sdk/python/pulumi_azure_native/compute/availability_set.py +++ b/sdk/python/pulumi_azure_native/compute/availability_set.py @@ -252,7 +252,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["statuses"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20150615:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20160330:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20160430preview:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20170330:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20171201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20180401:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20180601:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20181001:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20190301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20190701:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20191201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20200601:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20201201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210401:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210701:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20211101:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20220301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20220801:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20221101:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20230301:AvailabilitySet")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20150615:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20160330:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20160430preview:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20170330:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20171201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20180401:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20180601:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20181001:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20190301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20190701:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20191201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20200601:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20201201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210401:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210701:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20211101:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20220301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20220801:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20221101:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20230301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20230701:AvailabilitySet")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(AvailabilitySet, __self__).__init__( 'azure-native:compute:AvailabilitySet', diff --git a/sdk/python/pulumi_azure_native/compute/capacity_reservation.py b/sdk/python/pulumi_azure_native/compute/capacity_reservation.py index ce3185732a5c..64be338b5c6d 100644 --- a/sdk/python/pulumi_azure_native/compute/capacity_reservation.py +++ b/sdk/python/pulumi_azure_native/compute/capacity_reservation.py @@ -220,7 +220,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["virtual_machines_associated"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20210401:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20210701:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20211101:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20220301:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20220801:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20221101:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20230301:CapacityReservation")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20210401:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20210701:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20211101:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20220301:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20220801:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20221101:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20230301:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20230701:CapacityReservation")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(CapacityReservation, __self__).__init__( 'azure-native:compute:CapacityReservation', diff --git a/sdk/python/pulumi_azure_native/compute/capacity_reservation_group.py b/sdk/python/pulumi_azure_native/compute/capacity_reservation_group.py index 2c1835467183..1124d67c0140 100644 --- a/sdk/python/pulumi_azure_native/compute/capacity_reservation_group.py +++ b/sdk/python/pulumi_azure_native/compute/capacity_reservation_group.py @@ -173,7 +173,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["type"] = None __props__.__dict__["virtual_machines_associated"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20210401:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20230301:CapacityReservationGroup")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20210401:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20230301:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20230701:CapacityReservationGroup")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(CapacityReservationGroup, __self__).__init__( 'azure-native:compute:CapacityReservationGroup', diff --git a/sdk/python/pulumi_azure_native/compute/dedicated_host.py b/sdk/python/pulumi_azure_native/compute/dedicated_host.py index 50f1e4acaa47..ba0f3cc7a73a 100644 --- a/sdk/python/pulumi_azure_native/compute/dedicated_host.py +++ b/sdk/python/pulumi_azure_native/compute/dedicated_host.py @@ -260,7 +260,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["virtual_machines"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20190301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20190701:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20191201:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20200601:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20201201:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210401:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210701:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20211101:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20220301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20220801:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20221101:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20230301:DedicatedHost")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20190301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20190701:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20191201:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20200601:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20201201:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210401:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210701:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20211101:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20220301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20220801:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20221101:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20230301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20230701:DedicatedHost")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DedicatedHost, __self__).__init__( 'azure-native:compute:DedicatedHost', diff --git a/sdk/python/pulumi_azure_native/compute/dedicated_host_group.py b/sdk/python/pulumi_azure_native/compute/dedicated_host_group.py index 73d866e49720..8457180a3146 100644 --- a/sdk/python/pulumi_azure_native/compute/dedicated_host_group.py +++ b/sdk/python/pulumi_azure_native/compute/dedicated_host_group.py @@ -234,7 +234,7 @@ def _internal_init(__self__, __props__.__dict__["instance_view"] = None __props__.__dict__["name"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20190301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20190701:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20191201:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20200601:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20201201:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20230301:DedicatedHostGroup")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20190301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20190701:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20191201:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20200601:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20201201:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20230301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20230701:DedicatedHostGroup")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DedicatedHostGroup, __self__).__init__( 'azure-native:compute:DedicatedHostGroup', diff --git a/sdk/python/pulumi_azure_native/compute/disk.py b/sdk/python/pulumi_azure_native/compute/disk.py index f659208ef785..600c6e90744b 100644 --- a/sdk/python/pulumi_azure_native/compute/disk.py +++ b/sdk/python/pulumi_azure_native/compute/disk.py @@ -683,7 +683,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["unique_id"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20160430preview:Disk"), pulumi.Alias(type_="azure-native:compute/v20170330:Disk"), pulumi.Alias(type_="azure-native:compute/v20180401:Disk"), pulumi.Alias(type_="azure-native:compute/v20180601:Disk"), pulumi.Alias(type_="azure-native:compute/v20180930:Disk"), pulumi.Alias(type_="azure-native:compute/v20190301:Disk"), pulumi.Alias(type_="azure-native:compute/v20190701:Disk"), pulumi.Alias(type_="azure-native:compute/v20191101:Disk"), pulumi.Alias(type_="azure-native:compute/v20200501:Disk"), pulumi.Alias(type_="azure-native:compute/v20200630:Disk"), pulumi.Alias(type_="azure-native:compute/v20200930:Disk"), pulumi.Alias(type_="azure-native:compute/v20201201:Disk"), pulumi.Alias(type_="azure-native:compute/v20210401:Disk"), pulumi.Alias(type_="azure-native:compute/v20210801:Disk"), pulumi.Alias(type_="azure-native:compute/v20211201:Disk"), pulumi.Alias(type_="azure-native:compute/v20220302:Disk"), pulumi.Alias(type_="azure-native:compute/v20220702:Disk"), pulumi.Alias(type_="azure-native:compute/v20230102:Disk")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20160430preview:Disk"), pulumi.Alias(type_="azure-native:compute/v20170330:Disk"), pulumi.Alias(type_="azure-native:compute/v20180401:Disk"), pulumi.Alias(type_="azure-native:compute/v20180601:Disk"), pulumi.Alias(type_="azure-native:compute/v20180930:Disk"), pulumi.Alias(type_="azure-native:compute/v20190301:Disk"), pulumi.Alias(type_="azure-native:compute/v20190701:Disk"), pulumi.Alias(type_="azure-native:compute/v20191101:Disk"), pulumi.Alias(type_="azure-native:compute/v20200501:Disk"), pulumi.Alias(type_="azure-native:compute/v20200630:Disk"), pulumi.Alias(type_="azure-native:compute/v20200930:Disk"), pulumi.Alias(type_="azure-native:compute/v20201201:Disk"), pulumi.Alias(type_="azure-native:compute/v20210401:Disk"), pulumi.Alias(type_="azure-native:compute/v20210801:Disk"), pulumi.Alias(type_="azure-native:compute/v20211201:Disk"), pulumi.Alias(type_="azure-native:compute/v20220302:Disk"), pulumi.Alias(type_="azure-native:compute/v20220702:Disk"), pulumi.Alias(type_="azure-native:compute/v20230102:Disk"), pulumi.Alias(type_="azure-native:compute/v20230402:Disk")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Disk, __self__).__init__( 'azure-native:compute:Disk', diff --git a/sdk/python/pulumi_azure_native/compute/disk_access.py b/sdk/python/pulumi_azure_native/compute/disk_access.py index 7101bfc63b37..1cda38d784d8 100644 --- a/sdk/python/pulumi_azure_native/compute/disk_access.py +++ b/sdk/python/pulumi_azure_native/compute/disk_access.py @@ -175,7 +175,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20200501:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskAccess")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20200501:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20230402:DiskAccess")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DiskAccess, __self__).__init__( 'azure-native:compute:DiskAccess', diff --git a/sdk/python/pulumi_azure_native/compute/disk_access_a_private_endpoint_connection.py b/sdk/python/pulumi_azure_native/compute/disk_access_a_private_endpoint_connection.py index 38a32c94d64f..ee2e1101806c 100644 --- a/sdk/python/pulumi_azure_native/compute/disk_access_a_private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/compute/disk_access_a_private_endpoint_connection.py @@ -156,7 +156,7 @@ def _internal_init(__self__, __props__.__dict__["private_endpoint"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DiskAccessAPrivateEndpointConnection, __self__).__init__( 'azure-native:compute:DiskAccessAPrivateEndpointConnection', diff --git a/sdk/python/pulumi_azure_native/compute/disk_encryption_set.py b/sdk/python/pulumi_azure_native/compute/disk_encryption_set.py index 0496590a14a7..7265e50e05e9 100644 --- a/sdk/python/pulumi_azure_native/compute/disk_encryption_set.py +++ b/sdk/python/pulumi_azure_native/compute/disk_encryption_set.py @@ -256,7 +256,7 @@ def _internal_init(__self__, __props__.__dict__["previous_keys"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20190701:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20191101:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200501:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskEncryptionSet")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20190701:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20191101:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200501:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20230402:DiskEncryptionSet")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DiskEncryptionSet, __self__).__init__( 'azure-native:compute:DiskEncryptionSet', diff --git a/sdk/python/pulumi_azure_native/compute/image.py b/sdk/python/pulumi_azure_native/compute/image.py index 7189d8c99dc1..f5faac4eb14f 100644 --- a/sdk/python/pulumi_azure_native/compute/image.py +++ b/sdk/python/pulumi_azure_native/compute/image.py @@ -233,7 +233,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20160430preview:Image"), pulumi.Alias(type_="azure-native:compute/v20170330:Image"), pulumi.Alias(type_="azure-native:compute/v20171201:Image"), pulumi.Alias(type_="azure-native:compute/v20180401:Image"), pulumi.Alias(type_="azure-native:compute/v20180601:Image"), pulumi.Alias(type_="azure-native:compute/v20181001:Image"), pulumi.Alias(type_="azure-native:compute/v20190301:Image"), pulumi.Alias(type_="azure-native:compute/v20190701:Image"), pulumi.Alias(type_="azure-native:compute/v20191201:Image"), pulumi.Alias(type_="azure-native:compute/v20200601:Image"), pulumi.Alias(type_="azure-native:compute/v20201201:Image"), pulumi.Alias(type_="azure-native:compute/v20210301:Image"), pulumi.Alias(type_="azure-native:compute/v20210401:Image"), pulumi.Alias(type_="azure-native:compute/v20210701:Image"), pulumi.Alias(type_="azure-native:compute/v20211101:Image"), pulumi.Alias(type_="azure-native:compute/v20220301:Image"), pulumi.Alias(type_="azure-native:compute/v20220801:Image"), pulumi.Alias(type_="azure-native:compute/v20221101:Image"), pulumi.Alias(type_="azure-native:compute/v20230301:Image")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20160430preview:Image"), pulumi.Alias(type_="azure-native:compute/v20170330:Image"), pulumi.Alias(type_="azure-native:compute/v20171201:Image"), pulumi.Alias(type_="azure-native:compute/v20180401:Image"), pulumi.Alias(type_="azure-native:compute/v20180601:Image"), pulumi.Alias(type_="azure-native:compute/v20181001:Image"), pulumi.Alias(type_="azure-native:compute/v20190301:Image"), pulumi.Alias(type_="azure-native:compute/v20190701:Image"), pulumi.Alias(type_="azure-native:compute/v20191201:Image"), pulumi.Alias(type_="azure-native:compute/v20200601:Image"), pulumi.Alias(type_="azure-native:compute/v20201201:Image"), pulumi.Alias(type_="azure-native:compute/v20210301:Image"), pulumi.Alias(type_="azure-native:compute/v20210401:Image"), pulumi.Alias(type_="azure-native:compute/v20210701:Image"), pulumi.Alias(type_="azure-native:compute/v20211101:Image"), pulumi.Alias(type_="azure-native:compute/v20220301:Image"), pulumi.Alias(type_="azure-native:compute/v20220801:Image"), pulumi.Alias(type_="azure-native:compute/v20221101:Image"), pulumi.Alias(type_="azure-native:compute/v20230301:Image"), pulumi.Alias(type_="azure-native:compute/v20230701:Image")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Image, __self__).__init__( 'azure-native:compute:Image', diff --git a/sdk/python/pulumi_azure_native/compute/proximity_placement_group.py b/sdk/python/pulumi_azure_native/compute/proximity_placement_group.py index 417c923cfa2f..ccc345547675 100644 --- a/sdk/python/pulumi_azure_native/compute/proximity_placement_group.py +++ b/sdk/python/pulumi_azure_native/compute/proximity_placement_group.py @@ -235,7 +235,7 @@ def _internal_init(__self__, __props__.__dict__["type"] = None __props__.__dict__["virtual_machine_scale_sets"] = None __props__.__dict__["virtual_machines"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20180401:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20180601:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20181001:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20190301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20190701:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20191201:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20200601:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20201201:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20230301:ProximityPlacementGroup")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20180401:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20180601:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20181001:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20190301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20190701:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20191201:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20200601:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20201201:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20230301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20230701:ProximityPlacementGroup")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ProximityPlacementGroup, __self__).__init__( 'azure-native:compute:ProximityPlacementGroup', diff --git a/sdk/python/pulumi_azure_native/compute/restore_point.py b/sdk/python/pulumi_azure_native/compute/restore_point.py index a2681e70dcf5..a6384210813c 100644 --- a/sdk/python/pulumi_azure_native/compute/restore_point.py +++ b/sdk/python/pulumi_azure_native/compute/restore_point.py @@ -235,7 +235,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20210301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20211101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20221101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20230301:RestorePoint")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20210301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20211101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20221101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20230301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20230701:RestorePoint")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(RestorePoint, __self__).__init__( 'azure-native:compute:RestorePoint', diff --git a/sdk/python/pulumi_azure_native/compute/restore_point_collection.py b/sdk/python/pulumi_azure_native/compute/restore_point_collection.py index c87ff2bf0650..418b5de7e6c9 100644 --- a/sdk/python/pulumi_azure_native/compute/restore_point_collection.py +++ b/sdk/python/pulumi_azure_native/compute/restore_point_collection.py @@ -174,7 +174,7 @@ def _internal_init(__self__, __props__.__dict__["restore_point_collection_id"] = None __props__.__dict__["restore_points"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20210301:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20211101:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20221101:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20230301:RestorePointCollection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20210301:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20211101:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20221101:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20230301:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20230701:RestorePointCollection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(RestorePointCollection, __self__).__init__( 'azure-native:compute:RestorePointCollection', diff --git a/sdk/python/pulumi_azure_native/compute/snapshot.py b/sdk/python/pulumi_azure_native/compute/snapshot.py index 21a09880c3df..d406608dd984 100644 --- a/sdk/python/pulumi_azure_native/compute/snapshot.py +++ b/sdk/python/pulumi_azure_native/compute/snapshot.py @@ -540,7 +540,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["unique_id"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20160430preview:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20170330:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180601:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190301:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190701:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20191101:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200501:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200630:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20201201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20211201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20220302:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20220702:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20230102:Snapshot")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20160430preview:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20170330:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180601:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190301:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190701:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20191101:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200501:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200630:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20201201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20211201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20220302:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20220702:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20230102:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20230402:Snapshot")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Snapshot, __self__).__init__( 'azure-native:compute:Snapshot', diff --git a/sdk/python/pulumi_azure_native/compute/ssh_public_key.py b/sdk/python/pulumi_azure_native/compute/ssh_public_key.py index 54fe7ae89bbd..d21d82a92fd1 100644 --- a/sdk/python/pulumi_azure_native/compute/ssh_public_key.py +++ b/sdk/python/pulumi_azure_native/compute/ssh_public_key.py @@ -169,7 +169,7 @@ def _internal_init(__self__, __props__.__dict__["tags"] = tags __props__.__dict__["name"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20191201:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20200601:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20201201:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210301:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210401:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210701:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20211101:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20220301:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20220801:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20221101:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20230301:SshPublicKey")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20191201:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20200601:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20201201:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210301:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210401:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210701:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20211101:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20220301:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20220801:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20221101:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20230301:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20230701:SshPublicKey")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(SshPublicKey, __self__).__init__( 'azure-native:compute:SshPublicKey', diff --git a/sdk/python/pulumi_azure_native/compute/v20211101/restore_point.py b/sdk/python/pulumi_azure_native/compute/v20211101/restore_point.py index 1a4e565ad4dc..331c3dc74fa4 100644 --- a/sdk/python/pulumi_azure_native/compute/v20211101/restore_point.py +++ b/sdk/python/pulumi_azure_native/compute/v20211101/restore_point.py @@ -194,7 +194,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["source_metadata"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20221101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20230301:RestorePoint")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20221101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20230301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20230701:RestorePoint")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(RestorePoint, __self__).__init__( 'azure-native:compute/v20211101:RestorePoint', diff --git a/sdk/python/pulumi_azure_native/compute/v20211101/virtual_machine_extension.py b/sdk/python/pulumi_azure_native/compute/v20211101/virtual_machine_extension.py index fc0c08c2a2ba..84df46c63b66 100644 --- a/sdk/python/pulumi_azure_native/compute/v20211101/virtual_machine_extension.py +++ b/sdk/python/pulumi_azure_native/compute/v20211101/virtual_machine_extension.py @@ -391,7 +391,7 @@ def _internal_init(__self__, __props__.__dict__["vm_name"] = vm_name __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineExtension, __self__).__init__( 'azure-native:compute/v20211101:VirtualMachineExtension', diff --git a/sdk/python/pulumi_azure_native/compute/v20211101/virtual_machine_scale_set_extension.py b/sdk/python/pulumi_azure_native/compute/v20211101/virtual_machine_scale_set_extension.py index e7545b616eab..2445d8a4b5cd 100644 --- a/sdk/python/pulumi_azure_native/compute/v20211101/virtual_machine_scale_set_extension.py +++ b/sdk/python/pulumi_azure_native/compute/v20211101/virtual_machine_scale_set_extension.py @@ -367,7 +367,7 @@ def _internal_init(__self__, __props__.__dict__["vm_scale_set_name"] = vm_scale_set_name __props__.__dict__["vmss_extension_name"] = vmss_extension_name __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineScaleSetExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineScaleSetExtension, __self__).__init__( 'azure-native:compute/v20211101:VirtualMachineScaleSetExtension', diff --git a/sdk/python/pulumi_azure_native/compute/v20211101/virtual_machine_scale_set_vm_extension.py b/sdk/python/pulumi_azure_native/compute/v20211101/virtual_machine_scale_set_vm_extension.py index cb3b2fa4c1b5..420a0e4e58e3 100644 --- a/sdk/python/pulumi_azure_native/compute/v20211101/virtual_machine_scale_set_vm_extension.py +++ b/sdk/python/pulumi_azure_native/compute/v20211101/virtual_machine_scale_set_vm_extension.py @@ -372,7 +372,7 @@ def _internal_init(__self__, __props__.__dict__["vm_scale_set_name"] = vm_scale_set_name __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineScaleSetVMExtension, __self__).__init__( 'azure-native:compute/v20211101:VirtualMachineScaleSetVMExtension', diff --git a/sdk/python/pulumi_azure_native/compute/v20220702/disk.py b/sdk/python/pulumi_azure_native/compute/v20220702/disk.py index 4957c89e30ee..edd13130fc0f 100644 --- a/sdk/python/pulumi_azure_native/compute/v20220702/disk.py +++ b/sdk/python/pulumi_azure_native/compute/v20220702/disk.py @@ -681,7 +681,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["unique_id"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Disk"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Disk"), pulumi.Alias(type_="azure-native:compute/v20170330:Disk"), pulumi.Alias(type_="azure-native:compute/v20180401:Disk"), pulumi.Alias(type_="azure-native:compute/v20180601:Disk"), pulumi.Alias(type_="azure-native:compute/v20180930:Disk"), pulumi.Alias(type_="azure-native:compute/v20190301:Disk"), pulumi.Alias(type_="azure-native:compute/v20190701:Disk"), pulumi.Alias(type_="azure-native:compute/v20191101:Disk"), pulumi.Alias(type_="azure-native:compute/v20200501:Disk"), pulumi.Alias(type_="azure-native:compute/v20200630:Disk"), pulumi.Alias(type_="azure-native:compute/v20200930:Disk"), pulumi.Alias(type_="azure-native:compute/v20201201:Disk"), pulumi.Alias(type_="azure-native:compute/v20210401:Disk"), pulumi.Alias(type_="azure-native:compute/v20210801:Disk"), pulumi.Alias(type_="azure-native:compute/v20211201:Disk"), pulumi.Alias(type_="azure-native:compute/v20220302:Disk"), pulumi.Alias(type_="azure-native:compute/v20230102:Disk")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Disk"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Disk"), pulumi.Alias(type_="azure-native:compute/v20170330:Disk"), pulumi.Alias(type_="azure-native:compute/v20180401:Disk"), pulumi.Alias(type_="azure-native:compute/v20180601:Disk"), pulumi.Alias(type_="azure-native:compute/v20180930:Disk"), pulumi.Alias(type_="azure-native:compute/v20190301:Disk"), pulumi.Alias(type_="azure-native:compute/v20190701:Disk"), pulumi.Alias(type_="azure-native:compute/v20191101:Disk"), pulumi.Alias(type_="azure-native:compute/v20200501:Disk"), pulumi.Alias(type_="azure-native:compute/v20200630:Disk"), pulumi.Alias(type_="azure-native:compute/v20200930:Disk"), pulumi.Alias(type_="azure-native:compute/v20201201:Disk"), pulumi.Alias(type_="azure-native:compute/v20210401:Disk"), pulumi.Alias(type_="azure-native:compute/v20210801:Disk"), pulumi.Alias(type_="azure-native:compute/v20211201:Disk"), pulumi.Alias(type_="azure-native:compute/v20220302:Disk"), pulumi.Alias(type_="azure-native:compute/v20230102:Disk"), pulumi.Alias(type_="azure-native:compute/v20230402:Disk")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Disk, __self__).__init__( 'azure-native:compute/v20220702:Disk', diff --git a/sdk/python/pulumi_azure_native/compute/v20220702/disk_access.py b/sdk/python/pulumi_azure_native/compute/v20220702/disk_access.py index 0e948e3750bd..54a4f7f6a0e7 100644 --- a/sdk/python/pulumi_azure_native/compute/v20220702/disk_access.py +++ b/sdk/python/pulumi_azure_native/compute/v20220702/disk_access.py @@ -173,7 +173,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200501:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskAccess")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200501:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20230402:DiskAccess")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DiskAccess, __self__).__init__( 'azure-native:compute/v20220702:DiskAccess', diff --git a/sdk/python/pulumi_azure_native/compute/v20220702/disk_access_a_private_endpoint_connection.py b/sdk/python/pulumi_azure_native/compute/v20220702/disk_access_a_private_endpoint_connection.py index 6c0229fa6456..8c45869f00d2 100644 --- a/sdk/python/pulumi_azure_native/compute/v20220702/disk_access_a_private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/compute/v20220702/disk_access_a_private_endpoint_connection.py @@ -154,7 +154,7 @@ def _internal_init(__self__, __props__.__dict__["private_endpoint"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DiskAccessAPrivateEndpointConnection, __self__).__init__( 'azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection', diff --git a/sdk/python/pulumi_azure_native/compute/v20220702/disk_encryption_set.py b/sdk/python/pulumi_azure_native/compute/v20220702/disk_encryption_set.py index 07edcf72440b..ce60975e7900 100644 --- a/sdk/python/pulumi_azure_native/compute/v20220702/disk_encryption_set.py +++ b/sdk/python/pulumi_azure_native/compute/v20220702/disk_encryption_set.py @@ -254,7 +254,7 @@ def _internal_init(__self__, __props__.__dict__["previous_keys"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20190701:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20191101:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200501:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskEncryptionSet")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20190701:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20191101:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200501:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20230402:DiskEncryptionSet")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DiskEncryptionSet, __self__).__init__( 'azure-native:compute/v20220702:DiskEncryptionSet', diff --git a/sdk/python/pulumi_azure_native/compute/v20220702/snapshot.py b/sdk/python/pulumi_azure_native/compute/v20220702/snapshot.py index 4b3306d4af22..fc5c408172ac 100644 --- a/sdk/python/pulumi_azure_native/compute/v20220702/snapshot.py +++ b/sdk/python/pulumi_azure_native/compute/v20220702/snapshot.py @@ -538,7 +538,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["unique_id"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20170330:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180601:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190301:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190701:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20191101:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200501:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200630:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20201201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20211201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20220302:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20230102:Snapshot")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20170330:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180601:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190301:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190701:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20191101:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200501:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200630:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20201201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20211201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20220302:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20230102:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20230402:Snapshot")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Snapshot, __self__).__init__( 'azure-native:compute/v20220702:Snapshot', diff --git a/sdk/python/pulumi_azure_native/compute/v20221101/restore_point.py b/sdk/python/pulumi_azure_native/compute/v20221101/restore_point.py index 26e48fcea5aa..0d838c81e664 100644 --- a/sdk/python/pulumi_azure_native/compute/v20221101/restore_point.py +++ b/sdk/python/pulumi_azure_native/compute/v20221101/restore_point.py @@ -214,7 +214,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["source_metadata"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20211101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20230301:RestorePoint")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20211101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20230301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20230701:RestorePoint")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(RestorePoint, __self__).__init__( 'azure-native:compute/v20221101:RestorePoint', diff --git a/sdk/python/pulumi_azure_native/compute/v20230102/disk.py b/sdk/python/pulumi_azure_native/compute/v20230102/disk.py index 2d94f8c068c9..9a4e508280a8 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230102/disk.py +++ b/sdk/python/pulumi_azure_native/compute/v20230102/disk.py @@ -681,7 +681,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["unique_id"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Disk"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Disk"), pulumi.Alias(type_="azure-native:compute/v20170330:Disk"), pulumi.Alias(type_="azure-native:compute/v20180401:Disk"), pulumi.Alias(type_="azure-native:compute/v20180601:Disk"), pulumi.Alias(type_="azure-native:compute/v20180930:Disk"), pulumi.Alias(type_="azure-native:compute/v20190301:Disk"), pulumi.Alias(type_="azure-native:compute/v20190701:Disk"), pulumi.Alias(type_="azure-native:compute/v20191101:Disk"), pulumi.Alias(type_="azure-native:compute/v20200501:Disk"), pulumi.Alias(type_="azure-native:compute/v20200630:Disk"), pulumi.Alias(type_="azure-native:compute/v20200930:Disk"), pulumi.Alias(type_="azure-native:compute/v20201201:Disk"), pulumi.Alias(type_="azure-native:compute/v20210401:Disk"), pulumi.Alias(type_="azure-native:compute/v20210801:Disk"), pulumi.Alias(type_="azure-native:compute/v20211201:Disk"), pulumi.Alias(type_="azure-native:compute/v20220302:Disk"), pulumi.Alias(type_="azure-native:compute/v20220702:Disk")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Disk"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Disk"), pulumi.Alias(type_="azure-native:compute/v20170330:Disk"), pulumi.Alias(type_="azure-native:compute/v20180401:Disk"), pulumi.Alias(type_="azure-native:compute/v20180601:Disk"), pulumi.Alias(type_="azure-native:compute/v20180930:Disk"), pulumi.Alias(type_="azure-native:compute/v20190301:Disk"), pulumi.Alias(type_="azure-native:compute/v20190701:Disk"), pulumi.Alias(type_="azure-native:compute/v20191101:Disk"), pulumi.Alias(type_="azure-native:compute/v20200501:Disk"), pulumi.Alias(type_="azure-native:compute/v20200630:Disk"), pulumi.Alias(type_="azure-native:compute/v20200930:Disk"), pulumi.Alias(type_="azure-native:compute/v20201201:Disk"), pulumi.Alias(type_="azure-native:compute/v20210401:Disk"), pulumi.Alias(type_="azure-native:compute/v20210801:Disk"), pulumi.Alias(type_="azure-native:compute/v20211201:Disk"), pulumi.Alias(type_="azure-native:compute/v20220302:Disk"), pulumi.Alias(type_="azure-native:compute/v20220702:Disk"), pulumi.Alias(type_="azure-native:compute/v20230402:Disk")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Disk, __self__).__init__( 'azure-native:compute/v20230102:Disk', diff --git a/sdk/python/pulumi_azure_native/compute/v20230102/disk_access.py b/sdk/python/pulumi_azure_native/compute/v20230102/disk_access.py index 28a8047d3978..af3c701904eb 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230102/disk_access.py +++ b/sdk/python/pulumi_azure_native/compute/v20230102/disk_access.py @@ -173,7 +173,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200501:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskAccess")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200501:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20230402:DiskAccess")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DiskAccess, __self__).__init__( 'azure-native:compute/v20230102:DiskAccess', diff --git a/sdk/python/pulumi_azure_native/compute/v20230102/disk_access_a_private_endpoint_connection.py b/sdk/python/pulumi_azure_native/compute/v20230102/disk_access_a_private_endpoint_connection.py index d7d7bd18b397..9d1a3da88854 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230102/disk_access_a_private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/compute/v20230102/disk_access_a_private_endpoint_connection.py @@ -154,7 +154,7 @@ def _internal_init(__self__, __props__.__dict__["private_endpoint"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DiskAccessAPrivateEndpointConnection, __self__).__init__( 'azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection', diff --git a/sdk/python/pulumi_azure_native/compute/v20230102/disk_encryption_set.py b/sdk/python/pulumi_azure_native/compute/v20230102/disk_encryption_set.py index b3cc2ba43249..05f6438e0699 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230102/disk_encryption_set.py +++ b/sdk/python/pulumi_azure_native/compute/v20230102/disk_encryption_set.py @@ -254,7 +254,7 @@ def _internal_init(__self__, __props__.__dict__["previous_keys"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20190701:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20191101:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200501:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskEncryptionSet")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20190701:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20191101:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200501:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20230402:DiskEncryptionSet")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DiskEncryptionSet, __self__).__init__( 'azure-native:compute/v20230102:DiskEncryptionSet', diff --git a/sdk/python/pulumi_azure_native/compute/v20230102/snapshot.py b/sdk/python/pulumi_azure_native/compute/v20230102/snapshot.py index e6b46fc553f5..bc4a99ef626e 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230102/snapshot.py +++ b/sdk/python/pulumi_azure_native/compute/v20230102/snapshot.py @@ -538,7 +538,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["unique_id"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20170330:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180601:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190301:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190701:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20191101:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200501:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200630:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20201201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20211201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20220302:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20220702:Snapshot")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20170330:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180601:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190301:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190701:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20191101:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200501:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200630:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20201201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20211201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20220302:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20220702:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20230402:Snapshot")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Snapshot, __self__).__init__( 'azure-native:compute/v20230102:Snapshot', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/availability_set.py b/sdk/python/pulumi_azure_native/compute/v20230301/availability_set.py index aafd20a56ae2..f49895f5d41f 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/availability_set.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/availability_set.py @@ -250,7 +250,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["statuses"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20150615:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20160330:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20160430preview:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20170330:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20171201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20180401:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20180601:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20181001:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20190301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20190701:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20191201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20200601:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20201201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210401:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210701:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20211101:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20220301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20220801:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20221101:AvailabilitySet")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20150615:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20160330:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20160430preview:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20170330:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20171201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20180401:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20180601:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20181001:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20190301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20190701:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20191201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20200601:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20201201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210401:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210701:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20211101:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20220301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20220801:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20221101:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20230701:AvailabilitySet")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(AvailabilitySet, __self__).__init__( 'azure-native:compute/v20230301:AvailabilitySet', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/capacity_reservation.py b/sdk/python/pulumi_azure_native/compute/v20230301/capacity_reservation.py index d38af76e58db..ee2366ce0463 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/capacity_reservation.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/capacity_reservation.py @@ -218,7 +218,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["virtual_machines_associated"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20210401:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20210701:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20211101:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20220301:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20220801:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20221101:CapacityReservation")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20210401:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20210701:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20211101:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20220301:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20220801:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20221101:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20230701:CapacityReservation")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(CapacityReservation, __self__).__init__( 'azure-native:compute/v20230301:CapacityReservation', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/capacity_reservation_group.py b/sdk/python/pulumi_azure_native/compute/v20230301/capacity_reservation_group.py index 7b30f36416fa..ce859a6d992f 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/capacity_reservation_group.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/capacity_reservation_group.py @@ -171,7 +171,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["type"] = None __props__.__dict__["virtual_machines_associated"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:CapacityReservationGroup")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20230701:CapacityReservationGroup")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(CapacityReservationGroup, __self__).__init__( 'azure-native:compute/v20230301:CapacityReservationGroup', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/dedicated_host.py b/sdk/python/pulumi_azure_native/compute/v20230301/dedicated_host.py index 04be276b3b18..4298192d9012 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/dedicated_host.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/dedicated_host.py @@ -258,7 +258,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["virtual_machines"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20190301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20190701:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20191201:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20200601:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20201201:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210401:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210701:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20211101:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20220301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20220801:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20221101:DedicatedHost")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20190301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20190701:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20191201:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20200601:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20201201:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210401:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210701:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20211101:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20220301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20220801:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20221101:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20230701:DedicatedHost")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DedicatedHost, __self__).__init__( 'azure-native:compute/v20230301:DedicatedHost', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/dedicated_host_group.py b/sdk/python/pulumi_azure_native/compute/v20230301/dedicated_host_group.py index 5450ce30a7a2..e47d6fd9d85d 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/dedicated_host_group.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/dedicated_host_group.py @@ -232,7 +232,7 @@ def _internal_init(__self__, __props__.__dict__["instance_view"] = None __props__.__dict__["name"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20190301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20190701:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20191201:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20200601:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20201201:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:DedicatedHostGroup")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20190301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20190701:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20191201:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20200601:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20201201:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20230701:DedicatedHostGroup")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DedicatedHostGroup, __self__).__init__( 'azure-native:compute/v20230301:DedicatedHostGroup', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/image.py b/sdk/python/pulumi_azure_native/compute/v20230301/image.py index 3f919b086822..51c30b6bc0fc 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/image.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/image.py @@ -231,7 +231,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Image"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Image"), pulumi.Alias(type_="azure-native:compute/v20170330:Image"), pulumi.Alias(type_="azure-native:compute/v20171201:Image"), pulumi.Alias(type_="azure-native:compute/v20180401:Image"), pulumi.Alias(type_="azure-native:compute/v20180601:Image"), pulumi.Alias(type_="azure-native:compute/v20181001:Image"), pulumi.Alias(type_="azure-native:compute/v20190301:Image"), pulumi.Alias(type_="azure-native:compute/v20190701:Image"), pulumi.Alias(type_="azure-native:compute/v20191201:Image"), pulumi.Alias(type_="azure-native:compute/v20200601:Image"), pulumi.Alias(type_="azure-native:compute/v20201201:Image"), pulumi.Alias(type_="azure-native:compute/v20210301:Image"), pulumi.Alias(type_="azure-native:compute/v20210401:Image"), pulumi.Alias(type_="azure-native:compute/v20210701:Image"), pulumi.Alias(type_="azure-native:compute/v20211101:Image"), pulumi.Alias(type_="azure-native:compute/v20220301:Image"), pulumi.Alias(type_="azure-native:compute/v20220801:Image"), pulumi.Alias(type_="azure-native:compute/v20221101:Image")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Image"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Image"), pulumi.Alias(type_="azure-native:compute/v20170330:Image"), pulumi.Alias(type_="azure-native:compute/v20171201:Image"), pulumi.Alias(type_="azure-native:compute/v20180401:Image"), pulumi.Alias(type_="azure-native:compute/v20180601:Image"), pulumi.Alias(type_="azure-native:compute/v20181001:Image"), pulumi.Alias(type_="azure-native:compute/v20190301:Image"), pulumi.Alias(type_="azure-native:compute/v20190701:Image"), pulumi.Alias(type_="azure-native:compute/v20191201:Image"), pulumi.Alias(type_="azure-native:compute/v20200601:Image"), pulumi.Alias(type_="azure-native:compute/v20201201:Image"), pulumi.Alias(type_="azure-native:compute/v20210301:Image"), pulumi.Alias(type_="azure-native:compute/v20210401:Image"), pulumi.Alias(type_="azure-native:compute/v20210701:Image"), pulumi.Alias(type_="azure-native:compute/v20211101:Image"), pulumi.Alias(type_="azure-native:compute/v20220301:Image"), pulumi.Alias(type_="azure-native:compute/v20220801:Image"), pulumi.Alias(type_="azure-native:compute/v20221101:Image"), pulumi.Alias(type_="azure-native:compute/v20230701:Image")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Image, __self__).__init__( 'azure-native:compute/v20230301:Image', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/proximity_placement_group.py b/sdk/python/pulumi_azure_native/compute/v20230301/proximity_placement_group.py index b5f5d4c24809..9e6f008cd344 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/proximity_placement_group.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/proximity_placement_group.py @@ -233,7 +233,7 @@ def _internal_init(__self__, __props__.__dict__["type"] = None __props__.__dict__["virtual_machine_scale_sets"] = None __props__.__dict__["virtual_machines"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20180401:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20180601:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20181001:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20190301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20190701:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20191201:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20200601:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20201201:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:ProximityPlacementGroup")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20180401:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20180601:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20181001:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20190301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20190701:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20191201:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20200601:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20201201:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20230701:ProximityPlacementGroup")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ProximityPlacementGroup, __self__).__init__( 'azure-native:compute/v20230301:ProximityPlacementGroup', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/restore_point.py b/sdk/python/pulumi_azure_native/compute/v20230301/restore_point.py index 9de21f47e6f4..3df153fd0832 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/restore_point.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/restore_point.py @@ -233,7 +233,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20211101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20221101:RestorePoint")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20211101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20221101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20230701:RestorePoint")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(RestorePoint, __self__).__init__( 'azure-native:compute/v20230301:RestorePoint', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/restore_point_collection.py b/sdk/python/pulumi_azure_native/compute/v20230301/restore_point_collection.py index 8885e0f3b0cd..f28c8c0a5b97 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/restore_point_collection.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/restore_point_collection.py @@ -172,7 +172,7 @@ def _internal_init(__self__, __props__.__dict__["restore_point_collection_id"] = None __props__.__dict__["restore_points"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210301:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20211101:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20221101:RestorePointCollection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210301:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20211101:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20221101:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20230701:RestorePointCollection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(RestorePointCollection, __self__).__init__( 'azure-native:compute/v20230301:RestorePointCollection', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/ssh_public_key.py b/sdk/python/pulumi_azure_native/compute/v20230301/ssh_public_key.py index 648b8a6ff3bb..8bc4e74c55cb 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/ssh_public_key.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/ssh_public_key.py @@ -167,7 +167,7 @@ def _internal_init(__self__, __props__.__dict__["tags"] = tags __props__.__dict__["name"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20191201:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20200601:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20201201:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210301:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210401:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210701:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20211101:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20220301:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20220801:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20221101:SshPublicKey")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20191201:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20200601:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20201201:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210301:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210401:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210701:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20211101:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20220301:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20220801:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20221101:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20230701:SshPublicKey")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(SshPublicKey, __self__).__init__( 'azure-native:compute/v20230301:SshPublicKey', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine.py b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine.py index e2b799ec6cb8..49c7123a40eb 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine.py @@ -675,7 +675,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["vm_id"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachine")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachine")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachine, __self__).__init__( 'azure-native:compute/v20230301:VirtualMachine', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_extension.py b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_extension.py index 39259da5f81d..6dca6976b60f 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_extension.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_extension.py @@ -411,7 +411,7 @@ def _internal_init(__self__, __props__.__dict__["vm_name"] = vm_name __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineExtension, __self__).__init__( 'azure-native:compute/v20230301:VirtualMachineExtension', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_run_command_by_virtual_machine.py b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_run_command_by_virtual_machine.py index 4d02a4952553..b03dea0c34ce 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_run_command_by_virtual_machine.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_run_command_by_virtual_machine.py @@ -420,7 +420,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineRunCommandByVirtualMachine, __self__).__init__( 'azure-native:compute/v20230301:VirtualMachineRunCommandByVirtualMachine', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set.py b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set.py index c824903ea8d7..17f20c01f25e 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set.py @@ -573,7 +573,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["unique_id"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSet")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineScaleSet")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineScaleSet, __self__).__init__( 'azure-native:compute/v20230301:VirtualMachineScaleSet', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_extension.py b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_extension.py index 1960086456eb..0e511e30faa3 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_extension.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_extension.py @@ -369,7 +369,7 @@ def _internal_init(__self__, __props__.__dict__["vm_scale_set_name"] = vm_scale_set_name __props__.__dict__["vmss_extension_name"] = vmss_extension_name __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineScaleSetExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineScaleSetExtension, __self__).__init__( 'azure-native:compute/v20230301:VirtualMachineScaleSetExtension', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_vm.py b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_vm.py index 00965b39f12b..4850d7b3840b 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_vm.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_vm.py @@ -459,7 +459,7 @@ def _internal_init(__self__, __props__.__dict__["type"] = None __props__.__dict__["vm_id"] = None __props__.__dict__["zones"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVM")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineScaleSetVM")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineScaleSetVM, __self__).__init__( 'azure-native:compute/v20230301:VirtualMachineScaleSetVM', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_vm_extension.py b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_vm_extension.py index 96b533d7bdfb..1ffb8fc93ccf 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_vm_extension.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_vm_extension.py @@ -412,7 +412,7 @@ def _internal_init(__self__, __props__.__dict__["vm_scale_set_name"] = vm_scale_set_name __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineScaleSetVMExtension, __self__).__init__( 'azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension', diff --git a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_vm_run_command.py b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_vm_run_command.py index ff9c6b071d32..b8ea2ffcd8e4 100644 --- a/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_vm_run_command.py +++ b/sdk/python/pulumi_azure_native/compute/v20230301/virtual_machine_scale_set_vm_run_command.py @@ -441,7 +441,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineScaleSetVMRunCommand, __self__).__init__( 'azure-native:compute/v20230301:VirtualMachineScaleSetVMRunCommand', diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/__init__.py b/sdk/python/pulumi_azure_native/compute/v20230402/__init__.py new file mode 100644 index 000000000000..d2b9b7ee0428 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/__init__.py @@ -0,0 +1,20 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .disk import * +from .disk_access import * +from .disk_access_a_private_endpoint_connection import * +from .disk_encryption_set import * +from .get_disk import * +from .get_disk_access import * +from .get_disk_access_a_private_endpoint_connection import * +from .get_disk_encryption_set import * +from .get_snapshot import * +from .snapshot import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/_enums.py b/sdk/python/pulumi_azure_native/compute/v20230402/_enums.py new file mode 100644 index 000000000000..f6941a0499d1 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/_enums.py @@ -0,0 +1,290 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'Architecture', + 'CopyCompletionErrorReason', + 'DataAccessAuthMode', + 'DiskCreateOption', + 'DiskEncryptionSetIdentityType', + 'DiskEncryptionSetType', + 'DiskSecurityTypes', + 'DiskStorageAccountTypes', + 'EncryptionType', + 'ExtendedLocationTypes', + 'HyperVGeneration', + 'NetworkAccessPolicy', + 'OperatingSystemTypes', + 'PrivateEndpointServiceConnectionStatus', + 'PublicNetworkAccess', + 'SnapshotStorageAccountTypes', +] + + +class Architecture(str, Enum): + """ + CPU architecture supported by an OS disk. + """ + X64 = "x64" + ARM64 = "Arm64" + + +class CopyCompletionErrorReason(str, Enum): + """ + Indicates the error code if the background copy of a resource created via the CopyStart operation fails. + """ + COPY_SOURCE_NOT_FOUND = "CopySourceNotFound" + """ + Indicates that the source snapshot was deleted while the background copy of the resource created via CopyStart operation was in progress. + """ + + +class DataAccessAuthMode(str, Enum): + """ + Additional authentication requirements when exporting or uploading to a disk or snapshot. + """ + AZURE_ACTIVE_DIRECTORY = "AzureActiveDirectory" + """ + When export/upload URL is used, the system checks if the user has an identity in Azure Active Directory and has necessary permissions to export/upload the data. Please refer to aka.ms/DisksAzureADAuth. + """ + NONE = "None" + """ + No additional authentication would be performed when accessing export/upload URL. + """ + + +class DiskCreateOption(str, Enum): + """ + This enumerates the possible sources of a disk's creation. + """ + EMPTY = "Empty" + """ + Create an empty data disk of a size given by diskSizeGB. + """ + ATTACH = "Attach" + """ + Disk will be attached to a VM. + """ + FROM_IMAGE = "FromImage" + """ + Create a new disk from a platform image specified by the given imageReference or galleryImageReference. + """ + IMPORT_ = "Import" + """ + Create a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId. + """ + COPY = "Copy" + """ + Create a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId. + """ + RESTORE = "Restore" + """ + Create a new disk by copying from a backup recovery point. + """ + UPLOAD = "Upload" + """ + Create a new disk by obtaining a write token and using it to directly upload the contents of the disk. + """ + COPY_START = "CopyStart" + """ + Create a new disk by using a deep copy process, where the resource creation is considered complete only after all data has been copied from the source. + """ + IMPORT_SECURE = "ImportSecure" + """ + Similar to Import create option. Create a new Trusted Launch VM or Confidential VM supported disk by importing additional blob for VM guest state specified by securityDataUri in storage account specified by storageAccountId + """ + UPLOAD_PREPARED_SECURE = "UploadPreparedSecure" + """ + Similar to Upload create option. Create a new Trusted Launch VM or Confidential VM supported disk and upload using write token in both disk and VM guest state + """ + COPY_FROM_SAN_SNAPSHOT = "CopyFromSanSnapshot" + """ + Create a new disk by exporting from elastic san volume snapshot + """ + + +class DiskEncryptionSetIdentityType(str, Enum): + """ + The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys. + """ + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned, UserAssigned" + NONE = "None" + + +class DiskEncryptionSetType(str, Enum): + """ + The type of key used to encrypt the data of the disk. + """ + ENCRYPTION_AT_REST_WITH_CUSTOMER_KEY = "EncryptionAtRestWithCustomerKey" + """ + Resource using diskEncryptionSet would be encrypted at rest with Customer managed key that can be changed and revoked by a customer. + """ + ENCRYPTION_AT_REST_WITH_PLATFORM_AND_CUSTOMER_KEYS = "EncryptionAtRestWithPlatformAndCustomerKeys" + """ + Resource using diskEncryptionSet would be encrypted at rest with two layers of encryption. One of the keys is Customer managed and the other key is Platform managed. + """ + CONFIDENTIAL_VM_ENCRYPTED_WITH_CUSTOMER_KEY = "ConfidentialVmEncryptedWithCustomerKey" + """ + Confidential VM supported disk and VM guest state would be encrypted with customer managed key. + """ + + +class DiskSecurityTypes(str, Enum): + """ + Specifies the SecurityType of the VM. Applicable for OS disks only. + """ + TRUSTED_LAUNCH = "TrustedLaunch" + """ + Trusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM) + """ + CONFIDENTIAL_V_M_VM_GUEST_STATE_ONLY_ENCRYPTED_WITH_PLATFORM_KEY = "ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey" + """ + Indicates Confidential VM disk with only VM guest state encrypted + """ + CONFIDENTIAL_V_M_DISK_ENCRYPTED_WITH_PLATFORM_KEY = "ConfidentialVM_DiskEncryptedWithPlatformKey" + """ + Indicates Confidential VM disk with both OS disk and VM guest state encrypted with a platform managed key + """ + CONFIDENTIAL_V_M_DISK_ENCRYPTED_WITH_CUSTOMER_KEY = "ConfidentialVM_DiskEncryptedWithCustomerKey" + """ + Indicates Confidential VM disk with both OS disk and VM guest state encrypted with a customer managed key + """ + + +class DiskStorageAccountTypes(str, Enum): + """ + The sku name. + """ + STANDARD_LRS = "Standard_LRS" + """ + Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access. + """ + PREMIUM_LRS = "Premium_LRS" + """ + Premium SSD locally redundant storage. Best for production and performance sensitive workloads. + """ + STANDARD_SS_D_LRS = "StandardSSD_LRS" + """ + Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test. + """ + ULTRA_SS_D_LRS = "UltraSSD_LRS" + """ + Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads. + """ + PREMIUM_ZRS = "Premium_ZRS" + """ + Premium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures. + """ + STANDARD_SS_D_ZRS = "StandardSSD_ZRS" + """ + Standard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test that need storage resiliency against zone failures. + """ + PREMIUM_V2_LRS = "PremiumV2_LRS" + """ + Premium SSD v2 locally redundant storage. Best for production and performance-sensitive workloads that consistently require low latency and high IOPS and throughput. + """ + + +class EncryptionType(str, Enum): + """ + The type of key used to encrypt the data of the disk. + """ + ENCRYPTION_AT_REST_WITH_PLATFORM_KEY = "EncryptionAtRestWithPlatformKey" + """ + Disk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets. + """ + ENCRYPTION_AT_REST_WITH_CUSTOMER_KEY = "EncryptionAtRestWithCustomerKey" + """ + Disk is encrypted at rest with Customer managed key that can be changed and revoked by a customer. + """ + ENCRYPTION_AT_REST_WITH_PLATFORM_AND_CUSTOMER_KEYS = "EncryptionAtRestWithPlatformAndCustomerKeys" + """ + Disk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed. + """ + + +class ExtendedLocationTypes(str, Enum): + """ + The type of the extended location. + """ + EDGE_ZONE = "EdgeZone" + + +class HyperVGeneration(str, Enum): + """ + The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + """ + V1 = "V1" + V2 = "V2" + + +class NetworkAccessPolicy(str, Enum): + """ + Policy for accessing the disk via network. + """ + ALLOW_ALL = "AllowAll" + """ + The disk can be exported or uploaded to from any network. + """ + ALLOW_PRIVATE = "AllowPrivate" + """ + The disk can be exported or uploaded to using a DiskAccess resource's private endpoints. + """ + DENY_ALL = "DenyAll" + """ + The disk cannot be exported. + """ + + +class OperatingSystemTypes(str, Enum): + """ + The Operating System type. + """ + WINDOWS = "Windows" + LINUX = "Linux" + + +class PrivateEndpointServiceConnectionStatus(str, Enum): + """ + Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ + PENDING = "Pending" + APPROVED = "Approved" + REJECTED = "Rejected" + + +class PublicNetworkAccess(str, Enum): + """ + Policy for controlling export on the disk. + """ + ENABLED = "Enabled" + """ + You can generate a SAS URI to access the underlying data of the disk publicly on the internet when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate. + """ + DISABLED = "Disabled" + """ + You cannot access the underlying data of the disk publicly on the internet even when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate. + """ + + +class SnapshotStorageAccountTypes(str, Enum): + """ + The sku name. + """ + STANDARD_LRS = "Standard_LRS" + """ + Standard HDD locally redundant storage + """ + PREMIUM_LRS = "Premium_LRS" + """ + Premium SSD locally redundant storage + """ + STANDARD_ZRS = "Standard_ZRS" + """ + Standard zone redundant storage + """ diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/_inputs.py b/sdk/python/pulumi_azure_native/compute/v20230402/_inputs.py new file mode 100644 index 000000000000..b7a373bf52dc --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/_inputs.py @@ -0,0 +1,949 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = [ + 'CopyCompletionErrorArgs', + 'CreationDataArgs', + 'DiskSecurityProfileArgs', + 'DiskSkuArgs', + 'EncryptionSetIdentityArgs', + 'EncryptionSettingsCollectionArgs', + 'EncryptionSettingsElementArgs', + 'EncryptionArgs', + 'ExtendedLocationArgs', + 'ImageDiskReferenceArgs', + 'KeyForDiskEncryptionSetArgs', + 'KeyVaultAndKeyReferenceArgs', + 'KeyVaultAndSecretReferenceArgs', + 'PrivateLinkServiceConnectionStateArgs', + 'PurchasePlanArgs', + 'SnapshotSkuArgs', + 'SourceVaultArgs', + 'SupportedCapabilitiesArgs', +] + +@pulumi.input_type +class CopyCompletionErrorArgs: + def __init__(__self__, *, + error_code: pulumi.Input[Union[str, 'CopyCompletionErrorReason']], + error_message: pulumi.Input[str]): + """ + Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + :param pulumi.Input[Union[str, 'CopyCompletionErrorReason']] error_code: Indicates the error code if the background copy of a resource created via the CopyStart operation fails. + :param pulumi.Input[str] error_message: Indicates the error message if the background copy of a resource created via the CopyStart operation fails. + """ + pulumi.set(__self__, "error_code", error_code) + pulumi.set(__self__, "error_message", error_message) + + @property + @pulumi.getter(name="errorCode") + def error_code(self) -> pulumi.Input[Union[str, 'CopyCompletionErrorReason']]: + """ + Indicates the error code if the background copy of a resource created via the CopyStart operation fails. + """ + return pulumi.get(self, "error_code") + + @error_code.setter + def error_code(self, value: pulumi.Input[Union[str, 'CopyCompletionErrorReason']]): + pulumi.set(self, "error_code", value) + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> pulumi.Input[str]: + """ + Indicates the error message if the background copy of a resource created via the CopyStart operation fails. + """ + return pulumi.get(self, "error_message") + + @error_message.setter + def error_message(self, value: pulumi.Input[str]): + pulumi.set(self, "error_message", value) + + +@pulumi.input_type +class CreationDataArgs: + def __init__(__self__, *, + create_option: pulumi.Input[Union[str, 'DiskCreateOption']], + elastic_san_resource_id: Optional[pulumi.Input[str]] = None, + gallery_image_reference: Optional[pulumi.Input['ImageDiskReferenceArgs']] = None, + image_reference: Optional[pulumi.Input['ImageDiskReferenceArgs']] = None, + logical_sector_size: Optional[pulumi.Input[int]] = None, + performance_plus: Optional[pulumi.Input[bool]] = None, + security_data_uri: Optional[pulumi.Input[str]] = None, + source_resource_id: Optional[pulumi.Input[str]] = None, + source_uri: Optional[pulumi.Input[str]] = None, + storage_account_id: Optional[pulumi.Input[str]] = None, + upload_size_bytes: Optional[pulumi.Input[float]] = None): + """ + Data used when creating a disk. + :param pulumi.Input[Union[str, 'DiskCreateOption']] create_option: This enumerates the possible sources of a disk's creation. + :param pulumi.Input[str] elastic_san_resource_id: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san volume snapshot. + :param pulumi.Input['ImageDiskReferenceArgs'] gallery_image_reference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + :param pulumi.Input['ImageDiskReferenceArgs'] image_reference: Disk source information for PIR or user images. + :param pulumi.Input[int] logical_sector_size: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default. + :param pulumi.Input[bool] performance_plus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + :param pulumi.Input[str] security_data_uri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state. + :param pulumi.Input[str] source_resource_id: If createOption is Copy, this is the ARM id of the source snapshot or disk. + :param pulumi.Input[str] source_uri: If createOption is Import, this is the URI of a blob to be imported into a managed disk. + :param pulumi.Input[str] storage_account_id: Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk. + :param pulumi.Input[float] upload_size_bytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer). + """ + pulumi.set(__self__, "create_option", create_option) + if elastic_san_resource_id is not None: + pulumi.set(__self__, "elastic_san_resource_id", elastic_san_resource_id) + if gallery_image_reference is not None: + pulumi.set(__self__, "gallery_image_reference", gallery_image_reference) + if image_reference is not None: + pulumi.set(__self__, "image_reference", image_reference) + if logical_sector_size is not None: + pulumi.set(__self__, "logical_sector_size", logical_sector_size) + if performance_plus is not None: + pulumi.set(__self__, "performance_plus", performance_plus) + if security_data_uri is not None: + pulumi.set(__self__, "security_data_uri", security_data_uri) + if source_resource_id is not None: + pulumi.set(__self__, "source_resource_id", source_resource_id) + if source_uri is not None: + pulumi.set(__self__, "source_uri", source_uri) + if storage_account_id is not None: + pulumi.set(__self__, "storage_account_id", storage_account_id) + if upload_size_bytes is not None: + pulumi.set(__self__, "upload_size_bytes", upload_size_bytes) + + @property + @pulumi.getter(name="createOption") + def create_option(self) -> pulumi.Input[Union[str, 'DiskCreateOption']]: + """ + This enumerates the possible sources of a disk's creation. + """ + return pulumi.get(self, "create_option") + + @create_option.setter + def create_option(self, value: pulumi.Input[Union[str, 'DiskCreateOption']]): + pulumi.set(self, "create_option", value) + + @property + @pulumi.getter(name="elasticSanResourceId") + def elastic_san_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san volume snapshot. + """ + return pulumi.get(self, "elastic_san_resource_id") + + @elastic_san_resource_id.setter + def elastic_san_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "elastic_san_resource_id", value) + + @property + @pulumi.getter(name="galleryImageReference") + def gallery_image_reference(self) -> Optional[pulumi.Input['ImageDiskReferenceArgs']]: + """ + Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + """ + return pulumi.get(self, "gallery_image_reference") + + @gallery_image_reference.setter + def gallery_image_reference(self, value: Optional[pulumi.Input['ImageDiskReferenceArgs']]): + pulumi.set(self, "gallery_image_reference", value) + + @property + @pulumi.getter(name="imageReference") + def image_reference(self) -> Optional[pulumi.Input['ImageDiskReferenceArgs']]: + """ + Disk source information for PIR or user images. + """ + return pulumi.get(self, "image_reference") + + @image_reference.setter + def image_reference(self, value: Optional[pulumi.Input['ImageDiskReferenceArgs']]): + pulumi.set(self, "image_reference", value) + + @property + @pulumi.getter(name="logicalSectorSize") + def logical_sector_size(self) -> Optional[pulumi.Input[int]]: + """ + Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default. + """ + return pulumi.get(self, "logical_sector_size") + + @logical_sector_size.setter + def logical_sector_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "logical_sector_size", value) + + @property + @pulumi.getter(name="performancePlus") + def performance_plus(self) -> Optional[pulumi.Input[bool]]: + """ + Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + """ + return pulumi.get(self, "performance_plus") + + @performance_plus.setter + def performance_plus(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "performance_plus", value) + + @property + @pulumi.getter(name="securityDataUri") + def security_data_uri(self) -> Optional[pulumi.Input[str]]: + """ + If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state. + """ + return pulumi.get(self, "security_data_uri") + + @security_data_uri.setter + def security_data_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "security_data_uri", value) + + @property + @pulumi.getter(name="sourceResourceId") + def source_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + If createOption is Copy, this is the ARM id of the source snapshot or disk. + """ + return pulumi.get(self, "source_resource_id") + + @source_resource_id.setter + def source_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_resource_id", value) + + @property + @pulumi.getter(name="sourceUri") + def source_uri(self) -> Optional[pulumi.Input[str]]: + """ + If createOption is Import, this is the URI of a blob to be imported into a managed disk. + """ + return pulumi.get(self, "source_uri") + + @source_uri.setter + def source_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_uri", value) + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> Optional[pulumi.Input[str]]: + """ + Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk. + """ + return pulumi.get(self, "storage_account_id") + + @storage_account_id.setter + def storage_account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_account_id", value) + + @property + @pulumi.getter(name="uploadSizeBytes") + def upload_size_bytes(self) -> Optional[pulumi.Input[float]]: + """ + If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer). + """ + return pulumi.get(self, "upload_size_bytes") + + @upload_size_bytes.setter + def upload_size_bytes(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "upload_size_bytes", value) + + +@pulumi.input_type +class DiskSecurityProfileArgs: + def __init__(__self__, *, + secure_vm_disk_encryption_set_id: Optional[pulumi.Input[str]] = None, + security_type: Optional[pulumi.Input[Union[str, 'DiskSecurityTypes']]] = None): + """ + Contains the security related information for the resource. + :param pulumi.Input[str] secure_vm_disk_encryption_set_id: ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key + :param pulumi.Input[Union[str, 'DiskSecurityTypes']] security_type: Specifies the SecurityType of the VM. Applicable for OS disks only. + """ + if secure_vm_disk_encryption_set_id is not None: + pulumi.set(__self__, "secure_vm_disk_encryption_set_id", secure_vm_disk_encryption_set_id) + if security_type is not None: + pulumi.set(__self__, "security_type", security_type) + + @property + @pulumi.getter(name="secureVMDiskEncryptionSetId") + def secure_vm_disk_encryption_set_id(self) -> Optional[pulumi.Input[str]]: + """ + ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key + """ + return pulumi.get(self, "secure_vm_disk_encryption_set_id") + + @secure_vm_disk_encryption_set_id.setter + def secure_vm_disk_encryption_set_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secure_vm_disk_encryption_set_id", value) + + @property + @pulumi.getter(name="securityType") + def security_type(self) -> Optional[pulumi.Input[Union[str, 'DiskSecurityTypes']]]: + """ + Specifies the SecurityType of the VM. Applicable for OS disks only. + """ + return pulumi.get(self, "security_type") + + @security_type.setter + def security_type(self, value: Optional[pulumi.Input[Union[str, 'DiskSecurityTypes']]]): + pulumi.set(self, "security_type", value) + + +@pulumi.input_type +class DiskSkuArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[Union[str, 'DiskStorageAccountTypes']]] = None): + """ + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + :param pulumi.Input[Union[str, 'DiskStorageAccountTypes']] name: The sku name. + """ + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[Union[str, 'DiskStorageAccountTypes']]]: + """ + The sku name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[Union[str, 'DiskStorageAccountTypes']]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class EncryptionSetIdentityArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input[Union[str, 'DiskEncryptionSetIdentityType']]] = None, + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + :param pulumi.Input[Union[str, 'DiskEncryptionSetIdentityType']] type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys. + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: The list of user identities associated with the disk encryption set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + if type is not None: + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[Union[str, 'DiskEncryptionSetIdentityType']]]: + """ + The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[Union[str, 'DiskEncryptionSetIdentityType']]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The list of user identities associated with the disk encryption set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_assigned_identities", value) + + +@pulumi.input_type +class EncryptionSettingsCollectionArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool], + encryption_settings: Optional[pulumi.Input[Sequence[pulumi.Input['EncryptionSettingsElementArgs']]]] = None, + encryption_settings_version: Optional[pulumi.Input[str]] = None): + """ + Encryption settings for disk or snapshot + :param pulumi.Input[bool] enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged. + :param pulumi.Input[Sequence[pulumi.Input['EncryptionSettingsElementArgs']]] encryption_settings: A collection of encryption settings, one for each disk volume. + :param pulumi.Input[str] encryption_settings_version: Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + """ + pulumi.set(__self__, "enabled", enabled) + if encryption_settings is not None: + pulumi.set(__self__, "encryption_settings", encryption_settings) + if encryption_settings_version is not None: + pulumi.set(__self__, "encryption_settings_version", encryption_settings_version) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="encryptionSettings") + def encryption_settings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EncryptionSettingsElementArgs']]]]: + """ + A collection of encryption settings, one for each disk volume. + """ + return pulumi.get(self, "encryption_settings") + + @encryption_settings.setter + def encryption_settings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EncryptionSettingsElementArgs']]]]): + pulumi.set(self, "encryption_settings", value) + + @property + @pulumi.getter(name="encryptionSettingsVersion") + def encryption_settings_version(self) -> Optional[pulumi.Input[str]]: + """ + Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + """ + return pulumi.get(self, "encryption_settings_version") + + @encryption_settings_version.setter + def encryption_settings_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encryption_settings_version", value) + + +@pulumi.input_type +class EncryptionSettingsElementArgs: + def __init__(__self__, *, + disk_encryption_key: Optional[pulumi.Input['KeyVaultAndSecretReferenceArgs']] = None, + key_encryption_key: Optional[pulumi.Input['KeyVaultAndKeyReferenceArgs']] = None): + """ + Encryption settings for one disk volume. + :param pulumi.Input['KeyVaultAndSecretReferenceArgs'] disk_encryption_key: Key Vault Secret Url and vault id of the disk encryption key + :param pulumi.Input['KeyVaultAndKeyReferenceArgs'] key_encryption_key: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key. + """ + if disk_encryption_key is not None: + pulumi.set(__self__, "disk_encryption_key", disk_encryption_key) + if key_encryption_key is not None: + pulumi.set(__self__, "key_encryption_key", key_encryption_key) + + @property + @pulumi.getter(name="diskEncryptionKey") + def disk_encryption_key(self) -> Optional[pulumi.Input['KeyVaultAndSecretReferenceArgs']]: + """ + Key Vault Secret Url and vault id of the disk encryption key + """ + return pulumi.get(self, "disk_encryption_key") + + @disk_encryption_key.setter + def disk_encryption_key(self, value: Optional[pulumi.Input['KeyVaultAndSecretReferenceArgs']]): + pulumi.set(self, "disk_encryption_key", value) + + @property + @pulumi.getter(name="keyEncryptionKey") + def key_encryption_key(self) -> Optional[pulumi.Input['KeyVaultAndKeyReferenceArgs']]: + """ + Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key. + """ + return pulumi.get(self, "key_encryption_key") + + @key_encryption_key.setter + def key_encryption_key(self, value: Optional[pulumi.Input['KeyVaultAndKeyReferenceArgs']]): + pulumi.set(self, "key_encryption_key", value) + + +@pulumi.input_type +class EncryptionArgs: + def __init__(__self__, *, + disk_encryption_set_id: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[Union[str, 'EncryptionType']]] = None): + """ + Encryption at rest settings for disk or snapshot + :param pulumi.Input[str] disk_encryption_set_id: ResourceId of the disk encryption set to use for enabling encryption at rest. + :param pulumi.Input[Union[str, 'EncryptionType']] type: The type of key used to encrypt the data of the disk. + """ + if disk_encryption_set_id is not None: + pulumi.set(__self__, "disk_encryption_set_id", disk_encryption_set_id) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="diskEncryptionSetId") + def disk_encryption_set_id(self) -> Optional[pulumi.Input[str]]: + """ + ResourceId of the disk encryption set to use for enabling encryption at rest. + """ + return pulumi.get(self, "disk_encryption_set_id") + + @disk_encryption_set_id.setter + def disk_encryption_set_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_encryption_set_id", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[Union[str, 'EncryptionType']]]: + """ + The type of key used to encrypt the data of the disk. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[Union[str, 'EncryptionType']]]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class ExtendedLocationArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[Union[str, 'ExtendedLocationTypes']]] = None): + """ + The complex type of the extended location. + :param pulumi.Input[str] name: The name of the extended location. + :param pulumi.Input[Union[str, 'ExtendedLocationTypes']] type: The type of the extended location. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the extended location. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[Union[str, 'ExtendedLocationTypes']]]: + """ + The type of the extended location. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[Union[str, 'ExtendedLocationTypes']]]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class ImageDiskReferenceArgs: + def __init__(__self__, *, + community_gallery_image_id: Optional[pulumi.Input[str]] = None, + id: Optional[pulumi.Input[str]] = None, + lun: Optional[pulumi.Input[int]] = None, + shared_gallery_image_id: Optional[pulumi.Input[str]] = None): + """ + The source image used for creating the disk. + :param pulumi.Input[str] community_gallery_image_id: A relative uri containing a community Azure Compute Gallery image reference. + :param pulumi.Input[str] id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference. + :param pulumi.Input[int] lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null. + :param pulumi.Input[str] shared_gallery_image_id: A relative uri containing a direct shared Azure Compute Gallery image reference. + """ + if community_gallery_image_id is not None: + pulumi.set(__self__, "community_gallery_image_id", community_gallery_image_id) + if id is not None: + pulumi.set(__self__, "id", id) + if lun is not None: + pulumi.set(__self__, "lun", lun) + if shared_gallery_image_id is not None: + pulumi.set(__self__, "shared_gallery_image_id", shared_gallery_image_id) + + @property + @pulumi.getter(name="communityGalleryImageId") + def community_gallery_image_id(self) -> Optional[pulumi.Input[str]]: + """ + A relative uri containing a community Azure Compute Gallery image reference. + """ + return pulumi.get(self, "community_gallery_image_id") + + @community_gallery_image_id.setter + def community_gallery_image_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "community_gallery_image_id", value) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter + def lun(self) -> Optional[pulumi.Input[int]]: + """ + If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null. + """ + return pulumi.get(self, "lun") + + @lun.setter + def lun(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "lun", value) + + @property + @pulumi.getter(name="sharedGalleryImageId") + def shared_gallery_image_id(self) -> Optional[pulumi.Input[str]]: + """ + A relative uri containing a direct shared Azure Compute Gallery image reference. + """ + return pulumi.get(self, "shared_gallery_image_id") + + @shared_gallery_image_id.setter + def shared_gallery_image_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "shared_gallery_image_id", value) + + +@pulumi.input_type +class KeyForDiskEncryptionSetArgs: + def __init__(__self__, *, + key_url: pulumi.Input[str], + source_vault: Optional[pulumi.Input['SourceVaultArgs']] = None): + """ + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + :param pulumi.Input[str] key_url: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value. + :param pulumi.Input['SourceVaultArgs'] source_vault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription. + """ + pulumi.set(__self__, "key_url", key_url) + if source_vault is not None: + pulumi.set(__self__, "source_vault", source_vault) + + @property + @pulumi.getter(name="keyUrl") + def key_url(self) -> pulumi.Input[str]: + """ + Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value. + """ + return pulumi.get(self, "key_url") + + @key_url.setter + def key_url(self, value: pulumi.Input[str]): + pulumi.set(self, "key_url", value) + + @property + @pulumi.getter(name="sourceVault") + def source_vault(self) -> Optional[pulumi.Input['SourceVaultArgs']]: + """ + Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription. + """ + return pulumi.get(self, "source_vault") + + @source_vault.setter + def source_vault(self, value: Optional[pulumi.Input['SourceVaultArgs']]): + pulumi.set(self, "source_vault", value) + + +@pulumi.input_type +class KeyVaultAndKeyReferenceArgs: + def __init__(__self__, *, + key_url: pulumi.Input[str], + source_vault: pulumi.Input['SourceVaultArgs']): + """ + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + :param pulumi.Input[str] key_url: Url pointing to a key or secret in KeyVault + :param pulumi.Input['SourceVaultArgs'] source_vault: Resource id of the KeyVault containing the key or secret + """ + pulumi.set(__self__, "key_url", key_url) + pulumi.set(__self__, "source_vault", source_vault) + + @property + @pulumi.getter(name="keyUrl") + def key_url(self) -> pulumi.Input[str]: + """ + Url pointing to a key or secret in KeyVault + """ + return pulumi.get(self, "key_url") + + @key_url.setter + def key_url(self, value: pulumi.Input[str]): + pulumi.set(self, "key_url", value) + + @property + @pulumi.getter(name="sourceVault") + def source_vault(self) -> pulumi.Input['SourceVaultArgs']: + """ + Resource id of the KeyVault containing the key or secret + """ + return pulumi.get(self, "source_vault") + + @source_vault.setter + def source_vault(self, value: pulumi.Input['SourceVaultArgs']): + pulumi.set(self, "source_vault", value) + + +@pulumi.input_type +class KeyVaultAndSecretReferenceArgs: + def __init__(__self__, *, + secret_url: pulumi.Input[str], + source_vault: pulumi.Input['SourceVaultArgs']): + """ + Key Vault Secret Url and vault id of the encryption key + :param pulumi.Input[str] secret_url: Url pointing to a key or secret in KeyVault + :param pulumi.Input['SourceVaultArgs'] source_vault: Resource id of the KeyVault containing the key or secret + """ + pulumi.set(__self__, "secret_url", secret_url) + pulumi.set(__self__, "source_vault", source_vault) + + @property + @pulumi.getter(name="secretUrl") + def secret_url(self) -> pulumi.Input[str]: + """ + Url pointing to a key or secret in KeyVault + """ + return pulumi.get(self, "secret_url") + + @secret_url.setter + def secret_url(self, value: pulumi.Input[str]): + pulumi.set(self, "secret_url", value) + + @property + @pulumi.getter(name="sourceVault") + def source_vault(self) -> pulumi.Input['SourceVaultArgs']: + """ + Resource id of the KeyVault containing the key or secret + """ + return pulumi.get(self, "source_vault") + + @source_vault.setter + def source_vault(self, value: pulumi.Input['SourceVaultArgs']): + pulumi.set(self, "source_vault", value) + + +@pulumi.input_type +class PrivateLinkServiceConnectionStateArgs: + def __init__(__self__, *, + actions_required: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]] = None): + """ + A collection of information about the state of the connection between service consumer and provider. + :param pulumi.Input[str] actions_required: A message indicating if changes on the service provider require any updates on the consumer. + :param pulumi.Input[str] description: The reason for approval/rejection of the connection. + :param pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']] status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ + if actions_required is not None: + pulumi.set(__self__, "actions_required", actions_required) + if description is not None: + pulumi.set(__self__, "description", description) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="actionsRequired") + def actions_required(self) -> Optional[pulumi.Input[str]]: + """ + A message indicating if changes on the service provider require any updates on the consumer. + """ + return pulumi.get(self, "actions_required") + + @actions_required.setter + def actions_required(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "actions_required", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The reason for approval/rejection of the connection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]]: + """ + Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]]): + pulumi.set(self, "status", value) + + +@pulumi.input_type +class PurchasePlanArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + product: pulumi.Input[str], + publisher: pulumi.Input[str], + promotion_code: Optional[pulumi.Input[str]] = None): + """ + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + :param pulumi.Input[str] name: The plan ID. + :param pulumi.Input[str] product: Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + :param pulumi.Input[str] publisher: The publisher ID. + :param pulumi.Input[str] promotion_code: The Offer Promotion Code. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "product", product) + pulumi.set(__self__, "publisher", publisher) + if promotion_code is not None: + pulumi.set(__self__, "promotion_code", promotion_code) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The plan ID. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def product(self) -> pulumi.Input[str]: + """ + Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + """ + return pulumi.get(self, "product") + + @product.setter + def product(self, value: pulumi.Input[str]): + pulumi.set(self, "product", value) + + @property + @pulumi.getter + def publisher(self) -> pulumi.Input[str]: + """ + The publisher ID. + """ + return pulumi.get(self, "publisher") + + @publisher.setter + def publisher(self, value: pulumi.Input[str]): + pulumi.set(self, "publisher", value) + + @property + @pulumi.getter(name="promotionCode") + def promotion_code(self) -> Optional[pulumi.Input[str]]: + """ + The Offer Promotion Code. + """ + return pulumi.get(self, "promotion_code") + + @promotion_code.setter + def promotion_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "promotion_code", value) + + +@pulumi.input_type +class SnapshotSkuArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[Union[str, 'SnapshotStorageAccountTypes']]] = None): + """ + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + :param pulumi.Input[Union[str, 'SnapshotStorageAccountTypes']] name: The sku name. + """ + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[Union[str, 'SnapshotStorageAccountTypes']]]: + """ + The sku name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[Union[str, 'SnapshotStorageAccountTypes']]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class SourceVaultArgs: + def __init__(__self__, *, + id: Optional[pulumi.Input[str]] = None): + """ + The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + :param pulumi.Input[str] id: Resource Id + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class SupportedCapabilitiesArgs: + def __init__(__self__, *, + accelerated_network: Optional[pulumi.Input[bool]] = None, + architecture: Optional[pulumi.Input[Union[str, 'Architecture']]] = None, + disk_controller_types: Optional[pulumi.Input[str]] = None): + """ + List of supported capabilities persisted on the disk resource for VM use. + :param pulumi.Input[bool] accelerated_network: True if the image from which the OS disk is created supports accelerated networking. + :param pulumi.Input[Union[str, 'Architecture']] architecture: CPU architecture supported by an OS disk. + :param pulumi.Input[str] disk_controller_types: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI. + """ + if accelerated_network is not None: + pulumi.set(__self__, "accelerated_network", accelerated_network) + if architecture is not None: + pulumi.set(__self__, "architecture", architecture) + if disk_controller_types is not None: + pulumi.set(__self__, "disk_controller_types", disk_controller_types) + + @property + @pulumi.getter(name="acceleratedNetwork") + def accelerated_network(self) -> Optional[pulumi.Input[bool]]: + """ + True if the image from which the OS disk is created supports accelerated networking. + """ + return pulumi.get(self, "accelerated_network") + + @accelerated_network.setter + def accelerated_network(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "accelerated_network", value) + + @property + @pulumi.getter + def architecture(self) -> Optional[pulumi.Input[Union[str, 'Architecture']]]: + """ + CPU architecture supported by an OS disk. + """ + return pulumi.get(self, "architecture") + + @architecture.setter + def architecture(self, value: Optional[pulumi.Input[Union[str, 'Architecture']]]): + pulumi.set(self, "architecture", value) + + @property + @pulumi.getter(name="diskControllerTypes") + def disk_controller_types(self) -> Optional[pulumi.Input[str]]: + """ + The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI. + """ + return pulumi.get(self, "disk_controller_types") + + @disk_controller_types.setter + def disk_controller_types(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_controller_types", value) + + diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/disk.py b/sdk/python/pulumi_azure_native/compute/v20230402/disk.py new file mode 100644 index 000000000000..73bc8bd7040b --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/disk.py @@ -0,0 +1,1079 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['DiskArgs', 'Disk'] + +@pulumi.input_type +class DiskArgs: + def __init__(__self__, *, + creation_data: pulumi.Input['CreationDataArgs'], + resource_group_name: pulumi.Input[str], + bursting_enabled: Optional[pulumi.Input[bool]] = None, + completion_percent: Optional[pulumi.Input[float]] = None, + data_access_auth_mode: Optional[pulumi.Input[Union[str, 'DataAccessAuthMode']]] = None, + disk_access_id: Optional[pulumi.Input[str]] = None, + disk_iops_read_only: Optional[pulumi.Input[float]] = None, + disk_iops_read_write: Optional[pulumi.Input[float]] = None, + disk_m_bps_read_only: Optional[pulumi.Input[float]] = None, + disk_m_bps_read_write: Optional[pulumi.Input[float]] = None, + disk_name: Optional[pulumi.Input[str]] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + encryption: Optional[pulumi.Input['EncryptionArgs']] = None, + encryption_settings_collection: Optional[pulumi.Input['EncryptionSettingsCollectionArgs']] = None, + extended_location: Optional[pulumi.Input['ExtendedLocationArgs']] = None, + hyper_v_generation: Optional[pulumi.Input[Union[str, 'HyperVGeneration']]] = None, + location: Optional[pulumi.Input[str]] = None, + max_shares: Optional[pulumi.Input[int]] = None, + network_access_policy: Optional[pulumi.Input[Union[str, 'NetworkAccessPolicy']]] = None, + optimized_for_frequent_attach: Optional[pulumi.Input[bool]] = None, + os_type: Optional[pulumi.Input['OperatingSystemTypes']] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None, + purchase_plan: Optional[pulumi.Input['PurchasePlanArgs']] = None, + security_profile: Optional[pulumi.Input['DiskSecurityProfileArgs']] = None, + sku: Optional[pulumi.Input['DiskSkuArgs']] = None, + supported_capabilities: Optional[pulumi.Input['SupportedCapabilitiesArgs']] = None, + supports_hibernation: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tier: Optional[pulumi.Input[str]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Disk resource. + :param pulumi.Input['CreationDataArgs'] creation_data: Disk source information. CreationData information cannot be changed after the disk has been created. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[bool] bursting_enabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks. + :param pulumi.Input[float] completion_percent: Percentage complete for the background copy when a resource is created via the CopyStart operation. + :param pulumi.Input[Union[str, 'DataAccessAuthMode']] data_access_auth_mode: Additional authentication requirements when exporting or uploading to a disk or snapshot. + :param pulumi.Input[str] disk_access_id: ARM id of the DiskAccess resource for using private endpoints on disks. + :param pulumi.Input[float] disk_iops_read_only: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes. + :param pulumi.Input[float] disk_iops_read_write: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. + :param pulumi.Input[float] disk_m_bps_read_only: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + :param pulumi.Input[float] disk_m_bps_read_write: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + :param pulumi.Input[str] disk_name: The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param pulumi.Input[int] disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + :param pulumi.Input['EncryptionArgs'] encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + :param pulumi.Input['EncryptionSettingsCollectionArgs'] encryption_settings_collection: Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + :param pulumi.Input['ExtendedLocationArgs'] extended_location: The extended location where the disk will be created. Extended location cannot be changed. + :param pulumi.Input[Union[str, 'HyperVGeneration']] hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[int] max_shares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time. + :param pulumi.Input[Union[str, 'NetworkAccessPolicy']] network_access_policy: Policy for accessing the disk via network. + :param pulumi.Input[bool] optimized_for_frequent_attach: Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. + :param pulumi.Input['OperatingSystemTypes'] os_type: The Operating System type. + :param pulumi.Input[Union[str, 'PublicNetworkAccess']] public_network_access: Policy for controlling export on the disk. + :param pulumi.Input['PurchasePlanArgs'] purchase_plan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + :param pulumi.Input['DiskSecurityProfileArgs'] security_profile: Contains the security related information for the resource. + :param pulumi.Input['DiskSkuArgs'] sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + :param pulumi.Input['SupportedCapabilitiesArgs'] supported_capabilities: List of supported capabilities for the image from which the OS disk was created. + :param pulumi.Input[bool] supports_hibernation: Indicates the OS on a disk supports hibernation. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[str] tier: Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: The Logical zone list for Disk. + """ + pulumi.set(__self__, "creation_data", creation_data) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if bursting_enabled is not None: + pulumi.set(__self__, "bursting_enabled", bursting_enabled) + if completion_percent is not None: + pulumi.set(__self__, "completion_percent", completion_percent) + if data_access_auth_mode is not None: + pulumi.set(__self__, "data_access_auth_mode", data_access_auth_mode) + if disk_access_id is not None: + pulumi.set(__self__, "disk_access_id", disk_access_id) + if disk_iops_read_only is not None: + pulumi.set(__self__, "disk_iops_read_only", disk_iops_read_only) + if disk_iops_read_write is not None: + pulumi.set(__self__, "disk_iops_read_write", disk_iops_read_write) + if disk_m_bps_read_only is not None: + pulumi.set(__self__, "disk_m_bps_read_only", disk_m_bps_read_only) + if disk_m_bps_read_write is not None: + pulumi.set(__self__, "disk_m_bps_read_write", disk_m_bps_read_write) + if disk_name is not None: + pulumi.set(__self__, "disk_name", disk_name) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if encryption_settings_collection is not None: + pulumi.set(__self__, "encryption_settings_collection", encryption_settings_collection) + if extended_location is not None: + pulumi.set(__self__, "extended_location", extended_location) + if hyper_v_generation is not None: + pulumi.set(__self__, "hyper_v_generation", hyper_v_generation) + if location is not None: + pulumi.set(__self__, "location", location) + if max_shares is not None: + pulumi.set(__self__, "max_shares", max_shares) + if network_access_policy is not None: + pulumi.set(__self__, "network_access_policy", network_access_policy) + if optimized_for_frequent_attach is not None: + pulumi.set(__self__, "optimized_for_frequent_attach", optimized_for_frequent_attach) + if os_type is not None: + pulumi.set(__self__, "os_type", os_type) + if public_network_access is not None: + pulumi.set(__self__, "public_network_access", public_network_access) + if purchase_plan is not None: + pulumi.set(__self__, "purchase_plan", purchase_plan) + if security_profile is not None: + pulumi.set(__self__, "security_profile", security_profile) + if sku is not None: + pulumi.set(__self__, "sku", sku) + if supported_capabilities is not None: + pulumi.set(__self__, "supported_capabilities", supported_capabilities) + if supports_hibernation is not None: + pulumi.set(__self__, "supports_hibernation", supports_hibernation) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tier is not None: + pulumi.set(__self__, "tier", tier) + if zones is not None: + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> pulumi.Input['CreationDataArgs']: + """ + Disk source information. CreationData information cannot be changed after the disk has been created. + """ + return pulumi.get(self, "creation_data") + + @creation_data.setter + def creation_data(self, value: pulumi.Input['CreationDataArgs']): + pulumi.set(self, "creation_data", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="burstingEnabled") + def bursting_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks. + """ + return pulumi.get(self, "bursting_enabled") + + @bursting_enabled.setter + def bursting_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "bursting_enabled", value) + + @property + @pulumi.getter(name="completionPercent") + def completion_percent(self) -> Optional[pulumi.Input[float]]: + """ + Percentage complete for the background copy when a resource is created via the CopyStart operation. + """ + return pulumi.get(self, "completion_percent") + + @completion_percent.setter + def completion_percent(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "completion_percent", value) + + @property + @pulumi.getter(name="dataAccessAuthMode") + def data_access_auth_mode(self) -> Optional[pulumi.Input[Union[str, 'DataAccessAuthMode']]]: + """ + Additional authentication requirements when exporting or uploading to a disk or snapshot. + """ + return pulumi.get(self, "data_access_auth_mode") + + @data_access_auth_mode.setter + def data_access_auth_mode(self, value: Optional[pulumi.Input[Union[str, 'DataAccessAuthMode']]]): + pulumi.set(self, "data_access_auth_mode", value) + + @property + @pulumi.getter(name="diskAccessId") + def disk_access_id(self) -> Optional[pulumi.Input[str]]: + """ + ARM id of the DiskAccess resource for using private endpoints on disks. + """ + return pulumi.get(self, "disk_access_id") + + @disk_access_id.setter + def disk_access_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_access_id", value) + + @property + @pulumi.getter(name="diskIOPSReadOnly") + def disk_iops_read_only(self) -> Optional[pulumi.Input[float]]: + """ + The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes. + """ + return pulumi.get(self, "disk_iops_read_only") + + @disk_iops_read_only.setter + def disk_iops_read_only(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "disk_iops_read_only", value) + + @property + @pulumi.getter(name="diskIOPSReadWrite") + def disk_iops_read_write(self) -> Optional[pulumi.Input[float]]: + """ + The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. + """ + return pulumi.get(self, "disk_iops_read_write") + + @disk_iops_read_write.setter + def disk_iops_read_write(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "disk_iops_read_write", value) + + @property + @pulumi.getter(name="diskMBpsReadOnly") + def disk_m_bps_read_only(self) -> Optional[pulumi.Input[float]]: + """ + The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + """ + return pulumi.get(self, "disk_m_bps_read_only") + + @disk_m_bps_read_only.setter + def disk_m_bps_read_only(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "disk_m_bps_read_only", value) + + @property + @pulumi.getter(name="diskMBpsReadWrite") + def disk_m_bps_read_write(self) -> Optional[pulumi.Input[float]]: + """ + The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + """ + return pulumi.get(self, "disk_m_bps_read_write") + + @disk_m_bps_read_write.setter + def disk_m_bps_read_write(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "disk_m_bps_read_write", value) + + @property + @pulumi.getter(name="diskName") + def disk_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + """ + return pulumi.get(self, "disk_name") + + @disk_name.setter + def disk_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_name", value) + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + """ + return pulumi.get(self, "disk_size_gb") + + @disk_size_gb.setter + def disk_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size_gb", value) + + @property + @pulumi.getter + def encryption(self) -> Optional[pulumi.Input['EncryptionArgs']]: + """ + Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + """ + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: Optional[pulumi.Input['EncryptionArgs']]): + pulumi.set(self, "encryption", value) + + @property + @pulumi.getter(name="encryptionSettingsCollection") + def encryption_settings_collection(self) -> Optional[pulumi.Input['EncryptionSettingsCollectionArgs']]: + """ + Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + """ + return pulumi.get(self, "encryption_settings_collection") + + @encryption_settings_collection.setter + def encryption_settings_collection(self, value: Optional[pulumi.Input['EncryptionSettingsCollectionArgs']]): + pulumi.set(self, "encryption_settings_collection", value) + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional[pulumi.Input['ExtendedLocationArgs']]: + """ + The extended location where the disk will be created. Extended location cannot be changed. + """ + return pulumi.get(self, "extended_location") + + @extended_location.setter + def extended_location(self, value: Optional[pulumi.Input['ExtendedLocationArgs']]): + pulumi.set(self, "extended_location", value) + + @property + @pulumi.getter(name="hyperVGeneration") + def hyper_v_generation(self) -> Optional[pulumi.Input[Union[str, 'HyperVGeneration']]]: + """ + The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + """ + return pulumi.get(self, "hyper_v_generation") + + @hyper_v_generation.setter + def hyper_v_generation(self, value: Optional[pulumi.Input[Union[str, 'HyperVGeneration']]]): + pulumi.set(self, "hyper_v_generation", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="maxShares") + def max_shares(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time. + """ + return pulumi.get(self, "max_shares") + + @max_shares.setter + def max_shares(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_shares", value) + + @property + @pulumi.getter(name="networkAccessPolicy") + def network_access_policy(self) -> Optional[pulumi.Input[Union[str, 'NetworkAccessPolicy']]]: + """ + Policy for accessing the disk via network. + """ + return pulumi.get(self, "network_access_policy") + + @network_access_policy.setter + def network_access_policy(self, value: Optional[pulumi.Input[Union[str, 'NetworkAccessPolicy']]]): + pulumi.set(self, "network_access_policy", value) + + @property + @pulumi.getter(name="optimizedForFrequentAttach") + def optimized_for_frequent_attach(self) -> Optional[pulumi.Input[bool]]: + """ + Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. + """ + return pulumi.get(self, "optimized_for_frequent_attach") + + @optimized_for_frequent_attach.setter + def optimized_for_frequent_attach(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "optimized_for_frequent_attach", value) + + @property + @pulumi.getter(name="osType") + def os_type(self) -> Optional[pulumi.Input['OperatingSystemTypes']]: + """ + The Operating System type. + """ + return pulumi.get(self, "os_type") + + @os_type.setter + def os_type(self, value: Optional[pulumi.Input['OperatingSystemTypes']]): + pulumi.set(self, "os_type", value) + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]]: + """ + Policy for controlling export on the disk. + """ + return pulumi.get(self, "public_network_access") + + @public_network_access.setter + def public_network_access(self, value: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]]): + pulumi.set(self, "public_network_access", value) + + @property + @pulumi.getter(name="purchasePlan") + def purchase_plan(self) -> Optional[pulumi.Input['PurchasePlanArgs']]: + """ + Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + """ + return pulumi.get(self, "purchase_plan") + + @purchase_plan.setter + def purchase_plan(self, value: Optional[pulumi.Input['PurchasePlanArgs']]): + pulumi.set(self, "purchase_plan", value) + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional[pulumi.Input['DiskSecurityProfileArgs']]: + """ + Contains the security related information for the resource. + """ + return pulumi.get(self, "security_profile") + + @security_profile.setter + def security_profile(self, value: Optional[pulumi.Input['DiskSecurityProfileArgs']]): + pulumi.set(self, "security_profile", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input['DiskSkuArgs']]: + """ + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input['DiskSkuArgs']]): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter(name="supportedCapabilities") + def supported_capabilities(self) -> Optional[pulumi.Input['SupportedCapabilitiesArgs']]: + """ + List of supported capabilities for the image from which the OS disk was created. + """ + return pulumi.get(self, "supported_capabilities") + + @supported_capabilities.setter + def supported_capabilities(self, value: Optional[pulumi.Input['SupportedCapabilitiesArgs']]): + pulumi.set(self, "supported_capabilities", value) + + @property + @pulumi.getter(name="supportsHibernation") + def supports_hibernation(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates the OS on a disk supports hibernation. + """ + return pulumi.get(self, "supports_hibernation") + + @supports_hibernation.setter + def supports_hibernation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "supports_hibernation", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def tier(self) -> Optional[pulumi.Input[str]]: + """ + Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + """ + return pulumi.get(self, "tier") + + @tier.setter + def tier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tier", value) + + @property + @pulumi.getter + def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The Logical zone list for Disk. + """ + return pulumi.get(self, "zones") + + @zones.setter + def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "zones", value) + + +class Disk(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + bursting_enabled: Optional[pulumi.Input[bool]] = None, + completion_percent: Optional[pulumi.Input[float]] = None, + creation_data: Optional[pulumi.Input[pulumi.InputType['CreationDataArgs']]] = None, + data_access_auth_mode: Optional[pulumi.Input[Union[str, 'DataAccessAuthMode']]] = None, + disk_access_id: Optional[pulumi.Input[str]] = None, + disk_iops_read_only: Optional[pulumi.Input[float]] = None, + disk_iops_read_write: Optional[pulumi.Input[float]] = None, + disk_m_bps_read_only: Optional[pulumi.Input[float]] = None, + disk_m_bps_read_write: Optional[pulumi.Input[float]] = None, + disk_name: Optional[pulumi.Input[str]] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + encryption: Optional[pulumi.Input[pulumi.InputType['EncryptionArgs']]] = None, + encryption_settings_collection: Optional[pulumi.Input[pulumi.InputType['EncryptionSettingsCollectionArgs']]] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + hyper_v_generation: Optional[pulumi.Input[Union[str, 'HyperVGeneration']]] = None, + location: Optional[pulumi.Input[str]] = None, + max_shares: Optional[pulumi.Input[int]] = None, + network_access_policy: Optional[pulumi.Input[Union[str, 'NetworkAccessPolicy']]] = None, + optimized_for_frequent_attach: Optional[pulumi.Input[bool]] = None, + os_type: Optional[pulumi.Input['OperatingSystemTypes']] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None, + purchase_plan: Optional[pulumi.Input[pulumi.InputType['PurchasePlanArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + security_profile: Optional[pulumi.Input[pulumi.InputType['DiskSecurityProfileArgs']]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['DiskSkuArgs']]] = None, + supported_capabilities: Optional[pulumi.Input[pulumi.InputType['SupportedCapabilitiesArgs']]] = None, + supports_hibernation: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tier: Optional[pulumi.Input[str]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Disk resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] bursting_enabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks. + :param pulumi.Input[float] completion_percent: Percentage complete for the background copy when a resource is created via the CopyStart operation. + :param pulumi.Input[pulumi.InputType['CreationDataArgs']] creation_data: Disk source information. CreationData information cannot be changed after the disk has been created. + :param pulumi.Input[Union[str, 'DataAccessAuthMode']] data_access_auth_mode: Additional authentication requirements when exporting or uploading to a disk or snapshot. + :param pulumi.Input[str] disk_access_id: ARM id of the DiskAccess resource for using private endpoints on disks. + :param pulumi.Input[float] disk_iops_read_only: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes. + :param pulumi.Input[float] disk_iops_read_write: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. + :param pulumi.Input[float] disk_m_bps_read_only: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + :param pulumi.Input[float] disk_m_bps_read_write: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + :param pulumi.Input[str] disk_name: The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param pulumi.Input[int] disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + :param pulumi.Input[pulumi.InputType['EncryptionArgs']] encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + :param pulumi.Input[pulumi.InputType['EncryptionSettingsCollectionArgs']] encryption_settings_collection: Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + :param pulumi.Input[pulumi.InputType['ExtendedLocationArgs']] extended_location: The extended location where the disk will be created. Extended location cannot be changed. + :param pulumi.Input[Union[str, 'HyperVGeneration']] hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[int] max_shares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time. + :param pulumi.Input[Union[str, 'NetworkAccessPolicy']] network_access_policy: Policy for accessing the disk via network. + :param pulumi.Input[bool] optimized_for_frequent_attach: Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. + :param pulumi.Input['OperatingSystemTypes'] os_type: The Operating System type. + :param pulumi.Input[Union[str, 'PublicNetworkAccess']] public_network_access: Policy for controlling export on the disk. + :param pulumi.Input[pulumi.InputType['PurchasePlanArgs']] purchase_plan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[pulumi.InputType['DiskSecurityProfileArgs']] security_profile: Contains the security related information for the resource. + :param pulumi.Input[pulumi.InputType['DiskSkuArgs']] sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + :param pulumi.Input[pulumi.InputType['SupportedCapabilitiesArgs']] supported_capabilities: List of supported capabilities for the image from which the OS disk was created. + :param pulumi.Input[bool] supports_hibernation: Indicates the OS on a disk supports hibernation. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[str] tier: Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: The Logical zone list for Disk. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DiskArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Disk resource. + + :param str resource_name: The name of the resource. + :param DiskArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DiskArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + bursting_enabled: Optional[pulumi.Input[bool]] = None, + completion_percent: Optional[pulumi.Input[float]] = None, + creation_data: Optional[pulumi.Input[pulumi.InputType['CreationDataArgs']]] = None, + data_access_auth_mode: Optional[pulumi.Input[Union[str, 'DataAccessAuthMode']]] = None, + disk_access_id: Optional[pulumi.Input[str]] = None, + disk_iops_read_only: Optional[pulumi.Input[float]] = None, + disk_iops_read_write: Optional[pulumi.Input[float]] = None, + disk_m_bps_read_only: Optional[pulumi.Input[float]] = None, + disk_m_bps_read_write: Optional[pulumi.Input[float]] = None, + disk_name: Optional[pulumi.Input[str]] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + encryption: Optional[pulumi.Input[pulumi.InputType['EncryptionArgs']]] = None, + encryption_settings_collection: Optional[pulumi.Input[pulumi.InputType['EncryptionSettingsCollectionArgs']]] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + hyper_v_generation: Optional[pulumi.Input[Union[str, 'HyperVGeneration']]] = None, + location: Optional[pulumi.Input[str]] = None, + max_shares: Optional[pulumi.Input[int]] = None, + network_access_policy: Optional[pulumi.Input[Union[str, 'NetworkAccessPolicy']]] = None, + optimized_for_frequent_attach: Optional[pulumi.Input[bool]] = None, + os_type: Optional[pulumi.Input['OperatingSystemTypes']] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None, + purchase_plan: Optional[pulumi.Input[pulumi.InputType['PurchasePlanArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + security_profile: Optional[pulumi.Input[pulumi.InputType['DiskSecurityProfileArgs']]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['DiskSkuArgs']]] = None, + supported_capabilities: Optional[pulumi.Input[pulumi.InputType['SupportedCapabilitiesArgs']]] = None, + supports_hibernation: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tier: Optional[pulumi.Input[str]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DiskArgs.__new__(DiskArgs) + + __props__.__dict__["bursting_enabled"] = bursting_enabled + __props__.__dict__["completion_percent"] = completion_percent + if creation_data is None and not opts.urn: + raise TypeError("Missing required property 'creation_data'") + __props__.__dict__["creation_data"] = creation_data + __props__.__dict__["data_access_auth_mode"] = data_access_auth_mode + __props__.__dict__["disk_access_id"] = disk_access_id + __props__.__dict__["disk_iops_read_only"] = disk_iops_read_only + __props__.__dict__["disk_iops_read_write"] = disk_iops_read_write + __props__.__dict__["disk_m_bps_read_only"] = disk_m_bps_read_only + __props__.__dict__["disk_m_bps_read_write"] = disk_m_bps_read_write + __props__.__dict__["disk_name"] = disk_name + __props__.__dict__["disk_size_gb"] = disk_size_gb + __props__.__dict__["encryption"] = encryption + __props__.__dict__["encryption_settings_collection"] = encryption_settings_collection + __props__.__dict__["extended_location"] = extended_location + __props__.__dict__["hyper_v_generation"] = hyper_v_generation + __props__.__dict__["location"] = location + __props__.__dict__["max_shares"] = max_shares + __props__.__dict__["network_access_policy"] = network_access_policy + __props__.__dict__["optimized_for_frequent_attach"] = optimized_for_frequent_attach + __props__.__dict__["os_type"] = os_type + __props__.__dict__["public_network_access"] = public_network_access + __props__.__dict__["purchase_plan"] = purchase_plan + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["security_profile"] = security_profile + __props__.__dict__["sku"] = sku + __props__.__dict__["supported_capabilities"] = supported_capabilities + __props__.__dict__["supports_hibernation"] = supports_hibernation + __props__.__dict__["tags"] = tags + __props__.__dict__["tier"] = tier + __props__.__dict__["zones"] = zones + __props__.__dict__["bursting_enabled_time"] = None + __props__.__dict__["disk_size_bytes"] = None + __props__.__dict__["disk_state"] = None + __props__.__dict__["last_ownership_update_time"] = None + __props__.__dict__["managed_by"] = None + __props__.__dict__["managed_by_extended"] = None + __props__.__dict__["name"] = None + __props__.__dict__["property_updates_in_progress"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["share_info"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["unique_id"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Disk"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Disk"), pulumi.Alias(type_="azure-native:compute/v20170330:Disk"), pulumi.Alias(type_="azure-native:compute/v20180401:Disk"), pulumi.Alias(type_="azure-native:compute/v20180601:Disk"), pulumi.Alias(type_="azure-native:compute/v20180930:Disk"), pulumi.Alias(type_="azure-native:compute/v20190301:Disk"), pulumi.Alias(type_="azure-native:compute/v20190701:Disk"), pulumi.Alias(type_="azure-native:compute/v20191101:Disk"), pulumi.Alias(type_="azure-native:compute/v20200501:Disk"), pulumi.Alias(type_="azure-native:compute/v20200630:Disk"), pulumi.Alias(type_="azure-native:compute/v20200930:Disk"), pulumi.Alias(type_="azure-native:compute/v20201201:Disk"), pulumi.Alias(type_="azure-native:compute/v20210401:Disk"), pulumi.Alias(type_="azure-native:compute/v20210801:Disk"), pulumi.Alias(type_="azure-native:compute/v20211201:Disk"), pulumi.Alias(type_="azure-native:compute/v20220302:Disk"), pulumi.Alias(type_="azure-native:compute/v20220702:Disk"), pulumi.Alias(type_="azure-native:compute/v20230102:Disk")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Disk, __self__).__init__( + 'azure-native:compute/v20230402:Disk', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Disk': + """ + Get an existing Disk resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DiskArgs.__new__(DiskArgs) + + __props__.__dict__["bursting_enabled"] = None + __props__.__dict__["bursting_enabled_time"] = None + __props__.__dict__["completion_percent"] = None + __props__.__dict__["creation_data"] = None + __props__.__dict__["data_access_auth_mode"] = None + __props__.__dict__["disk_access_id"] = None + __props__.__dict__["disk_iops_read_only"] = None + __props__.__dict__["disk_iops_read_write"] = None + __props__.__dict__["disk_m_bps_read_only"] = None + __props__.__dict__["disk_m_bps_read_write"] = None + __props__.__dict__["disk_size_bytes"] = None + __props__.__dict__["disk_size_gb"] = None + __props__.__dict__["disk_state"] = None + __props__.__dict__["encryption"] = None + __props__.__dict__["encryption_settings_collection"] = None + __props__.__dict__["extended_location"] = None + __props__.__dict__["hyper_v_generation"] = None + __props__.__dict__["last_ownership_update_time"] = None + __props__.__dict__["location"] = None + __props__.__dict__["managed_by"] = None + __props__.__dict__["managed_by_extended"] = None + __props__.__dict__["max_shares"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_access_policy"] = None + __props__.__dict__["optimized_for_frequent_attach"] = None + __props__.__dict__["os_type"] = None + __props__.__dict__["property_updates_in_progress"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["public_network_access"] = None + __props__.__dict__["purchase_plan"] = None + __props__.__dict__["security_profile"] = None + __props__.__dict__["share_info"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["supported_capabilities"] = None + __props__.__dict__["supports_hibernation"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["tier"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["unique_id"] = None + __props__.__dict__["zones"] = None + return Disk(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="burstingEnabled") + def bursting_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks. + """ + return pulumi.get(self, "bursting_enabled") + + @property + @pulumi.getter(name="burstingEnabledTime") + def bursting_enabled_time(self) -> pulumi.Output[str]: + """ + Latest time when bursting was last enabled on a disk. + """ + return pulumi.get(self, "bursting_enabled_time") + + @property + @pulumi.getter(name="completionPercent") + def completion_percent(self) -> pulumi.Output[Optional[float]]: + """ + Percentage complete for the background copy when a resource is created via the CopyStart operation. + """ + return pulumi.get(self, "completion_percent") + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> pulumi.Output['outputs.CreationDataResponse']: + """ + Disk source information. CreationData information cannot be changed after the disk has been created. + """ + return pulumi.get(self, "creation_data") + + @property + @pulumi.getter(name="dataAccessAuthMode") + def data_access_auth_mode(self) -> pulumi.Output[Optional[str]]: + """ + Additional authentication requirements when exporting or uploading to a disk or snapshot. + """ + return pulumi.get(self, "data_access_auth_mode") + + @property + @pulumi.getter(name="diskAccessId") + def disk_access_id(self) -> pulumi.Output[Optional[str]]: + """ + ARM id of the DiskAccess resource for using private endpoints on disks. + """ + return pulumi.get(self, "disk_access_id") + + @property + @pulumi.getter(name="diskIOPSReadOnly") + def disk_iops_read_only(self) -> pulumi.Output[Optional[float]]: + """ + The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes. + """ + return pulumi.get(self, "disk_iops_read_only") + + @property + @pulumi.getter(name="diskIOPSReadWrite") + def disk_iops_read_write(self) -> pulumi.Output[Optional[float]]: + """ + The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. + """ + return pulumi.get(self, "disk_iops_read_write") + + @property + @pulumi.getter(name="diskMBpsReadOnly") + def disk_m_bps_read_only(self) -> pulumi.Output[Optional[float]]: + """ + The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + """ + return pulumi.get(self, "disk_m_bps_read_only") + + @property + @pulumi.getter(name="diskMBpsReadWrite") + def disk_m_bps_read_write(self) -> pulumi.Output[Optional[float]]: + """ + The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + """ + return pulumi.get(self, "disk_m_bps_read_write") + + @property + @pulumi.getter(name="diskSizeBytes") + def disk_size_bytes(self) -> pulumi.Output[float]: + """ + The size of the disk in bytes. This field is read only. + """ + return pulumi.get(self, "disk_size_bytes") + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> pulumi.Output[Optional[int]]: + """ + If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter(name="diskState") + def disk_state(self) -> pulumi.Output[str]: + """ + The state of the disk. + """ + return pulumi.get(self, "disk_state") + + @property + @pulumi.getter + def encryption(self) -> pulumi.Output[Optional['outputs.EncryptionResponse']]: + """ + Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + """ + return pulumi.get(self, "encryption") + + @property + @pulumi.getter(name="encryptionSettingsCollection") + def encryption_settings_collection(self) -> pulumi.Output[Optional['outputs.EncryptionSettingsCollectionResponse']]: + """ + Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + """ + return pulumi.get(self, "encryption_settings_collection") + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> pulumi.Output[Optional['outputs.ExtendedLocationResponse']]: + """ + The extended location where the disk will be created. Extended location cannot be changed. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter(name="hyperVGeneration") + def hyper_v_generation(self) -> pulumi.Output[Optional[str]]: + """ + The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + """ + return pulumi.get(self, "hyper_v_generation") + + @property + @pulumi.getter(name="lastOwnershipUpdateTime") + def last_ownership_update_time(self) -> pulumi.Output[str]: + """ + The UTC time when the ownership state of the disk was last changed i.e., the time the disk was last attached or detached from a VM or the time when the VM to which the disk was attached was deallocated or started. + """ + return pulumi.get(self, "last_ownership_update_time") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> pulumi.Output[str]: + """ + A relative URI containing the ID of the VM that has the disk attached. + """ + return pulumi.get(self, "managed_by") + + @property + @pulumi.getter(name="managedByExtended") + def managed_by_extended(self) -> pulumi.Output[Sequence[str]]: + """ + List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs. + """ + return pulumi.get(self, "managed_by_extended") + + @property + @pulumi.getter(name="maxShares") + def max_shares(self) -> pulumi.Output[Optional[int]]: + """ + The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time. + """ + return pulumi.get(self, "max_shares") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkAccessPolicy") + def network_access_policy(self) -> pulumi.Output[Optional[str]]: + """ + Policy for accessing the disk via network. + """ + return pulumi.get(self, "network_access_policy") + + @property + @pulumi.getter(name="optimizedForFrequentAttach") + def optimized_for_frequent_attach(self) -> pulumi.Output[Optional[bool]]: + """ + Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. + """ + return pulumi.get(self, "optimized_for_frequent_attach") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> pulumi.Output[Optional[str]]: + """ + The Operating System type. + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter(name="propertyUpdatesInProgress") + def property_updates_in_progress(self) -> pulumi.Output['outputs.PropertyUpdatesInProgressResponse']: + """ + Properties of the disk for which update is pending. + """ + return pulumi.get(self, "property_updates_in_progress") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The disk provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> pulumi.Output[Optional[str]]: + """ + Policy for controlling export on the disk. + """ + return pulumi.get(self, "public_network_access") + + @property + @pulumi.getter(name="purchasePlan") + def purchase_plan(self) -> pulumi.Output[Optional['outputs.PurchasePlanResponse']]: + """ + Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + """ + return pulumi.get(self, "purchase_plan") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> pulumi.Output[Optional['outputs.DiskSecurityProfileResponse']]: + """ + Contains the security related information for the resource. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter(name="shareInfo") + def share_info(self) -> pulumi.Output[Sequence['outputs.ShareInfoElementResponse']]: + """ + Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs. + """ + return pulumi.get(self, "share_info") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output[Optional['outputs.DiskSkuResponse']]: + """ + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="supportedCapabilities") + def supported_capabilities(self) -> pulumi.Output[Optional['outputs.SupportedCapabilitiesResponse']]: + """ + List of supported capabilities for the image from which the OS disk was created. + """ + return pulumi.get(self, "supported_capabilities") + + @property + @pulumi.getter(name="supportsHibernation") + def supports_hibernation(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates the OS on a disk supports hibernation. + """ + return pulumi.get(self, "supports_hibernation") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def tier(self) -> pulumi.Output[Optional[str]]: + """ + Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + """ + return pulumi.get(self, "tier") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> pulumi.Output[str]: + """ + The time when the disk was created. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="uniqueId") + def unique_id(self) -> pulumi.Output[str]: + """ + Unique Guid identifying the resource. + """ + return pulumi.get(self, "unique_id") + + @property + @pulumi.getter + def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The Logical zone list for Disk. + """ + return pulumi.get(self, "zones") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/disk_access.py b/sdk/python/pulumi_azure_native/compute/v20230402/disk_access.py new file mode 100644 index 000000000000..eadca7f96b5b --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/disk_access.py @@ -0,0 +1,273 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['DiskAccessArgs', 'DiskAccess'] + +@pulumi.input_type +class DiskAccessArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + disk_access_name: Optional[pulumi.Input[str]] = None, + extended_location: Optional[pulumi.Input['ExtendedLocationArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a DiskAccess resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] disk_access_name: The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param pulumi.Input['ExtendedLocationArgs'] extended_location: The extended location where the disk access will be created. Extended location cannot be changed. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if disk_access_name is not None: + pulumi.set(__self__, "disk_access_name", disk_access_name) + if extended_location is not None: + pulumi.set(__self__, "extended_location", extended_location) + if location is not None: + pulumi.set(__self__, "location", location) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="diskAccessName") + def disk_access_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + """ + return pulumi.get(self, "disk_access_name") + + @disk_access_name.setter + def disk_access_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_access_name", value) + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional[pulumi.Input['ExtendedLocationArgs']]: + """ + The extended location where the disk access will be created. Extended location cannot be changed. + """ + return pulumi.get(self, "extended_location") + + @extended_location.setter + def extended_location(self, value: Optional[pulumi.Input['ExtendedLocationArgs']]): + pulumi.set(self, "extended_location", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class DiskAccess(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + disk_access_name: Optional[pulumi.Input[str]] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + disk access resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] disk_access_name: The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param pulumi.Input[pulumi.InputType['ExtendedLocationArgs']] extended_location: The extended location where the disk access will be created. Extended location cannot be changed. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DiskAccessArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + disk access resource. + + :param str resource_name: The name of the resource. + :param DiskAccessArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DiskAccessArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + disk_access_name: Optional[pulumi.Input[str]] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DiskAccessArgs.__new__(DiskAccessArgs) + + __props__.__dict__["disk_access_name"] = disk_access_name + __props__.__dict__["extended_location"] = extended_location + __props__.__dict__["location"] = location + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["tags"] = tags + __props__.__dict__["name"] = None + __props__.__dict__["private_endpoint_connections"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200501:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskAccess"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskAccess")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(DiskAccess, __self__).__init__( + 'azure-native:compute/v20230402:DiskAccess', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DiskAccess': + """ + Get an existing DiskAccess resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DiskAccessArgs.__new__(DiskAccessArgs) + + __props__.__dict__["extended_location"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["private_endpoint_connections"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + return DiskAccess(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> pulumi.Output[Optional['outputs.ExtendedLocationResponse']]: + """ + The extended location where the disk access will be created. Extended location cannot be changed. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> pulumi.Output[Sequence['outputs.PrivateEndpointConnectionResponse']]: + """ + A readonly collection of private endpoint connections created on the disk. Currently only one endpoint connection is supported. + """ + return pulumi.get(self, "private_endpoint_connections") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The disk access resource provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> pulumi.Output[str]: + """ + The time when the disk access was created. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/disk_access_a_private_endpoint_connection.py b/sdk/python/pulumi_azure_native/compute/v20230402/disk_access_a_private_endpoint_connection.py new file mode 100644 index 000000000000..c0047b70d2ce --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/disk_access_a_private_endpoint_connection.py @@ -0,0 +1,227 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['DiskAccessAPrivateEndpointConnectionArgs', 'DiskAccessAPrivateEndpointConnection'] + +@pulumi.input_type +class DiskAccessAPrivateEndpointConnectionArgs: + def __init__(__self__, *, + disk_access_name: pulumi.Input[str], + private_link_service_connection_state: pulumi.Input['PrivateLinkServiceConnectionStateArgs'], + resource_group_name: pulumi.Input[str], + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DiskAccessAPrivateEndpointConnection resource. + :param pulumi.Input[str] disk_access_name: The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param pulumi.Input['PrivateLinkServiceConnectionStateArgs'] private_link_service_connection_state: A collection of information about the state of the connection between DiskAccess and Virtual Network. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] private_endpoint_connection_name: The name of the private endpoint connection. + """ + pulumi.set(__self__, "disk_access_name", disk_access_name) + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if private_endpoint_connection_name is not None: + pulumi.set(__self__, "private_endpoint_connection_name", private_endpoint_connection_name) + + @property + @pulumi.getter(name="diskAccessName") + def disk_access_name(self) -> pulumi.Input[str]: + """ + The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + """ + return pulumi.get(self, "disk_access_name") + + @disk_access_name.setter + def disk_access_name(self, value: pulumi.Input[str]): + pulumi.set(self, "disk_access_name", value) + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> pulumi.Input['PrivateLinkServiceConnectionStateArgs']: + """ + A collection of information about the state of the connection between DiskAccess and Virtual Network. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @private_link_service_connection_state.setter + def private_link_service_connection_state(self, value: pulumi.Input['PrivateLinkServiceConnectionStateArgs']): + pulumi.set(self, "private_link_service_connection_state", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="privateEndpointConnectionName") + def private_endpoint_connection_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the private endpoint connection. + """ + return pulumi.get(self, "private_endpoint_connection_name") + + @private_endpoint_connection_name.setter + def private_endpoint_connection_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "private_endpoint_connection_name", value) + + +class DiskAccessAPrivateEndpointConnection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + disk_access_name: Optional[pulumi.Input[str]] = None, + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, + private_link_service_connection_state: Optional[pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionStateArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The Private Endpoint Connection resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] disk_access_name: The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param pulumi.Input[str] private_endpoint_connection_name: The name of the private endpoint connection. + :param pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionStateArgs']] private_link_service_connection_state: A collection of information about the state of the connection between DiskAccess and Virtual Network. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DiskAccessAPrivateEndpointConnectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The Private Endpoint Connection resource. + + :param str resource_name: The name of the resource. + :param DiskAccessAPrivateEndpointConnectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DiskAccessAPrivateEndpointConnectionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + disk_access_name: Optional[pulumi.Input[str]] = None, + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, + private_link_service_connection_state: Optional[pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionStateArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DiskAccessAPrivateEndpointConnectionArgs.__new__(DiskAccessAPrivateEndpointConnectionArgs) + + if disk_access_name is None and not opts.urn: + raise TypeError("Missing required property 'disk_access_name'") + __props__.__dict__["disk_access_name"] = disk_access_name + __props__.__dict__["private_endpoint_connection_name"] = private_endpoint_connection_name + if private_link_service_connection_state is None and not opts.urn: + raise TypeError("Missing required property 'private_link_service_connection_state'") + __props__.__dict__["private_link_service_connection_state"] = private_link_service_connection_state + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["name"] = None + __props__.__dict__["private_endpoint"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskAccessAPrivateEndpointConnection"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskAccessAPrivateEndpointConnection")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(DiskAccessAPrivateEndpointConnection, __self__).__init__( + 'azure-native:compute/v20230402:DiskAccessAPrivateEndpointConnection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DiskAccessAPrivateEndpointConnection': + """ + Get an existing DiskAccessAPrivateEndpointConnection resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DiskAccessAPrivateEndpointConnectionArgs.__new__(DiskAccessAPrivateEndpointConnectionArgs) + + __props__.__dict__["name"] = None + __props__.__dict__["private_endpoint"] = None + __props__.__dict__["private_link_service_connection_state"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + return DiskAccessAPrivateEndpointConnection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + private endpoint connection name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="privateEndpoint") + def private_endpoint(self) -> pulumi.Output['outputs.PrivateEndpointResponse']: + """ + The resource of private end point. + """ + return pulumi.get(self, "private_endpoint") + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> pulumi.Output['outputs.PrivateLinkServiceConnectionStateResponse']: + """ + A collection of information about the state of the connection between DiskAccess and Virtual Network. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state of the private endpoint connection resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + private endpoint connection type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/disk_encryption_set.py b/sdk/python/pulumi_azure_native/compute/v20230402/disk_encryption_set.py new file mode 100644 index 000000000000..db2f78a5b887 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/disk_encryption_set.py @@ -0,0 +1,399 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['DiskEncryptionSetArgs', 'DiskEncryptionSet'] + +@pulumi.input_type +class DiskEncryptionSetArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + active_key: Optional[pulumi.Input['KeyForDiskEncryptionSetArgs']] = None, + disk_encryption_set_name: Optional[pulumi.Input[str]] = None, + encryption_type: Optional[pulumi.Input[Union[str, 'DiskEncryptionSetType']]] = None, + federated_client_id: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input['EncryptionSetIdentityArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + rotation_to_latest_key_version_enabled: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a DiskEncryptionSet resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input['KeyForDiskEncryptionSetArgs'] active_key: The key vault key which is currently used by this disk encryption set. + :param pulumi.Input[str] disk_encryption_set_name: The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param pulumi.Input[Union[str, 'DiskEncryptionSetType']] encryption_type: The type of key used to encrypt the data of the disk. + :param pulumi.Input[str] federated_client_id: Multi-tenant application client id to access key vault in a different tenant. Setting the value to 'None' will clear the property. + :param pulumi.Input['EncryptionSetIdentityArgs'] identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[bool] rotation_to_latest_key_version_enabled: Set this flag to true to enable auto-updating of this disk encryption set to the latest key version. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if active_key is not None: + pulumi.set(__self__, "active_key", active_key) + if disk_encryption_set_name is not None: + pulumi.set(__self__, "disk_encryption_set_name", disk_encryption_set_name) + if encryption_type is not None: + pulumi.set(__self__, "encryption_type", encryption_type) + if federated_client_id is not None: + pulumi.set(__self__, "federated_client_id", federated_client_id) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if location is not None: + pulumi.set(__self__, "location", location) + if rotation_to_latest_key_version_enabled is not None: + pulumi.set(__self__, "rotation_to_latest_key_version_enabled", rotation_to_latest_key_version_enabled) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="activeKey") + def active_key(self) -> Optional[pulumi.Input['KeyForDiskEncryptionSetArgs']]: + """ + The key vault key which is currently used by this disk encryption set. + """ + return pulumi.get(self, "active_key") + + @active_key.setter + def active_key(self, value: Optional[pulumi.Input['KeyForDiskEncryptionSetArgs']]): + pulumi.set(self, "active_key", value) + + @property + @pulumi.getter(name="diskEncryptionSetName") + def disk_encryption_set_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + """ + return pulumi.get(self, "disk_encryption_set_name") + + @disk_encryption_set_name.setter + def disk_encryption_set_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_encryption_set_name", value) + + @property + @pulumi.getter(name="encryptionType") + def encryption_type(self) -> Optional[pulumi.Input[Union[str, 'DiskEncryptionSetType']]]: + """ + The type of key used to encrypt the data of the disk. + """ + return pulumi.get(self, "encryption_type") + + @encryption_type.setter + def encryption_type(self, value: Optional[pulumi.Input[Union[str, 'DiskEncryptionSetType']]]): + pulumi.set(self, "encryption_type", value) + + @property + @pulumi.getter(name="federatedClientId") + def federated_client_id(self) -> Optional[pulumi.Input[str]]: + """ + Multi-tenant application client id to access key vault in a different tenant. Setting the value to 'None' will clear the property. + """ + return pulumi.get(self, "federated_client_id") + + @federated_client_id.setter + def federated_client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "federated_client_id", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['EncryptionSetIdentityArgs']]: + """ + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['EncryptionSetIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="rotationToLatestKeyVersionEnabled") + def rotation_to_latest_key_version_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Set this flag to true to enable auto-updating of this disk encryption set to the latest key version. + """ + return pulumi.get(self, "rotation_to_latest_key_version_enabled") + + @rotation_to_latest_key_version_enabled.setter + def rotation_to_latest_key_version_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "rotation_to_latest_key_version_enabled", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class DiskEncryptionSet(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + active_key: Optional[pulumi.Input[pulumi.InputType['KeyForDiskEncryptionSetArgs']]] = None, + disk_encryption_set_name: Optional[pulumi.Input[str]] = None, + encryption_type: Optional[pulumi.Input[Union[str, 'DiskEncryptionSetType']]] = None, + federated_client_id: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['EncryptionSetIdentityArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + rotation_to_latest_key_version_enabled: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + disk encryption set resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['KeyForDiskEncryptionSetArgs']] active_key: The key vault key which is currently used by this disk encryption set. + :param pulumi.Input[str] disk_encryption_set_name: The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param pulumi.Input[Union[str, 'DiskEncryptionSetType']] encryption_type: The type of key used to encrypt the data of the disk. + :param pulumi.Input[str] federated_client_id: Multi-tenant application client id to access key vault in a different tenant. Setting the value to 'None' will clear the property. + :param pulumi.Input[pulumi.InputType['EncryptionSetIdentityArgs']] identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[bool] rotation_to_latest_key_version_enabled: Set this flag to true to enable auto-updating of this disk encryption set to the latest key version. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DiskEncryptionSetArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + disk encryption set resource. + + :param str resource_name: The name of the resource. + :param DiskEncryptionSetArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DiskEncryptionSetArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + active_key: Optional[pulumi.Input[pulumi.InputType['KeyForDiskEncryptionSetArgs']]] = None, + disk_encryption_set_name: Optional[pulumi.Input[str]] = None, + encryption_type: Optional[pulumi.Input[Union[str, 'DiskEncryptionSetType']]] = None, + federated_client_id: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['EncryptionSetIdentityArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + rotation_to_latest_key_version_enabled: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DiskEncryptionSetArgs.__new__(DiskEncryptionSetArgs) + + __props__.__dict__["active_key"] = active_key + __props__.__dict__["disk_encryption_set_name"] = disk_encryption_set_name + __props__.__dict__["encryption_type"] = encryption_type + __props__.__dict__["federated_client_id"] = federated_client_id + __props__.__dict__["identity"] = identity + __props__.__dict__["location"] = location + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["rotation_to_latest_key_version_enabled"] = rotation_to_latest_key_version_enabled + __props__.__dict__["tags"] = tags + __props__.__dict__["auto_key_rotation_error"] = None + __props__.__dict__["last_key_rotation_timestamp"] = None + __props__.__dict__["name"] = None + __props__.__dict__["previous_keys"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20190701:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20191101:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200501:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200630:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20200930:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20201201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210401:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20210801:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20211201:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20220302:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20220702:DiskEncryptionSet"), pulumi.Alias(type_="azure-native:compute/v20230102:DiskEncryptionSet")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(DiskEncryptionSet, __self__).__init__( + 'azure-native:compute/v20230402:DiskEncryptionSet', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DiskEncryptionSet': + """ + Get an existing DiskEncryptionSet resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DiskEncryptionSetArgs.__new__(DiskEncryptionSetArgs) + + __props__.__dict__["active_key"] = None + __props__.__dict__["auto_key_rotation_error"] = None + __props__.__dict__["encryption_type"] = None + __props__.__dict__["federated_client_id"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["last_key_rotation_timestamp"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["previous_keys"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["rotation_to_latest_key_version_enabled"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return DiskEncryptionSet(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="activeKey") + def active_key(self) -> pulumi.Output[Optional['outputs.KeyForDiskEncryptionSetResponse']]: + """ + The key vault key which is currently used by this disk encryption set. + """ + return pulumi.get(self, "active_key") + + @property + @pulumi.getter(name="autoKeyRotationError") + def auto_key_rotation_error(self) -> pulumi.Output['outputs.ApiErrorResponse']: + """ + The error that was encountered during auto-key rotation. If an error is present, then auto-key rotation will not be attempted until the error on this disk encryption set is fixed. + """ + return pulumi.get(self, "auto_key_rotation_error") + + @property + @pulumi.getter(name="encryptionType") + def encryption_type(self) -> pulumi.Output[Optional[str]]: + """ + The type of key used to encrypt the data of the disk. + """ + return pulumi.get(self, "encryption_type") + + @property + @pulumi.getter(name="federatedClientId") + def federated_client_id(self) -> pulumi.Output[Optional[str]]: + """ + Multi-tenant application client id to access key vault in a different tenant. Setting the value to 'None' will clear the property. + """ + return pulumi.get(self, "federated_client_id") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.EncryptionSetIdentityResponse']]: + """ + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="lastKeyRotationTimestamp") + def last_key_rotation_timestamp(self) -> pulumi.Output[str]: + """ + The time when the active key of this disk encryption set was updated. + """ + return pulumi.get(self, "last_key_rotation_timestamp") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="previousKeys") + def previous_keys(self) -> pulumi.Output[Sequence['outputs.KeyForDiskEncryptionSetResponse']]: + """ + A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation. + """ + return pulumi.get(self, "previous_keys") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The disk encryption set provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="rotationToLatestKeyVersionEnabled") + def rotation_to_latest_key_version_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Set this flag to true to enable auto-updating of this disk encryption set to the latest key version. + """ + return pulumi.get(self, "rotation_to_latest_key_version_enabled") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/get_disk.py b/sdk/python/pulumi_azure_native/compute/v20230402/get_disk.py new file mode 100644 index 000000000000..c24383b6909e --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/get_disk.py @@ -0,0 +1,612 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetDiskResult', + 'AwaitableGetDiskResult', + 'get_disk', + 'get_disk_output', +] + +@pulumi.output_type +class GetDiskResult: + """ + Disk resource. + """ + def __init__(__self__, bursting_enabled=None, bursting_enabled_time=None, completion_percent=None, creation_data=None, data_access_auth_mode=None, disk_access_id=None, disk_iops_read_only=None, disk_iops_read_write=None, disk_m_bps_read_only=None, disk_m_bps_read_write=None, disk_size_bytes=None, disk_size_gb=None, disk_state=None, encryption=None, encryption_settings_collection=None, extended_location=None, hyper_v_generation=None, id=None, last_ownership_update_time=None, location=None, managed_by=None, managed_by_extended=None, max_shares=None, name=None, network_access_policy=None, optimized_for_frequent_attach=None, os_type=None, property_updates_in_progress=None, provisioning_state=None, public_network_access=None, purchase_plan=None, security_profile=None, share_info=None, sku=None, supported_capabilities=None, supports_hibernation=None, tags=None, tier=None, time_created=None, type=None, unique_id=None, zones=None): + if bursting_enabled and not isinstance(bursting_enabled, bool): + raise TypeError("Expected argument 'bursting_enabled' to be a bool") + pulumi.set(__self__, "bursting_enabled", bursting_enabled) + if bursting_enabled_time and not isinstance(bursting_enabled_time, str): + raise TypeError("Expected argument 'bursting_enabled_time' to be a str") + pulumi.set(__self__, "bursting_enabled_time", bursting_enabled_time) + if completion_percent and not isinstance(completion_percent, float): + raise TypeError("Expected argument 'completion_percent' to be a float") + pulumi.set(__self__, "completion_percent", completion_percent) + if creation_data and not isinstance(creation_data, dict): + raise TypeError("Expected argument 'creation_data' to be a dict") + pulumi.set(__self__, "creation_data", creation_data) + if data_access_auth_mode and not isinstance(data_access_auth_mode, str): + raise TypeError("Expected argument 'data_access_auth_mode' to be a str") + pulumi.set(__self__, "data_access_auth_mode", data_access_auth_mode) + if disk_access_id and not isinstance(disk_access_id, str): + raise TypeError("Expected argument 'disk_access_id' to be a str") + pulumi.set(__self__, "disk_access_id", disk_access_id) + if disk_iops_read_only and not isinstance(disk_iops_read_only, float): + raise TypeError("Expected argument 'disk_iops_read_only' to be a float") + pulumi.set(__self__, "disk_iops_read_only", disk_iops_read_only) + if disk_iops_read_write and not isinstance(disk_iops_read_write, float): + raise TypeError("Expected argument 'disk_iops_read_write' to be a float") + pulumi.set(__self__, "disk_iops_read_write", disk_iops_read_write) + if disk_m_bps_read_only and not isinstance(disk_m_bps_read_only, float): + raise TypeError("Expected argument 'disk_m_bps_read_only' to be a float") + pulumi.set(__self__, "disk_m_bps_read_only", disk_m_bps_read_only) + if disk_m_bps_read_write and not isinstance(disk_m_bps_read_write, float): + raise TypeError("Expected argument 'disk_m_bps_read_write' to be a float") + pulumi.set(__self__, "disk_m_bps_read_write", disk_m_bps_read_write) + if disk_size_bytes and not isinstance(disk_size_bytes, float): + raise TypeError("Expected argument 'disk_size_bytes' to be a float") + pulumi.set(__self__, "disk_size_bytes", disk_size_bytes) + if disk_size_gb and not isinstance(disk_size_gb, int): + raise TypeError("Expected argument 'disk_size_gb' to be a int") + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if disk_state and not isinstance(disk_state, str): + raise TypeError("Expected argument 'disk_state' to be a str") + pulumi.set(__self__, "disk_state", disk_state) + if encryption and not isinstance(encryption, dict): + raise TypeError("Expected argument 'encryption' to be a dict") + pulumi.set(__self__, "encryption", encryption) + if encryption_settings_collection and not isinstance(encryption_settings_collection, dict): + raise TypeError("Expected argument 'encryption_settings_collection' to be a dict") + pulumi.set(__self__, "encryption_settings_collection", encryption_settings_collection) + if extended_location and not isinstance(extended_location, dict): + raise TypeError("Expected argument 'extended_location' to be a dict") + pulumi.set(__self__, "extended_location", extended_location) + if hyper_v_generation and not isinstance(hyper_v_generation, str): + raise TypeError("Expected argument 'hyper_v_generation' to be a str") + pulumi.set(__self__, "hyper_v_generation", hyper_v_generation) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if last_ownership_update_time and not isinstance(last_ownership_update_time, str): + raise TypeError("Expected argument 'last_ownership_update_time' to be a str") + pulumi.set(__self__, "last_ownership_update_time", last_ownership_update_time) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if managed_by and not isinstance(managed_by, str): + raise TypeError("Expected argument 'managed_by' to be a str") + pulumi.set(__self__, "managed_by", managed_by) + if managed_by_extended and not isinstance(managed_by_extended, list): + raise TypeError("Expected argument 'managed_by_extended' to be a list") + pulumi.set(__self__, "managed_by_extended", managed_by_extended) + if max_shares and not isinstance(max_shares, int): + raise TypeError("Expected argument 'max_shares' to be a int") + pulumi.set(__self__, "max_shares", max_shares) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if network_access_policy and not isinstance(network_access_policy, str): + raise TypeError("Expected argument 'network_access_policy' to be a str") + pulumi.set(__self__, "network_access_policy", network_access_policy) + if optimized_for_frequent_attach and not isinstance(optimized_for_frequent_attach, bool): + raise TypeError("Expected argument 'optimized_for_frequent_attach' to be a bool") + pulumi.set(__self__, "optimized_for_frequent_attach", optimized_for_frequent_attach) + if os_type and not isinstance(os_type, str): + raise TypeError("Expected argument 'os_type' to be a str") + pulumi.set(__self__, "os_type", os_type) + if property_updates_in_progress and not isinstance(property_updates_in_progress, dict): + raise TypeError("Expected argument 'property_updates_in_progress' to be a dict") + pulumi.set(__self__, "property_updates_in_progress", property_updates_in_progress) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if public_network_access and not isinstance(public_network_access, str): + raise TypeError("Expected argument 'public_network_access' to be a str") + pulumi.set(__self__, "public_network_access", public_network_access) + if purchase_plan and not isinstance(purchase_plan, dict): + raise TypeError("Expected argument 'purchase_plan' to be a dict") + pulumi.set(__self__, "purchase_plan", purchase_plan) + if security_profile and not isinstance(security_profile, dict): + raise TypeError("Expected argument 'security_profile' to be a dict") + pulumi.set(__self__, "security_profile", security_profile) + if share_info and not isinstance(share_info, list): + raise TypeError("Expected argument 'share_info' to be a list") + pulumi.set(__self__, "share_info", share_info) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if supported_capabilities and not isinstance(supported_capabilities, dict): + raise TypeError("Expected argument 'supported_capabilities' to be a dict") + pulumi.set(__self__, "supported_capabilities", supported_capabilities) + if supports_hibernation and not isinstance(supports_hibernation, bool): + raise TypeError("Expected argument 'supports_hibernation' to be a bool") + pulumi.set(__self__, "supports_hibernation", supports_hibernation) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if tier and not isinstance(tier, str): + raise TypeError("Expected argument 'tier' to be a str") + pulumi.set(__self__, "tier", tier) + if time_created and not isinstance(time_created, str): + raise TypeError("Expected argument 'time_created' to be a str") + pulumi.set(__self__, "time_created", time_created) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if unique_id and not isinstance(unique_id, str): + raise TypeError("Expected argument 'unique_id' to be a str") + pulumi.set(__self__, "unique_id", unique_id) + if zones and not isinstance(zones, list): + raise TypeError("Expected argument 'zones' to be a list") + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="burstingEnabled") + def bursting_enabled(self) -> Optional[bool]: + """ + Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks. + """ + return pulumi.get(self, "bursting_enabled") + + @property + @pulumi.getter(name="burstingEnabledTime") + def bursting_enabled_time(self) -> str: + """ + Latest time when bursting was last enabled on a disk. + """ + return pulumi.get(self, "bursting_enabled_time") + + @property + @pulumi.getter(name="completionPercent") + def completion_percent(self) -> Optional[float]: + """ + Percentage complete for the background copy when a resource is created via the CopyStart operation. + """ + return pulumi.get(self, "completion_percent") + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> 'outputs.CreationDataResponse': + """ + Disk source information. CreationData information cannot be changed after the disk has been created. + """ + return pulumi.get(self, "creation_data") + + @property + @pulumi.getter(name="dataAccessAuthMode") + def data_access_auth_mode(self) -> Optional[str]: + """ + Additional authentication requirements when exporting or uploading to a disk or snapshot. + """ + return pulumi.get(self, "data_access_auth_mode") + + @property + @pulumi.getter(name="diskAccessId") + def disk_access_id(self) -> Optional[str]: + """ + ARM id of the DiskAccess resource for using private endpoints on disks. + """ + return pulumi.get(self, "disk_access_id") + + @property + @pulumi.getter(name="diskIOPSReadOnly") + def disk_iops_read_only(self) -> Optional[float]: + """ + The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes. + """ + return pulumi.get(self, "disk_iops_read_only") + + @property + @pulumi.getter(name="diskIOPSReadWrite") + def disk_iops_read_write(self) -> Optional[float]: + """ + The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. + """ + return pulumi.get(self, "disk_iops_read_write") + + @property + @pulumi.getter(name="diskMBpsReadOnly") + def disk_m_bps_read_only(self) -> Optional[float]: + """ + The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + """ + return pulumi.get(self, "disk_m_bps_read_only") + + @property + @pulumi.getter(name="diskMBpsReadWrite") + def disk_m_bps_read_write(self) -> Optional[float]: + """ + The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + """ + return pulumi.get(self, "disk_m_bps_read_write") + + @property + @pulumi.getter(name="diskSizeBytes") + def disk_size_bytes(self) -> float: + """ + The size of the disk in bytes. This field is read only. + """ + return pulumi.get(self, "disk_size_bytes") + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[int]: + """ + If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter(name="diskState") + def disk_state(self) -> str: + """ + The state of the disk. + """ + return pulumi.get(self, "disk_state") + + @property + @pulumi.getter + def encryption(self) -> Optional['outputs.EncryptionResponse']: + """ + Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + """ + return pulumi.get(self, "encryption") + + @property + @pulumi.getter(name="encryptionSettingsCollection") + def encryption_settings_collection(self) -> Optional['outputs.EncryptionSettingsCollectionResponse']: + """ + Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + """ + return pulumi.get(self, "encryption_settings_collection") + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional['outputs.ExtendedLocationResponse']: + """ + The extended location where the disk will be created. Extended location cannot be changed. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter(name="hyperVGeneration") + def hyper_v_generation(self) -> Optional[str]: + """ + The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + """ + return pulumi.get(self, "hyper_v_generation") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="lastOwnershipUpdateTime") + def last_ownership_update_time(self) -> str: + """ + The UTC time when the ownership state of the disk was last changed i.e., the time the disk was last attached or detached from a VM or the time when the VM to which the disk was attached was deallocated or started. + """ + return pulumi.get(self, "last_ownership_update_time") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> str: + """ + A relative URI containing the ID of the VM that has the disk attached. + """ + return pulumi.get(self, "managed_by") + + @property + @pulumi.getter(name="managedByExtended") + def managed_by_extended(self) -> Sequence[str]: + """ + List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs. + """ + return pulumi.get(self, "managed_by_extended") + + @property + @pulumi.getter(name="maxShares") + def max_shares(self) -> Optional[int]: + """ + The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time. + """ + return pulumi.get(self, "max_shares") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkAccessPolicy") + def network_access_policy(self) -> Optional[str]: + """ + Policy for accessing the disk via network. + """ + return pulumi.get(self, "network_access_policy") + + @property + @pulumi.getter(name="optimizedForFrequentAttach") + def optimized_for_frequent_attach(self) -> Optional[bool]: + """ + Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine. + """ + return pulumi.get(self, "optimized_for_frequent_attach") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> Optional[str]: + """ + The Operating System type. + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter(name="propertyUpdatesInProgress") + def property_updates_in_progress(self) -> 'outputs.PropertyUpdatesInProgressResponse': + """ + Properties of the disk for which update is pending. + """ + return pulumi.get(self, "property_updates_in_progress") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The disk provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> Optional[str]: + """ + Policy for controlling export on the disk. + """ + return pulumi.get(self, "public_network_access") + + @property + @pulumi.getter(name="purchasePlan") + def purchase_plan(self) -> Optional['outputs.PurchasePlanResponse']: + """ + Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + """ + return pulumi.get(self, "purchase_plan") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional['outputs.DiskSecurityProfileResponse']: + """ + Contains the security related information for the resource. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter(name="shareInfo") + def share_info(self) -> Sequence['outputs.ShareInfoElementResponse']: + """ + Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs. + """ + return pulumi.get(self, "share_info") + + @property + @pulumi.getter + def sku(self) -> Optional['outputs.DiskSkuResponse']: + """ + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="supportedCapabilities") + def supported_capabilities(self) -> Optional['outputs.SupportedCapabilitiesResponse']: + """ + List of supported capabilities for the image from which the OS disk was created. + """ + return pulumi.get(self, "supported_capabilities") + + @property + @pulumi.getter(name="supportsHibernation") + def supports_hibernation(self) -> Optional[bool]: + """ + Indicates the OS on a disk supports hibernation. + """ + return pulumi.get(self, "supports_hibernation") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def tier(self) -> Optional[str]: + """ + Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + """ + return pulumi.get(self, "tier") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> str: + """ + The time when the disk was created. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="uniqueId") + def unique_id(self) -> str: + """ + Unique Guid identifying the resource. + """ + return pulumi.get(self, "unique_id") + + @property + @pulumi.getter + def zones(self) -> Optional[Sequence[str]]: + """ + The Logical zone list for Disk. + """ + return pulumi.get(self, "zones") + + +class AwaitableGetDiskResult(GetDiskResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDiskResult( + bursting_enabled=self.bursting_enabled, + bursting_enabled_time=self.bursting_enabled_time, + completion_percent=self.completion_percent, + creation_data=self.creation_data, + data_access_auth_mode=self.data_access_auth_mode, + disk_access_id=self.disk_access_id, + disk_iops_read_only=self.disk_iops_read_only, + disk_iops_read_write=self.disk_iops_read_write, + disk_m_bps_read_only=self.disk_m_bps_read_only, + disk_m_bps_read_write=self.disk_m_bps_read_write, + disk_size_bytes=self.disk_size_bytes, + disk_size_gb=self.disk_size_gb, + disk_state=self.disk_state, + encryption=self.encryption, + encryption_settings_collection=self.encryption_settings_collection, + extended_location=self.extended_location, + hyper_v_generation=self.hyper_v_generation, + id=self.id, + last_ownership_update_time=self.last_ownership_update_time, + location=self.location, + managed_by=self.managed_by, + managed_by_extended=self.managed_by_extended, + max_shares=self.max_shares, + name=self.name, + network_access_policy=self.network_access_policy, + optimized_for_frequent_attach=self.optimized_for_frequent_attach, + os_type=self.os_type, + property_updates_in_progress=self.property_updates_in_progress, + provisioning_state=self.provisioning_state, + public_network_access=self.public_network_access, + purchase_plan=self.purchase_plan, + security_profile=self.security_profile, + share_info=self.share_info, + sku=self.sku, + supported_capabilities=self.supported_capabilities, + supports_hibernation=self.supports_hibernation, + tags=self.tags, + tier=self.tier, + time_created=self.time_created, + type=self.type, + unique_id=self.unique_id, + zones=self.zones) + + +def get_disk(disk_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDiskResult: + """ + Gets information about a disk. + + + :param str disk_name: The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param str resource_group_name: The name of the resource group. + """ + __args__ = dict() + __args__['diskName'] = disk_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230402:getDisk', __args__, opts=opts, typ=GetDiskResult).value + + return AwaitableGetDiskResult( + bursting_enabled=__ret__.bursting_enabled, + bursting_enabled_time=__ret__.bursting_enabled_time, + completion_percent=__ret__.completion_percent, + creation_data=__ret__.creation_data, + data_access_auth_mode=__ret__.data_access_auth_mode, + disk_access_id=__ret__.disk_access_id, + disk_iops_read_only=__ret__.disk_iops_read_only, + disk_iops_read_write=__ret__.disk_iops_read_write, + disk_m_bps_read_only=__ret__.disk_m_bps_read_only, + disk_m_bps_read_write=__ret__.disk_m_bps_read_write, + disk_size_bytes=__ret__.disk_size_bytes, + disk_size_gb=__ret__.disk_size_gb, + disk_state=__ret__.disk_state, + encryption=__ret__.encryption, + encryption_settings_collection=__ret__.encryption_settings_collection, + extended_location=__ret__.extended_location, + hyper_v_generation=__ret__.hyper_v_generation, + id=__ret__.id, + last_ownership_update_time=__ret__.last_ownership_update_time, + location=__ret__.location, + managed_by=__ret__.managed_by, + managed_by_extended=__ret__.managed_by_extended, + max_shares=__ret__.max_shares, + name=__ret__.name, + network_access_policy=__ret__.network_access_policy, + optimized_for_frequent_attach=__ret__.optimized_for_frequent_attach, + os_type=__ret__.os_type, + property_updates_in_progress=__ret__.property_updates_in_progress, + provisioning_state=__ret__.provisioning_state, + public_network_access=__ret__.public_network_access, + purchase_plan=__ret__.purchase_plan, + security_profile=__ret__.security_profile, + share_info=__ret__.share_info, + sku=__ret__.sku, + supported_capabilities=__ret__.supported_capabilities, + supports_hibernation=__ret__.supports_hibernation, + tags=__ret__.tags, + tier=__ret__.tier, + time_created=__ret__.time_created, + type=__ret__.type, + unique_id=__ret__.unique_id, + zones=__ret__.zones) + + +@_utilities.lift_output_func(get_disk) +def get_disk_output(disk_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDiskResult]: + """ + Gets information about a disk. + + + :param str disk_name: The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param str resource_group_name: The name of the resource group. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/get_disk_access.py b/sdk/python/pulumi_azure_native/compute/v20230402/get_disk_access.py new file mode 100644 index 000000000000..36ac9b7a6403 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/get_disk_access.py @@ -0,0 +1,183 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetDiskAccessResult', + 'AwaitableGetDiskAccessResult', + 'get_disk_access', + 'get_disk_access_output', +] + +@pulumi.output_type +class GetDiskAccessResult: + """ + disk access resource. + """ + def __init__(__self__, extended_location=None, id=None, location=None, name=None, private_endpoint_connections=None, provisioning_state=None, tags=None, time_created=None, type=None): + if extended_location and not isinstance(extended_location, dict): + raise TypeError("Expected argument 'extended_location' to be a dict") + pulumi.set(__self__, "extended_location", extended_location) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if private_endpoint_connections and not isinstance(private_endpoint_connections, list): + raise TypeError("Expected argument 'private_endpoint_connections' to be a list") + pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if time_created and not isinstance(time_created, str): + raise TypeError("Expected argument 'time_created' to be a str") + pulumi.set(__self__, "time_created", time_created) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional['outputs.ExtendedLocationResponse']: + """ + The extended location where the disk access will be created. Extended location cannot be changed. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> Sequence['outputs.PrivateEndpointConnectionResponse']: + """ + A readonly collection of private endpoint connections created on the disk. Currently only one endpoint connection is supported. + """ + return pulumi.get(self, "private_endpoint_connections") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The disk access resource provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> str: + """ + The time when the disk access was created. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + +class AwaitableGetDiskAccessResult(GetDiskAccessResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDiskAccessResult( + extended_location=self.extended_location, + id=self.id, + location=self.location, + name=self.name, + private_endpoint_connections=self.private_endpoint_connections, + provisioning_state=self.provisioning_state, + tags=self.tags, + time_created=self.time_created, + type=self.type) + + +def get_disk_access(disk_access_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDiskAccessResult: + """ + Gets information about a disk access resource. + + + :param str disk_access_name: The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param str resource_group_name: The name of the resource group. + """ + __args__ = dict() + __args__['diskAccessName'] = disk_access_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230402:getDiskAccess', __args__, opts=opts, typ=GetDiskAccessResult).value + + return AwaitableGetDiskAccessResult( + extended_location=__ret__.extended_location, + id=__ret__.id, + location=__ret__.location, + name=__ret__.name, + private_endpoint_connections=__ret__.private_endpoint_connections, + provisioning_state=__ret__.provisioning_state, + tags=__ret__.tags, + time_created=__ret__.time_created, + type=__ret__.type) + + +@_utilities.lift_output_func(get_disk_access) +def get_disk_access_output(disk_access_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDiskAccessResult]: + """ + Gets information about a disk access resource. + + + :param str disk_access_name: The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param str resource_group_name: The name of the resource group. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/get_disk_access_a_private_endpoint_connection.py b/sdk/python/pulumi_azure_native/compute/v20230402/get_disk_access_a_private_endpoint_connection.py new file mode 100644 index 000000000000..167a47068a2d --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/get_disk_access_a_private_endpoint_connection.py @@ -0,0 +1,149 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetDiskAccessAPrivateEndpointConnectionResult', + 'AwaitableGetDiskAccessAPrivateEndpointConnectionResult', + 'get_disk_access_a_private_endpoint_connection', + 'get_disk_access_a_private_endpoint_connection_output', +] + +@pulumi.output_type +class GetDiskAccessAPrivateEndpointConnectionResult: + """ + The Private Endpoint Connection resource. + """ + def __init__(__self__, id=None, name=None, private_endpoint=None, private_link_service_connection_state=None, provisioning_state=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if private_endpoint and not isinstance(private_endpoint, dict): + raise TypeError("Expected argument 'private_endpoint' to be a dict") + pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_link_service_connection_state and not isinstance(private_link_service_connection_state, dict): + raise TypeError("Expected argument 'private_link_service_connection_state' to be a dict") + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + private endpoint connection Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + private endpoint connection name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="privateEndpoint") + def private_endpoint(self) -> 'outputs.PrivateEndpointResponse': + """ + The resource of private end point. + """ + return pulumi.get(self, "private_endpoint") + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> 'outputs.PrivateLinkServiceConnectionStateResponse': + """ + A collection of information about the state of the connection between DiskAccess and Virtual Network. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the private endpoint connection resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> str: + """ + private endpoint connection type + """ + return pulumi.get(self, "type") + + +class AwaitableGetDiskAccessAPrivateEndpointConnectionResult(GetDiskAccessAPrivateEndpointConnectionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDiskAccessAPrivateEndpointConnectionResult( + id=self.id, + name=self.name, + private_endpoint=self.private_endpoint, + private_link_service_connection_state=self.private_link_service_connection_state, + provisioning_state=self.provisioning_state, + type=self.type) + + +def get_disk_access_a_private_endpoint_connection(disk_access_name: Optional[str] = None, + private_endpoint_connection_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDiskAccessAPrivateEndpointConnectionResult: + """ + Gets information about a private endpoint connection under a disk access resource. + + + :param str disk_access_name: The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param str private_endpoint_connection_name: The name of the private endpoint connection. + :param str resource_group_name: The name of the resource group. + """ + __args__ = dict() + __args__['diskAccessName'] = disk_access_name + __args__['privateEndpointConnectionName'] = private_endpoint_connection_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230402:getDiskAccessAPrivateEndpointConnection', __args__, opts=opts, typ=GetDiskAccessAPrivateEndpointConnectionResult).value + + return AwaitableGetDiskAccessAPrivateEndpointConnectionResult( + id=__ret__.id, + name=__ret__.name, + private_endpoint=__ret__.private_endpoint, + private_link_service_connection_state=__ret__.private_link_service_connection_state, + provisioning_state=__ret__.provisioning_state, + type=__ret__.type) + + +@_utilities.lift_output_func(get_disk_access_a_private_endpoint_connection) +def get_disk_access_a_private_endpoint_connection_output(disk_access_name: Optional[pulumi.Input[str]] = None, + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDiskAccessAPrivateEndpointConnectionResult]: + """ + Gets information about a private endpoint connection under a disk access resource. + + + :param str disk_access_name: The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param str private_endpoint_connection_name: The name of the private endpoint connection. + :param str resource_group_name: The name of the resource group. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/get_disk_encryption_set.py b/sdk/python/pulumi_azure_native/compute/v20230402/get_disk_encryption_set.py new file mode 100644 index 000000000000..b2aec7cc3bae --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/get_disk_encryption_set.py @@ -0,0 +1,248 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetDiskEncryptionSetResult', + 'AwaitableGetDiskEncryptionSetResult', + 'get_disk_encryption_set', + 'get_disk_encryption_set_output', +] + +@pulumi.output_type +class GetDiskEncryptionSetResult: + """ + disk encryption set resource. + """ + def __init__(__self__, active_key=None, auto_key_rotation_error=None, encryption_type=None, federated_client_id=None, id=None, identity=None, last_key_rotation_timestamp=None, location=None, name=None, previous_keys=None, provisioning_state=None, rotation_to_latest_key_version_enabled=None, tags=None, type=None): + if active_key and not isinstance(active_key, dict): + raise TypeError("Expected argument 'active_key' to be a dict") + pulumi.set(__self__, "active_key", active_key) + if auto_key_rotation_error and not isinstance(auto_key_rotation_error, dict): + raise TypeError("Expected argument 'auto_key_rotation_error' to be a dict") + pulumi.set(__self__, "auto_key_rotation_error", auto_key_rotation_error) + if encryption_type and not isinstance(encryption_type, str): + raise TypeError("Expected argument 'encryption_type' to be a str") + pulumi.set(__self__, "encryption_type", encryption_type) + if federated_client_id and not isinstance(federated_client_id, str): + raise TypeError("Expected argument 'federated_client_id' to be a str") + pulumi.set(__self__, "federated_client_id", federated_client_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if last_key_rotation_timestamp and not isinstance(last_key_rotation_timestamp, str): + raise TypeError("Expected argument 'last_key_rotation_timestamp' to be a str") + pulumi.set(__self__, "last_key_rotation_timestamp", last_key_rotation_timestamp) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if previous_keys and not isinstance(previous_keys, list): + raise TypeError("Expected argument 'previous_keys' to be a list") + pulumi.set(__self__, "previous_keys", previous_keys) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if rotation_to_latest_key_version_enabled and not isinstance(rotation_to_latest_key_version_enabled, bool): + raise TypeError("Expected argument 'rotation_to_latest_key_version_enabled' to be a bool") + pulumi.set(__self__, "rotation_to_latest_key_version_enabled", rotation_to_latest_key_version_enabled) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="activeKey") + def active_key(self) -> Optional['outputs.KeyForDiskEncryptionSetResponse']: + """ + The key vault key which is currently used by this disk encryption set. + """ + return pulumi.get(self, "active_key") + + @property + @pulumi.getter(name="autoKeyRotationError") + def auto_key_rotation_error(self) -> 'outputs.ApiErrorResponse': + """ + The error that was encountered during auto-key rotation. If an error is present, then auto-key rotation will not be attempted until the error on this disk encryption set is fixed. + """ + return pulumi.get(self, "auto_key_rotation_error") + + @property + @pulumi.getter(name="encryptionType") + def encryption_type(self) -> Optional[str]: + """ + The type of key used to encrypt the data of the disk. + """ + return pulumi.get(self, "encryption_type") + + @property + @pulumi.getter(name="federatedClientId") + def federated_client_id(self) -> Optional[str]: + """ + Multi-tenant application client id to access key vault in a different tenant. Setting the value to 'None' will clear the property. + """ + return pulumi.get(self, "federated_client_id") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.EncryptionSetIdentityResponse']: + """ + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="lastKeyRotationTimestamp") + def last_key_rotation_timestamp(self) -> str: + """ + The time when the active key of this disk encryption set was updated. + """ + return pulumi.get(self, "last_key_rotation_timestamp") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="previousKeys") + def previous_keys(self) -> Sequence['outputs.KeyForDiskEncryptionSetResponse']: + """ + A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation. + """ + return pulumi.get(self, "previous_keys") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The disk encryption set provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="rotationToLatestKeyVersionEnabled") + def rotation_to_latest_key_version_enabled(self) -> Optional[bool]: + """ + Set this flag to true to enable auto-updating of this disk encryption set to the latest key version. + """ + return pulumi.get(self, "rotation_to_latest_key_version_enabled") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + +class AwaitableGetDiskEncryptionSetResult(GetDiskEncryptionSetResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDiskEncryptionSetResult( + active_key=self.active_key, + auto_key_rotation_error=self.auto_key_rotation_error, + encryption_type=self.encryption_type, + federated_client_id=self.federated_client_id, + id=self.id, + identity=self.identity, + last_key_rotation_timestamp=self.last_key_rotation_timestamp, + location=self.location, + name=self.name, + previous_keys=self.previous_keys, + provisioning_state=self.provisioning_state, + rotation_to_latest_key_version_enabled=self.rotation_to_latest_key_version_enabled, + tags=self.tags, + type=self.type) + + +def get_disk_encryption_set(disk_encryption_set_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDiskEncryptionSetResult: + """ + Gets information about a disk encryption set. + + + :param str disk_encryption_set_name: The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param str resource_group_name: The name of the resource group. + """ + __args__ = dict() + __args__['diskEncryptionSetName'] = disk_encryption_set_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230402:getDiskEncryptionSet', __args__, opts=opts, typ=GetDiskEncryptionSetResult).value + + return AwaitableGetDiskEncryptionSetResult( + active_key=__ret__.active_key, + auto_key_rotation_error=__ret__.auto_key_rotation_error, + encryption_type=__ret__.encryption_type, + federated_client_id=__ret__.federated_client_id, + id=__ret__.id, + identity=__ret__.identity, + last_key_rotation_timestamp=__ret__.last_key_rotation_timestamp, + location=__ret__.location, + name=__ret__.name, + previous_keys=__ret__.previous_keys, + provisioning_state=__ret__.provisioning_state, + rotation_to_latest_key_version_enabled=__ret__.rotation_to_latest_key_version_enabled, + tags=__ret__.tags, + type=__ret__.type) + + +@_utilities.lift_output_func(get_disk_encryption_set) +def get_disk_encryption_set_output(disk_encryption_set_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDiskEncryptionSetResult]: + """ + Gets information about a disk encryption set. + + + :param str disk_encryption_set_name: The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters. + :param str resource_group_name: The name of the resource group. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/get_snapshot.py b/sdk/python/pulumi_azure_native/compute/v20230402/get_snapshot.py new file mode 100644 index 000000000000..6c71dadfa1e9 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/get_snapshot.py @@ -0,0 +1,469 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetSnapshotResult', + 'AwaitableGetSnapshotResult', + 'get_snapshot', + 'get_snapshot_output', +] + +@pulumi.output_type +class GetSnapshotResult: + """ + Snapshot resource. + """ + def __init__(__self__, completion_percent=None, copy_completion_error=None, creation_data=None, data_access_auth_mode=None, disk_access_id=None, disk_size_bytes=None, disk_size_gb=None, disk_state=None, encryption=None, encryption_settings_collection=None, extended_location=None, hyper_v_generation=None, id=None, incremental=None, incremental_snapshot_family_id=None, location=None, managed_by=None, name=None, network_access_policy=None, os_type=None, provisioning_state=None, public_network_access=None, purchase_plan=None, security_profile=None, sku=None, supported_capabilities=None, supports_hibernation=None, tags=None, time_created=None, type=None, unique_id=None): + if completion_percent and not isinstance(completion_percent, float): + raise TypeError("Expected argument 'completion_percent' to be a float") + pulumi.set(__self__, "completion_percent", completion_percent) + if copy_completion_error and not isinstance(copy_completion_error, dict): + raise TypeError("Expected argument 'copy_completion_error' to be a dict") + pulumi.set(__self__, "copy_completion_error", copy_completion_error) + if creation_data and not isinstance(creation_data, dict): + raise TypeError("Expected argument 'creation_data' to be a dict") + pulumi.set(__self__, "creation_data", creation_data) + if data_access_auth_mode and not isinstance(data_access_auth_mode, str): + raise TypeError("Expected argument 'data_access_auth_mode' to be a str") + pulumi.set(__self__, "data_access_auth_mode", data_access_auth_mode) + if disk_access_id and not isinstance(disk_access_id, str): + raise TypeError("Expected argument 'disk_access_id' to be a str") + pulumi.set(__self__, "disk_access_id", disk_access_id) + if disk_size_bytes and not isinstance(disk_size_bytes, float): + raise TypeError("Expected argument 'disk_size_bytes' to be a float") + pulumi.set(__self__, "disk_size_bytes", disk_size_bytes) + if disk_size_gb and not isinstance(disk_size_gb, int): + raise TypeError("Expected argument 'disk_size_gb' to be a int") + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if disk_state and not isinstance(disk_state, str): + raise TypeError("Expected argument 'disk_state' to be a str") + pulumi.set(__self__, "disk_state", disk_state) + if encryption and not isinstance(encryption, dict): + raise TypeError("Expected argument 'encryption' to be a dict") + pulumi.set(__self__, "encryption", encryption) + if encryption_settings_collection and not isinstance(encryption_settings_collection, dict): + raise TypeError("Expected argument 'encryption_settings_collection' to be a dict") + pulumi.set(__self__, "encryption_settings_collection", encryption_settings_collection) + if extended_location and not isinstance(extended_location, dict): + raise TypeError("Expected argument 'extended_location' to be a dict") + pulumi.set(__self__, "extended_location", extended_location) + if hyper_v_generation and not isinstance(hyper_v_generation, str): + raise TypeError("Expected argument 'hyper_v_generation' to be a str") + pulumi.set(__self__, "hyper_v_generation", hyper_v_generation) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if incremental and not isinstance(incremental, bool): + raise TypeError("Expected argument 'incremental' to be a bool") + pulumi.set(__self__, "incremental", incremental) + if incremental_snapshot_family_id and not isinstance(incremental_snapshot_family_id, str): + raise TypeError("Expected argument 'incremental_snapshot_family_id' to be a str") + pulumi.set(__self__, "incremental_snapshot_family_id", incremental_snapshot_family_id) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if managed_by and not isinstance(managed_by, str): + raise TypeError("Expected argument 'managed_by' to be a str") + pulumi.set(__self__, "managed_by", managed_by) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if network_access_policy and not isinstance(network_access_policy, str): + raise TypeError("Expected argument 'network_access_policy' to be a str") + pulumi.set(__self__, "network_access_policy", network_access_policy) + if os_type and not isinstance(os_type, str): + raise TypeError("Expected argument 'os_type' to be a str") + pulumi.set(__self__, "os_type", os_type) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if public_network_access and not isinstance(public_network_access, str): + raise TypeError("Expected argument 'public_network_access' to be a str") + pulumi.set(__self__, "public_network_access", public_network_access) + if purchase_plan and not isinstance(purchase_plan, dict): + raise TypeError("Expected argument 'purchase_plan' to be a dict") + pulumi.set(__self__, "purchase_plan", purchase_plan) + if security_profile and not isinstance(security_profile, dict): + raise TypeError("Expected argument 'security_profile' to be a dict") + pulumi.set(__self__, "security_profile", security_profile) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if supported_capabilities and not isinstance(supported_capabilities, dict): + raise TypeError("Expected argument 'supported_capabilities' to be a dict") + pulumi.set(__self__, "supported_capabilities", supported_capabilities) + if supports_hibernation and not isinstance(supports_hibernation, bool): + raise TypeError("Expected argument 'supports_hibernation' to be a bool") + pulumi.set(__self__, "supports_hibernation", supports_hibernation) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if time_created and not isinstance(time_created, str): + raise TypeError("Expected argument 'time_created' to be a str") + pulumi.set(__self__, "time_created", time_created) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if unique_id and not isinstance(unique_id, str): + raise TypeError("Expected argument 'unique_id' to be a str") + pulumi.set(__self__, "unique_id", unique_id) + + @property + @pulumi.getter(name="completionPercent") + def completion_percent(self) -> Optional[float]: + """ + Percentage complete for the background copy when a resource is created via the CopyStart operation. + """ + return pulumi.get(self, "completion_percent") + + @property + @pulumi.getter(name="copyCompletionError") + def copy_completion_error(self) -> Optional['outputs.CopyCompletionErrorResponse']: + """ + Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + """ + return pulumi.get(self, "copy_completion_error") + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> 'outputs.CreationDataResponse': + """ + Disk source information. CreationData information cannot be changed after the disk has been created. + """ + return pulumi.get(self, "creation_data") + + @property + @pulumi.getter(name="dataAccessAuthMode") + def data_access_auth_mode(self) -> Optional[str]: + """ + Additional authentication requirements when exporting or uploading to a disk or snapshot. + """ + return pulumi.get(self, "data_access_auth_mode") + + @property + @pulumi.getter(name="diskAccessId") + def disk_access_id(self) -> Optional[str]: + """ + ARM id of the DiskAccess resource for using private endpoints on disks. + """ + return pulumi.get(self, "disk_access_id") + + @property + @pulumi.getter(name="diskSizeBytes") + def disk_size_bytes(self) -> float: + """ + The size of the disk in bytes. This field is read only. + """ + return pulumi.get(self, "disk_size_bytes") + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[int]: + """ + If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter(name="diskState") + def disk_state(self) -> str: + """ + The state of the snapshot. + """ + return pulumi.get(self, "disk_state") + + @property + @pulumi.getter + def encryption(self) -> Optional['outputs.EncryptionResponse']: + """ + Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + """ + return pulumi.get(self, "encryption") + + @property + @pulumi.getter(name="encryptionSettingsCollection") + def encryption_settings_collection(self) -> Optional['outputs.EncryptionSettingsCollectionResponse']: + """ + Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + """ + return pulumi.get(self, "encryption_settings_collection") + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional['outputs.ExtendedLocationResponse']: + """ + The extended location where the snapshot will be created. Extended location cannot be changed. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter(name="hyperVGeneration") + def hyper_v_generation(self) -> Optional[str]: + """ + The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + """ + return pulumi.get(self, "hyper_v_generation") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def incremental(self) -> Optional[bool]: + """ + Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + """ + return pulumi.get(self, "incremental") + + @property + @pulumi.getter(name="incrementalSnapshotFamilyId") + def incremental_snapshot_family_id(self) -> str: + """ + Incremental snapshots for a disk share an incremental snapshot family id. The Get Page Range Diff API can only be called on incremental snapshots with the same family id. + """ + return pulumi.get(self, "incremental_snapshot_family_id") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> str: + """ + Unused. Always Null. + """ + return pulumi.get(self, "managed_by") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkAccessPolicy") + def network_access_policy(self) -> Optional[str]: + """ + Policy for accessing the disk via network. + """ + return pulumi.get(self, "network_access_policy") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> Optional[str]: + """ + The Operating System type. + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The disk provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> Optional[str]: + """ + Policy for controlling export on the disk. + """ + return pulumi.get(self, "public_network_access") + + @property + @pulumi.getter(name="purchasePlan") + def purchase_plan(self) -> Optional['outputs.PurchasePlanResponse']: + """ + Purchase plan information for the image from which the source disk for the snapshot was originally created. + """ + return pulumi.get(self, "purchase_plan") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional['outputs.DiskSecurityProfileResponse']: + """ + Contains the security related information for the resource. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter + def sku(self) -> Optional['outputs.SnapshotSkuResponse']: + """ + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="supportedCapabilities") + def supported_capabilities(self) -> Optional['outputs.SupportedCapabilitiesResponse']: + """ + List of supported capabilities for the image from which the source disk from the snapshot was originally created. + """ + return pulumi.get(self, "supported_capabilities") + + @property + @pulumi.getter(name="supportsHibernation") + def supports_hibernation(self) -> Optional[bool]: + """ + Indicates the OS on a snapshot supports hibernation. + """ + return pulumi.get(self, "supports_hibernation") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> str: + """ + The time when the snapshot was created. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="uniqueId") + def unique_id(self) -> str: + """ + Unique Guid identifying the resource. + """ + return pulumi.get(self, "unique_id") + + +class AwaitableGetSnapshotResult(GetSnapshotResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSnapshotResult( + completion_percent=self.completion_percent, + copy_completion_error=self.copy_completion_error, + creation_data=self.creation_data, + data_access_auth_mode=self.data_access_auth_mode, + disk_access_id=self.disk_access_id, + disk_size_bytes=self.disk_size_bytes, + disk_size_gb=self.disk_size_gb, + disk_state=self.disk_state, + encryption=self.encryption, + encryption_settings_collection=self.encryption_settings_collection, + extended_location=self.extended_location, + hyper_v_generation=self.hyper_v_generation, + id=self.id, + incremental=self.incremental, + incremental_snapshot_family_id=self.incremental_snapshot_family_id, + location=self.location, + managed_by=self.managed_by, + name=self.name, + network_access_policy=self.network_access_policy, + os_type=self.os_type, + provisioning_state=self.provisioning_state, + public_network_access=self.public_network_access, + purchase_plan=self.purchase_plan, + security_profile=self.security_profile, + sku=self.sku, + supported_capabilities=self.supported_capabilities, + supports_hibernation=self.supports_hibernation, + tags=self.tags, + time_created=self.time_created, + type=self.type, + unique_id=self.unique_id) + + +def get_snapshot(resource_group_name: Optional[str] = None, + snapshot_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSnapshotResult: + """ + Gets information about a snapshot. + + + :param str resource_group_name: The name of the resource group. + :param str snapshot_name: The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters. + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['snapshotName'] = snapshot_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230402:getSnapshot', __args__, opts=opts, typ=GetSnapshotResult).value + + return AwaitableGetSnapshotResult( + completion_percent=__ret__.completion_percent, + copy_completion_error=__ret__.copy_completion_error, + creation_data=__ret__.creation_data, + data_access_auth_mode=__ret__.data_access_auth_mode, + disk_access_id=__ret__.disk_access_id, + disk_size_bytes=__ret__.disk_size_bytes, + disk_size_gb=__ret__.disk_size_gb, + disk_state=__ret__.disk_state, + encryption=__ret__.encryption, + encryption_settings_collection=__ret__.encryption_settings_collection, + extended_location=__ret__.extended_location, + hyper_v_generation=__ret__.hyper_v_generation, + id=__ret__.id, + incremental=__ret__.incremental, + incremental_snapshot_family_id=__ret__.incremental_snapshot_family_id, + location=__ret__.location, + managed_by=__ret__.managed_by, + name=__ret__.name, + network_access_policy=__ret__.network_access_policy, + os_type=__ret__.os_type, + provisioning_state=__ret__.provisioning_state, + public_network_access=__ret__.public_network_access, + purchase_plan=__ret__.purchase_plan, + security_profile=__ret__.security_profile, + sku=__ret__.sku, + supported_capabilities=__ret__.supported_capabilities, + supports_hibernation=__ret__.supports_hibernation, + tags=__ret__.tags, + time_created=__ret__.time_created, + type=__ret__.type, + unique_id=__ret__.unique_id) + + +@_utilities.lift_output_func(get_snapshot) +def get_snapshot_output(resource_group_name: Optional[pulumi.Input[str]] = None, + snapshot_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSnapshotResult]: + """ + Gets information about a snapshot. + + + :param str resource_group_name: The name of the resource group. + :param str snapshot_name: The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/outputs.py b/sdk/python/pulumi_azure_native/compute/v20230402/outputs.py new file mode 100644 index 000000000000..62a6635c190b --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/outputs.py @@ -0,0 +1,1549 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'ApiErrorBaseResponse', + 'ApiErrorResponse', + 'CopyCompletionErrorResponse', + 'CreationDataResponse', + 'DiskSecurityProfileResponse', + 'DiskSkuResponse', + 'EncryptionResponse', + 'EncryptionSetIdentityResponse', + 'EncryptionSettingsCollectionResponse', + 'EncryptionSettingsElementResponse', + 'ExtendedLocationResponse', + 'ImageDiskReferenceResponse', + 'InnerErrorResponse', + 'KeyForDiskEncryptionSetResponse', + 'KeyVaultAndKeyReferenceResponse', + 'KeyVaultAndSecretReferenceResponse', + 'PrivateEndpointConnectionResponse', + 'PrivateEndpointResponse', + 'PrivateLinkServiceConnectionStateResponse', + 'PropertyUpdatesInProgressResponse', + 'PurchasePlanResponse', + 'ShareInfoElementResponse', + 'SnapshotSkuResponse', + 'SourceVaultResponse', + 'SupportedCapabilitiesResponse', + 'UserAssignedIdentitiesResponseUserAssignedIdentities', +] + +@pulumi.output_type +class ApiErrorBaseResponse(dict): + """ + Api error base. + """ + def __init__(__self__, *, + code: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None): + """ + Api error base. + :param str code: The error code. + :param str message: The error message. + :param str target: The target of the particular error. + """ + if code is not None: + pulumi.set(__self__, "code", code) + if message is not None: + pulumi.set(__self__, "message", message) + if target is not None: + pulumi.set(__self__, "target", target) + + @property + @pulumi.getter + def code(self) -> Optional[str]: + """ + The error code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + The error message. + """ + return pulumi.get(self, "message") + + @property + @pulumi.getter + def target(self) -> Optional[str]: + """ + The target of the particular error. + """ + return pulumi.get(self, "target") + + +@pulumi.output_type +class ApiErrorResponse(dict): + """ + Api error. + """ + def __init__(__self__, *, + code: Optional[str] = None, + details: Optional[Sequence['outputs.ApiErrorBaseResponse']] = None, + innererror: Optional['outputs.InnerErrorResponse'] = None, + message: Optional[str] = None, + target: Optional[str] = None): + """ + Api error. + :param str code: The error code. + :param Sequence['ApiErrorBaseResponse'] details: The Api error details + :param 'InnerErrorResponse' innererror: The Api inner error + :param str message: The error message. + :param str target: The target of the particular error. + """ + if code is not None: + pulumi.set(__self__, "code", code) + if details is not None: + pulumi.set(__self__, "details", details) + if innererror is not None: + pulumi.set(__self__, "innererror", innererror) + if message is not None: + pulumi.set(__self__, "message", message) + if target is not None: + pulumi.set(__self__, "target", target) + + @property + @pulumi.getter + def code(self) -> Optional[str]: + """ + The error code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def details(self) -> Optional[Sequence['outputs.ApiErrorBaseResponse']]: + """ + The Api error details + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def innererror(self) -> Optional['outputs.InnerErrorResponse']: + """ + The Api inner error + """ + return pulumi.get(self, "innererror") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + The error message. + """ + return pulumi.get(self, "message") + + @property + @pulumi.getter + def target(self) -> Optional[str]: + """ + The target of the particular error. + """ + return pulumi.get(self, "target") + + +@pulumi.output_type +class CopyCompletionErrorResponse(dict): + """ + Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "errorCode": + suggest = "error_code" + elif key == "errorMessage": + suggest = "error_message" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CopyCompletionErrorResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CopyCompletionErrorResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CopyCompletionErrorResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + error_code: str, + error_message: str): + """ + Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + :param str error_code: Indicates the error code if the background copy of a resource created via the CopyStart operation fails. + :param str error_message: Indicates the error message if the background copy of a resource created via the CopyStart operation fails. + """ + pulumi.set(__self__, "error_code", error_code) + pulumi.set(__self__, "error_message", error_message) + + @property + @pulumi.getter(name="errorCode") + def error_code(self) -> str: + """ + Indicates the error code if the background copy of a resource created via the CopyStart operation fails. + """ + return pulumi.get(self, "error_code") + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> str: + """ + Indicates the error message if the background copy of a resource created via the CopyStart operation fails. + """ + return pulumi.get(self, "error_message") + + +@pulumi.output_type +class CreationDataResponse(dict): + """ + Data used when creating a disk. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createOption": + suggest = "create_option" + elif key == "sourceUniqueId": + suggest = "source_unique_id" + elif key == "elasticSanResourceId": + suggest = "elastic_san_resource_id" + elif key == "galleryImageReference": + suggest = "gallery_image_reference" + elif key == "imageReference": + suggest = "image_reference" + elif key == "logicalSectorSize": + suggest = "logical_sector_size" + elif key == "performancePlus": + suggest = "performance_plus" + elif key == "securityDataUri": + suggest = "security_data_uri" + elif key == "sourceResourceId": + suggest = "source_resource_id" + elif key == "sourceUri": + suggest = "source_uri" + elif key == "storageAccountId": + suggest = "storage_account_id" + elif key == "uploadSizeBytes": + suggest = "upload_size_bytes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CreationDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CreationDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CreationDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + create_option: str, + source_unique_id: str, + elastic_san_resource_id: Optional[str] = None, + gallery_image_reference: Optional['outputs.ImageDiskReferenceResponse'] = None, + image_reference: Optional['outputs.ImageDiskReferenceResponse'] = None, + logical_sector_size: Optional[int] = None, + performance_plus: Optional[bool] = None, + security_data_uri: Optional[str] = None, + source_resource_id: Optional[str] = None, + source_uri: Optional[str] = None, + storage_account_id: Optional[str] = None, + upload_size_bytes: Optional[float] = None): + """ + Data used when creating a disk. + :param str create_option: This enumerates the possible sources of a disk's creation. + :param str source_unique_id: If this field is set, this is the unique id identifying the source of this resource. + :param str elastic_san_resource_id: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san volume snapshot. + :param 'ImageDiskReferenceResponse' gallery_image_reference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + :param 'ImageDiskReferenceResponse' image_reference: Disk source information for PIR or user images. + :param int logical_sector_size: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default. + :param bool performance_plus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + :param str security_data_uri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state. + :param str source_resource_id: If createOption is Copy, this is the ARM id of the source snapshot or disk. + :param str source_uri: If createOption is Import, this is the URI of a blob to be imported into a managed disk. + :param str storage_account_id: Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk. + :param float upload_size_bytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer). + """ + pulumi.set(__self__, "create_option", create_option) + pulumi.set(__self__, "source_unique_id", source_unique_id) + if elastic_san_resource_id is not None: + pulumi.set(__self__, "elastic_san_resource_id", elastic_san_resource_id) + if gallery_image_reference is not None: + pulumi.set(__self__, "gallery_image_reference", gallery_image_reference) + if image_reference is not None: + pulumi.set(__self__, "image_reference", image_reference) + if logical_sector_size is not None: + pulumi.set(__self__, "logical_sector_size", logical_sector_size) + if performance_plus is not None: + pulumi.set(__self__, "performance_plus", performance_plus) + if security_data_uri is not None: + pulumi.set(__self__, "security_data_uri", security_data_uri) + if source_resource_id is not None: + pulumi.set(__self__, "source_resource_id", source_resource_id) + if source_uri is not None: + pulumi.set(__self__, "source_uri", source_uri) + if storage_account_id is not None: + pulumi.set(__self__, "storage_account_id", storage_account_id) + if upload_size_bytes is not None: + pulumi.set(__self__, "upload_size_bytes", upload_size_bytes) + + @property + @pulumi.getter(name="createOption") + def create_option(self) -> str: + """ + This enumerates the possible sources of a disk's creation. + """ + return pulumi.get(self, "create_option") + + @property + @pulumi.getter(name="sourceUniqueId") + def source_unique_id(self) -> str: + """ + If this field is set, this is the unique id identifying the source of this resource. + """ + return pulumi.get(self, "source_unique_id") + + @property + @pulumi.getter(name="elasticSanResourceId") + def elastic_san_resource_id(self) -> Optional[str]: + """ + Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san volume snapshot. + """ + return pulumi.get(self, "elastic_san_resource_id") + + @property + @pulumi.getter(name="galleryImageReference") + def gallery_image_reference(self) -> Optional['outputs.ImageDiskReferenceResponse']: + """ + Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + """ + return pulumi.get(self, "gallery_image_reference") + + @property + @pulumi.getter(name="imageReference") + def image_reference(self) -> Optional['outputs.ImageDiskReferenceResponse']: + """ + Disk source information for PIR or user images. + """ + return pulumi.get(self, "image_reference") + + @property + @pulumi.getter(name="logicalSectorSize") + def logical_sector_size(self) -> Optional[int]: + """ + Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default. + """ + return pulumi.get(self, "logical_sector_size") + + @property + @pulumi.getter(name="performancePlus") + def performance_plus(self) -> Optional[bool]: + """ + Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + """ + return pulumi.get(self, "performance_plus") + + @property + @pulumi.getter(name="securityDataUri") + def security_data_uri(self) -> Optional[str]: + """ + If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state. + """ + return pulumi.get(self, "security_data_uri") + + @property + @pulumi.getter(name="sourceResourceId") + def source_resource_id(self) -> Optional[str]: + """ + If createOption is Copy, this is the ARM id of the source snapshot or disk. + """ + return pulumi.get(self, "source_resource_id") + + @property + @pulumi.getter(name="sourceUri") + def source_uri(self) -> Optional[str]: + """ + If createOption is Import, this is the URI of a blob to be imported into a managed disk. + """ + return pulumi.get(self, "source_uri") + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> Optional[str]: + """ + Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk. + """ + return pulumi.get(self, "storage_account_id") + + @property + @pulumi.getter(name="uploadSizeBytes") + def upload_size_bytes(self) -> Optional[float]: + """ + If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer). + """ + return pulumi.get(self, "upload_size_bytes") + + +@pulumi.output_type +class DiskSecurityProfileResponse(dict): + """ + Contains the security related information for the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "secureVMDiskEncryptionSetId": + suggest = "secure_vm_disk_encryption_set_id" + elif key == "securityType": + suggest = "security_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DiskSecurityProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DiskSecurityProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DiskSecurityProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + secure_vm_disk_encryption_set_id: Optional[str] = None, + security_type: Optional[str] = None): + """ + Contains the security related information for the resource. + :param str secure_vm_disk_encryption_set_id: ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key + :param str security_type: Specifies the SecurityType of the VM. Applicable for OS disks only. + """ + if secure_vm_disk_encryption_set_id is not None: + pulumi.set(__self__, "secure_vm_disk_encryption_set_id", secure_vm_disk_encryption_set_id) + if security_type is not None: + pulumi.set(__self__, "security_type", security_type) + + @property + @pulumi.getter(name="secureVMDiskEncryptionSetId") + def secure_vm_disk_encryption_set_id(self) -> Optional[str]: + """ + ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key + """ + return pulumi.get(self, "secure_vm_disk_encryption_set_id") + + @property + @pulumi.getter(name="securityType") + def security_type(self) -> Optional[str]: + """ + Specifies the SecurityType of the VM. Applicable for OS disks only. + """ + return pulumi.get(self, "security_type") + + +@pulumi.output_type +class DiskSkuResponse(dict): + """ + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + """ + def __init__(__self__, *, + tier: str, + name: Optional[str] = None): + """ + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS. + :param str tier: The sku tier. + :param str name: The sku name. + """ + pulumi.set(__self__, "tier", tier) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def tier(self) -> str: + """ + The sku tier. + """ + return pulumi.get(self, "tier") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The sku name. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class EncryptionResponse(dict): + """ + Encryption at rest settings for disk or snapshot + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskEncryptionSetId": + suggest = "disk_encryption_set_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EncryptionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EncryptionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EncryptionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + disk_encryption_set_id: Optional[str] = None, + type: Optional[str] = None): + """ + Encryption at rest settings for disk or snapshot + :param str disk_encryption_set_id: ResourceId of the disk encryption set to use for enabling encryption at rest. + :param str type: The type of key used to encrypt the data of the disk. + """ + if disk_encryption_set_id is not None: + pulumi.set(__self__, "disk_encryption_set_id", disk_encryption_set_id) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="diskEncryptionSetId") + def disk_encryption_set_id(self) -> Optional[str]: + """ + ResourceId of the disk encryption set to use for enabling encryption at rest. + """ + return pulumi.get(self, "disk_encryption_set_id") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of key used to encrypt the data of the disk. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class EncryptionSetIdentityResponse(dict): + """ + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EncryptionSetIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EncryptionSetIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EncryptionSetIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + type: Optional[str] = None, + user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentitiesResponseUserAssignedIdentities']] = None): + """ + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks. + :param str principal_id: The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity + :param str tenant_id: The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity + :param str type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys. + :param Mapping[str, 'UserAssignedIdentitiesResponseUserAssignedIdentities'] user_assigned_identities: The list of user identities associated with the disk encryption set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + if type is not None: + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentitiesResponseUserAssignedIdentities']]: + """ + The list of user identities associated with the disk encryption set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + return pulumi.get(self, "user_assigned_identities") + + +@pulumi.output_type +class EncryptionSettingsCollectionResponse(dict): + """ + Encryption settings for disk or snapshot + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "encryptionSettings": + suggest = "encryption_settings" + elif key == "encryptionSettingsVersion": + suggest = "encryption_settings_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EncryptionSettingsCollectionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EncryptionSettingsCollectionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EncryptionSettingsCollectionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: bool, + encryption_settings: Optional[Sequence['outputs.EncryptionSettingsElementResponse']] = None, + encryption_settings_version: Optional[str] = None): + """ + Encryption settings for disk or snapshot + :param bool enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged. + :param Sequence['EncryptionSettingsElementResponse'] encryption_settings: A collection of encryption settings, one for each disk volume. + :param str encryption_settings_version: Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + """ + pulumi.set(__self__, "enabled", enabled) + if encryption_settings is not None: + pulumi.set(__self__, "encryption_settings", encryption_settings) + if encryption_settings_version is not None: + pulumi.set(__self__, "encryption_settings_version", encryption_settings_version) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="encryptionSettings") + def encryption_settings(self) -> Optional[Sequence['outputs.EncryptionSettingsElementResponse']]: + """ + A collection of encryption settings, one for each disk volume. + """ + return pulumi.get(self, "encryption_settings") + + @property + @pulumi.getter(name="encryptionSettingsVersion") + def encryption_settings_version(self) -> Optional[str]: + """ + Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + """ + return pulumi.get(self, "encryption_settings_version") + + +@pulumi.output_type +class EncryptionSettingsElementResponse(dict): + """ + Encryption settings for one disk volume. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskEncryptionKey": + suggest = "disk_encryption_key" + elif key == "keyEncryptionKey": + suggest = "key_encryption_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EncryptionSettingsElementResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EncryptionSettingsElementResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EncryptionSettingsElementResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + disk_encryption_key: Optional['outputs.KeyVaultAndSecretReferenceResponse'] = None, + key_encryption_key: Optional['outputs.KeyVaultAndKeyReferenceResponse'] = None): + """ + Encryption settings for one disk volume. + :param 'KeyVaultAndSecretReferenceResponse' disk_encryption_key: Key Vault Secret Url and vault id of the disk encryption key + :param 'KeyVaultAndKeyReferenceResponse' key_encryption_key: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key. + """ + if disk_encryption_key is not None: + pulumi.set(__self__, "disk_encryption_key", disk_encryption_key) + if key_encryption_key is not None: + pulumi.set(__self__, "key_encryption_key", key_encryption_key) + + @property + @pulumi.getter(name="diskEncryptionKey") + def disk_encryption_key(self) -> Optional['outputs.KeyVaultAndSecretReferenceResponse']: + """ + Key Vault Secret Url and vault id of the disk encryption key + """ + return pulumi.get(self, "disk_encryption_key") + + @property + @pulumi.getter(name="keyEncryptionKey") + def key_encryption_key(self) -> Optional['outputs.KeyVaultAndKeyReferenceResponse']: + """ + Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key. + """ + return pulumi.get(self, "key_encryption_key") + + +@pulumi.output_type +class ExtendedLocationResponse(dict): + """ + The complex type of the extended location. + """ + def __init__(__self__, *, + name: Optional[str] = None, + type: Optional[str] = None): + """ + The complex type of the extended location. + :param str name: The name of the extended location. + :param str type: The type of the extended location. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the extended location. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of the extended location. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class ImageDiskReferenceResponse(dict): + """ + The source image used for creating the disk. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "communityGalleryImageId": + suggest = "community_gallery_image_id" + elif key == "sharedGalleryImageId": + suggest = "shared_gallery_image_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ImageDiskReferenceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ImageDiskReferenceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ImageDiskReferenceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + community_gallery_image_id: Optional[str] = None, + id: Optional[str] = None, + lun: Optional[int] = None, + shared_gallery_image_id: Optional[str] = None): + """ + The source image used for creating the disk. + :param str community_gallery_image_id: A relative uri containing a community Azure Compute Gallery image reference. + :param str id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference. + :param int lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null. + :param str shared_gallery_image_id: A relative uri containing a direct shared Azure Compute Gallery image reference. + """ + if community_gallery_image_id is not None: + pulumi.set(__self__, "community_gallery_image_id", community_gallery_image_id) + if id is not None: + pulumi.set(__self__, "id", id) + if lun is not None: + pulumi.set(__self__, "lun", lun) + if shared_gallery_image_id is not None: + pulumi.set(__self__, "shared_gallery_image_id", shared_gallery_image_id) + + @property + @pulumi.getter(name="communityGalleryImageId") + def community_gallery_image_id(self) -> Optional[str]: + """ + A relative uri containing a community Azure Compute Gallery image reference. + """ + return pulumi.get(self, "community_gallery_image_id") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def lun(self) -> Optional[int]: + """ + If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null. + """ + return pulumi.get(self, "lun") + + @property + @pulumi.getter(name="sharedGalleryImageId") + def shared_gallery_image_id(self) -> Optional[str]: + """ + A relative uri containing a direct shared Azure Compute Gallery image reference. + """ + return pulumi.get(self, "shared_gallery_image_id") + + +@pulumi.output_type +class InnerErrorResponse(dict): + """ + Inner error details. + """ + def __init__(__self__, *, + errordetail: Optional[str] = None, + exceptiontype: Optional[str] = None): + """ + Inner error details. + :param str errordetail: The internal error message or exception dump. + :param str exceptiontype: The exception type. + """ + if errordetail is not None: + pulumi.set(__self__, "errordetail", errordetail) + if exceptiontype is not None: + pulumi.set(__self__, "exceptiontype", exceptiontype) + + @property + @pulumi.getter + def errordetail(self) -> Optional[str]: + """ + The internal error message or exception dump. + """ + return pulumi.get(self, "errordetail") + + @property + @pulumi.getter + def exceptiontype(self) -> Optional[str]: + """ + The exception type. + """ + return pulumi.get(self, "exceptiontype") + + +@pulumi.output_type +class KeyForDiskEncryptionSetResponse(dict): + """ + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyUrl": + suggest = "key_url" + elif key == "sourceVault": + suggest = "source_vault" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in KeyForDiskEncryptionSetResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + KeyForDiskEncryptionSetResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + KeyForDiskEncryptionSetResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_url: str, + source_vault: Optional['outputs.SourceVaultResponse'] = None): + """ + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + :param str key_url: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value. + :param 'SourceVaultResponse' source_vault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription. + """ + pulumi.set(__self__, "key_url", key_url) + if source_vault is not None: + pulumi.set(__self__, "source_vault", source_vault) + + @property + @pulumi.getter(name="keyUrl") + def key_url(self) -> str: + """ + Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value. + """ + return pulumi.get(self, "key_url") + + @property + @pulumi.getter(name="sourceVault") + def source_vault(self) -> Optional['outputs.SourceVaultResponse']: + """ + Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription. + """ + return pulumi.get(self, "source_vault") + + +@pulumi.output_type +class KeyVaultAndKeyReferenceResponse(dict): + """ + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyUrl": + suggest = "key_url" + elif key == "sourceVault": + suggest = "source_vault" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in KeyVaultAndKeyReferenceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + KeyVaultAndKeyReferenceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + KeyVaultAndKeyReferenceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_url: str, + source_vault: 'outputs.SourceVaultResponse'): + """ + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + :param str key_url: Url pointing to a key or secret in KeyVault + :param 'SourceVaultResponse' source_vault: Resource id of the KeyVault containing the key or secret + """ + pulumi.set(__self__, "key_url", key_url) + pulumi.set(__self__, "source_vault", source_vault) + + @property + @pulumi.getter(name="keyUrl") + def key_url(self) -> str: + """ + Url pointing to a key or secret in KeyVault + """ + return pulumi.get(self, "key_url") + + @property + @pulumi.getter(name="sourceVault") + def source_vault(self) -> 'outputs.SourceVaultResponse': + """ + Resource id of the KeyVault containing the key or secret + """ + return pulumi.get(self, "source_vault") + + +@pulumi.output_type +class KeyVaultAndSecretReferenceResponse(dict): + """ + Key Vault Secret Url and vault id of the encryption key + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "secretUrl": + suggest = "secret_url" + elif key == "sourceVault": + suggest = "source_vault" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in KeyVaultAndSecretReferenceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + KeyVaultAndSecretReferenceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + KeyVaultAndSecretReferenceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + secret_url: str, + source_vault: 'outputs.SourceVaultResponse'): + """ + Key Vault Secret Url and vault id of the encryption key + :param str secret_url: Url pointing to a key or secret in KeyVault + :param 'SourceVaultResponse' source_vault: Resource id of the KeyVault containing the key or secret + """ + pulumi.set(__self__, "secret_url", secret_url) + pulumi.set(__self__, "source_vault", source_vault) + + @property + @pulumi.getter(name="secretUrl") + def secret_url(self) -> str: + """ + Url pointing to a key or secret in KeyVault + """ + return pulumi.get(self, "secret_url") + + @property + @pulumi.getter(name="sourceVault") + def source_vault(self) -> 'outputs.SourceVaultResponse': + """ + Resource id of the KeyVault containing the key or secret + """ + return pulumi.get(self, "source_vault") + + +@pulumi.output_type +class PrivateEndpointConnectionResponse(dict): + """ + The Private Endpoint Connection resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "privateEndpoint": + suggest = "private_endpoint" + elif key == "privateLinkServiceConnectionState": + suggest = "private_link_service_connection_state" + elif key == "provisioningState": + suggest = "provisioning_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PrivateEndpointConnectionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PrivateEndpointConnectionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PrivateEndpointConnectionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + id: str, + name: str, + private_endpoint: 'outputs.PrivateEndpointResponse', + private_link_service_connection_state: 'outputs.PrivateLinkServiceConnectionStateResponse', + provisioning_state: str, + type: str): + """ + The Private Endpoint Connection resource. + :param str id: private endpoint connection Id + :param str name: private endpoint connection name + :param 'PrivateEndpointResponse' private_endpoint: The resource of private end point. + :param 'PrivateLinkServiceConnectionStateResponse' private_link_service_connection_state: A collection of information about the state of the connection between DiskAccess and Virtual Network. + :param str provisioning_state: The provisioning state of the private endpoint connection resource. + :param str type: private endpoint connection type + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "private_endpoint", private_endpoint) + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + private endpoint connection Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + private endpoint connection name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="privateEndpoint") + def private_endpoint(self) -> 'outputs.PrivateEndpointResponse': + """ + The resource of private end point. + """ + return pulumi.get(self, "private_endpoint") + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> 'outputs.PrivateLinkServiceConnectionStateResponse': + """ + A collection of information about the state of the connection between DiskAccess and Virtual Network. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the private endpoint connection resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> str: + """ + private endpoint connection type + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class PrivateEndpointResponse(dict): + """ + The Private Endpoint resource. + """ + def __init__(__self__, *, + id: str): + """ + The Private Endpoint resource. + :param str id: The ARM identifier for Private Endpoint + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ARM identifier for Private Endpoint + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class PrivateLinkServiceConnectionStateResponse(dict): + """ + A collection of information about the state of the connection between service consumer and provider. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "actionsRequired": + suggest = "actions_required" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PrivateLinkServiceConnectionStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PrivateLinkServiceConnectionStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PrivateLinkServiceConnectionStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + actions_required: Optional[str] = None, + description: Optional[str] = None, + status: Optional[str] = None): + """ + A collection of information about the state of the connection between service consumer and provider. + :param str actions_required: A message indicating if changes on the service provider require any updates on the consumer. + :param str description: The reason for approval/rejection of the connection. + :param str status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ + if actions_required is not None: + pulumi.set(__self__, "actions_required", actions_required) + if description is not None: + pulumi.set(__self__, "description", description) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="actionsRequired") + def actions_required(self) -> Optional[str]: + """ + A message indicating if changes on the service provider require any updates on the consumer. + """ + return pulumi.get(self, "actions_required") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + The reason for approval/rejection of the connection. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + """ + Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class PropertyUpdatesInProgressResponse(dict): + """ + Properties of the disk for which update is pending. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "targetTier": + suggest = "target_tier" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PropertyUpdatesInProgressResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PropertyUpdatesInProgressResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PropertyUpdatesInProgressResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + target_tier: Optional[str] = None): + """ + Properties of the disk for which update is pending. + :param str target_tier: The target performance tier of the disk if a tier change operation is in progress. + """ + if target_tier is not None: + pulumi.set(__self__, "target_tier", target_tier) + + @property + @pulumi.getter(name="targetTier") + def target_tier(self) -> Optional[str]: + """ + The target performance tier of the disk if a tier change operation is in progress. + """ + return pulumi.get(self, "target_tier") + + +@pulumi.output_type +class PurchasePlanResponse(dict): + """ + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "promotionCode": + suggest = "promotion_code" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PurchasePlanResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PurchasePlanResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PurchasePlanResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + product: str, + publisher: str, + promotion_code: Optional[str] = None): + """ + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + :param str name: The plan ID. + :param str product: Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + :param str publisher: The publisher ID. + :param str promotion_code: The Offer Promotion Code. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "product", product) + pulumi.set(__self__, "publisher", publisher) + if promotion_code is not None: + pulumi.set(__self__, "promotion_code", promotion_code) + + @property + @pulumi.getter + def name(self) -> str: + """ + The plan ID. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def product(self) -> str: + """ + Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + """ + return pulumi.get(self, "product") + + @property + @pulumi.getter + def publisher(self) -> str: + """ + The publisher ID. + """ + return pulumi.get(self, "publisher") + + @property + @pulumi.getter(name="promotionCode") + def promotion_code(self) -> Optional[str]: + """ + The Offer Promotion Code. + """ + return pulumi.get(self, "promotion_code") + + +@pulumi.output_type +class ShareInfoElementResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "vmUri": + suggest = "vm_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ShareInfoElementResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ShareInfoElementResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ShareInfoElementResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + vm_uri: str): + """ + :param str vm_uri: A relative URI containing the ID of the VM that has the disk attached. + """ + pulumi.set(__self__, "vm_uri", vm_uri) + + @property + @pulumi.getter(name="vmUri") + def vm_uri(self) -> str: + """ + A relative URI containing the ID of the VM that has the disk attached. + """ + return pulumi.get(self, "vm_uri") + + +@pulumi.output_type +class SnapshotSkuResponse(dict): + """ + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + """ + def __init__(__self__, *, + tier: str, + name: Optional[str] = None): + """ + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + :param str tier: The sku tier. + :param str name: The sku name. + """ + pulumi.set(__self__, "tier", tier) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def tier(self) -> str: + """ + The sku tier. + """ + return pulumi.get(self, "tier") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The sku name. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class SourceVaultResponse(dict): + """ + The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + """ + def __init__(__self__, *, + id: Optional[str] = None): + """ + The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + :param str id: Resource Id + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + Resource Id + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class SupportedCapabilitiesResponse(dict): + """ + List of supported capabilities persisted on the disk resource for VM use. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "acceleratedNetwork": + suggest = "accelerated_network" + elif key == "diskControllerTypes": + suggest = "disk_controller_types" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SupportedCapabilitiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SupportedCapabilitiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SupportedCapabilitiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + accelerated_network: Optional[bool] = None, + architecture: Optional[str] = None, + disk_controller_types: Optional[str] = None): + """ + List of supported capabilities persisted on the disk resource for VM use. + :param bool accelerated_network: True if the image from which the OS disk is created supports accelerated networking. + :param str architecture: CPU architecture supported by an OS disk. + :param str disk_controller_types: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI. + """ + if accelerated_network is not None: + pulumi.set(__self__, "accelerated_network", accelerated_network) + if architecture is not None: + pulumi.set(__self__, "architecture", architecture) + if disk_controller_types is not None: + pulumi.set(__self__, "disk_controller_types", disk_controller_types) + + @property + @pulumi.getter(name="acceleratedNetwork") + def accelerated_network(self) -> Optional[bool]: + """ + True if the image from which the OS disk is created supports accelerated networking. + """ + return pulumi.get(self, "accelerated_network") + + @property + @pulumi.getter + def architecture(self) -> Optional[str]: + """ + CPU architecture supported by an OS disk. + """ + return pulumi.get(self, "architecture") + + @property + @pulumi.getter(name="diskControllerTypes") + def disk_controller_types(self) -> Optional[str]: + """ + The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI. + """ + return pulumi.get(self, "disk_controller_types") + + +@pulumi.output_type +class UserAssignedIdentitiesResponseUserAssignedIdentities(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "principalId": + suggest = "principal_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentitiesResponseUserAssignedIdentities. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserAssignedIdentitiesResponseUserAssignedIdentities.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserAssignedIdentitiesResponseUserAssignedIdentities.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: str, + principal_id: str): + """ + :param str client_id: The client id of user assigned identity. + :param str principal_id: The principal id of user assigned identity. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "principal_id", principal_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The client id of user assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal id of user assigned identity. + """ + return pulumi.get(self, "principal_id") + + diff --git a/sdk/python/pulumi_azure_native/compute/v20230402/snapshot.py b/sdk/python/pulumi_azure_native/compute/v20230402/snapshot.py new file mode 100644 index 000000000000..c686fc0d5ffa --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230402/snapshot.py @@ -0,0 +1,836 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['SnapshotArgs', 'Snapshot'] + +@pulumi.input_type +class SnapshotArgs: + def __init__(__self__, *, + creation_data: pulumi.Input['CreationDataArgs'], + resource_group_name: pulumi.Input[str], + completion_percent: Optional[pulumi.Input[float]] = None, + copy_completion_error: Optional[pulumi.Input['CopyCompletionErrorArgs']] = None, + data_access_auth_mode: Optional[pulumi.Input[Union[str, 'DataAccessAuthMode']]] = None, + disk_access_id: Optional[pulumi.Input[str]] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + encryption: Optional[pulumi.Input['EncryptionArgs']] = None, + encryption_settings_collection: Optional[pulumi.Input['EncryptionSettingsCollectionArgs']] = None, + extended_location: Optional[pulumi.Input['ExtendedLocationArgs']] = None, + hyper_v_generation: Optional[pulumi.Input[Union[str, 'HyperVGeneration']]] = None, + incremental: Optional[pulumi.Input[bool]] = None, + location: Optional[pulumi.Input[str]] = None, + network_access_policy: Optional[pulumi.Input[Union[str, 'NetworkAccessPolicy']]] = None, + os_type: Optional[pulumi.Input['OperatingSystemTypes']] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None, + purchase_plan: Optional[pulumi.Input['PurchasePlanArgs']] = None, + security_profile: Optional[pulumi.Input['DiskSecurityProfileArgs']] = None, + sku: Optional[pulumi.Input['SnapshotSkuArgs']] = None, + snapshot_name: Optional[pulumi.Input[str]] = None, + supported_capabilities: Optional[pulumi.Input['SupportedCapabilitiesArgs']] = None, + supports_hibernation: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Snapshot resource. + :param pulumi.Input['CreationDataArgs'] creation_data: Disk source information. CreationData information cannot be changed after the disk has been created. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[float] completion_percent: Percentage complete for the background copy when a resource is created via the CopyStart operation. + :param pulumi.Input['CopyCompletionErrorArgs'] copy_completion_error: Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + :param pulumi.Input[Union[str, 'DataAccessAuthMode']] data_access_auth_mode: Additional authentication requirements when exporting or uploading to a disk or snapshot. + :param pulumi.Input[str] disk_access_id: ARM id of the DiskAccess resource for using private endpoints on disks. + :param pulumi.Input[int] disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + :param pulumi.Input['EncryptionArgs'] encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + :param pulumi.Input['EncryptionSettingsCollectionArgs'] encryption_settings_collection: Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + :param pulumi.Input['ExtendedLocationArgs'] extended_location: The extended location where the snapshot will be created. Extended location cannot be changed. + :param pulumi.Input[Union[str, 'HyperVGeneration']] hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + :param pulumi.Input[bool] incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[Union[str, 'NetworkAccessPolicy']] network_access_policy: Policy for accessing the disk via network. + :param pulumi.Input['OperatingSystemTypes'] os_type: The Operating System type. + :param pulumi.Input[Union[str, 'PublicNetworkAccess']] public_network_access: Policy for controlling export on the disk. + :param pulumi.Input['PurchasePlanArgs'] purchase_plan: Purchase plan information for the image from which the source disk for the snapshot was originally created. + :param pulumi.Input['DiskSecurityProfileArgs'] security_profile: Contains the security related information for the resource. + :param pulumi.Input['SnapshotSkuArgs'] sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + :param pulumi.Input[str] snapshot_name: The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters. + :param pulumi.Input['SupportedCapabilitiesArgs'] supported_capabilities: List of supported capabilities for the image from which the source disk from the snapshot was originally created. + :param pulumi.Input[bool] supports_hibernation: Indicates the OS on a snapshot supports hibernation. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + pulumi.set(__self__, "creation_data", creation_data) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if completion_percent is not None: + pulumi.set(__self__, "completion_percent", completion_percent) + if copy_completion_error is not None: + pulumi.set(__self__, "copy_completion_error", copy_completion_error) + if data_access_auth_mode is not None: + pulumi.set(__self__, "data_access_auth_mode", data_access_auth_mode) + if disk_access_id is not None: + pulumi.set(__self__, "disk_access_id", disk_access_id) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if encryption_settings_collection is not None: + pulumi.set(__self__, "encryption_settings_collection", encryption_settings_collection) + if extended_location is not None: + pulumi.set(__self__, "extended_location", extended_location) + if hyper_v_generation is not None: + pulumi.set(__self__, "hyper_v_generation", hyper_v_generation) + if incremental is not None: + pulumi.set(__self__, "incremental", incremental) + if location is not None: + pulumi.set(__self__, "location", location) + if network_access_policy is not None: + pulumi.set(__self__, "network_access_policy", network_access_policy) + if os_type is not None: + pulumi.set(__self__, "os_type", os_type) + if public_network_access is not None: + pulumi.set(__self__, "public_network_access", public_network_access) + if purchase_plan is not None: + pulumi.set(__self__, "purchase_plan", purchase_plan) + if security_profile is not None: + pulumi.set(__self__, "security_profile", security_profile) + if sku is not None: + pulumi.set(__self__, "sku", sku) + if snapshot_name is not None: + pulumi.set(__self__, "snapshot_name", snapshot_name) + if supported_capabilities is not None: + pulumi.set(__self__, "supported_capabilities", supported_capabilities) + if supports_hibernation is not None: + pulumi.set(__self__, "supports_hibernation", supports_hibernation) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> pulumi.Input['CreationDataArgs']: + """ + Disk source information. CreationData information cannot be changed after the disk has been created. + """ + return pulumi.get(self, "creation_data") + + @creation_data.setter + def creation_data(self, value: pulumi.Input['CreationDataArgs']): + pulumi.set(self, "creation_data", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="completionPercent") + def completion_percent(self) -> Optional[pulumi.Input[float]]: + """ + Percentage complete for the background copy when a resource is created via the CopyStart operation. + """ + return pulumi.get(self, "completion_percent") + + @completion_percent.setter + def completion_percent(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "completion_percent", value) + + @property + @pulumi.getter(name="copyCompletionError") + def copy_completion_error(self) -> Optional[pulumi.Input['CopyCompletionErrorArgs']]: + """ + Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + """ + return pulumi.get(self, "copy_completion_error") + + @copy_completion_error.setter + def copy_completion_error(self, value: Optional[pulumi.Input['CopyCompletionErrorArgs']]): + pulumi.set(self, "copy_completion_error", value) + + @property + @pulumi.getter(name="dataAccessAuthMode") + def data_access_auth_mode(self) -> Optional[pulumi.Input[Union[str, 'DataAccessAuthMode']]]: + """ + Additional authentication requirements when exporting or uploading to a disk or snapshot. + """ + return pulumi.get(self, "data_access_auth_mode") + + @data_access_auth_mode.setter + def data_access_auth_mode(self, value: Optional[pulumi.Input[Union[str, 'DataAccessAuthMode']]]): + pulumi.set(self, "data_access_auth_mode", value) + + @property + @pulumi.getter(name="diskAccessId") + def disk_access_id(self) -> Optional[pulumi.Input[str]]: + """ + ARM id of the DiskAccess resource for using private endpoints on disks. + """ + return pulumi.get(self, "disk_access_id") + + @disk_access_id.setter + def disk_access_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_access_id", value) + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + """ + return pulumi.get(self, "disk_size_gb") + + @disk_size_gb.setter + def disk_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size_gb", value) + + @property + @pulumi.getter + def encryption(self) -> Optional[pulumi.Input['EncryptionArgs']]: + """ + Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + """ + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: Optional[pulumi.Input['EncryptionArgs']]): + pulumi.set(self, "encryption", value) + + @property + @pulumi.getter(name="encryptionSettingsCollection") + def encryption_settings_collection(self) -> Optional[pulumi.Input['EncryptionSettingsCollectionArgs']]: + """ + Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + """ + return pulumi.get(self, "encryption_settings_collection") + + @encryption_settings_collection.setter + def encryption_settings_collection(self, value: Optional[pulumi.Input['EncryptionSettingsCollectionArgs']]): + pulumi.set(self, "encryption_settings_collection", value) + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional[pulumi.Input['ExtendedLocationArgs']]: + """ + The extended location where the snapshot will be created. Extended location cannot be changed. + """ + return pulumi.get(self, "extended_location") + + @extended_location.setter + def extended_location(self, value: Optional[pulumi.Input['ExtendedLocationArgs']]): + pulumi.set(self, "extended_location", value) + + @property + @pulumi.getter(name="hyperVGeneration") + def hyper_v_generation(self) -> Optional[pulumi.Input[Union[str, 'HyperVGeneration']]]: + """ + The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + """ + return pulumi.get(self, "hyper_v_generation") + + @hyper_v_generation.setter + def hyper_v_generation(self, value: Optional[pulumi.Input[Union[str, 'HyperVGeneration']]]): + pulumi.set(self, "hyper_v_generation", value) + + @property + @pulumi.getter + def incremental(self) -> Optional[pulumi.Input[bool]]: + """ + Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + """ + return pulumi.get(self, "incremental") + + @incremental.setter + def incremental(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "incremental", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="networkAccessPolicy") + def network_access_policy(self) -> Optional[pulumi.Input[Union[str, 'NetworkAccessPolicy']]]: + """ + Policy for accessing the disk via network. + """ + return pulumi.get(self, "network_access_policy") + + @network_access_policy.setter + def network_access_policy(self, value: Optional[pulumi.Input[Union[str, 'NetworkAccessPolicy']]]): + pulumi.set(self, "network_access_policy", value) + + @property + @pulumi.getter(name="osType") + def os_type(self) -> Optional[pulumi.Input['OperatingSystemTypes']]: + """ + The Operating System type. + """ + return pulumi.get(self, "os_type") + + @os_type.setter + def os_type(self, value: Optional[pulumi.Input['OperatingSystemTypes']]): + pulumi.set(self, "os_type", value) + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]]: + """ + Policy for controlling export on the disk. + """ + return pulumi.get(self, "public_network_access") + + @public_network_access.setter + def public_network_access(self, value: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]]): + pulumi.set(self, "public_network_access", value) + + @property + @pulumi.getter(name="purchasePlan") + def purchase_plan(self) -> Optional[pulumi.Input['PurchasePlanArgs']]: + """ + Purchase plan information for the image from which the source disk for the snapshot was originally created. + """ + return pulumi.get(self, "purchase_plan") + + @purchase_plan.setter + def purchase_plan(self, value: Optional[pulumi.Input['PurchasePlanArgs']]): + pulumi.set(self, "purchase_plan", value) + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional[pulumi.Input['DiskSecurityProfileArgs']]: + """ + Contains the security related information for the resource. + """ + return pulumi.get(self, "security_profile") + + @security_profile.setter + def security_profile(self, value: Optional[pulumi.Input['DiskSecurityProfileArgs']]): + pulumi.set(self, "security_profile", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input['SnapshotSkuArgs']]: + """ + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input['SnapshotSkuArgs']]): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter(name="snapshotName") + def snapshot_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters. + """ + return pulumi.get(self, "snapshot_name") + + @snapshot_name.setter + def snapshot_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "snapshot_name", value) + + @property + @pulumi.getter(name="supportedCapabilities") + def supported_capabilities(self) -> Optional[pulumi.Input['SupportedCapabilitiesArgs']]: + """ + List of supported capabilities for the image from which the source disk from the snapshot was originally created. + """ + return pulumi.get(self, "supported_capabilities") + + @supported_capabilities.setter + def supported_capabilities(self, value: Optional[pulumi.Input['SupportedCapabilitiesArgs']]): + pulumi.set(self, "supported_capabilities", value) + + @property + @pulumi.getter(name="supportsHibernation") + def supports_hibernation(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates the OS on a snapshot supports hibernation. + """ + return pulumi.get(self, "supports_hibernation") + + @supports_hibernation.setter + def supports_hibernation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "supports_hibernation", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class Snapshot(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + completion_percent: Optional[pulumi.Input[float]] = None, + copy_completion_error: Optional[pulumi.Input[pulumi.InputType['CopyCompletionErrorArgs']]] = None, + creation_data: Optional[pulumi.Input[pulumi.InputType['CreationDataArgs']]] = None, + data_access_auth_mode: Optional[pulumi.Input[Union[str, 'DataAccessAuthMode']]] = None, + disk_access_id: Optional[pulumi.Input[str]] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + encryption: Optional[pulumi.Input[pulumi.InputType['EncryptionArgs']]] = None, + encryption_settings_collection: Optional[pulumi.Input[pulumi.InputType['EncryptionSettingsCollectionArgs']]] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + hyper_v_generation: Optional[pulumi.Input[Union[str, 'HyperVGeneration']]] = None, + incremental: Optional[pulumi.Input[bool]] = None, + location: Optional[pulumi.Input[str]] = None, + network_access_policy: Optional[pulumi.Input[Union[str, 'NetworkAccessPolicy']]] = None, + os_type: Optional[pulumi.Input['OperatingSystemTypes']] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None, + purchase_plan: Optional[pulumi.Input[pulumi.InputType['PurchasePlanArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + security_profile: Optional[pulumi.Input[pulumi.InputType['DiskSecurityProfileArgs']]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SnapshotSkuArgs']]] = None, + snapshot_name: Optional[pulumi.Input[str]] = None, + supported_capabilities: Optional[pulumi.Input[pulumi.InputType['SupportedCapabilitiesArgs']]] = None, + supports_hibernation: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Snapshot resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[float] completion_percent: Percentage complete for the background copy when a resource is created via the CopyStart operation. + :param pulumi.Input[pulumi.InputType['CopyCompletionErrorArgs']] copy_completion_error: Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + :param pulumi.Input[pulumi.InputType['CreationDataArgs']] creation_data: Disk source information. CreationData information cannot be changed after the disk has been created. + :param pulumi.Input[Union[str, 'DataAccessAuthMode']] data_access_auth_mode: Additional authentication requirements when exporting or uploading to a disk or snapshot. + :param pulumi.Input[str] disk_access_id: ARM id of the DiskAccess resource for using private endpoints on disks. + :param pulumi.Input[int] disk_size_gb: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + :param pulumi.Input[pulumi.InputType['EncryptionArgs']] encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + :param pulumi.Input[pulumi.InputType['EncryptionSettingsCollectionArgs']] encryption_settings_collection: Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + :param pulumi.Input[pulumi.InputType['ExtendedLocationArgs']] extended_location: The extended location where the snapshot will be created. Extended location cannot be changed. + :param pulumi.Input[Union[str, 'HyperVGeneration']] hyper_v_generation: The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + :param pulumi.Input[bool] incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[Union[str, 'NetworkAccessPolicy']] network_access_policy: Policy for accessing the disk via network. + :param pulumi.Input['OperatingSystemTypes'] os_type: The Operating System type. + :param pulumi.Input[Union[str, 'PublicNetworkAccess']] public_network_access: Policy for controlling export on the disk. + :param pulumi.Input[pulumi.InputType['PurchasePlanArgs']] purchase_plan: Purchase plan information for the image from which the source disk for the snapshot was originally created. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[pulumi.InputType['DiskSecurityProfileArgs']] security_profile: Contains the security related information for the resource. + :param pulumi.Input[pulumi.InputType['SnapshotSkuArgs']] sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + :param pulumi.Input[str] snapshot_name: The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters. + :param pulumi.Input[pulumi.InputType['SupportedCapabilitiesArgs']] supported_capabilities: List of supported capabilities for the image from which the source disk from the snapshot was originally created. + :param pulumi.Input[bool] supports_hibernation: Indicates the OS on a snapshot supports hibernation. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SnapshotArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Snapshot resource. + + :param str resource_name: The name of the resource. + :param SnapshotArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(SnapshotArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + completion_percent: Optional[pulumi.Input[float]] = None, + copy_completion_error: Optional[pulumi.Input[pulumi.InputType['CopyCompletionErrorArgs']]] = None, + creation_data: Optional[pulumi.Input[pulumi.InputType['CreationDataArgs']]] = None, + data_access_auth_mode: Optional[pulumi.Input[Union[str, 'DataAccessAuthMode']]] = None, + disk_access_id: Optional[pulumi.Input[str]] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + encryption: Optional[pulumi.Input[pulumi.InputType['EncryptionArgs']]] = None, + encryption_settings_collection: Optional[pulumi.Input[pulumi.InputType['EncryptionSettingsCollectionArgs']]] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + hyper_v_generation: Optional[pulumi.Input[Union[str, 'HyperVGeneration']]] = None, + incremental: Optional[pulumi.Input[bool]] = None, + location: Optional[pulumi.Input[str]] = None, + network_access_policy: Optional[pulumi.Input[Union[str, 'NetworkAccessPolicy']]] = None, + os_type: Optional[pulumi.Input['OperatingSystemTypes']] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None, + purchase_plan: Optional[pulumi.Input[pulumi.InputType['PurchasePlanArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + security_profile: Optional[pulumi.Input[pulumi.InputType['DiskSecurityProfileArgs']]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SnapshotSkuArgs']]] = None, + snapshot_name: Optional[pulumi.Input[str]] = None, + supported_capabilities: Optional[pulumi.Input[pulumi.InputType['SupportedCapabilitiesArgs']]] = None, + supports_hibernation: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = SnapshotArgs.__new__(SnapshotArgs) + + __props__.__dict__["completion_percent"] = completion_percent + __props__.__dict__["copy_completion_error"] = copy_completion_error + if creation_data is None and not opts.urn: + raise TypeError("Missing required property 'creation_data'") + __props__.__dict__["creation_data"] = creation_data + __props__.__dict__["data_access_auth_mode"] = data_access_auth_mode + __props__.__dict__["disk_access_id"] = disk_access_id + __props__.__dict__["disk_size_gb"] = disk_size_gb + __props__.__dict__["encryption"] = encryption + __props__.__dict__["encryption_settings_collection"] = encryption_settings_collection + __props__.__dict__["extended_location"] = extended_location + __props__.__dict__["hyper_v_generation"] = hyper_v_generation + __props__.__dict__["incremental"] = incremental + __props__.__dict__["location"] = location + __props__.__dict__["network_access_policy"] = network_access_policy + __props__.__dict__["os_type"] = os_type + __props__.__dict__["public_network_access"] = public_network_access + __props__.__dict__["purchase_plan"] = purchase_plan + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["security_profile"] = security_profile + __props__.__dict__["sku"] = sku + __props__.__dict__["snapshot_name"] = snapshot_name + __props__.__dict__["supported_capabilities"] = supported_capabilities + __props__.__dict__["supports_hibernation"] = supports_hibernation + __props__.__dict__["tags"] = tags + __props__.__dict__["disk_size_bytes"] = None + __props__.__dict__["disk_state"] = None + __props__.__dict__["incremental_snapshot_family_id"] = None + __props__.__dict__["managed_by"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["unique_id"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20170330:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180601:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20180930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190301:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20190701:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20191101:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200501:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200630:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20200930:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20201201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210401:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20211201:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20220302:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20220702:Snapshot"), pulumi.Alias(type_="azure-native:compute/v20230102:Snapshot")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Snapshot, __self__).__init__( + 'azure-native:compute/v20230402:Snapshot', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Snapshot': + """ + Get an existing Snapshot resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = SnapshotArgs.__new__(SnapshotArgs) + + __props__.__dict__["completion_percent"] = None + __props__.__dict__["copy_completion_error"] = None + __props__.__dict__["creation_data"] = None + __props__.__dict__["data_access_auth_mode"] = None + __props__.__dict__["disk_access_id"] = None + __props__.__dict__["disk_size_bytes"] = None + __props__.__dict__["disk_size_gb"] = None + __props__.__dict__["disk_state"] = None + __props__.__dict__["encryption"] = None + __props__.__dict__["encryption_settings_collection"] = None + __props__.__dict__["extended_location"] = None + __props__.__dict__["hyper_v_generation"] = None + __props__.__dict__["incremental"] = None + __props__.__dict__["incremental_snapshot_family_id"] = None + __props__.__dict__["location"] = None + __props__.__dict__["managed_by"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_access_policy"] = None + __props__.__dict__["os_type"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["public_network_access"] = None + __props__.__dict__["purchase_plan"] = None + __props__.__dict__["security_profile"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["supported_capabilities"] = None + __props__.__dict__["supports_hibernation"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["unique_id"] = None + return Snapshot(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="completionPercent") + def completion_percent(self) -> pulumi.Output[Optional[float]]: + """ + Percentage complete for the background copy when a resource is created via the CopyStart operation. + """ + return pulumi.get(self, "completion_percent") + + @property + @pulumi.getter(name="copyCompletionError") + def copy_completion_error(self) -> pulumi.Output[Optional['outputs.CopyCompletionErrorResponse']]: + """ + Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + """ + return pulumi.get(self, "copy_completion_error") + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> pulumi.Output['outputs.CreationDataResponse']: + """ + Disk source information. CreationData information cannot be changed after the disk has been created. + """ + return pulumi.get(self, "creation_data") + + @property + @pulumi.getter(name="dataAccessAuthMode") + def data_access_auth_mode(self) -> pulumi.Output[Optional[str]]: + """ + Additional authentication requirements when exporting or uploading to a disk or snapshot. + """ + return pulumi.get(self, "data_access_auth_mode") + + @property + @pulumi.getter(name="diskAccessId") + def disk_access_id(self) -> pulumi.Output[Optional[str]]: + """ + ARM id of the DiskAccess resource for using private endpoints on disks. + """ + return pulumi.get(self, "disk_access_id") + + @property + @pulumi.getter(name="diskSizeBytes") + def disk_size_bytes(self) -> pulumi.Output[float]: + """ + The size of the disk in bytes. This field is read only. + """ + return pulumi.get(self, "disk_size_bytes") + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> pulumi.Output[Optional[int]]: + """ + If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter(name="diskState") + def disk_state(self) -> pulumi.Output[str]: + """ + The state of the snapshot. + """ + return pulumi.get(self, "disk_state") + + @property + @pulumi.getter + def encryption(self) -> pulumi.Output[Optional['outputs.EncryptionResponse']]: + """ + Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys. + """ + return pulumi.get(self, "encryption") + + @property + @pulumi.getter(name="encryptionSettingsCollection") + def encryption_settings_collection(self) -> pulumi.Output[Optional['outputs.EncryptionSettingsCollectionResponse']]: + """ + Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. + """ + return pulumi.get(self, "encryption_settings_collection") + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> pulumi.Output[Optional['outputs.ExtendedLocationResponse']]: + """ + The extended location where the snapshot will be created. Extended location cannot be changed. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter(name="hyperVGeneration") + def hyper_v_generation(self) -> pulumi.Output[Optional[str]]: + """ + The hypervisor generation of the Virtual Machine. Applicable to OS disks only. + """ + return pulumi.get(self, "hyper_v_generation") + + @property + @pulumi.getter + def incremental(self) -> pulumi.Output[Optional[bool]]: + """ + Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + """ + return pulumi.get(self, "incremental") + + @property + @pulumi.getter(name="incrementalSnapshotFamilyId") + def incremental_snapshot_family_id(self) -> pulumi.Output[str]: + """ + Incremental snapshots for a disk share an incremental snapshot family id. The Get Page Range Diff API can only be called on incremental snapshots with the same family id. + """ + return pulumi.get(self, "incremental_snapshot_family_id") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> pulumi.Output[str]: + """ + Unused. Always Null. + """ + return pulumi.get(self, "managed_by") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkAccessPolicy") + def network_access_policy(self) -> pulumi.Output[Optional[str]]: + """ + Policy for accessing the disk via network. + """ + return pulumi.get(self, "network_access_policy") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> pulumi.Output[Optional[str]]: + """ + The Operating System type. + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The disk provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> pulumi.Output[Optional[str]]: + """ + Policy for controlling export on the disk. + """ + return pulumi.get(self, "public_network_access") + + @property + @pulumi.getter(name="purchasePlan") + def purchase_plan(self) -> pulumi.Output[Optional['outputs.PurchasePlanResponse']]: + """ + Purchase plan information for the image from which the source disk for the snapshot was originally created. + """ + return pulumi.get(self, "purchase_plan") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> pulumi.Output[Optional['outputs.DiskSecurityProfileResponse']]: + """ + Contains the security related information for the resource. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output[Optional['outputs.SnapshotSkuResponse']]: + """ + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="supportedCapabilities") + def supported_capabilities(self) -> pulumi.Output[Optional['outputs.SupportedCapabilitiesResponse']]: + """ + List of supported capabilities for the image from which the source disk from the snapshot was originally created. + """ + return pulumi.get(self, "supported_capabilities") + + @property + @pulumi.getter(name="supportsHibernation") + def supports_hibernation(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates the OS on a snapshot supports hibernation. + """ + return pulumi.get(self, "supports_hibernation") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> pulumi.Output[str]: + """ + The time when the snapshot was created. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="uniqueId") + def unique_id(self) -> pulumi.Output[str]: + """ + Unique Guid identifying the resource. + """ + return pulumi.get(self, "unique_id") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/__init__.py b/sdk/python/pulumi_azure_native/compute/v20230701/__init__.py new file mode 100644 index 000000000000..8c24ea7863e7 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/__init__.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .availability_set import * +from .capacity_reservation import * +from .capacity_reservation_group import * +from .dedicated_host import * +from .dedicated_host_group import * +from .get_availability_set import * +from .get_capacity_reservation import * +from .get_capacity_reservation_group import * +from .get_dedicated_host import * +from .get_dedicated_host_group import * +from .get_image import * +from .get_log_analytic_export_request_rate_by_interval import * +from .get_log_analytic_export_throttled_requests import * +from .get_proximity_placement_group import * +from .get_restore_point import * +from .get_restore_point_collection import * +from .get_ssh_public_key import * +from .get_virtual_machine import * +from .get_virtual_machine_extension import * +from .get_virtual_machine_run_command_by_virtual_machine import * +from .get_virtual_machine_scale_set import * +from .get_virtual_machine_scale_set_extension import * +from .get_virtual_machine_scale_set_vm import * +from .get_virtual_machine_scale_set_vm_extension import * +from .get_virtual_machine_scale_set_vm_run_command import * +from .image import * +from .proximity_placement_group import * +from .restore_point import * +from .restore_point_collection import * +from .ssh_public_key import * +from .virtual_machine import * +from .virtual_machine_extension import * +from .virtual_machine_run_command_by_virtual_machine import * +from .virtual_machine_scale_set import * +from .virtual_machine_scale_set_extension import * +from .virtual_machine_scale_set_vm import * +from .virtual_machine_scale_set_vm_extension import * +from .virtual_machine_scale_set_vm_run_command import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/_enums.py b/sdk/python/pulumi_azure_native/compute/v20230701/_enums.py new file mode 100644 index 000000000000..5bb72e1c8959 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/_enums.py @@ -0,0 +1,640 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'CachingTypes', + 'ComponentNames', + 'ConsistencyModeTypes', + 'DedicatedHostLicenseTypes', + 'DeleteOptions', + 'DiffDiskOptions', + 'DiffDiskPlacement', + 'DiskControllerTypes', + 'DiskCreateOptionTypes', + 'DiskDeleteOptionTypes', + 'DiskDetachOptionTypes', + 'DomainNameLabelScopeTypes', + 'ExtendedLocationTypes', + 'HyperVGenerationTypes', + 'IPVersion', + 'IPVersions', + 'IntervalInMins', + 'LinuxPatchAssessmentMode', + 'LinuxVMGuestPatchAutomaticByPlatformRebootSetting', + 'LinuxVMGuestPatchMode', + 'NetworkApiVersion', + 'NetworkInterfaceAuxiliaryMode', + 'NetworkInterfaceAuxiliarySku', + 'OperatingSystemStateTypes', + 'OperatingSystemTypes', + 'OrchestrationMode', + 'PassNames', + 'ProtocolTypes', + 'ProximityPlacementGroupType', + 'PublicIPAddressSkuName', + 'PublicIPAddressSkuTier', + 'PublicIPAllocationMethod', + 'RepairAction', + 'ResourceIdentityType', + 'RestorePointEncryptionType', + 'SecurityEncryptionTypes', + 'SecurityTypes', + 'SettingNames', + 'StatusLevelTypes', + 'StorageAccountTypes', + 'UpgradeMode', + 'VirtualMachineEvictionPolicyTypes', + 'VirtualMachinePriorityTypes', + 'VirtualMachineScaleSetScaleInRules', + 'VirtualMachineSizeTypes', + 'WindowsPatchAssessmentMode', + 'WindowsVMGuestPatchAutomaticByPlatformRebootSetting', + 'WindowsVMGuestPatchMode', +] + + +class CachingTypes(str, Enum): + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + """ + NONE = "None" + READ_ONLY = "ReadOnly" + READ_WRITE = "ReadWrite" + + +class ComponentNames(str, Enum): + """ + The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. + """ + MICROSOFT_WINDOWS_SHELL_SETUP = "Microsoft-Windows-Shell-Setup" + + +class ConsistencyModeTypes(str, Enum): + """ + ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + """ + CRASH_CONSISTENT = "CrashConsistent" + FILE_SYSTEM_CONSISTENT = "FileSystemConsistent" + APPLICATION_CONSISTENT = "ApplicationConsistent" + + +class DedicatedHostLicenseTypes(str, Enum): + """ + Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + """ + NONE = "None" + WINDOWS_SERVER_HYBRID = "Windows_Server_Hybrid" + WINDOWS_SERVER_PERPETUAL = "Windows_Server_Perpetual" + + +class DeleteOptions(str, Enum): + """ + Specify what happens to the public IP when the VM is deleted + """ + DELETE = "Delete" + DETACH = "Detach" + + +class DiffDiskOptions(str, Enum): + """ + Specifies the ephemeral disk settings for operating system disk. + """ + LOCAL = "Local" + + +class DiffDiskPlacement(str, Enum): + """ + Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + """ + CACHE_DISK = "CacheDisk" + RESOURCE_DISK = "ResourceDisk" + + +class DiskControllerTypes(str, Enum): + """ + Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01. + """ + SCSI = "SCSI" + NV_ME = "NVMe" + + +class DiskCreateOptionTypes(str, Enum): + """ + Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + """ + FROM_IMAGE = "FromImage" + EMPTY = "Empty" + ATTACH = "Attach" + + +class DiskDeleteOptionTypes(str, Enum): + """ + Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the OS disk is deleted when VM is deleted. **Detach.** If this value is used, the os disk is retained after VM is deleted. The default value is set to **Detach**. For an ephemeral OS Disk, the default value is set to **Delete**. The user cannot change the delete option for an ephemeral OS Disk. + """ + DELETE = "Delete" + DETACH = "Detach" + + +class DiskDetachOptionTypes(str, Enum): + """ + Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + """ + FORCE_DETACH = "ForceDetach" + + +class DomainNameLabelScopeTypes(str, Enum): + """ + The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created + """ + TENANT_REUSE = "TenantReuse" + SUBSCRIPTION_REUSE = "SubscriptionReuse" + RESOURCE_GROUP_REUSE = "ResourceGroupReuse" + NO_REUSE = "NoReuse" + + +class ExtendedLocationTypes(str, Enum): + """ + The type of the extended location. + """ + EDGE_ZONE = "EdgeZone" + + +class HyperVGenerationTypes(str, Enum): + """ + Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + """ + V1 = "V1" + V2 = "V2" + + +class IPVersion(str, Enum): + """ + Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + """ + I_PV4 = "IPv4" + I_PV6 = "IPv6" + + +class IPVersions(str, Enum): + """ + Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + """ + I_PV4 = "IPv4" + I_PV6 = "IPv6" + + +class IntervalInMins(str, Enum): + """ + Interval value in minutes used to create LogAnalytics call rate logs. + """ + THREE_MINS = "ThreeMins" + FIVE_MINS = "FiveMins" + THIRTY_MINS = "ThirtyMins" + SIXTY_MINS = "SixtyMins" + + +class LinuxPatchAssessmentMode(str, Enum): + """ + Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + """ + IMAGE_DEFAULT = "ImageDefault" + AUTOMATIC_BY_PLATFORM = "AutomaticByPlatform" + + +class LinuxVMGuestPatchAutomaticByPlatformRebootSetting(str, Enum): + """ + Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + """ + UNKNOWN = "Unknown" + IF_REQUIRED = "IfRequired" + NEVER = "Never" + ALWAYS = "Always" + + +class LinuxVMGuestPatchMode(str, Enum): + """ + Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**ImageDefault** - The virtual machine's default patching configuration is used.

**AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true + """ + IMAGE_DEFAULT = "ImageDefault" + AUTOMATIC_BY_PLATFORM = "AutomaticByPlatform" + + +class NetworkApiVersion(str, Enum): + """ + specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations + """ + NETWORK_API_VERSION_2020_11_01 = "2020-11-01" + + +class NetworkInterfaceAuxiliaryMode(str, Enum): + """ + Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + """ + NONE = "None" + ACCELERATED_CONNECTIONS = "AcceleratedConnections" + FLOATING = "Floating" + + +class NetworkInterfaceAuxiliarySku(str, Enum): + """ + Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + """ + NONE = "None" + A1 = "A1" + A2 = "A2" + A4 = "A4" + A8 = "A8" + + +class OperatingSystemStateTypes(str, Enum): + """ + The OS State. For managed images, use Generalized. + """ + GENERALIZED = "Generalized" + """ + Generalized image. Needs to be provisioned during deployment time. + """ + SPECIALIZED = "Specialized" + """ + Specialized image. Contains already provisioned OS Disk. + """ + + +class OperatingSystemTypes(str, Enum): + """ + This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + """ + WINDOWS = "Windows" + LINUX = "Linux" + + +class OrchestrationMode(str, Enum): + """ + Specifies the orchestration mode for the virtual machine scale set. + """ + UNIFORM = "Uniform" + FLEXIBLE = "Flexible" + + +class PassNames(str, Enum): + """ + The pass name. Currently, the only allowable value is OobeSystem. + """ + OOBE_SYSTEM = "OobeSystem" + + +class ProtocolTypes(str, Enum): + """ + Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** + """ + HTTP = "Http" + HTTPS = "Https" + + +class ProximityPlacementGroupType(str, Enum): + """ + Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + """ + STANDARD = "Standard" + ULTRA = "Ultra" + + +class PublicIPAddressSkuName(str, Enum): + """ + Specify public IP sku name + """ + BASIC = "Basic" + STANDARD = "Standard" + + +class PublicIPAddressSkuTier(str, Enum): + """ + Specify public IP sku tier + """ + REGIONAL = "Regional" + GLOBAL_ = "Global" + + +class PublicIPAllocationMethod(str, Enum): + """ + Specify the public IP allocation type + """ + DYNAMIC = "Dynamic" + STATIC = "Static" + + +class RepairAction(str, Enum): + """ + Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. + """ + REPLACE = "Replace" + RESTART = "Restart" + REIMAGE = "Reimage" + + +class ResourceIdentityType(str, Enum): + """ + The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. + """ + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned, UserAssigned" + NONE = "None" + + +class RestorePointEncryptionType(str, Enum): + """ + The type of key used to encrypt the data of the disk restore point. + """ + ENCRYPTION_AT_REST_WITH_PLATFORM_KEY = "EncryptionAtRestWithPlatformKey" + """ + Disk Restore Point is encrypted at rest with Platform managed key. + """ + ENCRYPTION_AT_REST_WITH_CUSTOMER_KEY = "EncryptionAtRestWithCustomerKey" + """ + Disk Restore Point is encrypted at rest with Customer managed key that can be changed and revoked by a customer. + """ + ENCRYPTION_AT_REST_WITH_PLATFORM_AND_CUSTOMER_KEYS = "EncryptionAtRestWithPlatformAndCustomerKeys" + """ + Disk Restore Point is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed. + """ + + +class SecurityEncryptionTypes(str, Enum): + """ + Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs. + """ + VM_GUEST_STATE_ONLY = "VMGuestStateOnly" + DISK_WITH_VM_GUEST_STATE = "DiskWithVMGuestState" + + +class SecurityTypes(str, Enum): + """ + Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set. + """ + TRUSTED_LAUNCH = "TrustedLaunch" + CONFIDENTIAL_VM = "ConfidentialVM" + + +class SettingNames(str, Enum): + """ + Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. + """ + AUTO_LOGON = "AutoLogon" + FIRST_LOGON_COMMANDS = "FirstLogonCommands" + + +class StatusLevelTypes(str, Enum): + """ + The level code. + """ + INFO = "Info" + WARNING = "Warning" + ERROR = "Error" + + +class StorageAccountTypes(str, Enum): + """ + Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + STANDARD_LRS = "Standard_LRS" + PREMIUM_LRS = "Premium_LRS" + STANDARD_SS_D_LRS = "StandardSSD_LRS" + ULTRA_SS_D_LRS = "UltraSSD_LRS" + PREMIUM_ZRS = "Premium_ZRS" + STANDARD_SS_D_ZRS = "StandardSSD_ZRS" + PREMIUM_V2_LRS = "PremiumV2_LRS" + + +class UpgradeMode(str, Enum): + """ + Specifies the mode of an upgrade to virtual machines in the scale set.

Possible values are:

**Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

**Automatic** - All virtual machines in the scale set are automatically updated at the same time. + """ + AUTOMATIC = "Automatic" + MANUAL = "Manual" + ROLLING = "Rolling" + + +class VirtualMachineEvictionPolicyTypes(str, Enum): + """ + Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + """ + DEALLOCATE = "Deallocate" + DELETE = "Delete" + + +class VirtualMachinePriorityTypes(str, Enum): + """ + Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview. + """ + REGULAR = "Regular" + LOW = "Low" + SPOT = "Spot" + + +class VirtualMachineScaleSetScaleInRules(str, Enum): + DEFAULT = "Default" + OLDEST_VM = "OldestVM" + NEWEST_VM = "NewestVM" + + +class VirtualMachineSizeTypes(str, Enum): + """ + Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. + """ + BASIC_A0 = "Basic_A0" + BASIC_A1 = "Basic_A1" + BASIC_A2 = "Basic_A2" + BASIC_A3 = "Basic_A3" + BASIC_A4 = "Basic_A4" + STANDARD_A0 = "Standard_A0" + STANDARD_A1 = "Standard_A1" + STANDARD_A2 = "Standard_A2" + STANDARD_A3 = "Standard_A3" + STANDARD_A4 = "Standard_A4" + STANDARD_A5 = "Standard_A5" + STANDARD_A6 = "Standard_A6" + STANDARD_A7 = "Standard_A7" + STANDARD_A8 = "Standard_A8" + STANDARD_A9 = "Standard_A9" + STANDARD_A10 = "Standard_A10" + STANDARD_A11 = "Standard_A11" + STANDARD_A1_V2 = "Standard_A1_v2" + STANDARD_A2_V2 = "Standard_A2_v2" + STANDARD_A4_V2 = "Standard_A4_v2" + STANDARD_A8_V2 = "Standard_A8_v2" + STANDARD_A2M_V2 = "Standard_A2m_v2" + STANDARD_A4M_V2 = "Standard_A4m_v2" + STANDARD_A8M_V2 = "Standard_A8m_v2" + STANDARD_B1S = "Standard_B1s" + STANDARD_B1MS = "Standard_B1ms" + STANDARD_B2S = "Standard_B2s" + STANDARD_B2MS = "Standard_B2ms" + STANDARD_B4MS = "Standard_B4ms" + STANDARD_B8MS = "Standard_B8ms" + STANDARD_D1 = "Standard_D1" + STANDARD_D2 = "Standard_D2" + STANDARD_D3 = "Standard_D3" + STANDARD_D4 = "Standard_D4" + STANDARD_D11 = "Standard_D11" + STANDARD_D12 = "Standard_D12" + STANDARD_D13 = "Standard_D13" + STANDARD_D14 = "Standard_D14" + STANDARD_D1_V2 = "Standard_D1_v2" + STANDARD_D2_V2 = "Standard_D2_v2" + STANDARD_D3_V2 = "Standard_D3_v2" + STANDARD_D4_V2 = "Standard_D4_v2" + STANDARD_D5_V2 = "Standard_D5_v2" + STANDARD_D2_V3 = "Standard_D2_v3" + STANDARD_D4_V3 = "Standard_D4_v3" + STANDARD_D8_V3 = "Standard_D8_v3" + STANDARD_D16_V3 = "Standard_D16_v3" + STANDARD_D32_V3 = "Standard_D32_v3" + STANDARD_D64_V3 = "Standard_D64_v3" + STANDARD_D2S_V3 = "Standard_D2s_v3" + STANDARD_D4S_V3 = "Standard_D4s_v3" + STANDARD_D8S_V3 = "Standard_D8s_v3" + STANDARD_D16S_V3 = "Standard_D16s_v3" + STANDARD_D32S_V3 = "Standard_D32s_v3" + STANDARD_D64S_V3 = "Standard_D64s_v3" + STANDARD_D11_V2 = "Standard_D11_v2" + STANDARD_D12_V2 = "Standard_D12_v2" + STANDARD_D13_V2 = "Standard_D13_v2" + STANDARD_D14_V2 = "Standard_D14_v2" + STANDARD_D15_V2 = "Standard_D15_v2" + STANDARD_DS1 = "Standard_DS1" + STANDARD_DS2 = "Standard_DS2" + STANDARD_DS3 = "Standard_DS3" + STANDARD_DS4 = "Standard_DS4" + STANDARD_DS11 = "Standard_DS11" + STANDARD_DS12 = "Standard_DS12" + STANDARD_DS13 = "Standard_DS13" + STANDARD_DS14 = "Standard_DS14" + STANDARD_DS1_V2 = "Standard_DS1_v2" + STANDARD_DS2_V2 = "Standard_DS2_v2" + STANDARD_DS3_V2 = "Standard_DS3_v2" + STANDARD_DS4_V2 = "Standard_DS4_v2" + STANDARD_DS5_V2 = "Standard_DS5_v2" + STANDARD_DS11_V2 = "Standard_DS11_v2" + STANDARD_DS12_V2 = "Standard_DS12_v2" + STANDARD_DS13_V2 = "Standard_DS13_v2" + STANDARD_DS14_V2 = "Standard_DS14_v2" + STANDARD_DS15_V2 = "Standard_DS15_v2" + STANDARD_DS13_4_V2 = "Standard_DS13-4_v2" + STANDARD_DS13_2_V2 = "Standard_DS13-2_v2" + STANDARD_DS14_8_V2 = "Standard_DS14-8_v2" + STANDARD_DS14_4_V2 = "Standard_DS14-4_v2" + STANDARD_E2_V3 = "Standard_E2_v3" + STANDARD_E4_V3 = "Standard_E4_v3" + STANDARD_E8_V3 = "Standard_E8_v3" + STANDARD_E16_V3 = "Standard_E16_v3" + STANDARD_E32_V3 = "Standard_E32_v3" + STANDARD_E64_V3 = "Standard_E64_v3" + STANDARD_E2S_V3 = "Standard_E2s_v3" + STANDARD_E4S_V3 = "Standard_E4s_v3" + STANDARD_E8S_V3 = "Standard_E8s_v3" + STANDARD_E16S_V3 = "Standard_E16s_v3" + STANDARD_E32S_V3 = "Standard_E32s_v3" + STANDARD_E64S_V3 = "Standard_E64s_v3" + STANDARD_E32_16_V3 = "Standard_E32-16_v3" + STANDARD_E32_8S_V3 = "Standard_E32-8s_v3" + STANDARD_E64_32S_V3 = "Standard_E64-32s_v3" + STANDARD_E64_16S_V3 = "Standard_E64-16s_v3" + STANDARD_F1 = "Standard_F1" + STANDARD_F2 = "Standard_F2" + STANDARD_F4 = "Standard_F4" + STANDARD_F8 = "Standard_F8" + STANDARD_F16 = "Standard_F16" + STANDARD_F1S = "Standard_F1s" + STANDARD_F2S = "Standard_F2s" + STANDARD_F4S = "Standard_F4s" + STANDARD_F8S = "Standard_F8s" + STANDARD_F16S = "Standard_F16s" + STANDARD_F2S_V2 = "Standard_F2s_v2" + STANDARD_F4S_V2 = "Standard_F4s_v2" + STANDARD_F8S_V2 = "Standard_F8s_v2" + STANDARD_F16S_V2 = "Standard_F16s_v2" + STANDARD_F32S_V2 = "Standard_F32s_v2" + STANDARD_F64S_V2 = "Standard_F64s_v2" + STANDARD_F72S_V2 = "Standard_F72s_v2" + STANDARD_G1 = "Standard_G1" + STANDARD_G2 = "Standard_G2" + STANDARD_G3 = "Standard_G3" + STANDARD_G4 = "Standard_G4" + STANDARD_G5 = "Standard_G5" + STANDARD_GS1 = "Standard_GS1" + STANDARD_GS2 = "Standard_GS2" + STANDARD_GS3 = "Standard_GS3" + STANDARD_GS4 = "Standard_GS4" + STANDARD_GS5 = "Standard_GS5" + STANDARD_GS4_8 = "Standard_GS4-8" + STANDARD_GS4_4 = "Standard_GS4-4" + STANDARD_GS5_16 = "Standard_GS5-16" + STANDARD_GS5_8 = "Standard_GS5-8" + STANDARD_H8 = "Standard_H8" + STANDARD_H16 = "Standard_H16" + STANDARD_H8M = "Standard_H8m" + STANDARD_H16M = "Standard_H16m" + STANDARD_H16R = "Standard_H16r" + STANDARD_H16MR = "Standard_H16mr" + STANDARD_L4S = "Standard_L4s" + STANDARD_L8S = "Standard_L8s" + STANDARD_L16S = "Standard_L16s" + STANDARD_L32S = "Standard_L32s" + STANDARD_M64S = "Standard_M64s" + STANDARD_M64MS = "Standard_M64ms" + STANDARD_M128S = "Standard_M128s" + STANDARD_M128MS = "Standard_M128ms" + STANDARD_M64_32MS = "Standard_M64-32ms" + STANDARD_M64_16MS = "Standard_M64-16ms" + STANDARD_M128_64MS = "Standard_M128-64ms" + STANDARD_M128_32MS = "Standard_M128-32ms" + STANDARD_NC6 = "Standard_NC6" + STANDARD_NC12 = "Standard_NC12" + STANDARD_NC24 = "Standard_NC24" + STANDARD_NC24R = "Standard_NC24r" + STANDARD_NC6S_V2 = "Standard_NC6s_v2" + STANDARD_NC12S_V2 = "Standard_NC12s_v2" + STANDARD_NC24S_V2 = "Standard_NC24s_v2" + STANDARD_NC24RS_V2 = "Standard_NC24rs_v2" + STANDARD_NC6S_V3 = "Standard_NC6s_v3" + STANDARD_NC12S_V3 = "Standard_NC12s_v3" + STANDARD_NC24S_V3 = "Standard_NC24s_v3" + STANDARD_NC24RS_V3 = "Standard_NC24rs_v3" + STANDARD_ND6S = "Standard_ND6s" + STANDARD_ND12S = "Standard_ND12s" + STANDARD_ND24S = "Standard_ND24s" + STANDARD_ND24RS = "Standard_ND24rs" + STANDARD_NV6 = "Standard_NV6" + STANDARD_NV12 = "Standard_NV12" + STANDARD_NV24 = "Standard_NV24" + + +class WindowsPatchAssessmentMode(str, Enum): + """ + Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + """ + IMAGE_DEFAULT = "ImageDefault" + AUTOMATIC_BY_PLATFORM = "AutomaticByPlatform" + + +class WindowsVMGuestPatchAutomaticByPlatformRebootSetting(str, Enum): + """ + Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + """ + UNKNOWN = "Unknown" + IF_REQUIRED = "IfRequired" + NEVER = "Never" + ALWAYS = "Always" + + +class WindowsVMGuestPatchMode(str, Enum): + """ + Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

**AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true + """ + MANUAL = "Manual" + AUTOMATIC_BY_OS = "AutomaticByOS" + AUTOMATIC_BY_PLATFORM = "AutomaticByPlatform" diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/_inputs.py b/sdk/python/pulumi_azure_native/compute/v20230701/_inputs.py new file mode 100644 index 000000000000..c347ae4c9e0e --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/_inputs.py @@ -0,0 +1,7068 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = [ + 'AdditionalCapabilitiesArgs', + 'AdditionalUnattendContentArgs', + 'ApiEntityReferenceArgs', + 'ApplicationProfileArgs', + 'AutomaticOSUpgradePolicyArgs', + 'AutomaticRepairsPolicyArgs', + 'BillingProfileArgs', + 'BootDiagnosticsArgs', + 'CapacityReservationProfileArgs', + 'DataDiskArgs', + 'DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs', + 'DiagnosticsProfileArgs', + 'DiffDiskSettingsArgs', + 'DiskEncryptionSetParametersArgs', + 'DiskEncryptionSettingsArgs', + 'DiskRestorePointAttributesArgs', + 'ExtendedLocationArgs', + 'HardwareProfileArgs', + 'ImageDataDiskArgs', + 'ImageOSDiskArgs', + 'ImageReferenceArgs', + 'ImageStorageProfileArgs', + 'InstanceViewStatusArgs', + 'KeyVaultKeyReferenceArgs', + 'KeyVaultSecretReferenceArgs', + 'LinuxConfigurationArgs', + 'LinuxPatchSettingsArgs', + 'LinuxVMGuestPatchAutomaticByPlatformSettingsArgs', + 'ManagedDiskParametersArgs', + 'NetworkInterfaceReferenceArgs', + 'NetworkProfileArgs', + 'OSDiskArgs', + 'OSImageNotificationProfileArgs', + 'OSProfileArgs', + 'PatchSettingsArgs', + 'PlanArgs', + 'PriorityMixPolicyArgs', + 'ProximityPlacementGroupPropertiesIntentArgs', + 'PublicIPAddressSkuArgs', + 'RestorePointCollectionSourcePropertiesArgs', + 'RestorePointEncryptionArgs', + 'RestorePointSourceMetadataArgs', + 'RestorePointSourceVMDataDiskArgs', + 'RestorePointSourceVMOSDiskArgs', + 'RestorePointSourceVMStorageProfileArgs', + 'RollingUpgradePolicyArgs', + 'RunCommandInputParameterArgs', + 'RunCommandManagedIdentityArgs', + 'ScaleInPolicyArgs', + 'ScheduledEventsProfileArgs', + 'SecurityPostureReferenceArgs', + 'SecurityProfileArgs', + 'ServiceArtifactReferenceArgs', + 'SkuArgs', + 'SpotRestorePolicyArgs', + 'SshConfigurationArgs', + 'SshPublicKeyArgs', + 'StorageProfileArgs', + 'SubResourceArgs', + 'TerminateNotificationProfileArgs', + 'UefiSettingsArgs', + 'UpgradePolicyArgs', + 'VMDiskSecurityProfileArgs', + 'VMGalleryApplicationArgs', + 'VMSizePropertiesArgs', + 'VaultCertificateArgs', + 'VaultSecretGroupArgs', + 'VirtualHardDiskArgs', + 'VirtualMachineExtensionInstanceViewArgs', + 'VirtualMachineExtensionArgs', + 'VirtualMachineIdentityArgs', + 'VirtualMachineIpTagArgs', + 'VirtualMachineNetworkInterfaceConfigurationArgs', + 'VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs', + 'VirtualMachineNetworkInterfaceIPConfigurationArgs', + 'VirtualMachinePublicIPAddressConfigurationArgs', + 'VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs', + 'VirtualMachineRunCommandScriptSourceArgs', + 'VirtualMachineScaleSetDataDiskArgs', + 'VirtualMachineScaleSetExtensionProfileArgs', + 'VirtualMachineScaleSetExtensionArgs', + 'VirtualMachineScaleSetHardwareProfileArgs', + 'VirtualMachineScaleSetIPConfigurationArgs', + 'VirtualMachineScaleSetIdentityArgs', + 'VirtualMachineScaleSetIpTagArgs', + 'VirtualMachineScaleSetManagedDiskParametersArgs', + 'VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs', + 'VirtualMachineScaleSetNetworkConfigurationArgs', + 'VirtualMachineScaleSetNetworkProfileArgs', + 'VirtualMachineScaleSetOSDiskArgs', + 'VirtualMachineScaleSetOSProfileArgs', + 'VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs', + 'VirtualMachineScaleSetPublicIPAddressConfigurationArgs', + 'VirtualMachineScaleSetStorageProfileArgs', + 'VirtualMachineScaleSetVMNetworkProfileConfigurationArgs', + 'VirtualMachineScaleSetVMProfileArgs', + 'VirtualMachineScaleSetVMProtectionPolicyArgs', + 'WinRMConfigurationArgs', + 'WinRMListenerArgs', + 'WindowsConfigurationArgs', + 'WindowsVMGuestPatchAutomaticByPlatformSettingsArgs', +] + +@pulumi.input_type +class AdditionalCapabilitiesArgs: + def __init__(__self__, *, + hibernation_enabled: Optional[pulumi.Input[bool]] = None, + ultra_ssd_enabled: Optional[pulumi.Input[bool]] = None): + """ + Enables or disables a capability on the virtual machine or virtual machine scale set. + :param pulumi.Input[bool] hibernation_enabled: The flag that enables or disables hibernation capability on the VM. + :param pulumi.Input[bool] ultra_ssd_enabled: The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. + """ + if hibernation_enabled is not None: + pulumi.set(__self__, "hibernation_enabled", hibernation_enabled) + if ultra_ssd_enabled is not None: + pulumi.set(__self__, "ultra_ssd_enabled", ultra_ssd_enabled) + + @property + @pulumi.getter(name="hibernationEnabled") + def hibernation_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + The flag that enables or disables hibernation capability on the VM. + """ + return pulumi.get(self, "hibernation_enabled") + + @hibernation_enabled.setter + def hibernation_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "hibernation_enabled", value) + + @property + @pulumi.getter(name="ultraSSDEnabled") + def ultra_ssd_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. + """ + return pulumi.get(self, "ultra_ssd_enabled") + + @ultra_ssd_enabled.setter + def ultra_ssd_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "ultra_ssd_enabled", value) + + +@pulumi.input_type +class AdditionalUnattendContentArgs: + def __init__(__self__, *, + component_name: Optional[pulumi.Input['ComponentNames']] = None, + content: Optional[pulumi.Input[str]] = None, + pass_name: Optional[pulumi.Input['PassNames']] = None, + setting_name: Optional[pulumi.Input['SettingNames']] = None): + """ + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + :param pulumi.Input['ComponentNames'] component_name: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. + :param pulumi.Input[str] content: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted. + :param pulumi.Input['PassNames'] pass_name: The pass name. Currently, the only allowable value is OobeSystem. + :param pulumi.Input['SettingNames'] setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. + """ + if component_name is not None: + pulumi.set(__self__, "component_name", component_name) + if content is not None: + pulumi.set(__self__, "content", content) + if pass_name is not None: + pulumi.set(__self__, "pass_name", pass_name) + if setting_name is not None: + pulumi.set(__self__, "setting_name", setting_name) + + @property + @pulumi.getter(name="componentName") + def component_name(self) -> Optional[pulumi.Input['ComponentNames']]: + """ + The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. + """ + return pulumi.get(self, "component_name") + + @component_name.setter + def component_name(self, value: Optional[pulumi.Input['ComponentNames']]): + pulumi.set(self, "component_name", value) + + @property + @pulumi.getter + def content(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted. + """ + return pulumi.get(self, "content") + + @content.setter + def content(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "content", value) + + @property + @pulumi.getter(name="passName") + def pass_name(self) -> Optional[pulumi.Input['PassNames']]: + """ + The pass name. Currently, the only allowable value is OobeSystem. + """ + return pulumi.get(self, "pass_name") + + @pass_name.setter + def pass_name(self, value: Optional[pulumi.Input['PassNames']]): + pulumi.set(self, "pass_name", value) + + @property + @pulumi.getter(name="settingName") + def setting_name(self) -> Optional[pulumi.Input['SettingNames']]: + """ + Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. + """ + return pulumi.get(self, "setting_name") + + @setting_name.setter + def setting_name(self, value: Optional[pulumi.Input['SettingNames']]): + pulumi.set(self, "setting_name", value) + + +@pulumi.input_type +class ApiEntityReferenceArgs: + def __init__(__self__, *, + id: Optional[pulumi.Input[str]] = None): + """ + The API entity reference. + :param pulumi.Input[str] id: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class ApplicationProfileArgs: + def __init__(__self__, *, + gallery_applications: Optional[pulumi.Input[Sequence[pulumi.Input['VMGalleryApplicationArgs']]]] = None): + """ + Contains the list of gallery applications that should be made available to the VM/VMSS + :param pulumi.Input[Sequence[pulumi.Input['VMGalleryApplicationArgs']]] gallery_applications: Specifies the gallery applications that should be made available to the VM/VMSS + """ + if gallery_applications is not None: + pulumi.set(__self__, "gallery_applications", gallery_applications) + + @property + @pulumi.getter(name="galleryApplications") + def gallery_applications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VMGalleryApplicationArgs']]]]: + """ + Specifies the gallery applications that should be made available to the VM/VMSS + """ + return pulumi.get(self, "gallery_applications") + + @gallery_applications.setter + def gallery_applications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VMGalleryApplicationArgs']]]]): + pulumi.set(self, "gallery_applications", value) + + +@pulumi.input_type +class AutomaticOSUpgradePolicyArgs: + def __init__(__self__, *, + disable_automatic_rollback: Optional[pulumi.Input[bool]] = None, + enable_automatic_os_upgrade: Optional[pulumi.Input[bool]] = None, + use_rolling_upgrade_policy: Optional[pulumi.Input[bool]] = None): + """ + The configuration parameters used for performing automatic OS upgrade. + :param pulumi.Input[bool] disable_automatic_rollback: Whether OS image rollback feature should be disabled. Default value is false. + :param pulumi.Input[bool] enable_automatic_os_upgrade: Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true. + :param pulumi.Input[bool] use_rolling_upgrade_policy: Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. + """ + if disable_automatic_rollback is not None: + pulumi.set(__self__, "disable_automatic_rollback", disable_automatic_rollback) + if enable_automatic_os_upgrade is not None: + pulumi.set(__self__, "enable_automatic_os_upgrade", enable_automatic_os_upgrade) + if use_rolling_upgrade_policy is not None: + pulumi.set(__self__, "use_rolling_upgrade_policy", use_rolling_upgrade_policy) + + @property + @pulumi.getter(name="disableAutomaticRollback") + def disable_automatic_rollback(self) -> Optional[pulumi.Input[bool]]: + """ + Whether OS image rollback feature should be disabled. Default value is false. + """ + return pulumi.get(self, "disable_automatic_rollback") + + @disable_automatic_rollback.setter + def disable_automatic_rollback(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_automatic_rollback", value) + + @property + @pulumi.getter(name="enableAutomaticOSUpgrade") + def enable_automatic_os_upgrade(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true. + """ + return pulumi.get(self, "enable_automatic_os_upgrade") + + @enable_automatic_os_upgrade.setter + def enable_automatic_os_upgrade(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_automatic_os_upgrade", value) + + @property + @pulumi.getter(name="useRollingUpgradePolicy") + def use_rolling_upgrade_policy(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. + """ + return pulumi.get(self, "use_rolling_upgrade_policy") + + @use_rolling_upgrade_policy.setter + def use_rolling_upgrade_policy(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_rolling_upgrade_policy", value) + + +@pulumi.input_type +class AutomaticRepairsPolicyArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + grace_period: Optional[pulumi.Input[str]] = None, + repair_action: Optional[pulumi.Input[Union[str, 'RepairAction']]] = None): + """ + Specifies the configuration parameters for automatic repairs on the virtual machine scale set. + :param pulumi.Input[bool] enabled: Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false. + :param pulumi.Input[str] grace_period: The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M). + :param pulumi.Input[Union[str, 'RepairAction']] repair_action: Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if grace_period is not None: + pulumi.set(__self__, "grace_period", grace_period) + if repair_action is not None: + pulumi.set(__self__, "repair_action", repair_action) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="gracePeriod") + def grace_period(self) -> Optional[pulumi.Input[str]]: + """ + The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M). + """ + return pulumi.get(self, "grace_period") + + @grace_period.setter + def grace_period(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "grace_period", value) + + @property + @pulumi.getter(name="repairAction") + def repair_action(self) -> Optional[pulumi.Input[Union[str, 'RepairAction']]]: + """ + Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. + """ + return pulumi.get(self, "repair_action") + + @repair_action.setter + def repair_action(self, value: Optional[pulumi.Input[Union[str, 'RepairAction']]]): + pulumi.set(self, "repair_action", value) + + +@pulumi.input_type +class BillingProfileArgs: + def __init__(__self__, *, + max_price: Optional[pulumi.Input[float]] = None): + """ + Specifies the billing related details of a Azure Spot VM or VMSS. Minimum api-version: 2019-03-01. + :param pulumi.Input[float] max_price: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.

The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.

Possible values are:

- Any decimal value greater than zero. Example: 0.01538

-1 – indicates default price to be up-to on-demand.

You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

Minimum api-version: 2019-03-01. + """ + if max_price is not None: + pulumi.set(__self__, "max_price", max_price) + + @property + @pulumi.getter(name="maxPrice") + def max_price(self) -> Optional[pulumi.Input[float]]: + """ + Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.

The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.

Possible values are:

- Any decimal value greater than zero. Example: 0.01538

-1 – indicates default price to be up-to on-demand.

You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

Minimum api-version: 2019-03-01. + """ + return pulumi.get(self, "max_price") + + @max_price.setter + def max_price(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "max_price", value) + + +@pulumi.input_type +class BootDiagnosticsArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + storage_uri: Optional[pulumi.Input[str]] = None): + """ + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + :param pulumi.Input[bool] enabled: Whether boot diagnostics should be enabled on the Virtual Machine. + :param pulumi.Input[str] storage_uri: Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if storage_uri is not None: + pulumi.set(__self__, "storage_uri", storage_uri) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether boot diagnostics should be enabled on the Virtual Machine. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="storageUri") + def storage_uri(self) -> Optional[pulumi.Input[str]]: + """ + Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + """ + return pulumi.get(self, "storage_uri") + + @storage_uri.setter + def storage_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_uri", value) + + +@pulumi.input_type +class CapacityReservationProfileArgs: + def __init__(__self__, *, + capacity_reservation_group: Optional[pulumi.Input['SubResourceArgs']] = None): + """ + The parameters of a capacity reservation Profile. + :param pulumi.Input['SubResourceArgs'] capacity_reservation_group: Specifies the capacity reservation group resource id that should be used for allocating the virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details. + """ + if capacity_reservation_group is not None: + pulumi.set(__self__, "capacity_reservation_group", capacity_reservation_group) + + @property + @pulumi.getter(name="capacityReservationGroup") + def capacity_reservation_group(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + Specifies the capacity reservation group resource id that should be used for allocating the virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details. + """ + return pulumi.get(self, "capacity_reservation_group") + + @capacity_reservation_group.setter + def capacity_reservation_group(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "capacity_reservation_group", value) + + +@pulumi.input_type +class DataDiskArgs: + def __init__(__self__, *, + create_option: pulumi.Input[Union[str, 'DiskCreateOptionTypes']], + lun: pulumi.Input[int], + caching: Optional[pulumi.Input['CachingTypes']] = None, + delete_option: Optional[pulumi.Input[Union[str, 'DiskDeleteOptionTypes']]] = None, + detach_option: Optional[pulumi.Input[Union[str, 'DiskDetachOptionTypes']]] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + image: Optional[pulumi.Input['VirtualHardDiskArgs']] = None, + managed_disk: Optional[pulumi.Input['ManagedDiskParametersArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + to_be_detached: Optional[pulumi.Input[bool]] = None, + vhd: Optional[pulumi.Input['VirtualHardDiskArgs']] = None, + write_accelerator_enabled: Optional[pulumi.Input[bool]] = None): + """ + Describes a data disk. + :param pulumi.Input[Union[str, 'DiskCreateOptionTypes']] create_option: Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + :param pulumi.Input[int] lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + :param pulumi.Input['CachingTypes'] caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + :param pulumi.Input[Union[str, 'DiskDeleteOptionTypes']] delete_option: Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the data disk is deleted when VM is deleted. **Detach.** If this value is used, the data disk is retained after VM is deleted. The default value is set to **Detach**. + :param pulumi.Input[Union[str, 'DiskDetachOptionTypes']] detach_option: Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + :param pulumi.Input[int] disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + :param pulumi.Input['VirtualHardDiskArgs'] image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + :param pulumi.Input['ManagedDiskParametersArgs'] managed_disk: The managed disk parameters. + :param pulumi.Input[str] name: The disk name. + :param pulumi.Input[bool] to_be_detached: Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset + :param pulumi.Input['VirtualHardDiskArgs'] vhd: The virtual hard disk. + :param pulumi.Input[bool] write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + pulumi.set(__self__, "create_option", create_option) + pulumi.set(__self__, "lun", lun) + if caching is not None: + pulumi.set(__self__, "caching", caching) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if detach_option is not None: + pulumi.set(__self__, "detach_option", detach_option) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if image is not None: + pulumi.set(__self__, "image", image) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + if name is not None: + pulumi.set(__self__, "name", name) + if to_be_detached is not None: + pulumi.set(__self__, "to_be_detached", to_be_detached) + if vhd is not None: + pulumi.set(__self__, "vhd", vhd) + if write_accelerator_enabled is not None: + pulumi.set(__self__, "write_accelerator_enabled", write_accelerator_enabled) + + @property + @pulumi.getter(name="createOption") + def create_option(self) -> pulumi.Input[Union[str, 'DiskCreateOptionTypes']]: + """ + Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + """ + return pulumi.get(self, "create_option") + + @create_option.setter + def create_option(self, value: pulumi.Input[Union[str, 'DiskCreateOptionTypes']]): + pulumi.set(self, "create_option", value) + + @property + @pulumi.getter + def lun(self) -> pulumi.Input[int]: + """ + Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + """ + return pulumi.get(self, "lun") + + @lun.setter + def lun(self, value: pulumi.Input[int]): + pulumi.set(self, "lun", value) + + @property + @pulumi.getter + def caching(self) -> Optional[pulumi.Input['CachingTypes']]: + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + """ + return pulumi.get(self, "caching") + + @caching.setter + def caching(self, value: Optional[pulumi.Input['CachingTypes']]): + pulumi.set(self, "caching", value) + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[pulumi.Input[Union[str, 'DiskDeleteOptionTypes']]]: + """ + Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the data disk is deleted when VM is deleted. **Detach.** If this value is used, the data disk is retained after VM is deleted. The default value is set to **Detach**. + """ + return pulumi.get(self, "delete_option") + + @delete_option.setter + def delete_option(self, value: Optional[pulumi.Input[Union[str, 'DiskDeleteOptionTypes']]]): + pulumi.set(self, "delete_option", value) + + @property + @pulumi.getter(name="detachOption") + def detach_option(self) -> Optional[pulumi.Input[Union[str, 'DiskDetachOptionTypes']]]: + """ + Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + """ + return pulumi.get(self, "detach_option") + + @detach_option.setter + def detach_option(self, value: Optional[pulumi.Input[Union[str, 'DiskDetachOptionTypes']]]): + pulumi.set(self, "detach_option", value) + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + """ + return pulumi.get(self, "disk_size_gb") + + @disk_size_gb.setter + def disk_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size_gb", value) + + @property + @pulumi.getter + def image(self) -> Optional[pulumi.Input['VirtualHardDiskArgs']]: + """ + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + """ + return pulumi.get(self, "image") + + @image.setter + def image(self, value: Optional[pulumi.Input['VirtualHardDiskArgs']]): + pulumi.set(self, "image", value) + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional[pulumi.Input['ManagedDiskParametersArgs']]: + """ + The managed disk parameters. + """ + return pulumi.get(self, "managed_disk") + + @managed_disk.setter + def managed_disk(self, value: Optional[pulumi.Input['ManagedDiskParametersArgs']]): + pulumi.set(self, "managed_disk", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The disk name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="toBeDetached") + def to_be_detached(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset + """ + return pulumi.get(self, "to_be_detached") + + @to_be_detached.setter + def to_be_detached(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "to_be_detached", value) + + @property + @pulumi.getter + def vhd(self) -> Optional[pulumi.Input['VirtualHardDiskArgs']]: + """ + The virtual hard disk. + """ + return pulumi.get(self, "vhd") + + @vhd.setter + def vhd(self, value: Optional[pulumi.Input['VirtualHardDiskArgs']]): + pulumi.set(self, "vhd", value) + + @property + @pulumi.getter(name="writeAcceleratorEnabled") + def write_accelerator_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + return pulumi.get(self, "write_accelerator_enabled") + + @write_accelerator_enabled.setter + def write_accelerator_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "write_accelerator_enabled", value) + + +@pulumi.input_type +class DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs: + def __init__(__self__, *, + ultra_ssd_enabled: Optional[pulumi.Input[bool]] = None): + """ + Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + :param pulumi.Input[bool] ultra_ssd_enabled: The flag that enables or disables a capability to have UltraSSD Enabled Virtual Machines on Dedicated Hosts of the Dedicated Host Group. For the Virtual Machines to be UltraSSD Enabled, UltraSSDEnabled flag for the resource needs to be set true as well. The value is defaulted to 'false' when not provided. Please refer to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd for more details on Ultra SSD feature. **Note:** The ultraSSDEnabled setting can only be enabled for Host Groups that are created as zonal. Minimum api-version: 2022-03-01. + """ + if ultra_ssd_enabled is not None: + pulumi.set(__self__, "ultra_ssd_enabled", ultra_ssd_enabled) + + @property + @pulumi.getter(name="ultraSSDEnabled") + def ultra_ssd_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + The flag that enables or disables a capability to have UltraSSD Enabled Virtual Machines on Dedicated Hosts of the Dedicated Host Group. For the Virtual Machines to be UltraSSD Enabled, UltraSSDEnabled flag for the resource needs to be set true as well. The value is defaulted to 'false' when not provided. Please refer to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd for more details on Ultra SSD feature. **Note:** The ultraSSDEnabled setting can only be enabled for Host Groups that are created as zonal. Minimum api-version: 2022-03-01. + """ + return pulumi.get(self, "ultra_ssd_enabled") + + @ultra_ssd_enabled.setter + def ultra_ssd_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "ultra_ssd_enabled", value) + + +@pulumi.input_type +class DiagnosticsProfileArgs: + def __init__(__self__, *, + boot_diagnostics: Optional[pulumi.Input['BootDiagnosticsArgs']] = None): + """ + Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + :param pulumi.Input['BootDiagnosticsArgs'] boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. **NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + """ + if boot_diagnostics is not None: + pulumi.set(__self__, "boot_diagnostics", boot_diagnostics) + + @property + @pulumi.getter(name="bootDiagnostics") + def boot_diagnostics(self) -> Optional[pulumi.Input['BootDiagnosticsArgs']]: + """ + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. **NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + """ + return pulumi.get(self, "boot_diagnostics") + + @boot_diagnostics.setter + def boot_diagnostics(self, value: Optional[pulumi.Input['BootDiagnosticsArgs']]): + pulumi.set(self, "boot_diagnostics", value) + + +@pulumi.input_type +class DiffDiskSettingsArgs: + def __init__(__self__, *, + option: Optional[pulumi.Input[Union[str, 'DiffDiskOptions']]] = None, + placement: Optional[pulumi.Input[Union[str, 'DiffDiskPlacement']]] = None): + """ + Describes the parameters of ephemeral disk settings that can be specified for operating system disk. **Note:** The ephemeral disk settings can only be specified for managed disk. + :param pulumi.Input[Union[str, 'DiffDiskOptions']] option: Specifies the ephemeral disk settings for operating system disk. + :param pulumi.Input[Union[str, 'DiffDiskPlacement']] placement: Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + """ + if option is not None: + pulumi.set(__self__, "option", option) + if placement is not None: + pulumi.set(__self__, "placement", placement) + + @property + @pulumi.getter + def option(self) -> Optional[pulumi.Input[Union[str, 'DiffDiskOptions']]]: + """ + Specifies the ephemeral disk settings for operating system disk. + """ + return pulumi.get(self, "option") + + @option.setter + def option(self, value: Optional[pulumi.Input[Union[str, 'DiffDiskOptions']]]): + pulumi.set(self, "option", value) + + @property + @pulumi.getter + def placement(self) -> Optional[pulumi.Input[Union[str, 'DiffDiskPlacement']]]: + """ + Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + """ + return pulumi.get(self, "placement") + + @placement.setter + def placement(self, value: Optional[pulumi.Input[Union[str, 'DiffDiskPlacement']]]): + pulumi.set(self, "placement", value) + + +@pulumi.input_type +class DiskEncryptionSetParametersArgs: + def __init__(__self__, *, + id: Optional[pulumi.Input[str]] = None): + """ + Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + :param pulumi.Input[str] id: Resource Id + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class DiskEncryptionSettingsArgs: + def __init__(__self__, *, + disk_encryption_key: Optional[pulumi.Input['KeyVaultSecretReferenceArgs']] = None, + enabled: Optional[pulumi.Input[bool]] = None, + key_encryption_key: Optional[pulumi.Input['KeyVaultKeyReferenceArgs']] = None): + """ + Describes a Encryption Settings for a Disk + :param pulumi.Input['KeyVaultSecretReferenceArgs'] disk_encryption_key: Specifies the location of the disk encryption key, which is a Key Vault Secret. + :param pulumi.Input[bool] enabled: Specifies whether disk encryption should be enabled on the virtual machine. + :param pulumi.Input['KeyVaultKeyReferenceArgs'] key_encryption_key: Specifies the location of the key encryption key in Key Vault. + """ + if disk_encryption_key is not None: + pulumi.set(__self__, "disk_encryption_key", disk_encryption_key) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if key_encryption_key is not None: + pulumi.set(__self__, "key_encryption_key", key_encryption_key) + + @property + @pulumi.getter(name="diskEncryptionKey") + def disk_encryption_key(self) -> Optional[pulumi.Input['KeyVaultSecretReferenceArgs']]: + """ + Specifies the location of the disk encryption key, which is a Key Vault Secret. + """ + return pulumi.get(self, "disk_encryption_key") + + @disk_encryption_key.setter + def disk_encryption_key(self, value: Optional[pulumi.Input['KeyVaultSecretReferenceArgs']]): + pulumi.set(self, "disk_encryption_key", value) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether disk encryption should be enabled on the virtual machine. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="keyEncryptionKey") + def key_encryption_key(self) -> Optional[pulumi.Input['KeyVaultKeyReferenceArgs']]: + """ + Specifies the location of the key encryption key in Key Vault. + """ + return pulumi.get(self, "key_encryption_key") + + @key_encryption_key.setter + def key_encryption_key(self, value: Optional[pulumi.Input['KeyVaultKeyReferenceArgs']]): + pulumi.set(self, "key_encryption_key", value) + + +@pulumi.input_type +class DiskRestorePointAttributesArgs: + def __init__(__self__, *, + encryption: Optional[pulumi.Input['RestorePointEncryptionArgs']] = None, + source_disk_restore_point: Optional[pulumi.Input['ApiEntityReferenceArgs']] = None): + """ + Disk Restore Point details. + :param pulumi.Input['RestorePointEncryptionArgs'] encryption: Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + :param pulumi.Input['ApiEntityReferenceArgs'] source_disk_restore_point: Resource Id of the source disk restore point. + """ + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if source_disk_restore_point is not None: + pulumi.set(__self__, "source_disk_restore_point", source_disk_restore_point) + + @property + @pulumi.getter + def encryption(self) -> Optional[pulumi.Input['RestorePointEncryptionArgs']]: + """ + Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + """ + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: Optional[pulumi.Input['RestorePointEncryptionArgs']]): + pulumi.set(self, "encryption", value) + + @property + @pulumi.getter(name="sourceDiskRestorePoint") + def source_disk_restore_point(self) -> Optional[pulumi.Input['ApiEntityReferenceArgs']]: + """ + Resource Id of the source disk restore point. + """ + return pulumi.get(self, "source_disk_restore_point") + + @source_disk_restore_point.setter + def source_disk_restore_point(self, value: Optional[pulumi.Input['ApiEntityReferenceArgs']]): + pulumi.set(self, "source_disk_restore_point", value) + + +@pulumi.input_type +class ExtendedLocationArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[Union[str, 'ExtendedLocationTypes']]] = None): + """ + The complex type of the extended location. + :param pulumi.Input[str] name: The name of the extended location. + :param pulumi.Input[Union[str, 'ExtendedLocationTypes']] type: The type of the extended location. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the extended location. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[Union[str, 'ExtendedLocationTypes']]]: + """ + The type of the extended location. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[Union[str, 'ExtendedLocationTypes']]]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class HardwareProfileArgs: + def __init__(__self__, *, + vm_size: Optional[pulumi.Input[Union[str, 'VirtualMachineSizeTypes']]] = None, + vm_size_properties: Optional[pulumi.Input['VMSizePropertiesArgs']] = None): + """ + Specifies the hardware settings for the virtual machine. + :param pulumi.Input[Union[str, 'VirtualMachineSizeTypes']] vm_size: Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. + :param pulumi.Input['VMSizePropertiesArgs'] vm_size_properties: Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + """ + if vm_size is not None: + pulumi.set(__self__, "vm_size", vm_size) + if vm_size_properties is not None: + pulumi.set(__self__, "vm_size_properties", vm_size_properties) + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> Optional[pulumi.Input[Union[str, 'VirtualMachineSizeTypes']]]: + """ + Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. + """ + return pulumi.get(self, "vm_size") + + @vm_size.setter + def vm_size(self, value: Optional[pulumi.Input[Union[str, 'VirtualMachineSizeTypes']]]): + pulumi.set(self, "vm_size", value) + + @property + @pulumi.getter(name="vmSizeProperties") + def vm_size_properties(self) -> Optional[pulumi.Input['VMSizePropertiesArgs']]: + """ + Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + """ + return pulumi.get(self, "vm_size_properties") + + @vm_size_properties.setter + def vm_size_properties(self, value: Optional[pulumi.Input['VMSizePropertiesArgs']]): + pulumi.set(self, "vm_size_properties", value) + + +@pulumi.input_type +class ImageDataDiskArgs: + def __init__(__self__, *, + lun: pulumi.Input[int], + blob_uri: Optional[pulumi.Input[str]] = None, + caching: Optional[pulumi.Input['CachingTypes']] = None, + disk_encryption_set: Optional[pulumi.Input['DiskEncryptionSetParametersArgs']] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + managed_disk: Optional[pulumi.Input['SubResourceArgs']] = None, + snapshot: Optional[pulumi.Input['SubResourceArgs']] = None, + storage_account_type: Optional[pulumi.Input[Union[str, 'StorageAccountTypes']]] = None): + """ + Describes a data disk. + :param pulumi.Input[int] lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + :param pulumi.Input[str] blob_uri: The Virtual Hard Disk. + :param pulumi.Input['CachingTypes'] caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + :param pulumi.Input['DiskEncryptionSetParametersArgs'] disk_encryption_set: Specifies the customer managed disk encryption set resource id for the managed image disk. + :param pulumi.Input[int] disk_size_gb: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + :param pulumi.Input['SubResourceArgs'] managed_disk: The managedDisk. + :param pulumi.Input['SubResourceArgs'] snapshot: The snapshot. + :param pulumi.Input[Union[str, 'StorageAccountTypes']] storage_account_type: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + pulumi.set(__self__, "lun", lun) + if blob_uri is not None: + pulumi.set(__self__, "blob_uri", blob_uri) + if caching is not None: + pulumi.set(__self__, "caching", caching) + if disk_encryption_set is not None: + pulumi.set(__self__, "disk_encryption_set", disk_encryption_set) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + if snapshot is not None: + pulumi.set(__self__, "snapshot", snapshot) + if storage_account_type is not None: + pulumi.set(__self__, "storage_account_type", storage_account_type) + + @property + @pulumi.getter + def lun(self) -> pulumi.Input[int]: + """ + Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + """ + return pulumi.get(self, "lun") + + @lun.setter + def lun(self, value: pulumi.Input[int]): + pulumi.set(self, "lun", value) + + @property + @pulumi.getter(name="blobUri") + def blob_uri(self) -> Optional[pulumi.Input[str]]: + """ + The Virtual Hard Disk. + """ + return pulumi.get(self, "blob_uri") + + @blob_uri.setter + def blob_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "blob_uri", value) + + @property + @pulumi.getter + def caching(self) -> Optional[pulumi.Input['CachingTypes']]: + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + """ + return pulumi.get(self, "caching") + + @caching.setter + def caching(self, value: Optional[pulumi.Input['CachingTypes']]): + pulumi.set(self, "caching", value) + + @property + @pulumi.getter(name="diskEncryptionSet") + def disk_encryption_set(self) -> Optional[pulumi.Input['DiskEncryptionSetParametersArgs']]: + """ + Specifies the customer managed disk encryption set resource id for the managed image disk. + """ + return pulumi.get(self, "disk_encryption_set") + + @disk_encryption_set.setter + def disk_encryption_set(self, value: Optional[pulumi.Input['DiskEncryptionSetParametersArgs']]): + pulumi.set(self, "disk_encryption_set", value) + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + """ + return pulumi.get(self, "disk_size_gb") + + @disk_size_gb.setter + def disk_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size_gb", value) + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + The managedDisk. + """ + return pulumi.get(self, "managed_disk") + + @managed_disk.setter + def managed_disk(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "managed_disk", value) + + @property + @pulumi.getter + def snapshot(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + The snapshot. + """ + return pulumi.get(self, "snapshot") + + @snapshot.setter + def snapshot(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "snapshot", value) + + @property + @pulumi.getter(name="storageAccountType") + def storage_account_type(self) -> Optional[pulumi.Input[Union[str, 'StorageAccountTypes']]]: + """ + Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + return pulumi.get(self, "storage_account_type") + + @storage_account_type.setter + def storage_account_type(self, value: Optional[pulumi.Input[Union[str, 'StorageAccountTypes']]]): + pulumi.set(self, "storage_account_type", value) + + +@pulumi.input_type +class ImageOSDiskArgs: + def __init__(__self__, *, + os_state: pulumi.Input['OperatingSystemStateTypes'], + os_type: pulumi.Input['OperatingSystemTypes'], + blob_uri: Optional[pulumi.Input[str]] = None, + caching: Optional[pulumi.Input['CachingTypes']] = None, + disk_encryption_set: Optional[pulumi.Input['DiskEncryptionSetParametersArgs']] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + managed_disk: Optional[pulumi.Input['SubResourceArgs']] = None, + snapshot: Optional[pulumi.Input['SubResourceArgs']] = None, + storage_account_type: Optional[pulumi.Input[Union[str, 'StorageAccountTypes']]] = None): + """ + Describes an Operating System disk. + :param pulumi.Input['OperatingSystemStateTypes'] os_state: The OS State. For managed images, use Generalized. + :param pulumi.Input['OperatingSystemTypes'] os_type: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. Possible values are: **Windows,** **Linux.** + :param pulumi.Input[str] blob_uri: The Virtual Hard Disk. + :param pulumi.Input['CachingTypes'] caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + :param pulumi.Input['DiskEncryptionSetParametersArgs'] disk_encryption_set: Specifies the customer managed disk encryption set resource id for the managed image disk. + :param pulumi.Input[int] disk_size_gb: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + :param pulumi.Input['SubResourceArgs'] managed_disk: The managedDisk. + :param pulumi.Input['SubResourceArgs'] snapshot: The snapshot. + :param pulumi.Input[Union[str, 'StorageAccountTypes']] storage_account_type: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + pulumi.set(__self__, "os_state", os_state) + pulumi.set(__self__, "os_type", os_type) + if blob_uri is not None: + pulumi.set(__self__, "blob_uri", blob_uri) + if caching is not None: + pulumi.set(__self__, "caching", caching) + if disk_encryption_set is not None: + pulumi.set(__self__, "disk_encryption_set", disk_encryption_set) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + if snapshot is not None: + pulumi.set(__self__, "snapshot", snapshot) + if storage_account_type is not None: + pulumi.set(__self__, "storage_account_type", storage_account_type) + + @property + @pulumi.getter(name="osState") + def os_state(self) -> pulumi.Input['OperatingSystemStateTypes']: + """ + The OS State. For managed images, use Generalized. + """ + return pulumi.get(self, "os_state") + + @os_state.setter + def os_state(self, value: pulumi.Input['OperatingSystemStateTypes']): + pulumi.set(self, "os_state", value) + + @property + @pulumi.getter(name="osType") + def os_type(self) -> pulumi.Input['OperatingSystemTypes']: + """ + This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. Possible values are: **Windows,** **Linux.** + """ + return pulumi.get(self, "os_type") + + @os_type.setter + def os_type(self, value: pulumi.Input['OperatingSystemTypes']): + pulumi.set(self, "os_type", value) + + @property + @pulumi.getter(name="blobUri") + def blob_uri(self) -> Optional[pulumi.Input[str]]: + """ + The Virtual Hard Disk. + """ + return pulumi.get(self, "blob_uri") + + @blob_uri.setter + def blob_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "blob_uri", value) + + @property + @pulumi.getter + def caching(self) -> Optional[pulumi.Input['CachingTypes']]: + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + """ + return pulumi.get(self, "caching") + + @caching.setter + def caching(self, value: Optional[pulumi.Input['CachingTypes']]): + pulumi.set(self, "caching", value) + + @property + @pulumi.getter(name="diskEncryptionSet") + def disk_encryption_set(self) -> Optional[pulumi.Input['DiskEncryptionSetParametersArgs']]: + """ + Specifies the customer managed disk encryption set resource id for the managed image disk. + """ + return pulumi.get(self, "disk_encryption_set") + + @disk_encryption_set.setter + def disk_encryption_set(self, value: Optional[pulumi.Input['DiskEncryptionSetParametersArgs']]): + pulumi.set(self, "disk_encryption_set", value) + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + """ + return pulumi.get(self, "disk_size_gb") + + @disk_size_gb.setter + def disk_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size_gb", value) + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + The managedDisk. + """ + return pulumi.get(self, "managed_disk") + + @managed_disk.setter + def managed_disk(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "managed_disk", value) + + @property + @pulumi.getter + def snapshot(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + The snapshot. + """ + return pulumi.get(self, "snapshot") + + @snapshot.setter + def snapshot(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "snapshot", value) + + @property + @pulumi.getter(name="storageAccountType") + def storage_account_type(self) -> Optional[pulumi.Input[Union[str, 'StorageAccountTypes']]]: + """ + Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + return pulumi.get(self, "storage_account_type") + + @storage_account_type.setter + def storage_account_type(self, value: Optional[pulumi.Input[Union[str, 'StorageAccountTypes']]]): + pulumi.set(self, "storage_account_type", value) + + +@pulumi.input_type +class ImageReferenceArgs: + def __init__(__self__, *, + community_gallery_image_id: Optional[pulumi.Input[str]] = None, + id: Optional[pulumi.Input[str]] = None, + offer: Optional[pulumi.Input[str]] = None, + publisher: Optional[pulumi.Input[str]] = None, + shared_gallery_image_id: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set. + :param pulumi.Input[str] community_gallery_image_id: Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call. + :param pulumi.Input[str] id: Resource Id + :param pulumi.Input[str] offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine. + :param pulumi.Input[str] publisher: The image publisher. + :param pulumi.Input[str] shared_gallery_image_id: Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call. + :param pulumi.Input[str] sku: The image SKU. + :param pulumi.Input[str] version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input. + """ + if community_gallery_image_id is not None: + pulumi.set(__self__, "community_gallery_image_id", community_gallery_image_id) + if id is not None: + pulumi.set(__self__, "id", id) + if offer is not None: + pulumi.set(__self__, "offer", offer) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + if shared_gallery_image_id is not None: + pulumi.set(__self__, "shared_gallery_image_id", shared_gallery_image_id) + if sku is not None: + pulumi.set(__self__, "sku", sku) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="communityGalleryImageId") + def community_gallery_image_id(self) -> Optional[pulumi.Input[str]]: + """ + Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call. + """ + return pulumi.get(self, "community_gallery_image_id") + + @community_gallery_image_id.setter + def community_gallery_image_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "community_gallery_image_id", value) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter + def offer(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the offer of the platform image or marketplace image used to create the virtual machine. + """ + return pulumi.get(self, "offer") + + @offer.setter + def offer(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "offer", value) + + @property + @pulumi.getter + def publisher(self) -> Optional[pulumi.Input[str]]: + """ + The image publisher. + """ + return pulumi.get(self, "publisher") + + @publisher.setter + def publisher(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "publisher", value) + + @property + @pulumi.getter(name="sharedGalleryImageId") + def shared_gallery_image_id(self) -> Optional[pulumi.Input[str]]: + """ + Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call. + """ + return pulumi.get(self, "shared_gallery_image_id") + + @shared_gallery_image_id.setter + def shared_gallery_image_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "shared_gallery_image_id", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input[str]]: + """ + The image SKU. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +@pulumi.input_type +class ImageStorageProfileArgs: + def __init__(__self__, *, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ImageDataDiskArgs']]]] = None, + os_disk: Optional[pulumi.Input['ImageOSDiskArgs']] = None, + zone_resilient: Optional[pulumi.Input[bool]] = None): + """ + Describes a storage profile. + :param pulumi.Input[Sequence[pulumi.Input['ImageDataDiskArgs']]] data_disks: Specifies the parameters that are used to add a data disk to a virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + :param pulumi.Input['ImageOSDiskArgs'] os_disk: Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + :param pulumi.Input[bool] zone_resilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). + """ + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if os_disk is not None: + pulumi.set(__self__, "os_disk", os_disk) + if zone_resilient is not None: + pulumi.set(__self__, "zone_resilient", zone_resilient) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ImageDataDiskArgs']]]]: + """ + Specifies the parameters that are used to add a data disk to a virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ImageDataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + + @property + @pulumi.getter(name="osDisk") + def os_disk(self) -> Optional[pulumi.Input['ImageOSDiskArgs']]: + """ + Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + return pulumi.get(self, "os_disk") + + @os_disk.setter + def os_disk(self, value: Optional[pulumi.Input['ImageOSDiskArgs']]): + pulumi.set(self, "os_disk", value) + + @property + @pulumi.getter(name="zoneResilient") + def zone_resilient(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). + """ + return pulumi.get(self, "zone_resilient") + + @zone_resilient.setter + def zone_resilient(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "zone_resilient", value) + + +@pulumi.input_type +class InstanceViewStatusArgs: + def __init__(__self__, *, + code: Optional[pulumi.Input[str]] = None, + display_status: Optional[pulumi.Input[str]] = None, + level: Optional[pulumi.Input['StatusLevelTypes']] = None, + message: Optional[pulumi.Input[str]] = None, + time: Optional[pulumi.Input[str]] = None): + """ + Instance view status. + :param pulumi.Input[str] code: The status code. + :param pulumi.Input[str] display_status: The short localizable label for the status. + :param pulumi.Input['StatusLevelTypes'] level: The level code. + :param pulumi.Input[str] message: The detailed status message, including for alerts and error messages. + :param pulumi.Input[str] time: The time of the status. + """ + if code is not None: + pulumi.set(__self__, "code", code) + if display_status is not None: + pulumi.set(__self__, "display_status", display_status) + if level is not None: + pulumi.set(__self__, "level", level) + if message is not None: + pulumi.set(__self__, "message", message) + if time is not None: + pulumi.set(__self__, "time", time) + + @property + @pulumi.getter + def code(self) -> Optional[pulumi.Input[str]]: + """ + The status code. + """ + return pulumi.get(self, "code") + + @code.setter + def code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "code", value) + + @property + @pulumi.getter(name="displayStatus") + def display_status(self) -> Optional[pulumi.Input[str]]: + """ + The short localizable label for the status. + """ + return pulumi.get(self, "display_status") + + @display_status.setter + def display_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_status", value) + + @property + @pulumi.getter + def level(self) -> Optional[pulumi.Input['StatusLevelTypes']]: + """ + The level code. + """ + return pulumi.get(self, "level") + + @level.setter + def level(self, value: Optional[pulumi.Input['StatusLevelTypes']]): + pulumi.set(self, "level", value) + + @property + @pulumi.getter + def message(self) -> Optional[pulumi.Input[str]]: + """ + The detailed status message, including for alerts and error messages. + """ + return pulumi.get(self, "message") + + @message.setter + def message(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "message", value) + + @property + @pulumi.getter + def time(self) -> Optional[pulumi.Input[str]]: + """ + The time of the status. + """ + return pulumi.get(self, "time") + + @time.setter + def time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time", value) + + +@pulumi.input_type +class KeyVaultKeyReferenceArgs: + def __init__(__self__, *, + key_url: pulumi.Input[str], + source_vault: pulumi.Input['SubResourceArgs']): + """ + Describes a reference to Key Vault Key + :param pulumi.Input[str] key_url: The URL referencing a key encryption key in Key Vault. + :param pulumi.Input['SubResourceArgs'] source_vault: The relative URL of the Key Vault containing the key. + """ + pulumi.set(__self__, "key_url", key_url) + pulumi.set(__self__, "source_vault", source_vault) + + @property + @pulumi.getter(name="keyUrl") + def key_url(self) -> pulumi.Input[str]: + """ + The URL referencing a key encryption key in Key Vault. + """ + return pulumi.get(self, "key_url") + + @key_url.setter + def key_url(self, value: pulumi.Input[str]): + pulumi.set(self, "key_url", value) + + @property + @pulumi.getter(name="sourceVault") + def source_vault(self) -> pulumi.Input['SubResourceArgs']: + """ + The relative URL of the Key Vault containing the key. + """ + return pulumi.get(self, "source_vault") + + @source_vault.setter + def source_vault(self, value: pulumi.Input['SubResourceArgs']): + pulumi.set(self, "source_vault", value) + + +@pulumi.input_type +class KeyVaultSecretReferenceArgs: + def __init__(__self__, *, + secret_url: pulumi.Input[str], + source_vault: pulumi.Input['SubResourceArgs']): + """ + Describes a reference to Key Vault Secret + :param pulumi.Input[str] secret_url: The URL referencing a secret in a Key Vault. + :param pulumi.Input['SubResourceArgs'] source_vault: The relative URL of the Key Vault containing the secret. + """ + pulumi.set(__self__, "secret_url", secret_url) + pulumi.set(__self__, "source_vault", source_vault) + + @property + @pulumi.getter(name="secretUrl") + def secret_url(self) -> pulumi.Input[str]: + """ + The URL referencing a secret in a Key Vault. + """ + return pulumi.get(self, "secret_url") + + @secret_url.setter + def secret_url(self, value: pulumi.Input[str]): + pulumi.set(self, "secret_url", value) + + @property + @pulumi.getter(name="sourceVault") + def source_vault(self) -> pulumi.Input['SubResourceArgs']: + """ + The relative URL of the Key Vault containing the secret. + """ + return pulumi.get(self, "source_vault") + + @source_vault.setter + def source_vault(self, value: pulumi.Input['SubResourceArgs']): + pulumi.set(self, "source_vault", value) + + +@pulumi.input_type +class LinuxConfigurationArgs: + def __init__(__self__, *, + disable_password_authentication: Optional[pulumi.Input[bool]] = None, + enable_vm_agent_platform_updates: Optional[pulumi.Input[bool]] = None, + patch_settings: Optional[pulumi.Input['LinuxPatchSettingsArgs']] = None, + provision_vm_agent: Optional[pulumi.Input[bool]] = None, + ssh: Optional[pulumi.Input['SshConfigurationArgs']] = None): + """ + Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + :param pulumi.Input[bool] disable_password_authentication: Specifies whether password authentication should be disabled. + :param pulumi.Input[bool] enable_vm_agent_platform_updates: Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false. + :param pulumi.Input['LinuxPatchSettingsArgs'] patch_settings: [Preview Feature] Specifies settings related to VM Guest Patching on Linux. + :param pulumi.Input[bool] provision_vm_agent: Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + :param pulumi.Input['SshConfigurationArgs'] ssh: Specifies the ssh key configuration for a Linux OS. + """ + if disable_password_authentication is not None: + pulumi.set(__self__, "disable_password_authentication", disable_password_authentication) + if enable_vm_agent_platform_updates is not None: + pulumi.set(__self__, "enable_vm_agent_platform_updates", enable_vm_agent_platform_updates) + if patch_settings is not None: + pulumi.set(__self__, "patch_settings", patch_settings) + if provision_vm_agent is not None: + pulumi.set(__self__, "provision_vm_agent", provision_vm_agent) + if ssh is not None: + pulumi.set(__self__, "ssh", ssh) + + @property + @pulumi.getter(name="disablePasswordAuthentication") + def disable_password_authentication(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether password authentication should be disabled. + """ + return pulumi.get(self, "disable_password_authentication") + + @disable_password_authentication.setter + def disable_password_authentication(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_password_authentication", value) + + @property + @pulumi.getter(name="enableVMAgentPlatformUpdates") + def enable_vm_agent_platform_updates(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false. + """ + return pulumi.get(self, "enable_vm_agent_platform_updates") + + @enable_vm_agent_platform_updates.setter + def enable_vm_agent_platform_updates(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_vm_agent_platform_updates", value) + + @property + @pulumi.getter(name="patchSettings") + def patch_settings(self) -> Optional[pulumi.Input['LinuxPatchSettingsArgs']]: + """ + [Preview Feature] Specifies settings related to VM Guest Patching on Linux. + """ + return pulumi.get(self, "patch_settings") + + @patch_settings.setter + def patch_settings(self, value: Optional[pulumi.Input['LinuxPatchSettingsArgs']]): + pulumi.set(self, "patch_settings", value) + + @property + @pulumi.getter(name="provisionVMAgent") + def provision_vm_agent(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + """ + return pulumi.get(self, "provision_vm_agent") + + @provision_vm_agent.setter + def provision_vm_agent(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "provision_vm_agent", value) + + @property + @pulumi.getter + def ssh(self) -> Optional[pulumi.Input['SshConfigurationArgs']]: + """ + Specifies the ssh key configuration for a Linux OS. + """ + return pulumi.get(self, "ssh") + + @ssh.setter + def ssh(self, value: Optional[pulumi.Input['SshConfigurationArgs']]): + pulumi.set(self, "ssh", value) + + +@pulumi.input_type +class LinuxPatchSettingsArgs: + def __init__(__self__, *, + assessment_mode: Optional[pulumi.Input[Union[str, 'LinuxPatchAssessmentMode']]] = None, + automatic_by_platform_settings: Optional[pulumi.Input['LinuxVMGuestPatchAutomaticByPlatformSettingsArgs']] = None, + patch_mode: Optional[pulumi.Input[Union[str, 'LinuxVMGuestPatchMode']]] = None): + """ + Specifies settings related to VM Guest Patching on Linux. + :param pulumi.Input[Union[str, 'LinuxPatchAssessmentMode']] assessment_mode: Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + :param pulumi.Input['LinuxVMGuestPatchAutomaticByPlatformSettingsArgs'] automatic_by_platform_settings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux. + :param pulumi.Input[Union[str, 'LinuxVMGuestPatchMode']] patch_mode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**ImageDefault** - The virtual machine's default patching configuration is used.

**AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true + """ + if assessment_mode is not None: + pulumi.set(__self__, "assessment_mode", assessment_mode) + if automatic_by_platform_settings is not None: + pulumi.set(__self__, "automatic_by_platform_settings", automatic_by_platform_settings) + if patch_mode is not None: + pulumi.set(__self__, "patch_mode", patch_mode) + + @property + @pulumi.getter(name="assessmentMode") + def assessment_mode(self) -> Optional[pulumi.Input[Union[str, 'LinuxPatchAssessmentMode']]]: + """ + Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + """ + return pulumi.get(self, "assessment_mode") + + @assessment_mode.setter + def assessment_mode(self, value: Optional[pulumi.Input[Union[str, 'LinuxPatchAssessmentMode']]]): + pulumi.set(self, "assessment_mode", value) + + @property + @pulumi.getter(name="automaticByPlatformSettings") + def automatic_by_platform_settings(self) -> Optional[pulumi.Input['LinuxVMGuestPatchAutomaticByPlatformSettingsArgs']]: + """ + Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux. + """ + return pulumi.get(self, "automatic_by_platform_settings") + + @automatic_by_platform_settings.setter + def automatic_by_platform_settings(self, value: Optional[pulumi.Input['LinuxVMGuestPatchAutomaticByPlatformSettingsArgs']]): + pulumi.set(self, "automatic_by_platform_settings", value) + + @property + @pulumi.getter(name="patchMode") + def patch_mode(self) -> Optional[pulumi.Input[Union[str, 'LinuxVMGuestPatchMode']]]: + """ + Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**ImageDefault** - The virtual machine's default patching configuration is used.

**AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true + """ + return pulumi.get(self, "patch_mode") + + @patch_mode.setter + def patch_mode(self, value: Optional[pulumi.Input[Union[str, 'LinuxVMGuestPatchMode']]]): + pulumi.set(self, "patch_mode", value) + + +@pulumi.input_type +class LinuxVMGuestPatchAutomaticByPlatformSettingsArgs: + def __init__(__self__, *, + bypass_platform_safety_checks_on_user_schedule: Optional[pulumi.Input[bool]] = None, + reboot_setting: Optional[pulumi.Input[Union[str, 'LinuxVMGuestPatchAutomaticByPlatformRebootSetting']]] = None): + """ + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings. + :param pulumi.Input[bool] bypass_platform_safety_checks_on_user_schedule: Enables customer to schedule patching without accidental upgrades + :param pulumi.Input[Union[str, 'LinuxVMGuestPatchAutomaticByPlatformRebootSetting']] reboot_setting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + """ + if bypass_platform_safety_checks_on_user_schedule is not None: + pulumi.set(__self__, "bypass_platform_safety_checks_on_user_schedule", bypass_platform_safety_checks_on_user_schedule) + if reboot_setting is not None: + pulumi.set(__self__, "reboot_setting", reboot_setting) + + @property + @pulumi.getter(name="bypassPlatformSafetyChecksOnUserSchedule") + def bypass_platform_safety_checks_on_user_schedule(self) -> Optional[pulumi.Input[bool]]: + """ + Enables customer to schedule patching without accidental upgrades + """ + return pulumi.get(self, "bypass_platform_safety_checks_on_user_schedule") + + @bypass_platform_safety_checks_on_user_schedule.setter + def bypass_platform_safety_checks_on_user_schedule(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "bypass_platform_safety_checks_on_user_schedule", value) + + @property + @pulumi.getter(name="rebootSetting") + def reboot_setting(self) -> Optional[pulumi.Input[Union[str, 'LinuxVMGuestPatchAutomaticByPlatformRebootSetting']]]: + """ + Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + """ + return pulumi.get(self, "reboot_setting") + + @reboot_setting.setter + def reboot_setting(self, value: Optional[pulumi.Input[Union[str, 'LinuxVMGuestPatchAutomaticByPlatformRebootSetting']]]): + pulumi.set(self, "reboot_setting", value) + + +@pulumi.input_type +class ManagedDiskParametersArgs: + def __init__(__self__, *, + disk_encryption_set: Optional[pulumi.Input['DiskEncryptionSetParametersArgs']] = None, + id: Optional[pulumi.Input[str]] = None, + security_profile: Optional[pulumi.Input['VMDiskSecurityProfileArgs']] = None, + storage_account_type: Optional[pulumi.Input[Union[str, 'StorageAccountTypes']]] = None): + """ + The parameters of a managed disk. + :param pulumi.Input['DiskEncryptionSetParametersArgs'] disk_encryption_set: Specifies the customer managed disk encryption set resource id for the managed disk. + :param pulumi.Input[str] id: Resource Id + :param pulumi.Input['VMDiskSecurityProfileArgs'] security_profile: Specifies the security profile for the managed disk. + :param pulumi.Input[Union[str, 'StorageAccountTypes']] storage_account_type: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + if disk_encryption_set is not None: + pulumi.set(__self__, "disk_encryption_set", disk_encryption_set) + if id is not None: + pulumi.set(__self__, "id", id) + if security_profile is not None: + pulumi.set(__self__, "security_profile", security_profile) + if storage_account_type is not None: + pulumi.set(__self__, "storage_account_type", storage_account_type) + + @property + @pulumi.getter(name="diskEncryptionSet") + def disk_encryption_set(self) -> Optional[pulumi.Input['DiskEncryptionSetParametersArgs']]: + """ + Specifies the customer managed disk encryption set resource id for the managed disk. + """ + return pulumi.get(self, "disk_encryption_set") + + @disk_encryption_set.setter + def disk_encryption_set(self, value: Optional[pulumi.Input['DiskEncryptionSetParametersArgs']]): + pulumi.set(self, "disk_encryption_set", value) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional[pulumi.Input['VMDiskSecurityProfileArgs']]: + """ + Specifies the security profile for the managed disk. + """ + return pulumi.get(self, "security_profile") + + @security_profile.setter + def security_profile(self, value: Optional[pulumi.Input['VMDiskSecurityProfileArgs']]): + pulumi.set(self, "security_profile", value) + + @property + @pulumi.getter(name="storageAccountType") + def storage_account_type(self) -> Optional[pulumi.Input[Union[str, 'StorageAccountTypes']]]: + """ + Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + return pulumi.get(self, "storage_account_type") + + @storage_account_type.setter + def storage_account_type(self, value: Optional[pulumi.Input[Union[str, 'StorageAccountTypes']]]): + pulumi.set(self, "storage_account_type", value) + + +@pulumi.input_type +class NetworkInterfaceReferenceArgs: + def __init__(__self__, *, + delete_option: Optional[pulumi.Input[Union[str, 'DeleteOptions']]] = None, + id: Optional[pulumi.Input[str]] = None, + primary: Optional[pulumi.Input[bool]] = None): + """ + Describes a network interface reference. + :param pulumi.Input[Union[str, 'DeleteOptions']] delete_option: Specify what happens to the network interface when the VM is deleted + :param pulumi.Input[str] id: Resource Id + :param pulumi.Input[bool] primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if id is not None: + pulumi.set(__self__, "id", id) + if primary is not None: + pulumi.set(__self__, "primary", primary) + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[pulumi.Input[Union[str, 'DeleteOptions']]]: + """ + Specify what happens to the network interface when the VM is deleted + """ + return pulumi.get(self, "delete_option") + + @delete_option.setter + def delete_option(self, value: Optional[pulumi.Input[Union[str, 'DeleteOptions']]]): + pulumi.set(self, "delete_option", value) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter + def primary(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + return pulumi.get(self, "primary") + + @primary.setter + def primary(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "primary", value) + + +@pulumi.input_type +class NetworkProfileArgs: + def __init__(__self__, *, + network_api_version: Optional[pulumi.Input[Union[str, 'NetworkApiVersion']]] = None, + network_interface_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceConfigurationArgs']]]] = None, + network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkInterfaceReferenceArgs']]]] = None): + """ + Specifies the network interfaces or the networking configuration of the virtual machine. + :param pulumi.Input[Union[str, 'NetworkApiVersion']] network_api_version: specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations + :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceConfigurationArgs']]] network_interface_configurations: Specifies the networking configurations that will be used to create the virtual machine networking resources. + :param pulumi.Input[Sequence[pulumi.Input['NetworkInterfaceReferenceArgs']]] network_interfaces: Specifies the list of resource Ids for the network interfaces associated with the virtual machine. + """ + if network_api_version is not None: + pulumi.set(__self__, "network_api_version", network_api_version) + if network_interface_configurations is not None: + pulumi.set(__self__, "network_interface_configurations", network_interface_configurations) + if network_interfaces is not None: + pulumi.set(__self__, "network_interfaces", network_interfaces) + + @property + @pulumi.getter(name="networkApiVersion") + def network_api_version(self) -> Optional[pulumi.Input[Union[str, 'NetworkApiVersion']]]: + """ + specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations + """ + return pulumi.get(self, "network_api_version") + + @network_api_version.setter + def network_api_version(self, value: Optional[pulumi.Input[Union[str, 'NetworkApiVersion']]]): + pulumi.set(self, "network_api_version", value) + + @property + @pulumi.getter(name="networkInterfaceConfigurations") + def network_interface_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceConfigurationArgs']]]]: + """ + Specifies the networking configurations that will be used to create the virtual machine networking resources. + """ + return pulumi.get(self, "network_interface_configurations") + + @network_interface_configurations.setter + def network_interface_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceConfigurationArgs']]]]): + pulumi.set(self, "network_interface_configurations", value) + + @property + @pulumi.getter(name="networkInterfaces") + def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkInterfaceReferenceArgs']]]]: + """ + Specifies the list of resource Ids for the network interfaces associated with the virtual machine. + """ + return pulumi.get(self, "network_interfaces") + + @network_interfaces.setter + def network_interfaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkInterfaceReferenceArgs']]]]): + pulumi.set(self, "network_interfaces", value) + + +@pulumi.input_type +class OSDiskArgs: + def __init__(__self__, *, + create_option: pulumi.Input[Union[str, 'DiskCreateOptionTypes']], + caching: Optional[pulumi.Input['CachingTypes']] = None, + delete_option: Optional[pulumi.Input[Union[str, 'DiskDeleteOptionTypes']]] = None, + diff_disk_settings: Optional[pulumi.Input['DiffDiskSettingsArgs']] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + encryption_settings: Optional[pulumi.Input['DiskEncryptionSettingsArgs']] = None, + image: Optional[pulumi.Input['VirtualHardDiskArgs']] = None, + managed_disk: Optional[pulumi.Input['ManagedDiskParametersArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + os_type: Optional[pulumi.Input['OperatingSystemTypes']] = None, + vhd: Optional[pulumi.Input['VirtualHardDiskArgs']] = None, + write_accelerator_enabled: Optional[pulumi.Input[bool]] = None): + """ + Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + :param pulumi.Input[Union[str, 'DiskCreateOptionTypes']] create_option: Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + :param pulumi.Input['CachingTypes'] caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + :param pulumi.Input[Union[str, 'DiskDeleteOptionTypes']] delete_option: Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the OS disk is deleted when VM is deleted. **Detach.** If this value is used, the os disk is retained after VM is deleted. The default value is set to **Detach**. For an ephemeral OS Disk, the default value is set to **Delete**. The user cannot change the delete option for an ephemeral OS Disk. + :param pulumi.Input['DiffDiskSettingsArgs'] diff_disk_settings: Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine. + :param pulumi.Input[int] disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + :param pulumi.Input['DiskEncryptionSettingsArgs'] encryption_settings: Specifies the encryption settings for the OS Disk. Minimum api-version: 2015-06-15. + :param pulumi.Input['VirtualHardDiskArgs'] image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + :param pulumi.Input['ManagedDiskParametersArgs'] managed_disk: The managed disk parameters. + :param pulumi.Input[str] name: The disk name. + :param pulumi.Input['OperatingSystemTypes'] os_type: This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + :param pulumi.Input['VirtualHardDiskArgs'] vhd: The virtual hard disk. + :param pulumi.Input[bool] write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + pulumi.set(__self__, "create_option", create_option) + if caching is not None: + pulumi.set(__self__, "caching", caching) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if diff_disk_settings is not None: + pulumi.set(__self__, "diff_disk_settings", diff_disk_settings) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if encryption_settings is not None: + pulumi.set(__self__, "encryption_settings", encryption_settings) + if image is not None: + pulumi.set(__self__, "image", image) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + if name is not None: + pulumi.set(__self__, "name", name) + if os_type is not None: + pulumi.set(__self__, "os_type", os_type) + if vhd is not None: + pulumi.set(__self__, "vhd", vhd) + if write_accelerator_enabled is not None: + pulumi.set(__self__, "write_accelerator_enabled", write_accelerator_enabled) + + @property + @pulumi.getter(name="createOption") + def create_option(self) -> pulumi.Input[Union[str, 'DiskCreateOptionTypes']]: + """ + Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + """ + return pulumi.get(self, "create_option") + + @create_option.setter + def create_option(self, value: pulumi.Input[Union[str, 'DiskCreateOptionTypes']]): + pulumi.set(self, "create_option", value) + + @property + @pulumi.getter + def caching(self) -> Optional[pulumi.Input['CachingTypes']]: + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + """ + return pulumi.get(self, "caching") + + @caching.setter + def caching(self, value: Optional[pulumi.Input['CachingTypes']]): + pulumi.set(self, "caching", value) + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[pulumi.Input[Union[str, 'DiskDeleteOptionTypes']]]: + """ + Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the OS disk is deleted when VM is deleted. **Detach.** If this value is used, the os disk is retained after VM is deleted. The default value is set to **Detach**. For an ephemeral OS Disk, the default value is set to **Delete**. The user cannot change the delete option for an ephemeral OS Disk. + """ + return pulumi.get(self, "delete_option") + + @delete_option.setter + def delete_option(self, value: Optional[pulumi.Input[Union[str, 'DiskDeleteOptionTypes']]]): + pulumi.set(self, "delete_option", value) + + @property + @pulumi.getter(name="diffDiskSettings") + def diff_disk_settings(self) -> Optional[pulumi.Input['DiffDiskSettingsArgs']]: + """ + Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine. + """ + return pulumi.get(self, "diff_disk_settings") + + @diff_disk_settings.setter + def diff_disk_settings(self, value: Optional[pulumi.Input['DiffDiskSettingsArgs']]): + pulumi.set(self, "diff_disk_settings", value) + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + """ + return pulumi.get(self, "disk_size_gb") + + @disk_size_gb.setter + def disk_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size_gb", value) + + @property + @pulumi.getter(name="encryptionSettings") + def encryption_settings(self) -> Optional[pulumi.Input['DiskEncryptionSettingsArgs']]: + """ + Specifies the encryption settings for the OS Disk. Minimum api-version: 2015-06-15. + """ + return pulumi.get(self, "encryption_settings") + + @encryption_settings.setter + def encryption_settings(self, value: Optional[pulumi.Input['DiskEncryptionSettingsArgs']]): + pulumi.set(self, "encryption_settings", value) + + @property + @pulumi.getter + def image(self) -> Optional[pulumi.Input['VirtualHardDiskArgs']]: + """ + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + """ + return pulumi.get(self, "image") + + @image.setter + def image(self, value: Optional[pulumi.Input['VirtualHardDiskArgs']]): + pulumi.set(self, "image", value) + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional[pulumi.Input['ManagedDiskParametersArgs']]: + """ + The managed disk parameters. + """ + return pulumi.get(self, "managed_disk") + + @managed_disk.setter + def managed_disk(self, value: Optional[pulumi.Input['ManagedDiskParametersArgs']]): + pulumi.set(self, "managed_disk", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The disk name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="osType") + def os_type(self) -> Optional[pulumi.Input['OperatingSystemTypes']]: + """ + This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + """ + return pulumi.get(self, "os_type") + + @os_type.setter + def os_type(self, value: Optional[pulumi.Input['OperatingSystemTypes']]): + pulumi.set(self, "os_type", value) + + @property + @pulumi.getter + def vhd(self) -> Optional[pulumi.Input['VirtualHardDiskArgs']]: + """ + The virtual hard disk. + """ + return pulumi.get(self, "vhd") + + @vhd.setter + def vhd(self, value: Optional[pulumi.Input['VirtualHardDiskArgs']]): + pulumi.set(self, "vhd", value) + + @property + @pulumi.getter(name="writeAcceleratorEnabled") + def write_accelerator_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + return pulumi.get(self, "write_accelerator_enabled") + + @write_accelerator_enabled.setter + def write_accelerator_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "write_accelerator_enabled", value) + + +@pulumi.input_type +class OSImageNotificationProfileArgs: + def __init__(__self__, *, + enable: Optional[pulumi.Input[bool]] = None, + not_before_timeout: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[bool] enable: Specifies whether the OS Image Scheduled event is enabled or disabled. + :param pulumi.Input[str] not_before_timeout: Length of time a Virtual Machine being reimaged or having its OS upgraded will have to potentially approve the OS Image Scheduled Event before the event is auto approved (timed out). The configuration is specified in ISO 8601 format, and the value must be 15 minutes (PT15M) + """ + if enable is not None: + pulumi.set(__self__, "enable", enable) + if not_before_timeout is not None: + pulumi.set(__self__, "not_before_timeout", not_before_timeout) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the OS Image Scheduled event is enabled or disabled. + """ + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter(name="notBeforeTimeout") + def not_before_timeout(self) -> Optional[pulumi.Input[str]]: + """ + Length of time a Virtual Machine being reimaged or having its OS upgraded will have to potentially approve the OS Image Scheduled Event before the event is auto approved (timed out). The configuration is specified in ISO 8601 format, and the value must be 15 minutes (PT15M) + """ + return pulumi.get(self, "not_before_timeout") + + @not_before_timeout.setter + def not_before_timeout(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "not_before_timeout", value) + + +@pulumi.input_type +class OSProfileArgs: + def __init__(__self__, *, + admin_password: Optional[pulumi.Input[str]] = None, + admin_username: Optional[pulumi.Input[str]] = None, + allow_extension_operations: Optional[pulumi.Input[bool]] = None, + computer_name: Optional[pulumi.Input[str]] = None, + custom_data: Optional[pulumi.Input[str]] = None, + linux_configuration: Optional[pulumi.Input['LinuxConfigurationArgs']] = None, + require_guest_provision_signal: Optional[pulumi.Input[bool]] = None, + secrets: Optional[pulumi.Input[Sequence[pulumi.Input['VaultSecretGroupArgs']]]] = None, + windows_configuration: Optional[pulumi.Input['WindowsConfigurationArgs']] = None): + """ + Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned. + :param pulumi.Input[str] admin_password: Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + :param pulumi.Input[str] admin_username: Specifies the name of the administrator account.

This property cannot be updated after the VM is created.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters. + :param pulumi.Input[bool] allow_extension_operations: Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine. + :param pulumi.Input[str] computer_name: Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters. **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules). + :param pulumi.Input[str] custom_data: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property 'customData' is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init). + :param pulumi.Input['LinuxConfigurationArgs'] linux_configuration: Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + :param pulumi.Input[bool] require_guest_provision_signal: Optional property which must either be set to True or omitted. + :param pulumi.Input[Sequence[pulumi.Input['VaultSecretGroupArgs']]] secrets: Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + :param pulumi.Input['WindowsConfigurationArgs'] windows_configuration: Specifies Windows operating system settings on the virtual machine. + """ + if admin_password is not None: + pulumi.set(__self__, "admin_password", admin_password) + if admin_username is not None: + pulumi.set(__self__, "admin_username", admin_username) + if allow_extension_operations is not None: + pulumi.set(__self__, "allow_extension_operations", allow_extension_operations) + if computer_name is not None: + pulumi.set(__self__, "computer_name", computer_name) + if custom_data is not None: + pulumi.set(__self__, "custom_data", custom_data) + if linux_configuration is not None: + pulumi.set(__self__, "linux_configuration", linux_configuration) + if require_guest_provision_signal is not None: + pulumi.set(__self__, "require_guest_provision_signal", require_guest_provision_signal) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + if windows_configuration is not None: + pulumi.set(__self__, "windows_configuration", windows_configuration) + + @property + @pulumi.getter(name="adminPassword") + def admin_password(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + """ + return pulumi.get(self, "admin_password") + + @admin_password.setter + def admin_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "admin_password", value) + + @property + @pulumi.getter(name="adminUsername") + def admin_username(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the name of the administrator account.

This property cannot be updated after the VM is created.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters. + """ + return pulumi.get(self, "admin_username") + + @admin_username.setter + def admin_username(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "admin_username", value) + + @property + @pulumi.getter(name="allowExtensionOperations") + def allow_extension_operations(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine. + """ + return pulumi.get(self, "allow_extension_operations") + + @allow_extension_operations.setter + def allow_extension_operations(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_extension_operations", value) + + @property + @pulumi.getter(name="computerName") + def computer_name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters. **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules). + """ + return pulumi.get(self, "computer_name") + + @computer_name.setter + def computer_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "computer_name", value) + + @property + @pulumi.getter(name="customData") + def custom_data(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property 'customData' is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init). + """ + return pulumi.get(self, "custom_data") + + @custom_data.setter + def custom_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "custom_data", value) + + @property + @pulumi.getter(name="linuxConfiguration") + def linux_configuration(self) -> Optional[pulumi.Input['LinuxConfigurationArgs']]: + """ + Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + """ + return pulumi.get(self, "linux_configuration") + + @linux_configuration.setter + def linux_configuration(self, value: Optional[pulumi.Input['LinuxConfigurationArgs']]): + pulumi.set(self, "linux_configuration", value) + + @property + @pulumi.getter(name="requireGuestProvisionSignal") + def require_guest_provision_signal(self) -> Optional[pulumi.Input[bool]]: + """ + Optional property which must either be set to True or omitted. + """ + return pulumi.get(self, "require_guest_provision_signal") + + @require_guest_provision_signal.setter + def require_guest_provision_signal(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "require_guest_provision_signal", value) + + @property + @pulumi.getter + def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VaultSecretGroupArgs']]]]: + """ + Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + """ + return pulumi.get(self, "secrets") + + @secrets.setter + def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VaultSecretGroupArgs']]]]): + pulumi.set(self, "secrets", value) + + @property + @pulumi.getter(name="windowsConfiguration") + def windows_configuration(self) -> Optional[pulumi.Input['WindowsConfigurationArgs']]: + """ + Specifies Windows operating system settings on the virtual machine. + """ + return pulumi.get(self, "windows_configuration") + + @windows_configuration.setter + def windows_configuration(self, value: Optional[pulumi.Input['WindowsConfigurationArgs']]): + pulumi.set(self, "windows_configuration", value) + + +@pulumi.input_type +class PatchSettingsArgs: + def __init__(__self__, *, + assessment_mode: Optional[pulumi.Input[Union[str, 'WindowsPatchAssessmentMode']]] = None, + automatic_by_platform_settings: Optional[pulumi.Input['WindowsVMGuestPatchAutomaticByPlatformSettingsArgs']] = None, + enable_hotpatching: Optional[pulumi.Input[bool]] = None, + patch_mode: Optional[pulumi.Input[Union[str, 'WindowsVMGuestPatchMode']]] = None): + """ + Specifies settings related to VM Guest Patching on Windows. + :param pulumi.Input[Union[str, 'WindowsPatchAssessmentMode']] assessment_mode: Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + :param pulumi.Input['WindowsVMGuestPatchAutomaticByPlatformSettingsArgs'] automatic_by_platform_settings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Windows. + :param pulumi.Input[bool] enable_hotpatching: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + :param pulumi.Input[Union[str, 'WindowsVMGuestPatchMode']] patch_mode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

**AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true + """ + if assessment_mode is not None: + pulumi.set(__self__, "assessment_mode", assessment_mode) + if automatic_by_platform_settings is not None: + pulumi.set(__self__, "automatic_by_platform_settings", automatic_by_platform_settings) + if enable_hotpatching is not None: + pulumi.set(__self__, "enable_hotpatching", enable_hotpatching) + if patch_mode is not None: + pulumi.set(__self__, "patch_mode", patch_mode) + + @property + @pulumi.getter(name="assessmentMode") + def assessment_mode(self) -> Optional[pulumi.Input[Union[str, 'WindowsPatchAssessmentMode']]]: + """ + Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + """ + return pulumi.get(self, "assessment_mode") + + @assessment_mode.setter + def assessment_mode(self, value: Optional[pulumi.Input[Union[str, 'WindowsPatchAssessmentMode']]]): + pulumi.set(self, "assessment_mode", value) + + @property + @pulumi.getter(name="automaticByPlatformSettings") + def automatic_by_platform_settings(self) -> Optional[pulumi.Input['WindowsVMGuestPatchAutomaticByPlatformSettingsArgs']]: + """ + Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Windows. + """ + return pulumi.get(self, "automatic_by_platform_settings") + + @automatic_by_platform_settings.setter + def automatic_by_platform_settings(self, value: Optional[pulumi.Input['WindowsVMGuestPatchAutomaticByPlatformSettingsArgs']]): + pulumi.set(self, "automatic_by_platform_settings", value) + + @property + @pulumi.getter(name="enableHotpatching") + def enable_hotpatching(self) -> Optional[pulumi.Input[bool]]: + """ + Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + """ + return pulumi.get(self, "enable_hotpatching") + + @enable_hotpatching.setter + def enable_hotpatching(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_hotpatching", value) + + @property + @pulumi.getter(name="patchMode") + def patch_mode(self) -> Optional[pulumi.Input[Union[str, 'WindowsVMGuestPatchMode']]]: + """ + Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

**AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true + """ + return pulumi.get(self, "patch_mode") + + @patch_mode.setter + def patch_mode(self, value: Optional[pulumi.Input[Union[str, 'WindowsVMGuestPatchMode']]]): + pulumi.set(self, "patch_mode", value) + + +@pulumi.input_type +class PlanArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + product: Optional[pulumi.Input[str]] = None, + promotion_code: Optional[pulumi.Input[str]] = None, + publisher: Optional[pulumi.Input[str]] = None): + """ + Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + :param pulumi.Input[str] name: The plan ID. + :param pulumi.Input[str] product: Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + :param pulumi.Input[str] promotion_code: The promotion code. + :param pulumi.Input[str] publisher: The publisher ID. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if product is not None: + pulumi.set(__self__, "product", product) + if promotion_code is not None: + pulumi.set(__self__, "promotion_code", promotion_code) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The plan ID. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def product(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + """ + return pulumi.get(self, "product") + + @product.setter + def product(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "product", value) + + @property + @pulumi.getter(name="promotionCode") + def promotion_code(self) -> Optional[pulumi.Input[str]]: + """ + The promotion code. + """ + return pulumi.get(self, "promotion_code") + + @promotion_code.setter + def promotion_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "promotion_code", value) + + @property + @pulumi.getter + def publisher(self) -> Optional[pulumi.Input[str]]: + """ + The publisher ID. + """ + return pulumi.get(self, "publisher") + + @publisher.setter + def publisher(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "publisher", value) + + +@pulumi.input_type +class PriorityMixPolicyArgs: + def __init__(__self__, *, + base_regular_priority_count: Optional[pulumi.Input[int]] = None, + regular_priority_percentage_above_base: Optional[pulumi.Input[int]] = None): + """ + Specifies the target splits for Spot and Regular priority VMs within a scale set with flexible orchestration mode. With this property the customer is able to specify the base number of regular priority VMs created as the VMSS flex instance scales out and the split between Spot and Regular priority VMs after this base target has been reached. + :param pulumi.Input[int] base_regular_priority_count: The base number of regular priority VMs that will be created in this scale set as it scales out. + :param pulumi.Input[int] regular_priority_percentage_above_base: The percentage of VM instances, after the base regular priority count has been reached, that are expected to use regular priority. + """ + if base_regular_priority_count is not None: + pulumi.set(__self__, "base_regular_priority_count", base_regular_priority_count) + if regular_priority_percentage_above_base is not None: + pulumi.set(__self__, "regular_priority_percentage_above_base", regular_priority_percentage_above_base) + + @property + @pulumi.getter(name="baseRegularPriorityCount") + def base_regular_priority_count(self) -> Optional[pulumi.Input[int]]: + """ + The base number of regular priority VMs that will be created in this scale set as it scales out. + """ + return pulumi.get(self, "base_regular_priority_count") + + @base_regular_priority_count.setter + def base_regular_priority_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "base_regular_priority_count", value) + + @property + @pulumi.getter(name="regularPriorityPercentageAboveBase") + def regular_priority_percentage_above_base(self) -> Optional[pulumi.Input[int]]: + """ + The percentage of VM instances, after the base regular priority count has been reached, that are expected to use regular priority. + """ + return pulumi.get(self, "regular_priority_percentage_above_base") + + @regular_priority_percentage_above_base.setter + def regular_priority_percentage_above_base(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "regular_priority_percentage_above_base", value) + + +@pulumi.input_type +class ProximityPlacementGroupPropertiesIntentArgs: + def __init__(__self__, *, + vm_sizes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Specifies the user intent of the proximity placement group. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vm_sizes: Specifies possible sizes of virtual machines that can be created in the proximity placement group. + """ + if vm_sizes is not None: + pulumi.set(__self__, "vm_sizes", vm_sizes) + + @property + @pulumi.getter(name="vmSizes") + def vm_sizes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies possible sizes of virtual machines that can be created in the proximity placement group. + """ + return pulumi.get(self, "vm_sizes") + + @vm_sizes.setter + def vm_sizes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "vm_sizes", value) + + +@pulumi.input_type +class PublicIPAddressSkuArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[Union[str, 'PublicIPAddressSkuName']]] = None, + tier: Optional[pulumi.Input[Union[str, 'PublicIPAddressSkuTier']]] = None): + """ + Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + :param pulumi.Input[Union[str, 'PublicIPAddressSkuName']] name: Specify public IP sku name + :param pulumi.Input[Union[str, 'PublicIPAddressSkuTier']] tier: Specify public IP sku tier + """ + if name is not None: + pulumi.set(__self__, "name", name) + if tier is not None: + pulumi.set(__self__, "tier", tier) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[Union[str, 'PublicIPAddressSkuName']]]: + """ + Specify public IP sku name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[Union[str, 'PublicIPAddressSkuName']]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tier(self) -> Optional[pulumi.Input[Union[str, 'PublicIPAddressSkuTier']]]: + """ + Specify public IP sku tier + """ + return pulumi.get(self, "tier") + + @tier.setter + def tier(self, value: Optional[pulumi.Input[Union[str, 'PublicIPAddressSkuTier']]]): + pulumi.set(self, "tier", value) + + +@pulumi.input_type +class RestorePointCollectionSourcePropertiesArgs: + def __init__(__self__, *, + id: Optional[pulumi.Input[str]] = None): + """ + The properties of the source resource that this restore point collection is created from. + :param pulumi.Input[str] id: Resource Id of the source resource used to create this restore point collection + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + Resource Id of the source resource used to create this restore point collection + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class RestorePointEncryptionArgs: + def __init__(__self__, *, + disk_encryption_set: Optional[pulumi.Input['DiskEncryptionSetParametersArgs']] = None, + type: Optional[pulumi.Input[Union[str, 'RestorePointEncryptionType']]] = None): + """ + Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + :param pulumi.Input['DiskEncryptionSetParametersArgs'] disk_encryption_set: Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + :param pulumi.Input[Union[str, 'RestorePointEncryptionType']] type: The type of key used to encrypt the data of the disk restore point. + """ + if disk_encryption_set is not None: + pulumi.set(__self__, "disk_encryption_set", disk_encryption_set) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="diskEncryptionSet") + def disk_encryption_set(self) -> Optional[pulumi.Input['DiskEncryptionSetParametersArgs']]: + """ + Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + """ + return pulumi.get(self, "disk_encryption_set") + + @disk_encryption_set.setter + def disk_encryption_set(self, value: Optional[pulumi.Input['DiskEncryptionSetParametersArgs']]): + pulumi.set(self, "disk_encryption_set", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[Union[str, 'RestorePointEncryptionType']]]: + """ + The type of key used to encrypt the data of the disk restore point. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[Union[str, 'RestorePointEncryptionType']]]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class RestorePointSourceMetadataArgs: + def __init__(__self__, *, + storage_profile: Optional[pulumi.Input['RestorePointSourceVMStorageProfileArgs']] = None): + """ + Describes the properties of the Virtual Machine for which the restore point was created. The properties provided are a subset and the snapshot of the overall Virtual Machine properties captured at the time of the restore point creation. + :param pulumi.Input['RestorePointSourceVMStorageProfileArgs'] storage_profile: Gets the storage profile. + """ + if storage_profile is not None: + pulumi.set(__self__, "storage_profile", storage_profile) + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional[pulumi.Input['RestorePointSourceVMStorageProfileArgs']]: + """ + Gets the storage profile. + """ + return pulumi.get(self, "storage_profile") + + @storage_profile.setter + def storage_profile(self, value: Optional[pulumi.Input['RestorePointSourceVMStorageProfileArgs']]): + pulumi.set(self, "storage_profile", value) + + +@pulumi.input_type +class RestorePointSourceVMDataDiskArgs: + def __init__(__self__, *, + disk_restore_point: Optional[pulumi.Input['DiskRestorePointAttributesArgs']] = None, + managed_disk: Optional[pulumi.Input['ManagedDiskParametersArgs']] = None): + """ + Describes a data disk. + :param pulumi.Input['DiskRestorePointAttributesArgs'] disk_restore_point: Contains Disk Restore Point properties. + :param pulumi.Input['ManagedDiskParametersArgs'] managed_disk: Contains the managed disk details. + """ + if disk_restore_point is not None: + pulumi.set(__self__, "disk_restore_point", disk_restore_point) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + + @property + @pulumi.getter(name="diskRestorePoint") + def disk_restore_point(self) -> Optional[pulumi.Input['DiskRestorePointAttributesArgs']]: + """ + Contains Disk Restore Point properties. + """ + return pulumi.get(self, "disk_restore_point") + + @disk_restore_point.setter + def disk_restore_point(self, value: Optional[pulumi.Input['DiskRestorePointAttributesArgs']]): + pulumi.set(self, "disk_restore_point", value) + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional[pulumi.Input['ManagedDiskParametersArgs']]: + """ + Contains the managed disk details. + """ + return pulumi.get(self, "managed_disk") + + @managed_disk.setter + def managed_disk(self, value: Optional[pulumi.Input['ManagedDiskParametersArgs']]): + pulumi.set(self, "managed_disk", value) + + +@pulumi.input_type +class RestorePointSourceVMOSDiskArgs: + def __init__(__self__, *, + disk_restore_point: Optional[pulumi.Input['DiskRestorePointAttributesArgs']] = None, + managed_disk: Optional[pulumi.Input['ManagedDiskParametersArgs']] = None): + """ + Describes an Operating System disk. + :param pulumi.Input['DiskRestorePointAttributesArgs'] disk_restore_point: Contains Disk Restore Point properties. + :param pulumi.Input['ManagedDiskParametersArgs'] managed_disk: Gets the managed disk details + """ + if disk_restore_point is not None: + pulumi.set(__self__, "disk_restore_point", disk_restore_point) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + + @property + @pulumi.getter(name="diskRestorePoint") + def disk_restore_point(self) -> Optional[pulumi.Input['DiskRestorePointAttributesArgs']]: + """ + Contains Disk Restore Point properties. + """ + return pulumi.get(self, "disk_restore_point") + + @disk_restore_point.setter + def disk_restore_point(self, value: Optional[pulumi.Input['DiskRestorePointAttributesArgs']]): + pulumi.set(self, "disk_restore_point", value) + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional[pulumi.Input['ManagedDiskParametersArgs']]: + """ + Gets the managed disk details + """ + return pulumi.get(self, "managed_disk") + + @managed_disk.setter + def managed_disk(self, value: Optional[pulumi.Input['ManagedDiskParametersArgs']]): + pulumi.set(self, "managed_disk", value) + + +@pulumi.input_type +class RestorePointSourceVMStorageProfileArgs: + def __init__(__self__, *, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['RestorePointSourceVMDataDiskArgs']]]] = None, + os_disk: Optional[pulumi.Input['RestorePointSourceVMOSDiskArgs']] = None): + """ + Describes the storage profile. + :param pulumi.Input[Sequence[pulumi.Input['RestorePointSourceVMDataDiskArgs']]] data_disks: Gets the data disks of the VM captured at the time of the restore point creation. + :param pulumi.Input['RestorePointSourceVMOSDiskArgs'] os_disk: Gets the OS disk of the VM captured at the time of the restore point creation. + """ + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if os_disk is not None: + pulumi.set(__self__, "os_disk", os_disk) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RestorePointSourceVMDataDiskArgs']]]]: + """ + Gets the data disks of the VM captured at the time of the restore point creation. + """ + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RestorePointSourceVMDataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + + @property + @pulumi.getter(name="osDisk") + def os_disk(self) -> Optional[pulumi.Input['RestorePointSourceVMOSDiskArgs']]: + """ + Gets the OS disk of the VM captured at the time of the restore point creation. + """ + return pulumi.get(self, "os_disk") + + @os_disk.setter + def os_disk(self, value: Optional[pulumi.Input['RestorePointSourceVMOSDiskArgs']]): + pulumi.set(self, "os_disk", value) + + +@pulumi.input_type +class RollingUpgradePolicyArgs: + def __init__(__self__, *, + enable_cross_zone_upgrade: Optional[pulumi.Input[bool]] = None, + max_batch_instance_percent: Optional[pulumi.Input[int]] = None, + max_surge: Optional[pulumi.Input[bool]] = None, + max_unhealthy_instance_percent: Optional[pulumi.Input[int]] = None, + max_unhealthy_upgraded_instance_percent: Optional[pulumi.Input[int]] = None, + pause_time_between_batches: Optional[pulumi.Input[str]] = None, + prioritize_unhealthy_instances: Optional[pulumi.Input[bool]] = None, + rollback_failed_instances_on_policy_breach: Optional[pulumi.Input[bool]] = None): + """ + The configuration parameters used while performing a rolling upgrade. + :param pulumi.Input[bool] enable_cross_zone_upgrade: Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size. + :param pulumi.Input[int] max_batch_instance_percent: The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. + :param pulumi.Input[bool] max_surge: Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. + :param pulumi.Input[int] max_unhealthy_instance_percent: The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%. + :param pulumi.Input[int] max_unhealthy_upgraded_instance_percent: The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%. + :param pulumi.Input[str] pause_time_between_batches: The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). + :param pulumi.Input[bool] prioritize_unhealthy_instances: Upgrade all unhealthy instances in a scale set before any healthy instances. + :param pulumi.Input[bool] rollback_failed_instances_on_policy_breach: Rollback failed instances to previous model if the Rolling Upgrade policy is violated. + """ + if enable_cross_zone_upgrade is not None: + pulumi.set(__self__, "enable_cross_zone_upgrade", enable_cross_zone_upgrade) + if max_batch_instance_percent is not None: + pulumi.set(__self__, "max_batch_instance_percent", max_batch_instance_percent) + if max_surge is not None: + pulumi.set(__self__, "max_surge", max_surge) + if max_unhealthy_instance_percent is not None: + pulumi.set(__self__, "max_unhealthy_instance_percent", max_unhealthy_instance_percent) + if max_unhealthy_upgraded_instance_percent is not None: + pulumi.set(__self__, "max_unhealthy_upgraded_instance_percent", max_unhealthy_upgraded_instance_percent) + if pause_time_between_batches is not None: + pulumi.set(__self__, "pause_time_between_batches", pause_time_between_batches) + if prioritize_unhealthy_instances is not None: + pulumi.set(__self__, "prioritize_unhealthy_instances", prioritize_unhealthy_instances) + if rollback_failed_instances_on_policy_breach is not None: + pulumi.set(__self__, "rollback_failed_instances_on_policy_breach", rollback_failed_instances_on_policy_breach) + + @property + @pulumi.getter(name="enableCrossZoneUpgrade") + def enable_cross_zone_upgrade(self) -> Optional[pulumi.Input[bool]]: + """ + Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size. + """ + return pulumi.get(self, "enable_cross_zone_upgrade") + + @enable_cross_zone_upgrade.setter + def enable_cross_zone_upgrade(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_cross_zone_upgrade", value) + + @property + @pulumi.getter(name="maxBatchInstancePercent") + def max_batch_instance_percent(self) -> Optional[pulumi.Input[int]]: + """ + The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. + """ + return pulumi.get(self, "max_batch_instance_percent") + + @max_batch_instance_percent.setter + def max_batch_instance_percent(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_batch_instance_percent", value) + + @property + @pulumi.getter(name="maxSurge") + def max_surge(self) -> Optional[pulumi.Input[bool]]: + """ + Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. + """ + return pulumi.get(self, "max_surge") + + @max_surge.setter + def max_surge(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "max_surge", value) + + @property + @pulumi.getter(name="maxUnhealthyInstancePercent") + def max_unhealthy_instance_percent(self) -> Optional[pulumi.Input[int]]: + """ + The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%. + """ + return pulumi.get(self, "max_unhealthy_instance_percent") + + @max_unhealthy_instance_percent.setter + def max_unhealthy_instance_percent(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_unhealthy_instance_percent", value) + + @property + @pulumi.getter(name="maxUnhealthyUpgradedInstancePercent") + def max_unhealthy_upgraded_instance_percent(self) -> Optional[pulumi.Input[int]]: + """ + The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%. + """ + return pulumi.get(self, "max_unhealthy_upgraded_instance_percent") + + @max_unhealthy_upgraded_instance_percent.setter + def max_unhealthy_upgraded_instance_percent(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_unhealthy_upgraded_instance_percent", value) + + @property + @pulumi.getter(name="pauseTimeBetweenBatches") + def pause_time_between_batches(self) -> Optional[pulumi.Input[str]]: + """ + The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). + """ + return pulumi.get(self, "pause_time_between_batches") + + @pause_time_between_batches.setter + def pause_time_between_batches(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pause_time_between_batches", value) + + @property + @pulumi.getter(name="prioritizeUnhealthyInstances") + def prioritize_unhealthy_instances(self) -> Optional[pulumi.Input[bool]]: + """ + Upgrade all unhealthy instances in a scale set before any healthy instances. + """ + return pulumi.get(self, "prioritize_unhealthy_instances") + + @prioritize_unhealthy_instances.setter + def prioritize_unhealthy_instances(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "prioritize_unhealthy_instances", value) + + @property + @pulumi.getter(name="rollbackFailedInstancesOnPolicyBreach") + def rollback_failed_instances_on_policy_breach(self) -> Optional[pulumi.Input[bool]]: + """ + Rollback failed instances to previous model if the Rolling Upgrade policy is violated. + """ + return pulumi.get(self, "rollback_failed_instances_on_policy_breach") + + @rollback_failed_instances_on_policy_breach.setter + def rollback_failed_instances_on_policy_breach(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "rollback_failed_instances_on_policy_breach", value) + + +@pulumi.input_type +class RunCommandInputParameterArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + Describes the properties of a run command parameter. + :param pulumi.Input[str] name: The run command parameter name. + :param pulumi.Input[str] value: The run command parameter value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The run command parameter name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + The run command parameter value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class RunCommandManagedIdentityArgs: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + object_id: Optional[pulumi.Input[str]] = None): + """ + Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + :param pulumi.Input[str] client_id: Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. + :param pulumi.Input[str] object_id: Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. + """ + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) + if object_id is not None: + pulumi.set(__self__, "object_id", object_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> Optional[pulumi.Input[str]]: + """ + Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. + """ + return pulumi.get(self, "object_id") + + @object_id.setter + def object_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "object_id", value) + + +@pulumi.input_type +class ScaleInPolicyArgs: + def __init__(__self__, *, + force_deletion: Optional[pulumi.Input[bool]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VirtualMachineScaleSetScaleInRules']]]]] = None): + """ + Describes a scale-in policy for a virtual machine scale set. + :param pulumi.Input[bool] force_deletion: This property allows you to specify if virtual machines chosen for removal have to be force deleted when a virtual machine scale set is being scaled-in.(Feature in Preview) + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VirtualMachineScaleSetScaleInRules']]]] rules: The rules to be followed when scaling-in a virtual machine scale set.

Possible values are:

**Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

**OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

**NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

+ """ + if force_deletion is not None: + pulumi.set(__self__, "force_deletion", force_deletion) + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @property + @pulumi.getter(name="forceDeletion") + def force_deletion(self) -> Optional[pulumi.Input[bool]]: + """ + This property allows you to specify if virtual machines chosen for removal have to be force deleted when a virtual machine scale set is being scaled-in.(Feature in Preview) + """ + return pulumi.get(self, "force_deletion") + + @force_deletion.setter + def force_deletion(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "force_deletion", value) + + @property + @pulumi.getter + def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VirtualMachineScaleSetScaleInRules']]]]]: + """ + The rules to be followed when scaling-in a virtual machine scale set.

Possible values are:

**Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

**OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

**NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

+ """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VirtualMachineScaleSetScaleInRules']]]]]): + pulumi.set(self, "rules", value) + + +@pulumi.input_type +class ScheduledEventsProfileArgs: + def __init__(__self__, *, + os_image_notification_profile: Optional[pulumi.Input['OSImageNotificationProfileArgs']] = None, + terminate_notification_profile: Optional[pulumi.Input['TerminateNotificationProfileArgs']] = None): + """ + :param pulumi.Input['OSImageNotificationProfileArgs'] os_image_notification_profile: Specifies OS Image Scheduled Event related configurations. + :param pulumi.Input['TerminateNotificationProfileArgs'] terminate_notification_profile: Specifies Terminate Scheduled Event related configurations. + """ + if os_image_notification_profile is not None: + pulumi.set(__self__, "os_image_notification_profile", os_image_notification_profile) + if terminate_notification_profile is not None: + pulumi.set(__self__, "terminate_notification_profile", terminate_notification_profile) + + @property + @pulumi.getter(name="osImageNotificationProfile") + def os_image_notification_profile(self) -> Optional[pulumi.Input['OSImageNotificationProfileArgs']]: + """ + Specifies OS Image Scheduled Event related configurations. + """ + return pulumi.get(self, "os_image_notification_profile") + + @os_image_notification_profile.setter + def os_image_notification_profile(self, value: Optional[pulumi.Input['OSImageNotificationProfileArgs']]): + pulumi.set(self, "os_image_notification_profile", value) + + @property + @pulumi.getter(name="terminateNotificationProfile") + def terminate_notification_profile(self) -> Optional[pulumi.Input['TerminateNotificationProfileArgs']]: + """ + Specifies Terminate Scheduled Event related configurations. + """ + return pulumi.get(self, "terminate_notification_profile") + + @terminate_notification_profile.setter + def terminate_notification_profile(self, value: Optional[pulumi.Input['TerminateNotificationProfileArgs']]): + pulumi.set(self, "terminate_notification_profile", value) + + +@pulumi.input_type +class SecurityPostureReferenceArgs: + def __init__(__self__, *, + exclude_extensions: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineExtensionArgs']]]] = None, + id: Optional[pulumi.Input[str]] = None): + """ + Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineExtensionArgs']]] exclude_extensions: List of virtual machine extensions to exclude when applying the Security Posture. + :param pulumi.Input[str] id: The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest + """ + if exclude_extensions is not None: + pulumi.set(__self__, "exclude_extensions", exclude_extensions) + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter(name="excludeExtensions") + def exclude_extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineExtensionArgs']]]]: + """ + List of virtual machine extensions to exclude when applying the Security Posture. + """ + return pulumi.get(self, "exclude_extensions") + + @exclude_extensions.setter + def exclude_extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineExtensionArgs']]]]): + pulumi.set(self, "exclude_extensions", value) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class SecurityProfileArgs: + def __init__(__self__, *, + encryption_at_host: Optional[pulumi.Input[bool]] = None, + security_type: Optional[pulumi.Input[Union[str, 'SecurityTypes']]] = None, + uefi_settings: Optional[pulumi.Input['UefiSettingsArgs']] = None): + """ + Specifies the Security profile settings for the virtual machine or virtual machine scale set. + :param pulumi.Input[bool] encryption_at_host: This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. The default behavior is: The Encryption at host will be disabled unless this property is set to true for the resource. + :param pulumi.Input[Union[str, 'SecurityTypes']] security_type: Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set. + :param pulumi.Input['UefiSettingsArgs'] uefi_settings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + """ + if encryption_at_host is not None: + pulumi.set(__self__, "encryption_at_host", encryption_at_host) + if security_type is not None: + pulumi.set(__self__, "security_type", security_type) + if uefi_settings is not None: + pulumi.set(__self__, "uefi_settings", uefi_settings) + + @property + @pulumi.getter(name="encryptionAtHost") + def encryption_at_host(self) -> Optional[pulumi.Input[bool]]: + """ + This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. The default behavior is: The Encryption at host will be disabled unless this property is set to true for the resource. + """ + return pulumi.get(self, "encryption_at_host") + + @encryption_at_host.setter + def encryption_at_host(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "encryption_at_host", value) + + @property + @pulumi.getter(name="securityType") + def security_type(self) -> Optional[pulumi.Input[Union[str, 'SecurityTypes']]]: + """ + Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set. + """ + return pulumi.get(self, "security_type") + + @security_type.setter + def security_type(self, value: Optional[pulumi.Input[Union[str, 'SecurityTypes']]]): + pulumi.set(self, "security_type", value) + + @property + @pulumi.getter(name="uefiSettings") + def uefi_settings(self) -> Optional[pulumi.Input['UefiSettingsArgs']]: + """ + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + """ + return pulumi.get(self, "uefi_settings") + + @uefi_settings.setter + def uefi_settings(self, value: Optional[pulumi.Input['UefiSettingsArgs']]): + pulumi.set(self, "uefi_settings", value) + + +@pulumi.input_type +class ServiceArtifactReferenceArgs: + def __init__(__self__, *, + id: Optional[pulumi.Input[str]] = None): + """ + Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + :param pulumi.Input[str] id: The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class SkuArgs: + def __init__(__self__, *, + capacity: Optional[pulumi.Input[float]] = None, + name: Optional[pulumi.Input[str]] = None, + tier: Optional[pulumi.Input[str]] = None): + """ + Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + :param pulumi.Input[float] capacity: Specifies the number of virtual machines in the scale set. + :param pulumi.Input[str] name: The sku name. + :param pulumi.Input[str] tier: Specifies the tier of virtual machines in a scale set.

Possible Values:

**Standard**

**Basic** + """ + if capacity is not None: + pulumi.set(__self__, "capacity", capacity) + if name is not None: + pulumi.set(__self__, "name", name) + if tier is not None: + pulumi.set(__self__, "tier", tier) + + @property + @pulumi.getter + def capacity(self) -> Optional[pulumi.Input[float]]: + """ + Specifies the number of virtual machines in the scale set. + """ + return pulumi.get(self, "capacity") + + @capacity.setter + def capacity(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "capacity", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The sku name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tier(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the tier of virtual machines in a scale set.

Possible Values:

**Standard**

**Basic** + """ + return pulumi.get(self, "tier") + + @tier.setter + def tier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tier", value) + + +@pulumi.input_type +class SpotRestorePolicyArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + restore_timeout: Optional[pulumi.Input[str]] = None): + """ + Specifies the Spot-Try-Restore properties for the virtual machine scale set. With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint. + :param pulumi.Input[bool] enabled: Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints + :param pulumi.Input[str] restore_timeout: Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if restore_timeout is not None: + pulumi.set(__self__, "restore_timeout", restore_timeout) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="restoreTimeout") + def restore_timeout(self) -> Optional[pulumi.Input[str]]: + """ + Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances + """ + return pulumi.get(self, "restore_timeout") + + @restore_timeout.setter + def restore_timeout(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "restore_timeout", value) + + +@pulumi.input_type +class SshConfigurationArgs: + def __init__(__self__, *, + public_keys: Optional[pulumi.Input[Sequence[pulumi.Input['SshPublicKeyArgs']]]] = None): + """ + SSH configuration for Linux based VMs running on Azure + :param pulumi.Input[Sequence[pulumi.Input['SshPublicKeyArgs']]] public_keys: The list of SSH public keys used to authenticate with linux based VMs. + """ + if public_keys is not None: + pulumi.set(__self__, "public_keys", public_keys) + + @property + @pulumi.getter(name="publicKeys") + def public_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SshPublicKeyArgs']]]]: + """ + The list of SSH public keys used to authenticate with linux based VMs. + """ + return pulumi.get(self, "public_keys") + + @public_keys.setter + def public_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SshPublicKeyArgs']]]]): + pulumi.set(self, "public_keys", value) + + +@pulumi.input_type +class SshPublicKeyArgs: + def __init__(__self__, *, + key_data: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None): + """ + Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + :param pulumi.Input[str] key_data: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + :param pulumi.Input[str] path: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + """ + if key_data is not None: + pulumi.set(__self__, "key_data", key_data) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter(name="keyData") + def key_data(self) -> Optional[pulumi.Input[str]]: + """ + SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + """ + return pulumi.get(self, "key_data") + + @key_data.setter + def key_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_data", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + +@pulumi.input_type +class StorageProfileArgs: + def __init__(__self__, *, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['DataDiskArgs']]]] = None, + disk_controller_type: Optional[pulumi.Input[Union[str, 'DiskControllerTypes']]] = None, + image_reference: Optional[pulumi.Input['ImageReferenceArgs']] = None, + os_disk: Optional[pulumi.Input['OSDiskArgs']] = None): + """ + Specifies the storage settings for the virtual machine disks. + :param pulumi.Input[Sequence[pulumi.Input['DataDiskArgs']]] data_disks: Specifies the parameters that are used to add a data disk to a virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + :param pulumi.Input[Union[str, 'DiskControllerTypes']] disk_controller_type: Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01. + :param pulumi.Input['ImageReferenceArgs'] image_reference: Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + :param pulumi.Input['OSDiskArgs'] os_disk: Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if disk_controller_type is not None: + pulumi.set(__self__, "disk_controller_type", disk_controller_type) + if image_reference is not None: + pulumi.set(__self__, "image_reference", image_reference) + if os_disk is not None: + pulumi.set(__self__, "os_disk", os_disk) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataDiskArgs']]]]: + """ + Specifies the parameters that are used to add a data disk to a virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + + @property + @pulumi.getter(name="diskControllerType") + def disk_controller_type(self) -> Optional[pulumi.Input[Union[str, 'DiskControllerTypes']]]: + """ + Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01. + """ + return pulumi.get(self, "disk_controller_type") + + @disk_controller_type.setter + def disk_controller_type(self, value: Optional[pulumi.Input[Union[str, 'DiskControllerTypes']]]): + pulumi.set(self, "disk_controller_type", value) + + @property + @pulumi.getter(name="imageReference") + def image_reference(self) -> Optional[pulumi.Input['ImageReferenceArgs']]: + """ + Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + """ + return pulumi.get(self, "image_reference") + + @image_reference.setter + def image_reference(self, value: Optional[pulumi.Input['ImageReferenceArgs']]): + pulumi.set(self, "image_reference", value) + + @property + @pulumi.getter(name="osDisk") + def os_disk(self) -> Optional[pulumi.Input['OSDiskArgs']]: + """ + Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + return pulumi.get(self, "os_disk") + + @os_disk.setter + def os_disk(self, value: Optional[pulumi.Input['OSDiskArgs']]): + pulumi.set(self, "os_disk", value) + + +@pulumi.input_type +class SubResourceArgs: + def __init__(__self__, *, + id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] id: Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. + An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. + A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. + Example of a relative ID: $self/frontEndConfigurations/my-frontend. + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. + An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. + A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. + Example of a relative ID: $self/frontEndConfigurations/my-frontend. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class TerminateNotificationProfileArgs: + def __init__(__self__, *, + enable: Optional[pulumi.Input[bool]] = None, + not_before_timeout: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[bool] enable: Specifies whether the Terminate Scheduled event is enabled or disabled. + :param pulumi.Input[str] not_before_timeout: Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M) + """ + if enable is not None: + pulumi.set(__self__, "enable", enable) + if not_before_timeout is not None: + pulumi.set(__self__, "not_before_timeout", not_before_timeout) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the Terminate Scheduled event is enabled or disabled. + """ + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter(name="notBeforeTimeout") + def not_before_timeout(self) -> Optional[pulumi.Input[str]]: + """ + Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M) + """ + return pulumi.get(self, "not_before_timeout") + + @not_before_timeout.setter + def not_before_timeout(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "not_before_timeout", value) + + +@pulumi.input_type +class UefiSettingsArgs: + def __init__(__self__, *, + secure_boot_enabled: Optional[pulumi.Input[bool]] = None, + v_tpm_enabled: Optional[pulumi.Input[bool]] = None): + """ + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + :param pulumi.Input[bool] secure_boot_enabled: Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + :param pulumi.Input[bool] v_tpm_enabled: Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + """ + if secure_boot_enabled is not None: + pulumi.set(__self__, "secure_boot_enabled", secure_boot_enabled) + if v_tpm_enabled is not None: + pulumi.set(__self__, "v_tpm_enabled", v_tpm_enabled) + + @property + @pulumi.getter(name="secureBootEnabled") + def secure_boot_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + """ + return pulumi.get(self, "secure_boot_enabled") + + @secure_boot_enabled.setter + def secure_boot_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "secure_boot_enabled", value) + + @property + @pulumi.getter(name="vTpmEnabled") + def v_tpm_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + """ + return pulumi.get(self, "v_tpm_enabled") + + @v_tpm_enabled.setter + def v_tpm_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "v_tpm_enabled", value) + + +@pulumi.input_type +class UpgradePolicyArgs: + def __init__(__self__, *, + automatic_os_upgrade_policy: Optional[pulumi.Input['AutomaticOSUpgradePolicyArgs']] = None, + mode: Optional[pulumi.Input['UpgradeMode']] = None, + rolling_upgrade_policy: Optional[pulumi.Input['RollingUpgradePolicyArgs']] = None): + """ + Describes an upgrade policy - automatic, manual, or rolling. + :param pulumi.Input['AutomaticOSUpgradePolicyArgs'] automatic_os_upgrade_policy: Configuration parameters used for performing automatic OS Upgrade. + :param pulumi.Input['UpgradeMode'] mode: Specifies the mode of an upgrade to virtual machines in the scale set.

Possible values are:

**Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

**Automatic** - All virtual machines in the scale set are automatically updated at the same time. + :param pulumi.Input['RollingUpgradePolicyArgs'] rolling_upgrade_policy: The configuration parameters used while performing a rolling upgrade. + """ + if automatic_os_upgrade_policy is not None: + pulumi.set(__self__, "automatic_os_upgrade_policy", automatic_os_upgrade_policy) + if mode is not None: + pulumi.set(__self__, "mode", mode) + if rolling_upgrade_policy is not None: + pulumi.set(__self__, "rolling_upgrade_policy", rolling_upgrade_policy) + + @property + @pulumi.getter(name="automaticOSUpgradePolicy") + def automatic_os_upgrade_policy(self) -> Optional[pulumi.Input['AutomaticOSUpgradePolicyArgs']]: + """ + Configuration parameters used for performing automatic OS Upgrade. + """ + return pulumi.get(self, "automatic_os_upgrade_policy") + + @automatic_os_upgrade_policy.setter + def automatic_os_upgrade_policy(self, value: Optional[pulumi.Input['AutomaticOSUpgradePolicyArgs']]): + pulumi.set(self, "automatic_os_upgrade_policy", value) + + @property + @pulumi.getter + def mode(self) -> Optional[pulumi.Input['UpgradeMode']]: + """ + Specifies the mode of an upgrade to virtual machines in the scale set.

Possible values are:

**Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

**Automatic** - All virtual machines in the scale set are automatically updated at the same time. + """ + return pulumi.get(self, "mode") + + @mode.setter + def mode(self, value: Optional[pulumi.Input['UpgradeMode']]): + pulumi.set(self, "mode", value) + + @property + @pulumi.getter(name="rollingUpgradePolicy") + def rolling_upgrade_policy(self) -> Optional[pulumi.Input['RollingUpgradePolicyArgs']]: + """ + The configuration parameters used while performing a rolling upgrade. + """ + return pulumi.get(self, "rolling_upgrade_policy") + + @rolling_upgrade_policy.setter + def rolling_upgrade_policy(self, value: Optional[pulumi.Input['RollingUpgradePolicyArgs']]): + pulumi.set(self, "rolling_upgrade_policy", value) + + +@pulumi.input_type +class VMDiskSecurityProfileArgs: + def __init__(__self__, *, + disk_encryption_set: Optional[pulumi.Input['DiskEncryptionSetParametersArgs']] = None, + security_encryption_type: Optional[pulumi.Input[Union[str, 'SecurityEncryptionTypes']]] = None): + """ + Specifies the security profile settings for the managed disk. **Note:** It can only be set for Confidential VMs. + :param pulumi.Input['DiskEncryptionSetParametersArgs'] disk_encryption_set: Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + :param pulumi.Input[Union[str, 'SecurityEncryptionTypes']] security_encryption_type: Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs. + """ + if disk_encryption_set is not None: + pulumi.set(__self__, "disk_encryption_set", disk_encryption_set) + if security_encryption_type is not None: + pulumi.set(__self__, "security_encryption_type", security_encryption_type) + + @property + @pulumi.getter(name="diskEncryptionSet") + def disk_encryption_set(self) -> Optional[pulumi.Input['DiskEncryptionSetParametersArgs']]: + """ + Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + """ + return pulumi.get(self, "disk_encryption_set") + + @disk_encryption_set.setter + def disk_encryption_set(self, value: Optional[pulumi.Input['DiskEncryptionSetParametersArgs']]): + pulumi.set(self, "disk_encryption_set", value) + + @property + @pulumi.getter(name="securityEncryptionType") + def security_encryption_type(self) -> Optional[pulumi.Input[Union[str, 'SecurityEncryptionTypes']]]: + """ + Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs. + """ + return pulumi.get(self, "security_encryption_type") + + @security_encryption_type.setter + def security_encryption_type(self, value: Optional[pulumi.Input[Union[str, 'SecurityEncryptionTypes']]]): + pulumi.set(self, "security_encryption_type", value) + + +@pulumi.input_type +class VMGalleryApplicationArgs: + def __init__(__self__, *, + package_reference_id: pulumi.Input[str], + configuration_reference: Optional[pulumi.Input[str]] = None, + enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, + order: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[str]] = None, + treat_failure_as_deployment_failure: Optional[pulumi.Input[bool]] = None): + """ + Specifies the required information to reference a compute gallery application version + :param pulumi.Input[str] package_reference_id: Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + :param pulumi.Input[str] configuration_reference: Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided + :param pulumi.Input[bool] enable_automatic_upgrade: If set to true, when a new Gallery Application version is available in PIR/SIG, it will be automatically updated for the VM/VMSS + :param pulumi.Input[int] order: Optional, Specifies the order in which the packages have to be installed + :param pulumi.Input[str] tags: Optional, Specifies a passthrough value for more generic context. + :param pulumi.Input[bool] treat_failure_as_deployment_failure: Optional, If true, any failure for any operation in the VmApplication will fail the deployment + """ + pulumi.set(__self__, "package_reference_id", package_reference_id) + if configuration_reference is not None: + pulumi.set(__self__, "configuration_reference", configuration_reference) + if enable_automatic_upgrade is not None: + pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) + if order is not None: + pulumi.set(__self__, "order", order) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if treat_failure_as_deployment_failure is not None: + pulumi.set(__self__, "treat_failure_as_deployment_failure", treat_failure_as_deployment_failure) + + @property + @pulumi.getter(name="packageReferenceId") + def package_reference_id(self) -> pulumi.Input[str]: + """ + Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + """ + return pulumi.get(self, "package_reference_id") + + @package_reference_id.setter + def package_reference_id(self, value: pulumi.Input[str]): + pulumi.set(self, "package_reference_id", value) + + @property + @pulumi.getter(name="configurationReference") + def configuration_reference(self) -> Optional[pulumi.Input[str]]: + """ + Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided + """ + return pulumi.get(self, "configuration_reference") + + @configuration_reference.setter + def configuration_reference(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "configuration_reference", value) + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> Optional[pulumi.Input[bool]]: + """ + If set to true, when a new Gallery Application version is available in PIR/SIG, it will be automatically updated for the VM/VMSS + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @enable_automatic_upgrade.setter + def enable_automatic_upgrade(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_automatic_upgrade", value) + + @property + @pulumi.getter + def order(self) -> Optional[pulumi.Input[int]]: + """ + Optional, Specifies the order in which the packages have to be installed + """ + return pulumi.get(self, "order") + + @order.setter + def order(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "order", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[str]]: + """ + Optional, Specifies a passthrough value for more generic context. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="treatFailureAsDeploymentFailure") + def treat_failure_as_deployment_failure(self) -> Optional[pulumi.Input[bool]]: + """ + Optional, If true, any failure for any operation in the VmApplication will fail the deployment + """ + return pulumi.get(self, "treat_failure_as_deployment_failure") + + @treat_failure_as_deployment_failure.setter + def treat_failure_as_deployment_failure(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "treat_failure_as_deployment_failure", value) + + +@pulumi.input_type +class VMSizePropertiesArgs: + def __init__(__self__, *, + v_cpus_available: Optional[pulumi.Input[int]] = None, + v_cpus_per_core: Optional[pulumi.Input[int]] = None): + """ + Specifies VM Size Property settings on the virtual machine. + :param pulumi.Input[int] v_cpus_available: Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). + :param pulumi.Input[int] v_cpus_per_core: Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.** + """ + if v_cpus_available is not None: + pulumi.set(__self__, "v_cpus_available", v_cpus_available) + if v_cpus_per_core is not None: + pulumi.set(__self__, "v_cpus_per_core", v_cpus_per_core) + + @property + @pulumi.getter(name="vCPUsAvailable") + def v_cpus_available(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). + """ + return pulumi.get(self, "v_cpus_available") + + @v_cpus_available.setter + def v_cpus_available(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "v_cpus_available", value) + + @property + @pulumi.getter(name="vCPUsPerCore") + def v_cpus_per_core(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.** + """ + return pulumi.get(self, "v_cpus_per_core") + + @v_cpus_per_core.setter + def v_cpus_per_core(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "v_cpus_per_core", value) + + +@pulumi.input_type +class VaultCertificateArgs: + def __init__(__self__, *, + certificate_store: Optional[pulumi.Input[str]] = None, + certificate_url: Optional[pulumi.Input[str]] = None): + """ + Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + :param pulumi.Input[str] certificate_store: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted. + :param pulumi.Input[str] certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + """ + if certificate_store is not None: + pulumi.set(__self__, "certificate_store", certificate_store) + if certificate_url is not None: + pulumi.set(__self__, "certificate_url", certificate_url) + + @property + @pulumi.getter(name="certificateStore") + def certificate_store(self) -> Optional[pulumi.Input[str]]: + """ + For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted. + """ + return pulumi.get(self, "certificate_store") + + @certificate_store.setter + def certificate_store(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate_store", value) + + @property + @pulumi.getter(name="certificateUrl") + def certificate_url(self) -> Optional[pulumi.Input[str]]: + """ + This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + """ + return pulumi.get(self, "certificate_url") + + @certificate_url.setter + def certificate_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate_url", value) + + +@pulumi.input_type +class VaultSecretGroupArgs: + def __init__(__self__, *, + source_vault: Optional[pulumi.Input['SubResourceArgs']] = None, + vault_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VaultCertificateArgs']]]] = None): + """ + Describes a set of certificates which are all in the same Key Vault. + :param pulumi.Input['SubResourceArgs'] source_vault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates. + :param pulumi.Input[Sequence[pulumi.Input['VaultCertificateArgs']]] vault_certificates: The list of key vault references in SourceVault which contain certificates. + """ + if source_vault is not None: + pulumi.set(__self__, "source_vault", source_vault) + if vault_certificates is not None: + pulumi.set(__self__, "vault_certificates", vault_certificates) + + @property + @pulumi.getter(name="sourceVault") + def source_vault(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + The relative URL of the Key Vault containing all of the certificates in VaultCertificates. + """ + return pulumi.get(self, "source_vault") + + @source_vault.setter + def source_vault(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "source_vault", value) + + @property + @pulumi.getter(name="vaultCertificates") + def vault_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VaultCertificateArgs']]]]: + """ + The list of key vault references in SourceVault which contain certificates. + """ + return pulumi.get(self, "vault_certificates") + + @vault_certificates.setter + def vault_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VaultCertificateArgs']]]]): + pulumi.set(self, "vault_certificates", value) + + +@pulumi.input_type +class VirtualHardDiskArgs: + def __init__(__self__, *, + uri: Optional[pulumi.Input[str]] = None): + """ + Describes the uri of a disk. + :param pulumi.Input[str] uri: Specifies the virtual hard disk's uri. + """ + if uri is not None: + pulumi.set(__self__, "uri", uri) + + @property + @pulumi.getter + def uri(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the virtual hard disk's uri. + """ + return pulumi.get(self, "uri") + + @uri.setter + def uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "uri", value) + + +@pulumi.input_type +class VirtualMachineExtensionInstanceViewArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + statuses: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceViewStatusArgs']]]] = None, + substatuses: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceViewStatusArgs']]]] = None, + type: Optional[pulumi.Input[str]] = None, + type_handler_version: Optional[pulumi.Input[str]] = None): + """ + The instance view of a virtual machine extension. + :param pulumi.Input[str] name: The virtual machine extension name. + :param pulumi.Input[Sequence[pulumi.Input['InstanceViewStatusArgs']]] statuses: The resource status information. + :param pulumi.Input[Sequence[pulumi.Input['InstanceViewStatusArgs']]] substatuses: The resource status information. + :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension". + :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + if substatuses is not None: + pulumi.set(__self__, "substatuses", substatuses) + if type is not None: + pulumi.set(__self__, "type", type) + if type_handler_version is not None: + pulumi.set(__self__, "type_handler_version", type_handler_version) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The virtual machine extension name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def statuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceViewStatusArgs']]]]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + @statuses.setter + def statuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceViewStatusArgs']]]]): + pulumi.set(self, "statuses", value) + + @property + @pulumi.getter + def substatuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceViewStatusArgs']]]]: + """ + The resource status information. + """ + return pulumi.get(self, "substatuses") + + @substatuses.setter + def substatuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceViewStatusArgs']]]]): + pulumi.set(self, "substatuses", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the type of the extension; an example is "CustomScriptExtension". + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + @type_handler_version.setter + def type_handler_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type_handler_version", value) + + +@pulumi.input_type +class VirtualMachineExtensionArgs: + def __init__(__self__, *, + auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, + enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, + force_update_tag: Optional[pulumi.Input[str]] = None, + instance_view: Optional[pulumi.Input['VirtualMachineExtensionInstanceViewArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional[pulumi.Input['KeyVaultSecretReferenceArgs']] = None, + provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + publisher: Optional[pulumi.Input[str]] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None, + type_handler_version: Optional[pulumi.Input[str]] = None): + """ + Describes a Virtual Machine Extension. + :param pulumi.Input[bool] auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + :param pulumi.Input[bool] enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + :param pulumi.Input[str] force_update_tag: How the extension handler should be forced to update even if the extension configuration has not changed. + :param pulumi.Input['VirtualMachineExtensionInstanceViewArgs'] instance_view: The virtual machine extension instance view. + :param pulumi.Input[str] location: Resource location + :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + :param pulumi.Input['KeyVaultSecretReferenceArgs'] protected_settings_from_key_vault: The extensions protected settings that are passed by reference, and consumed from key vault + :param pulumi.Input[Sequence[pulumi.Input[str]]] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned. + :param pulumi.Input[str] publisher: The name of the extension handler publisher. + :param Any settings: Json formatted public settings for the extension. + :param pulumi.Input[bool] suppress_failures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension". + :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler. + """ + if auto_upgrade_minor_version is not None: + pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) + if enable_automatic_upgrade is not None: + pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) + if force_update_tag is not None: + pulumi.set(__self__, "force_update_tag", force_update_tag) + if instance_view is not None: + pulumi.set(__self__, "instance_view", instance_view) + if location is not None: + pulumi.set(__self__, "location", location) + if protected_settings is not None: + pulumi.set(__self__, "protected_settings", protected_settings) + if protected_settings_from_key_vault is not None: + pulumi.set(__self__, "protected_settings_from_key_vault", protected_settings_from_key_vault) + if provision_after_extensions is not None: + pulumi.set(__self__, "provision_after_extensions", provision_after_extensions) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + if settings is not None: + pulumi.set(__self__, "settings", settings) + if suppress_failures is not None: + pulumi.set(__self__, "suppress_failures", suppress_failures) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if type is not None: + pulumi.set(__self__, "type", type) + if type_handler_version is not None: + pulumi.set(__self__, "type_handler_version", type_handler_version) + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @auto_upgrade_minor_version.setter + def auto_upgrade_minor_version(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_upgrade_minor_version", value) + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @enable_automatic_upgrade.setter + def enable_automatic_upgrade(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_automatic_upgrade", value) + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> Optional[pulumi.Input[str]]: + """ + How the extension handler should be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @force_update_tag.setter + def force_update_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "force_update_tag", value) + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> Optional[pulumi.Input['VirtualMachineExtensionInstanceViewArgs']]: + """ + The virtual machine extension instance view. + """ + return pulumi.get(self, "instance_view") + + @instance_view.setter + def instance_view(self, value: Optional[pulumi.Input['VirtualMachineExtensionInstanceViewArgs']]): + pulumi.set(self, "instance_view", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> Optional[Any]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @protected_settings.setter + def protected_settings(self, value: Optional[Any]): + pulumi.set(self, "protected_settings", value) + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> Optional[pulumi.Input['KeyVaultSecretReferenceArgs']]: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @protected_settings_from_key_vault.setter + def protected_settings_from_key_vault(self, value: Optional[pulumi.Input['KeyVaultSecretReferenceArgs']]): + pulumi.set(self, "protected_settings_from_key_vault", value) + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @provision_after_extensions.setter + def provision_after_extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "provision_after_extensions", value) + + @property + @pulumi.getter + def publisher(self) -> Optional[pulumi.Input[str]]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @publisher.setter + def publisher(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "publisher", value) + + @property + @pulumi.getter + def settings(self) -> Optional[Any]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @settings.setter + def settings(self, value: Optional[Any]): + pulumi.set(self, "settings", value) + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @suppress_failures.setter + def suppress_failures(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "suppress_failures", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the type of the extension; an example is "CustomScriptExtension". + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + @type_handler_version.setter + def type_handler_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type_handler_version", value) + + +@pulumi.input_type +class VirtualMachineIdentityArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input['ResourceIdentityType']] = None, + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Identity for the virtual machine. + :param pulumi.Input['ResourceIdentityType'] type: The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + if type is not None: + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input['ResourceIdentityType']]: + """ + The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input['ResourceIdentityType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_assigned_identities", value) + + +@pulumi.input_type +class VirtualMachineIpTagArgs: + def __init__(__self__, *, + ip_tag_type: Optional[pulumi.Input[str]] = None, + tag: Optional[pulumi.Input[str]] = None): + """ + Contains the IP tag associated with the public IP address. + :param pulumi.Input[str] ip_tag_type: IP tag type. Example: FirstPartyUsage. + :param pulumi.Input[str] tag: IP tag associated with the public IP. Example: SQL, Storage etc. + """ + if ip_tag_type is not None: + pulumi.set(__self__, "ip_tag_type", ip_tag_type) + if tag is not None: + pulumi.set(__self__, "tag", tag) + + @property + @pulumi.getter(name="ipTagType") + def ip_tag_type(self) -> Optional[pulumi.Input[str]]: + """ + IP tag type. Example: FirstPartyUsage. + """ + return pulumi.get(self, "ip_tag_type") + + @ip_tag_type.setter + def ip_tag_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_tag_type", value) + + @property + @pulumi.getter + def tag(self) -> Optional[pulumi.Input[str]]: + """ + IP tag associated with the public IP. Example: SQL, Storage etc. + """ + return pulumi.get(self, "tag") + + @tag.setter + def tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tag", value) + + +@pulumi.input_type +class VirtualMachineNetworkInterfaceConfigurationArgs: + def __init__(__self__, *, + ip_configurations: pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceIPConfigurationArgs']]], + name: pulumi.Input[str], + auxiliary_mode: Optional[pulumi.Input[Union[str, 'NetworkInterfaceAuxiliaryMode']]] = None, + auxiliary_sku: Optional[pulumi.Input[Union[str, 'NetworkInterfaceAuxiliarySku']]] = None, + delete_option: Optional[pulumi.Input[Union[str, 'DeleteOptions']]] = None, + disable_tcp_state_tracking: Optional[pulumi.Input[bool]] = None, + dns_settings: Optional[pulumi.Input['VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs']] = None, + dscp_configuration: Optional[pulumi.Input['SubResourceArgs']] = None, + enable_accelerated_networking: Optional[pulumi.Input[bool]] = None, + enable_fpga: Optional[pulumi.Input[bool]] = None, + enable_ip_forwarding: Optional[pulumi.Input[bool]] = None, + network_security_group: Optional[pulumi.Input['SubResourceArgs']] = None, + primary: Optional[pulumi.Input[bool]] = None): + """ + Describes a virtual machine network interface configurations. + :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceIPConfigurationArgs']]] ip_configurations: Specifies the IP configurations of the network interface. + :param pulumi.Input[str] name: The network interface configuration name. + :param pulumi.Input[Union[str, 'NetworkInterfaceAuxiliaryMode']] auxiliary_mode: Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + :param pulumi.Input[Union[str, 'NetworkInterfaceAuxiliarySku']] auxiliary_sku: Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + :param pulumi.Input[Union[str, 'DeleteOptions']] delete_option: Specify what happens to the network interface when the VM is deleted + :param pulumi.Input[bool] disable_tcp_state_tracking: Specifies whether the network interface is disabled for tcp state tracking. + :param pulumi.Input['VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs'] dns_settings: The dns settings to be applied on the network interfaces. + :param pulumi.Input[bool] enable_accelerated_networking: Specifies whether the network interface is accelerated networking-enabled. + :param pulumi.Input[bool] enable_fpga: Specifies whether the network interface is FPGA networking-enabled. + :param pulumi.Input[bool] enable_ip_forwarding: Whether IP forwarding enabled on this NIC. + :param pulumi.Input['SubResourceArgs'] network_security_group: The network security group. + :param pulumi.Input[bool] primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + pulumi.set(__self__, "ip_configurations", ip_configurations) + pulumi.set(__self__, "name", name) + if auxiliary_mode is not None: + pulumi.set(__self__, "auxiliary_mode", auxiliary_mode) + if auxiliary_sku is not None: + pulumi.set(__self__, "auxiliary_sku", auxiliary_sku) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if disable_tcp_state_tracking is not None: + pulumi.set(__self__, "disable_tcp_state_tracking", disable_tcp_state_tracking) + if dns_settings is not None: + pulumi.set(__self__, "dns_settings", dns_settings) + if dscp_configuration is not None: + pulumi.set(__self__, "dscp_configuration", dscp_configuration) + if enable_accelerated_networking is not None: + pulumi.set(__self__, "enable_accelerated_networking", enable_accelerated_networking) + if enable_fpga is not None: + pulumi.set(__self__, "enable_fpga", enable_fpga) + if enable_ip_forwarding is not None: + pulumi.set(__self__, "enable_ip_forwarding", enable_ip_forwarding) + if network_security_group is not None: + pulumi.set(__self__, "network_security_group", network_security_group) + if primary is not None: + pulumi.set(__self__, "primary", primary) + + @property + @pulumi.getter(name="ipConfigurations") + def ip_configurations(self) -> pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceIPConfigurationArgs']]]: + """ + Specifies the IP configurations of the network interface. + """ + return pulumi.get(self, "ip_configurations") + + @ip_configurations.setter + def ip_configurations(self, value: pulumi.Input[Sequence[pulumi.Input['VirtualMachineNetworkInterfaceIPConfigurationArgs']]]): + pulumi.set(self, "ip_configurations", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The network interface configuration name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="auxiliaryMode") + def auxiliary_mode(self) -> Optional[pulumi.Input[Union[str, 'NetworkInterfaceAuxiliaryMode']]]: + """ + Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + """ + return pulumi.get(self, "auxiliary_mode") + + @auxiliary_mode.setter + def auxiliary_mode(self, value: Optional[pulumi.Input[Union[str, 'NetworkInterfaceAuxiliaryMode']]]): + pulumi.set(self, "auxiliary_mode", value) + + @property + @pulumi.getter(name="auxiliarySku") + def auxiliary_sku(self) -> Optional[pulumi.Input[Union[str, 'NetworkInterfaceAuxiliarySku']]]: + """ + Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + """ + return pulumi.get(self, "auxiliary_sku") + + @auxiliary_sku.setter + def auxiliary_sku(self, value: Optional[pulumi.Input[Union[str, 'NetworkInterfaceAuxiliarySku']]]): + pulumi.set(self, "auxiliary_sku", value) + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[pulumi.Input[Union[str, 'DeleteOptions']]]: + """ + Specify what happens to the network interface when the VM is deleted + """ + return pulumi.get(self, "delete_option") + + @delete_option.setter + def delete_option(self, value: Optional[pulumi.Input[Union[str, 'DeleteOptions']]]): + pulumi.set(self, "delete_option", value) + + @property + @pulumi.getter(name="disableTcpStateTracking") + def disable_tcp_state_tracking(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the network interface is disabled for tcp state tracking. + """ + return pulumi.get(self, "disable_tcp_state_tracking") + + @disable_tcp_state_tracking.setter + def disable_tcp_state_tracking(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_tcp_state_tracking", value) + + @property + @pulumi.getter(name="dnsSettings") + def dns_settings(self) -> Optional[pulumi.Input['VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs']]: + """ + The dns settings to be applied on the network interfaces. + """ + return pulumi.get(self, "dns_settings") + + @dns_settings.setter + def dns_settings(self, value: Optional[pulumi.Input['VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs']]): + pulumi.set(self, "dns_settings", value) + + @property + @pulumi.getter(name="dscpConfiguration") + def dscp_configuration(self) -> Optional[pulumi.Input['SubResourceArgs']]: + return pulumi.get(self, "dscp_configuration") + + @dscp_configuration.setter + def dscp_configuration(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "dscp_configuration", value) + + @property + @pulumi.getter(name="enableAcceleratedNetworking") + def enable_accelerated_networking(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the network interface is accelerated networking-enabled. + """ + return pulumi.get(self, "enable_accelerated_networking") + + @enable_accelerated_networking.setter + def enable_accelerated_networking(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_accelerated_networking", value) + + @property + @pulumi.getter(name="enableFpga") + def enable_fpga(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the network interface is FPGA networking-enabled. + """ + return pulumi.get(self, "enable_fpga") + + @enable_fpga.setter + def enable_fpga(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_fpga", value) + + @property + @pulumi.getter(name="enableIPForwarding") + def enable_ip_forwarding(self) -> Optional[pulumi.Input[bool]]: + """ + Whether IP forwarding enabled on this NIC. + """ + return pulumi.get(self, "enable_ip_forwarding") + + @enable_ip_forwarding.setter + def enable_ip_forwarding(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_ip_forwarding", value) + + @property + @pulumi.getter(name="networkSecurityGroup") + def network_security_group(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + The network security group. + """ + return pulumi.get(self, "network_security_group") + + @network_security_group.setter + def network_security_group(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "network_security_group", value) + + @property + @pulumi.getter + def primary(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + return pulumi.get(self, "primary") + + @primary.setter + def primary(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "primary", value) + + +@pulumi.input_type +class VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs: + def __init__(__self__, *, + dns_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Describes a virtual machines network configuration's DNS settings. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: List of DNS servers IP addresses + """ + if dns_servers is not None: + pulumi.set(__self__, "dns_servers", dns_servers) + + @property + @pulumi.getter(name="dnsServers") + def dns_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of DNS servers IP addresses + """ + return pulumi.get(self, "dns_servers") + + @dns_servers.setter + def dns_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "dns_servers", value) + + +@pulumi.input_type +class VirtualMachineNetworkInterfaceIPConfigurationArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + application_gateway_backend_address_pools: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]] = None, + application_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]] = None, + load_balancer_backend_address_pools: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]] = None, + primary: Optional[pulumi.Input[bool]] = None, + private_ip_address_version: Optional[pulumi.Input[Union[str, 'IPVersions']]] = None, + public_ip_address_configuration: Optional[pulumi.Input['VirtualMachinePublicIPAddressConfigurationArgs']] = None, + subnet: Optional[pulumi.Input['SubResourceArgs']] = None): + """ + Describes a virtual machine network profile's IP configuration. + :param pulumi.Input[str] name: The IP configuration name. + :param pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]] application_gateway_backend_address_pools: Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway. + :param pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]] application_security_groups: Specifies an array of references to application security group. + :param pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]] load_balancer_backend_address_pools: Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]. + :param pulumi.Input[bool] primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface. + :param pulumi.Input[Union[str, 'IPVersions']] private_ip_address_version: Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + :param pulumi.Input['VirtualMachinePublicIPAddressConfigurationArgs'] public_ip_address_configuration: The publicIPAddressConfiguration. + :param pulumi.Input['SubResourceArgs'] subnet: Specifies the identifier of the subnet. + """ + pulumi.set(__self__, "name", name) + if application_gateway_backend_address_pools is not None: + pulumi.set(__self__, "application_gateway_backend_address_pools", application_gateway_backend_address_pools) + if application_security_groups is not None: + pulumi.set(__self__, "application_security_groups", application_security_groups) + if load_balancer_backend_address_pools is not None: + pulumi.set(__self__, "load_balancer_backend_address_pools", load_balancer_backend_address_pools) + if primary is not None: + pulumi.set(__self__, "primary", primary) + if private_ip_address_version is not None: + pulumi.set(__self__, "private_ip_address_version", private_ip_address_version) + if public_ip_address_configuration is not None: + pulumi.set(__self__, "public_ip_address_configuration", public_ip_address_configuration) + if subnet is not None: + pulumi.set(__self__, "subnet", subnet) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The IP configuration name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="applicationGatewayBackendAddressPools") + def application_gateway_backend_address_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]: + """ + Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway. + """ + return pulumi.get(self, "application_gateway_backend_address_pools") + + @application_gateway_backend_address_pools.setter + def application_gateway_backend_address_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]): + pulumi.set(self, "application_gateway_backend_address_pools", value) + + @property + @pulumi.getter(name="applicationSecurityGroups") + def application_security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]: + """ + Specifies an array of references to application security group. + """ + return pulumi.get(self, "application_security_groups") + + @application_security_groups.setter + def application_security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]): + pulumi.set(self, "application_security_groups", value) + + @property + @pulumi.getter(name="loadBalancerBackendAddressPools") + def load_balancer_backend_address_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]: + """ + Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]. + """ + return pulumi.get(self, "load_balancer_backend_address_pools") + + @load_balancer_backend_address_pools.setter + def load_balancer_backend_address_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]): + pulumi.set(self, "load_balancer_backend_address_pools", value) + + @property + @pulumi.getter + def primary(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + return pulumi.get(self, "primary") + + @primary.setter + def primary(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "primary", value) + + @property + @pulumi.getter(name="privateIPAddressVersion") + def private_ip_address_version(self) -> Optional[pulumi.Input[Union[str, 'IPVersions']]]: + """ + Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + """ + return pulumi.get(self, "private_ip_address_version") + + @private_ip_address_version.setter + def private_ip_address_version(self, value: Optional[pulumi.Input[Union[str, 'IPVersions']]]): + pulumi.set(self, "private_ip_address_version", value) + + @property + @pulumi.getter(name="publicIPAddressConfiguration") + def public_ip_address_configuration(self) -> Optional[pulumi.Input['VirtualMachinePublicIPAddressConfigurationArgs']]: + """ + The publicIPAddressConfiguration. + """ + return pulumi.get(self, "public_ip_address_configuration") + + @public_ip_address_configuration.setter + def public_ip_address_configuration(self, value: Optional[pulumi.Input['VirtualMachinePublicIPAddressConfigurationArgs']]): + pulumi.set(self, "public_ip_address_configuration", value) + + @property + @pulumi.getter + def subnet(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + Specifies the identifier of the subnet. + """ + return pulumi.get(self, "subnet") + + @subnet.setter + def subnet(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "subnet", value) + + +@pulumi.input_type +class VirtualMachinePublicIPAddressConfigurationArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + delete_option: Optional[pulumi.Input[Union[str, 'DeleteOptions']]] = None, + dns_settings: Optional[pulumi.Input['VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs']] = None, + idle_timeout_in_minutes: Optional[pulumi.Input[int]] = None, + ip_tags: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineIpTagArgs']]]] = None, + public_ip_address_version: Optional[pulumi.Input[Union[str, 'IPVersions']]] = None, + public_ip_allocation_method: Optional[pulumi.Input[Union[str, 'PublicIPAllocationMethod']]] = None, + public_ip_prefix: Optional[pulumi.Input['SubResourceArgs']] = None, + sku: Optional[pulumi.Input['PublicIPAddressSkuArgs']] = None): + """ + Describes a virtual machines IP Configuration's PublicIPAddress configuration + :param pulumi.Input[str] name: The publicIP address configuration name. + :param pulumi.Input[Union[str, 'DeleteOptions']] delete_option: Specify what happens to the public IP address when the VM is deleted + :param pulumi.Input['VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs'] dns_settings: The dns settings to be applied on the publicIP addresses . + :param pulumi.Input[int] idle_timeout_in_minutes: The idle timeout of the public IP address. + :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineIpTagArgs']]] ip_tags: The list of IP tags associated with the public IP address. + :param pulumi.Input[Union[str, 'IPVersions']] public_ip_address_version: Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + :param pulumi.Input[Union[str, 'PublicIPAllocationMethod']] public_ip_allocation_method: Specify the public IP allocation type + :param pulumi.Input['SubResourceArgs'] public_ip_prefix: The PublicIPPrefix from which to allocate publicIP addresses. + :param pulumi.Input['PublicIPAddressSkuArgs'] sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + """ + pulumi.set(__self__, "name", name) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if dns_settings is not None: + pulumi.set(__self__, "dns_settings", dns_settings) + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + if ip_tags is not None: + pulumi.set(__self__, "ip_tags", ip_tags) + if public_ip_address_version is not None: + pulumi.set(__self__, "public_ip_address_version", public_ip_address_version) + if public_ip_allocation_method is not None: + pulumi.set(__self__, "public_ip_allocation_method", public_ip_allocation_method) + if public_ip_prefix is not None: + pulumi.set(__self__, "public_ip_prefix", public_ip_prefix) + if sku is not None: + pulumi.set(__self__, "sku", sku) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The publicIP address configuration name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[pulumi.Input[Union[str, 'DeleteOptions']]]: + """ + Specify what happens to the public IP address when the VM is deleted + """ + return pulumi.get(self, "delete_option") + + @delete_option.setter + def delete_option(self, value: Optional[pulumi.Input[Union[str, 'DeleteOptions']]]): + pulumi.set(self, "delete_option", value) + + @property + @pulumi.getter(name="dnsSettings") + def dns_settings(self) -> Optional[pulumi.Input['VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs']]: + """ + The dns settings to be applied on the publicIP addresses . + """ + return pulumi.get(self, "dns_settings") + + @dns_settings.setter + def dns_settings(self, value: Optional[pulumi.Input['VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs']]): + pulumi.set(self, "dns_settings", value) + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + """ + The idle timeout of the public IP address. + """ + return pulumi.get(self, "idle_timeout_in_minutes") + + @idle_timeout_in_minutes.setter + def idle_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "idle_timeout_in_minutes", value) + + @property + @pulumi.getter(name="ipTags") + def ip_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineIpTagArgs']]]]: + """ + The list of IP tags associated with the public IP address. + """ + return pulumi.get(self, "ip_tags") + + @ip_tags.setter + def ip_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineIpTagArgs']]]]): + pulumi.set(self, "ip_tags", value) + + @property + @pulumi.getter(name="publicIPAddressVersion") + def public_ip_address_version(self) -> Optional[pulumi.Input[Union[str, 'IPVersions']]]: + """ + Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + """ + return pulumi.get(self, "public_ip_address_version") + + @public_ip_address_version.setter + def public_ip_address_version(self, value: Optional[pulumi.Input[Union[str, 'IPVersions']]]): + pulumi.set(self, "public_ip_address_version", value) + + @property + @pulumi.getter(name="publicIPAllocationMethod") + def public_ip_allocation_method(self) -> Optional[pulumi.Input[Union[str, 'PublicIPAllocationMethod']]]: + """ + Specify the public IP allocation type + """ + return pulumi.get(self, "public_ip_allocation_method") + + @public_ip_allocation_method.setter + def public_ip_allocation_method(self, value: Optional[pulumi.Input[Union[str, 'PublicIPAllocationMethod']]]): + pulumi.set(self, "public_ip_allocation_method", value) + + @property + @pulumi.getter(name="publicIPPrefix") + def public_ip_prefix(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + The PublicIPPrefix from which to allocate publicIP addresses. + """ + return pulumi.get(self, "public_ip_prefix") + + @public_ip_prefix.setter + def public_ip_prefix(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "public_ip_prefix", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input['PublicIPAddressSkuArgs']]: + """ + Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input['PublicIPAddressSkuArgs']]): + pulumi.set(self, "sku", value) + + +@pulumi.input_type +class VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs: + def __init__(__self__, *, + domain_name_label: pulumi.Input[str], + domain_name_label_scope: Optional[pulumi.Input[Union[str, 'DomainNameLabelScopeTypes']]] = None): + """ + Describes a virtual machines network configuration's DNS settings. + :param pulumi.Input[str] domain_name_label: The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID. + :param pulumi.Input[Union[str, 'DomainNameLabelScopeTypes']] domain_name_label_scope: The Domain name label scope of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the hashed domain name label with policy according to the domain name label scope and vm network profile unique ID. + """ + pulumi.set(__self__, "domain_name_label", domain_name_label) + if domain_name_label_scope is not None: + pulumi.set(__self__, "domain_name_label_scope", domain_name_label_scope) + + @property + @pulumi.getter(name="domainNameLabel") + def domain_name_label(self) -> pulumi.Input[str]: + """ + The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID. + """ + return pulumi.get(self, "domain_name_label") + + @domain_name_label.setter + def domain_name_label(self, value: pulumi.Input[str]): + pulumi.set(self, "domain_name_label", value) + + @property + @pulumi.getter(name="domainNameLabelScope") + def domain_name_label_scope(self) -> Optional[pulumi.Input[Union[str, 'DomainNameLabelScopeTypes']]]: + """ + The Domain name label scope of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the hashed domain name label with policy according to the domain name label scope and vm network profile unique ID. + """ + return pulumi.get(self, "domain_name_label_scope") + + @domain_name_label_scope.setter + def domain_name_label_scope(self, value: Optional[pulumi.Input[Union[str, 'DomainNameLabelScopeTypes']]]): + pulumi.set(self, "domain_name_label_scope", value) + + +@pulumi.input_type +class VirtualMachineRunCommandScriptSourceArgs: + def __init__(__self__, *, + command_id: Optional[pulumi.Input[str]] = None, + script: Optional[pulumi.Input[str]] = None, + script_uri: Optional[pulumi.Input[str]] = None, + script_uri_managed_identity: Optional[pulumi.Input['RunCommandManagedIdentityArgs']] = None): + """ + Describes the script sources for run command. Use only one of script, scriptUri, commandId. + :param pulumi.Input[str] command_id: Specifies a commandId of predefined built-in script. + :param pulumi.Input[str] script: Specifies the script content to be executed on the VM. + :param pulumi.Input[str] script_uri: Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. + :param pulumi.Input['RunCommandManagedIdentityArgs'] script_uri_managed_identity: User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + """ + if command_id is not None: + pulumi.set(__self__, "command_id", command_id) + if script is not None: + pulumi.set(__self__, "script", script) + if script_uri is not None: + pulumi.set(__self__, "script_uri", script_uri) + if script_uri_managed_identity is not None: + pulumi.set(__self__, "script_uri_managed_identity", script_uri_managed_identity) + + @property + @pulumi.getter(name="commandId") + def command_id(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a commandId of predefined built-in script. + """ + return pulumi.get(self, "command_id") + + @command_id.setter + def command_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "command_id", value) + + @property + @pulumi.getter + def script(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the script content to be executed on the VM. + """ + return pulumi.get(self, "script") + + @script.setter + def script(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "script", value) + + @property + @pulumi.getter(name="scriptUri") + def script_uri(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. + """ + return pulumi.get(self, "script_uri") + + @script_uri.setter + def script_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "script_uri", value) + + @property + @pulumi.getter(name="scriptUriManagedIdentity") + def script_uri_managed_identity(self) -> Optional[pulumi.Input['RunCommandManagedIdentityArgs']]: + """ + User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + """ + return pulumi.get(self, "script_uri_managed_identity") + + @script_uri_managed_identity.setter + def script_uri_managed_identity(self, value: Optional[pulumi.Input['RunCommandManagedIdentityArgs']]): + pulumi.set(self, "script_uri_managed_identity", value) + + +@pulumi.input_type +class VirtualMachineScaleSetDataDiskArgs: + def __init__(__self__, *, + create_option: pulumi.Input[Union[str, 'DiskCreateOptionTypes']], + lun: pulumi.Input[int], + caching: Optional[pulumi.Input['CachingTypes']] = None, + delete_option: Optional[pulumi.Input[Union[str, 'DiskDeleteOptionTypes']]] = None, + disk_iops_read_write: Optional[pulumi.Input[float]] = None, + disk_m_bps_read_write: Optional[pulumi.Input[float]] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + managed_disk: Optional[pulumi.Input['VirtualMachineScaleSetManagedDiskParametersArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + write_accelerator_enabled: Optional[pulumi.Input[bool]] = None): + """ + Describes a virtual machine scale set data disk. + :param pulumi.Input[Union[str, 'DiskCreateOptionTypes']] create_option: The create option. + :param pulumi.Input[int] lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + :param pulumi.Input['CachingTypes'] caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + :param pulumi.Input[Union[str, 'DiskDeleteOptionTypes']] delete_option: Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Possible values:

**Delete** If this value is used, the data disk is deleted when the VMSS Flex VM is deleted.

**Detach** If this value is used, the data disk is retained after VMSS Flex VM is deleted.

The default value is set to **Delete**. + :param pulumi.Input[float] disk_iops_read_write: Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + :param pulumi.Input[float] disk_m_bps_read_write: Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + :param pulumi.Input[int] disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + :param pulumi.Input['VirtualMachineScaleSetManagedDiskParametersArgs'] managed_disk: The managed disk parameters. + :param pulumi.Input[str] name: The disk name. + :param pulumi.Input[bool] write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + pulumi.set(__self__, "create_option", create_option) + pulumi.set(__self__, "lun", lun) + if caching is not None: + pulumi.set(__self__, "caching", caching) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if disk_iops_read_write is not None: + pulumi.set(__self__, "disk_iops_read_write", disk_iops_read_write) + if disk_m_bps_read_write is not None: + pulumi.set(__self__, "disk_m_bps_read_write", disk_m_bps_read_write) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + if name is not None: + pulumi.set(__self__, "name", name) + if write_accelerator_enabled is not None: + pulumi.set(__self__, "write_accelerator_enabled", write_accelerator_enabled) + + @property + @pulumi.getter(name="createOption") + def create_option(self) -> pulumi.Input[Union[str, 'DiskCreateOptionTypes']]: + """ + The create option. + """ + return pulumi.get(self, "create_option") + + @create_option.setter + def create_option(self, value: pulumi.Input[Union[str, 'DiskCreateOptionTypes']]): + pulumi.set(self, "create_option", value) + + @property + @pulumi.getter + def lun(self) -> pulumi.Input[int]: + """ + Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + """ + return pulumi.get(self, "lun") + + @lun.setter + def lun(self, value: pulumi.Input[int]): + pulumi.set(self, "lun", value) + + @property + @pulumi.getter + def caching(self) -> Optional[pulumi.Input['CachingTypes']]: + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + """ + return pulumi.get(self, "caching") + + @caching.setter + def caching(self, value: Optional[pulumi.Input['CachingTypes']]): + pulumi.set(self, "caching", value) + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[pulumi.Input[Union[str, 'DiskDeleteOptionTypes']]]: + """ + Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Possible values:

**Delete** If this value is used, the data disk is deleted when the VMSS Flex VM is deleted.

**Detach** If this value is used, the data disk is retained after VMSS Flex VM is deleted.

The default value is set to **Delete**. + """ + return pulumi.get(self, "delete_option") + + @delete_option.setter + def delete_option(self, value: Optional[pulumi.Input[Union[str, 'DiskDeleteOptionTypes']]]): + pulumi.set(self, "delete_option", value) + + @property + @pulumi.getter(name="diskIOPSReadWrite") + def disk_iops_read_write(self) -> Optional[pulumi.Input[float]]: + """ + Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + """ + return pulumi.get(self, "disk_iops_read_write") + + @disk_iops_read_write.setter + def disk_iops_read_write(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "disk_iops_read_write", value) + + @property + @pulumi.getter(name="diskMBpsReadWrite") + def disk_m_bps_read_write(self) -> Optional[pulumi.Input[float]]: + """ + Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + """ + return pulumi.get(self, "disk_m_bps_read_write") + + @disk_m_bps_read_write.setter + def disk_m_bps_read_write(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "disk_m_bps_read_write", value) + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + """ + return pulumi.get(self, "disk_size_gb") + + @disk_size_gb.setter + def disk_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size_gb", value) + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional[pulumi.Input['VirtualMachineScaleSetManagedDiskParametersArgs']]: + """ + The managed disk parameters. + """ + return pulumi.get(self, "managed_disk") + + @managed_disk.setter + def managed_disk(self, value: Optional[pulumi.Input['VirtualMachineScaleSetManagedDiskParametersArgs']]): + pulumi.set(self, "managed_disk", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The disk name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="writeAcceleratorEnabled") + def write_accelerator_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + return pulumi.get(self, "write_accelerator_enabled") + + @write_accelerator_enabled.setter + def write_accelerator_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "write_accelerator_enabled", value) + + +@pulumi.input_type +class VirtualMachineScaleSetExtensionProfileArgs: + def __init__(__self__, *, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetExtensionArgs']]]] = None, + extensions_time_budget: Optional[pulumi.Input[str]] = None): + """ + Describes a virtual machine scale set extension profile. + :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetExtensionArgs']]] extensions: The virtual machine scale set child extension resources. + :param pulumi.Input[str] extensions_time_budget: Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + """ + if extensions is not None: + pulumi.set(__self__, "extensions", extensions) + if extensions_time_budget is not None: + pulumi.set(__self__, "extensions_time_budget", extensions_time_budget) + + @property + @pulumi.getter + def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetExtensionArgs']]]]: + """ + The virtual machine scale set child extension resources. + """ + return pulumi.get(self, "extensions") + + @extensions.setter + def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetExtensionArgs']]]]): + pulumi.set(self, "extensions", value) + + @property + @pulumi.getter(name="extensionsTimeBudget") + def extensions_time_budget(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "extensions_time_budget") + + @extensions_time_budget.setter + def extensions_time_budget(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "extensions_time_budget", value) + + +@pulumi.input_type +class VirtualMachineScaleSetExtensionArgs: + def __init__(__self__, *, + auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, + enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, + force_update_tag: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional[pulumi.Input['KeyVaultSecretReferenceArgs']] = None, + provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + publisher: Optional[pulumi.Input[str]] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[pulumi.Input[bool]] = None, + type: Optional[pulumi.Input[str]] = None, + type_handler_version: Optional[pulumi.Input[str]] = None): + """ + Describes a Virtual Machine Scale Set Extension. + :param pulumi.Input[bool] auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + :param pulumi.Input[bool] enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + :param pulumi.Input[str] force_update_tag: If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + :param pulumi.Input[str] name: The name of the extension. + :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + :param pulumi.Input['KeyVaultSecretReferenceArgs'] protected_settings_from_key_vault: The extensions protected settings that are passed by reference, and consumed from key vault + :param pulumi.Input[Sequence[pulumi.Input[str]]] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned. + :param pulumi.Input[str] publisher: The name of the extension handler publisher. + :param Any settings: Json formatted public settings for the extension. + :param pulumi.Input[bool] suppress_failures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension". + :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler. + """ + if auto_upgrade_minor_version is not None: + pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) + if enable_automatic_upgrade is not None: + pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) + if force_update_tag is not None: + pulumi.set(__self__, "force_update_tag", force_update_tag) + if name is not None: + pulumi.set(__self__, "name", name) + if protected_settings is not None: + pulumi.set(__self__, "protected_settings", protected_settings) + if protected_settings_from_key_vault is not None: + pulumi.set(__self__, "protected_settings_from_key_vault", protected_settings_from_key_vault) + if provision_after_extensions is not None: + pulumi.set(__self__, "provision_after_extensions", provision_after_extensions) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + if settings is not None: + pulumi.set(__self__, "settings", settings) + if suppress_failures is not None: + pulumi.set(__self__, "suppress_failures", suppress_failures) + if type is not None: + pulumi.set(__self__, "type", type) + if type_handler_version is not None: + pulumi.set(__self__, "type_handler_version", type_handler_version) + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @auto_upgrade_minor_version.setter + def auto_upgrade_minor_version(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_upgrade_minor_version", value) + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @enable_automatic_upgrade.setter + def enable_automatic_upgrade(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_automatic_upgrade", value) + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> Optional[pulumi.Input[str]]: + """ + If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @force_update_tag.setter + def force_update_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "force_update_tag", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the extension. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> Optional[Any]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @protected_settings.setter + def protected_settings(self, value: Optional[Any]): + pulumi.set(self, "protected_settings", value) + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> Optional[pulumi.Input['KeyVaultSecretReferenceArgs']]: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @protected_settings_from_key_vault.setter + def protected_settings_from_key_vault(self, value: Optional[pulumi.Input['KeyVaultSecretReferenceArgs']]): + pulumi.set(self, "protected_settings_from_key_vault", value) + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @provision_after_extensions.setter + def provision_after_extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "provision_after_extensions", value) + + @property + @pulumi.getter + def publisher(self) -> Optional[pulumi.Input[str]]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @publisher.setter + def publisher(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "publisher", value) + + @property + @pulumi.getter + def settings(self) -> Optional[Any]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @settings.setter + def settings(self, value: Optional[Any]): + pulumi.set(self, "settings", value) + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @suppress_failures.setter + def suppress_failures(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "suppress_failures", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the type of the extension; an example is "CustomScriptExtension". + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + @type_handler_version.setter + def type_handler_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type_handler_version", value) + + +@pulumi.input_type +class VirtualMachineScaleSetHardwareProfileArgs: + def __init__(__self__, *, + vm_size_properties: Optional[pulumi.Input['VMSizePropertiesArgs']] = None): + """ + Specifies the hardware settings for the virtual machine scale set. + :param pulumi.Input['VMSizePropertiesArgs'] vm_size_properties: Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-11-01. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + """ + if vm_size_properties is not None: + pulumi.set(__self__, "vm_size_properties", vm_size_properties) + + @property + @pulumi.getter(name="vmSizeProperties") + def vm_size_properties(self) -> Optional[pulumi.Input['VMSizePropertiesArgs']]: + """ + Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-11-01. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + """ + return pulumi.get(self, "vm_size_properties") + + @vm_size_properties.setter + def vm_size_properties(self, value: Optional[pulumi.Input['VMSizePropertiesArgs']]): + pulumi.set(self, "vm_size_properties", value) + + +@pulumi.input_type +class VirtualMachineScaleSetIPConfigurationArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + application_gateway_backend_address_pools: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]] = None, + application_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]] = None, + load_balancer_backend_address_pools: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]] = None, + load_balancer_inbound_nat_pools: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]] = None, + primary: Optional[pulumi.Input[bool]] = None, + private_ip_address_version: Optional[pulumi.Input[Union[str, 'IPVersion']]] = None, + public_ip_address_configuration: Optional[pulumi.Input['VirtualMachineScaleSetPublicIPAddressConfigurationArgs']] = None, + subnet: Optional[pulumi.Input['ApiEntityReferenceArgs']] = None): + """ + Describes a virtual machine scale set network profile's IP configuration. + :param pulumi.Input[str] name: The IP configuration name. + :param pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]] application_gateway_backend_address_pools: Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway. + :param pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]] application_security_groups: Specifies an array of references to application security group. + :param pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]] load_balancer_backend_address_pools: Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + :param pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]] load_balancer_inbound_nat_pools: Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + :param pulumi.Input[bool] primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface. + :param pulumi.Input[Union[str, 'IPVersion']] private_ip_address_version: Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + :param pulumi.Input['VirtualMachineScaleSetPublicIPAddressConfigurationArgs'] public_ip_address_configuration: The publicIPAddressConfiguration. + :param pulumi.Input['ApiEntityReferenceArgs'] subnet: Specifies the identifier of the subnet. + """ + pulumi.set(__self__, "name", name) + if application_gateway_backend_address_pools is not None: + pulumi.set(__self__, "application_gateway_backend_address_pools", application_gateway_backend_address_pools) + if application_security_groups is not None: + pulumi.set(__self__, "application_security_groups", application_security_groups) + if load_balancer_backend_address_pools is not None: + pulumi.set(__self__, "load_balancer_backend_address_pools", load_balancer_backend_address_pools) + if load_balancer_inbound_nat_pools is not None: + pulumi.set(__self__, "load_balancer_inbound_nat_pools", load_balancer_inbound_nat_pools) + if primary is not None: + pulumi.set(__self__, "primary", primary) + if private_ip_address_version is not None: + pulumi.set(__self__, "private_ip_address_version", private_ip_address_version) + if public_ip_address_configuration is not None: + pulumi.set(__self__, "public_ip_address_configuration", public_ip_address_configuration) + if subnet is not None: + pulumi.set(__self__, "subnet", subnet) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The IP configuration name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="applicationGatewayBackendAddressPools") + def application_gateway_backend_address_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]: + """ + Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway. + """ + return pulumi.get(self, "application_gateway_backend_address_pools") + + @application_gateway_backend_address_pools.setter + def application_gateway_backend_address_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]): + pulumi.set(self, "application_gateway_backend_address_pools", value) + + @property + @pulumi.getter(name="applicationSecurityGroups") + def application_security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]: + """ + Specifies an array of references to application security group. + """ + return pulumi.get(self, "application_security_groups") + + @application_security_groups.setter + def application_security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]): + pulumi.set(self, "application_security_groups", value) + + @property + @pulumi.getter(name="loadBalancerBackendAddressPools") + def load_balancer_backend_address_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]: + """ + Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + """ + return pulumi.get(self, "load_balancer_backend_address_pools") + + @load_balancer_backend_address_pools.setter + def load_balancer_backend_address_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]): + pulumi.set(self, "load_balancer_backend_address_pools", value) + + @property + @pulumi.getter(name="loadBalancerInboundNatPools") + def load_balancer_inbound_nat_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]: + """ + Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + """ + return pulumi.get(self, "load_balancer_inbound_nat_pools") + + @load_balancer_inbound_nat_pools.setter + def load_balancer_inbound_nat_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]): + pulumi.set(self, "load_balancer_inbound_nat_pools", value) + + @property + @pulumi.getter + def primary(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + return pulumi.get(self, "primary") + + @primary.setter + def primary(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "primary", value) + + @property + @pulumi.getter(name="privateIPAddressVersion") + def private_ip_address_version(self) -> Optional[pulumi.Input[Union[str, 'IPVersion']]]: + """ + Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + """ + return pulumi.get(self, "private_ip_address_version") + + @private_ip_address_version.setter + def private_ip_address_version(self, value: Optional[pulumi.Input[Union[str, 'IPVersion']]]): + pulumi.set(self, "private_ip_address_version", value) + + @property + @pulumi.getter(name="publicIPAddressConfiguration") + def public_ip_address_configuration(self) -> Optional[pulumi.Input['VirtualMachineScaleSetPublicIPAddressConfigurationArgs']]: + """ + The publicIPAddressConfiguration. + """ + return pulumi.get(self, "public_ip_address_configuration") + + @public_ip_address_configuration.setter + def public_ip_address_configuration(self, value: Optional[pulumi.Input['VirtualMachineScaleSetPublicIPAddressConfigurationArgs']]): + pulumi.set(self, "public_ip_address_configuration", value) + + @property + @pulumi.getter + def subnet(self) -> Optional[pulumi.Input['ApiEntityReferenceArgs']]: + """ + Specifies the identifier of the subnet. + """ + return pulumi.get(self, "subnet") + + @subnet.setter + def subnet(self, value: Optional[pulumi.Input['ApiEntityReferenceArgs']]): + pulumi.set(self, "subnet", value) + + +@pulumi.input_type +class VirtualMachineScaleSetIdentityArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input['ResourceIdentityType']] = None, + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Identity for the virtual machine scale set. + :param pulumi.Input['ResourceIdentityType'] type: The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set. + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + if type is not None: + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input['ResourceIdentityType']]: + """ + The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input['ResourceIdentityType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_assigned_identities", value) + + +@pulumi.input_type +class VirtualMachineScaleSetIpTagArgs: + def __init__(__self__, *, + ip_tag_type: Optional[pulumi.Input[str]] = None, + tag: Optional[pulumi.Input[str]] = None): + """ + Contains the IP tag associated with the public IP address. + :param pulumi.Input[str] ip_tag_type: IP tag type. Example: FirstPartyUsage. + :param pulumi.Input[str] tag: IP tag associated with the public IP. Example: SQL, Storage etc. + """ + if ip_tag_type is not None: + pulumi.set(__self__, "ip_tag_type", ip_tag_type) + if tag is not None: + pulumi.set(__self__, "tag", tag) + + @property + @pulumi.getter(name="ipTagType") + def ip_tag_type(self) -> Optional[pulumi.Input[str]]: + """ + IP tag type. Example: FirstPartyUsage. + """ + return pulumi.get(self, "ip_tag_type") + + @ip_tag_type.setter + def ip_tag_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_tag_type", value) + + @property + @pulumi.getter + def tag(self) -> Optional[pulumi.Input[str]]: + """ + IP tag associated with the public IP. Example: SQL, Storage etc. + """ + return pulumi.get(self, "tag") + + @tag.setter + def tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tag", value) + + +@pulumi.input_type +class VirtualMachineScaleSetManagedDiskParametersArgs: + def __init__(__self__, *, + disk_encryption_set: Optional[pulumi.Input['DiskEncryptionSetParametersArgs']] = None, + security_profile: Optional[pulumi.Input['VMDiskSecurityProfileArgs']] = None, + storage_account_type: Optional[pulumi.Input[Union[str, 'StorageAccountTypes']]] = None): + """ + Describes the parameters of a ScaleSet managed disk. + :param pulumi.Input['DiskEncryptionSetParametersArgs'] disk_encryption_set: Specifies the customer managed disk encryption set resource id for the managed disk. + :param pulumi.Input['VMDiskSecurityProfileArgs'] security_profile: Specifies the security profile for the managed disk. + :param pulumi.Input[Union[str, 'StorageAccountTypes']] storage_account_type: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + if disk_encryption_set is not None: + pulumi.set(__self__, "disk_encryption_set", disk_encryption_set) + if security_profile is not None: + pulumi.set(__self__, "security_profile", security_profile) + if storage_account_type is not None: + pulumi.set(__self__, "storage_account_type", storage_account_type) + + @property + @pulumi.getter(name="diskEncryptionSet") + def disk_encryption_set(self) -> Optional[pulumi.Input['DiskEncryptionSetParametersArgs']]: + """ + Specifies the customer managed disk encryption set resource id for the managed disk. + """ + return pulumi.get(self, "disk_encryption_set") + + @disk_encryption_set.setter + def disk_encryption_set(self, value: Optional[pulumi.Input['DiskEncryptionSetParametersArgs']]): + pulumi.set(self, "disk_encryption_set", value) + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional[pulumi.Input['VMDiskSecurityProfileArgs']]: + """ + Specifies the security profile for the managed disk. + """ + return pulumi.get(self, "security_profile") + + @security_profile.setter + def security_profile(self, value: Optional[pulumi.Input['VMDiskSecurityProfileArgs']]): + pulumi.set(self, "security_profile", value) + + @property + @pulumi.getter(name="storageAccountType") + def storage_account_type(self) -> Optional[pulumi.Input[Union[str, 'StorageAccountTypes']]]: + """ + Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + return pulumi.get(self, "storage_account_type") + + @storage_account_type.setter + def storage_account_type(self, value: Optional[pulumi.Input[Union[str, 'StorageAccountTypes']]]): + pulumi.set(self, "storage_account_type", value) + + +@pulumi.input_type +class VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs: + def __init__(__self__, *, + dns_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Describes a virtual machines scale sets network configuration's DNS settings. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: List of DNS servers IP addresses + """ + if dns_servers is not None: + pulumi.set(__self__, "dns_servers", dns_servers) + + @property + @pulumi.getter(name="dnsServers") + def dns_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of DNS servers IP addresses + """ + return pulumi.get(self, "dns_servers") + + @dns_servers.setter + def dns_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "dns_servers", value) + + +@pulumi.input_type +class VirtualMachineScaleSetNetworkConfigurationArgs: + def __init__(__self__, *, + ip_configurations: pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetIPConfigurationArgs']]], + name: pulumi.Input[str], + auxiliary_mode: Optional[pulumi.Input[Union[str, 'NetworkInterfaceAuxiliaryMode']]] = None, + auxiliary_sku: Optional[pulumi.Input[Union[str, 'NetworkInterfaceAuxiliarySku']]] = None, + delete_option: Optional[pulumi.Input[Union[str, 'DeleteOptions']]] = None, + disable_tcp_state_tracking: Optional[pulumi.Input[bool]] = None, + dns_settings: Optional[pulumi.Input['VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs']] = None, + enable_accelerated_networking: Optional[pulumi.Input[bool]] = None, + enable_fpga: Optional[pulumi.Input[bool]] = None, + enable_ip_forwarding: Optional[pulumi.Input[bool]] = None, + network_security_group: Optional[pulumi.Input['SubResourceArgs']] = None, + primary: Optional[pulumi.Input[bool]] = None): + """ + Describes a virtual machine scale set network profile's network configurations. + :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetIPConfigurationArgs']]] ip_configurations: Specifies the IP configurations of the network interface. + :param pulumi.Input[str] name: The network configuration name. + :param pulumi.Input[Union[str, 'NetworkInterfaceAuxiliaryMode']] auxiliary_mode: Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + :param pulumi.Input[Union[str, 'NetworkInterfaceAuxiliarySku']] auxiliary_sku: Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + :param pulumi.Input[Union[str, 'DeleteOptions']] delete_option: Specify what happens to the network interface when the VM is deleted + :param pulumi.Input[bool] disable_tcp_state_tracking: Specifies whether the network interface is disabled for tcp state tracking. + :param pulumi.Input['VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs'] dns_settings: The dns settings to be applied on the network interfaces. + :param pulumi.Input[bool] enable_accelerated_networking: Specifies whether the network interface is accelerated networking-enabled. + :param pulumi.Input[bool] enable_fpga: Specifies whether the network interface is FPGA networking-enabled. + :param pulumi.Input[bool] enable_ip_forwarding: Whether IP forwarding enabled on this NIC. + :param pulumi.Input['SubResourceArgs'] network_security_group: The network security group. + :param pulumi.Input[bool] primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + pulumi.set(__self__, "ip_configurations", ip_configurations) + pulumi.set(__self__, "name", name) + if auxiliary_mode is not None: + pulumi.set(__self__, "auxiliary_mode", auxiliary_mode) + if auxiliary_sku is not None: + pulumi.set(__self__, "auxiliary_sku", auxiliary_sku) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if disable_tcp_state_tracking is not None: + pulumi.set(__self__, "disable_tcp_state_tracking", disable_tcp_state_tracking) + if dns_settings is not None: + pulumi.set(__self__, "dns_settings", dns_settings) + if enable_accelerated_networking is not None: + pulumi.set(__self__, "enable_accelerated_networking", enable_accelerated_networking) + if enable_fpga is not None: + pulumi.set(__self__, "enable_fpga", enable_fpga) + if enable_ip_forwarding is not None: + pulumi.set(__self__, "enable_ip_forwarding", enable_ip_forwarding) + if network_security_group is not None: + pulumi.set(__self__, "network_security_group", network_security_group) + if primary is not None: + pulumi.set(__self__, "primary", primary) + + @property + @pulumi.getter(name="ipConfigurations") + def ip_configurations(self) -> pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetIPConfigurationArgs']]]: + """ + Specifies the IP configurations of the network interface. + """ + return pulumi.get(self, "ip_configurations") + + @ip_configurations.setter + def ip_configurations(self, value: pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetIPConfigurationArgs']]]): + pulumi.set(self, "ip_configurations", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The network configuration name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="auxiliaryMode") + def auxiliary_mode(self) -> Optional[pulumi.Input[Union[str, 'NetworkInterfaceAuxiliaryMode']]]: + """ + Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + """ + return pulumi.get(self, "auxiliary_mode") + + @auxiliary_mode.setter + def auxiliary_mode(self, value: Optional[pulumi.Input[Union[str, 'NetworkInterfaceAuxiliaryMode']]]): + pulumi.set(self, "auxiliary_mode", value) + + @property + @pulumi.getter(name="auxiliarySku") + def auxiliary_sku(self) -> Optional[pulumi.Input[Union[str, 'NetworkInterfaceAuxiliarySku']]]: + """ + Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + """ + return pulumi.get(self, "auxiliary_sku") + + @auxiliary_sku.setter + def auxiliary_sku(self, value: Optional[pulumi.Input[Union[str, 'NetworkInterfaceAuxiliarySku']]]): + pulumi.set(self, "auxiliary_sku", value) + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[pulumi.Input[Union[str, 'DeleteOptions']]]: + """ + Specify what happens to the network interface when the VM is deleted + """ + return pulumi.get(self, "delete_option") + + @delete_option.setter + def delete_option(self, value: Optional[pulumi.Input[Union[str, 'DeleteOptions']]]): + pulumi.set(self, "delete_option", value) + + @property + @pulumi.getter(name="disableTcpStateTracking") + def disable_tcp_state_tracking(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the network interface is disabled for tcp state tracking. + """ + return pulumi.get(self, "disable_tcp_state_tracking") + + @disable_tcp_state_tracking.setter + def disable_tcp_state_tracking(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_tcp_state_tracking", value) + + @property + @pulumi.getter(name="dnsSettings") + def dns_settings(self) -> Optional[pulumi.Input['VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs']]: + """ + The dns settings to be applied on the network interfaces. + """ + return pulumi.get(self, "dns_settings") + + @dns_settings.setter + def dns_settings(self, value: Optional[pulumi.Input['VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs']]): + pulumi.set(self, "dns_settings", value) + + @property + @pulumi.getter(name="enableAcceleratedNetworking") + def enable_accelerated_networking(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the network interface is accelerated networking-enabled. + """ + return pulumi.get(self, "enable_accelerated_networking") + + @enable_accelerated_networking.setter + def enable_accelerated_networking(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_accelerated_networking", value) + + @property + @pulumi.getter(name="enableFpga") + def enable_fpga(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the network interface is FPGA networking-enabled. + """ + return pulumi.get(self, "enable_fpga") + + @enable_fpga.setter + def enable_fpga(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_fpga", value) + + @property + @pulumi.getter(name="enableIPForwarding") + def enable_ip_forwarding(self) -> Optional[pulumi.Input[bool]]: + """ + Whether IP forwarding enabled on this NIC. + """ + return pulumi.get(self, "enable_ip_forwarding") + + @enable_ip_forwarding.setter + def enable_ip_forwarding(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_ip_forwarding", value) + + @property + @pulumi.getter(name="networkSecurityGroup") + def network_security_group(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + The network security group. + """ + return pulumi.get(self, "network_security_group") + + @network_security_group.setter + def network_security_group(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "network_security_group", value) + + @property + @pulumi.getter + def primary(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + return pulumi.get(self, "primary") + + @primary.setter + def primary(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "primary", value) + + +@pulumi.input_type +class VirtualMachineScaleSetNetworkProfileArgs: + def __init__(__self__, *, + health_probe: Optional[pulumi.Input['ApiEntityReferenceArgs']] = None, + network_api_version: Optional[pulumi.Input[Union[str, 'NetworkApiVersion']]] = None, + network_interface_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetNetworkConfigurationArgs']]]] = None): + """ + Describes a virtual machine scale set network profile. + :param pulumi.Input['ApiEntityReferenceArgs'] health_probe: A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + :param pulumi.Input[Union[str, 'NetworkApiVersion']] network_api_version: specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible' + :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetNetworkConfigurationArgs']]] network_interface_configurations: The list of network configurations. + """ + if health_probe is not None: + pulumi.set(__self__, "health_probe", health_probe) + if network_api_version is not None: + pulumi.set(__self__, "network_api_version", network_api_version) + if network_interface_configurations is not None: + pulumi.set(__self__, "network_interface_configurations", network_interface_configurations) + + @property + @pulumi.getter(name="healthProbe") + def health_probe(self) -> Optional[pulumi.Input['ApiEntityReferenceArgs']]: + """ + A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + """ + return pulumi.get(self, "health_probe") + + @health_probe.setter + def health_probe(self, value: Optional[pulumi.Input['ApiEntityReferenceArgs']]): + pulumi.set(self, "health_probe", value) + + @property + @pulumi.getter(name="networkApiVersion") + def network_api_version(self) -> Optional[pulumi.Input[Union[str, 'NetworkApiVersion']]]: + """ + specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible' + """ + return pulumi.get(self, "network_api_version") + + @network_api_version.setter + def network_api_version(self, value: Optional[pulumi.Input[Union[str, 'NetworkApiVersion']]]): + pulumi.set(self, "network_api_version", value) + + @property + @pulumi.getter(name="networkInterfaceConfigurations") + def network_interface_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetNetworkConfigurationArgs']]]]: + """ + The list of network configurations. + """ + return pulumi.get(self, "network_interface_configurations") + + @network_interface_configurations.setter + def network_interface_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetNetworkConfigurationArgs']]]]): + pulumi.set(self, "network_interface_configurations", value) + + +@pulumi.input_type +class VirtualMachineScaleSetOSDiskArgs: + def __init__(__self__, *, + create_option: pulumi.Input[Union[str, 'DiskCreateOptionTypes']], + caching: Optional[pulumi.Input['CachingTypes']] = None, + delete_option: Optional[pulumi.Input[Union[str, 'DiskDeleteOptionTypes']]] = None, + diff_disk_settings: Optional[pulumi.Input['DiffDiskSettingsArgs']] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + image: Optional[pulumi.Input['VirtualHardDiskArgs']] = None, + managed_disk: Optional[pulumi.Input['VirtualMachineScaleSetManagedDiskParametersArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + os_type: Optional[pulumi.Input['OperatingSystemTypes']] = None, + vhd_containers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + write_accelerator_enabled: Optional[pulumi.Input[bool]] = None): + """ + Describes a virtual machine scale set operating system disk. + :param pulumi.Input[Union[str, 'DiskCreateOptionTypes']] create_option: Specifies how the virtual machines in the scale set should be created. The only allowed value is: **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described. + :param pulumi.Input['CachingTypes'] caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + :param pulumi.Input[Union[str, 'DiskDeleteOptionTypes']] delete_option: Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Possible values:

**Delete** If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.

**Detach** If this value is used, the OS disk is retained after VMSS Flex VM is deleted.

The default value is set to **Delete**. For an Ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for Ephemeral OS Disk. + :param pulumi.Input['DiffDiskSettingsArgs'] diff_disk_settings: Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set. + :param pulumi.Input[int] disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + :param pulumi.Input['VirtualHardDiskArgs'] image: Specifies information about the unmanaged user image to base the scale set on. + :param pulumi.Input['VirtualMachineScaleSetManagedDiskParametersArgs'] managed_disk: The managed disk parameters. + :param pulumi.Input[str] name: The disk name. + :param pulumi.Input['OperatingSystemTypes'] os_type: This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + :param pulumi.Input[Sequence[pulumi.Input[str]]] vhd_containers: Specifies the container urls that are used to store operating system disks for the scale set. + :param pulumi.Input[bool] write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + pulumi.set(__self__, "create_option", create_option) + if caching is not None: + pulumi.set(__self__, "caching", caching) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if diff_disk_settings is not None: + pulumi.set(__self__, "diff_disk_settings", diff_disk_settings) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if image is not None: + pulumi.set(__self__, "image", image) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + if name is not None: + pulumi.set(__self__, "name", name) + if os_type is not None: + pulumi.set(__self__, "os_type", os_type) + if vhd_containers is not None: + pulumi.set(__self__, "vhd_containers", vhd_containers) + if write_accelerator_enabled is not None: + pulumi.set(__self__, "write_accelerator_enabled", write_accelerator_enabled) + + @property + @pulumi.getter(name="createOption") + def create_option(self) -> pulumi.Input[Union[str, 'DiskCreateOptionTypes']]: + """ + Specifies how the virtual machines in the scale set should be created. The only allowed value is: **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described. + """ + return pulumi.get(self, "create_option") + + @create_option.setter + def create_option(self, value: pulumi.Input[Union[str, 'DiskCreateOptionTypes']]): + pulumi.set(self, "create_option", value) + + @property + @pulumi.getter + def caching(self) -> Optional[pulumi.Input['CachingTypes']]: + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + """ + return pulumi.get(self, "caching") + + @caching.setter + def caching(self, value: Optional[pulumi.Input['CachingTypes']]): + pulumi.set(self, "caching", value) + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[pulumi.Input[Union[str, 'DiskDeleteOptionTypes']]]: + """ + Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Possible values:

**Delete** If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.

**Detach** If this value is used, the OS disk is retained after VMSS Flex VM is deleted.

The default value is set to **Delete**. For an Ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for Ephemeral OS Disk. + """ + return pulumi.get(self, "delete_option") + + @delete_option.setter + def delete_option(self, value: Optional[pulumi.Input[Union[str, 'DiskDeleteOptionTypes']]]): + pulumi.set(self, "delete_option", value) + + @property + @pulumi.getter(name="diffDiskSettings") + def diff_disk_settings(self) -> Optional[pulumi.Input['DiffDiskSettingsArgs']]: + """ + Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set. + """ + return pulumi.get(self, "diff_disk_settings") + + @diff_disk_settings.setter + def diff_disk_settings(self, value: Optional[pulumi.Input['DiffDiskSettingsArgs']]): + pulumi.set(self, "diff_disk_settings", value) + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + """ + return pulumi.get(self, "disk_size_gb") + + @disk_size_gb.setter + def disk_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size_gb", value) + + @property + @pulumi.getter + def image(self) -> Optional[pulumi.Input['VirtualHardDiskArgs']]: + """ + Specifies information about the unmanaged user image to base the scale set on. + """ + return pulumi.get(self, "image") + + @image.setter + def image(self, value: Optional[pulumi.Input['VirtualHardDiskArgs']]): + pulumi.set(self, "image", value) + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional[pulumi.Input['VirtualMachineScaleSetManagedDiskParametersArgs']]: + """ + The managed disk parameters. + """ + return pulumi.get(self, "managed_disk") + + @managed_disk.setter + def managed_disk(self, value: Optional[pulumi.Input['VirtualMachineScaleSetManagedDiskParametersArgs']]): + pulumi.set(self, "managed_disk", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The disk name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="osType") + def os_type(self) -> Optional[pulumi.Input['OperatingSystemTypes']]: + """ + This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + """ + return pulumi.get(self, "os_type") + + @os_type.setter + def os_type(self, value: Optional[pulumi.Input['OperatingSystemTypes']]): + pulumi.set(self, "os_type", value) + + @property + @pulumi.getter(name="vhdContainers") + def vhd_containers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies the container urls that are used to store operating system disks for the scale set. + """ + return pulumi.get(self, "vhd_containers") + + @vhd_containers.setter + def vhd_containers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "vhd_containers", value) + + @property + @pulumi.getter(name="writeAcceleratorEnabled") + def write_accelerator_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + return pulumi.get(self, "write_accelerator_enabled") + + @write_accelerator_enabled.setter + def write_accelerator_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "write_accelerator_enabled", value) + + +@pulumi.input_type +class VirtualMachineScaleSetOSProfileArgs: + def __init__(__self__, *, + admin_password: Optional[pulumi.Input[str]] = None, + admin_username: Optional[pulumi.Input[str]] = None, + allow_extension_operations: Optional[pulumi.Input[bool]] = None, + computer_name_prefix: Optional[pulumi.Input[str]] = None, + custom_data: Optional[pulumi.Input[str]] = None, + linux_configuration: Optional[pulumi.Input['LinuxConfigurationArgs']] = None, + require_guest_provision_signal: Optional[pulumi.Input[bool]] = None, + secrets: Optional[pulumi.Input[Sequence[pulumi.Input['VaultSecretGroupArgs']]]] = None, + windows_configuration: Optional[pulumi.Input['WindowsConfigurationArgs']] = None): + """ + Describes a virtual machine scale set OS profile. + :param pulumi.Input[str] admin_password: Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + :param pulumi.Input[str] admin_username: Specifies the name of the administrator account.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters + :param pulumi.Input[bool] allow_extension_operations: Specifies whether extension operations should be allowed on the virtual machine scale set. This may only be set to False when no extensions are present on the virtual machine scale set. + :param pulumi.Input[str] computer_name_prefix: Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long. + :param pulumi.Input[str] custom_data: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) + :param pulumi.Input['LinuxConfigurationArgs'] linux_configuration: Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + :param pulumi.Input[bool] require_guest_provision_signal: Optional property which must either be set to True or omitted. + :param pulumi.Input[Sequence[pulumi.Input['VaultSecretGroupArgs']]] secrets: Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + :param pulumi.Input['WindowsConfigurationArgs'] windows_configuration: Specifies Windows operating system settings on the virtual machine. + """ + if admin_password is not None: + pulumi.set(__self__, "admin_password", admin_password) + if admin_username is not None: + pulumi.set(__self__, "admin_username", admin_username) + if allow_extension_operations is not None: + pulumi.set(__self__, "allow_extension_operations", allow_extension_operations) + if computer_name_prefix is not None: + pulumi.set(__self__, "computer_name_prefix", computer_name_prefix) + if custom_data is not None: + pulumi.set(__self__, "custom_data", custom_data) + if linux_configuration is not None: + pulumi.set(__self__, "linux_configuration", linux_configuration) + if require_guest_provision_signal is not None: + pulumi.set(__self__, "require_guest_provision_signal", require_guest_provision_signal) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + if windows_configuration is not None: + pulumi.set(__self__, "windows_configuration", windows_configuration) + + @property + @pulumi.getter(name="adminPassword") + def admin_password(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + """ + return pulumi.get(self, "admin_password") + + @admin_password.setter + def admin_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "admin_password", value) + + @property + @pulumi.getter(name="adminUsername") + def admin_username(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the name of the administrator account.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters + """ + return pulumi.get(self, "admin_username") + + @admin_username.setter + def admin_username(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "admin_username", value) + + @property + @pulumi.getter(name="allowExtensionOperations") + def allow_extension_operations(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether extension operations should be allowed on the virtual machine scale set. This may only be set to False when no extensions are present on the virtual machine scale set. + """ + return pulumi.get(self, "allow_extension_operations") + + @allow_extension_operations.setter + def allow_extension_operations(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_extension_operations", value) + + @property + @pulumi.getter(name="computerNamePrefix") + def computer_name_prefix(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long. + """ + return pulumi.get(self, "computer_name_prefix") + + @computer_name_prefix.setter + def computer_name_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "computer_name_prefix", value) + + @property + @pulumi.getter(name="customData") + def custom_data(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) + """ + return pulumi.get(self, "custom_data") + + @custom_data.setter + def custom_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "custom_data", value) + + @property + @pulumi.getter(name="linuxConfiguration") + def linux_configuration(self) -> Optional[pulumi.Input['LinuxConfigurationArgs']]: + """ + Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + """ + return pulumi.get(self, "linux_configuration") + + @linux_configuration.setter + def linux_configuration(self, value: Optional[pulumi.Input['LinuxConfigurationArgs']]): + pulumi.set(self, "linux_configuration", value) + + @property + @pulumi.getter(name="requireGuestProvisionSignal") + def require_guest_provision_signal(self) -> Optional[pulumi.Input[bool]]: + """ + Optional property which must either be set to True or omitted. + """ + return pulumi.get(self, "require_guest_provision_signal") + + @require_guest_provision_signal.setter + def require_guest_provision_signal(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "require_guest_provision_signal", value) + + @property + @pulumi.getter + def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VaultSecretGroupArgs']]]]: + """ + Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + """ + return pulumi.get(self, "secrets") + + @secrets.setter + def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VaultSecretGroupArgs']]]]): + pulumi.set(self, "secrets", value) + + @property + @pulumi.getter(name="windowsConfiguration") + def windows_configuration(self) -> Optional[pulumi.Input['WindowsConfigurationArgs']]: + """ + Specifies Windows operating system settings on the virtual machine. + """ + return pulumi.get(self, "windows_configuration") + + @windows_configuration.setter + def windows_configuration(self, value: Optional[pulumi.Input['WindowsConfigurationArgs']]): + pulumi.set(self, "windows_configuration", value) + + +@pulumi.input_type +class VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs: + def __init__(__self__, *, + domain_name_label: pulumi.Input[str], + domain_name_label_scope: Optional[pulumi.Input[Union[str, 'DomainNameLabelScopeTypes']]] = None): + """ + Describes a virtual machines scale sets network configuration's DNS settings. + :param pulumi.Input[str] domain_name_label: The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created + :param pulumi.Input[Union[str, 'DomainNameLabelScopeTypes']] domain_name_label_scope: The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created + """ + pulumi.set(__self__, "domain_name_label", domain_name_label) + if domain_name_label_scope is not None: + pulumi.set(__self__, "domain_name_label_scope", domain_name_label_scope) + + @property + @pulumi.getter(name="domainNameLabel") + def domain_name_label(self) -> pulumi.Input[str]: + """ + The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created + """ + return pulumi.get(self, "domain_name_label") + + @domain_name_label.setter + def domain_name_label(self, value: pulumi.Input[str]): + pulumi.set(self, "domain_name_label", value) + + @property + @pulumi.getter(name="domainNameLabelScope") + def domain_name_label_scope(self) -> Optional[pulumi.Input[Union[str, 'DomainNameLabelScopeTypes']]]: + """ + The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created + """ + return pulumi.get(self, "domain_name_label_scope") + + @domain_name_label_scope.setter + def domain_name_label_scope(self, value: Optional[pulumi.Input[Union[str, 'DomainNameLabelScopeTypes']]]): + pulumi.set(self, "domain_name_label_scope", value) + + +@pulumi.input_type +class VirtualMachineScaleSetPublicIPAddressConfigurationArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + delete_option: Optional[pulumi.Input[Union[str, 'DeleteOptions']]] = None, + dns_settings: Optional[pulumi.Input['VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs']] = None, + idle_timeout_in_minutes: Optional[pulumi.Input[int]] = None, + ip_tags: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetIpTagArgs']]]] = None, + public_ip_address_version: Optional[pulumi.Input[Union[str, 'IPVersion']]] = None, + public_ip_prefix: Optional[pulumi.Input['SubResourceArgs']] = None, + sku: Optional[pulumi.Input['PublicIPAddressSkuArgs']] = None): + """ + Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration + :param pulumi.Input[str] name: The publicIP address configuration name. + :param pulumi.Input[Union[str, 'DeleteOptions']] delete_option: Specify what happens to the public IP when the VM is deleted + :param pulumi.Input['VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs'] dns_settings: The dns settings to be applied on the publicIP addresses . + :param pulumi.Input[int] idle_timeout_in_minutes: The idle timeout of the public IP address. + :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetIpTagArgs']]] ip_tags: The list of IP tags associated with the public IP address. + :param pulumi.Input[Union[str, 'IPVersion']] public_ip_address_version: Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + :param pulumi.Input['SubResourceArgs'] public_ip_prefix: The PublicIPPrefix from which to allocate publicIP addresses. + :param pulumi.Input['PublicIPAddressSkuArgs'] sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + """ + pulumi.set(__self__, "name", name) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if dns_settings is not None: + pulumi.set(__self__, "dns_settings", dns_settings) + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + if ip_tags is not None: + pulumi.set(__self__, "ip_tags", ip_tags) + if public_ip_address_version is not None: + pulumi.set(__self__, "public_ip_address_version", public_ip_address_version) + if public_ip_prefix is not None: + pulumi.set(__self__, "public_ip_prefix", public_ip_prefix) + if sku is not None: + pulumi.set(__self__, "sku", sku) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The publicIP address configuration name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[pulumi.Input[Union[str, 'DeleteOptions']]]: + """ + Specify what happens to the public IP when the VM is deleted + """ + return pulumi.get(self, "delete_option") + + @delete_option.setter + def delete_option(self, value: Optional[pulumi.Input[Union[str, 'DeleteOptions']]]): + pulumi.set(self, "delete_option", value) + + @property + @pulumi.getter(name="dnsSettings") + def dns_settings(self) -> Optional[pulumi.Input['VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs']]: + """ + The dns settings to be applied on the publicIP addresses . + """ + return pulumi.get(self, "dns_settings") + + @dns_settings.setter + def dns_settings(self, value: Optional[pulumi.Input['VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs']]): + pulumi.set(self, "dns_settings", value) + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + """ + The idle timeout of the public IP address. + """ + return pulumi.get(self, "idle_timeout_in_minutes") + + @idle_timeout_in_minutes.setter + def idle_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "idle_timeout_in_minutes", value) + + @property + @pulumi.getter(name="ipTags") + def ip_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetIpTagArgs']]]]: + """ + The list of IP tags associated with the public IP address. + """ + return pulumi.get(self, "ip_tags") + + @ip_tags.setter + def ip_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetIpTagArgs']]]]): + pulumi.set(self, "ip_tags", value) + + @property + @pulumi.getter(name="publicIPAddressVersion") + def public_ip_address_version(self) -> Optional[pulumi.Input[Union[str, 'IPVersion']]]: + """ + Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + """ + return pulumi.get(self, "public_ip_address_version") + + @public_ip_address_version.setter + def public_ip_address_version(self, value: Optional[pulumi.Input[Union[str, 'IPVersion']]]): + pulumi.set(self, "public_ip_address_version", value) + + @property + @pulumi.getter(name="publicIPPrefix") + def public_ip_prefix(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + The PublicIPPrefix from which to allocate publicIP addresses. + """ + return pulumi.get(self, "public_ip_prefix") + + @public_ip_prefix.setter + def public_ip_prefix(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "public_ip_prefix", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input['PublicIPAddressSkuArgs']]: + """ + Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input['PublicIPAddressSkuArgs']]): + pulumi.set(self, "sku", value) + + +@pulumi.input_type +class VirtualMachineScaleSetStorageProfileArgs: + def __init__(__self__, *, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetDataDiskArgs']]]] = None, + disk_controller_type: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DiskControllerTypes']]]]] = None, + image_reference: Optional[pulumi.Input['ImageReferenceArgs']] = None, + os_disk: Optional[pulumi.Input['VirtualMachineScaleSetOSDiskArgs']] = None): + """ + Describes a virtual machine scale set storage profile. + :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetDataDiskArgs']]] data_disks: Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + :param pulumi.Input['ImageReferenceArgs'] image_reference: Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + :param pulumi.Input['VirtualMachineScaleSetOSDiskArgs'] os_disk: Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if disk_controller_type is not None: + pulumi.set(__self__, "disk_controller_type", disk_controller_type) + if image_reference is not None: + pulumi.set(__self__, "image_reference", image_reference) + if os_disk is not None: + pulumi.set(__self__, "os_disk", os_disk) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetDataDiskArgs']]]]: + """ + Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetDataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + + @property + @pulumi.getter(name="diskControllerType") + def disk_controller_type(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DiskControllerTypes']]]]]: + return pulumi.get(self, "disk_controller_type") + + @disk_controller_type.setter + def disk_controller_type(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DiskControllerTypes']]]]]): + pulumi.set(self, "disk_controller_type", value) + + @property + @pulumi.getter(name="imageReference") + def image_reference(self) -> Optional[pulumi.Input['ImageReferenceArgs']]: + """ + Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + """ + return pulumi.get(self, "image_reference") + + @image_reference.setter + def image_reference(self, value: Optional[pulumi.Input['ImageReferenceArgs']]): + pulumi.set(self, "image_reference", value) + + @property + @pulumi.getter(name="osDisk") + def os_disk(self) -> Optional[pulumi.Input['VirtualMachineScaleSetOSDiskArgs']]: + """ + Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + return pulumi.get(self, "os_disk") + + @os_disk.setter + def os_disk(self, value: Optional[pulumi.Input['VirtualMachineScaleSetOSDiskArgs']]): + pulumi.set(self, "os_disk", value) + + +@pulumi.input_type +class VirtualMachineScaleSetVMNetworkProfileConfigurationArgs: + def __init__(__self__, *, + network_interface_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetNetworkConfigurationArgs']]]] = None): + """ + Describes a virtual machine scale set VM network profile. + :param pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetNetworkConfigurationArgs']]] network_interface_configurations: The list of network configurations. + """ + if network_interface_configurations is not None: + pulumi.set(__self__, "network_interface_configurations", network_interface_configurations) + + @property + @pulumi.getter(name="networkInterfaceConfigurations") + def network_interface_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetNetworkConfigurationArgs']]]]: + """ + The list of network configurations. + """ + return pulumi.get(self, "network_interface_configurations") + + @network_interface_configurations.setter + def network_interface_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VirtualMachineScaleSetNetworkConfigurationArgs']]]]): + pulumi.set(self, "network_interface_configurations", value) + + +@pulumi.input_type +class VirtualMachineScaleSetVMProfileArgs: + def __init__(__self__, *, + application_profile: Optional[pulumi.Input['ApplicationProfileArgs']] = None, + billing_profile: Optional[pulumi.Input['BillingProfileArgs']] = None, + capacity_reservation: Optional[pulumi.Input['CapacityReservationProfileArgs']] = None, + diagnostics_profile: Optional[pulumi.Input['DiagnosticsProfileArgs']] = None, + eviction_policy: Optional[pulumi.Input[Union[str, 'VirtualMachineEvictionPolicyTypes']]] = None, + extension_profile: Optional[pulumi.Input['VirtualMachineScaleSetExtensionProfileArgs']] = None, + hardware_profile: Optional[pulumi.Input['VirtualMachineScaleSetHardwareProfileArgs']] = None, + license_type: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input['VirtualMachineScaleSetNetworkProfileArgs']] = None, + os_profile: Optional[pulumi.Input['VirtualMachineScaleSetOSProfileArgs']] = None, + priority: Optional[pulumi.Input[Union[str, 'VirtualMachinePriorityTypes']]] = None, + scheduled_events_profile: Optional[pulumi.Input['ScheduledEventsProfileArgs']] = None, + security_posture_reference: Optional[pulumi.Input['SecurityPostureReferenceArgs']] = None, + security_profile: Optional[pulumi.Input['SecurityProfileArgs']] = None, + service_artifact_reference: Optional[pulumi.Input['ServiceArtifactReferenceArgs']] = None, + storage_profile: Optional[pulumi.Input['VirtualMachineScaleSetStorageProfileArgs']] = None, + user_data: Optional[pulumi.Input[str]] = None): + """ + Describes a virtual machine scale set virtual machine profile. + :param pulumi.Input['ApplicationProfileArgs'] application_profile: Specifies the gallery applications that should be made available to the VM/VMSS + :param pulumi.Input['BillingProfileArgs'] billing_profile: Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01. + :param pulumi.Input['CapacityReservationProfileArgs'] capacity_reservation: Specifies the capacity reservation related details of a scale set. Minimum api-version: 2021-04-01. + :param pulumi.Input['DiagnosticsProfileArgs'] diagnostics_profile: Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + :param pulumi.Input[Union[str, 'VirtualMachineEvictionPolicyTypes']] eviction_policy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + :param pulumi.Input['VirtualMachineScaleSetExtensionProfileArgs'] extension_profile: Specifies a collection of settings for extensions installed on virtual machines in the scale set. + :param pulumi.Input['VirtualMachineScaleSetHardwareProfileArgs'] hardware_profile: Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01. + :param pulumi.Input[str] license_type: Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + :param pulumi.Input['VirtualMachineScaleSetNetworkProfileArgs'] network_profile: Specifies properties of the network interfaces of the virtual machines in the scale set. + :param pulumi.Input['VirtualMachineScaleSetOSProfileArgs'] os_profile: Specifies the operating system settings for the virtual machines in the scale set. + :param pulumi.Input[Union[str, 'VirtualMachinePriorityTypes']] priority: Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview. + :param pulumi.Input['ScheduledEventsProfileArgs'] scheduled_events_profile: Specifies Scheduled Event related configurations. + :param pulumi.Input['SecurityPostureReferenceArgs'] security_posture_reference: Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + :param pulumi.Input['SecurityProfileArgs'] security_profile: Specifies the Security related profile settings for the virtual machines in the scale set. + :param pulumi.Input['ServiceArtifactReferenceArgs'] service_artifact_reference: Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + :param pulumi.Input['VirtualMachineScaleSetStorageProfileArgs'] storage_profile: Specifies the storage settings for the virtual machine disks. + :param pulumi.Input[str] user_data: UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + """ + if application_profile is not None: + pulumi.set(__self__, "application_profile", application_profile) + if billing_profile is not None: + pulumi.set(__self__, "billing_profile", billing_profile) + if capacity_reservation is not None: + pulumi.set(__self__, "capacity_reservation", capacity_reservation) + if diagnostics_profile is not None: + pulumi.set(__self__, "diagnostics_profile", diagnostics_profile) + if eviction_policy is not None: + pulumi.set(__self__, "eviction_policy", eviction_policy) + if extension_profile is not None: + pulumi.set(__self__, "extension_profile", extension_profile) + if hardware_profile is not None: + pulumi.set(__self__, "hardware_profile", hardware_profile) + if license_type is not None: + pulumi.set(__self__, "license_type", license_type) + if network_profile is not None: + pulumi.set(__self__, "network_profile", network_profile) + if os_profile is not None: + pulumi.set(__self__, "os_profile", os_profile) + if priority is not None: + pulumi.set(__self__, "priority", priority) + if scheduled_events_profile is not None: + pulumi.set(__self__, "scheduled_events_profile", scheduled_events_profile) + if security_posture_reference is not None: + pulumi.set(__self__, "security_posture_reference", security_posture_reference) + if security_profile is not None: + pulumi.set(__self__, "security_profile", security_profile) + if service_artifact_reference is not None: + pulumi.set(__self__, "service_artifact_reference", service_artifact_reference) + if storage_profile is not None: + pulumi.set(__self__, "storage_profile", storage_profile) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + + @property + @pulumi.getter(name="applicationProfile") + def application_profile(self) -> Optional[pulumi.Input['ApplicationProfileArgs']]: + """ + Specifies the gallery applications that should be made available to the VM/VMSS + """ + return pulumi.get(self, "application_profile") + + @application_profile.setter + def application_profile(self, value: Optional[pulumi.Input['ApplicationProfileArgs']]): + pulumi.set(self, "application_profile", value) + + @property + @pulumi.getter(name="billingProfile") + def billing_profile(self) -> Optional[pulumi.Input['BillingProfileArgs']]: + """ + Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01. + """ + return pulumi.get(self, "billing_profile") + + @billing_profile.setter + def billing_profile(self, value: Optional[pulumi.Input['BillingProfileArgs']]): + pulumi.set(self, "billing_profile", value) + + @property + @pulumi.getter(name="capacityReservation") + def capacity_reservation(self) -> Optional[pulumi.Input['CapacityReservationProfileArgs']]: + """ + Specifies the capacity reservation related details of a scale set. Minimum api-version: 2021-04-01. + """ + return pulumi.get(self, "capacity_reservation") + + @capacity_reservation.setter + def capacity_reservation(self, value: Optional[pulumi.Input['CapacityReservationProfileArgs']]): + pulumi.set(self, "capacity_reservation", value) + + @property + @pulumi.getter(name="diagnosticsProfile") + def diagnostics_profile(self) -> Optional[pulumi.Input['DiagnosticsProfileArgs']]: + """ + Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + """ + return pulumi.get(self, "diagnostics_profile") + + @diagnostics_profile.setter + def diagnostics_profile(self, value: Optional[pulumi.Input['DiagnosticsProfileArgs']]): + pulumi.set(self, "diagnostics_profile", value) + + @property + @pulumi.getter(name="evictionPolicy") + def eviction_policy(self) -> Optional[pulumi.Input[Union[str, 'VirtualMachineEvictionPolicyTypes']]]: + """ + Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + """ + return pulumi.get(self, "eviction_policy") + + @eviction_policy.setter + def eviction_policy(self, value: Optional[pulumi.Input[Union[str, 'VirtualMachineEvictionPolicyTypes']]]): + pulumi.set(self, "eviction_policy", value) + + @property + @pulumi.getter(name="extensionProfile") + def extension_profile(self) -> Optional[pulumi.Input['VirtualMachineScaleSetExtensionProfileArgs']]: + """ + Specifies a collection of settings for extensions installed on virtual machines in the scale set. + """ + return pulumi.get(self, "extension_profile") + + @extension_profile.setter + def extension_profile(self, value: Optional[pulumi.Input['VirtualMachineScaleSetExtensionProfileArgs']]): + pulumi.set(self, "extension_profile", value) + + @property + @pulumi.getter(name="hardwareProfile") + def hardware_profile(self) -> Optional[pulumi.Input['VirtualMachineScaleSetHardwareProfileArgs']]: + """ + Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01. + """ + return pulumi.get(self, "hardware_profile") + + @hardware_profile.setter + def hardware_profile(self, value: Optional[pulumi.Input['VirtualMachineScaleSetHardwareProfileArgs']]): + pulumi.set(self, "hardware_profile", value) + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + """ + return pulumi.get(self, "license_type") + + @license_type.setter + def license_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "license_type", value) + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional[pulumi.Input['VirtualMachineScaleSetNetworkProfileArgs']]: + """ + Specifies properties of the network interfaces of the virtual machines in the scale set. + """ + return pulumi.get(self, "network_profile") + + @network_profile.setter + def network_profile(self, value: Optional[pulumi.Input['VirtualMachineScaleSetNetworkProfileArgs']]): + pulumi.set(self, "network_profile", value) + + @property + @pulumi.getter(name="osProfile") + def os_profile(self) -> Optional[pulumi.Input['VirtualMachineScaleSetOSProfileArgs']]: + """ + Specifies the operating system settings for the virtual machines in the scale set. + """ + return pulumi.get(self, "os_profile") + + @os_profile.setter + def os_profile(self, value: Optional[pulumi.Input['VirtualMachineScaleSetOSProfileArgs']]): + pulumi.set(self, "os_profile", value) + + @property + @pulumi.getter + def priority(self) -> Optional[pulumi.Input[Union[str, 'VirtualMachinePriorityTypes']]]: + """ + Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview. + """ + return pulumi.get(self, "priority") + + @priority.setter + def priority(self, value: Optional[pulumi.Input[Union[str, 'VirtualMachinePriorityTypes']]]): + pulumi.set(self, "priority", value) + + @property + @pulumi.getter(name="scheduledEventsProfile") + def scheduled_events_profile(self) -> Optional[pulumi.Input['ScheduledEventsProfileArgs']]: + """ + Specifies Scheduled Event related configurations. + """ + return pulumi.get(self, "scheduled_events_profile") + + @scheduled_events_profile.setter + def scheduled_events_profile(self, value: Optional[pulumi.Input['ScheduledEventsProfileArgs']]): + pulumi.set(self, "scheduled_events_profile", value) + + @property + @pulumi.getter(name="securityPostureReference") + def security_posture_reference(self) -> Optional[pulumi.Input['SecurityPostureReferenceArgs']]: + """ + Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + """ + return pulumi.get(self, "security_posture_reference") + + @security_posture_reference.setter + def security_posture_reference(self, value: Optional[pulumi.Input['SecurityPostureReferenceArgs']]): + pulumi.set(self, "security_posture_reference", value) + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional[pulumi.Input['SecurityProfileArgs']]: + """ + Specifies the Security related profile settings for the virtual machines in the scale set. + """ + return pulumi.get(self, "security_profile") + + @security_profile.setter + def security_profile(self, value: Optional[pulumi.Input['SecurityProfileArgs']]): + pulumi.set(self, "security_profile", value) + + @property + @pulumi.getter(name="serviceArtifactReference") + def service_artifact_reference(self) -> Optional[pulumi.Input['ServiceArtifactReferenceArgs']]: + """ + Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + """ + return pulumi.get(self, "service_artifact_reference") + + @service_artifact_reference.setter + def service_artifact_reference(self, value: Optional[pulumi.Input['ServiceArtifactReferenceArgs']]): + pulumi.set(self, "service_artifact_reference", value) + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional[pulumi.Input['VirtualMachineScaleSetStorageProfileArgs']]: + """ + Specifies the storage settings for the virtual machine disks. + """ + return pulumi.get(self, "storage_profile") + + @storage_profile.setter + def storage_profile(self, value: Optional[pulumi.Input['VirtualMachineScaleSetStorageProfileArgs']]): + pulumi.set(self, "storage_profile", value) + + @property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[pulumi.Input[str]]: + """ + UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + """ + return pulumi.get(self, "user_data") + + @user_data.setter + def user_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_data", value) + + +@pulumi.input_type +class VirtualMachineScaleSetVMProtectionPolicyArgs: + def __init__(__self__, *, + protect_from_scale_in: Optional[pulumi.Input[bool]] = None, + protect_from_scale_set_actions: Optional[pulumi.Input[bool]] = None): + """ + The protection policy of a virtual machine scale set VM. + :param pulumi.Input[bool] protect_from_scale_in: Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation. + :param pulumi.Input[bool] protect_from_scale_set_actions: Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM. + """ + if protect_from_scale_in is not None: + pulumi.set(__self__, "protect_from_scale_in", protect_from_scale_in) + if protect_from_scale_set_actions is not None: + pulumi.set(__self__, "protect_from_scale_set_actions", protect_from_scale_set_actions) + + @property + @pulumi.getter(name="protectFromScaleIn") + def protect_from_scale_in(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation. + """ + return pulumi.get(self, "protect_from_scale_in") + + @protect_from_scale_in.setter + def protect_from_scale_in(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "protect_from_scale_in", value) + + @property + @pulumi.getter(name="protectFromScaleSetActions") + def protect_from_scale_set_actions(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM. + """ + return pulumi.get(self, "protect_from_scale_set_actions") + + @protect_from_scale_set_actions.setter + def protect_from_scale_set_actions(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "protect_from_scale_set_actions", value) + + +@pulumi.input_type +class WinRMConfigurationArgs: + def __init__(__self__, *, + listeners: Optional[pulumi.Input[Sequence[pulumi.Input['WinRMListenerArgs']]]] = None): + """ + Describes Windows Remote Management configuration of the VM + :param pulumi.Input[Sequence[pulumi.Input['WinRMListenerArgs']]] listeners: The list of Windows Remote Management listeners + """ + if listeners is not None: + pulumi.set(__self__, "listeners", listeners) + + @property + @pulumi.getter + def listeners(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WinRMListenerArgs']]]]: + """ + The list of Windows Remote Management listeners + """ + return pulumi.get(self, "listeners") + + @listeners.setter + def listeners(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WinRMListenerArgs']]]]): + pulumi.set(self, "listeners", value) + + +@pulumi.input_type +class WinRMListenerArgs: + def __init__(__self__, *, + certificate_url: Optional[pulumi.Input[str]] = None, + protocol: Optional[pulumi.Input['ProtocolTypes']] = None): + """ + Describes Protocol and thumbprint of Windows Remote Management listener + :param pulumi.Input[str] certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + :param pulumi.Input['ProtocolTypes'] protocol: Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** + """ + if certificate_url is not None: + pulumi.set(__self__, "certificate_url", certificate_url) + if protocol is not None: + pulumi.set(__self__, "protocol", protocol) + + @property + @pulumi.getter(name="certificateUrl") + def certificate_url(self) -> Optional[pulumi.Input[str]]: + """ + This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + """ + return pulumi.get(self, "certificate_url") + + @certificate_url.setter + def certificate_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate_url", value) + + @property + @pulumi.getter + def protocol(self) -> Optional[pulumi.Input['ProtocolTypes']]: + """ + Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** + """ + return pulumi.get(self, "protocol") + + @protocol.setter + def protocol(self, value: Optional[pulumi.Input['ProtocolTypes']]): + pulumi.set(self, "protocol", value) + + +@pulumi.input_type +class WindowsConfigurationArgs: + def __init__(__self__, *, + additional_unattend_content: Optional[pulumi.Input[Sequence[pulumi.Input['AdditionalUnattendContentArgs']]]] = None, + enable_automatic_updates: Optional[pulumi.Input[bool]] = None, + enable_vm_agent_platform_updates: Optional[pulumi.Input[bool]] = None, + patch_settings: Optional[pulumi.Input['PatchSettingsArgs']] = None, + provision_vm_agent: Optional[pulumi.Input[bool]] = None, + time_zone: Optional[pulumi.Input[str]] = None, + win_rm: Optional[pulumi.Input['WinRMConfigurationArgs']] = None): + """ + Specifies Windows operating system settings on the virtual machine. + :param pulumi.Input[Sequence[pulumi.Input['AdditionalUnattendContentArgs']]] additional_unattend_content: Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. + :param pulumi.Input[bool] enable_automatic_updates: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + :param pulumi.Input[bool] enable_vm_agent_platform_updates: Indicates whether VMAgent Platform Updates is enabled for the Windows virtual machine. Default value is false. + :param pulumi.Input['PatchSettingsArgs'] patch_settings: [Preview Feature] Specifies settings related to VM Guest Patching on Windows. + :param pulumi.Input[bool] provision_vm_agent: Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, it is set to true by default. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + :param pulumi.Input[str] time_zone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). + :param pulumi.Input['WinRMConfigurationArgs'] win_rm: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. + """ + if additional_unattend_content is not None: + pulumi.set(__self__, "additional_unattend_content", additional_unattend_content) + if enable_automatic_updates is not None: + pulumi.set(__self__, "enable_automatic_updates", enable_automatic_updates) + if enable_vm_agent_platform_updates is not None: + pulumi.set(__self__, "enable_vm_agent_platform_updates", enable_vm_agent_platform_updates) + if patch_settings is not None: + pulumi.set(__self__, "patch_settings", patch_settings) + if provision_vm_agent is not None: + pulumi.set(__self__, "provision_vm_agent", provision_vm_agent) + if time_zone is not None: + pulumi.set(__self__, "time_zone", time_zone) + if win_rm is not None: + pulumi.set(__self__, "win_rm", win_rm) + + @property + @pulumi.getter(name="additionalUnattendContent") + def additional_unattend_content(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AdditionalUnattendContentArgs']]]]: + """ + Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. + """ + return pulumi.get(self, "additional_unattend_content") + + @additional_unattend_content.setter + def additional_unattend_content(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AdditionalUnattendContentArgs']]]]): + pulumi.set(self, "additional_unattend_content", value) + + @property + @pulumi.getter(name="enableAutomaticUpdates") + def enable_automatic_updates(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + """ + return pulumi.get(self, "enable_automatic_updates") + + @enable_automatic_updates.setter + def enable_automatic_updates(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_automatic_updates", value) + + @property + @pulumi.getter(name="enableVMAgentPlatformUpdates") + def enable_vm_agent_platform_updates(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether VMAgent Platform Updates is enabled for the Windows virtual machine. Default value is false. + """ + return pulumi.get(self, "enable_vm_agent_platform_updates") + + @enable_vm_agent_platform_updates.setter + def enable_vm_agent_platform_updates(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_vm_agent_platform_updates", value) + + @property + @pulumi.getter(name="patchSettings") + def patch_settings(self) -> Optional[pulumi.Input['PatchSettingsArgs']]: + """ + [Preview Feature] Specifies settings related to VM Guest Patching on Windows. + """ + return pulumi.get(self, "patch_settings") + + @patch_settings.setter + def patch_settings(self, value: Optional[pulumi.Input['PatchSettingsArgs']]): + pulumi.set(self, "patch_settings", value) + + @property + @pulumi.getter(name="provisionVMAgent") + def provision_vm_agent(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, it is set to true by default. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + """ + return pulumi.get(self, "provision_vm_agent") + + @provision_vm_agent.setter + def provision_vm_agent(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "provision_vm_agent", value) + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). + """ + return pulumi.get(self, "time_zone") + + @time_zone.setter + def time_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_zone", value) + + @property + @pulumi.getter(name="winRM") + def win_rm(self) -> Optional[pulumi.Input['WinRMConfigurationArgs']]: + """ + Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. + """ + return pulumi.get(self, "win_rm") + + @win_rm.setter + def win_rm(self, value: Optional[pulumi.Input['WinRMConfigurationArgs']]): + pulumi.set(self, "win_rm", value) + + +@pulumi.input_type +class WindowsVMGuestPatchAutomaticByPlatformSettingsArgs: + def __init__(__self__, *, + bypass_platform_safety_checks_on_user_schedule: Optional[pulumi.Input[bool]] = None, + reboot_setting: Optional[pulumi.Input[Union[str, 'WindowsVMGuestPatchAutomaticByPlatformRebootSetting']]] = None): + """ + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings. + :param pulumi.Input[bool] bypass_platform_safety_checks_on_user_schedule: Enables customer to schedule patching without accidental upgrades + :param pulumi.Input[Union[str, 'WindowsVMGuestPatchAutomaticByPlatformRebootSetting']] reboot_setting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + """ + if bypass_platform_safety_checks_on_user_schedule is not None: + pulumi.set(__self__, "bypass_platform_safety_checks_on_user_schedule", bypass_platform_safety_checks_on_user_schedule) + if reboot_setting is not None: + pulumi.set(__self__, "reboot_setting", reboot_setting) + + @property + @pulumi.getter(name="bypassPlatformSafetyChecksOnUserSchedule") + def bypass_platform_safety_checks_on_user_schedule(self) -> Optional[pulumi.Input[bool]]: + """ + Enables customer to schedule patching without accidental upgrades + """ + return pulumi.get(self, "bypass_platform_safety_checks_on_user_schedule") + + @bypass_platform_safety_checks_on_user_schedule.setter + def bypass_platform_safety_checks_on_user_schedule(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "bypass_platform_safety_checks_on_user_schedule", value) + + @property + @pulumi.getter(name="rebootSetting") + def reboot_setting(self) -> Optional[pulumi.Input[Union[str, 'WindowsVMGuestPatchAutomaticByPlatformRebootSetting']]]: + """ + Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + """ + return pulumi.get(self, "reboot_setting") + + @reboot_setting.setter + def reboot_setting(self, value: Optional[pulumi.Input[Union[str, 'WindowsVMGuestPatchAutomaticByPlatformRebootSetting']]]): + pulumi.set(self, "reboot_setting", value) + + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/availability_set.py b/sdk/python/pulumi_azure_native/compute/v20230701/availability_set.py new file mode 100644 index 000000000000..393d8c34d752 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/availability_set.py @@ -0,0 +1,368 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['AvailabilitySetArgs', 'AvailabilitySet'] + +@pulumi.input_type +class AvailabilitySetArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + availability_set_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + platform_fault_domain_count: Optional[pulumi.Input[int]] = None, + platform_update_domain_count: Optional[pulumi.Input[int]] = None, + proximity_placement_group: Optional[pulumi.Input['SubResourceArgs']] = None, + sku: Optional[pulumi.Input['SkuArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + virtual_machines: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]] = None): + """ + The set of arguments for constructing a AvailabilitySet resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] availability_set_name: The name of the availability set. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[int] platform_fault_domain_count: Fault Domain count. + :param pulumi.Input[int] platform_update_domain_count: Update Domain count. + :param pulumi.Input['SubResourceArgs'] proximity_placement_group: Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. + :param pulumi.Input['SkuArgs'] sku: Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]] virtual_machines: A list of references to all virtual machines in the availability set. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if availability_set_name is not None: + pulumi.set(__self__, "availability_set_name", availability_set_name) + if location is not None: + pulumi.set(__self__, "location", location) + if platform_fault_domain_count is not None: + pulumi.set(__self__, "platform_fault_domain_count", platform_fault_domain_count) + if platform_update_domain_count is not None: + pulumi.set(__self__, "platform_update_domain_count", platform_update_domain_count) + if proximity_placement_group is not None: + pulumi.set(__self__, "proximity_placement_group", proximity_placement_group) + if sku is not None: + pulumi.set(__self__, "sku", sku) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if virtual_machines is not None: + pulumi.set(__self__, "virtual_machines", virtual_machines) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="availabilitySetName") + def availability_set_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the availability set. + """ + return pulumi.get(self, "availability_set_name") + + @availability_set_name.setter + def availability_set_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "availability_set_name", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="platformFaultDomainCount") + def platform_fault_domain_count(self) -> Optional[pulumi.Input[int]]: + """ + Fault Domain count. + """ + return pulumi.get(self, "platform_fault_domain_count") + + @platform_fault_domain_count.setter + def platform_fault_domain_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "platform_fault_domain_count", value) + + @property + @pulumi.getter(name="platformUpdateDomainCount") + def platform_update_domain_count(self) -> Optional[pulumi.Input[int]]: + """ + Update Domain count. + """ + return pulumi.get(self, "platform_update_domain_count") + + @platform_update_domain_count.setter + def platform_update_domain_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "platform_update_domain_count", value) + + @property + @pulumi.getter(name="proximityPlacementGroup") + def proximity_placement_group(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. + """ + return pulumi.get(self, "proximity_placement_group") + + @proximity_placement_group.setter + def proximity_placement_group(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "proximity_placement_group", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input['SkuArgs']]: + """ + Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input['SkuArgs']]): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="virtualMachines") + def virtual_machines(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]: + """ + A list of references to all virtual machines in the availability set. + """ + return pulumi.get(self, "virtual_machines") + + @virtual_machines.setter + def virtual_machines(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SubResourceArgs']]]]): + pulumi.set(self, "virtual_machines", value) + + +class AvailabilitySet(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + availability_set_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + platform_fault_domain_count: Optional[pulumi.Input[int]] = None, + platform_update_domain_count: Optional[pulumi.Input[int]] = None, + proximity_placement_group: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + virtual_machines: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SubResourceArgs']]]]] = None, + __props__=None): + """ + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to an availability set at creation time. An existing VM cannot be added to an availability set. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] availability_set_name: The name of the availability set. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[int] platform_fault_domain_count: Fault Domain count. + :param pulumi.Input[int] platform_update_domain_count: Update Domain count. + :param pulumi.Input[pulumi.InputType['SubResourceArgs']] proximity_placement_group: Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[pulumi.InputType['SkuArgs']] sku: Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SubResourceArgs']]]] virtual_machines: A list of references to all virtual machines in the availability set. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AvailabilitySetArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to an availability set at creation time. An existing VM cannot be added to an availability set. + + :param str resource_name: The name of the resource. + :param AvailabilitySetArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AvailabilitySetArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + availability_set_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + platform_fault_domain_count: Optional[pulumi.Input[int]] = None, + platform_update_domain_count: Optional[pulumi.Input[int]] = None, + proximity_placement_group: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + virtual_machines: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SubResourceArgs']]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AvailabilitySetArgs.__new__(AvailabilitySetArgs) + + __props__.__dict__["availability_set_name"] = availability_set_name + __props__.__dict__["location"] = location + __props__.__dict__["platform_fault_domain_count"] = platform_fault_domain_count + __props__.__dict__["platform_update_domain_count"] = platform_update_domain_count + __props__.__dict__["proximity_placement_group"] = proximity_placement_group + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["sku"] = sku + __props__.__dict__["tags"] = tags + __props__.__dict__["virtual_machines"] = virtual_machines + __props__.__dict__["name"] = None + __props__.__dict__["statuses"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20150615:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20160330:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20160430preview:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20170330:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20171201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20180401:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20180601:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20181001:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20190301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20190701:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20191201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20200601:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20201201:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210401:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20210701:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20211101:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20220301:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20220801:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20221101:AvailabilitySet"), pulumi.Alias(type_="azure-native:compute/v20230301:AvailabilitySet")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(AvailabilitySet, __self__).__init__( + 'azure-native:compute/v20230701:AvailabilitySet', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'AvailabilitySet': + """ + Get an existing AvailabilitySet resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = AvailabilitySetArgs.__new__(AvailabilitySetArgs) + + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["platform_fault_domain_count"] = None + __props__.__dict__["platform_update_domain_count"] = None + __props__.__dict__["proximity_placement_group"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["statuses"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["virtual_machines"] = None + return AvailabilitySet(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="platformFaultDomainCount") + def platform_fault_domain_count(self) -> pulumi.Output[Optional[int]]: + """ + Fault Domain count. + """ + return pulumi.get(self, "platform_fault_domain_count") + + @property + @pulumi.getter(name="platformUpdateDomainCount") + def platform_update_domain_count(self) -> pulumi.Output[Optional[int]]: + """ + Update Domain count. + """ + return pulumi.get(self, "platform_update_domain_count") + + @property + @pulumi.getter(name="proximityPlacementGroup") + def proximity_placement_group(self) -> pulumi.Output[Optional['outputs.SubResourceResponse']]: + """ + Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. + """ + return pulumi.get(self, "proximity_placement_group") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output[Optional['outputs.SkuResponse']]: + """ + Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter + def statuses(self) -> pulumi.Output[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="virtualMachines") + def virtual_machines(self) -> pulumi.Output[Optional[Sequence['outputs.SubResourceResponse']]]: + """ + A list of references to all virtual machines in the availability set. + """ + return pulumi.get(self, "virtual_machines") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/capacity_reservation.py b/sdk/python/pulumi_azure_native/compute/v20230701/capacity_reservation.py new file mode 100644 index 000000000000..5f458ad36c19 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/capacity_reservation.py @@ -0,0 +1,363 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['CapacityReservationArgs', 'CapacityReservation'] + +@pulumi.input_type +class CapacityReservationArgs: + def __init__(__self__, *, + capacity_reservation_group_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + sku: pulumi.Input['SkuArgs'], + capacity_reservation_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a CapacityReservation resource. + :param pulumi.Input[str] capacity_reservation_group_name: The name of the capacity reservation group. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input['SkuArgs'] sku: SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. + :param pulumi.Input[str] capacity_reservation_name: The name of the capacity reservation. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone. + """ + pulumi.set(__self__, "capacity_reservation_group_name", capacity_reservation_group_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "sku", sku) + if capacity_reservation_name is not None: + pulumi.set(__self__, "capacity_reservation_name", capacity_reservation_name) + if location is not None: + pulumi.set(__self__, "location", location) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if zones is not None: + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="capacityReservationGroupName") + def capacity_reservation_group_name(self) -> pulumi.Input[str]: + """ + The name of the capacity reservation group. + """ + return pulumi.get(self, "capacity_reservation_group_name") + + @capacity_reservation_group_name.setter + def capacity_reservation_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "capacity_reservation_group_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def sku(self) -> pulumi.Input['SkuArgs']: + """ + SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: pulumi.Input['SkuArgs']): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter(name="capacityReservationName") + def capacity_reservation_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the capacity reservation. + """ + return pulumi.get(self, "capacity_reservation_name") + + @capacity_reservation_name.setter + def capacity_reservation_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "capacity_reservation_name", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone. + """ + return pulumi.get(self, "zones") + + @zones.setter + def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "zones", value) + + +class CapacityReservation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capacity_reservation_group_name: Optional[pulumi.Input[str]] = None, + capacity_reservation_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Specifies information about the capacity reservation. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] capacity_reservation_group_name: The name of the capacity reservation group. + :param pulumi.Input[str] capacity_reservation_name: The name of the capacity reservation. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[pulumi.InputType['SkuArgs']] sku: SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CapacityReservationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Specifies information about the capacity reservation. + + :param str resource_name: The name of the resource. + :param CapacityReservationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(CapacityReservationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capacity_reservation_group_name: Optional[pulumi.Input[str]] = None, + capacity_reservation_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = CapacityReservationArgs.__new__(CapacityReservationArgs) + + if capacity_reservation_group_name is None and not opts.urn: + raise TypeError("Missing required property 'capacity_reservation_group_name'") + __props__.__dict__["capacity_reservation_group_name"] = capacity_reservation_group_name + __props__.__dict__["capacity_reservation_name"] = capacity_reservation_name + __props__.__dict__["location"] = location + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if sku is None and not opts.urn: + raise TypeError("Missing required property 'sku'") + __props__.__dict__["sku"] = sku + __props__.__dict__["tags"] = tags + __props__.__dict__["zones"] = zones + __props__.__dict__["instance_view"] = None + __props__.__dict__["name"] = None + __props__.__dict__["platform_fault_domain_count"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["provisioning_time"] = None + __props__.__dict__["reservation_id"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["virtual_machines_associated"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20210401:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20210701:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20211101:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20220301:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20220801:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20221101:CapacityReservation"), pulumi.Alias(type_="azure-native:compute/v20230301:CapacityReservation")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(CapacityReservation, __self__).__init__( + 'azure-native:compute/v20230701:CapacityReservation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'CapacityReservation': + """ + Get an existing CapacityReservation resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = CapacityReservationArgs.__new__(CapacityReservationArgs) + + __props__.__dict__["instance_view"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["platform_fault_domain_count"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["provisioning_time"] = None + __props__.__dict__["reservation_id"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["virtual_machines_associated"] = None + __props__.__dict__["zones"] = None + return CapacityReservation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> pulumi.Output['outputs.CapacityReservationInstanceViewResponse']: + """ + The Capacity reservation instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="platformFaultDomainCount") + def platform_fault_domain_count(self) -> pulumi.Output[int]: + """ + Specifies the value of fault domain count that Capacity Reservation supports for requested VM size. **Note:** The fault domain count specified for a resource (like virtual machines scale set) must be less than or equal to this value if it deploys using capacity reservation. Minimum api-version: 2022-08-01. + """ + return pulumi.get(self, "platform_fault_domain_count") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="provisioningTime") + def provisioning_time(self) -> pulumi.Output[str]: + """ + The date time when the capacity reservation was last updated. + """ + return pulumi.get(self, "provisioning_time") + + @property + @pulumi.getter(name="reservationId") + def reservation_id(self) -> pulumi.Output[str]: + """ + A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource. + """ + return pulumi.get(self, "reservation_id") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output['outputs.SkuResponse']: + """ + SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> pulumi.Output[str]: + """ + Specifies the time at which the Capacity Reservation resource was created. Minimum api-version: 2021-11-01. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="virtualMachinesAssociated") + def virtual_machines_associated(self) -> pulumi.Output[Sequence['outputs.SubResourceReadOnlyResponse']]: + """ + A list of all virtual machine resource ids that are associated with the capacity reservation. + """ + return pulumi.get(self, "virtual_machines_associated") + + @property + @pulumi.getter + def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone. + """ + return pulumi.get(self, "zones") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/capacity_reservation_group.py b/sdk/python/pulumi_azure_native/compute/v20230701/capacity_reservation_group.py new file mode 100644 index 000000000000..8d6c1ff69e7c --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/capacity_reservation_group.py @@ -0,0 +1,271 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = ['CapacityReservationGroupArgs', 'CapacityReservationGroup'] + +@pulumi.input_type +class CapacityReservationGroupArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + capacity_reservation_group_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a CapacityReservationGroup resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] capacity_reservation_group_name: The name of the capacity reservation group. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if capacity_reservation_group_name is not None: + pulumi.set(__self__, "capacity_reservation_group_name", capacity_reservation_group_name) + if location is not None: + pulumi.set(__self__, "location", location) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if zones is not None: + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="capacityReservationGroupName") + def capacity_reservation_group_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the capacity reservation group. + """ + return pulumi.get(self, "capacity_reservation_group_name") + + @capacity_reservation_group_name.setter + def capacity_reservation_group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "capacity_reservation_group_name", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones. + """ + return pulumi.get(self, "zones") + + @zones.setter + def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "zones", value) + + +class CapacityReservationGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capacity_reservation_group_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Specifies information about the capacity reservation group that the capacity reservations should be assigned to. Currently, a capacity reservation can only be added to a capacity reservation group at creation time. An existing capacity reservation cannot be added or moved to another capacity reservation group. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] capacity_reservation_group_name: The name of the capacity reservation group. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CapacityReservationGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Specifies information about the capacity reservation group that the capacity reservations should be assigned to. Currently, a capacity reservation can only be added to a capacity reservation group at creation time. An existing capacity reservation cannot be added or moved to another capacity reservation group. + + :param str resource_name: The name of the resource. + :param CapacityReservationGroupArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(CapacityReservationGroupArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capacity_reservation_group_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = CapacityReservationGroupArgs.__new__(CapacityReservationGroupArgs) + + __props__.__dict__["capacity_reservation_group_name"] = capacity_reservation_group_name + __props__.__dict__["location"] = location + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["tags"] = tags + __props__.__dict__["zones"] = zones + __props__.__dict__["capacity_reservations"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["name"] = None + __props__.__dict__["type"] = None + __props__.__dict__["virtual_machines_associated"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:CapacityReservationGroup"), pulumi.Alias(type_="azure-native:compute/v20230301:CapacityReservationGroup")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(CapacityReservationGroup, __self__).__init__( + 'azure-native:compute/v20230701:CapacityReservationGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'CapacityReservationGroup': + """ + Get an existing CapacityReservationGroup resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = CapacityReservationGroupArgs.__new__(CapacityReservationGroupArgs) + + __props__.__dict__["capacity_reservations"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["virtual_machines_associated"] = None + __props__.__dict__["zones"] = None + return CapacityReservationGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="capacityReservations") + def capacity_reservations(self) -> pulumi.Output[Sequence['outputs.SubResourceReadOnlyResponse']]: + """ + A list of all capacity reservation resource ids that belong to capacity reservation group. + """ + return pulumi.get(self, "capacity_reservations") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> pulumi.Output['outputs.CapacityReservationGroupInstanceViewResponse']: + """ + The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="virtualMachinesAssociated") + def virtual_machines_associated(self) -> pulumi.Output[Sequence['outputs.SubResourceReadOnlyResponse']]: + """ + A list of references to all virtual machines associated to the capacity reservation group. + """ + return pulumi.get(self, "virtual_machines_associated") + + @property + @pulumi.getter + def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones. + """ + return pulumi.get(self, "zones") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/dedicated_host.py b/sdk/python/pulumi_azure_native/compute/v20230701/dedicated_host.py new file mode 100644 index 000000000000..fc55f26435c1 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/dedicated_host.py @@ -0,0 +1,412 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['DedicatedHostArgs', 'DedicatedHost'] + +@pulumi.input_type +class DedicatedHostArgs: + def __init__(__self__, *, + host_group_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + sku: pulumi.Input['SkuArgs'], + auto_replace_on_failure: Optional[pulumi.Input[bool]] = None, + host_name: Optional[pulumi.Input[str]] = None, + license_type: Optional[pulumi.Input['DedicatedHostLicenseTypes']] = None, + location: Optional[pulumi.Input[str]] = None, + platform_fault_domain: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a DedicatedHost resource. + :param pulumi.Input[str] host_group_name: The name of the dedicated host group. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input['SkuArgs'] sku: SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values. + :param pulumi.Input[bool] auto_replace_on_failure: Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. + :param pulumi.Input[str] host_name: The name of the dedicated host . + :param pulumi.Input['DedicatedHostLicenseTypes'] license_type: Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[int] platform_fault_domain: Fault domain of the dedicated host within a dedicated host group. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + pulumi.set(__self__, "host_group_name", host_group_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "sku", sku) + if auto_replace_on_failure is not None: + pulumi.set(__self__, "auto_replace_on_failure", auto_replace_on_failure) + if host_name is not None: + pulumi.set(__self__, "host_name", host_name) + if license_type is not None: + pulumi.set(__self__, "license_type", license_type) + if location is not None: + pulumi.set(__self__, "location", location) + if platform_fault_domain is not None: + pulumi.set(__self__, "platform_fault_domain", platform_fault_domain) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="hostGroupName") + def host_group_name(self) -> pulumi.Input[str]: + """ + The name of the dedicated host group. + """ + return pulumi.get(self, "host_group_name") + + @host_group_name.setter + def host_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "host_group_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def sku(self) -> pulumi.Input['SkuArgs']: + """ + SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: pulumi.Input['SkuArgs']): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter(name="autoReplaceOnFailure") + def auto_replace_on_failure(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. + """ + return pulumi.get(self, "auto_replace_on_failure") + + @auto_replace_on_failure.setter + def auto_replace_on_failure(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_replace_on_failure", value) + + @property + @pulumi.getter(name="hostName") + def host_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the dedicated host . + """ + return pulumi.get(self, "host_name") + + @host_name.setter + def host_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_name", value) + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> Optional[pulumi.Input['DedicatedHostLicenseTypes']]: + """ + Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + """ + return pulumi.get(self, "license_type") + + @license_type.setter + def license_type(self, value: Optional[pulumi.Input['DedicatedHostLicenseTypes']]): + pulumi.set(self, "license_type", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="platformFaultDomain") + def platform_fault_domain(self) -> Optional[pulumi.Input[int]]: + """ + Fault domain of the dedicated host within a dedicated host group. + """ + return pulumi.get(self, "platform_fault_domain") + + @platform_fault_domain.setter + def platform_fault_domain(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "platform_fault_domain", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class DedicatedHost(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_replace_on_failure: Optional[pulumi.Input[bool]] = None, + host_group_name: Optional[pulumi.Input[str]] = None, + host_name: Optional[pulumi.Input[str]] = None, + license_type: Optional[pulumi.Input['DedicatedHostLicenseTypes']] = None, + location: Optional[pulumi.Input[str]] = None, + platform_fault_domain: Optional[pulumi.Input[int]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Specifies information about the Dedicated host. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] auto_replace_on_failure: Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. + :param pulumi.Input[str] host_group_name: The name of the dedicated host group. + :param pulumi.Input[str] host_name: The name of the dedicated host . + :param pulumi.Input['DedicatedHostLicenseTypes'] license_type: Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[int] platform_fault_domain: Fault domain of the dedicated host within a dedicated host group. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[pulumi.InputType['SkuArgs']] sku: SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DedicatedHostArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Specifies information about the Dedicated host. + + :param str resource_name: The name of the resource. + :param DedicatedHostArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DedicatedHostArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_replace_on_failure: Optional[pulumi.Input[bool]] = None, + host_group_name: Optional[pulumi.Input[str]] = None, + host_name: Optional[pulumi.Input[str]] = None, + license_type: Optional[pulumi.Input['DedicatedHostLicenseTypes']] = None, + location: Optional[pulumi.Input[str]] = None, + platform_fault_domain: Optional[pulumi.Input[int]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DedicatedHostArgs.__new__(DedicatedHostArgs) + + __props__.__dict__["auto_replace_on_failure"] = auto_replace_on_failure + if host_group_name is None and not opts.urn: + raise TypeError("Missing required property 'host_group_name'") + __props__.__dict__["host_group_name"] = host_group_name + __props__.__dict__["host_name"] = host_name + __props__.__dict__["license_type"] = license_type + __props__.__dict__["location"] = location + __props__.__dict__["platform_fault_domain"] = platform_fault_domain + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if sku is None and not opts.urn: + raise TypeError("Missing required property 'sku'") + __props__.__dict__["sku"] = sku + __props__.__dict__["tags"] = tags + __props__.__dict__["host_id"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["provisioning_time"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["virtual_machines"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20190301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20190701:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20191201:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20200601:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20201201:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210401:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20210701:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20211101:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20220301:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20220801:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20221101:DedicatedHost"), pulumi.Alias(type_="azure-native:compute/v20230301:DedicatedHost")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(DedicatedHost, __self__).__init__( + 'azure-native:compute/v20230701:DedicatedHost', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DedicatedHost': + """ + Get an existing DedicatedHost resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DedicatedHostArgs.__new__(DedicatedHostArgs) + + __props__.__dict__["auto_replace_on_failure"] = None + __props__.__dict__["host_id"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["license_type"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["platform_fault_domain"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["provisioning_time"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["virtual_machines"] = None + return DedicatedHost(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="autoReplaceOnFailure") + def auto_replace_on_failure(self) -> pulumi.Output[Optional[bool]]: + """ + Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. + """ + return pulumi.get(self, "auto_replace_on_failure") + + @property + @pulumi.getter(name="hostId") + def host_id(self) -> pulumi.Output[str]: + """ + A unique id generated and assigned to the dedicated host by the platform. Does not change throughout the lifetime of the host. + """ + return pulumi.get(self, "host_id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> pulumi.Output['outputs.DedicatedHostInstanceViewResponse']: + """ + The dedicated host instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + """ + return pulumi.get(self, "license_type") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="platformFaultDomain") + def platform_fault_domain(self) -> pulumi.Output[Optional[int]]: + """ + Fault domain of the dedicated host within a dedicated host group. + """ + return pulumi.get(self, "platform_fault_domain") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="provisioningTime") + def provisioning_time(self) -> pulumi.Output[str]: + """ + The date when the host was first provisioned. + """ + return pulumi.get(self, "provisioning_time") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output['outputs.SkuResponse']: + """ + SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> pulumi.Output[str]: + """ + Specifies the time at which the Dedicated Host resource was created. Minimum api-version: 2021-11-01. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="virtualMachines") + def virtual_machines(self) -> pulumi.Output[Sequence['outputs.SubResourceReadOnlyResponse']]: + """ + A list of references to all virtual machines in the Dedicated Host. + """ + return pulumi.get(self, "virtual_machines") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/dedicated_host_group.py b/sdk/python/pulumi_azure_native/compute/v20230701/dedicated_host_group.py new file mode 100644 index 000000000000..79cacd1a0bab --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/dedicated_host_group.py @@ -0,0 +1,350 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['DedicatedHostGroupArgs', 'DedicatedHostGroup'] + +@pulumi.input_type +class DedicatedHostGroupArgs: + def __init__(__self__, *, + platform_fault_domain_count: pulumi.Input[int], + resource_group_name: pulumi.Input[str], + additional_capabilities: Optional[pulumi.Input['DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs']] = None, + host_group_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + support_automatic_placement: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a DedicatedHostGroup resource. + :param pulumi.Input[int] platform_fault_domain_count: Number of fault domains that the host group can span. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input['DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs'] additional_capabilities: Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + :param pulumi.Input[str] host_group_name: The name of the dedicated host group. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[bool] support_automatic_placement: Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone. + """ + pulumi.set(__self__, "platform_fault_domain_count", platform_fault_domain_count) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if additional_capabilities is not None: + pulumi.set(__self__, "additional_capabilities", additional_capabilities) + if host_group_name is not None: + pulumi.set(__self__, "host_group_name", host_group_name) + if location is not None: + pulumi.set(__self__, "location", location) + if support_automatic_placement is not None: + pulumi.set(__self__, "support_automatic_placement", support_automatic_placement) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if zones is not None: + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="platformFaultDomainCount") + def platform_fault_domain_count(self) -> pulumi.Input[int]: + """ + Number of fault domains that the host group can span. + """ + return pulumi.get(self, "platform_fault_domain_count") + + @platform_fault_domain_count.setter + def platform_fault_domain_count(self, value: pulumi.Input[int]): + pulumi.set(self, "platform_fault_domain_count", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="additionalCapabilities") + def additional_capabilities(self) -> Optional[pulumi.Input['DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs']]: + """ + Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + """ + return pulumi.get(self, "additional_capabilities") + + @additional_capabilities.setter + def additional_capabilities(self, value: Optional[pulumi.Input['DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs']]): + pulumi.set(self, "additional_capabilities", value) + + @property + @pulumi.getter(name="hostGroupName") + def host_group_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the dedicated host group. + """ + return pulumi.get(self, "host_group_name") + + @host_group_name.setter + def host_group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_group_name", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="supportAutomaticPlacement") + def support_automatic_placement(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "support_automatic_placement") + + @support_automatic_placement.setter + def support_automatic_placement(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "support_automatic_placement", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone. + """ + return pulumi.get(self, "zones") + + @zones.setter + def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "zones", value) + + +class DedicatedHostGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + additional_capabilities: Optional[pulumi.Input[pulumi.InputType['DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs']]] = None, + host_group_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + platform_fault_domain_count: Optional[pulumi.Input[int]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + support_automatic_placement: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Specifies information about the dedicated host group that the dedicated hosts should be assigned to. Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs']] additional_capabilities: Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + :param pulumi.Input[str] host_group_name: The name of the dedicated host group. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[int] platform_fault_domain_count: Number of fault domains that the host group can span. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[bool] support_automatic_placement: Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DedicatedHostGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Specifies information about the dedicated host group that the dedicated hosts should be assigned to. Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group. + + :param str resource_name: The name of the resource. + :param DedicatedHostGroupArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DedicatedHostGroupArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + additional_capabilities: Optional[pulumi.Input[pulumi.InputType['DedicatedHostGroupPropertiesAdditionalCapabilitiesArgs']]] = None, + host_group_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + platform_fault_domain_count: Optional[pulumi.Input[int]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + support_automatic_placement: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DedicatedHostGroupArgs.__new__(DedicatedHostGroupArgs) + + __props__.__dict__["additional_capabilities"] = additional_capabilities + __props__.__dict__["host_group_name"] = host_group_name + __props__.__dict__["location"] = location + if platform_fault_domain_count is None and not opts.urn: + raise TypeError("Missing required property 'platform_fault_domain_count'") + __props__.__dict__["platform_fault_domain_count"] = platform_fault_domain_count + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["support_automatic_placement"] = support_automatic_placement + __props__.__dict__["tags"] = tags + __props__.__dict__["zones"] = zones + __props__.__dict__["hosts"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["name"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20190301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20190701:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20191201:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20200601:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20201201:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:DedicatedHostGroup"), pulumi.Alias(type_="azure-native:compute/v20230301:DedicatedHostGroup")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(DedicatedHostGroup, __self__).__init__( + 'azure-native:compute/v20230701:DedicatedHostGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DedicatedHostGroup': + """ + Get an existing DedicatedHostGroup resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DedicatedHostGroupArgs.__new__(DedicatedHostGroupArgs) + + __props__.__dict__["additional_capabilities"] = None + __props__.__dict__["hosts"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["platform_fault_domain_count"] = None + __props__.__dict__["support_automatic_placement"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["zones"] = None + return DedicatedHostGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="additionalCapabilities") + def additional_capabilities(self) -> pulumi.Output[Optional['outputs.DedicatedHostGroupPropertiesResponseAdditionalCapabilities']]: + """ + Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + """ + return pulumi.get(self, "additional_capabilities") + + @property + @pulumi.getter + def hosts(self) -> pulumi.Output[Sequence['outputs.SubResourceReadOnlyResponse']]: + """ + A list of references to all dedicated hosts in the dedicated host group. + """ + return pulumi.get(self, "hosts") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> pulumi.Output['outputs.DedicatedHostGroupInstanceViewResponse']: + """ + The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="platformFaultDomainCount") + def platform_fault_domain_count(self) -> pulumi.Output[int]: + """ + Number of fault domains that the host group can span. + """ + return pulumi.get(self, "platform_fault_domain_count") + + @property + @pulumi.getter(name="supportAutomaticPlacement") + def support_automatic_placement(self) -> pulumi.Output[Optional[bool]]: + """ + Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "support_automatic_placement") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone. + """ + return pulumi.get(self, "zones") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_availability_set.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_availability_set.py new file mode 100644 index 000000000000..d296b093a685 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_availability_set.py @@ -0,0 +1,209 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetAvailabilitySetResult', + 'AwaitableGetAvailabilitySetResult', + 'get_availability_set', + 'get_availability_set_output', +] + +@pulumi.output_type +class GetAvailabilitySetResult: + """ + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to an availability set at creation time. An existing VM cannot be added to an availability set. + """ + def __init__(__self__, id=None, location=None, name=None, platform_fault_domain_count=None, platform_update_domain_count=None, proximity_placement_group=None, sku=None, statuses=None, tags=None, type=None, virtual_machines=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if platform_fault_domain_count and not isinstance(platform_fault_domain_count, int): + raise TypeError("Expected argument 'platform_fault_domain_count' to be a int") + pulumi.set(__self__, "platform_fault_domain_count", platform_fault_domain_count) + if platform_update_domain_count and not isinstance(platform_update_domain_count, int): + raise TypeError("Expected argument 'platform_update_domain_count' to be a int") + pulumi.set(__self__, "platform_update_domain_count", platform_update_domain_count) + if proximity_placement_group and not isinstance(proximity_placement_group, dict): + raise TypeError("Expected argument 'proximity_placement_group' to be a dict") + pulumi.set(__self__, "proximity_placement_group", proximity_placement_group) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if statuses and not isinstance(statuses, list): + raise TypeError("Expected argument 'statuses' to be a list") + pulumi.set(__self__, "statuses", statuses) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if virtual_machines and not isinstance(virtual_machines, list): + raise TypeError("Expected argument 'virtual_machines' to be a list") + pulumi.set(__self__, "virtual_machines", virtual_machines) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="platformFaultDomainCount") + def platform_fault_domain_count(self) -> Optional[int]: + """ + Fault Domain count. + """ + return pulumi.get(self, "platform_fault_domain_count") + + @property + @pulumi.getter(name="platformUpdateDomainCount") + def platform_update_domain_count(self) -> Optional[int]: + """ + Update Domain count. + """ + return pulumi.get(self, "platform_update_domain_count") + + @property + @pulumi.getter(name="proximityPlacementGroup") + def proximity_placement_group(self) -> Optional['outputs.SubResourceResponse']: + """ + Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. + """ + return pulumi.get(self, "proximity_placement_group") + + @property + @pulumi.getter + def sku(self) -> Optional['outputs.SkuResponse']: + """ + Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter + def statuses(self) -> Sequence['outputs.InstanceViewStatusResponse']: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="virtualMachines") + def virtual_machines(self) -> Optional[Sequence['outputs.SubResourceResponse']]: + """ + A list of references to all virtual machines in the availability set. + """ + return pulumi.get(self, "virtual_machines") + + +class AwaitableGetAvailabilitySetResult(GetAvailabilitySetResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAvailabilitySetResult( + id=self.id, + location=self.location, + name=self.name, + platform_fault_domain_count=self.platform_fault_domain_count, + platform_update_domain_count=self.platform_update_domain_count, + proximity_placement_group=self.proximity_placement_group, + sku=self.sku, + statuses=self.statuses, + tags=self.tags, + type=self.type, + virtual_machines=self.virtual_machines) + + +def get_availability_set(availability_set_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAvailabilitySetResult: + """ + Retrieves information about an availability set. + + + :param str availability_set_name: The name of the availability set. + :param str resource_group_name: The name of the resource group. + """ + __args__ = dict() + __args__['availabilitySetName'] = availability_set_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getAvailabilitySet', __args__, opts=opts, typ=GetAvailabilitySetResult).value + + return AwaitableGetAvailabilitySetResult( + id=__ret__.id, + location=__ret__.location, + name=__ret__.name, + platform_fault_domain_count=__ret__.platform_fault_domain_count, + platform_update_domain_count=__ret__.platform_update_domain_count, + proximity_placement_group=__ret__.proximity_placement_group, + sku=__ret__.sku, + statuses=__ret__.statuses, + tags=__ret__.tags, + type=__ret__.type, + virtual_machines=__ret__.virtual_machines) + + +@_utilities.lift_output_func(get_availability_set) +def get_availability_set_output(availability_set_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAvailabilitySetResult]: + """ + Retrieves information about an availability set. + + + :param str availability_set_name: The name of the availability set. + :param str resource_group_name: The name of the resource group. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_capacity_reservation.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_capacity_reservation.py new file mode 100644 index 000000000000..139f74b18c3a --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_capacity_reservation.py @@ -0,0 +1,258 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetCapacityReservationResult', + 'AwaitableGetCapacityReservationResult', + 'get_capacity_reservation', + 'get_capacity_reservation_output', +] + +@pulumi.output_type +class GetCapacityReservationResult: + """ + Specifies information about the capacity reservation. + """ + def __init__(__self__, id=None, instance_view=None, location=None, name=None, platform_fault_domain_count=None, provisioning_state=None, provisioning_time=None, reservation_id=None, sku=None, tags=None, time_created=None, type=None, virtual_machines_associated=None, zones=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_view and not isinstance(instance_view, dict): + raise TypeError("Expected argument 'instance_view' to be a dict") + pulumi.set(__self__, "instance_view", instance_view) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if platform_fault_domain_count and not isinstance(platform_fault_domain_count, int): + raise TypeError("Expected argument 'platform_fault_domain_count' to be a int") + pulumi.set(__self__, "platform_fault_domain_count", platform_fault_domain_count) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if provisioning_time and not isinstance(provisioning_time, str): + raise TypeError("Expected argument 'provisioning_time' to be a str") + pulumi.set(__self__, "provisioning_time", provisioning_time) + if reservation_id and not isinstance(reservation_id, str): + raise TypeError("Expected argument 'reservation_id' to be a str") + pulumi.set(__self__, "reservation_id", reservation_id) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if time_created and not isinstance(time_created, str): + raise TypeError("Expected argument 'time_created' to be a str") + pulumi.set(__self__, "time_created", time_created) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if virtual_machines_associated and not isinstance(virtual_machines_associated, list): + raise TypeError("Expected argument 'virtual_machines_associated' to be a list") + pulumi.set(__self__, "virtual_machines_associated", virtual_machines_associated) + if zones and not isinstance(zones, list): + raise TypeError("Expected argument 'zones' to be a list") + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> 'outputs.CapacityReservationInstanceViewResponse': + """ + The Capacity reservation instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="platformFaultDomainCount") + def platform_fault_domain_count(self) -> int: + """ + Specifies the value of fault domain count that Capacity Reservation supports for requested VM size. **Note:** The fault domain count specified for a resource (like virtual machines scale set) must be less than or equal to this value if it deploys using capacity reservation. Minimum api-version: 2022-08-01. + """ + return pulumi.get(self, "platform_fault_domain_count") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="provisioningTime") + def provisioning_time(self) -> str: + """ + The date time when the capacity reservation was last updated. + """ + return pulumi.get(self, "provisioning_time") + + @property + @pulumi.getter(name="reservationId") + def reservation_id(self) -> str: + """ + A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource. + """ + return pulumi.get(self, "reservation_id") + + @property + @pulumi.getter + def sku(self) -> 'outputs.SkuResponse': + """ + SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> str: + """ + Specifies the time at which the Capacity Reservation resource was created. Minimum api-version: 2021-11-01. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="virtualMachinesAssociated") + def virtual_machines_associated(self) -> Sequence['outputs.SubResourceReadOnlyResponse']: + """ + A list of all virtual machine resource ids that are associated with the capacity reservation. + """ + return pulumi.get(self, "virtual_machines_associated") + + @property + @pulumi.getter + def zones(self) -> Optional[Sequence[str]]: + """ + Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone. + """ + return pulumi.get(self, "zones") + + +class AwaitableGetCapacityReservationResult(GetCapacityReservationResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCapacityReservationResult( + id=self.id, + instance_view=self.instance_view, + location=self.location, + name=self.name, + platform_fault_domain_count=self.platform_fault_domain_count, + provisioning_state=self.provisioning_state, + provisioning_time=self.provisioning_time, + reservation_id=self.reservation_id, + sku=self.sku, + tags=self.tags, + time_created=self.time_created, + type=self.type, + virtual_machines_associated=self.virtual_machines_associated, + zones=self.zones) + + +def get_capacity_reservation(capacity_reservation_group_name: Optional[str] = None, + capacity_reservation_name: Optional[str] = None, + expand: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCapacityReservationResult: + """ + The operation that retrieves information about the capacity reservation. + + + :param str capacity_reservation_group_name: The name of the capacity reservation group. + :param str capacity_reservation_name: The name of the capacity reservation. + :param str expand: The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations. + :param str resource_group_name: The name of the resource group. + """ + __args__ = dict() + __args__['capacityReservationGroupName'] = capacity_reservation_group_name + __args__['capacityReservationName'] = capacity_reservation_name + __args__['expand'] = expand + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getCapacityReservation', __args__, opts=opts, typ=GetCapacityReservationResult).value + + return AwaitableGetCapacityReservationResult( + id=__ret__.id, + instance_view=__ret__.instance_view, + location=__ret__.location, + name=__ret__.name, + platform_fault_domain_count=__ret__.platform_fault_domain_count, + provisioning_state=__ret__.provisioning_state, + provisioning_time=__ret__.provisioning_time, + reservation_id=__ret__.reservation_id, + sku=__ret__.sku, + tags=__ret__.tags, + time_created=__ret__.time_created, + type=__ret__.type, + virtual_machines_associated=__ret__.virtual_machines_associated, + zones=__ret__.zones) + + +@_utilities.lift_output_func(get_capacity_reservation) +def get_capacity_reservation_output(capacity_reservation_group_name: Optional[pulumi.Input[str]] = None, + capacity_reservation_name: Optional[pulumi.Input[str]] = None, + expand: Optional[pulumi.Input[Optional[str]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCapacityReservationResult]: + """ + The operation that retrieves information about the capacity reservation. + + + :param str capacity_reservation_group_name: The name of the capacity reservation group. + :param str capacity_reservation_name: The name of the capacity reservation. + :param str expand: The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations. + :param str resource_group_name: The name of the resource group. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_capacity_reservation_group.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_capacity_reservation_group.py new file mode 100644 index 000000000000..cba9630b013e --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_capacity_reservation_group.py @@ -0,0 +1,188 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetCapacityReservationGroupResult', + 'AwaitableGetCapacityReservationGroupResult', + 'get_capacity_reservation_group', + 'get_capacity_reservation_group_output', +] + +@pulumi.output_type +class GetCapacityReservationGroupResult: + """ + Specifies information about the capacity reservation group that the capacity reservations should be assigned to. Currently, a capacity reservation can only be added to a capacity reservation group at creation time. An existing capacity reservation cannot be added or moved to another capacity reservation group. + """ + def __init__(__self__, capacity_reservations=None, id=None, instance_view=None, location=None, name=None, tags=None, type=None, virtual_machines_associated=None, zones=None): + if capacity_reservations and not isinstance(capacity_reservations, list): + raise TypeError("Expected argument 'capacity_reservations' to be a list") + pulumi.set(__self__, "capacity_reservations", capacity_reservations) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_view and not isinstance(instance_view, dict): + raise TypeError("Expected argument 'instance_view' to be a dict") + pulumi.set(__self__, "instance_view", instance_view) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if virtual_machines_associated and not isinstance(virtual_machines_associated, list): + raise TypeError("Expected argument 'virtual_machines_associated' to be a list") + pulumi.set(__self__, "virtual_machines_associated", virtual_machines_associated) + if zones and not isinstance(zones, list): + raise TypeError("Expected argument 'zones' to be a list") + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="capacityReservations") + def capacity_reservations(self) -> Sequence['outputs.SubResourceReadOnlyResponse']: + """ + A list of all capacity reservation resource ids that belong to capacity reservation group. + """ + return pulumi.get(self, "capacity_reservations") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> 'outputs.CapacityReservationGroupInstanceViewResponse': + """ + The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="virtualMachinesAssociated") + def virtual_machines_associated(self) -> Sequence['outputs.SubResourceReadOnlyResponse']: + """ + A list of references to all virtual machines associated to the capacity reservation group. + """ + return pulumi.get(self, "virtual_machines_associated") + + @property + @pulumi.getter + def zones(self) -> Optional[Sequence[str]]: + """ + Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones. + """ + return pulumi.get(self, "zones") + + +class AwaitableGetCapacityReservationGroupResult(GetCapacityReservationGroupResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCapacityReservationGroupResult( + capacity_reservations=self.capacity_reservations, + id=self.id, + instance_view=self.instance_view, + location=self.location, + name=self.name, + tags=self.tags, + type=self.type, + virtual_machines_associated=self.virtual_machines_associated, + zones=self.zones) + + +def get_capacity_reservation_group(capacity_reservation_group_name: Optional[str] = None, + expand: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCapacityReservationGroupResult: + """ + The operation that retrieves information about a capacity reservation group. + + + :param str capacity_reservation_group_name: The name of the capacity reservation group. + :param str expand: The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the capacity reservations under the capacity reservation group which is a snapshot of the runtime properties of a capacity reservation that is managed by the platform and can change outside of control plane operations. + :param str resource_group_name: The name of the resource group. + """ + __args__ = dict() + __args__['capacityReservationGroupName'] = capacity_reservation_group_name + __args__['expand'] = expand + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getCapacityReservationGroup', __args__, opts=opts, typ=GetCapacityReservationGroupResult).value + + return AwaitableGetCapacityReservationGroupResult( + capacity_reservations=__ret__.capacity_reservations, + id=__ret__.id, + instance_view=__ret__.instance_view, + location=__ret__.location, + name=__ret__.name, + tags=__ret__.tags, + type=__ret__.type, + virtual_machines_associated=__ret__.virtual_machines_associated, + zones=__ret__.zones) + + +@_utilities.lift_output_func(get_capacity_reservation_group) +def get_capacity_reservation_group_output(capacity_reservation_group_name: Optional[pulumi.Input[str]] = None, + expand: Optional[pulumi.Input[Optional[str]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCapacityReservationGroupResult]: + """ + The operation that retrieves information about a capacity reservation group. + + + :param str capacity_reservation_group_name: The name of the capacity reservation group. + :param str expand: The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the capacity reservations under the capacity reservation group which is a snapshot of the runtime properties of a capacity reservation that is managed by the platform and can change outside of control plane operations. + :param str resource_group_name: The name of the resource group. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_dedicated_host.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_dedicated_host.py new file mode 100644 index 000000000000..72ea1a17eff4 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_dedicated_host.py @@ -0,0 +1,271 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetDedicatedHostResult', + 'AwaitableGetDedicatedHostResult', + 'get_dedicated_host', + 'get_dedicated_host_output', +] + +@pulumi.output_type +class GetDedicatedHostResult: + """ + Specifies information about the Dedicated host. + """ + def __init__(__self__, auto_replace_on_failure=None, host_id=None, id=None, instance_view=None, license_type=None, location=None, name=None, platform_fault_domain=None, provisioning_state=None, provisioning_time=None, sku=None, tags=None, time_created=None, type=None, virtual_machines=None): + if auto_replace_on_failure and not isinstance(auto_replace_on_failure, bool): + raise TypeError("Expected argument 'auto_replace_on_failure' to be a bool") + pulumi.set(__self__, "auto_replace_on_failure", auto_replace_on_failure) + if host_id and not isinstance(host_id, str): + raise TypeError("Expected argument 'host_id' to be a str") + pulumi.set(__self__, "host_id", host_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_view and not isinstance(instance_view, dict): + raise TypeError("Expected argument 'instance_view' to be a dict") + pulumi.set(__self__, "instance_view", instance_view) + if license_type and not isinstance(license_type, str): + raise TypeError("Expected argument 'license_type' to be a str") + pulumi.set(__self__, "license_type", license_type) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if platform_fault_domain and not isinstance(platform_fault_domain, int): + raise TypeError("Expected argument 'platform_fault_domain' to be a int") + pulumi.set(__self__, "platform_fault_domain", platform_fault_domain) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if provisioning_time and not isinstance(provisioning_time, str): + raise TypeError("Expected argument 'provisioning_time' to be a str") + pulumi.set(__self__, "provisioning_time", provisioning_time) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if time_created and not isinstance(time_created, str): + raise TypeError("Expected argument 'time_created' to be a str") + pulumi.set(__self__, "time_created", time_created) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if virtual_machines and not isinstance(virtual_machines, list): + raise TypeError("Expected argument 'virtual_machines' to be a list") + pulumi.set(__self__, "virtual_machines", virtual_machines) + + @property + @pulumi.getter(name="autoReplaceOnFailure") + def auto_replace_on_failure(self) -> Optional[bool]: + """ + Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided. + """ + return pulumi.get(self, "auto_replace_on_failure") + + @property + @pulumi.getter(name="hostId") + def host_id(self) -> str: + """ + A unique id generated and assigned to the dedicated host by the platform. Does not change throughout the lifetime of the host. + """ + return pulumi.get(self, "host_id") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> 'outputs.DedicatedHostInstanceViewResponse': + """ + The dedicated host instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> Optional[str]: + """ + Specifies the software license type that will be applied to the VMs deployed on the dedicated host. Possible values are: **None,** **Windows_Server_Hybrid,** **Windows_Server_Perpetual.** The default value is: **None.** + """ + return pulumi.get(self, "license_type") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="platformFaultDomain") + def platform_fault_domain(self) -> Optional[int]: + """ + Fault domain of the dedicated host within a dedicated host group. + """ + return pulumi.get(self, "platform_fault_domain") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="provisioningTime") + def provisioning_time(self) -> str: + """ + The date when the host was first provisioned. + """ + return pulumi.get(self, "provisioning_time") + + @property + @pulumi.getter + def sku(self) -> 'outputs.SkuResponse': + """ + SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> str: + """ + Specifies the time at which the Dedicated Host resource was created. Minimum api-version: 2021-11-01. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="virtualMachines") + def virtual_machines(self) -> Sequence['outputs.SubResourceReadOnlyResponse']: + """ + A list of references to all virtual machines in the Dedicated Host. + """ + return pulumi.get(self, "virtual_machines") + + +class AwaitableGetDedicatedHostResult(GetDedicatedHostResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDedicatedHostResult( + auto_replace_on_failure=self.auto_replace_on_failure, + host_id=self.host_id, + id=self.id, + instance_view=self.instance_view, + license_type=self.license_type, + location=self.location, + name=self.name, + platform_fault_domain=self.platform_fault_domain, + provisioning_state=self.provisioning_state, + provisioning_time=self.provisioning_time, + sku=self.sku, + tags=self.tags, + time_created=self.time_created, + type=self.type, + virtual_machines=self.virtual_machines) + + +def get_dedicated_host(expand: Optional[str] = None, + host_group_name: Optional[str] = None, + host_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDedicatedHostResult: + """ + Retrieves information about a dedicated host. + + + :param str expand: The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated host. 'UserData' is not supported for dedicated host. + :param str host_group_name: The name of the dedicated host group. + :param str host_name: The name of the dedicated host. + :param str resource_group_name: The name of the resource group. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['hostGroupName'] = host_group_name + __args__['hostName'] = host_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getDedicatedHost', __args__, opts=opts, typ=GetDedicatedHostResult).value + + return AwaitableGetDedicatedHostResult( + auto_replace_on_failure=__ret__.auto_replace_on_failure, + host_id=__ret__.host_id, + id=__ret__.id, + instance_view=__ret__.instance_view, + license_type=__ret__.license_type, + location=__ret__.location, + name=__ret__.name, + platform_fault_domain=__ret__.platform_fault_domain, + provisioning_state=__ret__.provisioning_state, + provisioning_time=__ret__.provisioning_time, + sku=__ret__.sku, + tags=__ret__.tags, + time_created=__ret__.time_created, + type=__ret__.type, + virtual_machines=__ret__.virtual_machines) + + +@_utilities.lift_output_func(get_dedicated_host) +def get_dedicated_host_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + host_group_name: Optional[pulumi.Input[str]] = None, + host_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDedicatedHostResult]: + """ + Retrieves information about a dedicated host. + + + :param str expand: The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated host. 'UserData' is not supported for dedicated host. + :param str host_group_name: The name of the dedicated host group. + :param str host_name: The name of the dedicated host. + :param str resource_group_name: The name of the resource group. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_dedicated_host_group.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_dedicated_host_group.py new file mode 100644 index 000000000000..5d14123285ab --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_dedicated_host_group.py @@ -0,0 +1,214 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetDedicatedHostGroupResult', + 'AwaitableGetDedicatedHostGroupResult', + 'get_dedicated_host_group', + 'get_dedicated_host_group_output', +] + +@pulumi.output_type +class GetDedicatedHostGroupResult: + """ + Specifies information about the dedicated host group that the dedicated hosts should be assigned to. Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group. + """ + def __init__(__self__, additional_capabilities=None, hosts=None, id=None, instance_view=None, location=None, name=None, platform_fault_domain_count=None, support_automatic_placement=None, tags=None, type=None, zones=None): + if additional_capabilities and not isinstance(additional_capabilities, dict): + raise TypeError("Expected argument 'additional_capabilities' to be a dict") + pulumi.set(__self__, "additional_capabilities", additional_capabilities) + if hosts and not isinstance(hosts, list): + raise TypeError("Expected argument 'hosts' to be a list") + pulumi.set(__self__, "hosts", hosts) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_view and not isinstance(instance_view, dict): + raise TypeError("Expected argument 'instance_view' to be a dict") + pulumi.set(__self__, "instance_view", instance_view) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if platform_fault_domain_count and not isinstance(platform_fault_domain_count, int): + raise TypeError("Expected argument 'platform_fault_domain_count' to be a int") + pulumi.set(__self__, "platform_fault_domain_count", platform_fault_domain_count) + if support_automatic_placement and not isinstance(support_automatic_placement, bool): + raise TypeError("Expected argument 'support_automatic_placement' to be a bool") + pulumi.set(__self__, "support_automatic_placement", support_automatic_placement) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if zones and not isinstance(zones, list): + raise TypeError("Expected argument 'zones' to be a list") + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="additionalCapabilities") + def additional_capabilities(self) -> Optional['outputs.DedicatedHostGroupPropertiesResponseAdditionalCapabilities']: + """ + Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + """ + return pulumi.get(self, "additional_capabilities") + + @property + @pulumi.getter + def hosts(self) -> Sequence['outputs.SubResourceReadOnlyResponse']: + """ + A list of references to all dedicated hosts in the dedicated host group. + """ + return pulumi.get(self, "hosts") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> 'outputs.DedicatedHostGroupInstanceViewResponse': + """ + The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="platformFaultDomainCount") + def platform_fault_domain_count(self) -> int: + """ + Number of fault domains that the host group can span. + """ + return pulumi.get(self, "platform_fault_domain_count") + + @property + @pulumi.getter(name="supportAutomaticPlacement") + def support_automatic_placement(self) -> Optional[bool]: + """ + Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided. Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "support_automatic_placement") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def zones(self) -> Optional[Sequence[str]]: + """ + Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone. + """ + return pulumi.get(self, "zones") + + +class AwaitableGetDedicatedHostGroupResult(GetDedicatedHostGroupResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDedicatedHostGroupResult( + additional_capabilities=self.additional_capabilities, + hosts=self.hosts, + id=self.id, + instance_view=self.instance_view, + location=self.location, + name=self.name, + platform_fault_domain_count=self.platform_fault_domain_count, + support_automatic_placement=self.support_automatic_placement, + tags=self.tags, + type=self.type, + zones=self.zones) + + +def get_dedicated_host_group(expand: Optional[str] = None, + host_group_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDedicatedHostGroupResult: + """ + Retrieves information about a dedicated host group. + + + :param str expand: The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated hosts under the dedicated host group. 'UserData' is not supported for dedicated host group. + :param str host_group_name: The name of the dedicated host group. + :param str resource_group_name: The name of the resource group. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['hostGroupName'] = host_group_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getDedicatedHostGroup', __args__, opts=opts, typ=GetDedicatedHostGroupResult).value + + return AwaitableGetDedicatedHostGroupResult( + additional_capabilities=__ret__.additional_capabilities, + hosts=__ret__.hosts, + id=__ret__.id, + instance_view=__ret__.instance_view, + location=__ret__.location, + name=__ret__.name, + platform_fault_domain_count=__ret__.platform_fault_domain_count, + support_automatic_placement=__ret__.support_automatic_placement, + tags=__ret__.tags, + type=__ret__.type, + zones=__ret__.zones) + + +@_utilities.lift_output_func(get_dedicated_host_group) +def get_dedicated_host_group_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + host_group_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDedicatedHostGroupResult]: + """ + Retrieves information about a dedicated host group. + + + :param str expand: The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated hosts under the dedicated host group. 'UserData' is not supported for dedicated host group. + :param str host_group_name: The name of the dedicated host group. + :param str resource_group_name: The name of the resource group. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_image.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_image.py new file mode 100644 index 000000000000..35c487ce79f4 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_image.py @@ -0,0 +1,201 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetImageResult', + 'AwaitableGetImageResult', + 'get_image', + 'get_image_output', +] + +@pulumi.output_type +class GetImageResult: + """ + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + """ + def __init__(__self__, extended_location=None, hyper_v_generation=None, id=None, location=None, name=None, provisioning_state=None, source_virtual_machine=None, storage_profile=None, tags=None, type=None): + if extended_location and not isinstance(extended_location, dict): + raise TypeError("Expected argument 'extended_location' to be a dict") + pulumi.set(__self__, "extended_location", extended_location) + if hyper_v_generation and not isinstance(hyper_v_generation, str): + raise TypeError("Expected argument 'hyper_v_generation' to be a str") + pulumi.set(__self__, "hyper_v_generation", hyper_v_generation) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if source_virtual_machine and not isinstance(source_virtual_machine, dict): + raise TypeError("Expected argument 'source_virtual_machine' to be a dict") + pulumi.set(__self__, "source_virtual_machine", source_virtual_machine) + if storage_profile and not isinstance(storage_profile, dict): + raise TypeError("Expected argument 'storage_profile' to be a dict") + pulumi.set(__self__, "storage_profile", storage_profile) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional['outputs.ExtendedLocationResponse']: + """ + The extended location of the Image. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter(name="hyperVGeneration") + def hyper_v_generation(self) -> Optional[str]: + """ + Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + """ + return pulumi.get(self, "hyper_v_generation") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="sourceVirtualMachine") + def source_virtual_machine(self) -> Optional['outputs.SubResourceResponse']: + """ + The source virtual machine from which Image is created. + """ + return pulumi.get(self, "source_virtual_machine") + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional['outputs.ImageStorageProfileResponse']: + """ + Specifies the storage settings for the virtual machine disks. + """ + return pulumi.get(self, "storage_profile") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + +class AwaitableGetImageResult(GetImageResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetImageResult( + extended_location=self.extended_location, + hyper_v_generation=self.hyper_v_generation, + id=self.id, + location=self.location, + name=self.name, + provisioning_state=self.provisioning_state, + source_virtual_machine=self.source_virtual_machine, + storage_profile=self.storage_profile, + tags=self.tags, + type=self.type) + + +def get_image(expand: Optional[str] = None, + image_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetImageResult: + """ + Gets an image. + + + :param str expand: The expand expression to apply on the operation. + :param str image_name: The name of the image. + :param str resource_group_name: The name of the resource group. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['imageName'] = image_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getImage', __args__, opts=opts, typ=GetImageResult).value + + return AwaitableGetImageResult( + extended_location=__ret__.extended_location, + hyper_v_generation=__ret__.hyper_v_generation, + id=__ret__.id, + location=__ret__.location, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + source_virtual_machine=__ret__.source_virtual_machine, + storage_profile=__ret__.storage_profile, + tags=__ret__.tags, + type=__ret__.type) + + +@_utilities.lift_output_func(get_image) +def get_image_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + image_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetImageResult]: + """ + Gets an image. + + + :param str expand: The expand expression to apply on the operation. + :param str image_name: The name of the image. + :param str resource_group_name: The name of the resource group. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_log_analytic_export_request_rate_by_interval.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_log_analytic_export_request_rate_by_interval.py new file mode 100644 index 000000000000..f8c03001bbdf --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_log_analytic_export_request_rate_by_interval.py @@ -0,0 +1,120 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'GetLogAnalyticExportRequestRateByIntervalResult', + 'AwaitableGetLogAnalyticExportRequestRateByIntervalResult', + 'get_log_analytic_export_request_rate_by_interval', + 'get_log_analytic_export_request_rate_by_interval_output', +] + +@pulumi.output_type +class GetLogAnalyticExportRequestRateByIntervalResult: + """ + LogAnalytics operation status response + """ + def __init__(__self__, properties=None): + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) + + @property + @pulumi.getter + def properties(self) -> 'outputs.LogAnalyticsOutputResponse': + """ + LogAnalyticsOutput + """ + return pulumi.get(self, "properties") + + +class AwaitableGetLogAnalyticExportRequestRateByIntervalResult(GetLogAnalyticExportRequestRateByIntervalResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetLogAnalyticExportRequestRateByIntervalResult( + properties=self.properties) + + +def get_log_analytic_export_request_rate_by_interval(blob_container_sas_uri: Optional[str] = None, + from_time: Optional[str] = None, + group_by_client_application_id: Optional[bool] = None, + group_by_operation_name: Optional[bool] = None, + group_by_resource_name: Optional[bool] = None, + group_by_throttle_policy: Optional[bool] = None, + group_by_user_agent: Optional[bool] = None, + interval_length: Optional['IntervalInMins'] = None, + location: Optional[str] = None, + to_time: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLogAnalyticExportRequestRateByIntervalResult: + """ + Export logs that show Api requests made by this subscription in the given time window to show throttling activities. + + + :param str blob_container_sas_uri: SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. + :param str from_time: From time of the query + :param bool group_by_client_application_id: Group query result by Client Application ID. + :param bool group_by_operation_name: Group query result by Operation Name. + :param bool group_by_resource_name: Group query result by Resource Name. + :param bool group_by_throttle_policy: Group query result by Throttle Policy applied. + :param bool group_by_user_agent: Group query result by User Agent. + :param 'IntervalInMins' interval_length: Interval value in minutes used to create LogAnalytics call rate logs. + :param str location: The location upon which virtual-machine-sizes is queried. + :param str to_time: To time of the query + """ + __args__ = dict() + __args__['blobContainerSasUri'] = blob_container_sas_uri + __args__['fromTime'] = from_time + __args__['groupByClientApplicationId'] = group_by_client_application_id + __args__['groupByOperationName'] = group_by_operation_name + __args__['groupByResourceName'] = group_by_resource_name + __args__['groupByThrottlePolicy'] = group_by_throttle_policy + __args__['groupByUserAgent'] = group_by_user_agent + __args__['intervalLength'] = interval_length + __args__['location'] = location + __args__['toTime'] = to_time + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getLogAnalyticExportRequestRateByInterval', __args__, opts=opts, typ=GetLogAnalyticExportRequestRateByIntervalResult).value + + return AwaitableGetLogAnalyticExportRequestRateByIntervalResult( + properties=__ret__.properties) + + +@_utilities.lift_output_func(get_log_analytic_export_request_rate_by_interval) +def get_log_analytic_export_request_rate_by_interval_output(blob_container_sas_uri: Optional[pulumi.Input[str]] = None, + from_time: Optional[pulumi.Input[str]] = None, + group_by_client_application_id: Optional[pulumi.Input[Optional[bool]]] = None, + group_by_operation_name: Optional[pulumi.Input[Optional[bool]]] = None, + group_by_resource_name: Optional[pulumi.Input[Optional[bool]]] = None, + group_by_throttle_policy: Optional[pulumi.Input[Optional[bool]]] = None, + group_by_user_agent: Optional[pulumi.Input[Optional[bool]]] = None, + interval_length: Optional[pulumi.Input['IntervalInMins']] = None, + location: Optional[pulumi.Input[str]] = None, + to_time: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLogAnalyticExportRequestRateByIntervalResult]: + """ + Export logs that show Api requests made by this subscription in the given time window to show throttling activities. + + + :param str blob_container_sas_uri: SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. + :param str from_time: From time of the query + :param bool group_by_client_application_id: Group query result by Client Application ID. + :param bool group_by_operation_name: Group query result by Operation Name. + :param bool group_by_resource_name: Group query result by Resource Name. + :param bool group_by_throttle_policy: Group query result by Throttle Policy applied. + :param bool group_by_user_agent: Group query result by User Agent. + :param 'IntervalInMins' interval_length: Interval value in minutes used to create LogAnalytics call rate logs. + :param str location: The location upon which virtual-machine-sizes is queried. + :param str to_time: To time of the query + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_log_analytic_export_throttled_requests.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_log_analytic_export_throttled_requests.py new file mode 100644 index 000000000000..4f3562ccc830 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_log_analytic_export_throttled_requests.py @@ -0,0 +1,114 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetLogAnalyticExportThrottledRequestsResult', + 'AwaitableGetLogAnalyticExportThrottledRequestsResult', + 'get_log_analytic_export_throttled_requests', + 'get_log_analytic_export_throttled_requests_output', +] + +@pulumi.output_type +class GetLogAnalyticExportThrottledRequestsResult: + """ + LogAnalytics operation status response + """ + def __init__(__self__, properties=None): + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) + + @property + @pulumi.getter + def properties(self) -> 'outputs.LogAnalyticsOutputResponse': + """ + LogAnalyticsOutput + """ + return pulumi.get(self, "properties") + + +class AwaitableGetLogAnalyticExportThrottledRequestsResult(GetLogAnalyticExportThrottledRequestsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetLogAnalyticExportThrottledRequestsResult( + properties=self.properties) + + +def get_log_analytic_export_throttled_requests(blob_container_sas_uri: Optional[str] = None, + from_time: Optional[str] = None, + group_by_client_application_id: Optional[bool] = None, + group_by_operation_name: Optional[bool] = None, + group_by_resource_name: Optional[bool] = None, + group_by_throttle_policy: Optional[bool] = None, + group_by_user_agent: Optional[bool] = None, + location: Optional[str] = None, + to_time: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLogAnalyticExportThrottledRequestsResult: + """ + Export logs that show total throttled Api requests for this subscription in the given time window. + + + :param str blob_container_sas_uri: SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. + :param str from_time: From time of the query + :param bool group_by_client_application_id: Group query result by Client Application ID. + :param bool group_by_operation_name: Group query result by Operation Name. + :param bool group_by_resource_name: Group query result by Resource Name. + :param bool group_by_throttle_policy: Group query result by Throttle Policy applied. + :param bool group_by_user_agent: Group query result by User Agent. + :param str location: The location upon which virtual-machine-sizes is queried. + :param str to_time: To time of the query + """ + __args__ = dict() + __args__['blobContainerSasUri'] = blob_container_sas_uri + __args__['fromTime'] = from_time + __args__['groupByClientApplicationId'] = group_by_client_application_id + __args__['groupByOperationName'] = group_by_operation_name + __args__['groupByResourceName'] = group_by_resource_name + __args__['groupByThrottlePolicy'] = group_by_throttle_policy + __args__['groupByUserAgent'] = group_by_user_agent + __args__['location'] = location + __args__['toTime'] = to_time + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getLogAnalyticExportThrottledRequests', __args__, opts=opts, typ=GetLogAnalyticExportThrottledRequestsResult).value + + return AwaitableGetLogAnalyticExportThrottledRequestsResult( + properties=__ret__.properties) + + +@_utilities.lift_output_func(get_log_analytic_export_throttled_requests) +def get_log_analytic_export_throttled_requests_output(blob_container_sas_uri: Optional[pulumi.Input[str]] = None, + from_time: Optional[pulumi.Input[str]] = None, + group_by_client_application_id: Optional[pulumi.Input[Optional[bool]]] = None, + group_by_operation_name: Optional[pulumi.Input[Optional[bool]]] = None, + group_by_resource_name: Optional[pulumi.Input[Optional[bool]]] = None, + group_by_throttle_policy: Optional[pulumi.Input[Optional[bool]]] = None, + group_by_user_agent: Optional[pulumi.Input[Optional[bool]]] = None, + location: Optional[pulumi.Input[str]] = None, + to_time: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLogAnalyticExportThrottledRequestsResult]: + """ + Export logs that show total throttled Api requests for this subscription in the given time window. + + + :param str blob_container_sas_uri: SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to. + :param str from_time: From time of the query + :param bool group_by_client_application_id: Group query result by Client Application ID. + :param bool group_by_operation_name: Group query result by Operation Name. + :param bool group_by_resource_name: Group query result by Resource Name. + :param bool group_by_throttle_policy: Group query result by Throttle Policy applied. + :param bool group_by_user_agent: Group query result by User Agent. + :param str location: The location upon which virtual-machine-sizes is queried. + :param str to_time: To time of the query + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_proximity_placement_group.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_proximity_placement_group.py new file mode 100644 index 000000000000..0ae53b144631 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_proximity_placement_group.py @@ -0,0 +1,227 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetProximityPlacementGroupResult', + 'AwaitableGetProximityPlacementGroupResult', + 'get_proximity_placement_group', + 'get_proximity_placement_group_output', +] + +@pulumi.output_type +class GetProximityPlacementGroupResult: + """ + Specifies information about the proximity placement group. + """ + def __init__(__self__, availability_sets=None, colocation_status=None, id=None, intent=None, location=None, name=None, proximity_placement_group_type=None, tags=None, type=None, virtual_machine_scale_sets=None, virtual_machines=None, zones=None): + if availability_sets and not isinstance(availability_sets, list): + raise TypeError("Expected argument 'availability_sets' to be a list") + pulumi.set(__self__, "availability_sets", availability_sets) + if colocation_status and not isinstance(colocation_status, dict): + raise TypeError("Expected argument 'colocation_status' to be a dict") + pulumi.set(__self__, "colocation_status", colocation_status) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if intent and not isinstance(intent, dict): + raise TypeError("Expected argument 'intent' to be a dict") + pulumi.set(__self__, "intent", intent) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if proximity_placement_group_type and not isinstance(proximity_placement_group_type, str): + raise TypeError("Expected argument 'proximity_placement_group_type' to be a str") + pulumi.set(__self__, "proximity_placement_group_type", proximity_placement_group_type) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if virtual_machine_scale_sets and not isinstance(virtual_machine_scale_sets, list): + raise TypeError("Expected argument 'virtual_machine_scale_sets' to be a list") + pulumi.set(__self__, "virtual_machine_scale_sets", virtual_machine_scale_sets) + if virtual_machines and not isinstance(virtual_machines, list): + raise TypeError("Expected argument 'virtual_machines' to be a list") + pulumi.set(__self__, "virtual_machines", virtual_machines) + if zones and not isinstance(zones, list): + raise TypeError("Expected argument 'zones' to be a list") + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="availabilitySets") + def availability_sets(self) -> Sequence['outputs.SubResourceWithColocationStatusResponse']: + """ + A list of references to all availability sets in the proximity placement group. + """ + return pulumi.get(self, "availability_sets") + + @property + @pulumi.getter(name="colocationStatus") + def colocation_status(self) -> Optional['outputs.InstanceViewStatusResponse']: + """ + Describes colocation status of the Proximity Placement Group. + """ + return pulumi.get(self, "colocation_status") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def intent(self) -> Optional['outputs.ProximityPlacementGroupPropertiesResponseIntent']: + """ + Specifies the user intent of the proximity placement group. + """ + return pulumi.get(self, "intent") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="proximityPlacementGroupType") + def proximity_placement_group_type(self) -> Optional[str]: + """ + Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + """ + return pulumi.get(self, "proximity_placement_group_type") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="virtualMachineScaleSets") + def virtual_machine_scale_sets(self) -> Sequence['outputs.SubResourceWithColocationStatusResponse']: + """ + A list of references to all virtual machine scale sets in the proximity placement group. + """ + return pulumi.get(self, "virtual_machine_scale_sets") + + @property + @pulumi.getter(name="virtualMachines") + def virtual_machines(self) -> Sequence['outputs.SubResourceWithColocationStatusResponse']: + """ + A list of references to all virtual machines in the proximity placement group. + """ + return pulumi.get(self, "virtual_machines") + + @property + @pulumi.getter + def zones(self) -> Optional[Sequence[str]]: + """ + Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. + """ + return pulumi.get(self, "zones") + + +class AwaitableGetProximityPlacementGroupResult(GetProximityPlacementGroupResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetProximityPlacementGroupResult( + availability_sets=self.availability_sets, + colocation_status=self.colocation_status, + id=self.id, + intent=self.intent, + location=self.location, + name=self.name, + proximity_placement_group_type=self.proximity_placement_group_type, + tags=self.tags, + type=self.type, + virtual_machine_scale_sets=self.virtual_machine_scale_sets, + virtual_machines=self.virtual_machines, + zones=self.zones) + + +def get_proximity_placement_group(include_colocation_status: Optional[str] = None, + proximity_placement_group_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProximityPlacementGroupResult: + """ + Retrieves information about a proximity placement group . + + + :param str include_colocation_status: includeColocationStatus=true enables fetching the colocation status of all the resources in the proximity placement group. + :param str proximity_placement_group_name: The name of the proximity placement group. + :param str resource_group_name: The name of the resource group. + """ + __args__ = dict() + __args__['includeColocationStatus'] = include_colocation_status + __args__['proximityPlacementGroupName'] = proximity_placement_group_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getProximityPlacementGroup', __args__, opts=opts, typ=GetProximityPlacementGroupResult).value + + return AwaitableGetProximityPlacementGroupResult( + availability_sets=__ret__.availability_sets, + colocation_status=__ret__.colocation_status, + id=__ret__.id, + intent=__ret__.intent, + location=__ret__.location, + name=__ret__.name, + proximity_placement_group_type=__ret__.proximity_placement_group_type, + tags=__ret__.tags, + type=__ret__.type, + virtual_machine_scale_sets=__ret__.virtual_machine_scale_sets, + virtual_machines=__ret__.virtual_machines, + zones=__ret__.zones) + + +@_utilities.lift_output_func(get_proximity_placement_group) +def get_proximity_placement_group_output(include_colocation_status: Optional[pulumi.Input[Optional[str]]] = None, + proximity_placement_group_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProximityPlacementGroupResult]: + """ + Retrieves information about a proximity placement group . + + + :param str include_colocation_status: includeColocationStatus=true enables fetching the colocation status of all the resources in the proximity placement group. + :param str proximity_placement_group_name: The name of the proximity placement group. + :param str resource_group_name: The name of the resource group. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_restore_point.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_restore_point.py new file mode 100644 index 000000000000..6f2508752524 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_restore_point.py @@ -0,0 +1,206 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetRestorePointResult', + 'AwaitableGetRestorePointResult', + 'get_restore_point', + 'get_restore_point_output', +] + +@pulumi.output_type +class GetRestorePointResult: + """ + Restore Point details. + """ + def __init__(__self__, consistency_mode=None, exclude_disks=None, id=None, instance_view=None, name=None, provisioning_state=None, source_metadata=None, source_restore_point=None, time_created=None, type=None): + if consistency_mode and not isinstance(consistency_mode, str): + raise TypeError("Expected argument 'consistency_mode' to be a str") + pulumi.set(__self__, "consistency_mode", consistency_mode) + if exclude_disks and not isinstance(exclude_disks, list): + raise TypeError("Expected argument 'exclude_disks' to be a list") + pulumi.set(__self__, "exclude_disks", exclude_disks) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_view and not isinstance(instance_view, dict): + raise TypeError("Expected argument 'instance_view' to be a dict") + pulumi.set(__self__, "instance_view", instance_view) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if source_metadata and not isinstance(source_metadata, dict): + raise TypeError("Expected argument 'source_metadata' to be a dict") + pulumi.set(__self__, "source_metadata", source_metadata) + if source_restore_point and not isinstance(source_restore_point, dict): + raise TypeError("Expected argument 'source_restore_point' to be a dict") + pulumi.set(__self__, "source_restore_point", source_restore_point) + if time_created and not isinstance(time_created, str): + raise TypeError("Expected argument 'time_created' to be a str") + pulumi.set(__self__, "time_created", time_created) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="consistencyMode") + def consistency_mode(self) -> Optional[str]: + """ + ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + """ + return pulumi.get(self, "consistency_mode") + + @property + @pulumi.getter(name="excludeDisks") + def exclude_disks(self) -> Optional[Sequence['outputs.ApiEntityReferenceResponse']]: + """ + List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + """ + return pulumi.get(self, "exclude_disks") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> 'outputs.RestorePointInstanceViewResponse': + """ + The restore point instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + Gets the provisioning state of the restore point. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="sourceMetadata") + def source_metadata(self) -> Optional['outputs.RestorePointSourceMetadataResponse']: + """ + Gets the details of the VM captured at the time of the restore point creation. + """ + return pulumi.get(self, "source_metadata") + + @property + @pulumi.getter(name="sourceRestorePoint") + def source_restore_point(self) -> Optional['outputs.ApiEntityReferenceResponse']: + """ + Resource Id of the source restore point from which a copy needs to be created. + """ + return pulumi.get(self, "source_restore_point") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> Optional[str]: + """ + Gets the creation time of the restore point. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + +class AwaitableGetRestorePointResult(GetRestorePointResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetRestorePointResult( + consistency_mode=self.consistency_mode, + exclude_disks=self.exclude_disks, + id=self.id, + instance_view=self.instance_view, + name=self.name, + provisioning_state=self.provisioning_state, + source_metadata=self.source_metadata, + source_restore_point=self.source_restore_point, + time_created=self.time_created, + type=self.type) + + +def get_restore_point(expand: Optional[str] = None, + resource_group_name: Optional[str] = None, + restore_point_collection_name: Optional[str] = None, + restore_point_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRestorePointResult: + """ + The operation to get the restore point. + + + :param str expand: The expand expression to apply on the operation. 'InstanceView' retrieves information about the run-time state of a restore point. + :param str resource_group_name: The name of the resource group. + :param str restore_point_collection_name: The name of the restore point collection. + :param str restore_point_name: The name of the restore point. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['resourceGroupName'] = resource_group_name + __args__['restorePointCollectionName'] = restore_point_collection_name + __args__['restorePointName'] = restore_point_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getRestorePoint', __args__, opts=opts, typ=GetRestorePointResult).value + + return AwaitableGetRestorePointResult( + consistency_mode=__ret__.consistency_mode, + exclude_disks=__ret__.exclude_disks, + id=__ret__.id, + instance_view=__ret__.instance_view, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + source_metadata=__ret__.source_metadata, + source_restore_point=__ret__.source_restore_point, + time_created=__ret__.time_created, + type=__ret__.type) + + +@_utilities.lift_output_func(get_restore_point) +def get_restore_point_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + restore_point_collection_name: Optional[pulumi.Input[str]] = None, + restore_point_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRestorePointResult]: + """ + The operation to get the restore point. + + + :param str expand: The expand expression to apply on the operation. 'InstanceView' retrieves information about the run-time state of a restore point. + :param str resource_group_name: The name of the resource group. + :param str restore_point_collection_name: The name of the restore point collection. + :param str restore_point_name: The name of the restore point. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_restore_point_collection.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_restore_point_collection.py new file mode 100644 index 000000000000..8d82553de270 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_restore_point_collection.py @@ -0,0 +1,188 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetRestorePointCollectionResult', + 'AwaitableGetRestorePointCollectionResult', + 'get_restore_point_collection', + 'get_restore_point_collection_output', +] + +@pulumi.output_type +class GetRestorePointCollectionResult: + """ + Create or update Restore Point collection parameters. + """ + def __init__(__self__, id=None, location=None, name=None, provisioning_state=None, restore_point_collection_id=None, restore_points=None, source=None, tags=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if restore_point_collection_id and not isinstance(restore_point_collection_id, str): + raise TypeError("Expected argument 'restore_point_collection_id' to be a str") + pulumi.set(__self__, "restore_point_collection_id", restore_point_collection_id) + if restore_points and not isinstance(restore_points, list): + raise TypeError("Expected argument 'restore_points' to be a list") + pulumi.set(__self__, "restore_points", restore_points) + if source and not isinstance(source, dict): + raise TypeError("Expected argument 'source' to be a dict") + pulumi.set(__self__, "source", source) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the restore point collection. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="restorePointCollectionId") + def restore_point_collection_id(self) -> str: + """ + The unique id of the restore point collection. + """ + return pulumi.get(self, "restore_point_collection_id") + + @property + @pulumi.getter(name="restorePoints") + def restore_points(self) -> Sequence['outputs.RestorePointResponse']: + """ + A list containing all restore points created under this restore point collection. + """ + return pulumi.get(self, "restore_points") + + @property + @pulumi.getter + def source(self) -> Optional['outputs.RestorePointCollectionSourcePropertiesResponse']: + """ + The properties of the source resource that this restore point collection is created from. + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + +class AwaitableGetRestorePointCollectionResult(GetRestorePointCollectionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetRestorePointCollectionResult( + id=self.id, + location=self.location, + name=self.name, + provisioning_state=self.provisioning_state, + restore_point_collection_id=self.restore_point_collection_id, + restore_points=self.restore_points, + source=self.source, + tags=self.tags, + type=self.type) + + +def get_restore_point_collection(expand: Optional[str] = None, + resource_group_name: Optional[str] = None, + restore_point_collection_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRestorePointCollectionResult: + """ + The operation to get the restore point collection. + + + :param str expand: The expand expression to apply on the operation. If expand=restorePoints, server will return all contained restore points in the restorePointCollection. + :param str resource_group_name: The name of the resource group. + :param str restore_point_collection_name: The name of the restore point collection. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['resourceGroupName'] = resource_group_name + __args__['restorePointCollectionName'] = restore_point_collection_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getRestorePointCollection', __args__, opts=opts, typ=GetRestorePointCollectionResult).value + + return AwaitableGetRestorePointCollectionResult( + id=__ret__.id, + location=__ret__.location, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + restore_point_collection_id=__ret__.restore_point_collection_id, + restore_points=__ret__.restore_points, + source=__ret__.source, + tags=__ret__.tags, + type=__ret__.type) + + +@_utilities.lift_output_func(get_restore_point_collection) +def get_restore_point_collection_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + restore_point_collection_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRestorePointCollectionResult]: + """ + The operation to get the restore point collection. + + + :param str expand: The expand expression to apply on the operation. If expand=restorePoints, server will return all contained restore points in the restorePointCollection. + :param str resource_group_name: The name of the resource group. + :param str restore_point_collection_name: The name of the restore point collection. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_ssh_public_key.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_ssh_public_key.py new file mode 100644 index 000000000000..382973a39fd6 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_ssh_public_key.py @@ -0,0 +1,143 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'GetSshPublicKeyResult', + 'AwaitableGetSshPublicKeyResult', + 'get_ssh_public_key', + 'get_ssh_public_key_output', +] + +@pulumi.output_type +class GetSshPublicKeyResult: + """ + Specifies information about the SSH public key. + """ + def __init__(__self__, id=None, location=None, name=None, public_key=None, tags=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if public_key and not isinstance(public_key, str): + raise TypeError("Expected argument 'public_key' to be a str") + pulumi.set(__self__, "public_key", public_key) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="publicKey") + def public_key(self) -> Optional[str]: + """ + SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. + """ + return pulumi.get(self, "public_key") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + +class AwaitableGetSshPublicKeyResult(GetSshPublicKeyResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSshPublicKeyResult( + id=self.id, + location=self.location, + name=self.name, + public_key=self.public_key, + tags=self.tags, + type=self.type) + + +def get_ssh_public_key(resource_group_name: Optional[str] = None, + ssh_public_key_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSshPublicKeyResult: + """ + Retrieves information about an SSH public key. + + + :param str resource_group_name: The name of the resource group. + :param str ssh_public_key_name: The name of the SSH public key. + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['sshPublicKeyName'] = ssh_public_key_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getSshPublicKey', __args__, opts=opts, typ=GetSshPublicKeyResult).value + + return AwaitableGetSshPublicKeyResult( + id=__ret__.id, + location=__ret__.location, + name=__ret__.name, + public_key=__ret__.public_key, + tags=__ret__.tags, + type=__ret__.type) + + +@_utilities.lift_output_func(get_ssh_public_key) +def get_ssh_public_key_output(resource_group_name: Optional[pulumi.Input[str]] = None, + ssh_public_key_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSshPublicKeyResult]: + """ + Retrieves information about an SSH public key. + + + :param str resource_group_name: The name of the resource group. + :param str ssh_public_key_name: The name of the SSH public key. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine.py new file mode 100644 index 000000000000..ca2c5d234314 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine.py @@ -0,0 +1,539 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetVirtualMachineResult', + 'AwaitableGetVirtualMachineResult', + 'get_virtual_machine', + 'get_virtual_machine_output', +] + +@pulumi.output_type +class GetVirtualMachineResult: + """ + Describes a Virtual Machine. + """ + def __init__(__self__, additional_capabilities=None, application_profile=None, availability_set=None, billing_profile=None, capacity_reservation=None, diagnostics_profile=None, eviction_policy=None, extended_location=None, extensions_time_budget=None, hardware_profile=None, host=None, host_group=None, id=None, identity=None, instance_view=None, license_type=None, location=None, name=None, network_profile=None, os_profile=None, plan=None, platform_fault_domain=None, priority=None, provisioning_state=None, proximity_placement_group=None, resources=None, scheduled_events_profile=None, security_profile=None, storage_profile=None, tags=None, time_created=None, type=None, user_data=None, virtual_machine_scale_set=None, vm_id=None, zones=None): + if additional_capabilities and not isinstance(additional_capabilities, dict): + raise TypeError("Expected argument 'additional_capabilities' to be a dict") + pulumi.set(__self__, "additional_capabilities", additional_capabilities) + if application_profile and not isinstance(application_profile, dict): + raise TypeError("Expected argument 'application_profile' to be a dict") + pulumi.set(__self__, "application_profile", application_profile) + if availability_set and not isinstance(availability_set, dict): + raise TypeError("Expected argument 'availability_set' to be a dict") + pulumi.set(__self__, "availability_set", availability_set) + if billing_profile and not isinstance(billing_profile, dict): + raise TypeError("Expected argument 'billing_profile' to be a dict") + pulumi.set(__self__, "billing_profile", billing_profile) + if capacity_reservation and not isinstance(capacity_reservation, dict): + raise TypeError("Expected argument 'capacity_reservation' to be a dict") + pulumi.set(__self__, "capacity_reservation", capacity_reservation) + if diagnostics_profile and not isinstance(diagnostics_profile, dict): + raise TypeError("Expected argument 'diagnostics_profile' to be a dict") + pulumi.set(__self__, "diagnostics_profile", diagnostics_profile) + if eviction_policy and not isinstance(eviction_policy, str): + raise TypeError("Expected argument 'eviction_policy' to be a str") + pulumi.set(__self__, "eviction_policy", eviction_policy) + if extended_location and not isinstance(extended_location, dict): + raise TypeError("Expected argument 'extended_location' to be a dict") + pulumi.set(__self__, "extended_location", extended_location) + if extensions_time_budget and not isinstance(extensions_time_budget, str): + raise TypeError("Expected argument 'extensions_time_budget' to be a str") + pulumi.set(__self__, "extensions_time_budget", extensions_time_budget) + if hardware_profile and not isinstance(hardware_profile, dict): + raise TypeError("Expected argument 'hardware_profile' to be a dict") + pulumi.set(__self__, "hardware_profile", hardware_profile) + if host and not isinstance(host, dict): + raise TypeError("Expected argument 'host' to be a dict") + pulumi.set(__self__, "host", host) + if host_group and not isinstance(host_group, dict): + raise TypeError("Expected argument 'host_group' to be a dict") + pulumi.set(__self__, "host_group", host_group) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if instance_view and not isinstance(instance_view, dict): + raise TypeError("Expected argument 'instance_view' to be a dict") + pulumi.set(__self__, "instance_view", instance_view) + if license_type and not isinstance(license_type, str): + raise TypeError("Expected argument 'license_type' to be a str") + pulumi.set(__self__, "license_type", license_type) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if network_profile and not isinstance(network_profile, dict): + raise TypeError("Expected argument 'network_profile' to be a dict") + pulumi.set(__self__, "network_profile", network_profile) + if os_profile and not isinstance(os_profile, dict): + raise TypeError("Expected argument 'os_profile' to be a dict") + pulumi.set(__self__, "os_profile", os_profile) + if plan and not isinstance(plan, dict): + raise TypeError("Expected argument 'plan' to be a dict") + pulumi.set(__self__, "plan", plan) + if platform_fault_domain and not isinstance(platform_fault_domain, int): + raise TypeError("Expected argument 'platform_fault_domain' to be a int") + pulumi.set(__self__, "platform_fault_domain", platform_fault_domain) + if priority and not isinstance(priority, str): + raise TypeError("Expected argument 'priority' to be a str") + pulumi.set(__self__, "priority", priority) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if proximity_placement_group and not isinstance(proximity_placement_group, dict): + raise TypeError("Expected argument 'proximity_placement_group' to be a dict") + pulumi.set(__self__, "proximity_placement_group", proximity_placement_group) + if resources and not isinstance(resources, list): + raise TypeError("Expected argument 'resources' to be a list") + pulumi.set(__self__, "resources", resources) + if scheduled_events_profile and not isinstance(scheduled_events_profile, dict): + raise TypeError("Expected argument 'scheduled_events_profile' to be a dict") + pulumi.set(__self__, "scheduled_events_profile", scheduled_events_profile) + if security_profile and not isinstance(security_profile, dict): + raise TypeError("Expected argument 'security_profile' to be a dict") + pulumi.set(__self__, "security_profile", security_profile) + if storage_profile and not isinstance(storage_profile, dict): + raise TypeError("Expected argument 'storage_profile' to be a dict") + pulumi.set(__self__, "storage_profile", storage_profile) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if time_created and not isinstance(time_created, str): + raise TypeError("Expected argument 'time_created' to be a str") + pulumi.set(__self__, "time_created", time_created) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if user_data and not isinstance(user_data, str): + raise TypeError("Expected argument 'user_data' to be a str") + pulumi.set(__self__, "user_data", user_data) + if virtual_machine_scale_set and not isinstance(virtual_machine_scale_set, dict): + raise TypeError("Expected argument 'virtual_machine_scale_set' to be a dict") + pulumi.set(__self__, "virtual_machine_scale_set", virtual_machine_scale_set) + if vm_id and not isinstance(vm_id, str): + raise TypeError("Expected argument 'vm_id' to be a str") + pulumi.set(__self__, "vm_id", vm_id) + if zones and not isinstance(zones, list): + raise TypeError("Expected argument 'zones' to be a list") + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="additionalCapabilities") + def additional_capabilities(self) -> Optional['outputs.AdditionalCapabilitiesResponse']: + """ + Specifies additional capabilities enabled or disabled on the virtual machine. + """ + return pulumi.get(self, "additional_capabilities") + + @property + @pulumi.getter(name="applicationProfile") + def application_profile(self) -> Optional['outputs.ApplicationProfileResponse']: + """ + Specifies the gallery applications that should be made available to the VM/VMSS. + """ + return pulumi.get(self, "application_profile") + + @property + @pulumi.getter(name="availabilitySet") + def availability_set(self) -> Optional['outputs.SubResourceResponse']: + """ + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + """ + return pulumi.get(self, "availability_set") + + @property + @pulumi.getter(name="billingProfile") + def billing_profile(self) -> Optional['outputs.BillingProfileResponse']: + """ + Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. + """ + return pulumi.get(self, "billing_profile") + + @property + @pulumi.getter(name="capacityReservation") + def capacity_reservation(self) -> Optional['outputs.CapacityReservationProfileResponse']: + """ + Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. + """ + return pulumi.get(self, "capacity_reservation") + + @property + @pulumi.getter(name="diagnosticsProfile") + def diagnostics_profile(self) -> Optional['outputs.DiagnosticsProfileResponse']: + """ + Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + """ + return pulumi.get(self, "diagnostics_profile") + + @property + @pulumi.getter(name="evictionPolicy") + def eviction_policy(self) -> Optional[str]: + """ + Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + """ + return pulumi.get(self, "eviction_policy") + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional['outputs.ExtendedLocationResponse']: + """ + The extended location of the Virtual Machine. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter(name="extensionsTimeBudget") + def extensions_time_budget(self) -> Optional[str]: + """ + Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "extensions_time_budget") + + @property + @pulumi.getter(name="hardwareProfile") + def hardware_profile(self) -> Optional['outputs.HardwareProfileResponse']: + """ + Specifies the hardware settings for the virtual machine. + """ + return pulumi.get(self, "hardware_profile") + + @property + @pulumi.getter + def host(self) -> Optional['outputs.SubResourceResponse']: + """ + Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. + """ + return pulumi.get(self, "host") + + @property + @pulumi.getter(name="hostGroup") + def host_group(self) -> Optional['outputs.SubResourceResponse']: + """ + Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "host_group") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.VirtualMachineIdentityResponse']: + """ + The identity of the virtual machine, if configured. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> 'outputs.VirtualMachineInstanceViewResponse': + """ + The virtual machine instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> Optional[str]: + """ + Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + """ + return pulumi.get(self, "license_type") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional['outputs.NetworkProfileResponse']: + """ + Specifies the network interfaces of the virtual machine. + """ + return pulumi.get(self, "network_profile") + + @property + @pulumi.getter(name="osProfile") + def os_profile(self) -> Optional['outputs.OSProfileResponse']: + """ + Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. + """ + return pulumi.get(self, "os_profile") + + @property + @pulumi.getter + def plan(self) -> Optional['outputs.PlanResponse']: + """ + Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + """ + return pulumi.get(self, "plan") + + @property + @pulumi.getter(name="platformFaultDomain") + def platform_fault_domain(self) -> Optional[int]: + """ + Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. + """ + return pulumi.get(self, "platform_fault_domain") + + @property + @pulumi.getter + def priority(self) -> Optional[str]: + """ + Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 + """ + return pulumi.get(self, "priority") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="proximityPlacementGroup") + def proximity_placement_group(self) -> Optional['outputs.SubResourceResponse']: + """ + Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. + """ + return pulumi.get(self, "proximity_placement_group") + + @property + @pulumi.getter + def resources(self) -> Sequence['outputs.VirtualMachineExtensionResponse']: + """ + The virtual machine child extension resources. + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter(name="scheduledEventsProfile") + def scheduled_events_profile(self) -> Optional['outputs.ScheduledEventsProfileResponse']: + """ + Specifies Scheduled Event related configurations. + """ + return pulumi.get(self, "scheduled_events_profile") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional['outputs.SecurityProfileResponse']: + """ + Specifies the Security related profile settings for the virtual machine. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional['outputs.StorageProfileResponse']: + """ + Specifies the storage settings for the virtual machine disks. + """ + return pulumi.get(self, "storage_profile") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> str: + """ + Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[str]: + """ + UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + """ + return pulumi.get(self, "user_data") + + @property + @pulumi.getter(name="virtualMachineScaleSet") + def virtual_machine_scale_set(self) -> Optional['outputs.SubResourceResponse']: + """ + Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. + """ + return pulumi.get(self, "virtual_machine_scale_set") + + @property + @pulumi.getter(name="vmId") + def vm_id(self) -> str: + """ + Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. + """ + return pulumi.get(self, "vm_id") + + @property + @pulumi.getter + def zones(self) -> Optional[Sequence[str]]: + """ + The virtual machine zones. + """ + return pulumi.get(self, "zones") + + +class AwaitableGetVirtualMachineResult(GetVirtualMachineResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVirtualMachineResult( + additional_capabilities=self.additional_capabilities, + application_profile=self.application_profile, + availability_set=self.availability_set, + billing_profile=self.billing_profile, + capacity_reservation=self.capacity_reservation, + diagnostics_profile=self.diagnostics_profile, + eviction_policy=self.eviction_policy, + extended_location=self.extended_location, + extensions_time_budget=self.extensions_time_budget, + hardware_profile=self.hardware_profile, + host=self.host, + host_group=self.host_group, + id=self.id, + identity=self.identity, + instance_view=self.instance_view, + license_type=self.license_type, + location=self.location, + name=self.name, + network_profile=self.network_profile, + os_profile=self.os_profile, + plan=self.plan, + platform_fault_domain=self.platform_fault_domain, + priority=self.priority, + provisioning_state=self.provisioning_state, + proximity_placement_group=self.proximity_placement_group, + resources=self.resources, + scheduled_events_profile=self.scheduled_events_profile, + security_profile=self.security_profile, + storage_profile=self.storage_profile, + tags=self.tags, + time_created=self.time_created, + type=self.type, + user_data=self.user_data, + virtual_machine_scale_set=self.virtual_machine_scale_set, + vm_id=self.vm_id, + zones=self.zones) + + +def get_virtual_machine(expand: Optional[str] = None, + resource_group_name: Optional[str] = None, + vm_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVirtualMachineResult: + """ + Retrieves information about the model view or the instance view of a virtual machine. + + + :param str expand: The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the virtual machine that is managed by the platform and can change outside of control plane operations. 'UserData' retrieves the UserData property as part of the VM model view that was provided by the user during the VM Create/Update operation. + :param str resource_group_name: The name of the resource group. + :param str vm_name: The name of the virtual machine. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['resourceGroupName'] = resource_group_name + __args__['vmName'] = vm_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getVirtualMachine', __args__, opts=opts, typ=GetVirtualMachineResult).value + + return AwaitableGetVirtualMachineResult( + additional_capabilities=__ret__.additional_capabilities, + application_profile=__ret__.application_profile, + availability_set=__ret__.availability_set, + billing_profile=__ret__.billing_profile, + capacity_reservation=__ret__.capacity_reservation, + diagnostics_profile=__ret__.diagnostics_profile, + eviction_policy=__ret__.eviction_policy, + extended_location=__ret__.extended_location, + extensions_time_budget=__ret__.extensions_time_budget, + hardware_profile=__ret__.hardware_profile, + host=__ret__.host, + host_group=__ret__.host_group, + id=__ret__.id, + identity=__ret__.identity, + instance_view=__ret__.instance_view, + license_type=__ret__.license_type, + location=__ret__.location, + name=__ret__.name, + network_profile=__ret__.network_profile, + os_profile=__ret__.os_profile, + plan=__ret__.plan, + platform_fault_domain=__ret__.platform_fault_domain, + priority=__ret__.priority, + provisioning_state=__ret__.provisioning_state, + proximity_placement_group=__ret__.proximity_placement_group, + resources=__ret__.resources, + scheduled_events_profile=__ret__.scheduled_events_profile, + security_profile=__ret__.security_profile, + storage_profile=__ret__.storage_profile, + tags=__ret__.tags, + time_created=__ret__.time_created, + type=__ret__.type, + user_data=__ret__.user_data, + virtual_machine_scale_set=__ret__.virtual_machine_scale_set, + vm_id=__ret__.vm_id, + zones=__ret__.zones) + + +@_utilities.lift_output_func(get_virtual_machine) +def get_virtual_machine_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + vm_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualMachineResult]: + """ + Retrieves information about the model view or the instance view of a virtual machine. + + + :param str expand: The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the virtual machine that is managed by the platform and can change outside of control plane operations. 'UserData' retrieves the UserData property as part of the VM model view that was provided by the user during the VM Create/Update operation. + :param str resource_group_name: The name of the resource group. + :param str vm_name: The name of the virtual machine. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_extension.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_extension.py new file mode 100644 index 000000000000..fd4ebfe13bd2 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_extension.py @@ -0,0 +1,297 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetVirtualMachineExtensionResult', + 'AwaitableGetVirtualMachineExtensionResult', + 'get_virtual_machine_extension', + 'get_virtual_machine_extension_output', +] + +@pulumi.output_type +class GetVirtualMachineExtensionResult: + """ + Describes a Virtual Machine Extension. + """ + def __init__(__self__, auto_upgrade_minor_version=None, enable_automatic_upgrade=None, force_update_tag=None, id=None, instance_view=None, location=None, name=None, protected_settings=None, protected_settings_from_key_vault=None, provision_after_extensions=None, provisioning_state=None, publisher=None, settings=None, suppress_failures=None, tags=None, type=None, type_handler_version=None): + if auto_upgrade_minor_version and not isinstance(auto_upgrade_minor_version, bool): + raise TypeError("Expected argument 'auto_upgrade_minor_version' to be a bool") + pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) + if enable_automatic_upgrade and not isinstance(enable_automatic_upgrade, bool): + raise TypeError("Expected argument 'enable_automatic_upgrade' to be a bool") + pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) + if force_update_tag and not isinstance(force_update_tag, str): + raise TypeError("Expected argument 'force_update_tag' to be a str") + pulumi.set(__self__, "force_update_tag", force_update_tag) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_view and not isinstance(instance_view, dict): + raise TypeError("Expected argument 'instance_view' to be a dict") + pulumi.set(__self__, "instance_view", instance_view) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if protected_settings and not isinstance(protected_settings, dict): + raise TypeError("Expected argument 'protected_settings' to be a dict") + pulumi.set(__self__, "protected_settings", protected_settings) + if protected_settings_from_key_vault and not isinstance(protected_settings_from_key_vault, dict): + raise TypeError("Expected argument 'protected_settings_from_key_vault' to be a dict") + pulumi.set(__self__, "protected_settings_from_key_vault", protected_settings_from_key_vault) + if provision_after_extensions and not isinstance(provision_after_extensions, list): + raise TypeError("Expected argument 'provision_after_extensions' to be a list") + pulumi.set(__self__, "provision_after_extensions", provision_after_extensions) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if publisher and not isinstance(publisher, str): + raise TypeError("Expected argument 'publisher' to be a str") + pulumi.set(__self__, "publisher", publisher) + if settings and not isinstance(settings, dict): + raise TypeError("Expected argument 'settings' to be a dict") + pulumi.set(__self__, "settings", settings) + if suppress_failures and not isinstance(suppress_failures, bool): + raise TypeError("Expected argument 'suppress_failures' to be a bool") + pulumi.set(__self__, "suppress_failures", suppress_failures) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if type_handler_version and not isinstance(type_handler_version, str): + raise TypeError("Expected argument 'type_handler_version' to be a str") + pulumi.set(__self__, "type_handler_version", type_handler_version) + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> Optional[bool]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> Optional[bool]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> Optional[str]: + """ + How the extension handler should be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> Optional['outputs.VirtualMachineExtensionInstanceViewResponse']: + """ + The virtual machine extension instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> Optional[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> Optional[Any]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> Optional['outputs.KeyVaultSecretReferenceResponse']: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> Optional[Sequence[str]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def publisher(self) -> Optional[str]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @property + @pulumi.getter + def settings(self) -> Optional[Any]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> Optional[bool]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[str]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + +class AwaitableGetVirtualMachineExtensionResult(GetVirtualMachineExtensionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVirtualMachineExtensionResult( + auto_upgrade_minor_version=self.auto_upgrade_minor_version, + enable_automatic_upgrade=self.enable_automatic_upgrade, + force_update_tag=self.force_update_tag, + id=self.id, + instance_view=self.instance_view, + location=self.location, + name=self.name, + protected_settings=self.protected_settings, + protected_settings_from_key_vault=self.protected_settings_from_key_vault, + provision_after_extensions=self.provision_after_extensions, + provisioning_state=self.provisioning_state, + publisher=self.publisher, + settings=self.settings, + suppress_failures=self.suppress_failures, + tags=self.tags, + type=self.type, + type_handler_version=self.type_handler_version) + + +def get_virtual_machine_extension(expand: Optional[str] = None, + resource_group_name: Optional[str] = None, + vm_extension_name: Optional[str] = None, + vm_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVirtualMachineExtensionResult: + """ + The operation to get the extension. + + + :param str expand: The expand expression to apply on the operation. + :param str resource_group_name: The name of the resource group. + :param str vm_extension_name: The name of the virtual machine extension. + :param str vm_name: The name of the virtual machine containing the extension. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['resourceGroupName'] = resource_group_name + __args__['vmExtensionName'] = vm_extension_name + __args__['vmName'] = vm_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getVirtualMachineExtension', __args__, opts=opts, typ=GetVirtualMachineExtensionResult).value + + return AwaitableGetVirtualMachineExtensionResult( + auto_upgrade_minor_version=__ret__.auto_upgrade_minor_version, + enable_automatic_upgrade=__ret__.enable_automatic_upgrade, + force_update_tag=__ret__.force_update_tag, + id=__ret__.id, + instance_view=__ret__.instance_view, + location=__ret__.location, + name=__ret__.name, + protected_settings=__ret__.protected_settings, + protected_settings_from_key_vault=__ret__.protected_settings_from_key_vault, + provision_after_extensions=__ret__.provision_after_extensions, + provisioning_state=__ret__.provisioning_state, + publisher=__ret__.publisher, + settings=__ret__.settings, + suppress_failures=__ret__.suppress_failures, + tags=__ret__.tags, + type=__ret__.type, + type_handler_version=__ret__.type_handler_version) + + +@_utilities.lift_output_func(get_virtual_machine_extension) +def get_virtual_machine_extension_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + vm_extension_name: Optional[pulumi.Input[str]] = None, + vm_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualMachineExtensionResult]: + """ + The operation to get the extension. + + + :param str expand: The expand expression to apply on the operation. + :param str resource_group_name: The name of the resource group. + :param str vm_extension_name: The name of the virtual machine extension. + :param str vm_name: The name of the virtual machine containing the extension. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_run_command_by_virtual_machine.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_run_command_by_virtual_machine.py new file mode 100644 index 000000000000..5c8af607847b --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_run_command_by_virtual_machine.py @@ -0,0 +1,323 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetVirtualMachineRunCommandByVirtualMachineResult', + 'AwaitableGetVirtualMachineRunCommandByVirtualMachineResult', + 'get_virtual_machine_run_command_by_virtual_machine', + 'get_virtual_machine_run_command_by_virtual_machine_output', +] + +@pulumi.output_type +class GetVirtualMachineRunCommandByVirtualMachineResult: + """ + Describes a Virtual Machine run command. + """ + def __init__(__self__, async_execution=None, error_blob_managed_identity=None, error_blob_uri=None, id=None, instance_view=None, location=None, name=None, output_blob_managed_identity=None, output_blob_uri=None, parameters=None, protected_parameters=None, provisioning_state=None, run_as_password=None, run_as_user=None, source=None, tags=None, timeout_in_seconds=None, treat_failure_as_deployment_failure=None, type=None): + if async_execution and not isinstance(async_execution, bool): + raise TypeError("Expected argument 'async_execution' to be a bool") + pulumi.set(__self__, "async_execution", async_execution) + if error_blob_managed_identity and not isinstance(error_blob_managed_identity, dict): + raise TypeError("Expected argument 'error_blob_managed_identity' to be a dict") + pulumi.set(__self__, "error_blob_managed_identity", error_blob_managed_identity) + if error_blob_uri and not isinstance(error_blob_uri, str): + raise TypeError("Expected argument 'error_blob_uri' to be a str") + pulumi.set(__self__, "error_blob_uri", error_blob_uri) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_view and not isinstance(instance_view, dict): + raise TypeError("Expected argument 'instance_view' to be a dict") + pulumi.set(__self__, "instance_view", instance_view) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if output_blob_managed_identity and not isinstance(output_blob_managed_identity, dict): + raise TypeError("Expected argument 'output_blob_managed_identity' to be a dict") + pulumi.set(__self__, "output_blob_managed_identity", output_blob_managed_identity) + if output_blob_uri and not isinstance(output_blob_uri, str): + raise TypeError("Expected argument 'output_blob_uri' to be a str") + pulumi.set(__self__, "output_blob_uri", output_blob_uri) + if parameters and not isinstance(parameters, list): + raise TypeError("Expected argument 'parameters' to be a list") + pulumi.set(__self__, "parameters", parameters) + if protected_parameters and not isinstance(protected_parameters, list): + raise TypeError("Expected argument 'protected_parameters' to be a list") + pulumi.set(__self__, "protected_parameters", protected_parameters) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if run_as_password and not isinstance(run_as_password, str): + raise TypeError("Expected argument 'run_as_password' to be a str") + pulumi.set(__self__, "run_as_password", run_as_password) + if run_as_user and not isinstance(run_as_user, str): + raise TypeError("Expected argument 'run_as_user' to be a str") + pulumi.set(__self__, "run_as_user", run_as_user) + if source and not isinstance(source, dict): + raise TypeError("Expected argument 'source' to be a dict") + pulumi.set(__self__, "source", source) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if timeout_in_seconds and not isinstance(timeout_in_seconds, int): + raise TypeError("Expected argument 'timeout_in_seconds' to be a int") + pulumi.set(__self__, "timeout_in_seconds", timeout_in_seconds) + if treat_failure_as_deployment_failure and not isinstance(treat_failure_as_deployment_failure, bool): + raise TypeError("Expected argument 'treat_failure_as_deployment_failure' to be a bool") + pulumi.set(__self__, "treat_failure_as_deployment_failure", treat_failure_as_deployment_failure) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="asyncExecution") + def async_execution(self) -> Optional[bool]: + """ + Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + """ + return pulumi.get(self, "async_execution") + + @property + @pulumi.getter(name="errorBlobManagedIdentity") + def error_blob_managed_identity(self) -> Optional['outputs.RunCommandManagedIdentityResponse']: + """ + User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + """ + return pulumi.get(self, "error_blob_managed_identity") + + @property + @pulumi.getter(name="errorBlobUri") + def error_blob_uri(self) -> Optional[str]: + """ + Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + """ + return pulumi.get(self, "error_blob_uri") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> 'outputs.VirtualMachineRunCommandInstanceViewResponse': + """ + The virtual machine run command instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="outputBlobManagedIdentity") + def output_blob_managed_identity(self) -> Optional['outputs.RunCommandManagedIdentityResponse']: + """ + User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + """ + return pulumi.get(self, "output_blob_managed_identity") + + @property + @pulumi.getter(name="outputBlobUri") + def output_blob_uri(self) -> Optional[str]: + """ + Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + """ + return pulumi.get(self, "output_blob_uri") + + @property + @pulumi.getter + def parameters(self) -> Optional[Sequence['outputs.RunCommandInputParameterResponse']]: + """ + The parameters used by the script. + """ + return pulumi.get(self, "parameters") + + @property + @pulumi.getter(name="protectedParameters") + def protected_parameters(self) -> Optional[Sequence['outputs.RunCommandInputParameterResponse']]: + """ + The parameters used by the script. + """ + return pulumi.get(self, "protected_parameters") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="runAsPassword") + def run_as_password(self) -> Optional[str]: + """ + Specifies the user account password on the VM when executing the run command. + """ + return pulumi.get(self, "run_as_password") + + @property + @pulumi.getter(name="runAsUser") + def run_as_user(self) -> Optional[str]: + """ + Specifies the user account on the VM when executing the run command. + """ + return pulumi.get(self, "run_as_user") + + @property + @pulumi.getter + def source(self) -> Optional['outputs.VirtualMachineRunCommandScriptSourceResponse']: + """ + The source of the run command script. + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeoutInSeconds") + def timeout_in_seconds(self) -> Optional[int]: + """ + The timeout in seconds to execute the run command. + """ + return pulumi.get(self, "timeout_in_seconds") + + @property + @pulumi.getter(name="treatFailureAsDeploymentFailure") + def treat_failure_as_deployment_failure(self) -> Optional[bool]: + """ + Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + """ + return pulumi.get(self, "treat_failure_as_deployment_failure") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + +class AwaitableGetVirtualMachineRunCommandByVirtualMachineResult(GetVirtualMachineRunCommandByVirtualMachineResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVirtualMachineRunCommandByVirtualMachineResult( + async_execution=self.async_execution, + error_blob_managed_identity=self.error_blob_managed_identity, + error_blob_uri=self.error_blob_uri, + id=self.id, + instance_view=self.instance_view, + location=self.location, + name=self.name, + output_blob_managed_identity=self.output_blob_managed_identity, + output_blob_uri=self.output_blob_uri, + parameters=self.parameters, + protected_parameters=self.protected_parameters, + provisioning_state=self.provisioning_state, + run_as_password=self.run_as_password, + run_as_user=self.run_as_user, + source=self.source, + tags=self.tags, + timeout_in_seconds=self.timeout_in_seconds, + treat_failure_as_deployment_failure=self.treat_failure_as_deployment_failure, + type=self.type) + + +def get_virtual_machine_run_command_by_virtual_machine(expand: Optional[str] = None, + resource_group_name: Optional[str] = None, + run_command_name: Optional[str] = None, + vm_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVirtualMachineRunCommandByVirtualMachineResult: + """ + The operation to get the run command. + + + :param str expand: The expand expression to apply on the operation. + :param str resource_group_name: The name of the resource group. + :param str run_command_name: The name of the virtual machine run command. + :param str vm_name: The name of the virtual machine containing the run command. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['resourceGroupName'] = resource_group_name + __args__['runCommandName'] = run_command_name + __args__['vmName'] = vm_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getVirtualMachineRunCommandByVirtualMachine', __args__, opts=opts, typ=GetVirtualMachineRunCommandByVirtualMachineResult).value + + return AwaitableGetVirtualMachineRunCommandByVirtualMachineResult( + async_execution=__ret__.async_execution, + error_blob_managed_identity=__ret__.error_blob_managed_identity, + error_blob_uri=__ret__.error_blob_uri, + id=__ret__.id, + instance_view=__ret__.instance_view, + location=__ret__.location, + name=__ret__.name, + output_blob_managed_identity=__ret__.output_blob_managed_identity, + output_blob_uri=__ret__.output_blob_uri, + parameters=__ret__.parameters, + protected_parameters=__ret__.protected_parameters, + provisioning_state=__ret__.provisioning_state, + run_as_password=__ret__.run_as_password, + run_as_user=__ret__.run_as_user, + source=__ret__.source, + tags=__ret__.tags, + timeout_in_seconds=__ret__.timeout_in_seconds, + treat_failure_as_deployment_failure=__ret__.treat_failure_as_deployment_failure, + type=__ret__.type) + + +@_utilities.lift_output_func(get_virtual_machine_run_command_by_virtual_machine) +def get_virtual_machine_run_command_by_virtual_machine_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + run_command_name: Optional[pulumi.Input[str]] = None, + vm_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualMachineRunCommandByVirtualMachineResult]: + """ + The operation to get the run command. + + + :param str expand: The expand expression to apply on the operation. + :param str resource_group_name: The name of the resource group. + :param str run_command_name: The name of the virtual machine run command. + :param str vm_name: The name of the virtual machine containing the run command. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set.py new file mode 100644 index 000000000000..7ec9c3aa8255 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set.py @@ -0,0 +1,448 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetVirtualMachineScaleSetResult', + 'AwaitableGetVirtualMachineScaleSetResult', + 'get_virtual_machine_scale_set', + 'get_virtual_machine_scale_set_output', +] + +@pulumi.output_type +class GetVirtualMachineScaleSetResult: + """ + Describes a Virtual Machine Scale Set. + """ + def __init__(__self__, additional_capabilities=None, automatic_repairs_policy=None, constrained_maximum_capacity=None, do_not_run_extensions_on_overprovisioned_vms=None, extended_location=None, host_group=None, id=None, identity=None, location=None, name=None, orchestration_mode=None, overprovision=None, plan=None, platform_fault_domain_count=None, priority_mix_policy=None, provisioning_state=None, proximity_placement_group=None, scale_in_policy=None, single_placement_group=None, sku=None, spot_restore_policy=None, tags=None, time_created=None, type=None, unique_id=None, upgrade_policy=None, virtual_machine_profile=None, zone_balance=None, zones=None): + if additional_capabilities and not isinstance(additional_capabilities, dict): + raise TypeError("Expected argument 'additional_capabilities' to be a dict") + pulumi.set(__self__, "additional_capabilities", additional_capabilities) + if automatic_repairs_policy and not isinstance(automatic_repairs_policy, dict): + raise TypeError("Expected argument 'automatic_repairs_policy' to be a dict") + pulumi.set(__self__, "automatic_repairs_policy", automatic_repairs_policy) + if constrained_maximum_capacity and not isinstance(constrained_maximum_capacity, bool): + raise TypeError("Expected argument 'constrained_maximum_capacity' to be a bool") + pulumi.set(__self__, "constrained_maximum_capacity", constrained_maximum_capacity) + if do_not_run_extensions_on_overprovisioned_vms and not isinstance(do_not_run_extensions_on_overprovisioned_vms, bool): + raise TypeError("Expected argument 'do_not_run_extensions_on_overprovisioned_vms' to be a bool") + pulumi.set(__self__, "do_not_run_extensions_on_overprovisioned_vms", do_not_run_extensions_on_overprovisioned_vms) + if extended_location and not isinstance(extended_location, dict): + raise TypeError("Expected argument 'extended_location' to be a dict") + pulumi.set(__self__, "extended_location", extended_location) + if host_group and not isinstance(host_group, dict): + raise TypeError("Expected argument 'host_group' to be a dict") + pulumi.set(__self__, "host_group", host_group) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if orchestration_mode and not isinstance(orchestration_mode, str): + raise TypeError("Expected argument 'orchestration_mode' to be a str") + pulumi.set(__self__, "orchestration_mode", orchestration_mode) + if overprovision and not isinstance(overprovision, bool): + raise TypeError("Expected argument 'overprovision' to be a bool") + pulumi.set(__self__, "overprovision", overprovision) + if plan and not isinstance(plan, dict): + raise TypeError("Expected argument 'plan' to be a dict") + pulumi.set(__self__, "plan", plan) + if platform_fault_domain_count and not isinstance(platform_fault_domain_count, int): + raise TypeError("Expected argument 'platform_fault_domain_count' to be a int") + pulumi.set(__self__, "platform_fault_domain_count", platform_fault_domain_count) + if priority_mix_policy and not isinstance(priority_mix_policy, dict): + raise TypeError("Expected argument 'priority_mix_policy' to be a dict") + pulumi.set(__self__, "priority_mix_policy", priority_mix_policy) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if proximity_placement_group and not isinstance(proximity_placement_group, dict): + raise TypeError("Expected argument 'proximity_placement_group' to be a dict") + pulumi.set(__self__, "proximity_placement_group", proximity_placement_group) + if scale_in_policy and not isinstance(scale_in_policy, dict): + raise TypeError("Expected argument 'scale_in_policy' to be a dict") + pulumi.set(__self__, "scale_in_policy", scale_in_policy) + if single_placement_group and not isinstance(single_placement_group, bool): + raise TypeError("Expected argument 'single_placement_group' to be a bool") + pulumi.set(__self__, "single_placement_group", single_placement_group) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if spot_restore_policy and not isinstance(spot_restore_policy, dict): + raise TypeError("Expected argument 'spot_restore_policy' to be a dict") + pulumi.set(__self__, "spot_restore_policy", spot_restore_policy) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if time_created and not isinstance(time_created, str): + raise TypeError("Expected argument 'time_created' to be a str") + pulumi.set(__self__, "time_created", time_created) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if unique_id and not isinstance(unique_id, str): + raise TypeError("Expected argument 'unique_id' to be a str") + pulumi.set(__self__, "unique_id", unique_id) + if upgrade_policy and not isinstance(upgrade_policy, dict): + raise TypeError("Expected argument 'upgrade_policy' to be a dict") + pulumi.set(__self__, "upgrade_policy", upgrade_policy) + if virtual_machine_profile and not isinstance(virtual_machine_profile, dict): + raise TypeError("Expected argument 'virtual_machine_profile' to be a dict") + pulumi.set(__self__, "virtual_machine_profile", virtual_machine_profile) + if zone_balance and not isinstance(zone_balance, bool): + raise TypeError("Expected argument 'zone_balance' to be a bool") + pulumi.set(__self__, "zone_balance", zone_balance) + if zones and not isinstance(zones, list): + raise TypeError("Expected argument 'zones' to be a list") + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="additionalCapabilities") + def additional_capabilities(self) -> Optional['outputs.AdditionalCapabilitiesResponse']: + """ + Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + """ + return pulumi.get(self, "additional_capabilities") + + @property + @pulumi.getter(name="automaticRepairsPolicy") + def automatic_repairs_policy(self) -> Optional['outputs.AutomaticRepairsPolicyResponse']: + """ + Policy for automatic repairs. + """ + return pulumi.get(self, "automatic_repairs_policy") + + @property + @pulumi.getter(name="constrainedMaximumCapacity") + def constrained_maximum_capacity(self) -> Optional[bool]: + """ + Optional property which must either be set to True or omitted. + """ + return pulumi.get(self, "constrained_maximum_capacity") + + @property + @pulumi.getter(name="doNotRunExtensionsOnOverprovisionedVMs") + def do_not_run_extensions_on_overprovisioned_vms(self) -> Optional[bool]: + """ + When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + """ + return pulumi.get(self, "do_not_run_extensions_on_overprovisioned_vms") + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional['outputs.ExtendedLocationResponse']: + """ + The extended location of the Virtual Machine Scale Set. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter(name="hostGroup") + def host_group(self) -> Optional['outputs.SubResourceResponse']: + """ + Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "host_group") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.VirtualMachineScaleSetIdentityResponse']: + """ + The identity of the virtual machine scale set, if configured. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orchestrationMode") + def orchestration_mode(self) -> Optional[str]: + """ + Specifies the orchestration mode for the virtual machine scale set. + """ + return pulumi.get(self, "orchestration_mode") + + @property + @pulumi.getter + def overprovision(self) -> Optional[bool]: + """ + Specifies whether the Virtual Machine Scale Set should be overprovisioned. + """ + return pulumi.get(self, "overprovision") + + @property + @pulumi.getter + def plan(self) -> Optional['outputs.PlanResponse']: + """ + Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + """ + return pulumi.get(self, "plan") + + @property + @pulumi.getter(name="platformFaultDomainCount") + def platform_fault_domain_count(self) -> Optional[int]: + """ + Fault Domain count for each placement group. + """ + return pulumi.get(self, "platform_fault_domain_count") + + @property + @pulumi.getter(name="priorityMixPolicy") + def priority_mix_policy(self) -> Optional['outputs.PriorityMixPolicyResponse']: + """ + Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + """ + return pulumi.get(self, "priority_mix_policy") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="proximityPlacementGroup") + def proximity_placement_group(self) -> Optional['outputs.SubResourceResponse']: + """ + Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + """ + return pulumi.get(self, "proximity_placement_group") + + @property + @pulumi.getter(name="scaleInPolicy") + def scale_in_policy(self) -> Optional['outputs.ScaleInPolicyResponse']: + """ + Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + """ + return pulumi.get(self, "scale_in_policy") + + @property + @pulumi.getter(name="singlePlacementGroup") + def single_placement_group(self) -> Optional[bool]: + """ + When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. + """ + return pulumi.get(self, "single_placement_group") + + @property + @pulumi.getter + def sku(self) -> Optional['outputs.SkuResponse']: + """ + The virtual machine scale set sku. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="spotRestorePolicy") + def spot_restore_policy(self) -> Optional['outputs.SpotRestorePolicyResponse']: + """ + Specifies the Spot Restore properties for the virtual machine scale set. + """ + return pulumi.get(self, "spot_restore_policy") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> str: + """ + Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="uniqueId") + def unique_id(self) -> str: + """ + Specifies the ID which uniquely identifies a Virtual Machine Scale Set. + """ + return pulumi.get(self, "unique_id") + + @property + @pulumi.getter(name="upgradePolicy") + def upgrade_policy(self) -> Optional['outputs.UpgradePolicyResponse']: + """ + The upgrade policy. + """ + return pulumi.get(self, "upgrade_policy") + + @property + @pulumi.getter(name="virtualMachineProfile") + def virtual_machine_profile(self) -> Optional['outputs.VirtualMachineScaleSetVMProfileResponse']: + """ + The virtual machine profile. + """ + return pulumi.get(self, "virtual_machine_profile") + + @property + @pulumi.getter(name="zoneBalance") + def zone_balance(self) -> Optional[bool]: + """ + Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. + """ + return pulumi.get(self, "zone_balance") + + @property + @pulumi.getter + def zones(self) -> Optional[Sequence[str]]: + """ + The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set + """ + return pulumi.get(self, "zones") + + +class AwaitableGetVirtualMachineScaleSetResult(GetVirtualMachineScaleSetResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVirtualMachineScaleSetResult( + additional_capabilities=self.additional_capabilities, + automatic_repairs_policy=self.automatic_repairs_policy, + constrained_maximum_capacity=self.constrained_maximum_capacity, + do_not_run_extensions_on_overprovisioned_vms=self.do_not_run_extensions_on_overprovisioned_vms, + extended_location=self.extended_location, + host_group=self.host_group, + id=self.id, + identity=self.identity, + location=self.location, + name=self.name, + orchestration_mode=self.orchestration_mode, + overprovision=self.overprovision, + plan=self.plan, + platform_fault_domain_count=self.platform_fault_domain_count, + priority_mix_policy=self.priority_mix_policy, + provisioning_state=self.provisioning_state, + proximity_placement_group=self.proximity_placement_group, + scale_in_policy=self.scale_in_policy, + single_placement_group=self.single_placement_group, + sku=self.sku, + spot_restore_policy=self.spot_restore_policy, + tags=self.tags, + time_created=self.time_created, + type=self.type, + unique_id=self.unique_id, + upgrade_policy=self.upgrade_policy, + virtual_machine_profile=self.virtual_machine_profile, + zone_balance=self.zone_balance, + zones=self.zones) + + +def get_virtual_machine_scale_set(expand: Optional[str] = None, + resource_group_name: Optional[str] = None, + vm_scale_set_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVirtualMachineScaleSetResult: + """ + Display information about a virtual machine scale set. + + + :param str expand: The expand expression to apply on the operation. 'UserData' retrieves the UserData property of the VM scale set that was provided by the user during the VM scale set Create/Update operation + :param str resource_group_name: The name of the resource group. + :param str vm_scale_set_name: The name of the VM scale set. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['resourceGroupName'] = resource_group_name + __args__['vmScaleSetName'] = vm_scale_set_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getVirtualMachineScaleSet', __args__, opts=opts, typ=GetVirtualMachineScaleSetResult).value + + return AwaitableGetVirtualMachineScaleSetResult( + additional_capabilities=__ret__.additional_capabilities, + automatic_repairs_policy=__ret__.automatic_repairs_policy, + constrained_maximum_capacity=__ret__.constrained_maximum_capacity, + do_not_run_extensions_on_overprovisioned_vms=__ret__.do_not_run_extensions_on_overprovisioned_vms, + extended_location=__ret__.extended_location, + host_group=__ret__.host_group, + id=__ret__.id, + identity=__ret__.identity, + location=__ret__.location, + name=__ret__.name, + orchestration_mode=__ret__.orchestration_mode, + overprovision=__ret__.overprovision, + plan=__ret__.plan, + platform_fault_domain_count=__ret__.platform_fault_domain_count, + priority_mix_policy=__ret__.priority_mix_policy, + provisioning_state=__ret__.provisioning_state, + proximity_placement_group=__ret__.proximity_placement_group, + scale_in_policy=__ret__.scale_in_policy, + single_placement_group=__ret__.single_placement_group, + sku=__ret__.sku, + spot_restore_policy=__ret__.spot_restore_policy, + tags=__ret__.tags, + time_created=__ret__.time_created, + type=__ret__.type, + unique_id=__ret__.unique_id, + upgrade_policy=__ret__.upgrade_policy, + virtual_machine_profile=__ret__.virtual_machine_profile, + zone_balance=__ret__.zone_balance, + zones=__ret__.zones) + + +@_utilities.lift_output_func(get_virtual_machine_scale_set) +def get_virtual_machine_scale_set_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualMachineScaleSetResult]: + """ + Display information about a virtual machine scale set. + + + :param str expand: The expand expression to apply on the operation. 'UserData' retrieves the UserData property of the VM scale set that was provided by the user during the VM scale set Create/Update operation + :param str resource_group_name: The name of the resource group. + :param str vm_scale_set_name: The name of the VM scale set. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set_extension.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set_extension.py new file mode 100644 index 000000000000..c8160f75f71a --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set_extension.py @@ -0,0 +1,258 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetVirtualMachineScaleSetExtensionResult', + 'AwaitableGetVirtualMachineScaleSetExtensionResult', + 'get_virtual_machine_scale_set_extension', + 'get_virtual_machine_scale_set_extension_output', +] + +@pulumi.output_type +class GetVirtualMachineScaleSetExtensionResult: + """ + Describes a Virtual Machine Scale Set Extension. + """ + def __init__(__self__, auto_upgrade_minor_version=None, enable_automatic_upgrade=None, force_update_tag=None, id=None, name=None, protected_settings=None, protected_settings_from_key_vault=None, provision_after_extensions=None, provisioning_state=None, publisher=None, settings=None, suppress_failures=None, type=None, type_handler_version=None): + if auto_upgrade_minor_version and not isinstance(auto_upgrade_minor_version, bool): + raise TypeError("Expected argument 'auto_upgrade_minor_version' to be a bool") + pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) + if enable_automatic_upgrade and not isinstance(enable_automatic_upgrade, bool): + raise TypeError("Expected argument 'enable_automatic_upgrade' to be a bool") + pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) + if force_update_tag and not isinstance(force_update_tag, str): + raise TypeError("Expected argument 'force_update_tag' to be a str") + pulumi.set(__self__, "force_update_tag", force_update_tag) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if protected_settings and not isinstance(protected_settings, dict): + raise TypeError("Expected argument 'protected_settings' to be a dict") + pulumi.set(__self__, "protected_settings", protected_settings) + if protected_settings_from_key_vault and not isinstance(protected_settings_from_key_vault, dict): + raise TypeError("Expected argument 'protected_settings_from_key_vault' to be a dict") + pulumi.set(__self__, "protected_settings_from_key_vault", protected_settings_from_key_vault) + if provision_after_extensions and not isinstance(provision_after_extensions, list): + raise TypeError("Expected argument 'provision_after_extensions' to be a list") + pulumi.set(__self__, "provision_after_extensions", provision_after_extensions) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if publisher and not isinstance(publisher, str): + raise TypeError("Expected argument 'publisher' to be a str") + pulumi.set(__self__, "publisher", publisher) + if settings and not isinstance(settings, dict): + raise TypeError("Expected argument 'settings' to be a dict") + pulumi.set(__self__, "settings", settings) + if suppress_failures and not isinstance(suppress_failures, bool): + raise TypeError("Expected argument 'suppress_failures' to be a bool") + pulumi.set(__self__, "suppress_failures", suppress_failures) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if type_handler_version and not isinstance(type_handler_version, str): + raise TypeError("Expected argument 'type_handler_version' to be a str") + pulumi.set(__self__, "type_handler_version", type_handler_version) + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> Optional[bool]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> Optional[bool]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> Optional[str]: + """ + If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the extension. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> Optional[Any]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> Optional['outputs.KeyVaultSecretReferenceResponse']: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> Optional[Sequence[str]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def publisher(self) -> Optional[str]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @property + @pulumi.getter + def settings(self) -> Optional[Any]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> Optional[bool]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[str]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + +class AwaitableGetVirtualMachineScaleSetExtensionResult(GetVirtualMachineScaleSetExtensionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVirtualMachineScaleSetExtensionResult( + auto_upgrade_minor_version=self.auto_upgrade_minor_version, + enable_automatic_upgrade=self.enable_automatic_upgrade, + force_update_tag=self.force_update_tag, + id=self.id, + name=self.name, + protected_settings=self.protected_settings, + protected_settings_from_key_vault=self.protected_settings_from_key_vault, + provision_after_extensions=self.provision_after_extensions, + provisioning_state=self.provisioning_state, + publisher=self.publisher, + settings=self.settings, + suppress_failures=self.suppress_failures, + type=self.type, + type_handler_version=self.type_handler_version) + + +def get_virtual_machine_scale_set_extension(expand: Optional[str] = None, + resource_group_name: Optional[str] = None, + vm_scale_set_name: Optional[str] = None, + vmss_extension_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVirtualMachineScaleSetExtensionResult: + """ + The operation to get the extension. + + + :param str expand: The expand expression to apply on the operation. + :param str resource_group_name: The name of the resource group. + :param str vm_scale_set_name: The name of the VM scale set containing the extension. + :param str vmss_extension_name: The name of the VM scale set extension. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['resourceGroupName'] = resource_group_name + __args__['vmScaleSetName'] = vm_scale_set_name + __args__['vmssExtensionName'] = vmss_extension_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getVirtualMachineScaleSetExtension', __args__, opts=opts, typ=GetVirtualMachineScaleSetExtensionResult).value + + return AwaitableGetVirtualMachineScaleSetExtensionResult( + auto_upgrade_minor_version=__ret__.auto_upgrade_minor_version, + enable_automatic_upgrade=__ret__.enable_automatic_upgrade, + force_update_tag=__ret__.force_update_tag, + id=__ret__.id, + name=__ret__.name, + protected_settings=__ret__.protected_settings, + protected_settings_from_key_vault=__ret__.protected_settings_from_key_vault, + provision_after_extensions=__ret__.provision_after_extensions, + provisioning_state=__ret__.provisioning_state, + publisher=__ret__.publisher, + settings=__ret__.settings, + suppress_failures=__ret__.suppress_failures, + type=__ret__.type, + type_handler_version=__ret__.type_handler_version) + + +@_utilities.lift_output_func(get_virtual_machine_scale_set_extension) +def get_virtual_machine_scale_set_extension_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + vmss_extension_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualMachineScaleSetExtensionResult]: + """ + The operation to get the extension. + + + :param str expand: The expand expression to apply on the operation. + :param str resource_group_name: The name of the resource group. + :param str vm_scale_set_name: The name of the VM scale set containing the extension. + :param str vmss_extension_name: The name of the VM scale set extension. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set_vm.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set_vm.py new file mode 100644 index 000000000000..bef003f78ddf --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set_vm.py @@ -0,0 +1,453 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetVirtualMachineScaleSetVMResult', + 'AwaitableGetVirtualMachineScaleSetVMResult', + 'get_virtual_machine_scale_set_vm', + 'get_virtual_machine_scale_set_vm_output', +] + +@pulumi.output_type +class GetVirtualMachineScaleSetVMResult: + """ + Describes a virtual machine scale set virtual machine. + """ + def __init__(__self__, additional_capabilities=None, availability_set=None, diagnostics_profile=None, hardware_profile=None, id=None, identity=None, instance_id=None, instance_view=None, latest_model_applied=None, license_type=None, location=None, model_definition_applied=None, name=None, network_profile=None, network_profile_configuration=None, os_profile=None, plan=None, protection_policy=None, provisioning_state=None, resources=None, security_profile=None, sku=None, storage_profile=None, tags=None, time_created=None, type=None, user_data=None, vm_id=None, zones=None): + if additional_capabilities and not isinstance(additional_capabilities, dict): + raise TypeError("Expected argument 'additional_capabilities' to be a dict") + pulumi.set(__self__, "additional_capabilities", additional_capabilities) + if availability_set and not isinstance(availability_set, dict): + raise TypeError("Expected argument 'availability_set' to be a dict") + pulumi.set(__self__, "availability_set", availability_set) + if diagnostics_profile and not isinstance(diagnostics_profile, dict): + raise TypeError("Expected argument 'diagnostics_profile' to be a dict") + pulumi.set(__self__, "diagnostics_profile", diagnostics_profile) + if hardware_profile and not isinstance(hardware_profile, dict): + raise TypeError("Expected argument 'hardware_profile' to be a dict") + pulumi.set(__self__, "hardware_profile", hardware_profile) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if instance_id and not isinstance(instance_id, str): + raise TypeError("Expected argument 'instance_id' to be a str") + pulumi.set(__self__, "instance_id", instance_id) + if instance_view and not isinstance(instance_view, dict): + raise TypeError("Expected argument 'instance_view' to be a dict") + pulumi.set(__self__, "instance_view", instance_view) + if latest_model_applied and not isinstance(latest_model_applied, bool): + raise TypeError("Expected argument 'latest_model_applied' to be a bool") + pulumi.set(__self__, "latest_model_applied", latest_model_applied) + if license_type and not isinstance(license_type, str): + raise TypeError("Expected argument 'license_type' to be a str") + pulumi.set(__self__, "license_type", license_type) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if model_definition_applied and not isinstance(model_definition_applied, str): + raise TypeError("Expected argument 'model_definition_applied' to be a str") + pulumi.set(__self__, "model_definition_applied", model_definition_applied) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if network_profile and not isinstance(network_profile, dict): + raise TypeError("Expected argument 'network_profile' to be a dict") + pulumi.set(__self__, "network_profile", network_profile) + if network_profile_configuration and not isinstance(network_profile_configuration, dict): + raise TypeError("Expected argument 'network_profile_configuration' to be a dict") + pulumi.set(__self__, "network_profile_configuration", network_profile_configuration) + if os_profile and not isinstance(os_profile, dict): + raise TypeError("Expected argument 'os_profile' to be a dict") + pulumi.set(__self__, "os_profile", os_profile) + if plan and not isinstance(plan, dict): + raise TypeError("Expected argument 'plan' to be a dict") + pulumi.set(__self__, "plan", plan) + if protection_policy and not isinstance(protection_policy, dict): + raise TypeError("Expected argument 'protection_policy' to be a dict") + pulumi.set(__self__, "protection_policy", protection_policy) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if resources and not isinstance(resources, list): + raise TypeError("Expected argument 'resources' to be a list") + pulumi.set(__self__, "resources", resources) + if security_profile and not isinstance(security_profile, dict): + raise TypeError("Expected argument 'security_profile' to be a dict") + pulumi.set(__self__, "security_profile", security_profile) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if storage_profile and not isinstance(storage_profile, dict): + raise TypeError("Expected argument 'storage_profile' to be a dict") + pulumi.set(__self__, "storage_profile", storage_profile) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if time_created and not isinstance(time_created, str): + raise TypeError("Expected argument 'time_created' to be a str") + pulumi.set(__self__, "time_created", time_created) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if user_data and not isinstance(user_data, str): + raise TypeError("Expected argument 'user_data' to be a str") + pulumi.set(__self__, "user_data", user_data) + if vm_id and not isinstance(vm_id, str): + raise TypeError("Expected argument 'vm_id' to be a str") + pulumi.set(__self__, "vm_id", vm_id) + if zones and not isinstance(zones, list): + raise TypeError("Expected argument 'zones' to be a list") + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="additionalCapabilities") + def additional_capabilities(self) -> Optional['outputs.AdditionalCapabilitiesResponse']: + """ + Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + """ + return pulumi.get(self, "additional_capabilities") + + @property + @pulumi.getter(name="availabilitySet") + def availability_set(self) -> Optional['outputs.SubResourceResponse']: + """ + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. + """ + return pulumi.get(self, "availability_set") + + @property + @pulumi.getter(name="diagnosticsProfile") + def diagnostics_profile(self) -> Optional['outputs.DiagnosticsProfileResponse']: + """ + Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + """ + return pulumi.get(self, "diagnostics_profile") + + @property + @pulumi.getter(name="hardwareProfile") + def hardware_profile(self) -> Optional['outputs.HardwareProfileResponse']: + """ + Specifies the hardware settings for the virtual machine. + """ + return pulumi.get(self, "hardware_profile") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.VirtualMachineIdentityResponse']: + """ + The identity of the virtual machine, if configured. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> str: + """ + The virtual machine instance ID. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> 'outputs.VirtualMachineScaleSetVMInstanceViewResponse': + """ + The virtual machine instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter(name="latestModelApplied") + def latest_model_applied(self) -> bool: + """ + Specifies whether the latest model has been applied to the virtual machine. + """ + return pulumi.get(self, "latest_model_applied") + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> Optional[str]: + """ + Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + """ + return pulumi.get(self, "license_type") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="modelDefinitionApplied") + def model_definition_applied(self) -> str: + """ + Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine. + """ + return pulumi.get(self, "model_definition_applied") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional['outputs.NetworkProfileResponse']: + """ + Specifies the network interfaces of the virtual machine. + """ + return pulumi.get(self, "network_profile") + + @property + @pulumi.getter(name="networkProfileConfiguration") + def network_profile_configuration(self) -> Optional['outputs.VirtualMachineScaleSetVMNetworkProfileConfigurationResponse']: + """ + Specifies the network profile configuration of the virtual machine. + """ + return pulumi.get(self, "network_profile_configuration") + + @property + @pulumi.getter(name="osProfile") + def os_profile(self) -> Optional['outputs.OSProfileResponse']: + """ + Specifies the operating system settings for the virtual machine. + """ + return pulumi.get(self, "os_profile") + + @property + @pulumi.getter + def plan(self) -> Optional['outputs.PlanResponse']: + """ + Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + """ + return pulumi.get(self, "plan") + + @property + @pulumi.getter(name="protectionPolicy") + def protection_policy(self) -> Optional['outputs.VirtualMachineScaleSetVMProtectionPolicyResponse']: + """ + Specifies the protection policy of the virtual machine. + """ + return pulumi.get(self, "protection_policy") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def resources(self) -> Sequence['outputs.VirtualMachineExtensionResponse']: + """ + The virtual machine child extension resources. + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional['outputs.SecurityProfileResponse']: + """ + Specifies the Security related profile settings for the virtual machine. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter + def sku(self) -> 'outputs.SkuResponse': + """ + The virtual machine SKU. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional['outputs.StorageProfileResponse']: + """ + Specifies the storage settings for the virtual machine disks. + """ + return pulumi.get(self, "storage_profile") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> str: + """ + Specifies the time at which the Virtual Machine resource was created.

Minimum api-version: 2021-11-01. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[str]: + """ + UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

Minimum api-version: 2021-03-01 + """ + return pulumi.get(self, "user_data") + + @property + @pulumi.getter(name="vmId") + def vm_id(self) -> str: + """ + Azure VM unique ID. + """ + return pulumi.get(self, "vm_id") + + @property + @pulumi.getter + def zones(self) -> Sequence[str]: + """ + The virtual machine zones. + """ + return pulumi.get(self, "zones") + + +class AwaitableGetVirtualMachineScaleSetVMResult(GetVirtualMachineScaleSetVMResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVirtualMachineScaleSetVMResult( + additional_capabilities=self.additional_capabilities, + availability_set=self.availability_set, + diagnostics_profile=self.diagnostics_profile, + hardware_profile=self.hardware_profile, + id=self.id, + identity=self.identity, + instance_id=self.instance_id, + instance_view=self.instance_view, + latest_model_applied=self.latest_model_applied, + license_type=self.license_type, + location=self.location, + model_definition_applied=self.model_definition_applied, + name=self.name, + network_profile=self.network_profile, + network_profile_configuration=self.network_profile_configuration, + os_profile=self.os_profile, + plan=self.plan, + protection_policy=self.protection_policy, + provisioning_state=self.provisioning_state, + resources=self.resources, + security_profile=self.security_profile, + sku=self.sku, + storage_profile=self.storage_profile, + tags=self.tags, + time_created=self.time_created, + type=self.type, + user_data=self.user_data, + vm_id=self.vm_id, + zones=self.zones) + + +def get_virtual_machine_scale_set_vm(expand: Optional[str] = None, + instance_id: Optional[str] = None, + resource_group_name: Optional[str] = None, + vm_scale_set_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVirtualMachineScaleSetVMResult: + """ + Gets a virtual machine from a VM scale set. + + + :param str expand: The expand expression to apply on the operation. 'InstanceView' will retrieve the instance view of the virtual machine. 'UserData' will retrieve the UserData of the virtual machine. + :param str instance_id: The instance ID of the virtual machine. + :param str resource_group_name: The name of the resource group. + :param str vm_scale_set_name: The name of the VM scale set. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['instanceId'] = instance_id + __args__['resourceGroupName'] = resource_group_name + __args__['vmScaleSetName'] = vm_scale_set_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getVirtualMachineScaleSetVM', __args__, opts=opts, typ=GetVirtualMachineScaleSetVMResult).value + + return AwaitableGetVirtualMachineScaleSetVMResult( + additional_capabilities=__ret__.additional_capabilities, + availability_set=__ret__.availability_set, + diagnostics_profile=__ret__.diagnostics_profile, + hardware_profile=__ret__.hardware_profile, + id=__ret__.id, + identity=__ret__.identity, + instance_id=__ret__.instance_id, + instance_view=__ret__.instance_view, + latest_model_applied=__ret__.latest_model_applied, + license_type=__ret__.license_type, + location=__ret__.location, + model_definition_applied=__ret__.model_definition_applied, + name=__ret__.name, + network_profile=__ret__.network_profile, + network_profile_configuration=__ret__.network_profile_configuration, + os_profile=__ret__.os_profile, + plan=__ret__.plan, + protection_policy=__ret__.protection_policy, + provisioning_state=__ret__.provisioning_state, + resources=__ret__.resources, + security_profile=__ret__.security_profile, + sku=__ret__.sku, + storage_profile=__ret__.storage_profile, + tags=__ret__.tags, + time_created=__ret__.time_created, + type=__ret__.type, + user_data=__ret__.user_data, + vm_id=__ret__.vm_id, + zones=__ret__.zones) + + +@_utilities.lift_output_func(get_virtual_machine_scale_set_vm) +def get_virtual_machine_scale_set_vm_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualMachineScaleSetVMResult]: + """ + Gets a virtual machine from a VM scale set. + + + :param str expand: The expand expression to apply on the operation. 'InstanceView' will retrieve the instance view of the virtual machine. 'UserData' will retrieve the UserData of the virtual machine. + :param str instance_id: The instance ID of the virtual machine. + :param str resource_group_name: The name of the resource group. + :param str vm_scale_set_name: The name of the VM scale set. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set_vm_extension.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set_vm_extension.py new file mode 100644 index 000000000000..f6d15664f84f --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set_vm_extension.py @@ -0,0 +1,289 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetVirtualMachineScaleSetVMExtensionResult', + 'AwaitableGetVirtualMachineScaleSetVMExtensionResult', + 'get_virtual_machine_scale_set_vm_extension', + 'get_virtual_machine_scale_set_vm_extension_output', +] + +@pulumi.output_type +class GetVirtualMachineScaleSetVMExtensionResult: + """ + Describes a VMSS VM Extension. + """ + def __init__(__self__, auto_upgrade_minor_version=None, enable_automatic_upgrade=None, force_update_tag=None, id=None, instance_view=None, location=None, name=None, protected_settings=None, protected_settings_from_key_vault=None, provision_after_extensions=None, provisioning_state=None, publisher=None, settings=None, suppress_failures=None, type=None, type_handler_version=None): + if auto_upgrade_minor_version and not isinstance(auto_upgrade_minor_version, bool): + raise TypeError("Expected argument 'auto_upgrade_minor_version' to be a bool") + pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) + if enable_automatic_upgrade and not isinstance(enable_automatic_upgrade, bool): + raise TypeError("Expected argument 'enable_automatic_upgrade' to be a bool") + pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) + if force_update_tag and not isinstance(force_update_tag, str): + raise TypeError("Expected argument 'force_update_tag' to be a str") + pulumi.set(__self__, "force_update_tag", force_update_tag) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_view and not isinstance(instance_view, dict): + raise TypeError("Expected argument 'instance_view' to be a dict") + pulumi.set(__self__, "instance_view", instance_view) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if protected_settings and not isinstance(protected_settings, dict): + raise TypeError("Expected argument 'protected_settings' to be a dict") + pulumi.set(__self__, "protected_settings", protected_settings) + if protected_settings_from_key_vault and not isinstance(protected_settings_from_key_vault, dict): + raise TypeError("Expected argument 'protected_settings_from_key_vault' to be a dict") + pulumi.set(__self__, "protected_settings_from_key_vault", protected_settings_from_key_vault) + if provision_after_extensions and not isinstance(provision_after_extensions, list): + raise TypeError("Expected argument 'provision_after_extensions' to be a list") + pulumi.set(__self__, "provision_after_extensions", provision_after_extensions) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if publisher and not isinstance(publisher, str): + raise TypeError("Expected argument 'publisher' to be a str") + pulumi.set(__self__, "publisher", publisher) + if settings and not isinstance(settings, dict): + raise TypeError("Expected argument 'settings' to be a dict") + pulumi.set(__self__, "settings", settings) + if suppress_failures and not isinstance(suppress_failures, bool): + raise TypeError("Expected argument 'suppress_failures' to be a bool") + pulumi.set(__self__, "suppress_failures", suppress_failures) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if type_handler_version and not isinstance(type_handler_version, str): + raise TypeError("Expected argument 'type_handler_version' to be a str") + pulumi.set(__self__, "type_handler_version", type_handler_version) + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> Optional[bool]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> Optional[bool]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> Optional[str]: + """ + How the extension handler should be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> Optional['outputs.VirtualMachineExtensionInstanceViewResponse']: + """ + The virtual machine extension instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> Optional[str]: + """ + The location of the extension. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the extension. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> Optional[Any]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> Optional['outputs.KeyVaultSecretReferenceResponse']: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> Optional[Sequence[str]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def publisher(self) -> Optional[str]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @property + @pulumi.getter + def settings(self) -> Optional[Any]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> Optional[bool]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[str]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + +class AwaitableGetVirtualMachineScaleSetVMExtensionResult(GetVirtualMachineScaleSetVMExtensionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVirtualMachineScaleSetVMExtensionResult( + auto_upgrade_minor_version=self.auto_upgrade_minor_version, + enable_automatic_upgrade=self.enable_automatic_upgrade, + force_update_tag=self.force_update_tag, + id=self.id, + instance_view=self.instance_view, + location=self.location, + name=self.name, + protected_settings=self.protected_settings, + protected_settings_from_key_vault=self.protected_settings_from_key_vault, + provision_after_extensions=self.provision_after_extensions, + provisioning_state=self.provisioning_state, + publisher=self.publisher, + settings=self.settings, + suppress_failures=self.suppress_failures, + type=self.type, + type_handler_version=self.type_handler_version) + + +def get_virtual_machine_scale_set_vm_extension(expand: Optional[str] = None, + instance_id: Optional[str] = None, + resource_group_name: Optional[str] = None, + vm_extension_name: Optional[str] = None, + vm_scale_set_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVirtualMachineScaleSetVMExtensionResult: + """ + The operation to get the VMSS VM extension. + + + :param str expand: The expand expression to apply on the operation. + :param str instance_id: The instance ID of the virtual machine. + :param str resource_group_name: The name of the resource group. + :param str vm_extension_name: The name of the virtual machine extension. + :param str vm_scale_set_name: The name of the VM scale set. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['instanceId'] = instance_id + __args__['resourceGroupName'] = resource_group_name + __args__['vmExtensionName'] = vm_extension_name + __args__['vmScaleSetName'] = vm_scale_set_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getVirtualMachineScaleSetVMExtension', __args__, opts=opts, typ=GetVirtualMachineScaleSetVMExtensionResult).value + + return AwaitableGetVirtualMachineScaleSetVMExtensionResult( + auto_upgrade_minor_version=__ret__.auto_upgrade_minor_version, + enable_automatic_upgrade=__ret__.enable_automatic_upgrade, + force_update_tag=__ret__.force_update_tag, + id=__ret__.id, + instance_view=__ret__.instance_view, + location=__ret__.location, + name=__ret__.name, + protected_settings=__ret__.protected_settings, + protected_settings_from_key_vault=__ret__.protected_settings_from_key_vault, + provision_after_extensions=__ret__.provision_after_extensions, + provisioning_state=__ret__.provisioning_state, + publisher=__ret__.publisher, + settings=__ret__.settings, + suppress_failures=__ret__.suppress_failures, + type=__ret__.type, + type_handler_version=__ret__.type_handler_version) + + +@_utilities.lift_output_func(get_virtual_machine_scale_set_vm_extension) +def get_virtual_machine_scale_set_vm_extension_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + vm_extension_name: Optional[pulumi.Input[str]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualMachineScaleSetVMExtensionResult]: + """ + The operation to get the VMSS VM extension. + + + :param str expand: The expand expression to apply on the operation. + :param str instance_id: The instance ID of the virtual machine. + :param str resource_group_name: The name of the resource group. + :param str vm_extension_name: The name of the virtual machine extension. + :param str vm_scale_set_name: The name of the VM scale set. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set_vm_run_command.py b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set_vm_run_command.py new file mode 100644 index 000000000000..e280e380b12a --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/get_virtual_machine_scale_set_vm_run_command.py @@ -0,0 +1,328 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetVirtualMachineScaleSetVMRunCommandResult', + 'AwaitableGetVirtualMachineScaleSetVMRunCommandResult', + 'get_virtual_machine_scale_set_vm_run_command', + 'get_virtual_machine_scale_set_vm_run_command_output', +] + +@pulumi.output_type +class GetVirtualMachineScaleSetVMRunCommandResult: + """ + Describes a Virtual Machine run command. + """ + def __init__(__self__, async_execution=None, error_blob_managed_identity=None, error_blob_uri=None, id=None, instance_view=None, location=None, name=None, output_blob_managed_identity=None, output_blob_uri=None, parameters=None, protected_parameters=None, provisioning_state=None, run_as_password=None, run_as_user=None, source=None, tags=None, timeout_in_seconds=None, treat_failure_as_deployment_failure=None, type=None): + if async_execution and not isinstance(async_execution, bool): + raise TypeError("Expected argument 'async_execution' to be a bool") + pulumi.set(__self__, "async_execution", async_execution) + if error_blob_managed_identity and not isinstance(error_blob_managed_identity, dict): + raise TypeError("Expected argument 'error_blob_managed_identity' to be a dict") + pulumi.set(__self__, "error_blob_managed_identity", error_blob_managed_identity) + if error_blob_uri and not isinstance(error_blob_uri, str): + raise TypeError("Expected argument 'error_blob_uri' to be a str") + pulumi.set(__self__, "error_blob_uri", error_blob_uri) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_view and not isinstance(instance_view, dict): + raise TypeError("Expected argument 'instance_view' to be a dict") + pulumi.set(__self__, "instance_view", instance_view) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if output_blob_managed_identity and not isinstance(output_blob_managed_identity, dict): + raise TypeError("Expected argument 'output_blob_managed_identity' to be a dict") + pulumi.set(__self__, "output_blob_managed_identity", output_blob_managed_identity) + if output_blob_uri and not isinstance(output_blob_uri, str): + raise TypeError("Expected argument 'output_blob_uri' to be a str") + pulumi.set(__self__, "output_blob_uri", output_blob_uri) + if parameters and not isinstance(parameters, list): + raise TypeError("Expected argument 'parameters' to be a list") + pulumi.set(__self__, "parameters", parameters) + if protected_parameters and not isinstance(protected_parameters, list): + raise TypeError("Expected argument 'protected_parameters' to be a list") + pulumi.set(__self__, "protected_parameters", protected_parameters) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if run_as_password and not isinstance(run_as_password, str): + raise TypeError("Expected argument 'run_as_password' to be a str") + pulumi.set(__self__, "run_as_password", run_as_password) + if run_as_user and not isinstance(run_as_user, str): + raise TypeError("Expected argument 'run_as_user' to be a str") + pulumi.set(__self__, "run_as_user", run_as_user) + if source and not isinstance(source, dict): + raise TypeError("Expected argument 'source' to be a dict") + pulumi.set(__self__, "source", source) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if timeout_in_seconds and not isinstance(timeout_in_seconds, int): + raise TypeError("Expected argument 'timeout_in_seconds' to be a int") + pulumi.set(__self__, "timeout_in_seconds", timeout_in_seconds) + if treat_failure_as_deployment_failure and not isinstance(treat_failure_as_deployment_failure, bool): + raise TypeError("Expected argument 'treat_failure_as_deployment_failure' to be a bool") + pulumi.set(__self__, "treat_failure_as_deployment_failure", treat_failure_as_deployment_failure) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="asyncExecution") + def async_execution(self) -> Optional[bool]: + """ + Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + """ + return pulumi.get(self, "async_execution") + + @property + @pulumi.getter(name="errorBlobManagedIdentity") + def error_blob_managed_identity(self) -> Optional['outputs.RunCommandManagedIdentityResponse']: + """ + User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + """ + return pulumi.get(self, "error_blob_managed_identity") + + @property + @pulumi.getter(name="errorBlobUri") + def error_blob_uri(self) -> Optional[str]: + """ + Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + """ + return pulumi.get(self, "error_blob_uri") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> 'outputs.VirtualMachineRunCommandInstanceViewResponse': + """ + The virtual machine run command instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="outputBlobManagedIdentity") + def output_blob_managed_identity(self) -> Optional['outputs.RunCommandManagedIdentityResponse']: + """ + User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + """ + return pulumi.get(self, "output_blob_managed_identity") + + @property + @pulumi.getter(name="outputBlobUri") + def output_blob_uri(self) -> Optional[str]: + """ + Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + """ + return pulumi.get(self, "output_blob_uri") + + @property + @pulumi.getter + def parameters(self) -> Optional[Sequence['outputs.RunCommandInputParameterResponse']]: + """ + The parameters used by the script. + """ + return pulumi.get(self, "parameters") + + @property + @pulumi.getter(name="protectedParameters") + def protected_parameters(self) -> Optional[Sequence['outputs.RunCommandInputParameterResponse']]: + """ + The parameters used by the script. + """ + return pulumi.get(self, "protected_parameters") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="runAsPassword") + def run_as_password(self) -> Optional[str]: + """ + Specifies the user account password on the VM when executing the run command. + """ + return pulumi.get(self, "run_as_password") + + @property + @pulumi.getter(name="runAsUser") + def run_as_user(self) -> Optional[str]: + """ + Specifies the user account on the VM when executing the run command. + """ + return pulumi.get(self, "run_as_user") + + @property + @pulumi.getter + def source(self) -> Optional['outputs.VirtualMachineRunCommandScriptSourceResponse']: + """ + The source of the run command script. + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeoutInSeconds") + def timeout_in_seconds(self) -> Optional[int]: + """ + The timeout in seconds to execute the run command. + """ + return pulumi.get(self, "timeout_in_seconds") + + @property + @pulumi.getter(name="treatFailureAsDeploymentFailure") + def treat_failure_as_deployment_failure(self) -> Optional[bool]: + """ + Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + """ + return pulumi.get(self, "treat_failure_as_deployment_failure") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + +class AwaitableGetVirtualMachineScaleSetVMRunCommandResult(GetVirtualMachineScaleSetVMRunCommandResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVirtualMachineScaleSetVMRunCommandResult( + async_execution=self.async_execution, + error_blob_managed_identity=self.error_blob_managed_identity, + error_blob_uri=self.error_blob_uri, + id=self.id, + instance_view=self.instance_view, + location=self.location, + name=self.name, + output_blob_managed_identity=self.output_blob_managed_identity, + output_blob_uri=self.output_blob_uri, + parameters=self.parameters, + protected_parameters=self.protected_parameters, + provisioning_state=self.provisioning_state, + run_as_password=self.run_as_password, + run_as_user=self.run_as_user, + source=self.source, + tags=self.tags, + timeout_in_seconds=self.timeout_in_seconds, + treat_failure_as_deployment_failure=self.treat_failure_as_deployment_failure, + type=self.type) + + +def get_virtual_machine_scale_set_vm_run_command(expand: Optional[str] = None, + instance_id: Optional[str] = None, + resource_group_name: Optional[str] = None, + run_command_name: Optional[str] = None, + vm_scale_set_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVirtualMachineScaleSetVMRunCommandResult: + """ + The operation to get the VMSS VM run command. + + + :param str expand: The expand expression to apply on the operation. + :param str instance_id: The instance ID of the virtual machine. + :param str resource_group_name: The name of the resource group. + :param str run_command_name: The name of the virtual machine run command. + :param str vm_scale_set_name: The name of the VM scale set. + """ + __args__ = dict() + __args__['expand'] = expand + __args__['instanceId'] = instance_id + __args__['resourceGroupName'] = resource_group_name + __args__['runCommandName'] = run_command_name + __args__['vmScaleSetName'] = vm_scale_set_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:compute/v20230701:getVirtualMachineScaleSetVMRunCommand', __args__, opts=opts, typ=GetVirtualMachineScaleSetVMRunCommandResult).value + + return AwaitableGetVirtualMachineScaleSetVMRunCommandResult( + async_execution=__ret__.async_execution, + error_blob_managed_identity=__ret__.error_blob_managed_identity, + error_blob_uri=__ret__.error_blob_uri, + id=__ret__.id, + instance_view=__ret__.instance_view, + location=__ret__.location, + name=__ret__.name, + output_blob_managed_identity=__ret__.output_blob_managed_identity, + output_blob_uri=__ret__.output_blob_uri, + parameters=__ret__.parameters, + protected_parameters=__ret__.protected_parameters, + provisioning_state=__ret__.provisioning_state, + run_as_password=__ret__.run_as_password, + run_as_user=__ret__.run_as_user, + source=__ret__.source, + tags=__ret__.tags, + timeout_in_seconds=__ret__.timeout_in_seconds, + treat_failure_as_deployment_failure=__ret__.treat_failure_as_deployment_failure, + type=__ret__.type) + + +@_utilities.lift_output_func(get_virtual_machine_scale_set_vm_run_command) +def get_virtual_machine_scale_set_vm_run_command_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + run_command_name: Optional[pulumi.Input[str]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualMachineScaleSetVMRunCommandResult]: + """ + The operation to get the VMSS VM run command. + + + :param str expand: The expand expression to apply on the operation. + :param str instance_id: The instance ID of the virtual machine. + :param str resource_group_name: The name of the resource group. + :param str run_command_name: The name of the virtual machine run command. + :param str vm_scale_set_name: The name of the VM scale set. + """ + ... diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/image.py b/sdk/python/pulumi_azure_native/compute/v20230701/image.py new file mode 100644 index 000000000000..7968f0ad3848 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/image.py @@ -0,0 +1,340 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ImageArgs', 'Image'] + +@pulumi.input_type +class ImageArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + extended_location: Optional[pulumi.Input['ExtendedLocationArgs']] = None, + hyper_v_generation: Optional[pulumi.Input[Union[str, 'HyperVGenerationTypes']]] = None, + image_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + source_virtual_machine: Optional[pulumi.Input['SubResourceArgs']] = None, + storage_profile: Optional[pulumi.Input['ImageStorageProfileArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Image resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input['ExtendedLocationArgs'] extended_location: The extended location of the Image. + :param pulumi.Input[Union[str, 'HyperVGenerationTypes']] hyper_v_generation: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + :param pulumi.Input[str] image_name: The name of the image. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input['SubResourceArgs'] source_virtual_machine: The source virtual machine from which Image is created. + :param pulumi.Input['ImageStorageProfileArgs'] storage_profile: Specifies the storage settings for the virtual machine disks. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if extended_location is not None: + pulumi.set(__self__, "extended_location", extended_location) + if hyper_v_generation is not None: + pulumi.set(__self__, "hyper_v_generation", hyper_v_generation) + if image_name is not None: + pulumi.set(__self__, "image_name", image_name) + if location is not None: + pulumi.set(__self__, "location", location) + if source_virtual_machine is not None: + pulumi.set(__self__, "source_virtual_machine", source_virtual_machine) + if storage_profile is not None: + pulumi.set(__self__, "storage_profile", storage_profile) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional[pulumi.Input['ExtendedLocationArgs']]: + """ + The extended location of the Image. + """ + return pulumi.get(self, "extended_location") + + @extended_location.setter + def extended_location(self, value: Optional[pulumi.Input['ExtendedLocationArgs']]): + pulumi.set(self, "extended_location", value) + + @property + @pulumi.getter(name="hyperVGeneration") + def hyper_v_generation(self) -> Optional[pulumi.Input[Union[str, 'HyperVGenerationTypes']]]: + """ + Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + """ + return pulumi.get(self, "hyper_v_generation") + + @hyper_v_generation.setter + def hyper_v_generation(self, value: Optional[pulumi.Input[Union[str, 'HyperVGenerationTypes']]]): + pulumi.set(self, "hyper_v_generation", value) + + @property + @pulumi.getter(name="imageName") + def image_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the image. + """ + return pulumi.get(self, "image_name") + + @image_name.setter + def image_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "image_name", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="sourceVirtualMachine") + def source_virtual_machine(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + The source virtual machine from which Image is created. + """ + return pulumi.get(self, "source_virtual_machine") + + @source_virtual_machine.setter + def source_virtual_machine(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "source_virtual_machine", value) + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional[pulumi.Input['ImageStorageProfileArgs']]: + """ + Specifies the storage settings for the virtual machine disks. + """ + return pulumi.get(self, "storage_profile") + + @storage_profile.setter + def storage_profile(self, value: Optional[pulumi.Input['ImageStorageProfileArgs']]): + pulumi.set(self, "storage_profile", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class Image(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + hyper_v_generation: Optional[pulumi.Input[Union[str, 'HyperVGenerationTypes']]] = None, + image_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + source_virtual_machine: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + storage_profile: Optional[pulumi.Input[pulumi.InputType['ImageStorageProfileArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['ExtendedLocationArgs']] extended_location: The extended location of the Image. + :param pulumi.Input[Union[str, 'HyperVGenerationTypes']] hyper_v_generation: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + :param pulumi.Input[str] image_name: The name of the image. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[pulumi.InputType['SubResourceArgs']] source_virtual_machine: The source virtual machine from which Image is created. + :param pulumi.Input[pulumi.InputType['ImageStorageProfileArgs']] storage_profile: Specifies the storage settings for the virtual machine disks. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ImageArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + + :param str resource_name: The name of the resource. + :param ImageArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ImageArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + hyper_v_generation: Optional[pulumi.Input[Union[str, 'HyperVGenerationTypes']]] = None, + image_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + source_virtual_machine: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + storage_profile: Optional[pulumi.Input[pulumi.InputType['ImageStorageProfileArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ImageArgs.__new__(ImageArgs) + + __props__.__dict__["extended_location"] = extended_location + __props__.__dict__["hyper_v_generation"] = hyper_v_generation + __props__.__dict__["image_name"] = image_name + __props__.__dict__["location"] = location + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["source_virtual_machine"] = source_virtual_machine + __props__.__dict__["storage_profile"] = storage_profile + __props__.__dict__["tags"] = tags + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:Image"), pulumi.Alias(type_="azure-native:compute/v20160430preview:Image"), pulumi.Alias(type_="azure-native:compute/v20170330:Image"), pulumi.Alias(type_="azure-native:compute/v20171201:Image"), pulumi.Alias(type_="azure-native:compute/v20180401:Image"), pulumi.Alias(type_="azure-native:compute/v20180601:Image"), pulumi.Alias(type_="azure-native:compute/v20181001:Image"), pulumi.Alias(type_="azure-native:compute/v20190301:Image"), pulumi.Alias(type_="azure-native:compute/v20190701:Image"), pulumi.Alias(type_="azure-native:compute/v20191201:Image"), pulumi.Alias(type_="azure-native:compute/v20200601:Image"), pulumi.Alias(type_="azure-native:compute/v20201201:Image"), pulumi.Alias(type_="azure-native:compute/v20210301:Image"), pulumi.Alias(type_="azure-native:compute/v20210401:Image"), pulumi.Alias(type_="azure-native:compute/v20210701:Image"), pulumi.Alias(type_="azure-native:compute/v20211101:Image"), pulumi.Alias(type_="azure-native:compute/v20220301:Image"), pulumi.Alias(type_="azure-native:compute/v20220801:Image"), pulumi.Alias(type_="azure-native:compute/v20221101:Image"), pulumi.Alias(type_="azure-native:compute/v20230301:Image")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Image, __self__).__init__( + 'azure-native:compute/v20230701:Image', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Image': + """ + Get an existing Image resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ImageArgs.__new__(ImageArgs) + + __props__.__dict__["extended_location"] = None + __props__.__dict__["hyper_v_generation"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["source_virtual_machine"] = None + __props__.__dict__["storage_profile"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return Image(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> pulumi.Output[Optional['outputs.ExtendedLocationResponse']]: + """ + The extended location of the Image. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter(name="hyperVGeneration") + def hyper_v_generation(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. + """ + return pulumi.get(self, "hyper_v_generation") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="sourceVirtualMachine") + def source_virtual_machine(self) -> pulumi.Output[Optional['outputs.SubResourceResponse']]: + """ + The source virtual machine from which Image is created. + """ + return pulumi.get(self, "source_virtual_machine") + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> pulumi.Output[Optional['outputs.ImageStorageProfileResponse']]: + """ + Specifies the storage settings for the virtual machine disks. + """ + return pulumi.get(self, "storage_profile") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/outputs.py b/sdk/python/pulumi_azure_native/compute/v20230701/outputs.py new file mode 100644 index 000000000000..dacba712899b --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/outputs.py @@ -0,0 +1,10586 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'AdditionalCapabilitiesResponse', + 'AdditionalUnattendContentResponse', + 'ApiEntityReferenceResponse', + 'ApiErrorBaseResponse', + 'ApiErrorResponse', + 'ApplicationProfileResponse', + 'AutomaticOSUpgradePolicyResponse', + 'AutomaticRepairsPolicyResponse', + 'AvailablePatchSummaryResponse', + 'BillingProfileResponse', + 'BootDiagnosticsInstanceViewResponse', + 'BootDiagnosticsResponse', + 'CapacityReservationGroupInstanceViewResponse', + 'CapacityReservationInstanceViewResponse', + 'CapacityReservationInstanceViewWithNameResponse', + 'CapacityReservationProfileResponse', + 'CapacityReservationUtilizationResponse', + 'DataDiskResponse', + 'DedicatedHostAllocatableVMResponse', + 'DedicatedHostAvailableCapacityResponse', + 'DedicatedHostGroupInstanceViewResponse', + 'DedicatedHostGroupPropertiesResponseAdditionalCapabilities', + 'DedicatedHostInstanceViewResponse', + 'DedicatedHostInstanceViewWithNameResponse', + 'DiagnosticsProfileResponse', + 'DiffDiskSettingsResponse', + 'DiskEncryptionSetParametersResponse', + 'DiskEncryptionSettingsResponse', + 'DiskInstanceViewResponse', + 'DiskRestorePointAttributesResponse', + 'DiskRestorePointInstanceViewResponse', + 'DiskRestorePointReplicationStatusResponse', + 'ExtendedLocationResponse', + 'HardwareProfileResponse', + 'ImageDataDiskResponse', + 'ImageOSDiskResponse', + 'ImageReferenceResponse', + 'ImageStorageProfileResponse', + 'InnerErrorResponse', + 'InstanceViewStatusResponse', + 'KeyVaultKeyReferenceResponse', + 'KeyVaultSecretReferenceResponse', + 'LastPatchInstallationSummaryResponse', + 'LinuxConfigurationResponse', + 'LinuxPatchSettingsResponse', + 'LinuxVMGuestPatchAutomaticByPlatformSettingsResponse', + 'LogAnalyticsOutputResponse', + 'MaintenanceRedeployStatusResponse', + 'ManagedDiskParametersResponse', + 'NetworkInterfaceReferenceResponse', + 'NetworkProfileResponse', + 'OSDiskResponse', + 'OSImageNotificationProfileResponse', + 'OSProfileResponse', + 'PatchSettingsResponse', + 'PlanResponse', + 'PriorityMixPolicyResponse', + 'ProximityPlacementGroupPropertiesResponseIntent', + 'PublicIPAddressSkuResponse', + 'RestorePointCollectionSourcePropertiesResponse', + 'RestorePointEncryptionResponse', + 'RestorePointInstanceViewResponse', + 'RestorePointResponse', + 'RestorePointSourceMetadataResponse', + 'RestorePointSourceVMDataDiskResponse', + 'RestorePointSourceVMOSDiskResponse', + 'RestorePointSourceVMStorageProfileResponse', + 'RollingUpgradePolicyResponse', + 'RunCommandInputParameterResponse', + 'RunCommandManagedIdentityResponse', + 'ScaleInPolicyResponse', + 'ScheduledEventsProfileResponse', + 'SecurityPostureReferenceResponse', + 'SecurityProfileResponse', + 'ServiceArtifactReferenceResponse', + 'SkuResponse', + 'SpotRestorePolicyResponse', + 'SshConfigurationResponse', + 'SshPublicKeyResponse', + 'StorageProfileResponse', + 'SubResourceReadOnlyResponse', + 'SubResourceResponse', + 'SubResourceWithColocationStatusResponse', + 'TerminateNotificationProfileResponse', + 'UefiSettingsResponse', + 'UpgradePolicyResponse', + 'UserAssignedIdentitiesResponseUserAssignedIdentities', + 'VMDiskSecurityProfileResponse', + 'VMGalleryApplicationResponse', + 'VMSizePropertiesResponse', + 'VaultCertificateResponse', + 'VaultSecretGroupResponse', + 'VirtualHardDiskResponse', + 'VirtualMachineAgentInstanceViewResponse', + 'VirtualMachineExtensionHandlerInstanceViewResponse', + 'VirtualMachineExtensionInstanceViewResponse', + 'VirtualMachineExtensionResponse', + 'VirtualMachineHealthStatusResponse', + 'VirtualMachineIdentityResponse', + 'VirtualMachineInstanceViewResponse', + 'VirtualMachineIpTagResponse', + 'VirtualMachineNetworkInterfaceConfigurationResponse', + 'VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse', + 'VirtualMachineNetworkInterfaceIPConfigurationResponse', + 'VirtualMachinePatchStatusResponse', + 'VirtualMachinePublicIPAddressConfigurationResponse', + 'VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse', + 'VirtualMachineRunCommandInstanceViewResponse', + 'VirtualMachineRunCommandScriptSourceResponse', + 'VirtualMachineScaleSetDataDiskResponse', + 'VirtualMachineScaleSetExtensionProfileResponse', + 'VirtualMachineScaleSetExtensionResponse', + 'VirtualMachineScaleSetHardwareProfileResponse', + 'VirtualMachineScaleSetIPConfigurationResponse', + 'VirtualMachineScaleSetIdentityResponse', + 'VirtualMachineScaleSetIpTagResponse', + 'VirtualMachineScaleSetManagedDiskParametersResponse', + 'VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse', + 'VirtualMachineScaleSetNetworkConfigurationResponse', + 'VirtualMachineScaleSetNetworkProfileResponse', + 'VirtualMachineScaleSetOSDiskResponse', + 'VirtualMachineScaleSetOSProfileResponse', + 'VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse', + 'VirtualMachineScaleSetPublicIPAddressConfigurationResponse', + 'VirtualMachineScaleSetStorageProfileResponse', + 'VirtualMachineScaleSetVMInstanceViewResponse', + 'VirtualMachineScaleSetVMNetworkProfileConfigurationResponse', + 'VirtualMachineScaleSetVMProfileResponse', + 'VirtualMachineScaleSetVMProtectionPolicyResponse', + 'WinRMConfigurationResponse', + 'WinRMListenerResponse', + 'WindowsConfigurationResponse', + 'WindowsVMGuestPatchAutomaticByPlatformSettingsResponse', +] + +@pulumi.output_type +class AdditionalCapabilitiesResponse(dict): + """ + Enables or disables a capability on the virtual machine or virtual machine scale set. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "hibernationEnabled": + suggest = "hibernation_enabled" + elif key == "ultraSSDEnabled": + suggest = "ultra_ssd_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AdditionalCapabilitiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AdditionalCapabilitiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AdditionalCapabilitiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + hibernation_enabled: Optional[bool] = None, + ultra_ssd_enabled: Optional[bool] = None): + """ + Enables or disables a capability on the virtual machine or virtual machine scale set. + :param bool hibernation_enabled: The flag that enables or disables hibernation capability on the VM. + :param bool ultra_ssd_enabled: The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. + """ + if hibernation_enabled is not None: + pulumi.set(__self__, "hibernation_enabled", hibernation_enabled) + if ultra_ssd_enabled is not None: + pulumi.set(__self__, "ultra_ssd_enabled", ultra_ssd_enabled) + + @property + @pulumi.getter(name="hibernationEnabled") + def hibernation_enabled(self) -> Optional[bool]: + """ + The flag that enables or disables hibernation capability on the VM. + """ + return pulumi.get(self, "hibernation_enabled") + + @property + @pulumi.getter(name="ultraSSDEnabled") + def ultra_ssd_enabled(self) -> Optional[bool]: + """ + The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled. + """ + return pulumi.get(self, "ultra_ssd_enabled") + + +@pulumi.output_type +class AdditionalUnattendContentResponse(dict): + """ + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "componentName": + suggest = "component_name" + elif key == "passName": + suggest = "pass_name" + elif key == "settingName": + suggest = "setting_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AdditionalUnattendContentResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AdditionalUnattendContentResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AdditionalUnattendContentResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + component_name: Optional[str] = None, + content: Optional[str] = None, + pass_name: Optional[str] = None, + setting_name: Optional[str] = None): + """ + Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied. + :param str component_name: The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. + :param str content: Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted. + :param str pass_name: The pass name. Currently, the only allowable value is OobeSystem. + :param str setting_name: Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. + """ + if component_name is not None: + pulumi.set(__self__, "component_name", component_name) + if content is not None: + pulumi.set(__self__, "content", content) + if pass_name is not None: + pulumi.set(__self__, "pass_name", pass_name) + if setting_name is not None: + pulumi.set(__self__, "setting_name", setting_name) + + @property + @pulumi.getter(name="componentName") + def component_name(self) -> Optional[str]: + """ + The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup. + """ + return pulumi.get(self, "component_name") + + @property + @pulumi.getter + def content(self) -> Optional[str]: + """ + Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted. + """ + return pulumi.get(self, "content") + + @property + @pulumi.getter(name="passName") + def pass_name(self) -> Optional[str]: + """ + The pass name. Currently, the only allowable value is OobeSystem. + """ + return pulumi.get(self, "pass_name") + + @property + @pulumi.getter(name="settingName") + def setting_name(self) -> Optional[str]: + """ + Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon. + """ + return pulumi.get(self, "setting_name") + + +@pulumi.output_type +class ApiEntityReferenceResponse(dict): + """ + The API entity reference. + """ + def __init__(__self__, *, + id: Optional[str] = None): + """ + The API entity reference. + :param str id: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class ApiErrorBaseResponse(dict): + """ + Api error base. + """ + def __init__(__self__, *, + code: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None): + """ + Api error base. + :param str code: The error code. + :param str message: The error message. + :param str target: The target of the particular error. + """ + if code is not None: + pulumi.set(__self__, "code", code) + if message is not None: + pulumi.set(__self__, "message", message) + if target is not None: + pulumi.set(__self__, "target", target) + + @property + @pulumi.getter + def code(self) -> Optional[str]: + """ + The error code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + The error message. + """ + return pulumi.get(self, "message") + + @property + @pulumi.getter + def target(self) -> Optional[str]: + """ + The target of the particular error. + """ + return pulumi.get(self, "target") + + +@pulumi.output_type +class ApiErrorResponse(dict): + """ + Api error. + """ + def __init__(__self__, *, + code: Optional[str] = None, + details: Optional[Sequence['outputs.ApiErrorBaseResponse']] = None, + innererror: Optional['outputs.InnerErrorResponse'] = None, + message: Optional[str] = None, + target: Optional[str] = None): + """ + Api error. + :param str code: The error code. + :param Sequence['ApiErrorBaseResponse'] details: The Api error details + :param 'InnerErrorResponse' innererror: The Api inner error + :param str message: The error message. + :param str target: The target of the particular error. + """ + if code is not None: + pulumi.set(__self__, "code", code) + if details is not None: + pulumi.set(__self__, "details", details) + if innererror is not None: + pulumi.set(__self__, "innererror", innererror) + if message is not None: + pulumi.set(__self__, "message", message) + if target is not None: + pulumi.set(__self__, "target", target) + + @property + @pulumi.getter + def code(self) -> Optional[str]: + """ + The error code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def details(self) -> Optional[Sequence['outputs.ApiErrorBaseResponse']]: + """ + The Api error details + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def innererror(self) -> Optional['outputs.InnerErrorResponse']: + """ + The Api inner error + """ + return pulumi.get(self, "innererror") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + The error message. + """ + return pulumi.get(self, "message") + + @property + @pulumi.getter + def target(self) -> Optional[str]: + """ + The target of the particular error. + """ + return pulumi.get(self, "target") + + +@pulumi.output_type +class ApplicationProfileResponse(dict): + """ + Contains the list of gallery applications that should be made available to the VM/VMSS + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "galleryApplications": + suggest = "gallery_applications" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ApplicationProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ApplicationProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ApplicationProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + gallery_applications: Optional[Sequence['outputs.VMGalleryApplicationResponse']] = None): + """ + Contains the list of gallery applications that should be made available to the VM/VMSS + :param Sequence['VMGalleryApplicationResponse'] gallery_applications: Specifies the gallery applications that should be made available to the VM/VMSS + """ + if gallery_applications is not None: + pulumi.set(__self__, "gallery_applications", gallery_applications) + + @property + @pulumi.getter(name="galleryApplications") + def gallery_applications(self) -> Optional[Sequence['outputs.VMGalleryApplicationResponse']]: + """ + Specifies the gallery applications that should be made available to the VM/VMSS + """ + return pulumi.get(self, "gallery_applications") + + +@pulumi.output_type +class AutomaticOSUpgradePolicyResponse(dict): + """ + The configuration parameters used for performing automatic OS upgrade. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "disableAutomaticRollback": + suggest = "disable_automatic_rollback" + elif key == "enableAutomaticOSUpgrade": + suggest = "enable_automatic_os_upgrade" + elif key == "useRollingUpgradePolicy": + suggest = "use_rolling_upgrade_policy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AutomaticOSUpgradePolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AutomaticOSUpgradePolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AutomaticOSUpgradePolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + disable_automatic_rollback: Optional[bool] = None, + enable_automatic_os_upgrade: Optional[bool] = None, + use_rolling_upgrade_policy: Optional[bool] = None): + """ + The configuration parameters used for performing automatic OS upgrade. + :param bool disable_automatic_rollback: Whether OS image rollback feature should be disabled. Default value is false. + :param bool enable_automatic_os_upgrade: Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true. + :param bool use_rolling_upgrade_policy: Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. + """ + if disable_automatic_rollback is not None: + pulumi.set(__self__, "disable_automatic_rollback", disable_automatic_rollback) + if enable_automatic_os_upgrade is not None: + pulumi.set(__self__, "enable_automatic_os_upgrade", enable_automatic_os_upgrade) + if use_rolling_upgrade_policy is not None: + pulumi.set(__self__, "use_rolling_upgrade_policy", use_rolling_upgrade_policy) + + @property + @pulumi.getter(name="disableAutomaticRollback") + def disable_automatic_rollback(self) -> Optional[bool]: + """ + Whether OS image rollback feature should be disabled. Default value is false. + """ + return pulumi.get(self, "disable_automatic_rollback") + + @property + @pulumi.getter(name="enableAutomaticOSUpgrade") + def enable_automatic_os_upgrade(self) -> Optional[bool]: + """ + Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true. + """ + return pulumi.get(self, "enable_automatic_os_upgrade") + + @property + @pulumi.getter(name="useRollingUpgradePolicy") + def use_rolling_upgrade_policy(self) -> Optional[bool]: + """ + Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Default value is false. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. + """ + return pulumi.get(self, "use_rolling_upgrade_policy") + + +@pulumi.output_type +class AutomaticRepairsPolicyResponse(dict): + """ + Specifies the configuration parameters for automatic repairs on the virtual machine scale set. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "gracePeriod": + suggest = "grace_period" + elif key == "repairAction": + suggest = "repair_action" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AutomaticRepairsPolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AutomaticRepairsPolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AutomaticRepairsPolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: Optional[bool] = None, + grace_period: Optional[str] = None, + repair_action: Optional[str] = None): + """ + Specifies the configuration parameters for automatic repairs on the virtual machine scale set. + :param bool enabled: Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false. + :param str grace_period: The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M). + :param str repair_action: Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if grace_period is not None: + pulumi.set(__self__, "grace_period", grace_period) + if repair_action is not None: + pulumi.set(__self__, "repair_action", repair_action) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="gracePeriod") + def grace_period(self) -> Optional[str]: + """ + The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 10 minutes (PT10M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M). + """ + return pulumi.get(self, "grace_period") + + @property + @pulumi.getter(name="repairAction") + def repair_action(self) -> Optional[str]: + """ + Type of repair action (replace, restart, reimage) that will be used for repairing unhealthy virtual machines in the scale set. Default value is replace. + """ + return pulumi.get(self, "repair_action") + + +@pulumi.output_type +class AvailablePatchSummaryResponse(dict): + """ + Describes the properties of an virtual machine instance view for available patch summary. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "assessmentActivityId": + suggest = "assessment_activity_id" + elif key == "criticalAndSecurityPatchCount": + suggest = "critical_and_security_patch_count" + elif key == "lastModifiedTime": + suggest = "last_modified_time" + elif key == "otherPatchCount": + suggest = "other_patch_count" + elif key == "rebootPending": + suggest = "reboot_pending" + elif key == "startTime": + suggest = "start_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AvailablePatchSummaryResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AvailablePatchSummaryResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AvailablePatchSummaryResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + assessment_activity_id: str, + critical_and_security_patch_count: int, + error: 'outputs.ApiErrorResponse', + last_modified_time: str, + other_patch_count: int, + reboot_pending: bool, + start_time: str, + status: str): + """ + Describes the properties of an virtual machine instance view for available patch summary. + :param str assessment_activity_id: The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. + :param int critical_and_security_patch_count: The number of critical or security patches that have been detected as available and not yet installed. + :param 'ApiErrorResponse' error: The errors that were encountered during execution of the operation. The details array contains the list of them. + :param str last_modified_time: The UTC timestamp when the operation began. + :param int other_patch_count: The number of all available patches excluding critical and security. + :param bool reboot_pending: The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred. + :param str start_time: The UTC timestamp when the operation began. + :param str status: The overall success or failure status of the operation. It remains "InProgress" until the operation completes. At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings." + """ + pulumi.set(__self__, "assessment_activity_id", assessment_activity_id) + pulumi.set(__self__, "critical_and_security_patch_count", critical_and_security_patch_count) + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "last_modified_time", last_modified_time) + pulumi.set(__self__, "other_patch_count", other_patch_count) + pulumi.set(__self__, "reboot_pending", reboot_pending) + pulumi.set(__self__, "start_time", start_time) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="assessmentActivityId") + def assessment_activity_id(self) -> str: + """ + The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. + """ + return pulumi.get(self, "assessment_activity_id") + + @property + @pulumi.getter(name="criticalAndSecurityPatchCount") + def critical_and_security_patch_count(self) -> int: + """ + The number of critical or security patches that have been detected as available and not yet installed. + """ + return pulumi.get(self, "critical_and_security_patch_count") + + @property + @pulumi.getter + def error(self) -> 'outputs.ApiErrorResponse': + """ + The errors that were encountered during execution of the operation. The details array contains the list of them. + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter(name="lastModifiedTime") + def last_modified_time(self) -> str: + """ + The UTC timestamp when the operation began. + """ + return pulumi.get(self, "last_modified_time") + + @property + @pulumi.getter(name="otherPatchCount") + def other_patch_count(self) -> int: + """ + The number of all available patches excluding critical and security. + """ + return pulumi.get(self, "other_patch_count") + + @property + @pulumi.getter(name="rebootPending") + def reboot_pending(self) -> bool: + """ + The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred. + """ + return pulumi.get(self, "reboot_pending") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> str: + """ + The UTC timestamp when the operation began. + """ + return pulumi.get(self, "start_time") + + @property + @pulumi.getter + def status(self) -> str: + """ + The overall success or failure status of the operation. It remains "InProgress" until the operation completes. At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings." + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class BillingProfileResponse(dict): + """ + Specifies the billing related details of a Azure Spot VM or VMSS. Minimum api-version: 2019-03-01. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxPrice": + suggest = "max_price" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BillingProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BillingProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BillingProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + max_price: Optional[float] = None): + """ + Specifies the billing related details of a Azure Spot VM or VMSS. Minimum api-version: 2019-03-01. + :param float max_price: Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.

The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.

Possible values are:

- Any decimal value greater than zero. Example: 0.01538

-1 – indicates default price to be up-to on-demand.

You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

Minimum api-version: 2019-03-01. + """ + if max_price is not None: + pulumi.set(__self__, "max_price", max_price) + + @property + @pulumi.getter(name="maxPrice") + def max_price(self) -> Optional[float]: + """ + Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.

The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.

Possible values are:

- Any decimal value greater than zero. Example: 0.01538

-1 – indicates default price to be up-to on-demand.

You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

Minimum api-version: 2019-03-01. + """ + return pulumi.get(self, "max_price") + + +@pulumi.output_type +class BootDiagnosticsInstanceViewResponse(dict): + """ + The instance view of a virtual machine boot diagnostics. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "consoleScreenshotBlobUri": + suggest = "console_screenshot_blob_uri" + elif key == "serialConsoleLogBlobUri": + suggest = "serial_console_log_blob_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BootDiagnosticsInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BootDiagnosticsInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BootDiagnosticsInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + console_screenshot_blob_uri: str, + serial_console_log_blob_uri: str, + status: 'outputs.InstanceViewStatusResponse'): + """ + The instance view of a virtual machine boot diagnostics. + :param str console_screenshot_blob_uri: The console screenshot blob URI. **Note:** This will **not** be set if boot diagnostics is currently enabled with managed storage. + :param str serial_console_log_blob_uri: The serial console log blob Uri. **Note:** This will **not** be set if boot diagnostics is currently enabled with managed storage. + :param 'InstanceViewStatusResponse' status: The boot diagnostics status information for the VM. **Note:** It will be set only if there are errors encountered in enabling boot diagnostics. + """ + pulumi.set(__self__, "console_screenshot_blob_uri", console_screenshot_blob_uri) + pulumi.set(__self__, "serial_console_log_blob_uri", serial_console_log_blob_uri) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="consoleScreenshotBlobUri") + def console_screenshot_blob_uri(self) -> str: + """ + The console screenshot blob URI. **Note:** This will **not** be set if boot diagnostics is currently enabled with managed storage. + """ + return pulumi.get(self, "console_screenshot_blob_uri") + + @property + @pulumi.getter(name="serialConsoleLogBlobUri") + def serial_console_log_blob_uri(self) -> str: + """ + The serial console log blob Uri. **Note:** This will **not** be set if boot diagnostics is currently enabled with managed storage. + """ + return pulumi.get(self, "serial_console_log_blob_uri") + + @property + @pulumi.getter + def status(self) -> 'outputs.InstanceViewStatusResponse': + """ + The boot diagnostics status information for the VM. **Note:** It will be set only if there are errors encountered in enabling boot diagnostics. + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class BootDiagnosticsResponse(dict): + """ + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "storageUri": + suggest = "storage_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BootDiagnosticsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BootDiagnosticsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BootDiagnosticsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: Optional[bool] = None, + storage_uri: Optional[str] = None): + """ + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + :param bool enabled: Whether boot diagnostics should be enabled on the Virtual Machine. + :param str storage_uri: Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if storage_uri is not None: + pulumi.set(__self__, "storage_uri", storage_uri) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether boot diagnostics should be enabled on the Virtual Machine. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="storageUri") + def storage_uri(self) -> Optional[str]: + """ + Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used. + """ + return pulumi.get(self, "storage_uri") + + +@pulumi.output_type +class CapacityReservationGroupInstanceViewResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "capacityReservations": + suggest = "capacity_reservations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CapacityReservationGroupInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CapacityReservationGroupInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CapacityReservationGroupInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + capacity_reservations: Sequence['outputs.CapacityReservationInstanceViewWithNameResponse']): + """ + :param Sequence['CapacityReservationInstanceViewWithNameResponse'] capacity_reservations: List of instance view of the capacity reservations under the capacity reservation group. + """ + pulumi.set(__self__, "capacity_reservations", capacity_reservations) + + @property + @pulumi.getter(name="capacityReservations") + def capacity_reservations(self) -> Sequence['outputs.CapacityReservationInstanceViewWithNameResponse']: + """ + List of instance view of the capacity reservations under the capacity reservation group. + """ + return pulumi.get(self, "capacity_reservations") + + +@pulumi.output_type +class CapacityReservationInstanceViewResponse(dict): + """ + The instance view of a capacity reservation that provides as snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "utilizationInfo": + suggest = "utilization_info" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CapacityReservationInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CapacityReservationInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CapacityReservationInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + statuses: Optional[Sequence['outputs.InstanceViewStatusResponse']] = None, + utilization_info: Optional['outputs.CapacityReservationUtilizationResponse'] = None): + """ + The instance view of a capacity reservation that provides as snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations. + :param Sequence['InstanceViewStatusResponse'] statuses: The resource status information. + :param 'CapacityReservationUtilizationResponse' utilization_info: Unutilized capacity of the capacity reservation. + """ + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + if utilization_info is not None: + pulumi.set(__self__, "utilization_info", utilization_info) + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + @property + @pulumi.getter(name="utilizationInfo") + def utilization_info(self) -> Optional['outputs.CapacityReservationUtilizationResponse']: + """ + Unutilized capacity of the capacity reservation. + """ + return pulumi.get(self, "utilization_info") + + +@pulumi.output_type +class CapacityReservationInstanceViewWithNameResponse(dict): + """ + The instance view of a capacity reservation that includes the name of the capacity reservation. It is used for the response to the instance view of a capacity reservation group. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "utilizationInfo": + suggest = "utilization_info" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CapacityReservationInstanceViewWithNameResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CapacityReservationInstanceViewWithNameResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CapacityReservationInstanceViewWithNameResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + statuses: Optional[Sequence['outputs.InstanceViewStatusResponse']] = None, + utilization_info: Optional['outputs.CapacityReservationUtilizationResponse'] = None): + """ + The instance view of a capacity reservation that includes the name of the capacity reservation. It is used for the response to the instance view of a capacity reservation group. + :param str name: The name of the capacity reservation. + :param Sequence['InstanceViewStatusResponse'] statuses: The resource status information. + :param 'CapacityReservationUtilizationResponse' utilization_info: Unutilized capacity of the capacity reservation. + """ + pulumi.set(__self__, "name", name) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + if utilization_info is not None: + pulumi.set(__self__, "utilization_info", utilization_info) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the capacity reservation. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + @property + @pulumi.getter(name="utilizationInfo") + def utilization_info(self) -> Optional['outputs.CapacityReservationUtilizationResponse']: + """ + Unutilized capacity of the capacity reservation. + """ + return pulumi.get(self, "utilization_info") + + +@pulumi.output_type +class CapacityReservationProfileResponse(dict): + """ + The parameters of a capacity reservation Profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "capacityReservationGroup": + suggest = "capacity_reservation_group" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CapacityReservationProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CapacityReservationProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CapacityReservationProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + capacity_reservation_group: Optional['outputs.SubResourceResponse'] = None): + """ + The parameters of a capacity reservation Profile. + :param 'SubResourceResponse' capacity_reservation_group: Specifies the capacity reservation group resource id that should be used for allocating the virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details. + """ + if capacity_reservation_group is not None: + pulumi.set(__self__, "capacity_reservation_group", capacity_reservation_group) + + @property + @pulumi.getter(name="capacityReservationGroup") + def capacity_reservation_group(self) -> Optional['outputs.SubResourceResponse']: + """ + Specifies the capacity reservation group resource id that should be used for allocating the virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details. + """ + return pulumi.get(self, "capacity_reservation_group") + + +@pulumi.output_type +class CapacityReservationUtilizationResponse(dict): + """ + Represents the capacity reservation utilization in terms of resources allocated. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "currentCapacity": + suggest = "current_capacity" + elif key == "virtualMachinesAllocated": + suggest = "virtual_machines_allocated" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CapacityReservationUtilizationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CapacityReservationUtilizationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CapacityReservationUtilizationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + current_capacity: int, + virtual_machines_allocated: Sequence['outputs.SubResourceReadOnlyResponse']): + """ + Represents the capacity reservation utilization in terms of resources allocated. + :param int current_capacity: The value provides the current capacity of the VM size which was reserved successfully and for which the customer is getting billed. Minimum api-version: 2022-08-01. + :param Sequence['SubResourceReadOnlyResponse'] virtual_machines_allocated: A list of all virtual machines resource ids allocated against the capacity reservation. + """ + pulumi.set(__self__, "current_capacity", current_capacity) + pulumi.set(__self__, "virtual_machines_allocated", virtual_machines_allocated) + + @property + @pulumi.getter(name="currentCapacity") + def current_capacity(self) -> int: + """ + The value provides the current capacity of the VM size which was reserved successfully and for which the customer is getting billed. Minimum api-version: 2022-08-01. + """ + return pulumi.get(self, "current_capacity") + + @property + @pulumi.getter(name="virtualMachinesAllocated") + def virtual_machines_allocated(self) -> Sequence['outputs.SubResourceReadOnlyResponse']: + """ + A list of all virtual machines resource ids allocated against the capacity reservation. + """ + return pulumi.get(self, "virtual_machines_allocated") + + +@pulumi.output_type +class DataDiskResponse(dict): + """ + Describes a data disk. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createOption": + suggest = "create_option" + elif key == "diskIOPSReadWrite": + suggest = "disk_iops_read_write" + elif key == "diskMBpsReadWrite": + suggest = "disk_m_bps_read_write" + elif key == "deleteOption": + suggest = "delete_option" + elif key == "detachOption": + suggest = "detach_option" + elif key == "diskSizeGB": + suggest = "disk_size_gb" + elif key == "managedDisk": + suggest = "managed_disk" + elif key == "toBeDetached": + suggest = "to_be_detached" + elif key == "writeAcceleratorEnabled": + suggest = "write_accelerator_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataDiskResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataDiskResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataDiskResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + create_option: str, + disk_iops_read_write: float, + disk_m_bps_read_write: float, + lun: int, + caching: Optional[str] = None, + delete_option: Optional[str] = None, + detach_option: Optional[str] = None, + disk_size_gb: Optional[int] = None, + image: Optional['outputs.VirtualHardDiskResponse'] = None, + managed_disk: Optional['outputs.ManagedDiskParametersResponse'] = None, + name: Optional[str] = None, + to_be_detached: Optional[bool] = None, + vhd: Optional['outputs.VirtualHardDiskResponse'] = None, + write_accelerator_enabled: Optional[bool] = None): + """ + Describes a data disk. + :param str create_option: Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + :param float disk_iops_read_write: Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set. + :param float disk_m_bps_read_write: Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set. + :param int lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + :param str caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + :param str delete_option: Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the data disk is deleted when VM is deleted. **Detach.** If this value is used, the data disk is retained after VM is deleted. The default value is set to **Detach**. + :param str detach_option: Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + :param int disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + :param 'VirtualHardDiskResponse' image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + :param 'ManagedDiskParametersResponse' managed_disk: The managed disk parameters. + :param str name: The disk name. + :param bool to_be_detached: Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset + :param 'VirtualHardDiskResponse' vhd: The virtual hard disk. + :param bool write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + pulumi.set(__self__, "create_option", create_option) + pulumi.set(__self__, "disk_iops_read_write", disk_iops_read_write) + pulumi.set(__self__, "disk_m_bps_read_write", disk_m_bps_read_write) + pulumi.set(__self__, "lun", lun) + if caching is not None: + pulumi.set(__self__, "caching", caching) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if detach_option is not None: + pulumi.set(__self__, "detach_option", detach_option) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if image is not None: + pulumi.set(__self__, "image", image) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + if name is not None: + pulumi.set(__self__, "name", name) + if to_be_detached is not None: + pulumi.set(__self__, "to_be_detached", to_be_detached) + if vhd is not None: + pulumi.set(__self__, "vhd", vhd) + if write_accelerator_enabled is not None: + pulumi.set(__self__, "write_accelerator_enabled", write_accelerator_enabled) + + @property + @pulumi.getter(name="createOption") + def create_option(self) -> str: + """ + Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + """ + return pulumi.get(self, "create_option") + + @property + @pulumi.getter(name="diskIOPSReadWrite") + def disk_iops_read_write(self) -> float: + """ + Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set. + """ + return pulumi.get(self, "disk_iops_read_write") + + @property + @pulumi.getter(name="diskMBpsReadWrite") + def disk_m_bps_read_write(self) -> float: + """ + Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set. + """ + return pulumi.get(self, "disk_m_bps_read_write") + + @property + @pulumi.getter + def lun(self) -> int: + """ + Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + """ + return pulumi.get(self, "lun") + + @property + @pulumi.getter + def caching(self) -> Optional[str]: + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + """ + return pulumi.get(self, "caching") + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[str]: + """ + Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the data disk is deleted when VM is deleted. **Detach.** If this value is used, the data disk is retained after VM is deleted. The default value is set to **Detach**. + """ + return pulumi.get(self, "delete_option") + + @property + @pulumi.getter(name="detachOption") + def detach_option(self) -> Optional[str]: + """ + Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'. + """ + return pulumi.get(self, "detach_option") + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[int]: + """ + Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter + def image(self) -> Optional['outputs.VirtualHardDiskResponse']: + """ + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + """ + return pulumi.get(self, "image") + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional['outputs.ManagedDiskParametersResponse']: + """ + The managed disk parameters. + """ + return pulumi.get(self, "managed_disk") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The disk name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="toBeDetached") + def to_be_detached(self) -> Optional[bool]: + """ + Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset + """ + return pulumi.get(self, "to_be_detached") + + @property + @pulumi.getter + def vhd(self) -> Optional['outputs.VirtualHardDiskResponse']: + """ + The virtual hard disk. + """ + return pulumi.get(self, "vhd") + + @property + @pulumi.getter(name="writeAcceleratorEnabled") + def write_accelerator_enabled(self) -> Optional[bool]: + """ + Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + return pulumi.get(self, "write_accelerator_enabled") + + +@pulumi.output_type +class DedicatedHostAllocatableVMResponse(dict): + """ + Represents the dedicated host unutilized capacity in terms of a specific VM size. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "vmSize": + suggest = "vm_size" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DedicatedHostAllocatableVMResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DedicatedHostAllocatableVMResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DedicatedHostAllocatableVMResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: Optional[float] = None, + vm_size: Optional[str] = None): + """ + Represents the dedicated host unutilized capacity in terms of a specific VM size. + :param float count: Maximum number of VMs of size vmSize that can fit in the dedicated host's remaining capacity. + :param str vm_size: VM size in terms of which the unutilized capacity is represented. + """ + if count is not None: + pulumi.set(__self__, "count", count) + if vm_size is not None: + pulumi.set(__self__, "vm_size", vm_size) + + @property + @pulumi.getter + def count(self) -> Optional[float]: + """ + Maximum number of VMs of size vmSize that can fit in the dedicated host's remaining capacity. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> Optional[str]: + """ + VM size in terms of which the unutilized capacity is represented. + """ + return pulumi.get(self, "vm_size") + + +@pulumi.output_type +class DedicatedHostAvailableCapacityResponse(dict): + """ + Dedicated host unutilized capacity. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allocatableVMs": + suggest = "allocatable_vms" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DedicatedHostAvailableCapacityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DedicatedHostAvailableCapacityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DedicatedHostAvailableCapacityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + allocatable_vms: Optional[Sequence['outputs.DedicatedHostAllocatableVMResponse']] = None): + """ + Dedicated host unutilized capacity. + :param Sequence['DedicatedHostAllocatableVMResponse'] allocatable_vms: The unutilized capacity of the dedicated host represented in terms of each VM size that is allowed to be deployed to the dedicated host. + """ + if allocatable_vms is not None: + pulumi.set(__self__, "allocatable_vms", allocatable_vms) + + @property + @pulumi.getter(name="allocatableVMs") + def allocatable_vms(self) -> Optional[Sequence['outputs.DedicatedHostAllocatableVMResponse']]: + """ + The unutilized capacity of the dedicated host represented in terms of each VM size that is allowed to be deployed to the dedicated host. + """ + return pulumi.get(self, "allocatable_vms") + + +@pulumi.output_type +class DedicatedHostGroupInstanceViewResponse(dict): + def __init__(__self__, *, + hosts: Optional[Sequence['outputs.DedicatedHostInstanceViewWithNameResponse']] = None): + """ + :param Sequence['DedicatedHostInstanceViewWithNameResponse'] hosts: List of instance view of the dedicated hosts under the dedicated host group. + """ + if hosts is not None: + pulumi.set(__self__, "hosts", hosts) + + @property + @pulumi.getter + def hosts(self) -> Optional[Sequence['outputs.DedicatedHostInstanceViewWithNameResponse']]: + """ + List of instance view of the dedicated hosts under the dedicated host group. + """ + return pulumi.get(self, "hosts") + + +@pulumi.output_type +class DedicatedHostGroupPropertiesResponseAdditionalCapabilities(dict): + """ + Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ultraSSDEnabled": + suggest = "ultra_ssd_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DedicatedHostGroupPropertiesResponseAdditionalCapabilities. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DedicatedHostGroupPropertiesResponseAdditionalCapabilities.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DedicatedHostGroupPropertiesResponseAdditionalCapabilities.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ultra_ssd_enabled: Optional[bool] = None): + """ + Enables or disables a capability on the dedicated host group. Minimum api-version: 2022-03-01. + :param bool ultra_ssd_enabled: The flag that enables or disables a capability to have UltraSSD Enabled Virtual Machines on Dedicated Hosts of the Dedicated Host Group. For the Virtual Machines to be UltraSSD Enabled, UltraSSDEnabled flag for the resource needs to be set true as well. The value is defaulted to 'false' when not provided. Please refer to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd for more details on Ultra SSD feature. **Note:** The ultraSSDEnabled setting can only be enabled for Host Groups that are created as zonal. Minimum api-version: 2022-03-01. + """ + if ultra_ssd_enabled is not None: + pulumi.set(__self__, "ultra_ssd_enabled", ultra_ssd_enabled) + + @property + @pulumi.getter(name="ultraSSDEnabled") + def ultra_ssd_enabled(self) -> Optional[bool]: + """ + The flag that enables or disables a capability to have UltraSSD Enabled Virtual Machines on Dedicated Hosts of the Dedicated Host Group. For the Virtual Machines to be UltraSSD Enabled, UltraSSDEnabled flag for the resource needs to be set true as well. The value is defaulted to 'false' when not provided. Please refer to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd for more details on Ultra SSD feature. **Note:** The ultraSSDEnabled setting can only be enabled for Host Groups that are created as zonal. Minimum api-version: 2022-03-01. + """ + return pulumi.get(self, "ultra_ssd_enabled") + + +@pulumi.output_type +class DedicatedHostInstanceViewResponse(dict): + """ + The instance view of a dedicated host. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "assetId": + suggest = "asset_id" + elif key == "availableCapacity": + suggest = "available_capacity" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DedicatedHostInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DedicatedHostInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DedicatedHostInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + asset_id: str, + available_capacity: Optional['outputs.DedicatedHostAvailableCapacityResponse'] = None, + statuses: Optional[Sequence['outputs.InstanceViewStatusResponse']] = None): + """ + The instance view of a dedicated host. + :param str asset_id: Specifies the unique id of the dedicated physical machine on which the dedicated host resides. + :param 'DedicatedHostAvailableCapacityResponse' available_capacity: Unutilized capacity of the dedicated host. + :param Sequence['InstanceViewStatusResponse'] statuses: The resource status information. + """ + pulumi.set(__self__, "asset_id", asset_id) + if available_capacity is not None: + pulumi.set(__self__, "available_capacity", available_capacity) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + + @property + @pulumi.getter(name="assetId") + def asset_id(self) -> str: + """ + Specifies the unique id of the dedicated physical machine on which the dedicated host resides. + """ + return pulumi.get(self, "asset_id") + + @property + @pulumi.getter(name="availableCapacity") + def available_capacity(self) -> Optional['outputs.DedicatedHostAvailableCapacityResponse']: + """ + Unutilized capacity of the dedicated host. + """ + return pulumi.get(self, "available_capacity") + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + +@pulumi.output_type +class DedicatedHostInstanceViewWithNameResponse(dict): + """ + The instance view of a dedicated host that includes the name of the dedicated host. It is used for the response to the instance view of a dedicated host group. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "assetId": + suggest = "asset_id" + elif key == "availableCapacity": + suggest = "available_capacity" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DedicatedHostInstanceViewWithNameResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DedicatedHostInstanceViewWithNameResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DedicatedHostInstanceViewWithNameResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + asset_id: str, + name: str, + available_capacity: Optional['outputs.DedicatedHostAvailableCapacityResponse'] = None, + statuses: Optional[Sequence['outputs.InstanceViewStatusResponse']] = None): + """ + The instance view of a dedicated host that includes the name of the dedicated host. It is used for the response to the instance view of a dedicated host group. + :param str asset_id: Specifies the unique id of the dedicated physical machine on which the dedicated host resides. + :param str name: The name of the dedicated host. + :param 'DedicatedHostAvailableCapacityResponse' available_capacity: Unutilized capacity of the dedicated host. + :param Sequence['InstanceViewStatusResponse'] statuses: The resource status information. + """ + pulumi.set(__self__, "asset_id", asset_id) + pulumi.set(__self__, "name", name) + if available_capacity is not None: + pulumi.set(__self__, "available_capacity", available_capacity) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + + @property + @pulumi.getter(name="assetId") + def asset_id(self) -> str: + """ + Specifies the unique id of the dedicated physical machine on which the dedicated host resides. + """ + return pulumi.get(self, "asset_id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the dedicated host. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="availableCapacity") + def available_capacity(self) -> Optional['outputs.DedicatedHostAvailableCapacityResponse']: + """ + Unutilized capacity of the dedicated host. + """ + return pulumi.get(self, "available_capacity") + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + +@pulumi.output_type +class DiagnosticsProfileResponse(dict): + """ + Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bootDiagnostics": + suggest = "boot_diagnostics" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DiagnosticsProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DiagnosticsProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DiagnosticsProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + boot_diagnostics: Optional['outputs.BootDiagnosticsResponse'] = None): + """ + Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + :param 'BootDiagnosticsResponse' boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. **NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + """ + if boot_diagnostics is not None: + pulumi.set(__self__, "boot_diagnostics", boot_diagnostics) + + @property + @pulumi.getter(name="bootDiagnostics") + def boot_diagnostics(self) -> Optional['outputs.BootDiagnosticsResponse']: + """ + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. **NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + """ + return pulumi.get(self, "boot_diagnostics") + + +@pulumi.output_type +class DiffDiskSettingsResponse(dict): + """ + Describes the parameters of ephemeral disk settings that can be specified for operating system disk. **Note:** The ephemeral disk settings can only be specified for managed disk. + """ + def __init__(__self__, *, + option: Optional[str] = None, + placement: Optional[str] = None): + """ + Describes the parameters of ephemeral disk settings that can be specified for operating system disk. **Note:** The ephemeral disk settings can only be specified for managed disk. + :param str option: Specifies the ephemeral disk settings for operating system disk. + :param str placement: Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + """ + if option is not None: + pulumi.set(__self__, "option", option) + if placement is not None: + pulumi.set(__self__, "placement", placement) + + @property + @pulumi.getter + def option(self) -> Optional[str]: + """ + Specifies the ephemeral disk settings for operating system disk. + """ + return pulumi.get(self, "option") + + @property + @pulumi.getter + def placement(self) -> Optional[str]: + """ + Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used. Refer to the VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk. + """ + return pulumi.get(self, "placement") + + +@pulumi.output_type +class DiskEncryptionSetParametersResponse(dict): + """ + Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + """ + def __init__(__self__, *, + id: Optional[str] = None): + """ + Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + :param str id: Resource Id + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + Resource Id + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class DiskEncryptionSettingsResponse(dict): + """ + Describes a Encryption Settings for a Disk + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskEncryptionKey": + suggest = "disk_encryption_key" + elif key == "keyEncryptionKey": + suggest = "key_encryption_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DiskEncryptionSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DiskEncryptionSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DiskEncryptionSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + disk_encryption_key: Optional['outputs.KeyVaultSecretReferenceResponse'] = None, + enabled: Optional[bool] = None, + key_encryption_key: Optional['outputs.KeyVaultKeyReferenceResponse'] = None): + """ + Describes a Encryption Settings for a Disk + :param 'KeyVaultSecretReferenceResponse' disk_encryption_key: Specifies the location of the disk encryption key, which is a Key Vault Secret. + :param bool enabled: Specifies whether disk encryption should be enabled on the virtual machine. + :param 'KeyVaultKeyReferenceResponse' key_encryption_key: Specifies the location of the key encryption key in Key Vault. + """ + if disk_encryption_key is not None: + pulumi.set(__self__, "disk_encryption_key", disk_encryption_key) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if key_encryption_key is not None: + pulumi.set(__self__, "key_encryption_key", key_encryption_key) + + @property + @pulumi.getter(name="diskEncryptionKey") + def disk_encryption_key(self) -> Optional['outputs.KeyVaultSecretReferenceResponse']: + """ + Specifies the location of the disk encryption key, which is a Key Vault Secret. + """ + return pulumi.get(self, "disk_encryption_key") + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Specifies whether disk encryption should be enabled on the virtual machine. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="keyEncryptionKey") + def key_encryption_key(self) -> Optional['outputs.KeyVaultKeyReferenceResponse']: + """ + Specifies the location of the key encryption key in Key Vault. + """ + return pulumi.get(self, "key_encryption_key") + + +@pulumi.output_type +class DiskInstanceViewResponse(dict): + """ + The instance view of the disk. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "encryptionSettings": + suggest = "encryption_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DiskInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DiskInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DiskInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + encryption_settings: Optional[Sequence['outputs.DiskEncryptionSettingsResponse']] = None, + name: Optional[str] = None, + statuses: Optional[Sequence['outputs.InstanceViewStatusResponse']] = None): + """ + The instance view of the disk. + :param Sequence['DiskEncryptionSettingsResponse'] encryption_settings: Specifies the encryption settings for the OS Disk.

Minimum api-version: 2015-06-15 + :param str name: The disk name. + :param Sequence['InstanceViewStatusResponse'] statuses: The resource status information. + """ + if encryption_settings is not None: + pulumi.set(__self__, "encryption_settings", encryption_settings) + if name is not None: + pulumi.set(__self__, "name", name) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + + @property + @pulumi.getter(name="encryptionSettings") + def encryption_settings(self) -> Optional[Sequence['outputs.DiskEncryptionSettingsResponse']]: + """ + Specifies the encryption settings for the OS Disk.

Minimum api-version: 2015-06-15 + """ + return pulumi.get(self, "encryption_settings") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The disk name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + +@pulumi.output_type +class DiskRestorePointAttributesResponse(dict): + """ + Disk Restore Point details. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sourceDiskRestorePoint": + suggest = "source_disk_restore_point" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DiskRestorePointAttributesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DiskRestorePointAttributesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DiskRestorePointAttributesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + id: str, + encryption: Optional['outputs.RestorePointEncryptionResponse'] = None, + source_disk_restore_point: Optional['outputs.ApiEntityReferenceResponse'] = None): + """ + Disk Restore Point details. + :param str id: Resource Id + :param 'RestorePointEncryptionResponse' encryption: Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + :param 'ApiEntityReferenceResponse' source_disk_restore_point: Resource Id of the source disk restore point. + """ + pulumi.set(__self__, "id", id) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if source_disk_restore_point is not None: + pulumi.set(__self__, "source_disk_restore_point", source_disk_restore_point) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def encryption(self) -> Optional['outputs.RestorePointEncryptionResponse']: + """ + Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + """ + return pulumi.get(self, "encryption") + + @property + @pulumi.getter(name="sourceDiskRestorePoint") + def source_disk_restore_point(self) -> Optional['outputs.ApiEntityReferenceResponse']: + """ + Resource Id of the source disk restore point. + """ + return pulumi.get(self, "source_disk_restore_point") + + +@pulumi.output_type +class DiskRestorePointInstanceViewResponse(dict): + """ + The instance view of a disk restore point. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "replicationStatus": + suggest = "replication_status" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DiskRestorePointInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DiskRestorePointInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DiskRestorePointInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + id: Optional[str] = None, + replication_status: Optional['outputs.DiskRestorePointReplicationStatusResponse'] = None): + """ + The instance view of a disk restore point. + :param str id: Disk restore point Id. + :param 'DiskRestorePointReplicationStatusResponse' replication_status: The disk restore point replication status information. + """ + if id is not None: + pulumi.set(__self__, "id", id) + if replication_status is not None: + pulumi.set(__self__, "replication_status", replication_status) + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + Disk restore point Id. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="replicationStatus") + def replication_status(self) -> Optional['outputs.DiskRestorePointReplicationStatusResponse']: + """ + The disk restore point replication status information. + """ + return pulumi.get(self, "replication_status") + + +@pulumi.output_type +class DiskRestorePointReplicationStatusResponse(dict): + """ + The instance view of a disk restore point. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "completionPercent": + suggest = "completion_percent" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DiskRestorePointReplicationStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DiskRestorePointReplicationStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DiskRestorePointReplicationStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + completion_percent: Optional[int] = None, + status: Optional['outputs.InstanceViewStatusResponse'] = None): + """ + The instance view of a disk restore point. + :param int completion_percent: Replication completion percentage. + :param 'InstanceViewStatusResponse' status: The resource status information. + """ + if completion_percent is not None: + pulumi.set(__self__, "completion_percent", completion_percent) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="completionPercent") + def completion_percent(self) -> Optional[int]: + """ + Replication completion percentage. + """ + return pulumi.get(self, "completion_percent") + + @property + @pulumi.getter + def status(self) -> Optional['outputs.InstanceViewStatusResponse']: + """ + The resource status information. + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class ExtendedLocationResponse(dict): + """ + The complex type of the extended location. + """ + def __init__(__self__, *, + name: Optional[str] = None, + type: Optional[str] = None): + """ + The complex type of the extended location. + :param str name: The name of the extended location. + :param str type: The type of the extended location. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the extended location. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of the extended location. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class HardwareProfileResponse(dict): + """ + Specifies the hardware settings for the virtual machine. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "vmSize": + suggest = "vm_size" + elif key == "vmSizeProperties": + suggest = "vm_size_properties" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HardwareProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HardwareProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HardwareProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + vm_size: Optional[str] = None, + vm_size_properties: Optional['outputs.VMSizePropertiesResponse'] = None): + """ + Specifies the hardware settings for the virtual machine. + :param str vm_size: Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. + :param 'VMSizePropertiesResponse' vm_size_properties: Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + """ + if vm_size is not None: + pulumi.set(__self__, "vm_size", vm_size) + if vm_size_properties is not None: + pulumi.set(__self__, "vm_size_properties", vm_size_properties) + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> Optional[str]: + """ + Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. The recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes), [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list), [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set. + """ + return pulumi.get(self, "vm_size") + + @property + @pulumi.getter(name="vmSizeProperties") + def vm_size_properties(self) -> Optional['outputs.VMSizePropertiesResponse']: + """ + Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + """ + return pulumi.get(self, "vm_size_properties") + + +@pulumi.output_type +class ImageDataDiskResponse(dict): + """ + Describes a data disk. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "blobUri": + suggest = "blob_uri" + elif key == "diskEncryptionSet": + suggest = "disk_encryption_set" + elif key == "diskSizeGB": + suggest = "disk_size_gb" + elif key == "managedDisk": + suggest = "managed_disk" + elif key == "storageAccountType": + suggest = "storage_account_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ImageDataDiskResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ImageDataDiskResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ImageDataDiskResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + lun: int, + blob_uri: Optional[str] = None, + caching: Optional[str] = None, + disk_encryption_set: Optional['outputs.DiskEncryptionSetParametersResponse'] = None, + disk_size_gb: Optional[int] = None, + managed_disk: Optional['outputs.SubResourceResponse'] = None, + snapshot: Optional['outputs.SubResourceResponse'] = None, + storage_account_type: Optional[str] = None): + """ + Describes a data disk. + :param int lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + :param str blob_uri: The Virtual Hard Disk. + :param str caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + :param 'DiskEncryptionSetParametersResponse' disk_encryption_set: Specifies the customer managed disk encryption set resource id for the managed image disk. + :param int disk_size_gb: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + :param 'SubResourceResponse' managed_disk: The managedDisk. + :param 'SubResourceResponse' snapshot: The snapshot. + :param str storage_account_type: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + pulumi.set(__self__, "lun", lun) + if blob_uri is not None: + pulumi.set(__self__, "blob_uri", blob_uri) + if caching is not None: + pulumi.set(__self__, "caching", caching) + if disk_encryption_set is not None: + pulumi.set(__self__, "disk_encryption_set", disk_encryption_set) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + if snapshot is not None: + pulumi.set(__self__, "snapshot", snapshot) + if storage_account_type is not None: + pulumi.set(__self__, "storage_account_type", storage_account_type) + + @property + @pulumi.getter + def lun(self) -> int: + """ + Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + """ + return pulumi.get(self, "lun") + + @property + @pulumi.getter(name="blobUri") + def blob_uri(self) -> Optional[str]: + """ + The Virtual Hard Disk. + """ + return pulumi.get(self, "blob_uri") + + @property + @pulumi.getter + def caching(self) -> Optional[str]: + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + """ + return pulumi.get(self, "caching") + + @property + @pulumi.getter(name="diskEncryptionSet") + def disk_encryption_set(self) -> Optional['outputs.DiskEncryptionSetParametersResponse']: + """ + Specifies the customer managed disk encryption set resource id for the managed image disk. + """ + return pulumi.get(self, "disk_encryption_set") + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[int]: + """ + Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional['outputs.SubResourceResponse']: + """ + The managedDisk. + """ + return pulumi.get(self, "managed_disk") + + @property + @pulumi.getter + def snapshot(self) -> Optional['outputs.SubResourceResponse']: + """ + The snapshot. + """ + return pulumi.get(self, "snapshot") + + @property + @pulumi.getter(name="storageAccountType") + def storage_account_type(self) -> Optional[str]: + """ + Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + return pulumi.get(self, "storage_account_type") + + +@pulumi.output_type +class ImageOSDiskResponse(dict): + """ + Describes an Operating System disk. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "osState": + suggest = "os_state" + elif key == "osType": + suggest = "os_type" + elif key == "blobUri": + suggest = "blob_uri" + elif key == "diskEncryptionSet": + suggest = "disk_encryption_set" + elif key == "diskSizeGB": + suggest = "disk_size_gb" + elif key == "managedDisk": + suggest = "managed_disk" + elif key == "storageAccountType": + suggest = "storage_account_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ImageOSDiskResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ImageOSDiskResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ImageOSDiskResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + os_state: str, + os_type: str, + blob_uri: Optional[str] = None, + caching: Optional[str] = None, + disk_encryption_set: Optional['outputs.DiskEncryptionSetParametersResponse'] = None, + disk_size_gb: Optional[int] = None, + managed_disk: Optional['outputs.SubResourceResponse'] = None, + snapshot: Optional['outputs.SubResourceResponse'] = None, + storage_account_type: Optional[str] = None): + """ + Describes an Operating System disk. + :param str os_state: The OS State. For managed images, use Generalized. + :param str os_type: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. Possible values are: **Windows,** **Linux.** + :param str blob_uri: The Virtual Hard Disk. + :param str caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + :param 'DiskEncryptionSetParametersResponse' disk_encryption_set: Specifies the customer managed disk encryption set resource id for the managed image disk. + :param int disk_size_gb: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + :param 'SubResourceResponse' managed_disk: The managedDisk. + :param 'SubResourceResponse' snapshot: The snapshot. + :param str storage_account_type: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + pulumi.set(__self__, "os_state", os_state) + pulumi.set(__self__, "os_type", os_type) + if blob_uri is not None: + pulumi.set(__self__, "blob_uri", blob_uri) + if caching is not None: + pulumi.set(__self__, "caching", caching) + if disk_encryption_set is not None: + pulumi.set(__self__, "disk_encryption_set", disk_encryption_set) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + if snapshot is not None: + pulumi.set(__self__, "snapshot", snapshot) + if storage_account_type is not None: + pulumi.set(__self__, "storage_account_type", storage_account_type) + + @property + @pulumi.getter(name="osState") + def os_state(self) -> str: + """ + The OS State. For managed images, use Generalized. + """ + return pulumi.get(self, "os_state") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> str: + """ + This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. Possible values are: **Windows,** **Linux.** + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter(name="blobUri") + def blob_uri(self) -> Optional[str]: + """ + The Virtual Hard Disk. + """ + return pulumi.get(self, "blob_uri") + + @property + @pulumi.getter + def caching(self) -> Optional[str]: + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + """ + return pulumi.get(self, "caching") + + @property + @pulumi.getter(name="diskEncryptionSet") + def disk_encryption_set(self) -> Optional['outputs.DiskEncryptionSetParametersResponse']: + """ + Specifies the customer managed disk encryption set resource id for the managed image disk. + """ + return pulumi.get(self, "disk_encryption_set") + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[int]: + """ + Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. This value cannot be larger than 1023 GB. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional['outputs.SubResourceResponse']: + """ + The managedDisk. + """ + return pulumi.get(self, "managed_disk") + + @property + @pulumi.getter + def snapshot(self) -> Optional['outputs.SubResourceResponse']: + """ + The snapshot. + """ + return pulumi.get(self, "snapshot") + + @property + @pulumi.getter(name="storageAccountType") + def storage_account_type(self) -> Optional[str]: + """ + Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + return pulumi.get(self, "storage_account_type") + + +@pulumi.output_type +class ImageReferenceResponse(dict): + """ + Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "exactVersion": + suggest = "exact_version" + elif key == "communityGalleryImageId": + suggest = "community_gallery_image_id" + elif key == "sharedGalleryImageId": + suggest = "shared_gallery_image_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ImageReferenceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ImageReferenceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ImageReferenceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + exact_version: str, + community_gallery_image_id: Optional[str] = None, + id: Optional[str] = None, + offer: Optional[str] = None, + publisher: Optional[str] = None, + shared_gallery_image_id: Optional[str] = None, + sku: Optional[str] = None, + version: Optional[str] = None): + """ + Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set. + :param str exact_version: Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'. + :param str community_gallery_image_id: Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call. + :param str id: Resource Id + :param str offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine. + :param str publisher: The image publisher. + :param str shared_gallery_image_id: Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call. + :param str sku: The image SKU. + :param str version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input. + """ + pulumi.set(__self__, "exact_version", exact_version) + if community_gallery_image_id is not None: + pulumi.set(__self__, "community_gallery_image_id", community_gallery_image_id) + if id is not None: + pulumi.set(__self__, "id", id) + if offer is not None: + pulumi.set(__self__, "offer", offer) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + if shared_gallery_image_id is not None: + pulumi.set(__self__, "shared_gallery_image_id", shared_gallery_image_id) + if sku is not None: + pulumi.set(__self__, "sku", sku) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="exactVersion") + def exact_version(self) -> str: + """ + Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'. + """ + return pulumi.get(self, "exact_version") + + @property + @pulumi.getter(name="communityGalleryImageId") + def community_gallery_image_id(self) -> Optional[str]: + """ + Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call. + """ + return pulumi.get(self, "community_gallery_image_id") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def offer(self) -> Optional[str]: + """ + Specifies the offer of the platform image or marketplace image used to create the virtual machine. + """ + return pulumi.get(self, "offer") + + @property + @pulumi.getter + def publisher(self) -> Optional[str]: + """ + The image publisher. + """ + return pulumi.get(self, "publisher") + + @property + @pulumi.getter(name="sharedGalleryImageId") + def shared_gallery_image_id(self) -> Optional[str]: + """ + Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call. + """ + return pulumi.get(self, "shared_gallery_image_id") + + @property + @pulumi.getter + def sku(self) -> Optional[str]: + """ + The image SKU. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter + def version(self) -> Optional[str]: + """ + Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ImageStorageProfileResponse(dict): + """ + Describes a storage profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataDisks": + suggest = "data_disks" + elif key == "osDisk": + suggest = "os_disk" + elif key == "zoneResilient": + suggest = "zone_resilient" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ImageStorageProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ImageStorageProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ImageStorageProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_disks: Optional[Sequence['outputs.ImageDataDiskResponse']] = None, + os_disk: Optional['outputs.ImageOSDiskResponse'] = None, + zone_resilient: Optional[bool] = None): + """ + Describes a storage profile. + :param Sequence['ImageDataDiskResponse'] data_disks: Specifies the parameters that are used to add a data disk to a virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + :param 'ImageOSDiskResponse' os_disk: Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + :param bool zone_resilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). + """ + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if os_disk is not None: + pulumi.set(__self__, "os_disk", os_disk) + if zone_resilient is not None: + pulumi.set(__self__, "zone_resilient", zone_resilient) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[Sequence['outputs.ImageDataDiskResponse']]: + """ + Specifies the parameters that are used to add a data disk to a virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + return pulumi.get(self, "data_disks") + + @property + @pulumi.getter(name="osDisk") + def os_disk(self) -> Optional['outputs.ImageOSDiskResponse']: + """ + Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + return pulumi.get(self, "os_disk") + + @property + @pulumi.getter(name="zoneResilient") + def zone_resilient(self) -> Optional[bool]: + """ + Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS). + """ + return pulumi.get(self, "zone_resilient") + + +@pulumi.output_type +class InnerErrorResponse(dict): + """ + Inner error details. + """ + def __init__(__self__, *, + errordetail: Optional[str] = None, + exceptiontype: Optional[str] = None): + """ + Inner error details. + :param str errordetail: The internal error message or exception dump. + :param str exceptiontype: The exception type. + """ + if errordetail is not None: + pulumi.set(__self__, "errordetail", errordetail) + if exceptiontype is not None: + pulumi.set(__self__, "exceptiontype", exceptiontype) + + @property + @pulumi.getter + def errordetail(self) -> Optional[str]: + """ + The internal error message or exception dump. + """ + return pulumi.get(self, "errordetail") + + @property + @pulumi.getter + def exceptiontype(self) -> Optional[str]: + """ + The exception type. + """ + return pulumi.get(self, "exceptiontype") + + +@pulumi.output_type +class InstanceViewStatusResponse(dict): + """ + Instance view status. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayStatus": + suggest = "display_status" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceViewStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceViewStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceViewStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[str] = None, + message: Optional[str] = None, + time: Optional[str] = None): + """ + Instance view status. + :param str code: The status code. + :param str display_status: The short localizable label for the status. + :param str level: The level code. + :param str message: The detailed status message, including for alerts and error messages. + :param str time: The time of the status. + """ + if code is not None: + pulumi.set(__self__, "code", code) + if display_status is not None: + pulumi.set(__self__, "display_status", display_status) + if level is not None: + pulumi.set(__self__, "level", level) + if message is not None: + pulumi.set(__self__, "message", message) + if time is not None: + pulumi.set(__self__, "time", time) + + @property + @pulumi.getter + def code(self) -> Optional[str]: + """ + The status code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter(name="displayStatus") + def display_status(self) -> Optional[str]: + """ + The short localizable label for the status. + """ + return pulumi.get(self, "display_status") + + @property + @pulumi.getter + def level(self) -> Optional[str]: + """ + The level code. + """ + return pulumi.get(self, "level") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + The detailed status message, including for alerts and error messages. + """ + return pulumi.get(self, "message") + + @property + @pulumi.getter + def time(self) -> Optional[str]: + """ + The time of the status. + """ + return pulumi.get(self, "time") + + +@pulumi.output_type +class KeyVaultKeyReferenceResponse(dict): + """ + Describes a reference to Key Vault Key + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyUrl": + suggest = "key_url" + elif key == "sourceVault": + suggest = "source_vault" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in KeyVaultKeyReferenceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + KeyVaultKeyReferenceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + KeyVaultKeyReferenceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_url: str, + source_vault: 'outputs.SubResourceResponse'): + """ + Describes a reference to Key Vault Key + :param str key_url: The URL referencing a key encryption key in Key Vault. + :param 'SubResourceResponse' source_vault: The relative URL of the Key Vault containing the key. + """ + pulumi.set(__self__, "key_url", key_url) + pulumi.set(__self__, "source_vault", source_vault) + + @property + @pulumi.getter(name="keyUrl") + def key_url(self) -> str: + """ + The URL referencing a key encryption key in Key Vault. + """ + return pulumi.get(self, "key_url") + + @property + @pulumi.getter(name="sourceVault") + def source_vault(self) -> 'outputs.SubResourceResponse': + """ + The relative URL of the Key Vault containing the key. + """ + return pulumi.get(self, "source_vault") + + +@pulumi.output_type +class KeyVaultSecretReferenceResponse(dict): + """ + Describes a reference to Key Vault Secret + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "secretUrl": + suggest = "secret_url" + elif key == "sourceVault": + suggest = "source_vault" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in KeyVaultSecretReferenceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + KeyVaultSecretReferenceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + KeyVaultSecretReferenceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + secret_url: str, + source_vault: 'outputs.SubResourceResponse'): + """ + Describes a reference to Key Vault Secret + :param str secret_url: The URL referencing a secret in a Key Vault. + :param 'SubResourceResponse' source_vault: The relative URL of the Key Vault containing the secret. + """ + pulumi.set(__self__, "secret_url", secret_url) + pulumi.set(__self__, "source_vault", source_vault) + + @property + @pulumi.getter(name="secretUrl") + def secret_url(self) -> str: + """ + The URL referencing a secret in a Key Vault. + """ + return pulumi.get(self, "secret_url") + + @property + @pulumi.getter(name="sourceVault") + def source_vault(self) -> 'outputs.SubResourceResponse': + """ + The relative URL of the Key Vault containing the secret. + """ + return pulumi.get(self, "source_vault") + + +@pulumi.output_type +class LastPatchInstallationSummaryResponse(dict): + """ + Describes the properties of the last installed patch summary. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "excludedPatchCount": + suggest = "excluded_patch_count" + elif key == "failedPatchCount": + suggest = "failed_patch_count" + elif key == "installationActivityId": + suggest = "installation_activity_id" + elif key == "installedPatchCount": + suggest = "installed_patch_count" + elif key == "lastModifiedTime": + suggest = "last_modified_time" + elif key == "maintenanceWindowExceeded": + suggest = "maintenance_window_exceeded" + elif key == "notSelectedPatchCount": + suggest = "not_selected_patch_count" + elif key == "pendingPatchCount": + suggest = "pending_patch_count" + elif key == "startTime": + suggest = "start_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LastPatchInstallationSummaryResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LastPatchInstallationSummaryResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LastPatchInstallationSummaryResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + error: 'outputs.ApiErrorResponse', + excluded_patch_count: int, + failed_patch_count: int, + installation_activity_id: str, + installed_patch_count: int, + last_modified_time: str, + maintenance_window_exceeded: bool, + not_selected_patch_count: int, + pending_patch_count: int, + start_time: str, + status: str): + """ + Describes the properties of the last installed patch summary. + :param 'ApiErrorResponse' error: The errors that were encountered during execution of the operation. The details array contains the list of them. + :param int excluded_patch_count: The number of all available patches but excluded explicitly by a customer-specified exclusion list match. + :param int failed_patch_count: The count of patches that failed installation. + :param str installation_activity_id: The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. + :param int installed_patch_count: The count of patches that successfully installed. + :param str last_modified_time: The UTC timestamp when the operation began. + :param bool maintenance_window_exceeded: Describes whether the operation ran out of time before it completed all its intended actions + :param int not_selected_patch_count: The number of all available patches but not going to be installed because it didn't match a classification or inclusion list entry. + :param int pending_patch_count: The number of all available patches expected to be installed over the course of the patch installation operation. + :param str start_time: The UTC timestamp when the operation began. + :param str status: The overall success or failure status of the operation. It remains "InProgress" until the operation completes. At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings." + """ + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "excluded_patch_count", excluded_patch_count) + pulumi.set(__self__, "failed_patch_count", failed_patch_count) + pulumi.set(__self__, "installation_activity_id", installation_activity_id) + pulumi.set(__self__, "installed_patch_count", installed_patch_count) + pulumi.set(__self__, "last_modified_time", last_modified_time) + pulumi.set(__self__, "maintenance_window_exceeded", maintenance_window_exceeded) + pulumi.set(__self__, "not_selected_patch_count", not_selected_patch_count) + pulumi.set(__self__, "pending_patch_count", pending_patch_count) + pulumi.set(__self__, "start_time", start_time) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def error(self) -> 'outputs.ApiErrorResponse': + """ + The errors that were encountered during execution of the operation. The details array contains the list of them. + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter(name="excludedPatchCount") + def excluded_patch_count(self) -> int: + """ + The number of all available patches but excluded explicitly by a customer-specified exclusion list match. + """ + return pulumi.get(self, "excluded_patch_count") + + @property + @pulumi.getter(name="failedPatchCount") + def failed_patch_count(self) -> int: + """ + The count of patches that failed installation. + """ + return pulumi.get(self, "failed_patch_count") + + @property + @pulumi.getter(name="installationActivityId") + def installation_activity_id(self) -> str: + """ + The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs. + """ + return pulumi.get(self, "installation_activity_id") + + @property + @pulumi.getter(name="installedPatchCount") + def installed_patch_count(self) -> int: + """ + The count of patches that successfully installed. + """ + return pulumi.get(self, "installed_patch_count") + + @property + @pulumi.getter(name="lastModifiedTime") + def last_modified_time(self) -> str: + """ + The UTC timestamp when the operation began. + """ + return pulumi.get(self, "last_modified_time") + + @property + @pulumi.getter(name="maintenanceWindowExceeded") + def maintenance_window_exceeded(self) -> bool: + """ + Describes whether the operation ran out of time before it completed all its intended actions + """ + return pulumi.get(self, "maintenance_window_exceeded") + + @property + @pulumi.getter(name="notSelectedPatchCount") + def not_selected_patch_count(self) -> int: + """ + The number of all available patches but not going to be installed because it didn't match a classification or inclusion list entry. + """ + return pulumi.get(self, "not_selected_patch_count") + + @property + @pulumi.getter(name="pendingPatchCount") + def pending_patch_count(self) -> int: + """ + The number of all available patches expected to be installed over the course of the patch installation operation. + """ + return pulumi.get(self, "pending_patch_count") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> str: + """ + The UTC timestamp when the operation began. + """ + return pulumi.get(self, "start_time") + + @property + @pulumi.getter + def status(self) -> str: + """ + The overall success or failure status of the operation. It remains "InProgress" until the operation completes. At that point it will become "Unknown", "Failed", "Succeeded", or "CompletedWithWarnings." + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class LinuxConfigurationResponse(dict): + """ + Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "disablePasswordAuthentication": + suggest = "disable_password_authentication" + elif key == "enableVMAgentPlatformUpdates": + suggest = "enable_vm_agent_platform_updates" + elif key == "patchSettings": + suggest = "patch_settings" + elif key == "provisionVMAgent": + suggest = "provision_vm_agent" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LinuxConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LinuxConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LinuxConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + disable_password_authentication: Optional[bool] = None, + enable_vm_agent_platform_updates: Optional[bool] = None, + patch_settings: Optional['outputs.LinuxPatchSettingsResponse'] = None, + provision_vm_agent: Optional[bool] = None, + ssh: Optional['outputs.SshConfigurationResponse'] = None): + """ + Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + :param bool disable_password_authentication: Specifies whether password authentication should be disabled. + :param bool enable_vm_agent_platform_updates: Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false. + :param 'LinuxPatchSettingsResponse' patch_settings: [Preview Feature] Specifies settings related to VM Guest Patching on Linux. + :param bool provision_vm_agent: Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + :param 'SshConfigurationResponse' ssh: Specifies the ssh key configuration for a Linux OS. + """ + if disable_password_authentication is not None: + pulumi.set(__self__, "disable_password_authentication", disable_password_authentication) + if enable_vm_agent_platform_updates is not None: + pulumi.set(__self__, "enable_vm_agent_platform_updates", enable_vm_agent_platform_updates) + if patch_settings is not None: + pulumi.set(__self__, "patch_settings", patch_settings) + if provision_vm_agent is not None: + pulumi.set(__self__, "provision_vm_agent", provision_vm_agent) + if ssh is not None: + pulumi.set(__self__, "ssh", ssh) + + @property + @pulumi.getter(name="disablePasswordAuthentication") + def disable_password_authentication(self) -> Optional[bool]: + """ + Specifies whether password authentication should be disabled. + """ + return pulumi.get(self, "disable_password_authentication") + + @property + @pulumi.getter(name="enableVMAgentPlatformUpdates") + def enable_vm_agent_platform_updates(self) -> Optional[bool]: + """ + Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false. + """ + return pulumi.get(self, "enable_vm_agent_platform_updates") + + @property + @pulumi.getter(name="patchSettings") + def patch_settings(self) -> Optional['outputs.LinuxPatchSettingsResponse']: + """ + [Preview Feature] Specifies settings related to VM Guest Patching on Linux. + """ + return pulumi.get(self, "patch_settings") + + @property + @pulumi.getter(name="provisionVMAgent") + def provision_vm_agent(self) -> Optional[bool]: + """ + Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + """ + return pulumi.get(self, "provision_vm_agent") + + @property + @pulumi.getter + def ssh(self) -> Optional['outputs.SshConfigurationResponse']: + """ + Specifies the ssh key configuration for a Linux OS. + """ + return pulumi.get(self, "ssh") + + +@pulumi.output_type +class LinuxPatchSettingsResponse(dict): + """ + Specifies settings related to VM Guest Patching on Linux. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "assessmentMode": + suggest = "assessment_mode" + elif key == "automaticByPlatformSettings": + suggest = "automatic_by_platform_settings" + elif key == "patchMode": + suggest = "patch_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LinuxPatchSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LinuxPatchSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LinuxPatchSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + assessment_mode: Optional[str] = None, + automatic_by_platform_settings: Optional['outputs.LinuxVMGuestPatchAutomaticByPlatformSettingsResponse'] = None, + patch_mode: Optional[str] = None): + """ + Specifies settings related to VM Guest Patching on Linux. + :param str assessment_mode: Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + :param 'LinuxVMGuestPatchAutomaticByPlatformSettingsResponse' automatic_by_platform_settings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux. + :param str patch_mode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**ImageDefault** - The virtual machine's default patching configuration is used.

**AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true + """ + if assessment_mode is not None: + pulumi.set(__self__, "assessment_mode", assessment_mode) + if automatic_by_platform_settings is not None: + pulumi.set(__self__, "automatic_by_platform_settings", automatic_by_platform_settings) + if patch_mode is not None: + pulumi.set(__self__, "patch_mode", patch_mode) + + @property + @pulumi.getter(name="assessmentMode") + def assessment_mode(self) -> Optional[str]: + """ + Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + """ + return pulumi.get(self, "assessment_mode") + + @property + @pulumi.getter(name="automaticByPlatformSettings") + def automatic_by_platform_settings(self) -> Optional['outputs.LinuxVMGuestPatchAutomaticByPlatformSettingsResponse']: + """ + Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Linux. + """ + return pulumi.get(self, "automatic_by_platform_settings") + + @property + @pulumi.getter(name="patchMode") + def patch_mode(self) -> Optional[str]: + """ + Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**ImageDefault** - The virtual machine's default patching configuration is used.

**AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true + """ + return pulumi.get(self, "patch_mode") + + +@pulumi.output_type +class LinuxVMGuestPatchAutomaticByPlatformSettingsResponse(dict): + """ + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bypassPlatformSafetyChecksOnUserSchedule": + suggest = "bypass_platform_safety_checks_on_user_schedule" + elif key == "rebootSetting": + suggest = "reboot_setting" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LinuxVMGuestPatchAutomaticByPlatformSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LinuxVMGuestPatchAutomaticByPlatformSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LinuxVMGuestPatchAutomaticByPlatformSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bypass_platform_safety_checks_on_user_schedule: Optional[bool] = None, + reboot_setting: Optional[str] = None): + """ + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Linux patch settings. + :param bool bypass_platform_safety_checks_on_user_schedule: Enables customer to schedule patching without accidental upgrades + :param str reboot_setting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + """ + if bypass_platform_safety_checks_on_user_schedule is not None: + pulumi.set(__self__, "bypass_platform_safety_checks_on_user_schedule", bypass_platform_safety_checks_on_user_schedule) + if reboot_setting is not None: + pulumi.set(__self__, "reboot_setting", reboot_setting) + + @property + @pulumi.getter(name="bypassPlatformSafetyChecksOnUserSchedule") + def bypass_platform_safety_checks_on_user_schedule(self) -> Optional[bool]: + """ + Enables customer to schedule patching without accidental upgrades + """ + return pulumi.get(self, "bypass_platform_safety_checks_on_user_schedule") + + @property + @pulumi.getter(name="rebootSetting") + def reboot_setting(self) -> Optional[str]: + """ + Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + """ + return pulumi.get(self, "reboot_setting") + + +@pulumi.output_type +class LogAnalyticsOutputResponse(dict): + """ + LogAnalytics output properties + """ + def __init__(__self__, *, + output: str): + """ + LogAnalytics output properties + :param str output: Output file Uri path to blob container. + """ + pulumi.set(__self__, "output", output) + + @property + @pulumi.getter + def output(self) -> str: + """ + Output file Uri path to blob container. + """ + return pulumi.get(self, "output") + + +@pulumi.output_type +class MaintenanceRedeployStatusResponse(dict): + """ + Maintenance Operation Status. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "isCustomerInitiatedMaintenanceAllowed": + suggest = "is_customer_initiated_maintenance_allowed" + elif key == "lastOperationMessage": + suggest = "last_operation_message" + elif key == "lastOperationResultCode": + suggest = "last_operation_result_code" + elif key == "maintenanceWindowEndTime": + suggest = "maintenance_window_end_time" + elif key == "maintenanceWindowStartTime": + suggest = "maintenance_window_start_time" + elif key == "preMaintenanceWindowEndTime": + suggest = "pre_maintenance_window_end_time" + elif key == "preMaintenanceWindowStartTime": + suggest = "pre_maintenance_window_start_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MaintenanceRedeployStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MaintenanceRedeployStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MaintenanceRedeployStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + is_customer_initiated_maintenance_allowed: Optional[bool] = None, + last_operation_message: Optional[str] = None, + last_operation_result_code: Optional[str] = None, + maintenance_window_end_time: Optional[str] = None, + maintenance_window_start_time: Optional[str] = None, + pre_maintenance_window_end_time: Optional[str] = None, + pre_maintenance_window_start_time: Optional[str] = None): + """ + Maintenance Operation Status. + :param bool is_customer_initiated_maintenance_allowed: True, if customer is allowed to perform Maintenance. + :param str last_operation_message: Message returned for the last Maintenance Operation. + :param str last_operation_result_code: The Last Maintenance Operation Result Code. + :param str maintenance_window_end_time: End Time for the Maintenance Window. + :param str maintenance_window_start_time: Start Time for the Maintenance Window. + :param str pre_maintenance_window_end_time: End Time for the Pre Maintenance Window. + :param str pre_maintenance_window_start_time: Start Time for the Pre Maintenance Window. + """ + if is_customer_initiated_maintenance_allowed is not None: + pulumi.set(__self__, "is_customer_initiated_maintenance_allowed", is_customer_initiated_maintenance_allowed) + if last_operation_message is not None: + pulumi.set(__self__, "last_operation_message", last_operation_message) + if last_operation_result_code is not None: + pulumi.set(__self__, "last_operation_result_code", last_operation_result_code) + if maintenance_window_end_time is not None: + pulumi.set(__self__, "maintenance_window_end_time", maintenance_window_end_time) + if maintenance_window_start_time is not None: + pulumi.set(__self__, "maintenance_window_start_time", maintenance_window_start_time) + if pre_maintenance_window_end_time is not None: + pulumi.set(__self__, "pre_maintenance_window_end_time", pre_maintenance_window_end_time) + if pre_maintenance_window_start_time is not None: + pulumi.set(__self__, "pre_maintenance_window_start_time", pre_maintenance_window_start_time) + + @property + @pulumi.getter(name="isCustomerInitiatedMaintenanceAllowed") + def is_customer_initiated_maintenance_allowed(self) -> Optional[bool]: + """ + True, if customer is allowed to perform Maintenance. + """ + return pulumi.get(self, "is_customer_initiated_maintenance_allowed") + + @property + @pulumi.getter(name="lastOperationMessage") + def last_operation_message(self) -> Optional[str]: + """ + Message returned for the last Maintenance Operation. + """ + return pulumi.get(self, "last_operation_message") + + @property + @pulumi.getter(name="lastOperationResultCode") + def last_operation_result_code(self) -> Optional[str]: + """ + The Last Maintenance Operation Result Code. + """ + return pulumi.get(self, "last_operation_result_code") + + @property + @pulumi.getter(name="maintenanceWindowEndTime") + def maintenance_window_end_time(self) -> Optional[str]: + """ + End Time for the Maintenance Window. + """ + return pulumi.get(self, "maintenance_window_end_time") + + @property + @pulumi.getter(name="maintenanceWindowStartTime") + def maintenance_window_start_time(self) -> Optional[str]: + """ + Start Time for the Maintenance Window. + """ + return pulumi.get(self, "maintenance_window_start_time") + + @property + @pulumi.getter(name="preMaintenanceWindowEndTime") + def pre_maintenance_window_end_time(self) -> Optional[str]: + """ + End Time for the Pre Maintenance Window. + """ + return pulumi.get(self, "pre_maintenance_window_end_time") + + @property + @pulumi.getter(name="preMaintenanceWindowStartTime") + def pre_maintenance_window_start_time(self) -> Optional[str]: + """ + Start Time for the Pre Maintenance Window. + """ + return pulumi.get(self, "pre_maintenance_window_start_time") + + +@pulumi.output_type +class ManagedDiskParametersResponse(dict): + """ + The parameters of a managed disk. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskEncryptionSet": + suggest = "disk_encryption_set" + elif key == "securityProfile": + suggest = "security_profile" + elif key == "storageAccountType": + suggest = "storage_account_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedDiskParametersResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedDiskParametersResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedDiskParametersResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + disk_encryption_set: Optional['outputs.DiskEncryptionSetParametersResponse'] = None, + id: Optional[str] = None, + security_profile: Optional['outputs.VMDiskSecurityProfileResponse'] = None, + storage_account_type: Optional[str] = None): + """ + The parameters of a managed disk. + :param 'DiskEncryptionSetParametersResponse' disk_encryption_set: Specifies the customer managed disk encryption set resource id for the managed disk. + :param str id: Resource Id + :param 'VMDiskSecurityProfileResponse' security_profile: Specifies the security profile for the managed disk. + :param str storage_account_type: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + if disk_encryption_set is not None: + pulumi.set(__self__, "disk_encryption_set", disk_encryption_set) + if id is not None: + pulumi.set(__self__, "id", id) + if security_profile is not None: + pulumi.set(__self__, "security_profile", security_profile) + if storage_account_type is not None: + pulumi.set(__self__, "storage_account_type", storage_account_type) + + @property + @pulumi.getter(name="diskEncryptionSet") + def disk_encryption_set(self) -> Optional['outputs.DiskEncryptionSetParametersResponse']: + """ + Specifies the customer managed disk encryption set resource id for the managed disk. + """ + return pulumi.get(self, "disk_encryption_set") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional['outputs.VMDiskSecurityProfileResponse']: + """ + Specifies the security profile for the managed disk. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter(name="storageAccountType") + def storage_account_type(self) -> Optional[str]: + """ + Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + return pulumi.get(self, "storage_account_type") + + +@pulumi.output_type +class NetworkInterfaceReferenceResponse(dict): + """ + Describes a network interface reference. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deleteOption": + suggest = "delete_option" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NetworkInterfaceReferenceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NetworkInterfaceReferenceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NetworkInterfaceReferenceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + delete_option: Optional[str] = None, + id: Optional[str] = None, + primary: Optional[bool] = None): + """ + Describes a network interface reference. + :param str delete_option: Specify what happens to the network interface when the VM is deleted + :param str id: Resource Id + :param bool primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if id is not None: + pulumi.set(__self__, "id", id) + if primary is not None: + pulumi.set(__self__, "primary", primary) + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[str]: + """ + Specify what happens to the network interface when the VM is deleted + """ + return pulumi.get(self, "delete_option") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def primary(self) -> Optional[bool]: + """ + Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + return pulumi.get(self, "primary") + + +@pulumi.output_type +class NetworkProfileResponse(dict): + """ + Specifies the network interfaces or the networking configuration of the virtual machine. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "networkApiVersion": + suggest = "network_api_version" + elif key == "networkInterfaceConfigurations": + suggest = "network_interface_configurations" + elif key == "networkInterfaces": + suggest = "network_interfaces" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NetworkProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NetworkProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NetworkProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + network_api_version: Optional[str] = None, + network_interface_configurations: Optional[Sequence['outputs.VirtualMachineNetworkInterfaceConfigurationResponse']] = None, + network_interfaces: Optional[Sequence['outputs.NetworkInterfaceReferenceResponse']] = None): + """ + Specifies the network interfaces or the networking configuration of the virtual machine. + :param str network_api_version: specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations + :param Sequence['VirtualMachineNetworkInterfaceConfigurationResponse'] network_interface_configurations: Specifies the networking configurations that will be used to create the virtual machine networking resources. + :param Sequence['NetworkInterfaceReferenceResponse'] network_interfaces: Specifies the list of resource Ids for the network interfaces associated with the virtual machine. + """ + if network_api_version is not None: + pulumi.set(__self__, "network_api_version", network_api_version) + if network_interface_configurations is not None: + pulumi.set(__self__, "network_interface_configurations", network_interface_configurations) + if network_interfaces is not None: + pulumi.set(__self__, "network_interfaces", network_interfaces) + + @property + @pulumi.getter(name="networkApiVersion") + def network_api_version(self) -> Optional[str]: + """ + specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations + """ + return pulumi.get(self, "network_api_version") + + @property + @pulumi.getter(name="networkInterfaceConfigurations") + def network_interface_configurations(self) -> Optional[Sequence['outputs.VirtualMachineNetworkInterfaceConfigurationResponse']]: + """ + Specifies the networking configurations that will be used to create the virtual machine networking resources. + """ + return pulumi.get(self, "network_interface_configurations") + + @property + @pulumi.getter(name="networkInterfaces") + def network_interfaces(self) -> Optional[Sequence['outputs.NetworkInterfaceReferenceResponse']]: + """ + Specifies the list of resource Ids for the network interfaces associated with the virtual machine. + """ + return pulumi.get(self, "network_interfaces") + + +@pulumi.output_type +class OSDiskResponse(dict): + """ + Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createOption": + suggest = "create_option" + elif key == "deleteOption": + suggest = "delete_option" + elif key == "diffDiskSettings": + suggest = "diff_disk_settings" + elif key == "diskSizeGB": + suggest = "disk_size_gb" + elif key == "encryptionSettings": + suggest = "encryption_settings" + elif key == "managedDisk": + suggest = "managed_disk" + elif key == "osType": + suggest = "os_type" + elif key == "writeAcceleratorEnabled": + suggest = "write_accelerator_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OSDiskResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OSDiskResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OSDiskResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + create_option: str, + caching: Optional[str] = None, + delete_option: Optional[str] = None, + diff_disk_settings: Optional['outputs.DiffDiskSettingsResponse'] = None, + disk_size_gb: Optional[int] = None, + encryption_settings: Optional['outputs.DiskEncryptionSettingsResponse'] = None, + image: Optional['outputs.VirtualHardDiskResponse'] = None, + managed_disk: Optional['outputs.ManagedDiskParametersResponse'] = None, + name: Optional[str] = None, + os_type: Optional[str] = None, + vhd: Optional['outputs.VirtualHardDiskResponse'] = None, + write_accelerator_enabled: Optional[bool] = None): + """ + Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + :param str create_option: Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + :param str caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + :param str delete_option: Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the OS disk is deleted when VM is deleted. **Detach.** If this value is used, the os disk is retained after VM is deleted. The default value is set to **Detach**. For an ephemeral OS Disk, the default value is set to **Delete**. The user cannot change the delete option for an ephemeral OS Disk. + :param 'DiffDiskSettingsResponse' diff_disk_settings: Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine. + :param int disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + :param 'DiskEncryptionSettingsResponse' encryption_settings: Specifies the encryption settings for the OS Disk. Minimum api-version: 2015-06-15. + :param 'VirtualHardDiskResponse' image: The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + :param 'ManagedDiskParametersResponse' managed_disk: The managed disk parameters. + :param str name: The disk name. + :param str os_type: This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + :param 'VirtualHardDiskResponse' vhd: The virtual hard disk. + :param bool write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + pulumi.set(__self__, "create_option", create_option) + if caching is not None: + pulumi.set(__self__, "caching", caching) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if diff_disk_settings is not None: + pulumi.set(__self__, "diff_disk_settings", diff_disk_settings) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if encryption_settings is not None: + pulumi.set(__self__, "encryption_settings", encryption_settings) + if image is not None: + pulumi.set(__self__, "image", image) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + if name is not None: + pulumi.set(__self__, "name", name) + if os_type is not None: + pulumi.set(__self__, "os_type", os_type) + if vhd is not None: + pulumi.set(__self__, "vhd", vhd) + if write_accelerator_enabled is not None: + pulumi.set(__self__, "write_accelerator_enabled", write_accelerator_enabled) + + @property + @pulumi.getter(name="createOption") + def create_option(self) -> str: + """ + Specifies how the virtual machine should be created. Possible values are: **Attach.** This value is used when you are using a specialized disk to create the virtual machine. **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described. + """ + return pulumi.get(self, "create_option") + + @property + @pulumi.getter + def caching(self) -> Optional[str]: + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The defaulting behavior is: **None for Standard storage. ReadOnly for Premium storage.** + """ + return pulumi.get(self, "caching") + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[str]: + """ + Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values are: **Delete.** If this value is used, the OS disk is deleted when VM is deleted. **Detach.** If this value is used, the os disk is retained after VM is deleted. The default value is set to **Detach**. For an ephemeral OS Disk, the default value is set to **Delete**. The user cannot change the delete option for an ephemeral OS Disk. + """ + return pulumi.get(self, "delete_option") + + @property + @pulumi.getter(name="diffDiskSettings") + def diff_disk_settings(self) -> Optional['outputs.DiffDiskSettingsResponse']: + """ + Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine. + """ + return pulumi.get(self, "diff_disk_settings") + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[int]: + """ + Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter(name="encryptionSettings") + def encryption_settings(self) -> Optional['outputs.DiskEncryptionSettingsResponse']: + """ + Specifies the encryption settings for the OS Disk. Minimum api-version: 2015-06-15. + """ + return pulumi.get(self, "encryption_settings") + + @property + @pulumi.getter + def image(self) -> Optional['outputs.VirtualHardDiskResponse']: + """ + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. + """ + return pulumi.get(self, "image") + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional['outputs.ManagedDiskParametersResponse']: + """ + The managed disk parameters. + """ + return pulumi.get(self, "managed_disk") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The disk name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> Optional[str]: + """ + This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter + def vhd(self) -> Optional['outputs.VirtualHardDiskResponse']: + """ + The virtual hard disk. + """ + return pulumi.get(self, "vhd") + + @property + @pulumi.getter(name="writeAcceleratorEnabled") + def write_accelerator_enabled(self) -> Optional[bool]: + """ + Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + return pulumi.get(self, "write_accelerator_enabled") + + +@pulumi.output_type +class OSImageNotificationProfileResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "notBeforeTimeout": + suggest = "not_before_timeout" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OSImageNotificationProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OSImageNotificationProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OSImageNotificationProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enable: Optional[bool] = None, + not_before_timeout: Optional[str] = None): + """ + :param bool enable: Specifies whether the OS Image Scheduled event is enabled or disabled. + :param str not_before_timeout: Length of time a Virtual Machine being reimaged or having its OS upgraded will have to potentially approve the OS Image Scheduled Event before the event is auto approved (timed out). The configuration is specified in ISO 8601 format, and the value must be 15 minutes (PT15M) + """ + if enable is not None: + pulumi.set(__self__, "enable", enable) + if not_before_timeout is not None: + pulumi.set(__self__, "not_before_timeout", not_before_timeout) + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + """ + Specifies whether the OS Image Scheduled event is enabled or disabled. + """ + return pulumi.get(self, "enable") + + @property + @pulumi.getter(name="notBeforeTimeout") + def not_before_timeout(self) -> Optional[str]: + """ + Length of time a Virtual Machine being reimaged or having its OS upgraded will have to potentially approve the OS Image Scheduled Event before the event is auto approved (timed out). The configuration is specified in ISO 8601 format, and the value must be 15 minutes (PT15M) + """ + return pulumi.get(self, "not_before_timeout") + + +@pulumi.output_type +class OSProfileResponse(dict): + """ + Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "adminPassword": + suggest = "admin_password" + elif key == "adminUsername": + suggest = "admin_username" + elif key == "allowExtensionOperations": + suggest = "allow_extension_operations" + elif key == "computerName": + suggest = "computer_name" + elif key == "customData": + suggest = "custom_data" + elif key == "linuxConfiguration": + suggest = "linux_configuration" + elif key == "requireGuestProvisionSignal": + suggest = "require_guest_provision_signal" + elif key == "windowsConfiguration": + suggest = "windows_configuration" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OSProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OSProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OSProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + admin_password: Optional[str] = None, + admin_username: Optional[str] = None, + allow_extension_operations: Optional[bool] = None, + computer_name: Optional[str] = None, + custom_data: Optional[str] = None, + linux_configuration: Optional['outputs.LinuxConfigurationResponse'] = None, + require_guest_provision_signal: Optional[bool] = None, + secrets: Optional[Sequence['outputs.VaultSecretGroupResponse']] = None, + windows_configuration: Optional['outputs.WindowsConfigurationResponse'] = None): + """ + Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned. + :param str admin_password: Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + :param str admin_username: Specifies the name of the administrator account.

This property cannot be updated after the VM is created.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters. + :param bool allow_extension_operations: Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine. + :param str computer_name: Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters. **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules). + :param str custom_data: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property 'customData' is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init). + :param 'LinuxConfigurationResponse' linux_configuration: Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + :param bool require_guest_provision_signal: Optional property which must either be set to True or omitted. + :param Sequence['VaultSecretGroupResponse'] secrets: Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + :param 'WindowsConfigurationResponse' windows_configuration: Specifies Windows operating system settings on the virtual machine. + """ + if admin_password is not None: + pulumi.set(__self__, "admin_password", admin_password) + if admin_username is not None: + pulumi.set(__self__, "admin_username", admin_username) + if allow_extension_operations is not None: + pulumi.set(__self__, "allow_extension_operations", allow_extension_operations) + if computer_name is not None: + pulumi.set(__self__, "computer_name", computer_name) + if custom_data is not None: + pulumi.set(__self__, "custom_data", custom_data) + if linux_configuration is not None: + pulumi.set(__self__, "linux_configuration", linux_configuration) + if require_guest_provision_signal is not None: + pulumi.set(__self__, "require_guest_provision_signal", require_guest_provision_signal) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + if windows_configuration is not None: + pulumi.set(__self__, "windows_configuration", windows_configuration) + + @property + @pulumi.getter(name="adminPassword") + def admin_password(self) -> Optional[str]: + """ + Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + """ + return pulumi.get(self, "admin_password") + + @property + @pulumi.getter(name="adminUsername") + def admin_username(self) -> Optional[str]: + """ + Specifies the name of the administrator account.

This property cannot be updated after the VM is created.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters. + """ + return pulumi.get(self, "admin_username") + + @property + @pulumi.getter(name="allowExtensionOperations") + def allow_extension_operations(self) -> Optional[bool]: + """ + Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine. + """ + return pulumi.get(self, "allow_extension_operations") + + @property + @pulumi.getter(name="computerName") + def computer_name(self) -> Optional[str]: + """ + Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters. **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules). + """ + return pulumi.get(self, "computer_name") + + @property + @pulumi.getter(name="customData") + def custom_data(self) -> Optional[str]: + """ + Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property 'customData' is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init). + """ + return pulumi.get(self, "custom_data") + + @property + @pulumi.getter(name="linuxConfiguration") + def linux_configuration(self) -> Optional['outputs.LinuxConfigurationResponse']: + """ + Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + """ + return pulumi.get(self, "linux_configuration") + + @property + @pulumi.getter(name="requireGuestProvisionSignal") + def require_guest_provision_signal(self) -> Optional[bool]: + """ + Optional property which must either be set to True or omitted. + """ + return pulumi.get(self, "require_guest_provision_signal") + + @property + @pulumi.getter + def secrets(self) -> Optional[Sequence['outputs.VaultSecretGroupResponse']]: + """ + Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + """ + return pulumi.get(self, "secrets") + + @property + @pulumi.getter(name="windowsConfiguration") + def windows_configuration(self) -> Optional['outputs.WindowsConfigurationResponse']: + """ + Specifies Windows operating system settings on the virtual machine. + """ + return pulumi.get(self, "windows_configuration") + + +@pulumi.output_type +class PatchSettingsResponse(dict): + """ + Specifies settings related to VM Guest Patching on Windows. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "assessmentMode": + suggest = "assessment_mode" + elif key == "automaticByPlatformSettings": + suggest = "automatic_by_platform_settings" + elif key == "enableHotpatching": + suggest = "enable_hotpatching" + elif key == "patchMode": + suggest = "patch_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PatchSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PatchSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PatchSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + assessment_mode: Optional[str] = None, + automatic_by_platform_settings: Optional['outputs.WindowsVMGuestPatchAutomaticByPlatformSettingsResponse'] = None, + enable_hotpatching: Optional[bool] = None, + patch_mode: Optional[str] = None): + """ + Specifies settings related to VM Guest Patching on Windows. + :param str assessment_mode: Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + :param 'WindowsVMGuestPatchAutomaticByPlatformSettingsResponse' automatic_by_platform_settings: Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Windows. + :param bool enable_hotpatching: Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + :param str patch_mode: Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

**AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true + """ + if assessment_mode is not None: + pulumi.set(__self__, "assessment_mode", assessment_mode) + if automatic_by_platform_settings is not None: + pulumi.set(__self__, "automatic_by_platform_settings", automatic_by_platform_settings) + if enable_hotpatching is not None: + pulumi.set(__self__, "enable_hotpatching", enable_hotpatching) + if patch_mode is not None: + pulumi.set(__self__, "patch_mode", patch_mode) + + @property + @pulumi.getter(name="assessmentMode") + def assessment_mode(self) -> Optional[str]: + """ + Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.

Possible values are:

**ImageDefault** - You control the timing of patch assessments on a virtual machine.

**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. + """ + return pulumi.get(self, "assessment_mode") + + @property + @pulumi.getter(name="automaticByPlatformSettings") + def automatic_by_platform_settings(self) -> Optional['outputs.WindowsVMGuestPatchAutomaticByPlatformSettingsResponse']: + """ + Specifies additional settings for patch mode AutomaticByPlatform in VM Guest Patching on Windows. + """ + return pulumi.get(self, "automatic_by_platform_settings") + + @property + @pulumi.getter(name="enableHotpatching") + def enable_hotpatching(self) -> Optional[bool]: + """ + Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'. + """ + return pulumi.get(self, "enable_hotpatching") + + @property + @pulumi.getter(name="patchMode") + def patch_mode(self) -> Optional[str]: + """ + Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

Possible values are:

**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

**AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true + """ + return pulumi.get(self, "patch_mode") + + +@pulumi.output_type +class PlanResponse(dict): + """ + Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "promotionCode": + suggest = "promotion_code" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PlanResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PlanResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PlanResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: Optional[str] = None, + product: Optional[str] = None, + promotion_code: Optional[str] = None, + publisher: Optional[str] = None): + """ + Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + :param str name: The plan ID. + :param str product: Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + :param str promotion_code: The promotion code. + :param str publisher: The publisher ID. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if product is not None: + pulumi.set(__self__, "product", product) + if promotion_code is not None: + pulumi.set(__self__, "promotion_code", promotion_code) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The plan ID. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def product(self) -> Optional[str]: + """ + Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + """ + return pulumi.get(self, "product") + + @property + @pulumi.getter(name="promotionCode") + def promotion_code(self) -> Optional[str]: + """ + The promotion code. + """ + return pulumi.get(self, "promotion_code") + + @property + @pulumi.getter + def publisher(self) -> Optional[str]: + """ + The publisher ID. + """ + return pulumi.get(self, "publisher") + + +@pulumi.output_type +class PriorityMixPolicyResponse(dict): + """ + Specifies the target splits for Spot and Regular priority VMs within a scale set with flexible orchestration mode. With this property the customer is able to specify the base number of regular priority VMs created as the VMSS flex instance scales out and the split between Spot and Regular priority VMs after this base target has been reached. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "baseRegularPriorityCount": + suggest = "base_regular_priority_count" + elif key == "regularPriorityPercentageAboveBase": + suggest = "regular_priority_percentage_above_base" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PriorityMixPolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PriorityMixPolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PriorityMixPolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + base_regular_priority_count: Optional[int] = None, + regular_priority_percentage_above_base: Optional[int] = None): + """ + Specifies the target splits for Spot and Regular priority VMs within a scale set with flexible orchestration mode. With this property the customer is able to specify the base number of regular priority VMs created as the VMSS flex instance scales out and the split between Spot and Regular priority VMs after this base target has been reached. + :param int base_regular_priority_count: The base number of regular priority VMs that will be created in this scale set as it scales out. + :param int regular_priority_percentage_above_base: The percentage of VM instances, after the base regular priority count has been reached, that are expected to use regular priority. + """ + if base_regular_priority_count is not None: + pulumi.set(__self__, "base_regular_priority_count", base_regular_priority_count) + if regular_priority_percentage_above_base is not None: + pulumi.set(__self__, "regular_priority_percentage_above_base", regular_priority_percentage_above_base) + + @property + @pulumi.getter(name="baseRegularPriorityCount") + def base_regular_priority_count(self) -> Optional[int]: + """ + The base number of regular priority VMs that will be created in this scale set as it scales out. + """ + return pulumi.get(self, "base_regular_priority_count") + + @property + @pulumi.getter(name="regularPriorityPercentageAboveBase") + def regular_priority_percentage_above_base(self) -> Optional[int]: + """ + The percentage of VM instances, after the base regular priority count has been reached, that are expected to use regular priority. + """ + return pulumi.get(self, "regular_priority_percentage_above_base") + + +@pulumi.output_type +class ProximityPlacementGroupPropertiesResponseIntent(dict): + """ + Specifies the user intent of the proximity placement group. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "vmSizes": + suggest = "vm_sizes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ProximityPlacementGroupPropertiesResponseIntent. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ProximityPlacementGroupPropertiesResponseIntent.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ProximityPlacementGroupPropertiesResponseIntent.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + vm_sizes: Optional[Sequence[str]] = None): + """ + Specifies the user intent of the proximity placement group. + :param Sequence[str] vm_sizes: Specifies possible sizes of virtual machines that can be created in the proximity placement group. + """ + if vm_sizes is not None: + pulumi.set(__self__, "vm_sizes", vm_sizes) + + @property + @pulumi.getter(name="vmSizes") + def vm_sizes(self) -> Optional[Sequence[str]]: + """ + Specifies possible sizes of virtual machines that can be created in the proximity placement group. + """ + return pulumi.get(self, "vm_sizes") + + +@pulumi.output_type +class PublicIPAddressSkuResponse(dict): + """ + Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + """ + def __init__(__self__, *, + name: Optional[str] = None, + tier: Optional[str] = None): + """ + Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + :param str name: Specify public IP sku name + :param str tier: Specify public IP sku tier + """ + if name is not None: + pulumi.set(__self__, "name", name) + if tier is not None: + pulumi.set(__self__, "tier", tier) + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + Specify public IP sku name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tier(self) -> Optional[str]: + """ + Specify public IP sku tier + """ + return pulumi.get(self, "tier") + + +@pulumi.output_type +class RestorePointCollectionSourcePropertiesResponse(dict): + """ + The properties of the source resource that this restore point collection is created from. + """ + def __init__(__self__, *, + location: str, + id: Optional[str] = None): + """ + The properties of the source resource that this restore point collection is created from. + :param str location: Location of the source resource used to create this restore point collection. + :param str id: Resource Id of the source resource used to create this restore point collection + """ + pulumi.set(__self__, "location", location) + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def location(self) -> str: + """ + Location of the source resource used to create this restore point collection. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + Resource Id of the source resource used to create this restore point collection + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class RestorePointEncryptionResponse(dict): + """ + Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskEncryptionSet": + suggest = "disk_encryption_set" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RestorePointEncryptionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RestorePointEncryptionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RestorePointEncryptionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + disk_encryption_set: Optional['outputs.DiskEncryptionSetParametersResponse'] = None, + type: Optional[str] = None): + """ + Encryption at rest settings for disk restore point. It is an optional property that can be specified in the input while creating a restore point. + :param 'DiskEncryptionSetParametersResponse' disk_encryption_set: Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + :param str type: The type of key used to encrypt the data of the disk restore point. + """ + if disk_encryption_set is not None: + pulumi.set(__self__, "disk_encryption_set", disk_encryption_set) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="diskEncryptionSet") + def disk_encryption_set(self) -> Optional['outputs.DiskEncryptionSetParametersResponse']: + """ + Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. **Note:** The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details. + """ + return pulumi.get(self, "disk_encryption_set") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of key used to encrypt the data of the disk restore point. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class RestorePointInstanceViewResponse(dict): + """ + The instance view of a restore point. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskRestorePoints": + suggest = "disk_restore_points" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RestorePointInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RestorePointInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RestorePointInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + disk_restore_points: Optional[Sequence['outputs.DiskRestorePointInstanceViewResponse']] = None, + statuses: Optional[Sequence['outputs.InstanceViewStatusResponse']] = None): + """ + The instance view of a restore point. + :param Sequence['DiskRestorePointInstanceViewResponse'] disk_restore_points: The disk restore points information. + :param Sequence['InstanceViewStatusResponse'] statuses: The resource status information. + """ + if disk_restore_points is not None: + pulumi.set(__self__, "disk_restore_points", disk_restore_points) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + + @property + @pulumi.getter(name="diskRestorePoints") + def disk_restore_points(self) -> Optional[Sequence['outputs.DiskRestorePointInstanceViewResponse']]: + """ + The disk restore points information. + """ + return pulumi.get(self, "disk_restore_points") + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + +@pulumi.output_type +class RestorePointResponse(dict): + """ + Restore Point details. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "instanceView": + suggest = "instance_view" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "consistencyMode": + suggest = "consistency_mode" + elif key == "excludeDisks": + suggest = "exclude_disks" + elif key == "sourceMetadata": + suggest = "source_metadata" + elif key == "sourceRestorePoint": + suggest = "source_restore_point" + elif key == "timeCreated": + suggest = "time_created" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RestorePointResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RestorePointResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RestorePointResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + id: str, + instance_view: 'outputs.RestorePointInstanceViewResponse', + name: str, + provisioning_state: str, + type: str, + consistency_mode: Optional[str] = None, + exclude_disks: Optional[Sequence['outputs.ApiEntityReferenceResponse']] = None, + source_metadata: Optional['outputs.RestorePointSourceMetadataResponse'] = None, + source_restore_point: Optional['outputs.ApiEntityReferenceResponse'] = None, + time_created: Optional[str] = None): + """ + Restore Point details. + :param str id: Resource Id + :param 'RestorePointInstanceViewResponse' instance_view: The restore point instance view. + :param str name: Resource name + :param str provisioning_state: Gets the provisioning state of the restore point. + :param str type: Resource type + :param str consistency_mode: ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + :param Sequence['ApiEntityReferenceResponse'] exclude_disks: List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + :param 'RestorePointSourceMetadataResponse' source_metadata: Gets the details of the VM captured at the time of the restore point creation. + :param 'ApiEntityReferenceResponse' source_restore_point: Resource Id of the source restore point from which a copy needs to be created. + :param str time_created: Gets the creation time of the restore point. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "instance_view", instance_view) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "type", type) + if consistency_mode is not None: + pulumi.set(__self__, "consistency_mode", consistency_mode) + if exclude_disks is not None: + pulumi.set(__self__, "exclude_disks", exclude_disks) + if source_metadata is not None: + pulumi.set(__self__, "source_metadata", source_metadata) + if source_restore_point is not None: + pulumi.set(__self__, "source_restore_point", source_restore_point) + if time_created is not None: + pulumi.set(__self__, "time_created", time_created) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> 'outputs.RestorePointInstanceViewResponse': + """ + The restore point instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + Gets the provisioning state of the restore point. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="consistencyMode") + def consistency_mode(self) -> Optional[str]: + """ + ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + """ + return pulumi.get(self, "consistency_mode") + + @property + @pulumi.getter(name="excludeDisks") + def exclude_disks(self) -> Optional[Sequence['outputs.ApiEntityReferenceResponse']]: + """ + List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + """ + return pulumi.get(self, "exclude_disks") + + @property + @pulumi.getter(name="sourceMetadata") + def source_metadata(self) -> Optional['outputs.RestorePointSourceMetadataResponse']: + """ + Gets the details of the VM captured at the time of the restore point creation. + """ + return pulumi.get(self, "source_metadata") + + @property + @pulumi.getter(name="sourceRestorePoint") + def source_restore_point(self) -> Optional['outputs.ApiEntityReferenceResponse']: + """ + Resource Id of the source restore point from which a copy needs to be created. + """ + return pulumi.get(self, "source_restore_point") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> Optional[str]: + """ + Gets the creation time of the restore point. + """ + return pulumi.get(self, "time_created") + + +@pulumi.output_type +class RestorePointSourceMetadataResponse(dict): + """ + Describes the properties of the Virtual Machine for which the restore point was created. The properties provided are a subset and the snapshot of the overall Virtual Machine properties captured at the time of the restore point creation. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diagnosticsProfile": + suggest = "diagnostics_profile" + elif key == "hardwareProfile": + suggest = "hardware_profile" + elif key == "hyperVGeneration": + suggest = "hyper_v_generation" + elif key == "licenseType": + suggest = "license_type" + elif key == "osProfile": + suggest = "os_profile" + elif key == "securityProfile": + suggest = "security_profile" + elif key == "userData": + suggest = "user_data" + elif key == "vmId": + suggest = "vm_id" + elif key == "storageProfile": + suggest = "storage_profile" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RestorePointSourceMetadataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RestorePointSourceMetadataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RestorePointSourceMetadataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + diagnostics_profile: 'outputs.DiagnosticsProfileResponse', + hardware_profile: 'outputs.HardwareProfileResponse', + hyper_v_generation: str, + license_type: str, + location: str, + os_profile: 'outputs.OSProfileResponse', + security_profile: 'outputs.SecurityProfileResponse', + user_data: str, + vm_id: str, + storage_profile: Optional['outputs.RestorePointSourceVMStorageProfileResponse'] = None): + """ + Describes the properties of the Virtual Machine for which the restore point was created. The properties provided are a subset and the snapshot of the overall Virtual Machine properties captured at the time of the restore point creation. + :param 'DiagnosticsProfileResponse' diagnostics_profile: Gets the diagnostics profile. + :param 'HardwareProfileResponse' hardware_profile: Gets the hardware profile. + :param str hyper_v_generation: HyperVGeneration of the source VM for which restore point is captured. + :param str license_type: Gets the license type, which is for bring your own license scenario. + :param str location: Location of the VM from which the restore point was created. + :param 'OSProfileResponse' os_profile: Gets the OS profile. + :param 'SecurityProfileResponse' security_profile: Gets the security profile. + :param str user_data: UserData associated with the source VM for which restore point is captured, which is a base-64 encoded value. + :param str vm_id: Gets the virtual machine unique id. + :param 'RestorePointSourceVMStorageProfileResponse' storage_profile: Gets the storage profile. + """ + pulumi.set(__self__, "diagnostics_profile", diagnostics_profile) + pulumi.set(__self__, "hardware_profile", hardware_profile) + pulumi.set(__self__, "hyper_v_generation", hyper_v_generation) + pulumi.set(__self__, "license_type", license_type) + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "os_profile", os_profile) + pulumi.set(__self__, "security_profile", security_profile) + pulumi.set(__self__, "user_data", user_data) + pulumi.set(__self__, "vm_id", vm_id) + if storage_profile is not None: + pulumi.set(__self__, "storage_profile", storage_profile) + + @property + @pulumi.getter(name="diagnosticsProfile") + def diagnostics_profile(self) -> 'outputs.DiagnosticsProfileResponse': + """ + Gets the diagnostics profile. + """ + return pulumi.get(self, "diagnostics_profile") + + @property + @pulumi.getter(name="hardwareProfile") + def hardware_profile(self) -> 'outputs.HardwareProfileResponse': + """ + Gets the hardware profile. + """ + return pulumi.get(self, "hardware_profile") + + @property + @pulumi.getter(name="hyperVGeneration") + def hyper_v_generation(self) -> str: + """ + HyperVGeneration of the source VM for which restore point is captured. + """ + return pulumi.get(self, "hyper_v_generation") + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> str: + """ + Gets the license type, which is for bring your own license scenario. + """ + return pulumi.get(self, "license_type") + + @property + @pulumi.getter + def location(self) -> str: + """ + Location of the VM from which the restore point was created. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="osProfile") + def os_profile(self) -> 'outputs.OSProfileResponse': + """ + Gets the OS profile. + """ + return pulumi.get(self, "os_profile") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> 'outputs.SecurityProfileResponse': + """ + Gets the security profile. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter(name="userData") + def user_data(self) -> str: + """ + UserData associated with the source VM for which restore point is captured, which is a base-64 encoded value. + """ + return pulumi.get(self, "user_data") + + @property + @pulumi.getter(name="vmId") + def vm_id(self) -> str: + """ + Gets the virtual machine unique id. + """ + return pulumi.get(self, "vm_id") + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional['outputs.RestorePointSourceVMStorageProfileResponse']: + """ + Gets the storage profile. + """ + return pulumi.get(self, "storage_profile") + + +@pulumi.output_type +class RestorePointSourceVMDataDiskResponse(dict): + """ + Describes a data disk. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskSizeGB": + suggest = "disk_size_gb" + elif key == "writeAcceleratorEnabled": + suggest = "write_accelerator_enabled" + elif key == "diskRestorePoint": + suggest = "disk_restore_point" + elif key == "managedDisk": + suggest = "managed_disk" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RestorePointSourceVMDataDiskResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RestorePointSourceVMDataDiskResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RestorePointSourceVMDataDiskResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + caching: str, + disk_size_gb: int, + lun: int, + name: str, + write_accelerator_enabled: bool, + disk_restore_point: Optional['outputs.DiskRestorePointAttributesResponse'] = None, + managed_disk: Optional['outputs.ManagedDiskParametersResponse'] = None): + """ + Describes a data disk. + :param str caching: Gets the caching type. + :param int disk_size_gb: Gets the initial disk size in GB for blank data disks, and the new desired size for existing OS and Data disks. + :param int lun: Gets the logical unit number. + :param str name: Gets the disk name. + :param bool write_accelerator_enabled: Shows true if the disk is write-accelerator enabled. + :param 'DiskRestorePointAttributesResponse' disk_restore_point: Contains Disk Restore Point properties. + :param 'ManagedDiskParametersResponse' managed_disk: Contains the managed disk details. + """ + pulumi.set(__self__, "caching", caching) + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + pulumi.set(__self__, "lun", lun) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "write_accelerator_enabled", write_accelerator_enabled) + if disk_restore_point is not None: + pulumi.set(__self__, "disk_restore_point", disk_restore_point) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + + @property + @pulumi.getter + def caching(self) -> str: + """ + Gets the caching type. + """ + return pulumi.get(self, "caching") + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> int: + """ + Gets the initial disk size in GB for blank data disks, and the new desired size for existing OS and Data disks. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter + def lun(self) -> int: + """ + Gets the logical unit number. + """ + return pulumi.get(self, "lun") + + @property + @pulumi.getter + def name(self) -> str: + """ + Gets the disk name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="writeAcceleratorEnabled") + def write_accelerator_enabled(self) -> bool: + """ + Shows true if the disk is write-accelerator enabled. + """ + return pulumi.get(self, "write_accelerator_enabled") + + @property + @pulumi.getter(name="diskRestorePoint") + def disk_restore_point(self) -> Optional['outputs.DiskRestorePointAttributesResponse']: + """ + Contains Disk Restore Point properties. + """ + return pulumi.get(self, "disk_restore_point") + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional['outputs.ManagedDiskParametersResponse']: + """ + Contains the managed disk details. + """ + return pulumi.get(self, "managed_disk") + + +@pulumi.output_type +class RestorePointSourceVMOSDiskResponse(dict): + """ + Describes an Operating System disk. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskSizeGB": + suggest = "disk_size_gb" + elif key == "encryptionSettings": + suggest = "encryption_settings" + elif key == "osType": + suggest = "os_type" + elif key == "writeAcceleratorEnabled": + suggest = "write_accelerator_enabled" + elif key == "diskRestorePoint": + suggest = "disk_restore_point" + elif key == "managedDisk": + suggest = "managed_disk" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RestorePointSourceVMOSDiskResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RestorePointSourceVMOSDiskResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RestorePointSourceVMOSDiskResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + caching: str, + disk_size_gb: int, + encryption_settings: 'outputs.DiskEncryptionSettingsResponse', + name: str, + os_type: str, + write_accelerator_enabled: bool, + disk_restore_point: Optional['outputs.DiskRestorePointAttributesResponse'] = None, + managed_disk: Optional['outputs.ManagedDiskParametersResponse'] = None): + """ + Describes an Operating System disk. + :param str caching: Gets the caching type. + :param int disk_size_gb: Gets the disk size in GB. + :param 'DiskEncryptionSettingsResponse' encryption_settings: Gets the disk encryption settings. + :param str name: Gets the disk name. + :param str os_type: Gets the Operating System type. + :param bool write_accelerator_enabled: Shows true if the disk is write-accelerator enabled. + :param 'DiskRestorePointAttributesResponse' disk_restore_point: Contains Disk Restore Point properties. + :param 'ManagedDiskParametersResponse' managed_disk: Gets the managed disk details + """ + pulumi.set(__self__, "caching", caching) + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + pulumi.set(__self__, "encryption_settings", encryption_settings) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "os_type", os_type) + pulumi.set(__self__, "write_accelerator_enabled", write_accelerator_enabled) + if disk_restore_point is not None: + pulumi.set(__self__, "disk_restore_point", disk_restore_point) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + + @property + @pulumi.getter + def caching(self) -> str: + """ + Gets the caching type. + """ + return pulumi.get(self, "caching") + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> int: + """ + Gets the disk size in GB. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter(name="encryptionSettings") + def encryption_settings(self) -> 'outputs.DiskEncryptionSettingsResponse': + """ + Gets the disk encryption settings. + """ + return pulumi.get(self, "encryption_settings") + + @property + @pulumi.getter + def name(self) -> str: + """ + Gets the disk name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> str: + """ + Gets the Operating System type. + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter(name="writeAcceleratorEnabled") + def write_accelerator_enabled(self) -> bool: + """ + Shows true if the disk is write-accelerator enabled. + """ + return pulumi.get(self, "write_accelerator_enabled") + + @property + @pulumi.getter(name="diskRestorePoint") + def disk_restore_point(self) -> Optional['outputs.DiskRestorePointAttributesResponse']: + """ + Contains Disk Restore Point properties. + """ + return pulumi.get(self, "disk_restore_point") + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional['outputs.ManagedDiskParametersResponse']: + """ + Gets the managed disk details + """ + return pulumi.get(self, "managed_disk") + + +@pulumi.output_type +class RestorePointSourceVMStorageProfileResponse(dict): + """ + Describes the storage profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataDisks": + suggest = "data_disks" + elif key == "osDisk": + suggest = "os_disk" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RestorePointSourceVMStorageProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RestorePointSourceVMStorageProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RestorePointSourceVMStorageProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_disks: Optional[Sequence['outputs.RestorePointSourceVMDataDiskResponse']] = None, + os_disk: Optional['outputs.RestorePointSourceVMOSDiskResponse'] = None): + """ + Describes the storage profile. + :param Sequence['RestorePointSourceVMDataDiskResponse'] data_disks: Gets the data disks of the VM captured at the time of the restore point creation. + :param 'RestorePointSourceVMOSDiskResponse' os_disk: Gets the OS disk of the VM captured at the time of the restore point creation. + """ + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if os_disk is not None: + pulumi.set(__self__, "os_disk", os_disk) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[Sequence['outputs.RestorePointSourceVMDataDiskResponse']]: + """ + Gets the data disks of the VM captured at the time of the restore point creation. + """ + return pulumi.get(self, "data_disks") + + @property + @pulumi.getter(name="osDisk") + def os_disk(self) -> Optional['outputs.RestorePointSourceVMOSDiskResponse']: + """ + Gets the OS disk of the VM captured at the time of the restore point creation. + """ + return pulumi.get(self, "os_disk") + + +@pulumi.output_type +class RollingUpgradePolicyResponse(dict): + """ + The configuration parameters used while performing a rolling upgrade. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "enableCrossZoneUpgrade": + suggest = "enable_cross_zone_upgrade" + elif key == "maxBatchInstancePercent": + suggest = "max_batch_instance_percent" + elif key == "maxSurge": + suggest = "max_surge" + elif key == "maxUnhealthyInstancePercent": + suggest = "max_unhealthy_instance_percent" + elif key == "maxUnhealthyUpgradedInstancePercent": + suggest = "max_unhealthy_upgraded_instance_percent" + elif key == "pauseTimeBetweenBatches": + suggest = "pause_time_between_batches" + elif key == "prioritizeUnhealthyInstances": + suggest = "prioritize_unhealthy_instances" + elif key == "rollbackFailedInstancesOnPolicyBreach": + suggest = "rollback_failed_instances_on_policy_breach" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RollingUpgradePolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RollingUpgradePolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RollingUpgradePolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enable_cross_zone_upgrade: Optional[bool] = None, + max_batch_instance_percent: Optional[int] = None, + max_surge: Optional[bool] = None, + max_unhealthy_instance_percent: Optional[int] = None, + max_unhealthy_upgraded_instance_percent: Optional[int] = None, + pause_time_between_batches: Optional[str] = None, + prioritize_unhealthy_instances: Optional[bool] = None, + rollback_failed_instances_on_policy_breach: Optional[bool] = None): + """ + The configuration parameters used while performing a rolling upgrade. + :param bool enable_cross_zone_upgrade: Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size. + :param int max_batch_instance_percent: The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. + :param bool max_surge: Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. + :param int max_unhealthy_instance_percent: The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%. + :param int max_unhealthy_upgraded_instance_percent: The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%. + :param str pause_time_between_batches: The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). + :param bool prioritize_unhealthy_instances: Upgrade all unhealthy instances in a scale set before any healthy instances. + :param bool rollback_failed_instances_on_policy_breach: Rollback failed instances to previous model if the Rolling Upgrade policy is violated. + """ + if enable_cross_zone_upgrade is not None: + pulumi.set(__self__, "enable_cross_zone_upgrade", enable_cross_zone_upgrade) + if max_batch_instance_percent is not None: + pulumi.set(__self__, "max_batch_instance_percent", max_batch_instance_percent) + if max_surge is not None: + pulumi.set(__self__, "max_surge", max_surge) + if max_unhealthy_instance_percent is not None: + pulumi.set(__self__, "max_unhealthy_instance_percent", max_unhealthy_instance_percent) + if max_unhealthy_upgraded_instance_percent is not None: + pulumi.set(__self__, "max_unhealthy_upgraded_instance_percent", max_unhealthy_upgraded_instance_percent) + if pause_time_between_batches is not None: + pulumi.set(__self__, "pause_time_between_batches", pause_time_between_batches) + if prioritize_unhealthy_instances is not None: + pulumi.set(__self__, "prioritize_unhealthy_instances", prioritize_unhealthy_instances) + if rollback_failed_instances_on_policy_breach is not None: + pulumi.set(__self__, "rollback_failed_instances_on_policy_breach", rollback_failed_instances_on_policy_breach) + + @property + @pulumi.getter(name="enableCrossZoneUpgrade") + def enable_cross_zone_upgrade(self) -> Optional[bool]: + """ + Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size. + """ + return pulumi.get(self, "enable_cross_zone_upgrade") + + @property + @pulumi.getter(name="maxBatchInstancePercent") + def max_batch_instance_percent(self) -> Optional[int]: + """ + The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%. + """ + return pulumi.get(self, "max_batch_instance_percent") + + @property + @pulumi.getter(name="maxSurge") + def max_surge(self) -> Optional[bool]: + """ + Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. + """ + return pulumi.get(self, "max_surge") + + @property + @pulumi.getter(name="maxUnhealthyInstancePercent") + def max_unhealthy_instance_percent(self) -> Optional[int]: + """ + The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%. + """ + return pulumi.get(self, "max_unhealthy_instance_percent") + + @property + @pulumi.getter(name="maxUnhealthyUpgradedInstancePercent") + def max_unhealthy_upgraded_instance_percent(self) -> Optional[int]: + """ + The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%. + """ + return pulumi.get(self, "max_unhealthy_upgraded_instance_percent") + + @property + @pulumi.getter(name="pauseTimeBetweenBatches") + def pause_time_between_batches(self) -> Optional[str]: + """ + The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S). + """ + return pulumi.get(self, "pause_time_between_batches") + + @property + @pulumi.getter(name="prioritizeUnhealthyInstances") + def prioritize_unhealthy_instances(self) -> Optional[bool]: + """ + Upgrade all unhealthy instances in a scale set before any healthy instances. + """ + return pulumi.get(self, "prioritize_unhealthy_instances") + + @property + @pulumi.getter(name="rollbackFailedInstancesOnPolicyBreach") + def rollback_failed_instances_on_policy_breach(self) -> Optional[bool]: + """ + Rollback failed instances to previous model if the Rolling Upgrade policy is violated. + """ + return pulumi.get(self, "rollback_failed_instances_on_policy_breach") + + +@pulumi.output_type +class RunCommandInputParameterResponse(dict): + """ + Describes the properties of a run command parameter. + """ + def __init__(__self__, *, + name: str, + value: str): + """ + Describes the properties of a run command parameter. + :param str name: The run command parameter name. + :param str value: The run command parameter value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + The run command parameter name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + """ + The run command parameter value. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class RunCommandManagedIdentityResponse(dict): + """ + Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "objectId": + suggest = "object_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RunCommandManagedIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RunCommandManagedIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RunCommandManagedIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: Optional[str] = None, + object_id: Optional[str] = None): + """ + Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + :param str client_id: Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. + :param str object_id: Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. + """ + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) + if object_id is not None: + pulumi.set(__self__, "object_id", object_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[str]: + """ + Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> Optional[str]: + """ + Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. + """ + return pulumi.get(self, "object_id") + + +@pulumi.output_type +class ScaleInPolicyResponse(dict): + """ + Describes a scale-in policy for a virtual machine scale set. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "forceDeletion": + suggest = "force_deletion" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScaleInPolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScaleInPolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScaleInPolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + force_deletion: Optional[bool] = None, + rules: Optional[Sequence[str]] = None): + """ + Describes a scale-in policy for a virtual machine scale set. + :param bool force_deletion: This property allows you to specify if virtual machines chosen for removal have to be force deleted when a virtual machine scale set is being scaled-in.(Feature in Preview) + :param Sequence[str] rules: The rules to be followed when scaling-in a virtual machine scale set.

Possible values are:

**Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

**OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

**NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

+ """ + if force_deletion is not None: + pulumi.set(__self__, "force_deletion", force_deletion) + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @property + @pulumi.getter(name="forceDeletion") + def force_deletion(self) -> Optional[bool]: + """ + This property allows you to specify if virtual machines chosen for removal have to be force deleted when a virtual machine scale set is being scaled-in.(Feature in Preview) + """ + return pulumi.get(self, "force_deletion") + + @property + @pulumi.getter + def rules(self) -> Optional[Sequence[str]]: + """ + The rules to be followed when scaling-in a virtual machine scale set.

Possible values are:

**Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

**OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

**NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

+ """ + return pulumi.get(self, "rules") + + +@pulumi.output_type +class ScheduledEventsProfileResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "osImageNotificationProfile": + suggest = "os_image_notification_profile" + elif key == "terminateNotificationProfile": + suggest = "terminate_notification_profile" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScheduledEventsProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScheduledEventsProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScheduledEventsProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + os_image_notification_profile: Optional['outputs.OSImageNotificationProfileResponse'] = None, + terminate_notification_profile: Optional['outputs.TerminateNotificationProfileResponse'] = None): + """ + :param 'OSImageNotificationProfileResponse' os_image_notification_profile: Specifies OS Image Scheduled Event related configurations. + :param 'TerminateNotificationProfileResponse' terminate_notification_profile: Specifies Terminate Scheduled Event related configurations. + """ + if os_image_notification_profile is not None: + pulumi.set(__self__, "os_image_notification_profile", os_image_notification_profile) + if terminate_notification_profile is not None: + pulumi.set(__self__, "terminate_notification_profile", terminate_notification_profile) + + @property + @pulumi.getter(name="osImageNotificationProfile") + def os_image_notification_profile(self) -> Optional['outputs.OSImageNotificationProfileResponse']: + """ + Specifies OS Image Scheduled Event related configurations. + """ + return pulumi.get(self, "os_image_notification_profile") + + @property + @pulumi.getter(name="terminateNotificationProfile") + def terminate_notification_profile(self) -> Optional['outputs.TerminateNotificationProfileResponse']: + """ + Specifies Terminate Scheduled Event related configurations. + """ + return pulumi.get(self, "terminate_notification_profile") + + +@pulumi.output_type +class SecurityPostureReferenceResponse(dict): + """ + Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "excludeExtensions": + suggest = "exclude_extensions" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SecurityPostureReferenceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SecurityPostureReferenceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SecurityPostureReferenceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + exclude_extensions: Optional[Sequence['outputs.VirtualMachineExtensionResponse']] = None, + id: Optional[str] = None): + """ + Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + :param Sequence['VirtualMachineExtensionResponse'] exclude_extensions: List of virtual machine extensions to exclude when applying the Security Posture. + :param str id: The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest + """ + if exclude_extensions is not None: + pulumi.set(__self__, "exclude_extensions", exclude_extensions) + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter(name="excludeExtensions") + def exclude_extensions(self) -> Optional[Sequence['outputs.VirtualMachineExtensionResponse']]: + """ + List of virtual machine extensions to exclude when applying the Security Posture. + """ + return pulumi.get(self, "exclude_extensions") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class SecurityProfileResponse(dict): + """ + Specifies the Security profile settings for the virtual machine or virtual machine scale set. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "encryptionAtHost": + suggest = "encryption_at_host" + elif key == "securityType": + suggest = "security_type" + elif key == "uefiSettings": + suggest = "uefi_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SecurityProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SecurityProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SecurityProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + encryption_at_host: Optional[bool] = None, + security_type: Optional[str] = None, + uefi_settings: Optional['outputs.UefiSettingsResponse'] = None): + """ + Specifies the Security profile settings for the virtual machine or virtual machine scale set. + :param bool encryption_at_host: This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. The default behavior is: The Encryption at host will be disabled unless this property is set to true for the resource. + :param str security_type: Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set. + :param 'UefiSettingsResponse' uefi_settings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + """ + if encryption_at_host is not None: + pulumi.set(__self__, "encryption_at_host", encryption_at_host) + if security_type is not None: + pulumi.set(__self__, "security_type", security_type) + if uefi_settings is not None: + pulumi.set(__self__, "uefi_settings", uefi_settings) + + @property + @pulumi.getter(name="encryptionAtHost") + def encryption_at_host(self) -> Optional[bool]: + """ + This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. The default behavior is: The Encryption at host will be disabled unless this property is set to true for the resource. + """ + return pulumi.get(self, "encryption_at_host") + + @property + @pulumi.getter(name="securityType") + def security_type(self) -> Optional[str]: + """ + Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. The default behavior is: UefiSettings will not be enabled unless this property is set. + """ + return pulumi.get(self, "security_type") + + @property + @pulumi.getter(name="uefiSettings") + def uefi_settings(self) -> Optional['outputs.UefiSettingsResponse']: + """ + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + """ + return pulumi.get(self, "uefi_settings") + + +@pulumi.output_type +class ServiceArtifactReferenceResponse(dict): + """ + Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + """ + def __init__(__self__, *, + id: Optional[str] = None): + """ + Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + :param str id: The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class SkuResponse(dict): + """ + Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + """ + def __init__(__self__, *, + capacity: Optional[float] = None, + name: Optional[str] = None, + tier: Optional[str] = None): + """ + Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + :param float capacity: Specifies the number of virtual machines in the scale set. + :param str name: The sku name. + :param str tier: Specifies the tier of virtual machines in a scale set.

Possible Values:

**Standard**

**Basic** + """ + if capacity is not None: + pulumi.set(__self__, "capacity", capacity) + if name is not None: + pulumi.set(__self__, "name", name) + if tier is not None: + pulumi.set(__self__, "tier", tier) + + @property + @pulumi.getter + def capacity(self) -> Optional[float]: + """ + Specifies the number of virtual machines in the scale set. + """ + return pulumi.get(self, "capacity") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The sku name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tier(self) -> Optional[str]: + """ + Specifies the tier of virtual machines in a scale set.

Possible Values:

**Standard**

**Basic** + """ + return pulumi.get(self, "tier") + + +@pulumi.output_type +class SpotRestorePolicyResponse(dict): + """ + Specifies the Spot-Try-Restore properties for the virtual machine scale set. With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "restoreTimeout": + suggest = "restore_timeout" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SpotRestorePolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SpotRestorePolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SpotRestorePolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: Optional[bool] = None, + restore_timeout: Optional[str] = None): + """ + Specifies the Spot-Try-Restore properties for the virtual machine scale set. With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint. + :param bool enabled: Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints + :param str restore_timeout: Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if restore_timeout is not None: + pulumi.set(__self__, "restore_timeout", restore_timeout) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="restoreTimeout") + def restore_timeout(self) -> Optional[str]: + """ + Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances + """ + return pulumi.get(self, "restore_timeout") + + +@pulumi.output_type +class SshConfigurationResponse(dict): + """ + SSH configuration for Linux based VMs running on Azure + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "publicKeys": + suggest = "public_keys" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SshConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SshConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SshConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + public_keys: Optional[Sequence['outputs.SshPublicKeyResponse']] = None): + """ + SSH configuration for Linux based VMs running on Azure + :param Sequence['SshPublicKeyResponse'] public_keys: The list of SSH public keys used to authenticate with linux based VMs. + """ + if public_keys is not None: + pulumi.set(__self__, "public_keys", public_keys) + + @property + @pulumi.getter(name="publicKeys") + def public_keys(self) -> Optional[Sequence['outputs.SshPublicKeyResponse']]: + """ + The list of SSH public keys used to authenticate with linux based VMs. + """ + return pulumi.get(self, "public_keys") + + +@pulumi.output_type +class SshPublicKeyResponse(dict): + """ + Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyData": + suggest = "key_data" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SshPublicKeyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SshPublicKeyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SshPublicKeyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_data: Optional[str] = None, + path: Optional[str] = None): + """ + Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed. + :param str key_data: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + :param str path: Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + """ + if key_data is not None: + pulumi.set(__self__, "key_data", key_data) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter(name="keyData") + def key_data(self) -> Optional[str]: + """ + SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed). + """ + return pulumi.get(self, "key_data") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys + """ + return pulumi.get(self, "path") + + +@pulumi.output_type +class StorageProfileResponse(dict): + """ + Specifies the storage settings for the virtual machine disks. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataDisks": + suggest = "data_disks" + elif key == "diskControllerType": + suggest = "disk_controller_type" + elif key == "imageReference": + suggest = "image_reference" + elif key == "osDisk": + suggest = "os_disk" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_disks: Optional[Sequence['outputs.DataDiskResponse']] = None, + disk_controller_type: Optional[str] = None, + image_reference: Optional['outputs.ImageReferenceResponse'] = None, + os_disk: Optional['outputs.OSDiskResponse'] = None): + """ + Specifies the storage settings for the virtual machine disks. + :param Sequence['DataDiskResponse'] data_disks: Specifies the parameters that are used to add a data disk to a virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + :param str disk_controller_type: Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01. + :param 'ImageReferenceResponse' image_reference: Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + :param 'OSDiskResponse' os_disk: Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if disk_controller_type is not None: + pulumi.set(__self__, "disk_controller_type", disk_controller_type) + if image_reference is not None: + pulumi.set(__self__, "image_reference", image_reference) + if os_disk is not None: + pulumi.set(__self__, "os_disk", os_disk) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[Sequence['outputs.DataDiskResponse']]: + """ + Specifies the parameters that are used to add a data disk to a virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + return pulumi.get(self, "data_disks") + + @property + @pulumi.getter(name="diskControllerType") + def disk_controller_type(self) -> Optional[str]: + """ + Specifies the disk controller type configured for the VM. **Note:** This property will be set to the default disk controller type if not specified provided virtual machine is being created with 'hyperVGeneration' set to V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01. + """ + return pulumi.get(self, "disk_controller_type") + + @property + @pulumi.getter(name="imageReference") + def image_reference(self) -> Optional['outputs.ImageReferenceResponse']: + """ + Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + """ + return pulumi.get(self, "image_reference") + + @property + @pulumi.getter(name="osDisk") + def os_disk(self) -> Optional['outputs.OSDiskResponse']: + """ + Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + return pulumi.get(self, "os_disk") + + +@pulumi.output_type +class SubResourceReadOnlyResponse(dict): + def __init__(__self__, *, + id: str): + """ + :param str id: Resource Id + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class SubResourceResponse(dict): + def __init__(__self__, *, + id: Optional[str] = None): + """ + :param str id: Resource Id + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + Resource Id + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class SubResourceWithColocationStatusResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "colocationStatus": + suggest = "colocation_status" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SubResourceWithColocationStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SubResourceWithColocationStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SubResourceWithColocationStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + colocation_status: Optional['outputs.InstanceViewStatusResponse'] = None, + id: Optional[str] = None): + """ + :param 'InstanceViewStatusResponse' colocation_status: Describes colocation status of a resource in the Proximity Placement Group. + :param str id: Resource Id + """ + if colocation_status is not None: + pulumi.set(__self__, "colocation_status", colocation_status) + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter(name="colocationStatus") + def colocation_status(self) -> Optional['outputs.InstanceViewStatusResponse']: + """ + Describes colocation status of a resource in the Proximity Placement Group. + """ + return pulumi.get(self, "colocation_status") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + Resource Id + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class TerminateNotificationProfileResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "notBeforeTimeout": + suggest = "not_before_timeout" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TerminateNotificationProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TerminateNotificationProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TerminateNotificationProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enable: Optional[bool] = None, + not_before_timeout: Optional[str] = None): + """ + :param bool enable: Specifies whether the Terminate Scheduled event is enabled or disabled. + :param str not_before_timeout: Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M) + """ + if enable is not None: + pulumi.set(__self__, "enable", enable) + if not_before_timeout is not None: + pulumi.set(__self__, "not_before_timeout", not_before_timeout) + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + """ + Specifies whether the Terminate Scheduled event is enabled or disabled. + """ + return pulumi.get(self, "enable") + + @property + @pulumi.getter(name="notBeforeTimeout") + def not_before_timeout(self) -> Optional[str]: + """ + Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M) + """ + return pulumi.get(self, "not_before_timeout") + + +@pulumi.output_type +class UefiSettingsResponse(dict): + """ + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "secureBootEnabled": + suggest = "secure_boot_enabled" + elif key == "vTpmEnabled": + suggest = "v_tpm_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UefiSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UefiSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UefiSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + secure_boot_enabled: Optional[bool] = None, + v_tpm_enabled: Optional[bool] = None): + """ + Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01. + :param bool secure_boot_enabled: Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + :param bool v_tpm_enabled: Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + """ + if secure_boot_enabled is not None: + pulumi.set(__self__, "secure_boot_enabled", secure_boot_enabled) + if v_tpm_enabled is not None: + pulumi.set(__self__, "v_tpm_enabled", v_tpm_enabled) + + @property + @pulumi.getter(name="secureBootEnabled") + def secure_boot_enabled(self) -> Optional[bool]: + """ + Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + """ + return pulumi.get(self, "secure_boot_enabled") + + @property + @pulumi.getter(name="vTpmEnabled") + def v_tpm_enabled(self) -> Optional[bool]: + """ + Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01. + """ + return pulumi.get(self, "v_tpm_enabled") + + +@pulumi.output_type +class UpgradePolicyResponse(dict): + """ + Describes an upgrade policy - automatic, manual, or rolling. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "automaticOSUpgradePolicy": + suggest = "automatic_os_upgrade_policy" + elif key == "rollingUpgradePolicy": + suggest = "rolling_upgrade_policy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UpgradePolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UpgradePolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UpgradePolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + automatic_os_upgrade_policy: Optional['outputs.AutomaticOSUpgradePolicyResponse'] = None, + mode: Optional[str] = None, + rolling_upgrade_policy: Optional['outputs.RollingUpgradePolicyResponse'] = None): + """ + Describes an upgrade policy - automatic, manual, or rolling. + :param 'AutomaticOSUpgradePolicyResponse' automatic_os_upgrade_policy: Configuration parameters used for performing automatic OS Upgrade. + :param str mode: Specifies the mode of an upgrade to virtual machines in the scale set.

Possible values are:

**Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

**Automatic** - All virtual machines in the scale set are automatically updated at the same time. + :param 'RollingUpgradePolicyResponse' rolling_upgrade_policy: The configuration parameters used while performing a rolling upgrade. + """ + if automatic_os_upgrade_policy is not None: + pulumi.set(__self__, "automatic_os_upgrade_policy", automatic_os_upgrade_policy) + if mode is not None: + pulumi.set(__self__, "mode", mode) + if rolling_upgrade_policy is not None: + pulumi.set(__self__, "rolling_upgrade_policy", rolling_upgrade_policy) + + @property + @pulumi.getter(name="automaticOSUpgradePolicy") + def automatic_os_upgrade_policy(self) -> Optional['outputs.AutomaticOSUpgradePolicyResponse']: + """ + Configuration parameters used for performing automatic OS Upgrade. + """ + return pulumi.get(self, "automatic_os_upgrade_policy") + + @property + @pulumi.getter + def mode(self) -> Optional[str]: + """ + Specifies the mode of an upgrade to virtual machines in the scale set.

Possible values are:

**Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

**Automatic** - All virtual machines in the scale set are automatically updated at the same time. + """ + return pulumi.get(self, "mode") + + @property + @pulumi.getter(name="rollingUpgradePolicy") + def rolling_upgrade_policy(self) -> Optional['outputs.RollingUpgradePolicyResponse']: + """ + The configuration parameters used while performing a rolling upgrade. + """ + return pulumi.get(self, "rolling_upgrade_policy") + + +@pulumi.output_type +class UserAssignedIdentitiesResponseUserAssignedIdentities(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "principalId": + suggest = "principal_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentitiesResponseUserAssignedIdentities. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserAssignedIdentitiesResponseUserAssignedIdentities.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserAssignedIdentitiesResponseUserAssignedIdentities.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: str, + principal_id: str): + """ + :param str client_id: The client id of user assigned identity. + :param str principal_id: The principal id of user assigned identity. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "principal_id", principal_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The client id of user assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal id of user assigned identity. + """ + return pulumi.get(self, "principal_id") + + +@pulumi.output_type +class VMDiskSecurityProfileResponse(dict): + """ + Specifies the security profile settings for the managed disk. **Note:** It can only be set for Confidential VMs. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskEncryptionSet": + suggest = "disk_encryption_set" + elif key == "securityEncryptionType": + suggest = "security_encryption_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VMDiskSecurityProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VMDiskSecurityProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VMDiskSecurityProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + disk_encryption_set: Optional['outputs.DiskEncryptionSetParametersResponse'] = None, + security_encryption_type: Optional[str] = None): + """ + Specifies the security profile settings for the managed disk. **Note:** It can only be set for Confidential VMs. + :param 'DiskEncryptionSetParametersResponse' disk_encryption_set: Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + :param str security_encryption_type: Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs. + """ + if disk_encryption_set is not None: + pulumi.set(__self__, "disk_encryption_set", disk_encryption_set) + if security_encryption_type is not None: + pulumi.set(__self__, "security_encryption_type", security_encryption_type) + + @property + @pulumi.getter(name="diskEncryptionSet") + def disk_encryption_set(self) -> Optional['outputs.DiskEncryptionSetParametersResponse']: + """ + Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob. + """ + return pulumi.get(self, "disk_encryption_set") + + @property + @pulumi.getter(name="securityEncryptionType") + def security_encryption_type(self) -> Optional[str]: + """ + Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. **Note:** It can be set for only Confidential VMs. + """ + return pulumi.get(self, "security_encryption_type") + + +@pulumi.output_type +class VMGalleryApplicationResponse(dict): + """ + Specifies the required information to reference a compute gallery application version + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "packageReferenceId": + suggest = "package_reference_id" + elif key == "configurationReference": + suggest = "configuration_reference" + elif key == "enableAutomaticUpgrade": + suggest = "enable_automatic_upgrade" + elif key == "treatFailureAsDeploymentFailure": + suggest = "treat_failure_as_deployment_failure" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VMGalleryApplicationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VMGalleryApplicationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VMGalleryApplicationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + package_reference_id: str, + configuration_reference: Optional[str] = None, + enable_automatic_upgrade: Optional[bool] = None, + order: Optional[int] = None, + tags: Optional[str] = None, + treat_failure_as_deployment_failure: Optional[bool] = None): + """ + Specifies the required information to reference a compute gallery application version + :param str package_reference_id: Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + :param str configuration_reference: Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided + :param bool enable_automatic_upgrade: If set to true, when a new Gallery Application version is available in PIR/SIG, it will be automatically updated for the VM/VMSS + :param int order: Optional, Specifies the order in which the packages have to be installed + :param str tags: Optional, Specifies a passthrough value for more generic context. + :param bool treat_failure_as_deployment_failure: Optional, If true, any failure for any operation in the VmApplication will fail the deployment + """ + pulumi.set(__self__, "package_reference_id", package_reference_id) + if configuration_reference is not None: + pulumi.set(__self__, "configuration_reference", configuration_reference) + if enable_automatic_upgrade is not None: + pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) + if order is not None: + pulumi.set(__self__, "order", order) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if treat_failure_as_deployment_failure is not None: + pulumi.set(__self__, "treat_failure_as_deployment_failure", treat_failure_as_deployment_failure) + + @property + @pulumi.getter(name="packageReferenceId") + def package_reference_id(self) -> str: + """ + Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version} + """ + return pulumi.get(self, "package_reference_id") + + @property + @pulumi.getter(name="configurationReference") + def configuration_reference(self) -> Optional[str]: + """ + Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided + """ + return pulumi.get(self, "configuration_reference") + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> Optional[bool]: + """ + If set to true, when a new Gallery Application version is available in PIR/SIG, it will be automatically updated for the VM/VMSS + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @property + @pulumi.getter + def order(self) -> Optional[int]: + """ + Optional, Specifies the order in which the packages have to be installed + """ + return pulumi.get(self, "order") + + @property + @pulumi.getter + def tags(self) -> Optional[str]: + """ + Optional, Specifies a passthrough value for more generic context. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="treatFailureAsDeploymentFailure") + def treat_failure_as_deployment_failure(self) -> Optional[bool]: + """ + Optional, If true, any failure for any operation in the VmApplication will fail the deployment + """ + return pulumi.get(self, "treat_failure_as_deployment_failure") + + +@pulumi.output_type +class VMSizePropertiesResponse(dict): + """ + Specifies VM Size Property settings on the virtual machine. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "vCPUsAvailable": + suggest = "v_cpus_available" + elif key == "vCPUsPerCore": + suggest = "v_cpus_per_core" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VMSizePropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VMSizePropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VMSizePropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + v_cpus_available: Optional[int] = None, + v_cpus_per_core: Optional[int] = None): + """ + Specifies VM Size Property settings on the virtual machine. + :param int v_cpus_available: Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). + :param int v_cpus_per_core: Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.** + """ + if v_cpus_available is not None: + pulumi.set(__self__, "v_cpus_available", v_cpus_available) + if v_cpus_per_core is not None: + pulumi.set(__self__, "v_cpus_per_core", v_cpus_per_core) + + @property + @pulumi.getter(name="vCPUsAvailable") + def v_cpus_available(self) -> Optional[int]: + """ + Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). + """ + return pulumi.get(self, "v_cpus_available") + + @property + @pulumi.getter(name="vCPUsPerCore") + def v_cpus_per_core(self) -> Optional[int]: + """ + Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.** + """ + return pulumi.get(self, "v_cpus_per_core") + + +@pulumi.output_type +class VaultCertificateResponse(dict): + """ + Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "certificateStore": + suggest = "certificate_store" + elif key == "certificateUrl": + suggest = "certificate_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VaultCertificateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VaultCertificateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VaultCertificateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + certificate_store: Optional[str] = None, + certificate_url: Optional[str] = None): + """ + Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM. + :param str certificate_store: For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted. + :param str certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + """ + if certificate_store is not None: + pulumi.set(__self__, "certificate_store", certificate_store) + if certificate_url is not None: + pulumi.set(__self__, "certificate_url", certificate_url) + + @property + @pulumi.getter(name="certificateStore") + def certificate_store(self) -> Optional[str]: + """ + For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted. + """ + return pulumi.get(self, "certificate_store") + + @property + @pulumi.getter(name="certificateUrl") + def certificate_url(self) -> Optional[str]: + """ + This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + """ + return pulumi.get(self, "certificate_url") + + +@pulumi.output_type +class VaultSecretGroupResponse(dict): + """ + Describes a set of certificates which are all in the same Key Vault. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sourceVault": + suggest = "source_vault" + elif key == "vaultCertificates": + suggest = "vault_certificates" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VaultSecretGroupResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VaultSecretGroupResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VaultSecretGroupResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + source_vault: Optional['outputs.SubResourceResponse'] = None, + vault_certificates: Optional[Sequence['outputs.VaultCertificateResponse']] = None): + """ + Describes a set of certificates which are all in the same Key Vault. + :param 'SubResourceResponse' source_vault: The relative URL of the Key Vault containing all of the certificates in VaultCertificates. + :param Sequence['VaultCertificateResponse'] vault_certificates: The list of key vault references in SourceVault which contain certificates. + """ + if source_vault is not None: + pulumi.set(__self__, "source_vault", source_vault) + if vault_certificates is not None: + pulumi.set(__self__, "vault_certificates", vault_certificates) + + @property + @pulumi.getter(name="sourceVault") + def source_vault(self) -> Optional['outputs.SubResourceResponse']: + """ + The relative URL of the Key Vault containing all of the certificates in VaultCertificates. + """ + return pulumi.get(self, "source_vault") + + @property + @pulumi.getter(name="vaultCertificates") + def vault_certificates(self) -> Optional[Sequence['outputs.VaultCertificateResponse']]: + """ + The list of key vault references in SourceVault which contain certificates. + """ + return pulumi.get(self, "vault_certificates") + + +@pulumi.output_type +class VirtualHardDiskResponse(dict): + """ + Describes the uri of a disk. + """ + def __init__(__self__, *, + uri: Optional[str] = None): + """ + Describes the uri of a disk. + :param str uri: Specifies the virtual hard disk's uri. + """ + if uri is not None: + pulumi.set(__self__, "uri", uri) + + @property + @pulumi.getter + def uri(self) -> Optional[str]: + """ + Specifies the virtual hard disk's uri. + """ + return pulumi.get(self, "uri") + + +@pulumi.output_type +class VirtualMachineAgentInstanceViewResponse(dict): + """ + The instance view of the VM Agent running on the virtual machine. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "extensionHandlers": + suggest = "extension_handlers" + elif key == "vmAgentVersion": + suggest = "vm_agent_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineAgentInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineAgentInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineAgentInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + extension_handlers: Optional[Sequence['outputs.VirtualMachineExtensionHandlerInstanceViewResponse']] = None, + statuses: Optional[Sequence['outputs.InstanceViewStatusResponse']] = None, + vm_agent_version: Optional[str] = None): + """ + The instance view of the VM Agent running on the virtual machine. + :param Sequence['VirtualMachineExtensionHandlerInstanceViewResponse'] extension_handlers: The virtual machine extension handler instance view. + :param Sequence['InstanceViewStatusResponse'] statuses: The resource status information. + :param str vm_agent_version: The VM Agent full version. + """ + if extension_handlers is not None: + pulumi.set(__self__, "extension_handlers", extension_handlers) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + if vm_agent_version is not None: + pulumi.set(__self__, "vm_agent_version", vm_agent_version) + + @property + @pulumi.getter(name="extensionHandlers") + def extension_handlers(self) -> Optional[Sequence['outputs.VirtualMachineExtensionHandlerInstanceViewResponse']]: + """ + The virtual machine extension handler instance view. + """ + return pulumi.get(self, "extension_handlers") + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + @property + @pulumi.getter(name="vmAgentVersion") + def vm_agent_version(self) -> Optional[str]: + """ + The VM Agent full version. + """ + return pulumi.get(self, "vm_agent_version") + + +@pulumi.output_type +class VirtualMachineExtensionHandlerInstanceViewResponse(dict): + """ + The instance view of a virtual machine extension handler. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "typeHandlerVersion": + suggest = "type_handler_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineExtensionHandlerInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineExtensionHandlerInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineExtensionHandlerInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + status: Optional['outputs.InstanceViewStatusResponse'] = None, + type: Optional[str] = None, + type_handler_version: Optional[str] = None): + """ + The instance view of a virtual machine extension handler. + :param 'InstanceViewStatusResponse' status: The extension handler status. + :param str type: Specifies the type of the extension; an example is "CustomScriptExtension". + :param str type_handler_version: Specifies the version of the script handler. + """ + if status is not None: + pulumi.set(__self__, "status", status) + if type is not None: + pulumi.set(__self__, "type", type) + if type_handler_version is not None: + pulumi.set(__self__, "type_handler_version", type_handler_version) + + @property + @pulumi.getter + def status(self) -> Optional['outputs.InstanceViewStatusResponse']: + """ + The extension handler status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + Specifies the type of the extension; an example is "CustomScriptExtension". + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[str]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + +@pulumi.output_type +class VirtualMachineExtensionInstanceViewResponse(dict): + """ + The instance view of a virtual machine extension. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "typeHandlerVersion": + suggest = "type_handler_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineExtensionInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineExtensionInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineExtensionInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: Optional[str] = None, + statuses: Optional[Sequence['outputs.InstanceViewStatusResponse']] = None, + substatuses: Optional[Sequence['outputs.InstanceViewStatusResponse']] = None, + type: Optional[str] = None, + type_handler_version: Optional[str] = None): + """ + The instance view of a virtual machine extension. + :param str name: The virtual machine extension name. + :param Sequence['InstanceViewStatusResponse'] statuses: The resource status information. + :param Sequence['InstanceViewStatusResponse'] substatuses: The resource status information. + :param str type: Specifies the type of the extension; an example is "CustomScriptExtension". + :param str type_handler_version: Specifies the version of the script handler. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + if substatuses is not None: + pulumi.set(__self__, "substatuses", substatuses) + if type is not None: + pulumi.set(__self__, "type", type) + if type_handler_version is not None: + pulumi.set(__self__, "type_handler_version", type_handler_version) + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The virtual machine extension name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + @property + @pulumi.getter + def substatuses(self) -> Optional[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "substatuses") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + Specifies the type of the extension; an example is "CustomScriptExtension". + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[str]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + +@pulumi.output_type +class VirtualMachineExtensionResponse(dict): + """ + Describes a Virtual Machine Extension. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "provisioningState": + suggest = "provisioning_state" + elif key == "autoUpgradeMinorVersion": + suggest = "auto_upgrade_minor_version" + elif key == "enableAutomaticUpgrade": + suggest = "enable_automatic_upgrade" + elif key == "forceUpdateTag": + suggest = "force_update_tag" + elif key == "instanceView": + suggest = "instance_view" + elif key == "protectedSettings": + suggest = "protected_settings" + elif key == "protectedSettingsFromKeyVault": + suggest = "protected_settings_from_key_vault" + elif key == "provisionAfterExtensions": + suggest = "provision_after_extensions" + elif key == "suppressFailures": + suggest = "suppress_failures" + elif key == "typeHandlerVersion": + suggest = "type_handler_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineExtensionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineExtensionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineExtensionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + id: str, + name: str, + provisioning_state: str, + type: str, + auto_upgrade_minor_version: Optional[bool] = None, + enable_automatic_upgrade: Optional[bool] = None, + force_update_tag: Optional[str] = None, + instance_view: Optional['outputs.VirtualMachineExtensionInstanceViewResponse'] = None, + location: Optional[str] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional['outputs.KeyVaultSecretReferenceResponse'] = None, + provision_after_extensions: Optional[Sequence[str]] = None, + publisher: Optional[str] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[bool] = None, + tags: Optional[Mapping[str, str]] = None, + type_handler_version: Optional[str] = None): + """ + Describes a Virtual Machine Extension. + :param str id: Resource Id + :param str name: Resource name + :param str provisioning_state: The provisioning state, which only appears in the response. + :param str type: Resource type + :param bool auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + :param bool enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + :param str force_update_tag: How the extension handler should be forced to update even if the extension configuration has not changed. + :param 'VirtualMachineExtensionInstanceViewResponse' instance_view: The virtual machine extension instance view. + :param str location: Resource location + :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + :param 'KeyVaultSecretReferenceResponse' protected_settings_from_key_vault: The extensions protected settings that are passed by reference, and consumed from key vault + :param Sequence[str] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned. + :param str publisher: The name of the extension handler publisher. + :param Any settings: Json formatted public settings for the extension. + :param bool suppress_failures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + :param Mapping[str, str] tags: Resource tags + :param str type_handler_version: Specifies the version of the script handler. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "type", type) + if auto_upgrade_minor_version is not None: + pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) + if enable_automatic_upgrade is not None: + pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) + if force_update_tag is not None: + pulumi.set(__self__, "force_update_tag", force_update_tag) + if instance_view is not None: + pulumi.set(__self__, "instance_view", instance_view) + if location is not None: + pulumi.set(__self__, "location", location) + if protected_settings is not None: + pulumi.set(__self__, "protected_settings", protected_settings) + if protected_settings_from_key_vault is not None: + pulumi.set(__self__, "protected_settings_from_key_vault", protected_settings_from_key_vault) + if provision_after_extensions is not None: + pulumi.set(__self__, "provision_after_extensions", provision_after_extensions) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + if settings is not None: + pulumi.set(__self__, "settings", settings) + if suppress_failures is not None: + pulumi.set(__self__, "suppress_failures", suppress_failures) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if type_handler_version is not None: + pulumi.set(__self__, "type_handler_version", type_handler_version) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> Optional[bool]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> Optional[bool]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> Optional[str]: + """ + How the extension handler should be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> Optional['outputs.VirtualMachineExtensionInstanceViewResponse']: + """ + The virtual machine extension instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> Optional[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> Optional[Any]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> Optional['outputs.KeyVaultSecretReferenceResponse']: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> Optional[Sequence[str]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @property + @pulumi.getter + def publisher(self) -> Optional[str]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @property + @pulumi.getter + def settings(self) -> Optional[Any]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> Optional[bool]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[str]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + +@pulumi.output_type +class VirtualMachineHealthStatusResponse(dict): + """ + The health status of the VM. + """ + def __init__(__self__, *, + status: 'outputs.InstanceViewStatusResponse'): + """ + The health status of the VM. + :param 'InstanceViewStatusResponse' status: The health status information for the VM. + """ + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def status(self) -> 'outputs.InstanceViewStatusResponse': + """ + The health status information for the VM. + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class VirtualMachineIdentityResponse(dict): + """ + Identity for the virtual machine. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + type: Optional[str] = None, + user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentitiesResponseUserAssignedIdentities']] = None): + """ + Identity for the virtual machine. + :param str principal_id: The principal id of virtual machine identity. This property will only be provided for a system assigned identity. + :param str tenant_id: The tenant id associated with the virtual machine. This property will only be provided for a system assigned identity. + :param str type: The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. + :param Mapping[str, 'UserAssignedIdentitiesResponseUserAssignedIdentities'] user_assigned_identities: The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + if type is not None: + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal id of virtual machine identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The tenant id associated with the virtual machine. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentitiesResponseUserAssignedIdentities']]: + """ + The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + return pulumi.get(self, "user_assigned_identities") + + +@pulumi.output_type +class VirtualMachineInstanceViewResponse(dict): + """ + The instance view of a virtual machine. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "assignedHost": + suggest = "assigned_host" + elif key == "vmHealth": + suggest = "vm_health" + elif key == "bootDiagnostics": + suggest = "boot_diagnostics" + elif key == "computerName": + suggest = "computer_name" + elif key == "hyperVGeneration": + suggest = "hyper_v_generation" + elif key == "maintenanceRedeployStatus": + suggest = "maintenance_redeploy_status" + elif key == "osName": + suggest = "os_name" + elif key == "osVersion": + suggest = "os_version" + elif key == "patchStatus": + suggest = "patch_status" + elif key == "platformFaultDomain": + suggest = "platform_fault_domain" + elif key == "platformUpdateDomain": + suggest = "platform_update_domain" + elif key == "rdpThumbPrint": + suggest = "rdp_thumb_print" + elif key == "vmAgent": + suggest = "vm_agent" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + assigned_host: str, + vm_health: 'outputs.VirtualMachineHealthStatusResponse', + boot_diagnostics: Optional['outputs.BootDiagnosticsInstanceViewResponse'] = None, + computer_name: Optional[str] = None, + disks: Optional[Sequence['outputs.DiskInstanceViewResponse']] = None, + extensions: Optional[Sequence['outputs.VirtualMachineExtensionInstanceViewResponse']] = None, + hyper_v_generation: Optional[str] = None, + maintenance_redeploy_status: Optional['outputs.MaintenanceRedeployStatusResponse'] = None, + os_name: Optional[str] = None, + os_version: Optional[str] = None, + patch_status: Optional['outputs.VirtualMachinePatchStatusResponse'] = None, + platform_fault_domain: Optional[int] = None, + platform_update_domain: Optional[int] = None, + rdp_thumb_print: Optional[str] = None, + statuses: Optional[Sequence['outputs.InstanceViewStatusResponse']] = None, + vm_agent: Optional['outputs.VirtualMachineAgentInstanceViewResponse'] = None): + """ + The instance view of a virtual machine. + :param str assigned_host: Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled. Minimum api-version: 2020-06-01. + :param 'VirtualMachineHealthStatusResponse' vm_health: The health status for the VM. + :param 'BootDiagnosticsInstanceViewResponse' boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + :param str computer_name: The computer name assigned to the virtual machine. + :param Sequence['DiskInstanceViewResponse'] disks: The virtual machine disk information. + :param Sequence['VirtualMachineExtensionInstanceViewResponse'] extensions: The extensions information. + :param str hyper_v_generation: Specifies the HyperVGeneration Type associated with a resource + :param 'MaintenanceRedeployStatusResponse' maintenance_redeploy_status: The Maintenance Operation status on the virtual machine. + :param str os_name: The Operating System running on the virtual machine. + :param str os_version: The version of Operating System running on the virtual machine. + :param 'VirtualMachinePatchStatusResponse' patch_status: [Preview Feature] The status of virtual machine patch operations. + :param int platform_fault_domain: Specifies the fault domain of the virtual machine. + :param int platform_update_domain: Specifies the update domain of the virtual machine. + :param str rdp_thumb_print: The Remote desktop certificate thumbprint. + :param Sequence['InstanceViewStatusResponse'] statuses: The resource status information. + :param 'VirtualMachineAgentInstanceViewResponse' vm_agent: The VM Agent running on the virtual machine. + """ + pulumi.set(__self__, "assigned_host", assigned_host) + pulumi.set(__self__, "vm_health", vm_health) + if boot_diagnostics is not None: + pulumi.set(__self__, "boot_diagnostics", boot_diagnostics) + if computer_name is not None: + pulumi.set(__self__, "computer_name", computer_name) + if disks is not None: + pulumi.set(__self__, "disks", disks) + if extensions is not None: + pulumi.set(__self__, "extensions", extensions) + if hyper_v_generation is not None: + pulumi.set(__self__, "hyper_v_generation", hyper_v_generation) + if maintenance_redeploy_status is not None: + pulumi.set(__self__, "maintenance_redeploy_status", maintenance_redeploy_status) + if os_name is not None: + pulumi.set(__self__, "os_name", os_name) + if os_version is not None: + pulumi.set(__self__, "os_version", os_version) + if patch_status is not None: + pulumi.set(__self__, "patch_status", patch_status) + if platform_fault_domain is not None: + pulumi.set(__self__, "platform_fault_domain", platform_fault_domain) + if platform_update_domain is not None: + pulumi.set(__self__, "platform_update_domain", platform_update_domain) + if rdp_thumb_print is not None: + pulumi.set(__self__, "rdp_thumb_print", rdp_thumb_print) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + if vm_agent is not None: + pulumi.set(__self__, "vm_agent", vm_agent) + + @property + @pulumi.getter(name="assignedHost") + def assigned_host(self) -> str: + """ + Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled. Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "assigned_host") + + @property + @pulumi.getter(name="vmHealth") + def vm_health(self) -> 'outputs.VirtualMachineHealthStatusResponse': + """ + The health status for the VM. + """ + return pulumi.get(self, "vm_health") + + @property + @pulumi.getter(name="bootDiagnostics") + def boot_diagnostics(self) -> Optional['outputs.BootDiagnosticsInstanceViewResponse']: + """ + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + """ + return pulumi.get(self, "boot_diagnostics") + + @property + @pulumi.getter(name="computerName") + def computer_name(self) -> Optional[str]: + """ + The computer name assigned to the virtual machine. + """ + return pulumi.get(self, "computer_name") + + @property + @pulumi.getter + def disks(self) -> Optional[Sequence['outputs.DiskInstanceViewResponse']]: + """ + The virtual machine disk information. + """ + return pulumi.get(self, "disks") + + @property + @pulumi.getter + def extensions(self) -> Optional[Sequence['outputs.VirtualMachineExtensionInstanceViewResponse']]: + """ + The extensions information. + """ + return pulumi.get(self, "extensions") + + @property + @pulumi.getter(name="hyperVGeneration") + def hyper_v_generation(self) -> Optional[str]: + """ + Specifies the HyperVGeneration Type associated with a resource + """ + return pulumi.get(self, "hyper_v_generation") + + @property + @pulumi.getter(name="maintenanceRedeployStatus") + def maintenance_redeploy_status(self) -> Optional['outputs.MaintenanceRedeployStatusResponse']: + """ + The Maintenance Operation status on the virtual machine. + """ + return pulumi.get(self, "maintenance_redeploy_status") + + @property + @pulumi.getter(name="osName") + def os_name(self) -> Optional[str]: + """ + The Operating System running on the virtual machine. + """ + return pulumi.get(self, "os_name") + + @property + @pulumi.getter(name="osVersion") + def os_version(self) -> Optional[str]: + """ + The version of Operating System running on the virtual machine. + """ + return pulumi.get(self, "os_version") + + @property + @pulumi.getter(name="patchStatus") + def patch_status(self) -> Optional['outputs.VirtualMachinePatchStatusResponse']: + """ + [Preview Feature] The status of virtual machine patch operations. + """ + return pulumi.get(self, "patch_status") + + @property + @pulumi.getter(name="platformFaultDomain") + def platform_fault_domain(self) -> Optional[int]: + """ + Specifies the fault domain of the virtual machine. + """ + return pulumi.get(self, "platform_fault_domain") + + @property + @pulumi.getter(name="platformUpdateDomain") + def platform_update_domain(self) -> Optional[int]: + """ + Specifies the update domain of the virtual machine. + """ + return pulumi.get(self, "platform_update_domain") + + @property + @pulumi.getter(name="rdpThumbPrint") + def rdp_thumb_print(self) -> Optional[str]: + """ + The Remote desktop certificate thumbprint. + """ + return pulumi.get(self, "rdp_thumb_print") + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + @property + @pulumi.getter(name="vmAgent") + def vm_agent(self) -> Optional['outputs.VirtualMachineAgentInstanceViewResponse']: + """ + The VM Agent running on the virtual machine. + """ + return pulumi.get(self, "vm_agent") + + +@pulumi.output_type +class VirtualMachineIpTagResponse(dict): + """ + Contains the IP tag associated with the public IP address. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ipTagType": + suggest = "ip_tag_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineIpTagResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineIpTagResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineIpTagResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ip_tag_type: Optional[str] = None, + tag: Optional[str] = None): + """ + Contains the IP tag associated with the public IP address. + :param str ip_tag_type: IP tag type. Example: FirstPartyUsage. + :param str tag: IP tag associated with the public IP. Example: SQL, Storage etc. + """ + if ip_tag_type is not None: + pulumi.set(__self__, "ip_tag_type", ip_tag_type) + if tag is not None: + pulumi.set(__self__, "tag", tag) + + @property + @pulumi.getter(name="ipTagType") + def ip_tag_type(self) -> Optional[str]: + """ + IP tag type. Example: FirstPartyUsage. + """ + return pulumi.get(self, "ip_tag_type") + + @property + @pulumi.getter + def tag(self) -> Optional[str]: + """ + IP tag associated with the public IP. Example: SQL, Storage etc. + """ + return pulumi.get(self, "tag") + + +@pulumi.output_type +class VirtualMachineNetworkInterfaceConfigurationResponse(dict): + """ + Describes a virtual machine network interface configurations. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ipConfigurations": + suggest = "ip_configurations" + elif key == "auxiliaryMode": + suggest = "auxiliary_mode" + elif key == "auxiliarySku": + suggest = "auxiliary_sku" + elif key == "deleteOption": + suggest = "delete_option" + elif key == "disableTcpStateTracking": + suggest = "disable_tcp_state_tracking" + elif key == "dnsSettings": + suggest = "dns_settings" + elif key == "dscpConfiguration": + suggest = "dscp_configuration" + elif key == "enableAcceleratedNetworking": + suggest = "enable_accelerated_networking" + elif key == "enableFpga": + suggest = "enable_fpga" + elif key == "enableIPForwarding": + suggest = "enable_ip_forwarding" + elif key == "networkSecurityGroup": + suggest = "network_security_group" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineNetworkInterfaceConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineNetworkInterfaceConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineNetworkInterfaceConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ip_configurations: Sequence['outputs.VirtualMachineNetworkInterfaceIPConfigurationResponse'], + name: str, + auxiliary_mode: Optional[str] = None, + auxiliary_sku: Optional[str] = None, + delete_option: Optional[str] = None, + disable_tcp_state_tracking: Optional[bool] = None, + dns_settings: Optional['outputs.VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse'] = None, + dscp_configuration: Optional['outputs.SubResourceResponse'] = None, + enable_accelerated_networking: Optional[bool] = None, + enable_fpga: Optional[bool] = None, + enable_ip_forwarding: Optional[bool] = None, + network_security_group: Optional['outputs.SubResourceResponse'] = None, + primary: Optional[bool] = None): + """ + Describes a virtual machine network interface configurations. + :param Sequence['VirtualMachineNetworkInterfaceIPConfigurationResponse'] ip_configurations: Specifies the IP configurations of the network interface. + :param str name: The network interface configuration name. + :param str auxiliary_mode: Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + :param str auxiliary_sku: Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + :param str delete_option: Specify what happens to the network interface when the VM is deleted + :param bool disable_tcp_state_tracking: Specifies whether the network interface is disabled for tcp state tracking. + :param 'VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse' dns_settings: The dns settings to be applied on the network interfaces. + :param bool enable_accelerated_networking: Specifies whether the network interface is accelerated networking-enabled. + :param bool enable_fpga: Specifies whether the network interface is FPGA networking-enabled. + :param bool enable_ip_forwarding: Whether IP forwarding enabled on this NIC. + :param 'SubResourceResponse' network_security_group: The network security group. + :param bool primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + pulumi.set(__self__, "ip_configurations", ip_configurations) + pulumi.set(__self__, "name", name) + if auxiliary_mode is not None: + pulumi.set(__self__, "auxiliary_mode", auxiliary_mode) + if auxiliary_sku is not None: + pulumi.set(__self__, "auxiliary_sku", auxiliary_sku) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if disable_tcp_state_tracking is not None: + pulumi.set(__self__, "disable_tcp_state_tracking", disable_tcp_state_tracking) + if dns_settings is not None: + pulumi.set(__self__, "dns_settings", dns_settings) + if dscp_configuration is not None: + pulumi.set(__self__, "dscp_configuration", dscp_configuration) + if enable_accelerated_networking is not None: + pulumi.set(__self__, "enable_accelerated_networking", enable_accelerated_networking) + if enable_fpga is not None: + pulumi.set(__self__, "enable_fpga", enable_fpga) + if enable_ip_forwarding is not None: + pulumi.set(__self__, "enable_ip_forwarding", enable_ip_forwarding) + if network_security_group is not None: + pulumi.set(__self__, "network_security_group", network_security_group) + if primary is not None: + pulumi.set(__self__, "primary", primary) + + @property + @pulumi.getter(name="ipConfigurations") + def ip_configurations(self) -> Sequence['outputs.VirtualMachineNetworkInterfaceIPConfigurationResponse']: + """ + Specifies the IP configurations of the network interface. + """ + return pulumi.get(self, "ip_configurations") + + @property + @pulumi.getter + def name(self) -> str: + """ + The network interface configuration name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="auxiliaryMode") + def auxiliary_mode(self) -> Optional[str]: + """ + Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + """ + return pulumi.get(self, "auxiliary_mode") + + @property + @pulumi.getter(name="auxiliarySku") + def auxiliary_sku(self) -> Optional[str]: + """ + Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + """ + return pulumi.get(self, "auxiliary_sku") + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[str]: + """ + Specify what happens to the network interface when the VM is deleted + """ + return pulumi.get(self, "delete_option") + + @property + @pulumi.getter(name="disableTcpStateTracking") + def disable_tcp_state_tracking(self) -> Optional[bool]: + """ + Specifies whether the network interface is disabled for tcp state tracking. + """ + return pulumi.get(self, "disable_tcp_state_tracking") + + @property + @pulumi.getter(name="dnsSettings") + def dns_settings(self) -> Optional['outputs.VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse']: + """ + The dns settings to be applied on the network interfaces. + """ + return pulumi.get(self, "dns_settings") + + @property + @pulumi.getter(name="dscpConfiguration") + def dscp_configuration(self) -> Optional['outputs.SubResourceResponse']: + return pulumi.get(self, "dscp_configuration") + + @property + @pulumi.getter(name="enableAcceleratedNetworking") + def enable_accelerated_networking(self) -> Optional[bool]: + """ + Specifies whether the network interface is accelerated networking-enabled. + """ + return pulumi.get(self, "enable_accelerated_networking") + + @property + @pulumi.getter(name="enableFpga") + def enable_fpga(self) -> Optional[bool]: + """ + Specifies whether the network interface is FPGA networking-enabled. + """ + return pulumi.get(self, "enable_fpga") + + @property + @pulumi.getter(name="enableIPForwarding") + def enable_ip_forwarding(self) -> Optional[bool]: + """ + Whether IP forwarding enabled on this NIC. + """ + return pulumi.get(self, "enable_ip_forwarding") + + @property + @pulumi.getter(name="networkSecurityGroup") + def network_security_group(self) -> Optional['outputs.SubResourceResponse']: + """ + The network security group. + """ + return pulumi.get(self, "network_security_group") + + @property + @pulumi.getter + def primary(self) -> Optional[bool]: + """ + Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + return pulumi.get(self, "primary") + + +@pulumi.output_type +class VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse(dict): + """ + Describes a virtual machines network configuration's DNS settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dnsServers": + suggest = "dns_servers" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineNetworkInterfaceDnsSettingsConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dns_servers: Optional[Sequence[str]] = None): + """ + Describes a virtual machines network configuration's DNS settings. + :param Sequence[str] dns_servers: List of DNS servers IP addresses + """ + if dns_servers is not None: + pulumi.set(__self__, "dns_servers", dns_servers) + + @property + @pulumi.getter(name="dnsServers") + def dns_servers(self) -> Optional[Sequence[str]]: + """ + List of DNS servers IP addresses + """ + return pulumi.get(self, "dns_servers") + + +@pulumi.output_type +class VirtualMachineNetworkInterfaceIPConfigurationResponse(dict): + """ + Describes a virtual machine network profile's IP configuration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "applicationGatewayBackendAddressPools": + suggest = "application_gateway_backend_address_pools" + elif key == "applicationSecurityGroups": + suggest = "application_security_groups" + elif key == "loadBalancerBackendAddressPools": + suggest = "load_balancer_backend_address_pools" + elif key == "privateIPAddressVersion": + suggest = "private_ip_address_version" + elif key == "publicIPAddressConfiguration": + suggest = "public_ip_address_configuration" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineNetworkInterfaceIPConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineNetworkInterfaceIPConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineNetworkInterfaceIPConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + application_gateway_backend_address_pools: Optional[Sequence['outputs.SubResourceResponse']] = None, + application_security_groups: Optional[Sequence['outputs.SubResourceResponse']] = None, + load_balancer_backend_address_pools: Optional[Sequence['outputs.SubResourceResponse']] = None, + primary: Optional[bool] = None, + private_ip_address_version: Optional[str] = None, + public_ip_address_configuration: Optional['outputs.VirtualMachinePublicIPAddressConfigurationResponse'] = None, + subnet: Optional['outputs.SubResourceResponse'] = None): + """ + Describes a virtual machine network profile's IP configuration. + :param str name: The IP configuration name. + :param Sequence['SubResourceResponse'] application_gateway_backend_address_pools: Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway. + :param Sequence['SubResourceResponse'] application_security_groups: Specifies an array of references to application security group. + :param Sequence['SubResourceResponse'] load_balancer_backend_address_pools: Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]. + :param bool primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface. + :param str private_ip_address_version: Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + :param 'VirtualMachinePublicIPAddressConfigurationResponse' public_ip_address_configuration: The publicIPAddressConfiguration. + :param 'SubResourceResponse' subnet: Specifies the identifier of the subnet. + """ + pulumi.set(__self__, "name", name) + if application_gateway_backend_address_pools is not None: + pulumi.set(__self__, "application_gateway_backend_address_pools", application_gateway_backend_address_pools) + if application_security_groups is not None: + pulumi.set(__self__, "application_security_groups", application_security_groups) + if load_balancer_backend_address_pools is not None: + pulumi.set(__self__, "load_balancer_backend_address_pools", load_balancer_backend_address_pools) + if primary is not None: + pulumi.set(__self__, "primary", primary) + if private_ip_address_version is not None: + pulumi.set(__self__, "private_ip_address_version", private_ip_address_version) + if public_ip_address_configuration is not None: + pulumi.set(__self__, "public_ip_address_configuration", public_ip_address_configuration) + if subnet is not None: + pulumi.set(__self__, "subnet", subnet) + + @property + @pulumi.getter + def name(self) -> str: + """ + The IP configuration name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="applicationGatewayBackendAddressPools") + def application_gateway_backend_address_pools(self) -> Optional[Sequence['outputs.SubResourceResponse']]: + """ + Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway. + """ + return pulumi.get(self, "application_gateway_backend_address_pools") + + @property + @pulumi.getter(name="applicationSecurityGroups") + def application_security_groups(self) -> Optional[Sequence['outputs.SubResourceResponse']]: + """ + Specifies an array of references to application security group. + """ + return pulumi.get(self, "application_security_groups") + + @property + @pulumi.getter(name="loadBalancerBackendAddressPools") + def load_balancer_backend_address_pools(self) -> Optional[Sequence['outputs.SubResourceResponse']]: + """ + Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]. + """ + return pulumi.get(self, "load_balancer_backend_address_pools") + + @property + @pulumi.getter + def primary(self) -> Optional[bool]: + """ + Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + return pulumi.get(self, "primary") + + @property + @pulumi.getter(name="privateIPAddressVersion") + def private_ip_address_version(self) -> Optional[str]: + """ + Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + """ + return pulumi.get(self, "private_ip_address_version") + + @property + @pulumi.getter(name="publicIPAddressConfiguration") + def public_ip_address_configuration(self) -> Optional['outputs.VirtualMachinePublicIPAddressConfigurationResponse']: + """ + The publicIPAddressConfiguration. + """ + return pulumi.get(self, "public_ip_address_configuration") + + @property + @pulumi.getter + def subnet(self) -> Optional['outputs.SubResourceResponse']: + """ + Specifies the identifier of the subnet. + """ + return pulumi.get(self, "subnet") + + +@pulumi.output_type +class VirtualMachinePatchStatusResponse(dict): + """ + The status of virtual machine patch operations. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "configurationStatuses": + suggest = "configuration_statuses" + elif key == "availablePatchSummary": + suggest = "available_patch_summary" + elif key == "lastPatchInstallationSummary": + suggest = "last_patch_installation_summary" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachinePatchStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachinePatchStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachinePatchStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + configuration_statuses: Sequence['outputs.InstanceViewStatusResponse'], + available_patch_summary: Optional['outputs.AvailablePatchSummaryResponse'] = None, + last_patch_installation_summary: Optional['outputs.LastPatchInstallationSummaryResponse'] = None): + """ + The status of virtual machine patch operations. + :param Sequence['InstanceViewStatusResponse'] configuration_statuses: The enablement status of the specified patchMode + :param 'AvailablePatchSummaryResponse' available_patch_summary: The available patch summary of the latest assessment operation for the virtual machine. + :param 'LastPatchInstallationSummaryResponse' last_patch_installation_summary: The installation summary of the latest installation operation for the virtual machine. + """ + pulumi.set(__self__, "configuration_statuses", configuration_statuses) + if available_patch_summary is not None: + pulumi.set(__self__, "available_patch_summary", available_patch_summary) + if last_patch_installation_summary is not None: + pulumi.set(__self__, "last_patch_installation_summary", last_patch_installation_summary) + + @property + @pulumi.getter(name="configurationStatuses") + def configuration_statuses(self) -> Sequence['outputs.InstanceViewStatusResponse']: + """ + The enablement status of the specified patchMode + """ + return pulumi.get(self, "configuration_statuses") + + @property + @pulumi.getter(name="availablePatchSummary") + def available_patch_summary(self) -> Optional['outputs.AvailablePatchSummaryResponse']: + """ + The available patch summary of the latest assessment operation for the virtual machine. + """ + return pulumi.get(self, "available_patch_summary") + + @property + @pulumi.getter(name="lastPatchInstallationSummary") + def last_patch_installation_summary(self) -> Optional['outputs.LastPatchInstallationSummaryResponse']: + """ + The installation summary of the latest installation operation for the virtual machine. + """ + return pulumi.get(self, "last_patch_installation_summary") + + +@pulumi.output_type +class VirtualMachinePublicIPAddressConfigurationResponse(dict): + """ + Describes a virtual machines IP Configuration's PublicIPAddress configuration + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deleteOption": + suggest = "delete_option" + elif key == "dnsSettings": + suggest = "dns_settings" + elif key == "idleTimeoutInMinutes": + suggest = "idle_timeout_in_minutes" + elif key == "ipTags": + suggest = "ip_tags" + elif key == "publicIPAddressVersion": + suggest = "public_ip_address_version" + elif key == "publicIPAllocationMethod": + suggest = "public_ip_allocation_method" + elif key == "publicIPPrefix": + suggest = "public_ip_prefix" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachinePublicIPAddressConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachinePublicIPAddressConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachinePublicIPAddressConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + delete_option: Optional[str] = None, + dns_settings: Optional['outputs.VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse'] = None, + idle_timeout_in_minutes: Optional[int] = None, + ip_tags: Optional[Sequence['outputs.VirtualMachineIpTagResponse']] = None, + public_ip_address_version: Optional[str] = None, + public_ip_allocation_method: Optional[str] = None, + public_ip_prefix: Optional['outputs.SubResourceResponse'] = None, + sku: Optional['outputs.PublicIPAddressSkuResponse'] = None): + """ + Describes a virtual machines IP Configuration's PublicIPAddress configuration + :param str name: The publicIP address configuration name. + :param str delete_option: Specify what happens to the public IP address when the VM is deleted + :param 'VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse' dns_settings: The dns settings to be applied on the publicIP addresses . + :param int idle_timeout_in_minutes: The idle timeout of the public IP address. + :param Sequence['VirtualMachineIpTagResponse'] ip_tags: The list of IP tags associated with the public IP address. + :param str public_ip_address_version: Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + :param str public_ip_allocation_method: Specify the public IP allocation type + :param 'SubResourceResponse' public_ip_prefix: The PublicIPPrefix from which to allocate publicIP addresses. + :param 'PublicIPAddressSkuResponse' sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + """ + pulumi.set(__self__, "name", name) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if dns_settings is not None: + pulumi.set(__self__, "dns_settings", dns_settings) + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + if ip_tags is not None: + pulumi.set(__self__, "ip_tags", ip_tags) + if public_ip_address_version is not None: + pulumi.set(__self__, "public_ip_address_version", public_ip_address_version) + if public_ip_allocation_method is not None: + pulumi.set(__self__, "public_ip_allocation_method", public_ip_allocation_method) + if public_ip_prefix is not None: + pulumi.set(__self__, "public_ip_prefix", public_ip_prefix) + if sku is not None: + pulumi.set(__self__, "sku", sku) + + @property + @pulumi.getter + def name(self) -> str: + """ + The publicIP address configuration name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[str]: + """ + Specify what happens to the public IP address when the VM is deleted + """ + return pulumi.get(self, "delete_option") + + @property + @pulumi.getter(name="dnsSettings") + def dns_settings(self) -> Optional['outputs.VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse']: + """ + The dns settings to be applied on the publicIP addresses . + """ + return pulumi.get(self, "dns_settings") + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[int]: + """ + The idle timeout of the public IP address. + """ + return pulumi.get(self, "idle_timeout_in_minutes") + + @property + @pulumi.getter(name="ipTags") + def ip_tags(self) -> Optional[Sequence['outputs.VirtualMachineIpTagResponse']]: + """ + The list of IP tags associated with the public IP address. + """ + return pulumi.get(self, "ip_tags") + + @property + @pulumi.getter(name="publicIPAddressVersion") + def public_ip_address_version(self) -> Optional[str]: + """ + Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + """ + return pulumi.get(self, "public_ip_address_version") + + @property + @pulumi.getter(name="publicIPAllocationMethod") + def public_ip_allocation_method(self) -> Optional[str]: + """ + Specify the public IP allocation type + """ + return pulumi.get(self, "public_ip_allocation_method") + + @property + @pulumi.getter(name="publicIPPrefix") + def public_ip_prefix(self) -> Optional['outputs.SubResourceResponse']: + """ + The PublicIPPrefix from which to allocate publicIP addresses. + """ + return pulumi.get(self, "public_ip_prefix") + + @property + @pulumi.getter + def sku(self) -> Optional['outputs.PublicIPAddressSkuResponse']: + """ + Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + """ + return pulumi.get(self, "sku") + + +@pulumi.output_type +class VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse(dict): + """ + Describes a virtual machines network configuration's DNS settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "domainNameLabel": + suggest = "domain_name_label" + elif key == "domainNameLabelScope": + suggest = "domain_name_label_scope" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachinePublicIPAddressDnsSettingsConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + domain_name_label: str, + domain_name_label_scope: Optional[str] = None): + """ + Describes a virtual machines network configuration's DNS settings. + :param str domain_name_label: The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID. + :param str domain_name_label_scope: The Domain name label scope of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the hashed domain name label with policy according to the domain name label scope and vm network profile unique ID. + """ + pulumi.set(__self__, "domain_name_label", domain_name_label) + if domain_name_label_scope is not None: + pulumi.set(__self__, "domain_name_label_scope", domain_name_label_scope) + + @property + @pulumi.getter(name="domainNameLabel") + def domain_name_label(self) -> str: + """ + The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID. + """ + return pulumi.get(self, "domain_name_label") + + @property + @pulumi.getter(name="domainNameLabelScope") + def domain_name_label_scope(self) -> Optional[str]: + """ + The Domain name label scope of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the hashed domain name label with policy according to the domain name label scope and vm network profile unique ID. + """ + return pulumi.get(self, "domain_name_label_scope") + + +@pulumi.output_type +class VirtualMachineRunCommandInstanceViewResponse(dict): + """ + The instance view of a virtual machine run command. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "endTime": + suggest = "end_time" + elif key == "executionMessage": + suggest = "execution_message" + elif key == "executionState": + suggest = "execution_state" + elif key == "exitCode": + suggest = "exit_code" + elif key == "startTime": + suggest = "start_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineRunCommandInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineRunCommandInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineRunCommandInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + end_time: Optional[str] = None, + error: Optional[str] = None, + execution_message: Optional[str] = None, + execution_state: Optional[str] = None, + exit_code: Optional[int] = None, + output: Optional[str] = None, + start_time: Optional[str] = None, + statuses: Optional[Sequence['outputs.InstanceViewStatusResponse']] = None): + """ + The instance view of a virtual machine run command. + :param str end_time: Script end time. + :param str error: Script error stream. + :param str execution_message: Communicate script configuration errors or execution messages. + :param str execution_state: Script execution status. + :param int exit_code: Exit code returned from script execution. + :param str output: Script output stream. + :param str start_time: Script start time. + :param Sequence['InstanceViewStatusResponse'] statuses: The resource status information. + """ + if end_time is not None: + pulumi.set(__self__, "end_time", end_time) + if error is not None: + pulumi.set(__self__, "error", error) + if execution_message is not None: + pulumi.set(__self__, "execution_message", execution_message) + if execution_state is not None: + pulumi.set(__self__, "execution_state", execution_state) + if exit_code is not None: + pulumi.set(__self__, "exit_code", exit_code) + if output is not None: + pulumi.set(__self__, "output", output) + if start_time is not None: + pulumi.set(__self__, "start_time", start_time) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + + @property + @pulumi.getter(name="endTime") + def end_time(self) -> Optional[str]: + """ + Script end time. + """ + return pulumi.get(self, "end_time") + + @property + @pulumi.getter + def error(self) -> Optional[str]: + """ + Script error stream. + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter(name="executionMessage") + def execution_message(self) -> Optional[str]: + """ + Communicate script configuration errors or execution messages. + """ + return pulumi.get(self, "execution_message") + + @property + @pulumi.getter(name="executionState") + def execution_state(self) -> Optional[str]: + """ + Script execution status. + """ + return pulumi.get(self, "execution_state") + + @property + @pulumi.getter(name="exitCode") + def exit_code(self) -> Optional[int]: + """ + Exit code returned from script execution. + """ + return pulumi.get(self, "exit_code") + + @property + @pulumi.getter + def output(self) -> Optional[str]: + """ + Script output stream. + """ + return pulumi.get(self, "output") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> Optional[str]: + """ + Script start time. + """ + return pulumi.get(self, "start_time") + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + +@pulumi.output_type +class VirtualMachineRunCommandScriptSourceResponse(dict): + """ + Describes the script sources for run command. Use only one of script, scriptUri, commandId. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "commandId": + suggest = "command_id" + elif key == "scriptUri": + suggest = "script_uri" + elif key == "scriptUriManagedIdentity": + suggest = "script_uri_managed_identity" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineRunCommandScriptSourceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineRunCommandScriptSourceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineRunCommandScriptSourceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + command_id: Optional[str] = None, + script: Optional[str] = None, + script_uri: Optional[str] = None, + script_uri_managed_identity: Optional['outputs.RunCommandManagedIdentityResponse'] = None): + """ + Describes the script sources for run command. Use only one of script, scriptUri, commandId. + :param str command_id: Specifies a commandId of predefined built-in script. + :param str script: Specifies the script content to be executed on the VM. + :param str script_uri: Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. + :param 'RunCommandManagedIdentityResponse' script_uri_managed_identity: User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + """ + if command_id is not None: + pulumi.set(__self__, "command_id", command_id) + if script is not None: + pulumi.set(__self__, "script", script) + if script_uri is not None: + pulumi.set(__self__, "script_uri", script_uri) + if script_uri_managed_identity is not None: + pulumi.set(__self__, "script_uri_managed_identity", script_uri_managed_identity) + + @property + @pulumi.getter(name="commandId") + def command_id(self) -> Optional[str]: + """ + Specifies a commandId of predefined built-in script. + """ + return pulumi.get(self, "command_id") + + @property + @pulumi.getter + def script(self) -> Optional[str]: + """ + Specifies the script content to be executed on the VM. + """ + return pulumi.get(self, "script") + + @property + @pulumi.getter(name="scriptUri") + def script_uri(self) -> Optional[str]: + """ + Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. + """ + return pulumi.get(self, "script_uri") + + @property + @pulumi.getter(name="scriptUriManagedIdentity") + def script_uri_managed_identity(self) -> Optional['outputs.RunCommandManagedIdentityResponse']: + """ + User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. + """ + return pulumi.get(self, "script_uri_managed_identity") + + +@pulumi.output_type +class VirtualMachineScaleSetDataDiskResponse(dict): + """ + Describes a virtual machine scale set data disk. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createOption": + suggest = "create_option" + elif key == "deleteOption": + suggest = "delete_option" + elif key == "diskIOPSReadWrite": + suggest = "disk_iops_read_write" + elif key == "diskMBpsReadWrite": + suggest = "disk_m_bps_read_write" + elif key == "diskSizeGB": + suggest = "disk_size_gb" + elif key == "managedDisk": + suggest = "managed_disk" + elif key == "writeAcceleratorEnabled": + suggest = "write_accelerator_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetDataDiskResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetDataDiskResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetDataDiskResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + create_option: str, + lun: int, + caching: Optional[str] = None, + delete_option: Optional[str] = None, + disk_iops_read_write: Optional[float] = None, + disk_m_bps_read_write: Optional[float] = None, + disk_size_gb: Optional[int] = None, + managed_disk: Optional['outputs.VirtualMachineScaleSetManagedDiskParametersResponse'] = None, + name: Optional[str] = None, + write_accelerator_enabled: Optional[bool] = None): + """ + Describes a virtual machine scale set data disk. + :param str create_option: The create option. + :param int lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + :param str caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + :param str delete_option: Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Possible values:

**Delete** If this value is used, the data disk is deleted when the VMSS Flex VM is deleted.

**Detach** If this value is used, the data disk is retained after VMSS Flex VM is deleted.

The default value is set to **Delete**. + :param float disk_iops_read_write: Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + :param float disk_m_bps_read_write: Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + :param int disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + :param 'VirtualMachineScaleSetManagedDiskParametersResponse' managed_disk: The managed disk parameters. + :param str name: The disk name. + :param bool write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + pulumi.set(__self__, "create_option", create_option) + pulumi.set(__self__, "lun", lun) + if caching is not None: + pulumi.set(__self__, "caching", caching) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if disk_iops_read_write is not None: + pulumi.set(__self__, "disk_iops_read_write", disk_iops_read_write) + if disk_m_bps_read_write is not None: + pulumi.set(__self__, "disk_m_bps_read_write", disk_m_bps_read_write) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + if name is not None: + pulumi.set(__self__, "name", name) + if write_accelerator_enabled is not None: + pulumi.set(__self__, "write_accelerator_enabled", write_accelerator_enabled) + + @property + @pulumi.getter(name="createOption") + def create_option(self) -> str: + """ + The create option. + """ + return pulumi.get(self, "create_option") + + @property + @pulumi.getter + def lun(self) -> int: + """ + Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. + """ + return pulumi.get(self, "lun") + + @property + @pulumi.getter + def caching(self) -> Optional[str]: + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + """ + return pulumi.get(self, "caching") + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[str]: + """ + Specifies whether data disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Possible values:

**Delete** If this value is used, the data disk is deleted when the VMSS Flex VM is deleted.

**Detach** If this value is used, the data disk is retained after VMSS Flex VM is deleted.

The default value is set to **Delete**. + """ + return pulumi.get(self, "delete_option") + + @property + @pulumi.getter(name="diskIOPSReadWrite") + def disk_iops_read_write(self) -> Optional[float]: + """ + Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + """ + return pulumi.get(self, "disk_iops_read_write") + + @property + @pulumi.getter(name="diskMBpsReadWrite") + def disk_m_bps_read_write(self) -> Optional[float]: + """ + Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB. + """ + return pulumi.get(self, "disk_m_bps_read_write") + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[int]: + """ + Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional['outputs.VirtualMachineScaleSetManagedDiskParametersResponse']: + """ + The managed disk parameters. + """ + return pulumi.get(self, "managed_disk") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The disk name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="writeAcceleratorEnabled") + def write_accelerator_enabled(self) -> Optional[bool]: + """ + Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + return pulumi.get(self, "write_accelerator_enabled") + + +@pulumi.output_type +class VirtualMachineScaleSetExtensionProfileResponse(dict): + """ + Describes a virtual machine scale set extension profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "extensionsTimeBudget": + suggest = "extensions_time_budget" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetExtensionProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetExtensionProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetExtensionProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + extensions: Optional[Sequence['outputs.VirtualMachineScaleSetExtensionResponse']] = None, + extensions_time_budget: Optional[str] = None): + """ + Describes a virtual machine scale set extension profile. + :param Sequence['VirtualMachineScaleSetExtensionResponse'] extensions: The virtual machine scale set child extension resources. + :param str extensions_time_budget: Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + """ + if extensions is not None: + pulumi.set(__self__, "extensions", extensions) + if extensions_time_budget is not None: + pulumi.set(__self__, "extensions_time_budget", extensions_time_budget) + + @property + @pulumi.getter + def extensions(self) -> Optional[Sequence['outputs.VirtualMachineScaleSetExtensionResponse']]: + """ + The virtual machine scale set child extension resources. + """ + return pulumi.get(self, "extensions") + + @property + @pulumi.getter(name="extensionsTimeBudget") + def extensions_time_budget(self) -> Optional[str]: + """ + Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "extensions_time_budget") + + +@pulumi.output_type +class VirtualMachineScaleSetExtensionResponse(dict): + """ + Describes a Virtual Machine Scale Set Extension. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "provisioningState": + suggest = "provisioning_state" + elif key == "autoUpgradeMinorVersion": + suggest = "auto_upgrade_minor_version" + elif key == "enableAutomaticUpgrade": + suggest = "enable_automatic_upgrade" + elif key == "forceUpdateTag": + suggest = "force_update_tag" + elif key == "protectedSettings": + suggest = "protected_settings" + elif key == "protectedSettingsFromKeyVault": + suggest = "protected_settings_from_key_vault" + elif key == "provisionAfterExtensions": + suggest = "provision_after_extensions" + elif key == "suppressFailures": + suggest = "suppress_failures" + elif key == "typeHandlerVersion": + suggest = "type_handler_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetExtensionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetExtensionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetExtensionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + id: str, + provisioning_state: str, + type: str, + auto_upgrade_minor_version: Optional[bool] = None, + enable_automatic_upgrade: Optional[bool] = None, + force_update_tag: Optional[str] = None, + name: Optional[str] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional['outputs.KeyVaultSecretReferenceResponse'] = None, + provision_after_extensions: Optional[Sequence[str]] = None, + publisher: Optional[str] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[bool] = None, + type_handler_version: Optional[str] = None): + """ + Describes a Virtual Machine Scale Set Extension. + :param str id: Resource Id + :param str provisioning_state: The provisioning state, which only appears in the response. + :param str type: Resource type + :param bool auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + :param bool enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + :param str force_update_tag: If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + :param str name: The name of the extension. + :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + :param 'KeyVaultSecretReferenceResponse' protected_settings_from_key_vault: The extensions protected settings that are passed by reference, and consumed from key vault + :param Sequence[str] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned. + :param str publisher: The name of the extension handler publisher. + :param Any settings: Json formatted public settings for the extension. + :param bool suppress_failures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + :param str type_handler_version: Specifies the version of the script handler. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "type", type) + if auto_upgrade_minor_version is not None: + pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) + if enable_automatic_upgrade is not None: + pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) + if force_update_tag is not None: + pulumi.set(__self__, "force_update_tag", force_update_tag) + if name is not None: + pulumi.set(__self__, "name", name) + if protected_settings is not None: + pulumi.set(__self__, "protected_settings", protected_settings) + if protected_settings_from_key_vault is not None: + pulumi.set(__self__, "protected_settings_from_key_vault", protected_settings_from_key_vault) + if provision_after_extensions is not None: + pulumi.set(__self__, "provision_after_extensions", provision_after_extensions) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + if settings is not None: + pulumi.set(__self__, "settings", settings) + if suppress_failures is not None: + pulumi.set(__self__, "suppress_failures", suppress_failures) + if type_handler_version is not None: + pulumi.set(__self__, "type_handler_version", type_handler_version) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> Optional[bool]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> Optional[bool]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> Optional[str]: + """ + If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the extension. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> Optional[Any]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> Optional['outputs.KeyVaultSecretReferenceResponse']: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> Optional[Sequence[str]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @property + @pulumi.getter + def publisher(self) -> Optional[str]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @property + @pulumi.getter + def settings(self) -> Optional[Any]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> Optional[bool]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[str]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + +@pulumi.output_type +class VirtualMachineScaleSetHardwareProfileResponse(dict): + """ + Specifies the hardware settings for the virtual machine scale set. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "vmSizeProperties": + suggest = "vm_size_properties" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetHardwareProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetHardwareProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetHardwareProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + vm_size_properties: Optional['outputs.VMSizePropertiesResponse'] = None): + """ + Specifies the hardware settings for the virtual machine scale set. + :param 'VMSizePropertiesResponse' vm_size_properties: Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-11-01. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + """ + if vm_size_properties is not None: + pulumi.set(__self__, "vm_size_properties", vm_size_properties) + + @property + @pulumi.getter(name="vmSizeProperties") + def vm_size_properties(self) -> Optional['outputs.VMSizePropertiesResponse']: + """ + Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-11-01. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details. + """ + return pulumi.get(self, "vm_size_properties") + + +@pulumi.output_type +class VirtualMachineScaleSetIPConfigurationResponse(dict): + """ + Describes a virtual machine scale set network profile's IP configuration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "applicationGatewayBackendAddressPools": + suggest = "application_gateway_backend_address_pools" + elif key == "applicationSecurityGroups": + suggest = "application_security_groups" + elif key == "loadBalancerBackendAddressPools": + suggest = "load_balancer_backend_address_pools" + elif key == "loadBalancerInboundNatPools": + suggest = "load_balancer_inbound_nat_pools" + elif key == "privateIPAddressVersion": + suggest = "private_ip_address_version" + elif key == "publicIPAddressConfiguration": + suggest = "public_ip_address_configuration" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetIPConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetIPConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetIPConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + application_gateway_backend_address_pools: Optional[Sequence['outputs.SubResourceResponse']] = None, + application_security_groups: Optional[Sequence['outputs.SubResourceResponse']] = None, + load_balancer_backend_address_pools: Optional[Sequence['outputs.SubResourceResponse']] = None, + load_balancer_inbound_nat_pools: Optional[Sequence['outputs.SubResourceResponse']] = None, + primary: Optional[bool] = None, + private_ip_address_version: Optional[str] = None, + public_ip_address_configuration: Optional['outputs.VirtualMachineScaleSetPublicIPAddressConfigurationResponse'] = None, + subnet: Optional['outputs.ApiEntityReferenceResponse'] = None): + """ + Describes a virtual machine scale set network profile's IP configuration. + :param str name: The IP configuration name. + :param Sequence['SubResourceResponse'] application_gateway_backend_address_pools: Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway. + :param Sequence['SubResourceResponse'] application_security_groups: Specifies an array of references to application security group. + :param Sequence['SubResourceResponse'] load_balancer_backend_address_pools: Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + :param Sequence['SubResourceResponse'] load_balancer_inbound_nat_pools: Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + :param bool primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface. + :param str private_ip_address_version: Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + :param 'VirtualMachineScaleSetPublicIPAddressConfigurationResponse' public_ip_address_configuration: The publicIPAddressConfiguration. + :param 'ApiEntityReferenceResponse' subnet: Specifies the identifier of the subnet. + """ + pulumi.set(__self__, "name", name) + if application_gateway_backend_address_pools is not None: + pulumi.set(__self__, "application_gateway_backend_address_pools", application_gateway_backend_address_pools) + if application_security_groups is not None: + pulumi.set(__self__, "application_security_groups", application_security_groups) + if load_balancer_backend_address_pools is not None: + pulumi.set(__self__, "load_balancer_backend_address_pools", load_balancer_backend_address_pools) + if load_balancer_inbound_nat_pools is not None: + pulumi.set(__self__, "load_balancer_inbound_nat_pools", load_balancer_inbound_nat_pools) + if primary is not None: + pulumi.set(__self__, "primary", primary) + if private_ip_address_version is not None: + pulumi.set(__self__, "private_ip_address_version", private_ip_address_version) + if public_ip_address_configuration is not None: + pulumi.set(__self__, "public_ip_address_configuration", public_ip_address_configuration) + if subnet is not None: + pulumi.set(__self__, "subnet", subnet) + + @property + @pulumi.getter + def name(self) -> str: + """ + The IP configuration name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="applicationGatewayBackendAddressPools") + def application_gateway_backend_address_pools(self) -> Optional[Sequence['outputs.SubResourceResponse']]: + """ + Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway. + """ + return pulumi.get(self, "application_gateway_backend_address_pools") + + @property + @pulumi.getter(name="applicationSecurityGroups") + def application_security_groups(self) -> Optional[Sequence['outputs.SubResourceResponse']]: + """ + Specifies an array of references to application security group. + """ + return pulumi.get(self, "application_security_groups") + + @property + @pulumi.getter(name="loadBalancerBackendAddressPools") + def load_balancer_backend_address_pools(self) -> Optional[Sequence['outputs.SubResourceResponse']]: + """ + Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + """ + return pulumi.get(self, "load_balancer_backend_address_pools") + + @property + @pulumi.getter(name="loadBalancerInboundNatPools") + def load_balancer_inbound_nat_pools(self) -> Optional[Sequence['outputs.SubResourceResponse']]: + """ + Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer. + """ + return pulumi.get(self, "load_balancer_inbound_nat_pools") + + @property + @pulumi.getter + def primary(self) -> Optional[bool]: + """ + Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + return pulumi.get(self, "primary") + + @property + @pulumi.getter(name="privateIPAddressVersion") + def private_ip_address_version(self) -> Optional[str]: + """ + Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + """ + return pulumi.get(self, "private_ip_address_version") + + @property + @pulumi.getter(name="publicIPAddressConfiguration") + def public_ip_address_configuration(self) -> Optional['outputs.VirtualMachineScaleSetPublicIPAddressConfigurationResponse']: + """ + The publicIPAddressConfiguration. + """ + return pulumi.get(self, "public_ip_address_configuration") + + @property + @pulumi.getter + def subnet(self) -> Optional['outputs.ApiEntityReferenceResponse']: + """ + Specifies the identifier of the subnet. + """ + return pulumi.get(self, "subnet") + + +@pulumi.output_type +class VirtualMachineScaleSetIdentityResponse(dict): + """ + Identity for the virtual machine scale set. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + type: Optional[str] = None, + user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentitiesResponseUserAssignedIdentities']] = None): + """ + Identity for the virtual machine scale set. + :param str principal_id: The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity. + :param str tenant_id: The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity. + :param str type: The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set. + :param Mapping[str, 'UserAssignedIdentitiesResponseUserAssignedIdentities'] user_assigned_identities: The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + if type is not None: + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentitiesResponseUserAssignedIdentities']]: + """ + The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + return pulumi.get(self, "user_assigned_identities") + + +@pulumi.output_type +class VirtualMachineScaleSetIpTagResponse(dict): + """ + Contains the IP tag associated with the public IP address. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ipTagType": + suggest = "ip_tag_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetIpTagResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetIpTagResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetIpTagResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ip_tag_type: Optional[str] = None, + tag: Optional[str] = None): + """ + Contains the IP tag associated with the public IP address. + :param str ip_tag_type: IP tag type. Example: FirstPartyUsage. + :param str tag: IP tag associated with the public IP. Example: SQL, Storage etc. + """ + if ip_tag_type is not None: + pulumi.set(__self__, "ip_tag_type", ip_tag_type) + if tag is not None: + pulumi.set(__self__, "tag", tag) + + @property + @pulumi.getter(name="ipTagType") + def ip_tag_type(self) -> Optional[str]: + """ + IP tag type. Example: FirstPartyUsage. + """ + return pulumi.get(self, "ip_tag_type") + + @property + @pulumi.getter + def tag(self) -> Optional[str]: + """ + IP tag associated with the public IP. Example: SQL, Storage etc. + """ + return pulumi.get(self, "tag") + + +@pulumi.output_type +class VirtualMachineScaleSetManagedDiskParametersResponse(dict): + """ + Describes the parameters of a ScaleSet managed disk. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskEncryptionSet": + suggest = "disk_encryption_set" + elif key == "securityProfile": + suggest = "security_profile" + elif key == "storageAccountType": + suggest = "storage_account_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetManagedDiskParametersResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetManagedDiskParametersResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetManagedDiskParametersResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + disk_encryption_set: Optional['outputs.DiskEncryptionSetParametersResponse'] = None, + security_profile: Optional['outputs.VMDiskSecurityProfileResponse'] = None, + storage_account_type: Optional[str] = None): + """ + Describes the parameters of a ScaleSet managed disk. + :param 'DiskEncryptionSetParametersResponse' disk_encryption_set: Specifies the customer managed disk encryption set resource id for the managed disk. + :param 'VMDiskSecurityProfileResponse' security_profile: Specifies the security profile for the managed disk. + :param str storage_account_type: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + if disk_encryption_set is not None: + pulumi.set(__self__, "disk_encryption_set", disk_encryption_set) + if security_profile is not None: + pulumi.set(__self__, "security_profile", security_profile) + if storage_account_type is not None: + pulumi.set(__self__, "storage_account_type", storage_account_type) + + @property + @pulumi.getter(name="diskEncryptionSet") + def disk_encryption_set(self) -> Optional['outputs.DiskEncryptionSetParametersResponse']: + """ + Specifies the customer managed disk encryption set resource id for the managed disk. + """ + return pulumi.get(self, "disk_encryption_set") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional['outputs.VMDiskSecurityProfileResponse']: + """ + Specifies the security profile for the managed disk. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter(name="storageAccountType") + def storage_account_type(self) -> Optional[str]: + """ + Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk. + """ + return pulumi.get(self, "storage_account_type") + + +@pulumi.output_type +class VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse(dict): + """ + Describes a virtual machines scale sets network configuration's DNS settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dnsServers": + suggest = "dns_servers" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dns_servers: Optional[Sequence[str]] = None): + """ + Describes a virtual machines scale sets network configuration's DNS settings. + :param Sequence[str] dns_servers: List of DNS servers IP addresses + """ + if dns_servers is not None: + pulumi.set(__self__, "dns_servers", dns_servers) + + @property + @pulumi.getter(name="dnsServers") + def dns_servers(self) -> Optional[Sequence[str]]: + """ + List of DNS servers IP addresses + """ + return pulumi.get(self, "dns_servers") + + +@pulumi.output_type +class VirtualMachineScaleSetNetworkConfigurationResponse(dict): + """ + Describes a virtual machine scale set network profile's network configurations. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ipConfigurations": + suggest = "ip_configurations" + elif key == "auxiliaryMode": + suggest = "auxiliary_mode" + elif key == "auxiliarySku": + suggest = "auxiliary_sku" + elif key == "deleteOption": + suggest = "delete_option" + elif key == "disableTcpStateTracking": + suggest = "disable_tcp_state_tracking" + elif key == "dnsSettings": + suggest = "dns_settings" + elif key == "enableAcceleratedNetworking": + suggest = "enable_accelerated_networking" + elif key == "enableFpga": + suggest = "enable_fpga" + elif key == "enableIPForwarding": + suggest = "enable_ip_forwarding" + elif key == "networkSecurityGroup": + suggest = "network_security_group" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetNetworkConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetNetworkConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetNetworkConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ip_configurations: Sequence['outputs.VirtualMachineScaleSetIPConfigurationResponse'], + name: str, + auxiliary_mode: Optional[str] = None, + auxiliary_sku: Optional[str] = None, + delete_option: Optional[str] = None, + disable_tcp_state_tracking: Optional[bool] = None, + dns_settings: Optional['outputs.VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse'] = None, + enable_accelerated_networking: Optional[bool] = None, + enable_fpga: Optional[bool] = None, + enable_ip_forwarding: Optional[bool] = None, + network_security_group: Optional['outputs.SubResourceResponse'] = None, + primary: Optional[bool] = None): + """ + Describes a virtual machine scale set network profile's network configurations. + :param Sequence['VirtualMachineScaleSetIPConfigurationResponse'] ip_configurations: Specifies the IP configurations of the network interface. + :param str name: The network configuration name. + :param str auxiliary_mode: Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + :param str auxiliary_sku: Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + :param str delete_option: Specify what happens to the network interface when the VM is deleted + :param bool disable_tcp_state_tracking: Specifies whether the network interface is disabled for tcp state tracking. + :param 'VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse' dns_settings: The dns settings to be applied on the network interfaces. + :param bool enable_accelerated_networking: Specifies whether the network interface is accelerated networking-enabled. + :param bool enable_fpga: Specifies whether the network interface is FPGA networking-enabled. + :param bool enable_ip_forwarding: Whether IP forwarding enabled on this NIC. + :param 'SubResourceResponse' network_security_group: The network security group. + :param bool primary: Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + pulumi.set(__self__, "ip_configurations", ip_configurations) + pulumi.set(__self__, "name", name) + if auxiliary_mode is not None: + pulumi.set(__self__, "auxiliary_mode", auxiliary_mode) + if auxiliary_sku is not None: + pulumi.set(__self__, "auxiliary_sku", auxiliary_sku) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if disable_tcp_state_tracking is not None: + pulumi.set(__self__, "disable_tcp_state_tracking", disable_tcp_state_tracking) + if dns_settings is not None: + pulumi.set(__self__, "dns_settings", dns_settings) + if enable_accelerated_networking is not None: + pulumi.set(__self__, "enable_accelerated_networking", enable_accelerated_networking) + if enable_fpga is not None: + pulumi.set(__self__, "enable_fpga", enable_fpga) + if enable_ip_forwarding is not None: + pulumi.set(__self__, "enable_ip_forwarding", enable_ip_forwarding) + if network_security_group is not None: + pulumi.set(__self__, "network_security_group", network_security_group) + if primary is not None: + pulumi.set(__self__, "primary", primary) + + @property + @pulumi.getter(name="ipConfigurations") + def ip_configurations(self) -> Sequence['outputs.VirtualMachineScaleSetIPConfigurationResponse']: + """ + Specifies the IP configurations of the network interface. + """ + return pulumi.get(self, "ip_configurations") + + @property + @pulumi.getter + def name(self) -> str: + """ + The network configuration name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="auxiliaryMode") + def auxiliary_mode(self) -> Optional[str]: + """ + Specifies whether the Auxiliary mode is enabled for the Network Interface resource. + """ + return pulumi.get(self, "auxiliary_mode") + + @property + @pulumi.getter(name="auxiliarySku") + def auxiliary_sku(self) -> Optional[str]: + """ + Specifies whether the Auxiliary sku is enabled for the Network Interface resource. + """ + return pulumi.get(self, "auxiliary_sku") + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[str]: + """ + Specify what happens to the network interface when the VM is deleted + """ + return pulumi.get(self, "delete_option") + + @property + @pulumi.getter(name="disableTcpStateTracking") + def disable_tcp_state_tracking(self) -> Optional[bool]: + """ + Specifies whether the network interface is disabled for tcp state tracking. + """ + return pulumi.get(self, "disable_tcp_state_tracking") + + @property + @pulumi.getter(name="dnsSettings") + def dns_settings(self) -> Optional['outputs.VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse']: + """ + The dns settings to be applied on the network interfaces. + """ + return pulumi.get(self, "dns_settings") + + @property + @pulumi.getter(name="enableAcceleratedNetworking") + def enable_accelerated_networking(self) -> Optional[bool]: + """ + Specifies whether the network interface is accelerated networking-enabled. + """ + return pulumi.get(self, "enable_accelerated_networking") + + @property + @pulumi.getter(name="enableFpga") + def enable_fpga(self) -> Optional[bool]: + """ + Specifies whether the network interface is FPGA networking-enabled. + """ + return pulumi.get(self, "enable_fpga") + + @property + @pulumi.getter(name="enableIPForwarding") + def enable_ip_forwarding(self) -> Optional[bool]: + """ + Whether IP forwarding enabled on this NIC. + """ + return pulumi.get(self, "enable_ip_forwarding") + + @property + @pulumi.getter(name="networkSecurityGroup") + def network_security_group(self) -> Optional['outputs.SubResourceResponse']: + """ + The network security group. + """ + return pulumi.get(self, "network_security_group") + + @property + @pulumi.getter + def primary(self) -> Optional[bool]: + """ + Specifies the primary network interface in case the virtual machine has more than 1 network interface. + """ + return pulumi.get(self, "primary") + + +@pulumi.output_type +class VirtualMachineScaleSetNetworkProfileResponse(dict): + """ + Describes a virtual machine scale set network profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "healthProbe": + suggest = "health_probe" + elif key == "networkApiVersion": + suggest = "network_api_version" + elif key == "networkInterfaceConfigurations": + suggest = "network_interface_configurations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetNetworkProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetNetworkProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetNetworkProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + health_probe: Optional['outputs.ApiEntityReferenceResponse'] = None, + network_api_version: Optional[str] = None, + network_interface_configurations: Optional[Sequence['outputs.VirtualMachineScaleSetNetworkConfigurationResponse']] = None): + """ + Describes a virtual machine scale set network profile. + :param 'ApiEntityReferenceResponse' health_probe: A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + :param str network_api_version: specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible' + :param Sequence['VirtualMachineScaleSetNetworkConfigurationResponse'] network_interface_configurations: The list of network configurations. + """ + if health_probe is not None: + pulumi.set(__self__, "health_probe", health_probe) + if network_api_version is not None: + pulumi.set(__self__, "network_api_version", network_api_version) + if network_interface_configurations is not None: + pulumi.set(__self__, "network_interface_configurations", network_interface_configurations) + + @property + @pulumi.getter(name="healthProbe") + def health_probe(self) -> Optional['outputs.ApiEntityReferenceResponse']: + """ + A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + """ + return pulumi.get(self, "health_probe") + + @property + @pulumi.getter(name="networkApiVersion") + def network_api_version(self) -> Optional[str]: + """ + specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible' + """ + return pulumi.get(self, "network_api_version") + + @property + @pulumi.getter(name="networkInterfaceConfigurations") + def network_interface_configurations(self) -> Optional[Sequence['outputs.VirtualMachineScaleSetNetworkConfigurationResponse']]: + """ + The list of network configurations. + """ + return pulumi.get(self, "network_interface_configurations") + + +@pulumi.output_type +class VirtualMachineScaleSetOSDiskResponse(dict): + """ + Describes a virtual machine scale set operating system disk. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createOption": + suggest = "create_option" + elif key == "deleteOption": + suggest = "delete_option" + elif key == "diffDiskSettings": + suggest = "diff_disk_settings" + elif key == "diskSizeGB": + suggest = "disk_size_gb" + elif key == "managedDisk": + suggest = "managed_disk" + elif key == "osType": + suggest = "os_type" + elif key == "vhdContainers": + suggest = "vhd_containers" + elif key == "writeAcceleratorEnabled": + suggest = "write_accelerator_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetOSDiskResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetOSDiskResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetOSDiskResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + create_option: str, + caching: Optional[str] = None, + delete_option: Optional[str] = None, + diff_disk_settings: Optional['outputs.DiffDiskSettingsResponse'] = None, + disk_size_gb: Optional[int] = None, + image: Optional['outputs.VirtualHardDiskResponse'] = None, + managed_disk: Optional['outputs.VirtualMachineScaleSetManagedDiskParametersResponse'] = None, + name: Optional[str] = None, + os_type: Optional[str] = None, + vhd_containers: Optional[Sequence[str]] = None, + write_accelerator_enabled: Optional[bool] = None): + """ + Describes a virtual machine scale set operating system disk. + :param str create_option: Specifies how the virtual machines in the scale set should be created. The only allowed value is: **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described. + :param str caching: Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + :param str delete_option: Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Possible values:

**Delete** If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.

**Detach** If this value is used, the OS disk is retained after VMSS Flex VM is deleted.

The default value is set to **Delete**. For an Ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for Ephemeral OS Disk. + :param 'DiffDiskSettingsResponse' diff_disk_settings: Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set. + :param int disk_size_gb: Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + :param 'VirtualHardDiskResponse' image: Specifies information about the unmanaged user image to base the scale set on. + :param 'VirtualMachineScaleSetManagedDiskParametersResponse' managed_disk: The managed disk parameters. + :param str name: The disk name. + :param str os_type: This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + :param Sequence[str] vhd_containers: Specifies the container urls that are used to store operating system disks for the scale set. + :param bool write_accelerator_enabled: Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + pulumi.set(__self__, "create_option", create_option) + if caching is not None: + pulumi.set(__self__, "caching", caching) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if diff_disk_settings is not None: + pulumi.set(__self__, "diff_disk_settings", diff_disk_settings) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if image is not None: + pulumi.set(__self__, "image", image) + if managed_disk is not None: + pulumi.set(__self__, "managed_disk", managed_disk) + if name is not None: + pulumi.set(__self__, "name", name) + if os_type is not None: + pulumi.set(__self__, "os_type", os_type) + if vhd_containers is not None: + pulumi.set(__self__, "vhd_containers", vhd_containers) + if write_accelerator_enabled is not None: + pulumi.set(__self__, "write_accelerator_enabled", write_accelerator_enabled) + + @property + @pulumi.getter(name="createOption") + def create_option(self) -> str: + """ + Specifies how the virtual machines in the scale set should be created. The only allowed value is: **FromImage.** This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described. + """ + return pulumi.get(self, "create_option") + + @property + @pulumi.getter + def caching(self) -> Optional[str]: + """ + Specifies the caching requirements. Possible values are: **None,** **ReadOnly,** **ReadWrite.** The default values are: **None for Standard storage. ReadOnly for Premium storage.** + """ + return pulumi.get(self, "caching") + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[str]: + """ + Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Possible values:

**Delete** If this value is used, the OS disk is deleted when VMSS Flex VM is deleted.

**Detach** If this value is used, the OS disk is retained after VMSS Flex VM is deleted.

The default value is set to **Delete**. For an Ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for Ephemeral OS Disk. + """ + return pulumi.get(self, "delete_option") + + @property + @pulumi.getter(name="diffDiskSettings") + def diff_disk_settings(self) -> Optional['outputs.DiffDiskSettingsResponse']: + """ + Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set. + """ + return pulumi.get(self, "diff_disk_settings") + + @property + @pulumi.getter(name="diskSizeGB") + def disk_size_gb(self) -> Optional[int]: + """ + Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter + def image(self) -> Optional['outputs.VirtualHardDiskResponse']: + """ + Specifies information about the unmanaged user image to base the scale set on. + """ + return pulumi.get(self, "image") + + @property + @pulumi.getter(name="managedDisk") + def managed_disk(self) -> Optional['outputs.VirtualMachineScaleSetManagedDiskParametersResponse']: + """ + The managed disk parameters. + """ + return pulumi.get(self, "managed_disk") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The disk name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> Optional[str]: + """ + This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.** + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter(name="vhdContainers") + def vhd_containers(self) -> Optional[Sequence[str]]: + """ + Specifies the container urls that are used to store operating system disks for the scale set. + """ + return pulumi.get(self, "vhd_containers") + + @property + @pulumi.getter(name="writeAcceleratorEnabled") + def write_accelerator_enabled(self) -> Optional[bool]: + """ + Specifies whether writeAccelerator should be enabled or disabled on the disk. + """ + return pulumi.get(self, "write_accelerator_enabled") + + +@pulumi.output_type +class VirtualMachineScaleSetOSProfileResponse(dict): + """ + Describes a virtual machine scale set OS profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "adminPassword": + suggest = "admin_password" + elif key == "adminUsername": + suggest = "admin_username" + elif key == "allowExtensionOperations": + suggest = "allow_extension_operations" + elif key == "computerNamePrefix": + suggest = "computer_name_prefix" + elif key == "customData": + suggest = "custom_data" + elif key == "linuxConfiguration": + suggest = "linux_configuration" + elif key == "requireGuestProvisionSignal": + suggest = "require_guest_provision_signal" + elif key == "windowsConfiguration": + suggest = "windows_configuration" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetOSProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetOSProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetOSProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + admin_password: Optional[str] = None, + admin_username: Optional[str] = None, + allow_extension_operations: Optional[bool] = None, + computer_name_prefix: Optional[str] = None, + custom_data: Optional[str] = None, + linux_configuration: Optional['outputs.LinuxConfigurationResponse'] = None, + require_guest_provision_signal: Optional[bool] = None, + secrets: Optional[Sequence['outputs.VaultSecretGroupResponse']] = None, + windows_configuration: Optional['outputs.WindowsConfigurationResponse'] = None): + """ + Describes a virtual machine scale set OS profile. + :param str admin_password: Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + :param str admin_username: Specifies the name of the administrator account.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters + :param bool allow_extension_operations: Specifies whether extension operations should be allowed on the virtual machine scale set. This may only be set to False when no extensions are present on the virtual machine scale set. + :param str computer_name_prefix: Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long. + :param str custom_data: Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) + :param 'LinuxConfigurationResponse' linux_configuration: Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + :param bool require_guest_provision_signal: Optional property which must either be set to True or omitted. + :param Sequence['VaultSecretGroupResponse'] secrets: Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + :param 'WindowsConfigurationResponse' windows_configuration: Specifies Windows operating system settings on the virtual machine. + """ + if admin_password is not None: + pulumi.set(__self__, "admin_password", admin_password) + if admin_username is not None: + pulumi.set(__self__, "admin_username", admin_username) + if allow_extension_operations is not None: + pulumi.set(__self__, "allow_extension_operations", allow_extension_operations) + if computer_name_prefix is not None: + pulumi.set(__self__, "computer_name_prefix", computer_name_prefix) + if custom_data is not None: + pulumi.set(__self__, "custom_data", custom_data) + if linux_configuration is not None: + pulumi.set(__self__, "linux_configuration", linux_configuration) + if require_guest_provision_signal is not None: + pulumi.set(__self__, "require_guest_provision_signal", require_guest_provision_signal) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + if windows_configuration is not None: + pulumi.set(__self__, "windows_configuration", windows_configuration) + + @property + @pulumi.getter(name="adminPassword") + def admin_password(self) -> Optional[str]: + """ + Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) + """ + return pulumi.get(self, "admin_password") + + @property + @pulumi.getter(name="adminUsername") + def admin_username(self) -> Optional[str]: + """ + Specifies the name of the administrator account.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters + """ + return pulumi.get(self, "admin_username") + + @property + @pulumi.getter(name="allowExtensionOperations") + def allow_extension_operations(self) -> Optional[bool]: + """ + Specifies whether extension operations should be allowed on the virtual machine scale set. This may only be set to False when no extensions are present on the virtual machine scale set. + """ + return pulumi.get(self, "allow_extension_operations") + + @property + @pulumi.getter(name="computerNamePrefix") + def computer_name_prefix(self) -> Optional[str]: + """ + Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long. + """ + return pulumi.get(self, "computer_name_prefix") + + @property + @pulumi.getter(name="customData") + def custom_data(self) -> Optional[str]: + """ + Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) + """ + return pulumi.get(self, "custom_data") + + @property + @pulumi.getter(name="linuxConfiguration") + def linux_configuration(self) -> Optional['outputs.LinuxConfigurationResponse']: + """ + Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). + """ + return pulumi.get(self, "linux_configuration") + + @property + @pulumi.getter(name="requireGuestProvisionSignal") + def require_guest_provision_signal(self) -> Optional[bool]: + """ + Optional property which must either be set to True or omitted. + """ + return pulumi.get(self, "require_guest_provision_signal") + + @property + @pulumi.getter + def secrets(self) -> Optional[Sequence['outputs.VaultSecretGroupResponse']]: + """ + Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + """ + return pulumi.get(self, "secrets") + + @property + @pulumi.getter(name="windowsConfiguration") + def windows_configuration(self) -> Optional['outputs.WindowsConfigurationResponse']: + """ + Specifies Windows operating system settings on the virtual machine. + """ + return pulumi.get(self, "windows_configuration") + + +@pulumi.output_type +class VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse(dict): + """ + Describes a virtual machines scale sets network configuration's DNS settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "domainNameLabel": + suggest = "domain_name_label" + elif key == "domainNameLabelScope": + suggest = "domain_name_label_scope" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + domain_name_label: str, + domain_name_label_scope: Optional[str] = None): + """ + Describes a virtual machines scale sets network configuration's DNS settings. + :param str domain_name_label: The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created + :param str domain_name_label_scope: The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created + """ + pulumi.set(__self__, "domain_name_label", domain_name_label) + if domain_name_label_scope is not None: + pulumi.set(__self__, "domain_name_label_scope", domain_name_label_scope) + + @property + @pulumi.getter(name="domainNameLabel") + def domain_name_label(self) -> str: + """ + The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created + """ + return pulumi.get(self, "domain_name_label") + + @property + @pulumi.getter(name="domainNameLabelScope") + def domain_name_label_scope(self) -> Optional[str]: + """ + The Domain name label scope.The concatenation of the hashed domain name label that generated according to the policy from domain name label scope and vm index will be the domain name labels of the PublicIPAddress resources that will be created + """ + return pulumi.get(self, "domain_name_label_scope") + + +@pulumi.output_type +class VirtualMachineScaleSetPublicIPAddressConfigurationResponse(dict): + """ + Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deleteOption": + suggest = "delete_option" + elif key == "dnsSettings": + suggest = "dns_settings" + elif key == "idleTimeoutInMinutes": + suggest = "idle_timeout_in_minutes" + elif key == "ipTags": + suggest = "ip_tags" + elif key == "publicIPAddressVersion": + suggest = "public_ip_address_version" + elif key == "publicIPPrefix": + suggest = "public_ip_prefix" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetPublicIPAddressConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetPublicIPAddressConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetPublicIPAddressConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + delete_option: Optional[str] = None, + dns_settings: Optional['outputs.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse'] = None, + idle_timeout_in_minutes: Optional[int] = None, + ip_tags: Optional[Sequence['outputs.VirtualMachineScaleSetIpTagResponse']] = None, + public_ip_address_version: Optional[str] = None, + public_ip_prefix: Optional['outputs.SubResourceResponse'] = None, + sku: Optional['outputs.PublicIPAddressSkuResponse'] = None): + """ + Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration + :param str name: The publicIP address configuration name. + :param str delete_option: Specify what happens to the public IP when the VM is deleted + :param 'VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse' dns_settings: The dns settings to be applied on the publicIP addresses . + :param int idle_timeout_in_minutes: The idle timeout of the public IP address. + :param Sequence['VirtualMachineScaleSetIpTagResponse'] ip_tags: The list of IP tags associated with the public IP address. + :param str public_ip_address_version: Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + :param 'SubResourceResponse' public_ip_prefix: The PublicIPPrefix from which to allocate publicIP addresses. + :param 'PublicIPAddressSkuResponse' sku: Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + """ + pulumi.set(__self__, "name", name) + if delete_option is not None: + pulumi.set(__self__, "delete_option", delete_option) + if dns_settings is not None: + pulumi.set(__self__, "dns_settings", dns_settings) + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + if ip_tags is not None: + pulumi.set(__self__, "ip_tags", ip_tags) + if public_ip_address_version is not None: + pulumi.set(__self__, "public_ip_address_version", public_ip_address_version) + if public_ip_prefix is not None: + pulumi.set(__self__, "public_ip_prefix", public_ip_prefix) + if sku is not None: + pulumi.set(__self__, "sku", sku) + + @property + @pulumi.getter + def name(self) -> str: + """ + The publicIP address configuration name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="deleteOption") + def delete_option(self) -> Optional[str]: + """ + Specify what happens to the public IP when the VM is deleted + """ + return pulumi.get(self, "delete_option") + + @property + @pulumi.getter(name="dnsSettings") + def dns_settings(self) -> Optional['outputs.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse']: + """ + The dns settings to be applied on the publicIP addresses . + """ + return pulumi.get(self, "dns_settings") + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[int]: + """ + The idle timeout of the public IP address. + """ + return pulumi.get(self, "idle_timeout_in_minutes") + + @property + @pulumi.getter(name="ipTags") + def ip_tags(self) -> Optional[Sequence['outputs.VirtualMachineScaleSetIpTagResponse']]: + """ + The list of IP tags associated with the public IP address. + """ + return pulumi.get(self, "ip_tags") + + @property + @pulumi.getter(name="publicIPAddressVersion") + def public_ip_address_version(self) -> Optional[str]: + """ + Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + """ + return pulumi.get(self, "public_ip_address_version") + + @property + @pulumi.getter(name="publicIPPrefix") + def public_ip_prefix(self) -> Optional['outputs.SubResourceResponse']: + """ + The PublicIPPrefix from which to allocate publicIP addresses. + """ + return pulumi.get(self, "public_ip_prefix") + + @property + @pulumi.getter + def sku(self) -> Optional['outputs.PublicIPAddressSkuResponse']: + """ + Describes the public IP Sku. It can only be set with OrchestrationMode as Flexible. + """ + return pulumi.get(self, "sku") + + +@pulumi.output_type +class VirtualMachineScaleSetStorageProfileResponse(dict): + """ + Describes a virtual machine scale set storage profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataDisks": + suggest = "data_disks" + elif key == "diskControllerType": + suggest = "disk_controller_type" + elif key == "imageReference": + suggest = "image_reference" + elif key == "osDisk": + suggest = "os_disk" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetStorageProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetStorageProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetStorageProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_disks: Optional[Sequence['outputs.VirtualMachineScaleSetDataDiskResponse']] = None, + disk_controller_type: Optional[Sequence[str]] = None, + image_reference: Optional['outputs.ImageReferenceResponse'] = None, + os_disk: Optional['outputs.VirtualMachineScaleSetOSDiskResponse'] = None): + """ + Describes a virtual machine scale set storage profile. + :param Sequence['VirtualMachineScaleSetDataDiskResponse'] data_disks: Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + :param 'ImageReferenceResponse' image_reference: Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + :param 'VirtualMachineScaleSetOSDiskResponse' os_disk: Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if disk_controller_type is not None: + pulumi.set(__self__, "disk_controller_type", disk_controller_type) + if image_reference is not None: + pulumi.set(__self__, "image_reference", image_reference) + if os_disk is not None: + pulumi.set(__self__, "os_disk", os_disk) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[Sequence['outputs.VirtualMachineScaleSetDataDiskResponse']]: + """ + Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + return pulumi.get(self, "data_disks") + + @property + @pulumi.getter(name="diskControllerType") + def disk_controller_type(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "disk_controller_type") + + @property + @pulumi.getter(name="imageReference") + def image_reference(self) -> Optional['outputs.ImageReferenceResponse']: + """ + Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. + """ + return pulumi.get(self, "image_reference") + + @property + @pulumi.getter(name="osDisk") + def os_disk(self) -> Optional['outputs.VirtualMachineScaleSetOSDiskResponse']: + """ + Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + """ + return pulumi.get(self, "os_disk") + + +@pulumi.output_type +class VirtualMachineScaleSetVMInstanceViewResponse(dict): + """ + The instance view of a virtual machine scale set VM. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "assignedHost": + suggest = "assigned_host" + elif key == "vmHealth": + suggest = "vm_health" + elif key == "bootDiagnostics": + suggest = "boot_diagnostics" + elif key == "computerName": + suggest = "computer_name" + elif key == "hyperVGeneration": + suggest = "hyper_v_generation" + elif key == "maintenanceRedeployStatus": + suggest = "maintenance_redeploy_status" + elif key == "osName": + suggest = "os_name" + elif key == "osVersion": + suggest = "os_version" + elif key == "placementGroupId": + suggest = "placement_group_id" + elif key == "platformFaultDomain": + suggest = "platform_fault_domain" + elif key == "platformUpdateDomain": + suggest = "platform_update_domain" + elif key == "rdpThumbPrint": + suggest = "rdp_thumb_print" + elif key == "vmAgent": + suggest = "vm_agent" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetVMInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetVMInstanceViewResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetVMInstanceViewResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + assigned_host: str, + vm_health: 'outputs.VirtualMachineHealthStatusResponse', + boot_diagnostics: Optional['outputs.BootDiagnosticsInstanceViewResponse'] = None, + computer_name: Optional[str] = None, + disks: Optional[Sequence['outputs.DiskInstanceViewResponse']] = None, + extensions: Optional[Sequence['outputs.VirtualMachineExtensionInstanceViewResponse']] = None, + hyper_v_generation: Optional[str] = None, + maintenance_redeploy_status: Optional['outputs.MaintenanceRedeployStatusResponse'] = None, + os_name: Optional[str] = None, + os_version: Optional[str] = None, + placement_group_id: Optional[str] = None, + platform_fault_domain: Optional[int] = None, + platform_update_domain: Optional[int] = None, + rdp_thumb_print: Optional[str] = None, + statuses: Optional[Sequence['outputs.InstanceViewStatusResponse']] = None, + vm_agent: Optional['outputs.VirtualMachineAgentInstanceViewResponse'] = None): + """ + The instance view of a virtual machine scale set VM. + :param str assigned_host: Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled. Minimum api-version: 2020-06-01. + :param 'VirtualMachineHealthStatusResponse' vm_health: The health status for the VM. + :param 'BootDiagnosticsInstanceViewResponse' boot_diagnostics: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + :param str computer_name: Specifies the host OS name of the virtual machine.

This name cannot be updated after the VM is created.

**Max-length (Windows):** 15 characters

**Max-length (Linux):** 64 characters.

For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions). + :param Sequence['DiskInstanceViewResponse'] disks: The disks information. + :param Sequence['VirtualMachineExtensionInstanceViewResponse'] extensions: The extensions information. + :param str hyper_v_generation: The hypervisor generation of the Virtual Machine [V1, V2] + :param 'MaintenanceRedeployStatusResponse' maintenance_redeploy_status: The Maintenance Operation status on the virtual machine. + :param str os_name: The Operating System running on the hybrid machine. + :param str os_version: The version of Operating System running on the hybrid machine. + :param str placement_group_id: The placement group in which the VM is running. If the VM is deallocated it will not have a placementGroupId. + :param int platform_fault_domain: The Fault Domain count. + :param int platform_update_domain: The Update Domain count. + :param str rdp_thumb_print: The Remote desktop certificate thumbprint. + :param Sequence['InstanceViewStatusResponse'] statuses: The resource status information. + :param 'VirtualMachineAgentInstanceViewResponse' vm_agent: The VM Agent running on the virtual machine. + """ + pulumi.set(__self__, "assigned_host", assigned_host) + pulumi.set(__self__, "vm_health", vm_health) + if boot_diagnostics is not None: + pulumi.set(__self__, "boot_diagnostics", boot_diagnostics) + if computer_name is not None: + pulumi.set(__self__, "computer_name", computer_name) + if disks is not None: + pulumi.set(__self__, "disks", disks) + if extensions is not None: + pulumi.set(__self__, "extensions", extensions) + if hyper_v_generation is not None: + pulumi.set(__self__, "hyper_v_generation", hyper_v_generation) + if maintenance_redeploy_status is not None: + pulumi.set(__self__, "maintenance_redeploy_status", maintenance_redeploy_status) + if os_name is not None: + pulumi.set(__self__, "os_name", os_name) + if os_version is not None: + pulumi.set(__self__, "os_version", os_version) + if placement_group_id is not None: + pulumi.set(__self__, "placement_group_id", placement_group_id) + if platform_fault_domain is not None: + pulumi.set(__self__, "platform_fault_domain", platform_fault_domain) + if platform_update_domain is not None: + pulumi.set(__self__, "platform_update_domain", platform_update_domain) + if rdp_thumb_print is not None: + pulumi.set(__self__, "rdp_thumb_print", rdp_thumb_print) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + if vm_agent is not None: + pulumi.set(__self__, "vm_agent", vm_agent) + + @property + @pulumi.getter(name="assignedHost") + def assigned_host(self) -> str: + """ + Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled. Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "assigned_host") + + @property + @pulumi.getter(name="vmHealth") + def vm_health(self) -> 'outputs.VirtualMachineHealthStatusResponse': + """ + The health status for the VM. + """ + return pulumi.get(self, "vm_health") + + @property + @pulumi.getter(name="bootDiagnostics") + def boot_diagnostics(self) -> Optional['outputs.BootDiagnosticsInstanceViewResponse']: + """ + Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor. + """ + return pulumi.get(self, "boot_diagnostics") + + @property + @pulumi.getter(name="computerName") + def computer_name(self) -> Optional[str]: + """ + Specifies the host OS name of the virtual machine.

This name cannot be updated after the VM is created.

**Max-length (Windows):** 15 characters

**Max-length (Linux):** 64 characters.

For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions). + """ + return pulumi.get(self, "computer_name") + + @property + @pulumi.getter + def disks(self) -> Optional[Sequence['outputs.DiskInstanceViewResponse']]: + """ + The disks information. + """ + return pulumi.get(self, "disks") + + @property + @pulumi.getter + def extensions(self) -> Optional[Sequence['outputs.VirtualMachineExtensionInstanceViewResponse']]: + """ + The extensions information. + """ + return pulumi.get(self, "extensions") + + @property + @pulumi.getter(name="hyperVGeneration") + def hyper_v_generation(self) -> Optional[str]: + """ + The hypervisor generation of the Virtual Machine [V1, V2] + """ + return pulumi.get(self, "hyper_v_generation") + + @property + @pulumi.getter(name="maintenanceRedeployStatus") + def maintenance_redeploy_status(self) -> Optional['outputs.MaintenanceRedeployStatusResponse']: + """ + The Maintenance Operation status on the virtual machine. + """ + return pulumi.get(self, "maintenance_redeploy_status") + + @property + @pulumi.getter(name="osName") + def os_name(self) -> Optional[str]: + """ + The Operating System running on the hybrid machine. + """ + return pulumi.get(self, "os_name") + + @property + @pulumi.getter(name="osVersion") + def os_version(self) -> Optional[str]: + """ + The version of Operating System running on the hybrid machine. + """ + return pulumi.get(self, "os_version") + + @property + @pulumi.getter(name="placementGroupId") + def placement_group_id(self) -> Optional[str]: + """ + The placement group in which the VM is running. If the VM is deallocated it will not have a placementGroupId. + """ + return pulumi.get(self, "placement_group_id") + + @property + @pulumi.getter(name="platformFaultDomain") + def platform_fault_domain(self) -> Optional[int]: + """ + The Fault Domain count. + """ + return pulumi.get(self, "platform_fault_domain") + + @property + @pulumi.getter(name="platformUpdateDomain") + def platform_update_domain(self) -> Optional[int]: + """ + The Update Domain count. + """ + return pulumi.get(self, "platform_update_domain") + + @property + @pulumi.getter(name="rdpThumbPrint") + def rdp_thumb_print(self) -> Optional[str]: + """ + The Remote desktop certificate thumbprint. + """ + return pulumi.get(self, "rdp_thumb_print") + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence['outputs.InstanceViewStatusResponse']]: + """ + The resource status information. + """ + return pulumi.get(self, "statuses") + + @property + @pulumi.getter(name="vmAgent") + def vm_agent(self) -> Optional['outputs.VirtualMachineAgentInstanceViewResponse']: + """ + The VM Agent running on the virtual machine. + """ + return pulumi.get(self, "vm_agent") + + +@pulumi.output_type +class VirtualMachineScaleSetVMNetworkProfileConfigurationResponse(dict): + """ + Describes a virtual machine scale set VM network profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "networkInterfaceConfigurations": + suggest = "network_interface_configurations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetVMNetworkProfileConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetVMNetworkProfileConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetVMNetworkProfileConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + network_interface_configurations: Optional[Sequence['outputs.VirtualMachineScaleSetNetworkConfigurationResponse']] = None): + """ + Describes a virtual machine scale set VM network profile. + :param Sequence['VirtualMachineScaleSetNetworkConfigurationResponse'] network_interface_configurations: The list of network configurations. + """ + if network_interface_configurations is not None: + pulumi.set(__self__, "network_interface_configurations", network_interface_configurations) + + @property + @pulumi.getter(name="networkInterfaceConfigurations") + def network_interface_configurations(self) -> Optional[Sequence['outputs.VirtualMachineScaleSetNetworkConfigurationResponse']]: + """ + The list of network configurations. + """ + return pulumi.get(self, "network_interface_configurations") + + +@pulumi.output_type +class VirtualMachineScaleSetVMProfileResponse(dict): + """ + Describes a virtual machine scale set virtual machine profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "applicationProfile": + suggest = "application_profile" + elif key == "billingProfile": + suggest = "billing_profile" + elif key == "capacityReservation": + suggest = "capacity_reservation" + elif key == "diagnosticsProfile": + suggest = "diagnostics_profile" + elif key == "evictionPolicy": + suggest = "eviction_policy" + elif key == "extensionProfile": + suggest = "extension_profile" + elif key == "hardwareProfile": + suggest = "hardware_profile" + elif key == "licenseType": + suggest = "license_type" + elif key == "networkProfile": + suggest = "network_profile" + elif key == "osProfile": + suggest = "os_profile" + elif key == "scheduledEventsProfile": + suggest = "scheduled_events_profile" + elif key == "securityPostureReference": + suggest = "security_posture_reference" + elif key == "securityProfile": + suggest = "security_profile" + elif key == "serviceArtifactReference": + suggest = "service_artifact_reference" + elif key == "storageProfile": + suggest = "storage_profile" + elif key == "userData": + suggest = "user_data" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetVMProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetVMProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetVMProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + application_profile: Optional['outputs.ApplicationProfileResponse'] = None, + billing_profile: Optional['outputs.BillingProfileResponse'] = None, + capacity_reservation: Optional['outputs.CapacityReservationProfileResponse'] = None, + diagnostics_profile: Optional['outputs.DiagnosticsProfileResponse'] = None, + eviction_policy: Optional[str] = None, + extension_profile: Optional['outputs.VirtualMachineScaleSetExtensionProfileResponse'] = None, + hardware_profile: Optional['outputs.VirtualMachineScaleSetHardwareProfileResponse'] = None, + license_type: Optional[str] = None, + network_profile: Optional['outputs.VirtualMachineScaleSetNetworkProfileResponse'] = None, + os_profile: Optional['outputs.VirtualMachineScaleSetOSProfileResponse'] = None, + priority: Optional[str] = None, + scheduled_events_profile: Optional['outputs.ScheduledEventsProfileResponse'] = None, + security_posture_reference: Optional['outputs.SecurityPostureReferenceResponse'] = None, + security_profile: Optional['outputs.SecurityProfileResponse'] = None, + service_artifact_reference: Optional['outputs.ServiceArtifactReferenceResponse'] = None, + storage_profile: Optional['outputs.VirtualMachineScaleSetStorageProfileResponse'] = None, + user_data: Optional[str] = None): + """ + Describes a virtual machine scale set virtual machine profile. + :param 'ApplicationProfileResponse' application_profile: Specifies the gallery applications that should be made available to the VM/VMSS + :param 'BillingProfileResponse' billing_profile: Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01. + :param 'CapacityReservationProfileResponse' capacity_reservation: Specifies the capacity reservation related details of a scale set. Minimum api-version: 2021-04-01. + :param 'DiagnosticsProfileResponse' diagnostics_profile: Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + :param str eviction_policy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + :param 'VirtualMachineScaleSetExtensionProfileResponse' extension_profile: Specifies a collection of settings for extensions installed on virtual machines in the scale set. + :param 'VirtualMachineScaleSetHardwareProfileResponse' hardware_profile: Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01. + :param str license_type: Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + :param 'VirtualMachineScaleSetNetworkProfileResponse' network_profile: Specifies properties of the network interfaces of the virtual machines in the scale set. + :param 'VirtualMachineScaleSetOSProfileResponse' os_profile: Specifies the operating system settings for the virtual machines in the scale set. + :param str priority: Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview. + :param 'ScheduledEventsProfileResponse' scheduled_events_profile: Specifies Scheduled Event related configurations. + :param 'SecurityPostureReferenceResponse' security_posture_reference: Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + :param 'SecurityProfileResponse' security_profile: Specifies the Security related profile settings for the virtual machines in the scale set. + :param 'ServiceArtifactReferenceResponse' service_artifact_reference: Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + :param 'VirtualMachineScaleSetStorageProfileResponse' storage_profile: Specifies the storage settings for the virtual machine disks. + :param str user_data: UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + """ + if application_profile is not None: + pulumi.set(__self__, "application_profile", application_profile) + if billing_profile is not None: + pulumi.set(__self__, "billing_profile", billing_profile) + if capacity_reservation is not None: + pulumi.set(__self__, "capacity_reservation", capacity_reservation) + if diagnostics_profile is not None: + pulumi.set(__self__, "diagnostics_profile", diagnostics_profile) + if eviction_policy is not None: + pulumi.set(__self__, "eviction_policy", eviction_policy) + if extension_profile is not None: + pulumi.set(__self__, "extension_profile", extension_profile) + if hardware_profile is not None: + pulumi.set(__self__, "hardware_profile", hardware_profile) + if license_type is not None: + pulumi.set(__self__, "license_type", license_type) + if network_profile is not None: + pulumi.set(__self__, "network_profile", network_profile) + if os_profile is not None: + pulumi.set(__self__, "os_profile", os_profile) + if priority is not None: + pulumi.set(__self__, "priority", priority) + if scheduled_events_profile is not None: + pulumi.set(__self__, "scheduled_events_profile", scheduled_events_profile) + if security_posture_reference is not None: + pulumi.set(__self__, "security_posture_reference", security_posture_reference) + if security_profile is not None: + pulumi.set(__self__, "security_profile", security_profile) + if service_artifact_reference is not None: + pulumi.set(__self__, "service_artifact_reference", service_artifact_reference) + if storage_profile is not None: + pulumi.set(__self__, "storage_profile", storage_profile) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + + @property + @pulumi.getter(name="applicationProfile") + def application_profile(self) -> Optional['outputs.ApplicationProfileResponse']: + """ + Specifies the gallery applications that should be made available to the VM/VMSS + """ + return pulumi.get(self, "application_profile") + + @property + @pulumi.getter(name="billingProfile") + def billing_profile(self) -> Optional['outputs.BillingProfileResponse']: + """ + Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01. + """ + return pulumi.get(self, "billing_profile") + + @property + @pulumi.getter(name="capacityReservation") + def capacity_reservation(self) -> Optional['outputs.CapacityReservationProfileResponse']: + """ + Specifies the capacity reservation related details of a scale set. Minimum api-version: 2021-04-01. + """ + return pulumi.get(self, "capacity_reservation") + + @property + @pulumi.getter(name="diagnosticsProfile") + def diagnostics_profile(self) -> Optional['outputs.DiagnosticsProfileResponse']: + """ + Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + """ + return pulumi.get(self, "diagnostics_profile") + + @property + @pulumi.getter(name="evictionPolicy") + def eviction_policy(self) -> Optional[str]: + """ + Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + """ + return pulumi.get(self, "eviction_policy") + + @property + @pulumi.getter(name="extensionProfile") + def extension_profile(self) -> Optional['outputs.VirtualMachineScaleSetExtensionProfileResponse']: + """ + Specifies a collection of settings for extensions installed on virtual machines in the scale set. + """ + return pulumi.get(self, "extension_profile") + + @property + @pulumi.getter(name="hardwareProfile") + def hardware_profile(self) -> Optional['outputs.VirtualMachineScaleSetHardwareProfileResponse']: + """ + Specifies the hardware profile related details of a scale set. Minimum api-version: 2021-11-01. + """ + return pulumi.get(self, "hardware_profile") + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> Optional[str]: + """ + Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + """ + return pulumi.get(self, "license_type") + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional['outputs.VirtualMachineScaleSetNetworkProfileResponse']: + """ + Specifies properties of the network interfaces of the virtual machines in the scale set. + """ + return pulumi.get(self, "network_profile") + + @property + @pulumi.getter(name="osProfile") + def os_profile(self) -> Optional['outputs.VirtualMachineScaleSetOSProfileResponse']: + """ + Specifies the operating system settings for the virtual machines in the scale set. + """ + return pulumi.get(self, "os_profile") + + @property + @pulumi.getter + def priority(self) -> Optional[str]: + """ + Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview. + """ + return pulumi.get(self, "priority") + + @property + @pulumi.getter(name="scheduledEventsProfile") + def scheduled_events_profile(self) -> Optional['outputs.ScheduledEventsProfileResponse']: + """ + Specifies Scheduled Event related configurations. + """ + return pulumi.get(self, "scheduled_events_profile") + + @property + @pulumi.getter(name="securityPostureReference") + def security_posture_reference(self) -> Optional['outputs.SecurityPostureReferenceResponse']: + """ + Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01 + """ + return pulumi.get(self, "security_posture_reference") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional['outputs.SecurityProfileResponse']: + """ + Specifies the Security related profile settings for the virtual machines in the scale set. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter(name="serviceArtifactReference") + def service_artifact_reference(self) -> Optional['outputs.ServiceArtifactReferenceResponse']: + """ + Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. Minimum api-version: 2022-11-01 + """ + return pulumi.get(self, "service_artifact_reference") + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional['outputs.VirtualMachineScaleSetStorageProfileResponse']: + """ + Specifies the storage settings for the virtual machine disks. + """ + return pulumi.get(self, "storage_profile") + + @property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[str]: + """ + UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + """ + return pulumi.get(self, "user_data") + + +@pulumi.output_type +class VirtualMachineScaleSetVMProtectionPolicyResponse(dict): + """ + The protection policy of a virtual machine scale set VM. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "protectFromScaleIn": + suggest = "protect_from_scale_in" + elif key == "protectFromScaleSetActions": + suggest = "protect_from_scale_set_actions" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualMachineScaleSetVMProtectionPolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualMachineScaleSetVMProtectionPolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualMachineScaleSetVMProtectionPolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + protect_from_scale_in: Optional[bool] = None, + protect_from_scale_set_actions: Optional[bool] = None): + """ + The protection policy of a virtual machine scale set VM. + :param bool protect_from_scale_in: Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation. + :param bool protect_from_scale_set_actions: Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM. + """ + if protect_from_scale_in is not None: + pulumi.set(__self__, "protect_from_scale_in", protect_from_scale_in) + if protect_from_scale_set_actions is not None: + pulumi.set(__self__, "protect_from_scale_set_actions", protect_from_scale_set_actions) + + @property + @pulumi.getter(name="protectFromScaleIn") + def protect_from_scale_in(self) -> Optional[bool]: + """ + Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation. + """ + return pulumi.get(self, "protect_from_scale_in") + + @property + @pulumi.getter(name="protectFromScaleSetActions") + def protect_from_scale_set_actions(self) -> Optional[bool]: + """ + Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM. + """ + return pulumi.get(self, "protect_from_scale_set_actions") + + +@pulumi.output_type +class WinRMConfigurationResponse(dict): + """ + Describes Windows Remote Management configuration of the VM + """ + def __init__(__self__, *, + listeners: Optional[Sequence['outputs.WinRMListenerResponse']] = None): + """ + Describes Windows Remote Management configuration of the VM + :param Sequence['WinRMListenerResponse'] listeners: The list of Windows Remote Management listeners + """ + if listeners is not None: + pulumi.set(__self__, "listeners", listeners) + + @property + @pulumi.getter + def listeners(self) -> Optional[Sequence['outputs.WinRMListenerResponse']]: + """ + The list of Windows Remote Management listeners + """ + return pulumi.get(self, "listeners") + + +@pulumi.output_type +class WinRMListenerResponse(dict): + """ + Describes Protocol and thumbprint of Windows Remote Management listener + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "certificateUrl": + suggest = "certificate_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WinRMListenerResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WinRMListenerResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WinRMListenerResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + certificate_url: Optional[str] = None, + protocol: Optional[str] = None): + """ + Describes Protocol and thumbprint of Windows Remote Management listener + :param str certificate_url: This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + :param str protocol: Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** + """ + if certificate_url is not None: + pulumi.set(__self__, "certificate_url", certificate_url) + if protocol is not None: + pulumi.set(__self__, "protocol", protocol) + + @property + @pulumi.getter(name="certificateUrl") + def certificate_url(self) -> Optional[str]: + """ + This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
"data":"",
"dataType":"pfx",
"password":""
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). + """ + return pulumi.get(self, "certificate_url") + + @property + @pulumi.getter + def protocol(self) -> Optional[str]: + """ + Specifies the protocol of WinRM listener. Possible values are: **http,** **https.** + """ + return pulumi.get(self, "protocol") + + +@pulumi.output_type +class WindowsConfigurationResponse(dict): + """ + Specifies Windows operating system settings on the virtual machine. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "additionalUnattendContent": + suggest = "additional_unattend_content" + elif key == "enableAutomaticUpdates": + suggest = "enable_automatic_updates" + elif key == "enableVMAgentPlatformUpdates": + suggest = "enable_vm_agent_platform_updates" + elif key == "patchSettings": + suggest = "patch_settings" + elif key == "provisionVMAgent": + suggest = "provision_vm_agent" + elif key == "timeZone": + suggest = "time_zone" + elif key == "winRM": + suggest = "win_rm" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WindowsConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WindowsConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WindowsConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + additional_unattend_content: Optional[Sequence['outputs.AdditionalUnattendContentResponse']] = None, + enable_automatic_updates: Optional[bool] = None, + enable_vm_agent_platform_updates: Optional[bool] = None, + patch_settings: Optional['outputs.PatchSettingsResponse'] = None, + provision_vm_agent: Optional[bool] = None, + time_zone: Optional[str] = None, + win_rm: Optional['outputs.WinRMConfigurationResponse'] = None): + """ + Specifies Windows operating system settings on the virtual machine. + :param Sequence['AdditionalUnattendContentResponse'] additional_unattend_content: Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. + :param bool enable_automatic_updates: Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + :param bool enable_vm_agent_platform_updates: Indicates whether VMAgent Platform Updates is enabled for the Windows virtual machine. Default value is false. + :param 'PatchSettingsResponse' patch_settings: [Preview Feature] Specifies settings related to VM Guest Patching on Windows. + :param bool provision_vm_agent: Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, it is set to true by default. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + :param str time_zone: Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). + :param 'WinRMConfigurationResponse' win_rm: Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. + """ + if additional_unattend_content is not None: + pulumi.set(__self__, "additional_unattend_content", additional_unattend_content) + if enable_automatic_updates is not None: + pulumi.set(__self__, "enable_automatic_updates", enable_automatic_updates) + if enable_vm_agent_platform_updates is not None: + pulumi.set(__self__, "enable_vm_agent_platform_updates", enable_vm_agent_platform_updates) + if patch_settings is not None: + pulumi.set(__self__, "patch_settings", patch_settings) + if provision_vm_agent is not None: + pulumi.set(__self__, "provision_vm_agent", provision_vm_agent) + if time_zone is not None: + pulumi.set(__self__, "time_zone", time_zone) + if win_rm is not None: + pulumi.set(__self__, "win_rm", win_rm) + + @property + @pulumi.getter(name="additionalUnattendContent") + def additional_unattend_content(self) -> Optional[Sequence['outputs.AdditionalUnattendContentResponse']]: + """ + Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. + """ + return pulumi.get(self, "additional_unattend_content") + + @property + @pulumi.getter(name="enableAutomaticUpdates") + def enable_automatic_updates(self) -> Optional[bool]: + """ + Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning. + """ + return pulumi.get(self, "enable_automatic_updates") + + @property + @pulumi.getter(name="enableVMAgentPlatformUpdates") + def enable_vm_agent_platform_updates(self) -> Optional[bool]: + """ + Indicates whether VMAgent Platform Updates is enabled for the Windows virtual machine. Default value is false. + """ + return pulumi.get(self, "enable_vm_agent_platform_updates") + + @property + @pulumi.getter(name="patchSettings") + def patch_settings(self) -> Optional['outputs.PatchSettingsResponse']: + """ + [Preview Feature] Specifies settings related to VM Guest Patching on Windows. + """ + return pulumi.get(self, "patch_settings") + + @property + @pulumi.getter(name="provisionVMAgent") + def provision_vm_agent(self) -> Optional[bool]: + """ + Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, it is set to true by default. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later. + """ + return pulumi.get(self, "provision_vm_agent") + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> Optional[str]: + """ + Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones). + """ + return pulumi.get(self, "time_zone") + + @property + @pulumi.getter(name="winRM") + def win_rm(self) -> Optional['outputs.WinRMConfigurationResponse']: + """ + Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell. + """ + return pulumi.get(self, "win_rm") + + +@pulumi.output_type +class WindowsVMGuestPatchAutomaticByPlatformSettingsResponse(dict): + """ + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bypassPlatformSafetyChecksOnUserSchedule": + suggest = "bypass_platform_safety_checks_on_user_schedule" + elif key == "rebootSetting": + suggest = "reboot_setting" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WindowsVMGuestPatchAutomaticByPlatformSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WindowsVMGuestPatchAutomaticByPlatformSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WindowsVMGuestPatchAutomaticByPlatformSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bypass_platform_safety_checks_on_user_schedule: Optional[bool] = None, + reboot_setting: Optional[str] = None): + """ + Specifies additional settings to be applied when patch mode AutomaticByPlatform is selected in Windows patch settings. + :param bool bypass_platform_safety_checks_on_user_schedule: Enables customer to schedule patching without accidental upgrades + :param str reboot_setting: Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + """ + if bypass_platform_safety_checks_on_user_schedule is not None: + pulumi.set(__self__, "bypass_platform_safety_checks_on_user_schedule", bypass_platform_safety_checks_on_user_schedule) + if reboot_setting is not None: + pulumi.set(__self__, "reboot_setting", reboot_setting) + + @property + @pulumi.getter(name="bypassPlatformSafetyChecksOnUserSchedule") + def bypass_platform_safety_checks_on_user_schedule(self) -> Optional[bool]: + """ + Enables customer to schedule patching without accidental upgrades + """ + return pulumi.get(self, "bypass_platform_safety_checks_on_user_schedule") + + @property + @pulumi.getter(name="rebootSetting") + def reboot_setting(self) -> Optional[str]: + """ + Specifies the reboot setting for all AutomaticByPlatform patch installation operations. + """ + return pulumi.get(self, "reboot_setting") + + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/proximity_placement_group.py b/sdk/python/pulumi_azure_native/compute/v20230701/proximity_placement_group.py new file mode 100644 index 000000000000..7d9283295291 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/proximity_placement_group.py @@ -0,0 +1,360 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ProximityPlacementGroupArgs', 'ProximityPlacementGroup'] + +@pulumi.input_type +class ProximityPlacementGroupArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + colocation_status: Optional[pulumi.Input['InstanceViewStatusArgs']] = None, + intent: Optional[pulumi.Input['ProximityPlacementGroupPropertiesIntentArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + proximity_placement_group_name: Optional[pulumi.Input[str]] = None, + proximity_placement_group_type: Optional[pulumi.Input[Union[str, 'ProximityPlacementGroupType']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a ProximityPlacementGroup resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input['InstanceViewStatusArgs'] colocation_status: Describes colocation status of the Proximity Placement Group. + :param pulumi.Input['ProximityPlacementGroupPropertiesIntentArgs'] intent: Specifies the user intent of the proximity placement group. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] proximity_placement_group_name: The name of the proximity placement group. + :param pulumi.Input[Union[str, 'ProximityPlacementGroupType']] proximity_placement_group_type: Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if colocation_status is not None: + pulumi.set(__self__, "colocation_status", colocation_status) + if intent is not None: + pulumi.set(__self__, "intent", intent) + if location is not None: + pulumi.set(__self__, "location", location) + if proximity_placement_group_name is not None: + pulumi.set(__self__, "proximity_placement_group_name", proximity_placement_group_name) + if proximity_placement_group_type is not None: + pulumi.set(__self__, "proximity_placement_group_type", proximity_placement_group_type) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if zones is not None: + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="colocationStatus") + def colocation_status(self) -> Optional[pulumi.Input['InstanceViewStatusArgs']]: + """ + Describes colocation status of the Proximity Placement Group. + """ + return pulumi.get(self, "colocation_status") + + @colocation_status.setter + def colocation_status(self, value: Optional[pulumi.Input['InstanceViewStatusArgs']]): + pulumi.set(self, "colocation_status", value) + + @property + @pulumi.getter + def intent(self) -> Optional[pulumi.Input['ProximityPlacementGroupPropertiesIntentArgs']]: + """ + Specifies the user intent of the proximity placement group. + """ + return pulumi.get(self, "intent") + + @intent.setter + def intent(self, value: Optional[pulumi.Input['ProximityPlacementGroupPropertiesIntentArgs']]): + pulumi.set(self, "intent", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="proximityPlacementGroupName") + def proximity_placement_group_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the proximity placement group. + """ + return pulumi.get(self, "proximity_placement_group_name") + + @proximity_placement_group_name.setter + def proximity_placement_group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "proximity_placement_group_name", value) + + @property + @pulumi.getter(name="proximityPlacementGroupType") + def proximity_placement_group_type(self) -> Optional[pulumi.Input[Union[str, 'ProximityPlacementGroupType']]]: + """ + Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + """ + return pulumi.get(self, "proximity_placement_group_type") + + @proximity_placement_group_type.setter + def proximity_placement_group_type(self, value: Optional[pulumi.Input[Union[str, 'ProximityPlacementGroupType']]]): + pulumi.set(self, "proximity_placement_group_type", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. + """ + return pulumi.get(self, "zones") + + @zones.setter + def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "zones", value) + + +class ProximityPlacementGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + colocation_status: Optional[pulumi.Input[pulumi.InputType['InstanceViewStatusArgs']]] = None, + intent: Optional[pulumi.Input[pulumi.InputType['ProximityPlacementGroupPropertiesIntentArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + proximity_placement_group_name: Optional[pulumi.Input[str]] = None, + proximity_placement_group_type: Optional[pulumi.Input[Union[str, 'ProximityPlacementGroupType']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Specifies information about the proximity placement group. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['InstanceViewStatusArgs']] colocation_status: Describes colocation status of the Proximity Placement Group. + :param pulumi.Input[pulumi.InputType['ProximityPlacementGroupPropertiesIntentArgs']] intent: Specifies the user intent of the proximity placement group. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] proximity_placement_group_name: The name of the proximity placement group. + :param pulumi.Input[Union[str, 'ProximityPlacementGroupType']] proximity_placement_group_type: Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ProximityPlacementGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Specifies information about the proximity placement group. + + :param str resource_name: The name of the resource. + :param ProximityPlacementGroupArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ProximityPlacementGroupArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + colocation_status: Optional[pulumi.Input[pulumi.InputType['InstanceViewStatusArgs']]] = None, + intent: Optional[pulumi.Input[pulumi.InputType['ProximityPlacementGroupPropertiesIntentArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + proximity_placement_group_name: Optional[pulumi.Input[str]] = None, + proximity_placement_group_type: Optional[pulumi.Input[Union[str, 'ProximityPlacementGroupType']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ProximityPlacementGroupArgs.__new__(ProximityPlacementGroupArgs) + + __props__.__dict__["colocation_status"] = colocation_status + __props__.__dict__["intent"] = intent + __props__.__dict__["location"] = location + __props__.__dict__["proximity_placement_group_name"] = proximity_placement_group_name + __props__.__dict__["proximity_placement_group_type"] = proximity_placement_group_type + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["tags"] = tags + __props__.__dict__["zones"] = zones + __props__.__dict__["availability_sets"] = None + __props__.__dict__["name"] = None + __props__.__dict__["type"] = None + __props__.__dict__["virtual_machine_scale_sets"] = None + __props__.__dict__["virtual_machines"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20180401:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20180601:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20181001:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20190301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20190701:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20191201:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20200601:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20201201:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210401:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20210701:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20211101:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20220301:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20220801:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20221101:ProximityPlacementGroup"), pulumi.Alias(type_="azure-native:compute/v20230301:ProximityPlacementGroup")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(ProximityPlacementGroup, __self__).__init__( + 'azure-native:compute/v20230701:ProximityPlacementGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ProximityPlacementGroup': + """ + Get an existing ProximityPlacementGroup resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ProximityPlacementGroupArgs.__new__(ProximityPlacementGroupArgs) + + __props__.__dict__["availability_sets"] = None + __props__.__dict__["colocation_status"] = None + __props__.__dict__["intent"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["proximity_placement_group_type"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["virtual_machine_scale_sets"] = None + __props__.__dict__["virtual_machines"] = None + __props__.__dict__["zones"] = None + return ProximityPlacementGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="availabilitySets") + def availability_sets(self) -> pulumi.Output[Sequence['outputs.SubResourceWithColocationStatusResponse']]: + """ + A list of references to all availability sets in the proximity placement group. + """ + return pulumi.get(self, "availability_sets") + + @property + @pulumi.getter(name="colocationStatus") + def colocation_status(self) -> pulumi.Output[Optional['outputs.InstanceViewStatusResponse']]: + """ + Describes colocation status of the Proximity Placement Group. + """ + return pulumi.get(self, "colocation_status") + + @property + @pulumi.getter + def intent(self) -> pulumi.Output[Optional['outputs.ProximityPlacementGroupPropertiesResponseIntent']]: + """ + Specifies the user intent of the proximity placement group. + """ + return pulumi.get(self, "intent") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="proximityPlacementGroupType") + def proximity_placement_group_type(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the type of the proximity placement group. Possible values are: **Standard** : Co-locate resources within an Azure region or Availability Zone. **Ultra** : For future use. + """ + return pulumi.get(self, "proximity_placement_group_type") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="virtualMachineScaleSets") + def virtual_machine_scale_sets(self) -> pulumi.Output[Sequence['outputs.SubResourceWithColocationStatusResponse']]: + """ + A list of references to all virtual machine scale sets in the proximity placement group. + """ + return pulumi.get(self, "virtual_machine_scale_sets") + + @property + @pulumi.getter(name="virtualMachines") + def virtual_machines(self) -> pulumi.Output[Sequence['outputs.SubResourceWithColocationStatusResponse']]: + """ + A list of references to all virtual machines in the proximity placement group. + """ + return pulumi.get(self, "virtual_machines") + + @property + @pulumi.getter + def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Specifies the Availability Zone where virtual machine, virtual machine scale set or availability set associated with the proximity placement group can be created. + """ + return pulumi.get(self, "zones") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/restore_point.py b/sdk/python/pulumi_azure_native/compute/v20230701/restore_point.py new file mode 100644 index 000000000000..97c955216d07 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/restore_point.py @@ -0,0 +1,342 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['RestorePointArgs', 'RestorePoint'] + +@pulumi.input_type +class RestorePointArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + restore_point_collection_name: pulumi.Input[str], + consistency_mode: Optional[pulumi.Input[Union[str, 'ConsistencyModeTypes']]] = None, + exclude_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ApiEntityReferenceArgs']]]] = None, + restore_point_name: Optional[pulumi.Input[str]] = None, + source_metadata: Optional[pulumi.Input['RestorePointSourceMetadataArgs']] = None, + source_restore_point: Optional[pulumi.Input['ApiEntityReferenceArgs']] = None, + time_created: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a RestorePoint resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] restore_point_collection_name: The name of the restore point collection. + :param pulumi.Input[Union[str, 'ConsistencyModeTypes']] consistency_mode: ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + :param pulumi.Input[Sequence[pulumi.Input['ApiEntityReferenceArgs']]] exclude_disks: List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + :param pulumi.Input[str] restore_point_name: The name of the restore point. + :param pulumi.Input['RestorePointSourceMetadataArgs'] source_metadata: Gets the details of the VM captured at the time of the restore point creation. + :param pulumi.Input['ApiEntityReferenceArgs'] source_restore_point: Resource Id of the source restore point from which a copy needs to be created. + :param pulumi.Input[str] time_created: Gets the creation time of the restore point. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "restore_point_collection_name", restore_point_collection_name) + if consistency_mode is not None: + pulumi.set(__self__, "consistency_mode", consistency_mode) + if exclude_disks is not None: + pulumi.set(__self__, "exclude_disks", exclude_disks) + if restore_point_name is not None: + pulumi.set(__self__, "restore_point_name", restore_point_name) + if source_metadata is not None: + pulumi.set(__self__, "source_metadata", source_metadata) + if source_restore_point is not None: + pulumi.set(__self__, "source_restore_point", source_restore_point) + if time_created is not None: + pulumi.set(__self__, "time_created", time_created) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="restorePointCollectionName") + def restore_point_collection_name(self) -> pulumi.Input[str]: + """ + The name of the restore point collection. + """ + return pulumi.get(self, "restore_point_collection_name") + + @restore_point_collection_name.setter + def restore_point_collection_name(self, value: pulumi.Input[str]): + pulumi.set(self, "restore_point_collection_name", value) + + @property + @pulumi.getter(name="consistencyMode") + def consistency_mode(self) -> Optional[pulumi.Input[Union[str, 'ConsistencyModeTypes']]]: + """ + ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + """ + return pulumi.get(self, "consistency_mode") + + @consistency_mode.setter + def consistency_mode(self, value: Optional[pulumi.Input[Union[str, 'ConsistencyModeTypes']]]): + pulumi.set(self, "consistency_mode", value) + + @property + @pulumi.getter(name="excludeDisks") + def exclude_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApiEntityReferenceArgs']]]]: + """ + List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + """ + return pulumi.get(self, "exclude_disks") + + @exclude_disks.setter + def exclude_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApiEntityReferenceArgs']]]]): + pulumi.set(self, "exclude_disks", value) + + @property + @pulumi.getter(name="restorePointName") + def restore_point_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the restore point. + """ + return pulumi.get(self, "restore_point_name") + + @restore_point_name.setter + def restore_point_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "restore_point_name", value) + + @property + @pulumi.getter(name="sourceMetadata") + def source_metadata(self) -> Optional[pulumi.Input['RestorePointSourceMetadataArgs']]: + """ + Gets the details of the VM captured at the time of the restore point creation. + """ + return pulumi.get(self, "source_metadata") + + @source_metadata.setter + def source_metadata(self, value: Optional[pulumi.Input['RestorePointSourceMetadataArgs']]): + pulumi.set(self, "source_metadata", value) + + @property + @pulumi.getter(name="sourceRestorePoint") + def source_restore_point(self) -> Optional[pulumi.Input['ApiEntityReferenceArgs']]: + """ + Resource Id of the source restore point from which a copy needs to be created. + """ + return pulumi.get(self, "source_restore_point") + + @source_restore_point.setter + def source_restore_point(self, value: Optional[pulumi.Input['ApiEntityReferenceArgs']]): + pulumi.set(self, "source_restore_point", value) + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> Optional[pulumi.Input[str]]: + """ + Gets the creation time of the restore point. + """ + return pulumi.get(self, "time_created") + + @time_created.setter + def time_created(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_created", value) + + +class RestorePoint(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + consistency_mode: Optional[pulumi.Input[Union[str, 'ConsistencyModeTypes']]] = None, + exclude_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApiEntityReferenceArgs']]]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + restore_point_collection_name: Optional[pulumi.Input[str]] = None, + restore_point_name: Optional[pulumi.Input[str]] = None, + source_metadata: Optional[pulumi.Input[pulumi.InputType['RestorePointSourceMetadataArgs']]] = None, + source_restore_point: Optional[pulumi.Input[pulumi.InputType['ApiEntityReferenceArgs']]] = None, + time_created: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Restore Point details. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union[str, 'ConsistencyModeTypes']] consistency_mode: ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApiEntityReferenceArgs']]]] exclude_disks: List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] restore_point_collection_name: The name of the restore point collection. + :param pulumi.Input[str] restore_point_name: The name of the restore point. + :param pulumi.Input[pulumi.InputType['RestorePointSourceMetadataArgs']] source_metadata: Gets the details of the VM captured at the time of the restore point creation. + :param pulumi.Input[pulumi.InputType['ApiEntityReferenceArgs']] source_restore_point: Resource Id of the source restore point from which a copy needs to be created. + :param pulumi.Input[str] time_created: Gets the creation time of the restore point. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RestorePointArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Restore Point details. + + :param str resource_name: The name of the resource. + :param RestorePointArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(RestorePointArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + consistency_mode: Optional[pulumi.Input[Union[str, 'ConsistencyModeTypes']]] = None, + exclude_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApiEntityReferenceArgs']]]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + restore_point_collection_name: Optional[pulumi.Input[str]] = None, + restore_point_name: Optional[pulumi.Input[str]] = None, + source_metadata: Optional[pulumi.Input[pulumi.InputType['RestorePointSourceMetadataArgs']]] = None, + source_restore_point: Optional[pulumi.Input[pulumi.InputType['ApiEntityReferenceArgs']]] = None, + time_created: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = RestorePointArgs.__new__(RestorePointArgs) + + __props__.__dict__["consistency_mode"] = consistency_mode + __props__.__dict__["exclude_disks"] = exclude_disks + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if restore_point_collection_name is None and not opts.urn: + raise TypeError("Missing required property 'restore_point_collection_name'") + __props__.__dict__["restore_point_collection_name"] = restore_point_collection_name + __props__.__dict__["restore_point_name"] = restore_point_name + __props__.__dict__["source_metadata"] = source_metadata + __props__.__dict__["source_restore_point"] = source_restore_point + __props__.__dict__["time_created"] = time_created + __props__.__dict__["instance_view"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20211101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20221101:RestorePoint"), pulumi.Alias(type_="azure-native:compute/v20230301:RestorePoint")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(RestorePoint, __self__).__init__( + 'azure-native:compute/v20230701:RestorePoint', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'RestorePoint': + """ + Get an existing RestorePoint resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = RestorePointArgs.__new__(RestorePointArgs) + + __props__.__dict__["consistency_mode"] = None + __props__.__dict__["exclude_disks"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["source_metadata"] = None + __props__.__dict__["source_restore_point"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + return RestorePoint(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="consistencyMode") + def consistency_mode(self) -> pulumi.Output[Optional[str]]: + """ + ConsistencyMode of the RestorePoint. Can be specified in the input while creating a restore point. For now, only CrashConsistent is accepted as a valid input. Please refer to https://aka.ms/RestorePoints for more details. + """ + return pulumi.get(self, "consistency_mode") + + @property + @pulumi.getter(name="excludeDisks") + def exclude_disks(self) -> pulumi.Output[Optional[Sequence['outputs.ApiEntityReferenceResponse']]]: + """ + List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included. + """ + return pulumi.get(self, "exclude_disks") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> pulumi.Output['outputs.RestorePointInstanceViewResponse']: + """ + The restore point instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + Gets the provisioning state of the restore point. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="sourceMetadata") + def source_metadata(self) -> pulumi.Output[Optional['outputs.RestorePointSourceMetadataResponse']]: + """ + Gets the details of the VM captured at the time of the restore point creation. + """ + return pulumi.get(self, "source_metadata") + + @property + @pulumi.getter(name="sourceRestorePoint") + def source_restore_point(self) -> pulumi.Output[Optional['outputs.ApiEntityReferenceResponse']]: + """ + Resource Id of the source restore point from which a copy needs to be created. + """ + return pulumi.get(self, "source_restore_point") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> pulumi.Output[Optional[str]]: + """ + Gets the creation time of the restore point. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/restore_point_collection.py b/sdk/python/pulumi_azure_native/compute/v20230701/restore_point_collection.py new file mode 100644 index 000000000000..c442fa2bf54b --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/restore_point_collection.py @@ -0,0 +1,272 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['RestorePointCollectionArgs', 'RestorePointCollection'] + +@pulumi.input_type +class RestorePointCollectionArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + location: Optional[pulumi.Input[str]] = None, + restore_point_collection_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input['RestorePointCollectionSourcePropertiesArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a RestorePointCollection resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] restore_point_collection_name: The name of the restore point collection. + :param pulumi.Input['RestorePointCollectionSourcePropertiesArgs'] source: The properties of the source resource that this restore point collection is created from. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if location is not None: + pulumi.set(__self__, "location", location) + if restore_point_collection_name is not None: + pulumi.set(__self__, "restore_point_collection_name", restore_point_collection_name) + if source is not None: + pulumi.set(__self__, "source", source) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="restorePointCollectionName") + def restore_point_collection_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the restore point collection. + """ + return pulumi.get(self, "restore_point_collection_name") + + @restore_point_collection_name.setter + def restore_point_collection_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "restore_point_collection_name", value) + + @property + @pulumi.getter + def source(self) -> Optional[pulumi.Input['RestorePointCollectionSourcePropertiesArgs']]: + """ + The properties of the source resource that this restore point collection is created from. + """ + return pulumi.get(self, "source") + + @source.setter + def source(self, value: Optional[pulumi.Input['RestorePointCollectionSourcePropertiesArgs']]): + pulumi.set(self, "source", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class RestorePointCollection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + restore_point_collection_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input[pulumi.InputType['RestorePointCollectionSourcePropertiesArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Create or update Restore Point collection parameters. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] restore_point_collection_name: The name of the restore point collection. + :param pulumi.Input[pulumi.InputType['RestorePointCollectionSourcePropertiesArgs']] source: The properties of the source resource that this restore point collection is created from. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RestorePointCollectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create or update Restore Point collection parameters. + + :param str resource_name: The name of the resource. + :param RestorePointCollectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(RestorePointCollectionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + restore_point_collection_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input[pulumi.InputType['RestorePointCollectionSourcePropertiesArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = RestorePointCollectionArgs.__new__(RestorePointCollectionArgs) + + __props__.__dict__["location"] = location + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["restore_point_collection_name"] = restore_point_collection_name + __props__.__dict__["source"] = source + __props__.__dict__["tags"] = tags + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["restore_point_collection_id"] = None + __props__.__dict__["restore_points"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210301:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210401:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20210701:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20211101:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20220301:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20220801:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20221101:RestorePointCollection"), pulumi.Alias(type_="azure-native:compute/v20230301:RestorePointCollection")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(RestorePointCollection, __self__).__init__( + 'azure-native:compute/v20230701:RestorePointCollection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'RestorePointCollection': + """ + Get an existing RestorePointCollection resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = RestorePointCollectionArgs.__new__(RestorePointCollectionArgs) + + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["restore_point_collection_id"] = None + __props__.__dict__["restore_points"] = None + __props__.__dict__["source"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return RestorePointCollection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state of the restore point collection. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="restorePointCollectionId") + def restore_point_collection_id(self) -> pulumi.Output[str]: + """ + The unique id of the restore point collection. + """ + return pulumi.get(self, "restore_point_collection_id") + + @property + @pulumi.getter(name="restorePoints") + def restore_points(self) -> pulumi.Output[Sequence['outputs.RestorePointResponse']]: + """ + A list containing all restore points created under this restore point collection. + """ + return pulumi.get(self, "restore_points") + + @property + @pulumi.getter + def source(self) -> pulumi.Output[Optional['outputs.RestorePointCollectionSourcePropertiesResponse']]: + """ + The properties of the source resource that this restore point collection is created from. + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/ssh_public_key.py b/sdk/python/pulumi_azure_native/compute/v20230701/ssh_public_key.py new file mode 100644 index 000000000000..1436f09ec963 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/ssh_public_key.py @@ -0,0 +1,240 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = ['SshPublicKeyInitArgs', 'SshPublicKey'] + +@pulumi.input_type +class SshPublicKeyInitArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + location: Optional[pulumi.Input[str]] = None, + public_key: Optional[pulumi.Input[str]] = None, + ssh_public_key_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a SshPublicKey resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] public_key: SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. + :param pulumi.Input[str] ssh_public_key_name: The name of the SSH public key. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if location is not None: + pulumi.set(__self__, "location", location) + if public_key is not None: + pulumi.set(__self__, "public_key", public_key) + if ssh_public_key_name is not None: + pulumi.set(__self__, "ssh_public_key_name", ssh_public_key_name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="publicKey") + def public_key(self) -> Optional[pulumi.Input[str]]: + """ + SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. + """ + return pulumi.get(self, "public_key") + + @public_key.setter + def public_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "public_key", value) + + @property + @pulumi.getter(name="sshPublicKeyName") + def ssh_public_key_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the SSH public key. + """ + return pulumi.get(self, "ssh_public_key_name") + + @ssh_public_key_name.setter + def ssh_public_key_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ssh_public_key_name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class SshPublicKey(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + location: Optional[pulumi.Input[str]] = None, + public_key: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + ssh_public_key_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Specifies information about the SSH public key. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] public_key: SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] ssh_public_key_name: The name of the SSH public key. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SshPublicKeyInitArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Specifies information about the SSH public key. + + :param str resource_name: The name of the resource. + :param SshPublicKeyInitArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(SshPublicKeyInitArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + location: Optional[pulumi.Input[str]] = None, + public_key: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + ssh_public_key_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = SshPublicKeyInitArgs.__new__(SshPublicKeyInitArgs) + + __props__.__dict__["location"] = location + __props__.__dict__["public_key"] = public_key + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["ssh_public_key_name"] = ssh_public_key_name + __props__.__dict__["tags"] = tags + __props__.__dict__["name"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20191201:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20200601:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20201201:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210301:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210401:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20210701:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20211101:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20220301:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20220801:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20221101:SshPublicKey"), pulumi.Alias(type_="azure-native:compute/v20230301:SshPublicKey")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(SshPublicKey, __self__).__init__( + 'azure-native:compute/v20230701:SshPublicKey', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'SshPublicKey': + """ + Get an existing SshPublicKey resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = SshPublicKeyInitArgs.__new__(SshPublicKeyInitArgs) + + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["public_key"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return SshPublicKey(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="publicKey") + def public_key(self) -> pulumi.Output[Optional[str]]: + """ + SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format. + """ + return pulumi.get(self, "public_key") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine.py b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine.py new file mode 100644 index 000000000000..de1da4c73c57 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine.py @@ -0,0 +1,1018 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['VirtualMachineArgs', 'VirtualMachine'] + +@pulumi.input_type +class VirtualMachineArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + additional_capabilities: Optional[pulumi.Input['AdditionalCapabilitiesArgs']] = None, + application_profile: Optional[pulumi.Input['ApplicationProfileArgs']] = None, + availability_set: Optional[pulumi.Input['SubResourceArgs']] = None, + billing_profile: Optional[pulumi.Input['BillingProfileArgs']] = None, + capacity_reservation: Optional[pulumi.Input['CapacityReservationProfileArgs']] = None, + diagnostics_profile: Optional[pulumi.Input['DiagnosticsProfileArgs']] = None, + eviction_policy: Optional[pulumi.Input[Union[str, 'VirtualMachineEvictionPolicyTypes']]] = None, + extended_location: Optional[pulumi.Input['ExtendedLocationArgs']] = None, + extensions_time_budget: Optional[pulumi.Input[str]] = None, + hardware_profile: Optional[pulumi.Input['HardwareProfileArgs']] = None, + host: Optional[pulumi.Input['SubResourceArgs']] = None, + host_group: Optional[pulumi.Input['SubResourceArgs']] = None, + identity: Optional[pulumi.Input['VirtualMachineIdentityArgs']] = None, + license_type: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input['NetworkProfileArgs']] = None, + os_profile: Optional[pulumi.Input['OSProfileArgs']] = None, + plan: Optional[pulumi.Input['PlanArgs']] = None, + platform_fault_domain: Optional[pulumi.Input[int]] = None, + priority: Optional[pulumi.Input[Union[str, 'VirtualMachinePriorityTypes']]] = None, + proximity_placement_group: Optional[pulumi.Input['SubResourceArgs']] = None, + scheduled_events_profile: Optional[pulumi.Input['ScheduledEventsProfileArgs']] = None, + security_profile: Optional[pulumi.Input['SecurityProfileArgs']] = None, + storage_profile: Optional[pulumi.Input['StorageProfileArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + virtual_machine_scale_set: Optional[pulumi.Input['SubResourceArgs']] = None, + vm_name: Optional[pulumi.Input[str]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a VirtualMachine resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input['AdditionalCapabilitiesArgs'] additional_capabilities: Specifies additional capabilities enabled or disabled on the virtual machine. + :param pulumi.Input['ApplicationProfileArgs'] application_profile: Specifies the gallery applications that should be made available to the VM/VMSS. + :param pulumi.Input['SubResourceArgs'] availability_set: Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + :param pulumi.Input['BillingProfileArgs'] billing_profile: Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. + :param pulumi.Input['CapacityReservationProfileArgs'] capacity_reservation: Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. + :param pulumi.Input['DiagnosticsProfileArgs'] diagnostics_profile: Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + :param pulumi.Input[Union[str, 'VirtualMachineEvictionPolicyTypes']] eviction_policy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + :param pulumi.Input['ExtendedLocationArgs'] extended_location: The extended location of the Virtual Machine. + :param pulumi.Input[str] extensions_time_budget: Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + :param pulumi.Input['HardwareProfileArgs'] hardware_profile: Specifies the hardware settings for the virtual machine. + :param pulumi.Input['SubResourceArgs'] host: Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. + :param pulumi.Input['SubResourceArgs'] host_group: Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. + :param pulumi.Input['VirtualMachineIdentityArgs'] identity: The identity of the virtual machine, if configured. + :param pulumi.Input[str] license_type: Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + :param pulumi.Input[str] location: Resource location + :param pulumi.Input['NetworkProfileArgs'] network_profile: Specifies the network interfaces of the virtual machine. + :param pulumi.Input['OSProfileArgs'] os_profile: Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. + :param pulumi.Input['PlanArgs'] plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + :param pulumi.Input[int] platform_fault_domain: Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. + :param pulumi.Input[Union[str, 'VirtualMachinePriorityTypes']] priority: Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 + :param pulumi.Input['SubResourceArgs'] proximity_placement_group: Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. + :param pulumi.Input['ScheduledEventsProfileArgs'] scheduled_events_profile: Specifies Scheduled Event related configurations. + :param pulumi.Input['SecurityProfileArgs'] security_profile: Specifies the Security related profile settings for the virtual machine. + :param pulumi.Input['StorageProfileArgs'] storage_profile: Specifies the storage settings for the virtual machine disks. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[str] user_data: UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + :param pulumi.Input['SubResourceArgs'] virtual_machine_scale_set: Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. + :param pulumi.Input[str] vm_name: The name of the virtual machine. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: The virtual machine zones. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if additional_capabilities is not None: + pulumi.set(__self__, "additional_capabilities", additional_capabilities) + if application_profile is not None: + pulumi.set(__self__, "application_profile", application_profile) + if availability_set is not None: + pulumi.set(__self__, "availability_set", availability_set) + if billing_profile is not None: + pulumi.set(__self__, "billing_profile", billing_profile) + if capacity_reservation is not None: + pulumi.set(__self__, "capacity_reservation", capacity_reservation) + if diagnostics_profile is not None: + pulumi.set(__self__, "diagnostics_profile", diagnostics_profile) + if eviction_policy is not None: + pulumi.set(__self__, "eviction_policy", eviction_policy) + if extended_location is not None: + pulumi.set(__self__, "extended_location", extended_location) + if extensions_time_budget is not None: + pulumi.set(__self__, "extensions_time_budget", extensions_time_budget) + if hardware_profile is not None: + pulumi.set(__self__, "hardware_profile", hardware_profile) + if host is not None: + pulumi.set(__self__, "host", host) + if host_group is not None: + pulumi.set(__self__, "host_group", host_group) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if license_type is not None: + pulumi.set(__self__, "license_type", license_type) + if location is not None: + pulumi.set(__self__, "location", location) + if network_profile is not None: + pulumi.set(__self__, "network_profile", network_profile) + if os_profile is not None: + pulumi.set(__self__, "os_profile", os_profile) + if plan is not None: + pulumi.set(__self__, "plan", plan) + if platform_fault_domain is not None: + pulumi.set(__self__, "platform_fault_domain", platform_fault_domain) + if priority is not None: + pulumi.set(__self__, "priority", priority) + if proximity_placement_group is not None: + pulumi.set(__self__, "proximity_placement_group", proximity_placement_group) + if scheduled_events_profile is not None: + pulumi.set(__self__, "scheduled_events_profile", scheduled_events_profile) + if security_profile is not None: + pulumi.set(__self__, "security_profile", security_profile) + if storage_profile is not None: + pulumi.set(__self__, "storage_profile", storage_profile) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + if virtual_machine_scale_set is not None: + pulumi.set(__self__, "virtual_machine_scale_set", virtual_machine_scale_set) + if vm_name is not None: + pulumi.set(__self__, "vm_name", vm_name) + if zones is not None: + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="additionalCapabilities") + def additional_capabilities(self) -> Optional[pulumi.Input['AdditionalCapabilitiesArgs']]: + """ + Specifies additional capabilities enabled or disabled on the virtual machine. + """ + return pulumi.get(self, "additional_capabilities") + + @additional_capabilities.setter + def additional_capabilities(self, value: Optional[pulumi.Input['AdditionalCapabilitiesArgs']]): + pulumi.set(self, "additional_capabilities", value) + + @property + @pulumi.getter(name="applicationProfile") + def application_profile(self) -> Optional[pulumi.Input['ApplicationProfileArgs']]: + """ + Specifies the gallery applications that should be made available to the VM/VMSS. + """ + return pulumi.get(self, "application_profile") + + @application_profile.setter + def application_profile(self, value: Optional[pulumi.Input['ApplicationProfileArgs']]): + pulumi.set(self, "application_profile", value) + + @property + @pulumi.getter(name="availabilitySet") + def availability_set(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + """ + return pulumi.get(self, "availability_set") + + @availability_set.setter + def availability_set(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "availability_set", value) + + @property + @pulumi.getter(name="billingProfile") + def billing_profile(self) -> Optional[pulumi.Input['BillingProfileArgs']]: + """ + Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. + """ + return pulumi.get(self, "billing_profile") + + @billing_profile.setter + def billing_profile(self, value: Optional[pulumi.Input['BillingProfileArgs']]): + pulumi.set(self, "billing_profile", value) + + @property + @pulumi.getter(name="capacityReservation") + def capacity_reservation(self) -> Optional[pulumi.Input['CapacityReservationProfileArgs']]: + """ + Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. + """ + return pulumi.get(self, "capacity_reservation") + + @capacity_reservation.setter + def capacity_reservation(self, value: Optional[pulumi.Input['CapacityReservationProfileArgs']]): + pulumi.set(self, "capacity_reservation", value) + + @property + @pulumi.getter(name="diagnosticsProfile") + def diagnostics_profile(self) -> Optional[pulumi.Input['DiagnosticsProfileArgs']]: + """ + Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + """ + return pulumi.get(self, "diagnostics_profile") + + @diagnostics_profile.setter + def diagnostics_profile(self, value: Optional[pulumi.Input['DiagnosticsProfileArgs']]): + pulumi.set(self, "diagnostics_profile", value) + + @property + @pulumi.getter(name="evictionPolicy") + def eviction_policy(self) -> Optional[pulumi.Input[Union[str, 'VirtualMachineEvictionPolicyTypes']]]: + """ + Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + """ + return pulumi.get(self, "eviction_policy") + + @eviction_policy.setter + def eviction_policy(self, value: Optional[pulumi.Input[Union[str, 'VirtualMachineEvictionPolicyTypes']]]): + pulumi.set(self, "eviction_policy", value) + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional[pulumi.Input['ExtendedLocationArgs']]: + """ + The extended location of the Virtual Machine. + """ + return pulumi.get(self, "extended_location") + + @extended_location.setter + def extended_location(self, value: Optional[pulumi.Input['ExtendedLocationArgs']]): + pulumi.set(self, "extended_location", value) + + @property + @pulumi.getter(name="extensionsTimeBudget") + def extensions_time_budget(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "extensions_time_budget") + + @extensions_time_budget.setter + def extensions_time_budget(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "extensions_time_budget", value) + + @property + @pulumi.getter(name="hardwareProfile") + def hardware_profile(self) -> Optional[pulumi.Input['HardwareProfileArgs']]: + """ + Specifies the hardware settings for the virtual machine. + """ + return pulumi.get(self, "hardware_profile") + + @hardware_profile.setter + def hardware_profile(self, value: Optional[pulumi.Input['HardwareProfileArgs']]): + pulumi.set(self, "hardware_profile", value) + + @property + @pulumi.getter + def host(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. + """ + return pulumi.get(self, "host") + + @host.setter + def host(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "host", value) + + @property + @pulumi.getter(name="hostGroup") + def host_group(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "host_group") + + @host_group.setter + def host_group(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "host_group", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['VirtualMachineIdentityArgs']]: + """ + The identity of the virtual machine, if configured. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['VirtualMachineIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + """ + return pulumi.get(self, "license_type") + + @license_type.setter + def license_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "license_type", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional[pulumi.Input['NetworkProfileArgs']]: + """ + Specifies the network interfaces of the virtual machine. + """ + return pulumi.get(self, "network_profile") + + @network_profile.setter + def network_profile(self, value: Optional[pulumi.Input['NetworkProfileArgs']]): + pulumi.set(self, "network_profile", value) + + @property + @pulumi.getter(name="osProfile") + def os_profile(self) -> Optional[pulumi.Input['OSProfileArgs']]: + """ + Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. + """ + return pulumi.get(self, "os_profile") + + @os_profile.setter + def os_profile(self, value: Optional[pulumi.Input['OSProfileArgs']]): + pulumi.set(self, "os_profile", value) + + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['PlanArgs']]: + """ + Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + """ + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['PlanArgs']]): + pulumi.set(self, "plan", value) + + @property + @pulumi.getter(name="platformFaultDomain") + def platform_fault_domain(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. + """ + return pulumi.get(self, "platform_fault_domain") + + @platform_fault_domain.setter + def platform_fault_domain(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "platform_fault_domain", value) + + @property + @pulumi.getter + def priority(self) -> Optional[pulumi.Input[Union[str, 'VirtualMachinePriorityTypes']]]: + """ + Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 + """ + return pulumi.get(self, "priority") + + @priority.setter + def priority(self, value: Optional[pulumi.Input[Union[str, 'VirtualMachinePriorityTypes']]]): + pulumi.set(self, "priority", value) + + @property + @pulumi.getter(name="proximityPlacementGroup") + def proximity_placement_group(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. + """ + return pulumi.get(self, "proximity_placement_group") + + @proximity_placement_group.setter + def proximity_placement_group(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "proximity_placement_group", value) + + @property + @pulumi.getter(name="scheduledEventsProfile") + def scheduled_events_profile(self) -> Optional[pulumi.Input['ScheduledEventsProfileArgs']]: + """ + Specifies Scheduled Event related configurations. + """ + return pulumi.get(self, "scheduled_events_profile") + + @scheduled_events_profile.setter + def scheduled_events_profile(self, value: Optional[pulumi.Input['ScheduledEventsProfileArgs']]): + pulumi.set(self, "scheduled_events_profile", value) + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional[pulumi.Input['SecurityProfileArgs']]: + """ + Specifies the Security related profile settings for the virtual machine. + """ + return pulumi.get(self, "security_profile") + + @security_profile.setter + def security_profile(self, value: Optional[pulumi.Input['SecurityProfileArgs']]): + pulumi.set(self, "security_profile", value) + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional[pulumi.Input['StorageProfileArgs']]: + """ + Specifies the storage settings for the virtual machine disks. + """ + return pulumi.get(self, "storage_profile") + + @storage_profile.setter + def storage_profile(self, value: Optional[pulumi.Input['StorageProfileArgs']]): + pulumi.set(self, "storage_profile", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[pulumi.Input[str]]: + """ + UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + """ + return pulumi.get(self, "user_data") + + @user_data.setter + def user_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_data", value) + + @property + @pulumi.getter(name="virtualMachineScaleSet") + def virtual_machine_scale_set(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. + """ + return pulumi.get(self, "virtual_machine_scale_set") + + @virtual_machine_scale_set.setter + def virtual_machine_scale_set(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "virtual_machine_scale_set", value) + + @property + @pulumi.getter(name="vmName") + def vm_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the virtual machine. + """ + return pulumi.get(self, "vm_name") + + @vm_name.setter + def vm_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vm_name", value) + + @property + @pulumi.getter + def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The virtual machine zones. + """ + return pulumi.get(self, "zones") + + @zones.setter + def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "zones", value) + + +class VirtualMachine(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + additional_capabilities: Optional[pulumi.Input[pulumi.InputType['AdditionalCapabilitiesArgs']]] = None, + application_profile: Optional[pulumi.Input[pulumi.InputType['ApplicationProfileArgs']]] = None, + availability_set: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + billing_profile: Optional[pulumi.Input[pulumi.InputType['BillingProfileArgs']]] = None, + capacity_reservation: Optional[pulumi.Input[pulumi.InputType['CapacityReservationProfileArgs']]] = None, + diagnostics_profile: Optional[pulumi.Input[pulumi.InputType['DiagnosticsProfileArgs']]] = None, + eviction_policy: Optional[pulumi.Input[Union[str, 'VirtualMachineEvictionPolicyTypes']]] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + extensions_time_budget: Optional[pulumi.Input[str]] = None, + hardware_profile: Optional[pulumi.Input[pulumi.InputType['HardwareProfileArgs']]] = None, + host: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + host_group: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['VirtualMachineIdentityArgs']]] = None, + license_type: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input[pulumi.InputType['NetworkProfileArgs']]] = None, + os_profile: Optional[pulumi.Input[pulumi.InputType['OSProfileArgs']]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['PlanArgs']]] = None, + platform_fault_domain: Optional[pulumi.Input[int]] = None, + priority: Optional[pulumi.Input[Union[str, 'VirtualMachinePriorityTypes']]] = None, + proximity_placement_group: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + scheduled_events_profile: Optional[pulumi.Input[pulumi.InputType['ScheduledEventsProfileArgs']]] = None, + security_profile: Optional[pulumi.Input[pulumi.InputType['SecurityProfileArgs']]] = None, + storage_profile: Optional[pulumi.Input[pulumi.InputType['StorageProfileArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + virtual_machine_scale_set: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + vm_name: Optional[pulumi.Input[str]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Describes a Virtual Machine. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['AdditionalCapabilitiesArgs']] additional_capabilities: Specifies additional capabilities enabled or disabled on the virtual machine. + :param pulumi.Input[pulumi.InputType['ApplicationProfileArgs']] application_profile: Specifies the gallery applications that should be made available to the VM/VMSS. + :param pulumi.Input[pulumi.InputType['SubResourceArgs']] availability_set: Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + :param pulumi.Input[pulumi.InputType['BillingProfileArgs']] billing_profile: Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. + :param pulumi.Input[pulumi.InputType['CapacityReservationProfileArgs']] capacity_reservation: Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. + :param pulumi.Input[pulumi.InputType['DiagnosticsProfileArgs']] diagnostics_profile: Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + :param pulumi.Input[Union[str, 'VirtualMachineEvictionPolicyTypes']] eviction_policy: Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + :param pulumi.Input[pulumi.InputType['ExtendedLocationArgs']] extended_location: The extended location of the Virtual Machine. + :param pulumi.Input[str] extensions_time_budget: Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + :param pulumi.Input[pulumi.InputType['HardwareProfileArgs']] hardware_profile: Specifies the hardware settings for the virtual machine. + :param pulumi.Input[pulumi.InputType['SubResourceArgs']] host: Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. + :param pulumi.Input[pulumi.InputType['SubResourceArgs']] host_group: Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. + :param pulumi.Input[pulumi.InputType['VirtualMachineIdentityArgs']] identity: The identity of the virtual machine, if configured. + :param pulumi.Input[str] license_type: Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[pulumi.InputType['NetworkProfileArgs']] network_profile: Specifies the network interfaces of the virtual machine. + :param pulumi.Input[pulumi.InputType['OSProfileArgs']] os_profile: Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. + :param pulumi.Input[pulumi.InputType['PlanArgs']] plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + :param pulumi.Input[int] platform_fault_domain: Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. + :param pulumi.Input[Union[str, 'VirtualMachinePriorityTypes']] priority: Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 + :param pulumi.Input[pulumi.InputType['SubResourceArgs']] proximity_placement_group: Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[pulumi.InputType['ScheduledEventsProfileArgs']] scheduled_events_profile: Specifies Scheduled Event related configurations. + :param pulumi.Input[pulumi.InputType['SecurityProfileArgs']] security_profile: Specifies the Security related profile settings for the virtual machine. + :param pulumi.Input[pulumi.InputType['StorageProfileArgs']] storage_profile: Specifies the storage settings for the virtual machine disks. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[str] user_data: UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + :param pulumi.Input[pulumi.InputType['SubResourceArgs']] virtual_machine_scale_set: Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. + :param pulumi.Input[str] vm_name: The name of the virtual machine. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: The virtual machine zones. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VirtualMachineArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Describes a Virtual Machine. + + :param str resource_name: The name of the resource. + :param VirtualMachineArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VirtualMachineArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + additional_capabilities: Optional[pulumi.Input[pulumi.InputType['AdditionalCapabilitiesArgs']]] = None, + application_profile: Optional[pulumi.Input[pulumi.InputType['ApplicationProfileArgs']]] = None, + availability_set: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + billing_profile: Optional[pulumi.Input[pulumi.InputType['BillingProfileArgs']]] = None, + capacity_reservation: Optional[pulumi.Input[pulumi.InputType['CapacityReservationProfileArgs']]] = None, + diagnostics_profile: Optional[pulumi.Input[pulumi.InputType['DiagnosticsProfileArgs']]] = None, + eviction_policy: Optional[pulumi.Input[Union[str, 'VirtualMachineEvictionPolicyTypes']]] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + extensions_time_budget: Optional[pulumi.Input[str]] = None, + hardware_profile: Optional[pulumi.Input[pulumi.InputType['HardwareProfileArgs']]] = None, + host: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + host_group: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['VirtualMachineIdentityArgs']]] = None, + license_type: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input[pulumi.InputType['NetworkProfileArgs']]] = None, + os_profile: Optional[pulumi.Input[pulumi.InputType['OSProfileArgs']]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['PlanArgs']]] = None, + platform_fault_domain: Optional[pulumi.Input[int]] = None, + priority: Optional[pulumi.Input[Union[str, 'VirtualMachinePriorityTypes']]] = None, + proximity_placement_group: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + scheduled_events_profile: Optional[pulumi.Input[pulumi.InputType['ScheduledEventsProfileArgs']]] = None, + security_profile: Optional[pulumi.Input[pulumi.InputType['SecurityProfileArgs']]] = None, + storage_profile: Optional[pulumi.Input[pulumi.InputType['StorageProfileArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + virtual_machine_scale_set: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + vm_name: Optional[pulumi.Input[str]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VirtualMachineArgs.__new__(VirtualMachineArgs) + + __props__.__dict__["additional_capabilities"] = additional_capabilities + __props__.__dict__["application_profile"] = application_profile + __props__.__dict__["availability_set"] = availability_set + __props__.__dict__["billing_profile"] = billing_profile + __props__.__dict__["capacity_reservation"] = capacity_reservation + __props__.__dict__["diagnostics_profile"] = diagnostics_profile + __props__.__dict__["eviction_policy"] = eviction_policy + __props__.__dict__["extended_location"] = extended_location + __props__.__dict__["extensions_time_budget"] = extensions_time_budget + __props__.__dict__["hardware_profile"] = hardware_profile + __props__.__dict__["host"] = host + __props__.__dict__["host_group"] = host_group + __props__.__dict__["identity"] = identity + __props__.__dict__["license_type"] = license_type + __props__.__dict__["location"] = location + __props__.__dict__["network_profile"] = network_profile + __props__.__dict__["os_profile"] = os_profile + __props__.__dict__["plan"] = plan + __props__.__dict__["platform_fault_domain"] = platform_fault_domain + __props__.__dict__["priority"] = priority + __props__.__dict__["proximity_placement_group"] = proximity_placement_group + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["scheduled_events_profile"] = scheduled_events_profile + __props__.__dict__["security_profile"] = security_profile + __props__.__dict__["storage_profile"] = storage_profile + __props__.__dict__["tags"] = tags + __props__.__dict__["user_data"] = user_data + __props__.__dict__["virtual_machine_scale_set"] = virtual_machine_scale_set + __props__.__dict__["vm_name"] = vm_name + __props__.__dict__["zones"] = zones + __props__.__dict__["instance_view"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["resources"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["vm_id"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachine")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(VirtualMachine, __self__).__init__( + 'azure-native:compute/v20230701:VirtualMachine', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'VirtualMachine': + """ + Get an existing VirtualMachine resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = VirtualMachineArgs.__new__(VirtualMachineArgs) + + __props__.__dict__["additional_capabilities"] = None + __props__.__dict__["application_profile"] = None + __props__.__dict__["availability_set"] = None + __props__.__dict__["billing_profile"] = None + __props__.__dict__["capacity_reservation"] = None + __props__.__dict__["diagnostics_profile"] = None + __props__.__dict__["eviction_policy"] = None + __props__.__dict__["extended_location"] = None + __props__.__dict__["extensions_time_budget"] = None + __props__.__dict__["hardware_profile"] = None + __props__.__dict__["host"] = None + __props__.__dict__["host_group"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["license_type"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_profile"] = None + __props__.__dict__["os_profile"] = None + __props__.__dict__["plan"] = None + __props__.__dict__["platform_fault_domain"] = None + __props__.__dict__["priority"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["proximity_placement_group"] = None + __props__.__dict__["resources"] = None + __props__.__dict__["scheduled_events_profile"] = None + __props__.__dict__["security_profile"] = None + __props__.__dict__["storage_profile"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["user_data"] = None + __props__.__dict__["virtual_machine_scale_set"] = None + __props__.__dict__["vm_id"] = None + __props__.__dict__["zones"] = None + return VirtualMachine(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="additionalCapabilities") + def additional_capabilities(self) -> pulumi.Output[Optional['outputs.AdditionalCapabilitiesResponse']]: + """ + Specifies additional capabilities enabled or disabled on the virtual machine. + """ + return pulumi.get(self, "additional_capabilities") + + @property + @pulumi.getter(name="applicationProfile") + def application_profile(self) -> pulumi.Output[Optional['outputs.ApplicationProfileResponse']]: + """ + Specifies the gallery applications that should be made available to the VM/VMSS. + """ + return pulumi.get(self, "application_profile") + + @property + @pulumi.getter(name="availabilitySet") + def availability_set(self) -> pulumi.Output[Optional['outputs.SubResourceResponse']]: + """ + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set. This property cannot exist along with a non-null properties.virtualMachineScaleSet reference. + """ + return pulumi.get(self, "availability_set") + + @property + @pulumi.getter(name="billingProfile") + def billing_profile(self) -> pulumi.Output[Optional['outputs.BillingProfileResponse']]: + """ + Specifies the billing related details of a Azure Spot virtual machine. Minimum api-version: 2019-03-01. + """ + return pulumi.get(self, "billing_profile") + + @property + @pulumi.getter(name="capacityReservation") + def capacity_reservation(self) -> pulumi.Output[Optional['outputs.CapacityReservationProfileResponse']]: + """ + Specifies information about the capacity reservation that is used to allocate virtual machine. Minimum api-version: 2021-04-01. + """ + return pulumi.get(self, "capacity_reservation") + + @property + @pulumi.getter(name="diagnosticsProfile") + def diagnostics_profile(self) -> pulumi.Output[Optional['outputs.DiagnosticsProfileResponse']]: + """ + Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + """ + return pulumi.get(self, "diagnostics_profile") + + @property + @pulumi.getter(name="evictionPolicy") + def eviction_policy(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. + """ + return pulumi.get(self, "eviction_policy") + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> pulumi.Output[Optional['outputs.ExtendedLocationResponse']]: + """ + The extended location of the Virtual Machine. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter(name="extensionsTimeBudget") + def extensions_time_budget(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "extensions_time_budget") + + @property + @pulumi.getter(name="hardwareProfile") + def hardware_profile(self) -> pulumi.Output[Optional['outputs.HardwareProfileResponse']]: + """ + Specifies the hardware settings for the virtual machine. + """ + return pulumi.get(self, "hardware_profile") + + @property + @pulumi.getter + def host(self) -> pulumi.Output[Optional['outputs.SubResourceResponse']]: + """ + Specifies information about the dedicated host that the virtual machine resides in. Minimum api-version: 2018-10-01. + """ + return pulumi.get(self, "host") + + @property + @pulumi.getter(name="hostGroup") + def host_group(self) -> pulumi.Output[Optional['outputs.SubResourceResponse']]: + """ + Specifies information about the dedicated host group that the virtual machine resides in. **Note:** User cannot specify both host and hostGroup properties. Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "host_group") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.VirtualMachineIdentityResponse']]: + """ + The identity of the virtual machine, if configured. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> pulumi.Output['outputs.VirtualMachineInstanceViewResponse']: + """ + The virtual machine instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> pulumi.Output[Optional[str]]: + """ + Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + """ + return pulumi.get(self, "license_type") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> pulumi.Output[Optional['outputs.NetworkProfileResponse']]: + """ + Specifies the network interfaces of the virtual machine. + """ + return pulumi.get(self, "network_profile") + + @property + @pulumi.getter(name="osProfile") + def os_profile(self) -> pulumi.Output[Optional['outputs.OSProfileResponse']]: + """ + Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned. + """ + return pulumi.get(self, "os_profile") + + @property + @pulumi.getter + def plan(self) -> pulumi.Output[Optional['outputs.PlanResponse']]: + """ + Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + """ + return pulumi.get(self, "plan") + + @property + @pulumi.getter(name="platformFaultDomain") + def platform_fault_domain(self) -> pulumi.Output[Optional[int]]: + """ + Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains. This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set. The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' greater than 1. This property cannot be updated once the Virtual Machine is created. Fault domain assignment can be viewed in the Virtual Machine Instance View. Minimum api‐version: 2020‐12‐01. + """ + return pulumi.get(self, "platform_fault_domain") + + @property + @pulumi.getter + def priority(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the priority for the virtual machine. Minimum api-version: 2019-03-01 + """ + return pulumi.get(self, "priority") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="proximityPlacementGroup") + def proximity_placement_group(self) -> pulumi.Output[Optional['outputs.SubResourceResponse']]: + """ + Specifies information about the proximity placement group that the virtual machine should be assigned to. Minimum api-version: 2018-04-01. + """ + return pulumi.get(self, "proximity_placement_group") + + @property + @pulumi.getter + def resources(self) -> pulumi.Output[Sequence['outputs.VirtualMachineExtensionResponse']]: + """ + The virtual machine child extension resources. + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter(name="scheduledEventsProfile") + def scheduled_events_profile(self) -> pulumi.Output[Optional['outputs.ScheduledEventsProfileResponse']]: + """ + Specifies Scheduled Event related configurations. + """ + return pulumi.get(self, "scheduled_events_profile") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> pulumi.Output[Optional['outputs.SecurityProfileResponse']]: + """ + Specifies the Security related profile settings for the virtual machine. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> pulumi.Output[Optional['outputs.StorageProfileResponse']]: + """ + Specifies the storage settings for the virtual machine disks. + """ + return pulumi.get(self, "storage_profile") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> pulumi.Output[str]: + """ + Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userData") + def user_data(self) -> pulumi.Output[Optional[str]]: + """ + UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01. + """ + return pulumi.get(self, "user_data") + + @property + @pulumi.getter(name="virtualMachineScaleSet") + def virtual_machine_scale_set(self) -> pulumi.Output[Optional['outputs.SubResourceResponse']]: + """ + Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set. This property cannot exist along with a non-null properties.availabilitySet reference. Minimum api‐version: 2019‐03‐01. + """ + return pulumi.get(self, "virtual_machine_scale_set") + + @property + @pulumi.getter(name="vmId") + def vm_id(self) -> pulumi.Output[str]: + """ + Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands. + """ + return pulumi.get(self, "vm_id") + + @property + @pulumi.getter + def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The virtual machine zones. + """ + return pulumi.get(self, "zones") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_extension.py b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_extension.py new file mode 100644 index 000000000000..30f523cf1625 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_extension.py @@ -0,0 +1,583 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['VirtualMachineExtensionInitArgs', 'VirtualMachineExtension'] + +@pulumi.input_type +class VirtualMachineExtensionInitArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + vm_name: pulumi.Input[str], + auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, + enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, + force_update_tag: Optional[pulumi.Input[str]] = None, + instance_view: Optional[pulumi.Input['VirtualMachineExtensionInstanceViewArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional[pulumi.Input['KeyVaultSecretReferenceArgs']] = None, + provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + publisher: Optional[pulumi.Input[str]] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None, + type_handler_version: Optional[pulumi.Input[str]] = None, + vm_extension_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a VirtualMachineExtension resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] vm_name: The name of the virtual machine where the extension should be created or updated. + :param pulumi.Input[bool] auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + :param pulumi.Input[bool] enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + :param pulumi.Input[str] force_update_tag: How the extension handler should be forced to update even if the extension configuration has not changed. + :param pulumi.Input['VirtualMachineExtensionInstanceViewArgs'] instance_view: The virtual machine extension instance view. + :param pulumi.Input[str] location: Resource location + :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + :param pulumi.Input['KeyVaultSecretReferenceArgs'] protected_settings_from_key_vault: The extensions protected settings that are passed by reference, and consumed from key vault + :param pulumi.Input[Sequence[pulumi.Input[str]]] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned. + :param pulumi.Input[str] publisher: The name of the extension handler publisher. + :param Any settings: Json formatted public settings for the extension. + :param pulumi.Input[bool] suppress_failures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension". + :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler. + :param pulumi.Input[str] vm_extension_name: The name of the virtual machine extension. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "vm_name", vm_name) + if auto_upgrade_minor_version is not None: + pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) + if enable_automatic_upgrade is not None: + pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) + if force_update_tag is not None: + pulumi.set(__self__, "force_update_tag", force_update_tag) + if instance_view is not None: + pulumi.set(__self__, "instance_view", instance_view) + if location is not None: + pulumi.set(__self__, "location", location) + if protected_settings is not None: + pulumi.set(__self__, "protected_settings", protected_settings) + if protected_settings_from_key_vault is not None: + pulumi.set(__self__, "protected_settings_from_key_vault", protected_settings_from_key_vault) + if provision_after_extensions is not None: + pulumi.set(__self__, "provision_after_extensions", provision_after_extensions) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + if settings is not None: + pulumi.set(__self__, "settings", settings) + if suppress_failures is not None: + pulumi.set(__self__, "suppress_failures", suppress_failures) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if type is not None: + pulumi.set(__self__, "type", type) + if type_handler_version is not None: + pulumi.set(__self__, "type_handler_version", type_handler_version) + if vm_extension_name is not None: + pulumi.set(__self__, "vm_extension_name", vm_extension_name) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="vmName") + def vm_name(self) -> pulumi.Input[str]: + """ + The name of the virtual machine where the extension should be created or updated. + """ + return pulumi.get(self, "vm_name") + + @vm_name.setter + def vm_name(self, value: pulumi.Input[str]): + pulumi.set(self, "vm_name", value) + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @auto_upgrade_minor_version.setter + def auto_upgrade_minor_version(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_upgrade_minor_version", value) + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @enable_automatic_upgrade.setter + def enable_automatic_upgrade(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_automatic_upgrade", value) + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> Optional[pulumi.Input[str]]: + """ + How the extension handler should be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @force_update_tag.setter + def force_update_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "force_update_tag", value) + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> Optional[pulumi.Input['VirtualMachineExtensionInstanceViewArgs']]: + """ + The virtual machine extension instance view. + """ + return pulumi.get(self, "instance_view") + + @instance_view.setter + def instance_view(self, value: Optional[pulumi.Input['VirtualMachineExtensionInstanceViewArgs']]): + pulumi.set(self, "instance_view", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> Optional[Any]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @protected_settings.setter + def protected_settings(self, value: Optional[Any]): + pulumi.set(self, "protected_settings", value) + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> Optional[pulumi.Input['KeyVaultSecretReferenceArgs']]: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @protected_settings_from_key_vault.setter + def protected_settings_from_key_vault(self, value: Optional[pulumi.Input['KeyVaultSecretReferenceArgs']]): + pulumi.set(self, "protected_settings_from_key_vault", value) + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @provision_after_extensions.setter + def provision_after_extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "provision_after_extensions", value) + + @property + @pulumi.getter + def publisher(self) -> Optional[pulumi.Input[str]]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @publisher.setter + def publisher(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "publisher", value) + + @property + @pulumi.getter + def settings(self) -> Optional[Any]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @settings.setter + def settings(self, value: Optional[Any]): + pulumi.set(self, "settings", value) + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @suppress_failures.setter + def suppress_failures(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "suppress_failures", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the type of the extension; an example is "CustomScriptExtension". + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + @type_handler_version.setter + def type_handler_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type_handler_version", value) + + @property + @pulumi.getter(name="vmExtensionName") + def vm_extension_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the virtual machine extension. + """ + return pulumi.get(self, "vm_extension_name") + + @vm_extension_name.setter + def vm_extension_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vm_extension_name", value) + + +class VirtualMachineExtension(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, + enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, + force_update_tag: Optional[pulumi.Input[str]] = None, + instance_view: Optional[pulumi.Input[pulumi.InputType['VirtualMachineExtensionInstanceViewArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional[pulumi.Input[pulumi.InputType['KeyVaultSecretReferenceArgs']]] = None, + provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + publisher: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None, + type_handler_version: Optional[pulumi.Input[str]] = None, + vm_extension_name: Optional[pulumi.Input[str]] = None, + vm_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Describes a Virtual Machine Extension. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + :param pulumi.Input[bool] enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + :param pulumi.Input[str] force_update_tag: How the extension handler should be forced to update even if the extension configuration has not changed. + :param pulumi.Input[pulumi.InputType['VirtualMachineExtensionInstanceViewArgs']] instance_view: The virtual machine extension instance view. + :param pulumi.Input[str] location: Resource location + :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + :param pulumi.Input[pulumi.InputType['KeyVaultSecretReferenceArgs']] protected_settings_from_key_vault: The extensions protected settings that are passed by reference, and consumed from key vault + :param pulumi.Input[Sequence[pulumi.Input[str]]] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned. + :param pulumi.Input[str] publisher: The name of the extension handler publisher. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param Any settings: Json formatted public settings for the extension. + :param pulumi.Input[bool] suppress_failures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension". + :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler. + :param pulumi.Input[str] vm_extension_name: The name of the virtual machine extension. + :param pulumi.Input[str] vm_name: The name of the virtual machine where the extension should be created or updated. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VirtualMachineExtensionInitArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Describes a Virtual Machine Extension. + + :param str resource_name: The name of the resource. + :param VirtualMachineExtensionInitArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VirtualMachineExtensionInitArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, + enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, + force_update_tag: Optional[pulumi.Input[str]] = None, + instance_view: Optional[pulumi.Input[pulumi.InputType['VirtualMachineExtensionInstanceViewArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional[pulumi.Input[pulumi.InputType['KeyVaultSecretReferenceArgs']]] = None, + provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + publisher: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None, + type_handler_version: Optional[pulumi.Input[str]] = None, + vm_extension_name: Optional[pulumi.Input[str]] = None, + vm_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VirtualMachineExtensionInitArgs.__new__(VirtualMachineExtensionInitArgs) + + __props__.__dict__["auto_upgrade_minor_version"] = auto_upgrade_minor_version + __props__.__dict__["enable_automatic_upgrade"] = enable_automatic_upgrade + __props__.__dict__["force_update_tag"] = force_update_tag + __props__.__dict__["instance_view"] = instance_view + __props__.__dict__["location"] = location + __props__.__dict__["protected_settings"] = protected_settings + __props__.__dict__["protected_settings_from_key_vault"] = protected_settings_from_key_vault + __props__.__dict__["provision_after_extensions"] = provision_after_extensions + __props__.__dict__["publisher"] = publisher + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["settings"] = settings + __props__.__dict__["suppress_failures"] = suppress_failures + __props__.__dict__["tags"] = tags + __props__.__dict__["type"] = type + __props__.__dict__["type_handler_version"] = type_handler_version + __props__.__dict__["vm_extension_name"] = vm_extension_name + if vm_name is None and not opts.urn: + raise TypeError("Missing required property 'vm_name'") + __props__.__dict__["vm_name"] = vm_name + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineExtension")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(VirtualMachineExtension, __self__).__init__( + 'azure-native:compute/v20230701:VirtualMachineExtension', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'VirtualMachineExtension': + """ + Get an existing VirtualMachineExtension resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = VirtualMachineExtensionInitArgs.__new__(VirtualMachineExtensionInitArgs) + + __props__.__dict__["auto_upgrade_minor_version"] = None + __props__.__dict__["enable_automatic_upgrade"] = None + __props__.__dict__["force_update_tag"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["protected_settings"] = None + __props__.__dict__["protected_settings_from_key_vault"] = None + __props__.__dict__["provision_after_extensions"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["publisher"] = None + __props__.__dict__["settings"] = None + __props__.__dict__["suppress_failures"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["type_handler_version"] = None + return VirtualMachineExtension(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> pulumi.Output[Optional[str]]: + """ + How the extension handler should be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> pulumi.Output[Optional['outputs.VirtualMachineExtensionInstanceViewResponse']]: + """ + The virtual machine extension instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[Optional[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> pulumi.Output[Optional[Any]]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> pulumi.Output[Optional['outputs.KeyVaultSecretReferenceResponse']]: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def publisher(self) -> pulumi.Output[Optional[str]]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @property + @pulumi.getter + def settings(self) -> pulumi.Output[Optional[Any]]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_run_command_by_virtual_machine.py b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_run_command_by_virtual_machine.py new file mode 100644 index 000000000000..2904d6c55c01 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_run_command_by_virtual_machine.py @@ -0,0 +1,610 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['VirtualMachineRunCommandByVirtualMachineArgs', 'VirtualMachineRunCommandByVirtualMachine'] + +@pulumi.input_type +class VirtualMachineRunCommandByVirtualMachineArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + vm_name: pulumi.Input[str], + async_execution: Optional[pulumi.Input[bool]] = None, + error_blob_managed_identity: Optional[pulumi.Input['RunCommandManagedIdentityArgs']] = None, + error_blob_uri: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + output_blob_managed_identity: Optional[pulumi.Input['RunCommandManagedIdentityArgs']] = None, + output_blob_uri: Optional[pulumi.Input[str]] = None, + parameters: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]] = None, + protected_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]] = None, + run_as_password: Optional[pulumi.Input[str]] = None, + run_as_user: Optional[pulumi.Input[str]] = None, + run_command_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input['VirtualMachineRunCommandScriptSourceArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeout_in_seconds: Optional[pulumi.Input[int]] = None, + treat_failure_as_deployment_failure: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a VirtualMachineRunCommandByVirtualMachine resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] vm_name: The name of the virtual machine where the run command should be created or updated. + :param pulumi.Input[bool] async_execution: Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + :param pulumi.Input['RunCommandManagedIdentityArgs'] error_blob_managed_identity: User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + :param pulumi.Input[str] error_blob_uri: Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input['RunCommandManagedIdentityArgs'] output_blob_managed_identity: User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + :param pulumi.Input[str] output_blob_uri: Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + :param pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]] parameters: The parameters used by the script. + :param pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]] protected_parameters: The parameters used by the script. + :param pulumi.Input[str] run_as_password: Specifies the user account password on the VM when executing the run command. + :param pulumi.Input[str] run_as_user: Specifies the user account on the VM when executing the run command. + :param pulumi.Input[str] run_command_name: The name of the virtual machine run command. + :param pulumi.Input['VirtualMachineRunCommandScriptSourceArgs'] source: The source of the run command script. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[int] timeout_in_seconds: The timeout in seconds to execute the run command. + :param pulumi.Input[bool] treat_failure_as_deployment_failure: Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "vm_name", vm_name) + if async_execution is None: + async_execution = False + if async_execution is not None: + pulumi.set(__self__, "async_execution", async_execution) + if error_blob_managed_identity is not None: + pulumi.set(__self__, "error_blob_managed_identity", error_blob_managed_identity) + if error_blob_uri is not None: + pulumi.set(__self__, "error_blob_uri", error_blob_uri) + if location is not None: + pulumi.set(__self__, "location", location) + if output_blob_managed_identity is not None: + pulumi.set(__self__, "output_blob_managed_identity", output_blob_managed_identity) + if output_blob_uri is not None: + pulumi.set(__self__, "output_blob_uri", output_blob_uri) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if protected_parameters is not None: + pulumi.set(__self__, "protected_parameters", protected_parameters) + if run_as_password is not None: + pulumi.set(__self__, "run_as_password", run_as_password) + if run_as_user is not None: + pulumi.set(__self__, "run_as_user", run_as_user) + if run_command_name is not None: + pulumi.set(__self__, "run_command_name", run_command_name) + if source is not None: + pulumi.set(__self__, "source", source) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeout_in_seconds is not None: + pulumi.set(__self__, "timeout_in_seconds", timeout_in_seconds) + if treat_failure_as_deployment_failure is None: + treat_failure_as_deployment_failure = False + if treat_failure_as_deployment_failure is not None: + pulumi.set(__self__, "treat_failure_as_deployment_failure", treat_failure_as_deployment_failure) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="vmName") + def vm_name(self) -> pulumi.Input[str]: + """ + The name of the virtual machine where the run command should be created or updated. + """ + return pulumi.get(self, "vm_name") + + @vm_name.setter + def vm_name(self, value: pulumi.Input[str]): + pulumi.set(self, "vm_name", value) + + @property + @pulumi.getter(name="asyncExecution") + def async_execution(self) -> Optional[pulumi.Input[bool]]: + """ + Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + """ + return pulumi.get(self, "async_execution") + + @async_execution.setter + def async_execution(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "async_execution", value) + + @property + @pulumi.getter(name="errorBlobManagedIdentity") + def error_blob_managed_identity(self) -> Optional[pulumi.Input['RunCommandManagedIdentityArgs']]: + """ + User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + """ + return pulumi.get(self, "error_blob_managed_identity") + + @error_blob_managed_identity.setter + def error_blob_managed_identity(self, value: Optional[pulumi.Input['RunCommandManagedIdentityArgs']]): + pulumi.set(self, "error_blob_managed_identity", value) + + @property + @pulumi.getter(name="errorBlobUri") + def error_blob_uri(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + """ + return pulumi.get(self, "error_blob_uri") + + @error_blob_uri.setter + def error_blob_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "error_blob_uri", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="outputBlobManagedIdentity") + def output_blob_managed_identity(self) -> Optional[pulumi.Input['RunCommandManagedIdentityArgs']]: + """ + User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + """ + return pulumi.get(self, "output_blob_managed_identity") + + @output_blob_managed_identity.setter + def output_blob_managed_identity(self, value: Optional[pulumi.Input['RunCommandManagedIdentityArgs']]): + pulumi.set(self, "output_blob_managed_identity", value) + + @property + @pulumi.getter(name="outputBlobUri") + def output_blob_uri(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + """ + return pulumi.get(self, "output_blob_uri") + + @output_blob_uri.setter + def output_blob_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "output_blob_uri", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]: + """ + The parameters used by the script. + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]): + pulumi.set(self, "parameters", value) + + @property + @pulumi.getter(name="protectedParameters") + def protected_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]: + """ + The parameters used by the script. + """ + return pulumi.get(self, "protected_parameters") + + @protected_parameters.setter + def protected_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]): + pulumi.set(self, "protected_parameters", value) + + @property + @pulumi.getter(name="runAsPassword") + def run_as_password(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the user account password on the VM when executing the run command. + """ + return pulumi.get(self, "run_as_password") + + @run_as_password.setter + def run_as_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "run_as_password", value) + + @property + @pulumi.getter(name="runAsUser") + def run_as_user(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the user account on the VM when executing the run command. + """ + return pulumi.get(self, "run_as_user") + + @run_as_user.setter + def run_as_user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "run_as_user", value) + + @property + @pulumi.getter(name="runCommandName") + def run_command_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the virtual machine run command. + """ + return pulumi.get(self, "run_command_name") + + @run_command_name.setter + def run_command_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "run_command_name", value) + + @property + @pulumi.getter + def source(self) -> Optional[pulumi.Input['VirtualMachineRunCommandScriptSourceArgs']]: + """ + The source of the run command script. + """ + return pulumi.get(self, "source") + + @source.setter + def source(self, value: Optional[pulumi.Input['VirtualMachineRunCommandScriptSourceArgs']]): + pulumi.set(self, "source", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="timeoutInSeconds") + def timeout_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The timeout in seconds to execute the run command. + """ + return pulumi.get(self, "timeout_in_seconds") + + @timeout_in_seconds.setter + def timeout_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "timeout_in_seconds", value) + + @property + @pulumi.getter(name="treatFailureAsDeploymentFailure") + def treat_failure_as_deployment_failure(self) -> Optional[pulumi.Input[bool]]: + """ + Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + """ + return pulumi.get(self, "treat_failure_as_deployment_failure") + + @treat_failure_as_deployment_failure.setter + def treat_failure_as_deployment_failure(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "treat_failure_as_deployment_failure", value) + + +class VirtualMachineRunCommandByVirtualMachine(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + async_execution: Optional[pulumi.Input[bool]] = None, + error_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, + error_blob_uri: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + output_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, + output_blob_uri: Optional[pulumi.Input[str]] = None, + parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, + protected_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + run_as_password: Optional[pulumi.Input[str]] = None, + run_as_user: Optional[pulumi.Input[str]] = None, + run_command_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input[pulumi.InputType['VirtualMachineRunCommandScriptSourceArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeout_in_seconds: Optional[pulumi.Input[int]] = None, + treat_failure_as_deployment_failure: Optional[pulumi.Input[bool]] = None, + vm_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Describes a Virtual Machine run command. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] async_execution: Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + :param pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']] error_blob_managed_identity: User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + :param pulumi.Input[str] error_blob_uri: Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']] output_blob_managed_identity: User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + :param pulumi.Input[str] output_blob_uri: Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]] parameters: The parameters used by the script. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]] protected_parameters: The parameters used by the script. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] run_as_password: Specifies the user account password on the VM when executing the run command. + :param pulumi.Input[str] run_as_user: Specifies the user account on the VM when executing the run command. + :param pulumi.Input[str] run_command_name: The name of the virtual machine run command. + :param pulumi.Input[pulumi.InputType['VirtualMachineRunCommandScriptSourceArgs']] source: The source of the run command script. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[int] timeout_in_seconds: The timeout in seconds to execute the run command. + :param pulumi.Input[bool] treat_failure_as_deployment_failure: Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + :param pulumi.Input[str] vm_name: The name of the virtual machine where the run command should be created or updated. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VirtualMachineRunCommandByVirtualMachineArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Describes a Virtual Machine run command. + + :param str resource_name: The name of the resource. + :param VirtualMachineRunCommandByVirtualMachineArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VirtualMachineRunCommandByVirtualMachineArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + async_execution: Optional[pulumi.Input[bool]] = None, + error_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, + error_blob_uri: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + output_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, + output_blob_uri: Optional[pulumi.Input[str]] = None, + parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, + protected_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + run_as_password: Optional[pulumi.Input[str]] = None, + run_as_user: Optional[pulumi.Input[str]] = None, + run_command_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input[pulumi.InputType['VirtualMachineRunCommandScriptSourceArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeout_in_seconds: Optional[pulumi.Input[int]] = None, + treat_failure_as_deployment_failure: Optional[pulumi.Input[bool]] = None, + vm_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VirtualMachineRunCommandByVirtualMachineArgs.__new__(VirtualMachineRunCommandByVirtualMachineArgs) + + if async_execution is None: + async_execution = False + __props__.__dict__["async_execution"] = async_execution + __props__.__dict__["error_blob_managed_identity"] = error_blob_managed_identity + __props__.__dict__["error_blob_uri"] = error_blob_uri + __props__.__dict__["location"] = location + __props__.__dict__["output_blob_managed_identity"] = output_blob_managed_identity + __props__.__dict__["output_blob_uri"] = output_blob_uri + __props__.__dict__["parameters"] = parameters + __props__.__dict__["protected_parameters"] = protected_parameters + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["run_as_password"] = run_as_password + __props__.__dict__["run_as_user"] = run_as_user + __props__.__dict__["run_command_name"] = run_command_name + __props__.__dict__["source"] = source + __props__.__dict__["tags"] = tags + __props__.__dict__["timeout_in_seconds"] = timeout_in_seconds + if treat_failure_as_deployment_failure is None: + treat_failure_as_deployment_failure = False + __props__.__dict__["treat_failure_as_deployment_failure"] = treat_failure_as_deployment_failure + if vm_name is None and not opts.urn: + raise TypeError("Missing required property 'vm_name'") + __props__.__dict__["vm_name"] = vm_name + __props__.__dict__["instance_view"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineRunCommandByVirtualMachine")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(VirtualMachineRunCommandByVirtualMachine, __self__).__init__( + 'azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'VirtualMachineRunCommandByVirtualMachine': + """ + Get an existing VirtualMachineRunCommandByVirtualMachine resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = VirtualMachineRunCommandByVirtualMachineArgs.__new__(VirtualMachineRunCommandByVirtualMachineArgs) + + __props__.__dict__["async_execution"] = None + __props__.__dict__["error_blob_managed_identity"] = None + __props__.__dict__["error_blob_uri"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["output_blob_managed_identity"] = None + __props__.__dict__["output_blob_uri"] = None + __props__.__dict__["parameters"] = None + __props__.__dict__["protected_parameters"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["run_as_password"] = None + __props__.__dict__["run_as_user"] = None + __props__.__dict__["source"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["timeout_in_seconds"] = None + __props__.__dict__["treat_failure_as_deployment_failure"] = None + __props__.__dict__["type"] = None + return VirtualMachineRunCommandByVirtualMachine(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="asyncExecution") + def async_execution(self) -> pulumi.Output[Optional[bool]]: + """ + Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + """ + return pulumi.get(self, "async_execution") + + @property + @pulumi.getter(name="errorBlobManagedIdentity") + def error_blob_managed_identity(self) -> pulumi.Output[Optional['outputs.RunCommandManagedIdentityResponse']]: + """ + User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + """ + return pulumi.get(self, "error_blob_managed_identity") + + @property + @pulumi.getter(name="errorBlobUri") + def error_blob_uri(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + """ + return pulumi.get(self, "error_blob_uri") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> pulumi.Output['outputs.VirtualMachineRunCommandInstanceViewResponse']: + """ + The virtual machine run command instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="outputBlobManagedIdentity") + def output_blob_managed_identity(self) -> pulumi.Output[Optional['outputs.RunCommandManagedIdentityResponse']]: + """ + User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + """ + return pulumi.get(self, "output_blob_managed_identity") + + @property + @pulumi.getter(name="outputBlobUri") + def output_blob_uri(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + """ + return pulumi.get(self, "output_blob_uri") + + @property + @pulumi.getter + def parameters(self) -> pulumi.Output[Optional[Sequence['outputs.RunCommandInputParameterResponse']]]: + """ + The parameters used by the script. + """ + return pulumi.get(self, "parameters") + + @property + @pulumi.getter(name="protectedParameters") + def protected_parameters(self) -> pulumi.Output[Optional[Sequence['outputs.RunCommandInputParameterResponse']]]: + """ + The parameters used by the script. + """ + return pulumi.get(self, "protected_parameters") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="runAsPassword") + def run_as_password(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the user account password on the VM when executing the run command. + """ + return pulumi.get(self, "run_as_password") + + @property + @pulumi.getter(name="runAsUser") + def run_as_user(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the user account on the VM when executing the run command. + """ + return pulumi.get(self, "run_as_user") + + @property + @pulumi.getter + def source(self) -> pulumi.Output[Optional['outputs.VirtualMachineRunCommandScriptSourceResponse']]: + """ + The source of the run command script. + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeoutInSeconds") + def timeout_in_seconds(self) -> pulumi.Output[Optional[int]]: + """ + The timeout in seconds to execute the run command. + """ + return pulumi.get(self, "timeout_in_seconds") + + @property + @pulumi.getter(name="treatFailureAsDeploymentFailure") + def treat_failure_as_deployment_failure(self) -> pulumi.Output[Optional[bool]]: + """ + Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + """ + return pulumi.get(self, "treat_failure_as_deployment_failure") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set.py b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set.py new file mode 100644 index 000000000000..7bf5eb3fa6de --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set.py @@ -0,0 +1,853 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['VirtualMachineScaleSetArgs', 'VirtualMachineScaleSet'] + +@pulumi.input_type +class VirtualMachineScaleSetArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + additional_capabilities: Optional[pulumi.Input['AdditionalCapabilitiesArgs']] = None, + automatic_repairs_policy: Optional[pulumi.Input['AutomaticRepairsPolicyArgs']] = None, + constrained_maximum_capacity: Optional[pulumi.Input[bool]] = None, + do_not_run_extensions_on_overprovisioned_vms: Optional[pulumi.Input[bool]] = None, + extended_location: Optional[pulumi.Input['ExtendedLocationArgs']] = None, + host_group: Optional[pulumi.Input['SubResourceArgs']] = None, + identity: Optional[pulumi.Input['VirtualMachineScaleSetIdentityArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + orchestration_mode: Optional[pulumi.Input[Union[str, 'OrchestrationMode']]] = None, + overprovision: Optional[pulumi.Input[bool]] = None, + plan: Optional[pulumi.Input['PlanArgs']] = None, + platform_fault_domain_count: Optional[pulumi.Input[int]] = None, + priority_mix_policy: Optional[pulumi.Input['PriorityMixPolicyArgs']] = None, + proximity_placement_group: Optional[pulumi.Input['SubResourceArgs']] = None, + scale_in_policy: Optional[pulumi.Input['ScaleInPolicyArgs']] = None, + single_placement_group: Optional[pulumi.Input[bool]] = None, + sku: Optional[pulumi.Input['SkuArgs']] = None, + spot_restore_policy: Optional[pulumi.Input['SpotRestorePolicyArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + upgrade_policy: Optional[pulumi.Input['UpgradePolicyArgs']] = None, + virtual_machine_profile: Optional[pulumi.Input['VirtualMachineScaleSetVMProfileArgs']] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + zone_balance: Optional[pulumi.Input[bool]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a VirtualMachineScaleSet resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input['AdditionalCapabilitiesArgs'] additional_capabilities: Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + :param pulumi.Input['AutomaticRepairsPolicyArgs'] automatic_repairs_policy: Policy for automatic repairs. + :param pulumi.Input[bool] constrained_maximum_capacity: Optional property which must either be set to True or omitted. + :param pulumi.Input[bool] do_not_run_extensions_on_overprovisioned_vms: When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + :param pulumi.Input['ExtendedLocationArgs'] extended_location: The extended location of the Virtual Machine Scale Set. + :param pulumi.Input['SubResourceArgs'] host_group: Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + :param pulumi.Input['VirtualMachineScaleSetIdentityArgs'] identity: The identity of the virtual machine scale set, if configured. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[Union[str, 'OrchestrationMode']] orchestration_mode: Specifies the orchestration mode for the virtual machine scale set. + :param pulumi.Input[bool] overprovision: Specifies whether the Virtual Machine Scale Set should be overprovisioned. + :param pulumi.Input['PlanArgs'] plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + :param pulumi.Input[int] platform_fault_domain_count: Fault Domain count for each placement group. + :param pulumi.Input['PriorityMixPolicyArgs'] priority_mix_policy: Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + :param pulumi.Input['SubResourceArgs'] proximity_placement_group: Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + :param pulumi.Input['ScaleInPolicyArgs'] scale_in_policy: Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + :param pulumi.Input[bool] single_placement_group: When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. + :param pulumi.Input['SkuArgs'] sku: The virtual machine scale set sku. + :param pulumi.Input['SpotRestorePolicyArgs'] spot_restore_policy: Specifies the Spot Restore properties for the virtual machine scale set. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input['UpgradePolicyArgs'] upgrade_policy: The upgrade policy. + :param pulumi.Input['VirtualMachineScaleSetVMProfileArgs'] virtual_machine_profile: The virtual machine profile. + :param pulumi.Input[str] vm_scale_set_name: The name of the VM scale set to create or update. + :param pulumi.Input[bool] zone_balance: Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if additional_capabilities is not None: + pulumi.set(__self__, "additional_capabilities", additional_capabilities) + if automatic_repairs_policy is not None: + pulumi.set(__self__, "automatic_repairs_policy", automatic_repairs_policy) + if constrained_maximum_capacity is not None: + pulumi.set(__self__, "constrained_maximum_capacity", constrained_maximum_capacity) + if do_not_run_extensions_on_overprovisioned_vms is not None: + pulumi.set(__self__, "do_not_run_extensions_on_overprovisioned_vms", do_not_run_extensions_on_overprovisioned_vms) + if extended_location is not None: + pulumi.set(__self__, "extended_location", extended_location) + if host_group is not None: + pulumi.set(__self__, "host_group", host_group) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if location is not None: + pulumi.set(__self__, "location", location) + if orchestration_mode is not None: + pulumi.set(__self__, "orchestration_mode", orchestration_mode) + if overprovision is not None: + pulumi.set(__self__, "overprovision", overprovision) + if plan is not None: + pulumi.set(__self__, "plan", plan) + if platform_fault_domain_count is not None: + pulumi.set(__self__, "platform_fault_domain_count", platform_fault_domain_count) + if priority_mix_policy is not None: + pulumi.set(__self__, "priority_mix_policy", priority_mix_policy) + if proximity_placement_group is not None: + pulumi.set(__self__, "proximity_placement_group", proximity_placement_group) + if scale_in_policy is not None: + pulumi.set(__self__, "scale_in_policy", scale_in_policy) + if single_placement_group is not None: + pulumi.set(__self__, "single_placement_group", single_placement_group) + if sku is not None: + pulumi.set(__self__, "sku", sku) + if spot_restore_policy is not None: + pulumi.set(__self__, "spot_restore_policy", spot_restore_policy) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if upgrade_policy is not None: + pulumi.set(__self__, "upgrade_policy", upgrade_policy) + if virtual_machine_profile is not None: + pulumi.set(__self__, "virtual_machine_profile", virtual_machine_profile) + if vm_scale_set_name is not None: + pulumi.set(__self__, "vm_scale_set_name", vm_scale_set_name) + if zone_balance is not None: + pulumi.set(__self__, "zone_balance", zone_balance) + if zones is not None: + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="additionalCapabilities") + def additional_capabilities(self) -> Optional[pulumi.Input['AdditionalCapabilitiesArgs']]: + """ + Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + """ + return pulumi.get(self, "additional_capabilities") + + @additional_capabilities.setter + def additional_capabilities(self, value: Optional[pulumi.Input['AdditionalCapabilitiesArgs']]): + pulumi.set(self, "additional_capabilities", value) + + @property + @pulumi.getter(name="automaticRepairsPolicy") + def automatic_repairs_policy(self) -> Optional[pulumi.Input['AutomaticRepairsPolicyArgs']]: + """ + Policy for automatic repairs. + """ + return pulumi.get(self, "automatic_repairs_policy") + + @automatic_repairs_policy.setter + def automatic_repairs_policy(self, value: Optional[pulumi.Input['AutomaticRepairsPolicyArgs']]): + pulumi.set(self, "automatic_repairs_policy", value) + + @property + @pulumi.getter(name="constrainedMaximumCapacity") + def constrained_maximum_capacity(self) -> Optional[pulumi.Input[bool]]: + """ + Optional property which must either be set to True or omitted. + """ + return pulumi.get(self, "constrained_maximum_capacity") + + @constrained_maximum_capacity.setter + def constrained_maximum_capacity(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "constrained_maximum_capacity", value) + + @property + @pulumi.getter(name="doNotRunExtensionsOnOverprovisionedVMs") + def do_not_run_extensions_on_overprovisioned_vms(self) -> Optional[pulumi.Input[bool]]: + """ + When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + """ + return pulumi.get(self, "do_not_run_extensions_on_overprovisioned_vms") + + @do_not_run_extensions_on_overprovisioned_vms.setter + def do_not_run_extensions_on_overprovisioned_vms(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "do_not_run_extensions_on_overprovisioned_vms", value) + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional[pulumi.Input['ExtendedLocationArgs']]: + """ + The extended location of the Virtual Machine Scale Set. + """ + return pulumi.get(self, "extended_location") + + @extended_location.setter + def extended_location(self, value: Optional[pulumi.Input['ExtendedLocationArgs']]): + pulumi.set(self, "extended_location", value) + + @property + @pulumi.getter(name="hostGroup") + def host_group(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "host_group") + + @host_group.setter + def host_group(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "host_group", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['VirtualMachineScaleSetIdentityArgs']]: + """ + The identity of the virtual machine scale set, if configured. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['VirtualMachineScaleSetIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="orchestrationMode") + def orchestration_mode(self) -> Optional[pulumi.Input[Union[str, 'OrchestrationMode']]]: + """ + Specifies the orchestration mode for the virtual machine scale set. + """ + return pulumi.get(self, "orchestration_mode") + + @orchestration_mode.setter + def orchestration_mode(self, value: Optional[pulumi.Input[Union[str, 'OrchestrationMode']]]): + pulumi.set(self, "orchestration_mode", value) + + @property + @pulumi.getter + def overprovision(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the Virtual Machine Scale Set should be overprovisioned. + """ + return pulumi.get(self, "overprovision") + + @overprovision.setter + def overprovision(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "overprovision", value) + + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['PlanArgs']]: + """ + Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + """ + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['PlanArgs']]): + pulumi.set(self, "plan", value) + + @property + @pulumi.getter(name="platformFaultDomainCount") + def platform_fault_domain_count(self) -> Optional[pulumi.Input[int]]: + """ + Fault Domain count for each placement group. + """ + return pulumi.get(self, "platform_fault_domain_count") + + @platform_fault_domain_count.setter + def platform_fault_domain_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "platform_fault_domain_count", value) + + @property + @pulumi.getter(name="priorityMixPolicy") + def priority_mix_policy(self) -> Optional[pulumi.Input['PriorityMixPolicyArgs']]: + """ + Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + """ + return pulumi.get(self, "priority_mix_policy") + + @priority_mix_policy.setter + def priority_mix_policy(self, value: Optional[pulumi.Input['PriorityMixPolicyArgs']]): + pulumi.set(self, "priority_mix_policy", value) + + @property + @pulumi.getter(name="proximityPlacementGroup") + def proximity_placement_group(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + """ + return pulumi.get(self, "proximity_placement_group") + + @proximity_placement_group.setter + def proximity_placement_group(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "proximity_placement_group", value) + + @property + @pulumi.getter(name="scaleInPolicy") + def scale_in_policy(self) -> Optional[pulumi.Input['ScaleInPolicyArgs']]: + """ + Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + """ + return pulumi.get(self, "scale_in_policy") + + @scale_in_policy.setter + def scale_in_policy(self, value: Optional[pulumi.Input['ScaleInPolicyArgs']]): + pulumi.set(self, "scale_in_policy", value) + + @property + @pulumi.getter(name="singlePlacementGroup") + def single_placement_group(self) -> Optional[pulumi.Input[bool]]: + """ + When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. + """ + return pulumi.get(self, "single_placement_group") + + @single_placement_group.setter + def single_placement_group(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "single_placement_group", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input['SkuArgs']]: + """ + The virtual machine scale set sku. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input['SkuArgs']]): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter(name="spotRestorePolicy") + def spot_restore_policy(self) -> Optional[pulumi.Input['SpotRestorePolicyArgs']]: + """ + Specifies the Spot Restore properties for the virtual machine scale set. + """ + return pulumi.get(self, "spot_restore_policy") + + @spot_restore_policy.setter + def spot_restore_policy(self, value: Optional[pulumi.Input['SpotRestorePolicyArgs']]): + pulumi.set(self, "spot_restore_policy", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="upgradePolicy") + def upgrade_policy(self) -> Optional[pulumi.Input['UpgradePolicyArgs']]: + """ + The upgrade policy. + """ + return pulumi.get(self, "upgrade_policy") + + @upgrade_policy.setter + def upgrade_policy(self, value: Optional[pulumi.Input['UpgradePolicyArgs']]): + pulumi.set(self, "upgrade_policy", value) + + @property + @pulumi.getter(name="virtualMachineProfile") + def virtual_machine_profile(self) -> Optional[pulumi.Input['VirtualMachineScaleSetVMProfileArgs']]: + """ + The virtual machine profile. + """ + return pulumi.get(self, "virtual_machine_profile") + + @virtual_machine_profile.setter + def virtual_machine_profile(self, value: Optional[pulumi.Input['VirtualMachineScaleSetVMProfileArgs']]): + pulumi.set(self, "virtual_machine_profile", value) + + @property + @pulumi.getter(name="vmScaleSetName") + def vm_scale_set_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the VM scale set to create or update. + """ + return pulumi.get(self, "vm_scale_set_name") + + @vm_scale_set_name.setter + def vm_scale_set_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vm_scale_set_name", value) + + @property + @pulumi.getter(name="zoneBalance") + def zone_balance(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. + """ + return pulumi.get(self, "zone_balance") + + @zone_balance.setter + def zone_balance(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "zone_balance", value) + + @property + @pulumi.getter + def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set + """ + return pulumi.get(self, "zones") + + @zones.setter + def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "zones", value) + + +class VirtualMachineScaleSet(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + additional_capabilities: Optional[pulumi.Input[pulumi.InputType['AdditionalCapabilitiesArgs']]] = None, + automatic_repairs_policy: Optional[pulumi.Input[pulumi.InputType['AutomaticRepairsPolicyArgs']]] = None, + constrained_maximum_capacity: Optional[pulumi.Input[bool]] = None, + do_not_run_extensions_on_overprovisioned_vms: Optional[pulumi.Input[bool]] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + host_group: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['VirtualMachineScaleSetIdentityArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + orchestration_mode: Optional[pulumi.Input[Union[str, 'OrchestrationMode']]] = None, + overprovision: Optional[pulumi.Input[bool]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['PlanArgs']]] = None, + platform_fault_domain_count: Optional[pulumi.Input[int]] = None, + priority_mix_policy: Optional[pulumi.Input[pulumi.InputType['PriorityMixPolicyArgs']]] = None, + proximity_placement_group: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + scale_in_policy: Optional[pulumi.Input[pulumi.InputType['ScaleInPolicyArgs']]] = None, + single_placement_group: Optional[pulumi.Input[bool]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + spot_restore_policy: Optional[pulumi.Input[pulumi.InputType['SpotRestorePolicyArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + upgrade_policy: Optional[pulumi.Input[pulumi.InputType['UpgradePolicyArgs']]] = None, + virtual_machine_profile: Optional[pulumi.Input[pulumi.InputType['VirtualMachineScaleSetVMProfileArgs']]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + zone_balance: Optional[pulumi.Input[bool]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Describes a Virtual Machine Scale Set. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['AdditionalCapabilitiesArgs']] additional_capabilities: Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + :param pulumi.Input[pulumi.InputType['AutomaticRepairsPolicyArgs']] automatic_repairs_policy: Policy for automatic repairs. + :param pulumi.Input[bool] constrained_maximum_capacity: Optional property which must either be set to True or omitted. + :param pulumi.Input[bool] do_not_run_extensions_on_overprovisioned_vms: When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + :param pulumi.Input[pulumi.InputType['ExtendedLocationArgs']] extended_location: The extended location of the Virtual Machine Scale Set. + :param pulumi.Input[pulumi.InputType['SubResourceArgs']] host_group: Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + :param pulumi.Input[pulumi.InputType['VirtualMachineScaleSetIdentityArgs']] identity: The identity of the virtual machine scale set, if configured. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[Union[str, 'OrchestrationMode']] orchestration_mode: Specifies the orchestration mode for the virtual machine scale set. + :param pulumi.Input[bool] overprovision: Specifies whether the Virtual Machine Scale Set should be overprovisioned. + :param pulumi.Input[pulumi.InputType['PlanArgs']] plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + :param pulumi.Input[int] platform_fault_domain_count: Fault Domain count for each placement group. + :param pulumi.Input[pulumi.InputType['PriorityMixPolicyArgs']] priority_mix_policy: Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + :param pulumi.Input[pulumi.InputType['SubResourceArgs']] proximity_placement_group: Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[pulumi.InputType['ScaleInPolicyArgs']] scale_in_policy: Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + :param pulumi.Input[bool] single_placement_group: When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. + :param pulumi.Input[pulumi.InputType['SkuArgs']] sku: The virtual machine scale set sku. + :param pulumi.Input[pulumi.InputType['SpotRestorePolicyArgs']] spot_restore_policy: Specifies the Spot Restore properties for the virtual machine scale set. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[pulumi.InputType['UpgradePolicyArgs']] upgrade_policy: The upgrade policy. + :param pulumi.Input[pulumi.InputType['VirtualMachineScaleSetVMProfileArgs']] virtual_machine_profile: The virtual machine profile. + :param pulumi.Input[str] vm_scale_set_name: The name of the VM scale set to create or update. + :param pulumi.Input[bool] zone_balance: Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VirtualMachineScaleSetArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Describes a Virtual Machine Scale Set. + + :param str resource_name: The name of the resource. + :param VirtualMachineScaleSetArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VirtualMachineScaleSetArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + additional_capabilities: Optional[pulumi.Input[pulumi.InputType['AdditionalCapabilitiesArgs']]] = None, + automatic_repairs_policy: Optional[pulumi.Input[pulumi.InputType['AutomaticRepairsPolicyArgs']]] = None, + constrained_maximum_capacity: Optional[pulumi.Input[bool]] = None, + do_not_run_extensions_on_overprovisioned_vms: Optional[pulumi.Input[bool]] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + host_group: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['VirtualMachineScaleSetIdentityArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + orchestration_mode: Optional[pulumi.Input[Union[str, 'OrchestrationMode']]] = None, + overprovision: Optional[pulumi.Input[bool]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['PlanArgs']]] = None, + platform_fault_domain_count: Optional[pulumi.Input[int]] = None, + priority_mix_policy: Optional[pulumi.Input[pulumi.InputType['PriorityMixPolicyArgs']]] = None, + proximity_placement_group: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + scale_in_policy: Optional[pulumi.Input[pulumi.InputType['ScaleInPolicyArgs']]] = None, + single_placement_group: Optional[pulumi.Input[bool]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + spot_restore_policy: Optional[pulumi.Input[pulumi.InputType['SpotRestorePolicyArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + upgrade_policy: Optional[pulumi.Input[pulumi.InputType['UpgradePolicyArgs']]] = None, + virtual_machine_profile: Optional[pulumi.Input[pulumi.InputType['VirtualMachineScaleSetVMProfileArgs']]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + zone_balance: Optional[pulumi.Input[bool]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VirtualMachineScaleSetArgs.__new__(VirtualMachineScaleSetArgs) + + __props__.__dict__["additional_capabilities"] = additional_capabilities + __props__.__dict__["automatic_repairs_policy"] = automatic_repairs_policy + __props__.__dict__["constrained_maximum_capacity"] = constrained_maximum_capacity + __props__.__dict__["do_not_run_extensions_on_overprovisioned_vms"] = do_not_run_extensions_on_overprovisioned_vms + __props__.__dict__["extended_location"] = extended_location + __props__.__dict__["host_group"] = host_group + __props__.__dict__["identity"] = identity + __props__.__dict__["location"] = location + __props__.__dict__["orchestration_mode"] = orchestration_mode + __props__.__dict__["overprovision"] = overprovision + __props__.__dict__["plan"] = plan + __props__.__dict__["platform_fault_domain_count"] = platform_fault_domain_count + __props__.__dict__["priority_mix_policy"] = priority_mix_policy + __props__.__dict__["proximity_placement_group"] = proximity_placement_group + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["scale_in_policy"] = scale_in_policy + __props__.__dict__["single_placement_group"] = single_placement_group + __props__.__dict__["sku"] = sku + __props__.__dict__["spot_restore_policy"] = spot_restore_policy + __props__.__dict__["tags"] = tags + __props__.__dict__["upgrade_policy"] = upgrade_policy + __props__.__dict__["virtual_machine_profile"] = virtual_machine_profile + __props__.__dict__["vm_scale_set_name"] = vm_scale_set_name + __props__.__dict__["zone_balance"] = zone_balance + __props__.__dict__["zones"] = zones + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["unique_id"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSet")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(VirtualMachineScaleSet, __self__).__init__( + 'azure-native:compute/v20230701:VirtualMachineScaleSet', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'VirtualMachineScaleSet': + """ + Get an existing VirtualMachineScaleSet resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = VirtualMachineScaleSetArgs.__new__(VirtualMachineScaleSetArgs) + + __props__.__dict__["additional_capabilities"] = None + __props__.__dict__["automatic_repairs_policy"] = None + __props__.__dict__["constrained_maximum_capacity"] = None + __props__.__dict__["do_not_run_extensions_on_overprovisioned_vms"] = None + __props__.__dict__["extended_location"] = None + __props__.__dict__["host_group"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["orchestration_mode"] = None + __props__.__dict__["overprovision"] = None + __props__.__dict__["plan"] = None + __props__.__dict__["platform_fault_domain_count"] = None + __props__.__dict__["priority_mix_policy"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["proximity_placement_group"] = None + __props__.__dict__["scale_in_policy"] = None + __props__.__dict__["single_placement_group"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["spot_restore_policy"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["unique_id"] = None + __props__.__dict__["upgrade_policy"] = None + __props__.__dict__["virtual_machine_profile"] = None + __props__.__dict__["zone_balance"] = None + __props__.__dict__["zones"] = None + return VirtualMachineScaleSet(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="additionalCapabilities") + def additional_capabilities(self) -> pulumi.Output[Optional['outputs.AdditionalCapabilitiesResponse']]: + """ + Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + """ + return pulumi.get(self, "additional_capabilities") + + @property + @pulumi.getter(name="automaticRepairsPolicy") + def automatic_repairs_policy(self) -> pulumi.Output[Optional['outputs.AutomaticRepairsPolicyResponse']]: + """ + Policy for automatic repairs. + """ + return pulumi.get(self, "automatic_repairs_policy") + + @property + @pulumi.getter(name="constrainedMaximumCapacity") + def constrained_maximum_capacity(self) -> pulumi.Output[Optional[bool]]: + """ + Optional property which must either be set to True or omitted. + """ + return pulumi.get(self, "constrained_maximum_capacity") + + @property + @pulumi.getter(name="doNotRunExtensionsOnOverprovisionedVMs") + def do_not_run_extensions_on_overprovisioned_vms(self) -> pulumi.Output[Optional[bool]]: + """ + When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + """ + return pulumi.get(self, "do_not_run_extensions_on_overprovisioned_vms") + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> pulumi.Output[Optional['outputs.ExtendedLocationResponse']]: + """ + The extended location of the Virtual Machine Scale Set. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter(name="hostGroup") + def host_group(self) -> pulumi.Output[Optional['outputs.SubResourceResponse']]: + """ + Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01. + """ + return pulumi.get(self, "host_group") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.VirtualMachineScaleSetIdentityResponse']]: + """ + The identity of the virtual machine scale set, if configured. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="orchestrationMode") + def orchestration_mode(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the orchestration mode for the virtual machine scale set. + """ + return pulumi.get(self, "orchestration_mode") + + @property + @pulumi.getter + def overprovision(self) -> pulumi.Output[Optional[bool]]: + """ + Specifies whether the Virtual Machine Scale Set should be overprovisioned. + """ + return pulumi.get(self, "overprovision") + + @property + @pulumi.getter + def plan(self) -> pulumi.Output[Optional['outputs.PlanResponse']]: + """ + Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + """ + return pulumi.get(self, "plan") + + @property + @pulumi.getter(name="platformFaultDomainCount") + def platform_fault_domain_count(self) -> pulumi.Output[Optional[int]]: + """ + Fault Domain count for each placement group. + """ + return pulumi.get(self, "platform_fault_domain_count") + + @property + @pulumi.getter(name="priorityMixPolicy") + def priority_mix_policy(self) -> pulumi.Output[Optional['outputs.PriorityMixPolicyResponse']]: + """ + Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance. + """ + return pulumi.get(self, "priority_mix_policy") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="proximityPlacementGroup") + def proximity_placement_group(self) -> pulumi.Output[Optional['outputs.SubResourceResponse']]: + """ + Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01. + """ + return pulumi.get(self, "proximity_placement_group") + + @property + @pulumi.getter(name="scaleInPolicy") + def scale_in_policy(self) -> pulumi.Output[Optional['outputs.ScaleInPolicyResponse']]: + """ + Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set. + """ + return pulumi.get(self, "scale_in_policy") + + @property + @pulumi.getter(name="singlePlacementGroup") + def single_placement_group(self) -> pulumi.Output[Optional[bool]]: + """ + When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true. + """ + return pulumi.get(self, "single_placement_group") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output[Optional['outputs.SkuResponse']]: + """ + The virtual machine scale set sku. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="spotRestorePolicy") + def spot_restore_policy(self) -> pulumi.Output[Optional['outputs.SpotRestorePolicyResponse']]: + """ + Specifies the Spot Restore properties for the virtual machine scale set. + """ + return pulumi.get(self, "spot_restore_policy") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> pulumi.Output[str]: + """ + Specifies the time at which the Virtual Machine Scale Set resource was created. Minimum api-version: 2021-11-01. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="uniqueId") + def unique_id(self) -> pulumi.Output[str]: + """ + Specifies the ID which uniquely identifies a Virtual Machine Scale Set. + """ + return pulumi.get(self, "unique_id") + + @property + @pulumi.getter(name="upgradePolicy") + def upgrade_policy(self) -> pulumi.Output[Optional['outputs.UpgradePolicyResponse']]: + """ + The upgrade policy. + """ + return pulumi.get(self, "upgrade_policy") + + @property + @pulumi.getter(name="virtualMachineProfile") + def virtual_machine_profile(self) -> pulumi.Output[Optional['outputs.VirtualMachineScaleSetVMProfileResponse']]: + """ + The virtual machine profile. + """ + return pulumi.get(self, "virtual_machine_profile") + + @property + @pulumi.getter(name="zoneBalance") + def zone_balance(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set. + """ + return pulumi.get(self, "zone_balance") + + @property + @pulumi.getter + def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set + """ + return pulumi.get(self, "zones") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set_extension.py b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set_extension.py new file mode 100644 index 000000000000..0bcf329082fb --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set_extension.py @@ -0,0 +1,514 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['VirtualMachineScaleSetExtensionInitArgs', 'VirtualMachineScaleSetExtension'] + +@pulumi.input_type +class VirtualMachineScaleSetExtensionInitArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + vm_scale_set_name: pulumi.Input[str], + auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, + enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, + force_update_tag: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional[pulumi.Input['KeyVaultSecretReferenceArgs']] = None, + provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + publisher: Optional[pulumi.Input[str]] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[pulumi.Input[bool]] = None, + type: Optional[pulumi.Input[str]] = None, + type_handler_version: Optional[pulumi.Input[str]] = None, + vmss_extension_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a VirtualMachineScaleSetExtension resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] vm_scale_set_name: The name of the VM scale set where the extension should be create or updated. + :param pulumi.Input[bool] auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + :param pulumi.Input[bool] enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + :param pulumi.Input[str] force_update_tag: If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + :param pulumi.Input[str] name: The name of the extension. + :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + :param pulumi.Input['KeyVaultSecretReferenceArgs'] protected_settings_from_key_vault: The extensions protected settings that are passed by reference, and consumed from key vault + :param pulumi.Input[Sequence[pulumi.Input[str]]] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned. + :param pulumi.Input[str] publisher: The name of the extension handler publisher. + :param Any settings: Json formatted public settings for the extension. + :param pulumi.Input[bool] suppress_failures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension". + :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler. + :param pulumi.Input[str] vmss_extension_name: The name of the VM scale set extension. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "vm_scale_set_name", vm_scale_set_name) + if auto_upgrade_minor_version is not None: + pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) + if enable_automatic_upgrade is not None: + pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) + if force_update_tag is not None: + pulumi.set(__self__, "force_update_tag", force_update_tag) + if name is not None: + pulumi.set(__self__, "name", name) + if protected_settings is not None: + pulumi.set(__self__, "protected_settings", protected_settings) + if protected_settings_from_key_vault is not None: + pulumi.set(__self__, "protected_settings_from_key_vault", protected_settings_from_key_vault) + if provision_after_extensions is not None: + pulumi.set(__self__, "provision_after_extensions", provision_after_extensions) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + if settings is not None: + pulumi.set(__self__, "settings", settings) + if suppress_failures is not None: + pulumi.set(__self__, "suppress_failures", suppress_failures) + if type is not None: + pulumi.set(__self__, "type", type) + if type_handler_version is not None: + pulumi.set(__self__, "type_handler_version", type_handler_version) + if vmss_extension_name is not None: + pulumi.set(__self__, "vmss_extension_name", vmss_extension_name) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="vmScaleSetName") + def vm_scale_set_name(self) -> pulumi.Input[str]: + """ + The name of the VM scale set where the extension should be create or updated. + """ + return pulumi.get(self, "vm_scale_set_name") + + @vm_scale_set_name.setter + def vm_scale_set_name(self, value: pulumi.Input[str]): + pulumi.set(self, "vm_scale_set_name", value) + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @auto_upgrade_minor_version.setter + def auto_upgrade_minor_version(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_upgrade_minor_version", value) + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @enable_automatic_upgrade.setter + def enable_automatic_upgrade(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_automatic_upgrade", value) + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> Optional[pulumi.Input[str]]: + """ + If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @force_update_tag.setter + def force_update_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "force_update_tag", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the extension. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> Optional[Any]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @protected_settings.setter + def protected_settings(self, value: Optional[Any]): + pulumi.set(self, "protected_settings", value) + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> Optional[pulumi.Input['KeyVaultSecretReferenceArgs']]: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @protected_settings_from_key_vault.setter + def protected_settings_from_key_vault(self, value: Optional[pulumi.Input['KeyVaultSecretReferenceArgs']]): + pulumi.set(self, "protected_settings_from_key_vault", value) + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @provision_after_extensions.setter + def provision_after_extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "provision_after_extensions", value) + + @property + @pulumi.getter + def publisher(self) -> Optional[pulumi.Input[str]]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @publisher.setter + def publisher(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "publisher", value) + + @property + @pulumi.getter + def settings(self) -> Optional[Any]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @settings.setter + def settings(self, value: Optional[Any]): + pulumi.set(self, "settings", value) + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @suppress_failures.setter + def suppress_failures(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "suppress_failures", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the type of the extension; an example is "CustomScriptExtension". + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + @type_handler_version.setter + def type_handler_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type_handler_version", value) + + @property + @pulumi.getter(name="vmssExtensionName") + def vmss_extension_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the VM scale set extension. + """ + return pulumi.get(self, "vmss_extension_name") + + @vmss_extension_name.setter + def vmss_extension_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vmss_extension_name", value) + + +class VirtualMachineScaleSetExtension(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, + enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, + force_update_tag: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional[pulumi.Input[pulumi.InputType['KeyVaultSecretReferenceArgs']]] = None, + provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + publisher: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[pulumi.Input[bool]] = None, + type: Optional[pulumi.Input[str]] = None, + type_handler_version: Optional[pulumi.Input[str]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + vmss_extension_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Describes a Virtual Machine Scale Set Extension. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + :param pulumi.Input[bool] enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + :param pulumi.Input[str] force_update_tag: If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + :param pulumi.Input[str] name: The name of the extension. + :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + :param pulumi.Input[pulumi.InputType['KeyVaultSecretReferenceArgs']] protected_settings_from_key_vault: The extensions protected settings that are passed by reference, and consumed from key vault + :param pulumi.Input[Sequence[pulumi.Input[str]]] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned. + :param pulumi.Input[str] publisher: The name of the extension handler publisher. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param Any settings: Json formatted public settings for the extension. + :param pulumi.Input[bool] suppress_failures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension". + :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler. + :param pulumi.Input[str] vm_scale_set_name: The name of the VM scale set where the extension should be create or updated. + :param pulumi.Input[str] vmss_extension_name: The name of the VM scale set extension. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VirtualMachineScaleSetExtensionInitArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Describes a Virtual Machine Scale Set Extension. + + :param str resource_name: The name of the resource. + :param VirtualMachineScaleSetExtensionInitArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VirtualMachineScaleSetExtensionInitArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, + enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, + force_update_tag: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional[pulumi.Input[pulumi.InputType['KeyVaultSecretReferenceArgs']]] = None, + provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + publisher: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[pulumi.Input[bool]] = None, + type: Optional[pulumi.Input[str]] = None, + type_handler_version: Optional[pulumi.Input[str]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + vmss_extension_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VirtualMachineScaleSetExtensionInitArgs.__new__(VirtualMachineScaleSetExtensionInitArgs) + + __props__.__dict__["auto_upgrade_minor_version"] = auto_upgrade_minor_version + __props__.__dict__["enable_automatic_upgrade"] = enable_automatic_upgrade + __props__.__dict__["force_update_tag"] = force_update_tag + __props__.__dict__["name"] = name + __props__.__dict__["protected_settings"] = protected_settings + __props__.__dict__["protected_settings_from_key_vault"] = protected_settings_from_key_vault + __props__.__dict__["provision_after_extensions"] = provision_after_extensions + __props__.__dict__["publisher"] = publisher + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["settings"] = settings + __props__.__dict__["suppress_failures"] = suppress_failures + __props__.__dict__["type"] = type + __props__.__dict__["type_handler_version"] = type_handler_version + if vm_scale_set_name is None and not opts.urn: + raise TypeError("Missing required property 'vm_scale_set_name'") + __props__.__dict__["vm_scale_set_name"] = vm_scale_set_name + __props__.__dict__["vmss_extension_name"] = vmss_extension_name + __props__.__dict__["provisioning_state"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetExtension")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(VirtualMachineScaleSetExtension, __self__).__init__( + 'azure-native:compute/v20230701:VirtualMachineScaleSetExtension', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'VirtualMachineScaleSetExtension': + """ + Get an existing VirtualMachineScaleSetExtension resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = VirtualMachineScaleSetExtensionInitArgs.__new__(VirtualMachineScaleSetExtensionInitArgs) + + __props__.__dict__["auto_upgrade_minor_version"] = None + __props__.__dict__["enable_automatic_upgrade"] = None + __props__.__dict__["force_update_tag"] = None + __props__.__dict__["name"] = None + __props__.__dict__["protected_settings"] = None + __props__.__dict__["protected_settings_from_key_vault"] = None + __props__.__dict__["provision_after_extensions"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["publisher"] = None + __props__.__dict__["settings"] = None + __props__.__dict__["suppress_failures"] = None + __props__.__dict__["type"] = None + __props__.__dict__["type_handler_version"] = None + return VirtualMachineScaleSetExtension(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> pulumi.Output[Optional[str]]: + """ + If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the extension. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> pulumi.Output[Optional[Any]]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> pulumi.Output[Optional['outputs.KeyVaultSecretReferenceResponse']]: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def publisher(self) -> pulumi.Output[Optional[str]]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @property + @pulumi.getter + def settings(self) -> pulumi.Output[Optional[Any]]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set_vm.py b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set_vm.py new file mode 100644 index 000000000000..78516494e1dc --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set_vm.py @@ -0,0 +1,740 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['VirtualMachineScaleSetVMArgs', 'VirtualMachineScaleSetVM'] + +@pulumi.input_type +class VirtualMachineScaleSetVMArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + vm_scale_set_name: pulumi.Input[str], + additional_capabilities: Optional[pulumi.Input['AdditionalCapabilitiesArgs']] = None, + availability_set: Optional[pulumi.Input['SubResourceArgs']] = None, + diagnostics_profile: Optional[pulumi.Input['DiagnosticsProfileArgs']] = None, + hardware_profile: Optional[pulumi.Input['HardwareProfileArgs']] = None, + identity: Optional[pulumi.Input['VirtualMachineIdentityArgs']] = None, + instance_id: Optional[pulumi.Input[str]] = None, + license_type: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input['NetworkProfileArgs']] = None, + network_profile_configuration: Optional[pulumi.Input['VirtualMachineScaleSetVMNetworkProfileConfigurationArgs']] = None, + os_profile: Optional[pulumi.Input['OSProfileArgs']] = None, + plan: Optional[pulumi.Input['PlanArgs']] = None, + protection_policy: Optional[pulumi.Input['VirtualMachineScaleSetVMProtectionPolicyArgs']] = None, + security_profile: Optional[pulumi.Input['SecurityProfileArgs']] = None, + storage_profile: Optional[pulumi.Input['StorageProfileArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_data: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a VirtualMachineScaleSetVM resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] vm_scale_set_name: The name of the VM scale set where the extension should be create or updated. + :param pulumi.Input['AdditionalCapabilitiesArgs'] additional_capabilities: Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + :param pulumi.Input['SubResourceArgs'] availability_set: Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. + :param pulumi.Input['DiagnosticsProfileArgs'] diagnostics_profile: Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + :param pulumi.Input['HardwareProfileArgs'] hardware_profile: Specifies the hardware settings for the virtual machine. + :param pulumi.Input['VirtualMachineIdentityArgs'] identity: The identity of the virtual machine, if configured. + :param pulumi.Input[str] instance_id: The instance ID of the virtual machine. + :param pulumi.Input[str] license_type: Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + :param pulumi.Input[str] location: Resource location + :param pulumi.Input['NetworkProfileArgs'] network_profile: Specifies the network interfaces of the virtual machine. + :param pulumi.Input['VirtualMachineScaleSetVMNetworkProfileConfigurationArgs'] network_profile_configuration: Specifies the network profile configuration of the virtual machine. + :param pulumi.Input['OSProfileArgs'] os_profile: Specifies the operating system settings for the virtual machine. + :param pulumi.Input['PlanArgs'] plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + :param pulumi.Input['VirtualMachineScaleSetVMProtectionPolicyArgs'] protection_policy: Specifies the protection policy of the virtual machine. + :param pulumi.Input['SecurityProfileArgs'] security_profile: Specifies the Security related profile settings for the virtual machine. + :param pulumi.Input['StorageProfileArgs'] storage_profile: Specifies the storage settings for the virtual machine disks. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[str] user_data: UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

Minimum api-version: 2021-03-01 + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "vm_scale_set_name", vm_scale_set_name) + if additional_capabilities is not None: + pulumi.set(__self__, "additional_capabilities", additional_capabilities) + if availability_set is not None: + pulumi.set(__self__, "availability_set", availability_set) + if diagnostics_profile is not None: + pulumi.set(__self__, "diagnostics_profile", diagnostics_profile) + if hardware_profile is not None: + pulumi.set(__self__, "hardware_profile", hardware_profile) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if license_type is not None: + pulumi.set(__self__, "license_type", license_type) + if location is not None: + pulumi.set(__self__, "location", location) + if network_profile is not None: + pulumi.set(__self__, "network_profile", network_profile) + if network_profile_configuration is not None: + pulumi.set(__self__, "network_profile_configuration", network_profile_configuration) + if os_profile is not None: + pulumi.set(__self__, "os_profile", os_profile) + if plan is not None: + pulumi.set(__self__, "plan", plan) + if protection_policy is not None: + pulumi.set(__self__, "protection_policy", protection_policy) + if security_profile is not None: + pulumi.set(__self__, "security_profile", security_profile) + if storage_profile is not None: + pulumi.set(__self__, "storage_profile", storage_profile) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="vmScaleSetName") + def vm_scale_set_name(self) -> pulumi.Input[str]: + """ + The name of the VM scale set where the extension should be create or updated. + """ + return pulumi.get(self, "vm_scale_set_name") + + @vm_scale_set_name.setter + def vm_scale_set_name(self, value: pulumi.Input[str]): + pulumi.set(self, "vm_scale_set_name", value) + + @property + @pulumi.getter(name="additionalCapabilities") + def additional_capabilities(self) -> Optional[pulumi.Input['AdditionalCapabilitiesArgs']]: + """ + Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + """ + return pulumi.get(self, "additional_capabilities") + + @additional_capabilities.setter + def additional_capabilities(self, value: Optional[pulumi.Input['AdditionalCapabilitiesArgs']]): + pulumi.set(self, "additional_capabilities", value) + + @property + @pulumi.getter(name="availabilitySet") + def availability_set(self) -> Optional[pulumi.Input['SubResourceArgs']]: + """ + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. + """ + return pulumi.get(self, "availability_set") + + @availability_set.setter + def availability_set(self, value: Optional[pulumi.Input['SubResourceArgs']]): + pulumi.set(self, "availability_set", value) + + @property + @pulumi.getter(name="diagnosticsProfile") + def diagnostics_profile(self) -> Optional[pulumi.Input['DiagnosticsProfileArgs']]: + """ + Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + """ + return pulumi.get(self, "diagnostics_profile") + + @diagnostics_profile.setter + def diagnostics_profile(self, value: Optional[pulumi.Input['DiagnosticsProfileArgs']]): + pulumi.set(self, "diagnostics_profile", value) + + @property + @pulumi.getter(name="hardwareProfile") + def hardware_profile(self) -> Optional[pulumi.Input['HardwareProfileArgs']]: + """ + Specifies the hardware settings for the virtual machine. + """ + return pulumi.get(self, "hardware_profile") + + @hardware_profile.setter + def hardware_profile(self, value: Optional[pulumi.Input['HardwareProfileArgs']]): + pulumi.set(self, "hardware_profile", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['VirtualMachineIdentityArgs']]: + """ + The identity of the virtual machine, if configured. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['VirtualMachineIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[str]]: + """ + The instance ID of the virtual machine. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_id", value) + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + """ + return pulumi.get(self, "license_type") + + @license_type.setter + def license_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "license_type", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional[pulumi.Input['NetworkProfileArgs']]: + """ + Specifies the network interfaces of the virtual machine. + """ + return pulumi.get(self, "network_profile") + + @network_profile.setter + def network_profile(self, value: Optional[pulumi.Input['NetworkProfileArgs']]): + pulumi.set(self, "network_profile", value) + + @property + @pulumi.getter(name="networkProfileConfiguration") + def network_profile_configuration(self) -> Optional[pulumi.Input['VirtualMachineScaleSetVMNetworkProfileConfigurationArgs']]: + """ + Specifies the network profile configuration of the virtual machine. + """ + return pulumi.get(self, "network_profile_configuration") + + @network_profile_configuration.setter + def network_profile_configuration(self, value: Optional[pulumi.Input['VirtualMachineScaleSetVMNetworkProfileConfigurationArgs']]): + pulumi.set(self, "network_profile_configuration", value) + + @property + @pulumi.getter(name="osProfile") + def os_profile(self) -> Optional[pulumi.Input['OSProfileArgs']]: + """ + Specifies the operating system settings for the virtual machine. + """ + return pulumi.get(self, "os_profile") + + @os_profile.setter + def os_profile(self, value: Optional[pulumi.Input['OSProfileArgs']]): + pulumi.set(self, "os_profile", value) + + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['PlanArgs']]: + """ + Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + """ + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['PlanArgs']]): + pulumi.set(self, "plan", value) + + @property + @pulumi.getter(name="protectionPolicy") + def protection_policy(self) -> Optional[pulumi.Input['VirtualMachineScaleSetVMProtectionPolicyArgs']]: + """ + Specifies the protection policy of the virtual machine. + """ + return pulumi.get(self, "protection_policy") + + @protection_policy.setter + def protection_policy(self, value: Optional[pulumi.Input['VirtualMachineScaleSetVMProtectionPolicyArgs']]): + pulumi.set(self, "protection_policy", value) + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional[pulumi.Input['SecurityProfileArgs']]: + """ + Specifies the Security related profile settings for the virtual machine. + """ + return pulumi.get(self, "security_profile") + + @security_profile.setter + def security_profile(self, value: Optional[pulumi.Input['SecurityProfileArgs']]): + pulumi.set(self, "security_profile", value) + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional[pulumi.Input['StorageProfileArgs']]: + """ + Specifies the storage settings for the virtual machine disks. + """ + return pulumi.get(self, "storage_profile") + + @storage_profile.setter + def storage_profile(self, value: Optional[pulumi.Input['StorageProfileArgs']]): + pulumi.set(self, "storage_profile", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[pulumi.Input[str]]: + """ + UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

Minimum api-version: 2021-03-01 + """ + return pulumi.get(self, "user_data") + + @user_data.setter + def user_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_data", value) + + +class VirtualMachineScaleSetVM(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + additional_capabilities: Optional[pulumi.Input[pulumi.InputType['AdditionalCapabilitiesArgs']]] = None, + availability_set: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + diagnostics_profile: Optional[pulumi.Input[pulumi.InputType['DiagnosticsProfileArgs']]] = None, + hardware_profile: Optional[pulumi.Input[pulumi.InputType['HardwareProfileArgs']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['VirtualMachineIdentityArgs']]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + license_type: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input[pulumi.InputType['NetworkProfileArgs']]] = None, + network_profile_configuration: Optional[pulumi.Input[pulumi.InputType['VirtualMachineScaleSetVMNetworkProfileConfigurationArgs']]] = None, + os_profile: Optional[pulumi.Input[pulumi.InputType['OSProfileArgs']]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['PlanArgs']]] = None, + protection_policy: Optional[pulumi.Input[pulumi.InputType['VirtualMachineScaleSetVMProtectionPolicyArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + security_profile: Optional[pulumi.Input[pulumi.InputType['SecurityProfileArgs']]] = None, + storage_profile: Optional[pulumi.Input[pulumi.InputType['StorageProfileArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Describes a virtual machine scale set virtual machine. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['AdditionalCapabilitiesArgs']] additional_capabilities: Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + :param pulumi.Input[pulumi.InputType['SubResourceArgs']] availability_set: Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. + :param pulumi.Input[pulumi.InputType['DiagnosticsProfileArgs']] diagnostics_profile: Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + :param pulumi.Input[pulumi.InputType['HardwareProfileArgs']] hardware_profile: Specifies the hardware settings for the virtual machine. + :param pulumi.Input[pulumi.InputType['VirtualMachineIdentityArgs']] identity: The identity of the virtual machine, if configured. + :param pulumi.Input[str] instance_id: The instance ID of the virtual machine. + :param pulumi.Input[str] license_type: Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[pulumi.InputType['NetworkProfileArgs']] network_profile: Specifies the network interfaces of the virtual machine. + :param pulumi.Input[pulumi.InputType['VirtualMachineScaleSetVMNetworkProfileConfigurationArgs']] network_profile_configuration: Specifies the network profile configuration of the virtual machine. + :param pulumi.Input[pulumi.InputType['OSProfileArgs']] os_profile: Specifies the operating system settings for the virtual machine. + :param pulumi.Input[pulumi.InputType['PlanArgs']] plan: Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + :param pulumi.Input[pulumi.InputType['VirtualMachineScaleSetVMProtectionPolicyArgs']] protection_policy: Specifies the protection policy of the virtual machine. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[pulumi.InputType['SecurityProfileArgs']] security_profile: Specifies the Security related profile settings for the virtual machine. + :param pulumi.Input[pulumi.InputType['StorageProfileArgs']] storage_profile: Specifies the storage settings for the virtual machine disks. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[str] user_data: UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

Minimum api-version: 2021-03-01 + :param pulumi.Input[str] vm_scale_set_name: The name of the VM scale set where the extension should be create or updated. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VirtualMachineScaleSetVMArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Describes a virtual machine scale set virtual machine. + + :param str resource_name: The name of the resource. + :param VirtualMachineScaleSetVMArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VirtualMachineScaleSetVMArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + additional_capabilities: Optional[pulumi.Input[pulumi.InputType['AdditionalCapabilitiesArgs']]] = None, + availability_set: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]] = None, + diagnostics_profile: Optional[pulumi.Input[pulumi.InputType['DiagnosticsProfileArgs']]] = None, + hardware_profile: Optional[pulumi.Input[pulumi.InputType['HardwareProfileArgs']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['VirtualMachineIdentityArgs']]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + license_type: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input[pulumi.InputType['NetworkProfileArgs']]] = None, + network_profile_configuration: Optional[pulumi.Input[pulumi.InputType['VirtualMachineScaleSetVMNetworkProfileConfigurationArgs']]] = None, + os_profile: Optional[pulumi.Input[pulumi.InputType['OSProfileArgs']]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['PlanArgs']]] = None, + protection_policy: Optional[pulumi.Input[pulumi.InputType['VirtualMachineScaleSetVMProtectionPolicyArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + security_profile: Optional[pulumi.Input[pulumi.InputType['SecurityProfileArgs']]] = None, + storage_profile: Optional[pulumi.Input[pulumi.InputType['StorageProfileArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VirtualMachineScaleSetVMArgs.__new__(VirtualMachineScaleSetVMArgs) + + __props__.__dict__["additional_capabilities"] = additional_capabilities + __props__.__dict__["availability_set"] = availability_set + __props__.__dict__["diagnostics_profile"] = diagnostics_profile + __props__.__dict__["hardware_profile"] = hardware_profile + __props__.__dict__["identity"] = identity + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["license_type"] = license_type + __props__.__dict__["location"] = location + __props__.__dict__["network_profile"] = network_profile + __props__.__dict__["network_profile_configuration"] = network_profile_configuration + __props__.__dict__["os_profile"] = os_profile + __props__.__dict__["plan"] = plan + __props__.__dict__["protection_policy"] = protection_policy + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["security_profile"] = security_profile + __props__.__dict__["storage_profile"] = storage_profile + __props__.__dict__["tags"] = tags + __props__.__dict__["user_data"] = user_data + if vm_scale_set_name is None and not opts.urn: + raise TypeError("Missing required property 'vm_scale_set_name'") + __props__.__dict__["vm_scale_set_name"] = vm_scale_set_name + __props__.__dict__["instance_view"] = None + __props__.__dict__["latest_model_applied"] = None + __props__.__dict__["model_definition_applied"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["resources"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["vm_id"] = None + __props__.__dict__["zones"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetVM")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(VirtualMachineScaleSetVM, __self__).__init__( + 'azure-native:compute/v20230701:VirtualMachineScaleSetVM', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'VirtualMachineScaleSetVM': + """ + Get an existing VirtualMachineScaleSetVM resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = VirtualMachineScaleSetVMArgs.__new__(VirtualMachineScaleSetVMArgs) + + __props__.__dict__["additional_capabilities"] = None + __props__.__dict__["availability_set"] = None + __props__.__dict__["diagnostics_profile"] = None + __props__.__dict__["hardware_profile"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["instance_id"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["latest_model_applied"] = None + __props__.__dict__["license_type"] = None + __props__.__dict__["location"] = None + __props__.__dict__["model_definition_applied"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_profile"] = None + __props__.__dict__["network_profile_configuration"] = None + __props__.__dict__["os_profile"] = None + __props__.__dict__["plan"] = None + __props__.__dict__["protection_policy"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["resources"] = None + __props__.__dict__["security_profile"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["storage_profile"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["time_created"] = None + __props__.__dict__["type"] = None + __props__.__dict__["user_data"] = None + __props__.__dict__["vm_id"] = None + __props__.__dict__["zones"] = None + return VirtualMachineScaleSetVM(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="additionalCapabilities") + def additional_capabilities(self) -> pulumi.Output[Optional['outputs.AdditionalCapabilitiesResponse']]: + """ + Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. + """ + return pulumi.get(self, "additional_capabilities") + + @property + @pulumi.getter(name="availabilitySet") + def availability_set(self) -> pulumi.Output[Optional['outputs.SubResourceResponse']]: + """ + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. + """ + return pulumi.get(self, "availability_set") + + @property + @pulumi.getter(name="diagnosticsProfile") + def diagnostics_profile(self) -> pulumi.Output[Optional['outputs.DiagnosticsProfileResponse']]: + """ + Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. + """ + return pulumi.get(self, "diagnostics_profile") + + @property + @pulumi.getter(name="hardwareProfile") + def hardware_profile(self) -> pulumi.Output[Optional['outputs.HardwareProfileResponse']]: + """ + Specifies the hardware settings for the virtual machine. + """ + return pulumi.get(self, "hardware_profile") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.VirtualMachineIdentityResponse']]: + """ + The identity of the virtual machine, if configured. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[str]: + """ + The virtual machine instance ID. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> pulumi.Output['outputs.VirtualMachineScaleSetVMInstanceViewResponse']: + """ + The virtual machine instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter(name="latestModelApplied") + def latest_model_applied(self) -> pulumi.Output[bool]: + """ + Specifies whether the latest model has been applied to the virtual machine. + """ + return pulumi.get(self, "latest_model_applied") + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> pulumi.Output[Optional[str]]: + """ + Specifies that the image or disk that is being used was licensed on-premises.

Possible values for Windows Server operating system are:

Windows_Client

Windows_Server

Possible values for Linux Server operating system are:

RHEL_BYOS (for RHEL)

SLES_BYOS (for SUSE)

For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

Minimum api-version: 2015-06-15 + """ + return pulumi.get(self, "license_type") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="modelDefinitionApplied") + def model_definition_applied(self) -> pulumi.Output[str]: + """ + Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine. + """ + return pulumi.get(self, "model_definition_applied") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> pulumi.Output[Optional['outputs.NetworkProfileResponse']]: + """ + Specifies the network interfaces of the virtual machine. + """ + return pulumi.get(self, "network_profile") + + @property + @pulumi.getter(name="networkProfileConfiguration") + def network_profile_configuration(self) -> pulumi.Output[Optional['outputs.VirtualMachineScaleSetVMNetworkProfileConfigurationResponse']]: + """ + Specifies the network profile configuration of the virtual machine. + """ + return pulumi.get(self, "network_profile_configuration") + + @property + @pulumi.getter(name="osProfile") + def os_profile(self) -> pulumi.Output[Optional['outputs.OSProfileResponse']]: + """ + Specifies the operating system settings for the virtual machine. + """ + return pulumi.get(self, "os_profile") + + @property + @pulumi.getter + def plan(self) -> pulumi.Output[Optional['outputs.PlanResponse']]: + """ + Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. + """ + return pulumi.get(self, "plan") + + @property + @pulumi.getter(name="protectionPolicy") + def protection_policy(self) -> pulumi.Output[Optional['outputs.VirtualMachineScaleSetVMProtectionPolicyResponse']]: + """ + Specifies the protection policy of the virtual machine. + """ + return pulumi.get(self, "protection_policy") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def resources(self) -> pulumi.Output[Sequence['outputs.VirtualMachineExtensionResponse']]: + """ + The virtual machine child extension resources. + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> pulumi.Output[Optional['outputs.SecurityProfileResponse']]: + """ + Specifies the Security related profile settings for the virtual machine. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output['outputs.SkuResponse']: + """ + The virtual machine SKU. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> pulumi.Output[Optional['outputs.StorageProfileResponse']]: + """ + Specifies the storage settings for the virtual machine disks. + """ + return pulumi.get(self, "storage_profile") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeCreated") + def time_created(self) -> pulumi.Output[str]: + """ + Specifies the time at which the Virtual Machine resource was created.

Minimum api-version: 2021-11-01. + """ + return pulumi.get(self, "time_created") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userData") + def user_data(self) -> pulumi.Output[Optional[str]]: + """ + UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

Minimum api-version: 2021-03-01 + """ + return pulumi.get(self, "user_data") + + @property + @pulumi.getter(name="vmId") + def vm_id(self) -> pulumi.Output[str]: + """ + Azure VM unique ID. + """ + return pulumi.get(self, "vm_id") + + @property + @pulumi.getter + def zones(self) -> pulumi.Output[Sequence[str]]: + """ + The virtual machine zones. + """ + return pulumi.get(self, "zones") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set_vm_extension.py b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set_vm_extension.py new file mode 100644 index 000000000000..0d65cd6e5680 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set_vm_extension.py @@ -0,0 +1,575 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['VirtualMachineScaleSetVMExtensionArgs', 'VirtualMachineScaleSetVMExtension'] + +@pulumi.input_type +class VirtualMachineScaleSetVMExtensionArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + vm_scale_set_name: pulumi.Input[str], + auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, + enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, + force_update_tag: Optional[pulumi.Input[str]] = None, + instance_view: Optional[pulumi.Input['VirtualMachineExtensionInstanceViewArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional[pulumi.Input['KeyVaultSecretReferenceArgs']] = None, + provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + publisher: Optional[pulumi.Input[str]] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[pulumi.Input[bool]] = None, + type: Optional[pulumi.Input[str]] = None, + type_handler_version: Optional[pulumi.Input[str]] = None, + vm_extension_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a VirtualMachineScaleSetVMExtension resource. + :param pulumi.Input[str] instance_id: The instance ID of the virtual machine. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] vm_scale_set_name: The name of the VM scale set. + :param pulumi.Input[bool] auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + :param pulumi.Input[bool] enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + :param pulumi.Input[str] force_update_tag: How the extension handler should be forced to update even if the extension configuration has not changed. + :param pulumi.Input['VirtualMachineExtensionInstanceViewArgs'] instance_view: The virtual machine extension instance view. + :param pulumi.Input[str] location: The location of the extension. + :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + :param pulumi.Input['KeyVaultSecretReferenceArgs'] protected_settings_from_key_vault: The extensions protected settings that are passed by reference, and consumed from key vault + :param pulumi.Input[Sequence[pulumi.Input[str]]] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned. + :param pulumi.Input[str] publisher: The name of the extension handler publisher. + :param Any settings: Json formatted public settings for the extension. + :param pulumi.Input[bool] suppress_failures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension". + :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler. + :param pulumi.Input[str] vm_extension_name: The name of the virtual machine extension. + """ + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "vm_scale_set_name", vm_scale_set_name) + if auto_upgrade_minor_version is not None: + pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) + if enable_automatic_upgrade is not None: + pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) + if force_update_tag is not None: + pulumi.set(__self__, "force_update_tag", force_update_tag) + if instance_view is not None: + pulumi.set(__self__, "instance_view", instance_view) + if location is not None: + pulumi.set(__self__, "location", location) + if protected_settings is not None: + pulumi.set(__self__, "protected_settings", protected_settings) + if protected_settings_from_key_vault is not None: + pulumi.set(__self__, "protected_settings_from_key_vault", protected_settings_from_key_vault) + if provision_after_extensions is not None: + pulumi.set(__self__, "provision_after_extensions", provision_after_extensions) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + if settings is not None: + pulumi.set(__self__, "settings", settings) + if suppress_failures is not None: + pulumi.set(__self__, "suppress_failures", suppress_failures) + if type is not None: + pulumi.set(__self__, "type", type) + if type_handler_version is not None: + pulumi.set(__self__, "type_handler_version", type_handler_version) + if vm_extension_name is not None: + pulumi.set(__self__, "vm_extension_name", vm_extension_name) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[str]: + """ + The instance ID of the virtual machine. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_id", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="vmScaleSetName") + def vm_scale_set_name(self) -> pulumi.Input[str]: + """ + The name of the VM scale set. + """ + return pulumi.get(self, "vm_scale_set_name") + + @vm_scale_set_name.setter + def vm_scale_set_name(self, value: pulumi.Input[str]): + pulumi.set(self, "vm_scale_set_name", value) + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @auto_upgrade_minor_version.setter + def auto_upgrade_minor_version(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_upgrade_minor_version", value) + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @enable_automatic_upgrade.setter + def enable_automatic_upgrade(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_automatic_upgrade", value) + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> Optional[pulumi.Input[str]]: + """ + How the extension handler should be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @force_update_tag.setter + def force_update_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "force_update_tag", value) + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> Optional[pulumi.Input['VirtualMachineExtensionInstanceViewArgs']]: + """ + The virtual machine extension instance view. + """ + return pulumi.get(self, "instance_view") + + @instance_view.setter + def instance_view(self, value: Optional[pulumi.Input['VirtualMachineExtensionInstanceViewArgs']]): + pulumi.set(self, "instance_view", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The location of the extension. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> Optional[Any]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @protected_settings.setter + def protected_settings(self, value: Optional[Any]): + pulumi.set(self, "protected_settings", value) + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> Optional[pulumi.Input['KeyVaultSecretReferenceArgs']]: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @protected_settings_from_key_vault.setter + def protected_settings_from_key_vault(self, value: Optional[pulumi.Input['KeyVaultSecretReferenceArgs']]): + pulumi.set(self, "protected_settings_from_key_vault", value) + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @provision_after_extensions.setter + def provision_after_extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "provision_after_extensions", value) + + @property + @pulumi.getter + def publisher(self) -> Optional[pulumi.Input[str]]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @publisher.setter + def publisher(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "publisher", value) + + @property + @pulumi.getter + def settings(self) -> Optional[Any]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @settings.setter + def settings(self, value: Optional[Any]): + pulumi.set(self, "settings", value) + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @suppress_failures.setter + def suppress_failures(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "suppress_failures", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the type of the extension; an example is "CustomScriptExtension". + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + + @type_handler_version.setter + def type_handler_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type_handler_version", value) + + @property + @pulumi.getter(name="vmExtensionName") + def vm_extension_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the virtual machine extension. + """ + return pulumi.get(self, "vm_extension_name") + + @vm_extension_name.setter + def vm_extension_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vm_extension_name", value) + + +class VirtualMachineScaleSetVMExtension(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, + enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, + force_update_tag: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + instance_view: Optional[pulumi.Input[pulumi.InputType['VirtualMachineExtensionInstanceViewArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional[pulumi.Input[pulumi.InputType['KeyVaultSecretReferenceArgs']]] = None, + provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + publisher: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[pulumi.Input[bool]] = None, + type: Optional[pulumi.Input[str]] = None, + type_handler_version: Optional[pulumi.Input[str]] = None, + vm_extension_name: Optional[pulumi.Input[str]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Describes a VMSS VM Extension. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + :param pulumi.Input[bool] enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + :param pulumi.Input[str] force_update_tag: How the extension handler should be forced to update even if the extension configuration has not changed. + :param pulumi.Input[str] instance_id: The instance ID of the virtual machine. + :param pulumi.Input[pulumi.InputType['VirtualMachineExtensionInstanceViewArgs']] instance_view: The virtual machine extension instance view. + :param pulumi.Input[str] location: The location of the extension. + :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + :param pulumi.Input[pulumi.InputType['KeyVaultSecretReferenceArgs']] protected_settings_from_key_vault: The extensions protected settings that are passed by reference, and consumed from key vault + :param pulumi.Input[Sequence[pulumi.Input[str]]] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned. + :param pulumi.Input[str] publisher: The name of the extension handler publisher. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param Any settings: Json formatted public settings for the extension. + :param pulumi.Input[bool] suppress_failures: Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension". + :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler. + :param pulumi.Input[str] vm_extension_name: The name of the virtual machine extension. + :param pulumi.Input[str] vm_scale_set_name: The name of the VM scale set. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VirtualMachineScaleSetVMExtensionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Describes a VMSS VM Extension. + + :param str resource_name: The name of the resource. + :param VirtualMachineScaleSetVMExtensionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VirtualMachineScaleSetVMExtensionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, + enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, + force_update_tag: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + instance_view: Optional[pulumi.Input[pulumi.InputType['VirtualMachineExtensionInstanceViewArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + protected_settings: Optional[Any] = None, + protected_settings_from_key_vault: Optional[pulumi.Input[pulumi.InputType['KeyVaultSecretReferenceArgs']]] = None, + provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + publisher: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + settings: Optional[Any] = None, + suppress_failures: Optional[pulumi.Input[bool]] = None, + type: Optional[pulumi.Input[str]] = None, + type_handler_version: Optional[pulumi.Input[str]] = None, + vm_extension_name: Optional[pulumi.Input[str]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VirtualMachineScaleSetVMExtensionArgs.__new__(VirtualMachineScaleSetVMExtensionArgs) + + __props__.__dict__["auto_upgrade_minor_version"] = auto_upgrade_minor_version + __props__.__dict__["enable_automatic_upgrade"] = enable_automatic_upgrade + __props__.__dict__["force_update_tag"] = force_update_tag + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["instance_view"] = instance_view + __props__.__dict__["location"] = location + __props__.__dict__["protected_settings"] = protected_settings + __props__.__dict__["protected_settings_from_key_vault"] = protected_settings_from_key_vault + __props__.__dict__["provision_after_extensions"] = provision_after_extensions + __props__.__dict__["publisher"] = publisher + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["settings"] = settings + __props__.__dict__["suppress_failures"] = suppress_failures + __props__.__dict__["type"] = type + __props__.__dict__["type_handler_version"] = type_handler_version + __props__.__dict__["vm_extension_name"] = vm_extension_name + if vm_scale_set_name is None and not opts.urn: + raise TypeError("Missing required property 'vm_scale_set_name'") + __props__.__dict__["vm_scale_set_name"] = vm_scale_set_name + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(VirtualMachineScaleSetVMExtension, __self__).__init__( + 'azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'VirtualMachineScaleSetVMExtension': + """ + Get an existing VirtualMachineScaleSetVMExtension resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = VirtualMachineScaleSetVMExtensionArgs.__new__(VirtualMachineScaleSetVMExtensionArgs) + + __props__.__dict__["auto_upgrade_minor_version"] = None + __props__.__dict__["enable_automatic_upgrade"] = None + __props__.__dict__["force_update_tag"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["protected_settings"] = None + __props__.__dict__["protected_settings_from_key_vault"] = None + __props__.__dict__["provision_after_extensions"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["publisher"] = None + __props__.__dict__["settings"] = None + __props__.__dict__["suppress_failures"] = None + __props__.__dict__["type"] = None + __props__.__dict__["type_handler_version"] = None + return VirtualMachineScaleSetVMExtension(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="autoUpgradeMinorVersion") + def auto_upgrade_minor_version(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. + """ + return pulumi.get(self, "auto_upgrade_minor_version") + + @property + @pulumi.getter(name="enableAutomaticUpgrade") + def enable_automatic_upgrade(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available. + """ + return pulumi.get(self, "enable_automatic_upgrade") + + @property + @pulumi.getter(name="forceUpdateTag") + def force_update_tag(self) -> pulumi.Output[Optional[str]]: + """ + How the extension handler should be forced to update even if the extension configuration has not changed. + """ + return pulumi.get(self, "force_update_tag") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> pulumi.Output[Optional['outputs.VirtualMachineExtensionInstanceViewResponse']]: + """ + The virtual machine extension instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[Optional[str]]: + """ + The location of the extension. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the extension. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="protectedSettings") + def protected_settings(self) -> pulumi.Output[Optional[Any]]: + """ + The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. + """ + return pulumi.get(self, "protected_settings") + + @property + @pulumi.getter(name="protectedSettingsFromKeyVault") + def protected_settings_from_key_vault(self) -> pulumi.Output[Optional['outputs.KeyVaultSecretReferenceResponse']]: + """ + The extensions protected settings that are passed by reference, and consumed from key vault + """ + return pulumi.get(self, "protected_settings_from_key_vault") + + @property + @pulumi.getter(name="provisionAfterExtensions") + def provision_after_extensions(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Collection of extension names after which this extension needs to be provisioned. + """ + return pulumi.get(self, "provision_after_extensions") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state, which only appears in the response. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def publisher(self) -> pulumi.Output[Optional[str]]: + """ + The name of the extension handler publisher. + """ + return pulumi.get(self, "publisher") + + @property + @pulumi.getter + def settings(self) -> pulumi.Output[Optional[Any]]: + """ + Json formatted public settings for the extension. + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter(name="suppressFailures") + def suppress_failures(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false. + """ + return pulumi.get(self, "suppress_failures") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="typeHandlerVersion") + def type_handler_version(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the version of the script handler. + """ + return pulumi.get(self, "type_handler_version") + diff --git a/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set_vm_run_command.py b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set_vm_run_command.py new file mode 100644 index 000000000000..459b83f16302 --- /dev/null +++ b/sdk/python/pulumi_azure_native/compute/v20230701/virtual_machine_scale_set_vm_run_command.py @@ -0,0 +1,631 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['VirtualMachineScaleSetVMRunCommandArgs', 'VirtualMachineScaleSetVMRunCommand'] + +@pulumi.input_type +class VirtualMachineScaleSetVMRunCommandArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + vm_scale_set_name: pulumi.Input[str], + async_execution: Optional[pulumi.Input[bool]] = None, + error_blob_managed_identity: Optional[pulumi.Input['RunCommandManagedIdentityArgs']] = None, + error_blob_uri: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + output_blob_managed_identity: Optional[pulumi.Input['RunCommandManagedIdentityArgs']] = None, + output_blob_uri: Optional[pulumi.Input[str]] = None, + parameters: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]] = None, + protected_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]] = None, + run_as_password: Optional[pulumi.Input[str]] = None, + run_as_user: Optional[pulumi.Input[str]] = None, + run_command_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input['VirtualMachineRunCommandScriptSourceArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeout_in_seconds: Optional[pulumi.Input[int]] = None, + treat_failure_as_deployment_failure: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a VirtualMachineScaleSetVMRunCommand resource. + :param pulumi.Input[str] instance_id: The instance ID of the virtual machine. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] vm_scale_set_name: The name of the VM scale set. + :param pulumi.Input[bool] async_execution: Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + :param pulumi.Input['RunCommandManagedIdentityArgs'] error_blob_managed_identity: User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + :param pulumi.Input[str] error_blob_uri: Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input['RunCommandManagedIdentityArgs'] output_blob_managed_identity: User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + :param pulumi.Input[str] output_blob_uri: Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + :param pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]] parameters: The parameters used by the script. + :param pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]] protected_parameters: The parameters used by the script. + :param pulumi.Input[str] run_as_password: Specifies the user account password on the VM when executing the run command. + :param pulumi.Input[str] run_as_user: Specifies the user account on the VM when executing the run command. + :param pulumi.Input[str] run_command_name: The name of the virtual machine run command. + :param pulumi.Input['VirtualMachineRunCommandScriptSourceArgs'] source: The source of the run command script. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[int] timeout_in_seconds: The timeout in seconds to execute the run command. + :param pulumi.Input[bool] treat_failure_as_deployment_failure: Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + """ + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "vm_scale_set_name", vm_scale_set_name) + if async_execution is None: + async_execution = False + if async_execution is not None: + pulumi.set(__self__, "async_execution", async_execution) + if error_blob_managed_identity is not None: + pulumi.set(__self__, "error_blob_managed_identity", error_blob_managed_identity) + if error_blob_uri is not None: + pulumi.set(__self__, "error_blob_uri", error_blob_uri) + if location is not None: + pulumi.set(__self__, "location", location) + if output_blob_managed_identity is not None: + pulumi.set(__self__, "output_blob_managed_identity", output_blob_managed_identity) + if output_blob_uri is not None: + pulumi.set(__self__, "output_blob_uri", output_blob_uri) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if protected_parameters is not None: + pulumi.set(__self__, "protected_parameters", protected_parameters) + if run_as_password is not None: + pulumi.set(__self__, "run_as_password", run_as_password) + if run_as_user is not None: + pulumi.set(__self__, "run_as_user", run_as_user) + if run_command_name is not None: + pulumi.set(__self__, "run_command_name", run_command_name) + if source is not None: + pulumi.set(__self__, "source", source) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeout_in_seconds is not None: + pulumi.set(__self__, "timeout_in_seconds", timeout_in_seconds) + if treat_failure_as_deployment_failure is None: + treat_failure_as_deployment_failure = False + if treat_failure_as_deployment_failure is not None: + pulumi.set(__self__, "treat_failure_as_deployment_failure", treat_failure_as_deployment_failure) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[str]: + """ + The instance ID of the virtual machine. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_id", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="vmScaleSetName") + def vm_scale_set_name(self) -> pulumi.Input[str]: + """ + The name of the VM scale set. + """ + return pulumi.get(self, "vm_scale_set_name") + + @vm_scale_set_name.setter + def vm_scale_set_name(self, value: pulumi.Input[str]): + pulumi.set(self, "vm_scale_set_name", value) + + @property + @pulumi.getter(name="asyncExecution") + def async_execution(self) -> Optional[pulumi.Input[bool]]: + """ + Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + """ + return pulumi.get(self, "async_execution") + + @async_execution.setter + def async_execution(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "async_execution", value) + + @property + @pulumi.getter(name="errorBlobManagedIdentity") + def error_blob_managed_identity(self) -> Optional[pulumi.Input['RunCommandManagedIdentityArgs']]: + """ + User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + """ + return pulumi.get(self, "error_blob_managed_identity") + + @error_blob_managed_identity.setter + def error_blob_managed_identity(self, value: Optional[pulumi.Input['RunCommandManagedIdentityArgs']]): + pulumi.set(self, "error_blob_managed_identity", value) + + @property + @pulumi.getter(name="errorBlobUri") + def error_blob_uri(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + """ + return pulumi.get(self, "error_blob_uri") + + @error_blob_uri.setter + def error_blob_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "error_blob_uri", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="outputBlobManagedIdentity") + def output_blob_managed_identity(self) -> Optional[pulumi.Input['RunCommandManagedIdentityArgs']]: + """ + User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + """ + return pulumi.get(self, "output_blob_managed_identity") + + @output_blob_managed_identity.setter + def output_blob_managed_identity(self, value: Optional[pulumi.Input['RunCommandManagedIdentityArgs']]): + pulumi.set(self, "output_blob_managed_identity", value) + + @property + @pulumi.getter(name="outputBlobUri") + def output_blob_uri(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + """ + return pulumi.get(self, "output_blob_uri") + + @output_blob_uri.setter + def output_blob_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "output_blob_uri", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]: + """ + The parameters used by the script. + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]): + pulumi.set(self, "parameters", value) + + @property + @pulumi.getter(name="protectedParameters") + def protected_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]: + """ + The parameters used by the script. + """ + return pulumi.get(self, "protected_parameters") + + @protected_parameters.setter + def protected_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]): + pulumi.set(self, "protected_parameters", value) + + @property + @pulumi.getter(name="runAsPassword") + def run_as_password(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the user account password on the VM when executing the run command. + """ + return pulumi.get(self, "run_as_password") + + @run_as_password.setter + def run_as_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "run_as_password", value) + + @property + @pulumi.getter(name="runAsUser") + def run_as_user(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the user account on the VM when executing the run command. + """ + return pulumi.get(self, "run_as_user") + + @run_as_user.setter + def run_as_user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "run_as_user", value) + + @property + @pulumi.getter(name="runCommandName") + def run_command_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the virtual machine run command. + """ + return pulumi.get(self, "run_command_name") + + @run_command_name.setter + def run_command_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "run_command_name", value) + + @property + @pulumi.getter + def source(self) -> Optional[pulumi.Input['VirtualMachineRunCommandScriptSourceArgs']]: + """ + The source of the run command script. + """ + return pulumi.get(self, "source") + + @source.setter + def source(self, value: Optional[pulumi.Input['VirtualMachineRunCommandScriptSourceArgs']]): + pulumi.set(self, "source", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="timeoutInSeconds") + def timeout_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The timeout in seconds to execute the run command. + """ + return pulumi.get(self, "timeout_in_seconds") + + @timeout_in_seconds.setter + def timeout_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "timeout_in_seconds", value) + + @property + @pulumi.getter(name="treatFailureAsDeploymentFailure") + def treat_failure_as_deployment_failure(self) -> Optional[pulumi.Input[bool]]: + """ + Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + """ + return pulumi.get(self, "treat_failure_as_deployment_failure") + + @treat_failure_as_deployment_failure.setter + def treat_failure_as_deployment_failure(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "treat_failure_as_deployment_failure", value) + + +class VirtualMachineScaleSetVMRunCommand(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + async_execution: Optional[pulumi.Input[bool]] = None, + error_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, + error_blob_uri: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + output_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, + output_blob_uri: Optional[pulumi.Input[str]] = None, + parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, + protected_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + run_as_password: Optional[pulumi.Input[str]] = None, + run_as_user: Optional[pulumi.Input[str]] = None, + run_command_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input[pulumi.InputType['VirtualMachineRunCommandScriptSourceArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeout_in_seconds: Optional[pulumi.Input[int]] = None, + treat_failure_as_deployment_failure: Optional[pulumi.Input[bool]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Describes a Virtual Machine run command. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] async_execution: Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + :param pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']] error_blob_managed_identity: User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + :param pulumi.Input[str] error_blob_uri: Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + :param pulumi.Input[str] instance_id: The instance ID of the virtual machine. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']] output_blob_managed_identity: User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + :param pulumi.Input[str] output_blob_uri: Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]] parameters: The parameters used by the script. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]] protected_parameters: The parameters used by the script. + :param pulumi.Input[str] resource_group_name: The name of the resource group. + :param pulumi.Input[str] run_as_password: Specifies the user account password on the VM when executing the run command. + :param pulumi.Input[str] run_as_user: Specifies the user account on the VM when executing the run command. + :param pulumi.Input[str] run_command_name: The name of the virtual machine run command. + :param pulumi.Input[pulumi.InputType['VirtualMachineRunCommandScriptSourceArgs']] source: The source of the run command script. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags + :param pulumi.Input[int] timeout_in_seconds: The timeout in seconds to execute the run command. + :param pulumi.Input[bool] treat_failure_as_deployment_failure: Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + :param pulumi.Input[str] vm_scale_set_name: The name of the VM scale set. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VirtualMachineScaleSetVMRunCommandArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Describes a Virtual Machine run command. + + :param str resource_name: The name of the resource. + :param VirtualMachineScaleSetVMRunCommandArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VirtualMachineScaleSetVMRunCommandArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + async_execution: Optional[pulumi.Input[bool]] = None, + error_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, + error_blob_uri: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + output_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, + output_blob_uri: Optional[pulumi.Input[str]] = None, + parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, + protected_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + run_as_password: Optional[pulumi.Input[str]] = None, + run_as_user: Optional[pulumi.Input[str]] = None, + run_command_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input[pulumi.InputType['VirtualMachineRunCommandScriptSourceArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeout_in_seconds: Optional[pulumi.Input[int]] = None, + treat_failure_as_deployment_failure: Optional[pulumi.Input[bool]] = None, + vm_scale_set_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VirtualMachineScaleSetVMRunCommandArgs.__new__(VirtualMachineScaleSetVMRunCommandArgs) + + if async_execution is None: + async_execution = False + __props__.__dict__["async_execution"] = async_execution + __props__.__dict__["error_blob_managed_identity"] = error_blob_managed_identity + __props__.__dict__["error_blob_uri"] = error_blob_uri + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["location"] = location + __props__.__dict__["output_blob_managed_identity"] = output_blob_managed_identity + __props__.__dict__["output_blob_uri"] = output_blob_uri + __props__.__dict__["parameters"] = parameters + __props__.__dict__["protected_parameters"] = protected_parameters + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["run_as_password"] = run_as_password + __props__.__dict__["run_as_user"] = run_as_user + __props__.__dict__["run_command_name"] = run_command_name + __props__.__dict__["source"] = source + __props__.__dict__["tags"] = tags + __props__.__dict__["timeout_in_seconds"] = timeout_in_seconds + if treat_failure_as_deployment_failure is None: + treat_failure_as_deployment_failure = False + __props__.__dict__["treat_failure_as_deployment_failure"] = treat_failure_as_deployment_failure + if vm_scale_set_name is None and not opts.urn: + raise TypeError("Missing required property 'vm_scale_set_name'") + __props__.__dict__["vm_scale_set_name"] = vm_scale_set_name + __props__.__dict__["instance_view"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetVMRunCommand")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(VirtualMachineScaleSetVMRunCommand, __self__).__init__( + 'azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'VirtualMachineScaleSetVMRunCommand': + """ + Get an existing VirtualMachineScaleSetVMRunCommand resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = VirtualMachineScaleSetVMRunCommandArgs.__new__(VirtualMachineScaleSetVMRunCommandArgs) + + __props__.__dict__["async_execution"] = None + __props__.__dict__["error_blob_managed_identity"] = None + __props__.__dict__["error_blob_uri"] = None + __props__.__dict__["instance_view"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["output_blob_managed_identity"] = None + __props__.__dict__["output_blob_uri"] = None + __props__.__dict__["parameters"] = None + __props__.__dict__["protected_parameters"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["run_as_password"] = None + __props__.__dict__["run_as_user"] = None + __props__.__dict__["source"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["timeout_in_seconds"] = None + __props__.__dict__["treat_failure_as_deployment_failure"] = None + __props__.__dict__["type"] = None + return VirtualMachineScaleSetVMRunCommand(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="asyncExecution") + def async_execution(self) -> pulumi.Output[Optional[bool]]: + """ + Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete. + """ + return pulumi.get(self, "async_execution") + + @property + @pulumi.getter(name="errorBlobManagedIdentity") + def error_blob_managed_identity(self) -> pulumi.Output[Optional['outputs.RunCommandManagedIdentityResponse']]: + """ + User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + """ + return pulumi.get(self, "error_blob_managed_identity") + + @property + @pulumi.getter(name="errorBlobUri") + def error_blob_uri(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. + """ + return pulumi.get(self, "error_blob_uri") + + @property + @pulumi.getter(name="instanceView") + def instance_view(self) -> pulumi.Output['outputs.VirtualMachineRunCommandInstanceViewResponse']: + """ + The virtual machine run command instance view. + """ + return pulumi.get(self, "instance_view") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="outputBlobManagedIdentity") + def output_blob_managed_identity(self) -> pulumi.Output[Optional['outputs.RunCommandManagedIdentityResponse']]: + """ + User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged + """ + return pulumi.get(self, "output_blob_managed_identity") + + @property + @pulumi.getter(name="outputBlobUri") + def output_blob_uri(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. + """ + return pulumi.get(self, "output_blob_uri") + + @property + @pulumi.getter + def parameters(self) -> pulumi.Output[Optional[Sequence['outputs.RunCommandInputParameterResponse']]]: + """ + The parameters used by the script. + """ + return pulumi.get(self, "parameters") + + @property + @pulumi.getter(name="protectedParameters") + def protected_parameters(self) -> pulumi.Output[Optional[Sequence['outputs.RunCommandInputParameterResponse']]]: + """ + The parameters used by the script. + """ + return pulumi.get(self, "protected_parameters") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state, which only appears in the response. If treatFailureAsDeploymentFailure set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If treatFailureAsDeploymentFailure set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="runAsPassword") + def run_as_password(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the user account password on the VM when executing the run command. + """ + return pulumi.get(self, "run_as_password") + + @property + @pulumi.getter(name="runAsUser") + def run_as_user(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the user account on the VM when executing the run command. + """ + return pulumi.get(self, "run_as_user") + + @property + @pulumi.getter + def source(self) -> pulumi.Output[Optional['outputs.VirtualMachineRunCommandScriptSourceResponse']]: + """ + The source of the run command script. + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeoutInSeconds") + def timeout_in_seconds(self) -> pulumi.Output[Optional[int]]: + """ + The timeout in seconds to execute the run command. + """ + return pulumi.get(self, "timeout_in_seconds") + + @property + @pulumi.getter(name="treatFailureAsDeploymentFailure") + def treat_failure_as_deployment_failure(self) -> pulumi.Output[Optional[bool]]: + """ + Optional. If set to true, any failure in the script will fail the deployment and ProvisioningState will be marked as Failed. If set to false, ProvisioningState would only reflect whether the run command was run or not by the extensions platform, it would not indicate whether script failed in case of script failures. See instance view of run command in case of script failures to see executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results + """ + return pulumi.get(self, "treat_failure_as_deployment_failure") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/compute/virtual_machine.py b/sdk/python/pulumi_azure_native/compute/virtual_machine.py index 9b04a070adf5..084141477d12 100644 --- a/sdk/python/pulumi_azure_native/compute/virtual_machine.py +++ b/sdk/python/pulumi_azure_native/compute/virtual_machine.py @@ -677,7 +677,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["vm_id"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachine")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachine")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachine, __self__).__init__( 'azure-native:compute:VirtualMachine', diff --git a/sdk/python/pulumi_azure_native/compute/virtual_machine_extension.py b/sdk/python/pulumi_azure_native/compute/virtual_machine_extension.py index 8b6406930f4c..db12d3e44fea 100644 --- a/sdk/python/pulumi_azure_native/compute/virtual_machine_extension.py +++ b/sdk/python/pulumi_azure_native/compute/virtual_machine_extension.py @@ -413,7 +413,7 @@ def _internal_init(__self__, __props__.__dict__["vm_name"] = vm_name __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineExtension"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineExtension, __self__).__init__( 'azure-native:compute:VirtualMachineExtension', diff --git a/sdk/python/pulumi_azure_native/compute/virtual_machine_run_command_by_virtual_machine.py b/sdk/python/pulumi_azure_native/compute/virtual_machine_run_command_by_virtual_machine.py index 88eb349c53d4..c0d3c1c2e6d1 100644 --- a/sdk/python/pulumi_azure_native/compute/virtual_machine_run_command_by_virtual_machine.py +++ b/sdk/python/pulumi_azure_native/compute/virtual_machine_run_command_by_virtual_machine.py @@ -422,7 +422,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineRunCommandByVirtualMachine")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineRunCommandByVirtualMachine"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineRunCommandByVirtualMachine")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineRunCommandByVirtualMachine, __self__).__init__( 'azure-native:compute:VirtualMachineRunCommandByVirtualMachine', diff --git a/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set.py b/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set.py index daa96ac5fd94..216f98e8e99a 100644 --- a/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set.py +++ b/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set.py @@ -575,7 +575,7 @@ def _internal_init(__self__, __props__.__dict__["time_created"] = None __props__.__dict__["type"] = None __props__.__dict__["unique_id"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSet")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20150615:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20160330:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20160430preview:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSet"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineScaleSet")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineScaleSet, __self__).__init__( 'azure-native:compute:VirtualMachineScaleSet', diff --git a/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_extension.py b/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_extension.py index d11aaf64c67d..7f6809aabdcb 100644 --- a/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_extension.py +++ b/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_extension.py @@ -371,7 +371,7 @@ def _internal_init(__self__, __props__.__dict__["vm_scale_set_name"] = vm_scale_set_name __props__.__dict__["vmss_extension_name"] = vmss_extension_name __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20170330:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetExtension"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineScaleSetExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineScaleSetExtension, __self__).__init__( 'azure-native:compute:VirtualMachineScaleSetExtension', diff --git a/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_vm.py b/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_vm.py index 8ac0b675dfd3..d29800c571c4 100644 --- a/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_vm.py +++ b/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_vm.py @@ -461,7 +461,7 @@ def _internal_init(__self__, __props__.__dict__["type"] = None __props__.__dict__["vm_id"] = None __props__.__dict__["zones"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetVM")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20171201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20180401:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20180601:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20181001:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20190301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetVM"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineScaleSetVM")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineScaleSetVM, __self__).__init__( 'azure-native:compute:VirtualMachineScaleSetVM', diff --git a/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_vm_extension.py b/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_vm_extension.py index a5e347c4f950..f1f7619eecb1 100644 --- a/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_vm_extension.py +++ b/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_vm_extension.py @@ -414,7 +414,7 @@ def _internal_init(__self__, __props__.__dict__["vm_scale_set_name"] = vm_scale_set_name __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20190701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20191201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetVMExtension"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineScaleSetVMExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineScaleSetVMExtension, __self__).__init__( 'azure-native:compute:VirtualMachineScaleSetVMExtension', diff --git a/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_vm_run_command.py b/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_vm_run_command.py index d0a8819cda7d..34cac73dec1e 100644 --- a/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_vm_run_command.py +++ b/sdk/python/pulumi_azure_native/compute/virtual_machine_scale_set_vm_run_command.py @@ -443,7 +443,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetVMRunCommand")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:compute/v20200601:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20201201:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210301:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210401:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20210701:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20211101:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20220301:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20220801:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20221101:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20230301:VirtualMachineScaleSetVMRunCommand"), pulumi.Alias(type_="azure-native:compute/v20230701:VirtualMachineScaleSetVMRunCommand")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(VirtualMachineScaleSetVMRunCommand, __self__).__init__( 'azure-native:compute:VirtualMachineScaleSetVMRunCommand', diff --git a/sdk/python/pulumi_azure_native/containerservice/__init__.py b/sdk/python/pulumi_azure_native/containerservice/__init__.py index 818a3726c9b1..599eff43e676 100644 --- a/sdk/python/pulumi_azure_native/containerservice/__init__.py +++ b/sdk/python/pulumi_azure_native/containerservice/__init__.py @@ -66,6 +66,8 @@ v20230601 = __v20230601 import pulumi_azure_native.containerservice.v20230602preview as __v20230602preview v20230602preview = __v20230602preview + import pulumi_azure_native.containerservice.v20230701 as __v20230701 + v20230701 = __v20230701 else: v20190601 = _utilities.lazy_import('pulumi_azure_native.containerservice.v20190601') v20191027preview = _utilities.lazy_import('pulumi_azure_native.containerservice.v20191027preview') @@ -81,4 +83,5 @@ v20230502preview = _utilities.lazy_import('pulumi_azure_native.containerservice.v20230502preview') v20230601 = _utilities.lazy_import('pulumi_azure_native.containerservice.v20230601') v20230602preview = _utilities.lazy_import('pulumi_azure_native.containerservice.v20230602preview') + v20230701 = _utilities.lazy_import('pulumi_azure_native.containerservice.v20230701') diff --git a/sdk/python/pulumi_azure_native/containerservice/agent_pool.py b/sdk/python/pulumi_azure_native/containerservice/agent_pool.py index 065ad0cb344b..9c5e6821e127 100644 --- a/sdk/python/pulumi_azure_native/containerservice/agent_pool.py +++ b/sdk/python/pulumi_azure_native/containerservice/agent_pool.py @@ -895,7 +895,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["node_image_version"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230701:AgentPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(AgentPool, __self__).__init__( 'azure-native:containerservice:AgentPool', diff --git a/sdk/python/pulumi_azure_native/containerservice/maintenance_configuration.py b/sdk/python/pulumi_azure_native/containerservice/maintenance_configuration.py index a8cf69ba216a..3ff191e1e133 100644 --- a/sdk/python/pulumi_azure_native/containerservice/maintenance_configuration.py +++ b/sdk/python/pulumi_azure_native/containerservice/maintenance_configuration.py @@ -174,7 +174,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice/v20201201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210801:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211001:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:MaintenanceConfiguration")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice/v20201201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210801:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211001:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230701:MaintenanceConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(MaintenanceConfiguration, __self__).__init__( 'azure-native:containerservice:MaintenanceConfiguration', diff --git a/sdk/python/pulumi_azure_native/containerservice/managed_cluster.py b/sdk/python/pulumi_azure_native/containerservice/managed_cluster.py index e9e8f3d17a40..275ebbd8de74 100644 --- a/sdk/python/pulumi_azure_native/containerservice/managed_cluster.py +++ b/sdk/python/pulumi_azure_native/containerservice/managed_cluster.py @@ -800,7 +800,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230701:ManagedCluster")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ManagedCluster, __self__).__init__( 'azure-native:containerservice:ManagedCluster', diff --git a/sdk/python/pulumi_azure_native/containerservice/private_endpoint_connection.py b/sdk/python/pulumi_azure_native/containerservice/private_endpoint_connection.py index b1bd65f271cc..47bef6d31432 100644 --- a/sdk/python/pulumi_azure_native/containerservice/private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/containerservice/private_endpoint_connection.py @@ -175,7 +175,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice/v20200601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210801:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211001:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:PrivateEndpointConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice/v20200601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210801:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211001:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230701:PrivateEndpointConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateEndpointConnection, __self__).__init__( 'azure-native:containerservice:PrivateEndpointConnection', diff --git a/sdk/python/pulumi_azure_native/containerservice/snapshot.py b/sdk/python/pulumi_azure_native/containerservice/snapshot.py index 5b55ab59a454..82bf2c125d76 100644 --- a/sdk/python/pulumi_azure_native/containerservice/snapshot.py +++ b/sdk/python/pulumi_azure_native/containerservice/snapshot.py @@ -199,7 +199,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None __props__.__dict__["vm_size"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211001:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220701:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230501:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:Snapshot")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211001:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220701:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230501:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230701:Snapshot")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Snapshot, __self__).__init__( 'azure-native:containerservice:Snapshot', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20190601/managed_cluster.py b/sdk/python/pulumi_azure_native/containerservice/v20190601/managed_cluster.py index 661999106d2b..8ca06df3021b 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20190601/managed_cluster.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20190601/managed_cluster.py @@ -433,7 +433,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230701:ManagedCluster")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ManagedCluster, __self__).__init__( 'azure-native:containerservice/v20190601:ManagedCluster', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20200601/agent_pool.py b/sdk/python/pulumi_azure_native/containerservice/v20200601/agent_pool.py index caf758bfa4e0..e90967dd3b2d 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20200601/agent_pool.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20200601/agent_pool.py @@ -591,7 +591,7 @@ def _internal_init(__self__, __props__.__dict__["vnet_subnet_id"] = vnet_subnet_id __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230701:AgentPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(AgentPool, __self__).__init__( 'azure-native:containerservice/v20200601:AgentPool', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20210201/agent_pool.py b/sdk/python/pulumi_azure_native/containerservice/v20210201/agent_pool.py index 8d21f9a61aa0..2dc021aabdec 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20210201/agent_pool.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20210201/agent_pool.py @@ -713,7 +713,7 @@ def _internal_init(__self__, __props__.__dict__["node_image_version"] = None __props__.__dict__["power_state"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230701:AgentPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(AgentPool, __self__).__init__( 'azure-native:containerservice/v20210201:AgentPool', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20210501/managed_cluster.py b/sdk/python/pulumi_azure_native/containerservice/v20210501/managed_cluster.py index 4df308199d9f..1329b63799da 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20210501/managed_cluster.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20210501/managed_cluster.py @@ -656,7 +656,7 @@ def _internal_init(__self__, __props__.__dict__["private_fqdn"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230701:ManagedCluster")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ManagedCluster, __self__).__init__( 'azure-native:containerservice/v20210501:ManagedCluster', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20210801/agent_pool.py b/sdk/python/pulumi_azure_native/containerservice/v20210801/agent_pool.py index aede0a81e83a..4432d17141ba 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20210801/agent_pool.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20210801/agent_pool.py @@ -853,7 +853,7 @@ def _internal_init(__self__, __props__.__dict__["node_image_version"] = None __props__.__dict__["power_state"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230701:AgentPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(AgentPool, __self__).__init__( 'azure-native:containerservice/v20210801:AgentPool', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20220402preview/agent_pool.py b/sdk/python/pulumi_azure_native/containerservice/v20220402preview/agent_pool.py index a7ff58058b5c..dcb5e9bd1a11 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20220402preview/agent_pool.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20220402preview/agent_pool.py @@ -972,7 +972,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["node_image_version"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230701:AgentPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(AgentPool, __self__).__init__( 'azure-native:containerservice/v20220402preview:AgentPool', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230401/agent_pool.py b/sdk/python/pulumi_azure_native/containerservice/v20230401/agent_pool.py index 4f428129e632..62c52fca499f 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230401/agent_pool.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230401/agent_pool.py @@ -893,7 +893,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["node_image_version"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230701:AgentPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(AgentPool, __self__).__init__( 'azure-native:containerservice/v20230401:AgentPool', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230401/maintenance_configuration.py b/sdk/python/pulumi_azure_native/containerservice/v20230401/maintenance_configuration.py index eacb19507bbd..25eb218f9e5f 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230401/maintenance_configuration.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230401/maintenance_configuration.py @@ -172,7 +172,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20201201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210801:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211001:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:MaintenanceConfiguration")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20201201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210801:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211001:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230701:MaintenanceConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(MaintenanceConfiguration, __self__).__init__( 'azure-native:containerservice/v20230401:MaintenanceConfiguration', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230401/managed_cluster.py b/sdk/python/pulumi_azure_native/containerservice/v20230401/managed_cluster.py index 9154e76e2791..1ce074994a00 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230401/managed_cluster.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230401/managed_cluster.py @@ -798,7 +798,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230701:ManagedCluster")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ManagedCluster, __self__).__init__( 'azure-native:containerservice/v20230401:ManagedCluster', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230401/private_endpoint_connection.py b/sdk/python/pulumi_azure_native/containerservice/v20230401/private_endpoint_connection.py index f2a8539772e4..7670100611ca 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230401/private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230401/private_endpoint_connection.py @@ -173,7 +173,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210801:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211001:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:PrivateEndpointConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210801:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211001:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230701:PrivateEndpointConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateEndpointConnection, __self__).__init__( 'azure-native:containerservice/v20230401:PrivateEndpointConnection', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230401/snapshot.py b/sdk/python/pulumi_azure_native/containerservice/v20230401/snapshot.py index 031d0ff7b86b..fdb2c1a17530 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230401/snapshot.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230401/snapshot.py @@ -197,7 +197,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None __props__.__dict__["vm_size"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211001:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220701:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230501:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:Snapshot")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211001:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220701:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230501:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230701:Snapshot")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Snapshot, __self__).__init__( 'azure-native:containerservice/v20230401:Snapshot', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230502preview/agent_pool.py b/sdk/python/pulumi_azure_native/containerservice/v20230502preview/agent_pool.py index cac8221ef1aa..d3d451999f71 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230502preview/agent_pool.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230502preview/agent_pool.py @@ -993,7 +993,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["node_image_version"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230701:AgentPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(AgentPool, __self__).__init__( 'azure-native:containerservice/v20230502preview:AgentPool', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230502preview/maintenance_configuration.py b/sdk/python/pulumi_azure_native/containerservice/v20230502preview/maintenance_configuration.py index f6d39235786e..4fe57c9534f3 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230502preview/maintenance_configuration.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230502preview/maintenance_configuration.py @@ -192,7 +192,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20201201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210801:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211001:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:MaintenanceConfiguration")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20201201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210801:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211001:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230701:MaintenanceConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(MaintenanceConfiguration, __self__).__init__( 'azure-native:containerservice/v20230502preview:MaintenanceConfiguration', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230502preview/managed_cluster.py b/sdk/python/pulumi_azure_native/containerservice/v20230502preview/managed_cluster.py index 729d8ee5f437..42af6c106a2e 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230502preview/managed_cluster.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230502preview/managed_cluster.py @@ -938,7 +938,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230701:ManagedCluster")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ManagedCluster, __self__).__init__( 'azure-native:containerservice/v20230502preview:ManagedCluster', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230502preview/private_endpoint_connection.py b/sdk/python/pulumi_azure_native/containerservice/v20230502preview/private_endpoint_connection.py index 65fb5e136fa9..af4b14b912d0 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230502preview/private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230502preview/private_endpoint_connection.py @@ -173,7 +173,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210801:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211001:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:PrivateEndpointConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210801:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211001:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230701:PrivateEndpointConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateEndpointConnection, __self__).__init__( 'azure-native:containerservice/v20230502preview:PrivateEndpointConnection', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230502preview/snapshot.py b/sdk/python/pulumi_azure_native/containerservice/v20230502preview/snapshot.py index 2cdfd5e7938b..ae812db1fb70 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230502preview/snapshot.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230502preview/snapshot.py @@ -197,7 +197,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None __props__.__dict__["vm_size"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211001:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220701:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230501:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:Snapshot")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211001:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220701:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230501:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230701:Snapshot")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Snapshot, __self__).__init__( 'azure-native:containerservice/v20230502preview:Snapshot', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230601/agent_pool.py b/sdk/python/pulumi_azure_native/containerservice/v20230601/agent_pool.py index e630e540c4fb..2a2b60ce9362 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230601/agent_pool.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230601/agent_pool.py @@ -893,7 +893,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["node_image_version"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230701:AgentPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(AgentPool, __self__).__init__( 'azure-native:containerservice/v20230601:AgentPool', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230601/maintenance_configuration.py b/sdk/python/pulumi_azure_native/containerservice/v20230601/maintenance_configuration.py index 92337ea4a27e..6299d208e5c9 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230601/maintenance_configuration.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230601/maintenance_configuration.py @@ -192,7 +192,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20201201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210801:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211001:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:MaintenanceConfiguration")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20201201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210801:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211001:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230701:MaintenanceConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(MaintenanceConfiguration, __self__).__init__( 'azure-native:containerservice/v20230601:MaintenanceConfiguration', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230601/managed_cluster.py b/sdk/python/pulumi_azure_native/containerservice/v20230601/managed_cluster.py index 31df79f74d73..acfad66f20fe 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230601/managed_cluster.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230601/managed_cluster.py @@ -798,7 +798,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230701:ManagedCluster")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ManagedCluster, __self__).__init__( 'azure-native:containerservice/v20230601:ManagedCluster', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230601/private_endpoint_connection.py b/sdk/python/pulumi_azure_native/containerservice/v20230601/private_endpoint_connection.py index 66a32cefc4b5..ce621896669d 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230601/private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230601/private_endpoint_connection.py @@ -173,7 +173,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210801:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211001:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:PrivateEndpointConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210801:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211001:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230701:PrivateEndpointConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateEndpointConnection, __self__).__init__( 'azure-native:containerservice/v20230601:PrivateEndpointConnection', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230601/snapshot.py b/sdk/python/pulumi_azure_native/containerservice/v20230601/snapshot.py index 190edd65e94b..78284880ca22 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230601/snapshot.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230601/snapshot.py @@ -197,7 +197,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None __props__.__dict__["vm_size"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211001:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220701:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230501:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:Snapshot")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211001:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220701:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230501:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230701:Snapshot")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Snapshot, __self__).__init__( 'azure-native:containerservice/v20230601:Snapshot', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230602preview/agent_pool.py b/sdk/python/pulumi_azure_native/containerservice/v20230602preview/agent_pool.py index 1a164d8d5bf0..81c86286d675 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230602preview/agent_pool.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230602preview/agent_pool.py @@ -1013,7 +1013,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["node_image_version"] = None __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230701:AgentPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(AgentPool, __self__).__init__( 'azure-native:containerservice/v20230602preview:AgentPool', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230602preview/maintenance_configuration.py b/sdk/python/pulumi_azure_native/containerservice/v20230602preview/maintenance_configuration.py index d2794e6a7dae..38f81e19b23d 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230602preview/maintenance_configuration.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230602preview/maintenance_configuration.py @@ -192,7 +192,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20201201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210801:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211001:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230601:MaintenanceConfiguration")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20201201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210801:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211001:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230701:MaintenanceConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(MaintenanceConfiguration, __self__).__init__( 'azure-native:containerservice/v20230602preview:MaintenanceConfiguration', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230602preview/managed_cluster.py b/sdk/python/pulumi_azure_native/containerservice/v20230602preview/managed_cluster.py index a9e9c47ff01c..b2277c0c51f8 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230602preview/managed_cluster.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230602preview/managed_cluster.py @@ -938,7 +938,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230701:ManagedCluster")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ManagedCluster, __self__).__init__( 'azure-native:containerservice/v20230602preview:ManagedCluster', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230602preview/private_endpoint_connection.py b/sdk/python/pulumi_azure_native/containerservice/v20230602preview/private_endpoint_connection.py index 7b67571dd97e..24cbe6f99c5e 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230602preview/private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230602preview/private_endpoint_connection.py @@ -173,7 +173,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210801:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211001:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230601:PrivateEndpointConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210801:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211001:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230701:PrivateEndpointConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateEndpointConnection, __self__).__init__( 'azure-native:containerservice/v20230602preview:PrivateEndpointConnection', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230602preview/snapshot.py b/sdk/python/pulumi_azure_native/containerservice/v20230602preview/snapshot.py index 946631efd3be..ae16912710e5 100644 --- a/sdk/python/pulumi_azure_native/containerservice/v20230602preview/snapshot.py +++ b/sdk/python/pulumi_azure_native/containerservice/v20230602preview/snapshot.py @@ -197,7 +197,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None __props__.__dict__["vm_size"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211001:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220701:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230501:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230601:Snapshot")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211001:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220701:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230501:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230701:Snapshot")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Snapshot, __self__).__init__( 'azure-native:containerservice/v20230602preview:Snapshot', diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/__init__.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/__init__.py new file mode 100644 index 000000000000..96209a555dd2 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/__init__.py @@ -0,0 +1,23 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .agent_pool import * +from .get_agent_pool import * +from .get_maintenance_configuration import * +from .get_managed_cluster import * +from .get_private_endpoint_connection import * +from .get_snapshot import * +from .list_managed_cluster_admin_credentials import * +from .list_managed_cluster_monitoring_user_credentials import * +from .list_managed_cluster_user_credentials import * +from .maintenance_configuration import * +from .managed_cluster import * +from .private_endpoint_connection import * +from .snapshot import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/_enums.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/_enums.py new file mode 100644 index 000000000000..b2a3e479561e --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/_enums.py @@ -0,0 +1,560 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'AgentPoolMode', + 'AgentPoolType', + 'Code', + 'ConnectionStatus', + 'Expander', + 'ExtendedLocationTypes', + 'GPUInstanceProfile', + 'IpFamily', + 'KeyVaultNetworkAccessTypes', + 'KubeletDiskType', + 'KubernetesSupportPlan', + 'LicenseType', + 'LoadBalancerSku', + 'ManagedClusterSKUName', + 'ManagedClusterSKUTier', + 'NetworkDataplane', + 'NetworkMode', + 'NetworkPlugin', + 'NetworkPluginMode', + 'NetworkPolicy', + 'NodeOSUpgradeChannel', + 'OSDiskType', + 'OSSKU', + 'OSType', + 'OutboundType', + 'PublicNetworkAccess', + 'ResourceIdentityType', + 'ScaleDownMode', + 'ScaleSetEvictionPolicy', + 'ScaleSetPriority', + 'SnapshotType', + 'Type', + 'UpgradeChannel', + 'WeekDay', + 'WorkloadRuntime', +] + + +class AgentPoolMode(str, Enum): + """ + A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + """ + SYSTEM = "System" + """ + System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory. + """ + USER = "User" + """ + User agent pools are primarily for hosting your application pods. + """ + + +class AgentPoolType(str, Enum): + """ + The type of Agent Pool. + """ + VIRTUAL_MACHINE_SCALE_SETS = "VirtualMachineScaleSets" + """ + Create an Agent Pool backed by a Virtual Machine Scale Set. + """ + AVAILABILITY_SET = "AvailabilitySet" + """ + Use of this is strongly discouraged. + """ + + +class Code(str, Enum): + """ + Tells whether the cluster is Running or Stopped + """ + RUNNING = "Running" + """ + The cluster is running. + """ + STOPPED = "Stopped" + """ + The cluster is stopped. + """ + + +class ConnectionStatus(str, Enum): + """ + The private link service connection status. + """ + PENDING = "Pending" + APPROVED = "Approved" + REJECTED = "Rejected" + DISCONNECTED = "Disconnected" + + +class Expander(str, Enum): + """ + If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + """ + LEAST_WASTE = "least-waste" + """ + Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources. + """ + MOST_PODS = "most-pods" + """ + Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once. + """ + PRIORITY = "priority" + """ + Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md). + """ + RANDOM = "random" + """ + Used when you don't have a particular need for the node groups to scale differently. + """ + + +class ExtendedLocationTypes(str, Enum): + """ + The type of the extended location. + """ + EDGE_ZONE = "EdgeZone" + + +class GPUInstanceProfile(str, Enum): + """ + GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + """ + MIG1G = "MIG1g" + MIG2G = "MIG2g" + MIG3G = "MIG3g" + MIG4G = "MIG4g" + MIG7G = "MIG7g" + + +class IpFamily(str, Enum): + """ + The IP version to use for cluster networking and IP assignment. + """ + I_PV4 = "IPv4" + I_PV6 = "IPv6" + + +class KeyVaultNetworkAccessTypes(str, Enum): + """ + Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + """ + PUBLIC = "Public" + PRIVATE = "Private" + + +class KubeletDiskType(str, Enum): + """ + Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + """ + OS = "OS" + """ + Kubelet will use the OS disk for its data. + """ + TEMPORARY = "Temporary" + """ + Kubelet will use the temporary disk for its data. + """ + + +class KubernetesSupportPlan(str, Enum): + """ + The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + """ + KUBERNETES_OFFICIAL = "KubernetesOfficial" + """ + Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release. + """ + AKS_LONG_TERM_SUPPORT = "AKSLongTermSupport" + """ + Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support. + """ + + +class LicenseType(str, Enum): + """ + The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + """ + NONE = "None" + """ + No additional licensing is applied. + """ + WINDOWS_SERVER = "Windows_Server" + """ + Enables Azure Hybrid User Benefits for Windows VMs. + """ + + +class LoadBalancerSku(str, Enum): + """ + The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + """ + STANDARD = "standard" + """ + Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article. + """ + BASIC = "basic" + """ + Use a basic Load Balancer with limited functionality. + """ + + +class ManagedClusterSKUName(str, Enum): + """ + The name of a managed cluster SKU. + """ + BASE = "Base" + """ + Base option for the AKS control plane. + """ + + +class ManagedClusterSKUTier(str, Enum): + """ + If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + """ + PREMIUM = "Premium" + """ + Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions. + """ + STANDARD = "Standard" + """ + Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones. + """ + FREE = "Free" + """ + The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases. + """ + + +class NetworkDataplane(str, Enum): + """ + Network dataplane used in the Kubernetes cluster. + """ + AZURE = "azure" + """ + Use Azure network dataplane. + """ + CILIUM = "cilium" + """ + Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information. + """ + + +class NetworkMode(str, Enum): + """ + This cannot be specified if networkPlugin is anything other than 'azure'. + """ + TRANSPARENT = "transparent" + """ + No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information. + """ + BRIDGE = "bridge" + """ + This is no longer supported + """ + + +class NetworkPlugin(str, Enum): + """ + Network plugin used for building the Kubernetes network. + """ + AZURE = "azure" + """ + Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information. + """ + KUBENET = "kubenet" + """ + Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information. + """ + NONE = "none" + """ + No CNI plugin is pre-installed. See [BYO CNI](https://docs.microsoft.com/en-us/azure/aks/use-byo-cni) for more information. + """ + + +class NetworkPluginMode(str, Enum): + """ + The mode the network plugin should use. + """ + OVERLAY = "overlay" + """ + Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay. + """ + + +class NetworkPolicy(str, Enum): + """ + Network policy used for building the Kubernetes network. + """ + CALICO = "calico" + """ + Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. + """ + AZURE = "azure" + """ + Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. + """ + CILIUM = "cilium" + """ + Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'. + """ + + +class NodeOSUpgradeChannel(str, Enum): + """ + Manner in which the OS on your nodes is updated. The default is NodeImage. + """ + NONE = "None" + """ + No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates + """ + UNMANAGED = "Unmanaged" + """ + OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice + """ + NODE_IMAGE = "NodeImage" + """ + AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images. + """ + + +class OSDiskType(str, Enum): + """ + The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + """ + MANAGED = "Managed" + """ + Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency. + """ + EPHEMERAL = "Ephemeral" + """ + Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades. + """ + + +class OSSKU(str, Enum): + """ + Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + """ + UBUNTU = "Ubuntu" + """ + Use Ubuntu as the OS for node images. + """ + AZURE_LINUX = "AzureLinux" + """ + Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. + """ + CBL_MARINER = "CBLMariner" + """ + Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. + """ + WINDOWS2019 = "Windows2019" + """ + Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa. + """ + WINDOWS2022 = "Windows2022" + """ + Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa. + """ + + +class OSType(str, Enum): + """ + The operating system type. The default is Linux. + """ + LINUX = "Linux" + """ + Use Linux. + """ + WINDOWS = "Windows" + """ + Use Windows. + """ + + +class OutboundType(str, Enum): + """ + This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + """ + LOAD_BALANCER = "loadBalancer" + """ + The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer). + """ + USER_DEFINED_ROUTING = "userDefinedRouting" + """ + Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting). + """ + MANAGED_NAT_GATEWAY = "managedNATGateway" + """ + The AKS-managed NAT gateway is used for egress. + """ + USER_ASSIGNED_NAT_GATEWAY = "userAssignedNATGateway" + """ + The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration. + """ + + +class PublicNetworkAccess(str, Enum): + """ + Allow or deny public network access for AKS + """ + ENABLED = "Enabled" + DISABLED = "Disabled" + + +class ResourceIdentityType(str, Enum): + """ + For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + """ + SYSTEM_ASSIGNED = "SystemAssigned" + """ + Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources. + """ + USER_ASSIGNED = "UserAssigned" + """ + Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources. + """ + NONE = "None" + """ + Do not use a managed identity for the Managed Cluster, service principal will be used instead. + """ + + +class ScaleDownMode(str, Enum): + """ + This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + """ + DELETE = "Delete" + """ + Create new instances during scale up and remove instances during scale down. + """ + DEALLOCATE = "Deallocate" + """ + Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down. + """ + + +class ScaleSetEvictionPolicy(str, Enum): + """ + This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + """ + DELETE = "Delete" + """ + Nodes in the underlying Scale Set of the node pool are deleted when they're evicted. + """ + DEALLOCATE = "Deallocate" + """ + Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading. + """ + + +class ScaleSetPriority(str, Enum): + """ + The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + """ + SPOT = "Spot" + """ + Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information. + """ + REGULAR = "Regular" + """ + Regular VMs will be used. + """ + + +class SnapshotType(str, Enum): + """ + The type of a snapshot. The default is NodePool. + """ + NODE_POOL = "NodePool" + """ + The snapshot is a snapshot of a node pool. + """ + + +class Type(str, Enum): + """ + Specifies on which week of the month the dayOfWeek applies. + """ + FIRST = "First" + """ + First week of the month. + """ + SECOND = "Second" + """ + Second week of the month. + """ + THIRD = "Third" + """ + Third week of the month. + """ + FOURTH = "Fourth" + """ + Fourth week of the month. + """ + LAST = "Last" + """ + Last week of the month. + """ + + +class UpgradeChannel(str, Enum): + """ + For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + """ + RAPID = "rapid" + """ + Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1. + """ + STABLE = "stable" + """ + Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6. + """ + PATCH = "patch" + """ + Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. + """ + NODE_IMAGE = "node-image" + """ + Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching + """ + NONE = "none" + """ + Disables auto-upgrades and keeps the cluster at its current version of Kubernetes. + """ + + +class WeekDay(str, Enum): + """ + The day of the week. + """ + SUNDAY = "Sunday" + MONDAY = "Monday" + TUESDAY = "Tuesday" + WEDNESDAY = "Wednesday" + THURSDAY = "Thursday" + FRIDAY = "Friday" + SATURDAY = "Saturday" + + +class WorkloadRuntime(str, Enum): + """ + Determines the type of workload a node can run. + """ + OCI_CONTAINER = "OCIContainer" + """ + Nodes will use Kubelet to run standard OCI container workloads. + """ + WASM_WASI = "WasmWasi" + """ + Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). + """ diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/_inputs.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/_inputs.py new file mode 100644 index 000000000000..be9e25b9dd75 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/_inputs.py @@ -0,0 +1,4776 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = [ + 'AbsoluteMonthlyScheduleArgs', + 'AgentPoolUpgradeSettingsArgs', + 'AzureKeyVaultKmsArgs', + 'ClusterUpgradeSettingsArgs', + 'ContainerServiceLinuxProfileArgs', + 'ContainerServiceNetworkProfileArgs', + 'ContainerServiceSshConfigurationArgs', + 'ContainerServiceSshPublicKeyArgs', + 'CreationDataArgs', + 'DailyScheduleArgs', + 'DateSpanArgs', + 'DelegatedResourceArgs', + 'ExtendedLocationArgs', + 'KubeletConfigArgs', + 'LinuxOSConfigArgs', + 'MaintenanceWindowArgs', + 'ManagedClusterAADProfileArgs', + 'ManagedClusterAPIServerAccessProfileArgs', + 'ManagedClusterAddonProfileArgs', + 'ManagedClusterAgentPoolProfileArgs', + 'ManagedClusterAutoUpgradeProfileArgs', + 'ManagedClusterAzureMonitorProfileKubeStateMetricsArgs', + 'ManagedClusterAzureMonitorProfileMetricsArgs', + 'ManagedClusterAzureMonitorProfileArgs', + 'ManagedClusterHTTPProxyConfigArgs', + 'ManagedClusterIdentityArgs', + 'ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs', + 'ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs', + 'ManagedClusterLoadBalancerProfileOutboundIPsArgs', + 'ManagedClusterLoadBalancerProfileArgs', + 'ManagedClusterManagedOutboundIPProfileArgs', + 'ManagedClusterNATGatewayProfileArgs', + 'ManagedClusterOIDCIssuerProfileArgs', + 'ManagedClusterPodIdentityExceptionArgs', + 'ManagedClusterPodIdentityProfileArgs', + 'ManagedClusterPodIdentityArgs', + 'ManagedClusterPropertiesAutoScalerProfileArgs', + 'ManagedClusterSKUArgs', + 'ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs', + 'ManagedClusterSecurityProfileDefenderArgs', + 'ManagedClusterSecurityProfileImageCleanerArgs', + 'ManagedClusterSecurityProfileWorkloadIdentityArgs', + 'ManagedClusterSecurityProfileArgs', + 'ManagedClusterServicePrincipalProfileArgs', + 'ManagedClusterStorageProfileBlobCSIDriverArgs', + 'ManagedClusterStorageProfileDiskCSIDriverArgs', + 'ManagedClusterStorageProfileFileCSIDriverArgs', + 'ManagedClusterStorageProfileSnapshotControllerArgs', + 'ManagedClusterStorageProfileArgs', + 'ManagedClusterWindowsProfileArgs', + 'ManagedClusterWorkloadAutoScalerProfileKedaArgs', + 'ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs', + 'ManagedClusterWorkloadAutoScalerProfileArgs', + 'PowerStateArgs', + 'PrivateEndpointArgs', + 'PrivateLinkResourceArgs', + 'PrivateLinkServiceConnectionStateArgs', + 'RelativeMonthlyScheduleArgs', + 'ResourceReferenceArgs', + 'ScheduleArgs', + 'SysctlConfigArgs', + 'TimeInWeekArgs', + 'TimeSpanArgs', + 'UpgradeOverrideSettingsArgs', + 'UserAssignedIdentityArgs', + 'WeeklyScheduleArgs', + 'WindowsGmsaProfileArgs', +] + +@pulumi.input_type +class AbsoluteMonthlyScheduleArgs: + def __init__(__self__, *, + day_of_month: pulumi.Input[int], + interval_months: pulumi.Input[int]): + """ + For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + :param pulumi.Input[int] day_of_month: The date of the month. + :param pulumi.Input[int] interval_months: Specifies the number of months between each set of occurrences. + """ + pulumi.set(__self__, "day_of_month", day_of_month) + pulumi.set(__self__, "interval_months", interval_months) + + @property + @pulumi.getter(name="dayOfMonth") + def day_of_month(self) -> pulumi.Input[int]: + """ + The date of the month. + """ + return pulumi.get(self, "day_of_month") + + @day_of_month.setter + def day_of_month(self, value: pulumi.Input[int]): + pulumi.set(self, "day_of_month", value) + + @property + @pulumi.getter(name="intervalMonths") + def interval_months(self) -> pulumi.Input[int]: + """ + Specifies the number of months between each set of occurrences. + """ + return pulumi.get(self, "interval_months") + + @interval_months.setter + def interval_months(self, value: pulumi.Input[int]): + pulumi.set(self, "interval_months", value) + + +@pulumi.input_type +class AgentPoolUpgradeSettingsArgs: + def __init__(__self__, *, + drain_timeout_in_minutes: Optional[pulumi.Input[int]] = None, + max_surge: Optional[pulumi.Input[str]] = None): + """ + Settings for upgrading an agentpool + :param pulumi.Input[int] drain_timeout_in_minutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. + :param pulumi.Input[str] max_surge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + """ + if drain_timeout_in_minutes is not None: + pulumi.set(__self__, "drain_timeout_in_minutes", drain_timeout_in_minutes) + if max_surge is not None: + pulumi.set(__self__, "max_surge", max_surge) + + @property + @pulumi.getter(name="drainTimeoutInMinutes") + def drain_timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + """ + The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. + """ + return pulumi.get(self, "drain_timeout_in_minutes") + + @drain_timeout_in_minutes.setter + def drain_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "drain_timeout_in_minutes", value) + + @property + @pulumi.getter(name="maxSurge") + def max_surge(self) -> Optional[pulumi.Input[str]]: + """ + This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + """ + return pulumi.get(self, "max_surge") + + @max_surge.setter + def max_surge(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "max_surge", value) + + +@pulumi.input_type +class AzureKeyVaultKmsArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + key_id: Optional[pulumi.Input[str]] = None, + key_vault_network_access: Optional[pulumi.Input[Union[str, 'KeyVaultNetworkAccessTypes']]] = None, + key_vault_resource_id: Optional[pulumi.Input[str]] = None): + """ + Azure Key Vault key management service settings for the security profile. + :param pulumi.Input[bool] enabled: Whether to enable Azure Key Vault key management service. The default is false. + :param pulumi.Input[str] key_id: Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + :param pulumi.Input[Union[str, 'KeyVaultNetworkAccessTypes']] key_vault_network_access: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + :param pulumi.Input[str] key_vault_resource_id: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if key_id is not None: + pulumi.set(__self__, "key_id", key_id) + if key_vault_network_access is None: + key_vault_network_access = 'Public' + if key_vault_network_access is not None: + pulumi.set(__self__, "key_vault_network_access", key_vault_network_access) + if key_vault_resource_id is not None: + pulumi.set(__self__, "key_vault_resource_id", key_vault_resource_id) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable Azure Key Vault key management service. The default is false. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="keyId") + def key_id(self) -> Optional[pulumi.Input[str]]: + """ + Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + """ + return pulumi.get(self, "key_id") + + @key_id.setter + def key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_id", value) + + @property + @pulumi.getter(name="keyVaultNetworkAccess") + def key_vault_network_access(self) -> Optional[pulumi.Input[Union[str, 'KeyVaultNetworkAccessTypes']]]: + """ + Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + """ + return pulumi.get(self, "key_vault_network_access") + + @key_vault_network_access.setter + def key_vault_network_access(self, value: Optional[pulumi.Input[Union[str, 'KeyVaultNetworkAccessTypes']]]): + pulumi.set(self, "key_vault_network_access", value) + + @property + @pulumi.getter(name="keyVaultResourceId") + def key_vault_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + """ + return pulumi.get(self, "key_vault_resource_id") + + @key_vault_resource_id.setter + def key_vault_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_vault_resource_id", value) + + +@pulumi.input_type +class ClusterUpgradeSettingsArgs: + def __init__(__self__, *, + override_settings: Optional[pulumi.Input['UpgradeOverrideSettingsArgs']] = None): + """ + Settings for upgrading a cluster. + :param pulumi.Input['UpgradeOverrideSettingsArgs'] override_settings: Settings for overrides. + """ + if override_settings is not None: + pulumi.set(__self__, "override_settings", override_settings) + + @property + @pulumi.getter(name="overrideSettings") + def override_settings(self) -> Optional[pulumi.Input['UpgradeOverrideSettingsArgs']]: + """ + Settings for overrides. + """ + return pulumi.get(self, "override_settings") + + @override_settings.setter + def override_settings(self, value: Optional[pulumi.Input['UpgradeOverrideSettingsArgs']]): + pulumi.set(self, "override_settings", value) + + +@pulumi.input_type +class ContainerServiceLinuxProfileArgs: + def __init__(__self__, *, + admin_username: pulumi.Input[str], + ssh: pulumi.Input['ContainerServiceSshConfigurationArgs']): + """ + Profile for Linux VMs in the container service cluster. + :param pulumi.Input[str] admin_username: The administrator username to use for Linux VMs. + :param pulumi.Input['ContainerServiceSshConfigurationArgs'] ssh: The SSH configuration for Linux-based VMs running on Azure. + """ + pulumi.set(__self__, "admin_username", admin_username) + pulumi.set(__self__, "ssh", ssh) + + @property + @pulumi.getter(name="adminUsername") + def admin_username(self) -> pulumi.Input[str]: + """ + The administrator username to use for Linux VMs. + """ + return pulumi.get(self, "admin_username") + + @admin_username.setter + def admin_username(self, value: pulumi.Input[str]): + pulumi.set(self, "admin_username", value) + + @property + @pulumi.getter + def ssh(self) -> pulumi.Input['ContainerServiceSshConfigurationArgs']: + """ + The SSH configuration for Linux-based VMs running on Azure. + """ + return pulumi.get(self, "ssh") + + @ssh.setter + def ssh(self, value: pulumi.Input['ContainerServiceSshConfigurationArgs']): + pulumi.set(self, "ssh", value) + + +@pulumi.input_type +class ContainerServiceNetworkProfileArgs: + def __init__(__self__, *, + dns_service_ip: Optional[pulumi.Input[str]] = None, + ip_families: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'IpFamily']]]]] = None, + load_balancer_profile: Optional[pulumi.Input['ManagedClusterLoadBalancerProfileArgs']] = None, + load_balancer_sku: Optional[pulumi.Input[Union[str, 'LoadBalancerSku']]] = None, + nat_gateway_profile: Optional[pulumi.Input['ManagedClusterNATGatewayProfileArgs']] = None, + network_dataplane: Optional[pulumi.Input[Union[str, 'NetworkDataplane']]] = None, + network_mode: Optional[pulumi.Input[Union[str, 'NetworkMode']]] = None, + network_plugin: Optional[pulumi.Input[Union[str, 'NetworkPlugin']]] = None, + network_plugin_mode: Optional[pulumi.Input[Union[str, 'NetworkPluginMode']]] = None, + network_policy: Optional[pulumi.Input[Union[str, 'NetworkPolicy']]] = None, + outbound_type: Optional[pulumi.Input[Union[str, 'OutboundType']]] = None, + pod_cidr: Optional[pulumi.Input[str]] = None, + pod_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + service_cidr: Optional[pulumi.Input[str]] = None, + service_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Profile of network configuration. + :param pulumi.Input[str] dns_service_ip: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'IpFamily']]]] ip_families: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + :param pulumi.Input['ManagedClusterLoadBalancerProfileArgs'] load_balancer_profile: Profile of the cluster load balancer. + :param pulumi.Input[Union[str, 'LoadBalancerSku']] load_balancer_sku: The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + :param pulumi.Input['ManagedClusterNATGatewayProfileArgs'] nat_gateway_profile: Profile of the cluster NAT gateway. + :param pulumi.Input[Union[str, 'NetworkDataplane']] network_dataplane: Network dataplane used in the Kubernetes cluster. + :param pulumi.Input[Union[str, 'NetworkMode']] network_mode: This cannot be specified if networkPlugin is anything other than 'azure'. + :param pulumi.Input[Union[str, 'NetworkPlugin']] network_plugin: Network plugin used for building the Kubernetes network. + :param pulumi.Input[Union[str, 'NetworkPluginMode']] network_plugin_mode: The mode the network plugin should use. + :param pulumi.Input[Union[str, 'NetworkPolicy']] network_policy: Network policy used for building the Kubernetes network. + :param pulumi.Input[Union[str, 'OutboundType']] outbound_type: This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + :param pulumi.Input[str] pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. + :param pulumi.Input[Sequence[pulumi.Input[str]]] pod_cidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + :param pulumi.Input[str] service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + :param pulumi.Input[Sequence[pulumi.Input[str]]] service_cidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + """ + if dns_service_ip is None: + dns_service_ip = '10.0.0.10' + if dns_service_ip is not None: + pulumi.set(__self__, "dns_service_ip", dns_service_ip) + if ip_families is not None: + pulumi.set(__self__, "ip_families", ip_families) + if load_balancer_profile is not None: + pulumi.set(__self__, "load_balancer_profile", load_balancer_profile) + if load_balancer_sku is not None: + pulumi.set(__self__, "load_balancer_sku", load_balancer_sku) + if nat_gateway_profile is not None: + pulumi.set(__self__, "nat_gateway_profile", nat_gateway_profile) + if network_dataplane is not None: + pulumi.set(__self__, "network_dataplane", network_dataplane) + if network_mode is not None: + pulumi.set(__self__, "network_mode", network_mode) + if network_plugin is None: + network_plugin = 'kubenet' + if network_plugin is not None: + pulumi.set(__self__, "network_plugin", network_plugin) + if network_plugin_mode is not None: + pulumi.set(__self__, "network_plugin_mode", network_plugin_mode) + if network_policy is not None: + pulumi.set(__self__, "network_policy", network_policy) + if outbound_type is None: + outbound_type = 'loadBalancer' + if outbound_type is not None: + pulumi.set(__self__, "outbound_type", outbound_type) + if pod_cidr is None: + pod_cidr = '10.244.0.0/16' + if pod_cidr is not None: + pulumi.set(__self__, "pod_cidr", pod_cidr) + if pod_cidrs is not None: + pulumi.set(__self__, "pod_cidrs", pod_cidrs) + if service_cidr is None: + service_cidr = '10.0.0.0/16' + if service_cidr is not None: + pulumi.set(__self__, "service_cidr", service_cidr) + if service_cidrs is not None: + pulumi.set(__self__, "service_cidrs", service_cidrs) + + @property + @pulumi.getter(name="dnsServiceIP") + def dns_service_ip(self) -> Optional[pulumi.Input[str]]: + """ + An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + """ + return pulumi.get(self, "dns_service_ip") + + @dns_service_ip.setter + def dns_service_ip(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dns_service_ip", value) + + @property + @pulumi.getter(name="ipFamilies") + def ip_families(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'IpFamily']]]]]: + """ + IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + """ + return pulumi.get(self, "ip_families") + + @ip_families.setter + def ip_families(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'IpFamily']]]]]): + pulumi.set(self, "ip_families", value) + + @property + @pulumi.getter(name="loadBalancerProfile") + def load_balancer_profile(self) -> Optional[pulumi.Input['ManagedClusterLoadBalancerProfileArgs']]: + """ + Profile of the cluster load balancer. + """ + return pulumi.get(self, "load_balancer_profile") + + @load_balancer_profile.setter + def load_balancer_profile(self, value: Optional[pulumi.Input['ManagedClusterLoadBalancerProfileArgs']]): + pulumi.set(self, "load_balancer_profile", value) + + @property + @pulumi.getter(name="loadBalancerSku") + def load_balancer_sku(self) -> Optional[pulumi.Input[Union[str, 'LoadBalancerSku']]]: + """ + The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + """ + return pulumi.get(self, "load_balancer_sku") + + @load_balancer_sku.setter + def load_balancer_sku(self, value: Optional[pulumi.Input[Union[str, 'LoadBalancerSku']]]): + pulumi.set(self, "load_balancer_sku", value) + + @property + @pulumi.getter(name="natGatewayProfile") + def nat_gateway_profile(self) -> Optional[pulumi.Input['ManagedClusterNATGatewayProfileArgs']]: + """ + Profile of the cluster NAT gateway. + """ + return pulumi.get(self, "nat_gateway_profile") + + @nat_gateway_profile.setter + def nat_gateway_profile(self, value: Optional[pulumi.Input['ManagedClusterNATGatewayProfileArgs']]): + pulumi.set(self, "nat_gateway_profile", value) + + @property + @pulumi.getter(name="networkDataplane") + def network_dataplane(self) -> Optional[pulumi.Input[Union[str, 'NetworkDataplane']]]: + """ + Network dataplane used in the Kubernetes cluster. + """ + return pulumi.get(self, "network_dataplane") + + @network_dataplane.setter + def network_dataplane(self, value: Optional[pulumi.Input[Union[str, 'NetworkDataplane']]]): + pulumi.set(self, "network_dataplane", value) + + @property + @pulumi.getter(name="networkMode") + def network_mode(self) -> Optional[pulumi.Input[Union[str, 'NetworkMode']]]: + """ + This cannot be specified if networkPlugin is anything other than 'azure'. + """ + return pulumi.get(self, "network_mode") + + @network_mode.setter + def network_mode(self, value: Optional[pulumi.Input[Union[str, 'NetworkMode']]]): + pulumi.set(self, "network_mode", value) + + @property + @pulumi.getter(name="networkPlugin") + def network_plugin(self) -> Optional[pulumi.Input[Union[str, 'NetworkPlugin']]]: + """ + Network plugin used for building the Kubernetes network. + """ + return pulumi.get(self, "network_plugin") + + @network_plugin.setter + def network_plugin(self, value: Optional[pulumi.Input[Union[str, 'NetworkPlugin']]]): + pulumi.set(self, "network_plugin", value) + + @property + @pulumi.getter(name="networkPluginMode") + def network_plugin_mode(self) -> Optional[pulumi.Input[Union[str, 'NetworkPluginMode']]]: + """ + The mode the network plugin should use. + """ + return pulumi.get(self, "network_plugin_mode") + + @network_plugin_mode.setter + def network_plugin_mode(self, value: Optional[pulumi.Input[Union[str, 'NetworkPluginMode']]]): + pulumi.set(self, "network_plugin_mode", value) + + @property + @pulumi.getter(name="networkPolicy") + def network_policy(self) -> Optional[pulumi.Input[Union[str, 'NetworkPolicy']]]: + """ + Network policy used for building the Kubernetes network. + """ + return pulumi.get(self, "network_policy") + + @network_policy.setter + def network_policy(self, value: Optional[pulumi.Input[Union[str, 'NetworkPolicy']]]): + pulumi.set(self, "network_policy", value) + + @property + @pulumi.getter(name="outboundType") + def outbound_type(self) -> Optional[pulumi.Input[Union[str, 'OutboundType']]]: + """ + This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + """ + return pulumi.get(self, "outbound_type") + + @outbound_type.setter + def outbound_type(self, value: Optional[pulumi.Input[Union[str, 'OutboundType']]]): + pulumi.set(self, "outbound_type", value) + + @property + @pulumi.getter(name="podCidr") + def pod_cidr(self) -> Optional[pulumi.Input[str]]: + """ + A CIDR notation IP range from which to assign pod IPs when kubenet is used. + """ + return pulumi.get(self, "pod_cidr") + + @pod_cidr.setter + def pod_cidr(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pod_cidr", value) + + @property + @pulumi.getter(name="podCidrs") + def pod_cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + """ + return pulumi.get(self, "pod_cidrs") + + @pod_cidrs.setter + def pod_cidrs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "pod_cidrs", value) + + @property + @pulumi.getter(name="serviceCidr") + def service_cidr(self) -> Optional[pulumi.Input[str]]: + """ + A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + """ + return pulumi.get(self, "service_cidr") + + @service_cidr.setter + def service_cidr(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_cidr", value) + + @property + @pulumi.getter(name="serviceCidrs") + def service_cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + """ + return pulumi.get(self, "service_cidrs") + + @service_cidrs.setter + def service_cidrs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "service_cidrs", value) + + +@pulumi.input_type +class ContainerServiceSshConfigurationArgs: + def __init__(__self__, *, + public_keys: pulumi.Input[Sequence[pulumi.Input['ContainerServiceSshPublicKeyArgs']]]): + """ + SSH configuration for Linux-based VMs running on Azure. + :param pulumi.Input[Sequence[pulumi.Input['ContainerServiceSshPublicKeyArgs']]] public_keys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + """ + pulumi.set(__self__, "public_keys", public_keys) + + @property + @pulumi.getter(name="publicKeys") + def public_keys(self) -> pulumi.Input[Sequence[pulumi.Input['ContainerServiceSshPublicKeyArgs']]]: + """ + The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + """ + return pulumi.get(self, "public_keys") + + @public_keys.setter + def public_keys(self, value: pulumi.Input[Sequence[pulumi.Input['ContainerServiceSshPublicKeyArgs']]]): + pulumi.set(self, "public_keys", value) + + +@pulumi.input_type +class ContainerServiceSshPublicKeyArgs: + def __init__(__self__, *, + key_data: pulumi.Input[str]): + """ + Contains information about SSH certificate public key data. + :param pulumi.Input[str] key_data: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + """ + pulumi.set(__self__, "key_data", key_data) + + @property + @pulumi.getter(name="keyData") + def key_data(self) -> pulumi.Input[str]: + """ + Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + """ + return pulumi.get(self, "key_data") + + @key_data.setter + def key_data(self, value: pulumi.Input[str]): + pulumi.set(self, "key_data", value) + + +@pulumi.input_type +class CreationDataArgs: + def __init__(__self__, *, + source_resource_id: Optional[pulumi.Input[str]] = None): + """ + Data used when creating a target resource from a source resource. + :param pulumi.Input[str] source_resource_id: This is the ARM ID of the source object to be used to create the target object. + """ + if source_resource_id is not None: + pulumi.set(__self__, "source_resource_id", source_resource_id) + + @property + @pulumi.getter(name="sourceResourceId") + def source_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + This is the ARM ID of the source object to be used to create the target object. + """ + return pulumi.get(self, "source_resource_id") + + @source_resource_id.setter + def source_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_resource_id", value) + + +@pulumi.input_type +class DailyScheduleArgs: + def __init__(__self__, *, + interval_days: pulumi.Input[int]): + """ + For schedules like: 'recur every day' or 'recur every 3 days'. + :param pulumi.Input[int] interval_days: Specifies the number of days between each set of occurrences. + """ + pulumi.set(__self__, "interval_days", interval_days) + + @property + @pulumi.getter(name="intervalDays") + def interval_days(self) -> pulumi.Input[int]: + """ + Specifies the number of days between each set of occurrences. + """ + return pulumi.get(self, "interval_days") + + @interval_days.setter + def interval_days(self, value: pulumi.Input[int]): + pulumi.set(self, "interval_days", value) + + +@pulumi.input_type +class DateSpanArgs: + def __init__(__self__, *, + end: pulumi.Input[str], + start: pulumi.Input[str]): + """ + For example, between '2022-12-23' and '2023-01-05'. + :param pulumi.Input[str] end: The end date of the date span. + :param pulumi.Input[str] start: The start date of the date span. + """ + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> pulumi.Input[str]: + """ + The end date of the date span. + """ + return pulumi.get(self, "end") + + @end.setter + def end(self, value: pulumi.Input[str]): + pulumi.set(self, "end", value) + + @property + @pulumi.getter + def start(self) -> pulumi.Input[str]: + """ + The start date of the date span. + """ + return pulumi.get(self, "start") + + @start.setter + def start(self, value: pulumi.Input[str]): + pulumi.set(self, "start", value) + + +@pulumi.input_type +class DelegatedResourceArgs: + def __init__(__self__, *, + location: Optional[pulumi.Input[str]] = None, + referral_resource: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + tenant_id: Optional[pulumi.Input[str]] = None): + """ + Delegated resource properties - internal use only. + :param pulumi.Input[str] location: The source resource location - internal use only. + :param pulumi.Input[str] referral_resource: The delegation id of the referral delegation (optional) - internal use only. + :param pulumi.Input[str] resource_id: The ARM resource id of the delegated resource - internal use only. + :param pulumi.Input[str] tenant_id: The tenant id of the delegated resource - internal use only. + """ + if location is not None: + pulumi.set(__self__, "location", location) + if referral_resource is not None: + pulumi.set(__self__, "referral_resource", referral_resource) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if tenant_id is not None: + pulumi.set(__self__, "tenant_id", tenant_id) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The source resource location - internal use only. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="referralResource") + def referral_resource(self) -> Optional[pulumi.Input[str]]: + """ + The delegation id of the referral delegation (optional) - internal use only. + """ + return pulumi.get(self, "referral_resource") + + @referral_resource.setter + def referral_resource(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "referral_resource", value) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[str]]: + """ + The ARM resource id of the delegated resource - internal use only. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_id", value) + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> Optional[pulumi.Input[str]]: + """ + The tenant id of the delegated resource - internal use only. + """ + return pulumi.get(self, "tenant_id") + + @tenant_id.setter + def tenant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_id", value) + + +@pulumi.input_type +class ExtendedLocationArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[Union[str, 'ExtendedLocationTypes']]] = None): + """ + The complex type of the extended location. + :param pulumi.Input[str] name: The name of the extended location. + :param pulumi.Input[Union[str, 'ExtendedLocationTypes']] type: The type of the extended location. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the extended location. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[Union[str, 'ExtendedLocationTypes']]]: + """ + The type of the extended location. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[Union[str, 'ExtendedLocationTypes']]]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class KubeletConfigArgs: + def __init__(__self__, *, + allowed_unsafe_sysctls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + container_log_max_files: Optional[pulumi.Input[int]] = None, + container_log_max_size_mb: Optional[pulumi.Input[int]] = None, + cpu_cfs_quota: Optional[pulumi.Input[bool]] = None, + cpu_cfs_quota_period: Optional[pulumi.Input[str]] = None, + cpu_manager_policy: Optional[pulumi.Input[str]] = None, + fail_swap_on: Optional[pulumi.Input[bool]] = None, + image_gc_high_threshold: Optional[pulumi.Input[int]] = None, + image_gc_low_threshold: Optional[pulumi.Input[int]] = None, + pod_max_pids: Optional[pulumi.Input[int]] = None, + topology_manager_policy: Optional[pulumi.Input[str]] = None): + """ + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_unsafe_sysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + :param pulumi.Input[int] container_log_max_files: The maximum number of container log files that can be present for a container. The number must be ≥ 2. + :param pulumi.Input[int] container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it is rotated. + :param pulumi.Input[bool] cpu_cfs_quota: The default is true. + :param pulumi.Input[str] cpu_cfs_quota_period: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + :param pulumi.Input[str] cpu_manager_policy: The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + :param pulumi.Input[bool] fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled on the node. + :param pulumi.Input[int] image_gc_high_threshold: To disable image garbage collection, set to 100. The default is 85% + :param pulumi.Input[int] image_gc_low_threshold: This cannot be set higher than imageGcHighThreshold. The default is 80% + :param pulumi.Input[int] pod_max_pids: The maximum number of processes per pod. + :param pulumi.Input[str] topology_manager_policy: For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + """ + if allowed_unsafe_sysctls is not None: + pulumi.set(__self__, "allowed_unsafe_sysctls", allowed_unsafe_sysctls) + if container_log_max_files is not None: + pulumi.set(__self__, "container_log_max_files", container_log_max_files) + if container_log_max_size_mb is not None: + pulumi.set(__self__, "container_log_max_size_mb", container_log_max_size_mb) + if cpu_cfs_quota is not None: + pulumi.set(__self__, "cpu_cfs_quota", cpu_cfs_quota) + if cpu_cfs_quota_period is not None: + pulumi.set(__self__, "cpu_cfs_quota_period", cpu_cfs_quota_period) + if cpu_manager_policy is not None: + pulumi.set(__self__, "cpu_manager_policy", cpu_manager_policy) + if fail_swap_on is not None: + pulumi.set(__self__, "fail_swap_on", fail_swap_on) + if image_gc_high_threshold is not None: + pulumi.set(__self__, "image_gc_high_threshold", image_gc_high_threshold) + if image_gc_low_threshold is not None: + pulumi.set(__self__, "image_gc_low_threshold", image_gc_low_threshold) + if pod_max_pids is not None: + pulumi.set(__self__, "pod_max_pids", pod_max_pids) + if topology_manager_policy is not None: + pulumi.set(__self__, "topology_manager_policy", topology_manager_policy) + + @property + @pulumi.getter(name="allowedUnsafeSysctls") + def allowed_unsafe_sysctls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + """ + return pulumi.get(self, "allowed_unsafe_sysctls") + + @allowed_unsafe_sysctls.setter + def allowed_unsafe_sysctls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "allowed_unsafe_sysctls", value) + + @property + @pulumi.getter(name="containerLogMaxFiles") + def container_log_max_files(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of container log files that can be present for a container. The number must be ≥ 2. + """ + return pulumi.get(self, "container_log_max_files") + + @container_log_max_files.setter + def container_log_max_files(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "container_log_max_files", value) + + @property + @pulumi.getter(name="containerLogMaxSizeMB") + def container_log_max_size_mb(self) -> Optional[pulumi.Input[int]]: + """ + The maximum size (e.g. 10Mi) of container log file before it is rotated. + """ + return pulumi.get(self, "container_log_max_size_mb") + + @container_log_max_size_mb.setter + def container_log_max_size_mb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "container_log_max_size_mb", value) + + @property + @pulumi.getter(name="cpuCfsQuota") + def cpu_cfs_quota(self) -> Optional[pulumi.Input[bool]]: + """ + The default is true. + """ + return pulumi.get(self, "cpu_cfs_quota") + + @cpu_cfs_quota.setter + def cpu_cfs_quota(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "cpu_cfs_quota", value) + + @property + @pulumi.getter(name="cpuCfsQuotaPeriod") + def cpu_cfs_quota_period(self) -> Optional[pulumi.Input[str]]: + """ + The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + """ + return pulumi.get(self, "cpu_cfs_quota_period") + + @cpu_cfs_quota_period.setter + def cpu_cfs_quota_period(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cpu_cfs_quota_period", value) + + @property + @pulumi.getter(name="cpuManagerPolicy") + def cpu_manager_policy(self) -> Optional[pulumi.Input[str]]: + """ + The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + """ + return pulumi.get(self, "cpu_manager_policy") + + @cpu_manager_policy.setter + def cpu_manager_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cpu_manager_policy", value) + + @property + @pulumi.getter(name="failSwapOn") + def fail_swap_on(self) -> Optional[pulumi.Input[bool]]: + """ + If set to true it will make the Kubelet fail to start if swap is enabled on the node. + """ + return pulumi.get(self, "fail_swap_on") + + @fail_swap_on.setter + def fail_swap_on(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "fail_swap_on", value) + + @property + @pulumi.getter(name="imageGcHighThreshold") + def image_gc_high_threshold(self) -> Optional[pulumi.Input[int]]: + """ + To disable image garbage collection, set to 100. The default is 85% + """ + return pulumi.get(self, "image_gc_high_threshold") + + @image_gc_high_threshold.setter + def image_gc_high_threshold(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "image_gc_high_threshold", value) + + @property + @pulumi.getter(name="imageGcLowThreshold") + def image_gc_low_threshold(self) -> Optional[pulumi.Input[int]]: + """ + This cannot be set higher than imageGcHighThreshold. The default is 80% + """ + return pulumi.get(self, "image_gc_low_threshold") + + @image_gc_low_threshold.setter + def image_gc_low_threshold(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "image_gc_low_threshold", value) + + @property + @pulumi.getter(name="podMaxPids") + def pod_max_pids(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of processes per pod. + """ + return pulumi.get(self, "pod_max_pids") + + @pod_max_pids.setter + def pod_max_pids(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "pod_max_pids", value) + + @property + @pulumi.getter(name="topologyManagerPolicy") + def topology_manager_policy(self) -> Optional[pulumi.Input[str]]: + """ + For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + """ + return pulumi.get(self, "topology_manager_policy") + + @topology_manager_policy.setter + def topology_manager_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "topology_manager_policy", value) + + +@pulumi.input_type +class LinuxOSConfigArgs: + def __init__(__self__, *, + swap_file_size_mb: Optional[pulumi.Input[int]] = None, + sysctls: Optional[pulumi.Input['SysctlConfigArgs']] = None, + transparent_huge_page_defrag: Optional[pulumi.Input[str]] = None, + transparent_huge_page_enabled: Optional[pulumi.Input[str]] = None): + """ + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + :param pulumi.Input[int] swap_file_size_mb: The size in MB of a swap file that will be created on each node. + :param pulumi.Input['SysctlConfigArgs'] sysctls: Sysctl settings for Linux agent nodes. + :param pulumi.Input[str] transparent_huge_page_defrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + :param pulumi.Input[str] transparent_huge_page_enabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + """ + if swap_file_size_mb is not None: + pulumi.set(__self__, "swap_file_size_mb", swap_file_size_mb) + if sysctls is not None: + pulumi.set(__self__, "sysctls", sysctls) + if transparent_huge_page_defrag is not None: + pulumi.set(__self__, "transparent_huge_page_defrag", transparent_huge_page_defrag) + if transparent_huge_page_enabled is not None: + pulumi.set(__self__, "transparent_huge_page_enabled", transparent_huge_page_enabled) + + @property + @pulumi.getter(name="swapFileSizeMB") + def swap_file_size_mb(self) -> Optional[pulumi.Input[int]]: + """ + The size in MB of a swap file that will be created on each node. + """ + return pulumi.get(self, "swap_file_size_mb") + + @swap_file_size_mb.setter + def swap_file_size_mb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "swap_file_size_mb", value) + + @property + @pulumi.getter + def sysctls(self) -> Optional[pulumi.Input['SysctlConfigArgs']]: + """ + Sysctl settings for Linux agent nodes. + """ + return pulumi.get(self, "sysctls") + + @sysctls.setter + def sysctls(self, value: Optional[pulumi.Input['SysctlConfigArgs']]): + pulumi.set(self, "sysctls", value) + + @property + @pulumi.getter(name="transparentHugePageDefrag") + def transparent_huge_page_defrag(self) -> Optional[pulumi.Input[str]]: + """ + Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + """ + return pulumi.get(self, "transparent_huge_page_defrag") + + @transparent_huge_page_defrag.setter + def transparent_huge_page_defrag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "transparent_huge_page_defrag", value) + + @property + @pulumi.getter(name="transparentHugePageEnabled") + def transparent_huge_page_enabled(self) -> Optional[pulumi.Input[str]]: + """ + Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + """ + return pulumi.get(self, "transparent_huge_page_enabled") + + @transparent_huge_page_enabled.setter + def transparent_huge_page_enabled(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "transparent_huge_page_enabled", value) + + +@pulumi.input_type +class MaintenanceWindowArgs: + def __init__(__self__, *, + duration_hours: pulumi.Input[int], + schedule: pulumi.Input['ScheduleArgs'], + start_time: pulumi.Input[str], + not_allowed_dates: Optional[pulumi.Input[Sequence[pulumi.Input['DateSpanArgs']]]] = None, + start_date: Optional[pulumi.Input[str]] = None, + utc_offset: Optional[pulumi.Input[str]] = None): + """ + Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + :param pulumi.Input[int] duration_hours: Length of maintenance window range from 4 to 24 hours. + :param pulumi.Input['ScheduleArgs'] schedule: Recurrence schedule for the maintenance window. + :param pulumi.Input[str] start_time: The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + :param pulumi.Input[Sequence[pulumi.Input['DateSpanArgs']]] not_allowed_dates: Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. + :param pulumi.Input[str] start_date: The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + :param pulumi.Input[str] utc_offset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. + """ + if duration_hours is None: + duration_hours = 24 + pulumi.set(__self__, "duration_hours", duration_hours) + pulumi.set(__self__, "schedule", schedule) + pulumi.set(__self__, "start_time", start_time) + if not_allowed_dates is not None: + pulumi.set(__self__, "not_allowed_dates", not_allowed_dates) + if start_date is not None: + pulumi.set(__self__, "start_date", start_date) + if utc_offset is not None: + pulumi.set(__self__, "utc_offset", utc_offset) + + @property + @pulumi.getter(name="durationHours") + def duration_hours(self) -> pulumi.Input[int]: + """ + Length of maintenance window range from 4 to 24 hours. + """ + return pulumi.get(self, "duration_hours") + + @duration_hours.setter + def duration_hours(self, value: pulumi.Input[int]): + pulumi.set(self, "duration_hours", value) + + @property + @pulumi.getter + def schedule(self) -> pulumi.Input['ScheduleArgs']: + """ + Recurrence schedule for the maintenance window. + """ + return pulumi.get(self, "schedule") + + @schedule.setter + def schedule(self, value: pulumi.Input['ScheduleArgs']): + pulumi.set(self, "schedule", value) + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> pulumi.Input[str]: + """ + The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + """ + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: pulumi.Input[str]): + pulumi.set(self, "start_time", value) + + @property + @pulumi.getter(name="notAllowedDates") + def not_allowed_dates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DateSpanArgs']]]]: + """ + Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. + """ + return pulumi.get(self, "not_allowed_dates") + + @not_allowed_dates.setter + def not_allowed_dates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DateSpanArgs']]]]): + pulumi.set(self, "not_allowed_dates", value) + + @property + @pulumi.getter(name="startDate") + def start_date(self) -> Optional[pulumi.Input[str]]: + """ + The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + """ + return pulumi.get(self, "start_date") + + @start_date.setter + def start_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "start_date", value) + + @property + @pulumi.getter(name="utcOffset") + def utc_offset(self) -> Optional[pulumi.Input[str]]: + """ + The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. + """ + return pulumi.get(self, "utc_offset") + + @utc_offset.setter + def utc_offset(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "utc_offset", value) + + +@pulumi.input_type +class ManagedClusterAADProfileArgs: + def __init__(__self__, *, + admin_group_object_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + client_app_id: Optional[pulumi.Input[str]] = None, + enable_azure_rbac: Optional[pulumi.Input[bool]] = None, + managed: Optional[pulumi.Input[bool]] = None, + server_app_id: Optional[pulumi.Input[str]] = None, + server_app_secret: Optional[pulumi.Input[str]] = None, + tenant_id: Optional[pulumi.Input[str]] = None): + """ + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + :param pulumi.Input[Sequence[pulumi.Input[str]]] admin_group_object_ids: The list of AAD group object IDs that will have admin role of the cluster. + :param pulumi.Input[str] client_app_id: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + :param pulumi.Input[bool] enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. + :param pulumi.Input[bool] managed: Whether to enable managed AAD. + :param pulumi.Input[str] server_app_id: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + :param pulumi.Input[str] server_app_secret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + :param pulumi.Input[str] tenant_id: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + """ + if admin_group_object_ids is not None: + pulumi.set(__self__, "admin_group_object_ids", admin_group_object_ids) + if client_app_id is not None: + pulumi.set(__self__, "client_app_id", client_app_id) + if enable_azure_rbac is not None: + pulumi.set(__self__, "enable_azure_rbac", enable_azure_rbac) + if managed is not None: + pulumi.set(__self__, "managed", managed) + if server_app_id is not None: + pulumi.set(__self__, "server_app_id", server_app_id) + if server_app_secret is not None: + pulumi.set(__self__, "server_app_secret", server_app_secret) + if tenant_id is not None: + pulumi.set(__self__, "tenant_id", tenant_id) + + @property + @pulumi.getter(name="adminGroupObjectIDs") + def admin_group_object_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The list of AAD group object IDs that will have admin role of the cluster. + """ + return pulumi.get(self, "admin_group_object_ids") + + @admin_group_object_ids.setter + def admin_group_object_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "admin_group_object_ids", value) + + @property + @pulumi.getter(name="clientAppID") + def client_app_id(self) -> Optional[pulumi.Input[str]]: + """ + (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + """ + return pulumi.get(self, "client_app_id") + + @client_app_id.setter + def client_app_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_app_id", value) + + @property + @pulumi.getter(name="enableAzureRBAC") + def enable_azure_rbac(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable Azure RBAC for Kubernetes authorization. + """ + return pulumi.get(self, "enable_azure_rbac") + + @enable_azure_rbac.setter + def enable_azure_rbac(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_azure_rbac", value) + + @property + @pulumi.getter + def managed(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable managed AAD. + """ + return pulumi.get(self, "managed") + + @managed.setter + def managed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "managed", value) + + @property + @pulumi.getter(name="serverAppID") + def server_app_id(self) -> Optional[pulumi.Input[str]]: + """ + (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + """ + return pulumi.get(self, "server_app_id") + + @server_app_id.setter + def server_app_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "server_app_id", value) + + @property + @pulumi.getter(name="serverAppSecret") + def server_app_secret(self) -> Optional[pulumi.Input[str]]: + """ + (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + """ + return pulumi.get(self, "server_app_secret") + + @server_app_secret.setter + def server_app_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "server_app_secret", value) + + @property + @pulumi.getter(name="tenantID") + def tenant_id(self) -> Optional[pulumi.Input[str]]: + """ + The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + """ + return pulumi.get(self, "tenant_id") + + @tenant_id.setter + def tenant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_id", value) + + +@pulumi.input_type +class ManagedClusterAPIServerAccessProfileArgs: + def __init__(__self__, *, + authorized_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + disable_run_command: Optional[pulumi.Input[bool]] = None, + enable_private_cluster: Optional[pulumi.Input[bool]] = None, + enable_private_cluster_public_fqdn: Optional[pulumi.Input[bool]] = None, + private_dns_zone: Optional[pulumi.Input[str]] = None): + """ + Access profile for managed cluster API server. + :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_ip_ranges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + :param pulumi.Input[bool] disable_run_command: Whether to disable run command for the cluster or not. + :param pulumi.Input[bool] enable_private_cluster: For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + :param pulumi.Input[bool] enable_private_cluster_public_fqdn: Whether to create additional public FQDN for private cluster or not. + :param pulumi.Input[str] private_dns_zone: The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + """ + if authorized_ip_ranges is not None: + pulumi.set(__self__, "authorized_ip_ranges", authorized_ip_ranges) + if disable_run_command is not None: + pulumi.set(__self__, "disable_run_command", disable_run_command) + if enable_private_cluster is not None: + pulumi.set(__self__, "enable_private_cluster", enable_private_cluster) + if enable_private_cluster_public_fqdn is not None: + pulumi.set(__self__, "enable_private_cluster_public_fqdn", enable_private_cluster_public_fqdn) + if private_dns_zone is not None: + pulumi.set(__self__, "private_dns_zone", private_dns_zone) + + @property + @pulumi.getter(name="authorizedIPRanges") + def authorized_ip_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + """ + return pulumi.get(self, "authorized_ip_ranges") + + @authorized_ip_ranges.setter + def authorized_ip_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "authorized_ip_ranges", value) + + @property + @pulumi.getter(name="disableRunCommand") + def disable_run_command(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to disable run command for the cluster or not. + """ + return pulumi.get(self, "disable_run_command") + + @disable_run_command.setter + def disable_run_command(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_run_command", value) + + @property + @pulumi.getter(name="enablePrivateCluster") + def enable_private_cluster(self) -> Optional[pulumi.Input[bool]]: + """ + For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + """ + return pulumi.get(self, "enable_private_cluster") + + @enable_private_cluster.setter + def enable_private_cluster(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_private_cluster", value) + + @property + @pulumi.getter(name="enablePrivateClusterPublicFQDN") + def enable_private_cluster_public_fqdn(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to create additional public FQDN for private cluster or not. + """ + return pulumi.get(self, "enable_private_cluster_public_fqdn") + + @enable_private_cluster_public_fqdn.setter + def enable_private_cluster_public_fqdn(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_private_cluster_public_fqdn", value) + + @property + @pulumi.getter(name="privateDNSZone") + def private_dns_zone(self) -> Optional[pulumi.Input[str]]: + """ + The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + """ + return pulumi.get(self, "private_dns_zone") + + @private_dns_zone.setter + def private_dns_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "private_dns_zone", value) + + +@pulumi.input_type +class ManagedClusterAddonProfileArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool], + config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + A Kubernetes add-on profile for a managed cluster. + :param pulumi.Input[bool] enabled: Whether the add-on is enabled or not. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: Key-value pairs for configuring an add-on. + """ + pulumi.set(__self__, "enabled", enabled) + if config is not None: + pulumi.set(__self__, "config", config) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + Whether the add-on is enabled or not. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter + def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value pairs for configuring an add-on. + """ + return pulumi.get(self, "config") + + @config.setter + def config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "config", value) + + +@pulumi.input_type +class ManagedClusterAgentPoolProfileArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + availability_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + count: Optional[pulumi.Input[int]] = None, + creation_data: Optional[pulumi.Input['CreationDataArgs']] = None, + enable_auto_scaling: Optional[pulumi.Input[bool]] = None, + enable_encryption_at_host: Optional[pulumi.Input[bool]] = None, + enable_fips: Optional[pulumi.Input[bool]] = None, + enable_node_public_ip: Optional[pulumi.Input[bool]] = None, + enable_ultra_ssd: Optional[pulumi.Input[bool]] = None, + gpu_instance_profile: Optional[pulumi.Input[Union[str, 'GPUInstanceProfile']]] = None, + host_group_id: Optional[pulumi.Input[str]] = None, + kubelet_config: Optional[pulumi.Input['KubeletConfigArgs']] = None, + kubelet_disk_type: Optional[pulumi.Input[Union[str, 'KubeletDiskType']]] = None, + linux_os_config: Optional[pulumi.Input['LinuxOSConfigArgs']] = None, + max_count: Optional[pulumi.Input[int]] = None, + max_pods: Optional[pulumi.Input[int]] = None, + min_count: Optional[pulumi.Input[int]] = None, + mode: Optional[pulumi.Input[Union[str, 'AgentPoolMode']]] = None, + node_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + node_public_ip_prefix_id: Optional[pulumi.Input[str]] = None, + node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + orchestrator_version: Optional[pulumi.Input[str]] = None, + os_disk_size_gb: Optional[pulumi.Input[int]] = None, + os_disk_type: Optional[pulumi.Input[Union[str, 'OSDiskType']]] = None, + os_sku: Optional[pulumi.Input[Union[str, 'OSSKU']]] = None, + os_type: Optional[pulumi.Input[Union[str, 'OSType']]] = None, + pod_subnet_id: Optional[pulumi.Input[str]] = None, + power_state: Optional[pulumi.Input['PowerStateArgs']] = None, + proximity_placement_group_id: Optional[pulumi.Input[str]] = None, + scale_down_mode: Optional[pulumi.Input[Union[str, 'ScaleDownMode']]] = None, + scale_set_eviction_policy: Optional[pulumi.Input[Union[str, 'ScaleSetEvictionPolicy']]] = None, + scale_set_priority: Optional[pulumi.Input[Union[str, 'ScaleSetPriority']]] = None, + spot_max_price: Optional[pulumi.Input[float]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[Union[str, 'AgentPoolType']]] = None, + upgrade_settings: Optional[pulumi.Input['AgentPoolUpgradeSettingsArgs']] = None, + vm_size: Optional[pulumi.Input[str]] = None, + vnet_subnet_id: Optional[pulumi.Input[str]] = None, + workload_runtime: Optional[pulumi.Input[Union[str, 'WorkloadRuntime']]] = None): + """ + Profile for the container service agent pool. + :param pulumi.Input[str] name: Windows agent pool names must be 6 characters or less. + :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + :param pulumi.Input[int] count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + :param pulumi.Input['CreationDataArgs'] creation_data: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + :param pulumi.Input[bool] enable_auto_scaling: Whether to enable auto-scaler + :param pulumi.Input[bool] enable_encryption_at_host: This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + :param pulumi.Input[bool] enable_fips: See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + :param pulumi.Input[bool] enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + :param pulumi.Input[bool] enable_ultra_ssd: Whether to enable UltraSSD + :param pulumi.Input[Union[str, 'GPUInstanceProfile']] gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + :param pulumi.Input[str] host_group_id: This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + :param pulumi.Input['KubeletConfigArgs'] kubelet_config: The Kubelet configuration on the agent pool nodes. + :param pulumi.Input[Union[str, 'KubeletDiskType']] kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + :param pulumi.Input['LinuxOSConfigArgs'] linux_os_config: The OS configuration of Linux agent nodes. + :param pulumi.Input[int] max_count: The maximum number of nodes for auto-scaling + :param pulumi.Input[int] max_pods: The maximum number of pods that can run on a node. + :param pulumi.Input[int] min_count: The minimum number of nodes for auto-scaling + :param pulumi.Input[Union[str, 'AgentPoolMode']] mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_labels: The node labels to be persisted across all nodes in agent pool. + :param pulumi.Input[str] node_public_ip_prefix_id: This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + :param pulumi.Input[Sequence[pulumi.Input[str]]] node_taints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + :param pulumi.Input[str] orchestrator_version: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + :param pulumi.Input[int] os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + :param pulumi.Input[Union[str, 'OSDiskType']] os_disk_type: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + :param pulumi.Input[Union[str, 'OSSKU']] os_sku: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + :param pulumi.Input[Union[str, 'OSType']] os_type: The operating system type. The default is Linux. + :param pulumi.Input[str] pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + :param pulumi.Input['PowerStateArgs'] power_state: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + :param pulumi.Input[str] proximity_placement_group_id: The ID for Proximity Placement Group. + :param pulumi.Input[Union[str, 'ScaleDownMode']] scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + :param pulumi.Input[Union[str, 'ScaleSetEvictionPolicy']] scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + :param pulumi.Input[Union[str, 'ScaleSetPriority']] scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + :param pulumi.Input[float] spot_max_price: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The tags to be persisted on the agent pool virtual machine scale set. + :param pulumi.Input[Union[str, 'AgentPoolType']] type: The type of Agent Pool. + :param pulumi.Input['AgentPoolUpgradeSettingsArgs'] upgrade_settings: Settings for upgrading the agentpool + :param pulumi.Input[str] vm_size: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + :param pulumi.Input[str] vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + :param pulumi.Input[Union[str, 'WorkloadRuntime']] workload_runtime: Determines the type of workload a node can run. + """ + pulumi.set(__self__, "name", name) + if availability_zones is not None: + pulumi.set(__self__, "availability_zones", availability_zones) + if count is not None: + pulumi.set(__self__, "count", count) + if creation_data is not None: + pulumi.set(__self__, "creation_data", creation_data) + if enable_auto_scaling is not None: + pulumi.set(__self__, "enable_auto_scaling", enable_auto_scaling) + if enable_encryption_at_host is not None: + pulumi.set(__self__, "enable_encryption_at_host", enable_encryption_at_host) + if enable_fips is not None: + pulumi.set(__self__, "enable_fips", enable_fips) + if enable_node_public_ip is not None: + pulumi.set(__self__, "enable_node_public_ip", enable_node_public_ip) + if enable_ultra_ssd is not None: + pulumi.set(__self__, "enable_ultra_ssd", enable_ultra_ssd) + if gpu_instance_profile is not None: + pulumi.set(__self__, "gpu_instance_profile", gpu_instance_profile) + if host_group_id is not None: + pulumi.set(__self__, "host_group_id", host_group_id) + if kubelet_config is not None: + pulumi.set(__self__, "kubelet_config", kubelet_config) + if kubelet_disk_type is not None: + pulumi.set(__self__, "kubelet_disk_type", kubelet_disk_type) + if linux_os_config is not None: + pulumi.set(__self__, "linux_os_config", linux_os_config) + if max_count is not None: + pulumi.set(__self__, "max_count", max_count) + if max_pods is not None: + pulumi.set(__self__, "max_pods", max_pods) + if min_count is not None: + pulumi.set(__self__, "min_count", min_count) + if mode is not None: + pulumi.set(__self__, "mode", mode) + if node_labels is not None: + pulumi.set(__self__, "node_labels", node_labels) + if node_public_ip_prefix_id is not None: + pulumi.set(__self__, "node_public_ip_prefix_id", node_public_ip_prefix_id) + if node_taints is not None: + pulumi.set(__self__, "node_taints", node_taints) + if orchestrator_version is not None: + pulumi.set(__self__, "orchestrator_version", orchestrator_version) + if os_disk_size_gb is not None: + pulumi.set(__self__, "os_disk_size_gb", os_disk_size_gb) + if os_disk_type is not None: + pulumi.set(__self__, "os_disk_type", os_disk_type) + if os_sku is not None: + pulumi.set(__self__, "os_sku", os_sku) + if os_type is not None: + pulumi.set(__self__, "os_type", os_type) + if pod_subnet_id is not None: + pulumi.set(__self__, "pod_subnet_id", pod_subnet_id) + if power_state is not None: + pulumi.set(__self__, "power_state", power_state) + if proximity_placement_group_id is not None: + pulumi.set(__self__, "proximity_placement_group_id", proximity_placement_group_id) + if scale_down_mode is not None: + pulumi.set(__self__, "scale_down_mode", scale_down_mode) + if scale_set_eviction_policy is not None: + pulumi.set(__self__, "scale_set_eviction_policy", scale_set_eviction_policy) + if scale_set_priority is not None: + pulumi.set(__self__, "scale_set_priority", scale_set_priority) + if spot_max_price is not None: + pulumi.set(__self__, "spot_max_price", spot_max_price) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if type is not None: + pulumi.set(__self__, "type", type) + if upgrade_settings is not None: + pulumi.set(__self__, "upgrade_settings", upgrade_settings) + if vm_size is not None: + pulumi.set(__self__, "vm_size", vm_size) + if vnet_subnet_id is not None: + pulumi.set(__self__, "vnet_subnet_id", vnet_subnet_id) + if workload_runtime is not None: + pulumi.set(__self__, "workload_runtime", workload_runtime) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Windows agent pool names must be 6 characters or less. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + """ + return pulumi.get(self, "availability_zones") + + @availability_zones.setter + def availability_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "availability_zones", value) + + @property + @pulumi.getter + def count(self) -> Optional[pulumi.Input[int]]: + """ + Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> Optional[pulumi.Input['CreationDataArgs']]: + """ + CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + """ + return pulumi.get(self, "creation_data") + + @creation_data.setter + def creation_data(self, value: Optional[pulumi.Input['CreationDataArgs']]): + pulumi.set(self, "creation_data", value) + + @property + @pulumi.getter(name="enableAutoScaling") + def enable_auto_scaling(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable auto-scaler + """ + return pulumi.get(self, "enable_auto_scaling") + + @enable_auto_scaling.setter + def enable_auto_scaling(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_auto_scaling", value) + + @property + @pulumi.getter(name="enableEncryptionAtHost") + def enable_encryption_at_host(self) -> Optional[pulumi.Input[bool]]: + """ + This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + """ + return pulumi.get(self, "enable_encryption_at_host") + + @enable_encryption_at_host.setter + def enable_encryption_at_host(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_encryption_at_host", value) + + @property + @pulumi.getter(name="enableFIPS") + def enable_fips(self) -> Optional[pulumi.Input[bool]]: + """ + See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + """ + return pulumi.get(self, "enable_fips") + + @enable_fips.setter + def enable_fips(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_fips", value) + + @property + @pulumi.getter(name="enableNodePublicIP") + def enable_node_public_ip(self) -> Optional[pulumi.Input[bool]]: + """ + Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + """ + return pulumi.get(self, "enable_node_public_ip") + + @enable_node_public_ip.setter + def enable_node_public_ip(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_node_public_ip", value) + + @property + @pulumi.getter(name="enableUltraSSD") + def enable_ultra_ssd(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable UltraSSD + """ + return pulumi.get(self, "enable_ultra_ssd") + + @enable_ultra_ssd.setter + def enable_ultra_ssd(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_ultra_ssd", value) + + @property + @pulumi.getter(name="gpuInstanceProfile") + def gpu_instance_profile(self) -> Optional[pulumi.Input[Union[str, 'GPUInstanceProfile']]]: + """ + GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + """ + return pulumi.get(self, "gpu_instance_profile") + + @gpu_instance_profile.setter + def gpu_instance_profile(self, value: Optional[pulumi.Input[Union[str, 'GPUInstanceProfile']]]): + pulumi.set(self, "gpu_instance_profile", value) + + @property + @pulumi.getter(name="hostGroupID") + def host_group_id(self) -> Optional[pulumi.Input[str]]: + """ + This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + """ + return pulumi.get(self, "host_group_id") + + @host_group_id.setter + def host_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_group_id", value) + + @property + @pulumi.getter(name="kubeletConfig") + def kubelet_config(self) -> Optional[pulumi.Input['KubeletConfigArgs']]: + """ + The Kubelet configuration on the agent pool nodes. + """ + return pulumi.get(self, "kubelet_config") + + @kubelet_config.setter + def kubelet_config(self, value: Optional[pulumi.Input['KubeletConfigArgs']]): + pulumi.set(self, "kubelet_config", value) + + @property + @pulumi.getter(name="kubeletDiskType") + def kubelet_disk_type(self) -> Optional[pulumi.Input[Union[str, 'KubeletDiskType']]]: + """ + Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + """ + return pulumi.get(self, "kubelet_disk_type") + + @kubelet_disk_type.setter + def kubelet_disk_type(self, value: Optional[pulumi.Input[Union[str, 'KubeletDiskType']]]): + pulumi.set(self, "kubelet_disk_type", value) + + @property + @pulumi.getter(name="linuxOSConfig") + def linux_os_config(self) -> Optional[pulumi.Input['LinuxOSConfigArgs']]: + """ + The OS configuration of Linux agent nodes. + """ + return pulumi.get(self, "linux_os_config") + + @linux_os_config.setter + def linux_os_config(self, value: Optional[pulumi.Input['LinuxOSConfigArgs']]): + pulumi.set(self, "linux_os_config", value) + + @property + @pulumi.getter(name="maxCount") + def max_count(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of nodes for auto-scaling + """ + return pulumi.get(self, "max_count") + + @max_count.setter + def max_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_count", value) + + @property + @pulumi.getter(name="maxPods") + def max_pods(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of pods that can run on a node. + """ + return pulumi.get(self, "max_pods") + + @max_pods.setter + def max_pods(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_pods", value) + + @property + @pulumi.getter(name="minCount") + def min_count(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of nodes for auto-scaling + """ + return pulumi.get(self, "min_count") + + @min_count.setter + def min_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_count", value) + + @property + @pulumi.getter + def mode(self) -> Optional[pulumi.Input[Union[str, 'AgentPoolMode']]]: + """ + A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + """ + return pulumi.get(self, "mode") + + @mode.setter + def mode(self, value: Optional[pulumi.Input[Union[str, 'AgentPoolMode']]]): + pulumi.set(self, "mode", value) + + @property + @pulumi.getter(name="nodeLabels") + def node_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + The node labels to be persisted across all nodes in agent pool. + """ + return pulumi.get(self, "node_labels") + + @node_labels.setter + def node_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "node_labels", value) + + @property + @pulumi.getter(name="nodePublicIPPrefixID") + def node_public_ip_prefix_id(self) -> Optional[pulumi.Input[str]]: + """ + This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + """ + return pulumi.get(self, "node_public_ip_prefix_id") + + @node_public_ip_prefix_id.setter + def node_public_ip_prefix_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "node_public_ip_prefix_id", value) + + @property + @pulumi.getter(name="nodeTaints") + def node_taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + """ + return pulumi.get(self, "node_taints") + + @node_taints.setter + def node_taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "node_taints", value) + + @property + @pulumi.getter(name="orchestratorVersion") + def orchestrator_version(self) -> Optional[pulumi.Input[str]]: + """ + Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + """ + return pulumi.get(self, "orchestrator_version") + + @orchestrator_version.setter + def orchestrator_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "orchestrator_version", value) + + @property + @pulumi.getter(name="osDiskSizeGB") + def os_disk_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + """ + return pulumi.get(self, "os_disk_size_gb") + + @os_disk_size_gb.setter + def os_disk_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "os_disk_size_gb", value) + + @property + @pulumi.getter(name="osDiskType") + def os_disk_type(self) -> Optional[pulumi.Input[Union[str, 'OSDiskType']]]: + """ + The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + """ + return pulumi.get(self, "os_disk_type") + + @os_disk_type.setter + def os_disk_type(self, value: Optional[pulumi.Input[Union[str, 'OSDiskType']]]): + pulumi.set(self, "os_disk_type", value) + + @property + @pulumi.getter(name="osSKU") + def os_sku(self) -> Optional[pulumi.Input[Union[str, 'OSSKU']]]: + """ + Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + """ + return pulumi.get(self, "os_sku") + + @os_sku.setter + def os_sku(self, value: Optional[pulumi.Input[Union[str, 'OSSKU']]]): + pulumi.set(self, "os_sku", value) + + @property + @pulumi.getter(name="osType") + def os_type(self) -> Optional[pulumi.Input[Union[str, 'OSType']]]: + """ + The operating system type. The default is Linux. + """ + return pulumi.get(self, "os_type") + + @os_type.setter + def os_type(self, value: Optional[pulumi.Input[Union[str, 'OSType']]]): + pulumi.set(self, "os_type", value) + + @property + @pulumi.getter(name="podSubnetID") + def pod_subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + """ + return pulumi.get(self, "pod_subnet_id") + + @pod_subnet_id.setter + def pod_subnet_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pod_subnet_id", value) + + @property + @pulumi.getter(name="powerState") + def power_state(self) -> Optional[pulumi.Input['PowerStateArgs']]: + """ + When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + """ + return pulumi.get(self, "power_state") + + @power_state.setter + def power_state(self, value: Optional[pulumi.Input['PowerStateArgs']]): + pulumi.set(self, "power_state", value) + + @property + @pulumi.getter(name="proximityPlacementGroupID") + def proximity_placement_group_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID for Proximity Placement Group. + """ + return pulumi.get(self, "proximity_placement_group_id") + + @proximity_placement_group_id.setter + def proximity_placement_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "proximity_placement_group_id", value) + + @property + @pulumi.getter(name="scaleDownMode") + def scale_down_mode(self) -> Optional[pulumi.Input[Union[str, 'ScaleDownMode']]]: + """ + This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + """ + return pulumi.get(self, "scale_down_mode") + + @scale_down_mode.setter + def scale_down_mode(self, value: Optional[pulumi.Input[Union[str, 'ScaleDownMode']]]): + pulumi.set(self, "scale_down_mode", value) + + @property + @pulumi.getter(name="scaleSetEvictionPolicy") + def scale_set_eviction_policy(self) -> Optional[pulumi.Input[Union[str, 'ScaleSetEvictionPolicy']]]: + """ + This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + """ + return pulumi.get(self, "scale_set_eviction_policy") + + @scale_set_eviction_policy.setter + def scale_set_eviction_policy(self, value: Optional[pulumi.Input[Union[str, 'ScaleSetEvictionPolicy']]]): + pulumi.set(self, "scale_set_eviction_policy", value) + + @property + @pulumi.getter(name="scaleSetPriority") + def scale_set_priority(self) -> Optional[pulumi.Input[Union[str, 'ScaleSetPriority']]]: + """ + The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + """ + return pulumi.get(self, "scale_set_priority") + + @scale_set_priority.setter + def scale_set_priority(self, value: Optional[pulumi.Input[Union[str, 'ScaleSetPriority']]]): + pulumi.set(self, "scale_set_priority", value) + + @property + @pulumi.getter(name="spotMaxPrice") + def spot_max_price(self) -> Optional[pulumi.Input[float]]: + """ + Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + """ + return pulumi.get(self, "spot_max_price") + + @spot_max_price.setter + def spot_max_price(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "spot_max_price", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + The tags to be persisted on the agent pool virtual machine scale set. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[Union[str, 'AgentPoolType']]]: + """ + The type of Agent Pool. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[Union[str, 'AgentPoolType']]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="upgradeSettings") + def upgrade_settings(self) -> Optional[pulumi.Input['AgentPoolUpgradeSettingsArgs']]: + """ + Settings for upgrading the agentpool + """ + return pulumi.get(self, "upgrade_settings") + + @upgrade_settings.setter + def upgrade_settings(self, value: Optional[pulumi.Input['AgentPoolUpgradeSettingsArgs']]): + pulumi.set(self, "upgrade_settings", value) + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> Optional[pulumi.Input[str]]: + """ + VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + """ + return pulumi.get(self, "vm_size") + + @vm_size.setter + def vm_size(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vm_size", value) + + @property + @pulumi.getter(name="vnetSubnetID") + def vnet_subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + """ + return pulumi.get(self, "vnet_subnet_id") + + @vnet_subnet_id.setter + def vnet_subnet_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vnet_subnet_id", value) + + @property + @pulumi.getter(name="workloadRuntime") + def workload_runtime(self) -> Optional[pulumi.Input[Union[str, 'WorkloadRuntime']]]: + """ + Determines the type of workload a node can run. + """ + return pulumi.get(self, "workload_runtime") + + @workload_runtime.setter + def workload_runtime(self, value: Optional[pulumi.Input[Union[str, 'WorkloadRuntime']]]): + pulumi.set(self, "workload_runtime", value) + + +@pulumi.input_type +class ManagedClusterAutoUpgradeProfileArgs: + def __init__(__self__, *, + node_os_upgrade_channel: Optional[pulumi.Input[Union[str, 'NodeOSUpgradeChannel']]] = None, + upgrade_channel: Optional[pulumi.Input[Union[str, 'UpgradeChannel']]] = None): + """ + Auto upgrade profile for a managed cluster. + :param pulumi.Input[Union[str, 'NodeOSUpgradeChannel']] node_os_upgrade_channel: Manner in which the OS on your nodes is updated. The default is NodeImage. + :param pulumi.Input[Union[str, 'UpgradeChannel']] upgrade_channel: For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + """ + if node_os_upgrade_channel is not None: + pulumi.set(__self__, "node_os_upgrade_channel", node_os_upgrade_channel) + if upgrade_channel is not None: + pulumi.set(__self__, "upgrade_channel", upgrade_channel) + + @property + @pulumi.getter(name="nodeOSUpgradeChannel") + def node_os_upgrade_channel(self) -> Optional[pulumi.Input[Union[str, 'NodeOSUpgradeChannel']]]: + """ + Manner in which the OS on your nodes is updated. The default is NodeImage. + """ + return pulumi.get(self, "node_os_upgrade_channel") + + @node_os_upgrade_channel.setter + def node_os_upgrade_channel(self, value: Optional[pulumi.Input[Union[str, 'NodeOSUpgradeChannel']]]): + pulumi.set(self, "node_os_upgrade_channel", value) + + @property + @pulumi.getter(name="upgradeChannel") + def upgrade_channel(self) -> Optional[pulumi.Input[Union[str, 'UpgradeChannel']]]: + """ + For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + """ + return pulumi.get(self, "upgrade_channel") + + @upgrade_channel.setter + def upgrade_channel(self, value: Optional[pulumi.Input[Union[str, 'UpgradeChannel']]]): + pulumi.set(self, "upgrade_channel", value) + + +@pulumi.input_type +class ManagedClusterAzureMonitorProfileKubeStateMetricsArgs: + def __init__(__self__, *, + metric_annotations_allow_list: Optional[pulumi.Input[str]] = None, + metric_labels_allowlist: Optional[pulumi.Input[str]] = None): + """ + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + :param pulumi.Input[str] metric_annotations_allow_list: Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + :param pulumi.Input[str] metric_labels_allowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + """ + if metric_annotations_allow_list is not None: + pulumi.set(__self__, "metric_annotations_allow_list", metric_annotations_allow_list) + if metric_labels_allowlist is not None: + pulumi.set(__self__, "metric_labels_allowlist", metric_labels_allowlist) + + @property + @pulumi.getter(name="metricAnnotationsAllowList") + def metric_annotations_allow_list(self) -> Optional[pulumi.Input[str]]: + """ + Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + """ + return pulumi.get(self, "metric_annotations_allow_list") + + @metric_annotations_allow_list.setter + def metric_annotations_allow_list(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metric_annotations_allow_list", value) + + @property + @pulumi.getter(name="metricLabelsAllowlist") + def metric_labels_allowlist(self) -> Optional[pulumi.Input[str]]: + """ + Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + """ + return pulumi.get(self, "metric_labels_allowlist") + + @metric_labels_allowlist.setter + def metric_labels_allowlist(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metric_labels_allowlist", value) + + +@pulumi.input_type +class ManagedClusterAzureMonitorProfileMetricsArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool], + kube_state_metrics: Optional[pulumi.Input['ManagedClusterAzureMonitorProfileKubeStateMetricsArgs']] = None): + """ + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + :param pulumi.Input[bool] enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + :param pulumi.Input['ManagedClusterAzureMonitorProfileKubeStateMetricsArgs'] kube_state_metrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + """ + pulumi.set(__self__, "enabled", enabled) + if kube_state_metrics is not None: + pulumi.set(__self__, "kube_state_metrics", kube_state_metrics) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="kubeStateMetrics") + def kube_state_metrics(self) -> Optional[pulumi.Input['ManagedClusterAzureMonitorProfileKubeStateMetricsArgs']]: + """ + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + """ + return pulumi.get(self, "kube_state_metrics") + + @kube_state_metrics.setter + def kube_state_metrics(self, value: Optional[pulumi.Input['ManagedClusterAzureMonitorProfileKubeStateMetricsArgs']]): + pulumi.set(self, "kube_state_metrics", value) + + +@pulumi.input_type +class ManagedClusterAzureMonitorProfileArgs: + def __init__(__self__, *, + metrics: Optional[pulumi.Input['ManagedClusterAzureMonitorProfileMetricsArgs']] = None): + """ + Azure Monitor addon profiles for monitoring the managed cluster. + :param pulumi.Input['ManagedClusterAzureMonitorProfileMetricsArgs'] metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + """ + if metrics is not None: + pulumi.set(__self__, "metrics", metrics) + + @property + @pulumi.getter + def metrics(self) -> Optional[pulumi.Input['ManagedClusterAzureMonitorProfileMetricsArgs']]: + """ + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + """ + return pulumi.get(self, "metrics") + + @metrics.setter + def metrics(self, value: Optional[pulumi.Input['ManagedClusterAzureMonitorProfileMetricsArgs']]): + pulumi.set(self, "metrics", value) + + +@pulumi.input_type +class ManagedClusterHTTPProxyConfigArgs: + def __init__(__self__, *, + http_proxy: Optional[pulumi.Input[str]] = None, + https_proxy: Optional[pulumi.Input[str]] = None, + no_proxy: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + trusted_ca: Optional[pulumi.Input[str]] = None): + """ + Cluster HTTP proxy configuration. + :param pulumi.Input[str] http_proxy: The HTTP proxy server endpoint to use. + :param pulumi.Input[str] https_proxy: The HTTPS proxy server endpoint to use. + :param pulumi.Input[Sequence[pulumi.Input[str]]] no_proxy: The endpoints that should not go through proxy. + :param pulumi.Input[str] trusted_ca: Alternative CA cert to use for connecting to proxy servers. + """ + if http_proxy is not None: + pulumi.set(__self__, "http_proxy", http_proxy) + if https_proxy is not None: + pulumi.set(__self__, "https_proxy", https_proxy) + if no_proxy is not None: + pulumi.set(__self__, "no_proxy", no_proxy) + if trusted_ca is not None: + pulumi.set(__self__, "trusted_ca", trusted_ca) + + @property + @pulumi.getter(name="httpProxy") + def http_proxy(self) -> Optional[pulumi.Input[str]]: + """ + The HTTP proxy server endpoint to use. + """ + return pulumi.get(self, "http_proxy") + + @http_proxy.setter + def http_proxy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "http_proxy", value) + + @property + @pulumi.getter(name="httpsProxy") + def https_proxy(self) -> Optional[pulumi.Input[str]]: + """ + The HTTPS proxy server endpoint to use. + """ + return pulumi.get(self, "https_proxy") + + @https_proxy.setter + def https_proxy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "https_proxy", value) + + @property + @pulumi.getter(name="noProxy") + def no_proxy(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The endpoints that should not go through proxy. + """ + return pulumi.get(self, "no_proxy") + + @no_proxy.setter + def no_proxy(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "no_proxy", value) + + @property + @pulumi.getter(name="trustedCa") + def trusted_ca(self) -> Optional[pulumi.Input[str]]: + """ + Alternative CA cert to use for connecting to proxy servers. + """ + return pulumi.get(self, "trusted_ca") + + @trusted_ca.setter + def trusted_ca(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "trusted_ca", value) + + +@pulumi.input_type +class ManagedClusterIdentityArgs: + def __init__(__self__, *, + delegated_resources: Optional[pulumi.Input[Mapping[str, pulumi.Input['DelegatedResourceArgs']]]] = None, + type: Optional[pulumi.Input['ResourceIdentityType']] = None, + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Identity for the managed cluster. + :param pulumi.Input[Mapping[str, pulumi.Input['DelegatedResourceArgs']]] delegated_resources: The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + :param pulumi.Input['ResourceIdentityType'] type: For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + if delegated_resources is not None: + pulumi.set(__self__, "delegated_resources", delegated_resources) + if type is not None: + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter(name="delegatedResources") + def delegated_resources(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['DelegatedResourceArgs']]]]: + """ + The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + """ + return pulumi.get(self, "delegated_resources") + + @delegated_resources.setter + def delegated_resources(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['DelegatedResourceArgs']]]]): + pulumi.set(self, "delegated_resources", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input['ResourceIdentityType']]: + """ + For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input['ResourceIdentityType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_assigned_identities", value) + + +@pulumi.input_type +class ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs: + def __init__(__self__, *, + count: Optional[pulumi.Input[int]] = None, + count_i_pv6: Optional[pulumi.Input[int]] = None): + """ + Desired managed outbound IPs for the cluster load balancer. + :param pulumi.Input[int] count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + :param pulumi.Input[int] count_i_pv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + """ + if count is None: + count = 1 + if count is not None: + pulumi.set(__self__, "count", count) + if count_i_pv6 is None: + count_i_pv6 = 0 + if count_i_pv6 is not None: + pulumi.set(__self__, "count_i_pv6", count_i_pv6) + + @property + @pulumi.getter + def count(self) -> Optional[pulumi.Input[int]]: + """ + The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter(name="countIPv6") + def count_i_pv6(self) -> Optional[pulumi.Input[int]]: + """ + The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + """ + return pulumi.get(self, "count_i_pv6") + + @count_i_pv6.setter + def count_i_pv6(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "count_i_pv6", value) + + +@pulumi.input_type +class ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs: + def __init__(__self__, *, + public_ip_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]]] = None): + """ + Desired outbound IP Prefix resources for the cluster load balancer. + :param pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]] public_ip_prefixes: A list of public IP prefix resources. + """ + if public_ip_prefixes is not None: + pulumi.set(__self__, "public_ip_prefixes", public_ip_prefixes) + + @property + @pulumi.getter(name="publicIPPrefixes") + def public_ip_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]]]: + """ + A list of public IP prefix resources. + """ + return pulumi.get(self, "public_ip_prefixes") + + @public_ip_prefixes.setter + def public_ip_prefixes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]]]): + pulumi.set(self, "public_ip_prefixes", value) + + +@pulumi.input_type +class ManagedClusterLoadBalancerProfileOutboundIPsArgs: + def __init__(__self__, *, + public_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]]] = None): + """ + Desired outbound IP resources for the cluster load balancer. + :param pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]] public_ips: A list of public IP resources. + """ + if public_ips is not None: + pulumi.set(__self__, "public_ips", public_ips) + + @property + @pulumi.getter(name="publicIPs") + def public_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]]]: + """ + A list of public IP resources. + """ + return pulumi.get(self, "public_ips") + + @public_ips.setter + def public_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]]]): + pulumi.set(self, "public_ips", value) + + +@pulumi.input_type +class ManagedClusterLoadBalancerProfileArgs: + def __init__(__self__, *, + allocated_outbound_ports: Optional[pulumi.Input[int]] = None, + effective_outbound_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]]] = None, + enable_multiple_standard_load_balancers: Optional[pulumi.Input[bool]] = None, + idle_timeout_in_minutes: Optional[pulumi.Input[int]] = None, + managed_outbound_ips: Optional[pulumi.Input['ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs']] = None, + outbound_ip_prefixes: Optional[pulumi.Input['ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs']] = None, + outbound_ips: Optional[pulumi.Input['ManagedClusterLoadBalancerProfileOutboundIPsArgs']] = None): + """ + Profile of the managed cluster load balancer. + :param pulumi.Input[int] allocated_outbound_ports: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + :param pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]] effective_outbound_ips: The effective outbound IP resources of the cluster load balancer. + :param pulumi.Input[bool] enable_multiple_standard_load_balancers: Enable multiple standard load balancers per AKS cluster or not. + :param pulumi.Input[int] idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + :param pulumi.Input['ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs'] managed_outbound_ips: Desired managed outbound IPs for the cluster load balancer. + :param pulumi.Input['ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs'] outbound_ip_prefixes: Desired outbound IP Prefix resources for the cluster load balancer. + :param pulumi.Input['ManagedClusterLoadBalancerProfileOutboundIPsArgs'] outbound_ips: Desired outbound IP resources for the cluster load balancer. + """ + if allocated_outbound_ports is None: + allocated_outbound_ports = 0 + if allocated_outbound_ports is not None: + pulumi.set(__self__, "allocated_outbound_ports", allocated_outbound_ports) + if effective_outbound_ips is not None: + pulumi.set(__self__, "effective_outbound_ips", effective_outbound_ips) + if enable_multiple_standard_load_balancers is not None: + pulumi.set(__self__, "enable_multiple_standard_load_balancers", enable_multiple_standard_load_balancers) + if idle_timeout_in_minutes is None: + idle_timeout_in_minutes = 30 + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + if managed_outbound_ips is not None: + pulumi.set(__self__, "managed_outbound_ips", managed_outbound_ips) + if outbound_ip_prefixes is not None: + pulumi.set(__self__, "outbound_ip_prefixes", outbound_ip_prefixes) + if outbound_ips is not None: + pulumi.set(__self__, "outbound_ips", outbound_ips) + + @property + @pulumi.getter(name="allocatedOutboundPorts") + def allocated_outbound_ports(self) -> Optional[pulumi.Input[int]]: + """ + The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + """ + return pulumi.get(self, "allocated_outbound_ports") + + @allocated_outbound_ports.setter + def allocated_outbound_ports(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "allocated_outbound_ports", value) + + @property + @pulumi.getter(name="effectiveOutboundIPs") + def effective_outbound_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]]]: + """ + The effective outbound IP resources of the cluster load balancer. + """ + return pulumi.get(self, "effective_outbound_ips") + + @effective_outbound_ips.setter + def effective_outbound_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]]]): + pulumi.set(self, "effective_outbound_ips", value) + + @property + @pulumi.getter(name="enableMultipleStandardLoadBalancers") + def enable_multiple_standard_load_balancers(self) -> Optional[pulumi.Input[bool]]: + """ + Enable multiple standard load balancers per AKS cluster or not. + """ + return pulumi.get(self, "enable_multiple_standard_load_balancers") + + @enable_multiple_standard_load_balancers.setter + def enable_multiple_standard_load_balancers(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multiple_standard_load_balancers", value) + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + """ + Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + """ + return pulumi.get(self, "idle_timeout_in_minutes") + + @idle_timeout_in_minutes.setter + def idle_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "idle_timeout_in_minutes", value) + + @property + @pulumi.getter(name="managedOutboundIPs") + def managed_outbound_ips(self) -> Optional[pulumi.Input['ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs']]: + """ + Desired managed outbound IPs for the cluster load balancer. + """ + return pulumi.get(self, "managed_outbound_ips") + + @managed_outbound_ips.setter + def managed_outbound_ips(self, value: Optional[pulumi.Input['ManagedClusterLoadBalancerProfileManagedOutboundIPsArgs']]): + pulumi.set(self, "managed_outbound_ips", value) + + @property + @pulumi.getter(name="outboundIPPrefixes") + def outbound_ip_prefixes(self) -> Optional[pulumi.Input['ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs']]: + """ + Desired outbound IP Prefix resources for the cluster load balancer. + """ + return pulumi.get(self, "outbound_ip_prefixes") + + @outbound_ip_prefixes.setter + def outbound_ip_prefixes(self, value: Optional[pulumi.Input['ManagedClusterLoadBalancerProfileOutboundIPPrefixesArgs']]): + pulumi.set(self, "outbound_ip_prefixes", value) + + @property + @pulumi.getter(name="outboundIPs") + def outbound_ips(self) -> Optional[pulumi.Input['ManagedClusterLoadBalancerProfileOutboundIPsArgs']]: + """ + Desired outbound IP resources for the cluster load balancer. + """ + return pulumi.get(self, "outbound_ips") + + @outbound_ips.setter + def outbound_ips(self, value: Optional[pulumi.Input['ManagedClusterLoadBalancerProfileOutboundIPsArgs']]): + pulumi.set(self, "outbound_ips", value) + + +@pulumi.input_type +class ManagedClusterManagedOutboundIPProfileArgs: + def __init__(__self__, *, + count: Optional[pulumi.Input[int]] = None): + """ + Profile of the managed outbound IP resources of the managed cluster. + :param pulumi.Input[int] count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + """ + if count is None: + count = 1 + if count is not None: + pulumi.set(__self__, "count", count) + + @property + @pulumi.getter + def count(self) -> Optional[pulumi.Input[int]]: + """ + The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "count", value) + + +@pulumi.input_type +class ManagedClusterNATGatewayProfileArgs: + def __init__(__self__, *, + effective_outbound_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]]] = None, + idle_timeout_in_minutes: Optional[pulumi.Input[int]] = None, + managed_outbound_ip_profile: Optional[pulumi.Input['ManagedClusterManagedOutboundIPProfileArgs']] = None): + """ + Profile of the managed cluster NAT gateway. + :param pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]] effective_outbound_ips: The effective outbound IP resources of the cluster NAT gateway. + :param pulumi.Input[int] idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + :param pulumi.Input['ManagedClusterManagedOutboundIPProfileArgs'] managed_outbound_ip_profile: Profile of the managed outbound IP resources of the cluster NAT gateway. + """ + if effective_outbound_ips is not None: + pulumi.set(__self__, "effective_outbound_ips", effective_outbound_ips) + if idle_timeout_in_minutes is None: + idle_timeout_in_minutes = 4 + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + if managed_outbound_ip_profile is not None: + pulumi.set(__self__, "managed_outbound_ip_profile", managed_outbound_ip_profile) + + @property + @pulumi.getter(name="effectiveOutboundIPs") + def effective_outbound_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]]]: + """ + The effective outbound IP resources of the cluster NAT gateway. + """ + return pulumi.get(self, "effective_outbound_ips") + + @effective_outbound_ips.setter + def effective_outbound_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceReferenceArgs']]]]): + pulumi.set(self, "effective_outbound_ips", value) + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + """ + Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + """ + return pulumi.get(self, "idle_timeout_in_minutes") + + @idle_timeout_in_minutes.setter + def idle_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "idle_timeout_in_minutes", value) + + @property + @pulumi.getter(name="managedOutboundIPProfile") + def managed_outbound_ip_profile(self) -> Optional[pulumi.Input['ManagedClusterManagedOutboundIPProfileArgs']]: + """ + Profile of the managed outbound IP resources of the cluster NAT gateway. + """ + return pulumi.get(self, "managed_outbound_ip_profile") + + @managed_outbound_ip_profile.setter + def managed_outbound_ip_profile(self, value: Optional[pulumi.Input['ManagedClusterManagedOutboundIPProfileArgs']]): + pulumi.set(self, "managed_outbound_ip_profile", value) + + +@pulumi.input_type +class ManagedClusterOIDCIssuerProfileArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + The OIDC issuer profile of the Managed Cluster. + :param pulumi.Input[bool] enabled: Whether the OIDC issuer is enabled. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the OIDC issuer is enabled. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class ManagedClusterPodIdentityExceptionArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + namespace: pulumi.Input[str], + pod_labels: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + """ + See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + :param pulumi.Input[str] name: The name of the pod identity exception. + :param pulumi.Input[str] namespace: The namespace of the pod identity exception. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pod_labels: The pod labels to match. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "namespace", namespace) + pulumi.set(__self__, "pod_labels", pod_labels) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the pod identity exception. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def namespace(self) -> pulumi.Input[str]: + """ + The namespace of the pod identity exception. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: pulumi.Input[str]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="podLabels") + def pod_labels(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + """ + The pod labels to match. + """ + return pulumi.get(self, "pod_labels") + + @pod_labels.setter + def pod_labels(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + pulumi.set(self, "pod_labels", value) + + +@pulumi.input_type +class ManagedClusterPodIdentityProfileArgs: + def __init__(__self__, *, + allow_network_plugin_kubenet: Optional[pulumi.Input[bool]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input['ManagedClusterPodIdentityArgs']]]] = None, + user_assigned_identity_exceptions: Optional[pulumi.Input[Sequence[pulumi.Input['ManagedClusterPodIdentityExceptionArgs']]]] = None): + """ + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + :param pulumi.Input[bool] allow_network_plugin_kubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. + :param pulumi.Input[bool] enabled: Whether the pod identity addon is enabled. + :param pulumi.Input[Sequence[pulumi.Input['ManagedClusterPodIdentityArgs']]] user_assigned_identities: The pod identities to use in the cluster. + :param pulumi.Input[Sequence[pulumi.Input['ManagedClusterPodIdentityExceptionArgs']]] user_assigned_identity_exceptions: The pod identity exceptions to allow. + """ + if allow_network_plugin_kubenet is not None: + pulumi.set(__self__, "allow_network_plugin_kubenet", allow_network_plugin_kubenet) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + if user_assigned_identity_exceptions is not None: + pulumi.set(__self__, "user_assigned_identity_exceptions", user_assigned_identity_exceptions) + + @property + @pulumi.getter(name="allowNetworkPluginKubenet") + def allow_network_plugin_kubenet(self) -> Optional[pulumi.Input[bool]]: + """ + Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. + """ + return pulumi.get(self, "allow_network_plugin_kubenet") + + @allow_network_plugin_kubenet.setter + def allow_network_plugin_kubenet(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_network_plugin_kubenet", value) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the pod identity addon is enabled. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ManagedClusterPodIdentityArgs']]]]: + """ + The pod identities to use in the cluster. + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ManagedClusterPodIdentityArgs']]]]): + pulumi.set(self, "user_assigned_identities", value) + + @property + @pulumi.getter(name="userAssignedIdentityExceptions") + def user_assigned_identity_exceptions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ManagedClusterPodIdentityExceptionArgs']]]]: + """ + The pod identity exceptions to allow. + """ + return pulumi.get(self, "user_assigned_identity_exceptions") + + @user_assigned_identity_exceptions.setter + def user_assigned_identity_exceptions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ManagedClusterPodIdentityExceptionArgs']]]]): + pulumi.set(self, "user_assigned_identity_exceptions", value) + + +@pulumi.input_type +class ManagedClusterPodIdentityArgs: + def __init__(__self__, *, + identity: pulumi.Input['UserAssignedIdentityArgs'], + name: pulumi.Input[str], + namespace: pulumi.Input[str], + binding_selector: Optional[pulumi.Input[str]] = None): + """ + Details about the pod identity assigned to the Managed Cluster. + :param pulumi.Input['UserAssignedIdentityArgs'] identity: The user assigned identity details. + :param pulumi.Input[str] name: The name of the pod identity. + :param pulumi.Input[str] namespace: The namespace of the pod identity. + :param pulumi.Input[str] binding_selector: The binding selector to use for the AzureIdentityBinding resource. + """ + pulumi.set(__self__, "identity", identity) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "namespace", namespace) + if binding_selector is not None: + pulumi.set(__self__, "binding_selector", binding_selector) + + @property + @pulumi.getter + def identity(self) -> pulumi.Input['UserAssignedIdentityArgs']: + """ + The user assigned identity details. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: pulumi.Input['UserAssignedIdentityArgs']): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the pod identity. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def namespace(self) -> pulumi.Input[str]: + """ + The namespace of the pod identity. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: pulumi.Input[str]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="bindingSelector") + def binding_selector(self) -> Optional[pulumi.Input[str]]: + """ + The binding selector to use for the AzureIdentityBinding resource. + """ + return pulumi.get(self, "binding_selector") + + @binding_selector.setter + def binding_selector(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "binding_selector", value) + + +@pulumi.input_type +class ManagedClusterPropertiesAutoScalerProfileArgs: + def __init__(__self__, *, + balance_similar_node_groups: Optional[pulumi.Input[str]] = None, + expander: Optional[pulumi.Input[Union[str, 'Expander']]] = None, + max_empty_bulk_delete: Optional[pulumi.Input[str]] = None, + max_graceful_termination_sec: Optional[pulumi.Input[str]] = None, + max_node_provision_time: Optional[pulumi.Input[str]] = None, + max_total_unready_percentage: Optional[pulumi.Input[str]] = None, + new_pod_scale_up_delay: Optional[pulumi.Input[str]] = None, + ok_total_unready_count: Optional[pulumi.Input[str]] = None, + scale_down_delay_after_add: Optional[pulumi.Input[str]] = None, + scale_down_delay_after_delete: Optional[pulumi.Input[str]] = None, + scale_down_delay_after_failure: Optional[pulumi.Input[str]] = None, + scale_down_unneeded_time: Optional[pulumi.Input[str]] = None, + scale_down_unready_time: Optional[pulumi.Input[str]] = None, + scale_down_utilization_threshold: Optional[pulumi.Input[str]] = None, + scan_interval: Optional[pulumi.Input[str]] = None, + skip_nodes_with_local_storage: Optional[pulumi.Input[str]] = None, + skip_nodes_with_system_pods: Optional[pulumi.Input[str]] = None): + """ + Parameters to be applied to the cluster-autoscaler when enabled + :param pulumi.Input[str] balance_similar_node_groups: Valid values are 'true' and 'false' + :param pulumi.Input[Union[str, 'Expander']] expander: If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + :param pulumi.Input[str] max_empty_bulk_delete: The default is 10. + :param pulumi.Input[str] max_graceful_termination_sec: The default is 600. + :param pulumi.Input[str] max_node_provision_time: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :param pulumi.Input[str] max_total_unready_percentage: The default is 45. The maximum is 100 and the minimum is 0. + :param pulumi.Input[str] new_pod_scale_up_delay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + :param pulumi.Input[str] ok_total_unready_count: This must be an integer. The default is 3. + :param pulumi.Input[str] scale_down_delay_after_add: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :param pulumi.Input[str] scale_down_delay_after_delete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :param pulumi.Input[str] scale_down_delay_after_failure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :param pulumi.Input[str] scale_down_unneeded_time: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :param pulumi.Input[str] scale_down_unready_time: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :param pulumi.Input[str] scale_down_utilization_threshold: The default is '0.5'. + :param pulumi.Input[str] scan_interval: The default is '10'. Values must be an integer number of seconds. + :param pulumi.Input[str] skip_nodes_with_local_storage: The default is true. + :param pulumi.Input[str] skip_nodes_with_system_pods: The default is true. + """ + if balance_similar_node_groups is not None: + pulumi.set(__self__, "balance_similar_node_groups", balance_similar_node_groups) + if expander is not None: + pulumi.set(__self__, "expander", expander) + if max_empty_bulk_delete is not None: + pulumi.set(__self__, "max_empty_bulk_delete", max_empty_bulk_delete) + if max_graceful_termination_sec is not None: + pulumi.set(__self__, "max_graceful_termination_sec", max_graceful_termination_sec) + if max_node_provision_time is not None: + pulumi.set(__self__, "max_node_provision_time", max_node_provision_time) + if max_total_unready_percentage is not None: + pulumi.set(__self__, "max_total_unready_percentage", max_total_unready_percentage) + if new_pod_scale_up_delay is not None: + pulumi.set(__self__, "new_pod_scale_up_delay", new_pod_scale_up_delay) + if ok_total_unready_count is not None: + pulumi.set(__self__, "ok_total_unready_count", ok_total_unready_count) + if scale_down_delay_after_add is not None: + pulumi.set(__self__, "scale_down_delay_after_add", scale_down_delay_after_add) + if scale_down_delay_after_delete is not None: + pulumi.set(__self__, "scale_down_delay_after_delete", scale_down_delay_after_delete) + if scale_down_delay_after_failure is not None: + pulumi.set(__self__, "scale_down_delay_after_failure", scale_down_delay_after_failure) + if scale_down_unneeded_time is not None: + pulumi.set(__self__, "scale_down_unneeded_time", scale_down_unneeded_time) + if scale_down_unready_time is not None: + pulumi.set(__self__, "scale_down_unready_time", scale_down_unready_time) + if scale_down_utilization_threshold is not None: + pulumi.set(__self__, "scale_down_utilization_threshold", scale_down_utilization_threshold) + if scan_interval is not None: + pulumi.set(__self__, "scan_interval", scan_interval) + if skip_nodes_with_local_storage is not None: + pulumi.set(__self__, "skip_nodes_with_local_storage", skip_nodes_with_local_storage) + if skip_nodes_with_system_pods is not None: + pulumi.set(__self__, "skip_nodes_with_system_pods", skip_nodes_with_system_pods) + + @property + @pulumi.getter(name="balanceSimilarNodeGroups") + def balance_similar_node_groups(self) -> Optional[pulumi.Input[str]]: + """ + Valid values are 'true' and 'false' + """ + return pulumi.get(self, "balance_similar_node_groups") + + @balance_similar_node_groups.setter + def balance_similar_node_groups(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "balance_similar_node_groups", value) + + @property + @pulumi.getter + def expander(self) -> Optional[pulumi.Input[Union[str, 'Expander']]]: + """ + If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + """ + return pulumi.get(self, "expander") + + @expander.setter + def expander(self, value: Optional[pulumi.Input[Union[str, 'Expander']]]): + pulumi.set(self, "expander", value) + + @property + @pulumi.getter(name="maxEmptyBulkDelete") + def max_empty_bulk_delete(self) -> Optional[pulumi.Input[str]]: + """ + The default is 10. + """ + return pulumi.get(self, "max_empty_bulk_delete") + + @max_empty_bulk_delete.setter + def max_empty_bulk_delete(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "max_empty_bulk_delete", value) + + @property + @pulumi.getter(name="maxGracefulTerminationSec") + def max_graceful_termination_sec(self) -> Optional[pulumi.Input[str]]: + """ + The default is 600. + """ + return pulumi.get(self, "max_graceful_termination_sec") + + @max_graceful_termination_sec.setter + def max_graceful_termination_sec(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "max_graceful_termination_sec", value) + + @property + @pulumi.getter(name="maxNodeProvisionTime") + def max_node_provision_time(self) -> Optional[pulumi.Input[str]]: + """ + The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + """ + return pulumi.get(self, "max_node_provision_time") + + @max_node_provision_time.setter + def max_node_provision_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "max_node_provision_time", value) + + @property + @pulumi.getter(name="maxTotalUnreadyPercentage") + def max_total_unready_percentage(self) -> Optional[pulumi.Input[str]]: + """ + The default is 45. The maximum is 100 and the minimum is 0. + """ + return pulumi.get(self, "max_total_unready_percentage") + + @max_total_unready_percentage.setter + def max_total_unready_percentage(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "max_total_unready_percentage", value) + + @property + @pulumi.getter(name="newPodScaleUpDelay") + def new_pod_scale_up_delay(self) -> Optional[pulumi.Input[str]]: + """ + For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + """ + return pulumi.get(self, "new_pod_scale_up_delay") + + @new_pod_scale_up_delay.setter + def new_pod_scale_up_delay(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "new_pod_scale_up_delay", value) + + @property + @pulumi.getter(name="okTotalUnreadyCount") + def ok_total_unready_count(self) -> Optional[pulumi.Input[str]]: + """ + This must be an integer. The default is 3. + """ + return pulumi.get(self, "ok_total_unready_count") + + @ok_total_unready_count.setter + def ok_total_unready_count(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ok_total_unready_count", value) + + @property + @pulumi.getter(name="scaleDownDelayAfterAdd") + def scale_down_delay_after_add(self) -> Optional[pulumi.Input[str]]: + """ + The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + """ + return pulumi.get(self, "scale_down_delay_after_add") + + @scale_down_delay_after_add.setter + def scale_down_delay_after_add(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scale_down_delay_after_add", value) + + @property + @pulumi.getter(name="scaleDownDelayAfterDelete") + def scale_down_delay_after_delete(self) -> Optional[pulumi.Input[str]]: + """ + The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + """ + return pulumi.get(self, "scale_down_delay_after_delete") + + @scale_down_delay_after_delete.setter + def scale_down_delay_after_delete(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scale_down_delay_after_delete", value) + + @property + @pulumi.getter(name="scaleDownDelayAfterFailure") + def scale_down_delay_after_failure(self) -> Optional[pulumi.Input[str]]: + """ + The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + """ + return pulumi.get(self, "scale_down_delay_after_failure") + + @scale_down_delay_after_failure.setter + def scale_down_delay_after_failure(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scale_down_delay_after_failure", value) + + @property + @pulumi.getter(name="scaleDownUnneededTime") + def scale_down_unneeded_time(self) -> Optional[pulumi.Input[str]]: + """ + The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + """ + return pulumi.get(self, "scale_down_unneeded_time") + + @scale_down_unneeded_time.setter + def scale_down_unneeded_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scale_down_unneeded_time", value) + + @property + @pulumi.getter(name="scaleDownUnreadyTime") + def scale_down_unready_time(self) -> Optional[pulumi.Input[str]]: + """ + The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + """ + return pulumi.get(self, "scale_down_unready_time") + + @scale_down_unready_time.setter + def scale_down_unready_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scale_down_unready_time", value) + + @property + @pulumi.getter(name="scaleDownUtilizationThreshold") + def scale_down_utilization_threshold(self) -> Optional[pulumi.Input[str]]: + """ + The default is '0.5'. + """ + return pulumi.get(self, "scale_down_utilization_threshold") + + @scale_down_utilization_threshold.setter + def scale_down_utilization_threshold(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scale_down_utilization_threshold", value) + + @property + @pulumi.getter(name="scanInterval") + def scan_interval(self) -> Optional[pulumi.Input[str]]: + """ + The default is '10'. Values must be an integer number of seconds. + """ + return pulumi.get(self, "scan_interval") + + @scan_interval.setter + def scan_interval(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scan_interval", value) + + @property + @pulumi.getter(name="skipNodesWithLocalStorage") + def skip_nodes_with_local_storage(self) -> Optional[pulumi.Input[str]]: + """ + The default is true. + """ + return pulumi.get(self, "skip_nodes_with_local_storage") + + @skip_nodes_with_local_storage.setter + def skip_nodes_with_local_storage(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "skip_nodes_with_local_storage", value) + + @property + @pulumi.getter(name="skipNodesWithSystemPods") + def skip_nodes_with_system_pods(self) -> Optional[pulumi.Input[str]]: + """ + The default is true. + """ + return pulumi.get(self, "skip_nodes_with_system_pods") + + @skip_nodes_with_system_pods.setter + def skip_nodes_with_system_pods(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "skip_nodes_with_system_pods", value) + + +@pulumi.input_type +class ManagedClusterSKUArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[Union[str, 'ManagedClusterSKUName']]] = None, + tier: Optional[pulumi.Input[Union[str, 'ManagedClusterSKUTier']]] = None): + """ + The SKU of a Managed Cluster. + :param pulumi.Input[Union[str, 'ManagedClusterSKUName']] name: The name of a managed cluster SKU. + :param pulumi.Input[Union[str, 'ManagedClusterSKUTier']] tier: If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if tier is not None: + pulumi.set(__self__, "tier", tier) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[Union[str, 'ManagedClusterSKUName']]]: + """ + The name of a managed cluster SKU. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[Union[str, 'ManagedClusterSKUName']]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tier(self) -> Optional[pulumi.Input[Union[str, 'ManagedClusterSKUTier']]]: + """ + If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + """ + return pulumi.get(self, "tier") + + @tier.setter + def tier(self, value: Optional[pulumi.Input[Union[str, 'ManagedClusterSKUTier']]]): + pulumi.set(self, "tier", value) + + +@pulumi.input_type +class ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + Microsoft Defender settings for the security profile threat detection. + :param pulumi.Input[bool] enabled: Whether to enable Defender threat detection + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable Defender threat detection + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class ManagedClusterSecurityProfileDefenderArgs: + def __init__(__self__, *, + log_analytics_workspace_resource_id: Optional[pulumi.Input[str]] = None, + security_monitoring: Optional[pulumi.Input['ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs']] = None): + """ + Microsoft Defender settings for the security profile. + :param pulumi.Input[str] log_analytics_workspace_resource_id: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + :param pulumi.Input['ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs'] security_monitoring: Microsoft Defender threat detection for Cloud settings for the security profile. + """ + if log_analytics_workspace_resource_id is not None: + pulumi.set(__self__, "log_analytics_workspace_resource_id", log_analytics_workspace_resource_id) + if security_monitoring is not None: + pulumi.set(__self__, "security_monitoring", security_monitoring) + + @property + @pulumi.getter(name="logAnalyticsWorkspaceResourceId") + def log_analytics_workspace_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + """ + return pulumi.get(self, "log_analytics_workspace_resource_id") + + @log_analytics_workspace_resource_id.setter + def log_analytics_workspace_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_analytics_workspace_resource_id", value) + + @property + @pulumi.getter(name="securityMonitoring") + def security_monitoring(self) -> Optional[pulumi.Input['ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs']]: + """ + Microsoft Defender threat detection for Cloud settings for the security profile. + """ + return pulumi.get(self, "security_monitoring") + + @security_monitoring.setter + def security_monitoring(self, value: Optional[pulumi.Input['ManagedClusterSecurityProfileDefenderSecurityMonitoringArgs']]): + pulumi.set(self, "security_monitoring", value) + + +@pulumi.input_type +class ManagedClusterSecurityProfileImageCleanerArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + interval_hours: Optional[pulumi.Input[int]] = None): + """ + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. + :param pulumi.Input[bool] enabled: Whether to enable Image Cleaner on AKS cluster. + :param pulumi.Input[int] interval_hours: Image Cleaner scanning interval in hours. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if interval_hours is not None: + pulumi.set(__self__, "interval_hours", interval_hours) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable Image Cleaner on AKS cluster. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="intervalHours") + def interval_hours(self) -> Optional[pulumi.Input[int]]: + """ + Image Cleaner scanning interval in hours. + """ + return pulumi.get(self, "interval_hours") + + @interval_hours.setter + def interval_hours(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "interval_hours", value) + + +@pulumi.input_type +class ManagedClusterSecurityProfileWorkloadIdentityArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + Workload identity settings for the security profile. + :param pulumi.Input[bool] enabled: Whether to enable workload identity. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable workload identity. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class ManagedClusterSecurityProfileArgs: + def __init__(__self__, *, + azure_key_vault_kms: Optional[pulumi.Input['AzureKeyVaultKmsArgs']] = None, + defender: Optional[pulumi.Input['ManagedClusterSecurityProfileDefenderArgs']] = None, + image_cleaner: Optional[pulumi.Input['ManagedClusterSecurityProfileImageCleanerArgs']] = None, + workload_identity: Optional[pulumi.Input['ManagedClusterSecurityProfileWorkloadIdentityArgs']] = None): + """ + Security profile for the container service cluster. + :param pulumi.Input['AzureKeyVaultKmsArgs'] azure_key_vault_kms: Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + :param pulumi.Input['ManagedClusterSecurityProfileDefenderArgs'] defender: Microsoft Defender settings for the security profile. + :param pulumi.Input['ManagedClusterSecurityProfileImageCleanerArgs'] image_cleaner: Image Cleaner settings for the security profile. + :param pulumi.Input['ManagedClusterSecurityProfileWorkloadIdentityArgs'] workload_identity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + """ + if azure_key_vault_kms is not None: + pulumi.set(__self__, "azure_key_vault_kms", azure_key_vault_kms) + if defender is not None: + pulumi.set(__self__, "defender", defender) + if image_cleaner is not None: + pulumi.set(__self__, "image_cleaner", image_cleaner) + if workload_identity is not None: + pulumi.set(__self__, "workload_identity", workload_identity) + + @property + @pulumi.getter(name="azureKeyVaultKms") + def azure_key_vault_kms(self) -> Optional[pulumi.Input['AzureKeyVaultKmsArgs']]: + """ + Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + """ + return pulumi.get(self, "azure_key_vault_kms") + + @azure_key_vault_kms.setter + def azure_key_vault_kms(self, value: Optional[pulumi.Input['AzureKeyVaultKmsArgs']]): + pulumi.set(self, "azure_key_vault_kms", value) + + @property + @pulumi.getter + def defender(self) -> Optional[pulumi.Input['ManagedClusterSecurityProfileDefenderArgs']]: + """ + Microsoft Defender settings for the security profile. + """ + return pulumi.get(self, "defender") + + @defender.setter + def defender(self, value: Optional[pulumi.Input['ManagedClusterSecurityProfileDefenderArgs']]): + pulumi.set(self, "defender", value) + + @property + @pulumi.getter(name="imageCleaner") + def image_cleaner(self) -> Optional[pulumi.Input['ManagedClusterSecurityProfileImageCleanerArgs']]: + """ + Image Cleaner settings for the security profile. + """ + return pulumi.get(self, "image_cleaner") + + @image_cleaner.setter + def image_cleaner(self, value: Optional[pulumi.Input['ManagedClusterSecurityProfileImageCleanerArgs']]): + pulumi.set(self, "image_cleaner", value) + + @property + @pulumi.getter(name="workloadIdentity") + def workload_identity(self) -> Optional[pulumi.Input['ManagedClusterSecurityProfileWorkloadIdentityArgs']]: + """ + Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + """ + return pulumi.get(self, "workload_identity") + + @workload_identity.setter + def workload_identity(self, value: Optional[pulumi.Input['ManagedClusterSecurityProfileWorkloadIdentityArgs']]): + pulumi.set(self, "workload_identity", value) + + +@pulumi.input_type +class ManagedClusterServicePrincipalProfileArgs: + def __init__(__self__, *, + client_id: pulumi.Input[str], + secret: Optional[pulumi.Input[str]] = None): + """ + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + :param pulumi.Input[str] client_id: The ID for the service principal. + :param pulumi.Input[str] secret: The secret password associated with the service principal in plain text. + """ + pulumi.set(__self__, "client_id", client_id) + if secret is not None: + pulumi.set(__self__, "secret", secret) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[str]: + """ + The ID for the service principal. + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter + def secret(self) -> Optional[pulumi.Input[str]]: + """ + The secret password associated with the service principal in plain text. + """ + return pulumi.get(self, "secret") + + @secret.setter + def secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret", value) + + +@pulumi.input_type +class ManagedClusterStorageProfileBlobCSIDriverArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + AzureBlob CSI Driver settings for the storage profile. + :param pulumi.Input[bool] enabled: Whether to enable AzureBlob CSI Driver. The default value is false. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable AzureBlob CSI Driver. The default value is false. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class ManagedClusterStorageProfileDiskCSIDriverArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + AzureDisk CSI Driver settings for the storage profile. + :param pulumi.Input[bool] enabled: Whether to enable AzureDisk CSI Driver. The default value is true. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable AzureDisk CSI Driver. The default value is true. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class ManagedClusterStorageProfileFileCSIDriverArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + AzureFile CSI Driver settings for the storage profile. + :param pulumi.Input[bool] enabled: Whether to enable AzureFile CSI Driver. The default value is true. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable AzureFile CSI Driver. The default value is true. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class ManagedClusterStorageProfileSnapshotControllerArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + Snapshot Controller settings for the storage profile. + :param pulumi.Input[bool] enabled: Whether to enable Snapshot Controller. The default value is true. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable Snapshot Controller. The default value is true. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class ManagedClusterStorageProfileArgs: + def __init__(__self__, *, + blob_csi_driver: Optional[pulumi.Input['ManagedClusterStorageProfileBlobCSIDriverArgs']] = None, + disk_csi_driver: Optional[pulumi.Input['ManagedClusterStorageProfileDiskCSIDriverArgs']] = None, + file_csi_driver: Optional[pulumi.Input['ManagedClusterStorageProfileFileCSIDriverArgs']] = None, + snapshot_controller: Optional[pulumi.Input['ManagedClusterStorageProfileSnapshotControllerArgs']] = None): + """ + Storage profile for the container service cluster. + :param pulumi.Input['ManagedClusterStorageProfileBlobCSIDriverArgs'] blob_csi_driver: AzureBlob CSI Driver settings for the storage profile. + :param pulumi.Input['ManagedClusterStorageProfileDiskCSIDriverArgs'] disk_csi_driver: AzureDisk CSI Driver settings for the storage profile. + :param pulumi.Input['ManagedClusterStorageProfileFileCSIDriverArgs'] file_csi_driver: AzureFile CSI Driver settings for the storage profile. + :param pulumi.Input['ManagedClusterStorageProfileSnapshotControllerArgs'] snapshot_controller: Snapshot Controller settings for the storage profile. + """ + if blob_csi_driver is not None: + pulumi.set(__self__, "blob_csi_driver", blob_csi_driver) + if disk_csi_driver is not None: + pulumi.set(__self__, "disk_csi_driver", disk_csi_driver) + if file_csi_driver is not None: + pulumi.set(__self__, "file_csi_driver", file_csi_driver) + if snapshot_controller is not None: + pulumi.set(__self__, "snapshot_controller", snapshot_controller) + + @property + @pulumi.getter(name="blobCSIDriver") + def blob_csi_driver(self) -> Optional[pulumi.Input['ManagedClusterStorageProfileBlobCSIDriverArgs']]: + """ + AzureBlob CSI Driver settings for the storage profile. + """ + return pulumi.get(self, "blob_csi_driver") + + @blob_csi_driver.setter + def blob_csi_driver(self, value: Optional[pulumi.Input['ManagedClusterStorageProfileBlobCSIDriverArgs']]): + pulumi.set(self, "blob_csi_driver", value) + + @property + @pulumi.getter(name="diskCSIDriver") + def disk_csi_driver(self) -> Optional[pulumi.Input['ManagedClusterStorageProfileDiskCSIDriverArgs']]: + """ + AzureDisk CSI Driver settings for the storage profile. + """ + return pulumi.get(self, "disk_csi_driver") + + @disk_csi_driver.setter + def disk_csi_driver(self, value: Optional[pulumi.Input['ManagedClusterStorageProfileDiskCSIDriverArgs']]): + pulumi.set(self, "disk_csi_driver", value) + + @property + @pulumi.getter(name="fileCSIDriver") + def file_csi_driver(self) -> Optional[pulumi.Input['ManagedClusterStorageProfileFileCSIDriverArgs']]: + """ + AzureFile CSI Driver settings for the storage profile. + """ + return pulumi.get(self, "file_csi_driver") + + @file_csi_driver.setter + def file_csi_driver(self, value: Optional[pulumi.Input['ManagedClusterStorageProfileFileCSIDriverArgs']]): + pulumi.set(self, "file_csi_driver", value) + + @property + @pulumi.getter(name="snapshotController") + def snapshot_controller(self) -> Optional[pulumi.Input['ManagedClusterStorageProfileSnapshotControllerArgs']]: + """ + Snapshot Controller settings for the storage profile. + """ + return pulumi.get(self, "snapshot_controller") + + @snapshot_controller.setter + def snapshot_controller(self, value: Optional[pulumi.Input['ManagedClusterStorageProfileSnapshotControllerArgs']]): + pulumi.set(self, "snapshot_controller", value) + + +@pulumi.input_type +class ManagedClusterWindowsProfileArgs: + def __init__(__self__, *, + admin_username: pulumi.Input[str], + admin_password: Optional[pulumi.Input[str]] = None, + enable_csi_proxy: Optional[pulumi.Input[bool]] = None, + gmsa_profile: Optional[pulumi.Input['WindowsGmsaProfileArgs']] = None, + license_type: Optional[pulumi.Input[Union[str, 'LicenseType']]] = None): + """ + Profile for Windows VMs in the managed cluster. + :param pulumi.Input[str] admin_username: Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + :param pulumi.Input[str] admin_password: Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + :param pulumi.Input[bool] enable_csi_proxy: For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + :param pulumi.Input['WindowsGmsaProfileArgs'] gmsa_profile: The Windows gMSA Profile in the Managed Cluster. + :param pulumi.Input[Union[str, 'LicenseType']] license_type: The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + """ + pulumi.set(__self__, "admin_username", admin_username) + if admin_password is not None: + pulumi.set(__self__, "admin_password", admin_password) + if enable_csi_proxy is not None: + pulumi.set(__self__, "enable_csi_proxy", enable_csi_proxy) + if gmsa_profile is not None: + pulumi.set(__self__, "gmsa_profile", gmsa_profile) + if license_type is not None: + pulumi.set(__self__, "license_type", license_type) + + @property + @pulumi.getter(name="adminUsername") + def admin_username(self) -> pulumi.Input[str]: + """ + Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + """ + return pulumi.get(self, "admin_username") + + @admin_username.setter + def admin_username(self, value: pulumi.Input[str]): + pulumi.set(self, "admin_username", value) + + @property + @pulumi.getter(name="adminPassword") + def admin_password(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + """ + return pulumi.get(self, "admin_password") + + @admin_password.setter + def admin_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "admin_password", value) + + @property + @pulumi.getter(name="enableCSIProxy") + def enable_csi_proxy(self) -> Optional[pulumi.Input[bool]]: + """ + For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + """ + return pulumi.get(self, "enable_csi_proxy") + + @enable_csi_proxy.setter + def enable_csi_proxy(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_csi_proxy", value) + + @property + @pulumi.getter(name="gmsaProfile") + def gmsa_profile(self) -> Optional[pulumi.Input['WindowsGmsaProfileArgs']]: + """ + The Windows gMSA Profile in the Managed Cluster. + """ + return pulumi.get(self, "gmsa_profile") + + @gmsa_profile.setter + def gmsa_profile(self, value: Optional[pulumi.Input['WindowsGmsaProfileArgs']]): + pulumi.set(self, "gmsa_profile", value) + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> Optional[pulumi.Input[Union[str, 'LicenseType']]]: + """ + The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + """ + return pulumi.get(self, "license_type") + + @license_type.setter + def license_type(self, value: Optional[pulumi.Input[Union[str, 'LicenseType']]]): + pulumi.set(self, "license_type", value) + + +@pulumi.input_type +class ManagedClusterWorkloadAutoScalerProfileKedaArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool]): + """ + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + :param pulumi.Input[bool] enabled: Whether to enable KEDA. + """ + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + Whether to enable KEDA. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool]): + """ + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + :param pulumi.Input[bool] enabled: Whether to enable VPA. Default value is false. + """ + if enabled is None: + enabled = False + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + Whether to enable VPA. Default value is false. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class ManagedClusterWorkloadAutoScalerProfileArgs: + def __init__(__self__, *, + keda: Optional[pulumi.Input['ManagedClusterWorkloadAutoScalerProfileKedaArgs']] = None, + vertical_pod_autoscaler: Optional[pulumi.Input['ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs']] = None): + """ + Workload Auto-scaler profile for the managed cluster. + :param pulumi.Input['ManagedClusterWorkloadAutoScalerProfileKedaArgs'] keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + :param pulumi.Input['ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs'] vertical_pod_autoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + """ + if keda is not None: + pulumi.set(__self__, "keda", keda) + if vertical_pod_autoscaler is not None: + pulumi.set(__self__, "vertical_pod_autoscaler", vertical_pod_autoscaler) + + @property + @pulumi.getter + def keda(self) -> Optional[pulumi.Input['ManagedClusterWorkloadAutoScalerProfileKedaArgs']]: + """ + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + """ + return pulumi.get(self, "keda") + + @keda.setter + def keda(self, value: Optional[pulumi.Input['ManagedClusterWorkloadAutoScalerProfileKedaArgs']]): + pulumi.set(self, "keda", value) + + @property + @pulumi.getter(name="verticalPodAutoscaler") + def vertical_pod_autoscaler(self) -> Optional[pulumi.Input['ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs']]: + """ + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + """ + return pulumi.get(self, "vertical_pod_autoscaler") + + @vertical_pod_autoscaler.setter + def vertical_pod_autoscaler(self, value: Optional[pulumi.Input['ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerArgs']]): + pulumi.set(self, "vertical_pod_autoscaler", value) + + +@pulumi.input_type +class PowerStateArgs: + def __init__(__self__, *, + code: Optional[pulumi.Input[Union[str, 'Code']]] = None): + """ + Describes the Power State of the cluster + :param pulumi.Input[Union[str, 'Code']] code: Tells whether the cluster is Running or Stopped + """ + if code is not None: + pulumi.set(__self__, "code", code) + + @property + @pulumi.getter + def code(self) -> Optional[pulumi.Input[Union[str, 'Code']]]: + """ + Tells whether the cluster is Running or Stopped + """ + return pulumi.get(self, "code") + + @code.setter + def code(self, value: Optional[pulumi.Input[Union[str, 'Code']]]): + pulumi.set(self, "code", value) + + +@pulumi.input_type +class PrivateEndpointArgs: + def __init__(__self__, *, + id: Optional[pulumi.Input[str]] = None): + """ + Private endpoint which a connection belongs to. + :param pulumi.Input[str] id: The resource ID of the private endpoint + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + The resource ID of the private endpoint + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class PrivateLinkResourceArgs: + def __init__(__self__, *, + group_id: Optional[pulumi.Input[str]] = None, + id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + required_members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None): + """ + A private link resource + :param pulumi.Input[str] group_id: The group ID of the resource. + :param pulumi.Input[str] id: The ID of the private link resource. + :param pulumi.Input[str] name: The name of the private link resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] required_members: The RequiredMembers of the resource + :param pulumi.Input[str] type: The resource type. + """ + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) + if id is not None: + pulumi.set(__self__, "id", id) + if name is not None: + pulumi.set(__self__, "name", name) + if required_members is not None: + pulumi.set(__self__, "required_members", required_members) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[pulumi.Input[str]]: + """ + The group ID of the resource. + """ + return pulumi.get(self, "group_id") + + @group_id.setter + def group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_id", value) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the private link resource. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the private link resource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="requiredMembers") + def required_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The RequiredMembers of the resource + """ + return pulumi.get(self, "required_members") + + @required_members.setter + def required_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "required_members", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + The resource type. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class PrivateLinkServiceConnectionStateArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[Union[str, 'ConnectionStatus']]] = None): + """ + The state of a private link service connection. + :param pulumi.Input[str] description: The private link service connection description. + :param pulumi.Input[Union[str, 'ConnectionStatus']] status: The private link service connection status. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The private link service connection description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[Union[str, 'ConnectionStatus']]]: + """ + The private link service connection status. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[Union[str, 'ConnectionStatus']]]): + pulumi.set(self, "status", value) + + +@pulumi.input_type +class RelativeMonthlyScheduleArgs: + def __init__(__self__, *, + day_of_week: pulumi.Input[Union[str, 'WeekDay']], + interval_months: pulumi.Input[int], + week_index: pulumi.Input[Union[str, 'Type']]): + """ + For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + :param pulumi.Input[Union[str, 'WeekDay']] day_of_week: Specifies on which day of the week the maintenance occurs. + :param pulumi.Input[int] interval_months: Specifies the number of months between each set of occurrences. + :param pulumi.Input[Union[str, 'Type']] week_index: Specifies on which week of the month the dayOfWeek applies. + """ + pulumi.set(__self__, "day_of_week", day_of_week) + pulumi.set(__self__, "interval_months", interval_months) + pulumi.set(__self__, "week_index", week_index) + + @property + @pulumi.getter(name="dayOfWeek") + def day_of_week(self) -> pulumi.Input[Union[str, 'WeekDay']]: + """ + Specifies on which day of the week the maintenance occurs. + """ + return pulumi.get(self, "day_of_week") + + @day_of_week.setter + def day_of_week(self, value: pulumi.Input[Union[str, 'WeekDay']]): + pulumi.set(self, "day_of_week", value) + + @property + @pulumi.getter(name="intervalMonths") + def interval_months(self) -> pulumi.Input[int]: + """ + Specifies the number of months between each set of occurrences. + """ + return pulumi.get(self, "interval_months") + + @interval_months.setter + def interval_months(self, value: pulumi.Input[int]): + pulumi.set(self, "interval_months", value) + + @property + @pulumi.getter(name="weekIndex") + def week_index(self) -> pulumi.Input[Union[str, 'Type']]: + """ + Specifies on which week of the month the dayOfWeek applies. + """ + return pulumi.get(self, "week_index") + + @week_index.setter + def week_index(self, value: pulumi.Input[Union[str, 'Type']]): + pulumi.set(self, "week_index", value) + + +@pulumi.input_type +class ResourceReferenceArgs: + def __init__(__self__, *, + id: Optional[pulumi.Input[str]] = None): + """ + A reference to an Azure resource. + :param pulumi.Input[str] id: The fully qualified Azure resource id. + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + The fully qualified Azure resource id. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class ScheduleArgs: + def __init__(__self__, *, + absolute_monthly: Optional[pulumi.Input['AbsoluteMonthlyScheduleArgs']] = None, + daily: Optional[pulumi.Input['DailyScheduleArgs']] = None, + relative_monthly: Optional[pulumi.Input['RelativeMonthlyScheduleArgs']] = None, + weekly: Optional[pulumi.Input['WeeklyScheduleArgs']] = None): + """ + One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. + :param pulumi.Input['AbsoluteMonthlyScheduleArgs'] absolute_monthly: For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + :param pulumi.Input['DailyScheduleArgs'] daily: For schedules like: 'recur every day' or 'recur every 3 days'. + :param pulumi.Input['RelativeMonthlyScheduleArgs'] relative_monthly: For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + :param pulumi.Input['WeeklyScheduleArgs'] weekly: For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + """ + if absolute_monthly is not None: + pulumi.set(__self__, "absolute_monthly", absolute_monthly) + if daily is not None: + pulumi.set(__self__, "daily", daily) + if relative_monthly is not None: + pulumi.set(__self__, "relative_monthly", relative_monthly) + if weekly is not None: + pulumi.set(__self__, "weekly", weekly) + + @property + @pulumi.getter(name="absoluteMonthly") + def absolute_monthly(self) -> Optional[pulumi.Input['AbsoluteMonthlyScheduleArgs']]: + """ + For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + """ + return pulumi.get(self, "absolute_monthly") + + @absolute_monthly.setter + def absolute_monthly(self, value: Optional[pulumi.Input['AbsoluteMonthlyScheduleArgs']]): + pulumi.set(self, "absolute_monthly", value) + + @property + @pulumi.getter + def daily(self) -> Optional[pulumi.Input['DailyScheduleArgs']]: + """ + For schedules like: 'recur every day' or 'recur every 3 days'. + """ + return pulumi.get(self, "daily") + + @daily.setter + def daily(self, value: Optional[pulumi.Input['DailyScheduleArgs']]): + pulumi.set(self, "daily", value) + + @property + @pulumi.getter(name="relativeMonthly") + def relative_monthly(self) -> Optional[pulumi.Input['RelativeMonthlyScheduleArgs']]: + """ + For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + """ + return pulumi.get(self, "relative_monthly") + + @relative_monthly.setter + def relative_monthly(self, value: Optional[pulumi.Input['RelativeMonthlyScheduleArgs']]): + pulumi.set(self, "relative_monthly", value) + + @property + @pulumi.getter + def weekly(self) -> Optional[pulumi.Input['WeeklyScheduleArgs']]: + """ + For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + """ + return pulumi.get(self, "weekly") + + @weekly.setter + def weekly(self, value: Optional[pulumi.Input['WeeklyScheduleArgs']]): + pulumi.set(self, "weekly", value) + + +@pulumi.input_type +class SysctlConfigArgs: + def __init__(__self__, *, + fs_aio_max_nr: Optional[pulumi.Input[int]] = None, + fs_file_max: Optional[pulumi.Input[int]] = None, + fs_inotify_max_user_watches: Optional[pulumi.Input[int]] = None, + fs_nr_open: Optional[pulumi.Input[int]] = None, + kernel_threads_max: Optional[pulumi.Input[int]] = None, + net_core_netdev_max_backlog: Optional[pulumi.Input[int]] = None, + net_core_optmem_max: Optional[pulumi.Input[int]] = None, + net_core_rmem_default: Optional[pulumi.Input[int]] = None, + net_core_rmem_max: Optional[pulumi.Input[int]] = None, + net_core_somaxconn: Optional[pulumi.Input[int]] = None, + net_core_wmem_default: Optional[pulumi.Input[int]] = None, + net_core_wmem_max: Optional[pulumi.Input[int]] = None, + net_ipv4_ip_local_port_range: Optional[pulumi.Input[str]] = None, + net_ipv4_neigh_default_gc_thresh1: Optional[pulumi.Input[int]] = None, + net_ipv4_neigh_default_gc_thresh2: Optional[pulumi.Input[int]] = None, + net_ipv4_neigh_default_gc_thresh3: Optional[pulumi.Input[int]] = None, + net_ipv4_tcp_fin_timeout: Optional[pulumi.Input[int]] = None, + net_ipv4_tcp_keepalive_probes: Optional[pulumi.Input[int]] = None, + net_ipv4_tcp_keepalive_time: Optional[pulumi.Input[int]] = None, + net_ipv4_tcp_max_syn_backlog: Optional[pulumi.Input[int]] = None, + net_ipv4_tcp_max_tw_buckets: Optional[pulumi.Input[int]] = None, + net_ipv4_tcp_tw_reuse: Optional[pulumi.Input[bool]] = None, + net_ipv4_tcpkeepalive_intvl: Optional[pulumi.Input[int]] = None, + net_netfilter_nf_conntrack_buckets: Optional[pulumi.Input[int]] = None, + net_netfilter_nf_conntrack_max: Optional[pulumi.Input[int]] = None, + vm_max_map_count: Optional[pulumi.Input[int]] = None, + vm_swappiness: Optional[pulumi.Input[int]] = None, + vm_vfs_cache_pressure: Optional[pulumi.Input[int]] = None): + """ + Sysctl settings for Linux agent nodes. + :param pulumi.Input[int] fs_aio_max_nr: Sysctl setting fs.aio-max-nr. + :param pulumi.Input[int] fs_file_max: Sysctl setting fs.file-max. + :param pulumi.Input[int] fs_inotify_max_user_watches: Sysctl setting fs.inotify.max_user_watches. + :param pulumi.Input[int] fs_nr_open: Sysctl setting fs.nr_open. + :param pulumi.Input[int] kernel_threads_max: Sysctl setting kernel.threads-max. + :param pulumi.Input[int] net_core_netdev_max_backlog: Sysctl setting net.core.netdev_max_backlog. + :param pulumi.Input[int] net_core_optmem_max: Sysctl setting net.core.optmem_max. + :param pulumi.Input[int] net_core_rmem_default: Sysctl setting net.core.rmem_default. + :param pulumi.Input[int] net_core_rmem_max: Sysctl setting net.core.rmem_max. + :param pulumi.Input[int] net_core_somaxconn: Sysctl setting net.core.somaxconn. + :param pulumi.Input[int] net_core_wmem_default: Sysctl setting net.core.wmem_default. + :param pulumi.Input[int] net_core_wmem_max: Sysctl setting net.core.wmem_max. + :param pulumi.Input[str] net_ipv4_ip_local_port_range: Sysctl setting net.ipv4.ip_local_port_range. + :param pulumi.Input[int] net_ipv4_neigh_default_gc_thresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. + :param pulumi.Input[int] net_ipv4_neigh_default_gc_thresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. + :param pulumi.Input[int] net_ipv4_neigh_default_gc_thresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. + :param pulumi.Input[int] net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. + :param pulumi.Input[int] net_ipv4_tcp_keepalive_probes: Sysctl setting net.ipv4.tcp_keepalive_probes. + :param pulumi.Input[int] net_ipv4_tcp_keepalive_time: Sysctl setting net.ipv4.tcp_keepalive_time. + :param pulumi.Input[int] net_ipv4_tcp_max_syn_backlog: Sysctl setting net.ipv4.tcp_max_syn_backlog. + :param pulumi.Input[int] net_ipv4_tcp_max_tw_buckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. + :param pulumi.Input[bool] net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. + :param pulumi.Input[int] net_ipv4_tcpkeepalive_intvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. + :param pulumi.Input[int] net_netfilter_nf_conntrack_buckets: Sysctl setting net.netfilter.nf_conntrack_buckets. + :param pulumi.Input[int] net_netfilter_nf_conntrack_max: Sysctl setting net.netfilter.nf_conntrack_max. + :param pulumi.Input[int] vm_max_map_count: Sysctl setting vm.max_map_count. + :param pulumi.Input[int] vm_swappiness: Sysctl setting vm.swappiness. + :param pulumi.Input[int] vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. + """ + if fs_aio_max_nr is not None: + pulumi.set(__self__, "fs_aio_max_nr", fs_aio_max_nr) + if fs_file_max is not None: + pulumi.set(__self__, "fs_file_max", fs_file_max) + if fs_inotify_max_user_watches is not None: + pulumi.set(__self__, "fs_inotify_max_user_watches", fs_inotify_max_user_watches) + if fs_nr_open is not None: + pulumi.set(__self__, "fs_nr_open", fs_nr_open) + if kernel_threads_max is not None: + pulumi.set(__self__, "kernel_threads_max", kernel_threads_max) + if net_core_netdev_max_backlog is not None: + pulumi.set(__self__, "net_core_netdev_max_backlog", net_core_netdev_max_backlog) + if net_core_optmem_max is not None: + pulumi.set(__self__, "net_core_optmem_max", net_core_optmem_max) + if net_core_rmem_default is not None: + pulumi.set(__self__, "net_core_rmem_default", net_core_rmem_default) + if net_core_rmem_max is not None: + pulumi.set(__self__, "net_core_rmem_max", net_core_rmem_max) + if net_core_somaxconn is not None: + pulumi.set(__self__, "net_core_somaxconn", net_core_somaxconn) + if net_core_wmem_default is not None: + pulumi.set(__self__, "net_core_wmem_default", net_core_wmem_default) + if net_core_wmem_max is not None: + pulumi.set(__self__, "net_core_wmem_max", net_core_wmem_max) + if net_ipv4_ip_local_port_range is not None: + pulumi.set(__self__, "net_ipv4_ip_local_port_range", net_ipv4_ip_local_port_range) + if net_ipv4_neigh_default_gc_thresh1 is not None: + pulumi.set(__self__, "net_ipv4_neigh_default_gc_thresh1", net_ipv4_neigh_default_gc_thresh1) + if net_ipv4_neigh_default_gc_thresh2 is not None: + pulumi.set(__self__, "net_ipv4_neigh_default_gc_thresh2", net_ipv4_neigh_default_gc_thresh2) + if net_ipv4_neigh_default_gc_thresh3 is not None: + pulumi.set(__self__, "net_ipv4_neigh_default_gc_thresh3", net_ipv4_neigh_default_gc_thresh3) + if net_ipv4_tcp_fin_timeout is not None: + pulumi.set(__self__, "net_ipv4_tcp_fin_timeout", net_ipv4_tcp_fin_timeout) + if net_ipv4_tcp_keepalive_probes is not None: + pulumi.set(__self__, "net_ipv4_tcp_keepalive_probes", net_ipv4_tcp_keepalive_probes) + if net_ipv4_tcp_keepalive_time is not None: + pulumi.set(__self__, "net_ipv4_tcp_keepalive_time", net_ipv4_tcp_keepalive_time) + if net_ipv4_tcp_max_syn_backlog is not None: + pulumi.set(__self__, "net_ipv4_tcp_max_syn_backlog", net_ipv4_tcp_max_syn_backlog) + if net_ipv4_tcp_max_tw_buckets is not None: + pulumi.set(__self__, "net_ipv4_tcp_max_tw_buckets", net_ipv4_tcp_max_tw_buckets) + if net_ipv4_tcp_tw_reuse is not None: + pulumi.set(__self__, "net_ipv4_tcp_tw_reuse", net_ipv4_tcp_tw_reuse) + if net_ipv4_tcpkeepalive_intvl is not None: + pulumi.set(__self__, "net_ipv4_tcpkeepalive_intvl", net_ipv4_tcpkeepalive_intvl) + if net_netfilter_nf_conntrack_buckets is not None: + pulumi.set(__self__, "net_netfilter_nf_conntrack_buckets", net_netfilter_nf_conntrack_buckets) + if net_netfilter_nf_conntrack_max is not None: + pulumi.set(__self__, "net_netfilter_nf_conntrack_max", net_netfilter_nf_conntrack_max) + if vm_max_map_count is not None: + pulumi.set(__self__, "vm_max_map_count", vm_max_map_count) + if vm_swappiness is not None: + pulumi.set(__self__, "vm_swappiness", vm_swappiness) + if vm_vfs_cache_pressure is not None: + pulumi.set(__self__, "vm_vfs_cache_pressure", vm_vfs_cache_pressure) + + @property + @pulumi.getter(name="fsAioMaxNr") + def fs_aio_max_nr(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting fs.aio-max-nr. + """ + return pulumi.get(self, "fs_aio_max_nr") + + @fs_aio_max_nr.setter + def fs_aio_max_nr(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "fs_aio_max_nr", value) + + @property + @pulumi.getter(name="fsFileMax") + def fs_file_max(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting fs.file-max. + """ + return pulumi.get(self, "fs_file_max") + + @fs_file_max.setter + def fs_file_max(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "fs_file_max", value) + + @property + @pulumi.getter(name="fsInotifyMaxUserWatches") + def fs_inotify_max_user_watches(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting fs.inotify.max_user_watches. + """ + return pulumi.get(self, "fs_inotify_max_user_watches") + + @fs_inotify_max_user_watches.setter + def fs_inotify_max_user_watches(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "fs_inotify_max_user_watches", value) + + @property + @pulumi.getter(name="fsNrOpen") + def fs_nr_open(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting fs.nr_open. + """ + return pulumi.get(self, "fs_nr_open") + + @fs_nr_open.setter + def fs_nr_open(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "fs_nr_open", value) + + @property + @pulumi.getter(name="kernelThreadsMax") + def kernel_threads_max(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting kernel.threads-max. + """ + return pulumi.get(self, "kernel_threads_max") + + @kernel_threads_max.setter + def kernel_threads_max(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "kernel_threads_max", value) + + @property + @pulumi.getter(name="netCoreNetdevMaxBacklog") + def net_core_netdev_max_backlog(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.core.netdev_max_backlog. + """ + return pulumi.get(self, "net_core_netdev_max_backlog") + + @net_core_netdev_max_backlog.setter + def net_core_netdev_max_backlog(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_core_netdev_max_backlog", value) + + @property + @pulumi.getter(name="netCoreOptmemMax") + def net_core_optmem_max(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.core.optmem_max. + """ + return pulumi.get(self, "net_core_optmem_max") + + @net_core_optmem_max.setter + def net_core_optmem_max(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_core_optmem_max", value) + + @property + @pulumi.getter(name="netCoreRmemDefault") + def net_core_rmem_default(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.core.rmem_default. + """ + return pulumi.get(self, "net_core_rmem_default") + + @net_core_rmem_default.setter + def net_core_rmem_default(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_core_rmem_default", value) + + @property + @pulumi.getter(name="netCoreRmemMax") + def net_core_rmem_max(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.core.rmem_max. + """ + return pulumi.get(self, "net_core_rmem_max") + + @net_core_rmem_max.setter + def net_core_rmem_max(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_core_rmem_max", value) + + @property + @pulumi.getter(name="netCoreSomaxconn") + def net_core_somaxconn(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.core.somaxconn. + """ + return pulumi.get(self, "net_core_somaxconn") + + @net_core_somaxconn.setter + def net_core_somaxconn(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_core_somaxconn", value) + + @property + @pulumi.getter(name="netCoreWmemDefault") + def net_core_wmem_default(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.core.wmem_default. + """ + return pulumi.get(self, "net_core_wmem_default") + + @net_core_wmem_default.setter + def net_core_wmem_default(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_core_wmem_default", value) + + @property + @pulumi.getter(name="netCoreWmemMax") + def net_core_wmem_max(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.core.wmem_max. + """ + return pulumi.get(self, "net_core_wmem_max") + + @net_core_wmem_max.setter + def net_core_wmem_max(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_core_wmem_max", value) + + @property + @pulumi.getter(name="netIpv4IpLocalPortRange") + def net_ipv4_ip_local_port_range(self) -> Optional[pulumi.Input[str]]: + """ + Sysctl setting net.ipv4.ip_local_port_range. + """ + return pulumi.get(self, "net_ipv4_ip_local_port_range") + + @net_ipv4_ip_local_port_range.setter + def net_ipv4_ip_local_port_range(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "net_ipv4_ip_local_port_range", value) + + @property + @pulumi.getter(name="netIpv4NeighDefaultGcThresh1") + def net_ipv4_neigh_default_gc_thresh1(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.ipv4.neigh.default.gc_thresh1. + """ + return pulumi.get(self, "net_ipv4_neigh_default_gc_thresh1") + + @net_ipv4_neigh_default_gc_thresh1.setter + def net_ipv4_neigh_default_gc_thresh1(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_ipv4_neigh_default_gc_thresh1", value) + + @property + @pulumi.getter(name="netIpv4NeighDefaultGcThresh2") + def net_ipv4_neigh_default_gc_thresh2(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.ipv4.neigh.default.gc_thresh2. + """ + return pulumi.get(self, "net_ipv4_neigh_default_gc_thresh2") + + @net_ipv4_neigh_default_gc_thresh2.setter + def net_ipv4_neigh_default_gc_thresh2(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_ipv4_neigh_default_gc_thresh2", value) + + @property + @pulumi.getter(name="netIpv4NeighDefaultGcThresh3") + def net_ipv4_neigh_default_gc_thresh3(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.ipv4.neigh.default.gc_thresh3. + """ + return pulumi.get(self, "net_ipv4_neigh_default_gc_thresh3") + + @net_ipv4_neigh_default_gc_thresh3.setter + def net_ipv4_neigh_default_gc_thresh3(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_ipv4_neigh_default_gc_thresh3", value) + + @property + @pulumi.getter(name="netIpv4TcpFinTimeout") + def net_ipv4_tcp_fin_timeout(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.ipv4.tcp_fin_timeout. + """ + return pulumi.get(self, "net_ipv4_tcp_fin_timeout") + + @net_ipv4_tcp_fin_timeout.setter + def net_ipv4_tcp_fin_timeout(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_ipv4_tcp_fin_timeout", value) + + @property + @pulumi.getter(name="netIpv4TcpKeepaliveProbes") + def net_ipv4_tcp_keepalive_probes(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.ipv4.tcp_keepalive_probes. + """ + return pulumi.get(self, "net_ipv4_tcp_keepalive_probes") + + @net_ipv4_tcp_keepalive_probes.setter + def net_ipv4_tcp_keepalive_probes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_ipv4_tcp_keepalive_probes", value) + + @property + @pulumi.getter(name="netIpv4TcpKeepaliveTime") + def net_ipv4_tcp_keepalive_time(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.ipv4.tcp_keepalive_time. + """ + return pulumi.get(self, "net_ipv4_tcp_keepalive_time") + + @net_ipv4_tcp_keepalive_time.setter + def net_ipv4_tcp_keepalive_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_ipv4_tcp_keepalive_time", value) + + @property + @pulumi.getter(name="netIpv4TcpMaxSynBacklog") + def net_ipv4_tcp_max_syn_backlog(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.ipv4.tcp_max_syn_backlog. + """ + return pulumi.get(self, "net_ipv4_tcp_max_syn_backlog") + + @net_ipv4_tcp_max_syn_backlog.setter + def net_ipv4_tcp_max_syn_backlog(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_ipv4_tcp_max_syn_backlog", value) + + @property + @pulumi.getter(name="netIpv4TcpMaxTwBuckets") + def net_ipv4_tcp_max_tw_buckets(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.ipv4.tcp_max_tw_buckets. + """ + return pulumi.get(self, "net_ipv4_tcp_max_tw_buckets") + + @net_ipv4_tcp_max_tw_buckets.setter + def net_ipv4_tcp_max_tw_buckets(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_ipv4_tcp_max_tw_buckets", value) + + @property + @pulumi.getter(name="netIpv4TcpTwReuse") + def net_ipv4_tcp_tw_reuse(self) -> Optional[pulumi.Input[bool]]: + """ + Sysctl setting net.ipv4.tcp_tw_reuse. + """ + return pulumi.get(self, "net_ipv4_tcp_tw_reuse") + + @net_ipv4_tcp_tw_reuse.setter + def net_ipv4_tcp_tw_reuse(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "net_ipv4_tcp_tw_reuse", value) + + @property + @pulumi.getter(name="netIpv4TcpkeepaliveIntvl") + def net_ipv4_tcpkeepalive_intvl(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.ipv4.tcp_keepalive_intvl. + """ + return pulumi.get(self, "net_ipv4_tcpkeepalive_intvl") + + @net_ipv4_tcpkeepalive_intvl.setter + def net_ipv4_tcpkeepalive_intvl(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_ipv4_tcpkeepalive_intvl", value) + + @property + @pulumi.getter(name="netNetfilterNfConntrackBuckets") + def net_netfilter_nf_conntrack_buckets(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.netfilter.nf_conntrack_buckets. + """ + return pulumi.get(self, "net_netfilter_nf_conntrack_buckets") + + @net_netfilter_nf_conntrack_buckets.setter + def net_netfilter_nf_conntrack_buckets(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_netfilter_nf_conntrack_buckets", value) + + @property + @pulumi.getter(name="netNetfilterNfConntrackMax") + def net_netfilter_nf_conntrack_max(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting net.netfilter.nf_conntrack_max. + """ + return pulumi.get(self, "net_netfilter_nf_conntrack_max") + + @net_netfilter_nf_conntrack_max.setter + def net_netfilter_nf_conntrack_max(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "net_netfilter_nf_conntrack_max", value) + + @property + @pulumi.getter(name="vmMaxMapCount") + def vm_max_map_count(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting vm.max_map_count. + """ + return pulumi.get(self, "vm_max_map_count") + + @vm_max_map_count.setter + def vm_max_map_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "vm_max_map_count", value) + + @property + @pulumi.getter(name="vmSwappiness") + def vm_swappiness(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting vm.swappiness. + """ + return pulumi.get(self, "vm_swappiness") + + @vm_swappiness.setter + def vm_swappiness(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "vm_swappiness", value) + + @property + @pulumi.getter(name="vmVfsCachePressure") + def vm_vfs_cache_pressure(self) -> Optional[pulumi.Input[int]]: + """ + Sysctl setting vm.vfs_cache_pressure. + """ + return pulumi.get(self, "vm_vfs_cache_pressure") + + @vm_vfs_cache_pressure.setter + def vm_vfs_cache_pressure(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "vm_vfs_cache_pressure", value) + + +@pulumi.input_type +class TimeInWeekArgs: + def __init__(__self__, *, + day: Optional[pulumi.Input[Union[str, 'WeekDay']]] = None, + hour_slots: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None): + """ + Time in a week. + :param pulumi.Input[Union[str, 'WeekDay']] day: The day of the week. + :param pulumi.Input[Sequence[pulumi.Input[int]]] hour_slots: Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + """ + if day is not None: + pulumi.set(__self__, "day", day) + if hour_slots is not None: + pulumi.set(__self__, "hour_slots", hour_slots) + + @property + @pulumi.getter + def day(self) -> Optional[pulumi.Input[Union[str, 'WeekDay']]]: + """ + The day of the week. + """ + return pulumi.get(self, "day") + + @day.setter + def day(self, value: Optional[pulumi.Input[Union[str, 'WeekDay']]]): + pulumi.set(self, "day", value) + + @property + @pulumi.getter(name="hourSlots") + def hour_slots(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + """ + return pulumi.get(self, "hour_slots") + + @hour_slots.setter + def hour_slots(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "hour_slots", value) + + +@pulumi.input_type +class TimeSpanArgs: + def __init__(__self__, *, + end: Optional[pulumi.Input[str]] = None, + start: Optional[pulumi.Input[str]] = None): + """ + For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + :param pulumi.Input[str] end: The end of a time span + :param pulumi.Input[str] start: The start of a time span + """ + if end is not None: + pulumi.set(__self__, "end", end) + if start is not None: + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> Optional[pulumi.Input[str]]: + """ + The end of a time span + """ + return pulumi.get(self, "end") + + @end.setter + def end(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end", value) + + @property + @pulumi.getter + def start(self) -> Optional[pulumi.Input[str]]: + """ + The start of a time span + """ + return pulumi.get(self, "start") + + @start.setter + def start(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "start", value) + + +@pulumi.input_type +class UpgradeOverrideSettingsArgs: + def __init__(__self__, *, + force_upgrade: Optional[pulumi.Input[bool]] = None, + until: Optional[pulumi.Input[str]] = None): + """ + Settings for overrides when upgrading a cluster. + :param pulumi.Input[bool] force_upgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. + :param pulumi.Input[str] until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. + """ + if force_upgrade is not None: + pulumi.set(__self__, "force_upgrade", force_upgrade) + if until is not None: + pulumi.set(__self__, "until", until) + + @property + @pulumi.getter(name="forceUpgrade") + def force_upgrade(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. + """ + return pulumi.get(self, "force_upgrade") + + @force_upgrade.setter + def force_upgrade(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "force_upgrade", value) + + @property + @pulumi.getter + def until(self) -> Optional[pulumi.Input[str]]: + """ + Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. + """ + return pulumi.get(self, "until") + + @until.setter + def until(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "until", value) + + +@pulumi.input_type +class UserAssignedIdentityArgs: + def __init__(__self__, *, + client_id: Optional[pulumi.Input[str]] = None, + object_id: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None): + """ + Details about a user assigned identity. + :param pulumi.Input[str] client_id: The client ID of the user assigned identity. + :param pulumi.Input[str] object_id: The object ID of the user assigned identity. + :param pulumi.Input[str] resource_id: The resource ID of the user assigned identity. + """ + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) + if object_id is not None: + pulumi.set(__self__, "object_id", object_id) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + The client ID of the user assigned identity. + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> Optional[pulumi.Input[str]]: + """ + The object ID of the user assigned identity. + """ + return pulumi.get(self, "object_id") + + @object_id.setter + def object_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "object_id", value) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[str]]: + """ + The resource ID of the user assigned identity. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_id", value) + + +@pulumi.input_type +class WeeklyScheduleArgs: + def __init__(__self__, *, + day_of_week: pulumi.Input[Union[str, 'WeekDay']], + interval_weeks: pulumi.Input[int]): + """ + For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + :param pulumi.Input[Union[str, 'WeekDay']] day_of_week: Specifies on which day of the week the maintenance occurs. + :param pulumi.Input[int] interval_weeks: Specifies the number of weeks between each set of occurrences. + """ + pulumi.set(__self__, "day_of_week", day_of_week) + pulumi.set(__self__, "interval_weeks", interval_weeks) + + @property + @pulumi.getter(name="dayOfWeek") + def day_of_week(self) -> pulumi.Input[Union[str, 'WeekDay']]: + """ + Specifies on which day of the week the maintenance occurs. + """ + return pulumi.get(self, "day_of_week") + + @day_of_week.setter + def day_of_week(self, value: pulumi.Input[Union[str, 'WeekDay']]): + pulumi.set(self, "day_of_week", value) + + @property + @pulumi.getter(name="intervalWeeks") + def interval_weeks(self) -> pulumi.Input[int]: + """ + Specifies the number of weeks between each set of occurrences. + """ + return pulumi.get(self, "interval_weeks") + + @interval_weeks.setter + def interval_weeks(self, value: pulumi.Input[int]): + pulumi.set(self, "interval_weeks", value) + + +@pulumi.input_type +class WindowsGmsaProfileArgs: + def __init__(__self__, *, + dns_server: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + root_domain_name: Optional[pulumi.Input[str]] = None): + """ + Windows gMSA Profile in the managed cluster. + :param pulumi.Input[str] dns_server: Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + :param pulumi.Input[bool] enabled: Specifies whether to enable Windows gMSA in the managed cluster. + :param pulumi.Input[str] root_domain_name: Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + """ + if dns_server is not None: + pulumi.set(__self__, "dns_server", dns_server) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if root_domain_name is not None: + pulumi.set(__self__, "root_domain_name", root_domain_name) + + @property + @pulumi.getter(name="dnsServer") + def dns_server(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + """ + return pulumi.get(self, "dns_server") + + @dns_server.setter + def dns_server(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dns_server", value) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether to enable Windows gMSA in the managed cluster. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="rootDomainName") + def root_domain_name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + """ + return pulumi.get(self, "root_domain_name") + + @root_domain_name.setter + def root_domain_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "root_domain_name", value) + + diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/agent_pool.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/agent_pool.py new file mode 100644 index 000000000000..40afda177ae0 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/agent_pool.py @@ -0,0 +1,1299 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['AgentPoolArgs', 'AgentPool'] + +@pulumi.input_type +class AgentPoolArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + resource_name: pulumi.Input[str], + agent_pool_name: Optional[pulumi.Input[str]] = None, + availability_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + count: Optional[pulumi.Input[int]] = None, + creation_data: Optional[pulumi.Input['CreationDataArgs']] = None, + enable_auto_scaling: Optional[pulumi.Input[bool]] = None, + enable_encryption_at_host: Optional[pulumi.Input[bool]] = None, + enable_fips: Optional[pulumi.Input[bool]] = None, + enable_node_public_ip: Optional[pulumi.Input[bool]] = None, + enable_ultra_ssd: Optional[pulumi.Input[bool]] = None, + gpu_instance_profile: Optional[pulumi.Input[Union[str, 'GPUInstanceProfile']]] = None, + host_group_id: Optional[pulumi.Input[str]] = None, + kubelet_config: Optional[pulumi.Input['KubeletConfigArgs']] = None, + kubelet_disk_type: Optional[pulumi.Input[Union[str, 'KubeletDiskType']]] = None, + linux_os_config: Optional[pulumi.Input['LinuxOSConfigArgs']] = None, + max_count: Optional[pulumi.Input[int]] = None, + max_pods: Optional[pulumi.Input[int]] = None, + min_count: Optional[pulumi.Input[int]] = None, + mode: Optional[pulumi.Input[Union[str, 'AgentPoolMode']]] = None, + node_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + node_public_ip_prefix_id: Optional[pulumi.Input[str]] = None, + node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + orchestrator_version: Optional[pulumi.Input[str]] = None, + os_disk_size_gb: Optional[pulumi.Input[int]] = None, + os_disk_type: Optional[pulumi.Input[Union[str, 'OSDiskType']]] = None, + os_sku: Optional[pulumi.Input[Union[str, 'OSSKU']]] = None, + os_type: Optional[pulumi.Input[Union[str, 'OSType']]] = None, + pod_subnet_id: Optional[pulumi.Input[str]] = None, + power_state: Optional[pulumi.Input['PowerStateArgs']] = None, + proximity_placement_group_id: Optional[pulumi.Input[str]] = None, + scale_down_mode: Optional[pulumi.Input[Union[str, 'ScaleDownMode']]] = None, + scale_set_eviction_policy: Optional[pulumi.Input[Union[str, 'ScaleSetEvictionPolicy']]] = None, + scale_set_priority: Optional[pulumi.Input[Union[str, 'ScaleSetPriority']]] = None, + spot_max_price: Optional[pulumi.Input[float]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[Union[str, 'AgentPoolType']]] = None, + upgrade_settings: Optional[pulumi.Input['AgentPoolUpgradeSettingsArgs']] = None, + vm_size: Optional[pulumi.Input[str]] = None, + vnet_subnet_id: Optional[pulumi.Input[str]] = None, + workload_runtime: Optional[pulumi.Input[Union[str, 'WorkloadRuntime']]] = None): + """ + The set of arguments for constructing a AgentPool resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] resource_name: The name of the managed cluster resource. + :param pulumi.Input[str] agent_pool_name: The name of the agent pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + :param pulumi.Input[int] count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + :param pulumi.Input['CreationDataArgs'] creation_data: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + :param pulumi.Input[bool] enable_auto_scaling: Whether to enable auto-scaler + :param pulumi.Input[bool] enable_encryption_at_host: This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + :param pulumi.Input[bool] enable_fips: See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + :param pulumi.Input[bool] enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + :param pulumi.Input[bool] enable_ultra_ssd: Whether to enable UltraSSD + :param pulumi.Input[Union[str, 'GPUInstanceProfile']] gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + :param pulumi.Input[str] host_group_id: This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + :param pulumi.Input['KubeletConfigArgs'] kubelet_config: The Kubelet configuration on the agent pool nodes. + :param pulumi.Input[Union[str, 'KubeletDiskType']] kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + :param pulumi.Input['LinuxOSConfigArgs'] linux_os_config: The OS configuration of Linux agent nodes. + :param pulumi.Input[int] max_count: The maximum number of nodes for auto-scaling + :param pulumi.Input[int] max_pods: The maximum number of pods that can run on a node. + :param pulumi.Input[int] min_count: The minimum number of nodes for auto-scaling + :param pulumi.Input[Union[str, 'AgentPoolMode']] mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_labels: The node labels to be persisted across all nodes in agent pool. + :param pulumi.Input[str] node_public_ip_prefix_id: This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + :param pulumi.Input[Sequence[pulumi.Input[str]]] node_taints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + :param pulumi.Input[str] orchestrator_version: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + :param pulumi.Input[int] os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + :param pulumi.Input[Union[str, 'OSDiskType']] os_disk_type: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + :param pulumi.Input[Union[str, 'OSSKU']] os_sku: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + :param pulumi.Input[Union[str, 'OSType']] os_type: The operating system type. The default is Linux. + :param pulumi.Input[str] pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + :param pulumi.Input['PowerStateArgs'] power_state: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + :param pulumi.Input[str] proximity_placement_group_id: The ID for Proximity Placement Group. + :param pulumi.Input[Union[str, 'ScaleDownMode']] scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + :param pulumi.Input[Union[str, 'ScaleSetEvictionPolicy']] scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + :param pulumi.Input[Union[str, 'ScaleSetPriority']] scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + :param pulumi.Input[float] spot_max_price: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The tags to be persisted on the agent pool virtual machine scale set. + :param pulumi.Input[Union[str, 'AgentPoolType']] type: The type of Agent Pool. + :param pulumi.Input['AgentPoolUpgradeSettingsArgs'] upgrade_settings: Settings for upgrading the agentpool + :param pulumi.Input[str] vm_size: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + :param pulumi.Input[str] vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + :param pulumi.Input[Union[str, 'WorkloadRuntime']] workload_runtime: Determines the type of workload a node can run. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "resource_name", resource_name) + if agent_pool_name is not None: + pulumi.set(__self__, "agent_pool_name", agent_pool_name) + if availability_zones is not None: + pulumi.set(__self__, "availability_zones", availability_zones) + if count is not None: + pulumi.set(__self__, "count", count) + if creation_data is not None: + pulumi.set(__self__, "creation_data", creation_data) + if enable_auto_scaling is not None: + pulumi.set(__self__, "enable_auto_scaling", enable_auto_scaling) + if enable_encryption_at_host is not None: + pulumi.set(__self__, "enable_encryption_at_host", enable_encryption_at_host) + if enable_fips is not None: + pulumi.set(__self__, "enable_fips", enable_fips) + if enable_node_public_ip is not None: + pulumi.set(__self__, "enable_node_public_ip", enable_node_public_ip) + if enable_ultra_ssd is not None: + pulumi.set(__self__, "enable_ultra_ssd", enable_ultra_ssd) + if gpu_instance_profile is not None: + pulumi.set(__self__, "gpu_instance_profile", gpu_instance_profile) + if host_group_id is not None: + pulumi.set(__self__, "host_group_id", host_group_id) + if kubelet_config is not None: + pulumi.set(__self__, "kubelet_config", kubelet_config) + if kubelet_disk_type is not None: + pulumi.set(__self__, "kubelet_disk_type", kubelet_disk_type) + if linux_os_config is not None: + pulumi.set(__self__, "linux_os_config", linux_os_config) + if max_count is not None: + pulumi.set(__self__, "max_count", max_count) + if max_pods is not None: + pulumi.set(__self__, "max_pods", max_pods) + if min_count is not None: + pulumi.set(__self__, "min_count", min_count) + if mode is not None: + pulumi.set(__self__, "mode", mode) + if node_labels is not None: + pulumi.set(__self__, "node_labels", node_labels) + if node_public_ip_prefix_id is not None: + pulumi.set(__self__, "node_public_ip_prefix_id", node_public_ip_prefix_id) + if node_taints is not None: + pulumi.set(__self__, "node_taints", node_taints) + if orchestrator_version is not None: + pulumi.set(__self__, "orchestrator_version", orchestrator_version) + if os_disk_size_gb is not None: + pulumi.set(__self__, "os_disk_size_gb", os_disk_size_gb) + if os_disk_type is not None: + pulumi.set(__self__, "os_disk_type", os_disk_type) + if os_sku is not None: + pulumi.set(__self__, "os_sku", os_sku) + if os_type is not None: + pulumi.set(__self__, "os_type", os_type) + if pod_subnet_id is not None: + pulumi.set(__self__, "pod_subnet_id", pod_subnet_id) + if power_state is not None: + pulumi.set(__self__, "power_state", power_state) + if proximity_placement_group_id is not None: + pulumi.set(__self__, "proximity_placement_group_id", proximity_placement_group_id) + if scale_down_mode is not None: + pulumi.set(__self__, "scale_down_mode", scale_down_mode) + if scale_set_eviction_policy is not None: + pulumi.set(__self__, "scale_set_eviction_policy", scale_set_eviction_policy) + if scale_set_priority is not None: + pulumi.set(__self__, "scale_set_priority", scale_set_priority) + if spot_max_price is not None: + pulumi.set(__self__, "spot_max_price", spot_max_price) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if type is not None: + pulumi.set(__self__, "type", type) + if upgrade_settings is not None: + pulumi.set(__self__, "upgrade_settings", upgrade_settings) + if vm_size is not None: + pulumi.set(__self__, "vm_size", vm_size) + if vnet_subnet_id is not None: + pulumi.set(__self__, "vnet_subnet_id", vnet_subnet_id) + if workload_runtime is not None: + pulumi.set(__self__, "workload_runtime", workload_runtime) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="resourceName") + def resource_name(self) -> pulumi.Input[str]: + """ + The name of the managed cluster resource. + """ + return pulumi.get(self, "resource_name") + + @resource_name.setter + def resource_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_name", value) + + @property + @pulumi.getter(name="agentPoolName") + def agent_pool_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the agent pool. + """ + return pulumi.get(self, "agent_pool_name") + + @agent_pool_name.setter + def agent_pool_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_pool_name", value) + + @property + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + """ + return pulumi.get(self, "availability_zones") + + @availability_zones.setter + def availability_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "availability_zones", value) + + @property + @pulumi.getter + def count(self) -> Optional[pulumi.Input[int]]: + """ + Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> Optional[pulumi.Input['CreationDataArgs']]: + """ + CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + """ + return pulumi.get(self, "creation_data") + + @creation_data.setter + def creation_data(self, value: Optional[pulumi.Input['CreationDataArgs']]): + pulumi.set(self, "creation_data", value) + + @property + @pulumi.getter(name="enableAutoScaling") + def enable_auto_scaling(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable auto-scaler + """ + return pulumi.get(self, "enable_auto_scaling") + + @enable_auto_scaling.setter + def enable_auto_scaling(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_auto_scaling", value) + + @property + @pulumi.getter(name="enableEncryptionAtHost") + def enable_encryption_at_host(self) -> Optional[pulumi.Input[bool]]: + """ + This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + """ + return pulumi.get(self, "enable_encryption_at_host") + + @enable_encryption_at_host.setter + def enable_encryption_at_host(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_encryption_at_host", value) + + @property + @pulumi.getter(name="enableFIPS") + def enable_fips(self) -> Optional[pulumi.Input[bool]]: + """ + See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + """ + return pulumi.get(self, "enable_fips") + + @enable_fips.setter + def enable_fips(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_fips", value) + + @property + @pulumi.getter(name="enableNodePublicIP") + def enable_node_public_ip(self) -> Optional[pulumi.Input[bool]]: + """ + Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + """ + return pulumi.get(self, "enable_node_public_ip") + + @enable_node_public_ip.setter + def enable_node_public_ip(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_node_public_ip", value) + + @property + @pulumi.getter(name="enableUltraSSD") + def enable_ultra_ssd(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable UltraSSD + """ + return pulumi.get(self, "enable_ultra_ssd") + + @enable_ultra_ssd.setter + def enable_ultra_ssd(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_ultra_ssd", value) + + @property + @pulumi.getter(name="gpuInstanceProfile") + def gpu_instance_profile(self) -> Optional[pulumi.Input[Union[str, 'GPUInstanceProfile']]]: + """ + GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + """ + return pulumi.get(self, "gpu_instance_profile") + + @gpu_instance_profile.setter + def gpu_instance_profile(self, value: Optional[pulumi.Input[Union[str, 'GPUInstanceProfile']]]): + pulumi.set(self, "gpu_instance_profile", value) + + @property + @pulumi.getter(name="hostGroupID") + def host_group_id(self) -> Optional[pulumi.Input[str]]: + """ + This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + """ + return pulumi.get(self, "host_group_id") + + @host_group_id.setter + def host_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_group_id", value) + + @property + @pulumi.getter(name="kubeletConfig") + def kubelet_config(self) -> Optional[pulumi.Input['KubeletConfigArgs']]: + """ + The Kubelet configuration on the agent pool nodes. + """ + return pulumi.get(self, "kubelet_config") + + @kubelet_config.setter + def kubelet_config(self, value: Optional[pulumi.Input['KubeletConfigArgs']]): + pulumi.set(self, "kubelet_config", value) + + @property + @pulumi.getter(name="kubeletDiskType") + def kubelet_disk_type(self) -> Optional[pulumi.Input[Union[str, 'KubeletDiskType']]]: + """ + Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + """ + return pulumi.get(self, "kubelet_disk_type") + + @kubelet_disk_type.setter + def kubelet_disk_type(self, value: Optional[pulumi.Input[Union[str, 'KubeletDiskType']]]): + pulumi.set(self, "kubelet_disk_type", value) + + @property + @pulumi.getter(name="linuxOSConfig") + def linux_os_config(self) -> Optional[pulumi.Input['LinuxOSConfigArgs']]: + """ + The OS configuration of Linux agent nodes. + """ + return pulumi.get(self, "linux_os_config") + + @linux_os_config.setter + def linux_os_config(self, value: Optional[pulumi.Input['LinuxOSConfigArgs']]): + pulumi.set(self, "linux_os_config", value) + + @property + @pulumi.getter(name="maxCount") + def max_count(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of nodes for auto-scaling + """ + return pulumi.get(self, "max_count") + + @max_count.setter + def max_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_count", value) + + @property + @pulumi.getter(name="maxPods") + def max_pods(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of pods that can run on a node. + """ + return pulumi.get(self, "max_pods") + + @max_pods.setter + def max_pods(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_pods", value) + + @property + @pulumi.getter(name="minCount") + def min_count(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of nodes for auto-scaling + """ + return pulumi.get(self, "min_count") + + @min_count.setter + def min_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_count", value) + + @property + @pulumi.getter + def mode(self) -> Optional[pulumi.Input[Union[str, 'AgentPoolMode']]]: + """ + A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + """ + return pulumi.get(self, "mode") + + @mode.setter + def mode(self, value: Optional[pulumi.Input[Union[str, 'AgentPoolMode']]]): + pulumi.set(self, "mode", value) + + @property + @pulumi.getter(name="nodeLabels") + def node_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + The node labels to be persisted across all nodes in agent pool. + """ + return pulumi.get(self, "node_labels") + + @node_labels.setter + def node_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "node_labels", value) + + @property + @pulumi.getter(name="nodePublicIPPrefixID") + def node_public_ip_prefix_id(self) -> Optional[pulumi.Input[str]]: + """ + This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + """ + return pulumi.get(self, "node_public_ip_prefix_id") + + @node_public_ip_prefix_id.setter + def node_public_ip_prefix_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "node_public_ip_prefix_id", value) + + @property + @pulumi.getter(name="nodeTaints") + def node_taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + """ + return pulumi.get(self, "node_taints") + + @node_taints.setter + def node_taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "node_taints", value) + + @property + @pulumi.getter(name="orchestratorVersion") + def orchestrator_version(self) -> Optional[pulumi.Input[str]]: + """ + Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + """ + return pulumi.get(self, "orchestrator_version") + + @orchestrator_version.setter + def orchestrator_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "orchestrator_version", value) + + @property + @pulumi.getter(name="osDiskSizeGB") + def os_disk_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + """ + return pulumi.get(self, "os_disk_size_gb") + + @os_disk_size_gb.setter + def os_disk_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "os_disk_size_gb", value) + + @property + @pulumi.getter(name="osDiskType") + def os_disk_type(self) -> Optional[pulumi.Input[Union[str, 'OSDiskType']]]: + """ + The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + """ + return pulumi.get(self, "os_disk_type") + + @os_disk_type.setter + def os_disk_type(self, value: Optional[pulumi.Input[Union[str, 'OSDiskType']]]): + pulumi.set(self, "os_disk_type", value) + + @property + @pulumi.getter(name="osSKU") + def os_sku(self) -> Optional[pulumi.Input[Union[str, 'OSSKU']]]: + """ + Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + """ + return pulumi.get(self, "os_sku") + + @os_sku.setter + def os_sku(self, value: Optional[pulumi.Input[Union[str, 'OSSKU']]]): + pulumi.set(self, "os_sku", value) + + @property + @pulumi.getter(name="osType") + def os_type(self) -> Optional[pulumi.Input[Union[str, 'OSType']]]: + """ + The operating system type. The default is Linux. + """ + return pulumi.get(self, "os_type") + + @os_type.setter + def os_type(self, value: Optional[pulumi.Input[Union[str, 'OSType']]]): + pulumi.set(self, "os_type", value) + + @property + @pulumi.getter(name="podSubnetID") + def pod_subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + """ + return pulumi.get(self, "pod_subnet_id") + + @pod_subnet_id.setter + def pod_subnet_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pod_subnet_id", value) + + @property + @pulumi.getter(name="powerState") + def power_state(self) -> Optional[pulumi.Input['PowerStateArgs']]: + """ + When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + """ + return pulumi.get(self, "power_state") + + @power_state.setter + def power_state(self, value: Optional[pulumi.Input['PowerStateArgs']]): + pulumi.set(self, "power_state", value) + + @property + @pulumi.getter(name="proximityPlacementGroupID") + def proximity_placement_group_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID for Proximity Placement Group. + """ + return pulumi.get(self, "proximity_placement_group_id") + + @proximity_placement_group_id.setter + def proximity_placement_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "proximity_placement_group_id", value) + + @property + @pulumi.getter(name="scaleDownMode") + def scale_down_mode(self) -> Optional[pulumi.Input[Union[str, 'ScaleDownMode']]]: + """ + This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + """ + return pulumi.get(self, "scale_down_mode") + + @scale_down_mode.setter + def scale_down_mode(self, value: Optional[pulumi.Input[Union[str, 'ScaleDownMode']]]): + pulumi.set(self, "scale_down_mode", value) + + @property + @pulumi.getter(name="scaleSetEvictionPolicy") + def scale_set_eviction_policy(self) -> Optional[pulumi.Input[Union[str, 'ScaleSetEvictionPolicy']]]: + """ + This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + """ + return pulumi.get(self, "scale_set_eviction_policy") + + @scale_set_eviction_policy.setter + def scale_set_eviction_policy(self, value: Optional[pulumi.Input[Union[str, 'ScaleSetEvictionPolicy']]]): + pulumi.set(self, "scale_set_eviction_policy", value) + + @property + @pulumi.getter(name="scaleSetPriority") + def scale_set_priority(self) -> Optional[pulumi.Input[Union[str, 'ScaleSetPriority']]]: + """ + The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + """ + return pulumi.get(self, "scale_set_priority") + + @scale_set_priority.setter + def scale_set_priority(self, value: Optional[pulumi.Input[Union[str, 'ScaleSetPriority']]]): + pulumi.set(self, "scale_set_priority", value) + + @property + @pulumi.getter(name="spotMaxPrice") + def spot_max_price(self) -> Optional[pulumi.Input[float]]: + """ + Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + """ + return pulumi.get(self, "spot_max_price") + + @spot_max_price.setter + def spot_max_price(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "spot_max_price", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + The tags to be persisted on the agent pool virtual machine scale set. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[Union[str, 'AgentPoolType']]]: + """ + The type of Agent Pool. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[Union[str, 'AgentPoolType']]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="upgradeSettings") + def upgrade_settings(self) -> Optional[pulumi.Input['AgentPoolUpgradeSettingsArgs']]: + """ + Settings for upgrading the agentpool + """ + return pulumi.get(self, "upgrade_settings") + + @upgrade_settings.setter + def upgrade_settings(self, value: Optional[pulumi.Input['AgentPoolUpgradeSettingsArgs']]): + pulumi.set(self, "upgrade_settings", value) + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> Optional[pulumi.Input[str]]: + """ + VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + """ + return pulumi.get(self, "vm_size") + + @vm_size.setter + def vm_size(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vm_size", value) + + @property + @pulumi.getter(name="vnetSubnetID") + def vnet_subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + """ + return pulumi.get(self, "vnet_subnet_id") + + @vnet_subnet_id.setter + def vnet_subnet_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vnet_subnet_id", value) + + @property + @pulumi.getter(name="workloadRuntime") + def workload_runtime(self) -> Optional[pulumi.Input[Union[str, 'WorkloadRuntime']]]: + """ + Determines the type of workload a node can run. + """ + return pulumi.get(self, "workload_runtime") + + @workload_runtime.setter + def workload_runtime(self, value: Optional[pulumi.Input[Union[str, 'WorkloadRuntime']]]): + pulumi.set(self, "workload_runtime", value) + + +class AgentPool(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + agent_pool_name: Optional[pulumi.Input[str]] = None, + availability_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + count: Optional[pulumi.Input[int]] = None, + creation_data: Optional[pulumi.Input[pulumi.InputType['CreationDataArgs']]] = None, + enable_auto_scaling: Optional[pulumi.Input[bool]] = None, + enable_encryption_at_host: Optional[pulumi.Input[bool]] = None, + enable_fips: Optional[pulumi.Input[bool]] = None, + enable_node_public_ip: Optional[pulumi.Input[bool]] = None, + enable_ultra_ssd: Optional[pulumi.Input[bool]] = None, + gpu_instance_profile: Optional[pulumi.Input[Union[str, 'GPUInstanceProfile']]] = None, + host_group_id: Optional[pulumi.Input[str]] = None, + kubelet_config: Optional[pulumi.Input[pulumi.InputType['KubeletConfigArgs']]] = None, + kubelet_disk_type: Optional[pulumi.Input[Union[str, 'KubeletDiskType']]] = None, + linux_os_config: Optional[pulumi.Input[pulumi.InputType['LinuxOSConfigArgs']]] = None, + max_count: Optional[pulumi.Input[int]] = None, + max_pods: Optional[pulumi.Input[int]] = None, + min_count: Optional[pulumi.Input[int]] = None, + mode: Optional[pulumi.Input[Union[str, 'AgentPoolMode']]] = None, + node_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + node_public_ip_prefix_id: Optional[pulumi.Input[str]] = None, + node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + orchestrator_version: Optional[pulumi.Input[str]] = None, + os_disk_size_gb: Optional[pulumi.Input[int]] = None, + os_disk_type: Optional[pulumi.Input[Union[str, 'OSDiskType']]] = None, + os_sku: Optional[pulumi.Input[Union[str, 'OSSKU']]] = None, + os_type: Optional[pulumi.Input[Union[str, 'OSType']]] = None, + pod_subnet_id: Optional[pulumi.Input[str]] = None, + power_state: Optional[pulumi.Input[pulumi.InputType['PowerStateArgs']]] = None, + proximity_placement_group_id: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + scale_down_mode: Optional[pulumi.Input[Union[str, 'ScaleDownMode']]] = None, + scale_set_eviction_policy: Optional[pulumi.Input[Union[str, 'ScaleSetEvictionPolicy']]] = None, + scale_set_priority: Optional[pulumi.Input[Union[str, 'ScaleSetPriority']]] = None, + spot_max_price: Optional[pulumi.Input[float]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[Union[str, 'AgentPoolType']]] = None, + upgrade_settings: Optional[pulumi.Input[pulumi.InputType['AgentPoolUpgradeSettingsArgs']]] = None, + vm_size: Optional[pulumi.Input[str]] = None, + vnet_subnet_id: Optional[pulumi.Input[str]] = None, + workload_runtime: Optional[pulumi.Input[Union[str, 'WorkloadRuntime']]] = None, + __props__=None): + """ + Agent Pool. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] agent_pool_name: The name of the agent pool. + :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + :param pulumi.Input[int] count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + :param pulumi.Input[pulumi.InputType['CreationDataArgs']] creation_data: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + :param pulumi.Input[bool] enable_auto_scaling: Whether to enable auto-scaler + :param pulumi.Input[bool] enable_encryption_at_host: This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + :param pulumi.Input[bool] enable_fips: See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + :param pulumi.Input[bool] enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + :param pulumi.Input[bool] enable_ultra_ssd: Whether to enable UltraSSD + :param pulumi.Input[Union[str, 'GPUInstanceProfile']] gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + :param pulumi.Input[str] host_group_id: This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + :param pulumi.Input[pulumi.InputType['KubeletConfigArgs']] kubelet_config: The Kubelet configuration on the agent pool nodes. + :param pulumi.Input[Union[str, 'KubeletDiskType']] kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + :param pulumi.Input[pulumi.InputType['LinuxOSConfigArgs']] linux_os_config: The OS configuration of Linux agent nodes. + :param pulumi.Input[int] max_count: The maximum number of nodes for auto-scaling + :param pulumi.Input[int] max_pods: The maximum number of pods that can run on a node. + :param pulumi.Input[int] min_count: The minimum number of nodes for auto-scaling + :param pulumi.Input[Union[str, 'AgentPoolMode']] mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_labels: The node labels to be persisted across all nodes in agent pool. + :param pulumi.Input[str] node_public_ip_prefix_id: This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + :param pulumi.Input[Sequence[pulumi.Input[str]]] node_taints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + :param pulumi.Input[str] orchestrator_version: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + :param pulumi.Input[int] os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + :param pulumi.Input[Union[str, 'OSDiskType']] os_disk_type: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + :param pulumi.Input[Union[str, 'OSSKU']] os_sku: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + :param pulumi.Input[Union[str, 'OSType']] os_type: The operating system type. The default is Linux. + :param pulumi.Input[str] pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + :param pulumi.Input[pulumi.InputType['PowerStateArgs']] power_state: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + :param pulumi.Input[str] proximity_placement_group_id: The ID for Proximity Placement Group. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] resource_name_: The name of the managed cluster resource. + :param pulumi.Input[Union[str, 'ScaleDownMode']] scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + :param pulumi.Input[Union[str, 'ScaleSetEvictionPolicy']] scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + :param pulumi.Input[Union[str, 'ScaleSetPriority']] scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + :param pulumi.Input[float] spot_max_price: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The tags to be persisted on the agent pool virtual machine scale set. + :param pulumi.Input[Union[str, 'AgentPoolType']] type: The type of Agent Pool. + :param pulumi.Input[pulumi.InputType['AgentPoolUpgradeSettingsArgs']] upgrade_settings: Settings for upgrading the agentpool + :param pulumi.Input[str] vm_size: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + :param pulumi.Input[str] vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + :param pulumi.Input[Union[str, 'WorkloadRuntime']] workload_runtime: Determines the type of workload a node can run. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AgentPoolArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Agent Pool. + + :param str resource_name: The name of the resource. + :param AgentPoolArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AgentPoolArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + agent_pool_name: Optional[pulumi.Input[str]] = None, + availability_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + count: Optional[pulumi.Input[int]] = None, + creation_data: Optional[pulumi.Input[pulumi.InputType['CreationDataArgs']]] = None, + enable_auto_scaling: Optional[pulumi.Input[bool]] = None, + enable_encryption_at_host: Optional[pulumi.Input[bool]] = None, + enable_fips: Optional[pulumi.Input[bool]] = None, + enable_node_public_ip: Optional[pulumi.Input[bool]] = None, + enable_ultra_ssd: Optional[pulumi.Input[bool]] = None, + gpu_instance_profile: Optional[pulumi.Input[Union[str, 'GPUInstanceProfile']]] = None, + host_group_id: Optional[pulumi.Input[str]] = None, + kubelet_config: Optional[pulumi.Input[pulumi.InputType['KubeletConfigArgs']]] = None, + kubelet_disk_type: Optional[pulumi.Input[Union[str, 'KubeletDiskType']]] = None, + linux_os_config: Optional[pulumi.Input[pulumi.InputType['LinuxOSConfigArgs']]] = None, + max_count: Optional[pulumi.Input[int]] = None, + max_pods: Optional[pulumi.Input[int]] = None, + min_count: Optional[pulumi.Input[int]] = None, + mode: Optional[pulumi.Input[Union[str, 'AgentPoolMode']]] = None, + node_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + node_public_ip_prefix_id: Optional[pulumi.Input[str]] = None, + node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + orchestrator_version: Optional[pulumi.Input[str]] = None, + os_disk_size_gb: Optional[pulumi.Input[int]] = None, + os_disk_type: Optional[pulumi.Input[Union[str, 'OSDiskType']]] = None, + os_sku: Optional[pulumi.Input[Union[str, 'OSSKU']]] = None, + os_type: Optional[pulumi.Input[Union[str, 'OSType']]] = None, + pod_subnet_id: Optional[pulumi.Input[str]] = None, + power_state: Optional[pulumi.Input[pulumi.InputType['PowerStateArgs']]] = None, + proximity_placement_group_id: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + scale_down_mode: Optional[pulumi.Input[Union[str, 'ScaleDownMode']]] = None, + scale_set_eviction_policy: Optional[pulumi.Input[Union[str, 'ScaleSetEvictionPolicy']]] = None, + scale_set_priority: Optional[pulumi.Input[Union[str, 'ScaleSetPriority']]] = None, + spot_max_price: Optional[pulumi.Input[float]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[Union[str, 'AgentPoolType']]] = None, + upgrade_settings: Optional[pulumi.Input[pulumi.InputType['AgentPoolUpgradeSettingsArgs']]] = None, + vm_size: Optional[pulumi.Input[str]] = None, + vnet_subnet_id: Optional[pulumi.Input[str]] = None, + workload_runtime: Optional[pulumi.Input[Union[str, 'WorkloadRuntime']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AgentPoolArgs.__new__(AgentPoolArgs) + + __props__.__dict__["agent_pool_name"] = agent_pool_name + __props__.__dict__["availability_zones"] = availability_zones + __props__.__dict__["count"] = count + __props__.__dict__["creation_data"] = creation_data + __props__.__dict__["enable_auto_scaling"] = enable_auto_scaling + __props__.__dict__["enable_encryption_at_host"] = enable_encryption_at_host + __props__.__dict__["enable_fips"] = enable_fips + __props__.__dict__["enable_node_public_ip"] = enable_node_public_ip + __props__.__dict__["enable_ultra_ssd"] = enable_ultra_ssd + __props__.__dict__["gpu_instance_profile"] = gpu_instance_profile + __props__.__dict__["host_group_id"] = host_group_id + __props__.__dict__["kubelet_config"] = kubelet_config + __props__.__dict__["kubelet_disk_type"] = kubelet_disk_type + __props__.__dict__["linux_os_config"] = linux_os_config + __props__.__dict__["max_count"] = max_count + __props__.__dict__["max_pods"] = max_pods + __props__.__dict__["min_count"] = min_count + __props__.__dict__["mode"] = mode + __props__.__dict__["node_labels"] = node_labels + __props__.__dict__["node_public_ip_prefix_id"] = node_public_ip_prefix_id + __props__.__dict__["node_taints"] = node_taints + __props__.__dict__["orchestrator_version"] = orchestrator_version + __props__.__dict__["os_disk_size_gb"] = os_disk_size_gb + __props__.__dict__["os_disk_type"] = os_disk_type + __props__.__dict__["os_sku"] = os_sku + __props__.__dict__["os_type"] = os_type + __props__.__dict__["pod_subnet_id"] = pod_subnet_id + __props__.__dict__["power_state"] = power_state + __props__.__dict__["proximity_placement_group_id"] = proximity_placement_group_id + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if resource_name_ is None and not opts.urn: + raise TypeError("Missing required property 'resource_name_'") + __props__.__dict__["resource_name"] = resource_name_ + __props__.__dict__["scale_down_mode"] = scale_down_mode + __props__.__dict__["scale_set_eviction_policy"] = scale_set_eviction_policy + __props__.__dict__["scale_set_priority"] = scale_set_priority + __props__.__dict__["spot_max_price"] = spot_max_price + __props__.__dict__["tags"] = tags + __props__.__dict__["type"] = type + __props__.__dict__["upgrade_settings"] = upgrade_settings + __props__.__dict__["vm_size"] = vm_size + __props__.__dict__["vnet_subnet_id"] = vnet_subnet_id + __props__.__dict__["workload_runtime"] = workload_runtime + __props__.__dict__["current_orchestrator_version"] = None + __props__.__dict__["name"] = None + __props__.__dict__["node_image_version"] = None + __props__.__dict__["provisioning_state"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20190801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20191101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20200901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20201201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210801:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20210901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211001:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220701:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220901:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230101:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230201:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230301:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230401:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230501:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230601:AgentPool"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:AgentPool")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(AgentPool, __self__).__init__( + 'azure-native:containerservice/v20230701:AgentPool', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'AgentPool': + """ + Get an existing AgentPool resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = AgentPoolArgs.__new__(AgentPoolArgs) + + __props__.__dict__["availability_zones"] = None + __props__.__dict__["count"] = None + __props__.__dict__["creation_data"] = None + __props__.__dict__["current_orchestrator_version"] = None + __props__.__dict__["enable_auto_scaling"] = None + __props__.__dict__["enable_encryption_at_host"] = None + __props__.__dict__["enable_fips"] = None + __props__.__dict__["enable_node_public_ip"] = None + __props__.__dict__["enable_ultra_ssd"] = None + __props__.__dict__["gpu_instance_profile"] = None + __props__.__dict__["host_group_id"] = None + __props__.__dict__["kubelet_config"] = None + __props__.__dict__["kubelet_disk_type"] = None + __props__.__dict__["linux_os_config"] = None + __props__.__dict__["max_count"] = None + __props__.__dict__["max_pods"] = None + __props__.__dict__["min_count"] = None + __props__.__dict__["mode"] = None + __props__.__dict__["name"] = None + __props__.__dict__["node_image_version"] = None + __props__.__dict__["node_labels"] = None + __props__.__dict__["node_public_ip_prefix_id"] = None + __props__.__dict__["node_taints"] = None + __props__.__dict__["orchestrator_version"] = None + __props__.__dict__["os_disk_size_gb"] = None + __props__.__dict__["os_disk_type"] = None + __props__.__dict__["os_sku"] = None + __props__.__dict__["os_type"] = None + __props__.__dict__["pod_subnet_id"] = None + __props__.__dict__["power_state"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["proximity_placement_group_id"] = None + __props__.__dict__["scale_down_mode"] = None + __props__.__dict__["scale_set_eviction_policy"] = None + __props__.__dict__["scale_set_priority"] = None + __props__.__dict__["spot_max_price"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["upgrade_settings"] = None + __props__.__dict__["vm_size"] = None + __props__.__dict__["vnet_subnet_id"] = None + __props__.__dict__["workload_runtime"] = None + return AgentPool(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + """ + return pulumi.get(self, "availability_zones") + + @property + @pulumi.getter + def count(self) -> pulumi.Output[Optional[int]]: + """ + Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> pulumi.Output[Optional['outputs.CreationDataResponse']]: + """ + CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + """ + return pulumi.get(self, "creation_data") + + @property + @pulumi.getter(name="currentOrchestratorVersion") + def current_orchestrator_version(self) -> pulumi.Output[str]: + """ + If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + """ + return pulumi.get(self, "current_orchestrator_version") + + @property + @pulumi.getter(name="enableAutoScaling") + def enable_auto_scaling(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to enable auto-scaler + """ + return pulumi.get(self, "enable_auto_scaling") + + @property + @pulumi.getter(name="enableEncryptionAtHost") + def enable_encryption_at_host(self) -> pulumi.Output[Optional[bool]]: + """ + This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + """ + return pulumi.get(self, "enable_encryption_at_host") + + @property + @pulumi.getter(name="enableFIPS") + def enable_fips(self) -> pulumi.Output[Optional[bool]]: + """ + See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + """ + return pulumi.get(self, "enable_fips") + + @property + @pulumi.getter(name="enableNodePublicIP") + def enable_node_public_ip(self) -> pulumi.Output[Optional[bool]]: + """ + Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + """ + return pulumi.get(self, "enable_node_public_ip") + + @property + @pulumi.getter(name="enableUltraSSD") + def enable_ultra_ssd(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to enable UltraSSD + """ + return pulumi.get(self, "enable_ultra_ssd") + + @property + @pulumi.getter(name="gpuInstanceProfile") + def gpu_instance_profile(self) -> pulumi.Output[Optional[str]]: + """ + GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + """ + return pulumi.get(self, "gpu_instance_profile") + + @property + @pulumi.getter(name="hostGroupID") + def host_group_id(self) -> pulumi.Output[Optional[str]]: + """ + This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + """ + return pulumi.get(self, "host_group_id") + + @property + @pulumi.getter(name="kubeletConfig") + def kubelet_config(self) -> pulumi.Output[Optional['outputs.KubeletConfigResponse']]: + """ + The Kubelet configuration on the agent pool nodes. + """ + return pulumi.get(self, "kubelet_config") + + @property + @pulumi.getter(name="kubeletDiskType") + def kubelet_disk_type(self) -> pulumi.Output[Optional[str]]: + """ + Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + """ + return pulumi.get(self, "kubelet_disk_type") + + @property + @pulumi.getter(name="linuxOSConfig") + def linux_os_config(self) -> pulumi.Output[Optional['outputs.LinuxOSConfigResponse']]: + """ + The OS configuration of Linux agent nodes. + """ + return pulumi.get(self, "linux_os_config") + + @property + @pulumi.getter(name="maxCount") + def max_count(self) -> pulumi.Output[Optional[int]]: + """ + The maximum number of nodes for auto-scaling + """ + return pulumi.get(self, "max_count") + + @property + @pulumi.getter(name="maxPods") + def max_pods(self) -> pulumi.Output[Optional[int]]: + """ + The maximum number of pods that can run on a node. + """ + return pulumi.get(self, "max_pods") + + @property + @pulumi.getter(name="minCount") + def min_count(self) -> pulumi.Output[Optional[int]]: + """ + The minimum number of nodes for auto-scaling + """ + return pulumi.get(self, "min_count") + + @property + @pulumi.getter + def mode(self) -> pulumi.Output[Optional[str]]: + """ + A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + """ + return pulumi.get(self, "mode") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource that is unique within a resource group. This name can be used to access the resource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nodeImageVersion") + def node_image_version(self) -> pulumi.Output[str]: + """ + The version of node image + """ + return pulumi.get(self, "node_image_version") + + @property + @pulumi.getter(name="nodeLabels") + def node_labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + The node labels to be persisted across all nodes in agent pool. + """ + return pulumi.get(self, "node_labels") + + @property + @pulumi.getter(name="nodePublicIPPrefixID") + def node_public_ip_prefix_id(self) -> pulumi.Output[Optional[str]]: + """ + This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + """ + return pulumi.get(self, "node_public_ip_prefix_id") + + @property + @pulumi.getter(name="nodeTaints") + def node_taints(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + """ + return pulumi.get(self, "node_taints") + + @property + @pulumi.getter(name="orchestratorVersion") + def orchestrator_version(self) -> pulumi.Output[Optional[str]]: + """ + Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + """ + return pulumi.get(self, "orchestrator_version") + + @property + @pulumi.getter(name="osDiskSizeGB") + def os_disk_size_gb(self) -> pulumi.Output[Optional[int]]: + """ + OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + """ + return pulumi.get(self, "os_disk_size_gb") + + @property + @pulumi.getter(name="osDiskType") + def os_disk_type(self) -> pulumi.Output[Optional[str]]: + """ + The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + """ + return pulumi.get(self, "os_disk_type") + + @property + @pulumi.getter(name="osSKU") + def os_sku(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + """ + return pulumi.get(self, "os_sku") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> pulumi.Output[Optional[str]]: + """ + The operating system type. The default is Linux. + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter(name="podSubnetID") + def pod_subnet_id(self) -> pulumi.Output[Optional[str]]: + """ + If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + """ + return pulumi.get(self, "pod_subnet_id") + + @property + @pulumi.getter(name="powerState") + def power_state(self) -> pulumi.Output[Optional['outputs.PowerStateResponse']]: + """ + When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + """ + return pulumi.get(self, "power_state") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The current deployment or provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="proximityPlacementGroupID") + def proximity_placement_group_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID for Proximity Placement Group. + """ + return pulumi.get(self, "proximity_placement_group_id") + + @property + @pulumi.getter(name="scaleDownMode") + def scale_down_mode(self) -> pulumi.Output[Optional[str]]: + """ + This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + """ + return pulumi.get(self, "scale_down_mode") + + @property + @pulumi.getter(name="scaleSetEvictionPolicy") + def scale_set_eviction_policy(self) -> pulumi.Output[Optional[str]]: + """ + This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + """ + return pulumi.get(self, "scale_set_eviction_policy") + + @property + @pulumi.getter(name="scaleSetPriority") + def scale_set_priority(self) -> pulumi.Output[Optional[str]]: + """ + The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + """ + return pulumi.get(self, "scale_set_priority") + + @property + @pulumi.getter(name="spotMaxPrice") + def spot_max_price(self) -> pulumi.Output[Optional[float]]: + """ + Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + """ + return pulumi.get(self, "spot_max_price") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + The tags to be persisted on the agent pool virtual machine scale set. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="upgradeSettings") + def upgrade_settings(self) -> pulumi.Output[Optional['outputs.AgentPoolUpgradeSettingsResponse']]: + """ + Settings for upgrading the agentpool + """ + return pulumi.get(self, "upgrade_settings") + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> pulumi.Output[Optional[str]]: + """ + VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + """ + return pulumi.get(self, "vm_size") + + @property + @pulumi.getter(name="vnetSubnetID") + def vnet_subnet_id(self) -> pulumi.Output[Optional[str]]: + """ + If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + """ + return pulumi.get(self, "vnet_subnet_id") + + @property + @pulumi.getter(name="workloadRuntime") + def workload_runtime(self) -> pulumi.Output[Optional[str]]: + """ + Determines the type of workload a node can run. + """ + return pulumi.get(self, "workload_runtime") + diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/get_agent_pool.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/get_agent_pool.py new file mode 100644 index 000000000000..5346054e4d9d --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/get_agent_pool.py @@ -0,0 +1,630 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetAgentPoolResult', + 'AwaitableGetAgentPoolResult', + 'get_agent_pool', + 'get_agent_pool_output', +] + +@pulumi.output_type +class GetAgentPoolResult: + """ + Agent Pool. + """ + def __init__(__self__, availability_zones=None, count=None, creation_data=None, current_orchestrator_version=None, enable_auto_scaling=None, enable_encryption_at_host=None, enable_fips=None, enable_node_public_ip=None, enable_ultra_ssd=None, gpu_instance_profile=None, host_group_id=None, id=None, kubelet_config=None, kubelet_disk_type=None, linux_os_config=None, max_count=None, max_pods=None, min_count=None, mode=None, name=None, node_image_version=None, node_labels=None, node_public_ip_prefix_id=None, node_taints=None, orchestrator_version=None, os_disk_size_gb=None, os_disk_type=None, os_sku=None, os_type=None, pod_subnet_id=None, power_state=None, provisioning_state=None, proximity_placement_group_id=None, scale_down_mode=None, scale_set_eviction_policy=None, scale_set_priority=None, spot_max_price=None, tags=None, type=None, upgrade_settings=None, vm_size=None, vnet_subnet_id=None, workload_runtime=None): + if availability_zones and not isinstance(availability_zones, list): + raise TypeError("Expected argument 'availability_zones' to be a list") + pulumi.set(__self__, "availability_zones", availability_zones) + if count and not isinstance(count, int): + raise TypeError("Expected argument 'count' to be a int") + pulumi.set(__self__, "count", count) + if creation_data and not isinstance(creation_data, dict): + raise TypeError("Expected argument 'creation_data' to be a dict") + pulumi.set(__self__, "creation_data", creation_data) + if current_orchestrator_version and not isinstance(current_orchestrator_version, str): + raise TypeError("Expected argument 'current_orchestrator_version' to be a str") + pulumi.set(__self__, "current_orchestrator_version", current_orchestrator_version) + if enable_auto_scaling and not isinstance(enable_auto_scaling, bool): + raise TypeError("Expected argument 'enable_auto_scaling' to be a bool") + pulumi.set(__self__, "enable_auto_scaling", enable_auto_scaling) + if enable_encryption_at_host and not isinstance(enable_encryption_at_host, bool): + raise TypeError("Expected argument 'enable_encryption_at_host' to be a bool") + pulumi.set(__self__, "enable_encryption_at_host", enable_encryption_at_host) + if enable_fips and not isinstance(enable_fips, bool): + raise TypeError("Expected argument 'enable_fips' to be a bool") + pulumi.set(__self__, "enable_fips", enable_fips) + if enable_node_public_ip and not isinstance(enable_node_public_ip, bool): + raise TypeError("Expected argument 'enable_node_public_ip' to be a bool") + pulumi.set(__self__, "enable_node_public_ip", enable_node_public_ip) + if enable_ultra_ssd and not isinstance(enable_ultra_ssd, bool): + raise TypeError("Expected argument 'enable_ultra_ssd' to be a bool") + pulumi.set(__self__, "enable_ultra_ssd", enable_ultra_ssd) + if gpu_instance_profile and not isinstance(gpu_instance_profile, str): + raise TypeError("Expected argument 'gpu_instance_profile' to be a str") + pulumi.set(__self__, "gpu_instance_profile", gpu_instance_profile) + if host_group_id and not isinstance(host_group_id, str): + raise TypeError("Expected argument 'host_group_id' to be a str") + pulumi.set(__self__, "host_group_id", host_group_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if kubelet_config and not isinstance(kubelet_config, dict): + raise TypeError("Expected argument 'kubelet_config' to be a dict") + pulumi.set(__self__, "kubelet_config", kubelet_config) + if kubelet_disk_type and not isinstance(kubelet_disk_type, str): + raise TypeError("Expected argument 'kubelet_disk_type' to be a str") + pulumi.set(__self__, "kubelet_disk_type", kubelet_disk_type) + if linux_os_config and not isinstance(linux_os_config, dict): + raise TypeError("Expected argument 'linux_os_config' to be a dict") + pulumi.set(__self__, "linux_os_config", linux_os_config) + if max_count and not isinstance(max_count, int): + raise TypeError("Expected argument 'max_count' to be a int") + pulumi.set(__self__, "max_count", max_count) + if max_pods and not isinstance(max_pods, int): + raise TypeError("Expected argument 'max_pods' to be a int") + pulumi.set(__self__, "max_pods", max_pods) + if min_count and not isinstance(min_count, int): + raise TypeError("Expected argument 'min_count' to be a int") + pulumi.set(__self__, "min_count", min_count) + if mode and not isinstance(mode, str): + raise TypeError("Expected argument 'mode' to be a str") + pulumi.set(__self__, "mode", mode) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if node_image_version and not isinstance(node_image_version, str): + raise TypeError("Expected argument 'node_image_version' to be a str") + pulumi.set(__self__, "node_image_version", node_image_version) + if node_labels and not isinstance(node_labels, dict): + raise TypeError("Expected argument 'node_labels' to be a dict") + pulumi.set(__self__, "node_labels", node_labels) + if node_public_ip_prefix_id and not isinstance(node_public_ip_prefix_id, str): + raise TypeError("Expected argument 'node_public_ip_prefix_id' to be a str") + pulumi.set(__self__, "node_public_ip_prefix_id", node_public_ip_prefix_id) + if node_taints and not isinstance(node_taints, list): + raise TypeError("Expected argument 'node_taints' to be a list") + pulumi.set(__self__, "node_taints", node_taints) + if orchestrator_version and not isinstance(orchestrator_version, str): + raise TypeError("Expected argument 'orchestrator_version' to be a str") + pulumi.set(__self__, "orchestrator_version", orchestrator_version) + if os_disk_size_gb and not isinstance(os_disk_size_gb, int): + raise TypeError("Expected argument 'os_disk_size_gb' to be a int") + pulumi.set(__self__, "os_disk_size_gb", os_disk_size_gb) + if os_disk_type and not isinstance(os_disk_type, str): + raise TypeError("Expected argument 'os_disk_type' to be a str") + pulumi.set(__self__, "os_disk_type", os_disk_type) + if os_sku and not isinstance(os_sku, str): + raise TypeError("Expected argument 'os_sku' to be a str") + pulumi.set(__self__, "os_sku", os_sku) + if os_type and not isinstance(os_type, str): + raise TypeError("Expected argument 'os_type' to be a str") + pulumi.set(__self__, "os_type", os_type) + if pod_subnet_id and not isinstance(pod_subnet_id, str): + raise TypeError("Expected argument 'pod_subnet_id' to be a str") + pulumi.set(__self__, "pod_subnet_id", pod_subnet_id) + if power_state and not isinstance(power_state, dict): + raise TypeError("Expected argument 'power_state' to be a dict") + pulumi.set(__self__, "power_state", power_state) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if proximity_placement_group_id and not isinstance(proximity_placement_group_id, str): + raise TypeError("Expected argument 'proximity_placement_group_id' to be a str") + pulumi.set(__self__, "proximity_placement_group_id", proximity_placement_group_id) + if scale_down_mode and not isinstance(scale_down_mode, str): + raise TypeError("Expected argument 'scale_down_mode' to be a str") + pulumi.set(__self__, "scale_down_mode", scale_down_mode) + if scale_set_eviction_policy and not isinstance(scale_set_eviction_policy, str): + raise TypeError("Expected argument 'scale_set_eviction_policy' to be a str") + pulumi.set(__self__, "scale_set_eviction_policy", scale_set_eviction_policy) + if scale_set_priority and not isinstance(scale_set_priority, str): + raise TypeError("Expected argument 'scale_set_priority' to be a str") + pulumi.set(__self__, "scale_set_priority", scale_set_priority) + if spot_max_price and not isinstance(spot_max_price, float): + raise TypeError("Expected argument 'spot_max_price' to be a float") + pulumi.set(__self__, "spot_max_price", spot_max_price) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if upgrade_settings and not isinstance(upgrade_settings, dict): + raise TypeError("Expected argument 'upgrade_settings' to be a dict") + pulumi.set(__self__, "upgrade_settings", upgrade_settings) + if vm_size and not isinstance(vm_size, str): + raise TypeError("Expected argument 'vm_size' to be a str") + pulumi.set(__self__, "vm_size", vm_size) + if vnet_subnet_id and not isinstance(vnet_subnet_id, str): + raise TypeError("Expected argument 'vnet_subnet_id' to be a str") + pulumi.set(__self__, "vnet_subnet_id", vnet_subnet_id) + if workload_runtime and not isinstance(workload_runtime, str): + raise TypeError("Expected argument 'workload_runtime' to be a str") + pulumi.set(__self__, "workload_runtime", workload_runtime) + + @property + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> Optional[Sequence[str]]: + """ + The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + """ + return pulumi.get(self, "availability_zones") + + @property + @pulumi.getter + def count(self) -> Optional[int]: + """ + Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> Optional['outputs.CreationDataResponse']: + """ + CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + """ + return pulumi.get(self, "creation_data") + + @property + @pulumi.getter(name="currentOrchestratorVersion") + def current_orchestrator_version(self) -> str: + """ + If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + """ + return pulumi.get(self, "current_orchestrator_version") + + @property + @pulumi.getter(name="enableAutoScaling") + def enable_auto_scaling(self) -> Optional[bool]: + """ + Whether to enable auto-scaler + """ + return pulumi.get(self, "enable_auto_scaling") + + @property + @pulumi.getter(name="enableEncryptionAtHost") + def enable_encryption_at_host(self) -> Optional[bool]: + """ + This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + """ + return pulumi.get(self, "enable_encryption_at_host") + + @property + @pulumi.getter(name="enableFIPS") + def enable_fips(self) -> Optional[bool]: + """ + See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + """ + return pulumi.get(self, "enable_fips") + + @property + @pulumi.getter(name="enableNodePublicIP") + def enable_node_public_ip(self) -> Optional[bool]: + """ + Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + """ + return pulumi.get(self, "enable_node_public_ip") + + @property + @pulumi.getter(name="enableUltraSSD") + def enable_ultra_ssd(self) -> Optional[bool]: + """ + Whether to enable UltraSSD + """ + return pulumi.get(self, "enable_ultra_ssd") + + @property + @pulumi.getter(name="gpuInstanceProfile") + def gpu_instance_profile(self) -> Optional[str]: + """ + GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + """ + return pulumi.get(self, "gpu_instance_profile") + + @property + @pulumi.getter(name="hostGroupID") + def host_group_id(self) -> Optional[str]: + """ + This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + """ + return pulumi.get(self, "host_group_id") + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="kubeletConfig") + def kubelet_config(self) -> Optional['outputs.KubeletConfigResponse']: + """ + The Kubelet configuration on the agent pool nodes. + """ + return pulumi.get(self, "kubelet_config") + + @property + @pulumi.getter(name="kubeletDiskType") + def kubelet_disk_type(self) -> Optional[str]: + """ + Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + """ + return pulumi.get(self, "kubelet_disk_type") + + @property + @pulumi.getter(name="linuxOSConfig") + def linux_os_config(self) -> Optional['outputs.LinuxOSConfigResponse']: + """ + The OS configuration of Linux agent nodes. + """ + return pulumi.get(self, "linux_os_config") + + @property + @pulumi.getter(name="maxCount") + def max_count(self) -> Optional[int]: + """ + The maximum number of nodes for auto-scaling + """ + return pulumi.get(self, "max_count") + + @property + @pulumi.getter(name="maxPods") + def max_pods(self) -> Optional[int]: + """ + The maximum number of pods that can run on a node. + """ + return pulumi.get(self, "max_pods") + + @property + @pulumi.getter(name="minCount") + def min_count(self) -> Optional[int]: + """ + The minimum number of nodes for auto-scaling + """ + return pulumi.get(self, "min_count") + + @property + @pulumi.getter + def mode(self) -> Optional[str]: + """ + A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + """ + return pulumi.get(self, "mode") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource that is unique within a resource group. This name can be used to access the resource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nodeImageVersion") + def node_image_version(self) -> str: + """ + The version of node image + """ + return pulumi.get(self, "node_image_version") + + @property + @pulumi.getter(name="nodeLabels") + def node_labels(self) -> Optional[Mapping[str, str]]: + """ + The node labels to be persisted across all nodes in agent pool. + """ + return pulumi.get(self, "node_labels") + + @property + @pulumi.getter(name="nodePublicIPPrefixID") + def node_public_ip_prefix_id(self) -> Optional[str]: + """ + This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + """ + return pulumi.get(self, "node_public_ip_prefix_id") + + @property + @pulumi.getter(name="nodeTaints") + def node_taints(self) -> Optional[Sequence[str]]: + """ + The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + """ + return pulumi.get(self, "node_taints") + + @property + @pulumi.getter(name="orchestratorVersion") + def orchestrator_version(self) -> Optional[str]: + """ + Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + """ + return pulumi.get(self, "orchestrator_version") + + @property + @pulumi.getter(name="osDiskSizeGB") + def os_disk_size_gb(self) -> Optional[int]: + """ + OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + """ + return pulumi.get(self, "os_disk_size_gb") + + @property + @pulumi.getter(name="osDiskType") + def os_disk_type(self) -> Optional[str]: + """ + The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + """ + return pulumi.get(self, "os_disk_type") + + @property + @pulumi.getter(name="osSKU") + def os_sku(self) -> Optional[str]: + """ + Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + """ + return pulumi.get(self, "os_sku") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> Optional[str]: + """ + The operating system type. The default is Linux. + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter(name="podSubnetID") + def pod_subnet_id(self) -> Optional[str]: + """ + If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + """ + return pulumi.get(self, "pod_subnet_id") + + @property + @pulumi.getter(name="powerState") + def power_state(self) -> Optional['outputs.PowerStateResponse']: + """ + When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + """ + return pulumi.get(self, "power_state") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The current deployment or provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="proximityPlacementGroupID") + def proximity_placement_group_id(self) -> Optional[str]: + """ + The ID for Proximity Placement Group. + """ + return pulumi.get(self, "proximity_placement_group_id") + + @property + @pulumi.getter(name="scaleDownMode") + def scale_down_mode(self) -> Optional[str]: + """ + This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + """ + return pulumi.get(self, "scale_down_mode") + + @property + @pulumi.getter(name="scaleSetEvictionPolicy") + def scale_set_eviction_policy(self) -> Optional[str]: + """ + This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + """ + return pulumi.get(self, "scale_set_eviction_policy") + + @property + @pulumi.getter(name="scaleSetPriority") + def scale_set_priority(self) -> Optional[str]: + """ + The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + """ + return pulumi.get(self, "scale_set_priority") + + @property + @pulumi.getter(name="spotMaxPrice") + def spot_max_price(self) -> Optional[float]: + """ + Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + """ + return pulumi.get(self, "spot_max_price") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + The tags to be persisted on the agent pool virtual machine scale set. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="upgradeSettings") + def upgrade_settings(self) -> Optional['outputs.AgentPoolUpgradeSettingsResponse']: + """ + Settings for upgrading the agentpool + """ + return pulumi.get(self, "upgrade_settings") + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> Optional[str]: + """ + VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + """ + return pulumi.get(self, "vm_size") + + @property + @pulumi.getter(name="vnetSubnetID") + def vnet_subnet_id(self) -> Optional[str]: + """ + If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + """ + return pulumi.get(self, "vnet_subnet_id") + + @property + @pulumi.getter(name="workloadRuntime") + def workload_runtime(self) -> Optional[str]: + """ + Determines the type of workload a node can run. + """ + return pulumi.get(self, "workload_runtime") + + +class AwaitableGetAgentPoolResult(GetAgentPoolResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAgentPoolResult( + availability_zones=self.availability_zones, + count=self.count, + creation_data=self.creation_data, + current_orchestrator_version=self.current_orchestrator_version, + enable_auto_scaling=self.enable_auto_scaling, + enable_encryption_at_host=self.enable_encryption_at_host, + enable_fips=self.enable_fips, + enable_node_public_ip=self.enable_node_public_ip, + enable_ultra_ssd=self.enable_ultra_ssd, + gpu_instance_profile=self.gpu_instance_profile, + host_group_id=self.host_group_id, + id=self.id, + kubelet_config=self.kubelet_config, + kubelet_disk_type=self.kubelet_disk_type, + linux_os_config=self.linux_os_config, + max_count=self.max_count, + max_pods=self.max_pods, + min_count=self.min_count, + mode=self.mode, + name=self.name, + node_image_version=self.node_image_version, + node_labels=self.node_labels, + node_public_ip_prefix_id=self.node_public_ip_prefix_id, + node_taints=self.node_taints, + orchestrator_version=self.orchestrator_version, + os_disk_size_gb=self.os_disk_size_gb, + os_disk_type=self.os_disk_type, + os_sku=self.os_sku, + os_type=self.os_type, + pod_subnet_id=self.pod_subnet_id, + power_state=self.power_state, + provisioning_state=self.provisioning_state, + proximity_placement_group_id=self.proximity_placement_group_id, + scale_down_mode=self.scale_down_mode, + scale_set_eviction_policy=self.scale_set_eviction_policy, + scale_set_priority=self.scale_set_priority, + spot_max_price=self.spot_max_price, + tags=self.tags, + type=self.type, + upgrade_settings=self.upgrade_settings, + vm_size=self.vm_size, + vnet_subnet_id=self.vnet_subnet_id, + workload_runtime=self.workload_runtime) + + +def get_agent_pool(agent_pool_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + resource_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAgentPoolResult: + """ + Agent Pool. + + + :param str agent_pool_name: The name of the agent pool. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + """ + __args__ = dict() + __args__['agentPoolName'] = agent_pool_name + __args__['resourceGroupName'] = resource_group_name + __args__['resourceName'] = resource_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:containerservice/v20230701:getAgentPool', __args__, opts=opts, typ=GetAgentPoolResult).value + + return AwaitableGetAgentPoolResult( + availability_zones=__ret__.availability_zones, + count=__ret__.count, + creation_data=__ret__.creation_data, + current_orchestrator_version=__ret__.current_orchestrator_version, + enable_auto_scaling=__ret__.enable_auto_scaling, + enable_encryption_at_host=__ret__.enable_encryption_at_host, + enable_fips=__ret__.enable_fips, + enable_node_public_ip=__ret__.enable_node_public_ip, + enable_ultra_ssd=__ret__.enable_ultra_ssd, + gpu_instance_profile=__ret__.gpu_instance_profile, + host_group_id=__ret__.host_group_id, + id=__ret__.id, + kubelet_config=__ret__.kubelet_config, + kubelet_disk_type=__ret__.kubelet_disk_type, + linux_os_config=__ret__.linux_os_config, + max_count=__ret__.max_count, + max_pods=__ret__.max_pods, + min_count=__ret__.min_count, + mode=__ret__.mode, + name=__ret__.name, + node_image_version=__ret__.node_image_version, + node_labels=__ret__.node_labels, + node_public_ip_prefix_id=__ret__.node_public_ip_prefix_id, + node_taints=__ret__.node_taints, + orchestrator_version=__ret__.orchestrator_version, + os_disk_size_gb=__ret__.os_disk_size_gb, + os_disk_type=__ret__.os_disk_type, + os_sku=__ret__.os_sku, + os_type=__ret__.os_type, + pod_subnet_id=__ret__.pod_subnet_id, + power_state=__ret__.power_state, + provisioning_state=__ret__.provisioning_state, + proximity_placement_group_id=__ret__.proximity_placement_group_id, + scale_down_mode=__ret__.scale_down_mode, + scale_set_eviction_policy=__ret__.scale_set_eviction_policy, + scale_set_priority=__ret__.scale_set_priority, + spot_max_price=__ret__.spot_max_price, + tags=__ret__.tags, + type=__ret__.type, + upgrade_settings=__ret__.upgrade_settings, + vm_size=__ret__.vm_size, + vnet_subnet_id=__ret__.vnet_subnet_id, + workload_runtime=__ret__.workload_runtime) + + +@_utilities.lift_output_func(get_agent_pool) +def get_agent_pool_output(agent_pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAgentPoolResult]: + """ + Agent Pool. + + + :param str agent_pool_name: The name of the agent pool. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + """ + ... diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/get_maintenance_configuration.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/get_maintenance_configuration.py new file mode 100644 index 000000000000..f35df3e305cd --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/get_maintenance_configuration.py @@ -0,0 +1,162 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetMaintenanceConfigurationResult', + 'AwaitableGetMaintenanceConfigurationResult', + 'get_maintenance_configuration', + 'get_maintenance_configuration_output', +] + +@pulumi.output_type +class GetMaintenanceConfigurationResult: + """ + See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + """ + def __init__(__self__, id=None, maintenance_window=None, name=None, not_allowed_time=None, system_data=None, time_in_week=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if maintenance_window and not isinstance(maintenance_window, dict): + raise TypeError("Expected argument 'maintenance_window' to be a dict") + pulumi.set(__self__, "maintenance_window", maintenance_window) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if not_allowed_time and not isinstance(not_allowed_time, list): + raise TypeError("Expected argument 'not_allowed_time' to be a list") + pulumi.set(__self__, "not_allowed_time", not_allowed_time) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if time_in_week and not isinstance(time_in_week, list): + raise TypeError("Expected argument 'time_in_week' to be a list") + pulumi.set(__self__, "time_in_week", time_in_week) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="maintenanceWindow") + def maintenance_window(self) -> Optional['outputs.MaintenanceWindowResponse']: + """ + Maintenance window for the maintenance configuration. + """ + return pulumi.get(self, "maintenance_window") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource that is unique within a resource group. This name can be used to access the resource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="notAllowedTime") + def not_allowed_time(self) -> Optional[Sequence['outputs.TimeSpanResponse']]: + """ + Time slots on which upgrade is not allowed. + """ + return pulumi.get(self, "not_allowed_time") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + The system metadata relating to this resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter(name="timeInWeek") + def time_in_week(self) -> Optional[Sequence['outputs.TimeInWeekResponse']]: + """ + If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. + """ + return pulumi.get(self, "time_in_week") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + +class AwaitableGetMaintenanceConfigurationResult(GetMaintenanceConfigurationResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetMaintenanceConfigurationResult( + id=self.id, + maintenance_window=self.maintenance_window, + name=self.name, + not_allowed_time=self.not_allowed_time, + system_data=self.system_data, + time_in_week=self.time_in_week, + type=self.type) + + +def get_maintenance_configuration(config_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + resource_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMaintenanceConfigurationResult: + """ + See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + + + :param str config_name: The name of the maintenance configuration. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + """ + __args__ = dict() + __args__['configName'] = config_name + __args__['resourceGroupName'] = resource_group_name + __args__['resourceName'] = resource_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:containerservice/v20230701:getMaintenanceConfiguration', __args__, opts=opts, typ=GetMaintenanceConfigurationResult).value + + return AwaitableGetMaintenanceConfigurationResult( + id=__ret__.id, + maintenance_window=__ret__.maintenance_window, + name=__ret__.name, + not_allowed_time=__ret__.not_allowed_time, + system_data=__ret__.system_data, + time_in_week=__ret__.time_in_week, + type=__ret__.type) + + +@_utilities.lift_output_func(get_maintenance_configuration) +def get_maintenance_configuration_output(config_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMaintenanceConfigurationResult]: + """ + See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + + + :param str config_name: The name of the maintenance configuration. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + """ + ... diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/get_managed_cluster.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/get_managed_cluster.py new file mode 100644 index 000000000000..ca7c5e43fd4a --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/get_managed_cluster.py @@ -0,0 +1,664 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetManagedClusterResult', + 'AwaitableGetManagedClusterResult', + 'get_managed_cluster', + 'get_managed_cluster_output', +] + +@pulumi.output_type +class GetManagedClusterResult: + """ + Managed cluster. + """ + def __init__(__self__, aad_profile=None, addon_profiles=None, agent_pool_profiles=None, api_server_access_profile=None, auto_scaler_profile=None, auto_upgrade_profile=None, azure_monitor_profile=None, azure_portal_fqdn=None, current_kubernetes_version=None, disable_local_accounts=None, disk_encryption_set_id=None, dns_prefix=None, enable_pod_security_policy=None, enable_rbac=None, extended_location=None, fqdn=None, fqdn_subdomain=None, http_proxy_config=None, id=None, identity=None, identity_profile=None, kubernetes_version=None, linux_profile=None, location=None, max_agent_pools=None, name=None, network_profile=None, node_resource_group=None, oidc_issuer_profile=None, pod_identity_profile=None, power_state=None, private_fqdn=None, private_link_resources=None, provisioning_state=None, public_network_access=None, security_profile=None, service_principal_profile=None, sku=None, storage_profile=None, support_plan=None, system_data=None, tags=None, type=None, upgrade_settings=None, windows_profile=None, workload_auto_scaler_profile=None): + if aad_profile and not isinstance(aad_profile, dict): + raise TypeError("Expected argument 'aad_profile' to be a dict") + pulumi.set(__self__, "aad_profile", aad_profile) + if addon_profiles and not isinstance(addon_profiles, dict): + raise TypeError("Expected argument 'addon_profiles' to be a dict") + pulumi.set(__self__, "addon_profiles", addon_profiles) + if agent_pool_profiles and not isinstance(agent_pool_profiles, list): + raise TypeError("Expected argument 'agent_pool_profiles' to be a list") + pulumi.set(__self__, "agent_pool_profiles", agent_pool_profiles) + if api_server_access_profile and not isinstance(api_server_access_profile, dict): + raise TypeError("Expected argument 'api_server_access_profile' to be a dict") + pulumi.set(__self__, "api_server_access_profile", api_server_access_profile) + if auto_scaler_profile and not isinstance(auto_scaler_profile, dict): + raise TypeError("Expected argument 'auto_scaler_profile' to be a dict") + pulumi.set(__self__, "auto_scaler_profile", auto_scaler_profile) + if auto_upgrade_profile and not isinstance(auto_upgrade_profile, dict): + raise TypeError("Expected argument 'auto_upgrade_profile' to be a dict") + pulumi.set(__self__, "auto_upgrade_profile", auto_upgrade_profile) + if azure_monitor_profile and not isinstance(azure_monitor_profile, dict): + raise TypeError("Expected argument 'azure_monitor_profile' to be a dict") + pulumi.set(__self__, "azure_monitor_profile", azure_monitor_profile) + if azure_portal_fqdn and not isinstance(azure_portal_fqdn, str): + raise TypeError("Expected argument 'azure_portal_fqdn' to be a str") + pulumi.set(__self__, "azure_portal_fqdn", azure_portal_fqdn) + if current_kubernetes_version and not isinstance(current_kubernetes_version, str): + raise TypeError("Expected argument 'current_kubernetes_version' to be a str") + pulumi.set(__self__, "current_kubernetes_version", current_kubernetes_version) + if disable_local_accounts and not isinstance(disable_local_accounts, bool): + raise TypeError("Expected argument 'disable_local_accounts' to be a bool") + pulumi.set(__self__, "disable_local_accounts", disable_local_accounts) + if disk_encryption_set_id and not isinstance(disk_encryption_set_id, str): + raise TypeError("Expected argument 'disk_encryption_set_id' to be a str") + pulumi.set(__self__, "disk_encryption_set_id", disk_encryption_set_id) + if dns_prefix and not isinstance(dns_prefix, str): + raise TypeError("Expected argument 'dns_prefix' to be a str") + pulumi.set(__self__, "dns_prefix", dns_prefix) + if enable_pod_security_policy and not isinstance(enable_pod_security_policy, bool): + raise TypeError("Expected argument 'enable_pod_security_policy' to be a bool") + pulumi.set(__self__, "enable_pod_security_policy", enable_pod_security_policy) + if enable_rbac and not isinstance(enable_rbac, bool): + raise TypeError("Expected argument 'enable_rbac' to be a bool") + pulumi.set(__self__, "enable_rbac", enable_rbac) + if extended_location and not isinstance(extended_location, dict): + raise TypeError("Expected argument 'extended_location' to be a dict") + pulumi.set(__self__, "extended_location", extended_location) + if fqdn and not isinstance(fqdn, str): + raise TypeError("Expected argument 'fqdn' to be a str") + pulumi.set(__self__, "fqdn", fqdn) + if fqdn_subdomain and not isinstance(fqdn_subdomain, str): + raise TypeError("Expected argument 'fqdn_subdomain' to be a str") + pulumi.set(__self__, "fqdn_subdomain", fqdn_subdomain) + if http_proxy_config and not isinstance(http_proxy_config, dict): + raise TypeError("Expected argument 'http_proxy_config' to be a dict") + pulumi.set(__self__, "http_proxy_config", http_proxy_config) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if identity_profile and not isinstance(identity_profile, dict): + raise TypeError("Expected argument 'identity_profile' to be a dict") + pulumi.set(__self__, "identity_profile", identity_profile) + if kubernetes_version and not isinstance(kubernetes_version, str): + raise TypeError("Expected argument 'kubernetes_version' to be a str") + pulumi.set(__self__, "kubernetes_version", kubernetes_version) + if linux_profile and not isinstance(linux_profile, dict): + raise TypeError("Expected argument 'linux_profile' to be a dict") + pulumi.set(__self__, "linux_profile", linux_profile) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if max_agent_pools and not isinstance(max_agent_pools, int): + raise TypeError("Expected argument 'max_agent_pools' to be a int") + pulumi.set(__self__, "max_agent_pools", max_agent_pools) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if network_profile and not isinstance(network_profile, dict): + raise TypeError("Expected argument 'network_profile' to be a dict") + pulumi.set(__self__, "network_profile", network_profile) + if node_resource_group and not isinstance(node_resource_group, str): + raise TypeError("Expected argument 'node_resource_group' to be a str") + pulumi.set(__self__, "node_resource_group", node_resource_group) + if oidc_issuer_profile and not isinstance(oidc_issuer_profile, dict): + raise TypeError("Expected argument 'oidc_issuer_profile' to be a dict") + pulumi.set(__self__, "oidc_issuer_profile", oidc_issuer_profile) + if pod_identity_profile and not isinstance(pod_identity_profile, dict): + raise TypeError("Expected argument 'pod_identity_profile' to be a dict") + pulumi.set(__self__, "pod_identity_profile", pod_identity_profile) + if power_state and not isinstance(power_state, dict): + raise TypeError("Expected argument 'power_state' to be a dict") + pulumi.set(__self__, "power_state", power_state) + if private_fqdn and not isinstance(private_fqdn, str): + raise TypeError("Expected argument 'private_fqdn' to be a str") + pulumi.set(__self__, "private_fqdn", private_fqdn) + if private_link_resources and not isinstance(private_link_resources, list): + raise TypeError("Expected argument 'private_link_resources' to be a list") + pulumi.set(__self__, "private_link_resources", private_link_resources) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if public_network_access and not isinstance(public_network_access, str): + raise TypeError("Expected argument 'public_network_access' to be a str") + pulumi.set(__self__, "public_network_access", public_network_access) + if security_profile and not isinstance(security_profile, dict): + raise TypeError("Expected argument 'security_profile' to be a dict") + pulumi.set(__self__, "security_profile", security_profile) + if service_principal_profile and not isinstance(service_principal_profile, dict): + raise TypeError("Expected argument 'service_principal_profile' to be a dict") + pulumi.set(__self__, "service_principal_profile", service_principal_profile) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if storage_profile and not isinstance(storage_profile, dict): + raise TypeError("Expected argument 'storage_profile' to be a dict") + pulumi.set(__self__, "storage_profile", storage_profile) + if support_plan and not isinstance(support_plan, str): + raise TypeError("Expected argument 'support_plan' to be a str") + pulumi.set(__self__, "support_plan", support_plan) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if upgrade_settings and not isinstance(upgrade_settings, dict): + raise TypeError("Expected argument 'upgrade_settings' to be a dict") + pulumi.set(__self__, "upgrade_settings", upgrade_settings) + if windows_profile and not isinstance(windows_profile, dict): + raise TypeError("Expected argument 'windows_profile' to be a dict") + pulumi.set(__self__, "windows_profile", windows_profile) + if workload_auto_scaler_profile and not isinstance(workload_auto_scaler_profile, dict): + raise TypeError("Expected argument 'workload_auto_scaler_profile' to be a dict") + pulumi.set(__self__, "workload_auto_scaler_profile", workload_auto_scaler_profile) + + @property + @pulumi.getter(name="aadProfile") + def aad_profile(self) -> Optional['outputs.ManagedClusterAADProfileResponse']: + """ + The Azure Active Directory configuration. + """ + return pulumi.get(self, "aad_profile") + + @property + @pulumi.getter(name="addonProfiles") + def addon_profiles(self) -> Optional[Mapping[str, 'outputs.ManagedClusterAddonProfileResponse']]: + """ + The profile of managed cluster add-on. + """ + return pulumi.get(self, "addon_profiles") + + @property + @pulumi.getter(name="agentPoolProfiles") + def agent_pool_profiles(self) -> Optional[Sequence['outputs.ManagedClusterAgentPoolProfileResponse']]: + """ + The agent pool properties. + """ + return pulumi.get(self, "agent_pool_profiles") + + @property + @pulumi.getter(name="apiServerAccessProfile") + def api_server_access_profile(self) -> Optional['outputs.ManagedClusterAPIServerAccessProfileResponse']: + """ + The access profile for managed cluster API server. + """ + return pulumi.get(self, "api_server_access_profile") + + @property + @pulumi.getter(name="autoScalerProfile") + def auto_scaler_profile(self) -> Optional['outputs.ManagedClusterPropertiesResponseAutoScalerProfile']: + """ + Parameters to be applied to the cluster-autoscaler when enabled + """ + return pulumi.get(self, "auto_scaler_profile") + + @property + @pulumi.getter(name="autoUpgradeProfile") + def auto_upgrade_profile(self) -> Optional['outputs.ManagedClusterAutoUpgradeProfileResponse']: + """ + The auto upgrade configuration. + """ + return pulumi.get(self, "auto_upgrade_profile") + + @property + @pulumi.getter(name="azureMonitorProfile") + def azure_monitor_profile(self) -> Optional['outputs.ManagedClusterAzureMonitorProfileResponse']: + """ + Azure Monitor addon profiles for monitoring the managed cluster. + """ + return pulumi.get(self, "azure_monitor_profile") + + @property + @pulumi.getter(name="azurePortalFQDN") + def azure_portal_fqdn(self) -> str: + """ + The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. + """ + return pulumi.get(self, "azure_portal_fqdn") + + @property + @pulumi.getter(name="currentKubernetesVersion") + def current_kubernetes_version(self) -> str: + """ + If kubernetesVersion was a fully specified version , this field will be exactly equal to it. If kubernetesVersion was , this field will contain the full version being used. + """ + return pulumi.get(self, "current_kubernetes_version") + + @property + @pulumi.getter(name="disableLocalAccounts") + def disable_local_accounts(self) -> Optional[bool]: + """ + If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + """ + return pulumi.get(self, "disable_local_accounts") + + @property + @pulumi.getter(name="diskEncryptionSetID") + def disk_encryption_set_id(self) -> Optional[str]: + """ + This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + """ + return pulumi.get(self, "disk_encryption_set_id") + + @property + @pulumi.getter(name="dnsPrefix") + def dns_prefix(self) -> Optional[str]: + """ + This cannot be updated once the Managed Cluster has been created. + """ + return pulumi.get(self, "dns_prefix") + + @property + @pulumi.getter(name="enablePodSecurityPolicy") + def enable_pod_security_policy(self) -> Optional[bool]: + """ + (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. + """ + return pulumi.get(self, "enable_pod_security_policy") + + @property + @pulumi.getter(name="enableRBAC") + def enable_rbac(self) -> Optional[bool]: + """ + Whether to enable Kubernetes Role-Based Access Control. + """ + return pulumi.get(self, "enable_rbac") + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional['outputs.ExtendedLocationResponse']: + """ + The extended location of the Virtual Machine. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter + def fqdn(self) -> str: + """ + The FQDN of the master pool. + """ + return pulumi.get(self, "fqdn") + + @property + @pulumi.getter(name="fqdnSubdomain") + def fqdn_subdomain(self) -> Optional[str]: + """ + This cannot be updated once the Managed Cluster has been created. + """ + return pulumi.get(self, "fqdn_subdomain") + + @property + @pulumi.getter(name="httpProxyConfig") + def http_proxy_config(self) -> Optional['outputs.ManagedClusterHTTPProxyConfigResponse']: + """ + Configurations for provisioning the cluster with HTTP proxy servers. + """ + return pulumi.get(self, "http_proxy_config") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.ManagedClusterIdentityResponse']: + """ + The identity of the managed cluster, if configured. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="identityProfile") + def identity_profile(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]: + """ + Identities associated with the cluster. + """ + return pulumi.get(self, "identity_profile") + + @property + @pulumi.getter(name="kubernetesVersion") + def kubernetes_version(self) -> Optional[str]: + """ + Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + """ + return pulumi.get(self, "kubernetes_version") + + @property + @pulumi.getter(name="linuxProfile") + def linux_profile(self) -> Optional['outputs.ContainerServiceLinuxProfileResponse']: + """ + The profile for Linux VMs in the Managed Cluster. + """ + return pulumi.get(self, "linux_profile") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="maxAgentPools") + def max_agent_pools(self) -> int: + """ + The max number of agent pools for the managed cluster. + """ + return pulumi.get(self, "max_agent_pools") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional['outputs.ContainerServiceNetworkProfileResponse']: + """ + The network configuration profile. + """ + return pulumi.get(self, "network_profile") + + @property + @pulumi.getter(name="nodeResourceGroup") + def node_resource_group(self) -> Optional[str]: + """ + The name of the resource group containing agent pool nodes. + """ + return pulumi.get(self, "node_resource_group") + + @property + @pulumi.getter(name="oidcIssuerProfile") + def oidc_issuer_profile(self) -> Optional['outputs.ManagedClusterOIDCIssuerProfileResponse']: + """ + The OIDC issuer profile of the Managed Cluster. + """ + return pulumi.get(self, "oidc_issuer_profile") + + @property + @pulumi.getter(name="podIdentityProfile") + def pod_identity_profile(self) -> Optional['outputs.ManagedClusterPodIdentityProfileResponse']: + """ + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. + """ + return pulumi.get(self, "pod_identity_profile") + + @property + @pulumi.getter(name="powerState") + def power_state(self) -> 'outputs.PowerStateResponse': + """ + The Power State of the cluster. + """ + return pulumi.get(self, "power_state") + + @property + @pulumi.getter(name="privateFQDN") + def private_fqdn(self) -> str: + """ + The FQDN of private cluster. + """ + return pulumi.get(self, "private_fqdn") + + @property + @pulumi.getter(name="privateLinkResources") + def private_link_resources(self) -> Optional[Sequence['outputs.PrivateLinkResourceResponse']]: + """ + Private link resources associated with the cluster. + """ + return pulumi.get(self, "private_link_resources") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The current provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> Optional[str]: + """ + Allow or deny public network access for AKS + """ + return pulumi.get(self, "public_network_access") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional['outputs.ManagedClusterSecurityProfileResponse']: + """ + Security profile for the managed cluster. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter(name="servicePrincipalProfile") + def service_principal_profile(self) -> Optional['outputs.ManagedClusterServicePrincipalProfileResponse']: + """ + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + """ + return pulumi.get(self, "service_principal_profile") + + @property + @pulumi.getter + def sku(self) -> Optional['outputs.ManagedClusterSKUResponse']: + """ + The managed cluster SKU. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional['outputs.ManagedClusterStorageProfileResponse']: + """ + Storage profile for the managed cluster. + """ + return pulumi.get(self, "storage_profile") + + @property + @pulumi.getter(name="supportPlan") + def support_plan(self) -> Optional[str]: + """ + The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + """ + return pulumi.get(self, "support_plan") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="upgradeSettings") + def upgrade_settings(self) -> Optional['outputs.ClusterUpgradeSettingsResponse']: + """ + Settings for upgrading a cluster. + """ + return pulumi.get(self, "upgrade_settings") + + @property + @pulumi.getter(name="windowsProfile") + def windows_profile(self) -> Optional['outputs.ManagedClusterWindowsProfileResponse']: + """ + The profile for Windows VMs in the Managed Cluster. + """ + return pulumi.get(self, "windows_profile") + + @property + @pulumi.getter(name="workloadAutoScalerProfile") + def workload_auto_scaler_profile(self) -> Optional['outputs.ManagedClusterWorkloadAutoScalerProfileResponse']: + """ + Workload Auto-scaler profile for the managed cluster. + """ + return pulumi.get(self, "workload_auto_scaler_profile") + + +class AwaitableGetManagedClusterResult(GetManagedClusterResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetManagedClusterResult( + aad_profile=self.aad_profile, + addon_profiles=self.addon_profiles, + agent_pool_profiles=self.agent_pool_profiles, + api_server_access_profile=self.api_server_access_profile, + auto_scaler_profile=self.auto_scaler_profile, + auto_upgrade_profile=self.auto_upgrade_profile, + azure_monitor_profile=self.azure_monitor_profile, + azure_portal_fqdn=self.azure_portal_fqdn, + current_kubernetes_version=self.current_kubernetes_version, + disable_local_accounts=self.disable_local_accounts, + disk_encryption_set_id=self.disk_encryption_set_id, + dns_prefix=self.dns_prefix, + enable_pod_security_policy=self.enable_pod_security_policy, + enable_rbac=self.enable_rbac, + extended_location=self.extended_location, + fqdn=self.fqdn, + fqdn_subdomain=self.fqdn_subdomain, + http_proxy_config=self.http_proxy_config, + id=self.id, + identity=self.identity, + identity_profile=self.identity_profile, + kubernetes_version=self.kubernetes_version, + linux_profile=self.linux_profile, + location=self.location, + max_agent_pools=self.max_agent_pools, + name=self.name, + network_profile=self.network_profile, + node_resource_group=self.node_resource_group, + oidc_issuer_profile=self.oidc_issuer_profile, + pod_identity_profile=self.pod_identity_profile, + power_state=self.power_state, + private_fqdn=self.private_fqdn, + private_link_resources=self.private_link_resources, + provisioning_state=self.provisioning_state, + public_network_access=self.public_network_access, + security_profile=self.security_profile, + service_principal_profile=self.service_principal_profile, + sku=self.sku, + storage_profile=self.storage_profile, + support_plan=self.support_plan, + system_data=self.system_data, + tags=self.tags, + type=self.type, + upgrade_settings=self.upgrade_settings, + windows_profile=self.windows_profile, + workload_auto_scaler_profile=self.workload_auto_scaler_profile) + + +def get_managed_cluster(resource_group_name: Optional[str] = None, + resource_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetManagedClusterResult: + """ + Managed cluster. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['resourceName'] = resource_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:containerservice/v20230701:getManagedCluster', __args__, opts=opts, typ=GetManagedClusterResult).value + + return AwaitableGetManagedClusterResult( + aad_profile=__ret__.aad_profile, + addon_profiles=__ret__.addon_profiles, + agent_pool_profiles=__ret__.agent_pool_profiles, + api_server_access_profile=__ret__.api_server_access_profile, + auto_scaler_profile=__ret__.auto_scaler_profile, + auto_upgrade_profile=__ret__.auto_upgrade_profile, + azure_monitor_profile=__ret__.azure_monitor_profile, + azure_portal_fqdn=__ret__.azure_portal_fqdn, + current_kubernetes_version=__ret__.current_kubernetes_version, + disable_local_accounts=__ret__.disable_local_accounts, + disk_encryption_set_id=__ret__.disk_encryption_set_id, + dns_prefix=__ret__.dns_prefix, + enable_pod_security_policy=__ret__.enable_pod_security_policy, + enable_rbac=__ret__.enable_rbac, + extended_location=__ret__.extended_location, + fqdn=__ret__.fqdn, + fqdn_subdomain=__ret__.fqdn_subdomain, + http_proxy_config=__ret__.http_proxy_config, + id=__ret__.id, + identity=__ret__.identity, + identity_profile=__ret__.identity_profile, + kubernetes_version=__ret__.kubernetes_version, + linux_profile=__ret__.linux_profile, + location=__ret__.location, + max_agent_pools=__ret__.max_agent_pools, + name=__ret__.name, + network_profile=__ret__.network_profile, + node_resource_group=__ret__.node_resource_group, + oidc_issuer_profile=__ret__.oidc_issuer_profile, + pod_identity_profile=__ret__.pod_identity_profile, + power_state=__ret__.power_state, + private_fqdn=__ret__.private_fqdn, + private_link_resources=__ret__.private_link_resources, + provisioning_state=__ret__.provisioning_state, + public_network_access=__ret__.public_network_access, + security_profile=__ret__.security_profile, + service_principal_profile=__ret__.service_principal_profile, + sku=__ret__.sku, + storage_profile=__ret__.storage_profile, + support_plan=__ret__.support_plan, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type, + upgrade_settings=__ret__.upgrade_settings, + windows_profile=__ret__.windows_profile, + workload_auto_scaler_profile=__ret__.workload_auto_scaler_profile) + + +@_utilities.lift_output_func(get_managed_cluster) +def get_managed_cluster_output(resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetManagedClusterResult]: + """ + Managed cluster. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + """ + ... diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/get_private_endpoint_connection.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/get_private_endpoint_connection.py new file mode 100644 index 000000000000..046537173244 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/get_private_endpoint_connection.py @@ -0,0 +1,149 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetPrivateEndpointConnectionResult', + 'AwaitableGetPrivateEndpointConnectionResult', + 'get_private_endpoint_connection', + 'get_private_endpoint_connection_output', +] + +@pulumi.output_type +class GetPrivateEndpointConnectionResult: + """ + A private endpoint connection + """ + def __init__(__self__, id=None, name=None, private_endpoint=None, private_link_service_connection_state=None, provisioning_state=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if private_endpoint and not isinstance(private_endpoint, dict): + raise TypeError("Expected argument 'private_endpoint' to be a dict") + pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_link_service_connection_state and not isinstance(private_link_service_connection_state, dict): + raise TypeError("Expected argument 'private_link_service_connection_state' to be a dict") + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the private endpoint connection. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the private endpoint connection. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="privateEndpoint") + def private_endpoint(self) -> Optional['outputs.PrivateEndpointResponse']: + """ + The resource of private endpoint. + """ + return pulumi.get(self, "private_endpoint") + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> 'outputs.PrivateLinkServiceConnectionStateResponse': + """ + A collection of information about the state of the connection between service consumer and provider. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The current provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> str: + """ + The resource type. + """ + return pulumi.get(self, "type") + + +class AwaitableGetPrivateEndpointConnectionResult(GetPrivateEndpointConnectionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetPrivateEndpointConnectionResult( + id=self.id, + name=self.name, + private_endpoint=self.private_endpoint, + private_link_service_connection_state=self.private_link_service_connection_state, + provisioning_state=self.provisioning_state, + type=self.type) + + +def get_private_endpoint_connection(private_endpoint_connection_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + resource_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPrivateEndpointConnectionResult: + """ + To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters + + + :param str private_endpoint_connection_name: The name of the private endpoint connection. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + """ + __args__ = dict() + __args__['privateEndpointConnectionName'] = private_endpoint_connection_name + __args__['resourceGroupName'] = resource_group_name + __args__['resourceName'] = resource_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:containerservice/v20230701:getPrivateEndpointConnection', __args__, opts=opts, typ=GetPrivateEndpointConnectionResult).value + + return AwaitableGetPrivateEndpointConnectionResult( + id=__ret__.id, + name=__ret__.name, + private_endpoint=__ret__.private_endpoint, + private_link_service_connection_state=__ret__.private_link_service_connection_state, + provisioning_state=__ret__.provisioning_state, + type=__ret__.type) + + +@_utilities.lift_output_func(get_private_endpoint_connection) +def get_private_endpoint_connection_output(private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrivateEndpointConnectionResult]: + """ + To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters + + + :param str private_endpoint_connection_name: The name of the private endpoint connection. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + """ + ... diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/get_snapshot.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/get_snapshot.py new file mode 100644 index 000000000000..22022139477f --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/get_snapshot.py @@ -0,0 +1,248 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetSnapshotResult', + 'AwaitableGetSnapshotResult', + 'get_snapshot', + 'get_snapshot_output', +] + +@pulumi.output_type +class GetSnapshotResult: + """ + A node pool snapshot resource. + """ + def __init__(__self__, creation_data=None, enable_fips=None, id=None, kubernetes_version=None, location=None, name=None, node_image_version=None, os_sku=None, os_type=None, snapshot_type=None, system_data=None, tags=None, type=None, vm_size=None): + if creation_data and not isinstance(creation_data, dict): + raise TypeError("Expected argument 'creation_data' to be a dict") + pulumi.set(__self__, "creation_data", creation_data) + if enable_fips and not isinstance(enable_fips, bool): + raise TypeError("Expected argument 'enable_fips' to be a bool") + pulumi.set(__self__, "enable_fips", enable_fips) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if kubernetes_version and not isinstance(kubernetes_version, str): + raise TypeError("Expected argument 'kubernetes_version' to be a str") + pulumi.set(__self__, "kubernetes_version", kubernetes_version) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if node_image_version and not isinstance(node_image_version, str): + raise TypeError("Expected argument 'node_image_version' to be a str") + pulumi.set(__self__, "node_image_version", node_image_version) + if os_sku and not isinstance(os_sku, str): + raise TypeError("Expected argument 'os_sku' to be a str") + pulumi.set(__self__, "os_sku", os_sku) + if os_type and not isinstance(os_type, str): + raise TypeError("Expected argument 'os_type' to be a str") + pulumi.set(__self__, "os_type", os_type) + if snapshot_type and not isinstance(snapshot_type, str): + raise TypeError("Expected argument 'snapshot_type' to be a str") + pulumi.set(__self__, "snapshot_type", snapshot_type) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if vm_size and not isinstance(vm_size, str): + raise TypeError("Expected argument 'vm_size' to be a str") + pulumi.set(__self__, "vm_size", vm_size) + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> Optional['outputs.CreationDataResponse']: + """ + CreationData to be used to specify the source agent pool resource ID to create this snapshot. + """ + return pulumi.get(self, "creation_data") + + @property + @pulumi.getter(name="enableFIPS") + def enable_fips(self) -> bool: + """ + Whether to use a FIPS-enabled OS. + """ + return pulumi.get(self, "enable_fips") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="kubernetesVersion") + def kubernetes_version(self) -> str: + """ + The version of Kubernetes. + """ + return pulumi.get(self, "kubernetes_version") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nodeImageVersion") + def node_image_version(self) -> str: + """ + The version of node image. + """ + return pulumi.get(self, "node_image_version") + + @property + @pulumi.getter(name="osSku") + def os_sku(self) -> str: + """ + Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + """ + return pulumi.get(self, "os_sku") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> str: + """ + The operating system type. The default is Linux. + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter(name="snapshotType") + def snapshot_type(self) -> Optional[str]: + """ + The type of a snapshot. The default is NodePool. + """ + return pulumi.get(self, "snapshot_type") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> str: + """ + The size of the VM. + """ + return pulumi.get(self, "vm_size") + + +class AwaitableGetSnapshotResult(GetSnapshotResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSnapshotResult( + creation_data=self.creation_data, + enable_fips=self.enable_fips, + id=self.id, + kubernetes_version=self.kubernetes_version, + location=self.location, + name=self.name, + node_image_version=self.node_image_version, + os_sku=self.os_sku, + os_type=self.os_type, + snapshot_type=self.snapshot_type, + system_data=self.system_data, + tags=self.tags, + type=self.type, + vm_size=self.vm_size) + + +def get_snapshot(resource_group_name: Optional[str] = None, + resource_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSnapshotResult: + """ + A node pool snapshot resource. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['resourceName'] = resource_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:containerservice/v20230701:getSnapshot', __args__, opts=opts, typ=GetSnapshotResult).value + + return AwaitableGetSnapshotResult( + creation_data=__ret__.creation_data, + enable_fips=__ret__.enable_fips, + id=__ret__.id, + kubernetes_version=__ret__.kubernetes_version, + location=__ret__.location, + name=__ret__.name, + node_image_version=__ret__.node_image_version, + os_sku=__ret__.os_sku, + os_type=__ret__.os_type, + snapshot_type=__ret__.snapshot_type, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type, + vm_size=__ret__.vm_size) + + +@_utilities.lift_output_func(get_snapshot) +def get_snapshot_output(resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSnapshotResult]: + """ + A node pool snapshot resource. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + """ + ... diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/list_managed_cluster_admin_credentials.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/list_managed_cluster_admin_credentials.py new file mode 100644 index 000000000000..4efd4ccfae23 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/list_managed_cluster_admin_credentials.py @@ -0,0 +1,84 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'ListManagedClusterAdminCredentialsResult', + 'AwaitableListManagedClusterAdminCredentialsResult', + 'list_managed_cluster_admin_credentials', + 'list_managed_cluster_admin_credentials_output', +] + +@pulumi.output_type +class ListManagedClusterAdminCredentialsResult: + """ + The list credential result response. + """ + def __init__(__self__, kubeconfigs=None): + if kubeconfigs and not isinstance(kubeconfigs, list): + raise TypeError("Expected argument 'kubeconfigs' to be a list") + pulumi.set(__self__, "kubeconfigs", kubeconfigs) + + @property + @pulumi.getter + def kubeconfigs(self) -> Sequence['outputs.CredentialResultResponse']: + """ + Base64-encoded Kubernetes configuration file. + """ + return pulumi.get(self, "kubeconfigs") + + +class AwaitableListManagedClusterAdminCredentialsResult(ListManagedClusterAdminCredentialsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return ListManagedClusterAdminCredentialsResult( + kubeconfigs=self.kubeconfigs) + + +def list_managed_cluster_admin_credentials(resource_group_name: Optional[str] = None, + resource_name: Optional[str] = None, + server_fqdn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListManagedClusterAdminCredentialsResult: + """ + The list credential result response. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + :param str server_fqdn: server fqdn type for credentials to be returned + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['resourceName'] = resource_name + __args__['serverFqdn'] = server_fqdn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:containerservice/v20230701:listManagedClusterAdminCredentials', __args__, opts=opts, typ=ListManagedClusterAdminCredentialsResult).value + + return AwaitableListManagedClusterAdminCredentialsResult( + kubeconfigs=__ret__.kubeconfigs) + + +@_utilities.lift_output_func(list_managed_cluster_admin_credentials) +def list_managed_cluster_admin_credentials_output(resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + server_fqdn: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[ListManagedClusterAdminCredentialsResult]: + """ + The list credential result response. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + :param str server_fqdn: server fqdn type for credentials to be returned + """ + ... diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/list_managed_cluster_monitoring_user_credentials.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/list_managed_cluster_monitoring_user_credentials.py new file mode 100644 index 000000000000..f7e257f62398 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/list_managed_cluster_monitoring_user_credentials.py @@ -0,0 +1,84 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'ListManagedClusterMonitoringUserCredentialsResult', + 'AwaitableListManagedClusterMonitoringUserCredentialsResult', + 'list_managed_cluster_monitoring_user_credentials', + 'list_managed_cluster_monitoring_user_credentials_output', +] + +@pulumi.output_type +class ListManagedClusterMonitoringUserCredentialsResult: + """ + The list credential result response. + """ + def __init__(__self__, kubeconfigs=None): + if kubeconfigs and not isinstance(kubeconfigs, list): + raise TypeError("Expected argument 'kubeconfigs' to be a list") + pulumi.set(__self__, "kubeconfigs", kubeconfigs) + + @property + @pulumi.getter + def kubeconfigs(self) -> Sequence['outputs.CredentialResultResponse']: + """ + Base64-encoded Kubernetes configuration file. + """ + return pulumi.get(self, "kubeconfigs") + + +class AwaitableListManagedClusterMonitoringUserCredentialsResult(ListManagedClusterMonitoringUserCredentialsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return ListManagedClusterMonitoringUserCredentialsResult( + kubeconfigs=self.kubeconfigs) + + +def list_managed_cluster_monitoring_user_credentials(resource_group_name: Optional[str] = None, + resource_name: Optional[str] = None, + server_fqdn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListManagedClusterMonitoringUserCredentialsResult: + """ + The list credential result response. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + :param str server_fqdn: server fqdn type for credentials to be returned + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['resourceName'] = resource_name + __args__['serverFqdn'] = server_fqdn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:containerservice/v20230701:listManagedClusterMonitoringUserCredentials', __args__, opts=opts, typ=ListManagedClusterMonitoringUserCredentialsResult).value + + return AwaitableListManagedClusterMonitoringUserCredentialsResult( + kubeconfigs=__ret__.kubeconfigs) + + +@_utilities.lift_output_func(list_managed_cluster_monitoring_user_credentials) +def list_managed_cluster_monitoring_user_credentials_output(resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + server_fqdn: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[ListManagedClusterMonitoringUserCredentialsResult]: + """ + The list credential result response. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + :param str server_fqdn: server fqdn type for credentials to be returned + """ + ... diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/list_managed_cluster_user_credentials.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/list_managed_cluster_user_credentials.py new file mode 100644 index 000000000000..cb81d76a9d0a --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/list_managed_cluster_user_credentials.py @@ -0,0 +1,89 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'ListManagedClusterUserCredentialsResult', + 'AwaitableListManagedClusterUserCredentialsResult', + 'list_managed_cluster_user_credentials', + 'list_managed_cluster_user_credentials_output', +] + +@pulumi.output_type +class ListManagedClusterUserCredentialsResult: + """ + The list credential result response. + """ + def __init__(__self__, kubeconfigs=None): + if kubeconfigs and not isinstance(kubeconfigs, list): + raise TypeError("Expected argument 'kubeconfigs' to be a list") + pulumi.set(__self__, "kubeconfigs", kubeconfigs) + + @property + @pulumi.getter + def kubeconfigs(self) -> Sequence['outputs.CredentialResultResponse']: + """ + Base64-encoded Kubernetes configuration file. + """ + return pulumi.get(self, "kubeconfigs") + + +class AwaitableListManagedClusterUserCredentialsResult(ListManagedClusterUserCredentialsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return ListManagedClusterUserCredentialsResult( + kubeconfigs=self.kubeconfigs) + + +def list_managed_cluster_user_credentials(format: Optional[str] = None, + resource_group_name: Optional[str] = None, + resource_name: Optional[str] = None, + server_fqdn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListManagedClusterUserCredentialsResult: + """ + The list credential result response. + + + :param str format: Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + :param str server_fqdn: server fqdn type for credentials to be returned + """ + __args__ = dict() + __args__['format'] = format + __args__['resourceGroupName'] = resource_group_name + __args__['resourceName'] = resource_name + __args__['serverFqdn'] = server_fqdn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:containerservice/v20230701:listManagedClusterUserCredentials', __args__, opts=opts, typ=ListManagedClusterUserCredentialsResult).value + + return AwaitableListManagedClusterUserCredentialsResult( + kubeconfigs=__ret__.kubeconfigs) + + +@_utilities.lift_output_func(list_managed_cluster_user_credentials) +def list_managed_cluster_user_credentials_output(format: Optional[pulumi.Input[Optional[str]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + server_fqdn: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[ListManagedClusterUserCredentialsResult]: + """ + The list credential result response. + + + :param str format: Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str resource_name: The name of the managed cluster resource. + :param str server_fqdn: server fqdn type for credentials to be returned + """ + ... diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/maintenance_configuration.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/maintenance_configuration.py new file mode 100644 index 000000000000..9ddf824ff000 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/maintenance_configuration.py @@ -0,0 +1,274 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['MaintenanceConfigurationArgs', 'MaintenanceConfiguration'] + +@pulumi.input_type +class MaintenanceConfigurationArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + resource_name: pulumi.Input[str], + config_name: Optional[pulumi.Input[str]] = None, + maintenance_window: Optional[pulumi.Input['MaintenanceWindowArgs']] = None, + not_allowed_time: Optional[pulumi.Input[Sequence[pulumi.Input['TimeSpanArgs']]]] = None, + time_in_week: Optional[pulumi.Input[Sequence[pulumi.Input['TimeInWeekArgs']]]] = None): + """ + The set of arguments for constructing a MaintenanceConfiguration resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] resource_name: The name of the managed cluster resource. + :param pulumi.Input[str] config_name: The name of the maintenance configuration. + :param pulumi.Input['MaintenanceWindowArgs'] maintenance_window: Maintenance window for the maintenance configuration. + :param pulumi.Input[Sequence[pulumi.Input['TimeSpanArgs']]] not_allowed_time: Time slots on which upgrade is not allowed. + :param pulumi.Input[Sequence[pulumi.Input['TimeInWeekArgs']]] time_in_week: If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "resource_name", resource_name) + if config_name is not None: + pulumi.set(__self__, "config_name", config_name) + if maintenance_window is not None: + pulumi.set(__self__, "maintenance_window", maintenance_window) + if not_allowed_time is not None: + pulumi.set(__self__, "not_allowed_time", not_allowed_time) + if time_in_week is not None: + pulumi.set(__self__, "time_in_week", time_in_week) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="resourceName") + def resource_name(self) -> pulumi.Input[str]: + """ + The name of the managed cluster resource. + """ + return pulumi.get(self, "resource_name") + + @resource_name.setter + def resource_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_name", value) + + @property + @pulumi.getter(name="configName") + def config_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the maintenance configuration. + """ + return pulumi.get(self, "config_name") + + @config_name.setter + def config_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "config_name", value) + + @property + @pulumi.getter(name="maintenanceWindow") + def maintenance_window(self) -> Optional[pulumi.Input['MaintenanceWindowArgs']]: + """ + Maintenance window for the maintenance configuration. + """ + return pulumi.get(self, "maintenance_window") + + @maintenance_window.setter + def maintenance_window(self, value: Optional[pulumi.Input['MaintenanceWindowArgs']]): + pulumi.set(self, "maintenance_window", value) + + @property + @pulumi.getter(name="notAllowedTime") + def not_allowed_time(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TimeSpanArgs']]]]: + """ + Time slots on which upgrade is not allowed. + """ + return pulumi.get(self, "not_allowed_time") + + @not_allowed_time.setter + def not_allowed_time(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TimeSpanArgs']]]]): + pulumi.set(self, "not_allowed_time", value) + + @property + @pulumi.getter(name="timeInWeek") + def time_in_week(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TimeInWeekArgs']]]]: + """ + If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. + """ + return pulumi.get(self, "time_in_week") + + @time_in_week.setter + def time_in_week(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TimeInWeekArgs']]]]): + pulumi.set(self, "time_in_week", value) + + +class MaintenanceConfiguration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + config_name: Optional[pulumi.Input[str]] = None, + maintenance_window: Optional[pulumi.Input[pulumi.InputType['MaintenanceWindowArgs']]] = None, + not_allowed_time: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TimeSpanArgs']]]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + time_in_week: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TimeInWeekArgs']]]]] = None, + __props__=None): + """ + See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] config_name: The name of the maintenance configuration. + :param pulumi.Input[pulumi.InputType['MaintenanceWindowArgs']] maintenance_window: Maintenance window for the maintenance configuration. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TimeSpanArgs']]]] not_allowed_time: Time slots on which upgrade is not allowed. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] resource_name_: The name of the managed cluster resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TimeInWeekArgs']]]] time_in_week: If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MaintenanceConfigurationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + + :param str resource_name: The name of the resource. + :param MaintenanceConfigurationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(MaintenanceConfigurationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + config_name: Optional[pulumi.Input[str]] = None, + maintenance_window: Optional[pulumi.Input[pulumi.InputType['MaintenanceWindowArgs']]] = None, + not_allowed_time: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TimeSpanArgs']]]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + time_in_week: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TimeInWeekArgs']]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = MaintenanceConfigurationArgs.__new__(MaintenanceConfigurationArgs) + + __props__.__dict__["config_name"] = config_name + __props__.__dict__["maintenance_window"] = maintenance_window + __props__.__dict__["not_allowed_time"] = not_allowed_time + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if resource_name_ is None and not opts.urn: + raise TypeError("Missing required property 'resource_name_'") + __props__.__dict__["resource_name"] = resource_name_ + __props__.__dict__["time_in_week"] = time_in_week + __props__.__dict__["name"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20201201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210801:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20210901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211001:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220701:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220901:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230101:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230201:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230301:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230401:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230501:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230601:MaintenanceConfiguration"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:MaintenanceConfiguration")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(MaintenanceConfiguration, __self__).__init__( + 'azure-native:containerservice/v20230701:MaintenanceConfiguration', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'MaintenanceConfiguration': + """ + Get an existing MaintenanceConfiguration resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = MaintenanceConfigurationArgs.__new__(MaintenanceConfigurationArgs) + + __props__.__dict__["maintenance_window"] = None + __props__.__dict__["name"] = None + __props__.__dict__["not_allowed_time"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["time_in_week"] = None + __props__.__dict__["type"] = None + return MaintenanceConfiguration(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="maintenanceWindow") + def maintenance_window(self) -> pulumi.Output[Optional['outputs.MaintenanceWindowResponse']]: + """ + Maintenance window for the maintenance configuration. + """ + return pulumi.get(self, "maintenance_window") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource that is unique within a resource group. This name can be used to access the resource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="notAllowedTime") + def not_allowed_time(self) -> pulumi.Output[Optional[Sequence['outputs.TimeSpanResponse']]]: + """ + Time slots on which upgrade is not allowed. + """ + return pulumi.get(self, "not_allowed_time") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + The system metadata relating to this resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter(name="timeInWeek") + def time_in_week(self) -> pulumi.Output[Optional[Sequence['outputs.TimeInWeekResponse']]]: + """ + If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. + """ + return pulumi.get(self, "time_in_week") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/managed_cluster.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/managed_cluster.py new file mode 100644 index 000000000000..2d2cca7d8f06 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/managed_cluster.py @@ -0,0 +1,1251 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ManagedClusterArgs', 'ManagedCluster'] + +@pulumi.input_type +class ManagedClusterArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + aad_profile: Optional[pulumi.Input['ManagedClusterAADProfileArgs']] = None, + addon_profiles: Optional[pulumi.Input[Mapping[str, pulumi.Input['ManagedClusterAddonProfileArgs']]]] = None, + agent_pool_profiles: Optional[pulumi.Input[Sequence[pulumi.Input['ManagedClusterAgentPoolProfileArgs']]]] = None, + api_server_access_profile: Optional[pulumi.Input['ManagedClusterAPIServerAccessProfileArgs']] = None, + auto_scaler_profile: Optional[pulumi.Input['ManagedClusterPropertiesAutoScalerProfileArgs']] = None, + auto_upgrade_profile: Optional[pulumi.Input['ManagedClusterAutoUpgradeProfileArgs']] = None, + azure_monitor_profile: Optional[pulumi.Input['ManagedClusterAzureMonitorProfileArgs']] = None, + disable_local_accounts: Optional[pulumi.Input[bool]] = None, + disk_encryption_set_id: Optional[pulumi.Input[str]] = None, + dns_prefix: Optional[pulumi.Input[str]] = None, + enable_pod_security_policy: Optional[pulumi.Input[bool]] = None, + enable_rbac: Optional[pulumi.Input[bool]] = None, + extended_location: Optional[pulumi.Input['ExtendedLocationArgs']] = None, + fqdn_subdomain: Optional[pulumi.Input[str]] = None, + http_proxy_config: Optional[pulumi.Input['ManagedClusterHTTPProxyConfigArgs']] = None, + identity: Optional[pulumi.Input['ManagedClusterIdentityArgs']] = None, + identity_profile: Optional[pulumi.Input[Mapping[str, pulumi.Input['UserAssignedIdentityArgs']]]] = None, + kubernetes_version: Optional[pulumi.Input[str]] = None, + linux_profile: Optional[pulumi.Input['ContainerServiceLinuxProfileArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input['ContainerServiceNetworkProfileArgs']] = None, + node_resource_group: Optional[pulumi.Input[str]] = None, + oidc_issuer_profile: Optional[pulumi.Input['ManagedClusterOIDCIssuerProfileArgs']] = None, + pod_identity_profile: Optional[pulumi.Input['ManagedClusterPodIdentityProfileArgs']] = None, + private_link_resources: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateLinkResourceArgs']]]] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + security_profile: Optional[pulumi.Input['ManagedClusterSecurityProfileArgs']] = None, + service_principal_profile: Optional[pulumi.Input['ManagedClusterServicePrincipalProfileArgs']] = None, + sku: Optional[pulumi.Input['ManagedClusterSKUArgs']] = None, + storage_profile: Optional[pulumi.Input['ManagedClusterStorageProfileArgs']] = None, + support_plan: Optional[pulumi.Input[Union[str, 'KubernetesSupportPlan']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + upgrade_settings: Optional[pulumi.Input['ClusterUpgradeSettingsArgs']] = None, + windows_profile: Optional[pulumi.Input['ManagedClusterWindowsProfileArgs']] = None, + workload_auto_scaler_profile: Optional[pulumi.Input['ManagedClusterWorkloadAutoScalerProfileArgs']] = None): + """ + The set of arguments for constructing a ManagedCluster resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input['ManagedClusterAADProfileArgs'] aad_profile: The Azure Active Directory configuration. + :param pulumi.Input[Mapping[str, pulumi.Input['ManagedClusterAddonProfileArgs']]] addon_profiles: The profile of managed cluster add-on. + :param pulumi.Input[Sequence[pulumi.Input['ManagedClusterAgentPoolProfileArgs']]] agent_pool_profiles: The agent pool properties. + :param pulumi.Input['ManagedClusterAPIServerAccessProfileArgs'] api_server_access_profile: The access profile for managed cluster API server. + :param pulumi.Input['ManagedClusterPropertiesAutoScalerProfileArgs'] auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled + :param pulumi.Input['ManagedClusterAutoUpgradeProfileArgs'] auto_upgrade_profile: The auto upgrade configuration. + :param pulumi.Input['ManagedClusterAzureMonitorProfileArgs'] azure_monitor_profile: Azure Monitor addon profiles for monitoring the managed cluster. + :param pulumi.Input[bool] disable_local_accounts: If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + :param pulumi.Input[str] disk_encryption_set_id: This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + :param pulumi.Input[str] dns_prefix: This cannot be updated once the Managed Cluster has been created. + :param pulumi.Input[bool] enable_pod_security_policy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. + :param pulumi.Input[bool] enable_rbac: Whether to enable Kubernetes Role-Based Access Control. + :param pulumi.Input['ExtendedLocationArgs'] extended_location: The extended location of the Virtual Machine. + :param pulumi.Input[str] fqdn_subdomain: This cannot be updated once the Managed Cluster has been created. + :param pulumi.Input['ManagedClusterHTTPProxyConfigArgs'] http_proxy_config: Configurations for provisioning the cluster with HTTP proxy servers. + :param pulumi.Input['ManagedClusterIdentityArgs'] identity: The identity of the managed cluster, if configured. + :param pulumi.Input[Mapping[str, pulumi.Input['UserAssignedIdentityArgs']]] identity_profile: Identities associated with the cluster. + :param pulumi.Input[str] kubernetes_version: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + :param pulumi.Input['ContainerServiceLinuxProfileArgs'] linux_profile: The profile for Linux VMs in the Managed Cluster. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input['ContainerServiceNetworkProfileArgs'] network_profile: The network configuration profile. + :param pulumi.Input[str] node_resource_group: The name of the resource group containing agent pool nodes. + :param pulumi.Input['ManagedClusterOIDCIssuerProfileArgs'] oidc_issuer_profile: The OIDC issuer profile of the Managed Cluster. + :param pulumi.Input['ManagedClusterPodIdentityProfileArgs'] pod_identity_profile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. + :param pulumi.Input[Sequence[pulumi.Input['PrivateLinkResourceArgs']]] private_link_resources: Private link resources associated with the cluster. + :param pulumi.Input[Union[str, 'PublicNetworkAccess']] public_network_access: Allow or deny public network access for AKS + :param pulumi.Input[str] resource_name: The name of the managed cluster resource. + :param pulumi.Input['ManagedClusterSecurityProfileArgs'] security_profile: Security profile for the managed cluster. + :param pulumi.Input['ManagedClusterServicePrincipalProfileArgs'] service_principal_profile: Information about a service principal identity for the cluster to use for manipulating Azure APIs. + :param pulumi.Input['ManagedClusterSKUArgs'] sku: The managed cluster SKU. + :param pulumi.Input['ManagedClusterStorageProfileArgs'] storage_profile: Storage profile for the managed cluster. + :param pulumi.Input[Union[str, 'KubernetesSupportPlan']] support_plan: The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input['ClusterUpgradeSettingsArgs'] upgrade_settings: Settings for upgrading a cluster. + :param pulumi.Input['ManagedClusterWindowsProfileArgs'] windows_profile: The profile for Windows VMs in the Managed Cluster. + :param pulumi.Input['ManagedClusterWorkloadAutoScalerProfileArgs'] workload_auto_scaler_profile: Workload Auto-scaler profile for the managed cluster. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if aad_profile is not None: + pulumi.set(__self__, "aad_profile", aad_profile) + if addon_profiles is not None: + pulumi.set(__self__, "addon_profiles", addon_profiles) + if agent_pool_profiles is not None: + pulumi.set(__self__, "agent_pool_profiles", agent_pool_profiles) + if api_server_access_profile is not None: + pulumi.set(__self__, "api_server_access_profile", api_server_access_profile) + if auto_scaler_profile is not None: + pulumi.set(__self__, "auto_scaler_profile", auto_scaler_profile) + if auto_upgrade_profile is not None: + pulumi.set(__self__, "auto_upgrade_profile", auto_upgrade_profile) + if azure_monitor_profile is not None: + pulumi.set(__self__, "azure_monitor_profile", azure_monitor_profile) + if disable_local_accounts is not None: + pulumi.set(__self__, "disable_local_accounts", disable_local_accounts) + if disk_encryption_set_id is not None: + pulumi.set(__self__, "disk_encryption_set_id", disk_encryption_set_id) + if dns_prefix is not None: + pulumi.set(__self__, "dns_prefix", dns_prefix) + if enable_pod_security_policy is not None: + pulumi.set(__self__, "enable_pod_security_policy", enable_pod_security_policy) + if enable_rbac is not None: + pulumi.set(__self__, "enable_rbac", enable_rbac) + if extended_location is not None: + pulumi.set(__self__, "extended_location", extended_location) + if fqdn_subdomain is not None: + pulumi.set(__self__, "fqdn_subdomain", fqdn_subdomain) + if http_proxy_config is not None: + pulumi.set(__self__, "http_proxy_config", http_proxy_config) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if identity_profile is not None: + pulumi.set(__self__, "identity_profile", identity_profile) + if kubernetes_version is not None: + pulumi.set(__self__, "kubernetes_version", kubernetes_version) + if linux_profile is not None: + pulumi.set(__self__, "linux_profile", linux_profile) + if location is not None: + pulumi.set(__self__, "location", location) + if network_profile is not None: + pulumi.set(__self__, "network_profile", network_profile) + if node_resource_group is not None: + pulumi.set(__self__, "node_resource_group", node_resource_group) + if oidc_issuer_profile is not None: + pulumi.set(__self__, "oidc_issuer_profile", oidc_issuer_profile) + if pod_identity_profile is not None: + pulumi.set(__self__, "pod_identity_profile", pod_identity_profile) + if private_link_resources is not None: + pulumi.set(__self__, "private_link_resources", private_link_resources) + if public_network_access is not None: + pulumi.set(__self__, "public_network_access", public_network_access) + if resource_name is not None: + pulumi.set(__self__, "resource_name", resource_name) + if security_profile is not None: + pulumi.set(__self__, "security_profile", security_profile) + if service_principal_profile is not None: + pulumi.set(__self__, "service_principal_profile", service_principal_profile) + if sku is not None: + pulumi.set(__self__, "sku", sku) + if storage_profile is not None: + pulumi.set(__self__, "storage_profile", storage_profile) + if support_plan is not None: + pulumi.set(__self__, "support_plan", support_plan) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if upgrade_settings is not None: + pulumi.set(__self__, "upgrade_settings", upgrade_settings) + if windows_profile is not None: + pulumi.set(__self__, "windows_profile", windows_profile) + if workload_auto_scaler_profile is not None: + pulumi.set(__self__, "workload_auto_scaler_profile", workload_auto_scaler_profile) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="aadProfile") + def aad_profile(self) -> Optional[pulumi.Input['ManagedClusterAADProfileArgs']]: + """ + The Azure Active Directory configuration. + """ + return pulumi.get(self, "aad_profile") + + @aad_profile.setter + def aad_profile(self, value: Optional[pulumi.Input['ManagedClusterAADProfileArgs']]): + pulumi.set(self, "aad_profile", value) + + @property + @pulumi.getter(name="addonProfiles") + def addon_profiles(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ManagedClusterAddonProfileArgs']]]]: + """ + The profile of managed cluster add-on. + """ + return pulumi.get(self, "addon_profiles") + + @addon_profiles.setter + def addon_profiles(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ManagedClusterAddonProfileArgs']]]]): + pulumi.set(self, "addon_profiles", value) + + @property + @pulumi.getter(name="agentPoolProfiles") + def agent_pool_profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ManagedClusterAgentPoolProfileArgs']]]]: + """ + The agent pool properties. + """ + return pulumi.get(self, "agent_pool_profiles") + + @agent_pool_profiles.setter + def agent_pool_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ManagedClusterAgentPoolProfileArgs']]]]): + pulumi.set(self, "agent_pool_profiles", value) + + @property + @pulumi.getter(name="apiServerAccessProfile") + def api_server_access_profile(self) -> Optional[pulumi.Input['ManagedClusterAPIServerAccessProfileArgs']]: + """ + The access profile for managed cluster API server. + """ + return pulumi.get(self, "api_server_access_profile") + + @api_server_access_profile.setter + def api_server_access_profile(self, value: Optional[pulumi.Input['ManagedClusterAPIServerAccessProfileArgs']]): + pulumi.set(self, "api_server_access_profile", value) + + @property + @pulumi.getter(name="autoScalerProfile") + def auto_scaler_profile(self) -> Optional[pulumi.Input['ManagedClusterPropertiesAutoScalerProfileArgs']]: + """ + Parameters to be applied to the cluster-autoscaler when enabled + """ + return pulumi.get(self, "auto_scaler_profile") + + @auto_scaler_profile.setter + def auto_scaler_profile(self, value: Optional[pulumi.Input['ManagedClusterPropertiesAutoScalerProfileArgs']]): + pulumi.set(self, "auto_scaler_profile", value) + + @property + @pulumi.getter(name="autoUpgradeProfile") + def auto_upgrade_profile(self) -> Optional[pulumi.Input['ManagedClusterAutoUpgradeProfileArgs']]: + """ + The auto upgrade configuration. + """ + return pulumi.get(self, "auto_upgrade_profile") + + @auto_upgrade_profile.setter + def auto_upgrade_profile(self, value: Optional[pulumi.Input['ManagedClusterAutoUpgradeProfileArgs']]): + pulumi.set(self, "auto_upgrade_profile", value) + + @property + @pulumi.getter(name="azureMonitorProfile") + def azure_monitor_profile(self) -> Optional[pulumi.Input['ManagedClusterAzureMonitorProfileArgs']]: + """ + Azure Monitor addon profiles for monitoring the managed cluster. + """ + return pulumi.get(self, "azure_monitor_profile") + + @azure_monitor_profile.setter + def azure_monitor_profile(self, value: Optional[pulumi.Input['ManagedClusterAzureMonitorProfileArgs']]): + pulumi.set(self, "azure_monitor_profile", value) + + @property + @pulumi.getter(name="disableLocalAccounts") + def disable_local_accounts(self) -> Optional[pulumi.Input[bool]]: + """ + If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + """ + return pulumi.get(self, "disable_local_accounts") + + @disable_local_accounts.setter + def disable_local_accounts(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_local_accounts", value) + + @property + @pulumi.getter(name="diskEncryptionSetID") + def disk_encryption_set_id(self) -> Optional[pulumi.Input[str]]: + """ + This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + """ + return pulumi.get(self, "disk_encryption_set_id") + + @disk_encryption_set_id.setter + def disk_encryption_set_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_encryption_set_id", value) + + @property + @pulumi.getter(name="dnsPrefix") + def dns_prefix(self) -> Optional[pulumi.Input[str]]: + """ + This cannot be updated once the Managed Cluster has been created. + """ + return pulumi.get(self, "dns_prefix") + + @dns_prefix.setter + def dns_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dns_prefix", value) + + @property + @pulumi.getter(name="enablePodSecurityPolicy") + def enable_pod_security_policy(self) -> Optional[pulumi.Input[bool]]: + """ + (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. + """ + return pulumi.get(self, "enable_pod_security_policy") + + @enable_pod_security_policy.setter + def enable_pod_security_policy(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_pod_security_policy", value) + + @property + @pulumi.getter(name="enableRBAC") + def enable_rbac(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable Kubernetes Role-Based Access Control. + """ + return pulumi.get(self, "enable_rbac") + + @enable_rbac.setter + def enable_rbac(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_rbac", value) + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> Optional[pulumi.Input['ExtendedLocationArgs']]: + """ + The extended location of the Virtual Machine. + """ + return pulumi.get(self, "extended_location") + + @extended_location.setter + def extended_location(self, value: Optional[pulumi.Input['ExtendedLocationArgs']]): + pulumi.set(self, "extended_location", value) + + @property + @pulumi.getter(name="fqdnSubdomain") + def fqdn_subdomain(self) -> Optional[pulumi.Input[str]]: + """ + This cannot be updated once the Managed Cluster has been created. + """ + return pulumi.get(self, "fqdn_subdomain") + + @fqdn_subdomain.setter + def fqdn_subdomain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fqdn_subdomain", value) + + @property + @pulumi.getter(name="httpProxyConfig") + def http_proxy_config(self) -> Optional[pulumi.Input['ManagedClusterHTTPProxyConfigArgs']]: + """ + Configurations for provisioning the cluster with HTTP proxy servers. + """ + return pulumi.get(self, "http_proxy_config") + + @http_proxy_config.setter + def http_proxy_config(self, value: Optional[pulumi.Input['ManagedClusterHTTPProxyConfigArgs']]): + pulumi.set(self, "http_proxy_config", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['ManagedClusterIdentityArgs']]: + """ + The identity of the managed cluster, if configured. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['ManagedClusterIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter(name="identityProfile") + def identity_profile(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['UserAssignedIdentityArgs']]]]: + """ + Identities associated with the cluster. + """ + return pulumi.get(self, "identity_profile") + + @identity_profile.setter + def identity_profile(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['UserAssignedIdentityArgs']]]]): + pulumi.set(self, "identity_profile", value) + + @property + @pulumi.getter(name="kubernetesVersion") + def kubernetes_version(self) -> Optional[pulumi.Input[str]]: + """ + Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + """ + return pulumi.get(self, "kubernetes_version") + + @kubernetes_version.setter + def kubernetes_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kubernetes_version", value) + + @property + @pulumi.getter(name="linuxProfile") + def linux_profile(self) -> Optional[pulumi.Input['ContainerServiceLinuxProfileArgs']]: + """ + The profile for Linux VMs in the Managed Cluster. + """ + return pulumi.get(self, "linux_profile") + + @linux_profile.setter + def linux_profile(self, value: Optional[pulumi.Input['ContainerServiceLinuxProfileArgs']]): + pulumi.set(self, "linux_profile", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional[pulumi.Input['ContainerServiceNetworkProfileArgs']]: + """ + The network configuration profile. + """ + return pulumi.get(self, "network_profile") + + @network_profile.setter + def network_profile(self, value: Optional[pulumi.Input['ContainerServiceNetworkProfileArgs']]): + pulumi.set(self, "network_profile", value) + + @property + @pulumi.getter(name="nodeResourceGroup") + def node_resource_group(self) -> Optional[pulumi.Input[str]]: + """ + The name of the resource group containing agent pool nodes. + """ + return pulumi.get(self, "node_resource_group") + + @node_resource_group.setter + def node_resource_group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "node_resource_group", value) + + @property + @pulumi.getter(name="oidcIssuerProfile") + def oidc_issuer_profile(self) -> Optional[pulumi.Input['ManagedClusterOIDCIssuerProfileArgs']]: + """ + The OIDC issuer profile of the Managed Cluster. + """ + return pulumi.get(self, "oidc_issuer_profile") + + @oidc_issuer_profile.setter + def oidc_issuer_profile(self, value: Optional[pulumi.Input['ManagedClusterOIDCIssuerProfileArgs']]): + pulumi.set(self, "oidc_issuer_profile", value) + + @property + @pulumi.getter(name="podIdentityProfile") + def pod_identity_profile(self) -> Optional[pulumi.Input['ManagedClusterPodIdentityProfileArgs']]: + """ + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. + """ + return pulumi.get(self, "pod_identity_profile") + + @pod_identity_profile.setter + def pod_identity_profile(self, value: Optional[pulumi.Input['ManagedClusterPodIdentityProfileArgs']]): + pulumi.set(self, "pod_identity_profile", value) + + @property + @pulumi.getter(name="privateLinkResources") + def private_link_resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PrivateLinkResourceArgs']]]]: + """ + Private link resources associated with the cluster. + """ + return pulumi.get(self, "private_link_resources") + + @private_link_resources.setter + def private_link_resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateLinkResourceArgs']]]]): + pulumi.set(self, "private_link_resources", value) + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]]: + """ + Allow or deny public network access for AKS + """ + return pulumi.get(self, "public_network_access") + + @public_network_access.setter + def public_network_access(self, value: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]]): + pulumi.set(self, "public_network_access", value) + + @property + @pulumi.getter(name="resourceName") + def resource_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the managed cluster resource. + """ + return pulumi.get(self, "resource_name") + + @resource_name.setter + def resource_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_name", value) + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> Optional[pulumi.Input['ManagedClusterSecurityProfileArgs']]: + """ + Security profile for the managed cluster. + """ + return pulumi.get(self, "security_profile") + + @security_profile.setter + def security_profile(self, value: Optional[pulumi.Input['ManagedClusterSecurityProfileArgs']]): + pulumi.set(self, "security_profile", value) + + @property + @pulumi.getter(name="servicePrincipalProfile") + def service_principal_profile(self) -> Optional[pulumi.Input['ManagedClusterServicePrincipalProfileArgs']]: + """ + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + """ + return pulumi.get(self, "service_principal_profile") + + @service_principal_profile.setter + def service_principal_profile(self, value: Optional[pulumi.Input['ManagedClusterServicePrincipalProfileArgs']]): + pulumi.set(self, "service_principal_profile", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input['ManagedClusterSKUArgs']]: + """ + The managed cluster SKU. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input['ManagedClusterSKUArgs']]): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> Optional[pulumi.Input['ManagedClusterStorageProfileArgs']]: + """ + Storage profile for the managed cluster. + """ + return pulumi.get(self, "storage_profile") + + @storage_profile.setter + def storage_profile(self, value: Optional[pulumi.Input['ManagedClusterStorageProfileArgs']]): + pulumi.set(self, "storage_profile", value) + + @property + @pulumi.getter(name="supportPlan") + def support_plan(self) -> Optional[pulumi.Input[Union[str, 'KubernetesSupportPlan']]]: + """ + The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + """ + return pulumi.get(self, "support_plan") + + @support_plan.setter + def support_plan(self, value: Optional[pulumi.Input[Union[str, 'KubernetesSupportPlan']]]): + pulumi.set(self, "support_plan", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="upgradeSettings") + def upgrade_settings(self) -> Optional[pulumi.Input['ClusterUpgradeSettingsArgs']]: + """ + Settings for upgrading a cluster. + """ + return pulumi.get(self, "upgrade_settings") + + @upgrade_settings.setter + def upgrade_settings(self, value: Optional[pulumi.Input['ClusterUpgradeSettingsArgs']]): + pulumi.set(self, "upgrade_settings", value) + + @property + @pulumi.getter(name="windowsProfile") + def windows_profile(self) -> Optional[pulumi.Input['ManagedClusterWindowsProfileArgs']]: + """ + The profile for Windows VMs in the Managed Cluster. + """ + return pulumi.get(self, "windows_profile") + + @windows_profile.setter + def windows_profile(self, value: Optional[pulumi.Input['ManagedClusterWindowsProfileArgs']]): + pulumi.set(self, "windows_profile", value) + + @property + @pulumi.getter(name="workloadAutoScalerProfile") + def workload_auto_scaler_profile(self) -> Optional[pulumi.Input['ManagedClusterWorkloadAutoScalerProfileArgs']]: + """ + Workload Auto-scaler profile for the managed cluster. + """ + return pulumi.get(self, "workload_auto_scaler_profile") + + @workload_auto_scaler_profile.setter + def workload_auto_scaler_profile(self, value: Optional[pulumi.Input['ManagedClusterWorkloadAutoScalerProfileArgs']]): + pulumi.set(self, "workload_auto_scaler_profile", value) + + +class ManagedCluster(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + aad_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterAADProfileArgs']]] = None, + addon_profiles: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ManagedClusterAddonProfileArgs']]]]] = None, + agent_pool_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ManagedClusterAgentPoolProfileArgs']]]]] = None, + api_server_access_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterAPIServerAccessProfileArgs']]] = None, + auto_scaler_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterPropertiesAutoScalerProfileArgs']]] = None, + auto_upgrade_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterAutoUpgradeProfileArgs']]] = None, + azure_monitor_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterAzureMonitorProfileArgs']]] = None, + disable_local_accounts: Optional[pulumi.Input[bool]] = None, + disk_encryption_set_id: Optional[pulumi.Input[str]] = None, + dns_prefix: Optional[pulumi.Input[str]] = None, + enable_pod_security_policy: Optional[pulumi.Input[bool]] = None, + enable_rbac: Optional[pulumi.Input[bool]] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + fqdn_subdomain: Optional[pulumi.Input[str]] = None, + http_proxy_config: Optional[pulumi.Input[pulumi.InputType['ManagedClusterHTTPProxyConfigArgs']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ManagedClusterIdentityArgs']]] = None, + identity_profile: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['UserAssignedIdentityArgs']]]]] = None, + kubernetes_version: Optional[pulumi.Input[str]] = None, + linux_profile: Optional[pulumi.Input[pulumi.InputType['ContainerServiceLinuxProfileArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input[pulumi.InputType['ContainerServiceNetworkProfileArgs']]] = None, + node_resource_group: Optional[pulumi.Input[str]] = None, + oidc_issuer_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterOIDCIssuerProfileArgs']]] = None, + pod_identity_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterPodIdentityProfileArgs']]] = None, + private_link_resources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PrivateLinkResourceArgs']]]]] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + security_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterSecurityProfileArgs']]] = None, + service_principal_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterServicePrincipalProfileArgs']]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['ManagedClusterSKUArgs']]] = None, + storage_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterStorageProfileArgs']]] = None, + support_plan: Optional[pulumi.Input[Union[str, 'KubernetesSupportPlan']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + upgrade_settings: Optional[pulumi.Input[pulumi.InputType['ClusterUpgradeSettingsArgs']]] = None, + windows_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterWindowsProfileArgs']]] = None, + workload_auto_scaler_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterWorkloadAutoScalerProfileArgs']]] = None, + __props__=None): + """ + Managed cluster. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['ManagedClusterAADProfileArgs']] aad_profile: The Azure Active Directory configuration. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ManagedClusterAddonProfileArgs']]]] addon_profiles: The profile of managed cluster add-on. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ManagedClusterAgentPoolProfileArgs']]]] agent_pool_profiles: The agent pool properties. + :param pulumi.Input[pulumi.InputType['ManagedClusterAPIServerAccessProfileArgs']] api_server_access_profile: The access profile for managed cluster API server. + :param pulumi.Input[pulumi.InputType['ManagedClusterPropertiesAutoScalerProfileArgs']] auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled + :param pulumi.Input[pulumi.InputType['ManagedClusterAutoUpgradeProfileArgs']] auto_upgrade_profile: The auto upgrade configuration. + :param pulumi.Input[pulumi.InputType['ManagedClusterAzureMonitorProfileArgs']] azure_monitor_profile: Azure Monitor addon profiles for monitoring the managed cluster. + :param pulumi.Input[bool] disable_local_accounts: If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + :param pulumi.Input[str] disk_encryption_set_id: This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + :param pulumi.Input[str] dns_prefix: This cannot be updated once the Managed Cluster has been created. + :param pulumi.Input[bool] enable_pod_security_policy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. + :param pulumi.Input[bool] enable_rbac: Whether to enable Kubernetes Role-Based Access Control. + :param pulumi.Input[pulumi.InputType['ExtendedLocationArgs']] extended_location: The extended location of the Virtual Machine. + :param pulumi.Input[str] fqdn_subdomain: This cannot be updated once the Managed Cluster has been created. + :param pulumi.Input[pulumi.InputType['ManagedClusterHTTPProxyConfigArgs']] http_proxy_config: Configurations for provisioning the cluster with HTTP proxy servers. + :param pulumi.Input[pulumi.InputType['ManagedClusterIdentityArgs']] identity: The identity of the managed cluster, if configured. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['UserAssignedIdentityArgs']]]] identity_profile: Identities associated with the cluster. + :param pulumi.Input[str] kubernetes_version: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + :param pulumi.Input[pulumi.InputType['ContainerServiceLinuxProfileArgs']] linux_profile: The profile for Linux VMs in the Managed Cluster. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[pulumi.InputType['ContainerServiceNetworkProfileArgs']] network_profile: The network configuration profile. + :param pulumi.Input[str] node_resource_group: The name of the resource group containing agent pool nodes. + :param pulumi.Input[pulumi.InputType['ManagedClusterOIDCIssuerProfileArgs']] oidc_issuer_profile: The OIDC issuer profile of the Managed Cluster. + :param pulumi.Input[pulumi.InputType['ManagedClusterPodIdentityProfileArgs']] pod_identity_profile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PrivateLinkResourceArgs']]]] private_link_resources: Private link resources associated with the cluster. + :param pulumi.Input[Union[str, 'PublicNetworkAccess']] public_network_access: Allow or deny public network access for AKS + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] resource_name_: The name of the managed cluster resource. + :param pulumi.Input[pulumi.InputType['ManagedClusterSecurityProfileArgs']] security_profile: Security profile for the managed cluster. + :param pulumi.Input[pulumi.InputType['ManagedClusterServicePrincipalProfileArgs']] service_principal_profile: Information about a service principal identity for the cluster to use for manipulating Azure APIs. + :param pulumi.Input[pulumi.InputType['ManagedClusterSKUArgs']] sku: The managed cluster SKU. + :param pulumi.Input[pulumi.InputType['ManagedClusterStorageProfileArgs']] storage_profile: Storage profile for the managed cluster. + :param pulumi.Input[Union[str, 'KubernetesSupportPlan']] support_plan: The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[pulumi.InputType['ClusterUpgradeSettingsArgs']] upgrade_settings: Settings for upgrading a cluster. + :param pulumi.Input[pulumi.InputType['ManagedClusterWindowsProfileArgs']] windows_profile: The profile for Windows VMs in the Managed Cluster. + :param pulumi.Input[pulumi.InputType['ManagedClusterWorkloadAutoScalerProfileArgs']] workload_auto_scaler_profile: Workload Auto-scaler profile for the managed cluster. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ManagedClusterArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Managed cluster. + + :param str resource_name: The name of the resource. + :param ManagedClusterArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ManagedClusterArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + aad_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterAADProfileArgs']]] = None, + addon_profiles: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ManagedClusterAddonProfileArgs']]]]] = None, + agent_pool_profiles: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ManagedClusterAgentPoolProfileArgs']]]]] = None, + api_server_access_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterAPIServerAccessProfileArgs']]] = None, + auto_scaler_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterPropertiesAutoScalerProfileArgs']]] = None, + auto_upgrade_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterAutoUpgradeProfileArgs']]] = None, + azure_monitor_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterAzureMonitorProfileArgs']]] = None, + disable_local_accounts: Optional[pulumi.Input[bool]] = None, + disk_encryption_set_id: Optional[pulumi.Input[str]] = None, + dns_prefix: Optional[pulumi.Input[str]] = None, + enable_pod_security_policy: Optional[pulumi.Input[bool]] = None, + enable_rbac: Optional[pulumi.Input[bool]] = None, + extended_location: Optional[pulumi.Input[pulumi.InputType['ExtendedLocationArgs']]] = None, + fqdn_subdomain: Optional[pulumi.Input[str]] = None, + http_proxy_config: Optional[pulumi.Input[pulumi.InputType['ManagedClusterHTTPProxyConfigArgs']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ManagedClusterIdentityArgs']]] = None, + identity_profile: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['UserAssignedIdentityArgs']]]]] = None, + kubernetes_version: Optional[pulumi.Input[str]] = None, + linux_profile: Optional[pulumi.Input[pulumi.InputType['ContainerServiceLinuxProfileArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input[pulumi.InputType['ContainerServiceNetworkProfileArgs']]] = None, + node_resource_group: Optional[pulumi.Input[str]] = None, + oidc_issuer_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterOIDCIssuerProfileArgs']]] = None, + pod_identity_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterPodIdentityProfileArgs']]] = None, + private_link_resources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PrivateLinkResourceArgs']]]]] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + security_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterSecurityProfileArgs']]] = None, + service_principal_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterServicePrincipalProfileArgs']]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['ManagedClusterSKUArgs']]] = None, + storage_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterStorageProfileArgs']]] = None, + support_plan: Optional[pulumi.Input[Union[str, 'KubernetesSupportPlan']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + upgrade_settings: Optional[pulumi.Input[pulumi.InputType['ClusterUpgradeSettingsArgs']]] = None, + windows_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterWindowsProfileArgs']]] = None, + workload_auto_scaler_profile: Optional[pulumi.Input[pulumi.InputType['ManagedClusterWorkloadAutoScalerProfileArgs']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ManagedClusterArgs.__new__(ManagedClusterArgs) + + __props__.__dict__["aad_profile"] = aad_profile + __props__.__dict__["addon_profiles"] = addon_profiles + __props__.__dict__["agent_pool_profiles"] = agent_pool_profiles + __props__.__dict__["api_server_access_profile"] = api_server_access_profile + __props__.__dict__["auto_scaler_profile"] = auto_scaler_profile + __props__.__dict__["auto_upgrade_profile"] = auto_upgrade_profile + __props__.__dict__["azure_monitor_profile"] = azure_monitor_profile + __props__.__dict__["disable_local_accounts"] = disable_local_accounts + __props__.__dict__["disk_encryption_set_id"] = disk_encryption_set_id + __props__.__dict__["dns_prefix"] = dns_prefix + __props__.__dict__["enable_pod_security_policy"] = enable_pod_security_policy + __props__.__dict__["enable_rbac"] = enable_rbac + __props__.__dict__["extended_location"] = extended_location + __props__.__dict__["fqdn_subdomain"] = fqdn_subdomain + __props__.__dict__["http_proxy_config"] = http_proxy_config + __props__.__dict__["identity"] = identity + __props__.__dict__["identity_profile"] = identity_profile + __props__.__dict__["kubernetes_version"] = kubernetes_version + __props__.__dict__["linux_profile"] = linux_profile + __props__.__dict__["location"] = location + __props__.__dict__["network_profile"] = network_profile + __props__.__dict__["node_resource_group"] = node_resource_group + __props__.__dict__["oidc_issuer_profile"] = oidc_issuer_profile + __props__.__dict__["pod_identity_profile"] = pod_identity_profile + __props__.__dict__["private_link_resources"] = private_link_resources + __props__.__dict__["public_network_access"] = public_network_access + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["resource_name"] = resource_name_ + __props__.__dict__["security_profile"] = security_profile + __props__.__dict__["service_principal_profile"] = service_principal_profile + __props__.__dict__["sku"] = sku + __props__.__dict__["storage_profile"] = storage_profile + __props__.__dict__["support_plan"] = support_plan + __props__.__dict__["tags"] = tags + __props__.__dict__["upgrade_settings"] = upgrade_settings + __props__.__dict__["windows_profile"] = windows_profile + __props__.__dict__["workload_auto_scaler_profile"] = workload_auto_scaler_profile + __props__.__dict__["azure_portal_fqdn"] = None + __props__.__dict__["current_kubernetes_version"] = None + __props__.__dict__["fqdn"] = None + __props__.__dict__["max_agent_pools"] = None + __props__.__dict__["name"] = None + __props__.__dict__["power_state"] = None + __props__.__dict__["private_fqdn"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20170831:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180331:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20180801preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20190801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20191101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20200901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20201201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210801:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20210901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211001:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220701:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220901:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230101:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230201:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230301:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230401:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230501:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230601:ManagedCluster"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:ManagedCluster")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(ManagedCluster, __self__).__init__( + 'azure-native:containerservice/v20230701:ManagedCluster', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ManagedCluster': + """ + Get an existing ManagedCluster resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ManagedClusterArgs.__new__(ManagedClusterArgs) + + __props__.__dict__["aad_profile"] = None + __props__.__dict__["addon_profiles"] = None + __props__.__dict__["agent_pool_profiles"] = None + __props__.__dict__["api_server_access_profile"] = None + __props__.__dict__["auto_scaler_profile"] = None + __props__.__dict__["auto_upgrade_profile"] = None + __props__.__dict__["azure_monitor_profile"] = None + __props__.__dict__["azure_portal_fqdn"] = None + __props__.__dict__["current_kubernetes_version"] = None + __props__.__dict__["disable_local_accounts"] = None + __props__.__dict__["disk_encryption_set_id"] = None + __props__.__dict__["dns_prefix"] = None + __props__.__dict__["enable_pod_security_policy"] = None + __props__.__dict__["enable_rbac"] = None + __props__.__dict__["extended_location"] = None + __props__.__dict__["fqdn"] = None + __props__.__dict__["fqdn_subdomain"] = None + __props__.__dict__["http_proxy_config"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["identity_profile"] = None + __props__.__dict__["kubernetes_version"] = None + __props__.__dict__["linux_profile"] = None + __props__.__dict__["location"] = None + __props__.__dict__["max_agent_pools"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_profile"] = None + __props__.__dict__["node_resource_group"] = None + __props__.__dict__["oidc_issuer_profile"] = None + __props__.__dict__["pod_identity_profile"] = None + __props__.__dict__["power_state"] = None + __props__.__dict__["private_fqdn"] = None + __props__.__dict__["private_link_resources"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["public_network_access"] = None + __props__.__dict__["security_profile"] = None + __props__.__dict__["service_principal_profile"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["storage_profile"] = None + __props__.__dict__["support_plan"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["upgrade_settings"] = None + __props__.__dict__["windows_profile"] = None + __props__.__dict__["workload_auto_scaler_profile"] = None + return ManagedCluster(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="aadProfile") + def aad_profile(self) -> pulumi.Output[Optional['outputs.ManagedClusterAADProfileResponse']]: + """ + The Azure Active Directory configuration. + """ + return pulumi.get(self, "aad_profile") + + @property + @pulumi.getter(name="addonProfiles") + def addon_profiles(self) -> pulumi.Output[Optional[Mapping[str, 'outputs.ManagedClusterAddonProfileResponse']]]: + """ + The profile of managed cluster add-on. + """ + return pulumi.get(self, "addon_profiles") + + @property + @pulumi.getter(name="agentPoolProfiles") + def agent_pool_profiles(self) -> pulumi.Output[Optional[Sequence['outputs.ManagedClusterAgentPoolProfileResponse']]]: + """ + The agent pool properties. + """ + return pulumi.get(self, "agent_pool_profiles") + + @property + @pulumi.getter(name="apiServerAccessProfile") + def api_server_access_profile(self) -> pulumi.Output[Optional['outputs.ManagedClusterAPIServerAccessProfileResponse']]: + """ + The access profile for managed cluster API server. + """ + return pulumi.get(self, "api_server_access_profile") + + @property + @pulumi.getter(name="autoScalerProfile") + def auto_scaler_profile(self) -> pulumi.Output[Optional['outputs.ManagedClusterPropertiesResponseAutoScalerProfile']]: + """ + Parameters to be applied to the cluster-autoscaler when enabled + """ + return pulumi.get(self, "auto_scaler_profile") + + @property + @pulumi.getter(name="autoUpgradeProfile") + def auto_upgrade_profile(self) -> pulumi.Output[Optional['outputs.ManagedClusterAutoUpgradeProfileResponse']]: + """ + The auto upgrade configuration. + """ + return pulumi.get(self, "auto_upgrade_profile") + + @property + @pulumi.getter(name="azureMonitorProfile") + def azure_monitor_profile(self) -> pulumi.Output[Optional['outputs.ManagedClusterAzureMonitorProfileResponse']]: + """ + Azure Monitor addon profiles for monitoring the managed cluster. + """ + return pulumi.get(self, "azure_monitor_profile") + + @property + @pulumi.getter(name="azurePortalFQDN") + def azure_portal_fqdn(self) -> pulumi.Output[str]: + """ + The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. + """ + return pulumi.get(self, "azure_portal_fqdn") + + @property + @pulumi.getter(name="currentKubernetesVersion") + def current_kubernetes_version(self) -> pulumi.Output[str]: + """ + If kubernetesVersion was a fully specified version , this field will be exactly equal to it. If kubernetesVersion was , this field will contain the full version being used. + """ + return pulumi.get(self, "current_kubernetes_version") + + @property + @pulumi.getter(name="disableLocalAccounts") + def disable_local_accounts(self) -> pulumi.Output[Optional[bool]]: + """ + If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + """ + return pulumi.get(self, "disable_local_accounts") + + @property + @pulumi.getter(name="diskEncryptionSetID") + def disk_encryption_set_id(self) -> pulumi.Output[Optional[str]]: + """ + This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + """ + return pulumi.get(self, "disk_encryption_set_id") + + @property + @pulumi.getter(name="dnsPrefix") + def dns_prefix(self) -> pulumi.Output[Optional[str]]: + """ + This cannot be updated once the Managed Cluster has been created. + """ + return pulumi.get(self, "dns_prefix") + + @property + @pulumi.getter(name="enablePodSecurityPolicy") + def enable_pod_security_policy(self) -> pulumi.Output[Optional[bool]]: + """ + (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. + """ + return pulumi.get(self, "enable_pod_security_policy") + + @property + @pulumi.getter(name="enableRBAC") + def enable_rbac(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to enable Kubernetes Role-Based Access Control. + """ + return pulumi.get(self, "enable_rbac") + + @property + @pulumi.getter(name="extendedLocation") + def extended_location(self) -> pulumi.Output[Optional['outputs.ExtendedLocationResponse']]: + """ + The extended location of the Virtual Machine. + """ + return pulumi.get(self, "extended_location") + + @property + @pulumi.getter + def fqdn(self) -> pulumi.Output[str]: + """ + The FQDN of the master pool. + """ + return pulumi.get(self, "fqdn") + + @property + @pulumi.getter(name="fqdnSubdomain") + def fqdn_subdomain(self) -> pulumi.Output[Optional[str]]: + """ + This cannot be updated once the Managed Cluster has been created. + """ + return pulumi.get(self, "fqdn_subdomain") + + @property + @pulumi.getter(name="httpProxyConfig") + def http_proxy_config(self) -> pulumi.Output[Optional['outputs.ManagedClusterHTTPProxyConfigResponse']]: + """ + Configurations for provisioning the cluster with HTTP proxy servers. + """ + return pulumi.get(self, "http_proxy_config") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.ManagedClusterIdentityResponse']]: + """ + The identity of the managed cluster, if configured. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="identityProfile") + def identity_profile(self) -> pulumi.Output[Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]]: + """ + Identities associated with the cluster. + """ + return pulumi.get(self, "identity_profile") + + @property + @pulumi.getter(name="kubernetesVersion") + def kubernetes_version(self) -> pulumi.Output[Optional[str]]: + """ + Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + """ + return pulumi.get(self, "kubernetes_version") + + @property + @pulumi.getter(name="linuxProfile") + def linux_profile(self) -> pulumi.Output[Optional['outputs.ContainerServiceLinuxProfileResponse']]: + """ + The profile for Linux VMs in the Managed Cluster. + """ + return pulumi.get(self, "linux_profile") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="maxAgentPools") + def max_agent_pools(self) -> pulumi.Output[int]: + """ + The max number of agent pools for the managed cluster. + """ + return pulumi.get(self, "max_agent_pools") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> pulumi.Output[Optional['outputs.ContainerServiceNetworkProfileResponse']]: + """ + The network configuration profile. + """ + return pulumi.get(self, "network_profile") + + @property + @pulumi.getter(name="nodeResourceGroup") + def node_resource_group(self) -> pulumi.Output[Optional[str]]: + """ + The name of the resource group containing agent pool nodes. + """ + return pulumi.get(self, "node_resource_group") + + @property + @pulumi.getter(name="oidcIssuerProfile") + def oidc_issuer_profile(self) -> pulumi.Output[Optional['outputs.ManagedClusterOIDCIssuerProfileResponse']]: + """ + The OIDC issuer profile of the Managed Cluster. + """ + return pulumi.get(self, "oidc_issuer_profile") + + @property + @pulumi.getter(name="podIdentityProfile") + def pod_identity_profile(self) -> pulumi.Output[Optional['outputs.ManagedClusterPodIdentityProfileResponse']]: + """ + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. + """ + return pulumi.get(self, "pod_identity_profile") + + @property + @pulumi.getter(name="powerState") + def power_state(self) -> pulumi.Output['outputs.PowerStateResponse']: + """ + The Power State of the cluster. + """ + return pulumi.get(self, "power_state") + + @property + @pulumi.getter(name="privateFQDN") + def private_fqdn(self) -> pulumi.Output[str]: + """ + The FQDN of private cluster. + """ + return pulumi.get(self, "private_fqdn") + + @property + @pulumi.getter(name="privateLinkResources") + def private_link_resources(self) -> pulumi.Output[Optional[Sequence['outputs.PrivateLinkResourceResponse']]]: + """ + Private link resources associated with the cluster. + """ + return pulumi.get(self, "private_link_resources") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The current provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> pulumi.Output[Optional[str]]: + """ + Allow or deny public network access for AKS + """ + return pulumi.get(self, "public_network_access") + + @property + @pulumi.getter(name="securityProfile") + def security_profile(self) -> pulumi.Output[Optional['outputs.ManagedClusterSecurityProfileResponse']]: + """ + Security profile for the managed cluster. + """ + return pulumi.get(self, "security_profile") + + @property + @pulumi.getter(name="servicePrincipalProfile") + def service_principal_profile(self) -> pulumi.Output[Optional['outputs.ManagedClusterServicePrincipalProfileResponse']]: + """ + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + """ + return pulumi.get(self, "service_principal_profile") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output[Optional['outputs.ManagedClusterSKUResponse']]: + """ + The managed cluster SKU. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="storageProfile") + def storage_profile(self) -> pulumi.Output[Optional['outputs.ManagedClusterStorageProfileResponse']]: + """ + Storage profile for the managed cluster. + """ + return pulumi.get(self, "storage_profile") + + @property + @pulumi.getter(name="supportPlan") + def support_plan(self) -> pulumi.Output[Optional[str]]: + """ + The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + """ + return pulumi.get(self, "support_plan") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="upgradeSettings") + def upgrade_settings(self) -> pulumi.Output[Optional['outputs.ClusterUpgradeSettingsResponse']]: + """ + Settings for upgrading a cluster. + """ + return pulumi.get(self, "upgrade_settings") + + @property + @pulumi.getter(name="windowsProfile") + def windows_profile(self) -> pulumi.Output[Optional['outputs.ManagedClusterWindowsProfileResponse']]: + """ + The profile for Windows VMs in the Managed Cluster. + """ + return pulumi.get(self, "windows_profile") + + @property + @pulumi.getter(name="workloadAutoScalerProfile") + def workload_auto_scaler_profile(self) -> pulumi.Output[Optional['outputs.ManagedClusterWorkloadAutoScalerProfileResponse']]: + """ + Workload Auto-scaler profile for the managed cluster. + """ + return pulumi.get(self, "workload_auto_scaler_profile") + diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/outputs.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/outputs.py new file mode 100644 index 000000000000..a3b306ee6a12 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/outputs.py @@ -0,0 +1,5551 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'AbsoluteMonthlyScheduleResponse', + 'AgentPoolUpgradeSettingsResponse', + 'AzureKeyVaultKmsResponse', + 'ClusterUpgradeSettingsResponse', + 'ContainerServiceLinuxProfileResponse', + 'ContainerServiceNetworkProfileResponse', + 'ContainerServiceSshConfigurationResponse', + 'ContainerServiceSshPublicKeyResponse', + 'CreationDataResponse', + 'CredentialResultResponse', + 'DailyScheduleResponse', + 'DateSpanResponse', + 'DelegatedResourceResponse', + 'ExtendedLocationResponse', + 'KubeletConfigResponse', + 'LinuxOSConfigResponse', + 'MaintenanceWindowResponse', + 'ManagedClusterAADProfileResponse', + 'ManagedClusterAPIServerAccessProfileResponse', + 'ManagedClusterAddonProfileResponse', + 'ManagedClusterAddonProfileResponseIdentity', + 'ManagedClusterAgentPoolProfileResponse', + 'ManagedClusterAutoUpgradeProfileResponse', + 'ManagedClusterAzureMonitorProfileKubeStateMetricsResponse', + 'ManagedClusterAzureMonitorProfileMetricsResponse', + 'ManagedClusterAzureMonitorProfileResponse', + 'ManagedClusterHTTPProxyConfigResponse', + 'ManagedClusterIdentityResponse', + 'ManagedClusterIdentityResponseUserAssignedIdentities', + 'ManagedClusterLoadBalancerProfileResponse', + 'ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs', + 'ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes', + 'ManagedClusterLoadBalancerProfileResponseOutboundIPs', + 'ManagedClusterManagedOutboundIPProfileResponse', + 'ManagedClusterNATGatewayProfileResponse', + 'ManagedClusterOIDCIssuerProfileResponse', + 'ManagedClusterPodIdentityExceptionResponse', + 'ManagedClusterPodIdentityProfileResponse', + 'ManagedClusterPodIdentityProvisioningErrorBodyResponse', + 'ManagedClusterPodIdentityProvisioningErrorResponse', + 'ManagedClusterPodIdentityResponse', + 'ManagedClusterPodIdentityResponseProvisioningInfo', + 'ManagedClusterPropertiesResponseAutoScalerProfile', + 'ManagedClusterSKUResponse', + 'ManagedClusterSecurityProfileDefenderResponse', + 'ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse', + 'ManagedClusterSecurityProfileImageCleanerResponse', + 'ManagedClusterSecurityProfileResponse', + 'ManagedClusterSecurityProfileWorkloadIdentityResponse', + 'ManagedClusterServicePrincipalProfileResponse', + 'ManagedClusterStorageProfileBlobCSIDriverResponse', + 'ManagedClusterStorageProfileDiskCSIDriverResponse', + 'ManagedClusterStorageProfileFileCSIDriverResponse', + 'ManagedClusterStorageProfileResponse', + 'ManagedClusterStorageProfileSnapshotControllerResponse', + 'ManagedClusterWindowsProfileResponse', + 'ManagedClusterWorkloadAutoScalerProfileKedaResponse', + 'ManagedClusterWorkloadAutoScalerProfileResponse', + 'ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse', + 'PowerStateResponse', + 'PrivateEndpointResponse', + 'PrivateLinkResourceResponse', + 'PrivateLinkServiceConnectionStateResponse', + 'RelativeMonthlyScheduleResponse', + 'ResourceReferenceResponse', + 'ScheduleResponse', + 'SysctlConfigResponse', + 'SystemDataResponse', + 'TimeInWeekResponse', + 'TimeSpanResponse', + 'UpgradeOverrideSettingsResponse', + 'UserAssignedIdentityResponse', + 'WeeklyScheduleResponse', + 'WindowsGmsaProfileResponse', +] + +@pulumi.output_type +class AbsoluteMonthlyScheduleResponse(dict): + """ + For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dayOfMonth": + suggest = "day_of_month" + elif key == "intervalMonths": + suggest = "interval_months" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AbsoluteMonthlyScheduleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AbsoluteMonthlyScheduleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AbsoluteMonthlyScheduleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + day_of_month: int, + interval_months: int): + """ + For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + :param int day_of_month: The date of the month. + :param int interval_months: Specifies the number of months between each set of occurrences. + """ + pulumi.set(__self__, "day_of_month", day_of_month) + pulumi.set(__self__, "interval_months", interval_months) + + @property + @pulumi.getter(name="dayOfMonth") + def day_of_month(self) -> int: + """ + The date of the month. + """ + return pulumi.get(self, "day_of_month") + + @property + @pulumi.getter(name="intervalMonths") + def interval_months(self) -> int: + """ + Specifies the number of months between each set of occurrences. + """ + return pulumi.get(self, "interval_months") + + +@pulumi.output_type +class AgentPoolUpgradeSettingsResponse(dict): + """ + Settings for upgrading an agentpool + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "drainTimeoutInMinutes": + suggest = "drain_timeout_in_minutes" + elif key == "maxSurge": + suggest = "max_surge" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentPoolUpgradeSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentPoolUpgradeSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentPoolUpgradeSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + drain_timeout_in_minutes: Optional[int] = None, + max_surge: Optional[str] = None): + """ + Settings for upgrading an agentpool + :param int drain_timeout_in_minutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. + :param str max_surge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + """ + if drain_timeout_in_minutes is not None: + pulumi.set(__self__, "drain_timeout_in_minutes", drain_timeout_in_minutes) + if max_surge is not None: + pulumi.set(__self__, "max_surge", max_surge) + + @property + @pulumi.getter(name="drainTimeoutInMinutes") + def drain_timeout_in_minutes(self) -> Optional[int]: + """ + The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. + """ + return pulumi.get(self, "drain_timeout_in_minutes") + + @property + @pulumi.getter(name="maxSurge") + def max_surge(self) -> Optional[str]: + """ + This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + """ + return pulumi.get(self, "max_surge") + + +@pulumi.output_type +class AzureKeyVaultKmsResponse(dict): + """ + Azure Key Vault key management service settings for the security profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyId": + suggest = "key_id" + elif key == "keyVaultNetworkAccess": + suggest = "key_vault_network_access" + elif key == "keyVaultResourceId": + suggest = "key_vault_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AzureKeyVaultKmsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AzureKeyVaultKmsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AzureKeyVaultKmsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: Optional[bool] = None, + key_id: Optional[str] = None, + key_vault_network_access: Optional[str] = None, + key_vault_resource_id: Optional[str] = None): + """ + Azure Key Vault key management service settings for the security profile. + :param bool enabled: Whether to enable Azure Key Vault key management service. The default is false. + :param str key_id: Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + :param str key_vault_network_access: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + :param str key_vault_resource_id: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if key_id is not None: + pulumi.set(__self__, "key_id", key_id) + if key_vault_network_access is None: + key_vault_network_access = 'Public' + if key_vault_network_access is not None: + pulumi.set(__self__, "key_vault_network_access", key_vault_network_access) + if key_vault_resource_id is not None: + pulumi.set(__self__, "key_vault_resource_id", key_vault_resource_id) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether to enable Azure Key Vault key management service. The default is false. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="keyId") + def key_id(self) -> Optional[str]: + """ + Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + """ + return pulumi.get(self, "key_id") + + @property + @pulumi.getter(name="keyVaultNetworkAccess") + def key_vault_network_access(self) -> Optional[str]: + """ + Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + """ + return pulumi.get(self, "key_vault_network_access") + + @property + @pulumi.getter(name="keyVaultResourceId") + def key_vault_resource_id(self) -> Optional[str]: + """ + Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + """ + return pulumi.get(self, "key_vault_resource_id") + + +@pulumi.output_type +class ClusterUpgradeSettingsResponse(dict): + """ + Settings for upgrading a cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "overrideSettings": + suggest = "override_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterUpgradeSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterUpgradeSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterUpgradeSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + override_settings: Optional['outputs.UpgradeOverrideSettingsResponse'] = None): + """ + Settings for upgrading a cluster. + :param 'UpgradeOverrideSettingsResponse' override_settings: Settings for overrides. + """ + if override_settings is not None: + pulumi.set(__self__, "override_settings", override_settings) + + @property + @pulumi.getter(name="overrideSettings") + def override_settings(self) -> Optional['outputs.UpgradeOverrideSettingsResponse']: + """ + Settings for overrides. + """ + return pulumi.get(self, "override_settings") + + +@pulumi.output_type +class ContainerServiceLinuxProfileResponse(dict): + """ + Profile for Linux VMs in the container service cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "adminUsername": + suggest = "admin_username" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ContainerServiceLinuxProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ContainerServiceLinuxProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ContainerServiceLinuxProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + admin_username: str, + ssh: 'outputs.ContainerServiceSshConfigurationResponse'): + """ + Profile for Linux VMs in the container service cluster. + :param str admin_username: The administrator username to use for Linux VMs. + :param 'ContainerServiceSshConfigurationResponse' ssh: The SSH configuration for Linux-based VMs running on Azure. + """ + pulumi.set(__self__, "admin_username", admin_username) + pulumi.set(__self__, "ssh", ssh) + + @property + @pulumi.getter(name="adminUsername") + def admin_username(self) -> str: + """ + The administrator username to use for Linux VMs. + """ + return pulumi.get(self, "admin_username") + + @property + @pulumi.getter + def ssh(self) -> 'outputs.ContainerServiceSshConfigurationResponse': + """ + The SSH configuration for Linux-based VMs running on Azure. + """ + return pulumi.get(self, "ssh") + + +@pulumi.output_type +class ContainerServiceNetworkProfileResponse(dict): + """ + Profile of network configuration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dnsServiceIP": + suggest = "dns_service_ip" + elif key == "ipFamilies": + suggest = "ip_families" + elif key == "loadBalancerProfile": + suggest = "load_balancer_profile" + elif key == "loadBalancerSku": + suggest = "load_balancer_sku" + elif key == "natGatewayProfile": + suggest = "nat_gateway_profile" + elif key == "networkDataplane": + suggest = "network_dataplane" + elif key == "networkMode": + suggest = "network_mode" + elif key == "networkPlugin": + suggest = "network_plugin" + elif key == "networkPluginMode": + suggest = "network_plugin_mode" + elif key == "networkPolicy": + suggest = "network_policy" + elif key == "outboundType": + suggest = "outbound_type" + elif key == "podCidr": + suggest = "pod_cidr" + elif key == "podCidrs": + suggest = "pod_cidrs" + elif key == "serviceCidr": + suggest = "service_cidr" + elif key == "serviceCidrs": + suggest = "service_cidrs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ContainerServiceNetworkProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ContainerServiceNetworkProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ContainerServiceNetworkProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dns_service_ip: Optional[str] = None, + ip_families: Optional[Sequence[str]] = None, + load_balancer_profile: Optional['outputs.ManagedClusterLoadBalancerProfileResponse'] = None, + load_balancer_sku: Optional[str] = None, + nat_gateway_profile: Optional['outputs.ManagedClusterNATGatewayProfileResponse'] = None, + network_dataplane: Optional[str] = None, + network_mode: Optional[str] = None, + network_plugin: Optional[str] = None, + network_plugin_mode: Optional[str] = None, + network_policy: Optional[str] = None, + outbound_type: Optional[str] = None, + pod_cidr: Optional[str] = None, + pod_cidrs: Optional[Sequence[str]] = None, + service_cidr: Optional[str] = None, + service_cidrs: Optional[Sequence[str]] = None): + """ + Profile of network configuration. + :param str dns_service_ip: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + :param Sequence[str] ip_families: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + :param 'ManagedClusterLoadBalancerProfileResponse' load_balancer_profile: Profile of the cluster load balancer. + :param str load_balancer_sku: The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + :param 'ManagedClusterNATGatewayProfileResponse' nat_gateway_profile: Profile of the cluster NAT gateway. + :param str network_dataplane: Network dataplane used in the Kubernetes cluster. + :param str network_mode: This cannot be specified if networkPlugin is anything other than 'azure'. + :param str network_plugin: Network plugin used for building the Kubernetes network. + :param str network_plugin_mode: The mode the network plugin should use. + :param str network_policy: Network policy used for building the Kubernetes network. + :param str outbound_type: This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + :param str pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. + :param Sequence[str] pod_cidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + :param str service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + :param Sequence[str] service_cidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + """ + if dns_service_ip is None: + dns_service_ip = '10.0.0.10' + if dns_service_ip is not None: + pulumi.set(__self__, "dns_service_ip", dns_service_ip) + if ip_families is not None: + pulumi.set(__self__, "ip_families", ip_families) + if load_balancer_profile is not None: + pulumi.set(__self__, "load_balancer_profile", load_balancer_profile) + if load_balancer_sku is not None: + pulumi.set(__self__, "load_balancer_sku", load_balancer_sku) + if nat_gateway_profile is not None: + pulumi.set(__self__, "nat_gateway_profile", nat_gateway_profile) + if network_dataplane is not None: + pulumi.set(__self__, "network_dataplane", network_dataplane) + if network_mode is not None: + pulumi.set(__self__, "network_mode", network_mode) + if network_plugin is None: + network_plugin = 'kubenet' + if network_plugin is not None: + pulumi.set(__self__, "network_plugin", network_plugin) + if network_plugin_mode is not None: + pulumi.set(__self__, "network_plugin_mode", network_plugin_mode) + if network_policy is not None: + pulumi.set(__self__, "network_policy", network_policy) + if outbound_type is None: + outbound_type = 'loadBalancer' + if outbound_type is not None: + pulumi.set(__self__, "outbound_type", outbound_type) + if pod_cidr is None: + pod_cidr = '10.244.0.0/16' + if pod_cidr is not None: + pulumi.set(__self__, "pod_cidr", pod_cidr) + if pod_cidrs is not None: + pulumi.set(__self__, "pod_cidrs", pod_cidrs) + if service_cidr is None: + service_cidr = '10.0.0.0/16' + if service_cidr is not None: + pulumi.set(__self__, "service_cidr", service_cidr) + if service_cidrs is not None: + pulumi.set(__self__, "service_cidrs", service_cidrs) + + @property + @pulumi.getter(name="dnsServiceIP") + def dns_service_ip(self) -> Optional[str]: + """ + An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + """ + return pulumi.get(self, "dns_service_ip") + + @property + @pulumi.getter(name="ipFamilies") + def ip_families(self) -> Optional[Sequence[str]]: + """ + IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + """ + return pulumi.get(self, "ip_families") + + @property + @pulumi.getter(name="loadBalancerProfile") + def load_balancer_profile(self) -> Optional['outputs.ManagedClusterLoadBalancerProfileResponse']: + """ + Profile of the cluster load balancer. + """ + return pulumi.get(self, "load_balancer_profile") + + @property + @pulumi.getter(name="loadBalancerSku") + def load_balancer_sku(self) -> Optional[str]: + """ + The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + """ + return pulumi.get(self, "load_balancer_sku") + + @property + @pulumi.getter(name="natGatewayProfile") + def nat_gateway_profile(self) -> Optional['outputs.ManagedClusterNATGatewayProfileResponse']: + """ + Profile of the cluster NAT gateway. + """ + return pulumi.get(self, "nat_gateway_profile") + + @property + @pulumi.getter(name="networkDataplane") + def network_dataplane(self) -> Optional[str]: + """ + Network dataplane used in the Kubernetes cluster. + """ + return pulumi.get(self, "network_dataplane") + + @property + @pulumi.getter(name="networkMode") + def network_mode(self) -> Optional[str]: + """ + This cannot be specified if networkPlugin is anything other than 'azure'. + """ + return pulumi.get(self, "network_mode") + + @property + @pulumi.getter(name="networkPlugin") + def network_plugin(self) -> Optional[str]: + """ + Network plugin used for building the Kubernetes network. + """ + return pulumi.get(self, "network_plugin") + + @property + @pulumi.getter(name="networkPluginMode") + def network_plugin_mode(self) -> Optional[str]: + """ + The mode the network plugin should use. + """ + return pulumi.get(self, "network_plugin_mode") + + @property + @pulumi.getter(name="networkPolicy") + def network_policy(self) -> Optional[str]: + """ + Network policy used for building the Kubernetes network. + """ + return pulumi.get(self, "network_policy") + + @property + @pulumi.getter(name="outboundType") + def outbound_type(self) -> Optional[str]: + """ + This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + """ + return pulumi.get(self, "outbound_type") + + @property + @pulumi.getter(name="podCidr") + def pod_cidr(self) -> Optional[str]: + """ + A CIDR notation IP range from which to assign pod IPs when kubenet is used. + """ + return pulumi.get(self, "pod_cidr") + + @property + @pulumi.getter(name="podCidrs") + def pod_cidrs(self) -> Optional[Sequence[str]]: + """ + One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + """ + return pulumi.get(self, "pod_cidrs") + + @property + @pulumi.getter(name="serviceCidr") + def service_cidr(self) -> Optional[str]: + """ + A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + """ + return pulumi.get(self, "service_cidr") + + @property + @pulumi.getter(name="serviceCidrs") + def service_cidrs(self) -> Optional[Sequence[str]]: + """ + One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + """ + return pulumi.get(self, "service_cidrs") + + +@pulumi.output_type +class ContainerServiceSshConfigurationResponse(dict): + """ + SSH configuration for Linux-based VMs running on Azure. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "publicKeys": + suggest = "public_keys" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ContainerServiceSshConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ContainerServiceSshConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ContainerServiceSshConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + public_keys: Sequence['outputs.ContainerServiceSshPublicKeyResponse']): + """ + SSH configuration for Linux-based VMs running on Azure. + :param Sequence['ContainerServiceSshPublicKeyResponse'] public_keys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + """ + pulumi.set(__self__, "public_keys", public_keys) + + @property + @pulumi.getter(name="publicKeys") + def public_keys(self) -> Sequence['outputs.ContainerServiceSshPublicKeyResponse']: + """ + The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + """ + return pulumi.get(self, "public_keys") + + +@pulumi.output_type +class ContainerServiceSshPublicKeyResponse(dict): + """ + Contains information about SSH certificate public key data. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyData": + suggest = "key_data" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ContainerServiceSshPublicKeyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ContainerServiceSshPublicKeyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ContainerServiceSshPublicKeyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_data: str): + """ + Contains information about SSH certificate public key data. + :param str key_data: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + """ + pulumi.set(__self__, "key_data", key_data) + + @property + @pulumi.getter(name="keyData") + def key_data(self) -> str: + """ + Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + """ + return pulumi.get(self, "key_data") + + +@pulumi.output_type +class CreationDataResponse(dict): + """ + Data used when creating a target resource from a source resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sourceResourceId": + suggest = "source_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CreationDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CreationDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CreationDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + source_resource_id: Optional[str] = None): + """ + Data used when creating a target resource from a source resource. + :param str source_resource_id: This is the ARM ID of the source object to be used to create the target object. + """ + if source_resource_id is not None: + pulumi.set(__self__, "source_resource_id", source_resource_id) + + @property + @pulumi.getter(name="sourceResourceId") + def source_resource_id(self) -> Optional[str]: + """ + This is the ARM ID of the source object to be used to create the target object. + """ + return pulumi.get(self, "source_resource_id") + + +@pulumi.output_type +class CredentialResultResponse(dict): + """ + The credential result response. + """ + def __init__(__self__, *, + name: str, + value: str): + """ + The credential result response. + :param str name: The name of the credential. + :param str value: Base64-encoded Kubernetes configuration file. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the credential. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + """ + Base64-encoded Kubernetes configuration file. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DailyScheduleResponse(dict): + """ + For schedules like: 'recur every day' or 'recur every 3 days'. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "intervalDays": + suggest = "interval_days" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DailyScheduleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DailyScheduleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DailyScheduleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + interval_days: int): + """ + For schedules like: 'recur every day' or 'recur every 3 days'. + :param int interval_days: Specifies the number of days between each set of occurrences. + """ + pulumi.set(__self__, "interval_days", interval_days) + + @property + @pulumi.getter(name="intervalDays") + def interval_days(self) -> int: + """ + Specifies the number of days between each set of occurrences. + """ + return pulumi.get(self, "interval_days") + + +@pulumi.output_type +class DateSpanResponse(dict): + """ + For example, between '2022-12-23' and '2023-01-05'. + """ + def __init__(__self__, *, + end: str, + start: str): + """ + For example, between '2022-12-23' and '2023-01-05'. + :param str end: The end date of the date span. + :param str start: The start date of the date span. + """ + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> str: + """ + The end date of the date span. + """ + return pulumi.get(self, "end") + + @property + @pulumi.getter + def start(self) -> str: + """ + The start date of the date span. + """ + return pulumi.get(self, "start") + + +@pulumi.output_type +class DelegatedResourceResponse(dict): + """ + Delegated resource properties - internal use only. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "referralResource": + suggest = "referral_resource" + elif key == "resourceId": + suggest = "resource_id" + elif key == "tenantId": + suggest = "tenant_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DelegatedResourceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DelegatedResourceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DelegatedResourceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + location: Optional[str] = None, + referral_resource: Optional[str] = None, + resource_id: Optional[str] = None, + tenant_id: Optional[str] = None): + """ + Delegated resource properties - internal use only. + :param str location: The source resource location - internal use only. + :param str referral_resource: The delegation id of the referral delegation (optional) - internal use only. + :param str resource_id: The ARM resource id of the delegated resource - internal use only. + :param str tenant_id: The tenant id of the delegated resource - internal use only. + """ + if location is not None: + pulumi.set(__self__, "location", location) + if referral_resource is not None: + pulumi.set(__self__, "referral_resource", referral_resource) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if tenant_id is not None: + pulumi.set(__self__, "tenant_id", tenant_id) + + @property + @pulumi.getter + def location(self) -> Optional[str]: + """ + The source resource location - internal use only. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="referralResource") + def referral_resource(self) -> Optional[str]: + """ + The delegation id of the referral delegation (optional) - internal use only. + """ + return pulumi.get(self, "referral_resource") + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[str]: + """ + The ARM resource id of the delegated resource - internal use only. + """ + return pulumi.get(self, "resource_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> Optional[str]: + """ + The tenant id of the delegated resource - internal use only. + """ + return pulumi.get(self, "tenant_id") + + +@pulumi.output_type +class ExtendedLocationResponse(dict): + """ + The complex type of the extended location. + """ + def __init__(__self__, *, + name: Optional[str] = None, + type: Optional[str] = None): + """ + The complex type of the extended location. + :param str name: The name of the extended location. + :param str type: The type of the extended location. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the extended location. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of the extended location. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class KubeletConfigResponse(dict): + """ + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allowedUnsafeSysctls": + suggest = "allowed_unsafe_sysctls" + elif key == "containerLogMaxFiles": + suggest = "container_log_max_files" + elif key == "containerLogMaxSizeMB": + suggest = "container_log_max_size_mb" + elif key == "cpuCfsQuota": + suggest = "cpu_cfs_quota" + elif key == "cpuCfsQuotaPeriod": + suggest = "cpu_cfs_quota_period" + elif key == "cpuManagerPolicy": + suggest = "cpu_manager_policy" + elif key == "failSwapOn": + suggest = "fail_swap_on" + elif key == "imageGcHighThreshold": + suggest = "image_gc_high_threshold" + elif key == "imageGcLowThreshold": + suggest = "image_gc_low_threshold" + elif key == "podMaxPids": + suggest = "pod_max_pids" + elif key == "topologyManagerPolicy": + suggest = "topology_manager_policy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in KubeletConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + KubeletConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + KubeletConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + allowed_unsafe_sysctls: Optional[Sequence[str]] = None, + container_log_max_files: Optional[int] = None, + container_log_max_size_mb: Optional[int] = None, + cpu_cfs_quota: Optional[bool] = None, + cpu_cfs_quota_period: Optional[str] = None, + cpu_manager_policy: Optional[str] = None, + fail_swap_on: Optional[bool] = None, + image_gc_high_threshold: Optional[int] = None, + image_gc_low_threshold: Optional[int] = None, + pod_max_pids: Optional[int] = None, + topology_manager_policy: Optional[str] = None): + """ + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + :param Sequence[str] allowed_unsafe_sysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + :param int container_log_max_files: The maximum number of container log files that can be present for a container. The number must be ≥ 2. + :param int container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it is rotated. + :param bool cpu_cfs_quota: The default is true. + :param str cpu_cfs_quota_period: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + :param str cpu_manager_policy: The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + :param bool fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled on the node. + :param int image_gc_high_threshold: To disable image garbage collection, set to 100. The default is 85% + :param int image_gc_low_threshold: This cannot be set higher than imageGcHighThreshold. The default is 80% + :param int pod_max_pids: The maximum number of processes per pod. + :param str topology_manager_policy: For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + """ + if allowed_unsafe_sysctls is not None: + pulumi.set(__self__, "allowed_unsafe_sysctls", allowed_unsafe_sysctls) + if container_log_max_files is not None: + pulumi.set(__self__, "container_log_max_files", container_log_max_files) + if container_log_max_size_mb is not None: + pulumi.set(__self__, "container_log_max_size_mb", container_log_max_size_mb) + if cpu_cfs_quota is not None: + pulumi.set(__self__, "cpu_cfs_quota", cpu_cfs_quota) + if cpu_cfs_quota_period is not None: + pulumi.set(__self__, "cpu_cfs_quota_period", cpu_cfs_quota_period) + if cpu_manager_policy is not None: + pulumi.set(__self__, "cpu_manager_policy", cpu_manager_policy) + if fail_swap_on is not None: + pulumi.set(__self__, "fail_swap_on", fail_swap_on) + if image_gc_high_threshold is not None: + pulumi.set(__self__, "image_gc_high_threshold", image_gc_high_threshold) + if image_gc_low_threshold is not None: + pulumi.set(__self__, "image_gc_low_threshold", image_gc_low_threshold) + if pod_max_pids is not None: + pulumi.set(__self__, "pod_max_pids", pod_max_pids) + if topology_manager_policy is not None: + pulumi.set(__self__, "topology_manager_policy", topology_manager_policy) + + @property + @pulumi.getter(name="allowedUnsafeSysctls") + def allowed_unsafe_sysctls(self) -> Optional[Sequence[str]]: + """ + Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + """ + return pulumi.get(self, "allowed_unsafe_sysctls") + + @property + @pulumi.getter(name="containerLogMaxFiles") + def container_log_max_files(self) -> Optional[int]: + """ + The maximum number of container log files that can be present for a container. The number must be ≥ 2. + """ + return pulumi.get(self, "container_log_max_files") + + @property + @pulumi.getter(name="containerLogMaxSizeMB") + def container_log_max_size_mb(self) -> Optional[int]: + """ + The maximum size (e.g. 10Mi) of container log file before it is rotated. + """ + return pulumi.get(self, "container_log_max_size_mb") + + @property + @pulumi.getter(name="cpuCfsQuota") + def cpu_cfs_quota(self) -> Optional[bool]: + """ + The default is true. + """ + return pulumi.get(self, "cpu_cfs_quota") + + @property + @pulumi.getter(name="cpuCfsQuotaPeriod") + def cpu_cfs_quota_period(self) -> Optional[str]: + """ + The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + """ + return pulumi.get(self, "cpu_cfs_quota_period") + + @property + @pulumi.getter(name="cpuManagerPolicy") + def cpu_manager_policy(self) -> Optional[str]: + """ + The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + """ + return pulumi.get(self, "cpu_manager_policy") + + @property + @pulumi.getter(name="failSwapOn") + def fail_swap_on(self) -> Optional[bool]: + """ + If set to true it will make the Kubelet fail to start if swap is enabled on the node. + """ + return pulumi.get(self, "fail_swap_on") + + @property + @pulumi.getter(name="imageGcHighThreshold") + def image_gc_high_threshold(self) -> Optional[int]: + """ + To disable image garbage collection, set to 100. The default is 85% + """ + return pulumi.get(self, "image_gc_high_threshold") + + @property + @pulumi.getter(name="imageGcLowThreshold") + def image_gc_low_threshold(self) -> Optional[int]: + """ + This cannot be set higher than imageGcHighThreshold. The default is 80% + """ + return pulumi.get(self, "image_gc_low_threshold") + + @property + @pulumi.getter(name="podMaxPids") + def pod_max_pids(self) -> Optional[int]: + """ + The maximum number of processes per pod. + """ + return pulumi.get(self, "pod_max_pids") + + @property + @pulumi.getter(name="topologyManagerPolicy") + def topology_manager_policy(self) -> Optional[str]: + """ + For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + """ + return pulumi.get(self, "topology_manager_policy") + + +@pulumi.output_type +class LinuxOSConfigResponse(dict): + """ + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "swapFileSizeMB": + suggest = "swap_file_size_mb" + elif key == "transparentHugePageDefrag": + suggest = "transparent_huge_page_defrag" + elif key == "transparentHugePageEnabled": + suggest = "transparent_huge_page_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LinuxOSConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LinuxOSConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LinuxOSConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + swap_file_size_mb: Optional[int] = None, + sysctls: Optional['outputs.SysctlConfigResponse'] = None, + transparent_huge_page_defrag: Optional[str] = None, + transparent_huge_page_enabled: Optional[str] = None): + """ + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + :param int swap_file_size_mb: The size in MB of a swap file that will be created on each node. + :param 'SysctlConfigResponse' sysctls: Sysctl settings for Linux agent nodes. + :param str transparent_huge_page_defrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + :param str transparent_huge_page_enabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + """ + if swap_file_size_mb is not None: + pulumi.set(__self__, "swap_file_size_mb", swap_file_size_mb) + if sysctls is not None: + pulumi.set(__self__, "sysctls", sysctls) + if transparent_huge_page_defrag is not None: + pulumi.set(__self__, "transparent_huge_page_defrag", transparent_huge_page_defrag) + if transparent_huge_page_enabled is not None: + pulumi.set(__self__, "transparent_huge_page_enabled", transparent_huge_page_enabled) + + @property + @pulumi.getter(name="swapFileSizeMB") + def swap_file_size_mb(self) -> Optional[int]: + """ + The size in MB of a swap file that will be created on each node. + """ + return pulumi.get(self, "swap_file_size_mb") + + @property + @pulumi.getter + def sysctls(self) -> Optional['outputs.SysctlConfigResponse']: + """ + Sysctl settings for Linux agent nodes. + """ + return pulumi.get(self, "sysctls") + + @property + @pulumi.getter(name="transparentHugePageDefrag") + def transparent_huge_page_defrag(self) -> Optional[str]: + """ + Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + """ + return pulumi.get(self, "transparent_huge_page_defrag") + + @property + @pulumi.getter(name="transparentHugePageEnabled") + def transparent_huge_page_enabled(self) -> Optional[str]: + """ + Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + """ + return pulumi.get(self, "transparent_huge_page_enabled") + + +@pulumi.output_type +class MaintenanceWindowResponse(dict): + """ + Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "durationHours": + suggest = "duration_hours" + elif key == "startTime": + suggest = "start_time" + elif key == "notAllowedDates": + suggest = "not_allowed_dates" + elif key == "startDate": + suggest = "start_date" + elif key == "utcOffset": + suggest = "utc_offset" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MaintenanceWindowResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MaintenanceWindowResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MaintenanceWindowResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + duration_hours: int, + schedule: 'outputs.ScheduleResponse', + start_time: str, + not_allowed_dates: Optional[Sequence['outputs.DateSpanResponse']] = None, + start_date: Optional[str] = None, + utc_offset: Optional[str] = None): + """ + Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + :param int duration_hours: Length of maintenance window range from 4 to 24 hours. + :param 'ScheduleResponse' schedule: Recurrence schedule for the maintenance window. + :param str start_time: The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + :param Sequence['DateSpanResponse'] not_allowed_dates: Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. + :param str start_date: The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + :param str utc_offset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. + """ + if duration_hours is None: + duration_hours = 24 + pulumi.set(__self__, "duration_hours", duration_hours) + pulumi.set(__self__, "schedule", schedule) + pulumi.set(__self__, "start_time", start_time) + if not_allowed_dates is not None: + pulumi.set(__self__, "not_allowed_dates", not_allowed_dates) + if start_date is not None: + pulumi.set(__self__, "start_date", start_date) + if utc_offset is not None: + pulumi.set(__self__, "utc_offset", utc_offset) + + @property + @pulumi.getter(name="durationHours") + def duration_hours(self) -> int: + """ + Length of maintenance window range from 4 to 24 hours. + """ + return pulumi.get(self, "duration_hours") + + @property + @pulumi.getter + def schedule(self) -> 'outputs.ScheduleResponse': + """ + Recurrence schedule for the maintenance window. + """ + return pulumi.get(self, "schedule") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> str: + """ + The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + """ + return pulumi.get(self, "start_time") + + @property + @pulumi.getter(name="notAllowedDates") + def not_allowed_dates(self) -> Optional[Sequence['outputs.DateSpanResponse']]: + """ + Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. + """ + return pulumi.get(self, "not_allowed_dates") + + @property + @pulumi.getter(name="startDate") + def start_date(self) -> Optional[str]: + """ + The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + """ + return pulumi.get(self, "start_date") + + @property + @pulumi.getter(name="utcOffset") + def utc_offset(self) -> Optional[str]: + """ + The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. + """ + return pulumi.get(self, "utc_offset") + + +@pulumi.output_type +class ManagedClusterAADProfileResponse(dict): + """ + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "adminGroupObjectIDs": + suggest = "admin_group_object_ids" + elif key == "clientAppID": + suggest = "client_app_id" + elif key == "enableAzureRBAC": + suggest = "enable_azure_rbac" + elif key == "serverAppID": + suggest = "server_app_id" + elif key == "serverAppSecret": + suggest = "server_app_secret" + elif key == "tenantID": + suggest = "tenant_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterAADProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterAADProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterAADProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + admin_group_object_ids: Optional[Sequence[str]] = None, + client_app_id: Optional[str] = None, + enable_azure_rbac: Optional[bool] = None, + managed: Optional[bool] = None, + server_app_id: Optional[str] = None, + server_app_secret: Optional[str] = None, + tenant_id: Optional[str] = None): + """ + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + :param Sequence[str] admin_group_object_ids: The list of AAD group object IDs that will have admin role of the cluster. + :param str client_app_id: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + :param bool enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. + :param bool managed: Whether to enable managed AAD. + :param str server_app_id: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + :param str server_app_secret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + :param str tenant_id: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + """ + if admin_group_object_ids is not None: + pulumi.set(__self__, "admin_group_object_ids", admin_group_object_ids) + if client_app_id is not None: + pulumi.set(__self__, "client_app_id", client_app_id) + if enable_azure_rbac is not None: + pulumi.set(__self__, "enable_azure_rbac", enable_azure_rbac) + if managed is not None: + pulumi.set(__self__, "managed", managed) + if server_app_id is not None: + pulumi.set(__self__, "server_app_id", server_app_id) + if server_app_secret is not None: + pulumi.set(__self__, "server_app_secret", server_app_secret) + if tenant_id is not None: + pulumi.set(__self__, "tenant_id", tenant_id) + + @property + @pulumi.getter(name="adminGroupObjectIDs") + def admin_group_object_ids(self) -> Optional[Sequence[str]]: + """ + The list of AAD group object IDs that will have admin role of the cluster. + """ + return pulumi.get(self, "admin_group_object_ids") + + @property + @pulumi.getter(name="clientAppID") + def client_app_id(self) -> Optional[str]: + """ + (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + """ + return pulumi.get(self, "client_app_id") + + @property + @pulumi.getter(name="enableAzureRBAC") + def enable_azure_rbac(self) -> Optional[bool]: + """ + Whether to enable Azure RBAC for Kubernetes authorization. + """ + return pulumi.get(self, "enable_azure_rbac") + + @property + @pulumi.getter + def managed(self) -> Optional[bool]: + """ + Whether to enable managed AAD. + """ + return pulumi.get(self, "managed") + + @property + @pulumi.getter(name="serverAppID") + def server_app_id(self) -> Optional[str]: + """ + (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + """ + return pulumi.get(self, "server_app_id") + + @property + @pulumi.getter(name="serverAppSecret") + def server_app_secret(self) -> Optional[str]: + """ + (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + """ + return pulumi.get(self, "server_app_secret") + + @property + @pulumi.getter(name="tenantID") + def tenant_id(self) -> Optional[str]: + """ + The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + """ + return pulumi.get(self, "tenant_id") + + +@pulumi.output_type +class ManagedClusterAPIServerAccessProfileResponse(dict): + """ + Access profile for managed cluster API server. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authorizedIPRanges": + suggest = "authorized_ip_ranges" + elif key == "disableRunCommand": + suggest = "disable_run_command" + elif key == "enablePrivateCluster": + suggest = "enable_private_cluster" + elif key == "enablePrivateClusterPublicFQDN": + suggest = "enable_private_cluster_public_fqdn" + elif key == "privateDNSZone": + suggest = "private_dns_zone" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterAPIServerAccessProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterAPIServerAccessProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterAPIServerAccessProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + authorized_ip_ranges: Optional[Sequence[str]] = None, + disable_run_command: Optional[bool] = None, + enable_private_cluster: Optional[bool] = None, + enable_private_cluster_public_fqdn: Optional[bool] = None, + private_dns_zone: Optional[str] = None): + """ + Access profile for managed cluster API server. + :param Sequence[str] authorized_ip_ranges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + :param bool disable_run_command: Whether to disable run command for the cluster or not. + :param bool enable_private_cluster: For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + :param bool enable_private_cluster_public_fqdn: Whether to create additional public FQDN for private cluster or not. + :param str private_dns_zone: The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + """ + if authorized_ip_ranges is not None: + pulumi.set(__self__, "authorized_ip_ranges", authorized_ip_ranges) + if disable_run_command is not None: + pulumi.set(__self__, "disable_run_command", disable_run_command) + if enable_private_cluster is not None: + pulumi.set(__self__, "enable_private_cluster", enable_private_cluster) + if enable_private_cluster_public_fqdn is not None: + pulumi.set(__self__, "enable_private_cluster_public_fqdn", enable_private_cluster_public_fqdn) + if private_dns_zone is not None: + pulumi.set(__self__, "private_dns_zone", private_dns_zone) + + @property + @pulumi.getter(name="authorizedIPRanges") + def authorized_ip_ranges(self) -> Optional[Sequence[str]]: + """ + IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + """ + return pulumi.get(self, "authorized_ip_ranges") + + @property + @pulumi.getter(name="disableRunCommand") + def disable_run_command(self) -> Optional[bool]: + """ + Whether to disable run command for the cluster or not. + """ + return pulumi.get(self, "disable_run_command") + + @property + @pulumi.getter(name="enablePrivateCluster") + def enable_private_cluster(self) -> Optional[bool]: + """ + For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + """ + return pulumi.get(self, "enable_private_cluster") + + @property + @pulumi.getter(name="enablePrivateClusterPublicFQDN") + def enable_private_cluster_public_fqdn(self) -> Optional[bool]: + """ + Whether to create additional public FQDN for private cluster or not. + """ + return pulumi.get(self, "enable_private_cluster_public_fqdn") + + @property + @pulumi.getter(name="privateDNSZone") + def private_dns_zone(self) -> Optional[str]: + """ + The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + """ + return pulumi.get(self, "private_dns_zone") + + +@pulumi.output_type +class ManagedClusterAddonProfileResponse(dict): + """ + A Kubernetes add-on profile for a managed cluster. + """ + def __init__(__self__, *, + enabled: bool, + identity: 'outputs.ManagedClusterAddonProfileResponseIdentity', + config: Optional[Mapping[str, str]] = None): + """ + A Kubernetes add-on profile for a managed cluster. + :param bool enabled: Whether the add-on is enabled or not. + :param 'ManagedClusterAddonProfileResponseIdentity' identity: Information of user assigned identity used by this add-on. + :param Mapping[str, str] config: Key-value pairs for configuring an add-on. + """ + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "identity", identity) + if config is not None: + pulumi.set(__self__, "config", config) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether the add-on is enabled or not. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def identity(self) -> 'outputs.ManagedClusterAddonProfileResponseIdentity': + """ + Information of user assigned identity used by this add-on. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def config(self) -> Optional[Mapping[str, str]]: + """ + Key-value pairs for configuring an add-on. + """ + return pulumi.get(self, "config") + + +@pulumi.output_type +class ManagedClusterAddonProfileResponseIdentity(dict): + """ + Information of user assigned identity used by this add-on. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "objectId": + suggest = "object_id" + elif key == "resourceId": + suggest = "resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterAddonProfileResponseIdentity. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterAddonProfileResponseIdentity.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterAddonProfileResponseIdentity.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: Optional[str] = None, + object_id: Optional[str] = None, + resource_id: Optional[str] = None): + """ + Information of user assigned identity used by this add-on. + :param str client_id: The client ID of the user assigned identity. + :param str object_id: The object ID of the user assigned identity. + :param str resource_id: The resource ID of the user assigned identity. + """ + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) + if object_id is not None: + pulumi.set(__self__, "object_id", object_id) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[str]: + """ + The client ID of the user assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> Optional[str]: + """ + The object ID of the user assigned identity. + """ + return pulumi.get(self, "object_id") + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[str]: + """ + The resource ID of the user assigned identity. + """ + return pulumi.get(self, "resource_id") + + +@pulumi.output_type +class ManagedClusterAgentPoolProfileResponse(dict): + """ + Profile for the container service agent pool. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "currentOrchestratorVersion": + suggest = "current_orchestrator_version" + elif key == "nodeImageVersion": + suggest = "node_image_version" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "availabilityZones": + suggest = "availability_zones" + elif key == "creationData": + suggest = "creation_data" + elif key == "enableAutoScaling": + suggest = "enable_auto_scaling" + elif key == "enableEncryptionAtHost": + suggest = "enable_encryption_at_host" + elif key == "enableFIPS": + suggest = "enable_fips" + elif key == "enableNodePublicIP": + suggest = "enable_node_public_ip" + elif key == "enableUltraSSD": + suggest = "enable_ultra_ssd" + elif key == "gpuInstanceProfile": + suggest = "gpu_instance_profile" + elif key == "hostGroupID": + suggest = "host_group_id" + elif key == "kubeletConfig": + suggest = "kubelet_config" + elif key == "kubeletDiskType": + suggest = "kubelet_disk_type" + elif key == "linuxOSConfig": + suggest = "linux_os_config" + elif key == "maxCount": + suggest = "max_count" + elif key == "maxPods": + suggest = "max_pods" + elif key == "minCount": + suggest = "min_count" + elif key == "nodeLabels": + suggest = "node_labels" + elif key == "nodePublicIPPrefixID": + suggest = "node_public_ip_prefix_id" + elif key == "nodeTaints": + suggest = "node_taints" + elif key == "orchestratorVersion": + suggest = "orchestrator_version" + elif key == "osDiskSizeGB": + suggest = "os_disk_size_gb" + elif key == "osDiskType": + suggest = "os_disk_type" + elif key == "osSKU": + suggest = "os_sku" + elif key == "osType": + suggest = "os_type" + elif key == "podSubnetID": + suggest = "pod_subnet_id" + elif key == "powerState": + suggest = "power_state" + elif key == "proximityPlacementGroupID": + suggest = "proximity_placement_group_id" + elif key == "scaleDownMode": + suggest = "scale_down_mode" + elif key == "scaleSetEvictionPolicy": + suggest = "scale_set_eviction_policy" + elif key == "scaleSetPriority": + suggest = "scale_set_priority" + elif key == "spotMaxPrice": + suggest = "spot_max_price" + elif key == "upgradeSettings": + suggest = "upgrade_settings" + elif key == "vmSize": + suggest = "vm_size" + elif key == "vnetSubnetID": + suggest = "vnet_subnet_id" + elif key == "workloadRuntime": + suggest = "workload_runtime" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterAgentPoolProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterAgentPoolProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterAgentPoolProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + current_orchestrator_version: str, + name: str, + node_image_version: str, + provisioning_state: str, + availability_zones: Optional[Sequence[str]] = None, + count: Optional[int] = None, + creation_data: Optional['outputs.CreationDataResponse'] = None, + enable_auto_scaling: Optional[bool] = None, + enable_encryption_at_host: Optional[bool] = None, + enable_fips: Optional[bool] = None, + enable_node_public_ip: Optional[bool] = None, + enable_ultra_ssd: Optional[bool] = None, + gpu_instance_profile: Optional[str] = None, + host_group_id: Optional[str] = None, + kubelet_config: Optional['outputs.KubeletConfigResponse'] = None, + kubelet_disk_type: Optional[str] = None, + linux_os_config: Optional['outputs.LinuxOSConfigResponse'] = None, + max_count: Optional[int] = None, + max_pods: Optional[int] = None, + min_count: Optional[int] = None, + mode: Optional[str] = None, + node_labels: Optional[Mapping[str, str]] = None, + node_public_ip_prefix_id: Optional[str] = None, + node_taints: Optional[Sequence[str]] = None, + orchestrator_version: Optional[str] = None, + os_disk_size_gb: Optional[int] = None, + os_disk_type: Optional[str] = None, + os_sku: Optional[str] = None, + os_type: Optional[str] = None, + pod_subnet_id: Optional[str] = None, + power_state: Optional['outputs.PowerStateResponse'] = None, + proximity_placement_group_id: Optional[str] = None, + scale_down_mode: Optional[str] = None, + scale_set_eviction_policy: Optional[str] = None, + scale_set_priority: Optional[str] = None, + spot_max_price: Optional[float] = None, + tags: Optional[Mapping[str, str]] = None, + type: Optional[str] = None, + upgrade_settings: Optional['outputs.AgentPoolUpgradeSettingsResponse'] = None, + vm_size: Optional[str] = None, + vnet_subnet_id: Optional[str] = None, + workload_runtime: Optional[str] = None): + """ + Profile for the container service agent pool. + :param str current_orchestrator_version: If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + :param str name: Windows agent pool names must be 6 characters or less. + :param str node_image_version: The version of node image + :param str provisioning_state: The current deployment or provisioning state. + :param Sequence[str] availability_zones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + :param int count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + :param 'CreationDataResponse' creation_data: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + :param bool enable_auto_scaling: Whether to enable auto-scaler + :param bool enable_encryption_at_host: This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + :param bool enable_fips: See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + :param bool enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + :param bool enable_ultra_ssd: Whether to enable UltraSSD + :param str gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + :param str host_group_id: This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + :param 'KubeletConfigResponse' kubelet_config: The Kubelet configuration on the agent pool nodes. + :param str kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + :param 'LinuxOSConfigResponse' linux_os_config: The OS configuration of Linux agent nodes. + :param int max_count: The maximum number of nodes for auto-scaling + :param int max_pods: The maximum number of pods that can run on a node. + :param int min_count: The minimum number of nodes for auto-scaling + :param str mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + :param Mapping[str, str] node_labels: The node labels to be persisted across all nodes in agent pool. + :param str node_public_ip_prefix_id: This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + :param Sequence[str] node_taints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + :param str orchestrator_version: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + :param int os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + :param str os_disk_type: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + :param str os_sku: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + :param str os_type: The operating system type. The default is Linux. + :param str pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + :param 'PowerStateResponse' power_state: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + :param str proximity_placement_group_id: The ID for Proximity Placement Group. + :param str scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + :param str scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + :param str scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + :param float spot_max_price: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + :param Mapping[str, str] tags: The tags to be persisted on the agent pool virtual machine scale set. + :param str type: The type of Agent Pool. + :param 'AgentPoolUpgradeSettingsResponse' upgrade_settings: Settings for upgrading the agentpool + :param str vm_size: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + :param str vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + :param str workload_runtime: Determines the type of workload a node can run. + """ + pulumi.set(__self__, "current_orchestrator_version", current_orchestrator_version) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "node_image_version", node_image_version) + pulumi.set(__self__, "provisioning_state", provisioning_state) + if availability_zones is not None: + pulumi.set(__self__, "availability_zones", availability_zones) + if count is not None: + pulumi.set(__self__, "count", count) + if creation_data is not None: + pulumi.set(__self__, "creation_data", creation_data) + if enable_auto_scaling is not None: + pulumi.set(__self__, "enable_auto_scaling", enable_auto_scaling) + if enable_encryption_at_host is not None: + pulumi.set(__self__, "enable_encryption_at_host", enable_encryption_at_host) + if enable_fips is not None: + pulumi.set(__self__, "enable_fips", enable_fips) + if enable_node_public_ip is not None: + pulumi.set(__self__, "enable_node_public_ip", enable_node_public_ip) + if enable_ultra_ssd is not None: + pulumi.set(__self__, "enable_ultra_ssd", enable_ultra_ssd) + if gpu_instance_profile is not None: + pulumi.set(__self__, "gpu_instance_profile", gpu_instance_profile) + if host_group_id is not None: + pulumi.set(__self__, "host_group_id", host_group_id) + if kubelet_config is not None: + pulumi.set(__self__, "kubelet_config", kubelet_config) + if kubelet_disk_type is not None: + pulumi.set(__self__, "kubelet_disk_type", kubelet_disk_type) + if linux_os_config is not None: + pulumi.set(__self__, "linux_os_config", linux_os_config) + if max_count is not None: + pulumi.set(__self__, "max_count", max_count) + if max_pods is not None: + pulumi.set(__self__, "max_pods", max_pods) + if min_count is not None: + pulumi.set(__self__, "min_count", min_count) + if mode is not None: + pulumi.set(__self__, "mode", mode) + if node_labels is not None: + pulumi.set(__self__, "node_labels", node_labels) + if node_public_ip_prefix_id is not None: + pulumi.set(__self__, "node_public_ip_prefix_id", node_public_ip_prefix_id) + if node_taints is not None: + pulumi.set(__self__, "node_taints", node_taints) + if orchestrator_version is not None: + pulumi.set(__self__, "orchestrator_version", orchestrator_version) + if os_disk_size_gb is not None: + pulumi.set(__self__, "os_disk_size_gb", os_disk_size_gb) + if os_disk_type is not None: + pulumi.set(__self__, "os_disk_type", os_disk_type) + if os_sku is not None: + pulumi.set(__self__, "os_sku", os_sku) + if os_type is not None: + pulumi.set(__self__, "os_type", os_type) + if pod_subnet_id is not None: + pulumi.set(__self__, "pod_subnet_id", pod_subnet_id) + if power_state is not None: + pulumi.set(__self__, "power_state", power_state) + if proximity_placement_group_id is not None: + pulumi.set(__self__, "proximity_placement_group_id", proximity_placement_group_id) + if scale_down_mode is not None: + pulumi.set(__self__, "scale_down_mode", scale_down_mode) + if scale_set_eviction_policy is not None: + pulumi.set(__self__, "scale_set_eviction_policy", scale_set_eviction_policy) + if scale_set_priority is not None: + pulumi.set(__self__, "scale_set_priority", scale_set_priority) + if spot_max_price is not None: + pulumi.set(__self__, "spot_max_price", spot_max_price) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if type is not None: + pulumi.set(__self__, "type", type) + if upgrade_settings is not None: + pulumi.set(__self__, "upgrade_settings", upgrade_settings) + if vm_size is not None: + pulumi.set(__self__, "vm_size", vm_size) + if vnet_subnet_id is not None: + pulumi.set(__self__, "vnet_subnet_id", vnet_subnet_id) + if workload_runtime is not None: + pulumi.set(__self__, "workload_runtime", workload_runtime) + + @property + @pulumi.getter(name="currentOrchestratorVersion") + def current_orchestrator_version(self) -> str: + """ + If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + """ + return pulumi.get(self, "current_orchestrator_version") + + @property + @pulumi.getter + def name(self) -> str: + """ + Windows agent pool names must be 6 characters or less. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nodeImageVersion") + def node_image_version(self) -> str: + """ + The version of node image + """ + return pulumi.get(self, "node_image_version") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The current deployment or provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> Optional[Sequence[str]]: + """ + The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + """ + return pulumi.get(self, "availability_zones") + + @property + @pulumi.getter + def count(self) -> Optional[int]: + """ + Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> Optional['outputs.CreationDataResponse']: + """ + CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + """ + return pulumi.get(self, "creation_data") + + @property + @pulumi.getter(name="enableAutoScaling") + def enable_auto_scaling(self) -> Optional[bool]: + """ + Whether to enable auto-scaler + """ + return pulumi.get(self, "enable_auto_scaling") + + @property + @pulumi.getter(name="enableEncryptionAtHost") + def enable_encryption_at_host(self) -> Optional[bool]: + """ + This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + """ + return pulumi.get(self, "enable_encryption_at_host") + + @property + @pulumi.getter(name="enableFIPS") + def enable_fips(self) -> Optional[bool]: + """ + See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + """ + return pulumi.get(self, "enable_fips") + + @property + @pulumi.getter(name="enableNodePublicIP") + def enable_node_public_ip(self) -> Optional[bool]: + """ + Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + """ + return pulumi.get(self, "enable_node_public_ip") + + @property + @pulumi.getter(name="enableUltraSSD") + def enable_ultra_ssd(self) -> Optional[bool]: + """ + Whether to enable UltraSSD + """ + return pulumi.get(self, "enable_ultra_ssd") + + @property + @pulumi.getter(name="gpuInstanceProfile") + def gpu_instance_profile(self) -> Optional[str]: + """ + GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + """ + return pulumi.get(self, "gpu_instance_profile") + + @property + @pulumi.getter(name="hostGroupID") + def host_group_id(self) -> Optional[str]: + """ + This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + """ + return pulumi.get(self, "host_group_id") + + @property + @pulumi.getter(name="kubeletConfig") + def kubelet_config(self) -> Optional['outputs.KubeletConfigResponse']: + """ + The Kubelet configuration on the agent pool nodes. + """ + return pulumi.get(self, "kubelet_config") + + @property + @pulumi.getter(name="kubeletDiskType") + def kubelet_disk_type(self) -> Optional[str]: + """ + Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + """ + return pulumi.get(self, "kubelet_disk_type") + + @property + @pulumi.getter(name="linuxOSConfig") + def linux_os_config(self) -> Optional['outputs.LinuxOSConfigResponse']: + """ + The OS configuration of Linux agent nodes. + """ + return pulumi.get(self, "linux_os_config") + + @property + @pulumi.getter(name="maxCount") + def max_count(self) -> Optional[int]: + """ + The maximum number of nodes for auto-scaling + """ + return pulumi.get(self, "max_count") + + @property + @pulumi.getter(name="maxPods") + def max_pods(self) -> Optional[int]: + """ + The maximum number of pods that can run on a node. + """ + return pulumi.get(self, "max_pods") + + @property + @pulumi.getter(name="minCount") + def min_count(self) -> Optional[int]: + """ + The minimum number of nodes for auto-scaling + """ + return pulumi.get(self, "min_count") + + @property + @pulumi.getter + def mode(self) -> Optional[str]: + """ + A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + """ + return pulumi.get(self, "mode") + + @property + @pulumi.getter(name="nodeLabels") + def node_labels(self) -> Optional[Mapping[str, str]]: + """ + The node labels to be persisted across all nodes in agent pool. + """ + return pulumi.get(self, "node_labels") + + @property + @pulumi.getter(name="nodePublicIPPrefixID") + def node_public_ip_prefix_id(self) -> Optional[str]: + """ + This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + """ + return pulumi.get(self, "node_public_ip_prefix_id") + + @property + @pulumi.getter(name="nodeTaints") + def node_taints(self) -> Optional[Sequence[str]]: + """ + The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + """ + return pulumi.get(self, "node_taints") + + @property + @pulumi.getter(name="orchestratorVersion") + def orchestrator_version(self) -> Optional[str]: + """ + Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + """ + return pulumi.get(self, "orchestrator_version") + + @property + @pulumi.getter(name="osDiskSizeGB") + def os_disk_size_gb(self) -> Optional[int]: + """ + OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + """ + return pulumi.get(self, "os_disk_size_gb") + + @property + @pulumi.getter(name="osDiskType") + def os_disk_type(self) -> Optional[str]: + """ + The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + """ + return pulumi.get(self, "os_disk_type") + + @property + @pulumi.getter(name="osSKU") + def os_sku(self) -> Optional[str]: + """ + Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + """ + return pulumi.get(self, "os_sku") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> Optional[str]: + """ + The operating system type. The default is Linux. + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter(name="podSubnetID") + def pod_subnet_id(self) -> Optional[str]: + """ + If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + """ + return pulumi.get(self, "pod_subnet_id") + + @property + @pulumi.getter(name="powerState") + def power_state(self) -> Optional['outputs.PowerStateResponse']: + """ + When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + """ + return pulumi.get(self, "power_state") + + @property + @pulumi.getter(name="proximityPlacementGroupID") + def proximity_placement_group_id(self) -> Optional[str]: + """ + The ID for Proximity Placement Group. + """ + return pulumi.get(self, "proximity_placement_group_id") + + @property + @pulumi.getter(name="scaleDownMode") + def scale_down_mode(self) -> Optional[str]: + """ + This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + """ + return pulumi.get(self, "scale_down_mode") + + @property + @pulumi.getter(name="scaleSetEvictionPolicy") + def scale_set_eviction_policy(self) -> Optional[str]: + """ + This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'. + """ + return pulumi.get(self, "scale_set_eviction_policy") + + @property + @pulumi.getter(name="scaleSetPriority") + def scale_set_priority(self) -> Optional[str]: + """ + The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + """ + return pulumi.get(self, "scale_set_priority") + + @property + @pulumi.getter(name="spotMaxPrice") + def spot_max_price(self) -> Optional[float]: + """ + Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + """ + return pulumi.get(self, "spot_max_price") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + The tags to be persisted on the agent pool virtual machine scale set. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of Agent Pool. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="upgradeSettings") + def upgrade_settings(self) -> Optional['outputs.AgentPoolUpgradeSettingsResponse']: + """ + Settings for upgrading the agentpool + """ + return pulumi.get(self, "upgrade_settings") + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> Optional[str]: + """ + VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + """ + return pulumi.get(self, "vm_size") + + @property + @pulumi.getter(name="vnetSubnetID") + def vnet_subnet_id(self) -> Optional[str]: + """ + If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + """ + return pulumi.get(self, "vnet_subnet_id") + + @property + @pulumi.getter(name="workloadRuntime") + def workload_runtime(self) -> Optional[str]: + """ + Determines the type of workload a node can run. + """ + return pulumi.get(self, "workload_runtime") + + +@pulumi.output_type +class ManagedClusterAutoUpgradeProfileResponse(dict): + """ + Auto upgrade profile for a managed cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "nodeOSUpgradeChannel": + suggest = "node_os_upgrade_channel" + elif key == "upgradeChannel": + suggest = "upgrade_channel" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterAutoUpgradeProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterAutoUpgradeProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterAutoUpgradeProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + node_os_upgrade_channel: Optional[str] = None, + upgrade_channel: Optional[str] = None): + """ + Auto upgrade profile for a managed cluster. + :param str node_os_upgrade_channel: Manner in which the OS on your nodes is updated. The default is NodeImage. + :param str upgrade_channel: For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + """ + if node_os_upgrade_channel is not None: + pulumi.set(__self__, "node_os_upgrade_channel", node_os_upgrade_channel) + if upgrade_channel is not None: + pulumi.set(__self__, "upgrade_channel", upgrade_channel) + + @property + @pulumi.getter(name="nodeOSUpgradeChannel") + def node_os_upgrade_channel(self) -> Optional[str]: + """ + Manner in which the OS on your nodes is updated. The default is NodeImage. + """ + return pulumi.get(self, "node_os_upgrade_channel") + + @property + @pulumi.getter(name="upgradeChannel") + def upgrade_channel(self) -> Optional[str]: + """ + For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + """ + return pulumi.get(self, "upgrade_channel") + + +@pulumi.output_type +class ManagedClusterAzureMonitorProfileKubeStateMetricsResponse(dict): + """ + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricAnnotationsAllowList": + suggest = "metric_annotations_allow_list" + elif key == "metricLabelsAllowlist": + suggest = "metric_labels_allowlist" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterAzureMonitorProfileKubeStateMetricsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterAzureMonitorProfileKubeStateMetricsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterAzureMonitorProfileKubeStateMetricsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_annotations_allow_list: Optional[str] = None, + metric_labels_allowlist: Optional[str] = None): + """ + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + :param str metric_annotations_allow_list: Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + :param str metric_labels_allowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + """ + if metric_annotations_allow_list is not None: + pulumi.set(__self__, "metric_annotations_allow_list", metric_annotations_allow_list) + if metric_labels_allowlist is not None: + pulumi.set(__self__, "metric_labels_allowlist", metric_labels_allowlist) + + @property + @pulumi.getter(name="metricAnnotationsAllowList") + def metric_annotations_allow_list(self) -> Optional[str]: + """ + Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + """ + return pulumi.get(self, "metric_annotations_allow_list") + + @property + @pulumi.getter(name="metricLabelsAllowlist") + def metric_labels_allowlist(self) -> Optional[str]: + """ + Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + """ + return pulumi.get(self, "metric_labels_allowlist") + + +@pulumi.output_type +class ManagedClusterAzureMonitorProfileMetricsResponse(dict): + """ + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "kubeStateMetrics": + suggest = "kube_state_metrics" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterAzureMonitorProfileMetricsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterAzureMonitorProfileMetricsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterAzureMonitorProfileMetricsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: bool, + kube_state_metrics: Optional['outputs.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse'] = None): + """ + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + :param bool enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + :param 'ManagedClusterAzureMonitorProfileKubeStateMetricsResponse' kube_state_metrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + """ + pulumi.set(__self__, "enabled", enabled) + if kube_state_metrics is not None: + pulumi.set(__self__, "kube_state_metrics", kube_state_metrics) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="kubeStateMetrics") + def kube_state_metrics(self) -> Optional['outputs.ManagedClusterAzureMonitorProfileKubeStateMetricsResponse']: + """ + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + """ + return pulumi.get(self, "kube_state_metrics") + + +@pulumi.output_type +class ManagedClusterAzureMonitorProfileResponse(dict): + """ + Azure Monitor addon profiles for monitoring the managed cluster. + """ + def __init__(__self__, *, + metrics: Optional['outputs.ManagedClusterAzureMonitorProfileMetricsResponse'] = None): + """ + Azure Monitor addon profiles for monitoring the managed cluster. + :param 'ManagedClusterAzureMonitorProfileMetricsResponse' metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + """ + if metrics is not None: + pulumi.set(__self__, "metrics", metrics) + + @property + @pulumi.getter + def metrics(self) -> Optional['outputs.ManagedClusterAzureMonitorProfileMetricsResponse']: + """ + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + """ + return pulumi.get(self, "metrics") + + +@pulumi.output_type +class ManagedClusterHTTPProxyConfigResponse(dict): + """ + Cluster HTTP proxy configuration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "httpProxy": + suggest = "http_proxy" + elif key == "httpsProxy": + suggest = "https_proxy" + elif key == "noProxy": + suggest = "no_proxy" + elif key == "trustedCa": + suggest = "trusted_ca" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterHTTPProxyConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterHTTPProxyConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterHTTPProxyConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + http_proxy: Optional[str] = None, + https_proxy: Optional[str] = None, + no_proxy: Optional[Sequence[str]] = None, + trusted_ca: Optional[str] = None): + """ + Cluster HTTP proxy configuration. + :param str http_proxy: The HTTP proxy server endpoint to use. + :param str https_proxy: The HTTPS proxy server endpoint to use. + :param Sequence[str] no_proxy: The endpoints that should not go through proxy. + :param str trusted_ca: Alternative CA cert to use for connecting to proxy servers. + """ + if http_proxy is not None: + pulumi.set(__self__, "http_proxy", http_proxy) + if https_proxy is not None: + pulumi.set(__self__, "https_proxy", https_proxy) + if no_proxy is not None: + pulumi.set(__self__, "no_proxy", no_proxy) + if trusted_ca is not None: + pulumi.set(__self__, "trusted_ca", trusted_ca) + + @property + @pulumi.getter(name="httpProxy") + def http_proxy(self) -> Optional[str]: + """ + The HTTP proxy server endpoint to use. + """ + return pulumi.get(self, "http_proxy") + + @property + @pulumi.getter(name="httpsProxy") + def https_proxy(self) -> Optional[str]: + """ + The HTTPS proxy server endpoint to use. + """ + return pulumi.get(self, "https_proxy") + + @property + @pulumi.getter(name="noProxy") + def no_proxy(self) -> Optional[Sequence[str]]: + """ + The endpoints that should not go through proxy. + """ + return pulumi.get(self, "no_proxy") + + @property + @pulumi.getter(name="trustedCa") + def trusted_ca(self) -> Optional[str]: + """ + Alternative CA cert to use for connecting to proxy servers. + """ + return pulumi.get(self, "trusted_ca") + + +@pulumi.output_type +class ManagedClusterIdentityResponse(dict): + """ + Identity for the managed cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + elif key == "delegatedResources": + suggest = "delegated_resources" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + delegated_resources: Optional[Mapping[str, 'outputs.DelegatedResourceResponse']] = None, + type: Optional[str] = None, + user_assigned_identities: Optional[Mapping[str, 'outputs.ManagedClusterIdentityResponseUserAssignedIdentities']] = None): + """ + Identity for the managed cluster. + :param str principal_id: The principal id of the system assigned identity which is used by master components. + :param str tenant_id: The tenant id of the system assigned identity which is used by master components. + :param Mapping[str, 'DelegatedResourceResponse'] delegated_resources: The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + :param str type: For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + :param Mapping[str, 'ManagedClusterIdentityResponseUserAssignedIdentities'] user_assigned_identities: The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + if delegated_resources is not None: + pulumi.set(__self__, "delegated_resources", delegated_resources) + if type is not None: + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal id of the system assigned identity which is used by master components. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The tenant id of the system assigned identity which is used by master components. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter(name="delegatedResources") + def delegated_resources(self) -> Optional[Mapping[str, 'outputs.DelegatedResourceResponse']]: + """ + The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + """ + return pulumi.get(self, "delegated_resources") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.ManagedClusterIdentityResponseUserAssignedIdentities']]: + """ + The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + return pulumi.get(self, "user_assigned_identities") + + +@pulumi.output_type +class ManagedClusterIdentityResponseUserAssignedIdentities(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "principalId": + suggest = "principal_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterIdentityResponseUserAssignedIdentities. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterIdentityResponseUserAssignedIdentities.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterIdentityResponseUserAssignedIdentities.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: str, + principal_id: str): + """ + :param str client_id: The client id of user assigned identity. + :param str principal_id: The principal id of user assigned identity. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "principal_id", principal_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The client id of user assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal id of user assigned identity. + """ + return pulumi.get(self, "principal_id") + + +@pulumi.output_type +class ManagedClusterLoadBalancerProfileResponse(dict): + """ + Profile of the managed cluster load balancer. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allocatedOutboundPorts": + suggest = "allocated_outbound_ports" + elif key == "effectiveOutboundIPs": + suggest = "effective_outbound_ips" + elif key == "enableMultipleStandardLoadBalancers": + suggest = "enable_multiple_standard_load_balancers" + elif key == "idleTimeoutInMinutes": + suggest = "idle_timeout_in_minutes" + elif key == "managedOutboundIPs": + suggest = "managed_outbound_ips" + elif key == "outboundIPPrefixes": + suggest = "outbound_ip_prefixes" + elif key == "outboundIPs": + suggest = "outbound_ips" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterLoadBalancerProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterLoadBalancerProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterLoadBalancerProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + allocated_outbound_ports: Optional[int] = None, + effective_outbound_ips: Optional[Sequence['outputs.ResourceReferenceResponse']] = None, + enable_multiple_standard_load_balancers: Optional[bool] = None, + idle_timeout_in_minutes: Optional[int] = None, + managed_outbound_ips: Optional['outputs.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs'] = None, + outbound_ip_prefixes: Optional['outputs.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes'] = None, + outbound_ips: Optional['outputs.ManagedClusterLoadBalancerProfileResponseOutboundIPs'] = None): + """ + Profile of the managed cluster load balancer. + :param int allocated_outbound_ports: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + :param Sequence['ResourceReferenceResponse'] effective_outbound_ips: The effective outbound IP resources of the cluster load balancer. + :param bool enable_multiple_standard_load_balancers: Enable multiple standard load balancers per AKS cluster or not. + :param int idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + :param 'ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs' managed_outbound_ips: Desired managed outbound IPs for the cluster load balancer. + :param 'ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes' outbound_ip_prefixes: Desired outbound IP Prefix resources for the cluster load balancer. + :param 'ManagedClusterLoadBalancerProfileResponseOutboundIPs' outbound_ips: Desired outbound IP resources for the cluster load balancer. + """ + if allocated_outbound_ports is None: + allocated_outbound_ports = 0 + if allocated_outbound_ports is not None: + pulumi.set(__self__, "allocated_outbound_ports", allocated_outbound_ports) + if effective_outbound_ips is not None: + pulumi.set(__self__, "effective_outbound_ips", effective_outbound_ips) + if enable_multiple_standard_load_balancers is not None: + pulumi.set(__self__, "enable_multiple_standard_load_balancers", enable_multiple_standard_load_balancers) + if idle_timeout_in_minutes is None: + idle_timeout_in_minutes = 30 + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + if managed_outbound_ips is not None: + pulumi.set(__self__, "managed_outbound_ips", managed_outbound_ips) + if outbound_ip_prefixes is not None: + pulumi.set(__self__, "outbound_ip_prefixes", outbound_ip_prefixes) + if outbound_ips is not None: + pulumi.set(__self__, "outbound_ips", outbound_ips) + + @property + @pulumi.getter(name="allocatedOutboundPorts") + def allocated_outbound_ports(self) -> Optional[int]: + """ + The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + """ + return pulumi.get(self, "allocated_outbound_ports") + + @property + @pulumi.getter(name="effectiveOutboundIPs") + def effective_outbound_ips(self) -> Optional[Sequence['outputs.ResourceReferenceResponse']]: + """ + The effective outbound IP resources of the cluster load balancer. + """ + return pulumi.get(self, "effective_outbound_ips") + + @property + @pulumi.getter(name="enableMultipleStandardLoadBalancers") + def enable_multiple_standard_load_balancers(self) -> Optional[bool]: + """ + Enable multiple standard load balancers per AKS cluster or not. + """ + return pulumi.get(self, "enable_multiple_standard_load_balancers") + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[int]: + """ + Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + """ + return pulumi.get(self, "idle_timeout_in_minutes") + + @property + @pulumi.getter(name="managedOutboundIPs") + def managed_outbound_ips(self) -> Optional['outputs.ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs']: + """ + Desired managed outbound IPs for the cluster load balancer. + """ + return pulumi.get(self, "managed_outbound_ips") + + @property + @pulumi.getter(name="outboundIPPrefixes") + def outbound_ip_prefixes(self) -> Optional['outputs.ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes']: + """ + Desired outbound IP Prefix resources for the cluster load balancer. + """ + return pulumi.get(self, "outbound_ip_prefixes") + + @property + @pulumi.getter(name="outboundIPs") + def outbound_ips(self) -> Optional['outputs.ManagedClusterLoadBalancerProfileResponseOutboundIPs']: + """ + Desired outbound IP resources for the cluster load balancer. + """ + return pulumi.get(self, "outbound_ips") + + +@pulumi.output_type +class ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs(dict): + """ + Desired managed outbound IPs for the cluster load balancer. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "countIPv6": + suggest = "count_i_pv6" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterLoadBalancerProfileResponseManagedOutboundIPs.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: Optional[int] = None, + count_i_pv6: Optional[int] = None): + """ + Desired managed outbound IPs for the cluster load balancer. + :param int count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + :param int count_i_pv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + """ + if count is None: + count = 1 + if count is not None: + pulumi.set(__self__, "count", count) + if count_i_pv6 is None: + count_i_pv6 = 0 + if count_i_pv6 is not None: + pulumi.set(__self__, "count_i_pv6", count_i_pv6) + + @property + @pulumi.getter + def count(self) -> Optional[int]: + """ + The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="countIPv6") + def count_i_pv6(self) -> Optional[int]: + """ + The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + """ + return pulumi.get(self, "count_i_pv6") + + +@pulumi.output_type +class ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes(dict): + """ + Desired outbound IP Prefix resources for the cluster load balancer. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "publicIPPrefixes": + suggest = "public_ip_prefixes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterLoadBalancerProfileResponseOutboundIPPrefixes.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + public_ip_prefixes: Optional[Sequence['outputs.ResourceReferenceResponse']] = None): + """ + Desired outbound IP Prefix resources for the cluster load balancer. + :param Sequence['ResourceReferenceResponse'] public_ip_prefixes: A list of public IP prefix resources. + """ + if public_ip_prefixes is not None: + pulumi.set(__self__, "public_ip_prefixes", public_ip_prefixes) + + @property + @pulumi.getter(name="publicIPPrefixes") + def public_ip_prefixes(self) -> Optional[Sequence['outputs.ResourceReferenceResponse']]: + """ + A list of public IP prefix resources. + """ + return pulumi.get(self, "public_ip_prefixes") + + +@pulumi.output_type +class ManagedClusterLoadBalancerProfileResponseOutboundIPs(dict): + """ + Desired outbound IP resources for the cluster load balancer. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "publicIPs": + suggest = "public_ips" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterLoadBalancerProfileResponseOutboundIPs. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterLoadBalancerProfileResponseOutboundIPs.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterLoadBalancerProfileResponseOutboundIPs.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + public_ips: Optional[Sequence['outputs.ResourceReferenceResponse']] = None): + """ + Desired outbound IP resources for the cluster load balancer. + :param Sequence['ResourceReferenceResponse'] public_ips: A list of public IP resources. + """ + if public_ips is not None: + pulumi.set(__self__, "public_ips", public_ips) + + @property + @pulumi.getter(name="publicIPs") + def public_ips(self) -> Optional[Sequence['outputs.ResourceReferenceResponse']]: + """ + A list of public IP resources. + """ + return pulumi.get(self, "public_ips") + + +@pulumi.output_type +class ManagedClusterManagedOutboundIPProfileResponse(dict): + """ + Profile of the managed outbound IP resources of the managed cluster. + """ + def __init__(__self__, *, + count: Optional[int] = None): + """ + Profile of the managed outbound IP resources of the managed cluster. + :param int count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + """ + if count is None: + count = 1 + if count is not None: + pulumi.set(__self__, "count", count) + + @property + @pulumi.getter + def count(self) -> Optional[int]: + """ + The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + """ + return pulumi.get(self, "count") + + +@pulumi.output_type +class ManagedClusterNATGatewayProfileResponse(dict): + """ + Profile of the managed cluster NAT gateway. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "effectiveOutboundIPs": + suggest = "effective_outbound_ips" + elif key == "idleTimeoutInMinutes": + suggest = "idle_timeout_in_minutes" + elif key == "managedOutboundIPProfile": + suggest = "managed_outbound_ip_profile" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterNATGatewayProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterNATGatewayProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterNATGatewayProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + effective_outbound_ips: Optional[Sequence['outputs.ResourceReferenceResponse']] = None, + idle_timeout_in_minutes: Optional[int] = None, + managed_outbound_ip_profile: Optional['outputs.ManagedClusterManagedOutboundIPProfileResponse'] = None): + """ + Profile of the managed cluster NAT gateway. + :param Sequence['ResourceReferenceResponse'] effective_outbound_ips: The effective outbound IP resources of the cluster NAT gateway. + :param int idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + :param 'ManagedClusterManagedOutboundIPProfileResponse' managed_outbound_ip_profile: Profile of the managed outbound IP resources of the cluster NAT gateway. + """ + if effective_outbound_ips is not None: + pulumi.set(__self__, "effective_outbound_ips", effective_outbound_ips) + if idle_timeout_in_minutes is None: + idle_timeout_in_minutes = 4 + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + if managed_outbound_ip_profile is not None: + pulumi.set(__self__, "managed_outbound_ip_profile", managed_outbound_ip_profile) + + @property + @pulumi.getter(name="effectiveOutboundIPs") + def effective_outbound_ips(self) -> Optional[Sequence['outputs.ResourceReferenceResponse']]: + """ + The effective outbound IP resources of the cluster NAT gateway. + """ + return pulumi.get(self, "effective_outbound_ips") + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[int]: + """ + Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + """ + return pulumi.get(self, "idle_timeout_in_minutes") + + @property + @pulumi.getter(name="managedOutboundIPProfile") + def managed_outbound_ip_profile(self) -> Optional['outputs.ManagedClusterManagedOutboundIPProfileResponse']: + """ + Profile of the managed outbound IP resources of the cluster NAT gateway. + """ + return pulumi.get(self, "managed_outbound_ip_profile") + + +@pulumi.output_type +class ManagedClusterOIDCIssuerProfileResponse(dict): + """ + The OIDC issuer profile of the Managed Cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "issuerURL": + suggest = "issuer_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterOIDCIssuerProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterOIDCIssuerProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterOIDCIssuerProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + issuer_url: str, + enabled: Optional[bool] = None): + """ + The OIDC issuer profile of the Managed Cluster. + :param str issuer_url: The OIDC issuer url of the Managed Cluster. + :param bool enabled: Whether the OIDC issuer is enabled. + """ + pulumi.set(__self__, "issuer_url", issuer_url) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter(name="issuerURL") + def issuer_url(self) -> str: + """ + The OIDC issuer url of the Managed Cluster. + """ + return pulumi.get(self, "issuer_url") + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether the OIDC issuer is enabled. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class ManagedClusterPodIdentityExceptionResponse(dict): + """ + See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "podLabels": + suggest = "pod_labels" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterPodIdentityExceptionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterPodIdentityExceptionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterPodIdentityExceptionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + namespace: str, + pod_labels: Mapping[str, str]): + """ + See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + :param str name: The name of the pod identity exception. + :param str namespace: The namespace of the pod identity exception. + :param Mapping[str, str] pod_labels: The pod labels to match. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "namespace", namespace) + pulumi.set(__self__, "pod_labels", pod_labels) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the pod identity exception. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def namespace(self) -> str: + """ + The namespace of the pod identity exception. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter(name="podLabels") + def pod_labels(self) -> Mapping[str, str]: + """ + The pod labels to match. + """ + return pulumi.get(self, "pod_labels") + + +@pulumi.output_type +class ManagedClusterPodIdentityProfileResponse(dict): + """ + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allowNetworkPluginKubenet": + suggest = "allow_network_plugin_kubenet" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" + elif key == "userAssignedIdentityExceptions": + suggest = "user_assigned_identity_exceptions" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterPodIdentityProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterPodIdentityProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterPodIdentityProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + allow_network_plugin_kubenet: Optional[bool] = None, + enabled: Optional[bool] = None, + user_assigned_identities: Optional[Sequence['outputs.ManagedClusterPodIdentityResponse']] = None, + user_assigned_identity_exceptions: Optional[Sequence['outputs.ManagedClusterPodIdentityExceptionResponse']] = None): + """ + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + :param bool allow_network_plugin_kubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. + :param bool enabled: Whether the pod identity addon is enabled. + :param Sequence['ManagedClusterPodIdentityResponse'] user_assigned_identities: The pod identities to use in the cluster. + :param Sequence['ManagedClusterPodIdentityExceptionResponse'] user_assigned_identity_exceptions: The pod identity exceptions to allow. + """ + if allow_network_plugin_kubenet is not None: + pulumi.set(__self__, "allow_network_plugin_kubenet", allow_network_plugin_kubenet) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + if user_assigned_identity_exceptions is not None: + pulumi.set(__self__, "user_assigned_identity_exceptions", user_assigned_identity_exceptions) + + @property + @pulumi.getter(name="allowNetworkPluginKubenet") + def allow_network_plugin_kubenet(self) -> Optional[bool]: + """ + Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. + """ + return pulumi.get(self, "allow_network_plugin_kubenet") + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether the pod identity addon is enabled. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Sequence['outputs.ManagedClusterPodIdentityResponse']]: + """ + The pod identities to use in the cluster. + """ + return pulumi.get(self, "user_assigned_identities") + + @property + @pulumi.getter(name="userAssignedIdentityExceptions") + def user_assigned_identity_exceptions(self) -> Optional[Sequence['outputs.ManagedClusterPodIdentityExceptionResponse']]: + """ + The pod identity exceptions to allow. + """ + return pulumi.get(self, "user_assigned_identity_exceptions") + + +@pulumi.output_type +class ManagedClusterPodIdentityProvisioningErrorBodyResponse(dict): + """ + An error response from the pod identity provisioning. + """ + def __init__(__self__, *, + code: Optional[str] = None, + details: Optional[Sequence['outputs.ManagedClusterPodIdentityProvisioningErrorBodyResponse']] = None, + message: Optional[str] = None, + target: Optional[str] = None): + """ + An error response from the pod identity provisioning. + :param str code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + :param Sequence['ManagedClusterPodIdentityProvisioningErrorBodyResponse'] details: A list of additional details about the error. + :param str message: A message describing the error, intended to be suitable for display in a user interface. + :param str target: The target of the particular error. For example, the name of the property in error. + """ + if code is not None: + pulumi.set(__self__, "code", code) + if details is not None: + pulumi.set(__self__, "details", details) + if message is not None: + pulumi.set(__self__, "message", message) + if target is not None: + pulumi.set(__self__, "target", target) + + @property + @pulumi.getter + def code(self) -> Optional[str]: + """ + An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def details(self) -> Optional[Sequence['outputs.ManagedClusterPodIdentityProvisioningErrorBodyResponse']]: + """ + A list of additional details about the error. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + A message describing the error, intended to be suitable for display in a user interface. + """ + return pulumi.get(self, "message") + + @property + @pulumi.getter + def target(self) -> Optional[str]: + """ + The target of the particular error. For example, the name of the property in error. + """ + return pulumi.get(self, "target") + + +@pulumi.output_type +class ManagedClusterPodIdentityProvisioningErrorResponse(dict): + """ + An error response from the pod identity provisioning. + """ + def __init__(__self__, *, + error: Optional['outputs.ManagedClusterPodIdentityProvisioningErrorBodyResponse'] = None): + """ + An error response from the pod identity provisioning. + :param 'ManagedClusterPodIdentityProvisioningErrorBodyResponse' error: Details about the error. + """ + if error is not None: + pulumi.set(__self__, "error", error) + + @property + @pulumi.getter + def error(self) -> Optional['outputs.ManagedClusterPodIdentityProvisioningErrorBodyResponse']: + """ + Details about the error. + """ + return pulumi.get(self, "error") + + +@pulumi.output_type +class ManagedClusterPodIdentityResponse(dict): + """ + Details about the pod identity assigned to the Managed Cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "provisioningInfo": + suggest = "provisioning_info" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "bindingSelector": + suggest = "binding_selector" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterPodIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterPodIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterPodIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + identity: 'outputs.UserAssignedIdentityResponse', + name: str, + namespace: str, + provisioning_info: 'outputs.ManagedClusterPodIdentityResponseProvisioningInfo', + provisioning_state: str, + binding_selector: Optional[str] = None): + """ + Details about the pod identity assigned to the Managed Cluster. + :param 'UserAssignedIdentityResponse' identity: The user assigned identity details. + :param str name: The name of the pod identity. + :param str namespace: The namespace of the pod identity. + :param str provisioning_state: The current provisioning state of the pod identity. + :param str binding_selector: The binding selector to use for the AzureIdentityBinding resource. + """ + pulumi.set(__self__, "identity", identity) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "namespace", namespace) + pulumi.set(__self__, "provisioning_info", provisioning_info) + pulumi.set(__self__, "provisioning_state", provisioning_state) + if binding_selector is not None: + pulumi.set(__self__, "binding_selector", binding_selector) + + @property + @pulumi.getter + def identity(self) -> 'outputs.UserAssignedIdentityResponse': + """ + The user assigned identity details. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the pod identity. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def namespace(self) -> str: + """ + The namespace of the pod identity. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter(name="provisioningInfo") + def provisioning_info(self) -> 'outputs.ManagedClusterPodIdentityResponseProvisioningInfo': + return pulumi.get(self, "provisioning_info") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The current provisioning state of the pod identity. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="bindingSelector") + def binding_selector(self) -> Optional[str]: + """ + The binding selector to use for the AzureIdentityBinding resource. + """ + return pulumi.get(self, "binding_selector") + + +@pulumi.output_type +class ManagedClusterPodIdentityResponseProvisioningInfo(dict): + def __init__(__self__, *, + error: Optional['outputs.ManagedClusterPodIdentityProvisioningErrorResponse'] = None): + """ + :param 'ManagedClusterPodIdentityProvisioningErrorResponse' error: Pod identity assignment error (if any). + """ + if error is not None: + pulumi.set(__self__, "error", error) + + @property + @pulumi.getter + def error(self) -> Optional['outputs.ManagedClusterPodIdentityProvisioningErrorResponse']: + """ + Pod identity assignment error (if any). + """ + return pulumi.get(self, "error") + + +@pulumi.output_type +class ManagedClusterPropertiesResponseAutoScalerProfile(dict): + """ + Parameters to be applied to the cluster-autoscaler when enabled + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "balanceSimilarNodeGroups": + suggest = "balance_similar_node_groups" + elif key == "maxEmptyBulkDelete": + suggest = "max_empty_bulk_delete" + elif key == "maxGracefulTerminationSec": + suggest = "max_graceful_termination_sec" + elif key == "maxNodeProvisionTime": + suggest = "max_node_provision_time" + elif key == "maxTotalUnreadyPercentage": + suggest = "max_total_unready_percentage" + elif key == "newPodScaleUpDelay": + suggest = "new_pod_scale_up_delay" + elif key == "okTotalUnreadyCount": + suggest = "ok_total_unready_count" + elif key == "scaleDownDelayAfterAdd": + suggest = "scale_down_delay_after_add" + elif key == "scaleDownDelayAfterDelete": + suggest = "scale_down_delay_after_delete" + elif key == "scaleDownDelayAfterFailure": + suggest = "scale_down_delay_after_failure" + elif key == "scaleDownUnneededTime": + suggest = "scale_down_unneeded_time" + elif key == "scaleDownUnreadyTime": + suggest = "scale_down_unready_time" + elif key == "scaleDownUtilizationThreshold": + suggest = "scale_down_utilization_threshold" + elif key == "scanInterval": + suggest = "scan_interval" + elif key == "skipNodesWithLocalStorage": + suggest = "skip_nodes_with_local_storage" + elif key == "skipNodesWithSystemPods": + suggest = "skip_nodes_with_system_pods" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterPropertiesResponseAutoScalerProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterPropertiesResponseAutoScalerProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterPropertiesResponseAutoScalerProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + balance_similar_node_groups: Optional[str] = None, + expander: Optional[str] = None, + max_empty_bulk_delete: Optional[str] = None, + max_graceful_termination_sec: Optional[str] = None, + max_node_provision_time: Optional[str] = None, + max_total_unready_percentage: Optional[str] = None, + new_pod_scale_up_delay: Optional[str] = None, + ok_total_unready_count: Optional[str] = None, + scale_down_delay_after_add: Optional[str] = None, + scale_down_delay_after_delete: Optional[str] = None, + scale_down_delay_after_failure: Optional[str] = None, + scale_down_unneeded_time: Optional[str] = None, + scale_down_unready_time: Optional[str] = None, + scale_down_utilization_threshold: Optional[str] = None, + scan_interval: Optional[str] = None, + skip_nodes_with_local_storage: Optional[str] = None, + skip_nodes_with_system_pods: Optional[str] = None): + """ + Parameters to be applied to the cluster-autoscaler when enabled + :param str balance_similar_node_groups: Valid values are 'true' and 'false' + :param str expander: If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + :param str max_empty_bulk_delete: The default is 10. + :param str max_graceful_termination_sec: The default is 600. + :param str max_node_provision_time: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :param str max_total_unready_percentage: The default is 45. The maximum is 100 and the minimum is 0. + :param str new_pod_scale_up_delay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + :param str ok_total_unready_count: This must be an integer. The default is 3. + :param str scale_down_delay_after_add: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :param str scale_down_delay_after_delete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :param str scale_down_delay_after_failure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :param str scale_down_unneeded_time: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :param str scale_down_unready_time: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :param str scale_down_utilization_threshold: The default is '0.5'. + :param str scan_interval: The default is '10'. Values must be an integer number of seconds. + :param str skip_nodes_with_local_storage: The default is true. + :param str skip_nodes_with_system_pods: The default is true. + """ + if balance_similar_node_groups is not None: + pulumi.set(__self__, "balance_similar_node_groups", balance_similar_node_groups) + if expander is not None: + pulumi.set(__self__, "expander", expander) + if max_empty_bulk_delete is not None: + pulumi.set(__self__, "max_empty_bulk_delete", max_empty_bulk_delete) + if max_graceful_termination_sec is not None: + pulumi.set(__self__, "max_graceful_termination_sec", max_graceful_termination_sec) + if max_node_provision_time is not None: + pulumi.set(__self__, "max_node_provision_time", max_node_provision_time) + if max_total_unready_percentage is not None: + pulumi.set(__self__, "max_total_unready_percentage", max_total_unready_percentage) + if new_pod_scale_up_delay is not None: + pulumi.set(__self__, "new_pod_scale_up_delay", new_pod_scale_up_delay) + if ok_total_unready_count is not None: + pulumi.set(__self__, "ok_total_unready_count", ok_total_unready_count) + if scale_down_delay_after_add is not None: + pulumi.set(__self__, "scale_down_delay_after_add", scale_down_delay_after_add) + if scale_down_delay_after_delete is not None: + pulumi.set(__self__, "scale_down_delay_after_delete", scale_down_delay_after_delete) + if scale_down_delay_after_failure is not None: + pulumi.set(__self__, "scale_down_delay_after_failure", scale_down_delay_after_failure) + if scale_down_unneeded_time is not None: + pulumi.set(__self__, "scale_down_unneeded_time", scale_down_unneeded_time) + if scale_down_unready_time is not None: + pulumi.set(__self__, "scale_down_unready_time", scale_down_unready_time) + if scale_down_utilization_threshold is not None: + pulumi.set(__self__, "scale_down_utilization_threshold", scale_down_utilization_threshold) + if scan_interval is not None: + pulumi.set(__self__, "scan_interval", scan_interval) + if skip_nodes_with_local_storage is not None: + pulumi.set(__self__, "skip_nodes_with_local_storage", skip_nodes_with_local_storage) + if skip_nodes_with_system_pods is not None: + pulumi.set(__self__, "skip_nodes_with_system_pods", skip_nodes_with_system_pods) + + @property + @pulumi.getter(name="balanceSimilarNodeGroups") + def balance_similar_node_groups(self) -> Optional[str]: + """ + Valid values are 'true' and 'false' + """ + return pulumi.get(self, "balance_similar_node_groups") + + @property + @pulumi.getter + def expander(self) -> Optional[str]: + """ + If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + """ + return pulumi.get(self, "expander") + + @property + @pulumi.getter(name="maxEmptyBulkDelete") + def max_empty_bulk_delete(self) -> Optional[str]: + """ + The default is 10. + """ + return pulumi.get(self, "max_empty_bulk_delete") + + @property + @pulumi.getter(name="maxGracefulTerminationSec") + def max_graceful_termination_sec(self) -> Optional[str]: + """ + The default is 600. + """ + return pulumi.get(self, "max_graceful_termination_sec") + + @property + @pulumi.getter(name="maxNodeProvisionTime") + def max_node_provision_time(self) -> Optional[str]: + """ + The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + """ + return pulumi.get(self, "max_node_provision_time") + + @property + @pulumi.getter(name="maxTotalUnreadyPercentage") + def max_total_unready_percentage(self) -> Optional[str]: + """ + The default is 45. The maximum is 100 and the minimum is 0. + """ + return pulumi.get(self, "max_total_unready_percentage") + + @property + @pulumi.getter(name="newPodScaleUpDelay") + def new_pod_scale_up_delay(self) -> Optional[str]: + """ + For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + """ + return pulumi.get(self, "new_pod_scale_up_delay") + + @property + @pulumi.getter(name="okTotalUnreadyCount") + def ok_total_unready_count(self) -> Optional[str]: + """ + This must be an integer. The default is 3. + """ + return pulumi.get(self, "ok_total_unready_count") + + @property + @pulumi.getter(name="scaleDownDelayAfterAdd") + def scale_down_delay_after_add(self) -> Optional[str]: + """ + The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + """ + return pulumi.get(self, "scale_down_delay_after_add") + + @property + @pulumi.getter(name="scaleDownDelayAfterDelete") + def scale_down_delay_after_delete(self) -> Optional[str]: + """ + The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + """ + return pulumi.get(self, "scale_down_delay_after_delete") + + @property + @pulumi.getter(name="scaleDownDelayAfterFailure") + def scale_down_delay_after_failure(self) -> Optional[str]: + """ + The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + """ + return pulumi.get(self, "scale_down_delay_after_failure") + + @property + @pulumi.getter(name="scaleDownUnneededTime") + def scale_down_unneeded_time(self) -> Optional[str]: + """ + The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + """ + return pulumi.get(self, "scale_down_unneeded_time") + + @property + @pulumi.getter(name="scaleDownUnreadyTime") + def scale_down_unready_time(self) -> Optional[str]: + """ + The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + """ + return pulumi.get(self, "scale_down_unready_time") + + @property + @pulumi.getter(name="scaleDownUtilizationThreshold") + def scale_down_utilization_threshold(self) -> Optional[str]: + """ + The default is '0.5'. + """ + return pulumi.get(self, "scale_down_utilization_threshold") + + @property + @pulumi.getter(name="scanInterval") + def scan_interval(self) -> Optional[str]: + """ + The default is '10'. Values must be an integer number of seconds. + """ + return pulumi.get(self, "scan_interval") + + @property + @pulumi.getter(name="skipNodesWithLocalStorage") + def skip_nodes_with_local_storage(self) -> Optional[str]: + """ + The default is true. + """ + return pulumi.get(self, "skip_nodes_with_local_storage") + + @property + @pulumi.getter(name="skipNodesWithSystemPods") + def skip_nodes_with_system_pods(self) -> Optional[str]: + """ + The default is true. + """ + return pulumi.get(self, "skip_nodes_with_system_pods") + + +@pulumi.output_type +class ManagedClusterSKUResponse(dict): + """ + The SKU of a Managed Cluster. + """ + def __init__(__self__, *, + name: Optional[str] = None, + tier: Optional[str] = None): + """ + The SKU of a Managed Cluster. + :param str name: The name of a managed cluster SKU. + :param str tier: If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if tier is not None: + pulumi.set(__self__, "tier", tier) + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of a managed cluster SKU. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tier(self) -> Optional[str]: + """ + If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + """ + return pulumi.get(self, "tier") + + +@pulumi.output_type +class ManagedClusterSecurityProfileDefenderResponse(dict): + """ + Microsoft Defender settings for the security profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "logAnalyticsWorkspaceResourceId": + suggest = "log_analytics_workspace_resource_id" + elif key == "securityMonitoring": + suggest = "security_monitoring" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterSecurityProfileDefenderResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterSecurityProfileDefenderResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterSecurityProfileDefenderResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + log_analytics_workspace_resource_id: Optional[str] = None, + security_monitoring: Optional['outputs.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse'] = None): + """ + Microsoft Defender settings for the security profile. + :param str log_analytics_workspace_resource_id: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + :param 'ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse' security_monitoring: Microsoft Defender threat detection for Cloud settings for the security profile. + """ + if log_analytics_workspace_resource_id is not None: + pulumi.set(__self__, "log_analytics_workspace_resource_id", log_analytics_workspace_resource_id) + if security_monitoring is not None: + pulumi.set(__self__, "security_monitoring", security_monitoring) + + @property + @pulumi.getter(name="logAnalyticsWorkspaceResourceId") + def log_analytics_workspace_resource_id(self) -> Optional[str]: + """ + Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + """ + return pulumi.get(self, "log_analytics_workspace_resource_id") + + @property + @pulumi.getter(name="securityMonitoring") + def security_monitoring(self) -> Optional['outputs.ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse']: + """ + Microsoft Defender threat detection for Cloud settings for the security profile. + """ + return pulumi.get(self, "security_monitoring") + + +@pulumi.output_type +class ManagedClusterSecurityProfileDefenderSecurityMonitoringResponse(dict): + """ + Microsoft Defender settings for the security profile threat detection. + """ + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + Microsoft Defender settings for the security profile threat detection. + :param bool enabled: Whether to enable Defender threat detection + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether to enable Defender threat detection + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class ManagedClusterSecurityProfileImageCleanerResponse(dict): + """ + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "intervalHours": + suggest = "interval_hours" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterSecurityProfileImageCleanerResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterSecurityProfileImageCleanerResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterSecurityProfileImageCleanerResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: Optional[bool] = None, + interval_hours: Optional[int] = None): + """ + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. + :param bool enabled: Whether to enable Image Cleaner on AKS cluster. + :param int interval_hours: Image Cleaner scanning interval in hours. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if interval_hours is not None: + pulumi.set(__self__, "interval_hours", interval_hours) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether to enable Image Cleaner on AKS cluster. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="intervalHours") + def interval_hours(self) -> Optional[int]: + """ + Image Cleaner scanning interval in hours. + """ + return pulumi.get(self, "interval_hours") + + +@pulumi.output_type +class ManagedClusterSecurityProfileResponse(dict): + """ + Security profile for the container service cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "azureKeyVaultKms": + suggest = "azure_key_vault_kms" + elif key == "imageCleaner": + suggest = "image_cleaner" + elif key == "workloadIdentity": + suggest = "workload_identity" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterSecurityProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterSecurityProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterSecurityProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + azure_key_vault_kms: Optional['outputs.AzureKeyVaultKmsResponse'] = None, + defender: Optional['outputs.ManagedClusterSecurityProfileDefenderResponse'] = None, + image_cleaner: Optional['outputs.ManagedClusterSecurityProfileImageCleanerResponse'] = None, + workload_identity: Optional['outputs.ManagedClusterSecurityProfileWorkloadIdentityResponse'] = None): + """ + Security profile for the container service cluster. + :param 'AzureKeyVaultKmsResponse' azure_key_vault_kms: Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + :param 'ManagedClusterSecurityProfileDefenderResponse' defender: Microsoft Defender settings for the security profile. + :param 'ManagedClusterSecurityProfileImageCleanerResponse' image_cleaner: Image Cleaner settings for the security profile. + :param 'ManagedClusterSecurityProfileWorkloadIdentityResponse' workload_identity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + """ + if azure_key_vault_kms is not None: + pulumi.set(__self__, "azure_key_vault_kms", azure_key_vault_kms) + if defender is not None: + pulumi.set(__self__, "defender", defender) + if image_cleaner is not None: + pulumi.set(__self__, "image_cleaner", image_cleaner) + if workload_identity is not None: + pulumi.set(__self__, "workload_identity", workload_identity) + + @property + @pulumi.getter(name="azureKeyVaultKms") + def azure_key_vault_kms(self) -> Optional['outputs.AzureKeyVaultKmsResponse']: + """ + Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + """ + return pulumi.get(self, "azure_key_vault_kms") + + @property + @pulumi.getter + def defender(self) -> Optional['outputs.ManagedClusterSecurityProfileDefenderResponse']: + """ + Microsoft Defender settings for the security profile. + """ + return pulumi.get(self, "defender") + + @property + @pulumi.getter(name="imageCleaner") + def image_cleaner(self) -> Optional['outputs.ManagedClusterSecurityProfileImageCleanerResponse']: + """ + Image Cleaner settings for the security profile. + """ + return pulumi.get(self, "image_cleaner") + + @property + @pulumi.getter(name="workloadIdentity") + def workload_identity(self) -> Optional['outputs.ManagedClusterSecurityProfileWorkloadIdentityResponse']: + """ + Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + """ + return pulumi.get(self, "workload_identity") + + +@pulumi.output_type +class ManagedClusterSecurityProfileWorkloadIdentityResponse(dict): + """ + Workload identity settings for the security profile. + """ + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + Workload identity settings for the security profile. + :param bool enabled: Whether to enable workload identity. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether to enable workload identity. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class ManagedClusterServicePrincipalProfileResponse(dict): + """ + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterServicePrincipalProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterServicePrincipalProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterServicePrincipalProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: str, + secret: Optional[str] = None): + """ + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + :param str client_id: The ID for the service principal. + :param str secret: The secret password associated with the service principal in plain text. + """ + pulumi.set(__self__, "client_id", client_id) + if secret is not None: + pulumi.set(__self__, "secret", secret) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The ID for the service principal. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter + def secret(self) -> Optional[str]: + """ + The secret password associated with the service principal in plain text. + """ + return pulumi.get(self, "secret") + + +@pulumi.output_type +class ManagedClusterStorageProfileBlobCSIDriverResponse(dict): + """ + AzureBlob CSI Driver settings for the storage profile. + """ + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + AzureBlob CSI Driver settings for the storage profile. + :param bool enabled: Whether to enable AzureBlob CSI Driver. The default value is false. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether to enable AzureBlob CSI Driver. The default value is false. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class ManagedClusterStorageProfileDiskCSIDriverResponse(dict): + """ + AzureDisk CSI Driver settings for the storage profile. + """ + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + AzureDisk CSI Driver settings for the storage profile. + :param bool enabled: Whether to enable AzureDisk CSI Driver. The default value is true. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether to enable AzureDisk CSI Driver. The default value is true. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class ManagedClusterStorageProfileFileCSIDriverResponse(dict): + """ + AzureFile CSI Driver settings for the storage profile. + """ + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + AzureFile CSI Driver settings for the storage profile. + :param bool enabled: Whether to enable AzureFile CSI Driver. The default value is true. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether to enable AzureFile CSI Driver. The default value is true. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class ManagedClusterStorageProfileResponse(dict): + """ + Storage profile for the container service cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "blobCSIDriver": + suggest = "blob_csi_driver" + elif key == "diskCSIDriver": + suggest = "disk_csi_driver" + elif key == "fileCSIDriver": + suggest = "file_csi_driver" + elif key == "snapshotController": + suggest = "snapshot_controller" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterStorageProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterStorageProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterStorageProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + blob_csi_driver: Optional['outputs.ManagedClusterStorageProfileBlobCSIDriverResponse'] = None, + disk_csi_driver: Optional['outputs.ManagedClusterStorageProfileDiskCSIDriverResponse'] = None, + file_csi_driver: Optional['outputs.ManagedClusterStorageProfileFileCSIDriverResponse'] = None, + snapshot_controller: Optional['outputs.ManagedClusterStorageProfileSnapshotControllerResponse'] = None): + """ + Storage profile for the container service cluster. + :param 'ManagedClusterStorageProfileBlobCSIDriverResponse' blob_csi_driver: AzureBlob CSI Driver settings for the storage profile. + :param 'ManagedClusterStorageProfileDiskCSIDriverResponse' disk_csi_driver: AzureDisk CSI Driver settings for the storage profile. + :param 'ManagedClusterStorageProfileFileCSIDriverResponse' file_csi_driver: AzureFile CSI Driver settings for the storage profile. + :param 'ManagedClusterStorageProfileSnapshotControllerResponse' snapshot_controller: Snapshot Controller settings for the storage profile. + """ + if blob_csi_driver is not None: + pulumi.set(__self__, "blob_csi_driver", blob_csi_driver) + if disk_csi_driver is not None: + pulumi.set(__self__, "disk_csi_driver", disk_csi_driver) + if file_csi_driver is not None: + pulumi.set(__self__, "file_csi_driver", file_csi_driver) + if snapshot_controller is not None: + pulumi.set(__self__, "snapshot_controller", snapshot_controller) + + @property + @pulumi.getter(name="blobCSIDriver") + def blob_csi_driver(self) -> Optional['outputs.ManagedClusterStorageProfileBlobCSIDriverResponse']: + """ + AzureBlob CSI Driver settings for the storage profile. + """ + return pulumi.get(self, "blob_csi_driver") + + @property + @pulumi.getter(name="diskCSIDriver") + def disk_csi_driver(self) -> Optional['outputs.ManagedClusterStorageProfileDiskCSIDriverResponse']: + """ + AzureDisk CSI Driver settings for the storage profile. + """ + return pulumi.get(self, "disk_csi_driver") + + @property + @pulumi.getter(name="fileCSIDriver") + def file_csi_driver(self) -> Optional['outputs.ManagedClusterStorageProfileFileCSIDriverResponse']: + """ + AzureFile CSI Driver settings for the storage profile. + """ + return pulumi.get(self, "file_csi_driver") + + @property + @pulumi.getter(name="snapshotController") + def snapshot_controller(self) -> Optional['outputs.ManagedClusterStorageProfileSnapshotControllerResponse']: + """ + Snapshot Controller settings for the storage profile. + """ + return pulumi.get(self, "snapshot_controller") + + +@pulumi.output_type +class ManagedClusterStorageProfileSnapshotControllerResponse(dict): + """ + Snapshot Controller settings for the storage profile. + """ + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + Snapshot Controller settings for the storage profile. + :param bool enabled: Whether to enable Snapshot Controller. The default value is true. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether to enable Snapshot Controller. The default value is true. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class ManagedClusterWindowsProfileResponse(dict): + """ + Profile for Windows VMs in the managed cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "adminUsername": + suggest = "admin_username" + elif key == "adminPassword": + suggest = "admin_password" + elif key == "enableCSIProxy": + suggest = "enable_csi_proxy" + elif key == "gmsaProfile": + suggest = "gmsa_profile" + elif key == "licenseType": + suggest = "license_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterWindowsProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterWindowsProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterWindowsProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + admin_username: str, + admin_password: Optional[str] = None, + enable_csi_proxy: Optional[bool] = None, + gmsa_profile: Optional['outputs.WindowsGmsaProfileResponse'] = None, + license_type: Optional[str] = None): + """ + Profile for Windows VMs in the managed cluster. + :param str admin_username: Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + :param str admin_password: Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + :param bool enable_csi_proxy: For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + :param 'WindowsGmsaProfileResponse' gmsa_profile: The Windows gMSA Profile in the Managed Cluster. + :param str license_type: The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + """ + pulumi.set(__self__, "admin_username", admin_username) + if admin_password is not None: + pulumi.set(__self__, "admin_password", admin_password) + if enable_csi_proxy is not None: + pulumi.set(__self__, "enable_csi_proxy", enable_csi_proxy) + if gmsa_profile is not None: + pulumi.set(__self__, "gmsa_profile", gmsa_profile) + if license_type is not None: + pulumi.set(__self__, "license_type", license_type) + + @property + @pulumi.getter(name="adminUsername") + def admin_username(self) -> str: + """ + Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + """ + return pulumi.get(self, "admin_username") + + @property + @pulumi.getter(name="adminPassword") + def admin_password(self) -> Optional[str]: + """ + Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" + """ + return pulumi.get(self, "admin_password") + + @property + @pulumi.getter(name="enableCSIProxy") + def enable_csi_proxy(self) -> Optional[bool]: + """ + For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + """ + return pulumi.get(self, "enable_csi_proxy") + + @property + @pulumi.getter(name="gmsaProfile") + def gmsa_profile(self) -> Optional['outputs.WindowsGmsaProfileResponse']: + """ + The Windows gMSA Profile in the Managed Cluster. + """ + return pulumi.get(self, "gmsa_profile") + + @property + @pulumi.getter(name="licenseType") + def license_type(self) -> Optional[str]: + """ + The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + """ + return pulumi.get(self, "license_type") + + +@pulumi.output_type +class ManagedClusterWorkloadAutoScalerProfileKedaResponse(dict): + """ + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + """ + def __init__(__self__, *, + enabled: bool): + """ + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + :param bool enabled: Whether to enable KEDA. + """ + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether to enable KEDA. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class ManagedClusterWorkloadAutoScalerProfileResponse(dict): + """ + Workload Auto-scaler profile for the managed cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "verticalPodAutoscaler": + suggest = "vertical_pod_autoscaler" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedClusterWorkloadAutoScalerProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedClusterWorkloadAutoScalerProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedClusterWorkloadAutoScalerProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + keda: Optional['outputs.ManagedClusterWorkloadAutoScalerProfileKedaResponse'] = None, + vertical_pod_autoscaler: Optional['outputs.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse'] = None): + """ + Workload Auto-scaler profile for the managed cluster. + :param 'ManagedClusterWorkloadAutoScalerProfileKedaResponse' keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + :param 'ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse' vertical_pod_autoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + """ + if keda is not None: + pulumi.set(__self__, "keda", keda) + if vertical_pod_autoscaler is not None: + pulumi.set(__self__, "vertical_pod_autoscaler", vertical_pod_autoscaler) + + @property + @pulumi.getter + def keda(self) -> Optional['outputs.ManagedClusterWorkloadAutoScalerProfileKedaResponse']: + """ + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + """ + return pulumi.get(self, "keda") + + @property + @pulumi.getter(name="verticalPodAutoscaler") + def vertical_pod_autoscaler(self) -> Optional['outputs.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse']: + """ + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + """ + return pulumi.get(self, "vertical_pod_autoscaler") + + +@pulumi.output_type +class ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerResponse(dict): + """ + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + """ + def __init__(__self__, *, + enabled: bool): + """ + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + :param bool enabled: Whether to enable VPA. Default value is false. + """ + if enabled is None: + enabled = False + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether to enable VPA. Default value is false. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class PowerStateResponse(dict): + """ + Describes the Power State of the cluster + """ + def __init__(__self__, *, + code: Optional[str] = None): + """ + Describes the Power State of the cluster + :param str code: Tells whether the cluster is Running or Stopped + """ + if code is not None: + pulumi.set(__self__, "code", code) + + @property + @pulumi.getter + def code(self) -> Optional[str]: + """ + Tells whether the cluster is Running or Stopped + """ + return pulumi.get(self, "code") + + +@pulumi.output_type +class PrivateEndpointResponse(dict): + """ + Private endpoint which a connection belongs to. + """ + def __init__(__self__, *, + id: Optional[str] = None): + """ + Private endpoint which a connection belongs to. + :param str id: The resource ID of the private endpoint + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + The resource ID of the private endpoint + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class PrivateLinkResourceResponse(dict): + """ + A private link resource + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "privateLinkServiceID": + suggest = "private_link_service_id" + elif key == "groupId": + suggest = "group_id" + elif key == "requiredMembers": + suggest = "required_members" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PrivateLinkResourceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PrivateLinkResourceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PrivateLinkResourceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + private_link_service_id: str, + group_id: Optional[str] = None, + id: Optional[str] = None, + name: Optional[str] = None, + required_members: Optional[Sequence[str]] = None, + type: Optional[str] = None): + """ + A private link resource + :param str private_link_service_id: The private link service ID of the resource, this field is exposed only to NRP internally. + :param str group_id: The group ID of the resource. + :param str id: The ID of the private link resource. + :param str name: The name of the private link resource. + :param Sequence[str] required_members: The RequiredMembers of the resource + :param str type: The resource type. + """ + pulumi.set(__self__, "private_link_service_id", private_link_service_id) + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) + if id is not None: + pulumi.set(__self__, "id", id) + if name is not None: + pulumi.set(__self__, "name", name) + if required_members is not None: + pulumi.set(__self__, "required_members", required_members) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="privateLinkServiceID") + def private_link_service_id(self) -> str: + """ + The private link service ID of the resource, this field is exposed only to NRP internally. + """ + return pulumi.get(self, "private_link_service_id") + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[str]: + """ + The group ID of the resource. + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + The ID of the private link resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the private link resource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="requiredMembers") + def required_members(self) -> Optional[Sequence[str]]: + """ + The RequiredMembers of the resource + """ + return pulumi.get(self, "required_members") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The resource type. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class PrivateLinkServiceConnectionStateResponse(dict): + """ + The state of a private link service connection. + """ + def __init__(__self__, *, + description: Optional[str] = None, + status: Optional[str] = None): + """ + The state of a private link service connection. + :param str description: The private link service connection description. + :param str status: The private link service connection status. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + The private link service connection description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + """ + The private link service connection status. + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class RelativeMonthlyScheduleResponse(dict): + """ + For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dayOfWeek": + suggest = "day_of_week" + elif key == "intervalMonths": + suggest = "interval_months" + elif key == "weekIndex": + suggest = "week_index" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RelativeMonthlyScheduleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RelativeMonthlyScheduleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RelativeMonthlyScheduleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + day_of_week: str, + interval_months: int, + week_index: str): + """ + For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + :param str day_of_week: Specifies on which day of the week the maintenance occurs. + :param int interval_months: Specifies the number of months between each set of occurrences. + :param str week_index: Specifies on which week of the month the dayOfWeek applies. + """ + pulumi.set(__self__, "day_of_week", day_of_week) + pulumi.set(__self__, "interval_months", interval_months) + pulumi.set(__self__, "week_index", week_index) + + @property + @pulumi.getter(name="dayOfWeek") + def day_of_week(self) -> str: + """ + Specifies on which day of the week the maintenance occurs. + """ + return pulumi.get(self, "day_of_week") + + @property + @pulumi.getter(name="intervalMonths") + def interval_months(self) -> int: + """ + Specifies the number of months between each set of occurrences. + """ + return pulumi.get(self, "interval_months") + + @property + @pulumi.getter(name="weekIndex") + def week_index(self) -> str: + """ + Specifies on which week of the month the dayOfWeek applies. + """ + return pulumi.get(self, "week_index") + + +@pulumi.output_type +class ResourceReferenceResponse(dict): + """ + A reference to an Azure resource. + """ + def __init__(__self__, *, + id: Optional[str] = None): + """ + A reference to an Azure resource. + :param str id: The fully qualified Azure resource id. + """ + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + The fully qualified Azure resource id. + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class ScheduleResponse(dict): + """ + One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "absoluteMonthly": + suggest = "absolute_monthly" + elif key == "relativeMonthly": + suggest = "relative_monthly" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScheduleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScheduleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScheduleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + absolute_monthly: Optional['outputs.AbsoluteMonthlyScheduleResponse'] = None, + daily: Optional['outputs.DailyScheduleResponse'] = None, + relative_monthly: Optional['outputs.RelativeMonthlyScheduleResponse'] = None, + weekly: Optional['outputs.WeeklyScheduleResponse'] = None): + """ + One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. + :param 'AbsoluteMonthlyScheduleResponse' absolute_monthly: For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + :param 'DailyScheduleResponse' daily: For schedules like: 'recur every day' or 'recur every 3 days'. + :param 'RelativeMonthlyScheduleResponse' relative_monthly: For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + :param 'WeeklyScheduleResponse' weekly: For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + """ + if absolute_monthly is not None: + pulumi.set(__self__, "absolute_monthly", absolute_monthly) + if daily is not None: + pulumi.set(__self__, "daily", daily) + if relative_monthly is not None: + pulumi.set(__self__, "relative_monthly", relative_monthly) + if weekly is not None: + pulumi.set(__self__, "weekly", weekly) + + @property + @pulumi.getter(name="absoluteMonthly") + def absolute_monthly(self) -> Optional['outputs.AbsoluteMonthlyScheduleResponse']: + """ + For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + """ + return pulumi.get(self, "absolute_monthly") + + @property + @pulumi.getter + def daily(self) -> Optional['outputs.DailyScheduleResponse']: + """ + For schedules like: 'recur every day' or 'recur every 3 days'. + """ + return pulumi.get(self, "daily") + + @property + @pulumi.getter(name="relativeMonthly") + def relative_monthly(self) -> Optional['outputs.RelativeMonthlyScheduleResponse']: + """ + For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + """ + return pulumi.get(self, "relative_monthly") + + @property + @pulumi.getter + def weekly(self) -> Optional['outputs.WeeklyScheduleResponse']: + """ + For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + """ + return pulumi.get(self, "weekly") + + +@pulumi.output_type +class SysctlConfigResponse(dict): + """ + Sysctl settings for Linux agent nodes. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fsAioMaxNr": + suggest = "fs_aio_max_nr" + elif key == "fsFileMax": + suggest = "fs_file_max" + elif key == "fsInotifyMaxUserWatches": + suggest = "fs_inotify_max_user_watches" + elif key == "fsNrOpen": + suggest = "fs_nr_open" + elif key == "kernelThreadsMax": + suggest = "kernel_threads_max" + elif key == "netCoreNetdevMaxBacklog": + suggest = "net_core_netdev_max_backlog" + elif key == "netCoreOptmemMax": + suggest = "net_core_optmem_max" + elif key == "netCoreRmemDefault": + suggest = "net_core_rmem_default" + elif key == "netCoreRmemMax": + suggest = "net_core_rmem_max" + elif key == "netCoreSomaxconn": + suggest = "net_core_somaxconn" + elif key == "netCoreWmemDefault": + suggest = "net_core_wmem_default" + elif key == "netCoreWmemMax": + suggest = "net_core_wmem_max" + elif key == "netIpv4IpLocalPortRange": + suggest = "net_ipv4_ip_local_port_range" + elif key == "netIpv4NeighDefaultGcThresh1": + suggest = "net_ipv4_neigh_default_gc_thresh1" + elif key == "netIpv4NeighDefaultGcThresh2": + suggest = "net_ipv4_neigh_default_gc_thresh2" + elif key == "netIpv4NeighDefaultGcThresh3": + suggest = "net_ipv4_neigh_default_gc_thresh3" + elif key == "netIpv4TcpFinTimeout": + suggest = "net_ipv4_tcp_fin_timeout" + elif key == "netIpv4TcpKeepaliveProbes": + suggest = "net_ipv4_tcp_keepalive_probes" + elif key == "netIpv4TcpKeepaliveTime": + suggest = "net_ipv4_tcp_keepalive_time" + elif key == "netIpv4TcpMaxSynBacklog": + suggest = "net_ipv4_tcp_max_syn_backlog" + elif key == "netIpv4TcpMaxTwBuckets": + suggest = "net_ipv4_tcp_max_tw_buckets" + elif key == "netIpv4TcpTwReuse": + suggest = "net_ipv4_tcp_tw_reuse" + elif key == "netIpv4TcpkeepaliveIntvl": + suggest = "net_ipv4_tcpkeepalive_intvl" + elif key == "netNetfilterNfConntrackBuckets": + suggest = "net_netfilter_nf_conntrack_buckets" + elif key == "netNetfilterNfConntrackMax": + suggest = "net_netfilter_nf_conntrack_max" + elif key == "vmMaxMapCount": + suggest = "vm_max_map_count" + elif key == "vmSwappiness": + suggest = "vm_swappiness" + elif key == "vmVfsCachePressure": + suggest = "vm_vfs_cache_pressure" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SysctlConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SysctlConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SysctlConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fs_aio_max_nr: Optional[int] = None, + fs_file_max: Optional[int] = None, + fs_inotify_max_user_watches: Optional[int] = None, + fs_nr_open: Optional[int] = None, + kernel_threads_max: Optional[int] = None, + net_core_netdev_max_backlog: Optional[int] = None, + net_core_optmem_max: Optional[int] = None, + net_core_rmem_default: Optional[int] = None, + net_core_rmem_max: Optional[int] = None, + net_core_somaxconn: Optional[int] = None, + net_core_wmem_default: Optional[int] = None, + net_core_wmem_max: Optional[int] = None, + net_ipv4_ip_local_port_range: Optional[str] = None, + net_ipv4_neigh_default_gc_thresh1: Optional[int] = None, + net_ipv4_neigh_default_gc_thresh2: Optional[int] = None, + net_ipv4_neigh_default_gc_thresh3: Optional[int] = None, + net_ipv4_tcp_fin_timeout: Optional[int] = None, + net_ipv4_tcp_keepalive_probes: Optional[int] = None, + net_ipv4_tcp_keepalive_time: Optional[int] = None, + net_ipv4_tcp_max_syn_backlog: Optional[int] = None, + net_ipv4_tcp_max_tw_buckets: Optional[int] = None, + net_ipv4_tcp_tw_reuse: Optional[bool] = None, + net_ipv4_tcpkeepalive_intvl: Optional[int] = None, + net_netfilter_nf_conntrack_buckets: Optional[int] = None, + net_netfilter_nf_conntrack_max: Optional[int] = None, + vm_max_map_count: Optional[int] = None, + vm_swappiness: Optional[int] = None, + vm_vfs_cache_pressure: Optional[int] = None): + """ + Sysctl settings for Linux agent nodes. + :param int fs_aio_max_nr: Sysctl setting fs.aio-max-nr. + :param int fs_file_max: Sysctl setting fs.file-max. + :param int fs_inotify_max_user_watches: Sysctl setting fs.inotify.max_user_watches. + :param int fs_nr_open: Sysctl setting fs.nr_open. + :param int kernel_threads_max: Sysctl setting kernel.threads-max. + :param int net_core_netdev_max_backlog: Sysctl setting net.core.netdev_max_backlog. + :param int net_core_optmem_max: Sysctl setting net.core.optmem_max. + :param int net_core_rmem_default: Sysctl setting net.core.rmem_default. + :param int net_core_rmem_max: Sysctl setting net.core.rmem_max. + :param int net_core_somaxconn: Sysctl setting net.core.somaxconn. + :param int net_core_wmem_default: Sysctl setting net.core.wmem_default. + :param int net_core_wmem_max: Sysctl setting net.core.wmem_max. + :param str net_ipv4_ip_local_port_range: Sysctl setting net.ipv4.ip_local_port_range. + :param int net_ipv4_neigh_default_gc_thresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. + :param int net_ipv4_neigh_default_gc_thresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. + :param int net_ipv4_neigh_default_gc_thresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. + :param int net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. + :param int net_ipv4_tcp_keepalive_probes: Sysctl setting net.ipv4.tcp_keepalive_probes. + :param int net_ipv4_tcp_keepalive_time: Sysctl setting net.ipv4.tcp_keepalive_time. + :param int net_ipv4_tcp_max_syn_backlog: Sysctl setting net.ipv4.tcp_max_syn_backlog. + :param int net_ipv4_tcp_max_tw_buckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. + :param bool net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. + :param int net_ipv4_tcpkeepalive_intvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. + :param int net_netfilter_nf_conntrack_buckets: Sysctl setting net.netfilter.nf_conntrack_buckets. + :param int net_netfilter_nf_conntrack_max: Sysctl setting net.netfilter.nf_conntrack_max. + :param int vm_max_map_count: Sysctl setting vm.max_map_count. + :param int vm_swappiness: Sysctl setting vm.swappiness. + :param int vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. + """ + if fs_aio_max_nr is not None: + pulumi.set(__self__, "fs_aio_max_nr", fs_aio_max_nr) + if fs_file_max is not None: + pulumi.set(__self__, "fs_file_max", fs_file_max) + if fs_inotify_max_user_watches is not None: + pulumi.set(__self__, "fs_inotify_max_user_watches", fs_inotify_max_user_watches) + if fs_nr_open is not None: + pulumi.set(__self__, "fs_nr_open", fs_nr_open) + if kernel_threads_max is not None: + pulumi.set(__self__, "kernel_threads_max", kernel_threads_max) + if net_core_netdev_max_backlog is not None: + pulumi.set(__self__, "net_core_netdev_max_backlog", net_core_netdev_max_backlog) + if net_core_optmem_max is not None: + pulumi.set(__self__, "net_core_optmem_max", net_core_optmem_max) + if net_core_rmem_default is not None: + pulumi.set(__self__, "net_core_rmem_default", net_core_rmem_default) + if net_core_rmem_max is not None: + pulumi.set(__self__, "net_core_rmem_max", net_core_rmem_max) + if net_core_somaxconn is not None: + pulumi.set(__self__, "net_core_somaxconn", net_core_somaxconn) + if net_core_wmem_default is not None: + pulumi.set(__self__, "net_core_wmem_default", net_core_wmem_default) + if net_core_wmem_max is not None: + pulumi.set(__self__, "net_core_wmem_max", net_core_wmem_max) + if net_ipv4_ip_local_port_range is not None: + pulumi.set(__self__, "net_ipv4_ip_local_port_range", net_ipv4_ip_local_port_range) + if net_ipv4_neigh_default_gc_thresh1 is not None: + pulumi.set(__self__, "net_ipv4_neigh_default_gc_thresh1", net_ipv4_neigh_default_gc_thresh1) + if net_ipv4_neigh_default_gc_thresh2 is not None: + pulumi.set(__self__, "net_ipv4_neigh_default_gc_thresh2", net_ipv4_neigh_default_gc_thresh2) + if net_ipv4_neigh_default_gc_thresh3 is not None: + pulumi.set(__self__, "net_ipv4_neigh_default_gc_thresh3", net_ipv4_neigh_default_gc_thresh3) + if net_ipv4_tcp_fin_timeout is not None: + pulumi.set(__self__, "net_ipv4_tcp_fin_timeout", net_ipv4_tcp_fin_timeout) + if net_ipv4_tcp_keepalive_probes is not None: + pulumi.set(__self__, "net_ipv4_tcp_keepalive_probes", net_ipv4_tcp_keepalive_probes) + if net_ipv4_tcp_keepalive_time is not None: + pulumi.set(__self__, "net_ipv4_tcp_keepalive_time", net_ipv4_tcp_keepalive_time) + if net_ipv4_tcp_max_syn_backlog is not None: + pulumi.set(__self__, "net_ipv4_tcp_max_syn_backlog", net_ipv4_tcp_max_syn_backlog) + if net_ipv4_tcp_max_tw_buckets is not None: + pulumi.set(__self__, "net_ipv4_tcp_max_tw_buckets", net_ipv4_tcp_max_tw_buckets) + if net_ipv4_tcp_tw_reuse is not None: + pulumi.set(__self__, "net_ipv4_tcp_tw_reuse", net_ipv4_tcp_tw_reuse) + if net_ipv4_tcpkeepalive_intvl is not None: + pulumi.set(__self__, "net_ipv4_tcpkeepalive_intvl", net_ipv4_tcpkeepalive_intvl) + if net_netfilter_nf_conntrack_buckets is not None: + pulumi.set(__self__, "net_netfilter_nf_conntrack_buckets", net_netfilter_nf_conntrack_buckets) + if net_netfilter_nf_conntrack_max is not None: + pulumi.set(__self__, "net_netfilter_nf_conntrack_max", net_netfilter_nf_conntrack_max) + if vm_max_map_count is not None: + pulumi.set(__self__, "vm_max_map_count", vm_max_map_count) + if vm_swappiness is not None: + pulumi.set(__self__, "vm_swappiness", vm_swappiness) + if vm_vfs_cache_pressure is not None: + pulumi.set(__self__, "vm_vfs_cache_pressure", vm_vfs_cache_pressure) + + @property + @pulumi.getter(name="fsAioMaxNr") + def fs_aio_max_nr(self) -> Optional[int]: + """ + Sysctl setting fs.aio-max-nr. + """ + return pulumi.get(self, "fs_aio_max_nr") + + @property + @pulumi.getter(name="fsFileMax") + def fs_file_max(self) -> Optional[int]: + """ + Sysctl setting fs.file-max. + """ + return pulumi.get(self, "fs_file_max") + + @property + @pulumi.getter(name="fsInotifyMaxUserWatches") + def fs_inotify_max_user_watches(self) -> Optional[int]: + """ + Sysctl setting fs.inotify.max_user_watches. + """ + return pulumi.get(self, "fs_inotify_max_user_watches") + + @property + @pulumi.getter(name="fsNrOpen") + def fs_nr_open(self) -> Optional[int]: + """ + Sysctl setting fs.nr_open. + """ + return pulumi.get(self, "fs_nr_open") + + @property + @pulumi.getter(name="kernelThreadsMax") + def kernel_threads_max(self) -> Optional[int]: + """ + Sysctl setting kernel.threads-max. + """ + return pulumi.get(self, "kernel_threads_max") + + @property + @pulumi.getter(name="netCoreNetdevMaxBacklog") + def net_core_netdev_max_backlog(self) -> Optional[int]: + """ + Sysctl setting net.core.netdev_max_backlog. + """ + return pulumi.get(self, "net_core_netdev_max_backlog") + + @property + @pulumi.getter(name="netCoreOptmemMax") + def net_core_optmem_max(self) -> Optional[int]: + """ + Sysctl setting net.core.optmem_max. + """ + return pulumi.get(self, "net_core_optmem_max") + + @property + @pulumi.getter(name="netCoreRmemDefault") + def net_core_rmem_default(self) -> Optional[int]: + """ + Sysctl setting net.core.rmem_default. + """ + return pulumi.get(self, "net_core_rmem_default") + + @property + @pulumi.getter(name="netCoreRmemMax") + def net_core_rmem_max(self) -> Optional[int]: + """ + Sysctl setting net.core.rmem_max. + """ + return pulumi.get(self, "net_core_rmem_max") + + @property + @pulumi.getter(name="netCoreSomaxconn") + def net_core_somaxconn(self) -> Optional[int]: + """ + Sysctl setting net.core.somaxconn. + """ + return pulumi.get(self, "net_core_somaxconn") + + @property + @pulumi.getter(name="netCoreWmemDefault") + def net_core_wmem_default(self) -> Optional[int]: + """ + Sysctl setting net.core.wmem_default. + """ + return pulumi.get(self, "net_core_wmem_default") + + @property + @pulumi.getter(name="netCoreWmemMax") + def net_core_wmem_max(self) -> Optional[int]: + """ + Sysctl setting net.core.wmem_max. + """ + return pulumi.get(self, "net_core_wmem_max") + + @property + @pulumi.getter(name="netIpv4IpLocalPortRange") + def net_ipv4_ip_local_port_range(self) -> Optional[str]: + """ + Sysctl setting net.ipv4.ip_local_port_range. + """ + return pulumi.get(self, "net_ipv4_ip_local_port_range") + + @property + @pulumi.getter(name="netIpv4NeighDefaultGcThresh1") + def net_ipv4_neigh_default_gc_thresh1(self) -> Optional[int]: + """ + Sysctl setting net.ipv4.neigh.default.gc_thresh1. + """ + return pulumi.get(self, "net_ipv4_neigh_default_gc_thresh1") + + @property + @pulumi.getter(name="netIpv4NeighDefaultGcThresh2") + def net_ipv4_neigh_default_gc_thresh2(self) -> Optional[int]: + """ + Sysctl setting net.ipv4.neigh.default.gc_thresh2. + """ + return pulumi.get(self, "net_ipv4_neigh_default_gc_thresh2") + + @property + @pulumi.getter(name="netIpv4NeighDefaultGcThresh3") + def net_ipv4_neigh_default_gc_thresh3(self) -> Optional[int]: + """ + Sysctl setting net.ipv4.neigh.default.gc_thresh3. + """ + return pulumi.get(self, "net_ipv4_neigh_default_gc_thresh3") + + @property + @pulumi.getter(name="netIpv4TcpFinTimeout") + def net_ipv4_tcp_fin_timeout(self) -> Optional[int]: + """ + Sysctl setting net.ipv4.tcp_fin_timeout. + """ + return pulumi.get(self, "net_ipv4_tcp_fin_timeout") + + @property + @pulumi.getter(name="netIpv4TcpKeepaliveProbes") + def net_ipv4_tcp_keepalive_probes(self) -> Optional[int]: + """ + Sysctl setting net.ipv4.tcp_keepalive_probes. + """ + return pulumi.get(self, "net_ipv4_tcp_keepalive_probes") + + @property + @pulumi.getter(name="netIpv4TcpKeepaliveTime") + def net_ipv4_tcp_keepalive_time(self) -> Optional[int]: + """ + Sysctl setting net.ipv4.tcp_keepalive_time. + """ + return pulumi.get(self, "net_ipv4_tcp_keepalive_time") + + @property + @pulumi.getter(name="netIpv4TcpMaxSynBacklog") + def net_ipv4_tcp_max_syn_backlog(self) -> Optional[int]: + """ + Sysctl setting net.ipv4.tcp_max_syn_backlog. + """ + return pulumi.get(self, "net_ipv4_tcp_max_syn_backlog") + + @property + @pulumi.getter(name="netIpv4TcpMaxTwBuckets") + def net_ipv4_tcp_max_tw_buckets(self) -> Optional[int]: + """ + Sysctl setting net.ipv4.tcp_max_tw_buckets. + """ + return pulumi.get(self, "net_ipv4_tcp_max_tw_buckets") + + @property + @pulumi.getter(name="netIpv4TcpTwReuse") + def net_ipv4_tcp_tw_reuse(self) -> Optional[bool]: + """ + Sysctl setting net.ipv4.tcp_tw_reuse. + """ + return pulumi.get(self, "net_ipv4_tcp_tw_reuse") + + @property + @pulumi.getter(name="netIpv4TcpkeepaliveIntvl") + def net_ipv4_tcpkeepalive_intvl(self) -> Optional[int]: + """ + Sysctl setting net.ipv4.tcp_keepalive_intvl. + """ + return pulumi.get(self, "net_ipv4_tcpkeepalive_intvl") + + @property + @pulumi.getter(name="netNetfilterNfConntrackBuckets") + def net_netfilter_nf_conntrack_buckets(self) -> Optional[int]: + """ + Sysctl setting net.netfilter.nf_conntrack_buckets. + """ + return pulumi.get(self, "net_netfilter_nf_conntrack_buckets") + + @property + @pulumi.getter(name="netNetfilterNfConntrackMax") + def net_netfilter_nf_conntrack_max(self) -> Optional[int]: + """ + Sysctl setting net.netfilter.nf_conntrack_max. + """ + return pulumi.get(self, "net_netfilter_nf_conntrack_max") + + @property + @pulumi.getter(name="vmMaxMapCount") + def vm_max_map_count(self) -> Optional[int]: + """ + Sysctl setting vm.max_map_count. + """ + return pulumi.get(self, "vm_max_map_count") + + @property + @pulumi.getter(name="vmSwappiness") + def vm_swappiness(self) -> Optional[int]: + """ + Sysctl setting vm.swappiness. + """ + return pulumi.get(self, "vm_swappiness") + + @property + @pulumi.getter(name="vmVfsCachePressure") + def vm_vfs_cache_pressure(self) -> Optional[int]: + """ + Sysctl setting vm.vfs_cache_pressure. + """ + return pulumi.get(self, "vm_vfs_cache_pressure") + + +@pulumi.output_type +class SystemDataResponse(dict): + """ + Metadata pertaining to creation and last modification of the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: Optional[str] = None, + created_by: Optional[str] = None, + created_by_type: Optional[str] = None, + last_modified_at: Optional[str] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[str] = None): + """ + Metadata pertaining to creation and last modification of the resource. + :param str created_at: The timestamp of resource creation (UTC). + :param str created_by: The identity that created the resource. + :param str created_by_type: The type of identity that created the resource. + :param str last_modified_at: The timestamp of resource last modification (UTC) + :param str last_modified_by: The identity that last modified the resource. + :param str last_modified_by_type: The type of identity that last modified the resource. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if created_by_type is not None: + pulumi.set(__self__, "created_by_type", created_by_type) + if last_modified_at is not None: + pulumi.set(__self__, "last_modified_at", last_modified_at) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if last_modified_by_type is not None: + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The timestamp of resource creation (UTC). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[str]: + """ + The identity that created the resource. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> Optional[str]: + """ + The type of identity that created the resource. + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> Optional[str]: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[str]: + """ + The identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> Optional[str]: + """ + The type of identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by_type") + + +@pulumi.output_type +class TimeInWeekResponse(dict): + """ + Time in a week. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "hourSlots": + suggest = "hour_slots" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TimeInWeekResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TimeInWeekResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TimeInWeekResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + day: Optional[str] = None, + hour_slots: Optional[Sequence[int]] = None): + """ + Time in a week. + :param str day: The day of the week. + :param Sequence[int] hour_slots: Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + """ + if day is not None: + pulumi.set(__self__, "day", day) + if hour_slots is not None: + pulumi.set(__self__, "hour_slots", hour_slots) + + @property + @pulumi.getter + def day(self) -> Optional[str]: + """ + The day of the week. + """ + return pulumi.get(self, "day") + + @property + @pulumi.getter(name="hourSlots") + def hour_slots(self) -> Optional[Sequence[int]]: + """ + Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + """ + return pulumi.get(self, "hour_slots") + + +@pulumi.output_type +class TimeSpanResponse(dict): + """ + For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + """ + def __init__(__self__, *, + end: Optional[str] = None, + start: Optional[str] = None): + """ + For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + :param str end: The end of a time span + :param str start: The start of a time span + """ + if end is not None: + pulumi.set(__self__, "end", end) + if start is not None: + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> Optional[str]: + """ + The end of a time span + """ + return pulumi.get(self, "end") + + @property + @pulumi.getter + def start(self) -> Optional[str]: + """ + The start of a time span + """ + return pulumi.get(self, "start") + + +@pulumi.output_type +class UpgradeOverrideSettingsResponse(dict): + """ + Settings for overrides when upgrading a cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "forceUpgrade": + suggest = "force_upgrade" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UpgradeOverrideSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UpgradeOverrideSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UpgradeOverrideSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + force_upgrade: Optional[bool] = None, + until: Optional[str] = None): + """ + Settings for overrides when upgrading a cluster. + :param bool force_upgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. + :param str until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. + """ + if force_upgrade is not None: + pulumi.set(__self__, "force_upgrade", force_upgrade) + if until is not None: + pulumi.set(__self__, "until", until) + + @property + @pulumi.getter(name="forceUpgrade") + def force_upgrade(self) -> Optional[bool]: + """ + Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. + """ + return pulumi.get(self, "force_upgrade") + + @property + @pulumi.getter + def until(self) -> Optional[str]: + """ + Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. + """ + return pulumi.get(self, "until") + + +@pulumi.output_type +class UserAssignedIdentityResponse(dict): + """ + Details about a user assigned identity. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "objectId": + suggest = "object_id" + elif key == "resourceId": + suggest = "resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: Optional[str] = None, + object_id: Optional[str] = None, + resource_id: Optional[str] = None): + """ + Details about a user assigned identity. + :param str client_id: The client ID of the user assigned identity. + :param str object_id: The object ID of the user assigned identity. + :param str resource_id: The resource ID of the user assigned identity. + """ + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) + if object_id is not None: + pulumi.set(__self__, "object_id", object_id) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[str]: + """ + The client ID of the user assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> Optional[str]: + """ + The object ID of the user assigned identity. + """ + return pulumi.get(self, "object_id") + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[str]: + """ + The resource ID of the user assigned identity. + """ + return pulumi.get(self, "resource_id") + + +@pulumi.output_type +class WeeklyScheduleResponse(dict): + """ + For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dayOfWeek": + suggest = "day_of_week" + elif key == "intervalWeeks": + suggest = "interval_weeks" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WeeklyScheduleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WeeklyScheduleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WeeklyScheduleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + day_of_week: str, + interval_weeks: int): + """ + For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + :param str day_of_week: Specifies on which day of the week the maintenance occurs. + :param int interval_weeks: Specifies the number of weeks between each set of occurrences. + """ + pulumi.set(__self__, "day_of_week", day_of_week) + pulumi.set(__self__, "interval_weeks", interval_weeks) + + @property + @pulumi.getter(name="dayOfWeek") + def day_of_week(self) -> str: + """ + Specifies on which day of the week the maintenance occurs. + """ + return pulumi.get(self, "day_of_week") + + @property + @pulumi.getter(name="intervalWeeks") + def interval_weeks(self) -> int: + """ + Specifies the number of weeks between each set of occurrences. + """ + return pulumi.get(self, "interval_weeks") + + +@pulumi.output_type +class WindowsGmsaProfileResponse(dict): + """ + Windows gMSA Profile in the managed cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dnsServer": + suggest = "dns_server" + elif key == "rootDomainName": + suggest = "root_domain_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WindowsGmsaProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WindowsGmsaProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WindowsGmsaProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dns_server: Optional[str] = None, + enabled: Optional[bool] = None, + root_domain_name: Optional[str] = None): + """ + Windows gMSA Profile in the managed cluster. + :param str dns_server: Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + :param bool enabled: Specifies whether to enable Windows gMSA in the managed cluster. + :param str root_domain_name: Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + """ + if dns_server is not None: + pulumi.set(__self__, "dns_server", dns_server) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if root_domain_name is not None: + pulumi.set(__self__, "root_domain_name", root_domain_name) + + @property + @pulumi.getter(name="dnsServer") + def dns_server(self) -> Optional[str]: + """ + Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + """ + return pulumi.get(self, "dns_server") + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Specifies whether to enable Windows gMSA in the managed cluster. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="rootDomainName") + def root_domain_name(self) -> Optional[str]: + """ + Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + """ + return pulumi.get(self, "root_domain_name") + + diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/private_endpoint_connection.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/private_endpoint_connection.py new file mode 100644 index 000000000000..0d7f9b33e567 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/private_endpoint_connection.py @@ -0,0 +1,246 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['PrivateEndpointConnectionArgs', 'PrivateEndpointConnection'] + +@pulumi.input_type +class PrivateEndpointConnectionArgs: + def __init__(__self__, *, + private_link_service_connection_state: pulumi.Input['PrivateLinkServiceConnectionStateArgs'], + resource_group_name: pulumi.Input[str], + resource_name: pulumi.Input[str], + private_endpoint: Optional[pulumi.Input['PrivateEndpointArgs']] = None, + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a PrivateEndpointConnection resource. + :param pulumi.Input['PrivateLinkServiceConnectionStateArgs'] private_link_service_connection_state: A collection of information about the state of the connection between service consumer and provider. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] resource_name: The name of the managed cluster resource. + :param pulumi.Input['PrivateEndpointArgs'] private_endpoint: The resource of private endpoint. + :param pulumi.Input[str] private_endpoint_connection_name: The name of the private endpoint connection. + """ + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "resource_name", resource_name) + if private_endpoint is not None: + pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_endpoint_connection_name is not None: + pulumi.set(__self__, "private_endpoint_connection_name", private_endpoint_connection_name) + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> pulumi.Input['PrivateLinkServiceConnectionStateArgs']: + """ + A collection of information about the state of the connection between service consumer and provider. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @private_link_service_connection_state.setter + def private_link_service_connection_state(self, value: pulumi.Input['PrivateLinkServiceConnectionStateArgs']): + pulumi.set(self, "private_link_service_connection_state", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="resourceName") + def resource_name(self) -> pulumi.Input[str]: + """ + The name of the managed cluster resource. + """ + return pulumi.get(self, "resource_name") + + @resource_name.setter + def resource_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_name", value) + + @property + @pulumi.getter(name="privateEndpoint") + def private_endpoint(self) -> Optional[pulumi.Input['PrivateEndpointArgs']]: + """ + The resource of private endpoint. + """ + return pulumi.get(self, "private_endpoint") + + @private_endpoint.setter + def private_endpoint(self, value: Optional[pulumi.Input['PrivateEndpointArgs']]): + pulumi.set(self, "private_endpoint", value) + + @property + @pulumi.getter(name="privateEndpointConnectionName") + def private_endpoint_connection_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the private endpoint connection. + """ + return pulumi.get(self, "private_endpoint_connection_name") + + @private_endpoint_connection_name.setter + def private_endpoint_connection_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "private_endpoint_connection_name", value) + + +class PrivateEndpointConnection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + private_endpoint: Optional[pulumi.Input[pulumi.InputType['PrivateEndpointArgs']]] = None, + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, + private_link_service_connection_state: Optional[pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionStateArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + A private endpoint connection + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['PrivateEndpointArgs']] private_endpoint: The resource of private endpoint. + :param pulumi.Input[str] private_endpoint_connection_name: The name of the private endpoint connection. + :param pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionStateArgs']] private_link_service_connection_state: A collection of information about the state of the connection between service consumer and provider. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] resource_name_: The name of the managed cluster resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: PrivateEndpointConnectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + A private endpoint connection + + :param str resource_name: The name of the resource. + :param PrivateEndpointConnectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(PrivateEndpointConnectionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + private_endpoint: Optional[pulumi.Input[pulumi.InputType['PrivateEndpointArgs']]] = None, + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, + private_link_service_connection_state: Optional[pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionStateArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = PrivateEndpointConnectionArgs.__new__(PrivateEndpointConnectionArgs) + + __props__.__dict__["private_endpoint"] = private_endpoint + __props__.__dict__["private_endpoint_connection_name"] = private_endpoint_connection_name + if private_link_service_connection_state is None and not opts.urn: + raise TypeError("Missing required property 'private_link_service_connection_state'") + __props__.__dict__["private_link_service_connection_state"] = private_link_service_connection_state + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if resource_name_ is None and not opts.urn: + raise TypeError("Missing required property 'resource_name_'") + __props__.__dict__["resource_name"] = resource_name_ + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20200901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20201201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210801:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20210901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211001:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220701:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230201:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230301:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230401:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230501:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230601:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:PrivateEndpointConnection")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(PrivateEndpointConnection, __self__).__init__( + 'azure-native:containerservice/v20230701:PrivateEndpointConnection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'PrivateEndpointConnection': + """ + Get an existing PrivateEndpointConnection resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = PrivateEndpointConnectionArgs.__new__(PrivateEndpointConnectionArgs) + + __props__.__dict__["name"] = None + __props__.__dict__["private_endpoint"] = None + __props__.__dict__["private_link_service_connection_state"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["type"] = None + return PrivateEndpointConnection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the private endpoint connection. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="privateEndpoint") + def private_endpoint(self) -> pulumi.Output[Optional['outputs.PrivateEndpointResponse']]: + """ + The resource of private endpoint. + """ + return pulumi.get(self, "private_endpoint") + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> pulumi.Output['outputs.PrivateLinkServiceConnectionStateResponse']: + """ + A collection of information about the state of the connection between service consumer and provider. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The current provisioning state. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The resource type. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/containerservice/v20230701/snapshot.py b/sdk/python/pulumi_azure_native/containerservice/v20230701/snapshot.py new file mode 100644 index 000000000000..fc129d278480 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerservice/v20230701/snapshot.py @@ -0,0 +1,342 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['SnapshotArgs', 'Snapshot'] + +@pulumi.input_type +class SnapshotArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + creation_data: Optional[pulumi.Input['CreationDataArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None, + snapshot_type: Optional[pulumi.Input[Union[str, 'SnapshotType']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Snapshot resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input['CreationDataArgs'] creation_data: CreationData to be used to specify the source agent pool resource ID to create this snapshot. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] resource_name: The name of the managed cluster resource. + :param pulumi.Input[Union[str, 'SnapshotType']] snapshot_type: The type of a snapshot. The default is NodePool. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if creation_data is not None: + pulumi.set(__self__, "creation_data", creation_data) + if location is not None: + pulumi.set(__self__, "location", location) + if resource_name is not None: + pulumi.set(__self__, "resource_name", resource_name) + if snapshot_type is not None: + pulumi.set(__self__, "snapshot_type", snapshot_type) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> Optional[pulumi.Input['CreationDataArgs']]: + """ + CreationData to be used to specify the source agent pool resource ID to create this snapshot. + """ + return pulumi.get(self, "creation_data") + + @creation_data.setter + def creation_data(self, value: Optional[pulumi.Input['CreationDataArgs']]): + pulumi.set(self, "creation_data", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="resourceName") + def resource_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the managed cluster resource. + """ + return pulumi.get(self, "resource_name") + + @resource_name.setter + def resource_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_name", value) + + @property + @pulumi.getter(name="snapshotType") + def snapshot_type(self) -> Optional[pulumi.Input[Union[str, 'SnapshotType']]]: + """ + The type of a snapshot. The default is NodePool. + """ + return pulumi.get(self, "snapshot_type") + + @snapshot_type.setter + def snapshot_type(self, value: Optional[pulumi.Input[Union[str, 'SnapshotType']]]): + pulumi.set(self, "snapshot_type", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class Snapshot(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + creation_data: Optional[pulumi.Input[pulumi.InputType['CreationDataArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + snapshot_type: Optional[pulumi.Input[Union[str, 'SnapshotType']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + A node pool snapshot resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['CreationDataArgs']] creation_data: CreationData to be used to specify the source agent pool resource ID to create this snapshot. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] resource_name_: The name of the managed cluster resource. + :param pulumi.Input[Union[str, 'SnapshotType']] snapshot_type: The type of a snapshot. The default is NodePool. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SnapshotArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + A node pool snapshot resource. + + :param str resource_name: The name of the resource. + :param SnapshotArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(SnapshotArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + creation_data: Optional[pulumi.Input[pulumi.InputType['CreationDataArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resource_name_: Optional[pulumi.Input[str]] = None, + snapshot_type: Optional[pulumi.Input[Union[str, 'SnapshotType']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = SnapshotArgs.__new__(SnapshotArgs) + + __props__.__dict__["creation_data"] = creation_data + __props__.__dict__["location"] = location + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["resource_name"] = resource_name_ + __props__.__dict__["snapshot_type"] = snapshot_type + __props__.__dict__["tags"] = tags + __props__.__dict__["enable_fips"] = None + __props__.__dict__["kubernetes_version"] = None + __props__.__dict__["name"] = None + __props__.__dict__["node_image_version"] = None + __props__.__dict__["os_sku"] = None + __props__.__dict__["os_type"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + __props__.__dict__["vm_size"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerservice:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210801:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20210901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211001:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20211101preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220602preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220701:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220702preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220802preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220803preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220901:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20220902preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221002preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20221102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230101:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230102preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230201:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230202preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230301:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230302preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230401:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230402preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230501:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230502preview:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230601:Snapshot"), pulumi.Alias(type_="azure-native:containerservice/v20230602preview:Snapshot")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Snapshot, __self__).__init__( + 'azure-native:containerservice/v20230701:Snapshot', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Snapshot': + """ + Get an existing Snapshot resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = SnapshotArgs.__new__(SnapshotArgs) + + __props__.__dict__["creation_data"] = None + __props__.__dict__["enable_fips"] = None + __props__.__dict__["kubernetes_version"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["node_image_version"] = None + __props__.__dict__["os_sku"] = None + __props__.__dict__["os_type"] = None + __props__.__dict__["snapshot_type"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["vm_size"] = None + return Snapshot(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="creationData") + def creation_data(self) -> pulumi.Output[Optional['outputs.CreationDataResponse']]: + """ + CreationData to be used to specify the source agent pool resource ID to create this snapshot. + """ + return pulumi.get(self, "creation_data") + + @property + @pulumi.getter(name="enableFIPS") + def enable_fips(self) -> pulumi.Output[bool]: + """ + Whether to use a FIPS-enabled OS. + """ + return pulumi.get(self, "enable_fips") + + @property + @pulumi.getter(name="kubernetesVersion") + def kubernetes_version(self) -> pulumi.Output[str]: + """ + The version of Kubernetes. + """ + return pulumi.get(self, "kubernetes_version") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nodeImageVersion") + def node_image_version(self) -> pulumi.Output[str]: + """ + The version of node image. + """ + return pulumi.get(self, "node_image_version") + + @property + @pulumi.getter(name="osSku") + def os_sku(self) -> pulumi.Output[str]: + """ + Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + """ + return pulumi.get(self, "os_sku") + + @property + @pulumi.getter(name="osType") + def os_type(self) -> pulumi.Output[str]: + """ + The operating system type. The default is Linux. + """ + return pulumi.get(self, "os_type") + + @property + @pulumi.getter(name="snapshotType") + def snapshot_type(self) -> pulumi.Output[Optional[str]]: + """ + The type of a snapshot. The default is NodePool. + """ + return pulumi.get(self, "snapshot_type") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> pulumi.Output[str]: + """ + The size of the VM. + """ + return pulumi.get(self, "vm_size") + diff --git a/sdk/python/pulumi_azure_native/containerstorage/__init__.py b/sdk/python/pulumi_azure_native/containerstorage/__init__.py index 2588f24203ae..7addad373dcf 100644 --- a/sdk/python/pulumi_azure_native/containerstorage/__init__.py +++ b/sdk/python/pulumi_azure_native/containerstorage/__init__.py @@ -7,18 +7,18 @@ # Export this package's modules as members: from ._enums import * from .get_pool import * +from .get_snapshot import * from .get_volume import * -from .get_volume_snapshot import * from .pool import * +from .snapshot import * from .volume import * -from .volume_snapshot import * from ._inputs import * from . import outputs # Make subpackages available: if typing.TYPE_CHECKING: - import pulumi_azure_native.containerstorage.v20230301preview as __v20230301preview - v20230301preview = __v20230301preview + import pulumi_azure_native.containerstorage.v20230701preview as __v20230701preview + v20230701preview = __v20230701preview else: - v20230301preview = _utilities.lazy_import('pulumi_azure_native.containerstorage.v20230301preview') + v20230701preview = _utilities.lazy_import('pulumi_azure_native.containerstorage.v20230701preview') diff --git a/sdk/python/pulumi_azure_native/containerstorage/_enums.py b/sdk/python/pulumi_azure_native/containerstorage/_enums.py index c884d014b7c0..fa8776c61c22 100644 --- a/sdk/python/pulumi_azure_native/containerstorage/_enums.py +++ b/sdk/python/pulumi_azure_native/containerstorage/_enums.py @@ -5,14 +5,75 @@ from enum import Enum __all__ = [ + 'AzureDiskSkuName', + 'ElasticSanSkuName', + 'ManagedServiceIdentityType', 'ReclaimPolicy', - 'VolumeMode', + 'Zone', ] +class AzureDiskSkuName(str, Enum): + """ + Sku name + """ + PREMIUM_LRS = "Premium_LRS" + """ + Premium_LRS SKU + """ + STANDARD_LRS = "Standard_LRS" + """ + Standard_LRS SKU + """ + STANDARD_SS_D_LRS = "StandardSSD_LRS" + """ + StandardSSD_LRS SKU + """ + ULTRA_SS_D_LRS = "UltraSSD_LRS" + """ + UltraSSD_LRS SKU + """ + PREMIUM_ZRS = "Premium_ZRS" + """ + Premium_ZRS SKU + """ + PREMIUM_V2_LRS = "PremiumV2_LRS" + """ + PremiumV2_LRS SKU + """ + STANDARD_SS_D_ZRS = "StandardSSD_ZRS" + """ + StandardSSD_ZRS SKU + """ + + +class ElasticSanSkuName(str, Enum): + """ + Sku name + """ + PREMIUM_LRS = "Premium_LRS" + """ + Premium_LRS SKU + """ + PREMIUM_ZRS = "Premium_ZRS" + """ + Premium_ZRS SKU + """ + + +class ManagedServiceIdentityType(str, Enum): + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + NONE = "None" + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned, UserAssigned" + + class ReclaimPolicy(str, Enum): """ - Reclaim Policy, Delete or Retain + ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted """ DELETE = "Delete" """ @@ -24,15 +85,19 @@ class ReclaimPolicy(str, Enum): """ -class VolumeMode(str, Enum): +class Zone(str, Enum): + """ + Availability Zones + """ + ZONE1 = "1" """ - Indicates how the volumes created from the snapshot should be attached + First availability zone. """ - FILESYSTEM = "Filesystem" + ZONE2 = "2" """ - FileSystem volume mode + Second availability zone. """ - RAW = "Raw" + ZONE3 = "3" """ - Raw volume mode + Third availability zone. """ diff --git a/sdk/python/pulumi_azure_native/containerstorage/_inputs.py b/sdk/python/pulumi_azure_native/containerstorage/_inputs.py index 80475f610464..293832fc2d03 100644 --- a/sdk/python/pulumi_azure_native/containerstorage/_inputs.py +++ b/sdk/python/pulumi_azure_native/containerstorage/_inputs.py @@ -11,175 +11,413 @@ from ._enums import * __all__ = [ - 'DiskPoolPropertiesArgs', - 'ElasticSanPoolPropertiesArgs', - 'EphemeralPoolPropertiesArgs', + 'AssignmentArgs', + 'AzureDiskArgs', + 'DiskArgs', + 'ElasticSanArgs', + 'EncryptionArgs', + 'EphemeralDiskArgs', + 'ManagedServiceIdentityArgs', + 'PoolTypeArgs', + 'RequestsArgs', + 'ResourcesArgs', ] @pulumi.input_type -class DiskPoolPropertiesArgs: +class AssignmentArgs: def __init__(__self__, *, - csi_params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - disks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - max_volume_capacity_gi_b: Optional[pulumi.Input[float]] = None): + id: pulumi.Input[str]): """ - Disk Pool Properties - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] csi_params: List of KV pairs to set in StorageClass to configure CSI driver. - :param pulumi.Input[Sequence[pulumi.Input[str]]] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - :param pulumi.Input[float] max_volume_capacity_gi_b: Maximum capacity of the volumes in GiB the user intends to create. Default 512. + Assignment Properties + :param pulumi.Input[str] id: Resource id for the assigned resource """ - if csi_params is not None: - pulumi.set(__self__, "csi_params", csi_params) - if disks is not None: - pulumi.set(__self__, "disks", disks) - if max_volume_capacity_gi_b is None: - max_volume_capacity_gi_b = 512 - if max_volume_capacity_gi_b is not None: - pulumi.set(__self__, "max_volume_capacity_gi_b", max_volume_capacity_gi_b) + pulumi.set(__self__, "id", id) @property - @pulumi.getter(name="csiParams") - def csi_params(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + @pulumi.getter + def id(self) -> pulumi.Input[str]: """ - List of KV pairs to set in StorageClass to configure CSI driver. + Resource id for the assigned resource """ - return pulumi.get(self, "csi_params") + return pulumi.get(self, "id") - @csi_params.setter - def csi_params(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "csi_params", value) + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class AzureDiskArgs: + def __init__(__self__, *, + disks: Optional[pulumi.Input[Sequence[pulumi.Input['DiskArgs']]]] = None, + encryption: Optional[pulumi.Input['EncryptionArgs']] = None, + sku_name: Optional[pulumi.Input[Union[str, 'AzureDiskSkuName']]] = None): + """ + Azure Disk Pool Properties + :param pulumi.Input[Sequence[pulumi.Input['DiskArgs']]] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + :param pulumi.Input['EncryptionArgs'] encryption: Encryption specifies the encryption configuration for the Azure Disk pool + :param pulumi.Input[Union[str, 'AzureDiskSkuName']] sku_name: Sku name + """ + if disks is not None: + pulumi.set(__self__, "disks", disks) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if sku_name is not None: + pulumi.set(__self__, "sku_name", sku_name) @property @pulumi.getter - def disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + def disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DiskArgs']]]]: """ Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). """ return pulumi.get(self, "disks") @disks.setter - def disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + def disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DiskArgs']]]]): pulumi.set(self, "disks", value) @property - @pulumi.getter(name="maxVolumeCapacityGiB") - def max_volume_capacity_gi_b(self) -> Optional[pulumi.Input[float]]: + @pulumi.getter + def encryption(self) -> Optional[pulumi.Input['EncryptionArgs']]: + """ + Encryption specifies the encryption configuration for the Azure Disk pool + """ + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: Optional[pulumi.Input['EncryptionArgs']]): + pulumi.set(self, "encryption", value) + + @property + @pulumi.getter(name="skuName") + def sku_name(self) -> Optional[pulumi.Input[Union[str, 'AzureDiskSkuName']]]: """ - Maximum capacity of the volumes in GiB the user intends to create. Default 512. + Sku name """ - return pulumi.get(self, "max_volume_capacity_gi_b") + return pulumi.get(self, "sku_name") - @max_volume_capacity_gi_b.setter - def max_volume_capacity_gi_b(self, value: Optional[pulumi.Input[float]]): - pulumi.set(self, "max_volume_capacity_gi_b", value) + @sku_name.setter + def sku_name(self, value: Optional[pulumi.Input[Union[str, 'AzureDiskSkuName']]]): + pulumi.set(self, "sku_name", value) @pulumi.input_type -class ElasticSanPoolPropertiesArgs: +class DiskArgs: def __init__(__self__, *, - resource_group: pulumi.Input[str], - san_name: pulumi.Input[str], - volume_group: pulumi.Input[str]): + id: pulumi.Input[str], + reference: pulumi.Input[str]): """ - Elastic San Pool Properties - :param pulumi.Input[str] resource_group: Resource group of an existing SAN. - :param pulumi.Input[str] san_name: Name of an existing SAN. - :param pulumi.Input[str] volume_group: Volume group of an existing SAN. + Model for disk for that pool is using + :param pulumi.Input[str] id: ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + :param pulumi.Input[str] reference: Reference is the location of the disk in an external system. """ - pulumi.set(__self__, "resource_group", resource_group) - pulumi.set(__self__, "san_name", san_name) - pulumi.set(__self__, "volume_group", volume_group) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "reference", reference) @property - @pulumi.getter(name="resourceGroup") - def resource_group(self) -> pulumi.Input[str]: + @pulumi.getter + def id(self) -> pulumi.Input[str]: """ - Resource group of an existing SAN. + ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 """ - return pulumi.get(self, "resource_group") + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) - @resource_group.setter - def resource_group(self, value: pulumi.Input[str]): - pulumi.set(self, "resource_group", value) + @property + @pulumi.getter + def reference(self) -> pulumi.Input[str]: + """ + Reference is the location of the disk in an external system. + """ + return pulumi.get(self, "reference") + + @reference.setter + def reference(self, value: pulumi.Input[str]): + pulumi.set(self, "reference", value) + + +@pulumi.input_type +class ElasticSanArgs: + def __init__(__self__, *, + encryption: Optional[pulumi.Input['EncryptionArgs']] = None, + sku_name: Optional[pulumi.Input[Union[str, 'ElasticSanSkuName']]] = None): + """ + Elastic San Pool Properties + :param pulumi.Input['EncryptionArgs'] encryption: Encryption specifies the encryption configuration for the Azure Disk pool + :param pulumi.Input[Union[str, 'ElasticSanSkuName']] sku_name: Sku name + """ + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if sku_name is not None: + pulumi.set(__self__, "sku_name", sku_name) @property - @pulumi.getter(name="sanName") - def san_name(self) -> pulumi.Input[str]: + @pulumi.getter + def encryption(self) -> Optional[pulumi.Input['EncryptionArgs']]: """ - Name of an existing SAN. + Encryption specifies the encryption configuration for the Azure Disk pool """ - return pulumi.get(self, "san_name") + return pulumi.get(self, "encryption") - @san_name.setter - def san_name(self, value: pulumi.Input[str]): - pulumi.set(self, "san_name", value) + @encryption.setter + def encryption(self, value: Optional[pulumi.Input['EncryptionArgs']]): + pulumi.set(self, "encryption", value) @property - @pulumi.getter(name="volumeGroup") - def volume_group(self) -> pulumi.Input[str]: + @pulumi.getter(name="skuName") + def sku_name(self) -> Optional[pulumi.Input[Union[str, 'ElasticSanSkuName']]]: """ - Volume group of an existing SAN. + Sku name """ - return pulumi.get(self, "volume_group") + return pulumi.get(self, "sku_name") - @volume_group.setter - def volume_group(self, value: pulumi.Input[str]): - pulumi.set(self, "volume_group", value) + @sku_name.setter + def sku_name(self, value: Optional[pulumi.Input[Union[str, 'ElasticSanSkuName']]]): + pulumi.set(self, "sku_name", value) @pulumi.input_type -class EphemeralPoolPropertiesArgs: +class EncryptionArgs: def __init__(__self__, *, - disk_selector: pulumi.Input[Sequence[pulumi.Input[str]]], - disks: pulumi.Input[Sequence[pulumi.Input[str]]], - disk_format: Optional[pulumi.Input[bool]] = None): + key_name: pulumi.Input[str], + key_vault_uri: pulumi.Input[str], + identity: Optional[pulumi.Input['ManagedServiceIdentityArgs']] = None): """ - Ephemeral Pool Properties - :param pulumi.Input[Sequence[pulumi.Input[str]]] disk_selector: Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. - :param pulumi.Input[Sequence[pulumi.Input[str]]] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - :param pulumi.Input[bool] disk_format: Consent to format the local disks. + Encryption key properties for the pool. + :param pulumi.Input[str] key_name: The name of the key vault key. + :param pulumi.Input[str] key_vault_uri: The URI of the key vault. + :param pulumi.Input['ManagedServiceIdentityArgs'] identity: The managed service identities assigned to this resource. + """ + pulumi.set(__self__, "key_name", key_name) + pulumi.set(__self__, "key_vault_uri", key_vault_uri) + if identity is not None: + pulumi.set(__self__, "identity", identity) + + @property + @pulumi.getter(name="keyName") + def key_name(self) -> pulumi.Input[str]: """ - pulumi.set(__self__, "disk_selector", disk_selector) - pulumi.set(__self__, "disks", disks) - if disk_format is None: - disk_format = False - if disk_format is not None: - pulumi.set(__self__, "disk_format", disk_format) + The name of the key vault key. + """ + return pulumi.get(self, "key_name") + + @key_name.setter + def key_name(self, value: pulumi.Input[str]): + pulumi.set(self, "key_name", value) + + @property + @pulumi.getter(name="keyVaultUri") + def key_vault_uri(self) -> pulumi.Input[str]: + """ + The URI of the key vault. + """ + return pulumi.get(self, "key_vault_uri") + + @key_vault_uri.setter + def key_vault_uri(self, value: pulumi.Input[str]): + pulumi.set(self, "key_vault_uri", value) @property - @pulumi.getter(name="diskSelector") - def disk_selector(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['ManagedServiceIdentityArgs']]: """ - Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. + The managed service identities assigned to this resource. """ - return pulumi.get(self, "disk_selector") + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['ManagedServiceIdentityArgs']]): + pulumi.set(self, "identity", value) - @disk_selector.setter - def disk_selector(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "disk_selector", value) + +@pulumi.input_type +class EphemeralDiskArgs: + def __init__(__self__, *, + disks: Optional[pulumi.Input[Sequence[pulumi.Input['DiskArgs']]]] = None, + replicas: Optional[pulumi.Input[float]] = None): + """ + Ephemeral Disk Pool Properties + :param pulumi.Input[Sequence[pulumi.Input['DiskArgs']]] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + :param pulumi.Input[float] replicas: The number of data copies. Default 3. + """ + if disks is not None: + pulumi.set(__self__, "disks", disks) + if replicas is None: + replicas = 3 + if replicas is not None: + pulumi.set(__self__, "replicas", replicas) @property @pulumi.getter - def disks(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + def disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DiskArgs']]]]: """ Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). """ return pulumi.get(self, "disks") @disks.setter - def disks(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + def disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DiskArgs']]]]): pulumi.set(self, "disks", value) @property - @pulumi.getter(name="diskFormat") - def disk_format(self) -> Optional[pulumi.Input[bool]]: + @pulumi.getter + def replicas(self) -> Optional[pulumi.Input[float]]: + """ + The number of data copies. Default 3. + """ + return pulumi.get(self, "replicas") + + @replicas.setter + def replicas(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "replicas", value) + + +@pulumi.input_type +class ManagedServiceIdentityArgs: + def __init__(__self__, *, + type: pulumi.Input[Union[str, 'ManagedServiceIdentityType']], + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Managed service identity (system assigned and/or user assigned identities) + :param pulumi.Input[Union[str, 'ManagedServiceIdentityType']] type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[Union[str, 'ManagedServiceIdentityType']]: + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[Union[str, 'ManagedServiceIdentityType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_assigned_identities", value) + + +@pulumi.input_type +class PoolTypeArgs: + def __init__(__self__, *, + azure_disk: Optional[pulumi.Input['AzureDiskArgs']] = None, + elastic_san: Optional[pulumi.Input['ElasticSanArgs']] = None, + ephemeral_disk: Optional[pulumi.Input['EphemeralDiskArgs']] = None): + """ + Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + :param pulumi.Input['AzureDiskArgs'] azure_disk: Disk Pool Properties + :param pulumi.Input['ElasticSanArgs'] elastic_san: Elastic San Pool Properties + :param pulumi.Input['EphemeralDiskArgs'] ephemeral_disk: Ephemeral Pool Properties + """ + if azure_disk is not None: + pulumi.set(__self__, "azure_disk", azure_disk) + if elastic_san is not None: + pulumi.set(__self__, "elastic_san", elastic_san) + if ephemeral_disk is not None: + pulumi.set(__self__, "ephemeral_disk", ephemeral_disk) + + @property + @pulumi.getter(name="azureDisk") + def azure_disk(self) -> Optional[pulumi.Input['AzureDiskArgs']]: + """ + Disk Pool Properties + """ + return pulumi.get(self, "azure_disk") + + @azure_disk.setter + def azure_disk(self, value: Optional[pulumi.Input['AzureDiskArgs']]): + pulumi.set(self, "azure_disk", value) + + @property + @pulumi.getter(name="elasticSan") + def elastic_san(self) -> Optional[pulumi.Input['ElasticSanArgs']]: + """ + Elastic San Pool Properties + """ + return pulumi.get(self, "elastic_san") + + @elastic_san.setter + def elastic_san(self, value: Optional[pulumi.Input['ElasticSanArgs']]): + pulumi.set(self, "elastic_san", value) + + @property + @pulumi.getter(name="ephemeralDisk") + def ephemeral_disk(self) -> Optional[pulumi.Input['EphemeralDiskArgs']]: + """ + Ephemeral Pool Properties + """ + return pulumi.get(self, "ephemeral_disk") + + @ephemeral_disk.setter + def ephemeral_disk(self, value: Optional[pulumi.Input['EphemeralDiskArgs']]): + pulumi.set(self, "ephemeral_disk", value) + + +@pulumi.input_type +class RequestsArgs: + def __init__(__self__, *, + storage: Optional[pulumi.Input[float]] = None): + """ + Requests for capacity for the pool. + :param pulumi.Input[float] storage: Requested capacity of the pool in GiB. + """ + if storage is None: + storage = 1024 + if storage is not None: + pulumi.set(__self__, "storage", storage) + + @property + @pulumi.getter + def storage(self) -> Optional[pulumi.Input[float]]: + """ + Requested capacity of the pool in GiB. + """ + return pulumi.get(self, "storage") + + @storage.setter + def storage(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "storage", value) + + +@pulumi.input_type +class ResourcesArgs: + def __init__(__self__, *, + requests: Optional[pulumi.Input['RequestsArgs']] = None): + """ + Resource Requests for the pool. + :param pulumi.Input['RequestsArgs'] requests: Requests for capacity for the pool. + """ + if requests is not None: + pulumi.set(__self__, "requests", requests) + + @property + @pulumi.getter + def requests(self) -> Optional[pulumi.Input['RequestsArgs']]: """ - Consent to format the local disks. + Requests for capacity for the pool. """ - return pulumi.get(self, "disk_format") + return pulumi.get(self, "requests") - @disk_format.setter - def disk_format(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "disk_format", value) + @requests.setter + def requests(self, value: Optional[pulumi.Input['RequestsArgs']]): + pulumi.set(self, "requests", value) diff --git a/sdk/python/pulumi_azure_native/containerstorage/get_pool.py b/sdk/python/pulumi_azure_native/containerstorage/get_pool.py index 58f90a6cbefe..804d5e6b29a4 100644 --- a/sdk/python/pulumi_azure_native/containerstorage/get_pool.py +++ b/sdk/python/pulumi_azure_native/containerstorage/get_pool.py @@ -22,19 +22,10 @@ class GetPoolResult: """ Pool resource """ - def __init__(__self__, assignments=None, disk_pool_properties=None, elastic_san_pool_properties=None, ephemeral_pool_properties=None, id=None, location=None, name=None, pool_capacity_gi_b=None, pool_type=None, provisioning_state=None, system_data=None, tags=None, type=None, zones=None): + def __init__(__self__, assignments=None, id=None, location=None, name=None, pool_type=None, provisioning_state=None, reclaim_policy=None, resources=None, status=None, system_data=None, tags=None, type=None, zones=None): if assignments and not isinstance(assignments, list): raise TypeError("Expected argument 'assignments' to be a list") pulumi.set(__self__, "assignments", assignments) - if disk_pool_properties and not isinstance(disk_pool_properties, dict): - raise TypeError("Expected argument 'disk_pool_properties' to be a dict") - pulumi.set(__self__, "disk_pool_properties", disk_pool_properties) - if elastic_san_pool_properties and not isinstance(elastic_san_pool_properties, dict): - raise TypeError("Expected argument 'elastic_san_pool_properties' to be a dict") - pulumi.set(__self__, "elastic_san_pool_properties", elastic_san_pool_properties) - if ephemeral_pool_properties and not isinstance(ephemeral_pool_properties, dict): - raise TypeError("Expected argument 'ephemeral_pool_properties' to be a dict") - pulumi.set(__self__, "ephemeral_pool_properties", ephemeral_pool_properties) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -44,15 +35,21 @@ def __init__(__self__, assignments=None, disk_pool_properties=None, elastic_san_ if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if pool_capacity_gi_b and not isinstance(pool_capacity_gi_b, float): - raise TypeError("Expected argument 'pool_capacity_gi_b' to be a float") - pulumi.set(__self__, "pool_capacity_gi_b", pool_capacity_gi_b) - if pool_type and not isinstance(pool_type, float): - raise TypeError("Expected argument 'pool_type' to be a float") + if pool_type and not isinstance(pool_type, dict): + raise TypeError("Expected argument 'pool_type' to be a dict") pulumi.set(__self__, "pool_type", pool_type) if provisioning_state and not isinstance(provisioning_state, str): raise TypeError("Expected argument 'provisioning_state' to be a str") pulumi.set(__self__, "provisioning_state", provisioning_state) + if reclaim_policy and not isinstance(reclaim_policy, str): + raise TypeError("Expected argument 'reclaim_policy' to be a str") + pulumi.set(__self__, "reclaim_policy", reclaim_policy) + if resources and not isinstance(resources, dict): + raise TypeError("Expected argument 'resources' to be a dict") + pulumi.set(__self__, "resources", resources) + if status and not isinstance(status, dict): + raise TypeError("Expected argument 'status' to be a dict") + pulumi.set(__self__, "status", status) if system_data and not isinstance(system_data, dict): raise TypeError("Expected argument 'system_data' to be a dict") pulumi.set(__self__, "system_data", system_data) @@ -68,36 +65,12 @@ def __init__(__self__, assignments=None, disk_pool_properties=None, elastic_san_ @property @pulumi.getter - def assignments(self) -> Sequence[str]: + def assignments(self) -> Optional[Sequence['outputs.AssignmentResponse']]: """ - List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. + List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. """ return pulumi.get(self, "assignments") - @property - @pulumi.getter(name="diskPoolProperties") - def disk_pool_properties(self) -> Optional['outputs.DiskPoolPropertiesResponse']: - """ - Disk Pool Properties - """ - return pulumi.get(self, "disk_pool_properties") - - @property - @pulumi.getter(name="elasticSanPoolProperties") - def elastic_san_pool_properties(self) -> 'outputs.ElasticSanPoolPropertiesResponse': - """ - Elastic San Pool Properties - """ - return pulumi.get(self, "elastic_san_pool_properties") - - @property - @pulumi.getter(name="ephemeralPoolProperties") - def ephemeral_pool_properties(self) -> Optional['outputs.EphemeralPoolPropertiesResponse']: - """ - Ephemeral Pool Properties - """ - return pulumi.get(self, "ephemeral_pool_properties") - @property @pulumi.getter def id(self) -> str: @@ -122,19 +95,11 @@ def name(self) -> str: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="poolCapacityGiB") - def pool_capacity_gi_b(self) -> float: - """ - Initial capacity of the pool in GiB. - """ - return pulumi.get(self, "pool_capacity_gi_b") - @property @pulumi.getter(name="poolType") - def pool_type(self) -> float: + def pool_type(self) -> 'outputs.PoolTypeResponse': """ - Type of the Pool: ephemeral, disk, managed, or elasticsan. + Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. """ return pulumi.get(self, "pool_type") @@ -146,6 +111,30 @@ def provisioning_state(self) -> str: """ return pulumi.get(self, "provisioning_state") + @property + @pulumi.getter(name="reclaimPolicy") + def reclaim_policy(self) -> Optional[str]: + """ + ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + """ + return pulumi.get(self, "reclaim_policy") + + @property + @pulumi.getter + def resources(self) -> Optional['outputs.ResourcesResponse']: + """ + Resources represent the resources the pool should have. + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter + def status(self) -> 'outputs.ResourceOperationalStatusResponse': + """ + The operational status of the resource + """ + return pulumi.get(self, "status") + @property @pulumi.getter(name="systemData") def system_data(self) -> 'outputs.SystemDataResponse': @@ -172,7 +161,7 @@ def type(self) -> str: @property @pulumi.getter - def zones(self) -> Sequence[str]: + def zones(self) -> Optional[Sequence[str]]: """ List of availability zones that resources can be created in. """ @@ -186,15 +175,14 @@ def __await__(self): yield self return GetPoolResult( assignments=self.assignments, - disk_pool_properties=self.disk_pool_properties, - elastic_san_pool_properties=self.elastic_san_pool_properties, - ephemeral_pool_properties=self.ephemeral_pool_properties, id=self.id, location=self.location, name=self.name, - pool_capacity_gi_b=self.pool_capacity_gi_b, pool_type=self.pool_type, provisioning_state=self.provisioning_state, + reclaim_policy=self.reclaim_policy, + resources=self.resources, + status=self.status, system_data=self.system_data, tags=self.tags, type=self.type, @@ -206,7 +194,7 @@ def get_pool(pool_name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPoolResult: """ Get a Pool - Azure REST API version: 2023-03-01-preview. + Azure REST API version: 2023-07-01-preview. :param str pool_name: Pool Object @@ -220,15 +208,14 @@ def get_pool(pool_name: Optional[str] = None, return AwaitableGetPoolResult( assignments=__ret__.assignments, - disk_pool_properties=__ret__.disk_pool_properties, - elastic_san_pool_properties=__ret__.elastic_san_pool_properties, - ephemeral_pool_properties=__ret__.ephemeral_pool_properties, id=__ret__.id, location=__ret__.location, name=__ret__.name, - pool_capacity_gi_b=__ret__.pool_capacity_gi_b, pool_type=__ret__.pool_type, provisioning_state=__ret__.provisioning_state, + reclaim_policy=__ret__.reclaim_policy, + resources=__ret__.resources, + status=__ret__.status, system_data=__ret__.system_data, tags=__ret__.tags, type=__ret__.type, @@ -241,7 +228,7 @@ def get_pool_output(pool_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPoolResult]: """ Get a Pool - Azure REST API version: 2023-03-01-preview. + Azure REST API version: 2023-07-01-preview. :param str pool_name: Pool Object diff --git a/sdk/python/pulumi_azure_native/containerstorage/get_snapshot.py b/sdk/python/pulumi_azure_native/containerstorage/get_snapshot.py new file mode 100644 index 000000000000..9174fa8e5f55 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerstorage/get_snapshot.py @@ -0,0 +1,164 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetSnapshotResult', + 'AwaitableGetSnapshotResult', + 'get_snapshot', + 'get_snapshot_output', +] + +@pulumi.output_type +class GetSnapshotResult: + """ + Concrete proxy resource types can be created by aliasing this type using a specific property type. + """ + def __init__(__self__, id=None, name=None, provisioning_state=None, source=None, status=None, system_data=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if source and not isinstance(source, str): + raise TypeError("Expected argument 'source' to be a str") + pulumi.set(__self__, "source", source) + if status and not isinstance(status, dict): + raise TypeError("Expected argument 'status' to be a dict") + pulumi.set(__self__, "status", status) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The status of the last operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def source(self) -> str: + """ + Reference to the source volume + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def status(self) -> 'outputs.ResourceOperationalStatusResponse': + """ + The status of the resource. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetSnapshotResult(GetSnapshotResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSnapshotResult( + id=self.id, + name=self.name, + provisioning_state=self.provisioning_state, + source=self.source, + status=self.status, + system_data=self.system_data, + type=self.type) + + +def get_snapshot(pool_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + snapshot_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSnapshotResult: + """ + Get a Snapshot + Azure REST API version: 2023-07-01-preview. + + + :param str pool_name: Pool Object + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str snapshot_name: Volume Snapshot Resource + """ + __args__ = dict() + __args__['poolName'] = pool_name + __args__['resourceGroupName'] = resource_group_name + __args__['snapshotName'] = snapshot_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:containerstorage:getSnapshot', __args__, opts=opts, typ=GetSnapshotResult).value + + return AwaitableGetSnapshotResult( + id=__ret__.id, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + source=__ret__.source, + status=__ret__.status, + system_data=__ret__.system_data, + type=__ret__.type) + + +@_utilities.lift_output_func(get_snapshot) +def get_snapshot_output(pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + snapshot_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSnapshotResult]: + """ + Get a Snapshot + Azure REST API version: 2023-07-01-preview. + + + :param str pool_name: Pool Object + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str snapshot_name: Volume Snapshot Resource + """ + ... diff --git a/sdk/python/pulumi_azure_native/containerstorage/get_volume.py b/sdk/python/pulumi_azure_native/containerstorage/get_volume.py index a9eec296adbc..f33943e8ef1d 100644 --- a/sdk/python/pulumi_azure_native/containerstorage/get_volume.py +++ b/sdk/python/pulumi_azure_native/containerstorage/get_volume.py @@ -22,7 +22,7 @@ class GetVolumeResult: """ Concrete proxy resource types can be created by aliasing this type using a specific property type. """ - def __init__(__self__, capacity_gi_b=None, id=None, labels=None, mount_options=None, name=None, provisioning_state=None, reclaim_policy=None, system_data=None, type=None, volume_mode=None): + def __init__(__self__, capacity_gi_b=None, id=None, labels=None, name=None, provisioning_state=None, status=None, system_data=None, type=None, volume_type=None): if capacity_gi_b and not isinstance(capacity_gi_b, float): raise TypeError("Expected argument 'capacity_gi_b' to be a float") pulumi.set(__self__, "capacity_gi_b", capacity_gi_b) @@ -32,27 +32,24 @@ def __init__(__self__, capacity_gi_b=None, id=None, labels=None, mount_options=N if labels and not isinstance(labels, dict): raise TypeError("Expected argument 'labels' to be a dict") pulumi.set(__self__, "labels", labels) - if mount_options and not isinstance(mount_options, list): - raise TypeError("Expected argument 'mount_options' to be a list") - pulumi.set(__self__, "mount_options", mount_options) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) if provisioning_state and not isinstance(provisioning_state, str): raise TypeError("Expected argument 'provisioning_state' to be a str") pulumi.set(__self__, "provisioning_state", provisioning_state) - if reclaim_policy and not isinstance(reclaim_policy, str): - raise TypeError("Expected argument 'reclaim_policy' to be a str") - pulumi.set(__self__, "reclaim_policy", reclaim_policy) + if status and not isinstance(status, dict): + raise TypeError("Expected argument 'status' to be a dict") + pulumi.set(__self__, "status", status) if system_data and not isinstance(system_data, dict): raise TypeError("Expected argument 'system_data' to be a dict") pulumi.set(__self__, "system_data", system_data) if type and not isinstance(type, str): raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) - if volume_mode and not isinstance(volume_mode, str): - raise TypeError("Expected argument 'volume_mode' to be a str") - pulumi.set(__self__, "volume_mode", volume_mode) + if volume_type and not isinstance(volume_type, dict): + raise TypeError("Expected argument 'volume_type' to be a dict") + pulumi.set(__self__, "volume_type", volume_type) @property @pulumi.getter(name="capacityGiB") @@ -78,14 +75,6 @@ def labels(self) -> Mapping[str, str]: """ return pulumi.get(self, "labels") - @property - @pulumi.getter(name="mountOptions") - def mount_options(self) -> Sequence[str]: - """ - List of string mount options - """ - return pulumi.get(self, "mount_options") - @property @pulumi.getter def name(self) -> str: @@ -103,12 +92,12 @@ def provisioning_state(self) -> str: return pulumi.get(self, "provisioning_state") @property - @pulumi.getter(name="reclaimPolicy") - def reclaim_policy(self) -> str: + @pulumi.getter + def status(self) -> 'outputs.ResourceOperationalStatusResponse': """ - Reclaim Policy, Delete or Retain + The status of the resource. """ - return pulumi.get(self, "reclaim_policy") + return pulumi.get(self, "status") @property @pulumi.getter(name="systemData") @@ -127,12 +116,12 @@ def type(self) -> str: return pulumi.get(self, "type") @property - @pulumi.getter(name="volumeMode") - def volume_mode(self) -> str: + @pulumi.getter(name="volumeType") + def volume_type(self) -> 'outputs.VolumeTypeResponse': """ - Indicates how the volume should be attached + Properties of the volume """ - return pulumi.get(self, "volume_mode") + return pulumi.get(self, "volume_type") class AwaitableGetVolumeResult(GetVolumeResult): @@ -144,13 +133,12 @@ def __await__(self): capacity_gi_b=self.capacity_gi_b, id=self.id, labels=self.labels, - mount_options=self.mount_options, name=self.name, provisioning_state=self.provisioning_state, - reclaim_policy=self.reclaim_policy, + status=self.status, system_data=self.system_data, type=self.type, - volume_mode=self.volume_mode) + volume_type=self.volume_type) def get_volume(pool_name: Optional[str] = None, @@ -159,7 +147,7 @@ def get_volume(pool_name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVolumeResult: """ Get a Volume - Azure REST API version: 2023-03-01-preview. + Azure REST API version: 2023-07-01-preview. :param str pool_name: Pool Object @@ -177,13 +165,12 @@ def get_volume(pool_name: Optional[str] = None, capacity_gi_b=__ret__.capacity_gi_b, id=__ret__.id, labels=__ret__.labels, - mount_options=__ret__.mount_options, name=__ret__.name, provisioning_state=__ret__.provisioning_state, - reclaim_policy=__ret__.reclaim_policy, + status=__ret__.status, system_data=__ret__.system_data, type=__ret__.type, - volume_mode=__ret__.volume_mode) + volume_type=__ret__.volume_type) @_utilities.lift_output_func(get_volume) @@ -193,7 +180,7 @@ def get_volume_output(pool_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVolumeResult]: """ Get a Volume - Azure REST API version: 2023-03-01-preview. + Azure REST API version: 2023-07-01-preview. :param str pool_name: Pool Object diff --git a/sdk/python/pulumi_azure_native/containerstorage/get_volume_snapshot.py b/sdk/python/pulumi_azure_native/containerstorage/get_volume_snapshot.py deleted file mode 100644 index 5770e4a17b9b..000000000000 --- a/sdk/python/pulumi_azure_native/containerstorage/get_volume_snapshot.py +++ /dev/null @@ -1,190 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from .. import _utilities -from . import outputs - -__all__ = [ - 'GetVolumeSnapshotResult', - 'AwaitableGetVolumeSnapshotResult', - 'get_volume_snapshot', - 'get_volume_snapshot_output', -] - -@pulumi.output_type -class GetVolumeSnapshotResult: - """ - Concrete proxy resource types can be created by aliasing this type using a specific property type. - """ - def __init__(__self__, id=None, mount_options=None, name=None, provisioning_state=None, reclaim_policy=None, source=None, system_data=None, type=None, volume_mode=None): - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if mount_options and not isinstance(mount_options, list): - raise TypeError("Expected argument 'mount_options' to be a list") - pulumi.set(__self__, "mount_options", mount_options) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if reclaim_policy and not isinstance(reclaim_policy, str): - raise TypeError("Expected argument 'reclaim_policy' to be a str") - pulumi.set(__self__, "reclaim_policy", reclaim_policy) - if source and not isinstance(source, str): - raise TypeError("Expected argument 'source' to be a str") - pulumi.set(__self__, "source", source) - if system_data and not isinstance(system_data, dict): - raise TypeError("Expected argument 'system_data' to be a dict") - pulumi.set(__self__, "system_data", system_data) - if type and not isinstance(type, str): - raise TypeError("Expected argument 'type' to be a str") - pulumi.set(__self__, "type", type) - if volume_mode and not isinstance(volume_mode, str): - raise TypeError("Expected argument 'volume_mode' to be a str") - pulumi.set(__self__, "volume_mode", volume_mode) - - @property - @pulumi.getter - def id(self) -> str: - """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter(name="mountOptions") - def mount_options(self) -> Sequence[str]: - """ - List of string mount options - """ - return pulumi.get(self, "mount_options") - - @property - @pulumi.getter - def name(self) -> str: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The status of the last operation. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="reclaimPolicy") - def reclaim_policy(self) -> str: - """ - Reclaim Policy, Delete or Retain - """ - return pulumi.get(self, "reclaim_policy") - - @property - @pulumi.getter - def source(self) -> str: - """ - Reference to the source volume - """ - return pulumi.get(self, "source") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> 'outputs.SystemDataResponse': - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def type(self) -> str: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter(name="volumeMode") - def volume_mode(self) -> str: - """ - Indicates how the volumes created from the snapshot should be attached - """ - return pulumi.get(self, "volume_mode") - - -class AwaitableGetVolumeSnapshotResult(GetVolumeSnapshotResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetVolumeSnapshotResult( - id=self.id, - mount_options=self.mount_options, - name=self.name, - provisioning_state=self.provisioning_state, - reclaim_policy=self.reclaim_policy, - source=self.source, - system_data=self.system_data, - type=self.type, - volume_mode=self.volume_mode) - - -def get_volume_snapshot(pool_name: Optional[str] = None, - resource_group_name: Optional[str] = None, - volume_snapshot_name: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVolumeSnapshotResult: - """ - Get a VolumeSnapshot - Azure REST API version: 2023-03-01-preview. - - - :param str pool_name: Pool Object - :param str resource_group_name: The name of the resource group. The name is case insensitive. - :param str volume_snapshot_name: Volume Snapshot Resource - """ - __args__ = dict() - __args__['poolName'] = pool_name - __args__['resourceGroupName'] = resource_group_name - __args__['volumeSnapshotName'] = volume_snapshot_name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('azure-native:containerstorage:getVolumeSnapshot', __args__, opts=opts, typ=GetVolumeSnapshotResult).value - - return AwaitableGetVolumeSnapshotResult( - id=__ret__.id, - mount_options=__ret__.mount_options, - name=__ret__.name, - provisioning_state=__ret__.provisioning_state, - reclaim_policy=__ret__.reclaim_policy, - source=__ret__.source, - system_data=__ret__.system_data, - type=__ret__.type, - volume_mode=__ret__.volume_mode) - - -@_utilities.lift_output_func(get_volume_snapshot) -def get_volume_snapshot_output(pool_name: Optional[pulumi.Input[str]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - volume_snapshot_name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVolumeSnapshotResult]: - """ - Get a VolumeSnapshot - Azure REST API version: 2023-03-01-preview. - - - :param str pool_name: Pool Object - :param str resource_group_name: The name of the resource group. The name is case insensitive. - :param str volume_snapshot_name: Volume Snapshot Resource - """ - ... diff --git a/sdk/python/pulumi_azure_native/containerstorage/outputs.py b/sdk/python/pulumi_azure_native/containerstorage/outputs.py index 6bb5f2eac1b6..475b52d371b6 100644 --- a/sdk/python/pulumi_azure_native/containerstorage/outputs.py +++ b/sdk/python/pulumi_azure_native/containerstorage/outputs.py @@ -8,85 +8,207 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs from ._enums import * __all__ = [ - 'DiskPoolPropertiesResponse', - 'ElasticSanPoolPropertiesResponse', - 'EphemeralPoolPropertiesResponse', + 'AssignmentResponse', + 'AssignmentStatusResponse', + 'AzureDiskResponse', + 'DiskResponse', + 'ElasticSanResponse', + 'ElasticSanVolumePropertiesResponse', + 'EncryptionResponse', + 'EphemeralDiskResponse', + 'ManagedServiceIdentityResponse', + 'PoolTypeResponse', + 'RequestsResponse', + 'ResourceOperationalStatusResponse', + 'ResourcesResponse', 'SystemDataResponse', + 'UserAssignedIdentityResponse', + 'VolumeTypeResponse', ] @pulumi.output_type -class DiskPoolPropertiesResponse(dict): +class AssignmentResponse(dict): """ - Disk Pool Properties + Assignment Properties + """ + def __init__(__self__, *, + id: str, + status: 'outputs.AssignmentStatusResponse'): + """ + Assignment Properties + :param str id: Resource id for the assigned resource + :param 'AssignmentStatusResponse' status: Indicates if the assignment is in a usable state + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource id for the assigned resource + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def status(self) -> 'outputs.AssignmentStatusResponse': + """ + Indicates if the assignment is in a usable state + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class AssignmentStatusResponse(dict): + """ + Status of the assignment resource + """ + def __init__(__self__, *, + state: str, + message: Optional[str] = None): + """ + Status of the assignment resource + :param str state: State of the assignment resource + :param str message: Reason for the status + """ + pulumi.set(__self__, "state", state) + if message is not None: + pulumi.set(__self__, "message", message) + + @property + @pulumi.getter + def state(self) -> str: + """ + State of the assignment resource + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + Reason for the status + """ + return pulumi.get(self, "message") + + +@pulumi.output_type +class AzureDiskResponse(dict): + """ + Azure Disk Pool Properties """ @staticmethod def __key_warning(key: str): suggest = None - if key == "csiParams": - suggest = "csi_params" - elif key == "maxVolumeCapacityGiB": - suggest = "max_volume_capacity_gi_b" + if key == "resourceGroup": + suggest = "resource_group" + elif key == "skuName": + suggest = "sku_name" if suggest: - pulumi.log.warn(f"Key '{key}' not found in DiskPoolPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in AzureDiskResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - DiskPoolPropertiesResponse.__key_warning(key) + AzureDiskResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - DiskPoolPropertiesResponse.__key_warning(key) + AzureDiskResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - csi_params: Optional[Mapping[str, str]] = None, - disks: Optional[Sequence[str]] = None, - max_volume_capacity_gi_b: Optional[float] = None): + resource_group: str, + disks: Optional[Sequence['outputs.DiskResponse']] = None, + encryption: Optional['outputs.EncryptionResponse'] = None, + sku_name: Optional[str] = None): """ - Disk Pool Properties - :param Mapping[str, str] csi_params: List of KV pairs to set in StorageClass to configure CSI driver. - :param Sequence[str] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - :param float max_volume_capacity_gi_b: Maximum capacity of the volumes in GiB the user intends to create. Default 512. + Azure Disk Pool Properties + :param str resource_group: Managed resource group for the pool. + :param Sequence['DiskResponse'] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + :param 'EncryptionResponse' encryption: Encryption specifies the encryption configuration for the Azure Disk pool + :param str sku_name: Sku name """ - if csi_params is not None: - pulumi.set(__self__, "csi_params", csi_params) + pulumi.set(__self__, "resource_group", resource_group) if disks is not None: pulumi.set(__self__, "disks", disks) - if max_volume_capacity_gi_b is None: - max_volume_capacity_gi_b = 512 - if max_volume_capacity_gi_b is not None: - pulumi.set(__self__, "max_volume_capacity_gi_b", max_volume_capacity_gi_b) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if sku_name is not None: + pulumi.set(__self__, "sku_name", sku_name) @property - @pulumi.getter(name="csiParams") - def csi_params(self) -> Optional[Mapping[str, str]]: + @pulumi.getter(name="resourceGroup") + def resource_group(self) -> str: """ - List of KV pairs to set in StorageClass to configure CSI driver. + Managed resource group for the pool. """ - return pulumi.get(self, "csi_params") + return pulumi.get(self, "resource_group") @property @pulumi.getter - def disks(self) -> Optional[Sequence[str]]: + def disks(self) -> Optional[Sequence['outputs.DiskResponse']]: """ Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). """ return pulumi.get(self, "disks") @property - @pulumi.getter(name="maxVolumeCapacityGiB") - def max_volume_capacity_gi_b(self) -> Optional[float]: + @pulumi.getter + def encryption(self) -> Optional['outputs.EncryptionResponse']: + """ + Encryption specifies the encryption configuration for the Azure Disk pool + """ + return pulumi.get(self, "encryption") + + @property + @pulumi.getter(name="skuName") + def sku_name(self) -> Optional[str]: + """ + Sku name + """ + return pulumi.get(self, "sku_name") + + +@pulumi.output_type +class DiskResponse(dict): + """ + Model for disk for that pool is using + """ + def __init__(__self__, *, + id: str, + reference: str): + """ + Model for disk for that pool is using + :param str id: ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + :param str reference: Reference is the location of the disk in an external system. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "reference", reference) + + @property + @pulumi.getter + def id(self) -> str: + """ + ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def reference(self) -> str: """ - Maximum capacity of the volumes in GiB the user intends to create. Default 512. + Reference is the location of the disk in an external system. """ - return pulumi.get(self, "max_volume_capacity_gi_b") + return pulumi.get(self, "reference") @pulumi.output_type -class ElasticSanPoolPropertiesResponse(dict): +class ElasticSanResponse(dict): """ Elastic San Pool Properties """ @@ -95,125 +217,452 @@ def __key_warning(key: str): suggest = None if key == "resourceGroup": suggest = "resource_group" - elif key == "sanName": - suggest = "san_name" - elif key == "volumeGroup": - suggest = "volume_group" + elif key == "skuName": + suggest = "sku_name" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ElasticSanPoolPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ElasticSanResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ElasticSanPoolPropertiesResponse.__key_warning(key) + ElasticSanResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ElasticSanPoolPropertiesResponse.__key_warning(key) + ElasticSanResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, resource_group: str, - san_name: str, - volume_group: str): + encryption: Optional['outputs.EncryptionResponse'] = None, + sku_name: Optional[str] = None): """ Elastic San Pool Properties - :param str resource_group: Resource group of an existing SAN. - :param str san_name: Name of an existing SAN. - :param str volume_group: Volume group of an existing SAN. + :param str resource_group: Managed resource group for the pool. + :param 'EncryptionResponse' encryption: Encryption specifies the encryption configuration for the Azure Disk pool + :param str sku_name: Sku name """ pulumi.set(__self__, "resource_group", resource_group) - pulumi.set(__self__, "san_name", san_name) - pulumi.set(__self__, "volume_group", volume_group) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if sku_name is not None: + pulumi.set(__self__, "sku_name", sku_name) @property @pulumi.getter(name="resourceGroup") def resource_group(self) -> str: """ - Resource group of an existing SAN. + Managed resource group for the pool. """ return pulumi.get(self, "resource_group") @property - @pulumi.getter(name="sanName") - def san_name(self) -> str: + @pulumi.getter + def encryption(self) -> Optional['outputs.EncryptionResponse']: """ - Name of an existing SAN. + Encryption specifies the encryption configuration for the Azure Disk pool """ - return pulumi.get(self, "san_name") + return pulumi.get(self, "encryption") @property - @pulumi.getter(name="volumeGroup") - def volume_group(self) -> str: + @pulumi.getter(name="skuName") + def sku_name(self) -> Optional[str]: """ - Volume group of an existing SAN. + Sku name """ - return pulumi.get(self, "volume_group") + return pulumi.get(self, "sku_name") @pulumi.output_type -class EphemeralPoolPropertiesResponse(dict): +class ElasticSanVolumePropertiesResponse(dict): """ - Ephemeral Pool Properties + Properties of the ElasticSAN iSCSI target """ @staticmethod def __key_warning(key: str): suggest = None - if key == "diskSelector": - suggest = "disk_selector" - elif key == "diskFormat": - suggest = "disk_format" + if key == "targetIqn": + suggest = "target_iqn" + elif key == "targetPortalHostname": + suggest = "target_portal_hostname" + elif key == "targetPortalPort": + suggest = "target_portal_port" if suggest: - pulumi.log.warn(f"Key '{key}' not found in EphemeralPoolPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ElasticSanVolumePropertiesResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - EphemeralPoolPropertiesResponse.__key_warning(key) + ElasticSanVolumePropertiesResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - EphemeralPoolPropertiesResponse.__key_warning(key) + ElasticSanVolumePropertiesResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - disk_selector: Sequence[str], - disks: Sequence[str], - disk_format: Optional[bool] = None): + target_iqn: str, + target_portal_hostname: str, + target_portal_port: int): """ - Ephemeral Pool Properties - :param Sequence[str] disk_selector: Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. - :param Sequence[str] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - :param bool disk_format: Consent to format the local disks. + Properties of the ElasticSAN iSCSI target + :param str target_iqn: iSCSI Target IQN (iSCSI Qualified Name); example: "iqn.2005-03.org.iscsi:server" + :param str target_portal_hostname: iSCSI Target Portal Host Name + :param int target_portal_port: iSCSI Target Portal Port """ - pulumi.set(__self__, "disk_selector", disk_selector) - pulumi.set(__self__, "disks", disks) - if disk_format is None: - disk_format = False - if disk_format is not None: - pulumi.set(__self__, "disk_format", disk_format) + pulumi.set(__self__, "target_iqn", target_iqn) + pulumi.set(__self__, "target_portal_hostname", target_portal_hostname) + pulumi.set(__self__, "target_portal_port", target_portal_port) @property - @pulumi.getter(name="diskSelector") - def disk_selector(self) -> Sequence[str]: + @pulumi.getter(name="targetIqn") + def target_iqn(self) -> str: """ - Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. + iSCSI Target IQN (iSCSI Qualified Name); example: "iqn.2005-03.org.iscsi:server" """ - return pulumi.get(self, "disk_selector") + return pulumi.get(self, "target_iqn") + + @property + @pulumi.getter(name="targetPortalHostname") + def target_portal_hostname(self) -> str: + """ + iSCSI Target Portal Host Name + """ + return pulumi.get(self, "target_portal_hostname") + + @property + @pulumi.getter(name="targetPortalPort") + def target_portal_port(self) -> int: + """ + iSCSI Target Portal Port + """ + return pulumi.get(self, "target_portal_port") + + +@pulumi.output_type +class EncryptionResponse(dict): + """ + Encryption key properties for the pool. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyName": + suggest = "key_name" + elif key == "keyVaultUri": + suggest = "key_vault_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EncryptionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EncryptionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EncryptionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_name: str, + key_vault_uri: str, + identity: Optional['outputs.ManagedServiceIdentityResponse'] = None): + """ + Encryption key properties for the pool. + :param str key_name: The name of the key vault key. + :param str key_vault_uri: The URI of the key vault. + :param 'ManagedServiceIdentityResponse' identity: The managed service identities assigned to this resource. + """ + pulumi.set(__self__, "key_name", key_name) + pulumi.set(__self__, "key_vault_uri", key_vault_uri) + if identity is not None: + pulumi.set(__self__, "identity", identity) + + @property + @pulumi.getter(name="keyName") + def key_name(self) -> str: + """ + The name of the key vault key. + """ + return pulumi.get(self, "key_name") + + @property + @pulumi.getter(name="keyVaultUri") + def key_vault_uri(self) -> str: + """ + The URI of the key vault. + """ + return pulumi.get(self, "key_vault_uri") @property @pulumi.getter - def disks(self) -> Sequence[str]: + def identity(self) -> Optional['outputs.ManagedServiceIdentityResponse']: + """ + The managed service identities assigned to this resource. + """ + return pulumi.get(self, "identity") + + +@pulumi.output_type +class EphemeralDiskResponse(dict): + """ + Ephemeral Disk Pool Properties + """ + def __init__(__self__, *, + disks: Optional[Sequence['outputs.DiskResponse']] = None, + replicas: Optional[float] = None): + """ + Ephemeral Disk Pool Properties + :param Sequence['DiskResponse'] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + :param float replicas: The number of data copies. Default 3. + """ + if disks is not None: + pulumi.set(__self__, "disks", disks) + if replicas is None: + replicas = 3 + if replicas is not None: + pulumi.set(__self__, "replicas", replicas) + + @property + @pulumi.getter + def disks(self) -> Optional[Sequence['outputs.DiskResponse']]: """ Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). """ return pulumi.get(self, "disks") @property - @pulumi.getter(name="diskFormat") - def disk_format(self) -> Optional[bool]: + @pulumi.getter + def replicas(self) -> Optional[float]: """ - Consent to format the local disks. + The number of data copies. Default 3. """ - return pulumi.get(self, "disk_format") + return pulumi.get(self, "replicas") + + +@pulumi.output_type +class ManagedServiceIdentityResponse(dict): + """ + Managed service identity (system assigned and/or user assigned identities) + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedServiceIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedServiceIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedServiceIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + type: str, + user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']] = None): + """ + Managed service identity (system assigned and/or user assigned identities) + :param str principal_id: The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + :param str tenant_id: The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + :param str type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + :param Mapping[str, 'UserAssignedIdentityResponse'] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> str: + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]: + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + return pulumi.get(self, "user_assigned_identities") + + +@pulumi.output_type +class PoolTypeResponse(dict): + """ + Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "azureDisk": + suggest = "azure_disk" + elif key == "elasticSan": + suggest = "elastic_san" + elif key == "ephemeralDisk": + suggest = "ephemeral_disk" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PoolTypeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PoolTypeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PoolTypeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + azure_disk: Optional['outputs.AzureDiskResponse'] = None, + elastic_san: Optional['outputs.ElasticSanResponse'] = None, + ephemeral_disk: Optional['outputs.EphemeralDiskResponse'] = None): + """ + Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + :param 'AzureDiskResponse' azure_disk: Disk Pool Properties + :param 'ElasticSanResponse' elastic_san: Elastic San Pool Properties + :param 'EphemeralDiskResponse' ephemeral_disk: Ephemeral Pool Properties + """ + if azure_disk is not None: + pulumi.set(__self__, "azure_disk", azure_disk) + if elastic_san is not None: + pulumi.set(__self__, "elastic_san", elastic_san) + if ephemeral_disk is not None: + pulumi.set(__self__, "ephemeral_disk", ephemeral_disk) + + @property + @pulumi.getter(name="azureDisk") + def azure_disk(self) -> Optional['outputs.AzureDiskResponse']: + """ + Disk Pool Properties + """ + return pulumi.get(self, "azure_disk") + + @property + @pulumi.getter(name="elasticSan") + def elastic_san(self) -> Optional['outputs.ElasticSanResponse']: + """ + Elastic San Pool Properties + """ + return pulumi.get(self, "elastic_san") + + @property + @pulumi.getter(name="ephemeralDisk") + def ephemeral_disk(self) -> Optional['outputs.EphemeralDiskResponse']: + """ + Ephemeral Pool Properties + """ + return pulumi.get(self, "ephemeral_disk") + + +@pulumi.output_type +class RequestsResponse(dict): + """ + Requests for capacity for the pool. + """ + def __init__(__self__, *, + storage: Optional[float] = None): + """ + Requests for capacity for the pool. + :param float storage: Requested capacity of the pool in GiB. + """ + if storage is None: + storage = 1024 + if storage is not None: + pulumi.set(__self__, "storage", storage) + + @property + @pulumi.getter + def storage(self) -> Optional[float]: + """ + Requested capacity of the pool in GiB. + """ + return pulumi.get(self, "storage") + + +@pulumi.output_type +class ResourceOperationalStatusResponse(dict): + """ + Status of the resource + """ + def __init__(__self__, *, + state: str, + message: Optional[str] = None): + """ + Status of the resource + :param str state: state of the resource + :param str message: Reason for state. + """ + pulumi.set(__self__, "state", state) + if message is not None: + pulumi.set(__self__, "message", message) + + @property + @pulumi.getter + def state(self) -> str: + """ + state of the resource + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + Reason for state. + """ + return pulumi.get(self, "message") + + +@pulumi.output_type +class ResourcesResponse(dict): + """ + Resource Requests for the pool. + """ + def __init__(__self__, *, + requests: Optional['outputs.RequestsResponse'] = None): + """ + Resource Requests for the pool. + :param 'RequestsResponse' requests: Requests for capacity for the pool. + """ + if requests is not None: + pulumi.set(__self__, "requests", requests) + + @property + @pulumi.getter + def requests(self) -> Optional['outputs.RequestsResponse']: + """ + Requests for capacity for the pool. + """ + return pulumi.get(self, "requests") @pulumi.output_type @@ -326,3 +775,94 @@ def last_modified_by_type(self) -> Optional[str]: return pulumi.get(self, "last_modified_by_type") +@pulumi.output_type +class UserAssignedIdentityResponse(dict): + """ + User assigned identity properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "principalId": + suggest = "principal_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: str, + principal_id: str): + """ + User assigned identity properties + :param str client_id: The client ID of the assigned identity. + :param str principal_id: The principal ID of the assigned identity. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "principal_id", principal_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The client ID of the assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal ID of the assigned identity. + """ + return pulumi.get(self, "principal_id") + + +@pulumi.output_type +class VolumeTypeResponse(dict): + """ + Properties of the volume + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "elasticSan": + suggest = "elastic_san" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VolumeTypeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VolumeTypeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VolumeTypeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + elastic_san: 'outputs.ElasticSanVolumePropertiesResponse'): + """ + Properties of the volume + :param 'ElasticSanVolumePropertiesResponse' elastic_san: Properties of the ElasticSAN iSCSI target + """ + pulumi.set(__self__, "elastic_san", elastic_san) + + @property + @pulumi.getter(name="elasticSan") + def elastic_san(self) -> 'outputs.ElasticSanVolumePropertiesResponse': + """ + Properties of the ElasticSAN iSCSI target + """ + return pulumi.get(self, "elastic_san") + + diff --git a/sdk/python/pulumi_azure_native/containerstorage/pool.py b/sdk/python/pulumi_azure_native/containerstorage/pool.py index d53e50e4bfb1..d500cd41ec7c 100644 --- a/sdk/python/pulumi_azure_native/containerstorage/pool.py +++ b/sdk/python/pulumi_azure_native/containerstorage/pool.py @@ -9,6 +9,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities from . import outputs +from ._enums import * from ._inputs import * __all__ = ['PoolArgs', 'Pool'] @@ -16,94 +17,54 @@ @pulumi.input_type class PoolArgs: def __init__(__self__, *, - assignments: pulumi.Input[Sequence[pulumi.Input[str]]], - elastic_san_pool_properties: pulumi.Input['ElasticSanPoolPropertiesArgs'], - pool_capacity_gi_b: pulumi.Input[float], - pool_type: pulumi.Input[float], + pool_type: pulumi.Input['PoolTypeArgs'], resource_group_name: pulumi.Input[str], - zones: pulumi.Input[Sequence[pulumi.Input[str]]], - disk_pool_properties: Optional[pulumi.Input['DiskPoolPropertiesArgs']] = None, - ephemeral_pool_properties: Optional[pulumi.Input['EphemeralPoolPropertiesArgs']] = None, + assignments: Optional[pulumi.Input[Sequence[pulumi.Input['AssignmentArgs']]]] = None, location: Optional[pulumi.Input[str]] = None, pool_name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, + resources: Optional[pulumi.Input['ResourcesArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]]] = None): """ The set of arguments for constructing a Pool resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] assignments: List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - :param pulumi.Input['ElasticSanPoolPropertiesArgs'] elastic_san_pool_properties: Elastic San Pool Properties - :param pulumi.Input[float] pool_capacity_gi_b: Initial capacity of the pool in GiB. - :param pulumi.Input[float] pool_type: Type of the Pool: ephemeral, disk, managed, or elasticsan. + :param pulumi.Input['PoolTypeArgs'] pool_type: Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: List of availability zones that resources can be created in. - :param pulumi.Input['DiskPoolPropertiesArgs'] disk_pool_properties: Disk Pool Properties - :param pulumi.Input['EphemeralPoolPropertiesArgs'] ephemeral_pool_properties: Ephemeral Pool Properties + :param pulumi.Input[Sequence[pulumi.Input['AssignmentArgs']]] assignments: List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. :param pulumi.Input[str] location: The geo-location where the resource lives :param pulumi.Input[str] pool_name: Pool Object + :param pulumi.Input[Union[str, 'ReclaimPolicy']] reclaim_policy: ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + :param pulumi.Input['ResourcesArgs'] resources: Resources represent the resources the pool should have. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]] zones: List of availability zones that resources can be created in. """ - pulumi.set(__self__, "assignments", assignments) - pulumi.set(__self__, "elastic_san_pool_properties", elastic_san_pool_properties) - pulumi.set(__self__, "pool_capacity_gi_b", pool_capacity_gi_b) pulumi.set(__self__, "pool_type", pool_type) pulumi.set(__self__, "resource_group_name", resource_group_name) - pulumi.set(__self__, "zones", zones) - if disk_pool_properties is not None: - pulumi.set(__self__, "disk_pool_properties", disk_pool_properties) - if ephemeral_pool_properties is not None: - pulumi.set(__self__, "ephemeral_pool_properties", ephemeral_pool_properties) + if assignments is not None: + pulumi.set(__self__, "assignments", assignments) if location is not None: pulumi.set(__self__, "location", location) if pool_name is not None: pulumi.set(__self__, "pool_name", pool_name) + if reclaim_policy is not None: + pulumi.set(__self__, "reclaim_policy", reclaim_policy) + if resources is not None: + pulumi.set(__self__, "resources", resources) if tags is not None: pulumi.set(__self__, "tags", tags) - - @property - @pulumi.getter - def assignments(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - """ - return pulumi.get(self, "assignments") - - @assignments.setter - def assignments(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "assignments", value) - - @property - @pulumi.getter(name="elasticSanPoolProperties") - def elastic_san_pool_properties(self) -> pulumi.Input['ElasticSanPoolPropertiesArgs']: - """ - Elastic San Pool Properties - """ - return pulumi.get(self, "elastic_san_pool_properties") - - @elastic_san_pool_properties.setter - def elastic_san_pool_properties(self, value: pulumi.Input['ElasticSanPoolPropertiesArgs']): - pulumi.set(self, "elastic_san_pool_properties", value) - - @property - @pulumi.getter(name="poolCapacityGiB") - def pool_capacity_gi_b(self) -> pulumi.Input[float]: - """ - Initial capacity of the pool in GiB. - """ - return pulumi.get(self, "pool_capacity_gi_b") - - @pool_capacity_gi_b.setter - def pool_capacity_gi_b(self, value: pulumi.Input[float]): - pulumi.set(self, "pool_capacity_gi_b", value) + if zones is not None: + pulumi.set(__self__, "zones", zones) @property @pulumi.getter(name="poolType") - def pool_type(self) -> pulumi.Input[float]: + def pool_type(self) -> pulumi.Input['PoolTypeArgs']: """ - Type of the Pool: ephemeral, disk, managed, or elasticsan. + Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. """ return pulumi.get(self, "pool_type") @pool_type.setter - def pool_type(self, value: pulumi.Input[float]): + def pool_type(self, value: pulumi.Input['PoolTypeArgs']): pulumi.set(self, "pool_type", value) @property @@ -120,39 +81,15 @@ def resource_group_name(self, value: pulumi.Input[str]): @property @pulumi.getter - def zones(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - List of availability zones that resources can be created in. + def assignments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AssignmentArgs']]]]: """ - return pulumi.get(self, "zones") - - @zones.setter - def zones(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "zones", value) - - @property - @pulumi.getter(name="diskPoolProperties") - def disk_pool_properties(self) -> Optional[pulumi.Input['DiskPoolPropertiesArgs']]: - """ - Disk Pool Properties - """ - return pulumi.get(self, "disk_pool_properties") - - @disk_pool_properties.setter - def disk_pool_properties(self, value: Optional[pulumi.Input['DiskPoolPropertiesArgs']]): - pulumi.set(self, "disk_pool_properties", value) - - @property - @pulumi.getter(name="ephemeralPoolProperties") - def ephemeral_pool_properties(self) -> Optional[pulumi.Input['EphemeralPoolPropertiesArgs']]: + List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. """ - Ephemeral Pool Properties - """ - return pulumi.get(self, "ephemeral_pool_properties") + return pulumi.get(self, "assignments") - @ephemeral_pool_properties.setter - def ephemeral_pool_properties(self, value: Optional[pulumi.Input['EphemeralPoolPropertiesArgs']]): - pulumi.set(self, "ephemeral_pool_properties", value) + @assignments.setter + def assignments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AssignmentArgs']]]]): + pulumi.set(self, "assignments", value) @property @pulumi.getter @@ -178,6 +115,30 @@ def pool_name(self) -> Optional[pulumi.Input[str]]: def pool_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "pool_name", value) + @property + @pulumi.getter(name="reclaimPolicy") + def reclaim_policy(self) -> Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]]: + """ + ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + """ + return pulumi.get(self, "reclaim_policy") + + @reclaim_policy.setter + def reclaim_policy(self, value: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]]): + pulumi.set(self, "reclaim_policy", value) + + @property + @pulumi.getter + def resources(self) -> Optional[pulumi.Input['ResourcesArgs']]: + """ + Resources represent the resources the pool should have. + """ + return pulumi.get(self, "resources") + + @resources.setter + def resources(self, value: Optional[pulumi.Input['ResourcesArgs']]): + pulumi.set(self, "resources", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -190,41 +151,49 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter + def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]]]: + """ + List of availability zones that resources can be created in. + """ + return pulumi.get(self, "zones") + + @zones.setter + def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]]]): + pulumi.set(self, "zones", value) + class Pool(pulumi.CustomResource): @overload def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - assignments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - disk_pool_properties: Optional[pulumi.Input[pulumi.InputType['DiskPoolPropertiesArgs']]] = None, - elastic_san_pool_properties: Optional[pulumi.Input[pulumi.InputType['ElasticSanPoolPropertiesArgs']]] = None, - ephemeral_pool_properties: Optional[pulumi.Input[pulumi.InputType['EphemeralPoolPropertiesArgs']]] = None, + assignments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AssignmentArgs']]]]] = None, location: Optional[pulumi.Input[str]] = None, - pool_capacity_gi_b: Optional[pulumi.Input[float]] = None, pool_name: Optional[pulumi.Input[str]] = None, - pool_type: Optional[pulumi.Input[float]] = None, + pool_type: Optional[pulumi.Input[pulumi.InputType['PoolTypeArgs']]] = None, + reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, + resources: Optional[pulumi.Input[pulumi.InputType['ResourcesArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]]] = None, __props__=None): """ Pool resource - Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview + Azure REST API version: 2023-07-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] assignments: List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - :param pulumi.Input[pulumi.InputType['DiskPoolPropertiesArgs']] disk_pool_properties: Disk Pool Properties - :param pulumi.Input[pulumi.InputType['ElasticSanPoolPropertiesArgs']] elastic_san_pool_properties: Elastic San Pool Properties - :param pulumi.Input[pulumi.InputType['EphemeralPoolPropertiesArgs']] ephemeral_pool_properties: Ephemeral Pool Properties + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AssignmentArgs']]]] assignments: List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. :param pulumi.Input[str] location: The geo-location where the resource lives - :param pulumi.Input[float] pool_capacity_gi_b: Initial capacity of the pool in GiB. :param pulumi.Input[str] pool_name: Pool Object - :param pulumi.Input[float] pool_type: Type of the Pool: ephemeral, disk, managed, or elasticsan. + :param pulumi.Input[pulumi.InputType['PoolTypeArgs']] pool_type: Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. + :param pulumi.Input[Union[str, 'ReclaimPolicy']] reclaim_policy: ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[pulumi.InputType['ResourcesArgs']] resources: Resources represent the resources the pool should have. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: List of availability zones that resources can be created in. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]] zones: List of availability zones that resources can be created in. """ ... @overload @@ -234,7 +203,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None): """ Pool resource - Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview + Azure REST API version: 2023-07-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview :param str resource_name: The name of the resource. :param PoolArgs args: The arguments to use to populate this resource's properties. @@ -251,17 +220,15 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - assignments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - disk_pool_properties: Optional[pulumi.Input[pulumi.InputType['DiskPoolPropertiesArgs']]] = None, - elastic_san_pool_properties: Optional[pulumi.Input[pulumi.InputType['ElasticSanPoolPropertiesArgs']]] = None, - ephemeral_pool_properties: Optional[pulumi.Input[pulumi.InputType['EphemeralPoolPropertiesArgs']]] = None, + assignments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AssignmentArgs']]]]] = None, location: Optional[pulumi.Input[str]] = None, - pool_capacity_gi_b: Optional[pulumi.Input[float]] = None, pool_name: Optional[pulumi.Input[str]] = None, - pool_type: Optional[pulumi.Input[float]] = None, + pool_type: Optional[pulumi.Input[pulumi.InputType['PoolTypeArgs']]] = None, + reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, + resources: Optional[pulumi.Input[pulumi.InputType['ResourcesArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -271,34 +238,25 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = PoolArgs.__new__(PoolArgs) - if assignments is None and not opts.urn: - raise TypeError("Missing required property 'assignments'") __props__.__dict__["assignments"] = assignments - __props__.__dict__["disk_pool_properties"] = disk_pool_properties - if elastic_san_pool_properties is None and not opts.urn: - raise TypeError("Missing required property 'elastic_san_pool_properties'") - __props__.__dict__["elastic_san_pool_properties"] = elastic_san_pool_properties - __props__.__dict__["ephemeral_pool_properties"] = ephemeral_pool_properties __props__.__dict__["location"] = location - if pool_capacity_gi_b is None and not opts.urn: - raise TypeError("Missing required property 'pool_capacity_gi_b'") - __props__.__dict__["pool_capacity_gi_b"] = pool_capacity_gi_b __props__.__dict__["pool_name"] = pool_name if pool_type is None and not opts.urn: raise TypeError("Missing required property 'pool_type'") __props__.__dict__["pool_type"] = pool_type + __props__.__dict__["reclaim_policy"] = reclaim_policy if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["resources"] = resources __props__.__dict__["tags"] = tags - if zones is None and not opts.urn: - raise TypeError("Missing required property 'zones'") __props__.__dict__["zones"] = zones __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerstorage/v20230301preview:Pool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerstorage/v20230701preview:Pool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Pool, __self__).__init__( 'azure-native:containerstorage:Pool', @@ -323,14 +281,13 @@ def get(resource_name: str, __props__ = PoolArgs.__new__(PoolArgs) __props__.__dict__["assignments"] = None - __props__.__dict__["disk_pool_properties"] = None - __props__.__dict__["elastic_san_pool_properties"] = None - __props__.__dict__["ephemeral_pool_properties"] = None __props__.__dict__["location"] = None __props__.__dict__["name"] = None - __props__.__dict__["pool_capacity_gi_b"] = None __props__.__dict__["pool_type"] = None __props__.__dict__["provisioning_state"] = None + __props__.__dict__["reclaim_policy"] = None + __props__.__dict__["resources"] = None + __props__.__dict__["status"] = None __props__.__dict__["system_data"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None @@ -339,36 +296,12 @@ def get(resource_name: str, @property @pulumi.getter - def assignments(self) -> pulumi.Output[Sequence[str]]: + def assignments(self) -> pulumi.Output[Optional[Sequence['outputs.AssignmentResponse']]]: """ - List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. + List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. """ return pulumi.get(self, "assignments") - @property - @pulumi.getter(name="diskPoolProperties") - def disk_pool_properties(self) -> pulumi.Output[Optional['outputs.DiskPoolPropertiesResponse']]: - """ - Disk Pool Properties - """ - return pulumi.get(self, "disk_pool_properties") - - @property - @pulumi.getter(name="elasticSanPoolProperties") - def elastic_san_pool_properties(self) -> pulumi.Output['outputs.ElasticSanPoolPropertiesResponse']: - """ - Elastic San Pool Properties - """ - return pulumi.get(self, "elastic_san_pool_properties") - - @property - @pulumi.getter(name="ephemeralPoolProperties") - def ephemeral_pool_properties(self) -> pulumi.Output[Optional['outputs.EphemeralPoolPropertiesResponse']]: - """ - Ephemeral Pool Properties - """ - return pulumi.get(self, "ephemeral_pool_properties") - @property @pulumi.getter def location(self) -> pulumi.Output[str]: @@ -385,19 +318,11 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="poolCapacityGiB") - def pool_capacity_gi_b(self) -> pulumi.Output[float]: - """ - Initial capacity of the pool in GiB. - """ - return pulumi.get(self, "pool_capacity_gi_b") - @property @pulumi.getter(name="poolType") - def pool_type(self) -> pulumi.Output[float]: + def pool_type(self) -> pulumi.Output['outputs.PoolTypeResponse']: """ - Type of the Pool: ephemeral, disk, managed, or elasticsan. + Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. """ return pulumi.get(self, "pool_type") @@ -409,6 +334,30 @@ def provisioning_state(self) -> pulumi.Output[str]: """ return pulumi.get(self, "provisioning_state") + @property + @pulumi.getter(name="reclaimPolicy") + def reclaim_policy(self) -> pulumi.Output[Optional[str]]: + """ + ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + """ + return pulumi.get(self, "reclaim_policy") + + @property + @pulumi.getter + def resources(self) -> pulumi.Output[Optional['outputs.ResourcesResponse']]: + """ + Resources represent the resources the pool should have. + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter + def status(self) -> pulumi.Output['outputs.ResourceOperationalStatusResponse']: + """ + The operational status of the resource + """ + return pulumi.get(self, "status") + @property @pulumi.getter(name="systemData") def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: @@ -435,7 +384,7 @@ def type(self) -> pulumi.Output[str]: @property @pulumi.getter - def zones(self) -> pulumi.Output[Sequence[str]]: + def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: """ List of availability zones that resources can be created in. """ diff --git a/sdk/python/pulumi_azure_native/containerstorage/snapshot.py b/sdk/python/pulumi_azure_native/containerstorage/snapshot.py new file mode 100644 index 000000000000..b5a8d5cf1c3c --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerstorage/snapshot.py @@ -0,0 +1,237 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = ['SnapshotArgs', 'Snapshot'] + +@pulumi.input_type +class SnapshotArgs: + def __init__(__self__, *, + pool_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + source: pulumi.Input[str], + snapshot_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Snapshot resource. + :param pulumi.Input[str] pool_name: Pool Object + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] source: Reference to the source volume + :param pulumi.Input[str] snapshot_name: Volume Snapshot Resource + """ + pulumi.set(__self__, "pool_name", pool_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "source", source) + if snapshot_name is not None: + pulumi.set(__self__, "snapshot_name", snapshot_name) + + @property + @pulumi.getter(name="poolName") + def pool_name(self) -> pulumi.Input[str]: + """ + Pool Object + """ + return pulumi.get(self, "pool_name") + + @pool_name.setter + def pool_name(self, value: pulumi.Input[str]): + pulumi.set(self, "pool_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def source(self) -> pulumi.Input[str]: + """ + Reference to the source volume + """ + return pulumi.get(self, "source") + + @source.setter + def source(self, value: pulumi.Input[str]): + pulumi.set(self, "source", value) + + @property + @pulumi.getter(name="snapshotName") + def snapshot_name(self) -> Optional[pulumi.Input[str]]: + """ + Volume Snapshot Resource + """ + return pulumi.get(self, "snapshot_name") + + @snapshot_name.setter + def snapshot_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "snapshot_name", value) + + +class Snapshot(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + snapshot_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Concrete proxy resource types can be created by aliasing this type using a specific property type. + Azure REST API version: 2023-07-01-preview. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] pool_name: Pool Object + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] snapshot_name: Volume Snapshot Resource + :param pulumi.Input[str] source: Reference to the source volume + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SnapshotArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Concrete proxy resource types can be created by aliasing this type using a specific property type. + Azure REST API version: 2023-07-01-preview. + + :param str resource_name: The name of the resource. + :param SnapshotArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(SnapshotArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + snapshot_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = SnapshotArgs.__new__(SnapshotArgs) + + if pool_name is None and not opts.urn: + raise TypeError("Missing required property 'pool_name'") + __props__.__dict__["pool_name"] = pool_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["snapshot_name"] = snapshot_name + if source is None and not opts.urn: + raise TypeError("Missing required property 'source'") + __props__.__dict__["source"] = source + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerstorage/v20230701preview:Snapshot")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Snapshot, __self__).__init__( + 'azure-native:containerstorage:Snapshot', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Snapshot': + """ + Get an existing Snapshot resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = SnapshotArgs.__new__(SnapshotArgs) + + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["source"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + return Snapshot(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The status of the last operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def source(self) -> pulumi.Output[str]: + """ + Reference to the source volume + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def status(self) -> pulumi.Output['outputs.ResourceOperationalStatusResponse']: + """ + The status of the resource. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/__init__.py b/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/__init__.py deleted file mode 100644 index 7a4f5bb30625..000000000000 --- a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -from ... import _utilities -import typing -# Export this package's modules as members: -from ._enums import * -from .get_pool import * -from .get_volume import * -from .get_volume_snapshot import * -from .pool import * -from .volume import * -from .volume_snapshot import * -from ._inputs import * -from . import outputs diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/_enums.py b/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/_enums.py deleted file mode 100644 index c884d014b7c0..000000000000 --- a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/_enums.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -from enum import Enum - -__all__ = [ - 'ReclaimPolicy', - 'VolumeMode', -] - - -class ReclaimPolicy(str, Enum): - """ - Reclaim Policy, Delete or Retain - """ - DELETE = "Delete" - """ - Delete resource - """ - RETAIN = "Retain" - """ - Retain resource - """ - - -class VolumeMode(str, Enum): - """ - Indicates how the volumes created from the snapshot should be attached - """ - FILESYSTEM = "Filesystem" - """ - FileSystem volume mode - """ - RAW = "Raw" - """ - Raw volume mode - """ diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/_inputs.py b/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/_inputs.py deleted file mode 100644 index f192f0f97cec..000000000000 --- a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/_inputs.py +++ /dev/null @@ -1,185 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from ._enums import * - -__all__ = [ - 'DiskPoolPropertiesArgs', - 'ElasticSanPoolPropertiesArgs', - 'EphemeralPoolPropertiesArgs', -] - -@pulumi.input_type -class DiskPoolPropertiesArgs: - def __init__(__self__, *, - csi_params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - disks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - max_volume_capacity_gi_b: Optional[pulumi.Input[float]] = None): - """ - Disk Pool Properties - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] csi_params: List of KV pairs to set in StorageClass to configure CSI driver. - :param pulumi.Input[Sequence[pulumi.Input[str]]] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - :param pulumi.Input[float] max_volume_capacity_gi_b: Maximum capacity of the volumes in GiB the user intends to create. Default 512. - """ - if csi_params is not None: - pulumi.set(__self__, "csi_params", csi_params) - if disks is not None: - pulumi.set(__self__, "disks", disks) - if max_volume_capacity_gi_b is None: - max_volume_capacity_gi_b = 512 - if max_volume_capacity_gi_b is not None: - pulumi.set(__self__, "max_volume_capacity_gi_b", max_volume_capacity_gi_b) - - @property - @pulumi.getter(name="csiParams") - def csi_params(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - List of KV pairs to set in StorageClass to configure CSI driver. - """ - return pulumi.get(self, "csi_params") - - @csi_params.setter - def csi_params(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "csi_params", value) - - @property - @pulumi.getter - def disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - """ - Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - """ - return pulumi.get(self, "disks") - - @disks.setter - def disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "disks", value) - - @property - @pulumi.getter(name="maxVolumeCapacityGiB") - def max_volume_capacity_gi_b(self) -> Optional[pulumi.Input[float]]: - """ - Maximum capacity of the volumes in GiB the user intends to create. Default 512. - """ - return pulumi.get(self, "max_volume_capacity_gi_b") - - @max_volume_capacity_gi_b.setter - def max_volume_capacity_gi_b(self, value: Optional[pulumi.Input[float]]): - pulumi.set(self, "max_volume_capacity_gi_b", value) - - -@pulumi.input_type -class ElasticSanPoolPropertiesArgs: - def __init__(__self__, *, - resource_group: pulumi.Input[str], - san_name: pulumi.Input[str], - volume_group: pulumi.Input[str]): - """ - Elastic San Pool Properties - :param pulumi.Input[str] resource_group: Resource group of an existing SAN. - :param pulumi.Input[str] san_name: Name of an existing SAN. - :param pulumi.Input[str] volume_group: Volume group of an existing SAN. - """ - pulumi.set(__self__, "resource_group", resource_group) - pulumi.set(__self__, "san_name", san_name) - pulumi.set(__self__, "volume_group", volume_group) - - @property - @pulumi.getter(name="resourceGroup") - def resource_group(self) -> pulumi.Input[str]: - """ - Resource group of an existing SAN. - """ - return pulumi.get(self, "resource_group") - - @resource_group.setter - def resource_group(self, value: pulumi.Input[str]): - pulumi.set(self, "resource_group", value) - - @property - @pulumi.getter(name="sanName") - def san_name(self) -> pulumi.Input[str]: - """ - Name of an existing SAN. - """ - return pulumi.get(self, "san_name") - - @san_name.setter - def san_name(self, value: pulumi.Input[str]): - pulumi.set(self, "san_name", value) - - @property - @pulumi.getter(name="volumeGroup") - def volume_group(self) -> pulumi.Input[str]: - """ - Volume group of an existing SAN. - """ - return pulumi.get(self, "volume_group") - - @volume_group.setter - def volume_group(self, value: pulumi.Input[str]): - pulumi.set(self, "volume_group", value) - - -@pulumi.input_type -class EphemeralPoolPropertiesArgs: - def __init__(__self__, *, - disk_selector: pulumi.Input[Sequence[pulumi.Input[str]]], - disks: pulumi.Input[Sequence[pulumi.Input[str]]], - disk_format: Optional[pulumi.Input[bool]] = None): - """ - Ephemeral Pool Properties - :param pulumi.Input[Sequence[pulumi.Input[str]]] disk_selector: Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. - :param pulumi.Input[Sequence[pulumi.Input[str]]] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - :param pulumi.Input[bool] disk_format: Consent to format the local disks. - """ - pulumi.set(__self__, "disk_selector", disk_selector) - pulumi.set(__self__, "disks", disks) - if disk_format is None: - disk_format = False - if disk_format is not None: - pulumi.set(__self__, "disk_format", disk_format) - - @property - @pulumi.getter(name="diskSelector") - def disk_selector(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. - """ - return pulumi.get(self, "disk_selector") - - @disk_selector.setter - def disk_selector(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "disk_selector", value) - - @property - @pulumi.getter - def disks(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - """ - return pulumi.get(self, "disks") - - @disks.setter - def disks(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "disks", value) - - @property - @pulumi.getter(name="diskFormat") - def disk_format(self) -> Optional[pulumi.Input[bool]]: - """ - Consent to format the local disks. - """ - return pulumi.get(self, "disk_format") - - @disk_format.setter - def disk_format(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "disk_format", value) - - diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/get_pool.py b/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/get_pool.py deleted file mode 100644 index 5d153a1ecd38..000000000000 --- a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/get_pool.py +++ /dev/null @@ -1,248 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs - -__all__ = [ - 'GetPoolResult', - 'AwaitableGetPoolResult', - 'get_pool', - 'get_pool_output', -] - -@pulumi.output_type -class GetPoolResult: - """ - Pool resource - """ - def __init__(__self__, assignments=None, disk_pool_properties=None, elastic_san_pool_properties=None, ephemeral_pool_properties=None, id=None, location=None, name=None, pool_capacity_gi_b=None, pool_type=None, provisioning_state=None, system_data=None, tags=None, type=None, zones=None): - if assignments and not isinstance(assignments, list): - raise TypeError("Expected argument 'assignments' to be a list") - pulumi.set(__self__, "assignments", assignments) - if disk_pool_properties and not isinstance(disk_pool_properties, dict): - raise TypeError("Expected argument 'disk_pool_properties' to be a dict") - pulumi.set(__self__, "disk_pool_properties", disk_pool_properties) - if elastic_san_pool_properties and not isinstance(elastic_san_pool_properties, dict): - raise TypeError("Expected argument 'elastic_san_pool_properties' to be a dict") - pulumi.set(__self__, "elastic_san_pool_properties", elastic_san_pool_properties) - if ephemeral_pool_properties and not isinstance(ephemeral_pool_properties, dict): - raise TypeError("Expected argument 'ephemeral_pool_properties' to be a dict") - pulumi.set(__self__, "ephemeral_pool_properties", ephemeral_pool_properties) - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if location and not isinstance(location, str): - raise TypeError("Expected argument 'location' to be a str") - pulumi.set(__self__, "location", location) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if pool_capacity_gi_b and not isinstance(pool_capacity_gi_b, float): - raise TypeError("Expected argument 'pool_capacity_gi_b' to be a float") - pulumi.set(__self__, "pool_capacity_gi_b", pool_capacity_gi_b) - if pool_type and not isinstance(pool_type, float): - raise TypeError("Expected argument 'pool_type' to be a float") - pulumi.set(__self__, "pool_type", pool_type) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if system_data and not isinstance(system_data, dict): - raise TypeError("Expected argument 'system_data' to be a dict") - pulumi.set(__self__, "system_data", system_data) - if tags and not isinstance(tags, dict): - raise TypeError("Expected argument 'tags' to be a dict") - pulumi.set(__self__, "tags", tags) - if type and not isinstance(type, str): - raise TypeError("Expected argument 'type' to be a str") - pulumi.set(__self__, "type", type) - if zones and not isinstance(zones, list): - raise TypeError("Expected argument 'zones' to be a list") - pulumi.set(__self__, "zones", zones) - - @property - @pulumi.getter - def assignments(self) -> Sequence[str]: - """ - List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - """ - return pulumi.get(self, "assignments") - - @property - @pulumi.getter(name="diskPoolProperties") - def disk_pool_properties(self) -> Optional['outputs.DiskPoolPropertiesResponse']: - """ - Disk Pool Properties - """ - return pulumi.get(self, "disk_pool_properties") - - @property - @pulumi.getter(name="elasticSanPoolProperties") - def elastic_san_pool_properties(self) -> 'outputs.ElasticSanPoolPropertiesResponse': - """ - Elastic San Pool Properties - """ - return pulumi.get(self, "elastic_san_pool_properties") - - @property - @pulumi.getter(name="ephemeralPoolProperties") - def ephemeral_pool_properties(self) -> Optional['outputs.EphemeralPoolPropertiesResponse']: - """ - Ephemeral Pool Properties - """ - return pulumi.get(self, "ephemeral_pool_properties") - - @property - @pulumi.getter - def id(self) -> str: - """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter - def location(self) -> str: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter - def name(self) -> str: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="poolCapacityGiB") - def pool_capacity_gi_b(self) -> float: - """ - Initial capacity of the pool in GiB. - """ - return pulumi.get(self, "pool_capacity_gi_b") - - @property - @pulumi.getter(name="poolType") - def pool_type(self) -> float: - """ - Type of the Pool: ephemeral, disk, managed, or elasticsan. - """ - return pulumi.get(self, "pool_type") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The status of the last operation. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> 'outputs.SystemDataResponse': - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def tags(self) -> Optional[Mapping[str, str]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter - def type(self) -> str: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter - def zones(self) -> Sequence[str]: - """ - List of availability zones that resources can be created in. - """ - return pulumi.get(self, "zones") - - -class AwaitableGetPoolResult(GetPoolResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetPoolResult( - assignments=self.assignments, - disk_pool_properties=self.disk_pool_properties, - elastic_san_pool_properties=self.elastic_san_pool_properties, - ephemeral_pool_properties=self.ephemeral_pool_properties, - id=self.id, - location=self.location, - name=self.name, - pool_capacity_gi_b=self.pool_capacity_gi_b, - pool_type=self.pool_type, - provisioning_state=self.provisioning_state, - system_data=self.system_data, - tags=self.tags, - type=self.type, - zones=self.zones) - - -def get_pool(pool_name: Optional[str] = None, - resource_group_name: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPoolResult: - """ - Get a Pool - - - :param str pool_name: Pool Object - :param str resource_group_name: The name of the resource group. The name is case insensitive. - """ - __args__ = dict() - __args__['poolName'] = pool_name - __args__['resourceGroupName'] = resource_group_name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('azure-native:containerstorage/v20230301preview:getPool', __args__, opts=opts, typ=GetPoolResult).value - - return AwaitableGetPoolResult( - assignments=__ret__.assignments, - disk_pool_properties=__ret__.disk_pool_properties, - elastic_san_pool_properties=__ret__.elastic_san_pool_properties, - ephemeral_pool_properties=__ret__.ephemeral_pool_properties, - id=__ret__.id, - location=__ret__.location, - name=__ret__.name, - pool_capacity_gi_b=__ret__.pool_capacity_gi_b, - pool_type=__ret__.pool_type, - provisioning_state=__ret__.provisioning_state, - system_data=__ret__.system_data, - tags=__ret__.tags, - type=__ret__.type, - zones=__ret__.zones) - - -@_utilities.lift_output_func(get_pool) -def get_pool_output(pool_name: Optional[pulumi.Input[str]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPoolResult]: - """ - Get a Pool - - - :param str pool_name: Pool Object - :param str resource_group_name: The name of the resource group. The name is case insensitive. - """ - ... diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/get_volume_snapshot.py b/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/get_volume_snapshot.py deleted file mode 100644 index 3009686066ee..000000000000 --- a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/get_volume_snapshot.py +++ /dev/null @@ -1,188 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs - -__all__ = [ - 'GetVolumeSnapshotResult', - 'AwaitableGetVolumeSnapshotResult', - 'get_volume_snapshot', - 'get_volume_snapshot_output', -] - -@pulumi.output_type -class GetVolumeSnapshotResult: - """ - Concrete proxy resource types can be created by aliasing this type using a specific property type. - """ - def __init__(__self__, id=None, mount_options=None, name=None, provisioning_state=None, reclaim_policy=None, source=None, system_data=None, type=None, volume_mode=None): - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if mount_options and not isinstance(mount_options, list): - raise TypeError("Expected argument 'mount_options' to be a list") - pulumi.set(__self__, "mount_options", mount_options) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if reclaim_policy and not isinstance(reclaim_policy, str): - raise TypeError("Expected argument 'reclaim_policy' to be a str") - pulumi.set(__self__, "reclaim_policy", reclaim_policy) - if source and not isinstance(source, str): - raise TypeError("Expected argument 'source' to be a str") - pulumi.set(__self__, "source", source) - if system_data and not isinstance(system_data, dict): - raise TypeError("Expected argument 'system_data' to be a dict") - pulumi.set(__self__, "system_data", system_data) - if type and not isinstance(type, str): - raise TypeError("Expected argument 'type' to be a str") - pulumi.set(__self__, "type", type) - if volume_mode and not isinstance(volume_mode, str): - raise TypeError("Expected argument 'volume_mode' to be a str") - pulumi.set(__self__, "volume_mode", volume_mode) - - @property - @pulumi.getter - def id(self) -> str: - """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter(name="mountOptions") - def mount_options(self) -> Sequence[str]: - """ - List of string mount options - """ - return pulumi.get(self, "mount_options") - - @property - @pulumi.getter - def name(self) -> str: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The status of the last operation. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="reclaimPolicy") - def reclaim_policy(self) -> str: - """ - Reclaim Policy, Delete or Retain - """ - return pulumi.get(self, "reclaim_policy") - - @property - @pulumi.getter - def source(self) -> str: - """ - Reference to the source volume - """ - return pulumi.get(self, "source") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> 'outputs.SystemDataResponse': - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def type(self) -> str: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter(name="volumeMode") - def volume_mode(self) -> str: - """ - Indicates how the volumes created from the snapshot should be attached - """ - return pulumi.get(self, "volume_mode") - - -class AwaitableGetVolumeSnapshotResult(GetVolumeSnapshotResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetVolumeSnapshotResult( - id=self.id, - mount_options=self.mount_options, - name=self.name, - provisioning_state=self.provisioning_state, - reclaim_policy=self.reclaim_policy, - source=self.source, - system_data=self.system_data, - type=self.type, - volume_mode=self.volume_mode) - - -def get_volume_snapshot(pool_name: Optional[str] = None, - resource_group_name: Optional[str] = None, - volume_snapshot_name: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVolumeSnapshotResult: - """ - Get a VolumeSnapshot - - - :param str pool_name: Pool Object - :param str resource_group_name: The name of the resource group. The name is case insensitive. - :param str volume_snapshot_name: Volume Snapshot Resource - """ - __args__ = dict() - __args__['poolName'] = pool_name - __args__['resourceGroupName'] = resource_group_name - __args__['volumeSnapshotName'] = volume_snapshot_name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('azure-native:containerstorage/v20230301preview:getVolumeSnapshot', __args__, opts=opts, typ=GetVolumeSnapshotResult).value - - return AwaitableGetVolumeSnapshotResult( - id=__ret__.id, - mount_options=__ret__.mount_options, - name=__ret__.name, - provisioning_state=__ret__.provisioning_state, - reclaim_policy=__ret__.reclaim_policy, - source=__ret__.source, - system_data=__ret__.system_data, - type=__ret__.type, - volume_mode=__ret__.volume_mode) - - -@_utilities.lift_output_func(get_volume_snapshot) -def get_volume_snapshot_output(pool_name: Optional[pulumi.Input[str]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - volume_snapshot_name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVolumeSnapshotResult]: - """ - Get a VolumeSnapshot - - - :param str pool_name: Pool Object - :param str resource_group_name: The name of the resource group. The name is case insensitive. - :param str volume_snapshot_name: Volume Snapshot Resource - """ - ... diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/outputs.py b/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/outputs.py deleted file mode 100644 index 80d533263672..000000000000 --- a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/outputs.py +++ /dev/null @@ -1,328 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from ._enums import * - -__all__ = [ - 'DiskPoolPropertiesResponse', - 'ElasticSanPoolPropertiesResponse', - 'EphemeralPoolPropertiesResponse', - 'SystemDataResponse', -] - -@pulumi.output_type -class DiskPoolPropertiesResponse(dict): - """ - Disk Pool Properties - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "csiParams": - suggest = "csi_params" - elif key == "maxVolumeCapacityGiB": - suggest = "max_volume_capacity_gi_b" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in DiskPoolPropertiesResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - DiskPoolPropertiesResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - DiskPoolPropertiesResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - csi_params: Optional[Mapping[str, str]] = None, - disks: Optional[Sequence[str]] = None, - max_volume_capacity_gi_b: Optional[float] = None): - """ - Disk Pool Properties - :param Mapping[str, str] csi_params: List of KV pairs to set in StorageClass to configure CSI driver. - :param Sequence[str] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - :param float max_volume_capacity_gi_b: Maximum capacity of the volumes in GiB the user intends to create. Default 512. - """ - if csi_params is not None: - pulumi.set(__self__, "csi_params", csi_params) - if disks is not None: - pulumi.set(__self__, "disks", disks) - if max_volume_capacity_gi_b is None: - max_volume_capacity_gi_b = 512 - if max_volume_capacity_gi_b is not None: - pulumi.set(__self__, "max_volume_capacity_gi_b", max_volume_capacity_gi_b) - - @property - @pulumi.getter(name="csiParams") - def csi_params(self) -> Optional[Mapping[str, str]]: - """ - List of KV pairs to set in StorageClass to configure CSI driver. - """ - return pulumi.get(self, "csi_params") - - @property - @pulumi.getter - def disks(self) -> Optional[Sequence[str]]: - """ - Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - """ - return pulumi.get(self, "disks") - - @property - @pulumi.getter(name="maxVolumeCapacityGiB") - def max_volume_capacity_gi_b(self) -> Optional[float]: - """ - Maximum capacity of the volumes in GiB the user intends to create. Default 512. - """ - return pulumi.get(self, "max_volume_capacity_gi_b") - - -@pulumi.output_type -class ElasticSanPoolPropertiesResponse(dict): - """ - Elastic San Pool Properties - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "resourceGroup": - suggest = "resource_group" - elif key == "sanName": - suggest = "san_name" - elif key == "volumeGroup": - suggest = "volume_group" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ElasticSanPoolPropertiesResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ElasticSanPoolPropertiesResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ElasticSanPoolPropertiesResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - resource_group: str, - san_name: str, - volume_group: str): - """ - Elastic San Pool Properties - :param str resource_group: Resource group of an existing SAN. - :param str san_name: Name of an existing SAN. - :param str volume_group: Volume group of an existing SAN. - """ - pulumi.set(__self__, "resource_group", resource_group) - pulumi.set(__self__, "san_name", san_name) - pulumi.set(__self__, "volume_group", volume_group) - - @property - @pulumi.getter(name="resourceGroup") - def resource_group(self) -> str: - """ - Resource group of an existing SAN. - """ - return pulumi.get(self, "resource_group") - - @property - @pulumi.getter(name="sanName") - def san_name(self) -> str: - """ - Name of an existing SAN. - """ - return pulumi.get(self, "san_name") - - @property - @pulumi.getter(name="volumeGroup") - def volume_group(self) -> str: - """ - Volume group of an existing SAN. - """ - return pulumi.get(self, "volume_group") - - -@pulumi.output_type -class EphemeralPoolPropertiesResponse(dict): - """ - Ephemeral Pool Properties - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "diskSelector": - suggest = "disk_selector" - elif key == "diskFormat": - suggest = "disk_format" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in EphemeralPoolPropertiesResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - EphemeralPoolPropertiesResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - EphemeralPoolPropertiesResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - disk_selector: Sequence[str], - disks: Sequence[str], - disk_format: Optional[bool] = None): - """ - Ephemeral Pool Properties - :param Sequence[str] disk_selector: Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. - :param Sequence[str] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - :param bool disk_format: Consent to format the local disks. - """ - pulumi.set(__self__, "disk_selector", disk_selector) - pulumi.set(__self__, "disks", disks) - if disk_format is None: - disk_format = False - if disk_format is not None: - pulumi.set(__self__, "disk_format", disk_format) - - @property - @pulumi.getter(name="diskSelector") - def disk_selector(self) -> Sequence[str]: - """ - Template name or KV pairs containing disk selection criteria, e.g. model="Microsoft NVMe Direct Disk" to match all Lsv2 NVMe disks. - """ - return pulumi.get(self, "disk_selector") - - @property - @pulumi.getter - def disks(self) -> Sequence[str]: - """ - Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). - """ - return pulumi.get(self, "disks") - - @property - @pulumi.getter(name="diskFormat") - def disk_format(self) -> Optional[bool]: - """ - Consent to format the local disks. - """ - return pulumi.get(self, "disk_format") - - -@pulumi.output_type -class SystemDataResponse(dict): - """ - Metadata pertaining to creation and last modification of the resource. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "createdAt": - suggest = "created_at" - elif key == "createdBy": - suggest = "created_by" - elif key == "createdByType": - suggest = "created_by_type" - elif key == "lastModifiedAt": - suggest = "last_modified_at" - elif key == "lastModifiedBy": - suggest = "last_modified_by" - elif key == "lastModifiedByType": - suggest = "last_modified_by_type" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - SystemDataResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - SystemDataResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - created_at: Optional[str] = None, - created_by: Optional[str] = None, - created_by_type: Optional[str] = None, - last_modified_at: Optional[str] = None, - last_modified_by: Optional[str] = None, - last_modified_by_type: Optional[str] = None): - """ - Metadata pertaining to creation and last modification of the resource. - :param str created_at: The timestamp of resource creation (UTC). - :param str created_by: The identity that created the resource. - :param str created_by_type: The type of identity that created the resource. - :param str last_modified_at: The timestamp of resource last modification (UTC) - :param str last_modified_by: The identity that last modified the resource. - :param str last_modified_by_type: The type of identity that last modified the resource. - """ - if created_at is not None: - pulumi.set(__self__, "created_at", created_at) - if created_by is not None: - pulumi.set(__self__, "created_by", created_by) - if created_by_type is not None: - pulumi.set(__self__, "created_by_type", created_by_type) - if last_modified_at is not None: - pulumi.set(__self__, "last_modified_at", last_modified_at) - if last_modified_by is not None: - pulumi.set(__self__, "last_modified_by", last_modified_by) - if last_modified_by_type is not None: - pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) - - @property - @pulumi.getter(name="createdAt") - def created_at(self) -> Optional[str]: - """ - The timestamp of resource creation (UTC). - """ - return pulumi.get(self, "created_at") - - @property - @pulumi.getter(name="createdBy") - def created_by(self) -> Optional[str]: - """ - The identity that created the resource. - """ - return pulumi.get(self, "created_by") - - @property - @pulumi.getter(name="createdByType") - def created_by_type(self) -> Optional[str]: - """ - The type of identity that created the resource. - """ - return pulumi.get(self, "created_by_type") - - @property - @pulumi.getter(name="lastModifiedAt") - def last_modified_at(self) -> Optional[str]: - """ - The timestamp of resource last modification (UTC) - """ - return pulumi.get(self, "last_modified_at") - - @property - @pulumi.getter(name="lastModifiedBy") - def last_modified_by(self) -> Optional[str]: - """ - The identity that last modified the resource. - """ - return pulumi.get(self, "last_modified_by") - - @property - @pulumi.getter(name="lastModifiedByType") - def last_modified_by_type(self) -> Optional[str]: - """ - The type of identity that last modified the resource. - """ - return pulumi.get(self, "last_modified_by_type") - - diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/pool.py b/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/pool.py deleted file mode 100644 index 7265771f1b3a..000000000000 --- a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/pool.py +++ /dev/null @@ -1,441 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs -from ._inputs import * - -__all__ = ['PoolArgs', 'Pool'] - -@pulumi.input_type -class PoolArgs: - def __init__(__self__, *, - assignments: pulumi.Input[Sequence[pulumi.Input[str]]], - elastic_san_pool_properties: pulumi.Input['ElasticSanPoolPropertiesArgs'], - pool_capacity_gi_b: pulumi.Input[float], - pool_type: pulumi.Input[float], - resource_group_name: pulumi.Input[str], - zones: pulumi.Input[Sequence[pulumi.Input[str]]], - disk_pool_properties: Optional[pulumi.Input['DiskPoolPropertiesArgs']] = None, - ephemeral_pool_properties: Optional[pulumi.Input['EphemeralPoolPropertiesArgs']] = None, - location: Optional[pulumi.Input[str]] = None, - pool_name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): - """ - The set of arguments for constructing a Pool resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] assignments: List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - :param pulumi.Input['ElasticSanPoolPropertiesArgs'] elastic_san_pool_properties: Elastic San Pool Properties - :param pulumi.Input[float] pool_capacity_gi_b: Initial capacity of the pool in GiB. - :param pulumi.Input[float] pool_type: Type of the Pool: ephemeral, disk, managed, or elasticsan. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: List of availability zones that resources can be created in. - :param pulumi.Input['DiskPoolPropertiesArgs'] disk_pool_properties: Disk Pool Properties - :param pulumi.Input['EphemeralPoolPropertiesArgs'] ephemeral_pool_properties: Ephemeral Pool Properties - :param pulumi.Input[str] location: The geo-location where the resource lives - :param pulumi.Input[str] pool_name: Pool Object - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - """ - pulumi.set(__self__, "assignments", assignments) - pulumi.set(__self__, "elastic_san_pool_properties", elastic_san_pool_properties) - pulumi.set(__self__, "pool_capacity_gi_b", pool_capacity_gi_b) - pulumi.set(__self__, "pool_type", pool_type) - pulumi.set(__self__, "resource_group_name", resource_group_name) - pulumi.set(__self__, "zones", zones) - if disk_pool_properties is not None: - pulumi.set(__self__, "disk_pool_properties", disk_pool_properties) - if ephemeral_pool_properties is not None: - pulumi.set(__self__, "ephemeral_pool_properties", ephemeral_pool_properties) - if location is not None: - pulumi.set(__self__, "location", location) - if pool_name is not None: - pulumi.set(__self__, "pool_name", pool_name) - if tags is not None: - pulumi.set(__self__, "tags", tags) - - @property - @pulumi.getter - def assignments(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - """ - return pulumi.get(self, "assignments") - - @assignments.setter - def assignments(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "assignments", value) - - @property - @pulumi.getter(name="elasticSanPoolProperties") - def elastic_san_pool_properties(self) -> pulumi.Input['ElasticSanPoolPropertiesArgs']: - """ - Elastic San Pool Properties - """ - return pulumi.get(self, "elastic_san_pool_properties") - - @elastic_san_pool_properties.setter - def elastic_san_pool_properties(self, value: pulumi.Input['ElasticSanPoolPropertiesArgs']): - pulumi.set(self, "elastic_san_pool_properties", value) - - @property - @pulumi.getter(name="poolCapacityGiB") - def pool_capacity_gi_b(self) -> pulumi.Input[float]: - """ - Initial capacity of the pool in GiB. - """ - return pulumi.get(self, "pool_capacity_gi_b") - - @pool_capacity_gi_b.setter - def pool_capacity_gi_b(self, value: pulumi.Input[float]): - pulumi.set(self, "pool_capacity_gi_b", value) - - @property - @pulumi.getter(name="poolType") - def pool_type(self) -> pulumi.Input[float]: - """ - Type of the Pool: ephemeral, disk, managed, or elasticsan. - """ - return pulumi.get(self, "pool_type") - - @pool_type.setter - def pool_type(self, value: pulumi.Input[float]): - pulumi.set(self, "pool_type", value) - - @property - @pulumi.getter(name="resourceGroupName") - def resource_group_name(self) -> pulumi.Input[str]: - """ - The name of the resource group. The name is case insensitive. - """ - return pulumi.get(self, "resource_group_name") - - @resource_group_name.setter - def resource_group_name(self, value: pulumi.Input[str]): - pulumi.set(self, "resource_group_name", value) - - @property - @pulumi.getter - def zones(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - List of availability zones that resources can be created in. - """ - return pulumi.get(self, "zones") - - @zones.setter - def zones(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "zones", value) - - @property - @pulumi.getter(name="diskPoolProperties") - def disk_pool_properties(self) -> Optional[pulumi.Input['DiskPoolPropertiesArgs']]: - """ - Disk Pool Properties - """ - return pulumi.get(self, "disk_pool_properties") - - @disk_pool_properties.setter - def disk_pool_properties(self, value: Optional[pulumi.Input['DiskPoolPropertiesArgs']]): - pulumi.set(self, "disk_pool_properties", value) - - @property - @pulumi.getter(name="ephemeralPoolProperties") - def ephemeral_pool_properties(self) -> Optional[pulumi.Input['EphemeralPoolPropertiesArgs']]: - """ - Ephemeral Pool Properties - """ - return pulumi.get(self, "ephemeral_pool_properties") - - @ephemeral_pool_properties.setter - def ephemeral_pool_properties(self, value: Optional[pulumi.Input['EphemeralPoolPropertiesArgs']]): - pulumi.set(self, "ephemeral_pool_properties", value) - - @property - @pulumi.getter - def location(self) -> Optional[pulumi.Input[str]]: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @location.setter - def location(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "location", value) - - @property - @pulumi.getter(name="poolName") - def pool_name(self) -> Optional[pulumi.Input[str]]: - """ - Pool Object - """ - return pulumi.get(self, "pool_name") - - @pool_name.setter - def pool_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "pool_name", value) - - @property - @pulumi.getter - def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @tags.setter - def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "tags", value) - - -class Pool(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - assignments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - disk_pool_properties: Optional[pulumi.Input[pulumi.InputType['DiskPoolPropertiesArgs']]] = None, - elastic_san_pool_properties: Optional[pulumi.Input[pulumi.InputType['ElasticSanPoolPropertiesArgs']]] = None, - ephemeral_pool_properties: Optional[pulumi.Input[pulumi.InputType['EphemeralPoolPropertiesArgs']]] = None, - location: Optional[pulumi.Input[str]] = None, - pool_capacity_gi_b: Optional[pulumi.Input[float]] = None, - pool_name: Optional[pulumi.Input[str]] = None, - pool_type: Optional[pulumi.Input[float]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - __props__=None): - """ - Pool resource - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] assignments: List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - :param pulumi.Input[pulumi.InputType['DiskPoolPropertiesArgs']] disk_pool_properties: Disk Pool Properties - :param pulumi.Input[pulumi.InputType['ElasticSanPoolPropertiesArgs']] elastic_san_pool_properties: Elastic San Pool Properties - :param pulumi.Input[pulumi.InputType['EphemeralPoolPropertiesArgs']] ephemeral_pool_properties: Ephemeral Pool Properties - :param pulumi.Input[str] location: The geo-location where the resource lives - :param pulumi.Input[float] pool_capacity_gi_b: Initial capacity of the pool in GiB. - :param pulumi.Input[str] pool_name: Pool Object - :param pulumi.Input[float] pool_type: Type of the Pool: ephemeral, disk, managed, or elasticsan. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: List of availability zones that resources can be created in. - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: PoolArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Pool resource - - :param str resource_name: The name of the resource. - :param PoolArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(PoolArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - assignments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - disk_pool_properties: Optional[pulumi.Input[pulumi.InputType['DiskPoolPropertiesArgs']]] = None, - elastic_san_pool_properties: Optional[pulumi.Input[pulumi.InputType['ElasticSanPoolPropertiesArgs']]] = None, - ephemeral_pool_properties: Optional[pulumi.Input[pulumi.InputType['EphemeralPoolPropertiesArgs']]] = None, - location: Optional[pulumi.Input[str]] = None, - pool_capacity_gi_b: Optional[pulumi.Input[float]] = None, - pool_name: Optional[pulumi.Input[str]] = None, - pool_type: Optional[pulumi.Input[float]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = PoolArgs.__new__(PoolArgs) - - if assignments is None and not opts.urn: - raise TypeError("Missing required property 'assignments'") - __props__.__dict__["assignments"] = assignments - __props__.__dict__["disk_pool_properties"] = disk_pool_properties - if elastic_san_pool_properties is None and not opts.urn: - raise TypeError("Missing required property 'elastic_san_pool_properties'") - __props__.__dict__["elastic_san_pool_properties"] = elastic_san_pool_properties - __props__.__dict__["ephemeral_pool_properties"] = ephemeral_pool_properties - __props__.__dict__["location"] = location - if pool_capacity_gi_b is None and not opts.urn: - raise TypeError("Missing required property 'pool_capacity_gi_b'") - __props__.__dict__["pool_capacity_gi_b"] = pool_capacity_gi_b - __props__.__dict__["pool_name"] = pool_name - if pool_type is None and not opts.urn: - raise TypeError("Missing required property 'pool_type'") - __props__.__dict__["pool_type"] = pool_type - if resource_group_name is None and not opts.urn: - raise TypeError("Missing required property 'resource_group_name'") - __props__.__dict__["resource_group_name"] = resource_group_name - __props__.__dict__["tags"] = tags - if zones is None and not opts.urn: - raise TypeError("Missing required property 'zones'") - __props__.__dict__["zones"] = zones - __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerstorage:Pool")]) - opts = pulumi.ResourceOptions.merge(opts, alias_opts) - super(Pool, __self__).__init__( - 'azure-native:containerstorage/v20230301preview:Pool', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None) -> 'Pool': - """ - Get an existing Pool resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = PoolArgs.__new__(PoolArgs) - - __props__.__dict__["assignments"] = None - __props__.__dict__["disk_pool_properties"] = None - __props__.__dict__["elastic_san_pool_properties"] = None - __props__.__dict__["ephemeral_pool_properties"] = None - __props__.__dict__["location"] = None - __props__.__dict__["name"] = None - __props__.__dict__["pool_capacity_gi_b"] = None - __props__.__dict__["pool_type"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["tags"] = None - __props__.__dict__["type"] = None - __props__.__dict__["zones"] = None - return Pool(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter - def assignments(self) -> pulumi.Output[Sequence[str]]: - """ - List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many. - """ - return pulumi.get(self, "assignments") - - @property - @pulumi.getter(name="diskPoolProperties") - def disk_pool_properties(self) -> pulumi.Output[Optional['outputs.DiskPoolPropertiesResponse']]: - """ - Disk Pool Properties - """ - return pulumi.get(self, "disk_pool_properties") - - @property - @pulumi.getter(name="elasticSanPoolProperties") - def elastic_san_pool_properties(self) -> pulumi.Output['outputs.ElasticSanPoolPropertiesResponse']: - """ - Elastic San Pool Properties - """ - return pulumi.get(self, "elastic_san_pool_properties") - - @property - @pulumi.getter(name="ephemeralPoolProperties") - def ephemeral_pool_properties(self) -> pulumi.Output[Optional['outputs.EphemeralPoolPropertiesResponse']]: - """ - Ephemeral Pool Properties - """ - return pulumi.get(self, "ephemeral_pool_properties") - - @property - @pulumi.getter - def location(self) -> pulumi.Output[str]: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="poolCapacityGiB") - def pool_capacity_gi_b(self) -> pulumi.Output[float]: - """ - Initial capacity of the pool in GiB. - """ - return pulumi.get(self, "pool_capacity_gi_b") - - @property - @pulumi.getter(name="poolType") - def pool_type(self) -> pulumi.Output[float]: - """ - Type of the Pool: ephemeral, disk, managed, or elasticsan. - """ - return pulumi.get(self, "pool_type") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The status of the last operation. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter - def type(self) -> pulumi.Output[str]: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter - def zones(self) -> pulumi.Output[Sequence[str]]: - """ - List of availability zones that resources can be created in. - """ - return pulumi.get(self, "zones") - diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/volume.py b/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/volume.py deleted file mode 100644 index ca58c8f6e840..000000000000 --- a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/volume.py +++ /dev/null @@ -1,346 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs -from ._enums import * - -__all__ = ['VolumeArgs', 'Volume'] - -@pulumi.input_type -class VolumeArgs: - def __init__(__self__, *, - capacity_gi_b: pulumi.Input[float], - labels: pulumi.Input[Mapping[str, pulumi.Input[str]]], - mount_options: pulumi.Input[Sequence[pulumi.Input[str]]], - pool_name: pulumi.Input[str], - reclaim_policy: pulumi.Input[Union[str, 'ReclaimPolicy']], - resource_group_name: pulumi.Input[str], - volume_mode: pulumi.Input[Union[str, 'VolumeMode']], - volume_name: Optional[pulumi.Input[str]] = None): - """ - The set of arguments for constructing a Volume resource. - :param pulumi.Input[float] capacity_gi_b: Requested capacity in GiB - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: String KV pairs indicating labels - :param pulumi.Input[Sequence[pulumi.Input[str]]] mount_options: List of string mount options - :param pulumi.Input[str] pool_name: Pool Object - :param pulumi.Input[Union[str, 'ReclaimPolicy']] reclaim_policy: Reclaim Policy, Delete or Retain - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[Union[str, 'VolumeMode']] volume_mode: Indicates how the volume should be attached - :param pulumi.Input[str] volume_name: Volume Resource - """ - pulumi.set(__self__, "capacity_gi_b", capacity_gi_b) - pulumi.set(__self__, "labels", labels) - pulumi.set(__self__, "mount_options", mount_options) - pulumi.set(__self__, "pool_name", pool_name) - pulumi.set(__self__, "reclaim_policy", reclaim_policy) - pulumi.set(__self__, "resource_group_name", resource_group_name) - pulumi.set(__self__, "volume_mode", volume_mode) - if volume_name is not None: - pulumi.set(__self__, "volume_name", volume_name) - - @property - @pulumi.getter(name="capacityGiB") - def capacity_gi_b(self) -> pulumi.Input[float]: - """ - Requested capacity in GiB - """ - return pulumi.get(self, "capacity_gi_b") - - @capacity_gi_b.setter - def capacity_gi_b(self, value: pulumi.Input[float]): - pulumi.set(self, "capacity_gi_b", value) - - @property - @pulumi.getter - def labels(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: - """ - String KV pairs indicating labels - """ - return pulumi.get(self, "labels") - - @labels.setter - def labels(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): - pulumi.set(self, "labels", value) - - @property - @pulumi.getter(name="mountOptions") - def mount_options(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - List of string mount options - """ - return pulumi.get(self, "mount_options") - - @mount_options.setter - def mount_options(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "mount_options", value) - - @property - @pulumi.getter(name="poolName") - def pool_name(self) -> pulumi.Input[str]: - """ - Pool Object - """ - return pulumi.get(self, "pool_name") - - @pool_name.setter - def pool_name(self, value: pulumi.Input[str]): - pulumi.set(self, "pool_name", value) - - @property - @pulumi.getter(name="reclaimPolicy") - def reclaim_policy(self) -> pulumi.Input[Union[str, 'ReclaimPolicy']]: - """ - Reclaim Policy, Delete or Retain - """ - return pulumi.get(self, "reclaim_policy") - - @reclaim_policy.setter - def reclaim_policy(self, value: pulumi.Input[Union[str, 'ReclaimPolicy']]): - pulumi.set(self, "reclaim_policy", value) - - @property - @pulumi.getter(name="resourceGroupName") - def resource_group_name(self) -> pulumi.Input[str]: - """ - The name of the resource group. The name is case insensitive. - """ - return pulumi.get(self, "resource_group_name") - - @resource_group_name.setter - def resource_group_name(self, value: pulumi.Input[str]): - pulumi.set(self, "resource_group_name", value) - - @property - @pulumi.getter(name="volumeMode") - def volume_mode(self) -> pulumi.Input[Union[str, 'VolumeMode']]: - """ - Indicates how the volume should be attached - """ - return pulumi.get(self, "volume_mode") - - @volume_mode.setter - def volume_mode(self, value: pulumi.Input[Union[str, 'VolumeMode']]): - pulumi.set(self, "volume_mode", value) - - @property - @pulumi.getter(name="volumeName") - def volume_name(self) -> Optional[pulumi.Input[str]]: - """ - Volume Resource - """ - return pulumi.get(self, "volume_name") - - @volume_name.setter - def volume_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "volume_name", value) - - -class Volume(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - capacity_gi_b: Optional[pulumi.Input[float]] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - mount_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - pool_name: Optional[pulumi.Input[str]] = None, - reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - volume_mode: Optional[pulumi.Input[Union[str, 'VolumeMode']]] = None, - volume_name: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - Concrete proxy resource types can be created by aliasing this type using a specific property type. - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[float] capacity_gi_b: Requested capacity in GiB - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: String KV pairs indicating labels - :param pulumi.Input[Sequence[pulumi.Input[str]]] mount_options: List of string mount options - :param pulumi.Input[str] pool_name: Pool Object - :param pulumi.Input[Union[str, 'ReclaimPolicy']] reclaim_policy: Reclaim Policy, Delete or Retain - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[Union[str, 'VolumeMode']] volume_mode: Indicates how the volume should be attached - :param pulumi.Input[str] volume_name: Volume Resource - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: VolumeArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Concrete proxy resource types can be created by aliasing this type using a specific property type. - - :param str resource_name: The name of the resource. - :param VolumeArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(VolumeArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - capacity_gi_b: Optional[pulumi.Input[float]] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - mount_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - pool_name: Optional[pulumi.Input[str]] = None, - reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - volume_mode: Optional[pulumi.Input[Union[str, 'VolumeMode']]] = None, - volume_name: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = VolumeArgs.__new__(VolumeArgs) - - if capacity_gi_b is None and not opts.urn: - raise TypeError("Missing required property 'capacity_gi_b'") - __props__.__dict__["capacity_gi_b"] = capacity_gi_b - if labels is None and not opts.urn: - raise TypeError("Missing required property 'labels'") - __props__.__dict__["labels"] = labels - if mount_options is None and not opts.urn: - raise TypeError("Missing required property 'mount_options'") - __props__.__dict__["mount_options"] = mount_options - if pool_name is None and not opts.urn: - raise TypeError("Missing required property 'pool_name'") - __props__.__dict__["pool_name"] = pool_name - if reclaim_policy is None and not opts.urn: - raise TypeError("Missing required property 'reclaim_policy'") - __props__.__dict__["reclaim_policy"] = reclaim_policy - if resource_group_name is None and not opts.urn: - raise TypeError("Missing required property 'resource_group_name'") - __props__.__dict__["resource_group_name"] = resource_group_name - if volume_mode is None and not opts.urn: - raise TypeError("Missing required property 'volume_mode'") - __props__.__dict__["volume_mode"] = volume_mode - __props__.__dict__["volume_name"] = volume_name - __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerstorage:Volume")]) - opts = pulumi.ResourceOptions.merge(opts, alias_opts) - super(Volume, __self__).__init__( - 'azure-native:containerstorage/v20230301preview:Volume', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None) -> 'Volume': - """ - Get an existing Volume resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = VolumeArgs.__new__(VolumeArgs) - - __props__.__dict__["capacity_gi_b"] = None - __props__.__dict__["labels"] = None - __props__.__dict__["mount_options"] = None - __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["reclaim_policy"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - __props__.__dict__["volume_mode"] = None - return Volume(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="capacityGiB") - def capacity_gi_b(self) -> pulumi.Output[float]: - """ - Requested capacity in GiB - """ - return pulumi.get(self, "capacity_gi_b") - - @property - @pulumi.getter - def labels(self) -> pulumi.Output[Mapping[str, str]]: - """ - String KV pairs indicating labels - """ - return pulumi.get(self, "labels") - - @property - @pulumi.getter(name="mountOptions") - def mount_options(self) -> pulumi.Output[Sequence[str]]: - """ - List of string mount options - """ - return pulumi.get(self, "mount_options") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The status of the last operation. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="reclaimPolicy") - def reclaim_policy(self) -> pulumi.Output[str]: - """ - Reclaim Policy, Delete or Retain - """ - return pulumi.get(self, "reclaim_policy") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def type(self) -> pulumi.Output[str]: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter(name="volumeMode") - def volume_mode(self) -> pulumi.Output[str]: - """ - Indicates how the volume should be attached - """ - return pulumi.get(self, "volume_mode") - diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/volume_snapshot.py b/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/volume_snapshot.py deleted file mode 100644 index 66cce5ec1dbe..000000000000 --- a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/volume_snapshot.py +++ /dev/null @@ -1,316 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs -from ._enums import * - -__all__ = ['VolumeSnapshotArgs', 'VolumeSnapshot'] - -@pulumi.input_type -class VolumeSnapshotArgs: - def __init__(__self__, *, - mount_options: pulumi.Input[Sequence[pulumi.Input[str]]], - pool_name: pulumi.Input[str], - reclaim_policy: pulumi.Input[Union[str, 'ReclaimPolicy']], - resource_group_name: pulumi.Input[str], - source: pulumi.Input[str], - volume_mode: pulumi.Input[Union[str, 'VolumeMode']], - volume_snapshot_name: Optional[pulumi.Input[str]] = None): - """ - The set of arguments for constructing a VolumeSnapshot resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] mount_options: List of string mount options - :param pulumi.Input[str] pool_name: Pool Object - :param pulumi.Input[Union[str, 'ReclaimPolicy']] reclaim_policy: Reclaim Policy, Delete or Retain - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[str] source: Reference to the source volume - :param pulumi.Input[Union[str, 'VolumeMode']] volume_mode: Indicates how the volumes created from the snapshot should be attached - :param pulumi.Input[str] volume_snapshot_name: Volume Snapshot Resource - """ - pulumi.set(__self__, "mount_options", mount_options) - pulumi.set(__self__, "pool_name", pool_name) - pulumi.set(__self__, "reclaim_policy", reclaim_policy) - pulumi.set(__self__, "resource_group_name", resource_group_name) - pulumi.set(__self__, "source", source) - pulumi.set(__self__, "volume_mode", volume_mode) - if volume_snapshot_name is not None: - pulumi.set(__self__, "volume_snapshot_name", volume_snapshot_name) - - @property - @pulumi.getter(name="mountOptions") - def mount_options(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - List of string mount options - """ - return pulumi.get(self, "mount_options") - - @mount_options.setter - def mount_options(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "mount_options", value) - - @property - @pulumi.getter(name="poolName") - def pool_name(self) -> pulumi.Input[str]: - """ - Pool Object - """ - return pulumi.get(self, "pool_name") - - @pool_name.setter - def pool_name(self, value: pulumi.Input[str]): - pulumi.set(self, "pool_name", value) - - @property - @pulumi.getter(name="reclaimPolicy") - def reclaim_policy(self) -> pulumi.Input[Union[str, 'ReclaimPolicy']]: - """ - Reclaim Policy, Delete or Retain - """ - return pulumi.get(self, "reclaim_policy") - - @reclaim_policy.setter - def reclaim_policy(self, value: pulumi.Input[Union[str, 'ReclaimPolicy']]): - pulumi.set(self, "reclaim_policy", value) - - @property - @pulumi.getter(name="resourceGroupName") - def resource_group_name(self) -> pulumi.Input[str]: - """ - The name of the resource group. The name is case insensitive. - """ - return pulumi.get(self, "resource_group_name") - - @resource_group_name.setter - def resource_group_name(self, value: pulumi.Input[str]): - pulumi.set(self, "resource_group_name", value) - - @property - @pulumi.getter - def source(self) -> pulumi.Input[str]: - """ - Reference to the source volume - """ - return pulumi.get(self, "source") - - @source.setter - def source(self, value: pulumi.Input[str]): - pulumi.set(self, "source", value) - - @property - @pulumi.getter(name="volumeMode") - def volume_mode(self) -> pulumi.Input[Union[str, 'VolumeMode']]: - """ - Indicates how the volumes created from the snapshot should be attached - """ - return pulumi.get(self, "volume_mode") - - @volume_mode.setter - def volume_mode(self, value: pulumi.Input[Union[str, 'VolumeMode']]): - pulumi.set(self, "volume_mode", value) - - @property - @pulumi.getter(name="volumeSnapshotName") - def volume_snapshot_name(self) -> Optional[pulumi.Input[str]]: - """ - Volume Snapshot Resource - """ - return pulumi.get(self, "volume_snapshot_name") - - @volume_snapshot_name.setter - def volume_snapshot_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "volume_snapshot_name", value) - - -class VolumeSnapshot(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - mount_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - pool_name: Optional[pulumi.Input[str]] = None, - reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - source: Optional[pulumi.Input[str]] = None, - volume_mode: Optional[pulumi.Input[Union[str, 'VolumeMode']]] = None, - volume_snapshot_name: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - Concrete proxy resource types can be created by aliasing this type using a specific property type. - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] mount_options: List of string mount options - :param pulumi.Input[str] pool_name: Pool Object - :param pulumi.Input[Union[str, 'ReclaimPolicy']] reclaim_policy: Reclaim Policy, Delete or Retain - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[str] source: Reference to the source volume - :param pulumi.Input[Union[str, 'VolumeMode']] volume_mode: Indicates how the volumes created from the snapshot should be attached - :param pulumi.Input[str] volume_snapshot_name: Volume Snapshot Resource - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: VolumeSnapshotArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Concrete proxy resource types can be created by aliasing this type using a specific property type. - - :param str resource_name: The name of the resource. - :param VolumeSnapshotArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(VolumeSnapshotArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - mount_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - pool_name: Optional[pulumi.Input[str]] = None, - reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - source: Optional[pulumi.Input[str]] = None, - volume_mode: Optional[pulumi.Input[Union[str, 'VolumeMode']]] = None, - volume_snapshot_name: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = VolumeSnapshotArgs.__new__(VolumeSnapshotArgs) - - if mount_options is None and not opts.urn: - raise TypeError("Missing required property 'mount_options'") - __props__.__dict__["mount_options"] = mount_options - if pool_name is None and not opts.urn: - raise TypeError("Missing required property 'pool_name'") - __props__.__dict__["pool_name"] = pool_name - if reclaim_policy is None and not opts.urn: - raise TypeError("Missing required property 'reclaim_policy'") - __props__.__dict__["reclaim_policy"] = reclaim_policy - if resource_group_name is None and not opts.urn: - raise TypeError("Missing required property 'resource_group_name'") - __props__.__dict__["resource_group_name"] = resource_group_name - if source is None and not opts.urn: - raise TypeError("Missing required property 'source'") - __props__.__dict__["source"] = source - if volume_mode is None and not opts.urn: - raise TypeError("Missing required property 'volume_mode'") - __props__.__dict__["volume_mode"] = volume_mode - __props__.__dict__["volume_snapshot_name"] = volume_snapshot_name - __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerstorage:VolumeSnapshot")]) - opts = pulumi.ResourceOptions.merge(opts, alias_opts) - super(VolumeSnapshot, __self__).__init__( - 'azure-native:containerstorage/v20230301preview:VolumeSnapshot', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None) -> 'VolumeSnapshot': - """ - Get an existing VolumeSnapshot resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = VolumeSnapshotArgs.__new__(VolumeSnapshotArgs) - - __props__.__dict__["mount_options"] = None - __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["reclaim_policy"] = None - __props__.__dict__["source"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - __props__.__dict__["volume_mode"] = None - return VolumeSnapshot(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="mountOptions") - def mount_options(self) -> pulumi.Output[Sequence[str]]: - """ - List of string mount options - """ - return pulumi.get(self, "mount_options") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The status of the last operation. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="reclaimPolicy") - def reclaim_policy(self) -> pulumi.Output[str]: - """ - Reclaim Policy, Delete or Retain - """ - return pulumi.get(self, "reclaim_policy") - - @property - @pulumi.getter - def source(self) -> pulumi.Output[str]: - """ - Reference to the source volume - """ - return pulumi.get(self, "source") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def type(self) -> pulumi.Output[str]: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter(name="volumeMode") - def volume_mode(self) -> pulumi.Output[str]: - """ - Indicates how the volumes created from the snapshot should be attached - """ - return pulumi.get(self, "volume_mode") - diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/__init__.py b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/__init__.py new file mode 100644 index 000000000000..43a715c0a233 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .get_pool import * +from .get_snapshot import * +from .get_volume import * +from .pool import * +from .snapshot import * +from .volume import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/_enums.py b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/_enums.py new file mode 100644 index 000000000000..fa8776c61c22 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/_enums.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'AzureDiskSkuName', + 'ElasticSanSkuName', + 'ManagedServiceIdentityType', + 'ReclaimPolicy', + 'Zone', +] + + +class AzureDiskSkuName(str, Enum): + """ + Sku name + """ + PREMIUM_LRS = "Premium_LRS" + """ + Premium_LRS SKU + """ + STANDARD_LRS = "Standard_LRS" + """ + Standard_LRS SKU + """ + STANDARD_SS_D_LRS = "StandardSSD_LRS" + """ + StandardSSD_LRS SKU + """ + ULTRA_SS_D_LRS = "UltraSSD_LRS" + """ + UltraSSD_LRS SKU + """ + PREMIUM_ZRS = "Premium_ZRS" + """ + Premium_ZRS SKU + """ + PREMIUM_V2_LRS = "PremiumV2_LRS" + """ + PremiumV2_LRS SKU + """ + STANDARD_SS_D_ZRS = "StandardSSD_ZRS" + """ + StandardSSD_ZRS SKU + """ + + +class ElasticSanSkuName(str, Enum): + """ + Sku name + """ + PREMIUM_LRS = "Premium_LRS" + """ + Premium_LRS SKU + """ + PREMIUM_ZRS = "Premium_ZRS" + """ + Premium_ZRS SKU + """ + + +class ManagedServiceIdentityType(str, Enum): + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + NONE = "None" + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned, UserAssigned" + + +class ReclaimPolicy(str, Enum): + """ + ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + """ + DELETE = "Delete" + """ + Delete resource + """ + RETAIN = "Retain" + """ + Retain resource + """ + + +class Zone(str, Enum): + """ + Availability Zones + """ + ZONE1 = "1" + """ + First availability zone. + """ + ZONE2 = "2" + """ + Second availability zone. + """ + ZONE3 = "3" + """ + Third availability zone. + """ diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/_inputs.py b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/_inputs.py new file mode 100644 index 000000000000..ffd9b1c2929b --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/_inputs.py @@ -0,0 +1,423 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = [ + 'AssignmentArgs', + 'AzureDiskArgs', + 'DiskArgs', + 'ElasticSanArgs', + 'EncryptionArgs', + 'EphemeralDiskArgs', + 'ManagedServiceIdentityArgs', + 'PoolTypeArgs', + 'RequestsArgs', + 'ResourcesArgs', +] + +@pulumi.input_type +class AssignmentArgs: + def __init__(__self__, *, + id: pulumi.Input[str]): + """ + Assignment Properties + :param pulumi.Input[str] id: Resource id for the assigned resource + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> pulumi.Input[str]: + """ + Resource id for the assigned resource + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class AzureDiskArgs: + def __init__(__self__, *, + disks: Optional[pulumi.Input[Sequence[pulumi.Input['DiskArgs']]]] = None, + encryption: Optional[pulumi.Input['EncryptionArgs']] = None, + sku_name: Optional[pulumi.Input[Union[str, 'AzureDiskSkuName']]] = None): + """ + Azure Disk Pool Properties + :param pulumi.Input[Sequence[pulumi.Input['DiskArgs']]] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + :param pulumi.Input['EncryptionArgs'] encryption: Encryption specifies the encryption configuration for the Azure Disk pool + :param pulumi.Input[Union[str, 'AzureDiskSkuName']] sku_name: Sku name + """ + if disks is not None: + pulumi.set(__self__, "disks", disks) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if sku_name is not None: + pulumi.set(__self__, "sku_name", sku_name) + + @property + @pulumi.getter + def disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DiskArgs']]]]: + """ + Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + """ + return pulumi.get(self, "disks") + + @disks.setter + def disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DiskArgs']]]]): + pulumi.set(self, "disks", value) + + @property + @pulumi.getter + def encryption(self) -> Optional[pulumi.Input['EncryptionArgs']]: + """ + Encryption specifies the encryption configuration for the Azure Disk pool + """ + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: Optional[pulumi.Input['EncryptionArgs']]): + pulumi.set(self, "encryption", value) + + @property + @pulumi.getter(name="skuName") + def sku_name(self) -> Optional[pulumi.Input[Union[str, 'AzureDiskSkuName']]]: + """ + Sku name + """ + return pulumi.get(self, "sku_name") + + @sku_name.setter + def sku_name(self, value: Optional[pulumi.Input[Union[str, 'AzureDiskSkuName']]]): + pulumi.set(self, "sku_name", value) + + +@pulumi.input_type +class DiskArgs: + def __init__(__self__, *, + id: pulumi.Input[str], + reference: pulumi.Input[str]): + """ + Model for disk for that pool is using + :param pulumi.Input[str] id: ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + :param pulumi.Input[str] reference: Reference is the location of the disk in an external system. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "reference", reference) + + @property + @pulumi.getter + def id(self) -> pulumi.Input[str]: + """ + ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter + def reference(self) -> pulumi.Input[str]: + """ + Reference is the location of the disk in an external system. + """ + return pulumi.get(self, "reference") + + @reference.setter + def reference(self, value: pulumi.Input[str]): + pulumi.set(self, "reference", value) + + +@pulumi.input_type +class ElasticSanArgs: + def __init__(__self__, *, + encryption: Optional[pulumi.Input['EncryptionArgs']] = None, + sku_name: Optional[pulumi.Input[Union[str, 'ElasticSanSkuName']]] = None): + """ + Elastic San Pool Properties + :param pulumi.Input['EncryptionArgs'] encryption: Encryption specifies the encryption configuration for the Azure Disk pool + :param pulumi.Input[Union[str, 'ElasticSanSkuName']] sku_name: Sku name + """ + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if sku_name is not None: + pulumi.set(__self__, "sku_name", sku_name) + + @property + @pulumi.getter + def encryption(self) -> Optional[pulumi.Input['EncryptionArgs']]: + """ + Encryption specifies the encryption configuration for the Azure Disk pool + """ + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: Optional[pulumi.Input['EncryptionArgs']]): + pulumi.set(self, "encryption", value) + + @property + @pulumi.getter(name="skuName") + def sku_name(self) -> Optional[pulumi.Input[Union[str, 'ElasticSanSkuName']]]: + """ + Sku name + """ + return pulumi.get(self, "sku_name") + + @sku_name.setter + def sku_name(self, value: Optional[pulumi.Input[Union[str, 'ElasticSanSkuName']]]): + pulumi.set(self, "sku_name", value) + + +@pulumi.input_type +class EncryptionArgs: + def __init__(__self__, *, + key_name: pulumi.Input[str], + key_vault_uri: pulumi.Input[str], + identity: Optional[pulumi.Input['ManagedServiceIdentityArgs']] = None): + """ + Encryption key properties for the pool. + :param pulumi.Input[str] key_name: The name of the key vault key. + :param pulumi.Input[str] key_vault_uri: The URI of the key vault. + :param pulumi.Input['ManagedServiceIdentityArgs'] identity: The managed service identities assigned to this resource. + """ + pulumi.set(__self__, "key_name", key_name) + pulumi.set(__self__, "key_vault_uri", key_vault_uri) + if identity is not None: + pulumi.set(__self__, "identity", identity) + + @property + @pulumi.getter(name="keyName") + def key_name(self) -> pulumi.Input[str]: + """ + The name of the key vault key. + """ + return pulumi.get(self, "key_name") + + @key_name.setter + def key_name(self, value: pulumi.Input[str]): + pulumi.set(self, "key_name", value) + + @property + @pulumi.getter(name="keyVaultUri") + def key_vault_uri(self) -> pulumi.Input[str]: + """ + The URI of the key vault. + """ + return pulumi.get(self, "key_vault_uri") + + @key_vault_uri.setter + def key_vault_uri(self, value: pulumi.Input[str]): + pulumi.set(self, "key_vault_uri", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['ManagedServiceIdentityArgs']]: + """ + The managed service identities assigned to this resource. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['ManagedServiceIdentityArgs']]): + pulumi.set(self, "identity", value) + + +@pulumi.input_type +class EphemeralDiskArgs: + def __init__(__self__, *, + disks: Optional[pulumi.Input[Sequence[pulumi.Input['DiskArgs']]]] = None, + replicas: Optional[pulumi.Input[float]] = None): + """ + Ephemeral Disk Pool Properties + :param pulumi.Input[Sequence[pulumi.Input['DiskArgs']]] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + :param pulumi.Input[float] replicas: The number of data copies. Default 3. + """ + if disks is not None: + pulumi.set(__self__, "disks", disks) + if replicas is None: + replicas = 3 + if replicas is not None: + pulumi.set(__self__, "replicas", replicas) + + @property + @pulumi.getter + def disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DiskArgs']]]]: + """ + Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + """ + return pulumi.get(self, "disks") + + @disks.setter + def disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DiskArgs']]]]): + pulumi.set(self, "disks", value) + + @property + @pulumi.getter + def replicas(self) -> Optional[pulumi.Input[float]]: + """ + The number of data copies. Default 3. + """ + return pulumi.get(self, "replicas") + + @replicas.setter + def replicas(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "replicas", value) + + +@pulumi.input_type +class ManagedServiceIdentityArgs: + def __init__(__self__, *, + type: pulumi.Input[Union[str, 'ManagedServiceIdentityType']], + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Managed service identity (system assigned and/or user assigned identities) + :param pulumi.Input[Union[str, 'ManagedServiceIdentityType']] type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[Union[str, 'ManagedServiceIdentityType']]: + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[Union[str, 'ManagedServiceIdentityType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_assigned_identities", value) + + +@pulumi.input_type +class PoolTypeArgs: + def __init__(__self__, *, + azure_disk: Optional[pulumi.Input['AzureDiskArgs']] = None, + elastic_san: Optional[pulumi.Input['ElasticSanArgs']] = None, + ephemeral_disk: Optional[pulumi.Input['EphemeralDiskArgs']] = None): + """ + Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + :param pulumi.Input['AzureDiskArgs'] azure_disk: Disk Pool Properties + :param pulumi.Input['ElasticSanArgs'] elastic_san: Elastic San Pool Properties + :param pulumi.Input['EphemeralDiskArgs'] ephemeral_disk: Ephemeral Pool Properties + """ + if azure_disk is not None: + pulumi.set(__self__, "azure_disk", azure_disk) + if elastic_san is not None: + pulumi.set(__self__, "elastic_san", elastic_san) + if ephemeral_disk is not None: + pulumi.set(__self__, "ephemeral_disk", ephemeral_disk) + + @property + @pulumi.getter(name="azureDisk") + def azure_disk(self) -> Optional[pulumi.Input['AzureDiskArgs']]: + """ + Disk Pool Properties + """ + return pulumi.get(self, "azure_disk") + + @azure_disk.setter + def azure_disk(self, value: Optional[pulumi.Input['AzureDiskArgs']]): + pulumi.set(self, "azure_disk", value) + + @property + @pulumi.getter(name="elasticSan") + def elastic_san(self) -> Optional[pulumi.Input['ElasticSanArgs']]: + """ + Elastic San Pool Properties + """ + return pulumi.get(self, "elastic_san") + + @elastic_san.setter + def elastic_san(self, value: Optional[pulumi.Input['ElasticSanArgs']]): + pulumi.set(self, "elastic_san", value) + + @property + @pulumi.getter(name="ephemeralDisk") + def ephemeral_disk(self) -> Optional[pulumi.Input['EphemeralDiskArgs']]: + """ + Ephemeral Pool Properties + """ + return pulumi.get(self, "ephemeral_disk") + + @ephemeral_disk.setter + def ephemeral_disk(self, value: Optional[pulumi.Input['EphemeralDiskArgs']]): + pulumi.set(self, "ephemeral_disk", value) + + +@pulumi.input_type +class RequestsArgs: + def __init__(__self__, *, + storage: Optional[pulumi.Input[float]] = None): + """ + Requests for capacity for the pool. + :param pulumi.Input[float] storage: Requested capacity of the pool in GiB. + """ + if storage is None: + storage = 1024 + if storage is not None: + pulumi.set(__self__, "storage", storage) + + @property + @pulumi.getter + def storage(self) -> Optional[pulumi.Input[float]]: + """ + Requested capacity of the pool in GiB. + """ + return pulumi.get(self, "storage") + + @storage.setter + def storage(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "storage", value) + + +@pulumi.input_type +class ResourcesArgs: + def __init__(__self__, *, + requests: Optional[pulumi.Input['RequestsArgs']] = None): + """ + Resource Requests for the pool. + :param pulumi.Input['RequestsArgs'] requests: Requests for capacity for the pool. + """ + if requests is not None: + pulumi.set(__self__, "requests", requests) + + @property + @pulumi.getter + def requests(self) -> Optional[pulumi.Input['RequestsArgs']]: + """ + Requests for capacity for the pool. + """ + return pulumi.get(self, "requests") + + @requests.setter + def requests(self, value: Optional[pulumi.Input['RequestsArgs']]): + pulumi.set(self, "requests", value) + + diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/get_pool.py b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/get_pool.py new file mode 100644 index 000000000000..721d3d8a2711 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/get_pool.py @@ -0,0 +1,235 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetPoolResult', + 'AwaitableGetPoolResult', + 'get_pool', + 'get_pool_output', +] + +@pulumi.output_type +class GetPoolResult: + """ + Pool resource + """ + def __init__(__self__, assignments=None, id=None, location=None, name=None, pool_type=None, provisioning_state=None, reclaim_policy=None, resources=None, status=None, system_data=None, tags=None, type=None, zones=None): + if assignments and not isinstance(assignments, list): + raise TypeError("Expected argument 'assignments' to be a list") + pulumi.set(__self__, "assignments", assignments) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if pool_type and not isinstance(pool_type, dict): + raise TypeError("Expected argument 'pool_type' to be a dict") + pulumi.set(__self__, "pool_type", pool_type) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if reclaim_policy and not isinstance(reclaim_policy, str): + raise TypeError("Expected argument 'reclaim_policy' to be a str") + pulumi.set(__self__, "reclaim_policy", reclaim_policy) + if resources and not isinstance(resources, dict): + raise TypeError("Expected argument 'resources' to be a dict") + pulumi.set(__self__, "resources", resources) + if status and not isinstance(status, dict): + raise TypeError("Expected argument 'status' to be a dict") + pulumi.set(__self__, "status", status) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if zones and not isinstance(zones, list): + raise TypeError("Expected argument 'zones' to be a list") + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter + def assignments(self) -> Optional[Sequence['outputs.AssignmentResponse']]: + """ + List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. + """ + return pulumi.get(self, "assignments") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="poolType") + def pool_type(self) -> 'outputs.PoolTypeResponse': + """ + Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. + """ + return pulumi.get(self, "pool_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The status of the last operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="reclaimPolicy") + def reclaim_policy(self) -> Optional[str]: + """ + ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + """ + return pulumi.get(self, "reclaim_policy") + + @property + @pulumi.getter + def resources(self) -> Optional['outputs.ResourcesResponse']: + """ + Resources represent the resources the pool should have. + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter + def status(self) -> 'outputs.ResourceOperationalStatusResponse': + """ + The operational status of the resource + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def zones(self) -> Optional[Sequence[str]]: + """ + List of availability zones that resources can be created in. + """ + return pulumi.get(self, "zones") + + +class AwaitableGetPoolResult(GetPoolResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetPoolResult( + assignments=self.assignments, + id=self.id, + location=self.location, + name=self.name, + pool_type=self.pool_type, + provisioning_state=self.provisioning_state, + reclaim_policy=self.reclaim_policy, + resources=self.resources, + status=self.status, + system_data=self.system_data, + tags=self.tags, + type=self.type, + zones=self.zones) + + +def get_pool(pool_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPoolResult: + """ + Get a Pool + + + :param str pool_name: Pool Object + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['poolName'] = pool_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:containerstorage/v20230701preview:getPool', __args__, opts=opts, typ=GetPoolResult).value + + return AwaitableGetPoolResult( + assignments=__ret__.assignments, + id=__ret__.id, + location=__ret__.location, + name=__ret__.name, + pool_type=__ret__.pool_type, + provisioning_state=__ret__.provisioning_state, + reclaim_policy=__ret__.reclaim_policy, + resources=__ret__.resources, + status=__ret__.status, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type, + zones=__ret__.zones) + + +@_utilities.lift_output_func(get_pool) +def get_pool_output(pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPoolResult]: + """ + Get a Pool + + + :param str pool_name: Pool Object + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/get_snapshot.py b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/get_snapshot.py new file mode 100644 index 000000000000..e6a96f92410b --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/get_snapshot.py @@ -0,0 +1,162 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetSnapshotResult', + 'AwaitableGetSnapshotResult', + 'get_snapshot', + 'get_snapshot_output', +] + +@pulumi.output_type +class GetSnapshotResult: + """ + Concrete proxy resource types can be created by aliasing this type using a specific property type. + """ + def __init__(__self__, id=None, name=None, provisioning_state=None, source=None, status=None, system_data=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if source and not isinstance(source, str): + raise TypeError("Expected argument 'source' to be a str") + pulumi.set(__self__, "source", source) + if status and not isinstance(status, dict): + raise TypeError("Expected argument 'status' to be a dict") + pulumi.set(__self__, "status", status) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The status of the last operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def source(self) -> str: + """ + Reference to the source volume + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def status(self) -> 'outputs.ResourceOperationalStatusResponse': + """ + The status of the resource. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetSnapshotResult(GetSnapshotResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSnapshotResult( + id=self.id, + name=self.name, + provisioning_state=self.provisioning_state, + source=self.source, + status=self.status, + system_data=self.system_data, + type=self.type) + + +def get_snapshot(pool_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + snapshot_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSnapshotResult: + """ + Get a Snapshot + + + :param str pool_name: Pool Object + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str snapshot_name: Volume Snapshot Resource + """ + __args__ = dict() + __args__['poolName'] = pool_name + __args__['resourceGroupName'] = resource_group_name + __args__['snapshotName'] = snapshot_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:containerstorage/v20230701preview:getSnapshot', __args__, opts=opts, typ=GetSnapshotResult).value + + return AwaitableGetSnapshotResult( + id=__ret__.id, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + source=__ret__.source, + status=__ret__.status, + system_data=__ret__.system_data, + type=__ret__.type) + + +@_utilities.lift_output_func(get_snapshot) +def get_snapshot_output(pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + snapshot_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSnapshotResult]: + """ + Get a Snapshot + + + :param str pool_name: Pool Object + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str snapshot_name: Volume Snapshot Resource + """ + ... diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/get_volume.py b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/get_volume.py similarity index 77% rename from sdk/python/pulumi_azure_native/containerstorage/v20230301preview/get_volume.py rename to sdk/python/pulumi_azure_native/containerstorage/v20230701preview/get_volume.py index fcadb72b6d1a..84eb900f169d 100644 --- a/sdk/python/pulumi_azure_native/containerstorage/v20230301preview/get_volume.py +++ b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/get_volume.py @@ -22,7 +22,7 @@ class GetVolumeResult: """ Concrete proxy resource types can be created by aliasing this type using a specific property type. """ - def __init__(__self__, capacity_gi_b=None, id=None, labels=None, mount_options=None, name=None, provisioning_state=None, reclaim_policy=None, system_data=None, type=None, volume_mode=None): + def __init__(__self__, capacity_gi_b=None, id=None, labels=None, name=None, provisioning_state=None, status=None, system_data=None, type=None, volume_type=None): if capacity_gi_b and not isinstance(capacity_gi_b, float): raise TypeError("Expected argument 'capacity_gi_b' to be a float") pulumi.set(__self__, "capacity_gi_b", capacity_gi_b) @@ -32,27 +32,24 @@ def __init__(__self__, capacity_gi_b=None, id=None, labels=None, mount_options=N if labels and not isinstance(labels, dict): raise TypeError("Expected argument 'labels' to be a dict") pulumi.set(__self__, "labels", labels) - if mount_options and not isinstance(mount_options, list): - raise TypeError("Expected argument 'mount_options' to be a list") - pulumi.set(__self__, "mount_options", mount_options) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) if provisioning_state and not isinstance(provisioning_state, str): raise TypeError("Expected argument 'provisioning_state' to be a str") pulumi.set(__self__, "provisioning_state", provisioning_state) - if reclaim_policy and not isinstance(reclaim_policy, str): - raise TypeError("Expected argument 'reclaim_policy' to be a str") - pulumi.set(__self__, "reclaim_policy", reclaim_policy) + if status and not isinstance(status, dict): + raise TypeError("Expected argument 'status' to be a dict") + pulumi.set(__self__, "status", status) if system_data and not isinstance(system_data, dict): raise TypeError("Expected argument 'system_data' to be a dict") pulumi.set(__self__, "system_data", system_data) if type and not isinstance(type, str): raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) - if volume_mode and not isinstance(volume_mode, str): - raise TypeError("Expected argument 'volume_mode' to be a str") - pulumi.set(__self__, "volume_mode", volume_mode) + if volume_type and not isinstance(volume_type, dict): + raise TypeError("Expected argument 'volume_type' to be a dict") + pulumi.set(__self__, "volume_type", volume_type) @property @pulumi.getter(name="capacityGiB") @@ -78,14 +75,6 @@ def labels(self) -> Mapping[str, str]: """ return pulumi.get(self, "labels") - @property - @pulumi.getter(name="mountOptions") - def mount_options(self) -> Sequence[str]: - """ - List of string mount options - """ - return pulumi.get(self, "mount_options") - @property @pulumi.getter def name(self) -> str: @@ -103,12 +92,12 @@ def provisioning_state(self) -> str: return pulumi.get(self, "provisioning_state") @property - @pulumi.getter(name="reclaimPolicy") - def reclaim_policy(self) -> str: + @pulumi.getter + def status(self) -> 'outputs.ResourceOperationalStatusResponse': """ - Reclaim Policy, Delete or Retain + The status of the resource. """ - return pulumi.get(self, "reclaim_policy") + return pulumi.get(self, "status") @property @pulumi.getter(name="systemData") @@ -127,12 +116,12 @@ def type(self) -> str: return pulumi.get(self, "type") @property - @pulumi.getter(name="volumeMode") - def volume_mode(self) -> str: + @pulumi.getter(name="volumeType") + def volume_type(self) -> 'outputs.VolumeTypeResponse': """ - Indicates how the volume should be attached + Properties of the volume """ - return pulumi.get(self, "volume_mode") + return pulumi.get(self, "volume_type") class AwaitableGetVolumeResult(GetVolumeResult): @@ -144,13 +133,12 @@ def __await__(self): capacity_gi_b=self.capacity_gi_b, id=self.id, labels=self.labels, - mount_options=self.mount_options, name=self.name, provisioning_state=self.provisioning_state, - reclaim_policy=self.reclaim_policy, + status=self.status, system_data=self.system_data, type=self.type, - volume_mode=self.volume_mode) + volume_type=self.volume_type) def get_volume(pool_name: Optional[str] = None, @@ -170,19 +158,18 @@ def get_volume(pool_name: Optional[str] = None, __args__['resourceGroupName'] = resource_group_name __args__['volumeName'] = volume_name opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('azure-native:containerstorage/v20230301preview:getVolume', __args__, opts=opts, typ=GetVolumeResult).value + __ret__ = pulumi.runtime.invoke('azure-native:containerstorage/v20230701preview:getVolume', __args__, opts=opts, typ=GetVolumeResult).value return AwaitableGetVolumeResult( capacity_gi_b=__ret__.capacity_gi_b, id=__ret__.id, labels=__ret__.labels, - mount_options=__ret__.mount_options, name=__ret__.name, provisioning_state=__ret__.provisioning_state, - reclaim_policy=__ret__.reclaim_policy, + status=__ret__.status, system_data=__ret__.system_data, type=__ret__.type, - volume_mode=__ret__.volume_mode) + volume_type=__ret__.volume_type) @_utilities.lift_output_func(get_volume) diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/outputs.py b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/outputs.py new file mode 100644 index 000000000000..9fe4a7d4be01 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/outputs.py @@ -0,0 +1,868 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'AssignmentResponse', + 'AssignmentStatusResponse', + 'AzureDiskResponse', + 'DiskResponse', + 'ElasticSanResponse', + 'ElasticSanVolumePropertiesResponse', + 'EncryptionResponse', + 'EphemeralDiskResponse', + 'ManagedServiceIdentityResponse', + 'PoolTypeResponse', + 'RequestsResponse', + 'ResourceOperationalStatusResponse', + 'ResourcesResponse', + 'SystemDataResponse', + 'UserAssignedIdentityResponse', + 'VolumeTypeResponse', +] + +@pulumi.output_type +class AssignmentResponse(dict): + """ + Assignment Properties + """ + def __init__(__self__, *, + id: str, + status: 'outputs.AssignmentStatusResponse'): + """ + Assignment Properties + :param str id: Resource id for the assigned resource + :param 'AssignmentStatusResponse' status: Indicates if the assignment is in a usable state + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource id for the assigned resource + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def status(self) -> 'outputs.AssignmentStatusResponse': + """ + Indicates if the assignment is in a usable state + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class AssignmentStatusResponse(dict): + """ + Status of the assignment resource + """ + def __init__(__self__, *, + state: str, + message: Optional[str] = None): + """ + Status of the assignment resource + :param str state: State of the assignment resource + :param str message: Reason for the status + """ + pulumi.set(__self__, "state", state) + if message is not None: + pulumi.set(__self__, "message", message) + + @property + @pulumi.getter + def state(self) -> str: + """ + State of the assignment resource + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + Reason for the status + """ + return pulumi.get(self, "message") + + +@pulumi.output_type +class AzureDiskResponse(dict): + """ + Azure Disk Pool Properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceGroup": + suggest = "resource_group" + elif key == "skuName": + suggest = "sku_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AzureDiskResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AzureDiskResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AzureDiskResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + resource_group: str, + disks: Optional[Sequence['outputs.DiskResponse']] = None, + encryption: Optional['outputs.EncryptionResponse'] = None, + sku_name: Optional[str] = None): + """ + Azure Disk Pool Properties + :param str resource_group: Managed resource group for the pool. + :param Sequence['DiskResponse'] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + :param 'EncryptionResponse' encryption: Encryption specifies the encryption configuration for the Azure Disk pool + :param str sku_name: Sku name + """ + pulumi.set(__self__, "resource_group", resource_group) + if disks is not None: + pulumi.set(__self__, "disks", disks) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if sku_name is not None: + pulumi.set(__self__, "sku_name", sku_name) + + @property + @pulumi.getter(name="resourceGroup") + def resource_group(self) -> str: + """ + Managed resource group for the pool. + """ + return pulumi.get(self, "resource_group") + + @property + @pulumi.getter + def disks(self) -> Optional[Sequence['outputs.DiskResponse']]: + """ + Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + """ + return pulumi.get(self, "disks") + + @property + @pulumi.getter + def encryption(self) -> Optional['outputs.EncryptionResponse']: + """ + Encryption specifies the encryption configuration for the Azure Disk pool + """ + return pulumi.get(self, "encryption") + + @property + @pulumi.getter(name="skuName") + def sku_name(self) -> Optional[str]: + """ + Sku name + """ + return pulumi.get(self, "sku_name") + + +@pulumi.output_type +class DiskResponse(dict): + """ + Model for disk for that pool is using + """ + def __init__(__self__, *, + id: str, + reference: str): + """ + Model for disk for that pool is using + :param str id: ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + :param str reference: Reference is the location of the disk in an external system. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "reference", reference) + + @property + @pulumi.getter + def id(self) -> str: + """ + ID is the disk identifier visible to the OS. It is typically the WWN or disk ID in formats such as eui.e8238fa6bf530001001b448b45263379 or 0x5002cf6cbc5dd460 + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def reference(self) -> str: + """ + Reference is the location of the disk in an external system. + """ + return pulumi.get(self, "reference") + + +@pulumi.output_type +class ElasticSanResponse(dict): + """ + Elastic San Pool Properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceGroup": + suggest = "resource_group" + elif key == "skuName": + suggest = "sku_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElasticSanResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElasticSanResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElasticSanResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + resource_group: str, + encryption: Optional['outputs.EncryptionResponse'] = None, + sku_name: Optional[str] = None): + """ + Elastic San Pool Properties + :param str resource_group: Managed resource group for the pool. + :param 'EncryptionResponse' encryption: Encryption specifies the encryption configuration for the Azure Disk pool + :param str sku_name: Sku name + """ + pulumi.set(__self__, "resource_group", resource_group) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if sku_name is not None: + pulumi.set(__self__, "sku_name", sku_name) + + @property + @pulumi.getter(name="resourceGroup") + def resource_group(self) -> str: + """ + Managed resource group for the pool. + """ + return pulumi.get(self, "resource_group") + + @property + @pulumi.getter + def encryption(self) -> Optional['outputs.EncryptionResponse']: + """ + Encryption specifies the encryption configuration for the Azure Disk pool + """ + return pulumi.get(self, "encryption") + + @property + @pulumi.getter(name="skuName") + def sku_name(self) -> Optional[str]: + """ + Sku name + """ + return pulumi.get(self, "sku_name") + + +@pulumi.output_type +class ElasticSanVolumePropertiesResponse(dict): + """ + Properties of the ElasticSAN iSCSI target + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "targetIqn": + suggest = "target_iqn" + elif key == "targetPortalHostname": + suggest = "target_portal_hostname" + elif key == "targetPortalPort": + suggest = "target_portal_port" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElasticSanVolumePropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElasticSanVolumePropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElasticSanVolumePropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + target_iqn: str, + target_portal_hostname: str, + target_portal_port: int): + """ + Properties of the ElasticSAN iSCSI target + :param str target_iqn: iSCSI Target IQN (iSCSI Qualified Name); example: "iqn.2005-03.org.iscsi:server" + :param str target_portal_hostname: iSCSI Target Portal Host Name + :param int target_portal_port: iSCSI Target Portal Port + """ + pulumi.set(__self__, "target_iqn", target_iqn) + pulumi.set(__self__, "target_portal_hostname", target_portal_hostname) + pulumi.set(__self__, "target_portal_port", target_portal_port) + + @property + @pulumi.getter(name="targetIqn") + def target_iqn(self) -> str: + """ + iSCSI Target IQN (iSCSI Qualified Name); example: "iqn.2005-03.org.iscsi:server" + """ + return pulumi.get(self, "target_iqn") + + @property + @pulumi.getter(name="targetPortalHostname") + def target_portal_hostname(self) -> str: + """ + iSCSI Target Portal Host Name + """ + return pulumi.get(self, "target_portal_hostname") + + @property + @pulumi.getter(name="targetPortalPort") + def target_portal_port(self) -> int: + """ + iSCSI Target Portal Port + """ + return pulumi.get(self, "target_portal_port") + + +@pulumi.output_type +class EncryptionResponse(dict): + """ + Encryption key properties for the pool. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyName": + suggest = "key_name" + elif key == "keyVaultUri": + suggest = "key_vault_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EncryptionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EncryptionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EncryptionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_name: str, + key_vault_uri: str, + identity: Optional['outputs.ManagedServiceIdentityResponse'] = None): + """ + Encryption key properties for the pool. + :param str key_name: The name of the key vault key. + :param str key_vault_uri: The URI of the key vault. + :param 'ManagedServiceIdentityResponse' identity: The managed service identities assigned to this resource. + """ + pulumi.set(__self__, "key_name", key_name) + pulumi.set(__self__, "key_vault_uri", key_vault_uri) + if identity is not None: + pulumi.set(__self__, "identity", identity) + + @property + @pulumi.getter(name="keyName") + def key_name(self) -> str: + """ + The name of the key vault key. + """ + return pulumi.get(self, "key_name") + + @property + @pulumi.getter(name="keyVaultUri") + def key_vault_uri(self) -> str: + """ + The URI of the key vault. + """ + return pulumi.get(self, "key_vault_uri") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.ManagedServiceIdentityResponse']: + """ + The managed service identities assigned to this resource. + """ + return pulumi.get(self, "identity") + + +@pulumi.output_type +class EphemeralDiskResponse(dict): + """ + Ephemeral Disk Pool Properties + """ + def __init__(__self__, *, + disks: Optional[Sequence['outputs.DiskResponse']] = None, + replicas: Optional[float] = None): + """ + Ephemeral Disk Pool Properties + :param Sequence['DiskResponse'] disks: Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + :param float replicas: The number of data copies. Default 3. + """ + if disks is not None: + pulumi.set(__self__, "disks", disks) + if replicas is None: + replicas = 3 + if replicas is not None: + pulumi.set(__self__, "replicas", replicas) + + @property + @pulumi.getter + def disks(self) -> Optional[Sequence['outputs.DiskResponse']]: + """ + Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags). + """ + return pulumi.get(self, "disks") + + @property + @pulumi.getter + def replicas(self) -> Optional[float]: + """ + The number of data copies. Default 3. + """ + return pulumi.get(self, "replicas") + + +@pulumi.output_type +class ManagedServiceIdentityResponse(dict): + """ + Managed service identity (system assigned and/or user assigned identities) + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedServiceIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedServiceIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedServiceIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + type: str, + user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']] = None): + """ + Managed service identity (system assigned and/or user assigned identities) + :param str principal_id: The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + :param str tenant_id: The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + :param str type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + :param Mapping[str, 'UserAssignedIdentityResponse'] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> str: + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]: + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + return pulumi.get(self, "user_assigned_identities") + + +@pulumi.output_type +class PoolTypeResponse(dict): + """ + Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "azureDisk": + suggest = "azure_disk" + elif key == "elasticSan": + suggest = "elastic_san" + elif key == "ephemeralDisk": + suggest = "ephemeral_disk" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PoolTypeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PoolTypeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PoolTypeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + azure_disk: Optional['outputs.AzureDiskResponse'] = None, + elastic_san: Optional['outputs.ElasticSanResponse'] = None, + ephemeral_disk: Optional['outputs.EphemeralDiskResponse'] = None): + """ + Type of the Pool: ephemeralDisk, azureDisk, or elasticsan + :param 'AzureDiskResponse' azure_disk: Disk Pool Properties + :param 'ElasticSanResponse' elastic_san: Elastic San Pool Properties + :param 'EphemeralDiskResponse' ephemeral_disk: Ephemeral Pool Properties + """ + if azure_disk is not None: + pulumi.set(__self__, "azure_disk", azure_disk) + if elastic_san is not None: + pulumi.set(__self__, "elastic_san", elastic_san) + if ephemeral_disk is not None: + pulumi.set(__self__, "ephemeral_disk", ephemeral_disk) + + @property + @pulumi.getter(name="azureDisk") + def azure_disk(self) -> Optional['outputs.AzureDiskResponse']: + """ + Disk Pool Properties + """ + return pulumi.get(self, "azure_disk") + + @property + @pulumi.getter(name="elasticSan") + def elastic_san(self) -> Optional['outputs.ElasticSanResponse']: + """ + Elastic San Pool Properties + """ + return pulumi.get(self, "elastic_san") + + @property + @pulumi.getter(name="ephemeralDisk") + def ephemeral_disk(self) -> Optional['outputs.EphemeralDiskResponse']: + """ + Ephemeral Pool Properties + """ + return pulumi.get(self, "ephemeral_disk") + + +@pulumi.output_type +class RequestsResponse(dict): + """ + Requests for capacity for the pool. + """ + def __init__(__self__, *, + storage: Optional[float] = None): + """ + Requests for capacity for the pool. + :param float storage: Requested capacity of the pool in GiB. + """ + if storage is None: + storage = 1024 + if storage is not None: + pulumi.set(__self__, "storage", storage) + + @property + @pulumi.getter + def storage(self) -> Optional[float]: + """ + Requested capacity of the pool in GiB. + """ + return pulumi.get(self, "storage") + + +@pulumi.output_type +class ResourceOperationalStatusResponse(dict): + """ + Status of the resource + """ + def __init__(__self__, *, + state: str, + message: Optional[str] = None): + """ + Status of the resource + :param str state: state of the resource + :param str message: Reason for state. + """ + pulumi.set(__self__, "state", state) + if message is not None: + pulumi.set(__self__, "message", message) + + @property + @pulumi.getter + def state(self) -> str: + """ + state of the resource + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + Reason for state. + """ + return pulumi.get(self, "message") + + +@pulumi.output_type +class ResourcesResponse(dict): + """ + Resource Requests for the pool. + """ + def __init__(__self__, *, + requests: Optional['outputs.RequestsResponse'] = None): + """ + Resource Requests for the pool. + :param 'RequestsResponse' requests: Requests for capacity for the pool. + """ + if requests is not None: + pulumi.set(__self__, "requests", requests) + + @property + @pulumi.getter + def requests(self) -> Optional['outputs.RequestsResponse']: + """ + Requests for capacity for the pool. + """ + return pulumi.get(self, "requests") + + +@pulumi.output_type +class SystemDataResponse(dict): + """ + Metadata pertaining to creation and last modification of the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: Optional[str] = None, + created_by: Optional[str] = None, + created_by_type: Optional[str] = None, + last_modified_at: Optional[str] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[str] = None): + """ + Metadata pertaining to creation and last modification of the resource. + :param str created_at: The timestamp of resource creation (UTC). + :param str created_by: The identity that created the resource. + :param str created_by_type: The type of identity that created the resource. + :param str last_modified_at: The timestamp of resource last modification (UTC) + :param str last_modified_by: The identity that last modified the resource. + :param str last_modified_by_type: The type of identity that last modified the resource. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if created_by_type is not None: + pulumi.set(__self__, "created_by_type", created_by_type) + if last_modified_at is not None: + pulumi.set(__self__, "last_modified_at", last_modified_at) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if last_modified_by_type is not None: + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The timestamp of resource creation (UTC). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[str]: + """ + The identity that created the resource. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> Optional[str]: + """ + The type of identity that created the resource. + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> Optional[str]: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[str]: + """ + The identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> Optional[str]: + """ + The type of identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by_type") + + +@pulumi.output_type +class UserAssignedIdentityResponse(dict): + """ + User assigned identity properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "principalId": + suggest = "principal_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: str, + principal_id: str): + """ + User assigned identity properties + :param str client_id: The client ID of the assigned identity. + :param str principal_id: The principal ID of the assigned identity. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "principal_id", principal_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The client ID of the assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal ID of the assigned identity. + """ + return pulumi.get(self, "principal_id") + + +@pulumi.output_type +class VolumeTypeResponse(dict): + """ + Properties of the volume + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "elasticSan": + suggest = "elastic_san" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VolumeTypeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VolumeTypeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VolumeTypeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + elastic_san: 'outputs.ElasticSanVolumePropertiesResponse'): + """ + Properties of the volume + :param 'ElasticSanVolumePropertiesResponse' elastic_san: Properties of the ElasticSAN iSCSI target + """ + pulumi.set(__self__, "elastic_san", elastic_san) + + @property + @pulumi.getter(name="elasticSan") + def elastic_san(self) -> 'outputs.ElasticSanVolumePropertiesResponse': + """ + Properties of the ElasticSAN iSCSI target + """ + return pulumi.get(self, "elastic_san") + + diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/pool.py b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/pool.py new file mode 100644 index 000000000000..95d59106fbdb --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/pool.py @@ -0,0 +1,390 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['PoolArgs', 'Pool'] + +@pulumi.input_type +class PoolArgs: + def __init__(__self__, *, + pool_type: pulumi.Input['PoolTypeArgs'], + resource_group_name: pulumi.Input[str], + assignments: Optional[pulumi.Input[Sequence[pulumi.Input['AssignmentArgs']]]] = None, + location: Optional[pulumi.Input[str]] = None, + pool_name: Optional[pulumi.Input[str]] = None, + reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, + resources: Optional[pulumi.Input['ResourcesArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]]] = None): + """ + The set of arguments for constructing a Pool resource. + :param pulumi.Input['PoolTypeArgs'] pool_type: Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Sequence[pulumi.Input['AssignmentArgs']]] assignments: List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] pool_name: Pool Object + :param pulumi.Input[Union[str, 'ReclaimPolicy']] reclaim_policy: ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + :param pulumi.Input['ResourcesArgs'] resources: Resources represent the resources the pool should have. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]] zones: List of availability zones that resources can be created in. + """ + pulumi.set(__self__, "pool_type", pool_type) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if assignments is not None: + pulumi.set(__self__, "assignments", assignments) + if location is not None: + pulumi.set(__self__, "location", location) + if pool_name is not None: + pulumi.set(__self__, "pool_name", pool_name) + if reclaim_policy is not None: + pulumi.set(__self__, "reclaim_policy", reclaim_policy) + if resources is not None: + pulumi.set(__self__, "resources", resources) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if zones is not None: + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="poolType") + def pool_type(self) -> pulumi.Input['PoolTypeArgs']: + """ + Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. + """ + return pulumi.get(self, "pool_type") + + @pool_type.setter + def pool_type(self, value: pulumi.Input['PoolTypeArgs']): + pulumi.set(self, "pool_type", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def assignments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AssignmentArgs']]]]: + """ + List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. + """ + return pulumi.get(self, "assignments") + + @assignments.setter + def assignments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AssignmentArgs']]]]): + pulumi.set(self, "assignments", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="poolName") + def pool_name(self) -> Optional[pulumi.Input[str]]: + """ + Pool Object + """ + return pulumi.get(self, "pool_name") + + @pool_name.setter + def pool_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pool_name", value) + + @property + @pulumi.getter(name="reclaimPolicy") + def reclaim_policy(self) -> Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]]: + """ + ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + """ + return pulumi.get(self, "reclaim_policy") + + @reclaim_policy.setter + def reclaim_policy(self, value: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]]): + pulumi.set(self, "reclaim_policy", value) + + @property + @pulumi.getter + def resources(self) -> Optional[pulumi.Input['ResourcesArgs']]: + """ + Resources represent the resources the pool should have. + """ + return pulumi.get(self, "resources") + + @resources.setter + def resources(self, value: Optional[pulumi.Input['ResourcesArgs']]): + pulumi.set(self, "resources", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]]]: + """ + List of availability zones that resources can be created in. + """ + return pulumi.get(self, "zones") + + @zones.setter + def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]]]): + pulumi.set(self, "zones", value) + + +class Pool(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + assignments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AssignmentArgs']]]]] = None, + location: Optional[pulumi.Input[str]] = None, + pool_name: Optional[pulumi.Input[str]] = None, + pool_type: Optional[pulumi.Input[pulumi.InputType['PoolTypeArgs']]] = None, + reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resources: Optional[pulumi.Input[pulumi.InputType['ResourcesArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]]] = None, + __props__=None): + """ + Pool resource + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AssignmentArgs']]]] assignments: List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] pool_name: Pool Object + :param pulumi.Input[pulumi.InputType['PoolTypeArgs']] pool_type: Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. + :param pulumi.Input[Union[str, 'ReclaimPolicy']] reclaim_policy: ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[pulumi.InputType['ResourcesArgs']] resources: Resources represent the resources the pool should have. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]] zones: List of availability zones that resources can be created in. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: PoolArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Pool resource + + :param str resource_name: The name of the resource. + :param PoolArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(PoolArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + assignments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AssignmentArgs']]]]] = None, + location: Optional[pulumi.Input[str]] = None, + pool_name: Optional[pulumi.Input[str]] = None, + pool_type: Optional[pulumi.Input[pulumi.InputType['PoolTypeArgs']]] = None, + reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + resources: Optional[pulumi.Input[pulumi.InputType['ResourcesArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'Zone']]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = PoolArgs.__new__(PoolArgs) + + __props__.__dict__["assignments"] = assignments + __props__.__dict__["location"] = location + __props__.__dict__["pool_name"] = pool_name + if pool_type is None and not opts.urn: + raise TypeError("Missing required property 'pool_type'") + __props__.__dict__["pool_type"] = pool_type + __props__.__dict__["reclaim_policy"] = reclaim_policy + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["resources"] = resources + __props__.__dict__["tags"] = tags + __props__.__dict__["zones"] = zones + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerstorage:Pool")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Pool, __self__).__init__( + 'azure-native:containerstorage/v20230701preview:Pool', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Pool': + """ + Get an existing Pool resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = PoolArgs.__new__(PoolArgs) + + __props__.__dict__["assignments"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["pool_type"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["reclaim_policy"] = None + __props__.__dict__["resources"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["zones"] = None + return Pool(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def assignments(self) -> pulumi.Output[Optional[Sequence['outputs.AssignmentResponse']]]: + """ + List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many. + """ + return pulumi.get(self, "assignments") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="poolType") + def pool_type(self) -> pulumi.Output['outputs.PoolTypeResponse']: + """ + Type of the Pool: ephemeralDisk, azureDisk, or elasticsan. + """ + return pulumi.get(self, "pool_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The status of the last operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="reclaimPolicy") + def reclaim_policy(self) -> pulumi.Output[Optional[str]]: + """ + ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted + """ + return pulumi.get(self, "reclaim_policy") + + @property + @pulumi.getter + def resources(self) -> pulumi.Output[Optional['outputs.ResourcesResponse']]: + """ + Resources represent the resources the pool should have. + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter + def status(self) -> pulumi.Output['outputs.ResourceOperationalStatusResponse']: + """ + The operational status of the resource + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of availability zones that resources can be created in. + """ + return pulumi.get(self, "zones") + diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/snapshot.py b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/snapshot.py new file mode 100644 index 000000000000..a74fe6a1ad15 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/snapshot.py @@ -0,0 +1,235 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = ['SnapshotArgs', 'Snapshot'] + +@pulumi.input_type +class SnapshotArgs: + def __init__(__self__, *, + pool_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + source: pulumi.Input[str], + snapshot_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Snapshot resource. + :param pulumi.Input[str] pool_name: Pool Object + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] source: Reference to the source volume + :param pulumi.Input[str] snapshot_name: Volume Snapshot Resource + """ + pulumi.set(__self__, "pool_name", pool_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "source", source) + if snapshot_name is not None: + pulumi.set(__self__, "snapshot_name", snapshot_name) + + @property + @pulumi.getter(name="poolName") + def pool_name(self) -> pulumi.Input[str]: + """ + Pool Object + """ + return pulumi.get(self, "pool_name") + + @pool_name.setter + def pool_name(self, value: pulumi.Input[str]): + pulumi.set(self, "pool_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def source(self) -> pulumi.Input[str]: + """ + Reference to the source volume + """ + return pulumi.get(self, "source") + + @source.setter + def source(self, value: pulumi.Input[str]): + pulumi.set(self, "source", value) + + @property + @pulumi.getter(name="snapshotName") + def snapshot_name(self) -> Optional[pulumi.Input[str]]: + """ + Volume Snapshot Resource + """ + return pulumi.get(self, "snapshot_name") + + @snapshot_name.setter + def snapshot_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "snapshot_name", value) + + +class Snapshot(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + snapshot_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Concrete proxy resource types can be created by aliasing this type using a specific property type. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] pool_name: Pool Object + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] snapshot_name: Volume Snapshot Resource + :param pulumi.Input[str] source: Reference to the source volume + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SnapshotArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Concrete proxy resource types can be created by aliasing this type using a specific property type. + + :param str resource_name: The name of the resource. + :param SnapshotArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(SnapshotArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + snapshot_name: Optional[pulumi.Input[str]] = None, + source: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = SnapshotArgs.__new__(SnapshotArgs) + + if pool_name is None and not opts.urn: + raise TypeError("Missing required property 'pool_name'") + __props__.__dict__["pool_name"] = pool_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["snapshot_name"] = snapshot_name + if source is None and not opts.urn: + raise TypeError("Missing required property 'source'") + __props__.__dict__["source"] = source + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerstorage:Snapshot")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Snapshot, __self__).__init__( + 'azure-native:containerstorage/v20230701preview:Snapshot', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Snapshot': + """ + Get an existing Snapshot resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = SnapshotArgs.__new__(SnapshotArgs) + + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["source"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + return Snapshot(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The status of the last operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def source(self) -> pulumi.Output[str]: + """ + Reference to the source volume + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def status(self) -> pulumi.Output['outputs.ResourceOperationalStatusResponse']: + """ + The status of the resource. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/volume.py b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/volume.py new file mode 100644 index 000000000000..e63dac0ccb44 --- /dev/null +++ b/sdk/python/pulumi_azure_native/containerstorage/v20230701preview/volume.py @@ -0,0 +1,275 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = ['VolumeArgs', 'Volume'] + +@pulumi.input_type +class VolumeArgs: + def __init__(__self__, *, + capacity_gi_b: pulumi.Input[float], + labels: pulumi.Input[Mapping[str, pulumi.Input[str]]], + pool_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + volume_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Volume resource. + :param pulumi.Input[float] capacity_gi_b: Requested capacity in GiB + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: String KV pairs indicating labels + :param pulumi.Input[str] pool_name: Pool Object + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] volume_name: Volume Resource + """ + pulumi.set(__self__, "capacity_gi_b", capacity_gi_b) + pulumi.set(__self__, "labels", labels) + pulumi.set(__self__, "pool_name", pool_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if volume_name is not None: + pulumi.set(__self__, "volume_name", volume_name) + + @property + @pulumi.getter(name="capacityGiB") + def capacity_gi_b(self) -> pulumi.Input[float]: + """ + Requested capacity in GiB + """ + return pulumi.get(self, "capacity_gi_b") + + @capacity_gi_b.setter + def capacity_gi_b(self, value: pulumi.Input[float]): + pulumi.set(self, "capacity_gi_b", value) + + @property + @pulumi.getter + def labels(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + """ + String KV pairs indicating labels + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + pulumi.set(self, "labels", value) + + @property + @pulumi.getter(name="poolName") + def pool_name(self) -> pulumi.Input[str]: + """ + Pool Object + """ + return pulumi.get(self, "pool_name") + + @pool_name.setter + def pool_name(self, value: pulumi.Input[str]): + pulumi.set(self, "pool_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="volumeName") + def volume_name(self) -> Optional[pulumi.Input[str]]: + """ + Volume Resource + """ + return pulumi.get(self, "volume_name") + + @volume_name.setter + def volume_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "volume_name", value) + + +class Volume(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capacity_gi_b: Optional[pulumi.Input[float]] = None, + labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + volume_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Concrete proxy resource types can be created by aliasing this type using a specific property type. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[float] capacity_gi_b: Requested capacity in GiB + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: String KV pairs indicating labels + :param pulumi.Input[str] pool_name: Pool Object + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] volume_name: Volume Resource + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VolumeArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Concrete proxy resource types can be created by aliasing this type using a specific property type. + + :param str resource_name: The name of the resource. + :param VolumeArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VolumeArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capacity_gi_b: Optional[pulumi.Input[float]] = None, + labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + volume_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VolumeArgs.__new__(VolumeArgs) + + if capacity_gi_b is None and not opts.urn: + raise TypeError("Missing required property 'capacity_gi_b'") + __props__.__dict__["capacity_gi_b"] = capacity_gi_b + if labels is None and not opts.urn: + raise TypeError("Missing required property 'labels'") + __props__.__dict__["labels"] = labels + if pool_name is None and not opts.urn: + raise TypeError("Missing required property 'pool_name'") + __props__.__dict__["pool_name"] = pool_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["volume_name"] = volume_name + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + __props__.__dict__["volume_type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerstorage:Volume")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Volume, __self__).__init__( + 'azure-native:containerstorage/v20230701preview:Volume', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Volume': + """ + Get an existing Volume resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = VolumeArgs.__new__(VolumeArgs) + + __props__.__dict__["capacity_gi_b"] = None + __props__.__dict__["labels"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + __props__.__dict__["volume_type"] = None + return Volume(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="capacityGiB") + def capacity_gi_b(self) -> pulumi.Output[float]: + """ + Requested capacity in GiB + """ + return pulumi.get(self, "capacity_gi_b") + + @property + @pulumi.getter + def labels(self) -> pulumi.Output[Mapping[str, str]]: + """ + String KV pairs indicating labels + """ + return pulumi.get(self, "labels") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The status of the last operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def status(self) -> pulumi.Output['outputs.ResourceOperationalStatusResponse']: + """ + The status of the resource. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="volumeType") + def volume_type(self) -> pulumi.Output['outputs.VolumeTypeResponse']: + """ + Properties of the volume + """ + return pulumi.get(self, "volume_type") + diff --git a/sdk/python/pulumi_azure_native/containerstorage/volume.py b/sdk/python/pulumi_azure_native/containerstorage/volume.py index a312e013bb76..e314fe51e045 100644 --- a/sdk/python/pulumi_azure_native/containerstorage/volume.py +++ b/sdk/python/pulumi_azure_native/containerstorage/volume.py @@ -9,7 +9,6 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities from . import outputs -from ._enums import * __all__ = ['VolumeArgs', 'Volume'] @@ -18,30 +17,21 @@ class VolumeArgs: def __init__(__self__, *, capacity_gi_b: pulumi.Input[float], labels: pulumi.Input[Mapping[str, pulumi.Input[str]]], - mount_options: pulumi.Input[Sequence[pulumi.Input[str]]], pool_name: pulumi.Input[str], - reclaim_policy: pulumi.Input[Union[str, 'ReclaimPolicy']], resource_group_name: pulumi.Input[str], - volume_mode: pulumi.Input[Union[str, 'VolumeMode']], volume_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Volume resource. :param pulumi.Input[float] capacity_gi_b: Requested capacity in GiB :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: String KV pairs indicating labels - :param pulumi.Input[Sequence[pulumi.Input[str]]] mount_options: List of string mount options :param pulumi.Input[str] pool_name: Pool Object - :param pulumi.Input[Union[str, 'ReclaimPolicy']] reclaim_policy: Reclaim Policy, Delete or Retain :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[Union[str, 'VolumeMode']] volume_mode: Indicates how the volume should be attached :param pulumi.Input[str] volume_name: Volume Resource """ pulumi.set(__self__, "capacity_gi_b", capacity_gi_b) pulumi.set(__self__, "labels", labels) - pulumi.set(__self__, "mount_options", mount_options) pulumi.set(__self__, "pool_name", pool_name) - pulumi.set(__self__, "reclaim_policy", reclaim_policy) pulumi.set(__self__, "resource_group_name", resource_group_name) - pulumi.set(__self__, "volume_mode", volume_mode) if volume_name is not None: pulumi.set(__self__, "volume_name", volume_name) @@ -69,18 +59,6 @@ def labels(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: def labels(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): pulumi.set(self, "labels", value) - @property - @pulumi.getter(name="mountOptions") - def mount_options(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - List of string mount options - """ - return pulumi.get(self, "mount_options") - - @mount_options.setter - def mount_options(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "mount_options", value) - @property @pulumi.getter(name="poolName") def pool_name(self) -> pulumi.Input[str]: @@ -93,18 +71,6 @@ def pool_name(self) -> pulumi.Input[str]: def pool_name(self, value: pulumi.Input[str]): pulumi.set(self, "pool_name", value) - @property - @pulumi.getter(name="reclaimPolicy") - def reclaim_policy(self) -> pulumi.Input[Union[str, 'ReclaimPolicy']]: - """ - Reclaim Policy, Delete or Retain - """ - return pulumi.get(self, "reclaim_policy") - - @reclaim_policy.setter - def reclaim_policy(self, value: pulumi.Input[Union[str, 'ReclaimPolicy']]): - pulumi.set(self, "reclaim_policy", value) - @property @pulumi.getter(name="resourceGroupName") def resource_group_name(self) -> pulumi.Input[str]: @@ -117,18 +83,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter(name="volumeMode") - def volume_mode(self) -> pulumi.Input[Union[str, 'VolumeMode']]: - """ - Indicates how the volume should be attached - """ - return pulumi.get(self, "volume_mode") - - @volume_mode.setter - def volume_mode(self, value: pulumi.Input[Union[str, 'VolumeMode']]): - pulumi.set(self, "volume_mode", value) - @property @pulumi.getter(name="volumeName") def volume_name(self) -> Optional[pulumi.Input[str]]: @@ -149,26 +103,20 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, capacity_gi_b: Optional[pulumi.Input[float]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - mount_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, pool_name: Optional[pulumi.Input[str]] = None, - reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, - volume_mode: Optional[pulumi.Input[Union[str, 'VolumeMode']]] = None, volume_name: Optional[pulumi.Input[str]] = None, __props__=None): """ Concrete proxy resource types can be created by aliasing this type using a specific property type. - Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview + Azure REST API version: 2023-07-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[float] capacity_gi_b: Requested capacity in GiB :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: String KV pairs indicating labels - :param pulumi.Input[Sequence[pulumi.Input[str]]] mount_options: List of string mount options :param pulumi.Input[str] pool_name: Pool Object - :param pulumi.Input[Union[str, 'ReclaimPolicy']] reclaim_policy: Reclaim Policy, Delete or Retain :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[Union[str, 'VolumeMode']] volume_mode: Indicates how the volume should be attached :param pulumi.Input[str] volume_name: Volume Resource """ ... @@ -179,7 +127,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None): """ Concrete proxy resource types can be created by aliasing this type using a specific property type. - Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview + Azure REST API version: 2023-07-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview :param str resource_name: The name of the resource. :param VolumeArgs args: The arguments to use to populate this resource's properties. @@ -198,11 +146,8 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, capacity_gi_b: Optional[pulumi.Input[float]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - mount_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, pool_name: Optional[pulumi.Input[str]] = None, - reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, - volume_mode: Optional[pulumi.Input[Union[str, 'VolumeMode']]] = None, volume_name: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -219,27 +164,20 @@ def _internal_init(__self__, if labels is None and not opts.urn: raise TypeError("Missing required property 'labels'") __props__.__dict__["labels"] = labels - if mount_options is None and not opts.urn: - raise TypeError("Missing required property 'mount_options'") - __props__.__dict__["mount_options"] = mount_options if pool_name is None and not opts.urn: raise TypeError("Missing required property 'pool_name'") __props__.__dict__["pool_name"] = pool_name - if reclaim_policy is None and not opts.urn: - raise TypeError("Missing required property 'reclaim_policy'") - __props__.__dict__["reclaim_policy"] = reclaim_policy if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name - if volume_mode is None and not opts.urn: - raise TypeError("Missing required property 'volume_mode'") - __props__.__dict__["volume_mode"] = volume_mode __props__.__dict__["volume_name"] = volume_name __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerstorage/v20230301preview:Volume")]) + __props__.__dict__["volume_type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerstorage/v20230701preview:Volume")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Volume, __self__).__init__( 'azure-native:containerstorage:Volume', @@ -265,13 +203,12 @@ def get(resource_name: str, __props__.__dict__["capacity_gi_b"] = None __props__.__dict__["labels"] = None - __props__.__dict__["mount_options"] = None __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None - __props__.__dict__["reclaim_policy"] = None + __props__.__dict__["status"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - __props__.__dict__["volume_mode"] = None + __props__.__dict__["volume_type"] = None return Volume(resource_name, opts=opts, __props__=__props__) @property @@ -290,14 +227,6 @@ def labels(self) -> pulumi.Output[Mapping[str, str]]: """ return pulumi.get(self, "labels") - @property - @pulumi.getter(name="mountOptions") - def mount_options(self) -> pulumi.Output[Sequence[str]]: - """ - List of string mount options - """ - return pulumi.get(self, "mount_options") - @property @pulumi.getter def name(self) -> pulumi.Output[str]: @@ -315,12 +244,12 @@ def provisioning_state(self) -> pulumi.Output[str]: return pulumi.get(self, "provisioning_state") @property - @pulumi.getter(name="reclaimPolicy") - def reclaim_policy(self) -> pulumi.Output[str]: + @pulumi.getter + def status(self) -> pulumi.Output['outputs.ResourceOperationalStatusResponse']: """ - Reclaim Policy, Delete or Retain + The status of the resource. """ - return pulumi.get(self, "reclaim_policy") + return pulumi.get(self, "status") @property @pulumi.getter(name="systemData") @@ -339,10 +268,10 @@ def type(self) -> pulumi.Output[str]: return pulumi.get(self, "type") @property - @pulumi.getter(name="volumeMode") - def volume_mode(self) -> pulumi.Output[str]: + @pulumi.getter(name="volumeType") + def volume_type(self) -> pulumi.Output['outputs.VolumeTypeResponse']: """ - Indicates how the volume should be attached + Properties of the volume """ - return pulumi.get(self, "volume_mode") + return pulumi.get(self, "volume_type") diff --git a/sdk/python/pulumi_azure_native/containerstorage/volume_snapshot.py b/sdk/python/pulumi_azure_native/containerstorage/volume_snapshot.py deleted file mode 100644 index 5b46511d3d30..000000000000 --- a/sdk/python/pulumi_azure_native/containerstorage/volume_snapshot.py +++ /dev/null @@ -1,318 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from .. import _utilities -from . import outputs -from ._enums import * - -__all__ = ['VolumeSnapshotArgs', 'VolumeSnapshot'] - -@pulumi.input_type -class VolumeSnapshotArgs: - def __init__(__self__, *, - mount_options: pulumi.Input[Sequence[pulumi.Input[str]]], - pool_name: pulumi.Input[str], - reclaim_policy: pulumi.Input[Union[str, 'ReclaimPolicy']], - resource_group_name: pulumi.Input[str], - source: pulumi.Input[str], - volume_mode: pulumi.Input[Union[str, 'VolumeMode']], - volume_snapshot_name: Optional[pulumi.Input[str]] = None): - """ - The set of arguments for constructing a VolumeSnapshot resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] mount_options: List of string mount options - :param pulumi.Input[str] pool_name: Pool Object - :param pulumi.Input[Union[str, 'ReclaimPolicy']] reclaim_policy: Reclaim Policy, Delete or Retain - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[str] source: Reference to the source volume - :param pulumi.Input[Union[str, 'VolumeMode']] volume_mode: Indicates how the volumes created from the snapshot should be attached - :param pulumi.Input[str] volume_snapshot_name: Volume Snapshot Resource - """ - pulumi.set(__self__, "mount_options", mount_options) - pulumi.set(__self__, "pool_name", pool_name) - pulumi.set(__self__, "reclaim_policy", reclaim_policy) - pulumi.set(__self__, "resource_group_name", resource_group_name) - pulumi.set(__self__, "source", source) - pulumi.set(__self__, "volume_mode", volume_mode) - if volume_snapshot_name is not None: - pulumi.set(__self__, "volume_snapshot_name", volume_snapshot_name) - - @property - @pulumi.getter(name="mountOptions") - def mount_options(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - List of string mount options - """ - return pulumi.get(self, "mount_options") - - @mount_options.setter - def mount_options(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "mount_options", value) - - @property - @pulumi.getter(name="poolName") - def pool_name(self) -> pulumi.Input[str]: - """ - Pool Object - """ - return pulumi.get(self, "pool_name") - - @pool_name.setter - def pool_name(self, value: pulumi.Input[str]): - pulumi.set(self, "pool_name", value) - - @property - @pulumi.getter(name="reclaimPolicy") - def reclaim_policy(self) -> pulumi.Input[Union[str, 'ReclaimPolicy']]: - """ - Reclaim Policy, Delete or Retain - """ - return pulumi.get(self, "reclaim_policy") - - @reclaim_policy.setter - def reclaim_policy(self, value: pulumi.Input[Union[str, 'ReclaimPolicy']]): - pulumi.set(self, "reclaim_policy", value) - - @property - @pulumi.getter(name="resourceGroupName") - def resource_group_name(self) -> pulumi.Input[str]: - """ - The name of the resource group. The name is case insensitive. - """ - return pulumi.get(self, "resource_group_name") - - @resource_group_name.setter - def resource_group_name(self, value: pulumi.Input[str]): - pulumi.set(self, "resource_group_name", value) - - @property - @pulumi.getter - def source(self) -> pulumi.Input[str]: - """ - Reference to the source volume - """ - return pulumi.get(self, "source") - - @source.setter - def source(self, value: pulumi.Input[str]): - pulumi.set(self, "source", value) - - @property - @pulumi.getter(name="volumeMode") - def volume_mode(self) -> pulumi.Input[Union[str, 'VolumeMode']]: - """ - Indicates how the volumes created from the snapshot should be attached - """ - return pulumi.get(self, "volume_mode") - - @volume_mode.setter - def volume_mode(self, value: pulumi.Input[Union[str, 'VolumeMode']]): - pulumi.set(self, "volume_mode", value) - - @property - @pulumi.getter(name="volumeSnapshotName") - def volume_snapshot_name(self) -> Optional[pulumi.Input[str]]: - """ - Volume Snapshot Resource - """ - return pulumi.get(self, "volume_snapshot_name") - - @volume_snapshot_name.setter - def volume_snapshot_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "volume_snapshot_name", value) - - -class VolumeSnapshot(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - mount_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - pool_name: Optional[pulumi.Input[str]] = None, - reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - source: Optional[pulumi.Input[str]] = None, - volume_mode: Optional[pulumi.Input[Union[str, 'VolumeMode']]] = None, - volume_snapshot_name: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - Concrete proxy resource types can be created by aliasing this type using a specific property type. - Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] mount_options: List of string mount options - :param pulumi.Input[str] pool_name: Pool Object - :param pulumi.Input[Union[str, 'ReclaimPolicy']] reclaim_policy: Reclaim Policy, Delete or Retain - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[str] source: Reference to the source volume - :param pulumi.Input[Union[str, 'VolumeMode']] volume_mode: Indicates how the volumes created from the snapshot should be attached - :param pulumi.Input[str] volume_snapshot_name: Volume Snapshot Resource - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: VolumeSnapshotArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Concrete proxy resource types can be created by aliasing this type using a specific property type. - Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2023-03-01-preview - - :param str resource_name: The name of the resource. - :param VolumeSnapshotArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(VolumeSnapshotArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - mount_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - pool_name: Optional[pulumi.Input[str]] = None, - reclaim_policy: Optional[pulumi.Input[Union[str, 'ReclaimPolicy']]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - source: Optional[pulumi.Input[str]] = None, - volume_mode: Optional[pulumi.Input[Union[str, 'VolumeMode']]] = None, - volume_snapshot_name: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = VolumeSnapshotArgs.__new__(VolumeSnapshotArgs) - - if mount_options is None and not opts.urn: - raise TypeError("Missing required property 'mount_options'") - __props__.__dict__["mount_options"] = mount_options - if pool_name is None and not opts.urn: - raise TypeError("Missing required property 'pool_name'") - __props__.__dict__["pool_name"] = pool_name - if reclaim_policy is None and not opts.urn: - raise TypeError("Missing required property 'reclaim_policy'") - __props__.__dict__["reclaim_policy"] = reclaim_policy - if resource_group_name is None and not opts.urn: - raise TypeError("Missing required property 'resource_group_name'") - __props__.__dict__["resource_group_name"] = resource_group_name - if source is None and not opts.urn: - raise TypeError("Missing required property 'source'") - __props__.__dict__["source"] = source - if volume_mode is None and not opts.urn: - raise TypeError("Missing required property 'volume_mode'") - __props__.__dict__["volume_mode"] = volume_mode - __props__.__dict__["volume_snapshot_name"] = volume_snapshot_name - __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:containerstorage/v20230301preview:VolumeSnapshot")]) - opts = pulumi.ResourceOptions.merge(opts, alias_opts) - super(VolumeSnapshot, __self__).__init__( - 'azure-native:containerstorage:VolumeSnapshot', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None) -> 'VolumeSnapshot': - """ - Get an existing VolumeSnapshot resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = VolumeSnapshotArgs.__new__(VolumeSnapshotArgs) - - __props__.__dict__["mount_options"] = None - __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["reclaim_policy"] = None - __props__.__dict__["source"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - __props__.__dict__["volume_mode"] = None - return VolumeSnapshot(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="mountOptions") - def mount_options(self) -> pulumi.Output[Sequence[str]]: - """ - List of string mount options - """ - return pulumi.get(self, "mount_options") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The status of the last operation. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="reclaimPolicy") - def reclaim_policy(self) -> pulumi.Output[str]: - """ - Reclaim Policy, Delete or Retain - """ - return pulumi.get(self, "reclaim_policy") - - @property - @pulumi.getter - def source(self) -> pulumi.Output[str]: - """ - Reference to the source volume - """ - return pulumi.get(self, "source") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def type(self) -> pulumi.Output[str]: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter(name="volumeMode") - def volume_mode(self) -> pulumi.Output[str]: - """ - Indicates how the volumes created from the snapshot should be attached - """ - return pulumi.get(self, "volume_mode") - diff --git a/sdk/python/pulumi_azure_native/databox/__init__.py b/sdk/python/pulumi_azure_native/databox/__init__.py index b704f2a08fa8..54182edc1dd9 100644 --- a/sdk/python/pulumi_azure_native/databox/__init__.py +++ b/sdk/python/pulumi_azure_native/databox/__init__.py @@ -16,6 +16,9 @@ if typing.TYPE_CHECKING: import pulumi_azure_native.databox.v20221201 as __v20221201 v20221201 = __v20221201 + import pulumi_azure_native.databox.v20230301 as __v20230301 + v20230301 = __v20230301 else: v20221201 = _utilities.lazy_import('pulumi_azure_native.databox.v20221201') + v20230301 = _utilities.lazy_import('pulumi_azure_native.databox.v20230301') diff --git a/sdk/python/pulumi_azure_native/databox/job.py b/sdk/python/pulumi_azure_native/databox/job.py index 0064a275b12f..bbeeacd3dd8b 100644 --- a/sdk/python/pulumi_azure_native/databox/job.py +++ b/sdk/python/pulumi_azure_native/databox/job.py @@ -290,7 +290,7 @@ def _internal_init(__self__, __props__.__dict__["status"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:databox/v20180101:Job"), pulumi.Alias(type_="azure-native:databox/v20190901:Job"), pulumi.Alias(type_="azure-native:databox/v20200401:Job"), pulumi.Alias(type_="azure-native:databox/v20201101:Job"), pulumi.Alias(type_="azure-native:databox/v20210301:Job"), pulumi.Alias(type_="azure-native:databox/v20210501:Job"), pulumi.Alias(type_="azure-native:databox/v20210801preview:Job"), pulumi.Alias(type_="azure-native:databox/v20211201:Job"), pulumi.Alias(type_="azure-native:databox/v20220201:Job"), pulumi.Alias(type_="azure-native:databox/v20220901:Job"), pulumi.Alias(type_="azure-native:databox/v20221001:Job"), pulumi.Alias(type_="azure-native:databox/v20221201:Job")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:databox/v20180101:Job"), pulumi.Alias(type_="azure-native:databox/v20190901:Job"), pulumi.Alias(type_="azure-native:databox/v20200401:Job"), pulumi.Alias(type_="azure-native:databox/v20201101:Job"), pulumi.Alias(type_="azure-native:databox/v20210301:Job"), pulumi.Alias(type_="azure-native:databox/v20210501:Job"), pulumi.Alias(type_="azure-native:databox/v20210801preview:Job"), pulumi.Alias(type_="azure-native:databox/v20211201:Job"), pulumi.Alias(type_="azure-native:databox/v20220201:Job"), pulumi.Alias(type_="azure-native:databox/v20220901:Job"), pulumi.Alias(type_="azure-native:databox/v20221001:Job"), pulumi.Alias(type_="azure-native:databox/v20221201:Job"), pulumi.Alias(type_="azure-native:databox/v20230301:Job")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Job, __self__).__init__( 'azure-native:databox:Job', diff --git a/sdk/python/pulumi_azure_native/databox/v20221201/job.py b/sdk/python/pulumi_azure_native/databox/v20221201/job.py index df4590d2b1d5..5fccd9145245 100644 --- a/sdk/python/pulumi_azure_native/databox/v20221201/job.py +++ b/sdk/python/pulumi_azure_native/databox/v20221201/job.py @@ -288,7 +288,7 @@ def _internal_init(__self__, __props__.__dict__["status"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:databox:Job"), pulumi.Alias(type_="azure-native:databox/v20180101:Job"), pulumi.Alias(type_="azure-native:databox/v20190901:Job"), pulumi.Alias(type_="azure-native:databox/v20200401:Job"), pulumi.Alias(type_="azure-native:databox/v20201101:Job"), pulumi.Alias(type_="azure-native:databox/v20210301:Job"), pulumi.Alias(type_="azure-native:databox/v20210501:Job"), pulumi.Alias(type_="azure-native:databox/v20210801preview:Job"), pulumi.Alias(type_="azure-native:databox/v20211201:Job"), pulumi.Alias(type_="azure-native:databox/v20220201:Job"), pulumi.Alias(type_="azure-native:databox/v20220901:Job"), pulumi.Alias(type_="azure-native:databox/v20221001:Job")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:databox:Job"), pulumi.Alias(type_="azure-native:databox/v20180101:Job"), pulumi.Alias(type_="azure-native:databox/v20190901:Job"), pulumi.Alias(type_="azure-native:databox/v20200401:Job"), pulumi.Alias(type_="azure-native:databox/v20201101:Job"), pulumi.Alias(type_="azure-native:databox/v20210301:Job"), pulumi.Alias(type_="azure-native:databox/v20210501:Job"), pulumi.Alias(type_="azure-native:databox/v20210801preview:Job"), pulumi.Alias(type_="azure-native:databox/v20211201:Job"), pulumi.Alias(type_="azure-native:databox/v20220201:Job"), pulumi.Alias(type_="azure-native:databox/v20220901:Job"), pulumi.Alias(type_="azure-native:databox/v20221001:Job"), pulumi.Alias(type_="azure-native:databox/v20230301:Job")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Job, __self__).__init__( 'azure-native:databox/v20221201:Job', diff --git a/sdk/python/pulumi_azure_native/databox/v20230301/__init__.py b/sdk/python/pulumi_azure_native/databox/v20230301/__init__.py new file mode 100644 index 000000000000..be5ce5685015 --- /dev/null +++ b/sdk/python/pulumi_azure_native/databox/v20230301/__init__.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .get_job import * +from .job import * +from .list_job_credentials import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/databox/v20230301/_enums.py b/sdk/python/pulumi_azure_native/databox/v20230301/_enums.py new file mode 100644 index 000000000000..ceba9c7fe991 --- /dev/null +++ b/sdk/python/pulumi_azure_native/databox/v20230301/_enums.py @@ -0,0 +1,270 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'AddressType', + 'ClassDiscriminator', + 'DataAccountType', + 'DoubleEncryption', + 'FilterFileType', + 'HardwareEncryption', + 'JobDeliveryType', + 'KekType', + 'LogCollectionLevel', + 'NotificationStageName', + 'SkuName', + 'StorageAccountAccessTier', + 'TransferConfigurationType', + 'TransferType', + 'TransportShipmentTypes', +] + + +class AddressType(str, Enum): + """ + Type of address. + """ + NONE = "None" + """ + Address type not known. + """ + RESIDENTIAL = "Residential" + """ + Residential Address. + """ + COMMERCIAL = "Commercial" + """ + Commercial Address. + """ + + +class ClassDiscriminator(str, Enum): + """ + Indicates the type of job details. + """ + DATA_BOX = "DataBox" + """ + Data Box orders. + """ + DATA_BOX_DISK = "DataBoxDisk" + """ + Data Box Disk orders. + """ + DATA_BOX_HEAVY = "DataBoxHeavy" + """ + Data Box Heavy orders. + """ + DATA_BOX_CUSTOMER_DISK = "DataBoxCustomerDisk" + """ + Data Box Customer Disk orders. + """ + + +class DataAccountType(str, Enum): + """ + Type of the account of data. + """ + STORAGE_ACCOUNT = "StorageAccount" + """ + Storage Accounts . + """ + MANAGED_DISK = "ManagedDisk" + """ + Azure Managed disk storage. + """ + + +class DoubleEncryption(str, Enum): + """ + Defines secondary layer of software-based encryption enablement. + """ + ENABLED = "Enabled" + """ + Software-based encryption is enabled. + """ + DISABLED = "Disabled" + """ + Software-based encryption is disabled. + """ + + +class FilterFileType(str, Enum): + """ + Type of the filter file. + """ + AZURE_BLOB = "AzureBlob" + """ + Filter file is of the type AzureBlob. + """ + AZURE_FILE = "AzureFile" + """ + Filter file is of the type AzureFiles. + """ + + +class HardwareEncryption(str, Enum): + """ + Defines Hardware level encryption (Only for disk) + """ + ENABLED = "Enabled" + """ + Hardware-based encryption is enabled. + """ + DISABLED = "Disabled" + """ + Hardware-based encryption is enabled. + """ + + +class JobDeliveryType(str, Enum): + """ + Delivery type of Job. + """ + NON_SCHEDULED = "NonScheduled" + """ + Non Scheduled job. + """ + SCHEDULED = "Scheduled" + """ + Scheduled job. + """ + + +class KekType(str, Enum): + """ + Type of encryption key used for key encryption. + """ + MICROSOFT_MANAGED = "MicrosoftManaged" + """ + Key encryption key is managed by Microsoft. + """ + CUSTOMER_MANAGED = "CustomerManaged" + """ + Key encryption key is managed by the Customer. + """ + + +class LogCollectionLevel(str, Enum): + """ + Level of the logs to be collected. + """ + ERROR = "Error" + """ + Only Errors will be collected in the logs. + """ + VERBOSE = "Verbose" + """ + Verbose logging (includes Errors, CRC, size information and others). + """ + + +class NotificationStageName(str, Enum): + """ + Name of the stage. + """ + DEVICE_PREPARED = "DevicePrepared" + """ + Notification at device prepared stage. + """ + DISPATCHED = "Dispatched" + """ + Notification at device dispatched stage. + """ + DELIVERED = "Delivered" + """ + Notification at device delivered stage. + """ + PICKED_UP = "PickedUp" + """ + Notification at device picked up from user stage. + """ + AT_AZURE_DC = "AtAzureDC" + """ + Notification at device received at Azure datacenter stage. + """ + DATA_COPY = "DataCopy" + """ + Notification at data copy started stage. + """ + CREATED = "Created" + """ + Notification at job created stage. + """ + SHIPPED_TO_CUSTOMER = "ShippedToCustomer" + """ + Notification at shipped devices to customer stage. + """ + + +class SkuName(str, Enum): + """ + The sku name. + """ + DATA_BOX = "DataBox" + """ + Data Box. + """ + DATA_BOX_DISK = "DataBoxDisk" + """ + Data Box Disk. + """ + DATA_BOX_HEAVY = "DataBoxHeavy" + """ + Data Box Heavy. + """ + DATA_BOX_CUSTOMER_DISK = "DataBoxCustomerDisk" + """ + Data Box Customer Disk. + """ + + +class StorageAccountAccessTier(str, Enum): + ARCHIVE = "Archive" + """ + Archive Access Tier shares requested by the customer. + """ + + +class TransferConfigurationType(str, Enum): + """ + Type of the configuration for transfer. + """ + TRANSFER_ALL = "TransferAll" + """ + Transfer all the data. + """ + TRANSFER_USING_FILTER = "TransferUsingFilter" + """ + Transfer using filter. + """ + + +class TransferType(str, Enum): + """ + Type of the data transfer. + """ + IMPORT_TO_AZURE = "ImportToAzure" + """ + Import data to azure. + """ + EXPORT_FROM_AZURE = "ExportFromAzure" + """ + Export data from azure. + """ + + +class TransportShipmentTypes(str, Enum): + """ + Indicates Shipment Logistics type that the customer preferred. + """ + CUSTOMER_MANAGED = "CustomerManaged" + """ + Shipment Logistics is handled by the customer. + """ + MICROSOFT_MANAGED = "MicrosoftManaged" + """ + Shipment Logistics is handled by Microsoft. + """ diff --git a/sdk/python/pulumi_azure_native/databox/v20230301/_inputs.py b/sdk/python/pulumi_azure_native/databox/v20230301/_inputs.py new file mode 100644 index 000000000000..b006034cc107 --- /dev/null +++ b/sdk/python/pulumi_azure_native/databox/v20230301/_inputs.py @@ -0,0 +1,2350 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = [ + 'AzureFileFilterDetailsArgs', + 'BlobFilterDetailsArgs', + 'ContactDetailsArgs', + 'ContactInfoArgs', + 'DataBoxCustomerDiskJobDetailsArgs', + 'DataBoxDiskJobDetailsArgs', + 'DataBoxHeavyJobDetailsArgs', + 'DataBoxJobDetailsArgs', + 'DataExportDetailsArgs', + 'DataImportDetailsArgs', + 'EncryptionPreferencesArgs', + 'FilterFileDetailsArgs', + 'IdentityPropertiesArgs', + 'ImportDiskDetailsArgs', + 'JobDeliveryInfoArgs', + 'KeyEncryptionKeyArgs', + 'ManagedDiskDetailsArgs', + 'NotificationPreferenceArgs', + 'PackageCarrierDetailsArgs', + 'PreferencesArgs', + 'ResourceIdentityArgs', + 'ReverseShippingDetailsArgs', + 'ShippingAddressArgs', + 'SkuArgs', + 'StorageAccountDetailsArgs', + 'TransferAllDetailsArgs', + 'TransferConfigurationTransferAllDetailsArgs', + 'TransferConfigurationTransferFilterDetailsArgs', + 'TransferConfigurationArgs', + 'TransferFilterDetailsArgs', + 'TransportPreferencesArgs', + 'UserAssignedPropertiesArgs', +] + +@pulumi.input_type +class AzureFileFilterDetailsArgs: + def __init__(__self__, *, + file_path_list: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + file_prefix_list: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + file_share_list: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Filter details to transfer Azure files + :param pulumi.Input[Sequence[pulumi.Input[str]]] file_path_list: List of full path of the files to be transferred. + :param pulumi.Input[Sequence[pulumi.Input[str]]] file_prefix_list: Prefix list of the Azure files to be transferred. + :param pulumi.Input[Sequence[pulumi.Input[str]]] file_share_list: List of file shares to be transferred. + """ + if file_path_list is not None: + pulumi.set(__self__, "file_path_list", file_path_list) + if file_prefix_list is not None: + pulumi.set(__self__, "file_prefix_list", file_prefix_list) + if file_share_list is not None: + pulumi.set(__self__, "file_share_list", file_share_list) + + @property + @pulumi.getter(name="filePathList") + def file_path_list(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of full path of the files to be transferred. + """ + return pulumi.get(self, "file_path_list") + + @file_path_list.setter + def file_path_list(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "file_path_list", value) + + @property + @pulumi.getter(name="filePrefixList") + def file_prefix_list(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Prefix list of the Azure files to be transferred. + """ + return pulumi.get(self, "file_prefix_list") + + @file_prefix_list.setter + def file_prefix_list(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "file_prefix_list", value) + + @property + @pulumi.getter(name="fileShareList") + def file_share_list(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of file shares to be transferred. + """ + return pulumi.get(self, "file_share_list") + + @file_share_list.setter + def file_share_list(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "file_share_list", value) + + +@pulumi.input_type +class BlobFilterDetailsArgs: + def __init__(__self__, *, + blob_path_list: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + blob_prefix_list: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + container_list: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Filter details to transfer Azure Blobs + :param pulumi.Input[Sequence[pulumi.Input[str]]] blob_path_list: List of full path of the blobs to be transferred. + :param pulumi.Input[Sequence[pulumi.Input[str]]] blob_prefix_list: Prefix list of the Azure blobs to be transferred. + :param pulumi.Input[Sequence[pulumi.Input[str]]] container_list: List of blob containers to be transferred. + """ + if blob_path_list is not None: + pulumi.set(__self__, "blob_path_list", blob_path_list) + if blob_prefix_list is not None: + pulumi.set(__self__, "blob_prefix_list", blob_prefix_list) + if container_list is not None: + pulumi.set(__self__, "container_list", container_list) + + @property + @pulumi.getter(name="blobPathList") + def blob_path_list(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of full path of the blobs to be transferred. + """ + return pulumi.get(self, "blob_path_list") + + @blob_path_list.setter + def blob_path_list(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "blob_path_list", value) + + @property + @pulumi.getter(name="blobPrefixList") + def blob_prefix_list(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Prefix list of the Azure blobs to be transferred. + """ + return pulumi.get(self, "blob_prefix_list") + + @blob_prefix_list.setter + def blob_prefix_list(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "blob_prefix_list", value) + + @property + @pulumi.getter(name="containerList") + def container_list(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of blob containers to be transferred. + """ + return pulumi.get(self, "container_list") + + @container_list.setter + def container_list(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "container_list", value) + + +@pulumi.input_type +class ContactDetailsArgs: + def __init__(__self__, *, + contact_name: pulumi.Input[str], + email_list: pulumi.Input[Sequence[pulumi.Input[str]]], + phone: pulumi.Input[str], + mobile: Optional[pulumi.Input[str]] = None, + notification_preference: Optional[pulumi.Input[Sequence[pulumi.Input['NotificationPreferenceArgs']]]] = None, + phone_extension: Optional[pulumi.Input[str]] = None): + """ + Contact Details. + :param pulumi.Input[str] contact_name: Contact name of the person. + :param pulumi.Input[Sequence[pulumi.Input[str]]] email_list: List of Email-ids to be notified about job progress. + :param pulumi.Input[str] phone: Phone number of the contact person. + :param pulumi.Input[str] mobile: Mobile number of the contact person. + :param pulumi.Input[Sequence[pulumi.Input['NotificationPreferenceArgs']]] notification_preference: Notification preference for a job stage. + :param pulumi.Input[str] phone_extension: Phone extension number of the contact person. + """ + pulumi.set(__self__, "contact_name", contact_name) + pulumi.set(__self__, "email_list", email_list) + pulumi.set(__self__, "phone", phone) + if mobile is not None: + pulumi.set(__self__, "mobile", mobile) + if notification_preference is not None: + pulumi.set(__self__, "notification_preference", notification_preference) + if phone_extension is not None: + pulumi.set(__self__, "phone_extension", phone_extension) + + @property + @pulumi.getter(name="contactName") + def contact_name(self) -> pulumi.Input[str]: + """ + Contact name of the person. + """ + return pulumi.get(self, "contact_name") + + @contact_name.setter + def contact_name(self, value: pulumi.Input[str]): + pulumi.set(self, "contact_name", value) + + @property + @pulumi.getter(name="emailList") + def email_list(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of Email-ids to be notified about job progress. + """ + return pulumi.get(self, "email_list") + + @email_list.setter + def email_list(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "email_list", value) + + @property + @pulumi.getter + def phone(self) -> pulumi.Input[str]: + """ + Phone number of the contact person. + """ + return pulumi.get(self, "phone") + + @phone.setter + def phone(self, value: pulumi.Input[str]): + pulumi.set(self, "phone", value) + + @property + @pulumi.getter + def mobile(self) -> Optional[pulumi.Input[str]]: + """ + Mobile number of the contact person. + """ + return pulumi.get(self, "mobile") + + @mobile.setter + def mobile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mobile", value) + + @property + @pulumi.getter(name="notificationPreference") + def notification_preference(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NotificationPreferenceArgs']]]]: + """ + Notification preference for a job stage. + """ + return pulumi.get(self, "notification_preference") + + @notification_preference.setter + def notification_preference(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NotificationPreferenceArgs']]]]): + pulumi.set(self, "notification_preference", value) + + @property + @pulumi.getter(name="phoneExtension") + def phone_extension(self) -> Optional[pulumi.Input[str]]: + """ + Phone extension number of the contact person. + """ + return pulumi.get(self, "phone_extension") + + @phone_extension.setter + def phone_extension(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone_extension", value) + + +@pulumi.input_type +class ContactInfoArgs: + def __init__(__self__, *, + contact_name: pulumi.Input[str], + phone: pulumi.Input[str], + mobile: Optional[pulumi.Input[str]] = None, + phone_extension: Optional[pulumi.Input[str]] = None): + """ + Contact Info. + :param pulumi.Input[str] contact_name: Contact name of the person. + :param pulumi.Input[str] phone: Phone number of the contact person. + :param pulumi.Input[str] mobile: Mobile number of the contact person. + :param pulumi.Input[str] phone_extension: Phone extension number of the contact person. + """ + pulumi.set(__self__, "contact_name", contact_name) + pulumi.set(__self__, "phone", phone) + if mobile is not None: + pulumi.set(__self__, "mobile", mobile) + if phone_extension is not None: + pulumi.set(__self__, "phone_extension", phone_extension) + + @property + @pulumi.getter(name="contactName") + def contact_name(self) -> pulumi.Input[str]: + """ + Contact name of the person. + """ + return pulumi.get(self, "contact_name") + + @contact_name.setter + def contact_name(self, value: pulumi.Input[str]): + pulumi.set(self, "contact_name", value) + + @property + @pulumi.getter + def phone(self) -> pulumi.Input[str]: + """ + Phone number of the contact person. + """ + return pulumi.get(self, "phone") + + @phone.setter + def phone(self, value: pulumi.Input[str]): + pulumi.set(self, "phone", value) + + @property + @pulumi.getter + def mobile(self) -> Optional[pulumi.Input[str]]: + """ + Mobile number of the contact person. + """ + return pulumi.get(self, "mobile") + + @mobile.setter + def mobile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mobile", value) + + @property + @pulumi.getter(name="phoneExtension") + def phone_extension(self) -> Optional[pulumi.Input[str]]: + """ + Phone extension number of the contact person. + """ + return pulumi.get(self, "phone_extension") + + @phone_extension.setter + def phone_extension(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phone_extension", value) + + +@pulumi.input_type +class DataBoxCustomerDiskJobDetailsArgs: + def __init__(__self__, *, + contact_details: pulumi.Input['ContactDetailsArgs'], + job_details_type: pulumi.Input[str], + return_to_customer_package_details: pulumi.Input['PackageCarrierDetailsArgs'], + data_export_details: Optional[pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]]] = None, + data_import_details: Optional[pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]]] = None, + enable_manifest_backup: Optional[pulumi.Input[bool]] = None, + expected_data_size_in_tera_bytes: Optional[pulumi.Input[int]] = None, + import_disk_details_collection: Optional[pulumi.Input[Mapping[str, pulumi.Input['ImportDiskDetailsArgs']]]] = None, + key_encryption_key: Optional[pulumi.Input['KeyEncryptionKeyArgs']] = None, + preferences: Optional[pulumi.Input['PreferencesArgs']] = None, + reverse_shipping_details: Optional[pulumi.Input['ReverseShippingDetailsArgs']] = None, + shipping_address: Optional[pulumi.Input['ShippingAddressArgs']] = None): + """ + Customer disk job details. + :param pulumi.Input['ContactDetailsArgs'] contact_details: Contact details for notification and shipping. + :param pulumi.Input[str] job_details_type: Indicates the type of job details. + Expected value is 'DataBoxCustomerDisk'. + :param pulumi.Input['PackageCarrierDetailsArgs'] return_to_customer_package_details: Return package shipping details. + :param pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]] data_export_details: Details of the data to be exported from azure. + :param pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]] data_import_details: Details of the data to be imported into azure. + :param pulumi.Input[bool] enable_manifest_backup: Flag to indicate if disk manifest should be backed-up in the Storage Account. + :param pulumi.Input[int] expected_data_size_in_tera_bytes: The expected size of the data, which needs to be transferred in this job, in terabytes. + :param pulumi.Input[Mapping[str, pulumi.Input['ImportDiskDetailsArgs']]] import_disk_details_collection: Contains the map of disk serial number to the disk details for import jobs. + :param pulumi.Input['KeyEncryptionKeyArgs'] key_encryption_key: Details about which key encryption type is being used. + :param pulumi.Input['PreferencesArgs'] preferences: Preferences for the order. + :param pulumi.Input['ReverseShippingDetailsArgs'] reverse_shipping_details: Optional Reverse Shipping details for order. + :param pulumi.Input['ShippingAddressArgs'] shipping_address: Shipping address of the customer. + """ + pulumi.set(__self__, "contact_details", contact_details) + pulumi.set(__self__, "job_details_type", 'DataBoxCustomerDisk') + pulumi.set(__self__, "return_to_customer_package_details", return_to_customer_package_details) + if data_export_details is not None: + pulumi.set(__self__, "data_export_details", data_export_details) + if data_import_details is not None: + pulumi.set(__self__, "data_import_details", data_import_details) + if enable_manifest_backup is None: + enable_manifest_backup = False + if enable_manifest_backup is not None: + pulumi.set(__self__, "enable_manifest_backup", enable_manifest_backup) + if expected_data_size_in_tera_bytes is not None: + pulumi.set(__self__, "expected_data_size_in_tera_bytes", expected_data_size_in_tera_bytes) + if import_disk_details_collection is not None: + pulumi.set(__self__, "import_disk_details_collection", import_disk_details_collection) + if key_encryption_key is not None: + pulumi.set(__self__, "key_encryption_key", key_encryption_key) + if preferences is not None: + pulumi.set(__self__, "preferences", preferences) + if reverse_shipping_details is not None: + pulumi.set(__self__, "reverse_shipping_details", reverse_shipping_details) + if shipping_address is not None: + pulumi.set(__self__, "shipping_address", shipping_address) + + @property + @pulumi.getter(name="contactDetails") + def contact_details(self) -> pulumi.Input['ContactDetailsArgs']: + """ + Contact details for notification and shipping. + """ + return pulumi.get(self, "contact_details") + + @contact_details.setter + def contact_details(self, value: pulumi.Input['ContactDetailsArgs']): + pulumi.set(self, "contact_details", value) + + @property + @pulumi.getter(name="jobDetailsType") + def job_details_type(self) -> pulumi.Input[str]: + """ + Indicates the type of job details. + Expected value is 'DataBoxCustomerDisk'. + """ + return pulumi.get(self, "job_details_type") + + @job_details_type.setter + def job_details_type(self, value: pulumi.Input[str]): + pulumi.set(self, "job_details_type", value) + + @property + @pulumi.getter(name="returnToCustomerPackageDetails") + def return_to_customer_package_details(self) -> pulumi.Input['PackageCarrierDetailsArgs']: + """ + Return package shipping details. + """ + return pulumi.get(self, "return_to_customer_package_details") + + @return_to_customer_package_details.setter + def return_to_customer_package_details(self, value: pulumi.Input['PackageCarrierDetailsArgs']): + pulumi.set(self, "return_to_customer_package_details", value) + + @property + @pulumi.getter(name="dataExportDetails") + def data_export_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]]]: + """ + Details of the data to be exported from azure. + """ + return pulumi.get(self, "data_export_details") + + @data_export_details.setter + def data_export_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]]]): + pulumi.set(self, "data_export_details", value) + + @property + @pulumi.getter(name="dataImportDetails") + def data_import_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]]]: + """ + Details of the data to be imported into azure. + """ + return pulumi.get(self, "data_import_details") + + @data_import_details.setter + def data_import_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]]]): + pulumi.set(self, "data_import_details", value) + + @property + @pulumi.getter(name="enableManifestBackup") + def enable_manifest_backup(self) -> Optional[pulumi.Input[bool]]: + """ + Flag to indicate if disk manifest should be backed-up in the Storage Account. + """ + return pulumi.get(self, "enable_manifest_backup") + + @enable_manifest_backup.setter + def enable_manifest_backup(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_manifest_backup", value) + + @property + @pulumi.getter(name="expectedDataSizeInTeraBytes") + def expected_data_size_in_tera_bytes(self) -> Optional[pulumi.Input[int]]: + """ + The expected size of the data, which needs to be transferred in this job, in terabytes. + """ + return pulumi.get(self, "expected_data_size_in_tera_bytes") + + @expected_data_size_in_tera_bytes.setter + def expected_data_size_in_tera_bytes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "expected_data_size_in_tera_bytes", value) + + @property + @pulumi.getter(name="importDiskDetailsCollection") + def import_disk_details_collection(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ImportDiskDetailsArgs']]]]: + """ + Contains the map of disk serial number to the disk details for import jobs. + """ + return pulumi.get(self, "import_disk_details_collection") + + @import_disk_details_collection.setter + def import_disk_details_collection(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ImportDiskDetailsArgs']]]]): + pulumi.set(self, "import_disk_details_collection", value) + + @property + @pulumi.getter(name="keyEncryptionKey") + def key_encryption_key(self) -> Optional[pulumi.Input['KeyEncryptionKeyArgs']]: + """ + Details about which key encryption type is being used. + """ + return pulumi.get(self, "key_encryption_key") + + @key_encryption_key.setter + def key_encryption_key(self, value: Optional[pulumi.Input['KeyEncryptionKeyArgs']]): + pulumi.set(self, "key_encryption_key", value) + + @property + @pulumi.getter + def preferences(self) -> Optional[pulumi.Input['PreferencesArgs']]: + """ + Preferences for the order. + """ + return pulumi.get(self, "preferences") + + @preferences.setter + def preferences(self, value: Optional[pulumi.Input['PreferencesArgs']]): + pulumi.set(self, "preferences", value) + + @property + @pulumi.getter(name="reverseShippingDetails") + def reverse_shipping_details(self) -> Optional[pulumi.Input['ReverseShippingDetailsArgs']]: + """ + Optional Reverse Shipping details for order. + """ + return pulumi.get(self, "reverse_shipping_details") + + @reverse_shipping_details.setter + def reverse_shipping_details(self, value: Optional[pulumi.Input['ReverseShippingDetailsArgs']]): + pulumi.set(self, "reverse_shipping_details", value) + + @property + @pulumi.getter(name="shippingAddress") + def shipping_address(self) -> Optional[pulumi.Input['ShippingAddressArgs']]: + """ + Shipping address of the customer. + """ + return pulumi.get(self, "shipping_address") + + @shipping_address.setter + def shipping_address(self, value: Optional[pulumi.Input['ShippingAddressArgs']]): + pulumi.set(self, "shipping_address", value) + + +@pulumi.input_type +class DataBoxDiskJobDetailsArgs: + def __init__(__self__, *, + contact_details: pulumi.Input['ContactDetailsArgs'], + job_details_type: pulumi.Input[str], + data_export_details: Optional[pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]]] = None, + data_import_details: Optional[pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]]] = None, + expected_data_size_in_tera_bytes: Optional[pulumi.Input[int]] = None, + key_encryption_key: Optional[pulumi.Input['KeyEncryptionKeyArgs']] = None, + passkey: Optional[pulumi.Input[str]] = None, + preferences: Optional[pulumi.Input['PreferencesArgs']] = None, + preferred_disks: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None, + reverse_shipping_details: Optional[pulumi.Input['ReverseShippingDetailsArgs']] = None, + shipping_address: Optional[pulumi.Input['ShippingAddressArgs']] = None): + """ + DataBox Disk Job Details. + :param pulumi.Input['ContactDetailsArgs'] contact_details: Contact details for notification and shipping. + :param pulumi.Input[str] job_details_type: Indicates the type of job details. + Expected value is 'DataBoxDisk'. + :param pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]] data_export_details: Details of the data to be exported from azure. + :param pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]] data_import_details: Details of the data to be imported into azure. + :param pulumi.Input[int] expected_data_size_in_tera_bytes: The expected size of the data, which needs to be transferred in this job, in terabytes. + :param pulumi.Input['KeyEncryptionKeyArgs'] key_encryption_key: Details about which key encryption type is being used. + :param pulumi.Input[str] passkey: User entered passkey for DataBox Disk job. + :param pulumi.Input['PreferencesArgs'] preferences: Preferences for the order. + :param pulumi.Input[Mapping[str, pulumi.Input[int]]] preferred_disks: User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. + :param pulumi.Input['ReverseShippingDetailsArgs'] reverse_shipping_details: Optional Reverse Shipping details for order. + :param pulumi.Input['ShippingAddressArgs'] shipping_address: Shipping address of the customer. + """ + pulumi.set(__self__, "contact_details", contact_details) + pulumi.set(__self__, "job_details_type", 'DataBoxDisk') + if data_export_details is not None: + pulumi.set(__self__, "data_export_details", data_export_details) + if data_import_details is not None: + pulumi.set(__self__, "data_import_details", data_import_details) + if expected_data_size_in_tera_bytes is not None: + pulumi.set(__self__, "expected_data_size_in_tera_bytes", expected_data_size_in_tera_bytes) + if key_encryption_key is not None: + pulumi.set(__self__, "key_encryption_key", key_encryption_key) + if passkey is not None: + pulumi.set(__self__, "passkey", passkey) + if preferences is not None: + pulumi.set(__self__, "preferences", preferences) + if preferred_disks is not None: + pulumi.set(__self__, "preferred_disks", preferred_disks) + if reverse_shipping_details is not None: + pulumi.set(__self__, "reverse_shipping_details", reverse_shipping_details) + if shipping_address is not None: + pulumi.set(__self__, "shipping_address", shipping_address) + + @property + @pulumi.getter(name="contactDetails") + def contact_details(self) -> pulumi.Input['ContactDetailsArgs']: + """ + Contact details for notification and shipping. + """ + return pulumi.get(self, "contact_details") + + @contact_details.setter + def contact_details(self, value: pulumi.Input['ContactDetailsArgs']): + pulumi.set(self, "contact_details", value) + + @property + @pulumi.getter(name="jobDetailsType") + def job_details_type(self) -> pulumi.Input[str]: + """ + Indicates the type of job details. + Expected value is 'DataBoxDisk'. + """ + return pulumi.get(self, "job_details_type") + + @job_details_type.setter + def job_details_type(self, value: pulumi.Input[str]): + pulumi.set(self, "job_details_type", value) + + @property + @pulumi.getter(name="dataExportDetails") + def data_export_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]]]: + """ + Details of the data to be exported from azure. + """ + return pulumi.get(self, "data_export_details") + + @data_export_details.setter + def data_export_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]]]): + pulumi.set(self, "data_export_details", value) + + @property + @pulumi.getter(name="dataImportDetails") + def data_import_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]]]: + """ + Details of the data to be imported into azure. + """ + return pulumi.get(self, "data_import_details") + + @data_import_details.setter + def data_import_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]]]): + pulumi.set(self, "data_import_details", value) + + @property + @pulumi.getter(name="expectedDataSizeInTeraBytes") + def expected_data_size_in_tera_bytes(self) -> Optional[pulumi.Input[int]]: + """ + The expected size of the data, which needs to be transferred in this job, in terabytes. + """ + return pulumi.get(self, "expected_data_size_in_tera_bytes") + + @expected_data_size_in_tera_bytes.setter + def expected_data_size_in_tera_bytes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "expected_data_size_in_tera_bytes", value) + + @property + @pulumi.getter(name="keyEncryptionKey") + def key_encryption_key(self) -> Optional[pulumi.Input['KeyEncryptionKeyArgs']]: + """ + Details about which key encryption type is being used. + """ + return pulumi.get(self, "key_encryption_key") + + @key_encryption_key.setter + def key_encryption_key(self, value: Optional[pulumi.Input['KeyEncryptionKeyArgs']]): + pulumi.set(self, "key_encryption_key", value) + + @property + @pulumi.getter + def passkey(self) -> Optional[pulumi.Input[str]]: + """ + User entered passkey for DataBox Disk job. + """ + return pulumi.get(self, "passkey") + + @passkey.setter + def passkey(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "passkey", value) + + @property + @pulumi.getter + def preferences(self) -> Optional[pulumi.Input['PreferencesArgs']]: + """ + Preferences for the order. + """ + return pulumi.get(self, "preferences") + + @preferences.setter + def preferences(self, value: Optional[pulumi.Input['PreferencesArgs']]): + pulumi.set(self, "preferences", value) + + @property + @pulumi.getter(name="preferredDisks") + def preferred_disks(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]]: + """ + User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. + """ + return pulumi.get(self, "preferred_disks") + + @preferred_disks.setter + def preferred_disks(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]]): + pulumi.set(self, "preferred_disks", value) + + @property + @pulumi.getter(name="reverseShippingDetails") + def reverse_shipping_details(self) -> Optional[pulumi.Input['ReverseShippingDetailsArgs']]: + """ + Optional Reverse Shipping details for order. + """ + return pulumi.get(self, "reverse_shipping_details") + + @reverse_shipping_details.setter + def reverse_shipping_details(self, value: Optional[pulumi.Input['ReverseShippingDetailsArgs']]): + pulumi.set(self, "reverse_shipping_details", value) + + @property + @pulumi.getter(name="shippingAddress") + def shipping_address(self) -> Optional[pulumi.Input['ShippingAddressArgs']]: + """ + Shipping address of the customer. + """ + return pulumi.get(self, "shipping_address") + + @shipping_address.setter + def shipping_address(self, value: Optional[pulumi.Input['ShippingAddressArgs']]): + pulumi.set(self, "shipping_address", value) + + +@pulumi.input_type +class DataBoxHeavyJobDetailsArgs: + def __init__(__self__, *, + contact_details: pulumi.Input['ContactDetailsArgs'], + job_details_type: pulumi.Input[str], + data_export_details: Optional[pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]]] = None, + data_import_details: Optional[pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]]] = None, + device_password: Optional[pulumi.Input[str]] = None, + expected_data_size_in_tera_bytes: Optional[pulumi.Input[int]] = None, + key_encryption_key: Optional[pulumi.Input['KeyEncryptionKeyArgs']] = None, + preferences: Optional[pulumi.Input['PreferencesArgs']] = None, + reverse_shipping_details: Optional[pulumi.Input['ReverseShippingDetailsArgs']] = None, + shipping_address: Optional[pulumi.Input['ShippingAddressArgs']] = None): + """ + Databox Heavy Device Job Details + :param pulumi.Input['ContactDetailsArgs'] contact_details: Contact details for notification and shipping. + :param pulumi.Input[str] job_details_type: Indicates the type of job details. + Expected value is 'DataBoxHeavy'. + :param pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]] data_export_details: Details of the data to be exported from azure. + :param pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]] data_import_details: Details of the data to be imported into azure. + :param pulumi.Input[str] device_password: Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+ + :param pulumi.Input[int] expected_data_size_in_tera_bytes: The expected size of the data, which needs to be transferred in this job, in terabytes. + :param pulumi.Input['KeyEncryptionKeyArgs'] key_encryption_key: Details about which key encryption type is being used. + :param pulumi.Input['PreferencesArgs'] preferences: Preferences for the order. + :param pulumi.Input['ReverseShippingDetailsArgs'] reverse_shipping_details: Optional Reverse Shipping details for order. + :param pulumi.Input['ShippingAddressArgs'] shipping_address: Shipping address of the customer. + """ + pulumi.set(__self__, "contact_details", contact_details) + pulumi.set(__self__, "job_details_type", 'DataBoxHeavy') + if data_export_details is not None: + pulumi.set(__self__, "data_export_details", data_export_details) + if data_import_details is not None: + pulumi.set(__self__, "data_import_details", data_import_details) + if device_password is not None: + pulumi.set(__self__, "device_password", device_password) + if expected_data_size_in_tera_bytes is not None: + pulumi.set(__self__, "expected_data_size_in_tera_bytes", expected_data_size_in_tera_bytes) + if key_encryption_key is not None: + pulumi.set(__self__, "key_encryption_key", key_encryption_key) + if preferences is not None: + pulumi.set(__self__, "preferences", preferences) + if reverse_shipping_details is not None: + pulumi.set(__self__, "reverse_shipping_details", reverse_shipping_details) + if shipping_address is not None: + pulumi.set(__self__, "shipping_address", shipping_address) + + @property + @pulumi.getter(name="contactDetails") + def contact_details(self) -> pulumi.Input['ContactDetailsArgs']: + """ + Contact details for notification and shipping. + """ + return pulumi.get(self, "contact_details") + + @contact_details.setter + def contact_details(self, value: pulumi.Input['ContactDetailsArgs']): + pulumi.set(self, "contact_details", value) + + @property + @pulumi.getter(name="jobDetailsType") + def job_details_type(self) -> pulumi.Input[str]: + """ + Indicates the type of job details. + Expected value is 'DataBoxHeavy'. + """ + return pulumi.get(self, "job_details_type") + + @job_details_type.setter + def job_details_type(self, value: pulumi.Input[str]): + pulumi.set(self, "job_details_type", value) + + @property + @pulumi.getter(name="dataExportDetails") + def data_export_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]]]: + """ + Details of the data to be exported from azure. + """ + return pulumi.get(self, "data_export_details") + + @data_export_details.setter + def data_export_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]]]): + pulumi.set(self, "data_export_details", value) + + @property + @pulumi.getter(name="dataImportDetails") + def data_import_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]]]: + """ + Details of the data to be imported into azure. + """ + return pulumi.get(self, "data_import_details") + + @data_import_details.setter + def data_import_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]]]): + pulumi.set(self, "data_import_details", value) + + @property + @pulumi.getter(name="devicePassword") + def device_password(self) -> Optional[pulumi.Input[str]]: + """ + Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+ + """ + return pulumi.get(self, "device_password") + + @device_password.setter + def device_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "device_password", value) + + @property + @pulumi.getter(name="expectedDataSizeInTeraBytes") + def expected_data_size_in_tera_bytes(self) -> Optional[pulumi.Input[int]]: + """ + The expected size of the data, which needs to be transferred in this job, in terabytes. + """ + return pulumi.get(self, "expected_data_size_in_tera_bytes") + + @expected_data_size_in_tera_bytes.setter + def expected_data_size_in_tera_bytes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "expected_data_size_in_tera_bytes", value) + + @property + @pulumi.getter(name="keyEncryptionKey") + def key_encryption_key(self) -> Optional[pulumi.Input['KeyEncryptionKeyArgs']]: + """ + Details about which key encryption type is being used. + """ + return pulumi.get(self, "key_encryption_key") + + @key_encryption_key.setter + def key_encryption_key(self, value: Optional[pulumi.Input['KeyEncryptionKeyArgs']]): + pulumi.set(self, "key_encryption_key", value) + + @property + @pulumi.getter + def preferences(self) -> Optional[pulumi.Input['PreferencesArgs']]: + """ + Preferences for the order. + """ + return pulumi.get(self, "preferences") + + @preferences.setter + def preferences(self, value: Optional[pulumi.Input['PreferencesArgs']]): + pulumi.set(self, "preferences", value) + + @property + @pulumi.getter(name="reverseShippingDetails") + def reverse_shipping_details(self) -> Optional[pulumi.Input['ReverseShippingDetailsArgs']]: + """ + Optional Reverse Shipping details for order. + """ + return pulumi.get(self, "reverse_shipping_details") + + @reverse_shipping_details.setter + def reverse_shipping_details(self, value: Optional[pulumi.Input['ReverseShippingDetailsArgs']]): + pulumi.set(self, "reverse_shipping_details", value) + + @property + @pulumi.getter(name="shippingAddress") + def shipping_address(self) -> Optional[pulumi.Input['ShippingAddressArgs']]: + """ + Shipping address of the customer. + """ + return pulumi.get(self, "shipping_address") + + @shipping_address.setter + def shipping_address(self, value: Optional[pulumi.Input['ShippingAddressArgs']]): + pulumi.set(self, "shipping_address", value) + + +@pulumi.input_type +class DataBoxJobDetailsArgs: + def __init__(__self__, *, + contact_details: pulumi.Input['ContactDetailsArgs'], + job_details_type: pulumi.Input[str], + data_export_details: Optional[pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]]] = None, + data_import_details: Optional[pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]]] = None, + device_password: Optional[pulumi.Input[str]] = None, + expected_data_size_in_tera_bytes: Optional[pulumi.Input[int]] = None, + key_encryption_key: Optional[pulumi.Input['KeyEncryptionKeyArgs']] = None, + preferences: Optional[pulumi.Input['PreferencesArgs']] = None, + reverse_shipping_details: Optional[pulumi.Input['ReverseShippingDetailsArgs']] = None, + shipping_address: Optional[pulumi.Input['ShippingAddressArgs']] = None): + """ + Databox Job Details + :param pulumi.Input['ContactDetailsArgs'] contact_details: Contact details for notification and shipping. + :param pulumi.Input[str] job_details_type: Indicates the type of job details. + Expected value is 'DataBox'. + :param pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]] data_export_details: Details of the data to be exported from azure. + :param pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]] data_import_details: Details of the data to be imported into azure. + :param pulumi.Input[str] device_password: Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+ + :param pulumi.Input[int] expected_data_size_in_tera_bytes: The expected size of the data, which needs to be transferred in this job, in terabytes. + :param pulumi.Input['KeyEncryptionKeyArgs'] key_encryption_key: Details about which key encryption type is being used. + :param pulumi.Input['PreferencesArgs'] preferences: Preferences for the order. + :param pulumi.Input['ReverseShippingDetailsArgs'] reverse_shipping_details: Optional Reverse Shipping details for order. + :param pulumi.Input['ShippingAddressArgs'] shipping_address: Shipping address of the customer. + """ + pulumi.set(__self__, "contact_details", contact_details) + pulumi.set(__self__, "job_details_type", 'DataBox') + if data_export_details is not None: + pulumi.set(__self__, "data_export_details", data_export_details) + if data_import_details is not None: + pulumi.set(__self__, "data_import_details", data_import_details) + if device_password is not None: + pulumi.set(__self__, "device_password", device_password) + if expected_data_size_in_tera_bytes is not None: + pulumi.set(__self__, "expected_data_size_in_tera_bytes", expected_data_size_in_tera_bytes) + if key_encryption_key is not None: + pulumi.set(__self__, "key_encryption_key", key_encryption_key) + if preferences is not None: + pulumi.set(__self__, "preferences", preferences) + if reverse_shipping_details is not None: + pulumi.set(__self__, "reverse_shipping_details", reverse_shipping_details) + if shipping_address is not None: + pulumi.set(__self__, "shipping_address", shipping_address) + + @property + @pulumi.getter(name="contactDetails") + def contact_details(self) -> pulumi.Input['ContactDetailsArgs']: + """ + Contact details for notification and shipping. + """ + return pulumi.get(self, "contact_details") + + @contact_details.setter + def contact_details(self, value: pulumi.Input['ContactDetailsArgs']): + pulumi.set(self, "contact_details", value) + + @property + @pulumi.getter(name="jobDetailsType") + def job_details_type(self) -> pulumi.Input[str]: + """ + Indicates the type of job details. + Expected value is 'DataBox'. + """ + return pulumi.get(self, "job_details_type") + + @job_details_type.setter + def job_details_type(self, value: pulumi.Input[str]): + pulumi.set(self, "job_details_type", value) + + @property + @pulumi.getter(name="dataExportDetails") + def data_export_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]]]: + """ + Details of the data to be exported from azure. + """ + return pulumi.get(self, "data_export_details") + + @data_export_details.setter + def data_export_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataExportDetailsArgs']]]]): + pulumi.set(self, "data_export_details", value) + + @property + @pulumi.getter(name="dataImportDetails") + def data_import_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]]]: + """ + Details of the data to be imported into azure. + """ + return pulumi.get(self, "data_import_details") + + @data_import_details.setter + def data_import_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataImportDetailsArgs']]]]): + pulumi.set(self, "data_import_details", value) + + @property + @pulumi.getter(name="devicePassword") + def device_password(self) -> Optional[pulumi.Input[str]]: + """ + Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+ + """ + return pulumi.get(self, "device_password") + + @device_password.setter + def device_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "device_password", value) + + @property + @pulumi.getter(name="expectedDataSizeInTeraBytes") + def expected_data_size_in_tera_bytes(self) -> Optional[pulumi.Input[int]]: + """ + The expected size of the data, which needs to be transferred in this job, in terabytes. + """ + return pulumi.get(self, "expected_data_size_in_tera_bytes") + + @expected_data_size_in_tera_bytes.setter + def expected_data_size_in_tera_bytes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "expected_data_size_in_tera_bytes", value) + + @property + @pulumi.getter(name="keyEncryptionKey") + def key_encryption_key(self) -> Optional[pulumi.Input['KeyEncryptionKeyArgs']]: + """ + Details about which key encryption type is being used. + """ + return pulumi.get(self, "key_encryption_key") + + @key_encryption_key.setter + def key_encryption_key(self, value: Optional[pulumi.Input['KeyEncryptionKeyArgs']]): + pulumi.set(self, "key_encryption_key", value) + + @property + @pulumi.getter + def preferences(self) -> Optional[pulumi.Input['PreferencesArgs']]: + """ + Preferences for the order. + """ + return pulumi.get(self, "preferences") + + @preferences.setter + def preferences(self, value: Optional[pulumi.Input['PreferencesArgs']]): + pulumi.set(self, "preferences", value) + + @property + @pulumi.getter(name="reverseShippingDetails") + def reverse_shipping_details(self) -> Optional[pulumi.Input['ReverseShippingDetailsArgs']]: + """ + Optional Reverse Shipping details for order. + """ + return pulumi.get(self, "reverse_shipping_details") + + @reverse_shipping_details.setter + def reverse_shipping_details(self, value: Optional[pulumi.Input['ReverseShippingDetailsArgs']]): + pulumi.set(self, "reverse_shipping_details", value) + + @property + @pulumi.getter(name="shippingAddress") + def shipping_address(self) -> Optional[pulumi.Input['ShippingAddressArgs']]: + """ + Shipping address of the customer. + """ + return pulumi.get(self, "shipping_address") + + @shipping_address.setter + def shipping_address(self, value: Optional[pulumi.Input['ShippingAddressArgs']]): + pulumi.set(self, "shipping_address", value) + + +@pulumi.input_type +class DataExportDetailsArgs: + def __init__(__self__, *, + account_details: pulumi.Input[Union['ManagedDiskDetailsArgs', 'StorageAccountDetailsArgs']], + transfer_configuration: pulumi.Input['TransferConfigurationArgs'], + log_collection_level: Optional[pulumi.Input[Union[str, 'LogCollectionLevel']]] = None): + """ + Details of the data to be used for exporting data from azure. + :param pulumi.Input[Union['ManagedDiskDetailsArgs', 'StorageAccountDetailsArgs']] account_details: Account details of the data to be transferred + :param pulumi.Input['TransferConfigurationArgs'] transfer_configuration: Configuration for the data transfer. + :param pulumi.Input[Union[str, 'LogCollectionLevel']] log_collection_level: Level of the logs to be collected. + """ + pulumi.set(__self__, "account_details", account_details) + pulumi.set(__self__, "transfer_configuration", transfer_configuration) + if log_collection_level is None: + log_collection_level = 'Error' + if log_collection_level is not None: + pulumi.set(__self__, "log_collection_level", log_collection_level) + + @property + @pulumi.getter(name="accountDetails") + def account_details(self) -> pulumi.Input[Union['ManagedDiskDetailsArgs', 'StorageAccountDetailsArgs']]: + """ + Account details of the data to be transferred + """ + return pulumi.get(self, "account_details") + + @account_details.setter + def account_details(self, value: pulumi.Input[Union['ManagedDiskDetailsArgs', 'StorageAccountDetailsArgs']]): + pulumi.set(self, "account_details", value) + + @property + @pulumi.getter(name="transferConfiguration") + def transfer_configuration(self) -> pulumi.Input['TransferConfigurationArgs']: + """ + Configuration for the data transfer. + """ + return pulumi.get(self, "transfer_configuration") + + @transfer_configuration.setter + def transfer_configuration(self, value: pulumi.Input['TransferConfigurationArgs']): + pulumi.set(self, "transfer_configuration", value) + + @property + @pulumi.getter(name="logCollectionLevel") + def log_collection_level(self) -> Optional[pulumi.Input[Union[str, 'LogCollectionLevel']]]: + """ + Level of the logs to be collected. + """ + return pulumi.get(self, "log_collection_level") + + @log_collection_level.setter + def log_collection_level(self, value: Optional[pulumi.Input[Union[str, 'LogCollectionLevel']]]): + pulumi.set(self, "log_collection_level", value) + + +@pulumi.input_type +class DataImportDetailsArgs: + def __init__(__self__, *, + account_details: pulumi.Input[Union['ManagedDiskDetailsArgs', 'StorageAccountDetailsArgs']], + log_collection_level: Optional[pulumi.Input[Union[str, 'LogCollectionLevel']]] = None): + """ + Details of the data to be used for importing data to azure. + :param pulumi.Input[Union['ManagedDiskDetailsArgs', 'StorageAccountDetailsArgs']] account_details: Account details of the data to be transferred + :param pulumi.Input[Union[str, 'LogCollectionLevel']] log_collection_level: Level of the logs to be collected. + """ + pulumi.set(__self__, "account_details", account_details) + if log_collection_level is None: + log_collection_level = 'Error' + if log_collection_level is not None: + pulumi.set(__self__, "log_collection_level", log_collection_level) + + @property + @pulumi.getter(name="accountDetails") + def account_details(self) -> pulumi.Input[Union['ManagedDiskDetailsArgs', 'StorageAccountDetailsArgs']]: + """ + Account details of the data to be transferred + """ + return pulumi.get(self, "account_details") + + @account_details.setter + def account_details(self, value: pulumi.Input[Union['ManagedDiskDetailsArgs', 'StorageAccountDetailsArgs']]): + pulumi.set(self, "account_details", value) + + @property + @pulumi.getter(name="logCollectionLevel") + def log_collection_level(self) -> Optional[pulumi.Input[Union[str, 'LogCollectionLevel']]]: + """ + Level of the logs to be collected. + """ + return pulumi.get(self, "log_collection_level") + + @log_collection_level.setter + def log_collection_level(self, value: Optional[pulumi.Input[Union[str, 'LogCollectionLevel']]]): + pulumi.set(self, "log_collection_level", value) + + +@pulumi.input_type +class EncryptionPreferencesArgs: + def __init__(__self__, *, + double_encryption: Optional[pulumi.Input[Union[str, 'DoubleEncryption']]] = None, + hardware_encryption: Optional[pulumi.Input[Union[str, 'HardwareEncryption']]] = None): + """ + Preferences related to the Encryption. + :param pulumi.Input[Union[str, 'DoubleEncryption']] double_encryption: Defines secondary layer of software-based encryption enablement. + :param pulumi.Input[Union[str, 'HardwareEncryption']] hardware_encryption: Defines Hardware level encryption (Only for disk) + """ + if double_encryption is None: + double_encryption = 'Disabled' + if double_encryption is not None: + pulumi.set(__self__, "double_encryption", double_encryption) + if hardware_encryption is not None: + pulumi.set(__self__, "hardware_encryption", hardware_encryption) + + @property + @pulumi.getter(name="doubleEncryption") + def double_encryption(self) -> Optional[pulumi.Input[Union[str, 'DoubleEncryption']]]: + """ + Defines secondary layer of software-based encryption enablement. + """ + return pulumi.get(self, "double_encryption") + + @double_encryption.setter + def double_encryption(self, value: Optional[pulumi.Input[Union[str, 'DoubleEncryption']]]): + pulumi.set(self, "double_encryption", value) + + @property + @pulumi.getter(name="hardwareEncryption") + def hardware_encryption(self) -> Optional[pulumi.Input[Union[str, 'HardwareEncryption']]]: + """ + Defines Hardware level encryption (Only for disk) + """ + return pulumi.get(self, "hardware_encryption") + + @hardware_encryption.setter + def hardware_encryption(self, value: Optional[pulumi.Input[Union[str, 'HardwareEncryption']]]): + pulumi.set(self, "hardware_encryption", value) + + +@pulumi.input_type +class FilterFileDetailsArgs: + def __init__(__self__, *, + filter_file_path: pulumi.Input[str], + filter_file_type: pulumi.Input[Union[str, 'FilterFileType']]): + """ + Details of the filter files to be used for data transfer. + :param pulumi.Input[str] filter_file_path: Path of the file that contains the details of all items to transfer. + :param pulumi.Input[Union[str, 'FilterFileType']] filter_file_type: Type of the filter file. + """ + pulumi.set(__self__, "filter_file_path", filter_file_path) + pulumi.set(__self__, "filter_file_type", filter_file_type) + + @property + @pulumi.getter(name="filterFilePath") + def filter_file_path(self) -> pulumi.Input[str]: + """ + Path of the file that contains the details of all items to transfer. + """ + return pulumi.get(self, "filter_file_path") + + @filter_file_path.setter + def filter_file_path(self, value: pulumi.Input[str]): + pulumi.set(self, "filter_file_path", value) + + @property + @pulumi.getter(name="filterFileType") + def filter_file_type(self) -> pulumi.Input[Union[str, 'FilterFileType']]: + """ + Type of the filter file. + """ + return pulumi.get(self, "filter_file_type") + + @filter_file_type.setter + def filter_file_type(self, value: pulumi.Input[Union[str, 'FilterFileType']]): + pulumi.set(self, "filter_file_type", value) + + +@pulumi.input_type +class IdentityPropertiesArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input[str]] = None, + user_assigned: Optional[pulumi.Input['UserAssignedPropertiesArgs']] = None): + """ + Managed identity properties. + :param pulumi.Input[str] type: Managed service identity type. + :param pulumi.Input['UserAssignedPropertiesArgs'] user_assigned: User assigned identity properties. + """ + if type is not None: + pulumi.set(__self__, "type", type) + if user_assigned is not None: + pulumi.set(__self__, "user_assigned", user_assigned) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Managed service identity type. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userAssigned") + def user_assigned(self) -> Optional[pulumi.Input['UserAssignedPropertiesArgs']]: + """ + User assigned identity properties. + """ + return pulumi.get(self, "user_assigned") + + @user_assigned.setter + def user_assigned(self, value: Optional[pulumi.Input['UserAssignedPropertiesArgs']]): + pulumi.set(self, "user_assigned", value) + + +@pulumi.input_type +class ImportDiskDetailsArgs: + def __init__(__self__, *, + bit_locker_key: pulumi.Input[str], + manifest_file: pulumi.Input[str], + manifest_hash: pulumi.Input[str]): + """ + Import disk details + :param pulumi.Input[str] bit_locker_key: BitLocker key used to encrypt the disk. + :param pulumi.Input[str] manifest_file: The relative path of the manifest file on the disk. + :param pulumi.Input[str] manifest_hash: The Base16-encoded MD5 hash of the manifest file on the disk. + """ + pulumi.set(__self__, "bit_locker_key", bit_locker_key) + pulumi.set(__self__, "manifest_file", manifest_file) + pulumi.set(__self__, "manifest_hash", manifest_hash) + + @property + @pulumi.getter(name="bitLockerKey") + def bit_locker_key(self) -> pulumi.Input[str]: + """ + BitLocker key used to encrypt the disk. + """ + return pulumi.get(self, "bit_locker_key") + + @bit_locker_key.setter + def bit_locker_key(self, value: pulumi.Input[str]): + pulumi.set(self, "bit_locker_key", value) + + @property + @pulumi.getter(name="manifestFile") + def manifest_file(self) -> pulumi.Input[str]: + """ + The relative path of the manifest file on the disk. + """ + return pulumi.get(self, "manifest_file") + + @manifest_file.setter + def manifest_file(self, value: pulumi.Input[str]): + pulumi.set(self, "manifest_file", value) + + @property + @pulumi.getter(name="manifestHash") + def manifest_hash(self) -> pulumi.Input[str]: + """ + The Base16-encoded MD5 hash of the manifest file on the disk. + """ + return pulumi.get(self, "manifest_hash") + + @manifest_hash.setter + def manifest_hash(self, value: pulumi.Input[str]): + pulumi.set(self, "manifest_hash", value) + + +@pulumi.input_type +class JobDeliveryInfoArgs: + def __init__(__self__, *, + scheduled_date_time: Optional[pulumi.Input[str]] = None): + """ + Additional delivery info. + :param pulumi.Input[str] scheduled_date_time: Scheduled date time. + """ + if scheduled_date_time is not None: + pulumi.set(__self__, "scheduled_date_time", scheduled_date_time) + + @property + @pulumi.getter(name="scheduledDateTime") + def scheduled_date_time(self) -> Optional[pulumi.Input[str]]: + """ + Scheduled date time. + """ + return pulumi.get(self, "scheduled_date_time") + + @scheduled_date_time.setter + def scheduled_date_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scheduled_date_time", value) + + +@pulumi.input_type +class KeyEncryptionKeyArgs: + def __init__(__self__, *, + kek_type: pulumi.Input[Union[str, 'KekType']], + identity_properties: Optional[pulumi.Input['IdentityPropertiesArgs']] = None, + kek_url: Optional[pulumi.Input[str]] = None, + kek_vault_resource_id: Optional[pulumi.Input[str]] = None): + """ + Encryption key containing details about key to encrypt different keys. + :param pulumi.Input[Union[str, 'KekType']] kek_type: Type of encryption key used for key encryption. + :param pulumi.Input['IdentityPropertiesArgs'] identity_properties: Managed identity properties used for key encryption. + :param pulumi.Input[str] kek_url: Key encryption key. It is required in case of Customer managed KekType. + :param pulumi.Input[str] kek_vault_resource_id: Kek vault resource id. It is required in case of Customer managed KekType. + """ + if kek_type is None: + kek_type = 'MicrosoftManaged' + pulumi.set(__self__, "kek_type", kek_type) + if identity_properties is not None: + pulumi.set(__self__, "identity_properties", identity_properties) + if kek_url is not None: + pulumi.set(__self__, "kek_url", kek_url) + if kek_vault_resource_id is not None: + pulumi.set(__self__, "kek_vault_resource_id", kek_vault_resource_id) + + @property + @pulumi.getter(name="kekType") + def kek_type(self) -> pulumi.Input[Union[str, 'KekType']]: + """ + Type of encryption key used for key encryption. + """ + return pulumi.get(self, "kek_type") + + @kek_type.setter + def kek_type(self, value: pulumi.Input[Union[str, 'KekType']]): + pulumi.set(self, "kek_type", value) + + @property + @pulumi.getter(name="identityProperties") + def identity_properties(self) -> Optional[pulumi.Input['IdentityPropertiesArgs']]: + """ + Managed identity properties used for key encryption. + """ + return pulumi.get(self, "identity_properties") + + @identity_properties.setter + def identity_properties(self, value: Optional[pulumi.Input['IdentityPropertiesArgs']]): + pulumi.set(self, "identity_properties", value) + + @property + @pulumi.getter(name="kekUrl") + def kek_url(self) -> Optional[pulumi.Input[str]]: + """ + Key encryption key. It is required in case of Customer managed KekType. + """ + return pulumi.get(self, "kek_url") + + @kek_url.setter + def kek_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kek_url", value) + + @property + @pulumi.getter(name="kekVaultResourceID") + def kek_vault_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + Kek vault resource id. It is required in case of Customer managed KekType. + """ + return pulumi.get(self, "kek_vault_resource_id") + + @kek_vault_resource_id.setter + def kek_vault_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kek_vault_resource_id", value) + + +@pulumi.input_type +class ManagedDiskDetailsArgs: + def __init__(__self__, *, + data_account_type: pulumi.Input[str], + resource_group_id: pulumi.Input[str], + staging_storage_account_id: pulumi.Input[str], + share_password: Optional[pulumi.Input[str]] = None): + """ + Details of the managed disks. + :param pulumi.Input[str] data_account_type: Account Type of the data to be transferred. + Expected value is 'ManagedDisk'. + :param pulumi.Input[str] resource_group_id: Resource Group Id of the compute disks. + :param pulumi.Input[str] staging_storage_account_id: Resource Id of the storage account that can be used to copy the vhd for staging. + :param pulumi.Input[str] share_password: Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+ + """ + if data_account_type is None: + data_account_type = 'StorageAccount' + pulumi.set(__self__, "data_account_type", 'ManagedDisk') + pulumi.set(__self__, "resource_group_id", resource_group_id) + pulumi.set(__self__, "staging_storage_account_id", staging_storage_account_id) + if share_password is not None: + pulumi.set(__self__, "share_password", share_password) + + @property + @pulumi.getter(name="dataAccountType") + def data_account_type(self) -> pulumi.Input[str]: + """ + Account Type of the data to be transferred. + Expected value is 'ManagedDisk'. + """ + return pulumi.get(self, "data_account_type") + + @data_account_type.setter + def data_account_type(self, value: pulumi.Input[str]): + pulumi.set(self, "data_account_type", value) + + @property + @pulumi.getter(name="resourceGroupId") + def resource_group_id(self) -> pulumi.Input[str]: + """ + Resource Group Id of the compute disks. + """ + return pulumi.get(self, "resource_group_id") + + @resource_group_id.setter + def resource_group_id(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_id", value) + + @property + @pulumi.getter(name="stagingStorageAccountId") + def staging_storage_account_id(self) -> pulumi.Input[str]: + """ + Resource Id of the storage account that can be used to copy the vhd for staging. + """ + return pulumi.get(self, "staging_storage_account_id") + + @staging_storage_account_id.setter + def staging_storage_account_id(self, value: pulumi.Input[str]): + pulumi.set(self, "staging_storage_account_id", value) + + @property + @pulumi.getter(name="sharePassword") + def share_password(self) -> Optional[pulumi.Input[str]]: + """ + Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+ + """ + return pulumi.get(self, "share_password") + + @share_password.setter + def share_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "share_password", value) + + +@pulumi.input_type +class NotificationPreferenceArgs: + def __init__(__self__, *, + send_notification: pulumi.Input[bool], + stage_name: pulumi.Input[Union[str, 'NotificationStageName']]): + """ + Notification preference for a job stage. + :param pulumi.Input[bool] send_notification: Notification is required or not. + :param pulumi.Input[Union[str, 'NotificationStageName']] stage_name: Name of the stage. + """ + if send_notification is None: + send_notification = True + pulumi.set(__self__, "send_notification", send_notification) + pulumi.set(__self__, "stage_name", stage_name) + + @property + @pulumi.getter(name="sendNotification") + def send_notification(self) -> pulumi.Input[bool]: + """ + Notification is required or not. + """ + return pulumi.get(self, "send_notification") + + @send_notification.setter + def send_notification(self, value: pulumi.Input[bool]): + pulumi.set(self, "send_notification", value) + + @property + @pulumi.getter(name="stageName") + def stage_name(self) -> pulumi.Input[Union[str, 'NotificationStageName']]: + """ + Name of the stage. + """ + return pulumi.get(self, "stage_name") + + @stage_name.setter + def stage_name(self, value: pulumi.Input[Union[str, 'NotificationStageName']]): + pulumi.set(self, "stage_name", value) + + +@pulumi.input_type +class PackageCarrierDetailsArgs: + def __init__(__self__, *, + carrier_account_number: Optional[pulumi.Input[str]] = None, + carrier_name: Optional[pulumi.Input[str]] = None, + tracking_id: Optional[pulumi.Input[str]] = None): + """ + Package carrier details. + :param pulumi.Input[str] carrier_account_number: Carrier Account Number of customer for customer disk. + :param pulumi.Input[str] carrier_name: Name of the carrier. + :param pulumi.Input[str] tracking_id: Tracking Id of shipment. + """ + if carrier_account_number is not None: + pulumi.set(__self__, "carrier_account_number", carrier_account_number) + if carrier_name is not None: + pulumi.set(__self__, "carrier_name", carrier_name) + if tracking_id is not None: + pulumi.set(__self__, "tracking_id", tracking_id) + + @property + @pulumi.getter(name="carrierAccountNumber") + def carrier_account_number(self) -> Optional[pulumi.Input[str]]: + """ + Carrier Account Number of customer for customer disk. + """ + return pulumi.get(self, "carrier_account_number") + + @carrier_account_number.setter + def carrier_account_number(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "carrier_account_number", value) + + @property + @pulumi.getter(name="carrierName") + def carrier_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the carrier. + """ + return pulumi.get(self, "carrier_name") + + @carrier_name.setter + def carrier_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "carrier_name", value) + + @property + @pulumi.getter(name="trackingId") + def tracking_id(self) -> Optional[pulumi.Input[str]]: + """ + Tracking Id of shipment. + """ + return pulumi.get(self, "tracking_id") + + @tracking_id.setter + def tracking_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tracking_id", value) + + +@pulumi.input_type +class PreferencesArgs: + def __init__(__self__, *, + encryption_preferences: Optional[pulumi.Input['EncryptionPreferencesArgs']] = None, + preferred_data_center_region: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + reverse_transport_preferences: Optional[pulumi.Input['TransportPreferencesArgs']] = None, + storage_account_access_tier_preferences: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'StorageAccountAccessTier']]]]] = None, + transport_preferences: Optional[pulumi.Input['TransportPreferencesArgs']] = None): + """ + Preferences related to the order + :param pulumi.Input['EncryptionPreferencesArgs'] encryption_preferences: Preferences related to the Encryption. + :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_data_center_region: Preferred data center region. + :param pulumi.Input['TransportPreferencesArgs'] reverse_transport_preferences: Optional Preferences related to the reverse shipment logistics of the sku. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'StorageAccountAccessTier']]]] storage_account_access_tier_preferences: Preferences related to the Access Tier of storage accounts. + :param pulumi.Input['TransportPreferencesArgs'] transport_preferences: Preferences related to the shipment logistics of the sku. + """ + if encryption_preferences is not None: + pulumi.set(__self__, "encryption_preferences", encryption_preferences) + if preferred_data_center_region is not None: + pulumi.set(__self__, "preferred_data_center_region", preferred_data_center_region) + if reverse_transport_preferences is not None: + pulumi.set(__self__, "reverse_transport_preferences", reverse_transport_preferences) + if storage_account_access_tier_preferences is not None: + pulumi.set(__self__, "storage_account_access_tier_preferences", storage_account_access_tier_preferences) + if transport_preferences is not None: + pulumi.set(__self__, "transport_preferences", transport_preferences) + + @property + @pulumi.getter(name="encryptionPreferences") + def encryption_preferences(self) -> Optional[pulumi.Input['EncryptionPreferencesArgs']]: + """ + Preferences related to the Encryption. + """ + return pulumi.get(self, "encryption_preferences") + + @encryption_preferences.setter + def encryption_preferences(self, value: Optional[pulumi.Input['EncryptionPreferencesArgs']]): + pulumi.set(self, "encryption_preferences", value) + + @property + @pulumi.getter(name="preferredDataCenterRegion") + def preferred_data_center_region(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Preferred data center region. + """ + return pulumi.get(self, "preferred_data_center_region") + + @preferred_data_center_region.setter + def preferred_data_center_region(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "preferred_data_center_region", value) + + @property + @pulumi.getter(name="reverseTransportPreferences") + def reverse_transport_preferences(self) -> Optional[pulumi.Input['TransportPreferencesArgs']]: + """ + Optional Preferences related to the reverse shipment logistics of the sku. + """ + return pulumi.get(self, "reverse_transport_preferences") + + @reverse_transport_preferences.setter + def reverse_transport_preferences(self, value: Optional[pulumi.Input['TransportPreferencesArgs']]): + pulumi.set(self, "reverse_transport_preferences", value) + + @property + @pulumi.getter(name="storageAccountAccessTierPreferences") + def storage_account_access_tier_preferences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'StorageAccountAccessTier']]]]]: + """ + Preferences related to the Access Tier of storage accounts. + """ + return pulumi.get(self, "storage_account_access_tier_preferences") + + @storage_account_access_tier_preferences.setter + def storage_account_access_tier_preferences(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'StorageAccountAccessTier']]]]]): + pulumi.set(self, "storage_account_access_tier_preferences", value) + + @property + @pulumi.getter(name="transportPreferences") + def transport_preferences(self) -> Optional[pulumi.Input['TransportPreferencesArgs']]: + """ + Preferences related to the shipment logistics of the sku. + """ + return pulumi.get(self, "transport_preferences") + + @transport_preferences.setter + def transport_preferences(self, value: Optional[pulumi.Input['TransportPreferencesArgs']]): + pulumi.set(self, "transport_preferences", value) + + +@pulumi.input_type +class ResourceIdentityArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input[str]] = None, + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Msi identity details of the resource + :param pulumi.Input[str] type: Identity type + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: User Assigned Identities + """ + if type is None: + type = 'None' + if type is not None: + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Identity type + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + User Assigned Identities + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_assigned_identities", value) + + +@pulumi.input_type +class ReverseShippingDetailsArgs: + def __init__(__self__, *, + contact_details: Optional[pulumi.Input['ContactInfoArgs']] = None, + shipping_address: Optional[pulumi.Input['ShippingAddressArgs']] = None): + """ + Reverse Shipping Address and contact details for a job. + :param pulumi.Input['ContactInfoArgs'] contact_details: Contact Info. + :param pulumi.Input['ShippingAddressArgs'] shipping_address: Shipping address where customer wishes to receive the device. + """ + if contact_details is not None: + pulumi.set(__self__, "contact_details", contact_details) + if shipping_address is not None: + pulumi.set(__self__, "shipping_address", shipping_address) + + @property + @pulumi.getter(name="contactDetails") + def contact_details(self) -> Optional[pulumi.Input['ContactInfoArgs']]: + """ + Contact Info. + """ + return pulumi.get(self, "contact_details") + + @contact_details.setter + def contact_details(self, value: Optional[pulumi.Input['ContactInfoArgs']]): + pulumi.set(self, "contact_details", value) + + @property + @pulumi.getter(name="shippingAddress") + def shipping_address(self) -> Optional[pulumi.Input['ShippingAddressArgs']]: + """ + Shipping address where customer wishes to receive the device. + """ + return pulumi.get(self, "shipping_address") + + @shipping_address.setter + def shipping_address(self, value: Optional[pulumi.Input['ShippingAddressArgs']]): + pulumi.set(self, "shipping_address", value) + + +@pulumi.input_type +class ShippingAddressArgs: + def __init__(__self__, *, + country: pulumi.Input[str], + street_address1: pulumi.Input[str], + address_type: Optional[pulumi.Input[Union[str, 'AddressType']]] = None, + city: Optional[pulumi.Input[str]] = None, + company_name: Optional[pulumi.Input[str]] = None, + postal_code: Optional[pulumi.Input[str]] = None, + skip_address_validation: Optional[pulumi.Input[bool]] = None, + state_or_province: Optional[pulumi.Input[str]] = None, + street_address2: Optional[pulumi.Input[str]] = None, + street_address3: Optional[pulumi.Input[str]] = None, + tax_identification_number: Optional[pulumi.Input[str]] = None, + zip_extended_code: Optional[pulumi.Input[str]] = None): + """ + Shipping address where customer wishes to receive the device. + :param pulumi.Input[str] country: Name of the Country. + :param pulumi.Input[str] street_address1: Street Address line 1. + :param pulumi.Input[Union[str, 'AddressType']] address_type: Type of address. + :param pulumi.Input[str] city: Name of the City. + :param pulumi.Input[str] company_name: Name of the company. + :param pulumi.Input[str] postal_code: Postal code. + :param pulumi.Input[bool] skip_address_validation: Flag to indicate if customer has chosen to skip default address validation + :param pulumi.Input[str] state_or_province: Name of the State or Province. + :param pulumi.Input[str] street_address2: Street Address line 2. + :param pulumi.Input[str] street_address3: Street Address line 3. + :param pulumi.Input[str] tax_identification_number: Tax Identification Number + :param pulumi.Input[str] zip_extended_code: Extended Zip Code. + """ + pulumi.set(__self__, "country", country) + pulumi.set(__self__, "street_address1", street_address1) + if address_type is None: + address_type = 'None' + if address_type is not None: + pulumi.set(__self__, "address_type", address_type) + if city is not None: + pulumi.set(__self__, "city", city) + if company_name is not None: + pulumi.set(__self__, "company_name", company_name) + if postal_code is not None: + pulumi.set(__self__, "postal_code", postal_code) + if skip_address_validation is not None: + pulumi.set(__self__, "skip_address_validation", skip_address_validation) + if state_or_province is not None: + pulumi.set(__self__, "state_or_province", state_or_province) + if street_address2 is not None: + pulumi.set(__self__, "street_address2", street_address2) + if street_address3 is not None: + pulumi.set(__self__, "street_address3", street_address3) + if tax_identification_number is not None: + pulumi.set(__self__, "tax_identification_number", tax_identification_number) + if zip_extended_code is not None: + pulumi.set(__self__, "zip_extended_code", zip_extended_code) + + @property + @pulumi.getter + def country(self) -> pulumi.Input[str]: + """ + Name of the Country. + """ + return pulumi.get(self, "country") + + @country.setter + def country(self, value: pulumi.Input[str]): + pulumi.set(self, "country", value) + + @property + @pulumi.getter(name="streetAddress1") + def street_address1(self) -> pulumi.Input[str]: + """ + Street Address line 1. + """ + return pulumi.get(self, "street_address1") + + @street_address1.setter + def street_address1(self, value: pulumi.Input[str]): + pulumi.set(self, "street_address1", value) + + @property + @pulumi.getter(name="addressType") + def address_type(self) -> Optional[pulumi.Input[Union[str, 'AddressType']]]: + """ + Type of address. + """ + return pulumi.get(self, "address_type") + + @address_type.setter + def address_type(self, value: Optional[pulumi.Input[Union[str, 'AddressType']]]): + pulumi.set(self, "address_type", value) + + @property + @pulumi.getter + def city(self) -> Optional[pulumi.Input[str]]: + """ + Name of the City. + """ + return pulumi.get(self, "city") + + @city.setter + def city(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "city", value) + + @property + @pulumi.getter(name="companyName") + def company_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the company. + """ + return pulumi.get(self, "company_name") + + @company_name.setter + def company_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "company_name", value) + + @property + @pulumi.getter(name="postalCode") + def postal_code(self) -> Optional[pulumi.Input[str]]: + """ + Postal code. + """ + return pulumi.get(self, "postal_code") + + @postal_code.setter + def postal_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "postal_code", value) + + @property + @pulumi.getter(name="skipAddressValidation") + def skip_address_validation(self) -> Optional[pulumi.Input[bool]]: + """ + Flag to indicate if customer has chosen to skip default address validation + """ + return pulumi.get(self, "skip_address_validation") + + @skip_address_validation.setter + def skip_address_validation(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "skip_address_validation", value) + + @property + @pulumi.getter(name="stateOrProvince") + def state_or_province(self) -> Optional[pulumi.Input[str]]: + """ + Name of the State or Province. + """ + return pulumi.get(self, "state_or_province") + + @state_or_province.setter + def state_or_province(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state_or_province", value) + + @property + @pulumi.getter(name="streetAddress2") + def street_address2(self) -> Optional[pulumi.Input[str]]: + """ + Street Address line 2. + """ + return pulumi.get(self, "street_address2") + + @street_address2.setter + def street_address2(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "street_address2", value) + + @property + @pulumi.getter(name="streetAddress3") + def street_address3(self) -> Optional[pulumi.Input[str]]: + """ + Street Address line 3. + """ + return pulumi.get(self, "street_address3") + + @street_address3.setter + def street_address3(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "street_address3", value) + + @property + @pulumi.getter(name="taxIdentificationNumber") + def tax_identification_number(self) -> Optional[pulumi.Input[str]]: + """ + Tax Identification Number + """ + return pulumi.get(self, "tax_identification_number") + + @tax_identification_number.setter + def tax_identification_number(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tax_identification_number", value) + + @property + @pulumi.getter(name="zipExtendedCode") + def zip_extended_code(self) -> Optional[pulumi.Input[str]]: + """ + Extended Zip Code. + """ + return pulumi.get(self, "zip_extended_code") + + @zip_extended_code.setter + def zip_extended_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "zip_extended_code", value) + + +@pulumi.input_type +class SkuArgs: + def __init__(__self__, *, + name: pulumi.Input[Union[str, 'SkuName']], + display_name: Optional[pulumi.Input[str]] = None, + family: Optional[pulumi.Input[str]] = None): + """ + The Sku. + :param pulumi.Input[Union[str, 'SkuName']] name: The sku name. + :param pulumi.Input[str] display_name: The display name of the sku. + :param pulumi.Input[str] family: The sku family. + """ + pulumi.set(__self__, "name", name) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if family is not None: + pulumi.set(__self__, "family", family) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[Union[str, 'SkuName']]: + """ + The sku name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Union[str, 'SkuName']]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + The display name of the sku. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def family(self) -> Optional[pulumi.Input[str]]: + """ + The sku family. + """ + return pulumi.get(self, "family") + + @family.setter + def family(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "family", value) + + +@pulumi.input_type +class StorageAccountDetailsArgs: + def __init__(__self__, *, + data_account_type: pulumi.Input[str], + storage_account_id: pulumi.Input[str], + share_password: Optional[pulumi.Input[str]] = None): + """ + Details for the storage account. + :param pulumi.Input[str] data_account_type: Account Type of the data to be transferred. + Expected value is 'StorageAccount'. + :param pulumi.Input[str] storage_account_id: Storage Account Resource Id. + :param pulumi.Input[str] share_password: Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+ + """ + if data_account_type is None: + data_account_type = 'StorageAccount' + pulumi.set(__self__, "data_account_type", 'StorageAccount') + pulumi.set(__self__, "storage_account_id", storage_account_id) + if share_password is not None: + pulumi.set(__self__, "share_password", share_password) + + @property + @pulumi.getter(name="dataAccountType") + def data_account_type(self) -> pulumi.Input[str]: + """ + Account Type of the data to be transferred. + Expected value is 'StorageAccount'. + """ + return pulumi.get(self, "data_account_type") + + @data_account_type.setter + def data_account_type(self, value: pulumi.Input[str]): + pulumi.set(self, "data_account_type", value) + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> pulumi.Input[str]: + """ + Storage Account Resource Id. + """ + return pulumi.get(self, "storage_account_id") + + @storage_account_id.setter + def storage_account_id(self, value: pulumi.Input[str]): + pulumi.set(self, "storage_account_id", value) + + @property + @pulumi.getter(name="sharePassword") + def share_password(self) -> Optional[pulumi.Input[str]]: + """ + Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+ + """ + return pulumi.get(self, "share_password") + + @share_password.setter + def share_password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "share_password", value) + + +@pulumi.input_type +class TransferAllDetailsArgs: + def __init__(__self__, *, + data_account_type: pulumi.Input[Union[str, 'DataAccountType']], + transfer_all_blobs: Optional[pulumi.Input[bool]] = None, + transfer_all_files: Optional[pulumi.Input[bool]] = None): + """ + Details to transfer all data. + :param pulumi.Input[Union[str, 'DataAccountType']] data_account_type: Type of the account of data + :param pulumi.Input[bool] transfer_all_blobs: To indicate if all Azure blobs have to be transferred + :param pulumi.Input[bool] transfer_all_files: To indicate if all Azure Files have to be transferred + """ + if data_account_type is None: + data_account_type = 'StorageAccount' + pulumi.set(__self__, "data_account_type", data_account_type) + if transfer_all_blobs is not None: + pulumi.set(__self__, "transfer_all_blobs", transfer_all_blobs) + if transfer_all_files is not None: + pulumi.set(__self__, "transfer_all_files", transfer_all_files) + + @property + @pulumi.getter(name="dataAccountType") + def data_account_type(self) -> pulumi.Input[Union[str, 'DataAccountType']]: + """ + Type of the account of data + """ + return pulumi.get(self, "data_account_type") + + @data_account_type.setter + def data_account_type(self, value: pulumi.Input[Union[str, 'DataAccountType']]): + pulumi.set(self, "data_account_type", value) + + @property + @pulumi.getter(name="transferAllBlobs") + def transfer_all_blobs(self) -> Optional[pulumi.Input[bool]]: + """ + To indicate if all Azure blobs have to be transferred + """ + return pulumi.get(self, "transfer_all_blobs") + + @transfer_all_blobs.setter + def transfer_all_blobs(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "transfer_all_blobs", value) + + @property + @pulumi.getter(name="transferAllFiles") + def transfer_all_files(self) -> Optional[pulumi.Input[bool]]: + """ + To indicate if all Azure Files have to be transferred + """ + return pulumi.get(self, "transfer_all_files") + + @transfer_all_files.setter + def transfer_all_files(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "transfer_all_files", value) + + +@pulumi.input_type +class TransferConfigurationTransferAllDetailsArgs: + def __init__(__self__, *, + include: Optional[pulumi.Input['TransferAllDetailsArgs']] = None): + """ + Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + :param pulumi.Input['TransferAllDetailsArgs'] include: Details to transfer all data. + """ + if include is not None: + pulumi.set(__self__, "include", include) + + @property + @pulumi.getter + def include(self) -> Optional[pulumi.Input['TransferAllDetailsArgs']]: + """ + Details to transfer all data. + """ + return pulumi.get(self, "include") + + @include.setter + def include(self, value: Optional[pulumi.Input['TransferAllDetailsArgs']]): + pulumi.set(self, "include", value) + + +@pulumi.input_type +class TransferConfigurationTransferFilterDetailsArgs: + def __init__(__self__, *, + include: Optional[pulumi.Input['TransferFilterDetailsArgs']] = None): + """ + Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + :param pulumi.Input['TransferFilterDetailsArgs'] include: Details of the filtering the transfer of data. + """ + if include is not None: + pulumi.set(__self__, "include", include) + + @property + @pulumi.getter + def include(self) -> Optional[pulumi.Input['TransferFilterDetailsArgs']]: + """ + Details of the filtering the transfer of data. + """ + return pulumi.get(self, "include") + + @include.setter + def include(self, value: Optional[pulumi.Input['TransferFilterDetailsArgs']]): + pulumi.set(self, "include", value) + + +@pulumi.input_type +class TransferConfigurationArgs: + def __init__(__self__, *, + transfer_configuration_type: pulumi.Input[Union[str, 'TransferConfigurationType']], + transfer_all_details: Optional[pulumi.Input['TransferConfigurationTransferAllDetailsArgs']] = None, + transfer_filter_details: Optional[pulumi.Input['TransferConfigurationTransferFilterDetailsArgs']] = None): + """ + Configuration for defining the transfer of data. + :param pulumi.Input[Union[str, 'TransferConfigurationType']] transfer_configuration_type: Type of the configuration for transfer. + :param pulumi.Input['TransferConfigurationTransferAllDetailsArgs'] transfer_all_details: Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + :param pulumi.Input['TransferConfigurationTransferFilterDetailsArgs'] transfer_filter_details: Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + """ + pulumi.set(__self__, "transfer_configuration_type", transfer_configuration_type) + if transfer_all_details is not None: + pulumi.set(__self__, "transfer_all_details", transfer_all_details) + if transfer_filter_details is not None: + pulumi.set(__self__, "transfer_filter_details", transfer_filter_details) + + @property + @pulumi.getter(name="transferConfigurationType") + def transfer_configuration_type(self) -> pulumi.Input[Union[str, 'TransferConfigurationType']]: + """ + Type of the configuration for transfer. + """ + return pulumi.get(self, "transfer_configuration_type") + + @transfer_configuration_type.setter + def transfer_configuration_type(self, value: pulumi.Input[Union[str, 'TransferConfigurationType']]): + pulumi.set(self, "transfer_configuration_type", value) + + @property + @pulumi.getter(name="transferAllDetails") + def transfer_all_details(self) -> Optional[pulumi.Input['TransferConfigurationTransferAllDetailsArgs']]: + """ + Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + """ + return pulumi.get(self, "transfer_all_details") + + @transfer_all_details.setter + def transfer_all_details(self, value: Optional[pulumi.Input['TransferConfigurationTransferAllDetailsArgs']]): + pulumi.set(self, "transfer_all_details", value) + + @property + @pulumi.getter(name="transferFilterDetails") + def transfer_filter_details(self) -> Optional[pulumi.Input['TransferConfigurationTransferFilterDetailsArgs']]: + """ + Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + """ + return pulumi.get(self, "transfer_filter_details") + + @transfer_filter_details.setter + def transfer_filter_details(self, value: Optional[pulumi.Input['TransferConfigurationTransferFilterDetailsArgs']]): + pulumi.set(self, "transfer_filter_details", value) + + +@pulumi.input_type +class TransferFilterDetailsArgs: + def __init__(__self__, *, + data_account_type: pulumi.Input[Union[str, 'DataAccountType']], + azure_file_filter_details: Optional[pulumi.Input['AzureFileFilterDetailsArgs']] = None, + blob_filter_details: Optional[pulumi.Input['BlobFilterDetailsArgs']] = None, + filter_file_details: Optional[pulumi.Input[Sequence[pulumi.Input['FilterFileDetailsArgs']]]] = None): + """ + Details of the filtering the transfer of data. + :param pulumi.Input[Union[str, 'DataAccountType']] data_account_type: Type of the account of data. + :param pulumi.Input['AzureFileFilterDetailsArgs'] azure_file_filter_details: Filter details to transfer Azure files. + :param pulumi.Input['BlobFilterDetailsArgs'] blob_filter_details: Filter details to transfer blobs. + :param pulumi.Input[Sequence[pulumi.Input['FilterFileDetailsArgs']]] filter_file_details: Details of the filter files to be used for data transfer. + """ + if data_account_type is None: + data_account_type = 'StorageAccount' + pulumi.set(__self__, "data_account_type", data_account_type) + if azure_file_filter_details is not None: + pulumi.set(__self__, "azure_file_filter_details", azure_file_filter_details) + if blob_filter_details is not None: + pulumi.set(__self__, "blob_filter_details", blob_filter_details) + if filter_file_details is not None: + pulumi.set(__self__, "filter_file_details", filter_file_details) + + @property + @pulumi.getter(name="dataAccountType") + def data_account_type(self) -> pulumi.Input[Union[str, 'DataAccountType']]: + """ + Type of the account of data. + """ + return pulumi.get(self, "data_account_type") + + @data_account_type.setter + def data_account_type(self, value: pulumi.Input[Union[str, 'DataAccountType']]): + pulumi.set(self, "data_account_type", value) + + @property + @pulumi.getter(name="azureFileFilterDetails") + def azure_file_filter_details(self) -> Optional[pulumi.Input['AzureFileFilterDetailsArgs']]: + """ + Filter details to transfer Azure files. + """ + return pulumi.get(self, "azure_file_filter_details") + + @azure_file_filter_details.setter + def azure_file_filter_details(self, value: Optional[pulumi.Input['AzureFileFilterDetailsArgs']]): + pulumi.set(self, "azure_file_filter_details", value) + + @property + @pulumi.getter(name="blobFilterDetails") + def blob_filter_details(self) -> Optional[pulumi.Input['BlobFilterDetailsArgs']]: + """ + Filter details to transfer blobs. + """ + return pulumi.get(self, "blob_filter_details") + + @blob_filter_details.setter + def blob_filter_details(self, value: Optional[pulumi.Input['BlobFilterDetailsArgs']]): + pulumi.set(self, "blob_filter_details", value) + + @property + @pulumi.getter(name="filterFileDetails") + def filter_file_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FilterFileDetailsArgs']]]]: + """ + Details of the filter files to be used for data transfer. + """ + return pulumi.get(self, "filter_file_details") + + @filter_file_details.setter + def filter_file_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FilterFileDetailsArgs']]]]): + pulumi.set(self, "filter_file_details", value) + + +@pulumi.input_type +class TransportPreferencesArgs: + def __init__(__self__, *, + preferred_shipment_type: pulumi.Input[Union[str, 'TransportShipmentTypes']]): + """ + Preferences related to the shipment logistics of the sku + :param pulumi.Input[Union[str, 'TransportShipmentTypes']] preferred_shipment_type: Indicates Shipment Logistics type that the customer preferred. + """ + pulumi.set(__self__, "preferred_shipment_type", preferred_shipment_type) + + @property + @pulumi.getter(name="preferredShipmentType") + def preferred_shipment_type(self) -> pulumi.Input[Union[str, 'TransportShipmentTypes']]: + """ + Indicates Shipment Logistics type that the customer preferred. + """ + return pulumi.get(self, "preferred_shipment_type") + + @preferred_shipment_type.setter + def preferred_shipment_type(self, value: pulumi.Input[Union[str, 'TransportShipmentTypes']]): + pulumi.set(self, "preferred_shipment_type", value) + + +@pulumi.input_type +class UserAssignedPropertiesArgs: + def __init__(__self__, *, + resource_id: Optional[pulumi.Input[str]] = None): + """ + User assigned identity properties. + :param pulumi.Input[str] resource_id: Arm resource id for user assigned identity to be used to fetch MSI token. + """ + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[str]]: + """ + Arm resource id for user assigned identity to be used to fetch MSI token. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_id", value) + + diff --git a/sdk/python/pulumi_azure_native/databox/v20230301/get_job.py b/sdk/python/pulumi_azure_native/databox/v20230301/get_job.py new file mode 100644 index 000000000000..05be7ac22a64 --- /dev/null +++ b/sdk/python/pulumi_azure_native/databox/v20230301/get_job.py @@ -0,0 +1,383 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetJobResult', + 'AwaitableGetJobResult', + 'get_job', + 'get_job_output', +] + +@pulumi.output_type +class GetJobResult: + """ + Job Resource. + """ + def __init__(__self__, cancellation_reason=None, delayed_stage=None, delivery_info=None, delivery_type=None, details=None, error=None, id=None, identity=None, is_cancellable=None, is_cancellable_without_fee=None, is_deletable=None, is_prepare_to_ship_enabled=None, is_shipping_address_editable=None, location=None, name=None, reverse_shipping_details_update=None, reverse_transport_preference_update=None, sku=None, start_time=None, status=None, system_data=None, tags=None, transfer_type=None, type=None): + if cancellation_reason and not isinstance(cancellation_reason, str): + raise TypeError("Expected argument 'cancellation_reason' to be a str") + pulumi.set(__self__, "cancellation_reason", cancellation_reason) + if delayed_stage and not isinstance(delayed_stage, str): + raise TypeError("Expected argument 'delayed_stage' to be a str") + pulumi.set(__self__, "delayed_stage", delayed_stage) + if delivery_info and not isinstance(delivery_info, dict): + raise TypeError("Expected argument 'delivery_info' to be a dict") + pulumi.set(__self__, "delivery_info", delivery_info) + if delivery_type and not isinstance(delivery_type, str): + raise TypeError("Expected argument 'delivery_type' to be a str") + pulumi.set(__self__, "delivery_type", delivery_type) + if details and not isinstance(details, dict): + raise TypeError("Expected argument 'details' to be a dict") + pulumi.set(__self__, "details", details) + if error and not isinstance(error, dict): + raise TypeError("Expected argument 'error' to be a dict") + pulumi.set(__self__, "error", error) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if is_cancellable and not isinstance(is_cancellable, bool): + raise TypeError("Expected argument 'is_cancellable' to be a bool") + pulumi.set(__self__, "is_cancellable", is_cancellable) + if is_cancellable_without_fee and not isinstance(is_cancellable_without_fee, bool): + raise TypeError("Expected argument 'is_cancellable_without_fee' to be a bool") + pulumi.set(__self__, "is_cancellable_without_fee", is_cancellable_without_fee) + if is_deletable and not isinstance(is_deletable, bool): + raise TypeError("Expected argument 'is_deletable' to be a bool") + pulumi.set(__self__, "is_deletable", is_deletable) + if is_prepare_to_ship_enabled and not isinstance(is_prepare_to_ship_enabled, bool): + raise TypeError("Expected argument 'is_prepare_to_ship_enabled' to be a bool") + pulumi.set(__self__, "is_prepare_to_ship_enabled", is_prepare_to_ship_enabled) + if is_shipping_address_editable and not isinstance(is_shipping_address_editable, bool): + raise TypeError("Expected argument 'is_shipping_address_editable' to be a bool") + pulumi.set(__self__, "is_shipping_address_editable", is_shipping_address_editable) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if reverse_shipping_details_update and not isinstance(reverse_shipping_details_update, str): + raise TypeError("Expected argument 'reverse_shipping_details_update' to be a str") + pulumi.set(__self__, "reverse_shipping_details_update", reverse_shipping_details_update) + if reverse_transport_preference_update and not isinstance(reverse_transport_preference_update, str): + raise TypeError("Expected argument 'reverse_transport_preference_update' to be a str") + pulumi.set(__self__, "reverse_transport_preference_update", reverse_transport_preference_update) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if start_time and not isinstance(start_time, str): + raise TypeError("Expected argument 'start_time' to be a str") + pulumi.set(__self__, "start_time", start_time) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if transfer_type and not isinstance(transfer_type, str): + raise TypeError("Expected argument 'transfer_type' to be a str") + pulumi.set(__self__, "transfer_type", transfer_type) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="cancellationReason") + def cancellation_reason(self) -> str: + """ + Reason for cancellation. + """ + return pulumi.get(self, "cancellation_reason") + + @property + @pulumi.getter(name="delayedStage") + def delayed_stage(self) -> str: + """ + Name of the stage where delay might be present. + """ + return pulumi.get(self, "delayed_stage") + + @property + @pulumi.getter(name="deliveryInfo") + def delivery_info(self) -> Optional['outputs.JobDeliveryInfoResponse']: + """ + Delivery Info of Job. + """ + return pulumi.get(self, "delivery_info") + + @property + @pulumi.getter(name="deliveryType") + def delivery_type(self) -> Optional[str]: + """ + Delivery type of Job. + """ + return pulumi.get(self, "delivery_type") + + @property + @pulumi.getter + def details(self) -> Optional[Any]: + """ + Details of a job run. This field will only be sent for expand details filter. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def error(self) -> 'outputs.CloudErrorResponse': + """ + Top level error for the job. + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter + def id(self) -> str: + """ + Id of the object. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.ResourceIdentityResponse']: + """ + Msi identity of the resource + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="isCancellable") + def is_cancellable(self) -> bool: + """ + Describes whether the job is cancellable or not. + """ + return pulumi.get(self, "is_cancellable") + + @property + @pulumi.getter(name="isCancellableWithoutFee") + def is_cancellable_without_fee(self) -> bool: + """ + Flag to indicate cancellation of scheduled job. + """ + return pulumi.get(self, "is_cancellable_without_fee") + + @property + @pulumi.getter(name="isDeletable") + def is_deletable(self) -> bool: + """ + Describes whether the job is deletable or not. + """ + return pulumi.get(self, "is_deletable") + + @property + @pulumi.getter(name="isPrepareToShipEnabled") + def is_prepare_to_ship_enabled(self) -> bool: + """ + Is Prepare To Ship Enabled on this job + """ + return pulumi.get(self, "is_prepare_to_ship_enabled") + + @property + @pulumi.getter(name="isShippingAddressEditable") + def is_shipping_address_editable(self) -> bool: + """ + Describes whether the shipping address is editable or not. + """ + return pulumi.get(self, "is_shipping_address_editable") + + @property + @pulumi.getter + def location(self) -> str: + """ + The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the object. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="reverseShippingDetailsUpdate") + def reverse_shipping_details_update(self) -> str: + """ + The Editable status for Reverse Shipping Address and Contact Info + """ + return pulumi.get(self, "reverse_shipping_details_update") + + @property + @pulumi.getter(name="reverseTransportPreferenceUpdate") + def reverse_transport_preference_update(self) -> str: + """ + The Editable status for Reverse Transport preferences + """ + return pulumi.get(self, "reverse_transport_preference_update") + + @property + @pulumi.getter + def sku(self) -> 'outputs.SkuResponse': + """ + The sku type. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> str: + """ + Time at which the job was started in UTC ISO 8601 format. + """ + return pulumi.get(self, "start_time") + + @property + @pulumi.getter + def status(self) -> str: + """ + Name of the stage which is in progress. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="transferType") + def transfer_type(self) -> str: + """ + Type of the data transfer. + """ + return pulumi.get(self, "transfer_type") + + @property + @pulumi.getter + def type(self) -> str: + """ + Type of the object. + """ + return pulumi.get(self, "type") + + +class AwaitableGetJobResult(GetJobResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetJobResult( + cancellation_reason=self.cancellation_reason, + delayed_stage=self.delayed_stage, + delivery_info=self.delivery_info, + delivery_type=self.delivery_type, + details=self.details, + error=self.error, + id=self.id, + identity=self.identity, + is_cancellable=self.is_cancellable, + is_cancellable_without_fee=self.is_cancellable_without_fee, + is_deletable=self.is_deletable, + is_prepare_to_ship_enabled=self.is_prepare_to_ship_enabled, + is_shipping_address_editable=self.is_shipping_address_editable, + location=self.location, + name=self.name, + reverse_shipping_details_update=self.reverse_shipping_details_update, + reverse_transport_preference_update=self.reverse_transport_preference_update, + sku=self.sku, + start_time=self.start_time, + status=self.status, + system_data=self.system_data, + tags=self.tags, + transfer_type=self.transfer_type, + type=self.type) + + +def get_job(expand: Optional[str] = None, + job_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetJobResult: + """ + Gets information about the specified job. + + + :param str expand: $expand is supported on details parameter for job, which provides details on the job stages. + :param str job_name: The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + :param str resource_group_name: The Resource Group Name + """ + __args__ = dict() + __args__['expand'] = expand + __args__['jobName'] = job_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:databox/v20230301:getJob', __args__, opts=opts, typ=GetJobResult).value + + return AwaitableGetJobResult( + cancellation_reason=__ret__.cancellation_reason, + delayed_stage=__ret__.delayed_stage, + delivery_info=__ret__.delivery_info, + delivery_type=__ret__.delivery_type, + details=__ret__.details, + error=__ret__.error, + id=__ret__.id, + identity=__ret__.identity, + is_cancellable=__ret__.is_cancellable, + is_cancellable_without_fee=__ret__.is_cancellable_without_fee, + is_deletable=__ret__.is_deletable, + is_prepare_to_ship_enabled=__ret__.is_prepare_to_ship_enabled, + is_shipping_address_editable=__ret__.is_shipping_address_editable, + location=__ret__.location, + name=__ret__.name, + reverse_shipping_details_update=__ret__.reverse_shipping_details_update, + reverse_transport_preference_update=__ret__.reverse_transport_preference_update, + sku=__ret__.sku, + start_time=__ret__.start_time, + status=__ret__.status, + system_data=__ret__.system_data, + tags=__ret__.tags, + transfer_type=__ret__.transfer_type, + type=__ret__.type) + + +@_utilities.lift_output_func(get_job) +def get_job_output(expand: Optional[pulumi.Input[Optional[str]]] = None, + job_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetJobResult]: + """ + Gets information about the specified job. + + + :param str expand: $expand is supported on details parameter for job, which provides details on the job stages. + :param str job_name: The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + :param str resource_group_name: The Resource Group Name + """ + ... diff --git a/sdk/python/pulumi_azure_native/databox/v20230301/job.py b/sdk/python/pulumi_azure_native/databox/v20230301/job.py new file mode 100644 index 000000000000..3288ee6ddda8 --- /dev/null +++ b/sdk/python/pulumi_azure_native/databox/v20230301/job.py @@ -0,0 +1,524 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['JobArgs', 'Job'] + +@pulumi.input_type +class JobArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + sku: pulumi.Input['SkuArgs'], + transfer_type: pulumi.Input[Union[str, 'TransferType']], + delivery_info: Optional[pulumi.Input['JobDeliveryInfoArgs']] = None, + delivery_type: Optional[pulumi.Input[Union[str, 'JobDeliveryType']]] = None, + details: Optional[pulumi.Input[Union['DataBoxCustomerDiskJobDetailsArgs', 'DataBoxDiskJobDetailsArgs', 'DataBoxHeavyJobDetailsArgs', 'DataBoxJobDetailsArgs']]] = None, + identity: Optional[pulumi.Input['ResourceIdentityArgs']] = None, + job_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Job resource. + :param pulumi.Input[str] resource_group_name: The Resource Group Name + :param pulumi.Input['SkuArgs'] sku: The sku type. + :param pulumi.Input[Union[str, 'TransferType']] transfer_type: Type of the data transfer. + :param pulumi.Input['JobDeliveryInfoArgs'] delivery_info: Delivery Info of Job. + :param pulumi.Input[Union[str, 'JobDeliveryType']] delivery_type: Delivery type of Job. + :param pulumi.Input[Union['DataBoxCustomerDiskJobDetailsArgs', 'DataBoxDiskJobDetailsArgs', 'DataBoxHeavyJobDetailsArgs', 'DataBoxJobDetailsArgs']] details: Details of a job run. This field will only be sent for expand details filter. + :param pulumi.Input['ResourceIdentityArgs'] identity: Msi identity of the resource + :param pulumi.Input[str] job_name: The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + :param pulumi.Input[str] location: The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "sku", sku) + pulumi.set(__self__, "transfer_type", transfer_type) + if delivery_info is not None: + pulumi.set(__self__, "delivery_info", delivery_info) + if delivery_type is None: + delivery_type = 'NonScheduled' + if delivery_type is not None: + pulumi.set(__self__, "delivery_type", delivery_type) + if details is not None: + pulumi.set(__self__, "details", details) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if job_name is not None: + pulumi.set(__self__, "job_name", job_name) + if location is not None: + pulumi.set(__self__, "location", location) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The Resource Group Name + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def sku(self) -> pulumi.Input['SkuArgs']: + """ + The sku type. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: pulumi.Input['SkuArgs']): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter(name="transferType") + def transfer_type(self) -> pulumi.Input[Union[str, 'TransferType']]: + """ + Type of the data transfer. + """ + return pulumi.get(self, "transfer_type") + + @transfer_type.setter + def transfer_type(self, value: pulumi.Input[Union[str, 'TransferType']]): + pulumi.set(self, "transfer_type", value) + + @property + @pulumi.getter(name="deliveryInfo") + def delivery_info(self) -> Optional[pulumi.Input['JobDeliveryInfoArgs']]: + """ + Delivery Info of Job. + """ + return pulumi.get(self, "delivery_info") + + @delivery_info.setter + def delivery_info(self, value: Optional[pulumi.Input['JobDeliveryInfoArgs']]): + pulumi.set(self, "delivery_info", value) + + @property + @pulumi.getter(name="deliveryType") + def delivery_type(self) -> Optional[pulumi.Input[Union[str, 'JobDeliveryType']]]: + """ + Delivery type of Job. + """ + return pulumi.get(self, "delivery_type") + + @delivery_type.setter + def delivery_type(self, value: Optional[pulumi.Input[Union[str, 'JobDeliveryType']]]): + pulumi.set(self, "delivery_type", value) + + @property + @pulumi.getter + def details(self) -> Optional[pulumi.Input[Union['DataBoxCustomerDiskJobDetailsArgs', 'DataBoxDiskJobDetailsArgs', 'DataBoxHeavyJobDetailsArgs', 'DataBoxJobDetailsArgs']]]: + """ + Details of a job run. This field will only be sent for expand details filter. + """ + return pulumi.get(self, "details") + + @details.setter + def details(self, value: Optional[pulumi.Input[Union['DataBoxCustomerDiskJobDetailsArgs', 'DataBoxDiskJobDetailsArgs', 'DataBoxHeavyJobDetailsArgs', 'DataBoxJobDetailsArgs']]]): + pulumi.set(self, "details", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['ResourceIdentityArgs']]: + """ + Msi identity of the resource + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['ResourceIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter(name="jobName") + def job_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + """ + return pulumi.get(self, "job_name") + + @job_name.setter + def job_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "job_name", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class Job(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + delivery_info: Optional[pulumi.Input[pulumi.InputType['JobDeliveryInfoArgs']]] = None, + delivery_type: Optional[pulumi.Input[Union[str, 'JobDeliveryType']]] = None, + details: Optional[pulumi.Input[Union[pulumi.InputType['DataBoxCustomerDiskJobDetailsArgs'], pulumi.InputType['DataBoxDiskJobDetailsArgs'], pulumi.InputType['DataBoxHeavyJobDetailsArgs'], pulumi.InputType['DataBoxJobDetailsArgs']]]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ResourceIdentityArgs']]] = None, + job_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + transfer_type: Optional[pulumi.Input[Union[str, 'TransferType']]] = None, + __props__=None): + """ + Job Resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['JobDeliveryInfoArgs']] delivery_info: Delivery Info of Job. + :param pulumi.Input[Union[str, 'JobDeliveryType']] delivery_type: Delivery type of Job. + :param pulumi.Input[Union[pulumi.InputType['DataBoxCustomerDiskJobDetailsArgs'], pulumi.InputType['DataBoxDiskJobDetailsArgs'], pulumi.InputType['DataBoxHeavyJobDetailsArgs'], pulumi.InputType['DataBoxJobDetailsArgs']]] details: Details of a job run. This field will only be sent for expand details filter. + :param pulumi.Input[pulumi.InputType['ResourceIdentityArgs']] identity: Msi identity of the resource + :param pulumi.Input[str] job_name: The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + :param pulumi.Input[str] location: The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + :param pulumi.Input[str] resource_group_name: The Resource Group Name + :param pulumi.Input[pulumi.InputType['SkuArgs']] sku: The sku type. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + :param pulumi.Input[Union[str, 'TransferType']] transfer_type: Type of the data transfer. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: JobArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Job Resource. + + :param str resource_name: The name of the resource. + :param JobArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(JobArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + delivery_info: Optional[pulumi.Input[pulumi.InputType['JobDeliveryInfoArgs']]] = None, + delivery_type: Optional[pulumi.Input[Union[str, 'JobDeliveryType']]] = None, + details: Optional[pulumi.Input[Union[pulumi.InputType['DataBoxCustomerDiskJobDetailsArgs'], pulumi.InputType['DataBoxDiskJobDetailsArgs'], pulumi.InputType['DataBoxHeavyJobDetailsArgs'], pulumi.InputType['DataBoxJobDetailsArgs']]]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ResourceIdentityArgs']]] = None, + job_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + transfer_type: Optional[pulumi.Input[Union[str, 'TransferType']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = JobArgs.__new__(JobArgs) + + __props__.__dict__["delivery_info"] = delivery_info + if delivery_type is None: + delivery_type = 'NonScheduled' + __props__.__dict__["delivery_type"] = delivery_type + __props__.__dict__["details"] = details + __props__.__dict__["identity"] = identity + __props__.__dict__["job_name"] = job_name + __props__.__dict__["location"] = location + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if sku is None and not opts.urn: + raise TypeError("Missing required property 'sku'") + __props__.__dict__["sku"] = sku + __props__.__dict__["tags"] = tags + if transfer_type is None and not opts.urn: + raise TypeError("Missing required property 'transfer_type'") + __props__.__dict__["transfer_type"] = transfer_type + __props__.__dict__["cancellation_reason"] = None + __props__.__dict__["delayed_stage"] = None + __props__.__dict__["error"] = None + __props__.__dict__["is_cancellable"] = None + __props__.__dict__["is_cancellable_without_fee"] = None + __props__.__dict__["is_deletable"] = None + __props__.__dict__["is_prepare_to_ship_enabled"] = None + __props__.__dict__["is_shipping_address_editable"] = None + __props__.__dict__["name"] = None + __props__.__dict__["reverse_shipping_details_update"] = None + __props__.__dict__["reverse_transport_preference_update"] = None + __props__.__dict__["start_time"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:databox:Job"), pulumi.Alias(type_="azure-native:databox/v20180101:Job"), pulumi.Alias(type_="azure-native:databox/v20190901:Job"), pulumi.Alias(type_="azure-native:databox/v20200401:Job"), pulumi.Alias(type_="azure-native:databox/v20201101:Job"), pulumi.Alias(type_="azure-native:databox/v20210301:Job"), pulumi.Alias(type_="azure-native:databox/v20210501:Job"), pulumi.Alias(type_="azure-native:databox/v20210801preview:Job"), pulumi.Alias(type_="azure-native:databox/v20211201:Job"), pulumi.Alias(type_="azure-native:databox/v20220201:Job"), pulumi.Alias(type_="azure-native:databox/v20220901:Job"), pulumi.Alias(type_="azure-native:databox/v20221001:Job"), pulumi.Alias(type_="azure-native:databox/v20221201:Job")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Job, __self__).__init__( + 'azure-native:databox/v20230301:Job', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Job': + """ + Get an existing Job resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = JobArgs.__new__(JobArgs) + + __props__.__dict__["cancellation_reason"] = None + __props__.__dict__["delayed_stage"] = None + __props__.__dict__["delivery_info"] = None + __props__.__dict__["delivery_type"] = None + __props__.__dict__["details"] = None + __props__.__dict__["error"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["is_cancellable"] = None + __props__.__dict__["is_cancellable_without_fee"] = None + __props__.__dict__["is_deletable"] = None + __props__.__dict__["is_prepare_to_ship_enabled"] = None + __props__.__dict__["is_shipping_address_editable"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["reverse_shipping_details_update"] = None + __props__.__dict__["reverse_transport_preference_update"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["start_time"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["transfer_type"] = None + __props__.__dict__["type"] = None + return Job(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="cancellationReason") + def cancellation_reason(self) -> pulumi.Output[str]: + """ + Reason for cancellation. + """ + return pulumi.get(self, "cancellation_reason") + + @property + @pulumi.getter(name="delayedStage") + def delayed_stage(self) -> pulumi.Output[str]: + """ + Name of the stage where delay might be present. + """ + return pulumi.get(self, "delayed_stage") + + @property + @pulumi.getter(name="deliveryInfo") + def delivery_info(self) -> pulumi.Output[Optional['outputs.JobDeliveryInfoResponse']]: + """ + Delivery Info of Job. + """ + return pulumi.get(self, "delivery_info") + + @property + @pulumi.getter(name="deliveryType") + def delivery_type(self) -> pulumi.Output[Optional[str]]: + """ + Delivery type of Job. + """ + return pulumi.get(self, "delivery_type") + + @property + @pulumi.getter + def details(self) -> pulumi.Output[Optional[Any]]: + """ + Details of a job run. This field will only be sent for expand details filter. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def error(self) -> pulumi.Output['outputs.CloudErrorResponse']: + """ + Top level error for the job. + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.ResourceIdentityResponse']]: + """ + Msi identity of the resource + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter(name="isCancellable") + def is_cancellable(self) -> pulumi.Output[bool]: + """ + Describes whether the job is cancellable or not. + """ + return pulumi.get(self, "is_cancellable") + + @property + @pulumi.getter(name="isCancellableWithoutFee") + def is_cancellable_without_fee(self) -> pulumi.Output[bool]: + """ + Flag to indicate cancellation of scheduled job. + """ + return pulumi.get(self, "is_cancellable_without_fee") + + @property + @pulumi.getter(name="isDeletable") + def is_deletable(self) -> pulumi.Output[bool]: + """ + Describes whether the job is deletable or not. + """ + return pulumi.get(self, "is_deletable") + + @property + @pulumi.getter(name="isPrepareToShipEnabled") + def is_prepare_to_ship_enabled(self) -> pulumi.Output[bool]: + """ + Is Prepare To Ship Enabled on this job + """ + return pulumi.get(self, "is_prepare_to_ship_enabled") + + @property + @pulumi.getter(name="isShippingAddressEditable") + def is_shipping_address_editable(self) -> pulumi.Output[bool]: + """ + Describes whether the shipping address is editable or not. + """ + return pulumi.get(self, "is_shipping_address_editable") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the object. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="reverseShippingDetailsUpdate") + def reverse_shipping_details_update(self) -> pulumi.Output[str]: + """ + The Editable status for Reverse Shipping Address and Contact Info + """ + return pulumi.get(self, "reverse_shipping_details_update") + + @property + @pulumi.getter(name="reverseTransportPreferenceUpdate") + def reverse_transport_preference_update(self) -> pulumi.Output[str]: + """ + The Editable status for Reverse Transport preferences + """ + return pulumi.get(self, "reverse_transport_preference_update") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output['outputs.SkuResponse']: + """ + The sku type. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> pulumi.Output[str]: + """ + Time at which the job was started in UTC ISO 8601 format. + """ + return pulumi.get(self, "start_time") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + Name of the stage which is in progress. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="transferType") + def transfer_type(self) -> pulumi.Output[str]: + """ + Type of the data transfer. + """ + return pulumi.get(self, "transfer_type") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Type of the object. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/databox/v20230301/list_job_credentials.py b/sdk/python/pulumi_azure_native/databox/v20230301/list_job_credentials.py new file mode 100644 index 000000000000..7e029607647b --- /dev/null +++ b/sdk/python/pulumi_azure_native/databox/v20230301/list_job_credentials.py @@ -0,0 +1,92 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'ListJobCredentialsResult', + 'AwaitableListJobCredentialsResult', + 'list_job_credentials', + 'list_job_credentials_output', +] + +@pulumi.output_type +class ListJobCredentialsResult: + """ + List of unencrypted credentials for accessing device. + """ + def __init__(__self__, next_link=None, value=None): + if next_link and not isinstance(next_link, str): + raise TypeError("Expected argument 'next_link' to be a str") + pulumi.set(__self__, "next_link", next_link) + if value and not isinstance(value, list): + raise TypeError("Expected argument 'value' to be a list") + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter(name="nextLink") + def next_link(self) -> Optional[str]: + """ + Link for the next set of unencrypted credentials. + """ + return pulumi.get(self, "next_link") + + @property + @pulumi.getter + def value(self) -> Optional[Sequence['outputs.UnencryptedCredentialsResponse']]: + """ + List of unencrypted credentials. + """ + return pulumi.get(self, "value") + + +class AwaitableListJobCredentialsResult(ListJobCredentialsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return ListJobCredentialsResult( + next_link=self.next_link, + value=self.value) + + +def list_job_credentials(job_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListJobCredentialsResult: + """ + This method gets the unencrypted secrets related to the job. + + + :param str job_name: The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + :param str resource_group_name: The Resource Group Name + """ + __args__ = dict() + __args__['jobName'] = job_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:databox/v20230301:listJobCredentials', __args__, opts=opts, typ=ListJobCredentialsResult).value + + return AwaitableListJobCredentialsResult( + next_link=__ret__.next_link, + value=__ret__.value) + + +@_utilities.lift_output_func(list_job_credentials) +def list_job_credentials_output(job_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[ListJobCredentialsResult]: + """ + This method gets the unencrypted secrets related to the job. + + + :param str job_name: The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only + :param str resource_group_name: The Resource Group Name + """ + ... diff --git a/sdk/python/pulumi_azure_native/databox/v20230301/outputs.py b/sdk/python/pulumi_azure_native/databox/v20230301/outputs.py new file mode 100644 index 000000000000..20d9ab5d24ed --- /dev/null +++ b/sdk/python/pulumi_azure_native/databox/v20230301/outputs.py @@ -0,0 +1,6380 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'AccountCredentialDetailsResponse', + 'AdditionalErrorInfoResponse', + 'ApplianceNetworkConfigurationResponse', + 'AzureFileFilterDetailsResponse', + 'BlobFilterDetailsResponse', + 'CloudErrorResponse', + 'ContactDetailsResponse', + 'ContactInfoResponse', + 'CopyProgressResponse', + 'CustomerDiskJobSecretsResponse', + 'DataBoxAccountCopyLogDetailsResponse', + 'DataBoxCustomerDiskCopyLogDetailsResponse', + 'DataBoxCustomerDiskCopyProgressResponse', + 'DataBoxCustomerDiskJobDetailsResponse', + 'DataBoxDiskCopyLogDetailsResponse', + 'DataBoxDiskCopyProgressResponse', + 'DataBoxDiskGranularCopyLogDetailsResponse', + 'DataBoxDiskGranularCopyProgressResponse', + 'DataBoxDiskJobDetailsResponse', + 'DataBoxDiskJobSecretsResponse', + 'DataBoxHeavyAccountCopyLogDetailsResponse', + 'DataBoxHeavyJobDetailsResponse', + 'DataBoxHeavyJobSecretsResponse', + 'DataBoxHeavySecretResponse', + 'DataBoxJobDetailsResponse', + 'DataBoxSecretResponse', + 'DataExportDetailsResponse', + 'DataImportDetailsResponse', + 'DataboxJobSecretsResponse', + 'DatacenterAddressInstructionResponseResponse', + 'DatacenterAddressLocationResponseResponse', + 'DcAccessSecurityCodeResponse', + 'DeviceErasureDetailsResponse', + 'DiskSecretResponse', + 'EncryptionPreferencesResponse', + 'ExportDiskDetailsResponse', + 'FilterFileDetailsResponse', + 'IdentityPropertiesResponse', + 'ImportDiskDetailsResponse', + 'JobDelayDetailsResponse', + 'JobDeliveryInfoResponse', + 'JobStagesResponse', + 'KeyEncryptionKeyResponse', + 'LastMitigationActionOnJobResponse', + 'ManagedDiskDetailsResponse', + 'NotificationPreferenceResponse', + 'PackageCarrierDetailsResponse', + 'PackageCarrierInfoResponse', + 'PackageShippingDetailsResponse', + 'PreferencesResponse', + 'ResourceIdentityResponse', + 'ReverseShippingDetailsResponse', + 'ShareCredentialDetailsResponse', + 'ShippingAddressResponse', + 'SkuResponse', + 'StorageAccountDetailsResponse', + 'SystemDataResponse', + 'TransferAllDetailsResponse', + 'TransferConfigurationResponse', + 'TransferConfigurationResponseTransferAllDetails', + 'TransferConfigurationResponseTransferFilterDetails', + 'TransferFilterDetailsResponse', + 'TransportPreferencesResponse', + 'UnencryptedCredentialsResponse', + 'UserAssignedIdentityResponse', + 'UserAssignedPropertiesResponse', +] + +@pulumi.output_type +class AccountCredentialDetailsResponse(dict): + """ + Credential details of the account. + """ + def __init__(__self__, *, + account_connection_string: str, + account_name: str, + data_account_type: str, + share_credential_details: Sequence['outputs.ShareCredentialDetailsResponse']): + """ + Credential details of the account. + :param str account_connection_string: Connection string of the account endpoint to use the account as a storage endpoint on the device. + :param str account_name: Name of the account. + :param str data_account_type: Type of the account. + :param Sequence['ShareCredentialDetailsResponse'] share_credential_details: Per share level unencrypted access credentials. + """ + pulumi.set(__self__, "account_connection_string", account_connection_string) + pulumi.set(__self__, "account_name", account_name) + pulumi.set(__self__, "data_account_type", data_account_type) + pulumi.set(__self__, "share_credential_details", share_credential_details) + + @property + @pulumi.getter(name="accountConnectionString") + def account_connection_string(self) -> str: + """ + Connection string of the account endpoint to use the account as a storage endpoint on the device. + """ + return pulumi.get(self, "account_connection_string") + + @property + @pulumi.getter(name="accountName") + def account_name(self) -> str: + """ + Name of the account. + """ + return pulumi.get(self, "account_name") + + @property + @pulumi.getter(name="dataAccountType") + def data_account_type(self) -> str: + """ + Type of the account. + """ + return pulumi.get(self, "data_account_type") + + @property + @pulumi.getter(name="shareCredentialDetails") + def share_credential_details(self) -> Sequence['outputs.ShareCredentialDetailsResponse']: + """ + Per share level unencrypted access credentials. + """ + return pulumi.get(self, "share_credential_details") + + +@pulumi.output_type +class AdditionalErrorInfoResponse(dict): + """ + This class represents additional info which Resource Providers pass when an error occurs. + """ + def __init__(__self__, *, + info: Optional[Any] = None, + type: Optional[str] = None): + """ + This class represents additional info which Resource Providers pass when an error occurs. + :param Any info: Additional information of the type of error. + :param str type: Type of error (e.g. CustomerIntervention, PolicyViolation, SecurityViolation). + """ + if info is not None: + pulumi.set(__self__, "info", info) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def info(self) -> Optional[Any]: + """ + Additional information of the type of error. + """ + return pulumi.get(self, "info") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + Type of error (e.g. CustomerIntervention, PolicyViolation, SecurityViolation). + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class ApplianceNetworkConfigurationResponse(dict): + """ + The Network Adapter configuration of a DataBox. + """ + def __init__(__self__, *, + mac_address: str, + name: str): + """ + The Network Adapter configuration of a DataBox. + :param str mac_address: Mac Address. + :param str name: Name of the network. + """ + pulumi.set(__self__, "mac_address", mac_address) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="macAddress") + def mac_address(self) -> str: + """ + Mac Address. + """ + return pulumi.get(self, "mac_address") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the network. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class AzureFileFilterDetailsResponse(dict): + """ + Filter details to transfer Azure files + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "filePathList": + suggest = "file_path_list" + elif key == "filePrefixList": + suggest = "file_prefix_list" + elif key == "fileShareList": + suggest = "file_share_list" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AzureFileFilterDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AzureFileFilterDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AzureFileFilterDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + file_path_list: Optional[Sequence[str]] = None, + file_prefix_list: Optional[Sequence[str]] = None, + file_share_list: Optional[Sequence[str]] = None): + """ + Filter details to transfer Azure files + :param Sequence[str] file_path_list: List of full path of the files to be transferred. + :param Sequence[str] file_prefix_list: Prefix list of the Azure files to be transferred. + :param Sequence[str] file_share_list: List of file shares to be transferred. + """ + if file_path_list is not None: + pulumi.set(__self__, "file_path_list", file_path_list) + if file_prefix_list is not None: + pulumi.set(__self__, "file_prefix_list", file_prefix_list) + if file_share_list is not None: + pulumi.set(__self__, "file_share_list", file_share_list) + + @property + @pulumi.getter(name="filePathList") + def file_path_list(self) -> Optional[Sequence[str]]: + """ + List of full path of the files to be transferred. + """ + return pulumi.get(self, "file_path_list") + + @property + @pulumi.getter(name="filePrefixList") + def file_prefix_list(self) -> Optional[Sequence[str]]: + """ + Prefix list of the Azure files to be transferred. + """ + return pulumi.get(self, "file_prefix_list") + + @property + @pulumi.getter(name="fileShareList") + def file_share_list(self) -> Optional[Sequence[str]]: + """ + List of file shares to be transferred. + """ + return pulumi.get(self, "file_share_list") + + +@pulumi.output_type +class BlobFilterDetailsResponse(dict): + """ + Filter details to transfer Azure Blobs + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "blobPathList": + suggest = "blob_path_list" + elif key == "blobPrefixList": + suggest = "blob_prefix_list" + elif key == "containerList": + suggest = "container_list" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BlobFilterDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BlobFilterDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BlobFilterDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + blob_path_list: Optional[Sequence[str]] = None, + blob_prefix_list: Optional[Sequence[str]] = None, + container_list: Optional[Sequence[str]] = None): + """ + Filter details to transfer Azure Blobs + :param Sequence[str] blob_path_list: List of full path of the blobs to be transferred. + :param Sequence[str] blob_prefix_list: Prefix list of the Azure blobs to be transferred. + :param Sequence[str] container_list: List of blob containers to be transferred. + """ + if blob_path_list is not None: + pulumi.set(__self__, "blob_path_list", blob_path_list) + if blob_prefix_list is not None: + pulumi.set(__self__, "blob_prefix_list", blob_prefix_list) + if container_list is not None: + pulumi.set(__self__, "container_list", container_list) + + @property + @pulumi.getter(name="blobPathList") + def blob_path_list(self) -> Optional[Sequence[str]]: + """ + List of full path of the blobs to be transferred. + """ + return pulumi.get(self, "blob_path_list") + + @property + @pulumi.getter(name="blobPrefixList") + def blob_prefix_list(self) -> Optional[Sequence[str]]: + """ + Prefix list of the Azure blobs to be transferred. + """ + return pulumi.get(self, "blob_prefix_list") + + @property + @pulumi.getter(name="containerList") + def container_list(self) -> Optional[Sequence[str]]: + """ + List of blob containers to be transferred. + """ + return pulumi.get(self, "container_list") + + +@pulumi.output_type +class CloudErrorResponse(dict): + """ + Provides additional information about an http error response. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "additionalInfo": + suggest = "additional_info" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CloudErrorResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CloudErrorResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CloudErrorResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + additional_info: Sequence['outputs.AdditionalErrorInfoResponse'], + details: Sequence['outputs.CloudErrorResponse'], + code: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None): + """ + Provides additional information about an http error response. + :param Sequence['AdditionalErrorInfoResponse'] additional_info: Gets or sets additional error info. + :param Sequence['CloudErrorResponse'] details: Gets or sets details for the error. + :param str code: Error code. + :param str message: The error message parsed from the body of the http error response. + :param str target: Gets or sets the target of the error. + """ + pulumi.set(__self__, "additional_info", additional_info) + pulumi.set(__self__, "details", details) + if code is not None: + pulumi.set(__self__, "code", code) + if message is not None: + pulumi.set(__self__, "message", message) + if target is not None: + pulumi.set(__self__, "target", target) + + @property + @pulumi.getter(name="additionalInfo") + def additional_info(self) -> Sequence['outputs.AdditionalErrorInfoResponse']: + """ + Gets or sets additional error info. + """ + return pulumi.get(self, "additional_info") + + @property + @pulumi.getter + def details(self) -> Sequence['outputs.CloudErrorResponse']: + """ + Gets or sets details for the error. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def code(self) -> Optional[str]: + """ + Error code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + The error message parsed from the body of the http error response. + """ + return pulumi.get(self, "message") + + @property + @pulumi.getter + def target(self) -> Optional[str]: + """ + Gets or sets the target of the error. + """ + return pulumi.get(self, "target") + + +@pulumi.output_type +class ContactDetailsResponse(dict): + """ + Contact Details. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "contactName": + suggest = "contact_name" + elif key == "emailList": + suggest = "email_list" + elif key == "notificationPreference": + suggest = "notification_preference" + elif key == "phoneExtension": + suggest = "phone_extension" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ContactDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ContactDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ContactDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + contact_name: str, + email_list: Sequence[str], + phone: str, + mobile: Optional[str] = None, + notification_preference: Optional[Sequence['outputs.NotificationPreferenceResponse']] = None, + phone_extension: Optional[str] = None): + """ + Contact Details. + :param str contact_name: Contact name of the person. + :param Sequence[str] email_list: List of Email-ids to be notified about job progress. + :param str phone: Phone number of the contact person. + :param str mobile: Mobile number of the contact person. + :param Sequence['NotificationPreferenceResponse'] notification_preference: Notification preference for a job stage. + :param str phone_extension: Phone extension number of the contact person. + """ + pulumi.set(__self__, "contact_name", contact_name) + pulumi.set(__self__, "email_list", email_list) + pulumi.set(__self__, "phone", phone) + if mobile is not None: + pulumi.set(__self__, "mobile", mobile) + if notification_preference is not None: + pulumi.set(__self__, "notification_preference", notification_preference) + if phone_extension is not None: + pulumi.set(__self__, "phone_extension", phone_extension) + + @property + @pulumi.getter(name="contactName") + def contact_name(self) -> str: + """ + Contact name of the person. + """ + return pulumi.get(self, "contact_name") + + @property + @pulumi.getter(name="emailList") + def email_list(self) -> Sequence[str]: + """ + List of Email-ids to be notified about job progress. + """ + return pulumi.get(self, "email_list") + + @property + @pulumi.getter + def phone(self) -> str: + """ + Phone number of the contact person. + """ + return pulumi.get(self, "phone") + + @property + @pulumi.getter + def mobile(self) -> Optional[str]: + """ + Mobile number of the contact person. + """ + return pulumi.get(self, "mobile") + + @property + @pulumi.getter(name="notificationPreference") + def notification_preference(self) -> Optional[Sequence['outputs.NotificationPreferenceResponse']]: + """ + Notification preference for a job stage. + """ + return pulumi.get(self, "notification_preference") + + @property + @pulumi.getter(name="phoneExtension") + def phone_extension(self) -> Optional[str]: + """ + Phone extension number of the contact person. + """ + return pulumi.get(self, "phone_extension") + + +@pulumi.output_type +class ContactInfoResponse(dict): + """ + Contact Info. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "contactName": + suggest = "contact_name" + elif key == "phoneExtension": + suggest = "phone_extension" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ContactInfoResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ContactInfoResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ContactInfoResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + contact_name: str, + phone: str, + mobile: Optional[str] = None, + phone_extension: Optional[str] = None): + """ + Contact Info. + :param str contact_name: Contact name of the person. + :param str phone: Phone number of the contact person. + :param str mobile: Mobile number of the contact person. + :param str phone_extension: Phone extension number of the contact person. + """ + pulumi.set(__self__, "contact_name", contact_name) + pulumi.set(__self__, "phone", phone) + if mobile is not None: + pulumi.set(__self__, "mobile", mobile) + if phone_extension is not None: + pulumi.set(__self__, "phone_extension", phone_extension) + + @property + @pulumi.getter(name="contactName") + def contact_name(self) -> str: + """ + Contact name of the person. + """ + return pulumi.get(self, "contact_name") + + @property + @pulumi.getter + def phone(self) -> str: + """ + Phone number of the contact person. + """ + return pulumi.get(self, "phone") + + @property + @pulumi.getter + def mobile(self) -> Optional[str]: + """ + Mobile number of the contact person. + """ + return pulumi.get(self, "mobile") + + @property + @pulumi.getter(name="phoneExtension") + def phone_extension(self) -> Optional[str]: + """ + Phone extension number of the contact person. + """ + return pulumi.get(self, "phone_extension") + + +@pulumi.output_type +class CopyProgressResponse(dict): + """ + Copy progress. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountId": + suggest = "account_id" + elif key == "bytesProcessed": + suggest = "bytes_processed" + elif key == "dataAccountType": + suggest = "data_account_type" + elif key == "directoriesErroredOut": + suggest = "directories_errored_out" + elif key == "filesErroredOut": + suggest = "files_errored_out" + elif key == "filesProcessed": + suggest = "files_processed" + elif key == "invalidDirectoriesProcessed": + suggest = "invalid_directories_processed" + elif key == "invalidFileBytesUploaded": + suggest = "invalid_file_bytes_uploaded" + elif key == "invalidFilesProcessed": + suggest = "invalid_files_processed" + elif key == "isEnumerationInProgress": + suggest = "is_enumeration_in_progress" + elif key == "renamedContainerCount": + suggest = "renamed_container_count" + elif key == "storageAccountName": + suggest = "storage_account_name" + elif key == "totalBytesToProcess": + suggest = "total_bytes_to_process" + elif key == "totalFilesToProcess": + suggest = "total_files_to_process" + elif key == "transferType": + suggest = "transfer_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CopyProgressResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CopyProgressResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CopyProgressResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_id: str, + actions: Sequence[str], + bytes_processed: float, + data_account_type: str, + directories_errored_out: float, + error: 'outputs.CloudErrorResponse', + files_errored_out: float, + files_processed: float, + invalid_directories_processed: float, + invalid_file_bytes_uploaded: float, + invalid_files_processed: float, + is_enumeration_in_progress: bool, + renamed_container_count: float, + storage_account_name: str, + total_bytes_to_process: float, + total_files_to_process: float, + transfer_type: str): + """ + Copy progress. + :param str account_id: Id of the account where the data needs to be uploaded. + :param Sequence[str] actions: Available actions on the job. + :param float bytes_processed: To indicate bytes transferred. + :param str data_account_type: Data Account Type. + :param float directories_errored_out: To indicate directories errored out in the job. + :param 'CloudErrorResponse' error: Error, if any, in the stage + :param float files_errored_out: Number of files which could not be copied + :param float files_processed: Number of files processed + :param float invalid_directories_processed: To indicate directories renamed + :param float invalid_file_bytes_uploaded: Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + :param float invalid_files_processed: Number of files not adhering to azure naming conventions which were processed by automatic renaming + :param bool is_enumeration_in_progress: To indicate if enumeration of data is in progress. + Until this is true, the TotalBytesToProcess may not be valid. + :param float renamed_container_count: Number of folders not adhering to azure naming conventions which were processed by automatic renaming + :param str storage_account_name: Name of the storage account. This will be empty for data account types other than storage account. + :param float total_bytes_to_process: Total amount of data to be processed by the job. + :param float total_files_to_process: Total files to process + :param str transfer_type: Transfer type of data + """ + pulumi.set(__self__, "account_id", account_id) + pulumi.set(__self__, "actions", actions) + pulumi.set(__self__, "bytes_processed", bytes_processed) + pulumi.set(__self__, "data_account_type", data_account_type) + pulumi.set(__self__, "directories_errored_out", directories_errored_out) + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "files_errored_out", files_errored_out) + pulumi.set(__self__, "files_processed", files_processed) + pulumi.set(__self__, "invalid_directories_processed", invalid_directories_processed) + pulumi.set(__self__, "invalid_file_bytes_uploaded", invalid_file_bytes_uploaded) + pulumi.set(__self__, "invalid_files_processed", invalid_files_processed) + pulumi.set(__self__, "is_enumeration_in_progress", is_enumeration_in_progress) + pulumi.set(__self__, "renamed_container_count", renamed_container_count) + pulumi.set(__self__, "storage_account_name", storage_account_name) + pulumi.set(__self__, "total_bytes_to_process", total_bytes_to_process) + pulumi.set(__self__, "total_files_to_process", total_files_to_process) + pulumi.set(__self__, "transfer_type", transfer_type) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> str: + """ + Id of the account where the data needs to be uploaded. + """ + return pulumi.get(self, "account_id") + + @property + @pulumi.getter + def actions(self) -> Sequence[str]: + """ + Available actions on the job. + """ + return pulumi.get(self, "actions") + + @property + @pulumi.getter(name="bytesProcessed") + def bytes_processed(self) -> float: + """ + To indicate bytes transferred. + """ + return pulumi.get(self, "bytes_processed") + + @property + @pulumi.getter(name="dataAccountType") + def data_account_type(self) -> str: + """ + Data Account Type. + """ + return pulumi.get(self, "data_account_type") + + @property + @pulumi.getter(name="directoriesErroredOut") + def directories_errored_out(self) -> float: + """ + To indicate directories errored out in the job. + """ + return pulumi.get(self, "directories_errored_out") + + @property + @pulumi.getter + def error(self) -> 'outputs.CloudErrorResponse': + """ + Error, if any, in the stage + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter(name="filesErroredOut") + def files_errored_out(self) -> float: + """ + Number of files which could not be copied + """ + return pulumi.get(self, "files_errored_out") + + @property + @pulumi.getter(name="filesProcessed") + def files_processed(self) -> float: + """ + Number of files processed + """ + return pulumi.get(self, "files_processed") + + @property + @pulumi.getter(name="invalidDirectoriesProcessed") + def invalid_directories_processed(self) -> float: + """ + To indicate directories renamed + """ + return pulumi.get(self, "invalid_directories_processed") + + @property + @pulumi.getter(name="invalidFileBytesUploaded") + def invalid_file_bytes_uploaded(self) -> float: + """ + Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + """ + return pulumi.get(self, "invalid_file_bytes_uploaded") + + @property + @pulumi.getter(name="invalidFilesProcessed") + def invalid_files_processed(self) -> float: + """ + Number of files not adhering to azure naming conventions which were processed by automatic renaming + """ + return pulumi.get(self, "invalid_files_processed") + + @property + @pulumi.getter(name="isEnumerationInProgress") + def is_enumeration_in_progress(self) -> bool: + """ + To indicate if enumeration of data is in progress. + Until this is true, the TotalBytesToProcess may not be valid. + """ + return pulumi.get(self, "is_enumeration_in_progress") + + @property + @pulumi.getter(name="renamedContainerCount") + def renamed_container_count(self) -> float: + """ + Number of folders not adhering to azure naming conventions which were processed by automatic renaming + """ + return pulumi.get(self, "renamed_container_count") + + @property + @pulumi.getter(name="storageAccountName") + def storage_account_name(self) -> str: + """ + Name of the storage account. This will be empty for data account types other than storage account. + """ + return pulumi.get(self, "storage_account_name") + + @property + @pulumi.getter(name="totalBytesToProcess") + def total_bytes_to_process(self) -> float: + """ + Total amount of data to be processed by the job. + """ + return pulumi.get(self, "total_bytes_to_process") + + @property + @pulumi.getter(name="totalFilesToProcess") + def total_files_to_process(self) -> float: + """ + Total files to process + """ + return pulumi.get(self, "total_files_to_process") + + @property + @pulumi.getter(name="transferType") + def transfer_type(self) -> str: + """ + Transfer type of data + """ + return pulumi.get(self, "transfer_type") + + +@pulumi.output_type +class CustomerDiskJobSecretsResponse(dict): + """ + The secrets related to customer disk job. + """ + def __init__(__self__, *, + carrier_account_number: str, + dc_access_security_code: 'outputs.DcAccessSecurityCodeResponse', + disk_secrets: Sequence['outputs.DiskSecretResponse'], + error: 'outputs.CloudErrorResponse', + job_secrets_type: str): + """ + The secrets related to customer disk job. + :param str carrier_account_number: Carrier Account Number of the customer + :param 'DcAccessSecurityCodeResponse' dc_access_security_code: Dc Access Security Code for Customer Managed Shipping + :param Sequence['DiskSecretResponse'] disk_secrets: Contains the list of secrets object for that device. + :param 'CloudErrorResponse' error: Error while fetching the secrets. + :param str job_secrets_type: Used to indicate what type of job secrets object. + Expected value is 'DataBoxCustomerDisk'. + """ + pulumi.set(__self__, "carrier_account_number", carrier_account_number) + pulumi.set(__self__, "dc_access_security_code", dc_access_security_code) + pulumi.set(__self__, "disk_secrets", disk_secrets) + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "job_secrets_type", 'DataBoxCustomerDisk') + + @property + @pulumi.getter(name="carrierAccountNumber") + def carrier_account_number(self) -> str: + """ + Carrier Account Number of the customer + """ + return pulumi.get(self, "carrier_account_number") + + @property + @pulumi.getter(name="dcAccessSecurityCode") + def dc_access_security_code(self) -> 'outputs.DcAccessSecurityCodeResponse': + """ + Dc Access Security Code for Customer Managed Shipping + """ + return pulumi.get(self, "dc_access_security_code") + + @property + @pulumi.getter(name="diskSecrets") + def disk_secrets(self) -> Sequence['outputs.DiskSecretResponse']: + """ + Contains the list of secrets object for that device. + """ + return pulumi.get(self, "disk_secrets") + + @property + @pulumi.getter + def error(self) -> 'outputs.CloudErrorResponse': + """ + Error while fetching the secrets. + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter(name="jobSecretsType") + def job_secrets_type(self) -> str: + """ + Used to indicate what type of job secrets object. + Expected value is 'DataBoxCustomerDisk'. + """ + return pulumi.get(self, "job_secrets_type") + + +@pulumi.output_type +class DataBoxAccountCopyLogDetailsResponse(dict): + """ + Copy log details for a storage account of a DataBox job + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountName": + suggest = "account_name" + elif key == "copyLogDetailsType": + suggest = "copy_log_details_type" + elif key == "copyLogLink": + suggest = "copy_log_link" + elif key == "copyVerboseLogLink": + suggest = "copy_verbose_log_link" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataBoxAccountCopyLogDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataBoxAccountCopyLogDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataBoxAccountCopyLogDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_name: str, + copy_log_details_type: str, + copy_log_link: str, + copy_verbose_log_link: str): + """ + Copy log details for a storage account of a DataBox job + :param str account_name: Account name. + :param str copy_log_details_type: Indicates the type of job details. + Expected value is 'DataBox'. + :param str copy_log_link: Link for copy logs. + :param str copy_verbose_log_link: Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose. + """ + pulumi.set(__self__, "account_name", account_name) + pulumi.set(__self__, "copy_log_details_type", 'DataBox') + pulumi.set(__self__, "copy_log_link", copy_log_link) + pulumi.set(__self__, "copy_verbose_log_link", copy_verbose_log_link) + + @property + @pulumi.getter(name="accountName") + def account_name(self) -> str: + """ + Account name. + """ + return pulumi.get(self, "account_name") + + @property + @pulumi.getter(name="copyLogDetailsType") + def copy_log_details_type(self) -> str: + """ + Indicates the type of job details. + Expected value is 'DataBox'. + """ + return pulumi.get(self, "copy_log_details_type") + + @property + @pulumi.getter(name="copyLogLink") + def copy_log_link(self) -> str: + """ + Link for copy logs. + """ + return pulumi.get(self, "copy_log_link") + + @property + @pulumi.getter(name="copyVerboseLogLink") + def copy_verbose_log_link(self) -> str: + """ + Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose. + """ + return pulumi.get(self, "copy_verbose_log_link") + + +@pulumi.output_type +class DataBoxCustomerDiskCopyLogDetailsResponse(dict): + """ + Copy Log Details for customer disk + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "copyLogDetailsType": + suggest = "copy_log_details_type" + elif key == "errorLogLink": + suggest = "error_log_link" + elif key == "serialNumber": + suggest = "serial_number" + elif key == "verboseLogLink": + suggest = "verbose_log_link" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataBoxCustomerDiskCopyLogDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataBoxCustomerDiskCopyLogDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataBoxCustomerDiskCopyLogDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + copy_log_details_type: str, + error_log_link: str, + serial_number: str, + verbose_log_link: str): + """ + Copy Log Details for customer disk + :param str copy_log_details_type: Indicates the type of job details. + Expected value is 'DataBoxCustomerDisk'. + :param str error_log_link: Link for copy error logs. + :param str serial_number: Disk Serial Number. + :param str verbose_log_link: Link for copy verbose logs. + """ + pulumi.set(__self__, "copy_log_details_type", 'DataBoxCustomerDisk') + pulumi.set(__self__, "error_log_link", error_log_link) + pulumi.set(__self__, "serial_number", serial_number) + pulumi.set(__self__, "verbose_log_link", verbose_log_link) + + @property + @pulumi.getter(name="copyLogDetailsType") + def copy_log_details_type(self) -> str: + """ + Indicates the type of job details. + Expected value is 'DataBoxCustomerDisk'. + """ + return pulumi.get(self, "copy_log_details_type") + + @property + @pulumi.getter(name="errorLogLink") + def error_log_link(self) -> str: + """ + Link for copy error logs. + """ + return pulumi.get(self, "error_log_link") + + @property + @pulumi.getter(name="serialNumber") + def serial_number(self) -> str: + """ + Disk Serial Number. + """ + return pulumi.get(self, "serial_number") + + @property + @pulumi.getter(name="verboseLogLink") + def verbose_log_link(self) -> str: + """ + Link for copy verbose logs. + """ + return pulumi.get(self, "verbose_log_link") + + +@pulumi.output_type +class DataBoxCustomerDiskCopyProgressResponse(dict): + """ + DataBox CustomerDisk Copy Progress + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountId": + suggest = "account_id" + elif key == "bytesProcessed": + suggest = "bytes_processed" + elif key == "copyStatus": + suggest = "copy_status" + elif key == "dataAccountType": + suggest = "data_account_type" + elif key == "directoriesErroredOut": + suggest = "directories_errored_out" + elif key == "filesErroredOut": + suggest = "files_errored_out" + elif key == "filesProcessed": + suggest = "files_processed" + elif key == "invalidDirectoriesProcessed": + suggest = "invalid_directories_processed" + elif key == "invalidFileBytesUploaded": + suggest = "invalid_file_bytes_uploaded" + elif key == "invalidFilesProcessed": + suggest = "invalid_files_processed" + elif key == "isEnumerationInProgress": + suggest = "is_enumeration_in_progress" + elif key == "renamedContainerCount": + suggest = "renamed_container_count" + elif key == "serialNumber": + suggest = "serial_number" + elif key == "storageAccountName": + suggest = "storage_account_name" + elif key == "totalBytesToProcess": + suggest = "total_bytes_to_process" + elif key == "totalFilesToProcess": + suggest = "total_files_to_process" + elif key == "transferType": + suggest = "transfer_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataBoxCustomerDiskCopyProgressResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataBoxCustomerDiskCopyProgressResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataBoxCustomerDiskCopyProgressResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_id: str, + actions: Sequence[str], + bytes_processed: float, + copy_status: str, + data_account_type: str, + directories_errored_out: float, + error: 'outputs.CloudErrorResponse', + files_errored_out: float, + files_processed: float, + invalid_directories_processed: float, + invalid_file_bytes_uploaded: float, + invalid_files_processed: float, + is_enumeration_in_progress: bool, + renamed_container_count: float, + serial_number: str, + storage_account_name: str, + total_bytes_to_process: float, + total_files_to_process: float, + transfer_type: str): + """ + DataBox CustomerDisk Copy Progress + :param str account_id: Id of the account where the data needs to be uploaded. + :param Sequence[str] actions: Available actions on the job. + :param float bytes_processed: To indicate bytes transferred. + :param str copy_status: The Status of the copy + :param str data_account_type: Data Account Type. + :param float directories_errored_out: To indicate directories errored out in the job. + :param 'CloudErrorResponse' error: Error, if any, in the stage + :param float files_errored_out: Number of files which could not be copied + :param float files_processed: Number of files processed + :param float invalid_directories_processed: To indicate directories renamed + :param float invalid_file_bytes_uploaded: Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + :param float invalid_files_processed: Number of files not adhering to azure naming conventions which were processed by automatic renaming + :param bool is_enumeration_in_progress: To indicate if enumeration of data is in progress. + Until this is true, the TotalBytesToProcess may not be valid. + :param float renamed_container_count: Number of folders not adhering to azure naming conventions which were processed by automatic renaming + :param str serial_number: Disk Serial Number. + :param str storage_account_name: Name of the storage account. This will be empty for data account types other than storage account. + :param float total_bytes_to_process: Total amount of data to be processed by the job. + :param float total_files_to_process: Total files to process + :param str transfer_type: Transfer type of data + """ + pulumi.set(__self__, "account_id", account_id) + pulumi.set(__self__, "actions", actions) + pulumi.set(__self__, "bytes_processed", bytes_processed) + pulumi.set(__self__, "copy_status", copy_status) + pulumi.set(__self__, "data_account_type", data_account_type) + pulumi.set(__self__, "directories_errored_out", directories_errored_out) + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "files_errored_out", files_errored_out) + pulumi.set(__self__, "files_processed", files_processed) + pulumi.set(__self__, "invalid_directories_processed", invalid_directories_processed) + pulumi.set(__self__, "invalid_file_bytes_uploaded", invalid_file_bytes_uploaded) + pulumi.set(__self__, "invalid_files_processed", invalid_files_processed) + pulumi.set(__self__, "is_enumeration_in_progress", is_enumeration_in_progress) + pulumi.set(__self__, "renamed_container_count", renamed_container_count) + pulumi.set(__self__, "serial_number", serial_number) + pulumi.set(__self__, "storage_account_name", storage_account_name) + pulumi.set(__self__, "total_bytes_to_process", total_bytes_to_process) + pulumi.set(__self__, "total_files_to_process", total_files_to_process) + pulumi.set(__self__, "transfer_type", transfer_type) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> str: + """ + Id of the account where the data needs to be uploaded. + """ + return pulumi.get(self, "account_id") + + @property + @pulumi.getter + def actions(self) -> Sequence[str]: + """ + Available actions on the job. + """ + return pulumi.get(self, "actions") + + @property + @pulumi.getter(name="bytesProcessed") + def bytes_processed(self) -> float: + """ + To indicate bytes transferred. + """ + return pulumi.get(self, "bytes_processed") + + @property + @pulumi.getter(name="copyStatus") + def copy_status(self) -> str: + """ + The Status of the copy + """ + return pulumi.get(self, "copy_status") + + @property + @pulumi.getter(name="dataAccountType") + def data_account_type(self) -> str: + """ + Data Account Type. + """ + return pulumi.get(self, "data_account_type") + + @property + @pulumi.getter(name="directoriesErroredOut") + def directories_errored_out(self) -> float: + """ + To indicate directories errored out in the job. + """ + return pulumi.get(self, "directories_errored_out") + + @property + @pulumi.getter + def error(self) -> 'outputs.CloudErrorResponse': + """ + Error, if any, in the stage + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter(name="filesErroredOut") + def files_errored_out(self) -> float: + """ + Number of files which could not be copied + """ + return pulumi.get(self, "files_errored_out") + + @property + @pulumi.getter(name="filesProcessed") + def files_processed(self) -> float: + """ + Number of files processed + """ + return pulumi.get(self, "files_processed") + + @property + @pulumi.getter(name="invalidDirectoriesProcessed") + def invalid_directories_processed(self) -> float: + """ + To indicate directories renamed + """ + return pulumi.get(self, "invalid_directories_processed") + + @property + @pulumi.getter(name="invalidFileBytesUploaded") + def invalid_file_bytes_uploaded(self) -> float: + """ + Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + """ + return pulumi.get(self, "invalid_file_bytes_uploaded") + + @property + @pulumi.getter(name="invalidFilesProcessed") + def invalid_files_processed(self) -> float: + """ + Number of files not adhering to azure naming conventions which were processed by automatic renaming + """ + return pulumi.get(self, "invalid_files_processed") + + @property + @pulumi.getter(name="isEnumerationInProgress") + def is_enumeration_in_progress(self) -> bool: + """ + To indicate if enumeration of data is in progress. + Until this is true, the TotalBytesToProcess may not be valid. + """ + return pulumi.get(self, "is_enumeration_in_progress") + + @property + @pulumi.getter(name="renamedContainerCount") + def renamed_container_count(self) -> float: + """ + Number of folders not adhering to azure naming conventions which were processed by automatic renaming + """ + return pulumi.get(self, "renamed_container_count") + + @property + @pulumi.getter(name="serialNumber") + def serial_number(self) -> str: + """ + Disk Serial Number. + """ + return pulumi.get(self, "serial_number") + + @property + @pulumi.getter(name="storageAccountName") + def storage_account_name(self) -> str: + """ + Name of the storage account. This will be empty for data account types other than storage account. + """ + return pulumi.get(self, "storage_account_name") + + @property + @pulumi.getter(name="totalBytesToProcess") + def total_bytes_to_process(self) -> float: + """ + Total amount of data to be processed by the job. + """ + return pulumi.get(self, "total_bytes_to_process") + + @property + @pulumi.getter(name="totalFilesToProcess") + def total_files_to_process(self) -> float: + """ + Total files to process + """ + return pulumi.get(self, "total_files_to_process") + + @property + @pulumi.getter(name="transferType") + def transfer_type(self) -> str: + """ + Transfer type of data + """ + return pulumi.get(self, "transfer_type") + + +@pulumi.output_type +class DataBoxCustomerDiskJobDetailsResponse(dict): + """ + Customer disk job details. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "chainOfCustodySasKey": + suggest = "chain_of_custody_sas_key" + elif key == "contactDetails": + suggest = "contact_details" + elif key == "copyLogDetails": + suggest = "copy_log_details" + elif key == "copyProgress": + suggest = "copy_progress" + elif key == "dataCenterCode": + suggest = "data_center_code" + elif key == "datacenterAddress": + suggest = "datacenter_address" + elif key == "deliverToDcPackageDetails": + suggest = "deliver_to_dc_package_details" + elif key == "deliveryPackage": + suggest = "delivery_package" + elif key == "deviceErasureDetails": + suggest = "device_erasure_details" + elif key == "exportDiskDetailsCollection": + suggest = "export_disk_details_collection" + elif key == "jobDetailsType": + suggest = "job_details_type" + elif key == "jobStages": + suggest = "job_stages" + elif key == "lastMitigationActionOnJob": + suggest = "last_mitigation_action_on_job" + elif key == "returnPackage": + suggest = "return_package" + elif key == "returnToCustomerPackageDetails": + suggest = "return_to_customer_package_details" + elif key == "reverseShipmentLabelSasKey": + suggest = "reverse_shipment_label_sas_key" + elif key == "dataExportDetails": + suggest = "data_export_details" + elif key == "dataImportDetails": + suggest = "data_import_details" + elif key == "enableManifestBackup": + suggest = "enable_manifest_backup" + elif key == "expectedDataSizeInTeraBytes": + suggest = "expected_data_size_in_tera_bytes" + elif key == "importDiskDetailsCollection": + suggest = "import_disk_details_collection" + elif key == "keyEncryptionKey": + suggest = "key_encryption_key" + elif key == "reverseShippingDetails": + suggest = "reverse_shipping_details" + elif key == "shippingAddress": + suggest = "shipping_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataBoxCustomerDiskJobDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataBoxCustomerDiskJobDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataBoxCustomerDiskJobDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + actions: Sequence[str], + chain_of_custody_sas_key: str, + contact_details: 'outputs.ContactDetailsResponse', + copy_log_details: Sequence[Any], + copy_progress: Sequence['outputs.DataBoxCustomerDiskCopyProgressResponse'], + data_center_code: str, + datacenter_address: Any, + deliver_to_dc_package_details: 'outputs.PackageCarrierInfoResponse', + delivery_package: 'outputs.PackageShippingDetailsResponse', + device_erasure_details: 'outputs.DeviceErasureDetailsResponse', + export_disk_details_collection: Mapping[str, 'outputs.ExportDiskDetailsResponse'], + job_details_type: str, + job_stages: Sequence['outputs.JobStagesResponse'], + last_mitigation_action_on_job: 'outputs.LastMitigationActionOnJobResponse', + return_package: 'outputs.PackageShippingDetailsResponse', + return_to_customer_package_details: 'outputs.PackageCarrierDetailsResponse', + reverse_shipment_label_sas_key: str, + data_export_details: Optional[Sequence['outputs.DataExportDetailsResponse']] = None, + data_import_details: Optional[Sequence['outputs.DataImportDetailsResponse']] = None, + enable_manifest_backup: Optional[bool] = None, + expected_data_size_in_tera_bytes: Optional[int] = None, + import_disk_details_collection: Optional[Mapping[str, 'outputs.ImportDiskDetailsResponse']] = None, + key_encryption_key: Optional['outputs.KeyEncryptionKeyResponse'] = None, + preferences: Optional['outputs.PreferencesResponse'] = None, + reverse_shipping_details: Optional['outputs.ReverseShippingDetailsResponse'] = None, + shipping_address: Optional['outputs.ShippingAddressResponse'] = None): + """ + Customer disk job details. + :param Sequence[str] actions: Available actions on the job. + :param str chain_of_custody_sas_key: Shared access key to download the chain of custody logs + :param 'ContactDetailsResponse' contact_details: Contact details for notification and shipping. + :param Sequence[Union['DataBoxAccountCopyLogDetailsResponse', 'DataBoxCustomerDiskCopyLogDetailsResponse', 'DataBoxDiskCopyLogDetailsResponse', 'DataBoxHeavyAccountCopyLogDetailsResponse']] copy_log_details: List of copy log details. + :param Sequence['DataBoxCustomerDiskCopyProgressResponse'] copy_progress: Copy progress per disk. + :param str data_center_code: DataCenter code. + :param Union['DatacenterAddressInstructionResponseResponse', 'DatacenterAddressLocationResponseResponse'] datacenter_address: Datacenter address to ship to, for the given sku and storage location. + :param 'PackageCarrierInfoResponse' deliver_to_dc_package_details: Delivery package shipping details. + :param 'PackageShippingDetailsResponse' delivery_package: Delivery package shipping details. + :param 'DeviceErasureDetailsResponse' device_erasure_details: Holds device data erasure details + :param Mapping[str, 'ExportDiskDetailsResponse'] export_disk_details_collection: Contains the map of disk serial number to the disk details for export jobs. + :param str job_details_type: Indicates the type of job details. + Expected value is 'DataBoxCustomerDisk'. + :param Sequence['JobStagesResponse'] job_stages: List of stages that run in the job. + :param 'LastMitigationActionOnJobResponse' last_mitigation_action_on_job: Last mitigation action performed on the job. + :param 'PackageShippingDetailsResponse' return_package: Return package shipping details. + :param 'PackageCarrierDetailsResponse' return_to_customer_package_details: Return package shipping details. + :param str reverse_shipment_label_sas_key: Shared access key to download the return shipment label + :param Sequence['DataExportDetailsResponse'] data_export_details: Details of the data to be exported from azure. + :param Sequence['DataImportDetailsResponse'] data_import_details: Details of the data to be imported into azure. + :param bool enable_manifest_backup: Flag to indicate if disk manifest should be backed-up in the Storage Account. + :param int expected_data_size_in_tera_bytes: The expected size of the data, which needs to be transferred in this job, in terabytes. + :param Mapping[str, 'ImportDiskDetailsResponse'] import_disk_details_collection: Contains the map of disk serial number to the disk details for import jobs. + :param 'KeyEncryptionKeyResponse' key_encryption_key: Details about which key encryption type is being used. + :param 'PreferencesResponse' preferences: Preferences for the order. + :param 'ReverseShippingDetailsResponse' reverse_shipping_details: Optional Reverse Shipping details for order. + :param 'ShippingAddressResponse' shipping_address: Shipping address of the customer. + """ + pulumi.set(__self__, "actions", actions) + pulumi.set(__self__, "chain_of_custody_sas_key", chain_of_custody_sas_key) + pulumi.set(__self__, "contact_details", contact_details) + pulumi.set(__self__, "copy_log_details", copy_log_details) + pulumi.set(__self__, "copy_progress", copy_progress) + pulumi.set(__self__, "data_center_code", data_center_code) + pulumi.set(__self__, "datacenter_address", datacenter_address) + pulumi.set(__self__, "deliver_to_dc_package_details", deliver_to_dc_package_details) + pulumi.set(__self__, "delivery_package", delivery_package) + pulumi.set(__self__, "device_erasure_details", device_erasure_details) + pulumi.set(__self__, "export_disk_details_collection", export_disk_details_collection) + pulumi.set(__self__, "job_details_type", 'DataBoxCustomerDisk') + pulumi.set(__self__, "job_stages", job_stages) + pulumi.set(__self__, "last_mitigation_action_on_job", last_mitigation_action_on_job) + pulumi.set(__self__, "return_package", return_package) + pulumi.set(__self__, "return_to_customer_package_details", return_to_customer_package_details) + pulumi.set(__self__, "reverse_shipment_label_sas_key", reverse_shipment_label_sas_key) + if data_export_details is not None: + pulumi.set(__self__, "data_export_details", data_export_details) + if data_import_details is not None: + pulumi.set(__self__, "data_import_details", data_import_details) + if enable_manifest_backup is None: + enable_manifest_backup = False + if enable_manifest_backup is not None: + pulumi.set(__self__, "enable_manifest_backup", enable_manifest_backup) + if expected_data_size_in_tera_bytes is not None: + pulumi.set(__self__, "expected_data_size_in_tera_bytes", expected_data_size_in_tera_bytes) + if import_disk_details_collection is not None: + pulumi.set(__self__, "import_disk_details_collection", import_disk_details_collection) + if key_encryption_key is not None: + pulumi.set(__self__, "key_encryption_key", key_encryption_key) + if preferences is not None: + pulumi.set(__self__, "preferences", preferences) + if reverse_shipping_details is not None: + pulumi.set(__self__, "reverse_shipping_details", reverse_shipping_details) + if shipping_address is not None: + pulumi.set(__self__, "shipping_address", shipping_address) + + @property + @pulumi.getter + def actions(self) -> Sequence[str]: + """ + Available actions on the job. + """ + return pulumi.get(self, "actions") + + @property + @pulumi.getter(name="chainOfCustodySasKey") + def chain_of_custody_sas_key(self) -> str: + """ + Shared access key to download the chain of custody logs + """ + return pulumi.get(self, "chain_of_custody_sas_key") + + @property + @pulumi.getter(name="contactDetails") + def contact_details(self) -> 'outputs.ContactDetailsResponse': + """ + Contact details for notification and shipping. + """ + return pulumi.get(self, "contact_details") + + @property + @pulumi.getter(name="copyLogDetails") + def copy_log_details(self) -> Sequence[Any]: + """ + List of copy log details. + """ + return pulumi.get(self, "copy_log_details") + + @property + @pulumi.getter(name="copyProgress") + def copy_progress(self) -> Sequence['outputs.DataBoxCustomerDiskCopyProgressResponse']: + """ + Copy progress per disk. + """ + return pulumi.get(self, "copy_progress") + + @property + @pulumi.getter(name="dataCenterCode") + def data_center_code(self) -> str: + """ + DataCenter code. + """ + return pulumi.get(self, "data_center_code") + + @property + @pulumi.getter(name="datacenterAddress") + def datacenter_address(self) -> Any: + """ + Datacenter address to ship to, for the given sku and storage location. + """ + return pulumi.get(self, "datacenter_address") + + @property + @pulumi.getter(name="deliverToDcPackageDetails") + def deliver_to_dc_package_details(self) -> 'outputs.PackageCarrierInfoResponse': + """ + Delivery package shipping details. + """ + return pulumi.get(self, "deliver_to_dc_package_details") + + @property + @pulumi.getter(name="deliveryPackage") + def delivery_package(self) -> 'outputs.PackageShippingDetailsResponse': + """ + Delivery package shipping details. + """ + return pulumi.get(self, "delivery_package") + + @property + @pulumi.getter(name="deviceErasureDetails") + def device_erasure_details(self) -> 'outputs.DeviceErasureDetailsResponse': + """ + Holds device data erasure details + """ + return pulumi.get(self, "device_erasure_details") + + @property + @pulumi.getter(name="exportDiskDetailsCollection") + def export_disk_details_collection(self) -> Mapping[str, 'outputs.ExportDiskDetailsResponse']: + """ + Contains the map of disk serial number to the disk details for export jobs. + """ + return pulumi.get(self, "export_disk_details_collection") + + @property + @pulumi.getter(name="jobDetailsType") + def job_details_type(self) -> str: + """ + Indicates the type of job details. + Expected value is 'DataBoxCustomerDisk'. + """ + return pulumi.get(self, "job_details_type") + + @property + @pulumi.getter(name="jobStages") + def job_stages(self) -> Sequence['outputs.JobStagesResponse']: + """ + List of stages that run in the job. + """ + return pulumi.get(self, "job_stages") + + @property + @pulumi.getter(name="lastMitigationActionOnJob") + def last_mitigation_action_on_job(self) -> 'outputs.LastMitigationActionOnJobResponse': + """ + Last mitigation action performed on the job. + """ + return pulumi.get(self, "last_mitigation_action_on_job") + + @property + @pulumi.getter(name="returnPackage") + def return_package(self) -> 'outputs.PackageShippingDetailsResponse': + """ + Return package shipping details. + """ + return pulumi.get(self, "return_package") + + @property + @pulumi.getter(name="returnToCustomerPackageDetails") + def return_to_customer_package_details(self) -> 'outputs.PackageCarrierDetailsResponse': + """ + Return package shipping details. + """ + return pulumi.get(self, "return_to_customer_package_details") + + @property + @pulumi.getter(name="reverseShipmentLabelSasKey") + def reverse_shipment_label_sas_key(self) -> str: + """ + Shared access key to download the return shipment label + """ + return pulumi.get(self, "reverse_shipment_label_sas_key") + + @property + @pulumi.getter(name="dataExportDetails") + def data_export_details(self) -> Optional[Sequence['outputs.DataExportDetailsResponse']]: + """ + Details of the data to be exported from azure. + """ + return pulumi.get(self, "data_export_details") + + @property + @pulumi.getter(name="dataImportDetails") + def data_import_details(self) -> Optional[Sequence['outputs.DataImportDetailsResponse']]: + """ + Details of the data to be imported into azure. + """ + return pulumi.get(self, "data_import_details") + + @property + @pulumi.getter(name="enableManifestBackup") + def enable_manifest_backup(self) -> Optional[bool]: + """ + Flag to indicate if disk manifest should be backed-up in the Storage Account. + """ + return pulumi.get(self, "enable_manifest_backup") + + @property + @pulumi.getter(name="expectedDataSizeInTeraBytes") + def expected_data_size_in_tera_bytes(self) -> Optional[int]: + """ + The expected size of the data, which needs to be transferred in this job, in terabytes. + """ + return pulumi.get(self, "expected_data_size_in_tera_bytes") + + @property + @pulumi.getter(name="importDiskDetailsCollection") + def import_disk_details_collection(self) -> Optional[Mapping[str, 'outputs.ImportDiskDetailsResponse']]: + """ + Contains the map of disk serial number to the disk details for import jobs. + """ + return pulumi.get(self, "import_disk_details_collection") + + @property + @pulumi.getter(name="keyEncryptionKey") + def key_encryption_key(self) -> Optional['outputs.KeyEncryptionKeyResponse']: + """ + Details about which key encryption type is being used. + """ + return pulumi.get(self, "key_encryption_key") + + @property + @pulumi.getter + def preferences(self) -> Optional['outputs.PreferencesResponse']: + """ + Preferences for the order. + """ + return pulumi.get(self, "preferences") + + @property + @pulumi.getter(name="reverseShippingDetails") + def reverse_shipping_details(self) -> Optional['outputs.ReverseShippingDetailsResponse']: + """ + Optional Reverse Shipping details for order. + """ + return pulumi.get(self, "reverse_shipping_details") + + @property + @pulumi.getter(name="shippingAddress") + def shipping_address(self) -> Optional['outputs.ShippingAddressResponse']: + """ + Shipping address of the customer. + """ + return pulumi.get(self, "shipping_address") + + +@pulumi.output_type +class DataBoxDiskCopyLogDetailsResponse(dict): + """ + Copy Log Details for a disk + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "copyLogDetailsType": + suggest = "copy_log_details_type" + elif key == "diskSerialNumber": + suggest = "disk_serial_number" + elif key == "errorLogLink": + suggest = "error_log_link" + elif key == "verboseLogLink": + suggest = "verbose_log_link" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataBoxDiskCopyLogDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataBoxDiskCopyLogDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataBoxDiskCopyLogDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + copy_log_details_type: str, + disk_serial_number: str, + error_log_link: str, + verbose_log_link: str): + """ + Copy Log Details for a disk + :param str copy_log_details_type: Indicates the type of job details. + Expected value is 'DataBoxDisk'. + :param str disk_serial_number: Disk Serial Number. + :param str error_log_link: Link for copy error logs. + :param str verbose_log_link: Link for copy verbose logs. + """ + pulumi.set(__self__, "copy_log_details_type", 'DataBoxDisk') + pulumi.set(__self__, "disk_serial_number", disk_serial_number) + pulumi.set(__self__, "error_log_link", error_log_link) + pulumi.set(__self__, "verbose_log_link", verbose_log_link) + + @property + @pulumi.getter(name="copyLogDetailsType") + def copy_log_details_type(self) -> str: + """ + Indicates the type of job details. + Expected value is 'DataBoxDisk'. + """ + return pulumi.get(self, "copy_log_details_type") + + @property + @pulumi.getter(name="diskSerialNumber") + def disk_serial_number(self) -> str: + """ + Disk Serial Number. + """ + return pulumi.get(self, "disk_serial_number") + + @property + @pulumi.getter(name="errorLogLink") + def error_log_link(self) -> str: + """ + Link for copy error logs. + """ + return pulumi.get(self, "error_log_link") + + @property + @pulumi.getter(name="verboseLogLink") + def verbose_log_link(self) -> str: + """ + Link for copy verbose logs. + """ + return pulumi.get(self, "verbose_log_link") + + +@pulumi.output_type +class DataBoxDiskCopyProgressResponse(dict): + """ + DataBox Disk Copy Progress + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bytesCopied": + suggest = "bytes_copied" + elif key == "percentComplete": + suggest = "percent_complete" + elif key == "serialNumber": + suggest = "serial_number" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataBoxDiskCopyProgressResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataBoxDiskCopyProgressResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataBoxDiskCopyProgressResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + actions: Sequence[str], + bytes_copied: float, + error: 'outputs.CloudErrorResponse', + percent_complete: int, + serial_number: str, + status: str): + """ + DataBox Disk Copy Progress + :param Sequence[str] actions: Available actions on the job. + :param float bytes_copied: Bytes copied during the copy of disk. + :param 'CloudErrorResponse' error: Error, if any, in the stage + :param int percent_complete: Indicates the percentage completed for the copy of the disk. + :param str serial_number: The serial number of the disk + :param str status: The Status of the copy + """ + pulumi.set(__self__, "actions", actions) + pulumi.set(__self__, "bytes_copied", bytes_copied) + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "percent_complete", percent_complete) + pulumi.set(__self__, "serial_number", serial_number) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def actions(self) -> Sequence[str]: + """ + Available actions on the job. + """ + return pulumi.get(self, "actions") + + @property + @pulumi.getter(name="bytesCopied") + def bytes_copied(self) -> float: + """ + Bytes copied during the copy of disk. + """ + return pulumi.get(self, "bytes_copied") + + @property + @pulumi.getter + def error(self) -> 'outputs.CloudErrorResponse': + """ + Error, if any, in the stage + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter(name="percentComplete") + def percent_complete(self) -> int: + """ + Indicates the percentage completed for the copy of the disk. + """ + return pulumi.get(self, "percent_complete") + + @property + @pulumi.getter(name="serialNumber") + def serial_number(self) -> str: + """ + The serial number of the disk + """ + return pulumi.get(self, "serial_number") + + @property + @pulumi.getter + def status(self) -> str: + """ + The Status of the copy + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class DataBoxDiskGranularCopyLogDetailsResponse(dict): + """ + Granular Copy Log Details for customer disk + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountId": + suggest = "account_id" + elif key == "copyLogDetailsType": + suggest = "copy_log_details_type" + elif key == "errorLogLink": + suggest = "error_log_link" + elif key == "serialNumber": + suggest = "serial_number" + elif key == "verboseLogLink": + suggest = "verbose_log_link" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataBoxDiskGranularCopyLogDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataBoxDiskGranularCopyLogDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataBoxDiskGranularCopyLogDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_id: str, + copy_log_details_type: str, + error_log_link: str, + serial_number: str, + verbose_log_link: str): + """ + Granular Copy Log Details for customer disk + :param str account_id: Account id. + :param str copy_log_details_type: Indicates the type of job details. + Expected value is 'DataBoxCustomerDisk'. + :param str error_log_link: Link for copy error logs. + :param str serial_number: Disk Serial Number. + :param str verbose_log_link: Link for copy verbose logs. + """ + pulumi.set(__self__, "account_id", account_id) + pulumi.set(__self__, "copy_log_details_type", 'DataBoxCustomerDisk') + pulumi.set(__self__, "error_log_link", error_log_link) + pulumi.set(__self__, "serial_number", serial_number) + pulumi.set(__self__, "verbose_log_link", verbose_log_link) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> str: + """ + Account id. + """ + return pulumi.get(self, "account_id") + + @property + @pulumi.getter(name="copyLogDetailsType") + def copy_log_details_type(self) -> str: + """ + Indicates the type of job details. + Expected value is 'DataBoxCustomerDisk'. + """ + return pulumi.get(self, "copy_log_details_type") + + @property + @pulumi.getter(name="errorLogLink") + def error_log_link(self) -> str: + """ + Link for copy error logs. + """ + return pulumi.get(self, "error_log_link") + + @property + @pulumi.getter(name="serialNumber") + def serial_number(self) -> str: + """ + Disk Serial Number. + """ + return pulumi.get(self, "serial_number") + + @property + @pulumi.getter(name="verboseLogLink") + def verbose_log_link(self) -> str: + """ + Link for copy verbose logs. + """ + return pulumi.get(self, "verbose_log_link") + + +@pulumi.output_type +class DataBoxDiskGranularCopyProgressResponse(dict): + """ + DataBox Disk Granular Copy Progress + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountId": + suggest = "account_id" + elif key == "bytesProcessed": + suggest = "bytes_processed" + elif key == "copyStatus": + suggest = "copy_status" + elif key == "dataAccountType": + suggest = "data_account_type" + elif key == "directoriesErroredOut": + suggest = "directories_errored_out" + elif key == "filesErroredOut": + suggest = "files_errored_out" + elif key == "filesProcessed": + suggest = "files_processed" + elif key == "invalidDirectoriesProcessed": + suggest = "invalid_directories_processed" + elif key == "invalidFileBytesUploaded": + suggest = "invalid_file_bytes_uploaded" + elif key == "invalidFilesProcessed": + suggest = "invalid_files_processed" + elif key == "isEnumerationInProgress": + suggest = "is_enumeration_in_progress" + elif key == "renamedContainerCount": + suggest = "renamed_container_count" + elif key == "serialNumber": + suggest = "serial_number" + elif key == "storageAccountName": + suggest = "storage_account_name" + elif key == "totalBytesToProcess": + suggest = "total_bytes_to_process" + elif key == "totalFilesToProcess": + suggest = "total_files_to_process" + elif key == "transferType": + suggest = "transfer_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataBoxDiskGranularCopyProgressResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataBoxDiskGranularCopyProgressResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataBoxDiskGranularCopyProgressResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_id: str, + actions: Sequence[str], + bytes_processed: float, + copy_status: str, + data_account_type: str, + directories_errored_out: float, + error: 'outputs.CloudErrorResponse', + files_errored_out: float, + files_processed: float, + invalid_directories_processed: float, + invalid_file_bytes_uploaded: float, + invalid_files_processed: float, + is_enumeration_in_progress: bool, + renamed_container_count: float, + serial_number: str, + storage_account_name: str, + total_bytes_to_process: float, + total_files_to_process: float, + transfer_type: str): + """ + DataBox Disk Granular Copy Progress + :param str account_id: Id of the account where the data needs to be uploaded. + :param Sequence[str] actions: Available actions on the job. + :param float bytes_processed: To indicate bytes transferred. + :param str copy_status: The Status of the copy + :param str data_account_type: Data Account Type. + :param float directories_errored_out: To indicate directories errored out in the job. + :param 'CloudErrorResponse' error: Error, if any, in the stage + :param float files_errored_out: Number of files which could not be copied + :param float files_processed: Number of files processed + :param float invalid_directories_processed: To indicate directories renamed + :param float invalid_file_bytes_uploaded: Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + :param float invalid_files_processed: Number of files not adhering to azure naming conventions which were processed by automatic renaming + :param bool is_enumeration_in_progress: To indicate if enumeration of data is in progress. + Until this is true, the TotalBytesToProcess may not be valid. + :param float renamed_container_count: Number of folders not adhering to azure naming conventions which were processed by automatic renaming + :param str serial_number: Disk Serial Number. + :param str storage_account_name: Name of the storage account. This will be empty for data account types other than storage account. + :param float total_bytes_to_process: Total amount of data to be processed by the job. + :param float total_files_to_process: Total files to process + :param str transfer_type: Transfer type of data + """ + pulumi.set(__self__, "account_id", account_id) + pulumi.set(__self__, "actions", actions) + pulumi.set(__self__, "bytes_processed", bytes_processed) + pulumi.set(__self__, "copy_status", copy_status) + pulumi.set(__self__, "data_account_type", data_account_type) + pulumi.set(__self__, "directories_errored_out", directories_errored_out) + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "files_errored_out", files_errored_out) + pulumi.set(__self__, "files_processed", files_processed) + pulumi.set(__self__, "invalid_directories_processed", invalid_directories_processed) + pulumi.set(__self__, "invalid_file_bytes_uploaded", invalid_file_bytes_uploaded) + pulumi.set(__self__, "invalid_files_processed", invalid_files_processed) + pulumi.set(__self__, "is_enumeration_in_progress", is_enumeration_in_progress) + pulumi.set(__self__, "renamed_container_count", renamed_container_count) + pulumi.set(__self__, "serial_number", serial_number) + pulumi.set(__self__, "storage_account_name", storage_account_name) + pulumi.set(__self__, "total_bytes_to_process", total_bytes_to_process) + pulumi.set(__self__, "total_files_to_process", total_files_to_process) + pulumi.set(__self__, "transfer_type", transfer_type) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> str: + """ + Id of the account where the data needs to be uploaded. + """ + return pulumi.get(self, "account_id") + + @property + @pulumi.getter + def actions(self) -> Sequence[str]: + """ + Available actions on the job. + """ + return pulumi.get(self, "actions") + + @property + @pulumi.getter(name="bytesProcessed") + def bytes_processed(self) -> float: + """ + To indicate bytes transferred. + """ + return pulumi.get(self, "bytes_processed") + + @property + @pulumi.getter(name="copyStatus") + def copy_status(self) -> str: + """ + The Status of the copy + """ + return pulumi.get(self, "copy_status") + + @property + @pulumi.getter(name="dataAccountType") + def data_account_type(self) -> str: + """ + Data Account Type. + """ + return pulumi.get(self, "data_account_type") + + @property + @pulumi.getter(name="directoriesErroredOut") + def directories_errored_out(self) -> float: + """ + To indicate directories errored out in the job. + """ + return pulumi.get(self, "directories_errored_out") + + @property + @pulumi.getter + def error(self) -> 'outputs.CloudErrorResponse': + """ + Error, if any, in the stage + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter(name="filesErroredOut") + def files_errored_out(self) -> float: + """ + Number of files which could not be copied + """ + return pulumi.get(self, "files_errored_out") + + @property + @pulumi.getter(name="filesProcessed") + def files_processed(self) -> float: + """ + Number of files processed + """ + return pulumi.get(self, "files_processed") + + @property + @pulumi.getter(name="invalidDirectoriesProcessed") + def invalid_directories_processed(self) -> float: + """ + To indicate directories renamed + """ + return pulumi.get(self, "invalid_directories_processed") + + @property + @pulumi.getter(name="invalidFileBytesUploaded") + def invalid_file_bytes_uploaded(self) -> float: + """ + Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + """ + return pulumi.get(self, "invalid_file_bytes_uploaded") + + @property + @pulumi.getter(name="invalidFilesProcessed") + def invalid_files_processed(self) -> float: + """ + Number of files not adhering to azure naming conventions which were processed by automatic renaming + """ + return pulumi.get(self, "invalid_files_processed") + + @property + @pulumi.getter(name="isEnumerationInProgress") + def is_enumeration_in_progress(self) -> bool: + """ + To indicate if enumeration of data is in progress. + Until this is true, the TotalBytesToProcess may not be valid. + """ + return pulumi.get(self, "is_enumeration_in_progress") + + @property + @pulumi.getter(name="renamedContainerCount") + def renamed_container_count(self) -> float: + """ + Number of folders not adhering to azure naming conventions which were processed by automatic renaming + """ + return pulumi.get(self, "renamed_container_count") + + @property + @pulumi.getter(name="serialNumber") + def serial_number(self) -> str: + """ + Disk Serial Number. + """ + return pulumi.get(self, "serial_number") + + @property + @pulumi.getter(name="storageAccountName") + def storage_account_name(self) -> str: + """ + Name of the storage account. This will be empty for data account types other than storage account. + """ + return pulumi.get(self, "storage_account_name") + + @property + @pulumi.getter(name="totalBytesToProcess") + def total_bytes_to_process(self) -> float: + """ + Total amount of data to be processed by the job. + """ + return pulumi.get(self, "total_bytes_to_process") + + @property + @pulumi.getter(name="totalFilesToProcess") + def total_files_to_process(self) -> float: + """ + Total files to process + """ + return pulumi.get(self, "total_files_to_process") + + @property + @pulumi.getter(name="transferType") + def transfer_type(self) -> str: + """ + Transfer type of data + """ + return pulumi.get(self, "transfer_type") + + +@pulumi.output_type +class DataBoxDiskJobDetailsResponse(dict): + """ + DataBox Disk Job Details. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "chainOfCustodySasKey": + suggest = "chain_of_custody_sas_key" + elif key == "contactDetails": + suggest = "contact_details" + elif key == "copyLogDetails": + suggest = "copy_log_details" + elif key == "copyProgress": + suggest = "copy_progress" + elif key == "dataCenterCode": + suggest = "data_center_code" + elif key == "datacenterAddress": + suggest = "datacenter_address" + elif key == "deliveryPackage": + suggest = "delivery_package" + elif key == "deviceErasureDetails": + suggest = "device_erasure_details" + elif key == "disksAndSizeDetails": + suggest = "disks_and_size_details" + elif key == "granularCopyLogDetails": + suggest = "granular_copy_log_details" + elif key == "granularCopyProgress": + suggest = "granular_copy_progress" + elif key == "jobDetailsType": + suggest = "job_details_type" + elif key == "jobStages": + suggest = "job_stages" + elif key == "lastMitigationActionOnJob": + suggest = "last_mitigation_action_on_job" + elif key == "returnPackage": + suggest = "return_package" + elif key == "reverseShipmentLabelSasKey": + suggest = "reverse_shipment_label_sas_key" + elif key == "dataExportDetails": + suggest = "data_export_details" + elif key == "dataImportDetails": + suggest = "data_import_details" + elif key == "expectedDataSizeInTeraBytes": + suggest = "expected_data_size_in_tera_bytes" + elif key == "keyEncryptionKey": + suggest = "key_encryption_key" + elif key == "preferredDisks": + suggest = "preferred_disks" + elif key == "reverseShippingDetails": + suggest = "reverse_shipping_details" + elif key == "shippingAddress": + suggest = "shipping_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataBoxDiskJobDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataBoxDiskJobDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataBoxDiskJobDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + actions: Sequence[str], + chain_of_custody_sas_key: str, + contact_details: 'outputs.ContactDetailsResponse', + copy_log_details: Sequence[Any], + copy_progress: Sequence['outputs.DataBoxDiskCopyProgressResponse'], + data_center_code: str, + datacenter_address: Any, + delivery_package: 'outputs.PackageShippingDetailsResponse', + device_erasure_details: 'outputs.DeviceErasureDetailsResponse', + disks_and_size_details: Mapping[str, int], + granular_copy_log_details: Sequence['outputs.DataBoxDiskGranularCopyLogDetailsResponse'], + granular_copy_progress: Sequence['outputs.DataBoxDiskGranularCopyProgressResponse'], + job_details_type: str, + job_stages: Sequence['outputs.JobStagesResponse'], + last_mitigation_action_on_job: 'outputs.LastMitigationActionOnJobResponse', + return_package: 'outputs.PackageShippingDetailsResponse', + reverse_shipment_label_sas_key: str, + data_export_details: Optional[Sequence['outputs.DataExportDetailsResponse']] = None, + data_import_details: Optional[Sequence['outputs.DataImportDetailsResponse']] = None, + expected_data_size_in_tera_bytes: Optional[int] = None, + key_encryption_key: Optional['outputs.KeyEncryptionKeyResponse'] = None, + passkey: Optional[str] = None, + preferences: Optional['outputs.PreferencesResponse'] = None, + preferred_disks: Optional[Mapping[str, int]] = None, + reverse_shipping_details: Optional['outputs.ReverseShippingDetailsResponse'] = None, + shipping_address: Optional['outputs.ShippingAddressResponse'] = None): + """ + DataBox Disk Job Details. + :param Sequence[str] actions: Available actions on the job. + :param str chain_of_custody_sas_key: Shared access key to download the chain of custody logs + :param 'ContactDetailsResponse' contact_details: Contact details for notification and shipping. + :param Sequence[Union['DataBoxAccountCopyLogDetailsResponse', 'DataBoxCustomerDiskCopyLogDetailsResponse', 'DataBoxDiskCopyLogDetailsResponse', 'DataBoxHeavyAccountCopyLogDetailsResponse']] copy_log_details: List of copy log details. + :param Sequence['DataBoxDiskCopyProgressResponse'] copy_progress: Copy progress per disk. + :param str data_center_code: DataCenter code. + :param Union['DatacenterAddressInstructionResponseResponse', 'DatacenterAddressLocationResponseResponse'] datacenter_address: Datacenter address to ship to, for the given sku and storage location. + :param 'PackageShippingDetailsResponse' delivery_package: Delivery package shipping details. + :param 'DeviceErasureDetailsResponse' device_erasure_details: Holds device data erasure details + :param Mapping[str, int] disks_and_size_details: Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer. + :param Sequence['DataBoxDiskGranularCopyLogDetailsResponse'] granular_copy_log_details: Copy progress per disk. + :param Sequence['DataBoxDiskGranularCopyProgressResponse'] granular_copy_progress: Copy progress per disk. + :param str job_details_type: Indicates the type of job details. + Expected value is 'DataBoxDisk'. + :param Sequence['JobStagesResponse'] job_stages: List of stages that run in the job. + :param 'LastMitigationActionOnJobResponse' last_mitigation_action_on_job: Last mitigation action performed on the job. + :param 'PackageShippingDetailsResponse' return_package: Return package shipping details. + :param str reverse_shipment_label_sas_key: Shared access key to download the return shipment label + :param Sequence['DataExportDetailsResponse'] data_export_details: Details of the data to be exported from azure. + :param Sequence['DataImportDetailsResponse'] data_import_details: Details of the data to be imported into azure. + :param int expected_data_size_in_tera_bytes: The expected size of the data, which needs to be transferred in this job, in terabytes. + :param 'KeyEncryptionKeyResponse' key_encryption_key: Details about which key encryption type is being used. + :param str passkey: User entered passkey for DataBox Disk job. + :param 'PreferencesResponse' preferences: Preferences for the order. + :param Mapping[str, int] preferred_disks: User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. + :param 'ReverseShippingDetailsResponse' reverse_shipping_details: Optional Reverse Shipping details for order. + :param 'ShippingAddressResponse' shipping_address: Shipping address of the customer. + """ + pulumi.set(__self__, "actions", actions) + pulumi.set(__self__, "chain_of_custody_sas_key", chain_of_custody_sas_key) + pulumi.set(__self__, "contact_details", contact_details) + pulumi.set(__self__, "copy_log_details", copy_log_details) + pulumi.set(__self__, "copy_progress", copy_progress) + pulumi.set(__self__, "data_center_code", data_center_code) + pulumi.set(__self__, "datacenter_address", datacenter_address) + pulumi.set(__self__, "delivery_package", delivery_package) + pulumi.set(__self__, "device_erasure_details", device_erasure_details) + pulumi.set(__self__, "disks_and_size_details", disks_and_size_details) + pulumi.set(__self__, "granular_copy_log_details", granular_copy_log_details) + pulumi.set(__self__, "granular_copy_progress", granular_copy_progress) + pulumi.set(__self__, "job_details_type", 'DataBoxDisk') + pulumi.set(__self__, "job_stages", job_stages) + pulumi.set(__self__, "last_mitigation_action_on_job", last_mitigation_action_on_job) + pulumi.set(__self__, "return_package", return_package) + pulumi.set(__self__, "reverse_shipment_label_sas_key", reverse_shipment_label_sas_key) + if data_export_details is not None: + pulumi.set(__self__, "data_export_details", data_export_details) + if data_import_details is not None: + pulumi.set(__self__, "data_import_details", data_import_details) + if expected_data_size_in_tera_bytes is not None: + pulumi.set(__self__, "expected_data_size_in_tera_bytes", expected_data_size_in_tera_bytes) + if key_encryption_key is not None: + pulumi.set(__self__, "key_encryption_key", key_encryption_key) + if passkey is not None: + pulumi.set(__self__, "passkey", passkey) + if preferences is not None: + pulumi.set(__self__, "preferences", preferences) + if preferred_disks is not None: + pulumi.set(__self__, "preferred_disks", preferred_disks) + if reverse_shipping_details is not None: + pulumi.set(__self__, "reverse_shipping_details", reverse_shipping_details) + if shipping_address is not None: + pulumi.set(__self__, "shipping_address", shipping_address) + + @property + @pulumi.getter + def actions(self) -> Sequence[str]: + """ + Available actions on the job. + """ + return pulumi.get(self, "actions") + + @property + @pulumi.getter(name="chainOfCustodySasKey") + def chain_of_custody_sas_key(self) -> str: + """ + Shared access key to download the chain of custody logs + """ + return pulumi.get(self, "chain_of_custody_sas_key") + + @property + @pulumi.getter(name="contactDetails") + def contact_details(self) -> 'outputs.ContactDetailsResponse': + """ + Contact details for notification and shipping. + """ + return pulumi.get(self, "contact_details") + + @property + @pulumi.getter(name="copyLogDetails") + def copy_log_details(self) -> Sequence[Any]: + """ + List of copy log details. + """ + return pulumi.get(self, "copy_log_details") + + @property + @pulumi.getter(name="copyProgress") + def copy_progress(self) -> Sequence['outputs.DataBoxDiskCopyProgressResponse']: + """ + Copy progress per disk. + """ + return pulumi.get(self, "copy_progress") + + @property + @pulumi.getter(name="dataCenterCode") + def data_center_code(self) -> str: + """ + DataCenter code. + """ + return pulumi.get(self, "data_center_code") + + @property + @pulumi.getter(name="datacenterAddress") + def datacenter_address(self) -> Any: + """ + Datacenter address to ship to, for the given sku and storage location. + """ + return pulumi.get(self, "datacenter_address") + + @property + @pulumi.getter(name="deliveryPackage") + def delivery_package(self) -> 'outputs.PackageShippingDetailsResponse': + """ + Delivery package shipping details. + """ + return pulumi.get(self, "delivery_package") + + @property + @pulumi.getter(name="deviceErasureDetails") + def device_erasure_details(self) -> 'outputs.DeviceErasureDetailsResponse': + """ + Holds device data erasure details + """ + return pulumi.get(self, "device_erasure_details") + + @property + @pulumi.getter(name="disksAndSizeDetails") + def disks_and_size_details(self) -> Mapping[str, int]: + """ + Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer. + """ + return pulumi.get(self, "disks_and_size_details") + + @property + @pulumi.getter(name="granularCopyLogDetails") + def granular_copy_log_details(self) -> Sequence['outputs.DataBoxDiskGranularCopyLogDetailsResponse']: + """ + Copy progress per disk. + """ + return pulumi.get(self, "granular_copy_log_details") + + @property + @pulumi.getter(name="granularCopyProgress") + def granular_copy_progress(self) -> Sequence['outputs.DataBoxDiskGranularCopyProgressResponse']: + """ + Copy progress per disk. + """ + return pulumi.get(self, "granular_copy_progress") + + @property + @pulumi.getter(name="jobDetailsType") + def job_details_type(self) -> str: + """ + Indicates the type of job details. + Expected value is 'DataBoxDisk'. + """ + return pulumi.get(self, "job_details_type") + + @property + @pulumi.getter(name="jobStages") + def job_stages(self) -> Sequence['outputs.JobStagesResponse']: + """ + List of stages that run in the job. + """ + return pulumi.get(self, "job_stages") + + @property + @pulumi.getter(name="lastMitigationActionOnJob") + def last_mitigation_action_on_job(self) -> 'outputs.LastMitigationActionOnJobResponse': + """ + Last mitigation action performed on the job. + """ + return pulumi.get(self, "last_mitigation_action_on_job") + + @property + @pulumi.getter(name="returnPackage") + def return_package(self) -> 'outputs.PackageShippingDetailsResponse': + """ + Return package shipping details. + """ + return pulumi.get(self, "return_package") + + @property + @pulumi.getter(name="reverseShipmentLabelSasKey") + def reverse_shipment_label_sas_key(self) -> str: + """ + Shared access key to download the return shipment label + """ + return pulumi.get(self, "reverse_shipment_label_sas_key") + + @property + @pulumi.getter(name="dataExportDetails") + def data_export_details(self) -> Optional[Sequence['outputs.DataExportDetailsResponse']]: + """ + Details of the data to be exported from azure. + """ + return pulumi.get(self, "data_export_details") + + @property + @pulumi.getter(name="dataImportDetails") + def data_import_details(self) -> Optional[Sequence['outputs.DataImportDetailsResponse']]: + """ + Details of the data to be imported into azure. + """ + return pulumi.get(self, "data_import_details") + + @property + @pulumi.getter(name="expectedDataSizeInTeraBytes") + def expected_data_size_in_tera_bytes(self) -> Optional[int]: + """ + The expected size of the data, which needs to be transferred in this job, in terabytes. + """ + return pulumi.get(self, "expected_data_size_in_tera_bytes") + + @property + @pulumi.getter(name="keyEncryptionKey") + def key_encryption_key(self) -> Optional['outputs.KeyEncryptionKeyResponse']: + """ + Details about which key encryption type is being used. + """ + return pulumi.get(self, "key_encryption_key") + + @property + @pulumi.getter + def passkey(self) -> Optional[str]: + """ + User entered passkey for DataBox Disk job. + """ + return pulumi.get(self, "passkey") + + @property + @pulumi.getter + def preferences(self) -> Optional['outputs.PreferencesResponse']: + """ + Preferences for the order. + """ + return pulumi.get(self, "preferences") + + @property + @pulumi.getter(name="preferredDisks") + def preferred_disks(self) -> Optional[Mapping[str, int]]: + """ + User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. + """ + return pulumi.get(self, "preferred_disks") + + @property + @pulumi.getter(name="reverseShippingDetails") + def reverse_shipping_details(self) -> Optional['outputs.ReverseShippingDetailsResponse']: + """ + Optional Reverse Shipping details for order. + """ + return pulumi.get(self, "reverse_shipping_details") + + @property + @pulumi.getter(name="shippingAddress") + def shipping_address(self) -> Optional['outputs.ShippingAddressResponse']: + """ + Shipping address of the customer. + """ + return pulumi.get(self, "shipping_address") + + +@pulumi.output_type +class DataBoxDiskJobSecretsResponse(dict): + """ + The secrets related to disk job. + """ + def __init__(__self__, *, + dc_access_security_code: 'outputs.DcAccessSecurityCodeResponse', + disk_secrets: Sequence['outputs.DiskSecretResponse'], + error: 'outputs.CloudErrorResponse', + is_passkey_user_defined: bool, + job_secrets_type: str, + pass_key: str): + """ + The secrets related to disk job. + :param 'DcAccessSecurityCodeResponse' dc_access_security_code: Dc Access Security Code for Customer Managed Shipping + :param Sequence['DiskSecretResponse'] disk_secrets: Contains the list of secrets object for that device. + :param 'CloudErrorResponse' error: Error while fetching the secrets. + :param bool is_passkey_user_defined: Whether passkey was provided by user. + :param str job_secrets_type: Used to indicate what type of job secrets object. + Expected value is 'DataBoxDisk'. + :param str pass_key: PassKey for the disk Job. + """ + pulumi.set(__self__, "dc_access_security_code", dc_access_security_code) + pulumi.set(__self__, "disk_secrets", disk_secrets) + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "is_passkey_user_defined", is_passkey_user_defined) + pulumi.set(__self__, "job_secrets_type", 'DataBoxDisk') + pulumi.set(__self__, "pass_key", pass_key) + + @property + @pulumi.getter(name="dcAccessSecurityCode") + def dc_access_security_code(self) -> 'outputs.DcAccessSecurityCodeResponse': + """ + Dc Access Security Code for Customer Managed Shipping + """ + return pulumi.get(self, "dc_access_security_code") + + @property + @pulumi.getter(name="diskSecrets") + def disk_secrets(self) -> Sequence['outputs.DiskSecretResponse']: + """ + Contains the list of secrets object for that device. + """ + return pulumi.get(self, "disk_secrets") + + @property + @pulumi.getter + def error(self) -> 'outputs.CloudErrorResponse': + """ + Error while fetching the secrets. + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter(name="isPasskeyUserDefined") + def is_passkey_user_defined(self) -> bool: + """ + Whether passkey was provided by user. + """ + return pulumi.get(self, "is_passkey_user_defined") + + @property + @pulumi.getter(name="jobSecretsType") + def job_secrets_type(self) -> str: + """ + Used to indicate what type of job secrets object. + Expected value is 'DataBoxDisk'. + """ + return pulumi.get(self, "job_secrets_type") + + @property + @pulumi.getter(name="passKey") + def pass_key(self) -> str: + """ + PassKey for the disk Job. + """ + return pulumi.get(self, "pass_key") + + +@pulumi.output_type +class DataBoxHeavyAccountCopyLogDetailsResponse(dict): + """ + Copy log details for a storage account for Databox heavy + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountName": + suggest = "account_name" + elif key == "copyLogDetailsType": + suggest = "copy_log_details_type" + elif key == "copyLogLink": + suggest = "copy_log_link" + elif key == "copyVerboseLogLink": + suggest = "copy_verbose_log_link" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataBoxHeavyAccountCopyLogDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataBoxHeavyAccountCopyLogDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataBoxHeavyAccountCopyLogDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_name: str, + copy_log_details_type: str, + copy_log_link: Sequence[str], + copy_verbose_log_link: Sequence[str]): + """ + Copy log details for a storage account for Databox heavy + :param str account_name: Account name. + :param str copy_log_details_type: Indicates the type of job details. + Expected value is 'DataBoxHeavy'. + :param Sequence[str] copy_log_link: Link for copy logs. + :param Sequence[str] copy_verbose_log_link: Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose. + """ + pulumi.set(__self__, "account_name", account_name) + pulumi.set(__self__, "copy_log_details_type", 'DataBoxHeavy') + pulumi.set(__self__, "copy_log_link", copy_log_link) + pulumi.set(__self__, "copy_verbose_log_link", copy_verbose_log_link) + + @property + @pulumi.getter(name="accountName") + def account_name(self) -> str: + """ + Account name. + """ + return pulumi.get(self, "account_name") + + @property + @pulumi.getter(name="copyLogDetailsType") + def copy_log_details_type(self) -> str: + """ + Indicates the type of job details. + Expected value is 'DataBoxHeavy'. + """ + return pulumi.get(self, "copy_log_details_type") + + @property + @pulumi.getter(name="copyLogLink") + def copy_log_link(self) -> Sequence[str]: + """ + Link for copy logs. + """ + return pulumi.get(self, "copy_log_link") + + @property + @pulumi.getter(name="copyVerboseLogLink") + def copy_verbose_log_link(self) -> Sequence[str]: + """ + Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose. + """ + return pulumi.get(self, "copy_verbose_log_link") + + +@pulumi.output_type +class DataBoxHeavyJobDetailsResponse(dict): + """ + Databox Heavy Device Job Details + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "chainOfCustodySasKey": + suggest = "chain_of_custody_sas_key" + elif key == "contactDetails": + suggest = "contact_details" + elif key == "copyLogDetails": + suggest = "copy_log_details" + elif key == "copyProgress": + suggest = "copy_progress" + elif key == "dataCenterCode": + suggest = "data_center_code" + elif key == "datacenterAddress": + suggest = "datacenter_address" + elif key == "deliveryPackage": + suggest = "delivery_package" + elif key == "deviceErasureDetails": + suggest = "device_erasure_details" + elif key == "jobDetailsType": + suggest = "job_details_type" + elif key == "jobStages": + suggest = "job_stages" + elif key == "lastMitigationActionOnJob": + suggest = "last_mitigation_action_on_job" + elif key == "returnPackage": + suggest = "return_package" + elif key == "reverseShipmentLabelSasKey": + suggest = "reverse_shipment_label_sas_key" + elif key == "dataExportDetails": + suggest = "data_export_details" + elif key == "dataImportDetails": + suggest = "data_import_details" + elif key == "devicePassword": + suggest = "device_password" + elif key == "expectedDataSizeInTeraBytes": + suggest = "expected_data_size_in_tera_bytes" + elif key == "keyEncryptionKey": + suggest = "key_encryption_key" + elif key == "reverseShippingDetails": + suggest = "reverse_shipping_details" + elif key == "shippingAddress": + suggest = "shipping_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataBoxHeavyJobDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataBoxHeavyJobDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataBoxHeavyJobDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + actions: Sequence[str], + chain_of_custody_sas_key: str, + contact_details: 'outputs.ContactDetailsResponse', + copy_log_details: Sequence[Any], + copy_progress: Sequence['outputs.CopyProgressResponse'], + data_center_code: str, + datacenter_address: Any, + delivery_package: 'outputs.PackageShippingDetailsResponse', + device_erasure_details: 'outputs.DeviceErasureDetailsResponse', + job_details_type: str, + job_stages: Sequence['outputs.JobStagesResponse'], + last_mitigation_action_on_job: 'outputs.LastMitigationActionOnJobResponse', + return_package: 'outputs.PackageShippingDetailsResponse', + reverse_shipment_label_sas_key: str, + data_export_details: Optional[Sequence['outputs.DataExportDetailsResponse']] = None, + data_import_details: Optional[Sequence['outputs.DataImportDetailsResponse']] = None, + device_password: Optional[str] = None, + expected_data_size_in_tera_bytes: Optional[int] = None, + key_encryption_key: Optional['outputs.KeyEncryptionKeyResponse'] = None, + preferences: Optional['outputs.PreferencesResponse'] = None, + reverse_shipping_details: Optional['outputs.ReverseShippingDetailsResponse'] = None, + shipping_address: Optional['outputs.ShippingAddressResponse'] = None): + """ + Databox Heavy Device Job Details + :param Sequence[str] actions: Available actions on the job. + :param str chain_of_custody_sas_key: Shared access key to download the chain of custody logs + :param 'ContactDetailsResponse' contact_details: Contact details for notification and shipping. + :param Sequence[Union['DataBoxAccountCopyLogDetailsResponse', 'DataBoxCustomerDiskCopyLogDetailsResponse', 'DataBoxDiskCopyLogDetailsResponse', 'DataBoxHeavyAccountCopyLogDetailsResponse']] copy_log_details: List of copy log details. + :param Sequence['CopyProgressResponse'] copy_progress: Copy progress per account. + :param str data_center_code: DataCenter code. + :param Union['DatacenterAddressInstructionResponseResponse', 'DatacenterAddressLocationResponseResponse'] datacenter_address: Datacenter address to ship to, for the given sku and storage location. + :param 'PackageShippingDetailsResponse' delivery_package: Delivery package shipping details. + :param 'DeviceErasureDetailsResponse' device_erasure_details: Holds device data erasure details + :param str job_details_type: Indicates the type of job details. + Expected value is 'DataBoxHeavy'. + :param Sequence['JobStagesResponse'] job_stages: List of stages that run in the job. + :param 'LastMitigationActionOnJobResponse' last_mitigation_action_on_job: Last mitigation action performed on the job. + :param 'PackageShippingDetailsResponse' return_package: Return package shipping details. + :param str reverse_shipment_label_sas_key: Shared access key to download the return shipment label + :param Sequence['DataExportDetailsResponse'] data_export_details: Details of the data to be exported from azure. + :param Sequence['DataImportDetailsResponse'] data_import_details: Details of the data to be imported into azure. + :param str device_password: Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+ + :param int expected_data_size_in_tera_bytes: The expected size of the data, which needs to be transferred in this job, in terabytes. + :param 'KeyEncryptionKeyResponse' key_encryption_key: Details about which key encryption type is being used. + :param 'PreferencesResponse' preferences: Preferences for the order. + :param 'ReverseShippingDetailsResponse' reverse_shipping_details: Optional Reverse Shipping details for order. + :param 'ShippingAddressResponse' shipping_address: Shipping address of the customer. + """ + pulumi.set(__self__, "actions", actions) + pulumi.set(__self__, "chain_of_custody_sas_key", chain_of_custody_sas_key) + pulumi.set(__self__, "contact_details", contact_details) + pulumi.set(__self__, "copy_log_details", copy_log_details) + pulumi.set(__self__, "copy_progress", copy_progress) + pulumi.set(__self__, "data_center_code", data_center_code) + pulumi.set(__self__, "datacenter_address", datacenter_address) + pulumi.set(__self__, "delivery_package", delivery_package) + pulumi.set(__self__, "device_erasure_details", device_erasure_details) + pulumi.set(__self__, "job_details_type", 'DataBoxHeavy') + pulumi.set(__self__, "job_stages", job_stages) + pulumi.set(__self__, "last_mitigation_action_on_job", last_mitigation_action_on_job) + pulumi.set(__self__, "return_package", return_package) + pulumi.set(__self__, "reverse_shipment_label_sas_key", reverse_shipment_label_sas_key) + if data_export_details is not None: + pulumi.set(__self__, "data_export_details", data_export_details) + if data_import_details is not None: + pulumi.set(__self__, "data_import_details", data_import_details) + if device_password is not None: + pulumi.set(__self__, "device_password", device_password) + if expected_data_size_in_tera_bytes is not None: + pulumi.set(__self__, "expected_data_size_in_tera_bytes", expected_data_size_in_tera_bytes) + if key_encryption_key is not None: + pulumi.set(__self__, "key_encryption_key", key_encryption_key) + if preferences is not None: + pulumi.set(__self__, "preferences", preferences) + if reverse_shipping_details is not None: + pulumi.set(__self__, "reverse_shipping_details", reverse_shipping_details) + if shipping_address is not None: + pulumi.set(__self__, "shipping_address", shipping_address) + + @property + @pulumi.getter + def actions(self) -> Sequence[str]: + """ + Available actions on the job. + """ + return pulumi.get(self, "actions") + + @property + @pulumi.getter(name="chainOfCustodySasKey") + def chain_of_custody_sas_key(self) -> str: + """ + Shared access key to download the chain of custody logs + """ + return pulumi.get(self, "chain_of_custody_sas_key") + + @property + @pulumi.getter(name="contactDetails") + def contact_details(self) -> 'outputs.ContactDetailsResponse': + """ + Contact details for notification and shipping. + """ + return pulumi.get(self, "contact_details") + + @property + @pulumi.getter(name="copyLogDetails") + def copy_log_details(self) -> Sequence[Any]: + """ + List of copy log details. + """ + return pulumi.get(self, "copy_log_details") + + @property + @pulumi.getter(name="copyProgress") + def copy_progress(self) -> Sequence['outputs.CopyProgressResponse']: + """ + Copy progress per account. + """ + return pulumi.get(self, "copy_progress") + + @property + @pulumi.getter(name="dataCenterCode") + def data_center_code(self) -> str: + """ + DataCenter code. + """ + return pulumi.get(self, "data_center_code") + + @property + @pulumi.getter(name="datacenterAddress") + def datacenter_address(self) -> Any: + """ + Datacenter address to ship to, for the given sku and storage location. + """ + return pulumi.get(self, "datacenter_address") + + @property + @pulumi.getter(name="deliveryPackage") + def delivery_package(self) -> 'outputs.PackageShippingDetailsResponse': + """ + Delivery package shipping details. + """ + return pulumi.get(self, "delivery_package") + + @property + @pulumi.getter(name="deviceErasureDetails") + def device_erasure_details(self) -> 'outputs.DeviceErasureDetailsResponse': + """ + Holds device data erasure details + """ + return pulumi.get(self, "device_erasure_details") + + @property + @pulumi.getter(name="jobDetailsType") + def job_details_type(self) -> str: + """ + Indicates the type of job details. + Expected value is 'DataBoxHeavy'. + """ + return pulumi.get(self, "job_details_type") + + @property + @pulumi.getter(name="jobStages") + def job_stages(self) -> Sequence['outputs.JobStagesResponse']: + """ + List of stages that run in the job. + """ + return pulumi.get(self, "job_stages") + + @property + @pulumi.getter(name="lastMitigationActionOnJob") + def last_mitigation_action_on_job(self) -> 'outputs.LastMitigationActionOnJobResponse': + """ + Last mitigation action performed on the job. + """ + return pulumi.get(self, "last_mitigation_action_on_job") + + @property + @pulumi.getter(name="returnPackage") + def return_package(self) -> 'outputs.PackageShippingDetailsResponse': + """ + Return package shipping details. + """ + return pulumi.get(self, "return_package") + + @property + @pulumi.getter(name="reverseShipmentLabelSasKey") + def reverse_shipment_label_sas_key(self) -> str: + """ + Shared access key to download the return shipment label + """ + return pulumi.get(self, "reverse_shipment_label_sas_key") + + @property + @pulumi.getter(name="dataExportDetails") + def data_export_details(self) -> Optional[Sequence['outputs.DataExportDetailsResponse']]: + """ + Details of the data to be exported from azure. + """ + return pulumi.get(self, "data_export_details") + + @property + @pulumi.getter(name="dataImportDetails") + def data_import_details(self) -> Optional[Sequence['outputs.DataImportDetailsResponse']]: + """ + Details of the data to be imported into azure. + """ + return pulumi.get(self, "data_import_details") + + @property + @pulumi.getter(name="devicePassword") + def device_password(self) -> Optional[str]: + """ + Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+ + """ + return pulumi.get(self, "device_password") + + @property + @pulumi.getter(name="expectedDataSizeInTeraBytes") + def expected_data_size_in_tera_bytes(self) -> Optional[int]: + """ + The expected size of the data, which needs to be transferred in this job, in terabytes. + """ + return pulumi.get(self, "expected_data_size_in_tera_bytes") + + @property + @pulumi.getter(name="keyEncryptionKey") + def key_encryption_key(self) -> Optional['outputs.KeyEncryptionKeyResponse']: + """ + Details about which key encryption type is being used. + """ + return pulumi.get(self, "key_encryption_key") + + @property + @pulumi.getter + def preferences(self) -> Optional['outputs.PreferencesResponse']: + """ + Preferences for the order. + """ + return pulumi.get(self, "preferences") + + @property + @pulumi.getter(name="reverseShippingDetails") + def reverse_shipping_details(self) -> Optional['outputs.ReverseShippingDetailsResponse']: + """ + Optional Reverse Shipping details for order. + """ + return pulumi.get(self, "reverse_shipping_details") + + @property + @pulumi.getter(name="shippingAddress") + def shipping_address(self) -> Optional['outputs.ShippingAddressResponse']: + """ + Shipping address of the customer. + """ + return pulumi.get(self, "shipping_address") + + +@pulumi.output_type +class DataBoxHeavyJobSecretsResponse(dict): + """ + The secrets related to a databox heavy job. + """ + def __init__(__self__, *, + cabinet_pod_secrets: Sequence['outputs.DataBoxHeavySecretResponse'], + dc_access_security_code: 'outputs.DcAccessSecurityCodeResponse', + error: 'outputs.CloudErrorResponse', + job_secrets_type: str): + """ + The secrets related to a databox heavy job. + :param Sequence['DataBoxHeavySecretResponse'] cabinet_pod_secrets: Contains the list of secret objects for a databox heavy job. + :param 'DcAccessSecurityCodeResponse' dc_access_security_code: Dc Access Security Code for Customer Managed Shipping + :param 'CloudErrorResponse' error: Error while fetching the secrets. + :param str job_secrets_type: Used to indicate what type of job secrets object. + Expected value is 'DataBoxHeavy'. + """ + pulumi.set(__self__, "cabinet_pod_secrets", cabinet_pod_secrets) + pulumi.set(__self__, "dc_access_security_code", dc_access_security_code) + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "job_secrets_type", 'DataBoxHeavy') + + @property + @pulumi.getter(name="cabinetPodSecrets") + def cabinet_pod_secrets(self) -> Sequence['outputs.DataBoxHeavySecretResponse']: + """ + Contains the list of secret objects for a databox heavy job. + """ + return pulumi.get(self, "cabinet_pod_secrets") + + @property + @pulumi.getter(name="dcAccessSecurityCode") + def dc_access_security_code(self) -> 'outputs.DcAccessSecurityCodeResponse': + """ + Dc Access Security Code for Customer Managed Shipping + """ + return pulumi.get(self, "dc_access_security_code") + + @property + @pulumi.getter + def error(self) -> 'outputs.CloudErrorResponse': + """ + Error while fetching the secrets. + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter(name="jobSecretsType") + def job_secrets_type(self) -> str: + """ + Used to indicate what type of job secrets object. + Expected value is 'DataBoxHeavy'. + """ + return pulumi.get(self, "job_secrets_type") + + +@pulumi.output_type +class DataBoxHeavySecretResponse(dict): + """ + The secrets related to a databox heavy. + """ + def __init__(__self__, *, + account_credential_details: Sequence['outputs.AccountCredentialDetailsResponse'], + device_password: str, + device_serial_number: str, + encoded_validation_cert_pub_key: str, + network_configurations: Sequence['outputs.ApplianceNetworkConfigurationResponse']): + """ + The secrets related to a databox heavy. + :param Sequence['AccountCredentialDetailsResponse'] account_credential_details: Per account level access credentials. + :param str device_password: Password for out of the box experience on device. + :param str device_serial_number: Serial number of the assigned device. + :param str encoded_validation_cert_pub_key: The base 64 encoded public key to authenticate with the device + :param Sequence['ApplianceNetworkConfigurationResponse'] network_configurations: Network configuration of the appliance. + """ + pulumi.set(__self__, "account_credential_details", account_credential_details) + pulumi.set(__self__, "device_password", device_password) + pulumi.set(__self__, "device_serial_number", device_serial_number) + pulumi.set(__self__, "encoded_validation_cert_pub_key", encoded_validation_cert_pub_key) + pulumi.set(__self__, "network_configurations", network_configurations) + + @property + @pulumi.getter(name="accountCredentialDetails") + def account_credential_details(self) -> Sequence['outputs.AccountCredentialDetailsResponse']: + """ + Per account level access credentials. + """ + return pulumi.get(self, "account_credential_details") + + @property + @pulumi.getter(name="devicePassword") + def device_password(self) -> str: + """ + Password for out of the box experience on device. + """ + return pulumi.get(self, "device_password") + + @property + @pulumi.getter(name="deviceSerialNumber") + def device_serial_number(self) -> str: + """ + Serial number of the assigned device. + """ + return pulumi.get(self, "device_serial_number") + + @property + @pulumi.getter(name="encodedValidationCertPubKey") + def encoded_validation_cert_pub_key(self) -> str: + """ + The base 64 encoded public key to authenticate with the device + """ + return pulumi.get(self, "encoded_validation_cert_pub_key") + + @property + @pulumi.getter(name="networkConfigurations") + def network_configurations(self) -> Sequence['outputs.ApplianceNetworkConfigurationResponse']: + """ + Network configuration of the appliance. + """ + return pulumi.get(self, "network_configurations") + + +@pulumi.output_type +class DataBoxJobDetailsResponse(dict): + """ + Databox Job Details + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "chainOfCustodySasKey": + suggest = "chain_of_custody_sas_key" + elif key == "contactDetails": + suggest = "contact_details" + elif key == "copyLogDetails": + suggest = "copy_log_details" + elif key == "copyProgress": + suggest = "copy_progress" + elif key == "dataCenterCode": + suggest = "data_center_code" + elif key == "datacenterAddress": + suggest = "datacenter_address" + elif key == "deliveryPackage": + suggest = "delivery_package" + elif key == "deviceErasureDetails": + suggest = "device_erasure_details" + elif key == "jobDetailsType": + suggest = "job_details_type" + elif key == "jobStages": + suggest = "job_stages" + elif key == "lastMitigationActionOnJob": + suggest = "last_mitigation_action_on_job" + elif key == "returnPackage": + suggest = "return_package" + elif key == "reverseShipmentLabelSasKey": + suggest = "reverse_shipment_label_sas_key" + elif key == "dataExportDetails": + suggest = "data_export_details" + elif key == "dataImportDetails": + suggest = "data_import_details" + elif key == "devicePassword": + suggest = "device_password" + elif key == "expectedDataSizeInTeraBytes": + suggest = "expected_data_size_in_tera_bytes" + elif key == "keyEncryptionKey": + suggest = "key_encryption_key" + elif key == "reverseShippingDetails": + suggest = "reverse_shipping_details" + elif key == "shippingAddress": + suggest = "shipping_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataBoxJobDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataBoxJobDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataBoxJobDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + actions: Sequence[str], + chain_of_custody_sas_key: str, + contact_details: 'outputs.ContactDetailsResponse', + copy_log_details: Sequence[Any], + copy_progress: Sequence['outputs.CopyProgressResponse'], + data_center_code: str, + datacenter_address: Any, + delivery_package: 'outputs.PackageShippingDetailsResponse', + device_erasure_details: 'outputs.DeviceErasureDetailsResponse', + job_details_type: str, + job_stages: Sequence['outputs.JobStagesResponse'], + last_mitigation_action_on_job: 'outputs.LastMitigationActionOnJobResponse', + return_package: 'outputs.PackageShippingDetailsResponse', + reverse_shipment_label_sas_key: str, + data_export_details: Optional[Sequence['outputs.DataExportDetailsResponse']] = None, + data_import_details: Optional[Sequence['outputs.DataImportDetailsResponse']] = None, + device_password: Optional[str] = None, + expected_data_size_in_tera_bytes: Optional[int] = None, + key_encryption_key: Optional['outputs.KeyEncryptionKeyResponse'] = None, + preferences: Optional['outputs.PreferencesResponse'] = None, + reverse_shipping_details: Optional['outputs.ReverseShippingDetailsResponse'] = None, + shipping_address: Optional['outputs.ShippingAddressResponse'] = None): + """ + Databox Job Details + :param Sequence[str] actions: Available actions on the job. + :param str chain_of_custody_sas_key: Shared access key to download the chain of custody logs + :param 'ContactDetailsResponse' contact_details: Contact details for notification and shipping. + :param Sequence[Union['DataBoxAccountCopyLogDetailsResponse', 'DataBoxCustomerDiskCopyLogDetailsResponse', 'DataBoxDiskCopyLogDetailsResponse', 'DataBoxHeavyAccountCopyLogDetailsResponse']] copy_log_details: List of copy log details. + :param Sequence['CopyProgressResponse'] copy_progress: Copy progress per storage account. + :param str data_center_code: DataCenter code. + :param Union['DatacenterAddressInstructionResponseResponse', 'DatacenterAddressLocationResponseResponse'] datacenter_address: Datacenter address to ship to, for the given sku and storage location. + :param 'PackageShippingDetailsResponse' delivery_package: Delivery package shipping details. + :param 'DeviceErasureDetailsResponse' device_erasure_details: Holds device data erasure details + :param str job_details_type: Indicates the type of job details. + Expected value is 'DataBox'. + :param Sequence['JobStagesResponse'] job_stages: List of stages that run in the job. + :param 'LastMitigationActionOnJobResponse' last_mitigation_action_on_job: Last mitigation action performed on the job. + :param 'PackageShippingDetailsResponse' return_package: Return package shipping details. + :param str reverse_shipment_label_sas_key: Shared access key to download the return shipment label + :param Sequence['DataExportDetailsResponse'] data_export_details: Details of the data to be exported from azure. + :param Sequence['DataImportDetailsResponse'] data_import_details: Details of the data to be imported into azure. + :param str device_password: Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+ + :param int expected_data_size_in_tera_bytes: The expected size of the data, which needs to be transferred in this job, in terabytes. + :param 'KeyEncryptionKeyResponse' key_encryption_key: Details about which key encryption type is being used. + :param 'PreferencesResponse' preferences: Preferences for the order. + :param 'ReverseShippingDetailsResponse' reverse_shipping_details: Optional Reverse Shipping details for order. + :param 'ShippingAddressResponse' shipping_address: Shipping address of the customer. + """ + pulumi.set(__self__, "actions", actions) + pulumi.set(__self__, "chain_of_custody_sas_key", chain_of_custody_sas_key) + pulumi.set(__self__, "contact_details", contact_details) + pulumi.set(__self__, "copy_log_details", copy_log_details) + pulumi.set(__self__, "copy_progress", copy_progress) + pulumi.set(__self__, "data_center_code", data_center_code) + pulumi.set(__self__, "datacenter_address", datacenter_address) + pulumi.set(__self__, "delivery_package", delivery_package) + pulumi.set(__self__, "device_erasure_details", device_erasure_details) + pulumi.set(__self__, "job_details_type", 'DataBox') + pulumi.set(__self__, "job_stages", job_stages) + pulumi.set(__self__, "last_mitigation_action_on_job", last_mitigation_action_on_job) + pulumi.set(__self__, "return_package", return_package) + pulumi.set(__self__, "reverse_shipment_label_sas_key", reverse_shipment_label_sas_key) + if data_export_details is not None: + pulumi.set(__self__, "data_export_details", data_export_details) + if data_import_details is not None: + pulumi.set(__self__, "data_import_details", data_import_details) + if device_password is not None: + pulumi.set(__self__, "device_password", device_password) + if expected_data_size_in_tera_bytes is not None: + pulumi.set(__self__, "expected_data_size_in_tera_bytes", expected_data_size_in_tera_bytes) + if key_encryption_key is not None: + pulumi.set(__self__, "key_encryption_key", key_encryption_key) + if preferences is not None: + pulumi.set(__self__, "preferences", preferences) + if reverse_shipping_details is not None: + pulumi.set(__self__, "reverse_shipping_details", reverse_shipping_details) + if shipping_address is not None: + pulumi.set(__self__, "shipping_address", shipping_address) + + @property + @pulumi.getter + def actions(self) -> Sequence[str]: + """ + Available actions on the job. + """ + return pulumi.get(self, "actions") + + @property + @pulumi.getter(name="chainOfCustodySasKey") + def chain_of_custody_sas_key(self) -> str: + """ + Shared access key to download the chain of custody logs + """ + return pulumi.get(self, "chain_of_custody_sas_key") + + @property + @pulumi.getter(name="contactDetails") + def contact_details(self) -> 'outputs.ContactDetailsResponse': + """ + Contact details for notification and shipping. + """ + return pulumi.get(self, "contact_details") + + @property + @pulumi.getter(name="copyLogDetails") + def copy_log_details(self) -> Sequence[Any]: + """ + List of copy log details. + """ + return pulumi.get(self, "copy_log_details") + + @property + @pulumi.getter(name="copyProgress") + def copy_progress(self) -> Sequence['outputs.CopyProgressResponse']: + """ + Copy progress per storage account. + """ + return pulumi.get(self, "copy_progress") + + @property + @pulumi.getter(name="dataCenterCode") + def data_center_code(self) -> str: + """ + DataCenter code. + """ + return pulumi.get(self, "data_center_code") + + @property + @pulumi.getter(name="datacenterAddress") + def datacenter_address(self) -> Any: + """ + Datacenter address to ship to, for the given sku and storage location. + """ + return pulumi.get(self, "datacenter_address") + + @property + @pulumi.getter(name="deliveryPackage") + def delivery_package(self) -> 'outputs.PackageShippingDetailsResponse': + """ + Delivery package shipping details. + """ + return pulumi.get(self, "delivery_package") + + @property + @pulumi.getter(name="deviceErasureDetails") + def device_erasure_details(self) -> 'outputs.DeviceErasureDetailsResponse': + """ + Holds device data erasure details + """ + return pulumi.get(self, "device_erasure_details") + + @property + @pulumi.getter(name="jobDetailsType") + def job_details_type(self) -> str: + """ + Indicates the type of job details. + Expected value is 'DataBox'. + """ + return pulumi.get(self, "job_details_type") + + @property + @pulumi.getter(name="jobStages") + def job_stages(self) -> Sequence['outputs.JobStagesResponse']: + """ + List of stages that run in the job. + """ + return pulumi.get(self, "job_stages") + + @property + @pulumi.getter(name="lastMitigationActionOnJob") + def last_mitigation_action_on_job(self) -> 'outputs.LastMitigationActionOnJobResponse': + """ + Last mitigation action performed on the job. + """ + return pulumi.get(self, "last_mitigation_action_on_job") + + @property + @pulumi.getter(name="returnPackage") + def return_package(self) -> 'outputs.PackageShippingDetailsResponse': + """ + Return package shipping details. + """ + return pulumi.get(self, "return_package") + + @property + @pulumi.getter(name="reverseShipmentLabelSasKey") + def reverse_shipment_label_sas_key(self) -> str: + """ + Shared access key to download the return shipment label + """ + return pulumi.get(self, "reverse_shipment_label_sas_key") + + @property + @pulumi.getter(name="dataExportDetails") + def data_export_details(self) -> Optional[Sequence['outputs.DataExportDetailsResponse']]: + """ + Details of the data to be exported from azure. + """ + return pulumi.get(self, "data_export_details") + + @property + @pulumi.getter(name="dataImportDetails") + def data_import_details(self) -> Optional[Sequence['outputs.DataImportDetailsResponse']]: + """ + Details of the data to be imported into azure. + """ + return pulumi.get(self, "data_import_details") + + @property + @pulumi.getter(name="devicePassword") + def device_password(self) -> Optional[str]: + """ + Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+ + """ + return pulumi.get(self, "device_password") + + @property + @pulumi.getter(name="expectedDataSizeInTeraBytes") + def expected_data_size_in_tera_bytes(self) -> Optional[int]: + """ + The expected size of the data, which needs to be transferred in this job, in terabytes. + """ + return pulumi.get(self, "expected_data_size_in_tera_bytes") + + @property + @pulumi.getter(name="keyEncryptionKey") + def key_encryption_key(self) -> Optional['outputs.KeyEncryptionKeyResponse']: + """ + Details about which key encryption type is being used. + """ + return pulumi.get(self, "key_encryption_key") + + @property + @pulumi.getter + def preferences(self) -> Optional['outputs.PreferencesResponse']: + """ + Preferences for the order. + """ + return pulumi.get(self, "preferences") + + @property + @pulumi.getter(name="reverseShippingDetails") + def reverse_shipping_details(self) -> Optional['outputs.ReverseShippingDetailsResponse']: + """ + Optional Reverse Shipping details for order. + """ + return pulumi.get(self, "reverse_shipping_details") + + @property + @pulumi.getter(name="shippingAddress") + def shipping_address(self) -> Optional['outputs.ShippingAddressResponse']: + """ + Shipping address of the customer. + """ + return pulumi.get(self, "shipping_address") + + +@pulumi.output_type +class DataBoxSecretResponse(dict): + """ + The secrets related to a DataBox. + """ + def __init__(__self__, *, + account_credential_details: Sequence['outputs.AccountCredentialDetailsResponse'], + device_password: str, + device_serial_number: str, + encoded_validation_cert_pub_key: str, + network_configurations: Sequence['outputs.ApplianceNetworkConfigurationResponse']): + """ + The secrets related to a DataBox. + :param Sequence['AccountCredentialDetailsResponse'] account_credential_details: Per account level access credentials. + :param str device_password: Password for out of the box experience on device. + :param str device_serial_number: Serial number of the assigned device. + :param str encoded_validation_cert_pub_key: The base 64 encoded public key to authenticate with the device + :param Sequence['ApplianceNetworkConfigurationResponse'] network_configurations: Network configuration of the appliance. + """ + pulumi.set(__self__, "account_credential_details", account_credential_details) + pulumi.set(__self__, "device_password", device_password) + pulumi.set(__self__, "device_serial_number", device_serial_number) + pulumi.set(__self__, "encoded_validation_cert_pub_key", encoded_validation_cert_pub_key) + pulumi.set(__self__, "network_configurations", network_configurations) + + @property + @pulumi.getter(name="accountCredentialDetails") + def account_credential_details(self) -> Sequence['outputs.AccountCredentialDetailsResponse']: + """ + Per account level access credentials. + """ + return pulumi.get(self, "account_credential_details") + + @property + @pulumi.getter(name="devicePassword") + def device_password(self) -> str: + """ + Password for out of the box experience on device. + """ + return pulumi.get(self, "device_password") + + @property + @pulumi.getter(name="deviceSerialNumber") + def device_serial_number(self) -> str: + """ + Serial number of the assigned device. + """ + return pulumi.get(self, "device_serial_number") + + @property + @pulumi.getter(name="encodedValidationCertPubKey") + def encoded_validation_cert_pub_key(self) -> str: + """ + The base 64 encoded public key to authenticate with the device + """ + return pulumi.get(self, "encoded_validation_cert_pub_key") + + @property + @pulumi.getter(name="networkConfigurations") + def network_configurations(self) -> Sequence['outputs.ApplianceNetworkConfigurationResponse']: + """ + Network configuration of the appliance. + """ + return pulumi.get(self, "network_configurations") + + +@pulumi.output_type +class DataExportDetailsResponse(dict): + """ + Details of the data to be used for exporting data from azure. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountDetails": + suggest = "account_details" + elif key == "transferConfiguration": + suggest = "transfer_configuration" + elif key == "logCollectionLevel": + suggest = "log_collection_level" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataExportDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataExportDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataExportDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_details: Any, + transfer_configuration: 'outputs.TransferConfigurationResponse', + log_collection_level: Optional[str] = None): + """ + Details of the data to be used for exporting data from azure. + :param Union['ManagedDiskDetailsResponse', 'StorageAccountDetailsResponse'] account_details: Account details of the data to be transferred + :param 'TransferConfigurationResponse' transfer_configuration: Configuration for the data transfer. + :param str log_collection_level: Level of the logs to be collected. + """ + pulumi.set(__self__, "account_details", account_details) + pulumi.set(__self__, "transfer_configuration", transfer_configuration) + if log_collection_level is None: + log_collection_level = 'Error' + if log_collection_level is not None: + pulumi.set(__self__, "log_collection_level", log_collection_level) + + @property + @pulumi.getter(name="accountDetails") + def account_details(self) -> Any: + """ + Account details of the data to be transferred + """ + return pulumi.get(self, "account_details") + + @property + @pulumi.getter(name="transferConfiguration") + def transfer_configuration(self) -> 'outputs.TransferConfigurationResponse': + """ + Configuration for the data transfer. + """ + return pulumi.get(self, "transfer_configuration") + + @property + @pulumi.getter(name="logCollectionLevel") + def log_collection_level(self) -> Optional[str]: + """ + Level of the logs to be collected. + """ + return pulumi.get(self, "log_collection_level") + + +@pulumi.output_type +class DataImportDetailsResponse(dict): + """ + Details of the data to be used for importing data to azure. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountDetails": + suggest = "account_details" + elif key == "logCollectionLevel": + suggest = "log_collection_level" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataImportDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataImportDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataImportDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_details: Any, + log_collection_level: Optional[str] = None): + """ + Details of the data to be used for importing data to azure. + :param Union['ManagedDiskDetailsResponse', 'StorageAccountDetailsResponse'] account_details: Account details of the data to be transferred + :param str log_collection_level: Level of the logs to be collected. + """ + pulumi.set(__self__, "account_details", account_details) + if log_collection_level is None: + log_collection_level = 'Error' + if log_collection_level is not None: + pulumi.set(__self__, "log_collection_level", log_collection_level) + + @property + @pulumi.getter(name="accountDetails") + def account_details(self) -> Any: + """ + Account details of the data to be transferred + """ + return pulumi.get(self, "account_details") + + @property + @pulumi.getter(name="logCollectionLevel") + def log_collection_level(self) -> Optional[str]: + """ + Level of the logs to be collected. + """ + return pulumi.get(self, "log_collection_level") + + +@pulumi.output_type +class DataboxJobSecretsResponse(dict): + """ + The secrets related to a databox job. + """ + def __init__(__self__, *, + dc_access_security_code: 'outputs.DcAccessSecurityCodeResponse', + error: 'outputs.CloudErrorResponse', + job_secrets_type: str, + pod_secrets: Optional[Sequence['outputs.DataBoxSecretResponse']] = None): + """ + The secrets related to a databox job. + :param 'DcAccessSecurityCodeResponse' dc_access_security_code: Dc Access Security Code for Customer Managed Shipping + :param 'CloudErrorResponse' error: Error while fetching the secrets. + :param str job_secrets_type: Used to indicate what type of job secrets object. + Expected value is 'DataBox'. + :param Sequence['DataBoxSecretResponse'] pod_secrets: Contains the list of secret objects for a job. + """ + pulumi.set(__self__, "dc_access_security_code", dc_access_security_code) + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "job_secrets_type", 'DataBox') + if pod_secrets is not None: + pulumi.set(__self__, "pod_secrets", pod_secrets) + + @property + @pulumi.getter(name="dcAccessSecurityCode") + def dc_access_security_code(self) -> 'outputs.DcAccessSecurityCodeResponse': + """ + Dc Access Security Code for Customer Managed Shipping + """ + return pulumi.get(self, "dc_access_security_code") + + @property + @pulumi.getter + def error(self) -> 'outputs.CloudErrorResponse': + """ + Error while fetching the secrets. + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter(name="jobSecretsType") + def job_secrets_type(self) -> str: + """ + Used to indicate what type of job secrets object. + Expected value is 'DataBox'. + """ + return pulumi.get(self, "job_secrets_type") + + @property + @pulumi.getter(name="podSecrets") + def pod_secrets(self) -> Optional[Sequence['outputs.DataBoxSecretResponse']]: + """ + Contains the list of secret objects for a job. + """ + return pulumi.get(self, "pod_secrets") + + +@pulumi.output_type +class DatacenterAddressInstructionResponseResponse(dict): + """ + Datacenter instruction for given storage location. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "communicationInstruction": + suggest = "communication_instruction" + elif key == "dataCenterAzureLocation": + suggest = "data_center_azure_location" + elif key == "datacenterAddressType": + suggest = "datacenter_address_type" + elif key == "supportedCarriersForReturnShipment": + suggest = "supported_carriers_for_return_shipment" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DatacenterAddressInstructionResponseResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DatacenterAddressInstructionResponseResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DatacenterAddressInstructionResponseResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + communication_instruction: str, + data_center_azure_location: str, + datacenter_address_type: str, + supported_carriers_for_return_shipment: Sequence[str]): + """ + Datacenter instruction for given storage location. + :param str communication_instruction: Data center communication instruction + :param str data_center_azure_location: Azure Location where the Data Center serves primarily. + :param str datacenter_address_type: Data center address type + Expected value is 'DatacenterAddressInstruction'. + :param Sequence[str] supported_carriers_for_return_shipment: List of supported carriers for return shipment. + """ + pulumi.set(__self__, "communication_instruction", communication_instruction) + pulumi.set(__self__, "data_center_azure_location", data_center_azure_location) + pulumi.set(__self__, "datacenter_address_type", 'DatacenterAddressInstruction') + pulumi.set(__self__, "supported_carriers_for_return_shipment", supported_carriers_for_return_shipment) + + @property + @pulumi.getter(name="communicationInstruction") + def communication_instruction(self) -> str: + """ + Data center communication instruction + """ + return pulumi.get(self, "communication_instruction") + + @property + @pulumi.getter(name="dataCenterAzureLocation") + def data_center_azure_location(self) -> str: + """ + Azure Location where the Data Center serves primarily. + """ + return pulumi.get(self, "data_center_azure_location") + + @property + @pulumi.getter(name="datacenterAddressType") + def datacenter_address_type(self) -> str: + """ + Data center address type + Expected value is 'DatacenterAddressInstruction'. + """ + return pulumi.get(self, "datacenter_address_type") + + @property + @pulumi.getter(name="supportedCarriersForReturnShipment") + def supported_carriers_for_return_shipment(self) -> Sequence[str]: + """ + List of supported carriers for return shipment. + """ + return pulumi.get(self, "supported_carriers_for_return_shipment") + + +@pulumi.output_type +class DatacenterAddressLocationResponseResponse(dict): + """ + Datacenter address for given storage location. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "additionalShippingInformation": + suggest = "additional_shipping_information" + elif key == "addressType": + suggest = "address_type" + elif key == "contactPersonName": + suggest = "contact_person_name" + elif key == "dataCenterAzureLocation": + suggest = "data_center_azure_location" + elif key == "datacenterAddressType": + suggest = "datacenter_address_type" + elif key == "phoneExtension": + suggest = "phone_extension" + elif key == "supportedCarriersForReturnShipment": + suggest = "supported_carriers_for_return_shipment" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DatacenterAddressLocationResponseResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DatacenterAddressLocationResponseResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DatacenterAddressLocationResponseResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + additional_shipping_information: str, + address_type: str, + city: str, + company: str, + contact_person_name: str, + country: str, + data_center_azure_location: str, + datacenter_address_type: str, + phone: str, + phone_extension: str, + state: str, + street1: str, + street2: str, + street3: str, + supported_carriers_for_return_shipment: Sequence[str], + zip: str): + """ + Datacenter address for given storage location. + :param str additional_shipping_information: Special instruction for shipping + :param str address_type: Address type + :param str city: City name + :param str company: Company name + :param str contact_person_name: Contact person name + :param str country: name of the country + :param str data_center_azure_location: Azure Location where the Data Center serves primarily. + :param str datacenter_address_type: Data center address type + Expected value is 'DatacenterAddressLocation'. + :param str phone: Phone number + :param str phone_extension: Phone extension + :param str state: name of the state + :param str street1: Street address line 1 + :param str street2: Street address line 2 + :param str street3: Street address line 3 + :param Sequence[str] supported_carriers_for_return_shipment: List of supported carriers for return shipment. + :param str zip: Zip code + """ + pulumi.set(__self__, "additional_shipping_information", additional_shipping_information) + pulumi.set(__self__, "address_type", address_type) + pulumi.set(__self__, "city", city) + pulumi.set(__self__, "company", company) + pulumi.set(__self__, "contact_person_name", contact_person_name) + pulumi.set(__self__, "country", country) + pulumi.set(__self__, "data_center_azure_location", data_center_azure_location) + pulumi.set(__self__, "datacenter_address_type", 'DatacenterAddressLocation') + pulumi.set(__self__, "phone", phone) + pulumi.set(__self__, "phone_extension", phone_extension) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "street1", street1) + pulumi.set(__self__, "street2", street2) + pulumi.set(__self__, "street3", street3) + pulumi.set(__self__, "supported_carriers_for_return_shipment", supported_carriers_for_return_shipment) + pulumi.set(__self__, "zip", zip) + + @property + @pulumi.getter(name="additionalShippingInformation") + def additional_shipping_information(self) -> str: + """ + Special instruction for shipping + """ + return pulumi.get(self, "additional_shipping_information") + + @property + @pulumi.getter(name="addressType") + def address_type(self) -> str: + """ + Address type + """ + return pulumi.get(self, "address_type") + + @property + @pulumi.getter + def city(self) -> str: + """ + City name + """ + return pulumi.get(self, "city") + + @property + @pulumi.getter + def company(self) -> str: + """ + Company name + """ + return pulumi.get(self, "company") + + @property + @pulumi.getter(name="contactPersonName") + def contact_person_name(self) -> str: + """ + Contact person name + """ + return pulumi.get(self, "contact_person_name") + + @property + @pulumi.getter + def country(self) -> str: + """ + name of the country + """ + return pulumi.get(self, "country") + + @property + @pulumi.getter(name="dataCenterAzureLocation") + def data_center_azure_location(self) -> str: + """ + Azure Location where the Data Center serves primarily. + """ + return pulumi.get(self, "data_center_azure_location") + + @property + @pulumi.getter(name="datacenterAddressType") + def datacenter_address_type(self) -> str: + """ + Data center address type + Expected value is 'DatacenterAddressLocation'. + """ + return pulumi.get(self, "datacenter_address_type") + + @property + @pulumi.getter + def phone(self) -> str: + """ + Phone number + """ + return pulumi.get(self, "phone") + + @property + @pulumi.getter(name="phoneExtension") + def phone_extension(self) -> str: + """ + Phone extension + """ + return pulumi.get(self, "phone_extension") + + @property + @pulumi.getter + def state(self) -> str: + """ + name of the state + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def street1(self) -> str: + """ + Street address line 1 + """ + return pulumi.get(self, "street1") + + @property + @pulumi.getter + def street2(self) -> str: + """ + Street address line 2 + """ + return pulumi.get(self, "street2") + + @property + @pulumi.getter + def street3(self) -> str: + """ + Street address line 3 + """ + return pulumi.get(self, "street3") + + @property + @pulumi.getter(name="supportedCarriersForReturnShipment") + def supported_carriers_for_return_shipment(self) -> Sequence[str]: + """ + List of supported carriers for return shipment. + """ + return pulumi.get(self, "supported_carriers_for_return_shipment") + + @property + @pulumi.getter + def zip(self) -> str: + """ + Zip code + """ + return pulumi.get(self, "zip") + + +@pulumi.output_type +class DcAccessSecurityCodeResponse(dict): + """ + Dc access security code + """ + def __init__(__self__, *, + forward_dc_access_code: Optional[str] = None, + reverse_dc_access_code: Optional[str] = None): + """ + Dc access security code + :param str forward_dc_access_code: Forward Dc access security code. + :param str reverse_dc_access_code: Reverse Dc access security code. + """ + if forward_dc_access_code is not None: + pulumi.set(__self__, "forward_dc_access_code", forward_dc_access_code) + if reverse_dc_access_code is not None: + pulumi.set(__self__, "reverse_dc_access_code", reverse_dc_access_code) + + @property + @pulumi.getter(name="forwardDCAccessCode") + def forward_dc_access_code(self) -> Optional[str]: + """ + Forward Dc access security code. + """ + return pulumi.get(self, "forward_dc_access_code") + + @property + @pulumi.getter(name="reverseDCAccessCode") + def reverse_dc_access_code(self) -> Optional[str]: + """ + Reverse Dc access security code. + """ + return pulumi.get(self, "reverse_dc_access_code") + + +@pulumi.output_type +class DeviceErasureDetailsResponse(dict): + """ + Device erasure details with erasure completion status and erasureordestructionlog sas key + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deviceErasureStatus": + suggest = "device_erasure_status" + elif key == "erasureOrDestructionCertificateSasKey": + suggest = "erasure_or_destruction_certificate_sas_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeviceErasureDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeviceErasureDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeviceErasureDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + device_erasure_status: str, + erasure_or_destruction_certificate_sas_key: str): + """ + Device erasure details with erasure completion status and erasureordestructionlog sas key + :param str device_erasure_status: Holds the device erasure completion status + :param str erasure_or_destruction_certificate_sas_key: Shared access key to download cleanup or destruction certificate for device + """ + pulumi.set(__self__, "device_erasure_status", device_erasure_status) + pulumi.set(__self__, "erasure_or_destruction_certificate_sas_key", erasure_or_destruction_certificate_sas_key) + + @property + @pulumi.getter(name="deviceErasureStatus") + def device_erasure_status(self) -> str: + """ + Holds the device erasure completion status + """ + return pulumi.get(self, "device_erasure_status") + + @property + @pulumi.getter(name="erasureOrDestructionCertificateSasKey") + def erasure_or_destruction_certificate_sas_key(self) -> str: + """ + Shared access key to download cleanup or destruction certificate for device + """ + return pulumi.get(self, "erasure_or_destruction_certificate_sas_key") + + +@pulumi.output_type +class DiskSecretResponse(dict): + """ + Contains all the secrets of a Disk. + """ + def __init__(__self__, *, + bit_locker_key: str, + disk_serial_number: str): + """ + Contains all the secrets of a Disk. + :param str bit_locker_key: Bit Locker key of the disk which can be used to unlock the disk to copy data. + :param str disk_serial_number: Serial number of the assigned disk. + """ + pulumi.set(__self__, "bit_locker_key", bit_locker_key) + pulumi.set(__self__, "disk_serial_number", disk_serial_number) + + @property + @pulumi.getter(name="bitLockerKey") + def bit_locker_key(self) -> str: + """ + Bit Locker key of the disk which can be used to unlock the disk to copy data. + """ + return pulumi.get(self, "bit_locker_key") + + @property + @pulumi.getter(name="diskSerialNumber") + def disk_serial_number(self) -> str: + """ + Serial number of the assigned disk. + """ + return pulumi.get(self, "disk_serial_number") + + +@pulumi.output_type +class EncryptionPreferencesResponse(dict): + """ + Preferences related to the Encryption. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "doubleEncryption": + suggest = "double_encryption" + elif key == "hardwareEncryption": + suggest = "hardware_encryption" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EncryptionPreferencesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EncryptionPreferencesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EncryptionPreferencesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + double_encryption: Optional[str] = None, + hardware_encryption: Optional[str] = None): + """ + Preferences related to the Encryption. + :param str double_encryption: Defines secondary layer of software-based encryption enablement. + :param str hardware_encryption: Defines Hardware level encryption (Only for disk) + """ + if double_encryption is None: + double_encryption = 'Disabled' + if double_encryption is not None: + pulumi.set(__self__, "double_encryption", double_encryption) + if hardware_encryption is not None: + pulumi.set(__self__, "hardware_encryption", hardware_encryption) + + @property + @pulumi.getter(name="doubleEncryption") + def double_encryption(self) -> Optional[str]: + """ + Defines secondary layer of software-based encryption enablement. + """ + return pulumi.get(self, "double_encryption") + + @property + @pulumi.getter(name="hardwareEncryption") + def hardware_encryption(self) -> Optional[str]: + """ + Defines Hardware level encryption (Only for disk) + """ + return pulumi.get(self, "hardware_encryption") + + +@pulumi.output_type +class ExportDiskDetailsResponse(dict): + """ + Export disk details + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "backupManifestCloudPath": + suggest = "backup_manifest_cloud_path" + elif key == "manifestFile": + suggest = "manifest_file" + elif key == "manifestHash": + suggest = "manifest_hash" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ExportDiskDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ExportDiskDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ExportDiskDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + backup_manifest_cloud_path: str, + manifest_file: str, + manifest_hash: str): + """ + Export disk details + :param str backup_manifest_cloud_path: Path to backed up manifest, only returned if enableManifestBackup is true. + :param str manifest_file: The relative path of the manifest file on the disk. + :param str manifest_hash: The Base16-encoded MD5 hash of the manifest file on the disk. + """ + pulumi.set(__self__, "backup_manifest_cloud_path", backup_manifest_cloud_path) + pulumi.set(__self__, "manifest_file", manifest_file) + pulumi.set(__self__, "manifest_hash", manifest_hash) + + @property + @pulumi.getter(name="backupManifestCloudPath") + def backup_manifest_cloud_path(self) -> str: + """ + Path to backed up manifest, only returned if enableManifestBackup is true. + """ + return pulumi.get(self, "backup_manifest_cloud_path") + + @property + @pulumi.getter(name="manifestFile") + def manifest_file(self) -> str: + """ + The relative path of the manifest file on the disk. + """ + return pulumi.get(self, "manifest_file") + + @property + @pulumi.getter(name="manifestHash") + def manifest_hash(self) -> str: + """ + The Base16-encoded MD5 hash of the manifest file on the disk. + """ + return pulumi.get(self, "manifest_hash") + + +@pulumi.output_type +class FilterFileDetailsResponse(dict): + """ + Details of the filter files to be used for data transfer. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "filterFilePath": + suggest = "filter_file_path" + elif key == "filterFileType": + suggest = "filter_file_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FilterFileDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FilterFileDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FilterFileDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + filter_file_path: str, + filter_file_type: str): + """ + Details of the filter files to be used for data transfer. + :param str filter_file_path: Path of the file that contains the details of all items to transfer. + :param str filter_file_type: Type of the filter file. + """ + pulumi.set(__self__, "filter_file_path", filter_file_path) + pulumi.set(__self__, "filter_file_type", filter_file_type) + + @property + @pulumi.getter(name="filterFilePath") + def filter_file_path(self) -> str: + """ + Path of the file that contains the details of all items to transfer. + """ + return pulumi.get(self, "filter_file_path") + + @property + @pulumi.getter(name="filterFileType") + def filter_file_type(self) -> str: + """ + Type of the filter file. + """ + return pulumi.get(self, "filter_file_type") + + +@pulumi.output_type +class IdentityPropertiesResponse(dict): + """ + Managed identity properties. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "userAssigned": + suggest = "user_assigned" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IdentityPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IdentityPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IdentityPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: Optional[str] = None, + user_assigned: Optional['outputs.UserAssignedPropertiesResponse'] = None): + """ + Managed identity properties. + :param str type: Managed service identity type. + :param 'UserAssignedPropertiesResponse' user_assigned: User assigned identity properties. + """ + if type is not None: + pulumi.set(__self__, "type", type) + if user_assigned is not None: + pulumi.set(__self__, "user_assigned", user_assigned) + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + Managed service identity type. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userAssigned") + def user_assigned(self) -> Optional['outputs.UserAssignedPropertiesResponse']: + """ + User assigned identity properties. + """ + return pulumi.get(self, "user_assigned") + + +@pulumi.output_type +class ImportDiskDetailsResponse(dict): + """ + Import disk details + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "backupManifestCloudPath": + suggest = "backup_manifest_cloud_path" + elif key == "bitLockerKey": + suggest = "bit_locker_key" + elif key == "manifestFile": + suggest = "manifest_file" + elif key == "manifestHash": + suggest = "manifest_hash" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ImportDiskDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ImportDiskDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ImportDiskDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + backup_manifest_cloud_path: str, + bit_locker_key: str, + manifest_file: str, + manifest_hash: str): + """ + Import disk details + :param str backup_manifest_cloud_path: Path to backed up manifest, only returned if enableManifestBackup is true. + :param str bit_locker_key: BitLocker key used to encrypt the disk. + :param str manifest_file: The relative path of the manifest file on the disk. + :param str manifest_hash: The Base16-encoded MD5 hash of the manifest file on the disk. + """ + pulumi.set(__self__, "backup_manifest_cloud_path", backup_manifest_cloud_path) + pulumi.set(__self__, "bit_locker_key", bit_locker_key) + pulumi.set(__self__, "manifest_file", manifest_file) + pulumi.set(__self__, "manifest_hash", manifest_hash) + + @property + @pulumi.getter(name="backupManifestCloudPath") + def backup_manifest_cloud_path(self) -> str: + """ + Path to backed up manifest, only returned if enableManifestBackup is true. + """ + return pulumi.get(self, "backup_manifest_cloud_path") + + @property + @pulumi.getter(name="bitLockerKey") + def bit_locker_key(self) -> str: + """ + BitLocker key used to encrypt the disk. + """ + return pulumi.get(self, "bit_locker_key") + + @property + @pulumi.getter(name="manifestFile") + def manifest_file(self) -> str: + """ + The relative path of the manifest file on the disk. + """ + return pulumi.get(self, "manifest_file") + + @property + @pulumi.getter(name="manifestHash") + def manifest_hash(self) -> str: + """ + The Base16-encoded MD5 hash of the manifest file on the disk. + """ + return pulumi.get(self, "manifest_hash") + + +@pulumi.output_type +class JobDelayDetailsResponse(dict): + """ + Job Delay Notification details + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "errorCode": + suggest = "error_code" + elif key == "resolutionTime": + suggest = "resolution_time" + elif key == "startTime": + suggest = "start_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobDelayDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobDelayDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobDelayDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + description: str, + error_code: str, + resolution_time: str, + start_time: str, + status: str): + """ + Job Delay Notification details + :param str description: Description of the delay. + :param str error_code: Delay Error code + :param str resolution_time: Timestamp when the delay notification was resolved. + :param str start_time: Timestamp when the delay notification was created. + :param str status: Status of notification + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "error_code", error_code) + pulumi.set(__self__, "resolution_time", resolution_time) + pulumi.set(__self__, "start_time", start_time) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def description(self) -> str: + """ + Description of the delay. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="errorCode") + def error_code(self) -> str: + """ + Delay Error code + """ + return pulumi.get(self, "error_code") + + @property + @pulumi.getter(name="resolutionTime") + def resolution_time(self) -> str: + """ + Timestamp when the delay notification was resolved. + """ + return pulumi.get(self, "resolution_time") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> str: + """ + Timestamp when the delay notification was created. + """ + return pulumi.get(self, "start_time") + + @property + @pulumi.getter + def status(self) -> str: + """ + Status of notification + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class JobDeliveryInfoResponse(dict): + """ + Additional delivery info. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "scheduledDateTime": + suggest = "scheduled_date_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobDeliveryInfoResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobDeliveryInfoResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobDeliveryInfoResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + scheduled_date_time: Optional[str] = None): + """ + Additional delivery info. + :param str scheduled_date_time: Scheduled date time. + """ + if scheduled_date_time is not None: + pulumi.set(__self__, "scheduled_date_time", scheduled_date_time) + + @property + @pulumi.getter(name="scheduledDateTime") + def scheduled_date_time(self) -> Optional[str]: + """ + Scheduled date time. + """ + return pulumi.get(self, "scheduled_date_time") + + +@pulumi.output_type +class JobStagesResponse(dict): + """ + Job stages. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "delayInformation": + suggest = "delay_information" + elif key == "displayName": + suggest = "display_name" + elif key == "jobStageDetails": + suggest = "job_stage_details" + elif key == "stageName": + suggest = "stage_name" + elif key == "stageStatus": + suggest = "stage_status" + elif key == "stageTime": + suggest = "stage_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobStagesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobStagesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobStagesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + delay_information: Sequence['outputs.JobDelayDetailsResponse'], + display_name: str, + job_stage_details: Any, + stage_name: str, + stage_status: str, + stage_time: str): + """ + Job stages. + :param Sequence['JobDelayDetailsResponse'] delay_information: Delay information for the job stages. + :param str display_name: Display name of the job stage. + :param Any job_stage_details: Job Stage Details + :param str stage_name: Name of the job stage. + :param str stage_status: Status of the job stage. + :param str stage_time: Time for the job stage in UTC ISO 8601 format. + """ + pulumi.set(__self__, "delay_information", delay_information) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "job_stage_details", job_stage_details) + pulumi.set(__self__, "stage_name", stage_name) + pulumi.set(__self__, "stage_status", stage_status) + pulumi.set(__self__, "stage_time", stage_time) + + @property + @pulumi.getter(name="delayInformation") + def delay_information(self) -> Sequence['outputs.JobDelayDetailsResponse']: + """ + Delay information for the job stages. + """ + return pulumi.get(self, "delay_information") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + Display name of the job stage. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="jobStageDetails") + def job_stage_details(self) -> Any: + """ + Job Stage Details + """ + return pulumi.get(self, "job_stage_details") + + @property + @pulumi.getter(name="stageName") + def stage_name(self) -> str: + """ + Name of the job stage. + """ + return pulumi.get(self, "stage_name") + + @property + @pulumi.getter(name="stageStatus") + def stage_status(self) -> str: + """ + Status of the job stage. + """ + return pulumi.get(self, "stage_status") + + @property + @pulumi.getter(name="stageTime") + def stage_time(self) -> str: + """ + Time for the job stage in UTC ISO 8601 format. + """ + return pulumi.get(self, "stage_time") + + +@pulumi.output_type +class KeyEncryptionKeyResponse(dict): + """ + Encryption key containing details about key to encrypt different keys. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "kekType": + suggest = "kek_type" + elif key == "identityProperties": + suggest = "identity_properties" + elif key == "kekUrl": + suggest = "kek_url" + elif key == "kekVaultResourceID": + suggest = "kek_vault_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in KeyEncryptionKeyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + KeyEncryptionKeyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + KeyEncryptionKeyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + kek_type: str, + identity_properties: Optional['outputs.IdentityPropertiesResponse'] = None, + kek_url: Optional[str] = None, + kek_vault_resource_id: Optional[str] = None): + """ + Encryption key containing details about key to encrypt different keys. + :param str kek_type: Type of encryption key used for key encryption. + :param 'IdentityPropertiesResponse' identity_properties: Managed identity properties used for key encryption. + :param str kek_url: Key encryption key. It is required in case of Customer managed KekType. + :param str kek_vault_resource_id: Kek vault resource id. It is required in case of Customer managed KekType. + """ + if kek_type is None: + kek_type = 'MicrosoftManaged' + pulumi.set(__self__, "kek_type", kek_type) + if identity_properties is not None: + pulumi.set(__self__, "identity_properties", identity_properties) + if kek_url is not None: + pulumi.set(__self__, "kek_url", kek_url) + if kek_vault_resource_id is not None: + pulumi.set(__self__, "kek_vault_resource_id", kek_vault_resource_id) + + @property + @pulumi.getter(name="kekType") + def kek_type(self) -> str: + """ + Type of encryption key used for key encryption. + """ + return pulumi.get(self, "kek_type") + + @property + @pulumi.getter(name="identityProperties") + def identity_properties(self) -> Optional['outputs.IdentityPropertiesResponse']: + """ + Managed identity properties used for key encryption. + """ + return pulumi.get(self, "identity_properties") + + @property + @pulumi.getter(name="kekUrl") + def kek_url(self) -> Optional[str]: + """ + Key encryption key. It is required in case of Customer managed KekType. + """ + return pulumi.get(self, "kek_url") + + @property + @pulumi.getter(name="kekVaultResourceID") + def kek_vault_resource_id(self) -> Optional[str]: + """ + Kek vault resource id. It is required in case of Customer managed KekType. + """ + return pulumi.get(self, "kek_vault_resource_id") + + +@pulumi.output_type +class LastMitigationActionOnJobResponse(dict): + """ + Last Mitigation Action Performed On Job + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "actionDateTimeInUtc": + suggest = "action_date_time_in_utc" + elif key == "customerResolution": + suggest = "customer_resolution" + elif key == "isPerformedByCustomer": + suggest = "is_performed_by_customer" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LastMitigationActionOnJobResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LastMitigationActionOnJobResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LastMitigationActionOnJobResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + action_date_time_in_utc: Optional[str] = None, + customer_resolution: Optional[str] = None, + is_performed_by_customer: Optional[bool] = None): + """ + Last Mitigation Action Performed On Job + :param str action_date_time_in_utc: Action performed date time + :param str customer_resolution: Resolution code provided by customer + :param bool is_performed_by_customer: Action performed by customer, + possibility is that mitigation might happen by customer or service or by ops + """ + if action_date_time_in_utc is not None: + pulumi.set(__self__, "action_date_time_in_utc", action_date_time_in_utc) + if customer_resolution is not None: + pulumi.set(__self__, "customer_resolution", customer_resolution) + if is_performed_by_customer is not None: + pulumi.set(__self__, "is_performed_by_customer", is_performed_by_customer) + + @property + @pulumi.getter(name="actionDateTimeInUtc") + def action_date_time_in_utc(self) -> Optional[str]: + """ + Action performed date time + """ + return pulumi.get(self, "action_date_time_in_utc") + + @property + @pulumi.getter(name="customerResolution") + def customer_resolution(self) -> Optional[str]: + """ + Resolution code provided by customer + """ + return pulumi.get(self, "customer_resolution") + + @property + @pulumi.getter(name="isPerformedByCustomer") + def is_performed_by_customer(self) -> Optional[bool]: + """ + Action performed by customer, + possibility is that mitigation might happen by customer or service or by ops + """ + return pulumi.get(self, "is_performed_by_customer") + + +@pulumi.output_type +class ManagedDiskDetailsResponse(dict): + """ + Details of the managed disks. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataAccountType": + suggest = "data_account_type" + elif key == "resourceGroupId": + suggest = "resource_group_id" + elif key == "stagingStorageAccountId": + suggest = "staging_storage_account_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedDiskDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedDiskDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedDiskDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_account_type: str, + resource_group_id: str, + staging_storage_account_id: str): + """ + Details of the managed disks. + :param str data_account_type: Account Type of the data to be transferred. + Expected value is 'ManagedDisk'. + :param str resource_group_id: Resource Group Id of the compute disks. + :param str staging_storage_account_id: Resource Id of the storage account that can be used to copy the vhd for staging. + """ + if data_account_type is None: + data_account_type = 'StorageAccount' + pulumi.set(__self__, "data_account_type", 'ManagedDisk') + pulumi.set(__self__, "resource_group_id", resource_group_id) + pulumi.set(__self__, "staging_storage_account_id", staging_storage_account_id) + + @property + @pulumi.getter(name="dataAccountType") + def data_account_type(self) -> str: + """ + Account Type of the data to be transferred. + Expected value is 'ManagedDisk'. + """ + return pulumi.get(self, "data_account_type") + + @property + @pulumi.getter(name="resourceGroupId") + def resource_group_id(self) -> str: + """ + Resource Group Id of the compute disks. + """ + return pulumi.get(self, "resource_group_id") + + @property + @pulumi.getter(name="stagingStorageAccountId") + def staging_storage_account_id(self) -> str: + """ + Resource Id of the storage account that can be used to copy the vhd for staging. + """ + return pulumi.get(self, "staging_storage_account_id") + + +@pulumi.output_type +class NotificationPreferenceResponse(dict): + """ + Notification preference for a job stage. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sendNotification": + suggest = "send_notification" + elif key == "stageName": + suggest = "stage_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NotificationPreferenceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NotificationPreferenceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NotificationPreferenceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + send_notification: bool, + stage_name: str): + """ + Notification preference for a job stage. + :param bool send_notification: Notification is required or not. + :param str stage_name: Name of the stage. + """ + if send_notification is None: + send_notification = True + pulumi.set(__self__, "send_notification", send_notification) + pulumi.set(__self__, "stage_name", stage_name) + + @property + @pulumi.getter(name="sendNotification") + def send_notification(self) -> bool: + """ + Notification is required or not. + """ + return pulumi.get(self, "send_notification") + + @property + @pulumi.getter(name="stageName") + def stage_name(self) -> str: + """ + Name of the stage. + """ + return pulumi.get(self, "stage_name") + + +@pulumi.output_type +class PackageCarrierDetailsResponse(dict): + """ + Package carrier details. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "carrierAccountNumber": + suggest = "carrier_account_number" + elif key == "carrierName": + suggest = "carrier_name" + elif key == "trackingId": + suggest = "tracking_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PackageCarrierDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PackageCarrierDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PackageCarrierDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + carrier_account_number: Optional[str] = None, + carrier_name: Optional[str] = None, + tracking_id: Optional[str] = None): + """ + Package carrier details. + :param str carrier_account_number: Carrier Account Number of customer for customer disk. + :param str carrier_name: Name of the carrier. + :param str tracking_id: Tracking Id of shipment. + """ + if carrier_account_number is not None: + pulumi.set(__self__, "carrier_account_number", carrier_account_number) + if carrier_name is not None: + pulumi.set(__self__, "carrier_name", carrier_name) + if tracking_id is not None: + pulumi.set(__self__, "tracking_id", tracking_id) + + @property + @pulumi.getter(name="carrierAccountNumber") + def carrier_account_number(self) -> Optional[str]: + """ + Carrier Account Number of customer for customer disk. + """ + return pulumi.get(self, "carrier_account_number") + + @property + @pulumi.getter(name="carrierName") + def carrier_name(self) -> Optional[str]: + """ + Name of the carrier. + """ + return pulumi.get(self, "carrier_name") + + @property + @pulumi.getter(name="trackingId") + def tracking_id(self) -> Optional[str]: + """ + Tracking Id of shipment. + """ + return pulumi.get(self, "tracking_id") + + +@pulumi.output_type +class PackageCarrierInfoResponse(dict): + """ + package carrier info + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "carrierName": + suggest = "carrier_name" + elif key == "trackingId": + suggest = "tracking_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PackageCarrierInfoResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PackageCarrierInfoResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PackageCarrierInfoResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + carrier_name: Optional[str] = None, + tracking_id: Optional[str] = None): + """ + package carrier info + :param str carrier_name: Name of the carrier. + :param str tracking_id: Tracking Id of shipment. + """ + if carrier_name is not None: + pulumi.set(__self__, "carrier_name", carrier_name) + if tracking_id is not None: + pulumi.set(__self__, "tracking_id", tracking_id) + + @property + @pulumi.getter(name="carrierName") + def carrier_name(self) -> Optional[str]: + """ + Name of the carrier. + """ + return pulumi.get(self, "carrier_name") + + @property + @pulumi.getter(name="trackingId") + def tracking_id(self) -> Optional[str]: + """ + Tracking Id of shipment. + """ + return pulumi.get(self, "tracking_id") + + +@pulumi.output_type +class PackageShippingDetailsResponse(dict): + """ + package shipping details + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "carrierName": + suggest = "carrier_name" + elif key == "trackingId": + suggest = "tracking_id" + elif key == "trackingUrl": + suggest = "tracking_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PackageShippingDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PackageShippingDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PackageShippingDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + carrier_name: str, + tracking_id: str, + tracking_url: str): + """ + package shipping details + :param str carrier_name: Name of the carrier. + :param str tracking_id: Tracking Id of shipment. + :param str tracking_url: Url where shipment can be tracked. + """ + pulumi.set(__self__, "carrier_name", carrier_name) + pulumi.set(__self__, "tracking_id", tracking_id) + pulumi.set(__self__, "tracking_url", tracking_url) + + @property + @pulumi.getter(name="carrierName") + def carrier_name(self) -> str: + """ + Name of the carrier. + """ + return pulumi.get(self, "carrier_name") + + @property + @pulumi.getter(name="trackingId") + def tracking_id(self) -> str: + """ + Tracking Id of shipment. + """ + return pulumi.get(self, "tracking_id") + + @property + @pulumi.getter(name="trackingUrl") + def tracking_url(self) -> str: + """ + Url where shipment can be tracked. + """ + return pulumi.get(self, "tracking_url") + + +@pulumi.output_type +class PreferencesResponse(dict): + """ + Preferences related to the order + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "encryptionPreferences": + suggest = "encryption_preferences" + elif key == "preferredDataCenterRegion": + suggest = "preferred_data_center_region" + elif key == "reverseTransportPreferences": + suggest = "reverse_transport_preferences" + elif key == "storageAccountAccessTierPreferences": + suggest = "storage_account_access_tier_preferences" + elif key == "transportPreferences": + suggest = "transport_preferences" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PreferencesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PreferencesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PreferencesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + encryption_preferences: Optional['outputs.EncryptionPreferencesResponse'] = None, + preferred_data_center_region: Optional[Sequence[str]] = None, + reverse_transport_preferences: Optional['outputs.TransportPreferencesResponse'] = None, + storage_account_access_tier_preferences: Optional[Sequence[str]] = None, + transport_preferences: Optional['outputs.TransportPreferencesResponse'] = None): + """ + Preferences related to the order + :param 'EncryptionPreferencesResponse' encryption_preferences: Preferences related to the Encryption. + :param Sequence[str] preferred_data_center_region: Preferred data center region. + :param 'TransportPreferencesResponse' reverse_transport_preferences: Optional Preferences related to the reverse shipment logistics of the sku. + :param Sequence[str] storage_account_access_tier_preferences: Preferences related to the Access Tier of storage accounts. + :param 'TransportPreferencesResponse' transport_preferences: Preferences related to the shipment logistics of the sku. + """ + if encryption_preferences is not None: + pulumi.set(__self__, "encryption_preferences", encryption_preferences) + if preferred_data_center_region is not None: + pulumi.set(__self__, "preferred_data_center_region", preferred_data_center_region) + if reverse_transport_preferences is not None: + pulumi.set(__self__, "reverse_transport_preferences", reverse_transport_preferences) + if storage_account_access_tier_preferences is not None: + pulumi.set(__self__, "storage_account_access_tier_preferences", storage_account_access_tier_preferences) + if transport_preferences is not None: + pulumi.set(__self__, "transport_preferences", transport_preferences) + + @property + @pulumi.getter(name="encryptionPreferences") + def encryption_preferences(self) -> Optional['outputs.EncryptionPreferencesResponse']: + """ + Preferences related to the Encryption. + """ + return pulumi.get(self, "encryption_preferences") + + @property + @pulumi.getter(name="preferredDataCenterRegion") + def preferred_data_center_region(self) -> Optional[Sequence[str]]: + """ + Preferred data center region. + """ + return pulumi.get(self, "preferred_data_center_region") + + @property + @pulumi.getter(name="reverseTransportPreferences") + def reverse_transport_preferences(self) -> Optional['outputs.TransportPreferencesResponse']: + """ + Optional Preferences related to the reverse shipment logistics of the sku. + """ + return pulumi.get(self, "reverse_transport_preferences") + + @property + @pulumi.getter(name="storageAccountAccessTierPreferences") + def storage_account_access_tier_preferences(self) -> Optional[Sequence[str]]: + """ + Preferences related to the Access Tier of storage accounts. + """ + return pulumi.get(self, "storage_account_access_tier_preferences") + + @property + @pulumi.getter(name="transportPreferences") + def transport_preferences(self) -> Optional['outputs.TransportPreferencesResponse']: + """ + Preferences related to the shipment logistics of the sku. + """ + return pulumi.get(self, "transport_preferences") + + +@pulumi.output_type +class ResourceIdentityResponse(dict): + """ + Msi identity details of the resource + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ResourceIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ResourceIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ResourceIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + type: Optional[str] = None, + user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']] = None): + """ + Msi identity details of the resource + :param str principal_id: Service Principal Id backing the Msi + :param str tenant_id: Home Tenant Id + :param str type: Identity type + :param Mapping[str, 'UserAssignedIdentityResponse'] user_assigned_identities: User Assigned Identities + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + if type is None: + type = 'None' + if type is not None: + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + Service Principal Id backing the Msi + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + Home Tenant Id + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + Identity type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]: + """ + User Assigned Identities + """ + return pulumi.get(self, "user_assigned_identities") + + +@pulumi.output_type +class ReverseShippingDetailsResponse(dict): + """ + Reverse Shipping Address and contact details for a job. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "isUpdated": + suggest = "is_updated" + elif key == "contactDetails": + suggest = "contact_details" + elif key == "shippingAddress": + suggest = "shipping_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ReverseShippingDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ReverseShippingDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ReverseShippingDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + is_updated: bool, + contact_details: Optional['outputs.ContactInfoResponse'] = None, + shipping_address: Optional['outputs.ShippingAddressResponse'] = None): + """ + Reverse Shipping Address and contact details for a job. + :param bool is_updated: A flag to indicate whether Reverse Shipping details are updated or not after device has been prepared. + Read only field + :param 'ContactInfoResponse' contact_details: Contact Info. + :param 'ShippingAddressResponse' shipping_address: Shipping address where customer wishes to receive the device. + """ + pulumi.set(__self__, "is_updated", is_updated) + if contact_details is not None: + pulumi.set(__self__, "contact_details", contact_details) + if shipping_address is not None: + pulumi.set(__self__, "shipping_address", shipping_address) + + @property + @pulumi.getter(name="isUpdated") + def is_updated(self) -> bool: + """ + A flag to indicate whether Reverse Shipping details are updated or not after device has been prepared. + Read only field + """ + return pulumi.get(self, "is_updated") + + @property + @pulumi.getter(name="contactDetails") + def contact_details(self) -> Optional['outputs.ContactInfoResponse']: + """ + Contact Info. + """ + return pulumi.get(self, "contact_details") + + @property + @pulumi.getter(name="shippingAddress") + def shipping_address(self) -> Optional['outputs.ShippingAddressResponse']: + """ + Shipping address where customer wishes to receive the device. + """ + return pulumi.get(self, "shipping_address") + + +@pulumi.output_type +class ShareCredentialDetailsResponse(dict): + """ + Credential details of the shares in account. + """ + def __init__(__self__, *, + password: str, + share_name: str, + share_type: str, + supported_access_protocols: Sequence[str], + user_name: str): + """ + Credential details of the shares in account. + :param str password: Password for the share. + :param str share_name: Name of the share. + :param str share_type: Type of the share. + :param Sequence[str] supported_access_protocols: Access protocols supported on the device. + :param str user_name: User name for the share. + """ + pulumi.set(__self__, "password", password) + pulumi.set(__self__, "share_name", share_name) + pulumi.set(__self__, "share_type", share_type) + pulumi.set(__self__, "supported_access_protocols", supported_access_protocols) + pulumi.set(__self__, "user_name", user_name) + + @property + @pulumi.getter + def password(self) -> str: + """ + Password for the share. + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter(name="shareName") + def share_name(self) -> str: + """ + Name of the share. + """ + return pulumi.get(self, "share_name") + + @property + @pulumi.getter(name="shareType") + def share_type(self) -> str: + """ + Type of the share. + """ + return pulumi.get(self, "share_type") + + @property + @pulumi.getter(name="supportedAccessProtocols") + def supported_access_protocols(self) -> Sequence[str]: + """ + Access protocols supported on the device. + """ + return pulumi.get(self, "supported_access_protocols") + + @property + @pulumi.getter(name="userName") + def user_name(self) -> str: + """ + User name for the share. + """ + return pulumi.get(self, "user_name") + + +@pulumi.output_type +class ShippingAddressResponse(dict): + """ + Shipping address where customer wishes to receive the device. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "streetAddress1": + suggest = "street_address1" + elif key == "addressType": + suggest = "address_type" + elif key == "companyName": + suggest = "company_name" + elif key == "postalCode": + suggest = "postal_code" + elif key == "skipAddressValidation": + suggest = "skip_address_validation" + elif key == "stateOrProvince": + suggest = "state_or_province" + elif key == "streetAddress2": + suggest = "street_address2" + elif key == "streetAddress3": + suggest = "street_address3" + elif key == "taxIdentificationNumber": + suggest = "tax_identification_number" + elif key == "zipExtendedCode": + suggest = "zip_extended_code" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ShippingAddressResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ShippingAddressResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ShippingAddressResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + country: str, + street_address1: str, + address_type: Optional[str] = None, + city: Optional[str] = None, + company_name: Optional[str] = None, + postal_code: Optional[str] = None, + skip_address_validation: Optional[bool] = None, + state_or_province: Optional[str] = None, + street_address2: Optional[str] = None, + street_address3: Optional[str] = None, + tax_identification_number: Optional[str] = None, + zip_extended_code: Optional[str] = None): + """ + Shipping address where customer wishes to receive the device. + :param str country: Name of the Country. + :param str street_address1: Street Address line 1. + :param str address_type: Type of address. + :param str city: Name of the City. + :param str company_name: Name of the company. + :param str postal_code: Postal code. + :param bool skip_address_validation: Flag to indicate if customer has chosen to skip default address validation + :param str state_or_province: Name of the State or Province. + :param str street_address2: Street Address line 2. + :param str street_address3: Street Address line 3. + :param str tax_identification_number: Tax Identification Number + :param str zip_extended_code: Extended Zip Code. + """ + pulumi.set(__self__, "country", country) + pulumi.set(__self__, "street_address1", street_address1) + if address_type is None: + address_type = 'None' + if address_type is not None: + pulumi.set(__self__, "address_type", address_type) + if city is not None: + pulumi.set(__self__, "city", city) + if company_name is not None: + pulumi.set(__self__, "company_name", company_name) + if postal_code is not None: + pulumi.set(__self__, "postal_code", postal_code) + if skip_address_validation is not None: + pulumi.set(__self__, "skip_address_validation", skip_address_validation) + if state_or_province is not None: + pulumi.set(__self__, "state_or_province", state_or_province) + if street_address2 is not None: + pulumi.set(__self__, "street_address2", street_address2) + if street_address3 is not None: + pulumi.set(__self__, "street_address3", street_address3) + if tax_identification_number is not None: + pulumi.set(__self__, "tax_identification_number", tax_identification_number) + if zip_extended_code is not None: + pulumi.set(__self__, "zip_extended_code", zip_extended_code) + + @property + @pulumi.getter + def country(self) -> str: + """ + Name of the Country. + """ + return pulumi.get(self, "country") + + @property + @pulumi.getter(name="streetAddress1") + def street_address1(self) -> str: + """ + Street Address line 1. + """ + return pulumi.get(self, "street_address1") + + @property + @pulumi.getter(name="addressType") + def address_type(self) -> Optional[str]: + """ + Type of address. + """ + return pulumi.get(self, "address_type") + + @property + @pulumi.getter + def city(self) -> Optional[str]: + """ + Name of the City. + """ + return pulumi.get(self, "city") + + @property + @pulumi.getter(name="companyName") + def company_name(self) -> Optional[str]: + """ + Name of the company. + """ + return pulumi.get(self, "company_name") + + @property + @pulumi.getter(name="postalCode") + def postal_code(self) -> Optional[str]: + """ + Postal code. + """ + return pulumi.get(self, "postal_code") + + @property + @pulumi.getter(name="skipAddressValidation") + def skip_address_validation(self) -> Optional[bool]: + """ + Flag to indicate if customer has chosen to skip default address validation + """ + return pulumi.get(self, "skip_address_validation") + + @property + @pulumi.getter(name="stateOrProvince") + def state_or_province(self) -> Optional[str]: + """ + Name of the State or Province. + """ + return pulumi.get(self, "state_or_province") + + @property + @pulumi.getter(name="streetAddress2") + def street_address2(self) -> Optional[str]: + """ + Street Address line 2. + """ + return pulumi.get(self, "street_address2") + + @property + @pulumi.getter(name="streetAddress3") + def street_address3(self) -> Optional[str]: + """ + Street Address line 3. + """ + return pulumi.get(self, "street_address3") + + @property + @pulumi.getter(name="taxIdentificationNumber") + def tax_identification_number(self) -> Optional[str]: + """ + Tax Identification Number + """ + return pulumi.get(self, "tax_identification_number") + + @property + @pulumi.getter(name="zipExtendedCode") + def zip_extended_code(self) -> Optional[str]: + """ + Extended Zip Code. + """ + return pulumi.get(self, "zip_extended_code") + + +@pulumi.output_type +class SkuResponse(dict): + """ + The Sku. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayName": + suggest = "display_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SkuResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SkuResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SkuResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + display_name: Optional[str] = None, + family: Optional[str] = None): + """ + The Sku. + :param str name: The sku name. + :param str display_name: The display name of the sku. + :param str family: The sku family. + """ + pulumi.set(__self__, "name", name) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if family is not None: + pulumi.set(__self__, "family", family) + + @property + @pulumi.getter + def name(self) -> str: + """ + The sku name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + The display name of the sku. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def family(self) -> Optional[str]: + """ + The sku family. + """ + return pulumi.get(self, "family") + + +@pulumi.output_type +class StorageAccountDetailsResponse(dict): + """ + Details for the storage account. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataAccountType": + suggest = "data_account_type" + elif key == "storageAccountId": + suggest = "storage_account_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageAccountDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageAccountDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageAccountDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_account_type: str, + storage_account_id: str): + """ + Details for the storage account. + :param str data_account_type: Account Type of the data to be transferred. + Expected value is 'StorageAccount'. + :param str storage_account_id: Storage Account Resource Id. + """ + if data_account_type is None: + data_account_type = 'StorageAccount' + pulumi.set(__self__, "data_account_type", 'StorageAccount') + pulumi.set(__self__, "storage_account_id", storage_account_id) + + @property + @pulumi.getter(name="dataAccountType") + def data_account_type(self) -> str: + """ + Account Type of the data to be transferred. + Expected value is 'StorageAccount'. + """ + return pulumi.get(self, "data_account_type") + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> str: + """ + Storage Account Resource Id. + """ + return pulumi.get(self, "storage_account_id") + + +@pulumi.output_type +class SystemDataResponse(dict): + """ + Provides details about resource creation and update time + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: str, + created_by: str, + created_by_type: str, + last_modified_at: str, + last_modified_by: str, + last_modified_by_type: str): + """ + Provides details about resource creation and update time + :param str created_at: The timestamp of resource creation (UTC) + :param str created_by: A string identifier for the identity that created the resource + :param str created_by_type: The type of identity that created the resource: user, application, managedIdentity + :param str last_modified_at: The timestamp of resource last modification (UTC) + :param str last_modified_by: A string identifier for the identity that last modified the resource + :param str last_modified_by_type: The type of identity that last modified the resource: user, application, managedIdentity + """ + pulumi.set(__self__, "created_at", created_at) + pulumi.set(__self__, "created_by", created_by) + pulumi.set(__self__, "created_by_type", created_by_type) + pulumi.set(__self__, "last_modified_at", last_modified_at) + pulumi.set(__self__, "last_modified_by", last_modified_by) + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> str: + """ + The timestamp of resource creation (UTC) + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> str: + """ + A string identifier for the identity that created the resource + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> str: + """ + The type of identity that created the resource: user, application, managedIdentity + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> str: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> str: + """ + A string identifier for the identity that last modified the resource + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> str: + """ + The type of identity that last modified the resource: user, application, managedIdentity + """ + return pulumi.get(self, "last_modified_by_type") + + +@pulumi.output_type +class TransferAllDetailsResponse(dict): + """ + Details to transfer all data. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataAccountType": + suggest = "data_account_type" + elif key == "transferAllBlobs": + suggest = "transfer_all_blobs" + elif key == "transferAllFiles": + suggest = "transfer_all_files" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TransferAllDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TransferAllDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TransferAllDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_account_type: str, + transfer_all_blobs: Optional[bool] = None, + transfer_all_files: Optional[bool] = None): + """ + Details to transfer all data. + :param str data_account_type: Type of the account of data + :param bool transfer_all_blobs: To indicate if all Azure blobs have to be transferred + :param bool transfer_all_files: To indicate if all Azure Files have to be transferred + """ + if data_account_type is None: + data_account_type = 'StorageAccount' + pulumi.set(__self__, "data_account_type", data_account_type) + if transfer_all_blobs is not None: + pulumi.set(__self__, "transfer_all_blobs", transfer_all_blobs) + if transfer_all_files is not None: + pulumi.set(__self__, "transfer_all_files", transfer_all_files) + + @property + @pulumi.getter(name="dataAccountType") + def data_account_type(self) -> str: + """ + Type of the account of data + """ + return pulumi.get(self, "data_account_type") + + @property + @pulumi.getter(name="transferAllBlobs") + def transfer_all_blobs(self) -> Optional[bool]: + """ + To indicate if all Azure blobs have to be transferred + """ + return pulumi.get(self, "transfer_all_blobs") + + @property + @pulumi.getter(name="transferAllFiles") + def transfer_all_files(self) -> Optional[bool]: + """ + To indicate if all Azure Files have to be transferred + """ + return pulumi.get(self, "transfer_all_files") + + +@pulumi.output_type +class TransferConfigurationResponse(dict): + """ + Configuration for defining the transfer of data. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "transferConfigurationType": + suggest = "transfer_configuration_type" + elif key == "transferAllDetails": + suggest = "transfer_all_details" + elif key == "transferFilterDetails": + suggest = "transfer_filter_details" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TransferConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TransferConfigurationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TransferConfigurationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + transfer_configuration_type: str, + transfer_all_details: Optional['outputs.TransferConfigurationResponseTransferAllDetails'] = None, + transfer_filter_details: Optional['outputs.TransferConfigurationResponseTransferFilterDetails'] = None): + """ + Configuration for defining the transfer of data. + :param str transfer_configuration_type: Type of the configuration for transfer. + :param 'TransferConfigurationResponseTransferAllDetails' transfer_all_details: Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + :param 'TransferConfigurationResponseTransferFilterDetails' transfer_filter_details: Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + """ + pulumi.set(__self__, "transfer_configuration_type", transfer_configuration_type) + if transfer_all_details is not None: + pulumi.set(__self__, "transfer_all_details", transfer_all_details) + if transfer_filter_details is not None: + pulumi.set(__self__, "transfer_filter_details", transfer_filter_details) + + @property + @pulumi.getter(name="transferConfigurationType") + def transfer_configuration_type(self) -> str: + """ + Type of the configuration for transfer. + """ + return pulumi.get(self, "transfer_configuration_type") + + @property + @pulumi.getter(name="transferAllDetails") + def transfer_all_details(self) -> Optional['outputs.TransferConfigurationResponseTransferAllDetails']: + """ + Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + """ + return pulumi.get(self, "transfer_all_details") + + @property + @pulumi.getter(name="transferFilterDetails") + def transfer_filter_details(self) -> Optional['outputs.TransferConfigurationResponseTransferFilterDetails']: + """ + Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + """ + return pulumi.get(self, "transfer_filter_details") + + +@pulumi.output_type +class TransferConfigurationResponseTransferAllDetails(dict): + """ + Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + """ + def __init__(__self__, *, + include: Optional['outputs.TransferAllDetailsResponse'] = None): + """ + Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll + :param 'TransferAllDetailsResponse' include: Details to transfer all data. + """ + if include is not None: + pulumi.set(__self__, "include", include) + + @property + @pulumi.getter + def include(self) -> Optional['outputs.TransferAllDetailsResponse']: + """ + Details to transfer all data. + """ + return pulumi.get(self, "include") + + +@pulumi.output_type +class TransferConfigurationResponseTransferFilterDetails(dict): + """ + Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + """ + def __init__(__self__, *, + include: Optional['outputs.TransferFilterDetailsResponse'] = None): + """ + Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter. + :param 'TransferFilterDetailsResponse' include: Details of the filtering the transfer of data. + """ + if include is not None: + pulumi.set(__self__, "include", include) + + @property + @pulumi.getter + def include(self) -> Optional['outputs.TransferFilterDetailsResponse']: + """ + Details of the filtering the transfer of data. + """ + return pulumi.get(self, "include") + + +@pulumi.output_type +class TransferFilterDetailsResponse(dict): + """ + Details of the filtering the transfer of data. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataAccountType": + suggest = "data_account_type" + elif key == "azureFileFilterDetails": + suggest = "azure_file_filter_details" + elif key == "blobFilterDetails": + suggest = "blob_filter_details" + elif key == "filterFileDetails": + suggest = "filter_file_details" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TransferFilterDetailsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TransferFilterDetailsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TransferFilterDetailsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_account_type: str, + azure_file_filter_details: Optional['outputs.AzureFileFilterDetailsResponse'] = None, + blob_filter_details: Optional['outputs.BlobFilterDetailsResponse'] = None, + filter_file_details: Optional[Sequence['outputs.FilterFileDetailsResponse']] = None): + """ + Details of the filtering the transfer of data. + :param str data_account_type: Type of the account of data. + :param 'AzureFileFilterDetailsResponse' azure_file_filter_details: Filter details to transfer Azure files. + :param 'BlobFilterDetailsResponse' blob_filter_details: Filter details to transfer blobs. + :param Sequence['FilterFileDetailsResponse'] filter_file_details: Details of the filter files to be used for data transfer. + """ + if data_account_type is None: + data_account_type = 'StorageAccount' + pulumi.set(__self__, "data_account_type", data_account_type) + if azure_file_filter_details is not None: + pulumi.set(__self__, "azure_file_filter_details", azure_file_filter_details) + if blob_filter_details is not None: + pulumi.set(__self__, "blob_filter_details", blob_filter_details) + if filter_file_details is not None: + pulumi.set(__self__, "filter_file_details", filter_file_details) + + @property + @pulumi.getter(name="dataAccountType") + def data_account_type(self) -> str: + """ + Type of the account of data. + """ + return pulumi.get(self, "data_account_type") + + @property + @pulumi.getter(name="azureFileFilterDetails") + def azure_file_filter_details(self) -> Optional['outputs.AzureFileFilterDetailsResponse']: + """ + Filter details to transfer Azure files. + """ + return pulumi.get(self, "azure_file_filter_details") + + @property + @pulumi.getter(name="blobFilterDetails") + def blob_filter_details(self) -> Optional['outputs.BlobFilterDetailsResponse']: + """ + Filter details to transfer blobs. + """ + return pulumi.get(self, "blob_filter_details") + + @property + @pulumi.getter(name="filterFileDetails") + def filter_file_details(self) -> Optional[Sequence['outputs.FilterFileDetailsResponse']]: + """ + Details of the filter files to be used for data transfer. + """ + return pulumi.get(self, "filter_file_details") + + +@pulumi.output_type +class TransportPreferencesResponse(dict): + """ + Preferences related to the shipment logistics of the sku + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "isUpdated": + suggest = "is_updated" + elif key == "preferredShipmentType": + suggest = "preferred_shipment_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TransportPreferencesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TransportPreferencesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TransportPreferencesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + is_updated: bool, + preferred_shipment_type: str): + """ + Preferences related to the shipment logistics of the sku + :param bool is_updated: Read only property which indicates whether transport preferences has been updated or not after device is prepared. + :param str preferred_shipment_type: Indicates Shipment Logistics type that the customer preferred. + """ + pulumi.set(__self__, "is_updated", is_updated) + pulumi.set(__self__, "preferred_shipment_type", preferred_shipment_type) + + @property + @pulumi.getter(name="isUpdated") + def is_updated(self) -> bool: + """ + Read only property which indicates whether transport preferences has been updated or not after device is prepared. + """ + return pulumi.get(self, "is_updated") + + @property + @pulumi.getter(name="preferredShipmentType") + def preferred_shipment_type(self) -> str: + """ + Indicates Shipment Logistics type that the customer preferred. + """ + return pulumi.get(self, "preferred_shipment_type") + + +@pulumi.output_type +class UnencryptedCredentialsResponse(dict): + """ + Unencrypted credentials for accessing device. + """ + def __init__(__self__, *, + job_name: str, + job_secrets: Any): + """ + Unencrypted credentials for accessing device. + :param str job_name: Name of the job. + :param Union['CustomerDiskJobSecretsResponse', 'DataBoxDiskJobSecretsResponse', 'DataBoxHeavyJobSecretsResponse', 'DataboxJobSecretsResponse'] job_secrets: Secrets related to this job. + """ + pulumi.set(__self__, "job_name", job_name) + pulumi.set(__self__, "job_secrets", job_secrets) + + @property + @pulumi.getter(name="jobName") + def job_name(self) -> str: + """ + Name of the job. + """ + return pulumi.get(self, "job_name") + + @property + @pulumi.getter(name="jobSecrets") + def job_secrets(self) -> Any: + """ + Secrets related to this job. + """ + return pulumi.get(self, "job_secrets") + + +@pulumi.output_type +class UserAssignedIdentityResponse(dict): + """ + Class defining User assigned identity details. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "principalId": + suggest = "principal_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: str, + principal_id: str): + """ + Class defining User assigned identity details. + :param str client_id: The client id of user assigned identity. + :param str principal_id: The principal id of user assigned identity. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "principal_id", principal_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The client id of user assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal id of user assigned identity. + """ + return pulumi.get(self, "principal_id") + + +@pulumi.output_type +class UserAssignedPropertiesResponse(dict): + """ + User assigned identity properties. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceId": + suggest = "resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserAssignedPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserAssignedPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserAssignedPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + resource_id: Optional[str] = None): + """ + User assigned identity properties. + :param str resource_id: Arm resource id for user assigned identity to be used to fetch MSI token. + """ + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[str]: + """ + Arm resource id for user assigned identity to be used to fetch MSI token. + """ + return pulumi.get(self, "resource_id") + + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/__init__.py b/sdk/python/pulumi_azure_native/desktopvirtualization/__init__.py index 266ad4984952..4cff60e757ad 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/__init__.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/__init__.py @@ -15,6 +15,7 @@ from .get_private_endpoint_connection_by_host_pool import * from .get_private_endpoint_connection_by_workspace import * from .get_scaling_plan import * +from .get_scaling_plan_personal_schedule import * from .get_scaling_plan_pooled_schedule import * from .get_workspace import * from .host_pool import * @@ -22,6 +23,7 @@ from .private_endpoint_connection_by_host_pool import * from .private_endpoint_connection_by_workspace import * from .scaling_plan import * +from .scaling_plan_personal_schedule import * from .scaling_plan_pooled_schedule import * from .workspace import * from ._inputs import * @@ -39,10 +41,13 @@ v20220909 = __v20220909 import pulumi_azure_native.desktopvirtualization.v20221014preview as __v20221014preview v20221014preview = __v20221014preview + import pulumi_azure_native.desktopvirtualization.v20230707preview as __v20230707preview + v20230707preview = __v20230707preview else: v20210201preview = _utilities.lazy_import('pulumi_azure_native.desktopvirtualization.v20210201preview') v20220210preview = _utilities.lazy_import('pulumi_azure_native.desktopvirtualization.v20220210preview') v20220401preview = _utilities.lazy_import('pulumi_azure_native.desktopvirtualization.v20220401preview') v20220909 = _utilities.lazy_import('pulumi_azure_native.desktopvirtualization.v20220909') v20221014preview = _utilities.lazy_import('pulumi_azure_native.desktopvirtualization.v20221014preview') + v20230707preview = _utilities.lazy_import('pulumi_azure_native.desktopvirtualization.v20230707preview') diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/_enums.py b/sdk/python/pulumi_azure_native/desktopvirtualization/_enums.py index 8d0eff92f3f4..7c9e5e0f47e0 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/_enums.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/_enums.py @@ -18,9 +18,12 @@ 'ResourceIdentityType', 'SSOSecretType', 'ScalingHostPoolType', + 'SessionHandlingOperation', 'SessionHostComponentUpdateType', 'SessionHostLoadBalancingAlgorithm', + 'SetStartVMOnConnect', 'SkuTier', + 'StartupBehavior', 'StopHostsWhen', ] @@ -149,6 +152,14 @@ class ScalingHostPoolType(str, Enum): """ +class SessionHandlingOperation(str, Enum): + """ + Action to be taken after a logoff during the ramp up period. + """ + NONE = "None" + DEALLOCATE = "Deallocate" + + class SessionHostComponentUpdateType(str, Enum): """ The type of maintenance for session host components. @@ -171,6 +182,14 @@ class SessionHostLoadBalancingAlgorithm(str, Enum): DEPTH_FIRST = "DepthFirst" +class SetStartVMOnConnect(str, Enum): + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + """ + ENABLE = "Enable" + DISABLE = "Disable" + + class SkuTier(str, Enum): """ This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. @@ -181,6 +200,24 @@ class SkuTier(str, Enum): PREMIUM = "Premium" +class StartupBehavior(str, Enum): + """ + The desired startup behavior during the ramp up period for personal vms in the hostpool. + """ + NONE = "None" + """ + Session hosts will not be started by the service. This setting depends on Start VM on Connect to be enabled to start the session hosts. + """ + WITH_ASSIGNED_USER = "WithAssignedUser" + """ + Session hosts with an assigned user will be started during Ramp Up + """ + ALL = "All" + """ + All personal session hosts in the hostpool will be started during ramp up. + """ + + class StopHostsWhen(str, Enum): """ Specifies when to stop hosts during ramp down period. diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/application.py b/sdk/python/pulumi_azure_native/desktopvirtualization/application.py index e0a440336635..b28a5b11ddde 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/application.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/application.py @@ -357,7 +357,7 @@ def _internal_init(__self__, __props__.__dict__["object_id"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:Application")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:Application")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Application, __self__).__init__( 'azure-native:desktopvirtualization:Application', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/application_group.py b/sdk/python/pulumi_azure_native/desktopvirtualization/application_group.py index 7ffd69dc9940..060458805068 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/application_group.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/application_group.py @@ -324,7 +324,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None __props__.__dict__["workspace_arm_path"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ApplicationGroup")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ApplicationGroup")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ApplicationGroup, __self__).__init__( 'azure-native:desktopvirtualization:ApplicationGroup', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/get_scaling_plan_personal_schedule.py b/sdk/python/pulumi_azure_native/desktopvirtualization/get_scaling_plan_personal_schedule.py new file mode 100644 index 000000000000..3be2d0729f3c --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/get_scaling_plan_personal_schedule.py @@ -0,0 +1,463 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetScalingPlanPersonalScheduleResult', + 'AwaitableGetScalingPlanPersonalScheduleResult', + 'get_scaling_plan_personal_schedule', + 'get_scaling_plan_personal_schedule_output', +] + +@pulumi.output_type +class GetScalingPlanPersonalScheduleResult: + """ + Represents a ScalingPlanPersonalSchedule definition. + """ + def __init__(__self__, days_of_week=None, id=None, name=None, off_peak_action_on_disconnect=None, off_peak_action_on_logoff=None, off_peak_minutes_to_wait_on_disconnect=None, off_peak_minutes_to_wait_on_logoff=None, off_peak_start_time=None, off_peak_start_vm_on_connect=None, peak_action_on_disconnect=None, peak_action_on_logoff=None, peak_minutes_to_wait_on_disconnect=None, peak_minutes_to_wait_on_logoff=None, peak_start_time=None, peak_start_vm_on_connect=None, ramp_down_action_on_disconnect=None, ramp_down_action_on_logoff=None, ramp_down_minutes_to_wait_on_disconnect=None, ramp_down_minutes_to_wait_on_logoff=None, ramp_down_start_time=None, ramp_down_start_vm_on_connect=None, ramp_up_action_on_disconnect=None, ramp_up_action_on_logoff=None, ramp_up_auto_start_hosts=None, ramp_up_minutes_to_wait_on_disconnect=None, ramp_up_minutes_to_wait_on_logoff=None, ramp_up_start_time=None, ramp_up_start_vm_on_connect=None, system_data=None, type=None): + if days_of_week and not isinstance(days_of_week, list): + raise TypeError("Expected argument 'days_of_week' to be a list") + pulumi.set(__self__, "days_of_week", days_of_week) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if off_peak_action_on_disconnect and not isinstance(off_peak_action_on_disconnect, str): + raise TypeError("Expected argument 'off_peak_action_on_disconnect' to be a str") + pulumi.set(__self__, "off_peak_action_on_disconnect", off_peak_action_on_disconnect) + if off_peak_action_on_logoff and not isinstance(off_peak_action_on_logoff, str): + raise TypeError("Expected argument 'off_peak_action_on_logoff' to be a str") + pulumi.set(__self__, "off_peak_action_on_logoff", off_peak_action_on_logoff) + if off_peak_minutes_to_wait_on_disconnect and not isinstance(off_peak_minutes_to_wait_on_disconnect, int): + raise TypeError("Expected argument 'off_peak_minutes_to_wait_on_disconnect' to be a int") + pulumi.set(__self__, "off_peak_minutes_to_wait_on_disconnect", off_peak_minutes_to_wait_on_disconnect) + if off_peak_minutes_to_wait_on_logoff and not isinstance(off_peak_minutes_to_wait_on_logoff, int): + raise TypeError("Expected argument 'off_peak_minutes_to_wait_on_logoff' to be a int") + pulumi.set(__self__, "off_peak_minutes_to_wait_on_logoff", off_peak_minutes_to_wait_on_logoff) + if off_peak_start_time and not isinstance(off_peak_start_time, dict): + raise TypeError("Expected argument 'off_peak_start_time' to be a dict") + pulumi.set(__self__, "off_peak_start_time", off_peak_start_time) + if off_peak_start_vm_on_connect and not isinstance(off_peak_start_vm_on_connect, str): + raise TypeError("Expected argument 'off_peak_start_vm_on_connect' to be a str") + pulumi.set(__self__, "off_peak_start_vm_on_connect", off_peak_start_vm_on_connect) + if peak_action_on_disconnect and not isinstance(peak_action_on_disconnect, str): + raise TypeError("Expected argument 'peak_action_on_disconnect' to be a str") + pulumi.set(__self__, "peak_action_on_disconnect", peak_action_on_disconnect) + if peak_action_on_logoff and not isinstance(peak_action_on_logoff, str): + raise TypeError("Expected argument 'peak_action_on_logoff' to be a str") + pulumi.set(__self__, "peak_action_on_logoff", peak_action_on_logoff) + if peak_minutes_to_wait_on_disconnect and not isinstance(peak_minutes_to_wait_on_disconnect, int): + raise TypeError("Expected argument 'peak_minutes_to_wait_on_disconnect' to be a int") + pulumi.set(__self__, "peak_minutes_to_wait_on_disconnect", peak_minutes_to_wait_on_disconnect) + if peak_minutes_to_wait_on_logoff and not isinstance(peak_minutes_to_wait_on_logoff, int): + raise TypeError("Expected argument 'peak_minutes_to_wait_on_logoff' to be a int") + pulumi.set(__self__, "peak_minutes_to_wait_on_logoff", peak_minutes_to_wait_on_logoff) + if peak_start_time and not isinstance(peak_start_time, dict): + raise TypeError("Expected argument 'peak_start_time' to be a dict") + pulumi.set(__self__, "peak_start_time", peak_start_time) + if peak_start_vm_on_connect and not isinstance(peak_start_vm_on_connect, str): + raise TypeError("Expected argument 'peak_start_vm_on_connect' to be a str") + pulumi.set(__self__, "peak_start_vm_on_connect", peak_start_vm_on_connect) + if ramp_down_action_on_disconnect and not isinstance(ramp_down_action_on_disconnect, str): + raise TypeError("Expected argument 'ramp_down_action_on_disconnect' to be a str") + pulumi.set(__self__, "ramp_down_action_on_disconnect", ramp_down_action_on_disconnect) + if ramp_down_action_on_logoff and not isinstance(ramp_down_action_on_logoff, str): + raise TypeError("Expected argument 'ramp_down_action_on_logoff' to be a str") + pulumi.set(__self__, "ramp_down_action_on_logoff", ramp_down_action_on_logoff) + if ramp_down_minutes_to_wait_on_disconnect and not isinstance(ramp_down_minutes_to_wait_on_disconnect, int): + raise TypeError("Expected argument 'ramp_down_minutes_to_wait_on_disconnect' to be a int") + pulumi.set(__self__, "ramp_down_minutes_to_wait_on_disconnect", ramp_down_minutes_to_wait_on_disconnect) + if ramp_down_minutes_to_wait_on_logoff and not isinstance(ramp_down_minutes_to_wait_on_logoff, int): + raise TypeError("Expected argument 'ramp_down_minutes_to_wait_on_logoff' to be a int") + pulumi.set(__self__, "ramp_down_minutes_to_wait_on_logoff", ramp_down_minutes_to_wait_on_logoff) + if ramp_down_start_time and not isinstance(ramp_down_start_time, dict): + raise TypeError("Expected argument 'ramp_down_start_time' to be a dict") + pulumi.set(__self__, "ramp_down_start_time", ramp_down_start_time) + if ramp_down_start_vm_on_connect and not isinstance(ramp_down_start_vm_on_connect, str): + raise TypeError("Expected argument 'ramp_down_start_vm_on_connect' to be a str") + pulumi.set(__self__, "ramp_down_start_vm_on_connect", ramp_down_start_vm_on_connect) + if ramp_up_action_on_disconnect and not isinstance(ramp_up_action_on_disconnect, str): + raise TypeError("Expected argument 'ramp_up_action_on_disconnect' to be a str") + pulumi.set(__self__, "ramp_up_action_on_disconnect", ramp_up_action_on_disconnect) + if ramp_up_action_on_logoff and not isinstance(ramp_up_action_on_logoff, str): + raise TypeError("Expected argument 'ramp_up_action_on_logoff' to be a str") + pulumi.set(__self__, "ramp_up_action_on_logoff", ramp_up_action_on_logoff) + if ramp_up_auto_start_hosts and not isinstance(ramp_up_auto_start_hosts, str): + raise TypeError("Expected argument 'ramp_up_auto_start_hosts' to be a str") + pulumi.set(__self__, "ramp_up_auto_start_hosts", ramp_up_auto_start_hosts) + if ramp_up_minutes_to_wait_on_disconnect and not isinstance(ramp_up_minutes_to_wait_on_disconnect, int): + raise TypeError("Expected argument 'ramp_up_minutes_to_wait_on_disconnect' to be a int") + pulumi.set(__self__, "ramp_up_minutes_to_wait_on_disconnect", ramp_up_minutes_to_wait_on_disconnect) + if ramp_up_minutes_to_wait_on_logoff and not isinstance(ramp_up_minutes_to_wait_on_logoff, int): + raise TypeError("Expected argument 'ramp_up_minutes_to_wait_on_logoff' to be a int") + pulumi.set(__self__, "ramp_up_minutes_to_wait_on_logoff", ramp_up_minutes_to_wait_on_logoff) + if ramp_up_start_time and not isinstance(ramp_up_start_time, dict): + raise TypeError("Expected argument 'ramp_up_start_time' to be a dict") + pulumi.set(__self__, "ramp_up_start_time", ramp_up_start_time) + if ramp_up_start_vm_on_connect and not isinstance(ramp_up_start_vm_on_connect, str): + raise TypeError("Expected argument 'ramp_up_start_vm_on_connect' to be a str") + pulumi.set(__self__, "ramp_up_start_vm_on_connect", ramp_up_start_vm_on_connect) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="daysOfWeek") + def days_of_week(self) -> Optional[Sequence[str]]: + """ + Set of days of the week on which this schedule is active. + """ + return pulumi.get(self, "days_of_week") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="offPeakActionOnDisconnect") + def off_peak_action_on_disconnect(self) -> Optional[str]: + """ + Action to be taken after a user disconnect during the off-peak period. + """ + return pulumi.get(self, "off_peak_action_on_disconnect") + + @property + @pulumi.getter(name="offPeakActionOnLogoff") + def off_peak_action_on_logoff(self) -> Optional[str]: + """ + Action to be taken after a logoff during the off-peak period. + """ + return pulumi.get(self, "off_peak_action_on_logoff") + + @property + @pulumi.getter(name="offPeakMinutesToWaitOnDisconnect") + def off_peak_minutes_to_wait_on_disconnect(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + """ + return pulumi.get(self, "off_peak_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="offPeakMinutesToWaitOnLogoff") + def off_peak_minutes_to_wait_on_logoff(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + """ + return pulumi.get(self, "off_peak_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="offPeakStartTime") + def off_peak_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for off-peak period. + """ + return pulumi.get(self, "off_peak_start_time") + + @property + @pulumi.getter(name="offPeakStartVMOnConnect") + def off_peak_start_vm_on_connect(self) -> Optional[str]: + """ + The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + """ + return pulumi.get(self, "off_peak_start_vm_on_connect") + + @property + @pulumi.getter(name="peakActionOnDisconnect") + def peak_action_on_disconnect(self) -> Optional[str]: + """ + Action to be taken after a user disconnect during the peak period. + """ + return pulumi.get(self, "peak_action_on_disconnect") + + @property + @pulumi.getter(name="peakActionOnLogoff") + def peak_action_on_logoff(self) -> Optional[str]: + """ + Action to be taken after a logoff during the peak period. + """ + return pulumi.get(self, "peak_action_on_logoff") + + @property + @pulumi.getter(name="peakMinutesToWaitOnDisconnect") + def peak_minutes_to_wait_on_disconnect(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + """ + return pulumi.get(self, "peak_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="peakMinutesToWaitOnLogoff") + def peak_minutes_to_wait_on_logoff(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + """ + return pulumi.get(self, "peak_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="peakStartTime") + def peak_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for peak period. + """ + return pulumi.get(self, "peak_start_time") + + @property + @pulumi.getter(name="peakStartVMOnConnect") + def peak_start_vm_on_connect(self) -> Optional[str]: + """ + The desired configuration of Start VM On Connect for the hostpool during the peak phase. + """ + return pulumi.get(self, "peak_start_vm_on_connect") + + @property + @pulumi.getter(name="rampDownActionOnDisconnect") + def ramp_down_action_on_disconnect(self) -> Optional[str]: + """ + Action to be taken after a user disconnect during the ramp down period. + """ + return pulumi.get(self, "ramp_down_action_on_disconnect") + + @property + @pulumi.getter(name="rampDownActionOnLogoff") + def ramp_down_action_on_logoff(self) -> Optional[str]: + """ + Action to be taken after a logoff during the ramp down period. + """ + return pulumi.get(self, "ramp_down_action_on_logoff") + + @property + @pulumi.getter(name="rampDownMinutesToWaitOnDisconnect") + def ramp_down_minutes_to_wait_on_disconnect(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + """ + return pulumi.get(self, "ramp_down_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="rampDownMinutesToWaitOnLogoff") + def ramp_down_minutes_to_wait_on_logoff(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + """ + return pulumi.get(self, "ramp_down_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="rampDownStartTime") + def ramp_down_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for ramp down period. + """ + return pulumi.get(self, "ramp_down_start_time") + + @property + @pulumi.getter(name="rampDownStartVMOnConnect") + def ramp_down_start_vm_on_connect(self) -> Optional[str]: + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + """ + return pulumi.get(self, "ramp_down_start_vm_on_connect") + + @property + @pulumi.getter(name="rampUpActionOnDisconnect") + def ramp_up_action_on_disconnect(self) -> Optional[str]: + """ + Action to be taken after a user disconnect during the ramp up period. + """ + return pulumi.get(self, "ramp_up_action_on_disconnect") + + @property + @pulumi.getter(name="rampUpActionOnLogoff") + def ramp_up_action_on_logoff(self) -> Optional[str]: + """ + Action to be taken after a logoff during the ramp up period. + """ + return pulumi.get(self, "ramp_up_action_on_logoff") + + @property + @pulumi.getter(name="rampUpAutoStartHosts") + def ramp_up_auto_start_hosts(self) -> Optional[str]: + """ + The desired startup behavior during the ramp up period for personal vms in the hostpool. + """ + return pulumi.get(self, "ramp_up_auto_start_hosts") + + @property + @pulumi.getter(name="rampUpMinutesToWaitOnDisconnect") + def ramp_up_minutes_to_wait_on_disconnect(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + """ + return pulumi.get(self, "ramp_up_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="rampUpMinutesToWaitOnLogoff") + def ramp_up_minutes_to_wait_on_logoff(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + """ + return pulumi.get(self, "ramp_up_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="rampUpStartTime") + def ramp_up_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for ramp up period. + """ + return pulumi.get(self, "ramp_up_start_time") + + @property + @pulumi.getter(name="rampUpStartVMOnConnect") + def ramp_up_start_vm_on_connect(self) -> Optional[str]: + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + """ + return pulumi.get(self, "ramp_up_start_vm_on_connect") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetScalingPlanPersonalScheduleResult(GetScalingPlanPersonalScheduleResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetScalingPlanPersonalScheduleResult( + days_of_week=self.days_of_week, + id=self.id, + name=self.name, + off_peak_action_on_disconnect=self.off_peak_action_on_disconnect, + off_peak_action_on_logoff=self.off_peak_action_on_logoff, + off_peak_minutes_to_wait_on_disconnect=self.off_peak_minutes_to_wait_on_disconnect, + off_peak_minutes_to_wait_on_logoff=self.off_peak_minutes_to_wait_on_logoff, + off_peak_start_time=self.off_peak_start_time, + off_peak_start_vm_on_connect=self.off_peak_start_vm_on_connect, + peak_action_on_disconnect=self.peak_action_on_disconnect, + peak_action_on_logoff=self.peak_action_on_logoff, + peak_minutes_to_wait_on_disconnect=self.peak_minutes_to_wait_on_disconnect, + peak_minutes_to_wait_on_logoff=self.peak_minutes_to_wait_on_logoff, + peak_start_time=self.peak_start_time, + peak_start_vm_on_connect=self.peak_start_vm_on_connect, + ramp_down_action_on_disconnect=self.ramp_down_action_on_disconnect, + ramp_down_action_on_logoff=self.ramp_down_action_on_logoff, + ramp_down_minutes_to_wait_on_disconnect=self.ramp_down_minutes_to_wait_on_disconnect, + ramp_down_minutes_to_wait_on_logoff=self.ramp_down_minutes_to_wait_on_logoff, + ramp_down_start_time=self.ramp_down_start_time, + ramp_down_start_vm_on_connect=self.ramp_down_start_vm_on_connect, + ramp_up_action_on_disconnect=self.ramp_up_action_on_disconnect, + ramp_up_action_on_logoff=self.ramp_up_action_on_logoff, + ramp_up_auto_start_hosts=self.ramp_up_auto_start_hosts, + ramp_up_minutes_to_wait_on_disconnect=self.ramp_up_minutes_to_wait_on_disconnect, + ramp_up_minutes_to_wait_on_logoff=self.ramp_up_minutes_to_wait_on_logoff, + ramp_up_start_time=self.ramp_up_start_time, + ramp_up_start_vm_on_connect=self.ramp_up_start_vm_on_connect, + system_data=self.system_data, + type=self.type) + + +def get_scaling_plan_personal_schedule(resource_group_name: Optional[str] = None, + scaling_plan_name: Optional[str] = None, + scaling_plan_schedule_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetScalingPlanPersonalScheduleResult: + """ + Get a ScalingPlanPersonalSchedule. + Azure REST API version: 2023-07-07-preview. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str scaling_plan_name: The name of the scaling plan. + :param str scaling_plan_schedule_name: The name of the ScalingPlanSchedule + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['scalingPlanName'] = scaling_plan_name + __args__['scalingPlanScheduleName'] = scaling_plan_schedule_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:desktopvirtualization:getScalingPlanPersonalSchedule', __args__, opts=opts, typ=GetScalingPlanPersonalScheduleResult).value + + return AwaitableGetScalingPlanPersonalScheduleResult( + days_of_week=__ret__.days_of_week, + id=__ret__.id, + name=__ret__.name, + off_peak_action_on_disconnect=__ret__.off_peak_action_on_disconnect, + off_peak_action_on_logoff=__ret__.off_peak_action_on_logoff, + off_peak_minutes_to_wait_on_disconnect=__ret__.off_peak_minutes_to_wait_on_disconnect, + off_peak_minutes_to_wait_on_logoff=__ret__.off_peak_minutes_to_wait_on_logoff, + off_peak_start_time=__ret__.off_peak_start_time, + off_peak_start_vm_on_connect=__ret__.off_peak_start_vm_on_connect, + peak_action_on_disconnect=__ret__.peak_action_on_disconnect, + peak_action_on_logoff=__ret__.peak_action_on_logoff, + peak_minutes_to_wait_on_disconnect=__ret__.peak_minutes_to_wait_on_disconnect, + peak_minutes_to_wait_on_logoff=__ret__.peak_minutes_to_wait_on_logoff, + peak_start_time=__ret__.peak_start_time, + peak_start_vm_on_connect=__ret__.peak_start_vm_on_connect, + ramp_down_action_on_disconnect=__ret__.ramp_down_action_on_disconnect, + ramp_down_action_on_logoff=__ret__.ramp_down_action_on_logoff, + ramp_down_minutes_to_wait_on_disconnect=__ret__.ramp_down_minutes_to_wait_on_disconnect, + ramp_down_minutes_to_wait_on_logoff=__ret__.ramp_down_minutes_to_wait_on_logoff, + ramp_down_start_time=__ret__.ramp_down_start_time, + ramp_down_start_vm_on_connect=__ret__.ramp_down_start_vm_on_connect, + ramp_up_action_on_disconnect=__ret__.ramp_up_action_on_disconnect, + ramp_up_action_on_logoff=__ret__.ramp_up_action_on_logoff, + ramp_up_auto_start_hosts=__ret__.ramp_up_auto_start_hosts, + ramp_up_minutes_to_wait_on_disconnect=__ret__.ramp_up_minutes_to_wait_on_disconnect, + ramp_up_minutes_to_wait_on_logoff=__ret__.ramp_up_minutes_to_wait_on_logoff, + ramp_up_start_time=__ret__.ramp_up_start_time, + ramp_up_start_vm_on_connect=__ret__.ramp_up_start_vm_on_connect, + system_data=__ret__.system_data, + type=__ret__.type) + + +@_utilities.lift_output_func(get_scaling_plan_personal_schedule) +def get_scaling_plan_personal_schedule_output(resource_group_name: Optional[pulumi.Input[str]] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + scaling_plan_schedule_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetScalingPlanPersonalScheduleResult]: + """ + Get a ScalingPlanPersonalSchedule. + Azure REST API version: 2023-07-07-preview. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str scaling_plan_name: The name of the scaling plan. + :param str scaling_plan_schedule_name: The name of the ScalingPlanSchedule + """ + ... diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/host_pool.py b/sdk/python/pulumi_azure_native/desktopvirtualization/host_pool.py index d5b3fc65a0d1..720e628414da 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/host_pool.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/host_pool.py @@ -605,7 +605,7 @@ def _internal_init(__self__, __props__.__dict__["object_id"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:HostPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:HostPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(HostPool, __self__).__init__( 'azure-native:desktopvirtualization:HostPool', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/msix_package.py b/sdk/python/pulumi_azure_native/desktopvirtualization/msix_package.py index 5fa8f8995b03..8402bafa5e11 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/msix_package.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/msix_package.py @@ -353,7 +353,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:MSIXPackage")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:MSIXPackage")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(MSIXPackage, __self__).__init__( 'azure-native:desktopvirtualization:MSIXPackage', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/private_endpoint_connection_by_host_pool.py b/sdk/python/pulumi_azure_native/desktopvirtualization/private_endpoint_connection_by_host_pool.py index aa9976e94c9c..c70b0585240a 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/private_endpoint_connection_by_host_pool.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/private_endpoint_connection_by_host_pool.py @@ -157,7 +157,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByHostPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateEndpointConnectionByHostPool, __self__).__init__( 'azure-native:desktopvirtualization:PrivateEndpointConnectionByHostPool', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/private_endpoint_connection_by_workspace.py b/sdk/python/pulumi_azure_native/desktopvirtualization/private_endpoint_connection_by_workspace.py index 4195b4c40f9c..3eef5f91621e 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/private_endpoint_connection_by_workspace.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/private_endpoint_connection_by_workspace.py @@ -157,7 +157,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByWorkspace")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateEndpointConnectionByWorkspace, __self__).__init__( 'azure-native:desktopvirtualization:PrivateEndpointConnectionByWorkspace', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/scaling_plan.py b/sdk/python/pulumi_azure_native/desktopvirtualization/scaling_plan.py index cb68e4e34c2d..a160db2f6e44 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/scaling_plan.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/scaling_plan.py @@ -385,7 +385,7 @@ def _internal_init(__self__, __props__.__dict__["object_id"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlan")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ScalingPlan")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ScalingPlan, __self__).__init__( 'azure-native:desktopvirtualization:ScalingPlan', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/scaling_plan_personal_schedule.py b/sdk/python/pulumi_azure_native/desktopvirtualization/scaling_plan_personal_schedule.py new file mode 100644 index 000000000000..5c9e9ee5f6f8 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/scaling_plan_personal_schedule.py @@ -0,0 +1,959 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ScalingPlanPersonalScheduleArgs', 'ScalingPlanPersonalSchedule'] + +@pulumi.input_type +class ScalingPlanPersonalScheduleArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + scaling_plan_name: pulumi.Input[str], + days_of_week: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]] = None, + off_peak_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + off_peak_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + off_peak_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + off_peak_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + off_peak_start_time: Optional[pulumi.Input['TimeArgs']] = None, + off_peak_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + peak_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + peak_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + peak_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + peak_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + peak_start_time: Optional[pulumi.Input['TimeArgs']] = None, + peak_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + ramp_down_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_down_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_down_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + ramp_down_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + ramp_down_start_time: Optional[pulumi.Input['TimeArgs']] = None, + ramp_down_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + ramp_up_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_up_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_up_auto_start_hosts: Optional[pulumi.Input[Union[str, 'StartupBehavior']]] = None, + ramp_up_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + ramp_up_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + ramp_up_start_time: Optional[pulumi.Input['TimeArgs']] = None, + ramp_up_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + scaling_plan_schedule_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ScalingPlanPersonalSchedule resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] scaling_plan_name: The name of the scaling plan. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]] days_of_week: Set of days of the week on which this schedule is active. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] off_peak_action_on_disconnect: Action to be taken after a user disconnect during the off-peak period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] off_peak_action_on_logoff: Action to be taken after a logoff during the off-peak period. + :param pulumi.Input[int] off_peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + :param pulumi.Input[int] off_peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + :param pulumi.Input['TimeArgs'] off_peak_start_time: Starting time for off-peak period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] off_peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] peak_action_on_disconnect: Action to be taken after a user disconnect during the peak period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] peak_action_on_logoff: Action to be taken after a logoff during the peak period. + :param pulumi.Input[int] peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + :param pulumi.Input[int] peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + :param pulumi.Input['TimeArgs'] peak_start_time: Starting time for peak period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the peak phase. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_down_action_on_disconnect: Action to be taken after a user disconnect during the ramp down period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_down_action_on_logoff: Action to be taken after a logoff during the ramp down period. + :param pulumi.Input[int] ramp_down_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + :param pulumi.Input[int] ramp_down_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + :param pulumi.Input['TimeArgs'] ramp_down_start_time: Starting time for ramp down period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] ramp_down_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_up_action_on_disconnect: Action to be taken after a user disconnect during the ramp up period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_up_action_on_logoff: Action to be taken after a logoff during the ramp up period. + :param pulumi.Input[Union[str, 'StartupBehavior']] ramp_up_auto_start_hosts: The desired startup behavior during the ramp up period for personal vms in the hostpool. + :param pulumi.Input[int] ramp_up_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + :param pulumi.Input[int] ramp_up_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + :param pulumi.Input['TimeArgs'] ramp_up_start_time: Starting time for ramp up period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] ramp_up_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + :param pulumi.Input[str] scaling_plan_schedule_name: The name of the ScalingPlanSchedule + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "scaling_plan_name", scaling_plan_name) + if days_of_week is not None: + pulumi.set(__self__, "days_of_week", days_of_week) + if off_peak_action_on_disconnect is not None: + pulumi.set(__self__, "off_peak_action_on_disconnect", off_peak_action_on_disconnect) + if off_peak_action_on_logoff is not None: + pulumi.set(__self__, "off_peak_action_on_logoff", off_peak_action_on_logoff) + if off_peak_minutes_to_wait_on_disconnect is not None: + pulumi.set(__self__, "off_peak_minutes_to_wait_on_disconnect", off_peak_minutes_to_wait_on_disconnect) + if off_peak_minutes_to_wait_on_logoff is not None: + pulumi.set(__self__, "off_peak_minutes_to_wait_on_logoff", off_peak_minutes_to_wait_on_logoff) + if off_peak_start_time is not None: + pulumi.set(__self__, "off_peak_start_time", off_peak_start_time) + if off_peak_start_vm_on_connect is None: + off_peak_start_vm_on_connect = 'Enable' + if off_peak_start_vm_on_connect is not None: + pulumi.set(__self__, "off_peak_start_vm_on_connect", off_peak_start_vm_on_connect) + if peak_action_on_disconnect is not None: + pulumi.set(__self__, "peak_action_on_disconnect", peak_action_on_disconnect) + if peak_action_on_logoff is not None: + pulumi.set(__self__, "peak_action_on_logoff", peak_action_on_logoff) + if peak_minutes_to_wait_on_disconnect is not None: + pulumi.set(__self__, "peak_minutes_to_wait_on_disconnect", peak_minutes_to_wait_on_disconnect) + if peak_minutes_to_wait_on_logoff is not None: + pulumi.set(__self__, "peak_minutes_to_wait_on_logoff", peak_minutes_to_wait_on_logoff) + if peak_start_time is not None: + pulumi.set(__self__, "peak_start_time", peak_start_time) + if peak_start_vm_on_connect is None: + peak_start_vm_on_connect = 'Enable' + if peak_start_vm_on_connect is not None: + pulumi.set(__self__, "peak_start_vm_on_connect", peak_start_vm_on_connect) + if ramp_down_action_on_disconnect is not None: + pulumi.set(__self__, "ramp_down_action_on_disconnect", ramp_down_action_on_disconnect) + if ramp_down_action_on_logoff is not None: + pulumi.set(__self__, "ramp_down_action_on_logoff", ramp_down_action_on_logoff) + if ramp_down_minutes_to_wait_on_disconnect is not None: + pulumi.set(__self__, "ramp_down_minutes_to_wait_on_disconnect", ramp_down_minutes_to_wait_on_disconnect) + if ramp_down_minutes_to_wait_on_logoff is not None: + pulumi.set(__self__, "ramp_down_minutes_to_wait_on_logoff", ramp_down_minutes_to_wait_on_logoff) + if ramp_down_start_time is not None: + pulumi.set(__self__, "ramp_down_start_time", ramp_down_start_time) + if ramp_down_start_vm_on_connect is None: + ramp_down_start_vm_on_connect = 'Enable' + if ramp_down_start_vm_on_connect is not None: + pulumi.set(__self__, "ramp_down_start_vm_on_connect", ramp_down_start_vm_on_connect) + if ramp_up_action_on_disconnect is not None: + pulumi.set(__self__, "ramp_up_action_on_disconnect", ramp_up_action_on_disconnect) + if ramp_up_action_on_logoff is not None: + pulumi.set(__self__, "ramp_up_action_on_logoff", ramp_up_action_on_logoff) + if ramp_up_auto_start_hosts is not None: + pulumi.set(__self__, "ramp_up_auto_start_hosts", ramp_up_auto_start_hosts) + if ramp_up_minutes_to_wait_on_disconnect is not None: + pulumi.set(__self__, "ramp_up_minutes_to_wait_on_disconnect", ramp_up_minutes_to_wait_on_disconnect) + if ramp_up_minutes_to_wait_on_logoff is not None: + pulumi.set(__self__, "ramp_up_minutes_to_wait_on_logoff", ramp_up_minutes_to_wait_on_logoff) + if ramp_up_start_time is not None: + pulumi.set(__self__, "ramp_up_start_time", ramp_up_start_time) + if ramp_up_start_vm_on_connect is None: + ramp_up_start_vm_on_connect = 'Enable' + if ramp_up_start_vm_on_connect is not None: + pulumi.set(__self__, "ramp_up_start_vm_on_connect", ramp_up_start_vm_on_connect) + if scaling_plan_schedule_name is not None: + pulumi.set(__self__, "scaling_plan_schedule_name", scaling_plan_schedule_name) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="scalingPlanName") + def scaling_plan_name(self) -> pulumi.Input[str]: + """ + The name of the scaling plan. + """ + return pulumi.get(self, "scaling_plan_name") + + @scaling_plan_name.setter + def scaling_plan_name(self, value: pulumi.Input[str]): + pulumi.set(self, "scaling_plan_name", value) + + @property + @pulumi.getter(name="daysOfWeek") + def days_of_week(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]]: + """ + Set of days of the week on which this schedule is active. + """ + return pulumi.get(self, "days_of_week") + + @days_of_week.setter + def days_of_week(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]]): + pulumi.set(self, "days_of_week", value) + + @property + @pulumi.getter(name="offPeakActionOnDisconnect") + def off_peak_action_on_disconnect(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a user disconnect during the off-peak period. + """ + return pulumi.get(self, "off_peak_action_on_disconnect") + + @off_peak_action_on_disconnect.setter + def off_peak_action_on_disconnect(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "off_peak_action_on_disconnect", value) + + @property + @pulumi.getter(name="offPeakActionOnLogoff") + def off_peak_action_on_logoff(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a logoff during the off-peak period. + """ + return pulumi.get(self, "off_peak_action_on_logoff") + + @off_peak_action_on_logoff.setter + def off_peak_action_on_logoff(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "off_peak_action_on_logoff", value) + + @property + @pulumi.getter(name="offPeakMinutesToWaitOnDisconnect") + def off_peak_minutes_to_wait_on_disconnect(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + """ + return pulumi.get(self, "off_peak_minutes_to_wait_on_disconnect") + + @off_peak_minutes_to_wait_on_disconnect.setter + def off_peak_minutes_to_wait_on_disconnect(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "off_peak_minutes_to_wait_on_disconnect", value) + + @property + @pulumi.getter(name="offPeakMinutesToWaitOnLogoff") + def off_peak_minutes_to_wait_on_logoff(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + """ + return pulumi.get(self, "off_peak_minutes_to_wait_on_logoff") + + @off_peak_minutes_to_wait_on_logoff.setter + def off_peak_minutes_to_wait_on_logoff(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "off_peak_minutes_to_wait_on_logoff", value) + + @property + @pulumi.getter(name="offPeakStartTime") + def off_peak_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for off-peak period. + """ + return pulumi.get(self, "off_peak_start_time") + + @off_peak_start_time.setter + def off_peak_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "off_peak_start_time", value) + + @property + @pulumi.getter(name="offPeakStartVMOnConnect") + def off_peak_start_vm_on_connect(self) -> Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + """ + return pulumi.get(self, "off_peak_start_vm_on_connect") + + @off_peak_start_vm_on_connect.setter + def off_peak_start_vm_on_connect(self, value: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]): + pulumi.set(self, "off_peak_start_vm_on_connect", value) + + @property + @pulumi.getter(name="peakActionOnDisconnect") + def peak_action_on_disconnect(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a user disconnect during the peak period. + """ + return pulumi.get(self, "peak_action_on_disconnect") + + @peak_action_on_disconnect.setter + def peak_action_on_disconnect(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "peak_action_on_disconnect", value) + + @property + @pulumi.getter(name="peakActionOnLogoff") + def peak_action_on_logoff(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a logoff during the peak period. + """ + return pulumi.get(self, "peak_action_on_logoff") + + @peak_action_on_logoff.setter + def peak_action_on_logoff(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "peak_action_on_logoff", value) + + @property + @pulumi.getter(name="peakMinutesToWaitOnDisconnect") + def peak_minutes_to_wait_on_disconnect(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + """ + return pulumi.get(self, "peak_minutes_to_wait_on_disconnect") + + @peak_minutes_to_wait_on_disconnect.setter + def peak_minutes_to_wait_on_disconnect(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "peak_minutes_to_wait_on_disconnect", value) + + @property + @pulumi.getter(name="peakMinutesToWaitOnLogoff") + def peak_minutes_to_wait_on_logoff(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + """ + return pulumi.get(self, "peak_minutes_to_wait_on_logoff") + + @peak_minutes_to_wait_on_logoff.setter + def peak_minutes_to_wait_on_logoff(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "peak_minutes_to_wait_on_logoff", value) + + @property + @pulumi.getter(name="peakStartTime") + def peak_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for peak period. + """ + return pulumi.get(self, "peak_start_time") + + @peak_start_time.setter + def peak_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "peak_start_time", value) + + @property + @pulumi.getter(name="peakStartVMOnConnect") + def peak_start_vm_on_connect(self) -> Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the peak phase. + """ + return pulumi.get(self, "peak_start_vm_on_connect") + + @peak_start_vm_on_connect.setter + def peak_start_vm_on_connect(self, value: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]): + pulumi.set(self, "peak_start_vm_on_connect", value) + + @property + @pulumi.getter(name="rampDownActionOnDisconnect") + def ramp_down_action_on_disconnect(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a user disconnect during the ramp down period. + """ + return pulumi.get(self, "ramp_down_action_on_disconnect") + + @ramp_down_action_on_disconnect.setter + def ramp_down_action_on_disconnect(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "ramp_down_action_on_disconnect", value) + + @property + @pulumi.getter(name="rampDownActionOnLogoff") + def ramp_down_action_on_logoff(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a logoff during the ramp down period. + """ + return pulumi.get(self, "ramp_down_action_on_logoff") + + @ramp_down_action_on_logoff.setter + def ramp_down_action_on_logoff(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "ramp_down_action_on_logoff", value) + + @property + @pulumi.getter(name="rampDownMinutesToWaitOnDisconnect") + def ramp_down_minutes_to_wait_on_disconnect(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + """ + return pulumi.get(self, "ramp_down_minutes_to_wait_on_disconnect") + + @ramp_down_minutes_to_wait_on_disconnect.setter + def ramp_down_minutes_to_wait_on_disconnect(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_down_minutes_to_wait_on_disconnect", value) + + @property + @pulumi.getter(name="rampDownMinutesToWaitOnLogoff") + def ramp_down_minutes_to_wait_on_logoff(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + """ + return pulumi.get(self, "ramp_down_minutes_to_wait_on_logoff") + + @ramp_down_minutes_to_wait_on_logoff.setter + def ramp_down_minutes_to_wait_on_logoff(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_down_minutes_to_wait_on_logoff", value) + + @property + @pulumi.getter(name="rampDownStartTime") + def ramp_down_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for ramp down period. + """ + return pulumi.get(self, "ramp_down_start_time") + + @ramp_down_start_time.setter + def ramp_down_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "ramp_down_start_time", value) + + @property + @pulumi.getter(name="rampDownStartVMOnConnect") + def ramp_down_start_vm_on_connect(self) -> Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + """ + return pulumi.get(self, "ramp_down_start_vm_on_connect") + + @ramp_down_start_vm_on_connect.setter + def ramp_down_start_vm_on_connect(self, value: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]): + pulumi.set(self, "ramp_down_start_vm_on_connect", value) + + @property + @pulumi.getter(name="rampUpActionOnDisconnect") + def ramp_up_action_on_disconnect(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a user disconnect during the ramp up period. + """ + return pulumi.get(self, "ramp_up_action_on_disconnect") + + @ramp_up_action_on_disconnect.setter + def ramp_up_action_on_disconnect(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "ramp_up_action_on_disconnect", value) + + @property + @pulumi.getter(name="rampUpActionOnLogoff") + def ramp_up_action_on_logoff(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a logoff during the ramp up period. + """ + return pulumi.get(self, "ramp_up_action_on_logoff") + + @ramp_up_action_on_logoff.setter + def ramp_up_action_on_logoff(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "ramp_up_action_on_logoff", value) + + @property + @pulumi.getter(name="rampUpAutoStartHosts") + def ramp_up_auto_start_hosts(self) -> Optional[pulumi.Input[Union[str, 'StartupBehavior']]]: + """ + The desired startup behavior during the ramp up period for personal vms in the hostpool. + """ + return pulumi.get(self, "ramp_up_auto_start_hosts") + + @ramp_up_auto_start_hosts.setter + def ramp_up_auto_start_hosts(self, value: Optional[pulumi.Input[Union[str, 'StartupBehavior']]]): + pulumi.set(self, "ramp_up_auto_start_hosts", value) + + @property + @pulumi.getter(name="rampUpMinutesToWaitOnDisconnect") + def ramp_up_minutes_to_wait_on_disconnect(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + """ + return pulumi.get(self, "ramp_up_minutes_to_wait_on_disconnect") + + @ramp_up_minutes_to_wait_on_disconnect.setter + def ramp_up_minutes_to_wait_on_disconnect(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_up_minutes_to_wait_on_disconnect", value) + + @property + @pulumi.getter(name="rampUpMinutesToWaitOnLogoff") + def ramp_up_minutes_to_wait_on_logoff(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + """ + return pulumi.get(self, "ramp_up_minutes_to_wait_on_logoff") + + @ramp_up_minutes_to_wait_on_logoff.setter + def ramp_up_minutes_to_wait_on_logoff(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_up_minutes_to_wait_on_logoff", value) + + @property + @pulumi.getter(name="rampUpStartTime") + def ramp_up_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for ramp up period. + """ + return pulumi.get(self, "ramp_up_start_time") + + @ramp_up_start_time.setter + def ramp_up_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "ramp_up_start_time", value) + + @property + @pulumi.getter(name="rampUpStartVMOnConnect") + def ramp_up_start_vm_on_connect(self) -> Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + """ + return pulumi.get(self, "ramp_up_start_vm_on_connect") + + @ramp_up_start_vm_on_connect.setter + def ramp_up_start_vm_on_connect(self, value: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]): + pulumi.set(self, "ramp_up_start_vm_on_connect", value) + + @property + @pulumi.getter(name="scalingPlanScheduleName") + def scaling_plan_schedule_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the ScalingPlanSchedule + """ + return pulumi.get(self, "scaling_plan_schedule_name") + + @scaling_plan_schedule_name.setter + def scaling_plan_schedule_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scaling_plan_schedule_name", value) + + +class ScalingPlanPersonalSchedule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + days_of_week: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]] = None, + off_peak_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + off_peak_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + off_peak_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + off_peak_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + off_peak_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + off_peak_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + peak_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + peak_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + peak_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + peak_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + peak_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + peak_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + ramp_down_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_down_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_down_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + ramp_down_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + ramp_down_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + ramp_down_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + ramp_up_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_up_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_up_auto_start_hosts: Optional[pulumi.Input[Union[str, 'StartupBehavior']]] = None, + ramp_up_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + ramp_up_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + ramp_up_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + ramp_up_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + scaling_plan_schedule_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Represents a ScalingPlanPersonalSchedule definition. + Azure REST API version: 2023-07-07-preview. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]] days_of_week: Set of days of the week on which this schedule is active. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] off_peak_action_on_disconnect: Action to be taken after a user disconnect during the off-peak period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] off_peak_action_on_logoff: Action to be taken after a logoff during the off-peak period. + :param pulumi.Input[int] off_peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + :param pulumi.Input[int] off_peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + :param pulumi.Input[pulumi.InputType['TimeArgs']] off_peak_start_time: Starting time for off-peak period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] off_peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] peak_action_on_disconnect: Action to be taken after a user disconnect during the peak period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] peak_action_on_logoff: Action to be taken after a logoff during the peak period. + :param pulumi.Input[int] peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + :param pulumi.Input[int] peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + :param pulumi.Input[pulumi.InputType['TimeArgs']] peak_start_time: Starting time for peak period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the peak phase. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_down_action_on_disconnect: Action to be taken after a user disconnect during the ramp down period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_down_action_on_logoff: Action to be taken after a logoff during the ramp down period. + :param pulumi.Input[int] ramp_down_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + :param pulumi.Input[int] ramp_down_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + :param pulumi.Input[pulumi.InputType['TimeArgs']] ramp_down_start_time: Starting time for ramp down period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] ramp_down_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_up_action_on_disconnect: Action to be taken after a user disconnect during the ramp up period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_up_action_on_logoff: Action to be taken after a logoff during the ramp up period. + :param pulumi.Input[Union[str, 'StartupBehavior']] ramp_up_auto_start_hosts: The desired startup behavior during the ramp up period for personal vms in the hostpool. + :param pulumi.Input[int] ramp_up_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + :param pulumi.Input[int] ramp_up_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + :param pulumi.Input[pulumi.InputType['TimeArgs']] ramp_up_start_time: Starting time for ramp up period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] ramp_up_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] scaling_plan_name: The name of the scaling plan. + :param pulumi.Input[str] scaling_plan_schedule_name: The name of the ScalingPlanSchedule + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ScalingPlanPersonalScheduleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Represents a ScalingPlanPersonalSchedule definition. + Azure REST API version: 2023-07-07-preview. + + :param str resource_name: The name of the resource. + :param ScalingPlanPersonalScheduleArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ScalingPlanPersonalScheduleArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + days_of_week: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]] = None, + off_peak_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + off_peak_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + off_peak_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + off_peak_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + off_peak_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + off_peak_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + peak_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + peak_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + peak_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + peak_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + peak_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + peak_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + ramp_down_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_down_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_down_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + ramp_down_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + ramp_down_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + ramp_down_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + ramp_up_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_up_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_up_auto_start_hosts: Optional[pulumi.Input[Union[str, 'StartupBehavior']]] = None, + ramp_up_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + ramp_up_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + ramp_up_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + ramp_up_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + scaling_plan_schedule_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ScalingPlanPersonalScheduleArgs.__new__(ScalingPlanPersonalScheduleArgs) + + __props__.__dict__["days_of_week"] = days_of_week + __props__.__dict__["off_peak_action_on_disconnect"] = off_peak_action_on_disconnect + __props__.__dict__["off_peak_action_on_logoff"] = off_peak_action_on_logoff + __props__.__dict__["off_peak_minutes_to_wait_on_disconnect"] = off_peak_minutes_to_wait_on_disconnect + __props__.__dict__["off_peak_minutes_to_wait_on_logoff"] = off_peak_minutes_to_wait_on_logoff + __props__.__dict__["off_peak_start_time"] = off_peak_start_time + if off_peak_start_vm_on_connect is None: + off_peak_start_vm_on_connect = 'Enable' + __props__.__dict__["off_peak_start_vm_on_connect"] = off_peak_start_vm_on_connect + __props__.__dict__["peak_action_on_disconnect"] = peak_action_on_disconnect + __props__.__dict__["peak_action_on_logoff"] = peak_action_on_logoff + __props__.__dict__["peak_minutes_to_wait_on_disconnect"] = peak_minutes_to_wait_on_disconnect + __props__.__dict__["peak_minutes_to_wait_on_logoff"] = peak_minutes_to_wait_on_logoff + __props__.__dict__["peak_start_time"] = peak_start_time + if peak_start_vm_on_connect is None: + peak_start_vm_on_connect = 'Enable' + __props__.__dict__["peak_start_vm_on_connect"] = peak_start_vm_on_connect + __props__.__dict__["ramp_down_action_on_disconnect"] = ramp_down_action_on_disconnect + __props__.__dict__["ramp_down_action_on_logoff"] = ramp_down_action_on_logoff + __props__.__dict__["ramp_down_minutes_to_wait_on_disconnect"] = ramp_down_minutes_to_wait_on_disconnect + __props__.__dict__["ramp_down_minutes_to_wait_on_logoff"] = ramp_down_minutes_to_wait_on_logoff + __props__.__dict__["ramp_down_start_time"] = ramp_down_start_time + if ramp_down_start_vm_on_connect is None: + ramp_down_start_vm_on_connect = 'Enable' + __props__.__dict__["ramp_down_start_vm_on_connect"] = ramp_down_start_vm_on_connect + __props__.__dict__["ramp_up_action_on_disconnect"] = ramp_up_action_on_disconnect + __props__.__dict__["ramp_up_action_on_logoff"] = ramp_up_action_on_logoff + __props__.__dict__["ramp_up_auto_start_hosts"] = ramp_up_auto_start_hosts + __props__.__dict__["ramp_up_minutes_to_wait_on_disconnect"] = ramp_up_minutes_to_wait_on_disconnect + __props__.__dict__["ramp_up_minutes_to_wait_on_logoff"] = ramp_up_minutes_to_wait_on_logoff + __props__.__dict__["ramp_up_start_time"] = ramp_up_start_time + if ramp_up_start_vm_on_connect is None: + ramp_up_start_vm_on_connect = 'Enable' + __props__.__dict__["ramp_up_start_vm_on_connect"] = ramp_up_start_vm_on_connect + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if scaling_plan_name is None and not opts.urn: + raise TypeError("Missing required property 'scaling_plan_name'") + __props__.__dict__["scaling_plan_name"] = scaling_plan_name + __props__.__dict__["scaling_plan_schedule_name"] = scaling_plan_schedule_name + __props__.__dict__["name"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ScalingPlanPersonalSchedule")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(ScalingPlanPersonalSchedule, __self__).__init__( + 'azure-native:desktopvirtualization:ScalingPlanPersonalSchedule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ScalingPlanPersonalSchedule': + """ + Get an existing ScalingPlanPersonalSchedule resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ScalingPlanPersonalScheduleArgs.__new__(ScalingPlanPersonalScheduleArgs) + + __props__.__dict__["days_of_week"] = None + __props__.__dict__["name"] = None + __props__.__dict__["off_peak_action_on_disconnect"] = None + __props__.__dict__["off_peak_action_on_logoff"] = None + __props__.__dict__["off_peak_minutes_to_wait_on_disconnect"] = None + __props__.__dict__["off_peak_minutes_to_wait_on_logoff"] = None + __props__.__dict__["off_peak_start_time"] = None + __props__.__dict__["off_peak_start_vm_on_connect"] = None + __props__.__dict__["peak_action_on_disconnect"] = None + __props__.__dict__["peak_action_on_logoff"] = None + __props__.__dict__["peak_minutes_to_wait_on_disconnect"] = None + __props__.__dict__["peak_minutes_to_wait_on_logoff"] = None + __props__.__dict__["peak_start_time"] = None + __props__.__dict__["peak_start_vm_on_connect"] = None + __props__.__dict__["ramp_down_action_on_disconnect"] = None + __props__.__dict__["ramp_down_action_on_logoff"] = None + __props__.__dict__["ramp_down_minutes_to_wait_on_disconnect"] = None + __props__.__dict__["ramp_down_minutes_to_wait_on_logoff"] = None + __props__.__dict__["ramp_down_start_time"] = None + __props__.__dict__["ramp_down_start_vm_on_connect"] = None + __props__.__dict__["ramp_up_action_on_disconnect"] = None + __props__.__dict__["ramp_up_action_on_logoff"] = None + __props__.__dict__["ramp_up_auto_start_hosts"] = None + __props__.__dict__["ramp_up_minutes_to_wait_on_disconnect"] = None + __props__.__dict__["ramp_up_minutes_to_wait_on_logoff"] = None + __props__.__dict__["ramp_up_start_time"] = None + __props__.__dict__["ramp_up_start_vm_on_connect"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + return ScalingPlanPersonalSchedule(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="daysOfWeek") + def days_of_week(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Set of days of the week on which this schedule is active. + """ + return pulumi.get(self, "days_of_week") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="offPeakActionOnDisconnect") + def off_peak_action_on_disconnect(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a user disconnect during the off-peak period. + """ + return pulumi.get(self, "off_peak_action_on_disconnect") + + @property + @pulumi.getter(name="offPeakActionOnLogoff") + def off_peak_action_on_logoff(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a logoff during the off-peak period. + """ + return pulumi.get(self, "off_peak_action_on_logoff") + + @property + @pulumi.getter(name="offPeakMinutesToWaitOnDisconnect") + def off_peak_minutes_to_wait_on_disconnect(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + """ + return pulumi.get(self, "off_peak_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="offPeakMinutesToWaitOnLogoff") + def off_peak_minutes_to_wait_on_logoff(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + """ + return pulumi.get(self, "off_peak_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="offPeakStartTime") + def off_peak_start_time(self) -> pulumi.Output[Optional['outputs.TimeResponse']]: + """ + Starting time for off-peak period. + """ + return pulumi.get(self, "off_peak_start_time") + + @property + @pulumi.getter(name="offPeakStartVMOnConnect") + def off_peak_start_vm_on_connect(self) -> pulumi.Output[Optional[str]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + """ + return pulumi.get(self, "off_peak_start_vm_on_connect") + + @property + @pulumi.getter(name="peakActionOnDisconnect") + def peak_action_on_disconnect(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a user disconnect during the peak period. + """ + return pulumi.get(self, "peak_action_on_disconnect") + + @property + @pulumi.getter(name="peakActionOnLogoff") + def peak_action_on_logoff(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a logoff during the peak period. + """ + return pulumi.get(self, "peak_action_on_logoff") + + @property + @pulumi.getter(name="peakMinutesToWaitOnDisconnect") + def peak_minutes_to_wait_on_disconnect(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + """ + return pulumi.get(self, "peak_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="peakMinutesToWaitOnLogoff") + def peak_minutes_to_wait_on_logoff(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + """ + return pulumi.get(self, "peak_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="peakStartTime") + def peak_start_time(self) -> pulumi.Output[Optional['outputs.TimeResponse']]: + """ + Starting time for peak period. + """ + return pulumi.get(self, "peak_start_time") + + @property + @pulumi.getter(name="peakStartVMOnConnect") + def peak_start_vm_on_connect(self) -> pulumi.Output[Optional[str]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the peak phase. + """ + return pulumi.get(self, "peak_start_vm_on_connect") + + @property + @pulumi.getter(name="rampDownActionOnDisconnect") + def ramp_down_action_on_disconnect(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a user disconnect during the ramp down period. + """ + return pulumi.get(self, "ramp_down_action_on_disconnect") + + @property + @pulumi.getter(name="rampDownActionOnLogoff") + def ramp_down_action_on_logoff(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a logoff during the ramp down period. + """ + return pulumi.get(self, "ramp_down_action_on_logoff") + + @property + @pulumi.getter(name="rampDownMinutesToWaitOnDisconnect") + def ramp_down_minutes_to_wait_on_disconnect(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + """ + return pulumi.get(self, "ramp_down_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="rampDownMinutesToWaitOnLogoff") + def ramp_down_minutes_to_wait_on_logoff(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + """ + return pulumi.get(self, "ramp_down_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="rampDownStartTime") + def ramp_down_start_time(self) -> pulumi.Output[Optional['outputs.TimeResponse']]: + """ + Starting time for ramp down period. + """ + return pulumi.get(self, "ramp_down_start_time") + + @property + @pulumi.getter(name="rampDownStartVMOnConnect") + def ramp_down_start_vm_on_connect(self) -> pulumi.Output[Optional[str]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + """ + return pulumi.get(self, "ramp_down_start_vm_on_connect") + + @property + @pulumi.getter(name="rampUpActionOnDisconnect") + def ramp_up_action_on_disconnect(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a user disconnect during the ramp up period. + """ + return pulumi.get(self, "ramp_up_action_on_disconnect") + + @property + @pulumi.getter(name="rampUpActionOnLogoff") + def ramp_up_action_on_logoff(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a logoff during the ramp up period. + """ + return pulumi.get(self, "ramp_up_action_on_logoff") + + @property + @pulumi.getter(name="rampUpAutoStartHosts") + def ramp_up_auto_start_hosts(self) -> pulumi.Output[Optional[str]]: + """ + The desired startup behavior during the ramp up period for personal vms in the hostpool. + """ + return pulumi.get(self, "ramp_up_auto_start_hosts") + + @property + @pulumi.getter(name="rampUpMinutesToWaitOnDisconnect") + def ramp_up_minutes_to_wait_on_disconnect(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + """ + return pulumi.get(self, "ramp_up_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="rampUpMinutesToWaitOnLogoff") + def ramp_up_minutes_to_wait_on_logoff(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + """ + return pulumi.get(self, "ramp_up_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="rampUpStartTime") + def ramp_up_start_time(self) -> pulumi.Output[Optional['outputs.TimeResponse']]: + """ + Starting time for ramp up period. + """ + return pulumi.get(self, "ramp_up_start_time") + + @property + @pulumi.getter(name="rampUpStartVMOnConnect") + def ramp_up_start_vm_on_connect(self) -> pulumi.Output[Optional[str]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + """ + return pulumi.get(self, "ramp_up_start_vm_on_connect") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/scaling_plan_pooled_schedule.py b/sdk/python/pulumi_azure_native/desktopvirtualization/scaling_plan_pooled_schedule.py index 851ab7d21fe4..937acfbb17dd 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/scaling_plan_pooled_schedule.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/scaling_plan_pooled_schedule.py @@ -474,7 +474,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ScalingPlanPooledSchedule, __self__).__init__( 'azure-native:desktopvirtualization:ScalingPlanPooledSchedule', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20210201preview/scaling_plan.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20210201preview/scaling_plan.py index 9f67a76669c4..df94ef3c34dd 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20210201preview/scaling_plan.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20210201preview/scaling_plan.py @@ -397,7 +397,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["object_id"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlan")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ScalingPlan")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ScalingPlan, __self__).__init__( 'azure-native:desktopvirtualization/v20210201preview:ScalingPlan', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220210preview/scaling_plan.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220210preview/scaling_plan.py index 959cf1c66383..f3ee40adf24c 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220210preview/scaling_plan.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220210preview/scaling_plan.py @@ -378,7 +378,7 @@ def _internal_init(__self__, __props__.__dict__["object_id"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlan")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ScalingPlan")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ScalingPlan, __self__).__init__( 'azure-native:desktopvirtualization/v20220210preview:ScalingPlan', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220401preview/application_group.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220401preview/application_group.py index ccd952cb96fa..defeab412187 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220401preview/application_group.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220401preview/application_group.py @@ -342,7 +342,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None __props__.__dict__["workspace_arm_path"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ApplicationGroup")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ApplicationGroup")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ApplicationGroup, __self__).__init__( 'azure-native:desktopvirtualization/v20220401preview:ApplicationGroup', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220401preview/host_pool.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220401preview/host_pool.py index b24e7571d563..a839992c9a3f 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220401preview/host_pool.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220401preview/host_pool.py @@ -644,7 +644,7 @@ def _internal_init(__self__, __props__.__dict__["private_endpoint_connections"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:HostPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:HostPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(HostPool, __self__).__init__( 'azure-native:desktopvirtualization/v20220401preview:HostPool', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/application.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/application.py index 0f0fbfdccc8e..7a8e8a1df81e 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/application.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/application.py @@ -355,7 +355,7 @@ def _internal_init(__self__, __props__.__dict__["object_id"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:Application")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:Application")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Application, __self__).__init__( 'azure-native:desktopvirtualization/v20220909:Application', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/application_group.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/application_group.py index 7cbe6143c26f..f1ed8d559378 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/application_group.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/application_group.py @@ -322,7 +322,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None __props__.__dict__["workspace_arm_path"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ApplicationGroup")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ApplicationGroup")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ApplicationGroup, __self__).__init__( 'azure-native:desktopvirtualization/v20220909:ApplicationGroup', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/host_pool.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/host_pool.py index 09953d02bf8a..267ef4803637 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/host_pool.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/host_pool.py @@ -603,7 +603,7 @@ def _internal_init(__self__, __props__.__dict__["object_id"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:HostPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:HostPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(HostPool, __self__).__init__( 'azure-native:desktopvirtualization/v20220909:HostPool', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/msix_package.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/msix_package.py index 7208841e969e..b5d58693b199 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/msix_package.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/msix_package.py @@ -351,7 +351,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:MSIXPackage")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:MSIXPackage")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(MSIXPackage, __self__).__init__( 'azure-native:desktopvirtualization/v20220909:MSIXPackage', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/scaling_plan.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/scaling_plan.py index 55cd2891da4c..633efffb29b8 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/scaling_plan.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/scaling_plan.py @@ -383,7 +383,7 @@ def _internal_init(__self__, __props__.__dict__["object_id"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlan")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ScalingPlan")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ScalingPlan, __self__).__init__( 'azure-native:desktopvirtualization/v20220909:ScalingPlan', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/scaling_plan_pooled_schedule.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/scaling_plan_pooled_schedule.py index a22a21738dd6..39d07e8e04d0 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/scaling_plan_pooled_schedule.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/scaling_plan_pooled_schedule.py @@ -472,7 +472,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ScalingPlanPooledSchedule, __self__).__init__( 'azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/workspace.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/workspace.py index 1d52dab62c61..01080f240709 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/workspace.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20220909/workspace.py @@ -299,7 +299,7 @@ def _internal_init(__self__, __props__.__dict__["object_id"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:Workspace")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:Workspace")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Workspace, __self__).__init__( 'azure-native:desktopvirtualization/v20220909:Workspace', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/application.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/application.py index 812860281243..59a02d2dfc44 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/application.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/application.py @@ -355,7 +355,7 @@ def _internal_init(__self__, __props__.__dict__["object_id"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:Application")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:Application")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Application, __self__).__init__( 'azure-native:desktopvirtualization/v20221014preview:Application', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/application_group.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/application_group.py index 0bc51f3e1012..050ba4eb4c2c 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/application_group.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/application_group.py @@ -322,7 +322,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None __props__.__dict__["workspace_arm_path"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ApplicationGroup")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ApplicationGroup")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ApplicationGroup, __self__).__init__( 'azure-native:desktopvirtualization/v20221014preview:ApplicationGroup', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/host_pool.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/host_pool.py index 53e39402f29f..22e0e5f7c34d 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/host_pool.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/host_pool.py @@ -624,7 +624,7 @@ def _internal_init(__self__, __props__.__dict__["private_endpoint_connections"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:HostPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:HostPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(HostPool, __self__).__init__( 'azure-native:desktopvirtualization/v20221014preview:HostPool', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/msix_package.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/msix_package.py index d1d0582c3e4c..f46ddf2ba0cf 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/msix_package.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/msix_package.py @@ -351,7 +351,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:MSIXPackage")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:MSIXPackage")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(MSIXPackage, __self__).__init__( 'azure-native:desktopvirtualization/v20221014preview:MSIXPackage', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/private_endpoint_connection_by_host_pool.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/private_endpoint_connection_by_host_pool.py index 99c4ce6aa7a5..cabc6f917b00 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/private_endpoint_connection_by_host_pool.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/private_endpoint_connection_by_host_pool.py @@ -155,7 +155,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateEndpointConnectionByHostPool, __self__).__init__( 'azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByHostPool', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/private_endpoint_connection_by_workspace.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/private_endpoint_connection_by_workspace.py index 0761e3aa8422..b7ab45075e03 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/private_endpoint_connection_by_workspace.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/private_endpoint_connection_by_workspace.py @@ -155,7 +155,7 @@ def _internal_init(__self__, __props__.__dict__["provisioning_state"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateEndpointConnectionByWorkspace, __self__).__init__( 'azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByWorkspace', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/scaling_plan.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/scaling_plan.py index e8d772caf62d..81d37b87336f 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/scaling_plan.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/scaling_plan.py @@ -383,7 +383,7 @@ def _internal_init(__self__, __props__.__dict__["object_id"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlan")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ScalingPlan")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ScalingPlan, __self__).__init__( 'azure-native:desktopvirtualization/v20221014preview:ScalingPlan', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/scaling_plan_pooled_schedule.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/scaling_plan_pooled_schedule.py index c5df56a9c3a5..09da63f0f5ee 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/scaling_plan_pooled_schedule.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/scaling_plan_pooled_schedule.py @@ -472,7 +472,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(ScalingPlanPooledSchedule, __self__).__init__( 'azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/workspace.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/workspace.py index d5632129e5dd..7a55978c9bf4 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/workspace.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20221014preview/workspace.py @@ -320,7 +320,7 @@ def _internal_init(__self__, __props__.__dict__["private_endpoint_connections"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:Workspace")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:Workspace")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Workspace, __self__).__init__( 'azure-native:desktopvirtualization/v20221014preview:Workspace', diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/__init__.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/__init__.py new file mode 100644 index 000000000000..b13cf3bc2430 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/__init__.py @@ -0,0 +1,30 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .application import * +from .application_group import * +from .get_application import * +from .get_application_group import * +from .get_host_pool import * +from .get_msix_package import * +from .get_private_endpoint_connection_by_host_pool import * +from .get_private_endpoint_connection_by_workspace import * +from .get_scaling_plan import * +from .get_scaling_plan_personal_schedule import * +from .get_scaling_plan_pooled_schedule import * +from .get_workspace import * +from .host_pool import * +from .msix_package import * +from .private_endpoint_connection_by_host_pool import * +from .private_endpoint_connection_by_workspace import * +from .scaling_plan import * +from .scaling_plan_personal_schedule import * +from .scaling_plan_pooled_schedule import * +from .workspace import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/_enums.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/_enums.py new file mode 100644 index 000000000000..208f300f498f --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/_enums.py @@ -0,0 +1,246 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'ApplicationGroupType', + 'CommandLineSetting', + 'DayOfWeek', + 'HostPoolType', + 'HostpoolPublicNetworkAccess', + 'LoadBalancerType', + 'PersonalDesktopAssignmentType', + 'PreferredAppGroupType', + 'PrivateEndpointServiceConnectionStatus', + 'PublicNetworkAccess', + 'RegistrationTokenOperation', + 'RemoteApplicationType', + 'ResourceIdentityType', + 'SSOSecretType', + 'ScalingHostPoolType', + 'SessionHandlingOperation', + 'SessionHostComponentUpdateType', + 'SessionHostLoadBalancingAlgorithm', + 'SetStartVMOnConnect', + 'SkuTier', + 'StartupBehavior', + 'StopHostsWhen', +] + + +class ApplicationGroupType(str, Enum): + """ + Resource Type of ApplicationGroup. + """ + REMOTE_APP = "RemoteApp" + DESKTOP = "Desktop" + + +class CommandLineSetting(str, Enum): + """ + Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + """ + DO_NOT_ALLOW = "DoNotAllow" + ALLOW = "Allow" + REQUIRE = "Require" + + +class DayOfWeek(str, Enum): + MONDAY = "Monday" + TUESDAY = "Tuesday" + WEDNESDAY = "Wednesday" + THURSDAY = "Thursday" + FRIDAY = "Friday" + SATURDAY = "Saturday" + SUNDAY = "Sunday" + + +class HostPoolType(str, Enum): + """ + HostPool type for desktop. + """ + PERSONAL = "Personal" + """ + Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost. + """ + POOLED = "Pooled" + """ + Users get a new (random) SessionHost every time it connects to the HostPool. + """ + BYO_DESKTOP = "BYODesktop" + """ + Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct. + """ + + +class HostpoolPublicNetworkAccess(str, Enum): + """ + Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + """ + ENABLED = "Enabled" + DISABLED = "Disabled" + ENABLED_FOR_SESSION_HOSTS_ONLY = "EnabledForSessionHostsOnly" + ENABLED_FOR_CLIENTS_ONLY = "EnabledForClientsOnly" + + +class LoadBalancerType(str, Enum): + """ + The type of the load balancer. + """ + BREADTH_FIRST = "BreadthFirst" + DEPTH_FIRST = "DepthFirst" + PERSISTENT = "Persistent" + + +class PersonalDesktopAssignmentType(str, Enum): + """ + PersonalDesktopAssignment type for HostPool. + """ + AUTOMATIC = "Automatic" + DIRECT = "Direct" + + +class PreferredAppGroupType(str, Enum): + """ + The type of preferred application group type, default to Desktop Application Group + """ + NONE = "None" + DESKTOP = "Desktop" + RAIL_APPLICATIONS = "RailApplications" + + +class PrivateEndpointServiceConnectionStatus(str, Enum): + """ + Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ + PENDING = "Pending" + APPROVED = "Approved" + REJECTED = "Rejected" + + +class PublicNetworkAccess(str, Enum): + """ + Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + """ + ENABLED = "Enabled" + DISABLED = "Disabled" + + +class RegistrationTokenOperation(str, Enum): + """ + The type of resetting the token. + """ + DELETE = "Delete" + NONE = "None" + UPDATE = "Update" + + +class RemoteApplicationType(str, Enum): + """ + Resource Type of Application. + """ + IN_BUILT = "InBuilt" + MSIX_APPLICATION = "MsixApplication" + + +class ResourceIdentityType(str, Enum): + """ + The identity type. + """ + SYSTEM_ASSIGNED = "SystemAssigned" + + +class SSOSecretType(str, Enum): + """ + The type of single sign on Secret Type. + """ + SHARED_KEY = "SharedKey" + CERTIFICATE = "Certificate" + SHARED_KEY_IN_KEY_VAULT = "SharedKeyInKeyVault" + CERTIFICATE_IN_KEY_VAULT = "CertificateInKeyVault" + + +class ScalingHostPoolType(str, Enum): + """ + HostPool type for desktop. + """ + POOLED = "Pooled" + """ + Users get a new (random) SessionHost every time it connects to the HostPool. + """ + + +class SessionHandlingOperation(str, Enum): + """ + Action to be taken after a logoff during the ramp up period. + """ + NONE = "None" + DEALLOCATE = "Deallocate" + + +class SessionHostComponentUpdateType(str, Enum): + """ + The type of maintenance for session host components. + """ + DEFAULT = "Default" + """ + Agent and other agent side components are delivery schedule is controlled by WVD Infra. + """ + SCHEDULED = "Scheduled" + """ + TenantAdmin have opted in for Scheduled Component Update feature. + """ + + +class SessionHostLoadBalancingAlgorithm(str, Enum): + """ + Load balancing algorithm for ramp up period. + """ + BREADTH_FIRST = "BreadthFirst" + DEPTH_FIRST = "DepthFirst" + + +class SetStartVMOnConnect(str, Enum): + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + """ + ENABLE = "Enable" + DISABLE = "Disable" + + +class SkuTier(str, Enum): + """ + This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + """ + FREE = "Free" + BASIC = "Basic" + STANDARD = "Standard" + PREMIUM = "Premium" + + +class StartupBehavior(str, Enum): + """ + The desired startup behavior during the ramp up period for personal vms in the hostpool. + """ + NONE = "None" + """ + Session hosts will not be started by the service. This setting depends on Start VM on Connect to be enabled to start the session hosts. + """ + WITH_ASSIGNED_USER = "WithAssignedUser" + """ + Session hosts with an assigned user will be started during Ramp Up + """ + ALL = "All" + """ + All personal session hosts in the hostpool will be started during ramp up. + """ + + +class StopHostsWhen(str, Enum): + """ + Specifies when to stop hosts during ramp down period. + """ + ZERO_SESSIONS = "ZeroSessions" + ZERO_ACTIVE_SESSIONS = "ZeroActiveSessions" diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/_inputs.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/_inputs.py new file mode 100644 index 000000000000..5b0f2fd18614 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/_inputs.py @@ -0,0 +1,994 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = [ + 'AgentUpdatePropertiesArgs', + 'MaintenanceWindowPropertiesArgs', + 'MsixPackageApplicationsArgs', + 'MsixPackageDependenciesArgs', + 'PrivateLinkServiceConnectionStateArgs', + 'RegistrationInfoArgs', + 'ResourceModelWithAllowedPropertySetIdentityArgs', + 'ResourceModelWithAllowedPropertySetPlanArgs', + 'ResourceModelWithAllowedPropertySetSkuArgs', + 'ScalingHostPoolReferenceArgs', + 'ScalingScheduleArgs', + 'TimeArgs', +] + +@pulumi.input_type +class AgentUpdatePropertiesArgs: + def __init__(__self__, *, + maintenance_window_time_zone: Optional[pulumi.Input[str]] = None, + maintenance_windows: Optional[pulumi.Input[Sequence[pulumi.Input['MaintenanceWindowPropertiesArgs']]]] = None, + type: Optional[pulumi.Input[Union[str, 'SessionHostComponentUpdateType']]] = None, + use_session_host_local_time: Optional[pulumi.Input[bool]] = None): + """ + The session host configuration for updating agent, monitoring agent, and stack component. + :param pulumi.Input[str] maintenance_window_time_zone: Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. + :param pulumi.Input[Sequence[pulumi.Input['MaintenanceWindowPropertiesArgs']]] maintenance_windows: List of maintenance windows. Maintenance windows are 2 hours long. + :param pulumi.Input[Union[str, 'SessionHostComponentUpdateType']] type: The type of maintenance for session host components. + :param pulumi.Input[bool] use_session_host_local_time: Whether to use localTime of the virtual machine. + """ + if maintenance_window_time_zone is not None: + pulumi.set(__self__, "maintenance_window_time_zone", maintenance_window_time_zone) + if maintenance_windows is not None: + pulumi.set(__self__, "maintenance_windows", maintenance_windows) + if type is not None: + pulumi.set(__self__, "type", type) + if use_session_host_local_time is not None: + pulumi.set(__self__, "use_session_host_local_time", use_session_host_local_time) + + @property + @pulumi.getter(name="maintenanceWindowTimeZone") + def maintenance_window_time_zone(self) -> Optional[pulumi.Input[str]]: + """ + Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. + """ + return pulumi.get(self, "maintenance_window_time_zone") + + @maintenance_window_time_zone.setter + def maintenance_window_time_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "maintenance_window_time_zone", value) + + @property + @pulumi.getter(name="maintenanceWindows") + def maintenance_windows(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MaintenanceWindowPropertiesArgs']]]]: + """ + List of maintenance windows. Maintenance windows are 2 hours long. + """ + return pulumi.get(self, "maintenance_windows") + + @maintenance_windows.setter + def maintenance_windows(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MaintenanceWindowPropertiesArgs']]]]): + pulumi.set(self, "maintenance_windows", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[Union[str, 'SessionHostComponentUpdateType']]]: + """ + The type of maintenance for session host components. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[Union[str, 'SessionHostComponentUpdateType']]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="useSessionHostLocalTime") + def use_session_host_local_time(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to use localTime of the virtual machine. + """ + return pulumi.get(self, "use_session_host_local_time") + + @use_session_host_local_time.setter + def use_session_host_local_time(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_session_host_local_time", value) + + +@pulumi.input_type +class MaintenanceWindowPropertiesArgs: + def __init__(__self__, *, + day_of_week: Optional[pulumi.Input['DayOfWeek']] = None, + hour: Optional[pulumi.Input[int]] = None): + """ + Maintenance window starting hour and day of week. + :param pulumi.Input['DayOfWeek'] day_of_week: Day of the week. + :param pulumi.Input[int] hour: The update start hour of the day. (0 - 23) + """ + if day_of_week is not None: + pulumi.set(__self__, "day_of_week", day_of_week) + if hour is not None: + pulumi.set(__self__, "hour", hour) + + @property + @pulumi.getter(name="dayOfWeek") + def day_of_week(self) -> Optional[pulumi.Input['DayOfWeek']]: + """ + Day of the week. + """ + return pulumi.get(self, "day_of_week") + + @day_of_week.setter + def day_of_week(self, value: Optional[pulumi.Input['DayOfWeek']]): + pulumi.set(self, "day_of_week", value) + + @property + @pulumi.getter + def hour(self) -> Optional[pulumi.Input[int]]: + """ + The update start hour of the day. (0 - 23) + """ + return pulumi.get(self, "hour") + + @hour.setter + def hour(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "hour", value) + + +@pulumi.input_type +class MsixPackageApplicationsArgs: + def __init__(__self__, *, + app_id: Optional[pulumi.Input[str]] = None, + app_user_model_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + icon_image_name: Optional[pulumi.Input[str]] = None, + raw_icon: Optional[pulumi.Input[str]] = None, + raw_png: Optional[pulumi.Input[str]] = None): + """ + Schema for MSIX Package Application properties. + :param pulumi.Input[str] app_id: Package Application Id, found in appxmanifest.xml. + :param pulumi.Input[str] app_user_model_id: Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml. + :param pulumi.Input[str] description: Description of Package Application. + :param pulumi.Input[str] friendly_name: User friendly name. + :param pulumi.Input[str] icon_image_name: User friendly name. + :param pulumi.Input[str] raw_icon: the icon a 64 bit string as a byte array. + :param pulumi.Input[str] raw_png: the icon a 64 bit string as a byte array. + """ + if app_id is not None: + pulumi.set(__self__, "app_id", app_id) + if app_user_model_id is not None: + pulumi.set(__self__, "app_user_model_id", app_user_model_id) + if description is not None: + pulumi.set(__self__, "description", description) + if friendly_name is not None: + pulumi.set(__self__, "friendly_name", friendly_name) + if icon_image_name is not None: + pulumi.set(__self__, "icon_image_name", icon_image_name) + if raw_icon is not None: + pulumi.set(__self__, "raw_icon", raw_icon) + if raw_png is not None: + pulumi.set(__self__, "raw_png", raw_png) + + @property + @pulumi.getter(name="appId") + def app_id(self) -> Optional[pulumi.Input[str]]: + """ + Package Application Id, found in appxmanifest.xml. + """ + return pulumi.get(self, "app_id") + + @app_id.setter + def app_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "app_id", value) + + @property + @pulumi.getter(name="appUserModelID") + def app_user_model_id(self) -> Optional[pulumi.Input[str]]: + """ + Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml. + """ + return pulumi.get(self, "app_user_model_id") + + @app_user_model_id.setter + def app_user_model_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "app_user_model_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of Package Application. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> Optional[pulumi.Input[str]]: + """ + User friendly name. + """ + return pulumi.get(self, "friendly_name") + + @friendly_name.setter + def friendly_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "friendly_name", value) + + @property + @pulumi.getter(name="iconImageName") + def icon_image_name(self) -> Optional[pulumi.Input[str]]: + """ + User friendly name. + """ + return pulumi.get(self, "icon_image_name") + + @icon_image_name.setter + def icon_image_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_image_name", value) + + @property + @pulumi.getter(name="rawIcon") + def raw_icon(self) -> Optional[pulumi.Input[str]]: + """ + the icon a 64 bit string as a byte array. + """ + return pulumi.get(self, "raw_icon") + + @raw_icon.setter + def raw_icon(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "raw_icon", value) + + @property + @pulumi.getter(name="rawPng") + def raw_png(self) -> Optional[pulumi.Input[str]]: + """ + the icon a 64 bit string as a byte array. + """ + return pulumi.get(self, "raw_png") + + @raw_png.setter + def raw_png(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "raw_png", value) + + +@pulumi.input_type +class MsixPackageDependenciesArgs: + def __init__(__self__, *, + dependency_name: Optional[pulumi.Input[str]] = None, + min_version: Optional[pulumi.Input[str]] = None, + publisher: Optional[pulumi.Input[str]] = None): + """ + Schema for MSIX Package Dependencies properties. + :param pulumi.Input[str] dependency_name: Name of package dependency. + :param pulumi.Input[str] min_version: Dependency version required. + :param pulumi.Input[str] publisher: Name of dependency publisher. + """ + if dependency_name is not None: + pulumi.set(__self__, "dependency_name", dependency_name) + if min_version is not None: + pulumi.set(__self__, "min_version", min_version) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + + @property + @pulumi.getter(name="dependencyName") + def dependency_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of package dependency. + """ + return pulumi.get(self, "dependency_name") + + @dependency_name.setter + def dependency_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dependency_name", value) + + @property + @pulumi.getter(name="minVersion") + def min_version(self) -> Optional[pulumi.Input[str]]: + """ + Dependency version required. + """ + return pulumi.get(self, "min_version") + + @min_version.setter + def min_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "min_version", value) + + @property + @pulumi.getter + def publisher(self) -> Optional[pulumi.Input[str]]: + """ + Name of dependency publisher. + """ + return pulumi.get(self, "publisher") + + @publisher.setter + def publisher(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "publisher", value) + + +@pulumi.input_type +class PrivateLinkServiceConnectionStateArgs: + def __init__(__self__, *, + actions_required: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]] = None): + """ + A collection of information about the state of the connection between service consumer and provider. + :param pulumi.Input[str] actions_required: A message indicating if changes on the service provider require any updates on the consumer. + :param pulumi.Input[str] description: The reason for approval/rejection of the connection. + :param pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']] status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ + if actions_required is not None: + pulumi.set(__self__, "actions_required", actions_required) + if description is not None: + pulumi.set(__self__, "description", description) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="actionsRequired") + def actions_required(self) -> Optional[pulumi.Input[str]]: + """ + A message indicating if changes on the service provider require any updates on the consumer. + """ + return pulumi.get(self, "actions_required") + + @actions_required.setter + def actions_required(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "actions_required", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The reason for approval/rejection of the connection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]]: + """ + Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]]): + pulumi.set(self, "status", value) + + +@pulumi.input_type +class RegistrationInfoArgs: + def __init__(__self__, *, + expiration_time: Optional[pulumi.Input[str]] = None, + registration_token_operation: Optional[pulumi.Input[Union[str, 'RegistrationTokenOperation']]] = None, + token: Optional[pulumi.Input[str]] = None): + """ + Represents a RegistrationInfo definition. + :param pulumi.Input[str] expiration_time: Expiration time of registration token. + :param pulumi.Input[Union[str, 'RegistrationTokenOperation']] registration_token_operation: The type of resetting the token. + :param pulumi.Input[str] token: The registration token base64 encoded string. + """ + if expiration_time is not None: + pulumi.set(__self__, "expiration_time", expiration_time) + if registration_token_operation is not None: + pulumi.set(__self__, "registration_token_operation", registration_token_operation) + if token is not None: + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter(name="expirationTime") + def expiration_time(self) -> Optional[pulumi.Input[str]]: + """ + Expiration time of registration token. + """ + return pulumi.get(self, "expiration_time") + + @expiration_time.setter + def expiration_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expiration_time", value) + + @property + @pulumi.getter(name="registrationTokenOperation") + def registration_token_operation(self) -> Optional[pulumi.Input[Union[str, 'RegistrationTokenOperation']]]: + """ + The type of resetting the token. + """ + return pulumi.get(self, "registration_token_operation") + + @registration_token_operation.setter + def registration_token_operation(self, value: Optional[pulumi.Input[Union[str, 'RegistrationTokenOperation']]]): + pulumi.set(self, "registration_token_operation", value) + + @property + @pulumi.getter + def token(self) -> Optional[pulumi.Input[str]]: + """ + The registration token base64 encoded string. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token", value) + + +@pulumi.input_type +class ResourceModelWithAllowedPropertySetIdentityArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input['ResourceIdentityType']] = None): + """ + :param pulumi.Input['ResourceIdentityType'] type: The identity type. + """ + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input['ResourceIdentityType']]: + """ + The identity type. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input['ResourceIdentityType']]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class ResourceModelWithAllowedPropertySetPlanArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + product: pulumi.Input[str], + publisher: pulumi.Input[str], + promotion_code: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] name: A user defined name of the 3rd Party Artifact that is being procured. + :param pulumi.Input[str] product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. + :param pulumi.Input[str] publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic + :param pulumi.Input[str] promotion_code: A publisher provided promotion code as provisioned in Data Market for the said product/artifact. + :param pulumi.Input[str] version: The version of the desired product/artifact. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "product", product) + pulumi.set(__self__, "publisher", publisher) + if promotion_code is not None: + pulumi.set(__self__, "promotion_code", promotion_code) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + A user defined name of the 3rd Party Artifact that is being procured. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def product(self) -> pulumi.Input[str]: + """ + The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. + """ + return pulumi.get(self, "product") + + @product.setter + def product(self, value: pulumi.Input[str]): + pulumi.set(self, "product", value) + + @property + @pulumi.getter + def publisher(self) -> pulumi.Input[str]: + """ + The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic + """ + return pulumi.get(self, "publisher") + + @publisher.setter + def publisher(self, value: pulumi.Input[str]): + pulumi.set(self, "publisher", value) + + @property + @pulumi.getter(name="promotionCode") + def promotion_code(self) -> Optional[pulumi.Input[str]]: + """ + A publisher provided promotion code as provisioned in Data Market for the said product/artifact. + """ + return pulumi.get(self, "promotion_code") + + @promotion_code.setter + def promotion_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "promotion_code", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + The version of the desired product/artifact. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +@pulumi.input_type +class ResourceModelWithAllowedPropertySetSkuArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + capacity: Optional[pulumi.Input[int]] = None, + family: Optional[pulumi.Input[str]] = None, + size: Optional[pulumi.Input[str]] = None, + tier: Optional[pulumi.Input['SkuTier']] = None): + """ + :param pulumi.Input[str] name: The name of the SKU. Ex - P3. It is typically a letter+number code + :param pulumi.Input[int] capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. + :param pulumi.Input[str] family: If the service has different generations of hardware, for the same SKU, then that can be captured here. + :param pulumi.Input[str] size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. + :param pulumi.Input['SkuTier'] tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + """ + pulumi.set(__self__, "name", name) + if capacity is not None: + pulumi.set(__self__, "capacity", capacity) + if family is not None: + pulumi.set(__self__, "family", family) + if size is not None: + pulumi.set(__self__, "size", size) + if tier is not None: + pulumi.set(__self__, "tier", tier) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the SKU. Ex - P3. It is typically a letter+number code + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def capacity(self) -> Optional[pulumi.Input[int]]: + """ + If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. + """ + return pulumi.get(self, "capacity") + + @capacity.setter + def capacity(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "capacity", value) + + @property + @pulumi.getter + def family(self) -> Optional[pulumi.Input[str]]: + """ + If the service has different generations of hardware, for the same SKU, then that can be captured here. + """ + return pulumi.get(self, "family") + + @family.setter + def family(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "family", value) + + @property + @pulumi.getter + def size(self) -> Optional[pulumi.Input[str]]: + """ + The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. + """ + return pulumi.get(self, "size") + + @size.setter + def size(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "size", value) + + @property + @pulumi.getter + def tier(self) -> Optional[pulumi.Input['SkuTier']]: + """ + This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + """ + return pulumi.get(self, "tier") + + @tier.setter + def tier(self, value: Optional[pulumi.Input['SkuTier']]): + pulumi.set(self, "tier", value) + + +@pulumi.input_type +class ScalingHostPoolReferenceArgs: + def __init__(__self__, *, + host_pool_arm_path: Optional[pulumi.Input[str]] = None, + scaling_plan_enabled: Optional[pulumi.Input[bool]] = None): + """ + Scaling plan reference to hostpool. + :param pulumi.Input[str] host_pool_arm_path: Arm path of referenced hostpool. + :param pulumi.Input[bool] scaling_plan_enabled: Is the scaling plan enabled for this hostpool. + """ + if host_pool_arm_path is not None: + pulumi.set(__self__, "host_pool_arm_path", host_pool_arm_path) + if scaling_plan_enabled is not None: + pulumi.set(__self__, "scaling_plan_enabled", scaling_plan_enabled) + + @property + @pulumi.getter(name="hostPoolArmPath") + def host_pool_arm_path(self) -> Optional[pulumi.Input[str]]: + """ + Arm path of referenced hostpool. + """ + return pulumi.get(self, "host_pool_arm_path") + + @host_pool_arm_path.setter + def host_pool_arm_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_pool_arm_path", value) + + @property + @pulumi.getter(name="scalingPlanEnabled") + def scaling_plan_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Is the scaling plan enabled for this hostpool. + """ + return pulumi.get(self, "scaling_plan_enabled") + + @scaling_plan_enabled.setter + def scaling_plan_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "scaling_plan_enabled", value) + + +@pulumi.input_type +class ScalingScheduleArgs: + def __init__(__self__, *, + days_of_week: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + off_peak_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + off_peak_start_time: Optional[pulumi.Input['TimeArgs']] = None, + peak_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + peak_start_time: Optional[pulumi.Input['TimeArgs']] = None, + ramp_down_capacity_threshold_pct: Optional[pulumi.Input[int]] = None, + ramp_down_force_logoff_users: Optional[pulumi.Input[bool]] = None, + ramp_down_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + ramp_down_minimum_hosts_pct: Optional[pulumi.Input[int]] = None, + ramp_down_notification_message: Optional[pulumi.Input[str]] = None, + ramp_down_start_time: Optional[pulumi.Input['TimeArgs']] = None, + ramp_down_stop_hosts_when: Optional[pulumi.Input[Union[str, 'StopHostsWhen']]] = None, + ramp_down_wait_time_minutes: Optional[pulumi.Input[int]] = None, + ramp_up_capacity_threshold_pct: Optional[pulumi.Input[int]] = None, + ramp_up_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + ramp_up_minimum_hosts_pct: Optional[pulumi.Input[int]] = None, + ramp_up_start_time: Optional[pulumi.Input['TimeArgs']] = None): + """ + A ScalingPlanPooledSchedule. + :param pulumi.Input[Sequence[pulumi.Input[str]]] days_of_week: Set of days of the week on which this schedule is active. + :param pulumi.Input[str] name: Name of the ScalingPlanPooledSchedule. + :param pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']] off_peak_load_balancing_algorithm: Load balancing algorithm for off-peak period. + :param pulumi.Input['TimeArgs'] off_peak_start_time: Starting time for off-peak period. + :param pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']] peak_load_balancing_algorithm: Load balancing algorithm for peak period. + :param pulumi.Input['TimeArgs'] peak_start_time: Starting time for peak period. + :param pulumi.Input[int] ramp_down_capacity_threshold_pct: Capacity threshold for ramp down period. + :param pulumi.Input[bool] ramp_down_force_logoff_users: Should users be logged off forcefully from hosts. + :param pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']] ramp_down_load_balancing_algorithm: Load balancing algorithm for ramp down period. + :param pulumi.Input[int] ramp_down_minimum_hosts_pct: Minimum host percentage for ramp down period. + :param pulumi.Input[str] ramp_down_notification_message: Notification message for users during ramp down period. + :param pulumi.Input['TimeArgs'] ramp_down_start_time: Starting time for ramp down period. + :param pulumi.Input[Union[str, 'StopHostsWhen']] ramp_down_stop_hosts_when: Specifies when to stop hosts during ramp down period. + :param pulumi.Input[int] ramp_down_wait_time_minutes: Number of minutes to wait to stop hosts during ramp down period. + :param pulumi.Input[int] ramp_up_capacity_threshold_pct: Capacity threshold for ramp up period. + :param pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']] ramp_up_load_balancing_algorithm: Load balancing algorithm for ramp up period. + :param pulumi.Input[int] ramp_up_minimum_hosts_pct: Minimum host percentage for ramp up period. + :param pulumi.Input['TimeArgs'] ramp_up_start_time: Starting time for ramp up period. + """ + if days_of_week is not None: + pulumi.set(__self__, "days_of_week", days_of_week) + if name is not None: + pulumi.set(__self__, "name", name) + if off_peak_load_balancing_algorithm is not None: + pulumi.set(__self__, "off_peak_load_balancing_algorithm", off_peak_load_balancing_algorithm) + if off_peak_start_time is not None: + pulumi.set(__self__, "off_peak_start_time", off_peak_start_time) + if peak_load_balancing_algorithm is not None: + pulumi.set(__self__, "peak_load_balancing_algorithm", peak_load_balancing_algorithm) + if peak_start_time is not None: + pulumi.set(__self__, "peak_start_time", peak_start_time) + if ramp_down_capacity_threshold_pct is not None: + pulumi.set(__self__, "ramp_down_capacity_threshold_pct", ramp_down_capacity_threshold_pct) + if ramp_down_force_logoff_users is not None: + pulumi.set(__self__, "ramp_down_force_logoff_users", ramp_down_force_logoff_users) + if ramp_down_load_balancing_algorithm is not None: + pulumi.set(__self__, "ramp_down_load_balancing_algorithm", ramp_down_load_balancing_algorithm) + if ramp_down_minimum_hosts_pct is not None: + pulumi.set(__self__, "ramp_down_minimum_hosts_pct", ramp_down_minimum_hosts_pct) + if ramp_down_notification_message is not None: + pulumi.set(__self__, "ramp_down_notification_message", ramp_down_notification_message) + if ramp_down_start_time is not None: + pulumi.set(__self__, "ramp_down_start_time", ramp_down_start_time) + if ramp_down_stop_hosts_when is not None: + pulumi.set(__self__, "ramp_down_stop_hosts_when", ramp_down_stop_hosts_when) + if ramp_down_wait_time_minutes is not None: + pulumi.set(__self__, "ramp_down_wait_time_minutes", ramp_down_wait_time_minutes) + if ramp_up_capacity_threshold_pct is not None: + pulumi.set(__self__, "ramp_up_capacity_threshold_pct", ramp_up_capacity_threshold_pct) + if ramp_up_load_balancing_algorithm is not None: + pulumi.set(__self__, "ramp_up_load_balancing_algorithm", ramp_up_load_balancing_algorithm) + if ramp_up_minimum_hosts_pct is not None: + pulumi.set(__self__, "ramp_up_minimum_hosts_pct", ramp_up_minimum_hosts_pct) + if ramp_up_start_time is not None: + pulumi.set(__self__, "ramp_up_start_time", ramp_up_start_time) + + @property + @pulumi.getter(name="daysOfWeek") + def days_of_week(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Set of days of the week on which this schedule is active. + """ + return pulumi.get(self, "days_of_week") + + @days_of_week.setter + def days_of_week(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "days_of_week", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the ScalingPlanPooledSchedule. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="offPeakLoadBalancingAlgorithm") + def off_peak_load_balancing_algorithm(self) -> Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]: + """ + Load balancing algorithm for off-peak period. + """ + return pulumi.get(self, "off_peak_load_balancing_algorithm") + + @off_peak_load_balancing_algorithm.setter + def off_peak_load_balancing_algorithm(self, value: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]): + pulumi.set(self, "off_peak_load_balancing_algorithm", value) + + @property + @pulumi.getter(name="offPeakStartTime") + def off_peak_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for off-peak period. + """ + return pulumi.get(self, "off_peak_start_time") + + @off_peak_start_time.setter + def off_peak_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "off_peak_start_time", value) + + @property + @pulumi.getter(name="peakLoadBalancingAlgorithm") + def peak_load_balancing_algorithm(self) -> Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]: + """ + Load balancing algorithm for peak period. + """ + return pulumi.get(self, "peak_load_balancing_algorithm") + + @peak_load_balancing_algorithm.setter + def peak_load_balancing_algorithm(self, value: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]): + pulumi.set(self, "peak_load_balancing_algorithm", value) + + @property + @pulumi.getter(name="peakStartTime") + def peak_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for peak period. + """ + return pulumi.get(self, "peak_start_time") + + @peak_start_time.setter + def peak_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "peak_start_time", value) + + @property + @pulumi.getter(name="rampDownCapacityThresholdPct") + def ramp_down_capacity_threshold_pct(self) -> Optional[pulumi.Input[int]]: + """ + Capacity threshold for ramp down period. + """ + return pulumi.get(self, "ramp_down_capacity_threshold_pct") + + @ramp_down_capacity_threshold_pct.setter + def ramp_down_capacity_threshold_pct(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_down_capacity_threshold_pct", value) + + @property + @pulumi.getter(name="rampDownForceLogoffUsers") + def ramp_down_force_logoff_users(self) -> Optional[pulumi.Input[bool]]: + """ + Should users be logged off forcefully from hosts. + """ + return pulumi.get(self, "ramp_down_force_logoff_users") + + @ramp_down_force_logoff_users.setter + def ramp_down_force_logoff_users(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "ramp_down_force_logoff_users", value) + + @property + @pulumi.getter(name="rampDownLoadBalancingAlgorithm") + def ramp_down_load_balancing_algorithm(self) -> Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]: + """ + Load balancing algorithm for ramp down period. + """ + return pulumi.get(self, "ramp_down_load_balancing_algorithm") + + @ramp_down_load_balancing_algorithm.setter + def ramp_down_load_balancing_algorithm(self, value: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]): + pulumi.set(self, "ramp_down_load_balancing_algorithm", value) + + @property + @pulumi.getter(name="rampDownMinimumHostsPct") + def ramp_down_minimum_hosts_pct(self) -> Optional[pulumi.Input[int]]: + """ + Minimum host percentage for ramp down period. + """ + return pulumi.get(self, "ramp_down_minimum_hosts_pct") + + @ramp_down_minimum_hosts_pct.setter + def ramp_down_minimum_hosts_pct(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_down_minimum_hosts_pct", value) + + @property + @pulumi.getter(name="rampDownNotificationMessage") + def ramp_down_notification_message(self) -> Optional[pulumi.Input[str]]: + """ + Notification message for users during ramp down period. + """ + return pulumi.get(self, "ramp_down_notification_message") + + @ramp_down_notification_message.setter + def ramp_down_notification_message(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ramp_down_notification_message", value) + + @property + @pulumi.getter(name="rampDownStartTime") + def ramp_down_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for ramp down period. + """ + return pulumi.get(self, "ramp_down_start_time") + + @ramp_down_start_time.setter + def ramp_down_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "ramp_down_start_time", value) + + @property + @pulumi.getter(name="rampDownStopHostsWhen") + def ramp_down_stop_hosts_when(self) -> Optional[pulumi.Input[Union[str, 'StopHostsWhen']]]: + """ + Specifies when to stop hosts during ramp down period. + """ + return pulumi.get(self, "ramp_down_stop_hosts_when") + + @ramp_down_stop_hosts_when.setter + def ramp_down_stop_hosts_when(self, value: Optional[pulumi.Input[Union[str, 'StopHostsWhen']]]): + pulumi.set(self, "ramp_down_stop_hosts_when", value) + + @property + @pulumi.getter(name="rampDownWaitTimeMinutes") + def ramp_down_wait_time_minutes(self) -> Optional[pulumi.Input[int]]: + """ + Number of minutes to wait to stop hosts during ramp down period. + """ + return pulumi.get(self, "ramp_down_wait_time_minutes") + + @ramp_down_wait_time_minutes.setter + def ramp_down_wait_time_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_down_wait_time_minutes", value) + + @property + @pulumi.getter(name="rampUpCapacityThresholdPct") + def ramp_up_capacity_threshold_pct(self) -> Optional[pulumi.Input[int]]: + """ + Capacity threshold for ramp up period. + """ + return pulumi.get(self, "ramp_up_capacity_threshold_pct") + + @ramp_up_capacity_threshold_pct.setter + def ramp_up_capacity_threshold_pct(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_up_capacity_threshold_pct", value) + + @property + @pulumi.getter(name="rampUpLoadBalancingAlgorithm") + def ramp_up_load_balancing_algorithm(self) -> Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]: + """ + Load balancing algorithm for ramp up period. + """ + return pulumi.get(self, "ramp_up_load_balancing_algorithm") + + @ramp_up_load_balancing_algorithm.setter + def ramp_up_load_balancing_algorithm(self, value: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]): + pulumi.set(self, "ramp_up_load_balancing_algorithm", value) + + @property + @pulumi.getter(name="rampUpMinimumHostsPct") + def ramp_up_minimum_hosts_pct(self) -> Optional[pulumi.Input[int]]: + """ + Minimum host percentage for ramp up period. + """ + return pulumi.get(self, "ramp_up_minimum_hosts_pct") + + @ramp_up_minimum_hosts_pct.setter + def ramp_up_minimum_hosts_pct(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_up_minimum_hosts_pct", value) + + @property + @pulumi.getter(name="rampUpStartTime") + def ramp_up_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for ramp up period. + """ + return pulumi.get(self, "ramp_up_start_time") + + @ramp_up_start_time.setter + def ramp_up_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "ramp_up_start_time", value) + + +@pulumi.input_type +class TimeArgs: + def __init__(__self__, *, + hour: pulumi.Input[int], + minute: pulumi.Input[int]): + """ + The time for a scaling action to occur. + :param pulumi.Input[int] hour: The hour. + :param pulumi.Input[int] minute: The minute. + """ + pulumi.set(__self__, "hour", hour) + pulumi.set(__self__, "minute", minute) + + @property + @pulumi.getter + def hour(self) -> pulumi.Input[int]: + """ + The hour. + """ + return pulumi.get(self, "hour") + + @hour.setter + def hour(self, value: pulumi.Input[int]): + pulumi.set(self, "hour", value) + + @property + @pulumi.getter + def minute(self) -> pulumi.Input[int]: + """ + The minute. + """ + return pulumi.get(self, "minute") + + @minute.setter + def minute(self, value: pulumi.Input[int]): + pulumi.set(self, "minute", value) + + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/application.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/application.py new file mode 100644 index 000000000000..86eb129a9cfd --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/application.py @@ -0,0 +1,536 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = ['ApplicationArgs', 'Application'] + +@pulumi.input_type +class ApplicationArgs: + def __init__(__self__, *, + application_group_name: pulumi.Input[str], + command_line_setting: pulumi.Input[Union[str, 'CommandLineSetting']], + resource_group_name: pulumi.Input[str], + application_name: Optional[pulumi.Input[str]] = None, + application_type: Optional[pulumi.Input[Union[str, 'RemoteApplicationType']]] = None, + command_line_arguments: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + file_path: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + icon_index: Optional[pulumi.Input[int]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + msix_package_application_id: Optional[pulumi.Input[str]] = None, + msix_package_family_name: Optional[pulumi.Input[str]] = None, + show_in_portal: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a Application resource. + :param pulumi.Input[str] application_group_name: The name of the application group + :param pulumi.Input[Union[str, 'CommandLineSetting']] command_line_setting: Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] application_name: The name of the application within the specified application group + :param pulumi.Input[Union[str, 'RemoteApplicationType']] application_type: Resource Type of Application. + :param pulumi.Input[str] command_line_arguments: Command Line Arguments for Application. + :param pulumi.Input[str] description: Description of Application. + :param pulumi.Input[str] file_path: Specifies a path for the executable file for the application. + :param pulumi.Input[str] friendly_name: Friendly name of Application. + :param pulumi.Input[int] icon_index: Index of the icon. + :param pulumi.Input[str] icon_path: Path to icon. + :param pulumi.Input[str] msix_package_application_id: Specifies the package application Id for MSIX applications + :param pulumi.Input[str] msix_package_family_name: Specifies the package family name for MSIX applications + :param pulumi.Input[bool] show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access server. + """ + pulumi.set(__self__, "application_group_name", application_group_name) + pulumi.set(__self__, "command_line_setting", command_line_setting) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if application_name is not None: + pulumi.set(__self__, "application_name", application_name) + if application_type is not None: + pulumi.set(__self__, "application_type", application_type) + if command_line_arguments is not None: + pulumi.set(__self__, "command_line_arguments", command_line_arguments) + if description is not None: + pulumi.set(__self__, "description", description) + if file_path is not None: + pulumi.set(__self__, "file_path", file_path) + if friendly_name is not None: + pulumi.set(__self__, "friendly_name", friendly_name) + if icon_index is not None: + pulumi.set(__self__, "icon_index", icon_index) + if icon_path is not None: + pulumi.set(__self__, "icon_path", icon_path) + if msix_package_application_id is not None: + pulumi.set(__self__, "msix_package_application_id", msix_package_application_id) + if msix_package_family_name is not None: + pulumi.set(__self__, "msix_package_family_name", msix_package_family_name) + if show_in_portal is not None: + pulumi.set(__self__, "show_in_portal", show_in_portal) + + @property + @pulumi.getter(name="applicationGroupName") + def application_group_name(self) -> pulumi.Input[str]: + """ + The name of the application group + """ + return pulumi.get(self, "application_group_name") + + @application_group_name.setter + def application_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "application_group_name", value) + + @property + @pulumi.getter(name="commandLineSetting") + def command_line_setting(self) -> pulumi.Input[Union[str, 'CommandLineSetting']]: + """ + Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + """ + return pulumi.get(self, "command_line_setting") + + @command_line_setting.setter + def command_line_setting(self, value: pulumi.Input[Union[str, 'CommandLineSetting']]): + pulumi.set(self, "command_line_setting", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="applicationName") + def application_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the application within the specified application group + """ + return pulumi.get(self, "application_name") + + @application_name.setter + def application_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "application_name", value) + + @property + @pulumi.getter(name="applicationType") + def application_type(self) -> Optional[pulumi.Input[Union[str, 'RemoteApplicationType']]]: + """ + Resource Type of Application. + """ + return pulumi.get(self, "application_type") + + @application_type.setter + def application_type(self, value: Optional[pulumi.Input[Union[str, 'RemoteApplicationType']]]): + pulumi.set(self, "application_type", value) + + @property + @pulumi.getter(name="commandLineArguments") + def command_line_arguments(self) -> Optional[pulumi.Input[str]]: + """ + Command Line Arguments for Application. + """ + return pulumi.get(self, "command_line_arguments") + + @command_line_arguments.setter + def command_line_arguments(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "command_line_arguments", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of Application. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="filePath") + def file_path(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a path for the executable file for the application. + """ + return pulumi.get(self, "file_path") + + @file_path.setter + def file_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "file_path", value) + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> Optional[pulumi.Input[str]]: + """ + Friendly name of Application. + """ + return pulumi.get(self, "friendly_name") + + @friendly_name.setter + def friendly_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "friendly_name", value) + + @property + @pulumi.getter(name="iconIndex") + def icon_index(self) -> Optional[pulumi.Input[int]]: + """ + Index of the icon. + """ + return pulumi.get(self, "icon_index") + + @icon_index.setter + def icon_index(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "icon_index", value) + + @property + @pulumi.getter(name="iconPath") + def icon_path(self) -> Optional[pulumi.Input[str]]: + """ + Path to icon. + """ + return pulumi.get(self, "icon_path") + + @icon_path.setter + def icon_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "icon_path", value) + + @property + @pulumi.getter(name="msixPackageApplicationId") + def msix_package_application_id(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the package application Id for MSIX applications + """ + return pulumi.get(self, "msix_package_application_id") + + @msix_package_application_id.setter + def msix_package_application_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "msix_package_application_id", value) + + @property + @pulumi.getter(name="msixPackageFamilyName") + def msix_package_family_name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the package family name for MSIX applications + """ + return pulumi.get(self, "msix_package_family_name") + + @msix_package_family_name.setter + def msix_package_family_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "msix_package_family_name", value) + + @property + @pulumi.getter(name="showInPortal") + def show_in_portal(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether to show the RemoteApp program in the RD Web Access server. + """ + return pulumi.get(self, "show_in_portal") + + @show_in_portal.setter + def show_in_portal(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "show_in_portal", value) + + +class Application(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + application_group_name: Optional[pulumi.Input[str]] = None, + application_name: Optional[pulumi.Input[str]] = None, + application_type: Optional[pulumi.Input[Union[str, 'RemoteApplicationType']]] = None, + command_line_arguments: Optional[pulumi.Input[str]] = None, + command_line_setting: Optional[pulumi.Input[Union[str, 'CommandLineSetting']]] = None, + description: Optional[pulumi.Input[str]] = None, + file_path: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + icon_index: Optional[pulumi.Input[int]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + msix_package_application_id: Optional[pulumi.Input[str]] = None, + msix_package_family_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + show_in_portal: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Schema for Application properties. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] application_group_name: The name of the application group + :param pulumi.Input[str] application_name: The name of the application within the specified application group + :param pulumi.Input[Union[str, 'RemoteApplicationType']] application_type: Resource Type of Application. + :param pulumi.Input[str] command_line_arguments: Command Line Arguments for Application. + :param pulumi.Input[Union[str, 'CommandLineSetting']] command_line_setting: Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + :param pulumi.Input[str] description: Description of Application. + :param pulumi.Input[str] file_path: Specifies a path for the executable file for the application. + :param pulumi.Input[str] friendly_name: Friendly name of Application. + :param pulumi.Input[int] icon_index: Index of the icon. + :param pulumi.Input[str] icon_path: Path to icon. + :param pulumi.Input[str] msix_package_application_id: Specifies the package application Id for MSIX applications + :param pulumi.Input[str] msix_package_family_name: Specifies the package family name for MSIX applications + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[bool] show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access server. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ApplicationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Schema for Application properties. + + :param str resource_name: The name of the resource. + :param ApplicationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ApplicationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + application_group_name: Optional[pulumi.Input[str]] = None, + application_name: Optional[pulumi.Input[str]] = None, + application_type: Optional[pulumi.Input[Union[str, 'RemoteApplicationType']]] = None, + command_line_arguments: Optional[pulumi.Input[str]] = None, + command_line_setting: Optional[pulumi.Input[Union[str, 'CommandLineSetting']]] = None, + description: Optional[pulumi.Input[str]] = None, + file_path: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + icon_index: Optional[pulumi.Input[int]] = None, + icon_path: Optional[pulumi.Input[str]] = None, + msix_package_application_id: Optional[pulumi.Input[str]] = None, + msix_package_family_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + show_in_portal: Optional[pulumi.Input[bool]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ApplicationArgs.__new__(ApplicationArgs) + + if application_group_name is None and not opts.urn: + raise TypeError("Missing required property 'application_group_name'") + __props__.__dict__["application_group_name"] = application_group_name + __props__.__dict__["application_name"] = application_name + __props__.__dict__["application_type"] = application_type + __props__.__dict__["command_line_arguments"] = command_line_arguments + if command_line_setting is None and not opts.urn: + raise TypeError("Missing required property 'command_line_setting'") + __props__.__dict__["command_line_setting"] = command_line_setting + __props__.__dict__["description"] = description + __props__.__dict__["file_path"] = file_path + __props__.__dict__["friendly_name"] = friendly_name + __props__.__dict__["icon_index"] = icon_index + __props__.__dict__["icon_path"] = icon_path + __props__.__dict__["msix_package_application_id"] = msix_package_application_id + __props__.__dict__["msix_package_family_name"] = msix_package_family_name + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["show_in_portal"] = show_in_portal + __props__.__dict__["icon_content"] = None + __props__.__dict__["icon_hash"] = None + __props__.__dict__["name"] = None + __props__.__dict__["object_id"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:Application"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:Application")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Application, __self__).__init__( + 'azure-native:desktopvirtualization/v20230707preview:Application', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Application': + """ + Get an existing Application resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ApplicationArgs.__new__(ApplicationArgs) + + __props__.__dict__["application_type"] = None + __props__.__dict__["command_line_arguments"] = None + __props__.__dict__["command_line_setting"] = None + __props__.__dict__["description"] = None + __props__.__dict__["file_path"] = None + __props__.__dict__["friendly_name"] = None + __props__.__dict__["icon_content"] = None + __props__.__dict__["icon_hash"] = None + __props__.__dict__["icon_index"] = None + __props__.__dict__["icon_path"] = None + __props__.__dict__["msix_package_application_id"] = None + __props__.__dict__["msix_package_family_name"] = None + __props__.__dict__["name"] = None + __props__.__dict__["object_id"] = None + __props__.__dict__["show_in_portal"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + return Application(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="applicationType") + def application_type(self) -> pulumi.Output[Optional[str]]: + """ + Resource Type of Application. + """ + return pulumi.get(self, "application_type") + + @property + @pulumi.getter(name="commandLineArguments") + def command_line_arguments(self) -> pulumi.Output[Optional[str]]: + """ + Command Line Arguments for Application. + """ + return pulumi.get(self, "command_line_arguments") + + @property + @pulumi.getter(name="commandLineSetting") + def command_line_setting(self) -> pulumi.Output[str]: + """ + Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + """ + return pulumi.get(self, "command_line_setting") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description of Application. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="filePath") + def file_path(self) -> pulumi.Output[Optional[str]]: + """ + Specifies a path for the executable file for the application. + """ + return pulumi.get(self, "file_path") + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> pulumi.Output[Optional[str]]: + """ + Friendly name of Application. + """ + return pulumi.get(self, "friendly_name") + + @property + @pulumi.getter(name="iconContent") + def icon_content(self) -> pulumi.Output[str]: + """ + the icon a 64 bit string as a byte array. + """ + return pulumi.get(self, "icon_content") + + @property + @pulumi.getter(name="iconHash") + def icon_hash(self) -> pulumi.Output[str]: + """ + Hash of the icon. + """ + return pulumi.get(self, "icon_hash") + + @property + @pulumi.getter(name="iconIndex") + def icon_index(self) -> pulumi.Output[Optional[int]]: + """ + Index of the icon. + """ + return pulumi.get(self, "icon_index") + + @property + @pulumi.getter(name="iconPath") + def icon_path(self) -> pulumi.Output[Optional[str]]: + """ + Path to icon. + """ + return pulumi.get(self, "icon_path") + + @property + @pulumi.getter(name="msixPackageApplicationId") + def msix_package_application_id(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the package application Id for MSIX applications + """ + return pulumi.get(self, "msix_package_application_id") + + @property + @pulumi.getter(name="msixPackageFamilyName") + def msix_package_family_name(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the package family name for MSIX applications + """ + return pulumi.get(self, "msix_package_family_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> pulumi.Output[str]: + """ + ObjectId of Application. (internal use) + """ + return pulumi.get(self, "object_id") + + @property + @pulumi.getter(name="showInPortal") + def show_in_portal(self) -> pulumi.Output[Optional[bool]]: + """ + Specifies whether to show the RemoteApp program in the RD Web Access server. + """ + return pulumi.get(self, "show_in_portal") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/application_group.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/application_group.py new file mode 100644 index 000000000000..e961c6d9cb64 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/application_group.py @@ -0,0 +1,532 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ApplicationGroupArgs', 'ApplicationGroup'] + +@pulumi.input_type +class ApplicationGroupArgs: + def __init__(__self__, *, + application_group_type: pulumi.Input[Union[str, 'ApplicationGroupType']], + host_pool_arm_path: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + application_group_name: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetIdentityArgs']] = None, + kind: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + managed_by: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetPlanArgs']] = None, + show_in_feed: Optional[pulumi.Input[bool]] = None, + sku: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetSkuArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a ApplicationGroup resource. + :param pulumi.Input[Union[str, 'ApplicationGroupType']] application_group_type: Resource Type of ApplicationGroup. + :param pulumi.Input[str] host_pool_arm_path: HostPool arm path of ApplicationGroup. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] application_group_name: The name of the application group + :param pulumi.Input[str] description: Description of ApplicationGroup. + :param pulumi.Input[str] friendly_name: Friendly name of ApplicationGroup. + :param pulumi.Input[str] kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + :param pulumi.Input[bool] show_in_feed: Boolean representing whether the applicationGroup is show in the feed. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + pulumi.set(__self__, "application_group_type", application_group_type) + pulumi.set(__self__, "host_pool_arm_path", host_pool_arm_path) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if application_group_name is not None: + pulumi.set(__self__, "application_group_name", application_group_name) + if description is not None: + pulumi.set(__self__, "description", description) + if friendly_name is not None: + pulumi.set(__self__, "friendly_name", friendly_name) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if kind is not None: + pulumi.set(__self__, "kind", kind) + if location is not None: + pulumi.set(__self__, "location", location) + if managed_by is not None: + pulumi.set(__self__, "managed_by", managed_by) + if plan is not None: + pulumi.set(__self__, "plan", plan) + if show_in_feed is not None: + pulumi.set(__self__, "show_in_feed", show_in_feed) + if sku is not None: + pulumi.set(__self__, "sku", sku) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="applicationGroupType") + def application_group_type(self) -> pulumi.Input[Union[str, 'ApplicationGroupType']]: + """ + Resource Type of ApplicationGroup. + """ + return pulumi.get(self, "application_group_type") + + @application_group_type.setter + def application_group_type(self, value: pulumi.Input[Union[str, 'ApplicationGroupType']]): + pulumi.set(self, "application_group_type", value) + + @property + @pulumi.getter(name="hostPoolArmPath") + def host_pool_arm_path(self) -> pulumi.Input[str]: + """ + HostPool arm path of ApplicationGroup. + """ + return pulumi.get(self, "host_pool_arm_path") + + @host_pool_arm_path.setter + def host_pool_arm_path(self, value: pulumi.Input[str]): + pulumi.set(self, "host_pool_arm_path", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="applicationGroupName") + def application_group_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the application group + """ + return pulumi.get(self, "application_group_name") + + @application_group_name.setter + def application_group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "application_group_name", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of ApplicationGroup. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> Optional[pulumi.Input[str]]: + """ + Friendly name of ApplicationGroup. + """ + return pulumi.get(self, "friendly_name") + + @friendly_name.setter + def friendly_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "friendly_name", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['ResourceModelWithAllowedPropertySetIdentityArgs']]: + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def kind(self) -> Optional[pulumi.Input[str]]: + """ + Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> Optional[pulumi.Input[str]]: + """ + The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + """ + return pulumi.get(self, "managed_by") + + @managed_by.setter + def managed_by(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "managed_by", value) + + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['ResourceModelWithAllowedPropertySetPlanArgs']]: + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetPlanArgs']]): + pulumi.set(self, "plan", value) + + @property + @pulumi.getter(name="showInFeed") + def show_in_feed(self) -> Optional[pulumi.Input[bool]]: + """ + Boolean representing whether the applicationGroup is show in the feed. + """ + return pulumi.get(self, "show_in_feed") + + @show_in_feed.setter + def show_in_feed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "show_in_feed", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input['ResourceModelWithAllowedPropertySetSkuArgs']]: + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetSkuArgs']]): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class ApplicationGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + application_group_name: Optional[pulumi.Input[str]] = None, + application_group_type: Optional[pulumi.Input[Union[str, 'ApplicationGroupType']]] = None, + description: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + host_pool_arm_path: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetIdentityArgs']]] = None, + kind: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + managed_by: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetPlanArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + show_in_feed: Optional[pulumi.Input[bool]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetSkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Represents a ApplicationGroup definition. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] application_group_name: The name of the application group + :param pulumi.Input[Union[str, 'ApplicationGroupType']] application_group_type: Resource Type of ApplicationGroup. + :param pulumi.Input[str] description: Description of ApplicationGroup. + :param pulumi.Input[str] friendly_name: Friendly name of ApplicationGroup. + :param pulumi.Input[str] host_pool_arm_path: HostPool arm path of ApplicationGroup. + :param pulumi.Input[str] kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[bool] show_in_feed: Boolean representing whether the applicationGroup is show in the feed. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ApplicationGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Represents a ApplicationGroup definition. + + :param str resource_name: The name of the resource. + :param ApplicationGroupArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ApplicationGroupArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + application_group_name: Optional[pulumi.Input[str]] = None, + application_group_type: Optional[pulumi.Input[Union[str, 'ApplicationGroupType']]] = None, + description: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + host_pool_arm_path: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetIdentityArgs']]] = None, + kind: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + managed_by: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetPlanArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + show_in_feed: Optional[pulumi.Input[bool]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetSkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ApplicationGroupArgs.__new__(ApplicationGroupArgs) + + __props__.__dict__["application_group_name"] = application_group_name + if application_group_type is None and not opts.urn: + raise TypeError("Missing required property 'application_group_type'") + __props__.__dict__["application_group_type"] = application_group_type + __props__.__dict__["description"] = description + __props__.__dict__["friendly_name"] = friendly_name + if host_pool_arm_path is None and not opts.urn: + raise TypeError("Missing required property 'host_pool_arm_path'") + __props__.__dict__["host_pool_arm_path"] = host_pool_arm_path + __props__.__dict__["identity"] = identity + __props__.__dict__["kind"] = kind + __props__.__dict__["location"] = location + __props__.__dict__["managed_by"] = managed_by + __props__.__dict__["plan"] = plan + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["show_in_feed"] = show_in_feed + __props__.__dict__["sku"] = sku + __props__.__dict__["tags"] = tags + __props__.__dict__["cloud_pc_resource"] = None + __props__.__dict__["etag"] = None + __props__.__dict__["name"] = None + __props__.__dict__["object_id"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + __props__.__dict__["workspace_arm_path"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ApplicationGroup"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ApplicationGroup")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(ApplicationGroup, __self__).__init__( + 'azure-native:desktopvirtualization/v20230707preview:ApplicationGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ApplicationGroup': + """ + Get an existing ApplicationGroup resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ApplicationGroupArgs.__new__(ApplicationGroupArgs) + + __props__.__dict__["application_group_type"] = None + __props__.__dict__["cloud_pc_resource"] = None + __props__.__dict__["description"] = None + __props__.__dict__["etag"] = None + __props__.__dict__["friendly_name"] = None + __props__.__dict__["host_pool_arm_path"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["kind"] = None + __props__.__dict__["location"] = None + __props__.__dict__["managed_by"] = None + __props__.__dict__["name"] = None + __props__.__dict__["object_id"] = None + __props__.__dict__["plan"] = None + __props__.__dict__["show_in_feed"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["workspace_arm_path"] = None + return ApplicationGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="applicationGroupType") + def application_group_type(self) -> pulumi.Output[str]: + """ + Resource Type of ApplicationGroup. + """ + return pulumi.get(self, "application_group_type") + + @property + @pulumi.getter(name="cloudPcResource") + def cloud_pc_resource(self) -> pulumi.Output[bool]: + """ + Is cloud pc resource. + """ + return pulumi.get(self, "cloud_pc_resource") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description of ApplicationGroup. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def etag(self) -> pulumi.Output[str]: + """ + The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> pulumi.Output[Optional[str]]: + """ + Friendly name of ApplicationGroup. + """ + return pulumi.get(self, "friendly_name") + + @property + @pulumi.getter(name="hostPoolArmPath") + def host_pool_arm_path(self) -> pulumi.Output[str]: + """ + HostPool arm path of ApplicationGroup. + """ + return pulumi.get(self, "host_pool_arm_path") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.ResourceModelWithAllowedPropertySetResponseIdentity']]: + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def kind(self) -> pulumi.Output[Optional[str]]: + """ + Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[Optional[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> pulumi.Output[Optional[str]]: + """ + The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + """ + return pulumi.get(self, "managed_by") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> pulumi.Output[str]: + """ + ObjectId of ApplicationGroup. (internal use) + """ + return pulumi.get(self, "object_id") + + @property + @pulumi.getter + def plan(self) -> pulumi.Output[Optional['outputs.ResourceModelWithAllowedPropertySetResponsePlan']]: + return pulumi.get(self, "plan") + + @property + @pulumi.getter(name="showInFeed") + def show_in_feed(self) -> pulumi.Output[Optional[bool]]: + """ + Boolean representing whether the applicationGroup is show in the feed. + """ + return pulumi.get(self, "show_in_feed") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output[Optional['outputs.ResourceModelWithAllowedPropertySetResponseSku']]: + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="workspaceArmPath") + def workspace_arm_path(self) -> pulumi.Output[str]: + """ + Workspace arm path of ApplicationGroup. + """ + return pulumi.get(self, "workspace_arm_path") + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_application.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_application.py new file mode 100644 index 000000000000..7f751fc1dcb2 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_application.py @@ -0,0 +1,305 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetApplicationResult', + 'AwaitableGetApplicationResult', + 'get_application', + 'get_application_output', +] + +@pulumi.output_type +class GetApplicationResult: + """ + Schema for Application properties. + """ + def __init__(__self__, application_type=None, command_line_arguments=None, command_line_setting=None, description=None, file_path=None, friendly_name=None, icon_content=None, icon_hash=None, icon_index=None, icon_path=None, id=None, msix_package_application_id=None, msix_package_family_name=None, name=None, object_id=None, show_in_portal=None, system_data=None, type=None): + if application_type and not isinstance(application_type, str): + raise TypeError("Expected argument 'application_type' to be a str") + pulumi.set(__self__, "application_type", application_type) + if command_line_arguments and not isinstance(command_line_arguments, str): + raise TypeError("Expected argument 'command_line_arguments' to be a str") + pulumi.set(__self__, "command_line_arguments", command_line_arguments) + if command_line_setting and not isinstance(command_line_setting, str): + raise TypeError("Expected argument 'command_line_setting' to be a str") + pulumi.set(__self__, "command_line_setting", command_line_setting) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if file_path and not isinstance(file_path, str): + raise TypeError("Expected argument 'file_path' to be a str") + pulumi.set(__self__, "file_path", file_path) + if friendly_name and not isinstance(friendly_name, str): + raise TypeError("Expected argument 'friendly_name' to be a str") + pulumi.set(__self__, "friendly_name", friendly_name) + if icon_content and not isinstance(icon_content, str): + raise TypeError("Expected argument 'icon_content' to be a str") + pulumi.set(__self__, "icon_content", icon_content) + if icon_hash and not isinstance(icon_hash, str): + raise TypeError("Expected argument 'icon_hash' to be a str") + pulumi.set(__self__, "icon_hash", icon_hash) + if icon_index and not isinstance(icon_index, int): + raise TypeError("Expected argument 'icon_index' to be a int") + pulumi.set(__self__, "icon_index", icon_index) + if icon_path and not isinstance(icon_path, str): + raise TypeError("Expected argument 'icon_path' to be a str") + pulumi.set(__self__, "icon_path", icon_path) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if msix_package_application_id and not isinstance(msix_package_application_id, str): + raise TypeError("Expected argument 'msix_package_application_id' to be a str") + pulumi.set(__self__, "msix_package_application_id", msix_package_application_id) + if msix_package_family_name and not isinstance(msix_package_family_name, str): + raise TypeError("Expected argument 'msix_package_family_name' to be a str") + pulumi.set(__self__, "msix_package_family_name", msix_package_family_name) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if object_id and not isinstance(object_id, str): + raise TypeError("Expected argument 'object_id' to be a str") + pulumi.set(__self__, "object_id", object_id) + if show_in_portal and not isinstance(show_in_portal, bool): + raise TypeError("Expected argument 'show_in_portal' to be a bool") + pulumi.set(__self__, "show_in_portal", show_in_portal) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="applicationType") + def application_type(self) -> Optional[str]: + """ + Resource Type of Application. + """ + return pulumi.get(self, "application_type") + + @property + @pulumi.getter(name="commandLineArguments") + def command_line_arguments(self) -> Optional[str]: + """ + Command Line Arguments for Application. + """ + return pulumi.get(self, "command_line_arguments") + + @property + @pulumi.getter(name="commandLineSetting") + def command_line_setting(self) -> str: + """ + Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. + """ + return pulumi.get(self, "command_line_setting") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + Description of Application. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="filePath") + def file_path(self) -> Optional[str]: + """ + Specifies a path for the executable file for the application. + """ + return pulumi.get(self, "file_path") + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> Optional[str]: + """ + Friendly name of Application. + """ + return pulumi.get(self, "friendly_name") + + @property + @pulumi.getter(name="iconContent") + def icon_content(self) -> str: + """ + the icon a 64 bit string as a byte array. + """ + return pulumi.get(self, "icon_content") + + @property + @pulumi.getter(name="iconHash") + def icon_hash(self) -> str: + """ + Hash of the icon. + """ + return pulumi.get(self, "icon_hash") + + @property + @pulumi.getter(name="iconIndex") + def icon_index(self) -> Optional[int]: + """ + Index of the icon. + """ + return pulumi.get(self, "icon_index") + + @property + @pulumi.getter(name="iconPath") + def icon_path(self) -> Optional[str]: + """ + Path to icon. + """ + return pulumi.get(self, "icon_path") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="msixPackageApplicationId") + def msix_package_application_id(self) -> Optional[str]: + """ + Specifies the package application Id for MSIX applications + """ + return pulumi.get(self, "msix_package_application_id") + + @property + @pulumi.getter(name="msixPackageFamilyName") + def msix_package_family_name(self) -> Optional[str]: + """ + Specifies the package family name for MSIX applications + """ + return pulumi.get(self, "msix_package_family_name") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> str: + """ + ObjectId of Application. (internal use) + """ + return pulumi.get(self, "object_id") + + @property + @pulumi.getter(name="showInPortal") + def show_in_portal(self) -> Optional[bool]: + """ + Specifies whether to show the RemoteApp program in the RD Web Access server. + """ + return pulumi.get(self, "show_in_portal") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetApplicationResult(GetApplicationResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetApplicationResult( + application_type=self.application_type, + command_line_arguments=self.command_line_arguments, + command_line_setting=self.command_line_setting, + description=self.description, + file_path=self.file_path, + friendly_name=self.friendly_name, + icon_content=self.icon_content, + icon_hash=self.icon_hash, + icon_index=self.icon_index, + icon_path=self.icon_path, + id=self.id, + msix_package_application_id=self.msix_package_application_id, + msix_package_family_name=self.msix_package_family_name, + name=self.name, + object_id=self.object_id, + show_in_portal=self.show_in_portal, + system_data=self.system_data, + type=self.type) + + +def get_application(application_group_name: Optional[str] = None, + application_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetApplicationResult: + """ + Get an application. + + + :param str application_group_name: The name of the application group + :param str application_name: The name of the application within the specified application group + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['applicationGroupName'] = application_group_name + __args__['applicationName'] = application_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:desktopvirtualization/v20230707preview:getApplication', __args__, opts=opts, typ=GetApplicationResult).value + + return AwaitableGetApplicationResult( + application_type=__ret__.application_type, + command_line_arguments=__ret__.command_line_arguments, + command_line_setting=__ret__.command_line_setting, + description=__ret__.description, + file_path=__ret__.file_path, + friendly_name=__ret__.friendly_name, + icon_content=__ret__.icon_content, + icon_hash=__ret__.icon_hash, + icon_index=__ret__.icon_index, + icon_path=__ret__.icon_path, + id=__ret__.id, + msix_package_application_id=__ret__.msix_package_application_id, + msix_package_family_name=__ret__.msix_package_family_name, + name=__ret__.name, + object_id=__ret__.object_id, + show_in_portal=__ret__.show_in_portal, + system_data=__ret__.system_data, + type=__ret__.type) + + +@_utilities.lift_output_func(get_application) +def get_application_output(application_group_name: Optional[pulumi.Input[str]] = None, + application_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationResult]: + """ + Get an application. + + + :param str application_group_name: The name of the application group + :param str application_name: The name of the application within the specified application group + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_application_group.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_application_group.py new file mode 100644 index 000000000000..0ed85e4efc26 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_application_group.py @@ -0,0 +1,317 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetApplicationGroupResult', + 'AwaitableGetApplicationGroupResult', + 'get_application_group', + 'get_application_group_output', +] + +@pulumi.output_type +class GetApplicationGroupResult: + """ + Represents a ApplicationGroup definition. + """ + def __init__(__self__, application_group_type=None, cloud_pc_resource=None, description=None, etag=None, friendly_name=None, host_pool_arm_path=None, id=None, identity=None, kind=None, location=None, managed_by=None, name=None, object_id=None, plan=None, show_in_feed=None, sku=None, system_data=None, tags=None, type=None, workspace_arm_path=None): + if application_group_type and not isinstance(application_group_type, str): + raise TypeError("Expected argument 'application_group_type' to be a str") + pulumi.set(__self__, "application_group_type", application_group_type) + if cloud_pc_resource and not isinstance(cloud_pc_resource, bool): + raise TypeError("Expected argument 'cloud_pc_resource' to be a bool") + pulumi.set(__self__, "cloud_pc_resource", cloud_pc_resource) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if etag and not isinstance(etag, str): + raise TypeError("Expected argument 'etag' to be a str") + pulumi.set(__self__, "etag", etag) + if friendly_name and not isinstance(friendly_name, str): + raise TypeError("Expected argument 'friendly_name' to be a str") + pulumi.set(__self__, "friendly_name", friendly_name) + if host_pool_arm_path and not isinstance(host_pool_arm_path, str): + raise TypeError("Expected argument 'host_pool_arm_path' to be a str") + pulumi.set(__self__, "host_pool_arm_path", host_pool_arm_path) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if kind and not isinstance(kind, str): + raise TypeError("Expected argument 'kind' to be a str") + pulumi.set(__self__, "kind", kind) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if managed_by and not isinstance(managed_by, str): + raise TypeError("Expected argument 'managed_by' to be a str") + pulumi.set(__self__, "managed_by", managed_by) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if object_id and not isinstance(object_id, str): + raise TypeError("Expected argument 'object_id' to be a str") + pulumi.set(__self__, "object_id", object_id) + if plan and not isinstance(plan, dict): + raise TypeError("Expected argument 'plan' to be a dict") + pulumi.set(__self__, "plan", plan) + if show_in_feed and not isinstance(show_in_feed, bool): + raise TypeError("Expected argument 'show_in_feed' to be a bool") + pulumi.set(__self__, "show_in_feed", show_in_feed) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if workspace_arm_path and not isinstance(workspace_arm_path, str): + raise TypeError("Expected argument 'workspace_arm_path' to be a str") + pulumi.set(__self__, "workspace_arm_path", workspace_arm_path) + + @property + @pulumi.getter(name="applicationGroupType") + def application_group_type(self) -> str: + """ + Resource Type of ApplicationGroup. + """ + return pulumi.get(self, "application_group_type") + + @property + @pulumi.getter(name="cloudPcResource") + def cloud_pc_resource(self) -> bool: + """ + Is cloud pc resource. + """ + return pulumi.get(self, "cloud_pc_resource") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + Description of ApplicationGroup. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def etag(self) -> str: + """ + The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> Optional[str]: + """ + Friendly name of ApplicationGroup. + """ + return pulumi.get(self, "friendly_name") + + @property + @pulumi.getter(name="hostPoolArmPath") + def host_pool_arm_path(self) -> str: + """ + HostPool arm path of ApplicationGroup. + """ + return pulumi.get(self, "host_pool_arm_path") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.ResourceModelWithAllowedPropertySetResponseIdentity']: + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def kind(self) -> Optional[str]: + """ + Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def location(self) -> Optional[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> Optional[str]: + """ + The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + """ + return pulumi.get(self, "managed_by") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> str: + """ + ObjectId of ApplicationGroup. (internal use) + """ + return pulumi.get(self, "object_id") + + @property + @pulumi.getter + def plan(self) -> Optional['outputs.ResourceModelWithAllowedPropertySetResponsePlan']: + return pulumi.get(self, "plan") + + @property + @pulumi.getter(name="showInFeed") + def show_in_feed(self) -> Optional[bool]: + """ + Boolean representing whether the applicationGroup is show in the feed. + """ + return pulumi.get(self, "show_in_feed") + + @property + @pulumi.getter + def sku(self) -> Optional['outputs.ResourceModelWithAllowedPropertySetResponseSku']: + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="workspaceArmPath") + def workspace_arm_path(self) -> str: + """ + Workspace arm path of ApplicationGroup. + """ + return pulumi.get(self, "workspace_arm_path") + + +class AwaitableGetApplicationGroupResult(GetApplicationGroupResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetApplicationGroupResult( + application_group_type=self.application_group_type, + cloud_pc_resource=self.cloud_pc_resource, + description=self.description, + etag=self.etag, + friendly_name=self.friendly_name, + host_pool_arm_path=self.host_pool_arm_path, + id=self.id, + identity=self.identity, + kind=self.kind, + location=self.location, + managed_by=self.managed_by, + name=self.name, + object_id=self.object_id, + plan=self.plan, + show_in_feed=self.show_in_feed, + sku=self.sku, + system_data=self.system_data, + tags=self.tags, + type=self.type, + workspace_arm_path=self.workspace_arm_path) + + +def get_application_group(application_group_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetApplicationGroupResult: + """ + Get an application group. + + + :param str application_group_name: The name of the application group + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['applicationGroupName'] = application_group_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:desktopvirtualization/v20230707preview:getApplicationGroup', __args__, opts=opts, typ=GetApplicationGroupResult).value + + return AwaitableGetApplicationGroupResult( + application_group_type=__ret__.application_group_type, + cloud_pc_resource=__ret__.cloud_pc_resource, + description=__ret__.description, + etag=__ret__.etag, + friendly_name=__ret__.friendly_name, + host_pool_arm_path=__ret__.host_pool_arm_path, + id=__ret__.id, + identity=__ret__.identity, + kind=__ret__.kind, + location=__ret__.location, + managed_by=__ret__.managed_by, + name=__ret__.name, + object_id=__ret__.object_id, + plan=__ret__.plan, + show_in_feed=__ret__.show_in_feed, + sku=__ret__.sku, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type, + workspace_arm_path=__ret__.workspace_arm_path) + + +@_utilities.lift_output_func(get_application_group) +def get_application_group_output(application_group_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetApplicationGroupResult]: + """ + Get an application group. + + + :param str application_group_name: The name of the application group + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_host_pool.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_host_pool.py new file mode 100644 index 000000000000..2e363b2f1c1f --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_host_pool.py @@ -0,0 +1,512 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetHostPoolResult', + 'AwaitableGetHostPoolResult', + 'get_host_pool', + 'get_host_pool_output', +] + +@pulumi.output_type +class GetHostPoolResult: + """ + Represents a HostPool definition. + """ + def __init__(__self__, agent_update=None, application_group_references=None, cloud_pc_resource=None, custom_rdp_property=None, description=None, etag=None, friendly_name=None, host_pool_type=None, id=None, identity=None, kind=None, load_balancer_type=None, location=None, managed_by=None, max_session_limit=None, name=None, object_id=None, personal_desktop_assignment_type=None, plan=None, preferred_app_group_type=None, private_endpoint_connections=None, public_network_access=None, registration_info=None, ring=None, sku=None, sso_client_id=None, sso_client_secret_key_vault_path=None, sso_secret_type=None, ssoadfs_authority=None, start_vm_on_connect=None, system_data=None, tags=None, type=None, validation_environment=None, vm_template=None): + if agent_update and not isinstance(agent_update, dict): + raise TypeError("Expected argument 'agent_update' to be a dict") + pulumi.set(__self__, "agent_update", agent_update) + if application_group_references and not isinstance(application_group_references, list): + raise TypeError("Expected argument 'application_group_references' to be a list") + pulumi.set(__self__, "application_group_references", application_group_references) + if cloud_pc_resource and not isinstance(cloud_pc_resource, bool): + raise TypeError("Expected argument 'cloud_pc_resource' to be a bool") + pulumi.set(__self__, "cloud_pc_resource", cloud_pc_resource) + if custom_rdp_property and not isinstance(custom_rdp_property, str): + raise TypeError("Expected argument 'custom_rdp_property' to be a str") + pulumi.set(__self__, "custom_rdp_property", custom_rdp_property) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if etag and not isinstance(etag, str): + raise TypeError("Expected argument 'etag' to be a str") + pulumi.set(__self__, "etag", etag) + if friendly_name and not isinstance(friendly_name, str): + raise TypeError("Expected argument 'friendly_name' to be a str") + pulumi.set(__self__, "friendly_name", friendly_name) + if host_pool_type and not isinstance(host_pool_type, str): + raise TypeError("Expected argument 'host_pool_type' to be a str") + pulumi.set(__self__, "host_pool_type", host_pool_type) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if kind and not isinstance(kind, str): + raise TypeError("Expected argument 'kind' to be a str") + pulumi.set(__self__, "kind", kind) + if load_balancer_type and not isinstance(load_balancer_type, str): + raise TypeError("Expected argument 'load_balancer_type' to be a str") + pulumi.set(__self__, "load_balancer_type", load_balancer_type) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if managed_by and not isinstance(managed_by, str): + raise TypeError("Expected argument 'managed_by' to be a str") + pulumi.set(__self__, "managed_by", managed_by) + if max_session_limit and not isinstance(max_session_limit, int): + raise TypeError("Expected argument 'max_session_limit' to be a int") + pulumi.set(__self__, "max_session_limit", max_session_limit) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if object_id and not isinstance(object_id, str): + raise TypeError("Expected argument 'object_id' to be a str") + pulumi.set(__self__, "object_id", object_id) + if personal_desktop_assignment_type and not isinstance(personal_desktop_assignment_type, str): + raise TypeError("Expected argument 'personal_desktop_assignment_type' to be a str") + pulumi.set(__self__, "personal_desktop_assignment_type", personal_desktop_assignment_type) + if plan and not isinstance(plan, dict): + raise TypeError("Expected argument 'plan' to be a dict") + pulumi.set(__self__, "plan", plan) + if preferred_app_group_type and not isinstance(preferred_app_group_type, str): + raise TypeError("Expected argument 'preferred_app_group_type' to be a str") + pulumi.set(__self__, "preferred_app_group_type", preferred_app_group_type) + if private_endpoint_connections and not isinstance(private_endpoint_connections, list): + raise TypeError("Expected argument 'private_endpoint_connections' to be a list") + pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections) + if public_network_access and not isinstance(public_network_access, str): + raise TypeError("Expected argument 'public_network_access' to be a str") + pulumi.set(__self__, "public_network_access", public_network_access) + if registration_info and not isinstance(registration_info, dict): + raise TypeError("Expected argument 'registration_info' to be a dict") + pulumi.set(__self__, "registration_info", registration_info) + if ring and not isinstance(ring, int): + raise TypeError("Expected argument 'ring' to be a int") + pulumi.set(__self__, "ring", ring) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if sso_client_id and not isinstance(sso_client_id, str): + raise TypeError("Expected argument 'sso_client_id' to be a str") + pulumi.set(__self__, "sso_client_id", sso_client_id) + if sso_client_secret_key_vault_path and not isinstance(sso_client_secret_key_vault_path, str): + raise TypeError("Expected argument 'sso_client_secret_key_vault_path' to be a str") + pulumi.set(__self__, "sso_client_secret_key_vault_path", sso_client_secret_key_vault_path) + if sso_secret_type and not isinstance(sso_secret_type, str): + raise TypeError("Expected argument 'sso_secret_type' to be a str") + pulumi.set(__self__, "sso_secret_type", sso_secret_type) + if ssoadfs_authority and not isinstance(ssoadfs_authority, str): + raise TypeError("Expected argument 'ssoadfs_authority' to be a str") + pulumi.set(__self__, "ssoadfs_authority", ssoadfs_authority) + if start_vm_on_connect and not isinstance(start_vm_on_connect, bool): + raise TypeError("Expected argument 'start_vm_on_connect' to be a bool") + pulumi.set(__self__, "start_vm_on_connect", start_vm_on_connect) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if validation_environment and not isinstance(validation_environment, bool): + raise TypeError("Expected argument 'validation_environment' to be a bool") + pulumi.set(__self__, "validation_environment", validation_environment) + if vm_template and not isinstance(vm_template, str): + raise TypeError("Expected argument 'vm_template' to be a str") + pulumi.set(__self__, "vm_template", vm_template) + + @property + @pulumi.getter(name="agentUpdate") + def agent_update(self) -> Optional['outputs.AgentUpdatePropertiesResponse']: + """ + The session host configuration for updating agent, monitoring agent, and stack component. + """ + return pulumi.get(self, "agent_update") + + @property + @pulumi.getter(name="applicationGroupReferences") + def application_group_references(self) -> Sequence[str]: + """ + List of applicationGroup links. + """ + return pulumi.get(self, "application_group_references") + + @property + @pulumi.getter(name="cloudPcResource") + def cloud_pc_resource(self) -> bool: + """ + Is cloud pc resource. + """ + return pulumi.get(self, "cloud_pc_resource") + + @property + @pulumi.getter(name="customRdpProperty") + def custom_rdp_property(self) -> Optional[str]: + """ + Custom rdp property of HostPool. + """ + return pulumi.get(self, "custom_rdp_property") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + Description of HostPool. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def etag(self) -> str: + """ + The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> Optional[str]: + """ + Friendly name of HostPool. + """ + return pulumi.get(self, "friendly_name") + + @property + @pulumi.getter(name="hostPoolType") + def host_pool_type(self) -> str: + """ + HostPool type for desktop. + """ + return pulumi.get(self, "host_pool_type") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.ResourceModelWithAllowedPropertySetResponseIdentity']: + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def kind(self) -> Optional[str]: + """ + Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter(name="loadBalancerType") + def load_balancer_type(self) -> str: + """ + The type of the load balancer. + """ + return pulumi.get(self, "load_balancer_type") + + @property + @pulumi.getter + def location(self) -> Optional[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> Optional[str]: + """ + The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + """ + return pulumi.get(self, "managed_by") + + @property + @pulumi.getter(name="maxSessionLimit") + def max_session_limit(self) -> Optional[int]: + """ + The max session limit of HostPool. + """ + return pulumi.get(self, "max_session_limit") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> str: + """ + ObjectId of HostPool. (internal use) + """ + return pulumi.get(self, "object_id") + + @property + @pulumi.getter(name="personalDesktopAssignmentType") + def personal_desktop_assignment_type(self) -> Optional[str]: + """ + PersonalDesktopAssignment type for HostPool. + """ + return pulumi.get(self, "personal_desktop_assignment_type") + + @property + @pulumi.getter + def plan(self) -> Optional['outputs.ResourceModelWithAllowedPropertySetResponsePlan']: + return pulumi.get(self, "plan") + + @property + @pulumi.getter(name="preferredAppGroupType") + def preferred_app_group_type(self) -> str: + """ + The type of preferred application group type, default to Desktop Application Group + """ + return pulumi.get(self, "preferred_app_group_type") + + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> Sequence['outputs.PrivateEndpointConnectionResponse']: + """ + List of private endpoint connection associated with the specified resource + """ + return pulumi.get(self, "private_endpoint_connections") + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> Optional[str]: + """ + Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + """ + return pulumi.get(self, "public_network_access") + + @property + @pulumi.getter(name="registrationInfo") + def registration_info(self) -> Optional['outputs.RegistrationInfoResponse']: + """ + The registration info of HostPool. + """ + return pulumi.get(self, "registration_info") + + @property + @pulumi.getter + def ring(self) -> Optional[int]: + """ + The ring number of HostPool. + """ + return pulumi.get(self, "ring") + + @property + @pulumi.getter + def sku(self) -> Optional['outputs.ResourceModelWithAllowedPropertySetResponseSku']: + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="ssoClientId") + def sso_client_id(self) -> Optional[str]: + """ + ClientId for the registered Relying Party used to issue WVD SSO certificates. + """ + return pulumi.get(self, "sso_client_id") + + @property + @pulumi.getter(name="ssoClientSecretKeyVaultPath") + def sso_client_secret_key_vault_path(self) -> Optional[str]: + """ + Path to Azure KeyVault storing the secret used for communication to ADFS. + """ + return pulumi.get(self, "sso_client_secret_key_vault_path") + + @property + @pulumi.getter(name="ssoSecretType") + def sso_secret_type(self) -> Optional[str]: + """ + The type of single sign on Secret Type. + """ + return pulumi.get(self, "sso_secret_type") + + @property + @pulumi.getter(name="ssoadfsAuthority") + def ssoadfs_authority(self) -> Optional[str]: + """ + URL to customer ADFS server for signing WVD SSO certificates. + """ + return pulumi.get(self, "ssoadfs_authority") + + @property + @pulumi.getter(name="startVMOnConnect") + def start_vm_on_connect(self) -> Optional[bool]: + """ + The flag to turn on/off StartVMOnConnect feature. + """ + return pulumi.get(self, "start_vm_on_connect") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="validationEnvironment") + def validation_environment(self) -> Optional[bool]: + """ + Is validation environment. + """ + return pulumi.get(self, "validation_environment") + + @property + @pulumi.getter(name="vmTemplate") + def vm_template(self) -> Optional[str]: + """ + VM template for sessionhosts configuration within hostpool. + """ + return pulumi.get(self, "vm_template") + + +class AwaitableGetHostPoolResult(GetHostPoolResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetHostPoolResult( + agent_update=self.agent_update, + application_group_references=self.application_group_references, + cloud_pc_resource=self.cloud_pc_resource, + custom_rdp_property=self.custom_rdp_property, + description=self.description, + etag=self.etag, + friendly_name=self.friendly_name, + host_pool_type=self.host_pool_type, + id=self.id, + identity=self.identity, + kind=self.kind, + load_balancer_type=self.load_balancer_type, + location=self.location, + managed_by=self.managed_by, + max_session_limit=self.max_session_limit, + name=self.name, + object_id=self.object_id, + personal_desktop_assignment_type=self.personal_desktop_assignment_type, + plan=self.plan, + preferred_app_group_type=self.preferred_app_group_type, + private_endpoint_connections=self.private_endpoint_connections, + public_network_access=self.public_network_access, + registration_info=self.registration_info, + ring=self.ring, + sku=self.sku, + sso_client_id=self.sso_client_id, + sso_client_secret_key_vault_path=self.sso_client_secret_key_vault_path, + sso_secret_type=self.sso_secret_type, + ssoadfs_authority=self.ssoadfs_authority, + start_vm_on_connect=self.start_vm_on_connect, + system_data=self.system_data, + tags=self.tags, + type=self.type, + validation_environment=self.validation_environment, + vm_template=self.vm_template) + + +def get_host_pool(host_pool_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetHostPoolResult: + """ + Get a host pool. + + + :param str host_pool_name: The name of the host pool within the specified resource group + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['hostPoolName'] = host_pool_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:desktopvirtualization/v20230707preview:getHostPool', __args__, opts=opts, typ=GetHostPoolResult).value + + return AwaitableGetHostPoolResult( + agent_update=__ret__.agent_update, + application_group_references=__ret__.application_group_references, + cloud_pc_resource=__ret__.cloud_pc_resource, + custom_rdp_property=__ret__.custom_rdp_property, + description=__ret__.description, + etag=__ret__.etag, + friendly_name=__ret__.friendly_name, + host_pool_type=__ret__.host_pool_type, + id=__ret__.id, + identity=__ret__.identity, + kind=__ret__.kind, + load_balancer_type=__ret__.load_balancer_type, + location=__ret__.location, + managed_by=__ret__.managed_by, + max_session_limit=__ret__.max_session_limit, + name=__ret__.name, + object_id=__ret__.object_id, + personal_desktop_assignment_type=__ret__.personal_desktop_assignment_type, + plan=__ret__.plan, + preferred_app_group_type=__ret__.preferred_app_group_type, + private_endpoint_connections=__ret__.private_endpoint_connections, + public_network_access=__ret__.public_network_access, + registration_info=__ret__.registration_info, + ring=__ret__.ring, + sku=__ret__.sku, + sso_client_id=__ret__.sso_client_id, + sso_client_secret_key_vault_path=__ret__.sso_client_secret_key_vault_path, + sso_secret_type=__ret__.sso_secret_type, + ssoadfs_authority=__ret__.ssoadfs_authority, + start_vm_on_connect=__ret__.start_vm_on_connect, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type, + validation_environment=__ret__.validation_environment, + vm_template=__ret__.vm_template) + + +@_utilities.lift_output_func(get_host_pool) +def get_host_pool_output(host_pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHostPoolResult]: + """ + Get a host pool. + + + :param str host_pool_name: The name of the host pool within the specified resource group + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_msix_package.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_msix_package.py new file mode 100644 index 000000000000..3e7fa197c537 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_msix_package.py @@ -0,0 +1,266 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetMSIXPackageResult', + 'AwaitableGetMSIXPackageResult', + 'get_msix_package', + 'get_msix_package_output', +] + +@pulumi.output_type +class GetMSIXPackageResult: + """ + Schema for MSIX Package properties. + """ + def __init__(__self__, display_name=None, id=None, image_path=None, is_active=None, is_regular_registration=None, last_updated=None, name=None, package_applications=None, package_dependencies=None, package_family_name=None, package_name=None, package_relative_path=None, system_data=None, type=None, version=None): + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if image_path and not isinstance(image_path, str): + raise TypeError("Expected argument 'image_path' to be a str") + pulumi.set(__self__, "image_path", image_path) + if is_active and not isinstance(is_active, bool): + raise TypeError("Expected argument 'is_active' to be a bool") + pulumi.set(__self__, "is_active", is_active) + if is_regular_registration and not isinstance(is_regular_registration, bool): + raise TypeError("Expected argument 'is_regular_registration' to be a bool") + pulumi.set(__self__, "is_regular_registration", is_regular_registration) + if last_updated and not isinstance(last_updated, str): + raise TypeError("Expected argument 'last_updated' to be a str") + pulumi.set(__self__, "last_updated", last_updated) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if package_applications and not isinstance(package_applications, list): + raise TypeError("Expected argument 'package_applications' to be a list") + pulumi.set(__self__, "package_applications", package_applications) + if package_dependencies and not isinstance(package_dependencies, list): + raise TypeError("Expected argument 'package_dependencies' to be a list") + pulumi.set(__self__, "package_dependencies", package_dependencies) + if package_family_name and not isinstance(package_family_name, str): + raise TypeError("Expected argument 'package_family_name' to be a str") + pulumi.set(__self__, "package_family_name", package_family_name) + if package_name and not isinstance(package_name, str): + raise TypeError("Expected argument 'package_name' to be a str") + pulumi.set(__self__, "package_name", package_name) + if package_relative_path and not isinstance(package_relative_path, str): + raise TypeError("Expected argument 'package_relative_path' to be a str") + pulumi.set(__self__, "package_relative_path", package_relative_path) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if version and not isinstance(version, str): + raise TypeError("Expected argument 'version' to be a str") + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + User friendly Name to be displayed in the portal. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="imagePath") + def image_path(self) -> Optional[str]: + """ + VHD/CIM image path on Network Share. + """ + return pulumi.get(self, "image_path") + + @property + @pulumi.getter(name="isActive") + def is_active(self) -> Optional[bool]: + """ + Make this version of the package the active one across the hostpool. + """ + return pulumi.get(self, "is_active") + + @property + @pulumi.getter(name="isRegularRegistration") + def is_regular_registration(self) -> Optional[bool]: + """ + Specifies how to register Package in feed. + """ + return pulumi.get(self, "is_regular_registration") + + @property + @pulumi.getter(name="lastUpdated") + def last_updated(self) -> Optional[str]: + """ + Date Package was last updated, found in the appxmanifest.xml. + """ + return pulumi.get(self, "last_updated") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="packageApplications") + def package_applications(self) -> Optional[Sequence['outputs.MsixPackageApplicationsResponse']]: + """ + List of package applications. + """ + return pulumi.get(self, "package_applications") + + @property + @pulumi.getter(name="packageDependencies") + def package_dependencies(self) -> Optional[Sequence['outputs.MsixPackageDependenciesResponse']]: + """ + List of package dependencies. + """ + return pulumi.get(self, "package_dependencies") + + @property + @pulumi.getter(name="packageFamilyName") + def package_family_name(self) -> Optional[str]: + """ + Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. + """ + return pulumi.get(self, "package_family_name") + + @property + @pulumi.getter(name="packageName") + def package_name(self) -> Optional[str]: + """ + Package Name from appxmanifest.xml. + """ + return pulumi.get(self, "package_name") + + @property + @pulumi.getter(name="packageRelativePath") + def package_relative_path(self) -> Optional[str]: + """ + Relative Path to the package inside the image. + """ + return pulumi.get(self, "package_relative_path") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def version(self) -> Optional[str]: + """ + Package Version found in the appxmanifest.xml. + """ + return pulumi.get(self, "version") + + +class AwaitableGetMSIXPackageResult(GetMSIXPackageResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetMSIXPackageResult( + display_name=self.display_name, + id=self.id, + image_path=self.image_path, + is_active=self.is_active, + is_regular_registration=self.is_regular_registration, + last_updated=self.last_updated, + name=self.name, + package_applications=self.package_applications, + package_dependencies=self.package_dependencies, + package_family_name=self.package_family_name, + package_name=self.package_name, + package_relative_path=self.package_relative_path, + system_data=self.system_data, + type=self.type, + version=self.version) + + +def get_msix_package(host_pool_name: Optional[str] = None, + msix_package_full_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMSIXPackageResult: + """ + Get a msixpackage. + + + :param str host_pool_name: The name of the host pool within the specified resource group + :param str msix_package_full_name: The version specific package full name of the MSIX package within specified hostpool + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['hostPoolName'] = host_pool_name + __args__['msixPackageFullName'] = msix_package_full_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:desktopvirtualization/v20230707preview:getMSIXPackage', __args__, opts=opts, typ=GetMSIXPackageResult).value + + return AwaitableGetMSIXPackageResult( + display_name=__ret__.display_name, + id=__ret__.id, + image_path=__ret__.image_path, + is_active=__ret__.is_active, + is_regular_registration=__ret__.is_regular_registration, + last_updated=__ret__.last_updated, + name=__ret__.name, + package_applications=__ret__.package_applications, + package_dependencies=__ret__.package_dependencies, + package_family_name=__ret__.package_family_name, + package_name=__ret__.package_name, + package_relative_path=__ret__.package_relative_path, + system_data=__ret__.system_data, + type=__ret__.type, + version=__ret__.version) + + +@_utilities.lift_output_func(get_msix_package) +def get_msix_package_output(host_pool_name: Optional[pulumi.Input[str]] = None, + msix_package_full_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMSIXPackageResult]: + """ + Get a msixpackage. + + + :param str host_pool_name: The name of the host pool within the specified resource group + :param str msix_package_full_name: The version specific package full name of the MSIX package within specified hostpool + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_private_endpoint_connection_by_host_pool.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_private_endpoint_connection_by_host_pool.py new file mode 100644 index 000000000000..b858585c8587 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_private_endpoint_connection_by_host_pool.py @@ -0,0 +1,162 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetPrivateEndpointConnectionByHostPoolResult', + 'AwaitableGetPrivateEndpointConnectionByHostPoolResult', + 'get_private_endpoint_connection_by_host_pool', + 'get_private_endpoint_connection_by_host_pool_output', +] + +@pulumi.output_type +class GetPrivateEndpointConnectionByHostPoolResult: + """ + The Private Endpoint Connection resource. + """ + def __init__(__self__, id=None, name=None, private_endpoint=None, private_link_service_connection_state=None, provisioning_state=None, system_data=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if private_endpoint and not isinstance(private_endpoint, dict): + raise TypeError("Expected argument 'private_endpoint' to be a dict") + pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_link_service_connection_state and not isinstance(private_link_service_connection_state, dict): + raise TypeError("Expected argument 'private_link_service_connection_state' to be a dict") + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="privateEndpoint") + def private_endpoint(self) -> Optional['outputs.PrivateEndpointResponse']: + """ + The resource of private end point. + """ + return pulumi.get(self, "private_endpoint") + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> 'outputs.PrivateLinkServiceConnectionStateResponse': + """ + A collection of information about the state of the connection between service consumer and provider. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the private endpoint connection resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetPrivateEndpointConnectionByHostPoolResult(GetPrivateEndpointConnectionByHostPoolResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetPrivateEndpointConnectionByHostPoolResult( + id=self.id, + name=self.name, + private_endpoint=self.private_endpoint, + private_link_service_connection_state=self.private_link_service_connection_state, + provisioning_state=self.provisioning_state, + system_data=self.system_data, + type=self.type) + + +def get_private_endpoint_connection_by_host_pool(host_pool_name: Optional[str] = None, + private_endpoint_connection_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPrivateEndpointConnectionByHostPoolResult: + """ + Get a private endpoint connection. + + + :param str host_pool_name: The name of the host pool within the specified resource group + :param str private_endpoint_connection_name: The name of the private endpoint connection associated with the Azure resource + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['hostPoolName'] = host_pool_name + __args__['privateEndpointConnectionName'] = private_endpoint_connection_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:desktopvirtualization/v20230707preview:getPrivateEndpointConnectionByHostPool', __args__, opts=opts, typ=GetPrivateEndpointConnectionByHostPoolResult).value + + return AwaitableGetPrivateEndpointConnectionByHostPoolResult( + id=__ret__.id, + name=__ret__.name, + private_endpoint=__ret__.private_endpoint, + private_link_service_connection_state=__ret__.private_link_service_connection_state, + provisioning_state=__ret__.provisioning_state, + system_data=__ret__.system_data, + type=__ret__.type) + + +@_utilities.lift_output_func(get_private_endpoint_connection_by_host_pool) +def get_private_endpoint_connection_by_host_pool_output(host_pool_name: Optional[pulumi.Input[str]] = None, + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrivateEndpointConnectionByHostPoolResult]: + """ + Get a private endpoint connection. + + + :param str host_pool_name: The name of the host pool within the specified resource group + :param str private_endpoint_connection_name: The name of the private endpoint connection associated with the Azure resource + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_private_endpoint_connection_by_workspace.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_private_endpoint_connection_by_workspace.py new file mode 100644 index 000000000000..b5998567739d --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_private_endpoint_connection_by_workspace.py @@ -0,0 +1,162 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetPrivateEndpointConnectionByWorkspaceResult', + 'AwaitableGetPrivateEndpointConnectionByWorkspaceResult', + 'get_private_endpoint_connection_by_workspace', + 'get_private_endpoint_connection_by_workspace_output', +] + +@pulumi.output_type +class GetPrivateEndpointConnectionByWorkspaceResult: + """ + The Private Endpoint Connection resource. + """ + def __init__(__self__, id=None, name=None, private_endpoint=None, private_link_service_connection_state=None, provisioning_state=None, system_data=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if private_endpoint and not isinstance(private_endpoint, dict): + raise TypeError("Expected argument 'private_endpoint' to be a dict") + pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_link_service_connection_state and not isinstance(private_link_service_connection_state, dict): + raise TypeError("Expected argument 'private_link_service_connection_state' to be a dict") + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="privateEndpoint") + def private_endpoint(self) -> Optional['outputs.PrivateEndpointResponse']: + """ + The resource of private end point. + """ + return pulumi.get(self, "private_endpoint") + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> 'outputs.PrivateLinkServiceConnectionStateResponse': + """ + A collection of information about the state of the connection between service consumer and provider. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the private endpoint connection resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetPrivateEndpointConnectionByWorkspaceResult(GetPrivateEndpointConnectionByWorkspaceResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetPrivateEndpointConnectionByWorkspaceResult( + id=self.id, + name=self.name, + private_endpoint=self.private_endpoint, + private_link_service_connection_state=self.private_link_service_connection_state, + provisioning_state=self.provisioning_state, + system_data=self.system_data, + type=self.type) + + +def get_private_endpoint_connection_by_workspace(private_endpoint_connection_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + workspace_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPrivateEndpointConnectionByWorkspaceResult: + """ + Get a private endpoint connection. + + + :param str private_endpoint_connection_name: The name of the private endpoint connection associated with the Azure resource + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str workspace_name: The name of the workspace + """ + __args__ = dict() + __args__['privateEndpointConnectionName'] = private_endpoint_connection_name + __args__['resourceGroupName'] = resource_group_name + __args__['workspaceName'] = workspace_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:desktopvirtualization/v20230707preview:getPrivateEndpointConnectionByWorkspace', __args__, opts=opts, typ=GetPrivateEndpointConnectionByWorkspaceResult).value + + return AwaitableGetPrivateEndpointConnectionByWorkspaceResult( + id=__ret__.id, + name=__ret__.name, + private_endpoint=__ret__.private_endpoint, + private_link_service_connection_state=__ret__.private_link_service_connection_state, + provisioning_state=__ret__.provisioning_state, + system_data=__ret__.system_data, + type=__ret__.type) + + +@_utilities.lift_output_func(get_private_endpoint_connection_by_workspace) +def get_private_endpoint_connection_by_workspace_output(private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + workspace_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrivateEndpointConnectionByWorkspaceResult]: + """ + Get a private endpoint connection. + + + :param str private_endpoint_connection_name: The name of the private endpoint connection associated with the Azure resource + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str workspace_name: The name of the workspace + """ + ... diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_scaling_plan.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_scaling_plan.py new file mode 100644 index 000000000000..24afb8418e10 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_scaling_plan.py @@ -0,0 +1,317 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetScalingPlanResult', + 'AwaitableGetScalingPlanResult', + 'get_scaling_plan', + 'get_scaling_plan_output', +] + +@pulumi.output_type +class GetScalingPlanResult: + """ + Represents a scaling plan definition. + """ + def __init__(__self__, description=None, etag=None, exclusion_tag=None, friendly_name=None, host_pool_references=None, host_pool_type=None, id=None, identity=None, kind=None, location=None, managed_by=None, name=None, object_id=None, plan=None, schedules=None, sku=None, system_data=None, tags=None, time_zone=None, type=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if etag and not isinstance(etag, str): + raise TypeError("Expected argument 'etag' to be a str") + pulumi.set(__self__, "etag", etag) + if exclusion_tag and not isinstance(exclusion_tag, str): + raise TypeError("Expected argument 'exclusion_tag' to be a str") + pulumi.set(__self__, "exclusion_tag", exclusion_tag) + if friendly_name and not isinstance(friendly_name, str): + raise TypeError("Expected argument 'friendly_name' to be a str") + pulumi.set(__self__, "friendly_name", friendly_name) + if host_pool_references and not isinstance(host_pool_references, list): + raise TypeError("Expected argument 'host_pool_references' to be a list") + pulumi.set(__self__, "host_pool_references", host_pool_references) + if host_pool_type and not isinstance(host_pool_type, str): + raise TypeError("Expected argument 'host_pool_type' to be a str") + pulumi.set(__self__, "host_pool_type", host_pool_type) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if kind and not isinstance(kind, str): + raise TypeError("Expected argument 'kind' to be a str") + pulumi.set(__self__, "kind", kind) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if managed_by and not isinstance(managed_by, str): + raise TypeError("Expected argument 'managed_by' to be a str") + pulumi.set(__self__, "managed_by", managed_by) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if object_id and not isinstance(object_id, str): + raise TypeError("Expected argument 'object_id' to be a str") + pulumi.set(__self__, "object_id", object_id) + if plan and not isinstance(plan, dict): + raise TypeError("Expected argument 'plan' to be a dict") + pulumi.set(__self__, "plan", plan) + if schedules and not isinstance(schedules, list): + raise TypeError("Expected argument 'schedules' to be a list") + pulumi.set(__self__, "schedules", schedules) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if time_zone and not isinstance(time_zone, str): + raise TypeError("Expected argument 'time_zone' to be a str") + pulumi.set(__self__, "time_zone", time_zone) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + Description of scaling plan. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def etag(self) -> str: + """ + The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="exclusionTag") + def exclusion_tag(self) -> Optional[str]: + """ + Exclusion tag for scaling plan. + """ + return pulumi.get(self, "exclusion_tag") + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> Optional[str]: + """ + User friendly name of scaling plan. + """ + return pulumi.get(self, "friendly_name") + + @property + @pulumi.getter(name="hostPoolReferences") + def host_pool_references(self) -> Optional[Sequence['outputs.ScalingHostPoolReferenceResponse']]: + """ + List of ScalingHostPoolReference definitions. + """ + return pulumi.get(self, "host_pool_references") + + @property + @pulumi.getter(name="hostPoolType") + def host_pool_type(self) -> Optional[str]: + """ + HostPool type for desktop. + """ + return pulumi.get(self, "host_pool_type") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.ResourceModelWithAllowedPropertySetResponseIdentity']: + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def kind(self) -> Optional[str]: + """ + Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def location(self) -> Optional[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> Optional[str]: + """ + The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + """ + return pulumi.get(self, "managed_by") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> str: + """ + ObjectId of scaling plan. (internal use) + """ + return pulumi.get(self, "object_id") + + @property + @pulumi.getter + def plan(self) -> Optional['outputs.ResourceModelWithAllowedPropertySetResponsePlan']: + return pulumi.get(self, "plan") + + @property + @pulumi.getter + def schedules(self) -> Optional[Sequence['outputs.ScalingScheduleResponse']]: + """ + List of ScalingPlanPooledSchedule definitions. + """ + return pulumi.get(self, "schedules") + + @property + @pulumi.getter + def sku(self) -> Optional['outputs.ResourceModelWithAllowedPropertySetResponseSku']: + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> str: + """ + Timezone of the scaling plan. + """ + return pulumi.get(self, "time_zone") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetScalingPlanResult(GetScalingPlanResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetScalingPlanResult( + description=self.description, + etag=self.etag, + exclusion_tag=self.exclusion_tag, + friendly_name=self.friendly_name, + host_pool_references=self.host_pool_references, + host_pool_type=self.host_pool_type, + id=self.id, + identity=self.identity, + kind=self.kind, + location=self.location, + managed_by=self.managed_by, + name=self.name, + object_id=self.object_id, + plan=self.plan, + schedules=self.schedules, + sku=self.sku, + system_data=self.system_data, + tags=self.tags, + time_zone=self.time_zone, + type=self.type) + + +def get_scaling_plan(resource_group_name: Optional[str] = None, + scaling_plan_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetScalingPlanResult: + """ + Get a scaling plan. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str scaling_plan_name: The name of the scaling plan. + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['scalingPlanName'] = scaling_plan_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:desktopvirtualization/v20230707preview:getScalingPlan', __args__, opts=opts, typ=GetScalingPlanResult).value + + return AwaitableGetScalingPlanResult( + description=__ret__.description, + etag=__ret__.etag, + exclusion_tag=__ret__.exclusion_tag, + friendly_name=__ret__.friendly_name, + host_pool_references=__ret__.host_pool_references, + host_pool_type=__ret__.host_pool_type, + id=__ret__.id, + identity=__ret__.identity, + kind=__ret__.kind, + location=__ret__.location, + managed_by=__ret__.managed_by, + name=__ret__.name, + object_id=__ret__.object_id, + plan=__ret__.plan, + schedules=__ret__.schedules, + sku=__ret__.sku, + system_data=__ret__.system_data, + tags=__ret__.tags, + time_zone=__ret__.time_zone, + type=__ret__.type) + + +@_utilities.lift_output_func(get_scaling_plan) +def get_scaling_plan_output(resource_group_name: Optional[pulumi.Input[str]] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetScalingPlanResult]: + """ + Get a scaling plan. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str scaling_plan_name: The name of the scaling plan. + """ + ... diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_scaling_plan_personal_schedule.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_scaling_plan_personal_schedule.py new file mode 100644 index 000000000000..6cee5220ac7e --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_scaling_plan_personal_schedule.py @@ -0,0 +1,461 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetScalingPlanPersonalScheduleResult', + 'AwaitableGetScalingPlanPersonalScheduleResult', + 'get_scaling_plan_personal_schedule', + 'get_scaling_plan_personal_schedule_output', +] + +@pulumi.output_type +class GetScalingPlanPersonalScheduleResult: + """ + Represents a ScalingPlanPersonalSchedule definition. + """ + def __init__(__self__, days_of_week=None, id=None, name=None, off_peak_action_on_disconnect=None, off_peak_action_on_logoff=None, off_peak_minutes_to_wait_on_disconnect=None, off_peak_minutes_to_wait_on_logoff=None, off_peak_start_time=None, off_peak_start_vm_on_connect=None, peak_action_on_disconnect=None, peak_action_on_logoff=None, peak_minutes_to_wait_on_disconnect=None, peak_minutes_to_wait_on_logoff=None, peak_start_time=None, peak_start_vm_on_connect=None, ramp_down_action_on_disconnect=None, ramp_down_action_on_logoff=None, ramp_down_minutes_to_wait_on_disconnect=None, ramp_down_minutes_to_wait_on_logoff=None, ramp_down_start_time=None, ramp_down_start_vm_on_connect=None, ramp_up_action_on_disconnect=None, ramp_up_action_on_logoff=None, ramp_up_auto_start_hosts=None, ramp_up_minutes_to_wait_on_disconnect=None, ramp_up_minutes_to_wait_on_logoff=None, ramp_up_start_time=None, ramp_up_start_vm_on_connect=None, system_data=None, type=None): + if days_of_week and not isinstance(days_of_week, list): + raise TypeError("Expected argument 'days_of_week' to be a list") + pulumi.set(__self__, "days_of_week", days_of_week) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if off_peak_action_on_disconnect and not isinstance(off_peak_action_on_disconnect, str): + raise TypeError("Expected argument 'off_peak_action_on_disconnect' to be a str") + pulumi.set(__self__, "off_peak_action_on_disconnect", off_peak_action_on_disconnect) + if off_peak_action_on_logoff and not isinstance(off_peak_action_on_logoff, str): + raise TypeError("Expected argument 'off_peak_action_on_logoff' to be a str") + pulumi.set(__self__, "off_peak_action_on_logoff", off_peak_action_on_logoff) + if off_peak_minutes_to_wait_on_disconnect and not isinstance(off_peak_minutes_to_wait_on_disconnect, int): + raise TypeError("Expected argument 'off_peak_minutes_to_wait_on_disconnect' to be a int") + pulumi.set(__self__, "off_peak_minutes_to_wait_on_disconnect", off_peak_minutes_to_wait_on_disconnect) + if off_peak_minutes_to_wait_on_logoff and not isinstance(off_peak_minutes_to_wait_on_logoff, int): + raise TypeError("Expected argument 'off_peak_minutes_to_wait_on_logoff' to be a int") + pulumi.set(__self__, "off_peak_minutes_to_wait_on_logoff", off_peak_minutes_to_wait_on_logoff) + if off_peak_start_time and not isinstance(off_peak_start_time, dict): + raise TypeError("Expected argument 'off_peak_start_time' to be a dict") + pulumi.set(__self__, "off_peak_start_time", off_peak_start_time) + if off_peak_start_vm_on_connect and not isinstance(off_peak_start_vm_on_connect, str): + raise TypeError("Expected argument 'off_peak_start_vm_on_connect' to be a str") + pulumi.set(__self__, "off_peak_start_vm_on_connect", off_peak_start_vm_on_connect) + if peak_action_on_disconnect and not isinstance(peak_action_on_disconnect, str): + raise TypeError("Expected argument 'peak_action_on_disconnect' to be a str") + pulumi.set(__self__, "peak_action_on_disconnect", peak_action_on_disconnect) + if peak_action_on_logoff and not isinstance(peak_action_on_logoff, str): + raise TypeError("Expected argument 'peak_action_on_logoff' to be a str") + pulumi.set(__self__, "peak_action_on_logoff", peak_action_on_logoff) + if peak_minutes_to_wait_on_disconnect and not isinstance(peak_minutes_to_wait_on_disconnect, int): + raise TypeError("Expected argument 'peak_minutes_to_wait_on_disconnect' to be a int") + pulumi.set(__self__, "peak_minutes_to_wait_on_disconnect", peak_minutes_to_wait_on_disconnect) + if peak_minutes_to_wait_on_logoff and not isinstance(peak_minutes_to_wait_on_logoff, int): + raise TypeError("Expected argument 'peak_minutes_to_wait_on_logoff' to be a int") + pulumi.set(__self__, "peak_minutes_to_wait_on_logoff", peak_minutes_to_wait_on_logoff) + if peak_start_time and not isinstance(peak_start_time, dict): + raise TypeError("Expected argument 'peak_start_time' to be a dict") + pulumi.set(__self__, "peak_start_time", peak_start_time) + if peak_start_vm_on_connect and not isinstance(peak_start_vm_on_connect, str): + raise TypeError("Expected argument 'peak_start_vm_on_connect' to be a str") + pulumi.set(__self__, "peak_start_vm_on_connect", peak_start_vm_on_connect) + if ramp_down_action_on_disconnect and not isinstance(ramp_down_action_on_disconnect, str): + raise TypeError("Expected argument 'ramp_down_action_on_disconnect' to be a str") + pulumi.set(__self__, "ramp_down_action_on_disconnect", ramp_down_action_on_disconnect) + if ramp_down_action_on_logoff and not isinstance(ramp_down_action_on_logoff, str): + raise TypeError("Expected argument 'ramp_down_action_on_logoff' to be a str") + pulumi.set(__self__, "ramp_down_action_on_logoff", ramp_down_action_on_logoff) + if ramp_down_minutes_to_wait_on_disconnect and not isinstance(ramp_down_minutes_to_wait_on_disconnect, int): + raise TypeError("Expected argument 'ramp_down_minutes_to_wait_on_disconnect' to be a int") + pulumi.set(__self__, "ramp_down_minutes_to_wait_on_disconnect", ramp_down_minutes_to_wait_on_disconnect) + if ramp_down_minutes_to_wait_on_logoff and not isinstance(ramp_down_minutes_to_wait_on_logoff, int): + raise TypeError("Expected argument 'ramp_down_minutes_to_wait_on_logoff' to be a int") + pulumi.set(__self__, "ramp_down_minutes_to_wait_on_logoff", ramp_down_minutes_to_wait_on_logoff) + if ramp_down_start_time and not isinstance(ramp_down_start_time, dict): + raise TypeError("Expected argument 'ramp_down_start_time' to be a dict") + pulumi.set(__self__, "ramp_down_start_time", ramp_down_start_time) + if ramp_down_start_vm_on_connect and not isinstance(ramp_down_start_vm_on_connect, str): + raise TypeError("Expected argument 'ramp_down_start_vm_on_connect' to be a str") + pulumi.set(__self__, "ramp_down_start_vm_on_connect", ramp_down_start_vm_on_connect) + if ramp_up_action_on_disconnect and not isinstance(ramp_up_action_on_disconnect, str): + raise TypeError("Expected argument 'ramp_up_action_on_disconnect' to be a str") + pulumi.set(__self__, "ramp_up_action_on_disconnect", ramp_up_action_on_disconnect) + if ramp_up_action_on_logoff and not isinstance(ramp_up_action_on_logoff, str): + raise TypeError("Expected argument 'ramp_up_action_on_logoff' to be a str") + pulumi.set(__self__, "ramp_up_action_on_logoff", ramp_up_action_on_logoff) + if ramp_up_auto_start_hosts and not isinstance(ramp_up_auto_start_hosts, str): + raise TypeError("Expected argument 'ramp_up_auto_start_hosts' to be a str") + pulumi.set(__self__, "ramp_up_auto_start_hosts", ramp_up_auto_start_hosts) + if ramp_up_minutes_to_wait_on_disconnect and not isinstance(ramp_up_minutes_to_wait_on_disconnect, int): + raise TypeError("Expected argument 'ramp_up_minutes_to_wait_on_disconnect' to be a int") + pulumi.set(__self__, "ramp_up_minutes_to_wait_on_disconnect", ramp_up_minutes_to_wait_on_disconnect) + if ramp_up_minutes_to_wait_on_logoff and not isinstance(ramp_up_minutes_to_wait_on_logoff, int): + raise TypeError("Expected argument 'ramp_up_minutes_to_wait_on_logoff' to be a int") + pulumi.set(__self__, "ramp_up_minutes_to_wait_on_logoff", ramp_up_minutes_to_wait_on_logoff) + if ramp_up_start_time and not isinstance(ramp_up_start_time, dict): + raise TypeError("Expected argument 'ramp_up_start_time' to be a dict") + pulumi.set(__self__, "ramp_up_start_time", ramp_up_start_time) + if ramp_up_start_vm_on_connect and not isinstance(ramp_up_start_vm_on_connect, str): + raise TypeError("Expected argument 'ramp_up_start_vm_on_connect' to be a str") + pulumi.set(__self__, "ramp_up_start_vm_on_connect", ramp_up_start_vm_on_connect) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="daysOfWeek") + def days_of_week(self) -> Optional[Sequence[str]]: + """ + Set of days of the week on which this schedule is active. + """ + return pulumi.get(self, "days_of_week") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="offPeakActionOnDisconnect") + def off_peak_action_on_disconnect(self) -> Optional[str]: + """ + Action to be taken after a user disconnect during the off-peak period. + """ + return pulumi.get(self, "off_peak_action_on_disconnect") + + @property + @pulumi.getter(name="offPeakActionOnLogoff") + def off_peak_action_on_logoff(self) -> Optional[str]: + """ + Action to be taken after a logoff during the off-peak period. + """ + return pulumi.get(self, "off_peak_action_on_logoff") + + @property + @pulumi.getter(name="offPeakMinutesToWaitOnDisconnect") + def off_peak_minutes_to_wait_on_disconnect(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + """ + return pulumi.get(self, "off_peak_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="offPeakMinutesToWaitOnLogoff") + def off_peak_minutes_to_wait_on_logoff(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + """ + return pulumi.get(self, "off_peak_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="offPeakStartTime") + def off_peak_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for off-peak period. + """ + return pulumi.get(self, "off_peak_start_time") + + @property + @pulumi.getter(name="offPeakStartVMOnConnect") + def off_peak_start_vm_on_connect(self) -> Optional[str]: + """ + The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + """ + return pulumi.get(self, "off_peak_start_vm_on_connect") + + @property + @pulumi.getter(name="peakActionOnDisconnect") + def peak_action_on_disconnect(self) -> Optional[str]: + """ + Action to be taken after a user disconnect during the peak period. + """ + return pulumi.get(self, "peak_action_on_disconnect") + + @property + @pulumi.getter(name="peakActionOnLogoff") + def peak_action_on_logoff(self) -> Optional[str]: + """ + Action to be taken after a logoff during the peak period. + """ + return pulumi.get(self, "peak_action_on_logoff") + + @property + @pulumi.getter(name="peakMinutesToWaitOnDisconnect") + def peak_minutes_to_wait_on_disconnect(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + """ + return pulumi.get(self, "peak_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="peakMinutesToWaitOnLogoff") + def peak_minutes_to_wait_on_logoff(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + """ + return pulumi.get(self, "peak_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="peakStartTime") + def peak_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for peak period. + """ + return pulumi.get(self, "peak_start_time") + + @property + @pulumi.getter(name="peakStartVMOnConnect") + def peak_start_vm_on_connect(self) -> Optional[str]: + """ + The desired configuration of Start VM On Connect for the hostpool during the peak phase. + """ + return pulumi.get(self, "peak_start_vm_on_connect") + + @property + @pulumi.getter(name="rampDownActionOnDisconnect") + def ramp_down_action_on_disconnect(self) -> Optional[str]: + """ + Action to be taken after a user disconnect during the ramp down period. + """ + return pulumi.get(self, "ramp_down_action_on_disconnect") + + @property + @pulumi.getter(name="rampDownActionOnLogoff") + def ramp_down_action_on_logoff(self) -> Optional[str]: + """ + Action to be taken after a logoff during the ramp down period. + """ + return pulumi.get(self, "ramp_down_action_on_logoff") + + @property + @pulumi.getter(name="rampDownMinutesToWaitOnDisconnect") + def ramp_down_minutes_to_wait_on_disconnect(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + """ + return pulumi.get(self, "ramp_down_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="rampDownMinutesToWaitOnLogoff") + def ramp_down_minutes_to_wait_on_logoff(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + """ + return pulumi.get(self, "ramp_down_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="rampDownStartTime") + def ramp_down_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for ramp down period. + """ + return pulumi.get(self, "ramp_down_start_time") + + @property + @pulumi.getter(name="rampDownStartVMOnConnect") + def ramp_down_start_vm_on_connect(self) -> Optional[str]: + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + """ + return pulumi.get(self, "ramp_down_start_vm_on_connect") + + @property + @pulumi.getter(name="rampUpActionOnDisconnect") + def ramp_up_action_on_disconnect(self) -> Optional[str]: + """ + Action to be taken after a user disconnect during the ramp up period. + """ + return pulumi.get(self, "ramp_up_action_on_disconnect") + + @property + @pulumi.getter(name="rampUpActionOnLogoff") + def ramp_up_action_on_logoff(self) -> Optional[str]: + """ + Action to be taken after a logoff during the ramp up period. + """ + return pulumi.get(self, "ramp_up_action_on_logoff") + + @property + @pulumi.getter(name="rampUpAutoStartHosts") + def ramp_up_auto_start_hosts(self) -> Optional[str]: + """ + The desired startup behavior during the ramp up period for personal vms in the hostpool. + """ + return pulumi.get(self, "ramp_up_auto_start_hosts") + + @property + @pulumi.getter(name="rampUpMinutesToWaitOnDisconnect") + def ramp_up_minutes_to_wait_on_disconnect(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + """ + return pulumi.get(self, "ramp_up_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="rampUpMinutesToWaitOnLogoff") + def ramp_up_minutes_to_wait_on_logoff(self) -> Optional[int]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + """ + return pulumi.get(self, "ramp_up_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="rampUpStartTime") + def ramp_up_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for ramp up period. + """ + return pulumi.get(self, "ramp_up_start_time") + + @property + @pulumi.getter(name="rampUpStartVMOnConnect") + def ramp_up_start_vm_on_connect(self) -> Optional[str]: + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + """ + return pulumi.get(self, "ramp_up_start_vm_on_connect") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetScalingPlanPersonalScheduleResult(GetScalingPlanPersonalScheduleResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetScalingPlanPersonalScheduleResult( + days_of_week=self.days_of_week, + id=self.id, + name=self.name, + off_peak_action_on_disconnect=self.off_peak_action_on_disconnect, + off_peak_action_on_logoff=self.off_peak_action_on_logoff, + off_peak_minutes_to_wait_on_disconnect=self.off_peak_minutes_to_wait_on_disconnect, + off_peak_minutes_to_wait_on_logoff=self.off_peak_minutes_to_wait_on_logoff, + off_peak_start_time=self.off_peak_start_time, + off_peak_start_vm_on_connect=self.off_peak_start_vm_on_connect, + peak_action_on_disconnect=self.peak_action_on_disconnect, + peak_action_on_logoff=self.peak_action_on_logoff, + peak_minutes_to_wait_on_disconnect=self.peak_minutes_to_wait_on_disconnect, + peak_minutes_to_wait_on_logoff=self.peak_minutes_to_wait_on_logoff, + peak_start_time=self.peak_start_time, + peak_start_vm_on_connect=self.peak_start_vm_on_connect, + ramp_down_action_on_disconnect=self.ramp_down_action_on_disconnect, + ramp_down_action_on_logoff=self.ramp_down_action_on_logoff, + ramp_down_minutes_to_wait_on_disconnect=self.ramp_down_minutes_to_wait_on_disconnect, + ramp_down_minutes_to_wait_on_logoff=self.ramp_down_minutes_to_wait_on_logoff, + ramp_down_start_time=self.ramp_down_start_time, + ramp_down_start_vm_on_connect=self.ramp_down_start_vm_on_connect, + ramp_up_action_on_disconnect=self.ramp_up_action_on_disconnect, + ramp_up_action_on_logoff=self.ramp_up_action_on_logoff, + ramp_up_auto_start_hosts=self.ramp_up_auto_start_hosts, + ramp_up_minutes_to_wait_on_disconnect=self.ramp_up_minutes_to_wait_on_disconnect, + ramp_up_minutes_to_wait_on_logoff=self.ramp_up_minutes_to_wait_on_logoff, + ramp_up_start_time=self.ramp_up_start_time, + ramp_up_start_vm_on_connect=self.ramp_up_start_vm_on_connect, + system_data=self.system_data, + type=self.type) + + +def get_scaling_plan_personal_schedule(resource_group_name: Optional[str] = None, + scaling_plan_name: Optional[str] = None, + scaling_plan_schedule_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetScalingPlanPersonalScheduleResult: + """ + Get a ScalingPlanPersonalSchedule. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str scaling_plan_name: The name of the scaling plan. + :param str scaling_plan_schedule_name: The name of the ScalingPlanSchedule + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['scalingPlanName'] = scaling_plan_name + __args__['scalingPlanScheduleName'] = scaling_plan_schedule_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:desktopvirtualization/v20230707preview:getScalingPlanPersonalSchedule', __args__, opts=opts, typ=GetScalingPlanPersonalScheduleResult).value + + return AwaitableGetScalingPlanPersonalScheduleResult( + days_of_week=__ret__.days_of_week, + id=__ret__.id, + name=__ret__.name, + off_peak_action_on_disconnect=__ret__.off_peak_action_on_disconnect, + off_peak_action_on_logoff=__ret__.off_peak_action_on_logoff, + off_peak_minutes_to_wait_on_disconnect=__ret__.off_peak_minutes_to_wait_on_disconnect, + off_peak_minutes_to_wait_on_logoff=__ret__.off_peak_minutes_to_wait_on_logoff, + off_peak_start_time=__ret__.off_peak_start_time, + off_peak_start_vm_on_connect=__ret__.off_peak_start_vm_on_connect, + peak_action_on_disconnect=__ret__.peak_action_on_disconnect, + peak_action_on_logoff=__ret__.peak_action_on_logoff, + peak_minutes_to_wait_on_disconnect=__ret__.peak_minutes_to_wait_on_disconnect, + peak_minutes_to_wait_on_logoff=__ret__.peak_minutes_to_wait_on_logoff, + peak_start_time=__ret__.peak_start_time, + peak_start_vm_on_connect=__ret__.peak_start_vm_on_connect, + ramp_down_action_on_disconnect=__ret__.ramp_down_action_on_disconnect, + ramp_down_action_on_logoff=__ret__.ramp_down_action_on_logoff, + ramp_down_minutes_to_wait_on_disconnect=__ret__.ramp_down_minutes_to_wait_on_disconnect, + ramp_down_minutes_to_wait_on_logoff=__ret__.ramp_down_minutes_to_wait_on_logoff, + ramp_down_start_time=__ret__.ramp_down_start_time, + ramp_down_start_vm_on_connect=__ret__.ramp_down_start_vm_on_connect, + ramp_up_action_on_disconnect=__ret__.ramp_up_action_on_disconnect, + ramp_up_action_on_logoff=__ret__.ramp_up_action_on_logoff, + ramp_up_auto_start_hosts=__ret__.ramp_up_auto_start_hosts, + ramp_up_minutes_to_wait_on_disconnect=__ret__.ramp_up_minutes_to_wait_on_disconnect, + ramp_up_minutes_to_wait_on_logoff=__ret__.ramp_up_minutes_to_wait_on_logoff, + ramp_up_start_time=__ret__.ramp_up_start_time, + ramp_up_start_vm_on_connect=__ret__.ramp_up_start_vm_on_connect, + system_data=__ret__.system_data, + type=__ret__.type) + + +@_utilities.lift_output_func(get_scaling_plan_personal_schedule) +def get_scaling_plan_personal_schedule_output(resource_group_name: Optional[pulumi.Input[str]] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + scaling_plan_schedule_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetScalingPlanPersonalScheduleResult]: + """ + Get a ScalingPlanPersonalSchedule. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str scaling_plan_name: The name of the scaling plan. + :param str scaling_plan_schedule_name: The name of the ScalingPlanSchedule + """ + ... diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_scaling_plan_pooled_schedule.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_scaling_plan_pooled_schedule.py new file mode 100644 index 000000000000..1ab266155aa7 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_scaling_plan_pooled_schedule.py @@ -0,0 +1,344 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetScalingPlanPooledScheduleResult', + 'AwaitableGetScalingPlanPooledScheduleResult', + 'get_scaling_plan_pooled_schedule', + 'get_scaling_plan_pooled_schedule_output', +] + +@pulumi.output_type +class GetScalingPlanPooledScheduleResult: + """ + Represents a ScalingPlanPooledSchedule definition. + """ + def __init__(__self__, days_of_week=None, id=None, name=None, off_peak_load_balancing_algorithm=None, off_peak_start_time=None, peak_load_balancing_algorithm=None, peak_start_time=None, ramp_down_capacity_threshold_pct=None, ramp_down_force_logoff_users=None, ramp_down_load_balancing_algorithm=None, ramp_down_minimum_hosts_pct=None, ramp_down_notification_message=None, ramp_down_start_time=None, ramp_down_stop_hosts_when=None, ramp_down_wait_time_minutes=None, ramp_up_capacity_threshold_pct=None, ramp_up_load_balancing_algorithm=None, ramp_up_minimum_hosts_pct=None, ramp_up_start_time=None, system_data=None, type=None): + if days_of_week and not isinstance(days_of_week, list): + raise TypeError("Expected argument 'days_of_week' to be a list") + pulumi.set(__self__, "days_of_week", days_of_week) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if off_peak_load_balancing_algorithm and not isinstance(off_peak_load_balancing_algorithm, str): + raise TypeError("Expected argument 'off_peak_load_balancing_algorithm' to be a str") + pulumi.set(__self__, "off_peak_load_balancing_algorithm", off_peak_load_balancing_algorithm) + if off_peak_start_time and not isinstance(off_peak_start_time, dict): + raise TypeError("Expected argument 'off_peak_start_time' to be a dict") + pulumi.set(__self__, "off_peak_start_time", off_peak_start_time) + if peak_load_balancing_algorithm and not isinstance(peak_load_balancing_algorithm, str): + raise TypeError("Expected argument 'peak_load_balancing_algorithm' to be a str") + pulumi.set(__self__, "peak_load_balancing_algorithm", peak_load_balancing_algorithm) + if peak_start_time and not isinstance(peak_start_time, dict): + raise TypeError("Expected argument 'peak_start_time' to be a dict") + pulumi.set(__self__, "peak_start_time", peak_start_time) + if ramp_down_capacity_threshold_pct and not isinstance(ramp_down_capacity_threshold_pct, int): + raise TypeError("Expected argument 'ramp_down_capacity_threshold_pct' to be a int") + pulumi.set(__self__, "ramp_down_capacity_threshold_pct", ramp_down_capacity_threshold_pct) + if ramp_down_force_logoff_users and not isinstance(ramp_down_force_logoff_users, bool): + raise TypeError("Expected argument 'ramp_down_force_logoff_users' to be a bool") + pulumi.set(__self__, "ramp_down_force_logoff_users", ramp_down_force_logoff_users) + if ramp_down_load_balancing_algorithm and not isinstance(ramp_down_load_balancing_algorithm, str): + raise TypeError("Expected argument 'ramp_down_load_balancing_algorithm' to be a str") + pulumi.set(__self__, "ramp_down_load_balancing_algorithm", ramp_down_load_balancing_algorithm) + if ramp_down_minimum_hosts_pct and not isinstance(ramp_down_minimum_hosts_pct, int): + raise TypeError("Expected argument 'ramp_down_minimum_hosts_pct' to be a int") + pulumi.set(__self__, "ramp_down_minimum_hosts_pct", ramp_down_minimum_hosts_pct) + if ramp_down_notification_message and not isinstance(ramp_down_notification_message, str): + raise TypeError("Expected argument 'ramp_down_notification_message' to be a str") + pulumi.set(__self__, "ramp_down_notification_message", ramp_down_notification_message) + if ramp_down_start_time and not isinstance(ramp_down_start_time, dict): + raise TypeError("Expected argument 'ramp_down_start_time' to be a dict") + pulumi.set(__self__, "ramp_down_start_time", ramp_down_start_time) + if ramp_down_stop_hosts_when and not isinstance(ramp_down_stop_hosts_when, str): + raise TypeError("Expected argument 'ramp_down_stop_hosts_when' to be a str") + pulumi.set(__self__, "ramp_down_stop_hosts_when", ramp_down_stop_hosts_when) + if ramp_down_wait_time_minutes and not isinstance(ramp_down_wait_time_minutes, int): + raise TypeError("Expected argument 'ramp_down_wait_time_minutes' to be a int") + pulumi.set(__self__, "ramp_down_wait_time_minutes", ramp_down_wait_time_minutes) + if ramp_up_capacity_threshold_pct and not isinstance(ramp_up_capacity_threshold_pct, int): + raise TypeError("Expected argument 'ramp_up_capacity_threshold_pct' to be a int") + pulumi.set(__self__, "ramp_up_capacity_threshold_pct", ramp_up_capacity_threshold_pct) + if ramp_up_load_balancing_algorithm and not isinstance(ramp_up_load_balancing_algorithm, str): + raise TypeError("Expected argument 'ramp_up_load_balancing_algorithm' to be a str") + pulumi.set(__self__, "ramp_up_load_balancing_algorithm", ramp_up_load_balancing_algorithm) + if ramp_up_minimum_hosts_pct and not isinstance(ramp_up_minimum_hosts_pct, int): + raise TypeError("Expected argument 'ramp_up_minimum_hosts_pct' to be a int") + pulumi.set(__self__, "ramp_up_minimum_hosts_pct", ramp_up_minimum_hosts_pct) + if ramp_up_start_time and not isinstance(ramp_up_start_time, dict): + raise TypeError("Expected argument 'ramp_up_start_time' to be a dict") + pulumi.set(__self__, "ramp_up_start_time", ramp_up_start_time) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="daysOfWeek") + def days_of_week(self) -> Optional[Sequence[str]]: + """ + Set of days of the week on which this schedule is active. + """ + return pulumi.get(self, "days_of_week") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="offPeakLoadBalancingAlgorithm") + def off_peak_load_balancing_algorithm(self) -> Optional[str]: + """ + Load balancing algorithm for off-peak period. + """ + return pulumi.get(self, "off_peak_load_balancing_algorithm") + + @property + @pulumi.getter(name="offPeakStartTime") + def off_peak_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for off-peak period. + """ + return pulumi.get(self, "off_peak_start_time") + + @property + @pulumi.getter(name="peakLoadBalancingAlgorithm") + def peak_load_balancing_algorithm(self) -> Optional[str]: + """ + Load balancing algorithm for peak period. + """ + return pulumi.get(self, "peak_load_balancing_algorithm") + + @property + @pulumi.getter(name="peakStartTime") + def peak_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for peak period. + """ + return pulumi.get(self, "peak_start_time") + + @property + @pulumi.getter(name="rampDownCapacityThresholdPct") + def ramp_down_capacity_threshold_pct(self) -> Optional[int]: + """ + Capacity threshold for ramp down period. + """ + return pulumi.get(self, "ramp_down_capacity_threshold_pct") + + @property + @pulumi.getter(name="rampDownForceLogoffUsers") + def ramp_down_force_logoff_users(self) -> Optional[bool]: + """ + Should users be logged off forcefully from hosts. + """ + return pulumi.get(self, "ramp_down_force_logoff_users") + + @property + @pulumi.getter(name="rampDownLoadBalancingAlgorithm") + def ramp_down_load_balancing_algorithm(self) -> Optional[str]: + """ + Load balancing algorithm for ramp down period. + """ + return pulumi.get(self, "ramp_down_load_balancing_algorithm") + + @property + @pulumi.getter(name="rampDownMinimumHostsPct") + def ramp_down_minimum_hosts_pct(self) -> Optional[int]: + """ + Minimum host percentage for ramp down period. + """ + return pulumi.get(self, "ramp_down_minimum_hosts_pct") + + @property + @pulumi.getter(name="rampDownNotificationMessage") + def ramp_down_notification_message(self) -> Optional[str]: + """ + Notification message for users during ramp down period. + """ + return pulumi.get(self, "ramp_down_notification_message") + + @property + @pulumi.getter(name="rampDownStartTime") + def ramp_down_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for ramp down period. + """ + return pulumi.get(self, "ramp_down_start_time") + + @property + @pulumi.getter(name="rampDownStopHostsWhen") + def ramp_down_stop_hosts_when(self) -> Optional[str]: + """ + Specifies when to stop hosts during ramp down period. + """ + return pulumi.get(self, "ramp_down_stop_hosts_when") + + @property + @pulumi.getter(name="rampDownWaitTimeMinutes") + def ramp_down_wait_time_minutes(self) -> Optional[int]: + """ + Number of minutes to wait to stop hosts during ramp down period. + """ + return pulumi.get(self, "ramp_down_wait_time_minutes") + + @property + @pulumi.getter(name="rampUpCapacityThresholdPct") + def ramp_up_capacity_threshold_pct(self) -> Optional[int]: + """ + Capacity threshold for ramp up period. + """ + return pulumi.get(self, "ramp_up_capacity_threshold_pct") + + @property + @pulumi.getter(name="rampUpLoadBalancingAlgorithm") + def ramp_up_load_balancing_algorithm(self) -> Optional[str]: + """ + Load balancing algorithm for ramp up period. + """ + return pulumi.get(self, "ramp_up_load_balancing_algorithm") + + @property + @pulumi.getter(name="rampUpMinimumHostsPct") + def ramp_up_minimum_hosts_pct(self) -> Optional[int]: + """ + Minimum host percentage for ramp up period. + """ + return pulumi.get(self, "ramp_up_minimum_hosts_pct") + + @property + @pulumi.getter(name="rampUpStartTime") + def ramp_up_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for ramp up period. + """ + return pulumi.get(self, "ramp_up_start_time") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetScalingPlanPooledScheduleResult(GetScalingPlanPooledScheduleResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetScalingPlanPooledScheduleResult( + days_of_week=self.days_of_week, + id=self.id, + name=self.name, + off_peak_load_balancing_algorithm=self.off_peak_load_balancing_algorithm, + off_peak_start_time=self.off_peak_start_time, + peak_load_balancing_algorithm=self.peak_load_balancing_algorithm, + peak_start_time=self.peak_start_time, + ramp_down_capacity_threshold_pct=self.ramp_down_capacity_threshold_pct, + ramp_down_force_logoff_users=self.ramp_down_force_logoff_users, + ramp_down_load_balancing_algorithm=self.ramp_down_load_balancing_algorithm, + ramp_down_minimum_hosts_pct=self.ramp_down_minimum_hosts_pct, + ramp_down_notification_message=self.ramp_down_notification_message, + ramp_down_start_time=self.ramp_down_start_time, + ramp_down_stop_hosts_when=self.ramp_down_stop_hosts_when, + ramp_down_wait_time_minutes=self.ramp_down_wait_time_minutes, + ramp_up_capacity_threshold_pct=self.ramp_up_capacity_threshold_pct, + ramp_up_load_balancing_algorithm=self.ramp_up_load_balancing_algorithm, + ramp_up_minimum_hosts_pct=self.ramp_up_minimum_hosts_pct, + ramp_up_start_time=self.ramp_up_start_time, + system_data=self.system_data, + type=self.type) + + +def get_scaling_plan_pooled_schedule(resource_group_name: Optional[str] = None, + scaling_plan_name: Optional[str] = None, + scaling_plan_schedule_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetScalingPlanPooledScheduleResult: + """ + Get a ScalingPlanPooledSchedule. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str scaling_plan_name: The name of the scaling plan. + :param str scaling_plan_schedule_name: The name of the ScalingPlanSchedule + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['scalingPlanName'] = scaling_plan_name + __args__['scalingPlanScheduleName'] = scaling_plan_schedule_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:desktopvirtualization/v20230707preview:getScalingPlanPooledSchedule', __args__, opts=opts, typ=GetScalingPlanPooledScheduleResult).value + + return AwaitableGetScalingPlanPooledScheduleResult( + days_of_week=__ret__.days_of_week, + id=__ret__.id, + name=__ret__.name, + off_peak_load_balancing_algorithm=__ret__.off_peak_load_balancing_algorithm, + off_peak_start_time=__ret__.off_peak_start_time, + peak_load_balancing_algorithm=__ret__.peak_load_balancing_algorithm, + peak_start_time=__ret__.peak_start_time, + ramp_down_capacity_threshold_pct=__ret__.ramp_down_capacity_threshold_pct, + ramp_down_force_logoff_users=__ret__.ramp_down_force_logoff_users, + ramp_down_load_balancing_algorithm=__ret__.ramp_down_load_balancing_algorithm, + ramp_down_minimum_hosts_pct=__ret__.ramp_down_minimum_hosts_pct, + ramp_down_notification_message=__ret__.ramp_down_notification_message, + ramp_down_start_time=__ret__.ramp_down_start_time, + ramp_down_stop_hosts_when=__ret__.ramp_down_stop_hosts_when, + ramp_down_wait_time_minutes=__ret__.ramp_down_wait_time_minutes, + ramp_up_capacity_threshold_pct=__ret__.ramp_up_capacity_threshold_pct, + ramp_up_load_balancing_algorithm=__ret__.ramp_up_load_balancing_algorithm, + ramp_up_minimum_hosts_pct=__ret__.ramp_up_minimum_hosts_pct, + ramp_up_start_time=__ret__.ramp_up_start_time, + system_data=__ret__.system_data, + type=__ret__.type) + + +@_utilities.lift_output_func(get_scaling_plan_pooled_schedule) +def get_scaling_plan_pooled_schedule_output(resource_group_name: Optional[pulumi.Input[str]] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + scaling_plan_schedule_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetScalingPlanPooledScheduleResult]: + """ + Get a ScalingPlanPooledSchedule. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str scaling_plan_name: The name of the scaling plan. + :param str scaling_plan_schedule_name: The name of the ScalingPlanSchedule + """ + ... diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_workspace.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_workspace.py new file mode 100644 index 000000000000..9b2480077859 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/get_workspace.py @@ -0,0 +1,304 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetWorkspaceResult', + 'AwaitableGetWorkspaceResult', + 'get_workspace', + 'get_workspace_output', +] + +@pulumi.output_type +class GetWorkspaceResult: + """ + Represents a Workspace definition. + """ + def __init__(__self__, application_group_references=None, cloud_pc_resource=None, description=None, etag=None, friendly_name=None, id=None, identity=None, kind=None, location=None, managed_by=None, name=None, object_id=None, plan=None, private_endpoint_connections=None, public_network_access=None, sku=None, system_data=None, tags=None, type=None): + if application_group_references and not isinstance(application_group_references, list): + raise TypeError("Expected argument 'application_group_references' to be a list") + pulumi.set(__self__, "application_group_references", application_group_references) + if cloud_pc_resource and not isinstance(cloud_pc_resource, bool): + raise TypeError("Expected argument 'cloud_pc_resource' to be a bool") + pulumi.set(__self__, "cloud_pc_resource", cloud_pc_resource) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if etag and not isinstance(etag, str): + raise TypeError("Expected argument 'etag' to be a str") + pulumi.set(__self__, "etag", etag) + if friendly_name and not isinstance(friendly_name, str): + raise TypeError("Expected argument 'friendly_name' to be a str") + pulumi.set(__self__, "friendly_name", friendly_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if kind and not isinstance(kind, str): + raise TypeError("Expected argument 'kind' to be a str") + pulumi.set(__self__, "kind", kind) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if managed_by and not isinstance(managed_by, str): + raise TypeError("Expected argument 'managed_by' to be a str") + pulumi.set(__self__, "managed_by", managed_by) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if object_id and not isinstance(object_id, str): + raise TypeError("Expected argument 'object_id' to be a str") + pulumi.set(__self__, "object_id", object_id) + if plan and not isinstance(plan, dict): + raise TypeError("Expected argument 'plan' to be a dict") + pulumi.set(__self__, "plan", plan) + if private_endpoint_connections and not isinstance(private_endpoint_connections, list): + raise TypeError("Expected argument 'private_endpoint_connections' to be a list") + pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections) + if public_network_access and not isinstance(public_network_access, str): + raise TypeError("Expected argument 'public_network_access' to be a str") + pulumi.set(__self__, "public_network_access", public_network_access) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="applicationGroupReferences") + def application_group_references(self) -> Optional[Sequence[str]]: + """ + List of applicationGroup resource Ids. + """ + return pulumi.get(self, "application_group_references") + + @property + @pulumi.getter(name="cloudPcResource") + def cloud_pc_resource(self) -> bool: + """ + Is cloud pc resource. + """ + return pulumi.get(self, "cloud_pc_resource") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + Description of Workspace. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def etag(self) -> str: + """ + The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> Optional[str]: + """ + Friendly name of Workspace. + """ + return pulumi.get(self, "friendly_name") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.ResourceModelWithAllowedPropertySetResponseIdentity']: + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def kind(self) -> Optional[str]: + """ + Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def location(self) -> Optional[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> Optional[str]: + """ + The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + """ + return pulumi.get(self, "managed_by") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> str: + """ + ObjectId of Workspace. (internal use) + """ + return pulumi.get(self, "object_id") + + @property + @pulumi.getter + def plan(self) -> Optional['outputs.ResourceModelWithAllowedPropertySetResponsePlan']: + return pulumi.get(self, "plan") + + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> Sequence['outputs.PrivateEndpointConnectionResponse']: + """ + List of private endpoint connection associated with the specified resource + """ + return pulumi.get(self, "private_endpoint_connections") + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> Optional[str]: + """ + Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + """ + return pulumi.get(self, "public_network_access") + + @property + @pulumi.getter + def sku(self) -> Optional['outputs.ResourceModelWithAllowedPropertySetResponseSku']: + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetWorkspaceResult(GetWorkspaceResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetWorkspaceResult( + application_group_references=self.application_group_references, + cloud_pc_resource=self.cloud_pc_resource, + description=self.description, + etag=self.etag, + friendly_name=self.friendly_name, + id=self.id, + identity=self.identity, + kind=self.kind, + location=self.location, + managed_by=self.managed_by, + name=self.name, + object_id=self.object_id, + plan=self.plan, + private_endpoint_connections=self.private_endpoint_connections, + public_network_access=self.public_network_access, + sku=self.sku, + system_data=self.system_data, + tags=self.tags, + type=self.type) + + +def get_workspace(resource_group_name: Optional[str] = None, + workspace_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWorkspaceResult: + """ + Get a workspace. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str workspace_name: The name of the workspace + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['workspaceName'] = workspace_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:desktopvirtualization/v20230707preview:getWorkspace', __args__, opts=opts, typ=GetWorkspaceResult).value + + return AwaitableGetWorkspaceResult( + application_group_references=__ret__.application_group_references, + cloud_pc_resource=__ret__.cloud_pc_resource, + description=__ret__.description, + etag=__ret__.etag, + friendly_name=__ret__.friendly_name, + id=__ret__.id, + identity=__ret__.identity, + kind=__ret__.kind, + location=__ret__.location, + managed_by=__ret__.managed_by, + name=__ret__.name, + object_id=__ret__.object_id, + plan=__ret__.plan, + private_endpoint_connections=__ret__.private_endpoint_connections, + public_network_access=__ret__.public_network_access, + sku=__ret__.sku, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type) + + +@_utilities.lift_output_func(get_workspace) +def get_workspace_output(resource_group_name: Optional[pulumi.Input[str]] = None, + workspace_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkspaceResult]: + """ + Get a workspace. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str workspace_name: The name of the workspace + """ + ... diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/host_pool.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/host_pool.py new file mode 100644 index 000000000000..138a259f12b1 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/host_pool.py @@ -0,0 +1,949 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['HostPoolArgs', 'HostPool'] + +@pulumi.input_type +class HostPoolArgs: + def __init__(__self__, *, + host_pool_type: pulumi.Input[Union[str, 'HostPoolType']], + load_balancer_type: pulumi.Input[Union[str, 'LoadBalancerType']], + preferred_app_group_type: pulumi.Input[Union[str, 'PreferredAppGroupType']], + resource_group_name: pulumi.Input[str], + agent_update: Optional[pulumi.Input['AgentUpdatePropertiesArgs']] = None, + custom_rdp_property: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + host_pool_name: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetIdentityArgs']] = None, + kind: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + managed_by: Optional[pulumi.Input[str]] = None, + max_session_limit: Optional[pulumi.Input[int]] = None, + personal_desktop_assignment_type: Optional[pulumi.Input[Union[str, 'PersonalDesktopAssignmentType']]] = None, + plan: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetPlanArgs']] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'HostpoolPublicNetworkAccess']]] = None, + registration_info: Optional[pulumi.Input['RegistrationInfoArgs']] = None, + ring: Optional[pulumi.Input[int]] = None, + sku: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetSkuArgs']] = None, + sso_client_id: Optional[pulumi.Input[str]] = None, + sso_client_secret_key_vault_path: Optional[pulumi.Input[str]] = None, + sso_secret_type: Optional[pulumi.Input[Union[str, 'SSOSecretType']]] = None, + ssoadfs_authority: Optional[pulumi.Input[str]] = None, + start_vm_on_connect: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + validation_environment: Optional[pulumi.Input[bool]] = None, + vm_template: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a HostPool resource. + :param pulumi.Input[Union[str, 'HostPoolType']] host_pool_type: HostPool type for desktop. + :param pulumi.Input[Union[str, 'LoadBalancerType']] load_balancer_type: The type of the load balancer. + :param pulumi.Input[Union[str, 'PreferredAppGroupType']] preferred_app_group_type: The type of preferred application group type, default to Desktop Application Group + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input['AgentUpdatePropertiesArgs'] agent_update: The session host configuration for updating agent, monitoring agent, and stack component. + :param pulumi.Input[str] custom_rdp_property: Custom rdp property of HostPool. + :param pulumi.Input[str] description: Description of HostPool. + :param pulumi.Input[str] friendly_name: Friendly name of HostPool. + :param pulumi.Input[str] host_pool_name: The name of the host pool within the specified resource group + :param pulumi.Input[str] kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + :param pulumi.Input[int] max_session_limit: The max session limit of HostPool. + :param pulumi.Input[Union[str, 'PersonalDesktopAssignmentType']] personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. + :param pulumi.Input[Union[str, 'HostpoolPublicNetworkAccess']] public_network_access: Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + :param pulumi.Input['RegistrationInfoArgs'] registration_info: The registration info of HostPool. + :param pulumi.Input[int] ring: The ring number of HostPool. + :param pulumi.Input[str] sso_client_id: ClientId for the registered Relying Party used to issue WVD SSO certificates. + :param pulumi.Input[str] sso_client_secret_key_vault_path: Path to Azure KeyVault storing the secret used for communication to ADFS. + :param pulumi.Input[Union[str, 'SSOSecretType']] sso_secret_type: The type of single sign on Secret Type. + :param pulumi.Input[str] ssoadfs_authority: URL to customer ADFS server for signing WVD SSO certificates. + :param pulumi.Input[bool] start_vm_on_connect: The flag to turn on/off StartVMOnConnect feature. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[bool] validation_environment: Is validation environment. + :param pulumi.Input[str] vm_template: VM template for sessionhosts configuration within hostpool. + """ + pulumi.set(__self__, "host_pool_type", host_pool_type) + pulumi.set(__self__, "load_balancer_type", load_balancer_type) + pulumi.set(__self__, "preferred_app_group_type", preferred_app_group_type) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if agent_update is not None: + pulumi.set(__self__, "agent_update", agent_update) + if custom_rdp_property is not None: + pulumi.set(__self__, "custom_rdp_property", custom_rdp_property) + if description is not None: + pulumi.set(__self__, "description", description) + if friendly_name is not None: + pulumi.set(__self__, "friendly_name", friendly_name) + if host_pool_name is not None: + pulumi.set(__self__, "host_pool_name", host_pool_name) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if kind is not None: + pulumi.set(__self__, "kind", kind) + if location is not None: + pulumi.set(__self__, "location", location) + if managed_by is not None: + pulumi.set(__self__, "managed_by", managed_by) + if max_session_limit is not None: + pulumi.set(__self__, "max_session_limit", max_session_limit) + if personal_desktop_assignment_type is not None: + pulumi.set(__self__, "personal_desktop_assignment_type", personal_desktop_assignment_type) + if plan is not None: + pulumi.set(__self__, "plan", plan) + if public_network_access is not None: + pulumi.set(__self__, "public_network_access", public_network_access) + if registration_info is not None: + pulumi.set(__self__, "registration_info", registration_info) + if ring is not None: + pulumi.set(__self__, "ring", ring) + if sku is not None: + pulumi.set(__self__, "sku", sku) + if sso_client_id is not None: + pulumi.set(__self__, "sso_client_id", sso_client_id) + if sso_client_secret_key_vault_path is not None: + pulumi.set(__self__, "sso_client_secret_key_vault_path", sso_client_secret_key_vault_path) + if sso_secret_type is not None: + pulumi.set(__self__, "sso_secret_type", sso_secret_type) + if ssoadfs_authority is not None: + pulumi.set(__self__, "ssoadfs_authority", ssoadfs_authority) + if start_vm_on_connect is not None: + pulumi.set(__self__, "start_vm_on_connect", start_vm_on_connect) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if validation_environment is not None: + pulumi.set(__self__, "validation_environment", validation_environment) + if vm_template is not None: + pulumi.set(__self__, "vm_template", vm_template) + + @property + @pulumi.getter(name="hostPoolType") + def host_pool_type(self) -> pulumi.Input[Union[str, 'HostPoolType']]: + """ + HostPool type for desktop. + """ + return pulumi.get(self, "host_pool_type") + + @host_pool_type.setter + def host_pool_type(self, value: pulumi.Input[Union[str, 'HostPoolType']]): + pulumi.set(self, "host_pool_type", value) + + @property + @pulumi.getter(name="loadBalancerType") + def load_balancer_type(self) -> pulumi.Input[Union[str, 'LoadBalancerType']]: + """ + The type of the load balancer. + """ + return pulumi.get(self, "load_balancer_type") + + @load_balancer_type.setter + def load_balancer_type(self, value: pulumi.Input[Union[str, 'LoadBalancerType']]): + pulumi.set(self, "load_balancer_type", value) + + @property + @pulumi.getter(name="preferredAppGroupType") + def preferred_app_group_type(self) -> pulumi.Input[Union[str, 'PreferredAppGroupType']]: + """ + The type of preferred application group type, default to Desktop Application Group + """ + return pulumi.get(self, "preferred_app_group_type") + + @preferred_app_group_type.setter + def preferred_app_group_type(self, value: pulumi.Input[Union[str, 'PreferredAppGroupType']]): + pulumi.set(self, "preferred_app_group_type", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="agentUpdate") + def agent_update(self) -> Optional[pulumi.Input['AgentUpdatePropertiesArgs']]: + """ + The session host configuration for updating agent, monitoring agent, and stack component. + """ + return pulumi.get(self, "agent_update") + + @agent_update.setter + def agent_update(self, value: Optional[pulumi.Input['AgentUpdatePropertiesArgs']]): + pulumi.set(self, "agent_update", value) + + @property + @pulumi.getter(name="customRdpProperty") + def custom_rdp_property(self) -> Optional[pulumi.Input[str]]: + """ + Custom rdp property of HostPool. + """ + return pulumi.get(self, "custom_rdp_property") + + @custom_rdp_property.setter + def custom_rdp_property(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "custom_rdp_property", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of HostPool. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> Optional[pulumi.Input[str]]: + """ + Friendly name of HostPool. + """ + return pulumi.get(self, "friendly_name") + + @friendly_name.setter + def friendly_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "friendly_name", value) + + @property + @pulumi.getter(name="hostPoolName") + def host_pool_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the host pool within the specified resource group + """ + return pulumi.get(self, "host_pool_name") + + @host_pool_name.setter + def host_pool_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_pool_name", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['ResourceModelWithAllowedPropertySetIdentityArgs']]: + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def kind(self) -> Optional[pulumi.Input[str]]: + """ + Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> Optional[pulumi.Input[str]]: + """ + The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + """ + return pulumi.get(self, "managed_by") + + @managed_by.setter + def managed_by(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "managed_by", value) + + @property + @pulumi.getter(name="maxSessionLimit") + def max_session_limit(self) -> Optional[pulumi.Input[int]]: + """ + The max session limit of HostPool. + """ + return pulumi.get(self, "max_session_limit") + + @max_session_limit.setter + def max_session_limit(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_session_limit", value) + + @property + @pulumi.getter(name="personalDesktopAssignmentType") + def personal_desktop_assignment_type(self) -> Optional[pulumi.Input[Union[str, 'PersonalDesktopAssignmentType']]]: + """ + PersonalDesktopAssignment type for HostPool. + """ + return pulumi.get(self, "personal_desktop_assignment_type") + + @personal_desktop_assignment_type.setter + def personal_desktop_assignment_type(self, value: Optional[pulumi.Input[Union[str, 'PersonalDesktopAssignmentType']]]): + pulumi.set(self, "personal_desktop_assignment_type", value) + + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['ResourceModelWithAllowedPropertySetPlanArgs']]: + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetPlanArgs']]): + pulumi.set(self, "plan", value) + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> Optional[pulumi.Input[Union[str, 'HostpoolPublicNetworkAccess']]]: + """ + Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + """ + return pulumi.get(self, "public_network_access") + + @public_network_access.setter + def public_network_access(self, value: Optional[pulumi.Input[Union[str, 'HostpoolPublicNetworkAccess']]]): + pulumi.set(self, "public_network_access", value) + + @property + @pulumi.getter(name="registrationInfo") + def registration_info(self) -> Optional[pulumi.Input['RegistrationInfoArgs']]: + """ + The registration info of HostPool. + """ + return pulumi.get(self, "registration_info") + + @registration_info.setter + def registration_info(self, value: Optional[pulumi.Input['RegistrationInfoArgs']]): + pulumi.set(self, "registration_info", value) + + @property + @pulumi.getter + def ring(self) -> Optional[pulumi.Input[int]]: + """ + The ring number of HostPool. + """ + return pulumi.get(self, "ring") + + @ring.setter + def ring(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ring", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input['ResourceModelWithAllowedPropertySetSkuArgs']]: + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetSkuArgs']]): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter(name="ssoClientId") + def sso_client_id(self) -> Optional[pulumi.Input[str]]: + """ + ClientId for the registered Relying Party used to issue WVD SSO certificates. + """ + return pulumi.get(self, "sso_client_id") + + @sso_client_id.setter + def sso_client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sso_client_id", value) + + @property + @pulumi.getter(name="ssoClientSecretKeyVaultPath") + def sso_client_secret_key_vault_path(self) -> Optional[pulumi.Input[str]]: + """ + Path to Azure KeyVault storing the secret used for communication to ADFS. + """ + return pulumi.get(self, "sso_client_secret_key_vault_path") + + @sso_client_secret_key_vault_path.setter + def sso_client_secret_key_vault_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sso_client_secret_key_vault_path", value) + + @property + @pulumi.getter(name="ssoSecretType") + def sso_secret_type(self) -> Optional[pulumi.Input[Union[str, 'SSOSecretType']]]: + """ + The type of single sign on Secret Type. + """ + return pulumi.get(self, "sso_secret_type") + + @sso_secret_type.setter + def sso_secret_type(self, value: Optional[pulumi.Input[Union[str, 'SSOSecretType']]]): + pulumi.set(self, "sso_secret_type", value) + + @property + @pulumi.getter(name="ssoadfsAuthority") + def ssoadfs_authority(self) -> Optional[pulumi.Input[str]]: + """ + URL to customer ADFS server for signing WVD SSO certificates. + """ + return pulumi.get(self, "ssoadfs_authority") + + @ssoadfs_authority.setter + def ssoadfs_authority(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ssoadfs_authority", value) + + @property + @pulumi.getter(name="startVMOnConnect") + def start_vm_on_connect(self) -> Optional[pulumi.Input[bool]]: + """ + The flag to turn on/off StartVMOnConnect feature. + """ + return pulumi.get(self, "start_vm_on_connect") + + @start_vm_on_connect.setter + def start_vm_on_connect(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "start_vm_on_connect", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="validationEnvironment") + def validation_environment(self) -> Optional[pulumi.Input[bool]]: + """ + Is validation environment. + """ + return pulumi.get(self, "validation_environment") + + @validation_environment.setter + def validation_environment(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "validation_environment", value) + + @property + @pulumi.getter(name="vmTemplate") + def vm_template(self) -> Optional[pulumi.Input[str]]: + """ + VM template for sessionhosts configuration within hostpool. + """ + return pulumi.get(self, "vm_template") + + @vm_template.setter + def vm_template(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vm_template", value) + + +class HostPool(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + agent_update: Optional[pulumi.Input[pulumi.InputType['AgentUpdatePropertiesArgs']]] = None, + custom_rdp_property: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + host_pool_name: Optional[pulumi.Input[str]] = None, + host_pool_type: Optional[pulumi.Input[Union[str, 'HostPoolType']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetIdentityArgs']]] = None, + kind: Optional[pulumi.Input[str]] = None, + load_balancer_type: Optional[pulumi.Input[Union[str, 'LoadBalancerType']]] = None, + location: Optional[pulumi.Input[str]] = None, + managed_by: Optional[pulumi.Input[str]] = None, + max_session_limit: Optional[pulumi.Input[int]] = None, + personal_desktop_assignment_type: Optional[pulumi.Input[Union[str, 'PersonalDesktopAssignmentType']]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetPlanArgs']]] = None, + preferred_app_group_type: Optional[pulumi.Input[Union[str, 'PreferredAppGroupType']]] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'HostpoolPublicNetworkAccess']]] = None, + registration_info: Optional[pulumi.Input[pulumi.InputType['RegistrationInfoArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + ring: Optional[pulumi.Input[int]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetSkuArgs']]] = None, + sso_client_id: Optional[pulumi.Input[str]] = None, + sso_client_secret_key_vault_path: Optional[pulumi.Input[str]] = None, + sso_secret_type: Optional[pulumi.Input[Union[str, 'SSOSecretType']]] = None, + ssoadfs_authority: Optional[pulumi.Input[str]] = None, + start_vm_on_connect: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + validation_environment: Optional[pulumi.Input[bool]] = None, + vm_template: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Represents a HostPool definition. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['AgentUpdatePropertiesArgs']] agent_update: The session host configuration for updating agent, monitoring agent, and stack component. + :param pulumi.Input[str] custom_rdp_property: Custom rdp property of HostPool. + :param pulumi.Input[str] description: Description of HostPool. + :param pulumi.Input[str] friendly_name: Friendly name of HostPool. + :param pulumi.Input[str] host_pool_name: The name of the host pool within the specified resource group + :param pulumi.Input[Union[str, 'HostPoolType']] host_pool_type: HostPool type for desktop. + :param pulumi.Input[str] kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + :param pulumi.Input[Union[str, 'LoadBalancerType']] load_balancer_type: The type of the load balancer. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + :param pulumi.Input[int] max_session_limit: The max session limit of HostPool. + :param pulumi.Input[Union[str, 'PersonalDesktopAssignmentType']] personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. + :param pulumi.Input[Union[str, 'PreferredAppGroupType']] preferred_app_group_type: The type of preferred application group type, default to Desktop Application Group + :param pulumi.Input[Union[str, 'HostpoolPublicNetworkAccess']] public_network_access: Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + :param pulumi.Input[pulumi.InputType['RegistrationInfoArgs']] registration_info: The registration info of HostPool. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[int] ring: The ring number of HostPool. + :param pulumi.Input[str] sso_client_id: ClientId for the registered Relying Party used to issue WVD SSO certificates. + :param pulumi.Input[str] sso_client_secret_key_vault_path: Path to Azure KeyVault storing the secret used for communication to ADFS. + :param pulumi.Input[Union[str, 'SSOSecretType']] sso_secret_type: The type of single sign on Secret Type. + :param pulumi.Input[str] ssoadfs_authority: URL to customer ADFS server for signing WVD SSO certificates. + :param pulumi.Input[bool] start_vm_on_connect: The flag to turn on/off StartVMOnConnect feature. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[bool] validation_environment: Is validation environment. + :param pulumi.Input[str] vm_template: VM template for sessionhosts configuration within hostpool. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: HostPoolArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Represents a HostPool definition. + + :param str resource_name: The name of the resource. + :param HostPoolArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(HostPoolArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + agent_update: Optional[pulumi.Input[pulumi.InputType['AgentUpdatePropertiesArgs']]] = None, + custom_rdp_property: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + host_pool_name: Optional[pulumi.Input[str]] = None, + host_pool_type: Optional[pulumi.Input[Union[str, 'HostPoolType']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetIdentityArgs']]] = None, + kind: Optional[pulumi.Input[str]] = None, + load_balancer_type: Optional[pulumi.Input[Union[str, 'LoadBalancerType']]] = None, + location: Optional[pulumi.Input[str]] = None, + managed_by: Optional[pulumi.Input[str]] = None, + max_session_limit: Optional[pulumi.Input[int]] = None, + personal_desktop_assignment_type: Optional[pulumi.Input[Union[str, 'PersonalDesktopAssignmentType']]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetPlanArgs']]] = None, + preferred_app_group_type: Optional[pulumi.Input[Union[str, 'PreferredAppGroupType']]] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'HostpoolPublicNetworkAccess']]] = None, + registration_info: Optional[pulumi.Input[pulumi.InputType['RegistrationInfoArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + ring: Optional[pulumi.Input[int]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetSkuArgs']]] = None, + sso_client_id: Optional[pulumi.Input[str]] = None, + sso_client_secret_key_vault_path: Optional[pulumi.Input[str]] = None, + sso_secret_type: Optional[pulumi.Input[Union[str, 'SSOSecretType']]] = None, + ssoadfs_authority: Optional[pulumi.Input[str]] = None, + start_vm_on_connect: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + validation_environment: Optional[pulumi.Input[bool]] = None, + vm_template: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = HostPoolArgs.__new__(HostPoolArgs) + + __props__.__dict__["agent_update"] = agent_update + __props__.__dict__["custom_rdp_property"] = custom_rdp_property + __props__.__dict__["description"] = description + __props__.__dict__["friendly_name"] = friendly_name + __props__.__dict__["host_pool_name"] = host_pool_name + if host_pool_type is None and not opts.urn: + raise TypeError("Missing required property 'host_pool_type'") + __props__.__dict__["host_pool_type"] = host_pool_type + __props__.__dict__["identity"] = identity + __props__.__dict__["kind"] = kind + if load_balancer_type is None and not opts.urn: + raise TypeError("Missing required property 'load_balancer_type'") + __props__.__dict__["load_balancer_type"] = load_balancer_type + __props__.__dict__["location"] = location + __props__.__dict__["managed_by"] = managed_by + __props__.__dict__["max_session_limit"] = max_session_limit + __props__.__dict__["personal_desktop_assignment_type"] = personal_desktop_assignment_type + __props__.__dict__["plan"] = plan + if preferred_app_group_type is None and not opts.urn: + raise TypeError("Missing required property 'preferred_app_group_type'") + __props__.__dict__["preferred_app_group_type"] = preferred_app_group_type + __props__.__dict__["public_network_access"] = public_network_access + __props__.__dict__["registration_info"] = registration_info + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["ring"] = ring + __props__.__dict__["sku"] = sku + __props__.__dict__["sso_client_id"] = sso_client_id + __props__.__dict__["sso_client_secret_key_vault_path"] = sso_client_secret_key_vault_path + __props__.__dict__["sso_secret_type"] = sso_secret_type + __props__.__dict__["ssoadfs_authority"] = ssoadfs_authority + __props__.__dict__["start_vm_on_connect"] = start_vm_on_connect + __props__.__dict__["tags"] = tags + __props__.__dict__["validation_environment"] = validation_environment + __props__.__dict__["vm_template"] = vm_template + __props__.__dict__["application_group_references"] = None + __props__.__dict__["cloud_pc_resource"] = None + __props__.__dict__["etag"] = None + __props__.__dict__["name"] = None + __props__.__dict__["object_id"] = None + __props__.__dict__["private_endpoint_connections"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:HostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:HostPool")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(HostPool, __self__).__init__( + 'azure-native:desktopvirtualization/v20230707preview:HostPool', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'HostPool': + """ + Get an existing HostPool resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = HostPoolArgs.__new__(HostPoolArgs) + + __props__.__dict__["agent_update"] = None + __props__.__dict__["application_group_references"] = None + __props__.__dict__["cloud_pc_resource"] = None + __props__.__dict__["custom_rdp_property"] = None + __props__.__dict__["description"] = None + __props__.__dict__["etag"] = None + __props__.__dict__["friendly_name"] = None + __props__.__dict__["host_pool_type"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["kind"] = None + __props__.__dict__["load_balancer_type"] = None + __props__.__dict__["location"] = None + __props__.__dict__["managed_by"] = None + __props__.__dict__["max_session_limit"] = None + __props__.__dict__["name"] = None + __props__.__dict__["object_id"] = None + __props__.__dict__["personal_desktop_assignment_type"] = None + __props__.__dict__["plan"] = None + __props__.__dict__["preferred_app_group_type"] = None + __props__.__dict__["private_endpoint_connections"] = None + __props__.__dict__["public_network_access"] = None + __props__.__dict__["registration_info"] = None + __props__.__dict__["ring"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["sso_client_id"] = None + __props__.__dict__["sso_client_secret_key_vault_path"] = None + __props__.__dict__["sso_secret_type"] = None + __props__.__dict__["ssoadfs_authority"] = None + __props__.__dict__["start_vm_on_connect"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["validation_environment"] = None + __props__.__dict__["vm_template"] = None + return HostPool(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="agentUpdate") + def agent_update(self) -> pulumi.Output[Optional['outputs.AgentUpdatePropertiesResponse']]: + """ + The session host configuration for updating agent, monitoring agent, and stack component. + """ + return pulumi.get(self, "agent_update") + + @property + @pulumi.getter(name="applicationGroupReferences") + def application_group_references(self) -> pulumi.Output[Sequence[str]]: + """ + List of applicationGroup links. + """ + return pulumi.get(self, "application_group_references") + + @property + @pulumi.getter(name="cloudPcResource") + def cloud_pc_resource(self) -> pulumi.Output[bool]: + """ + Is cloud pc resource. + """ + return pulumi.get(self, "cloud_pc_resource") + + @property + @pulumi.getter(name="customRdpProperty") + def custom_rdp_property(self) -> pulumi.Output[Optional[str]]: + """ + Custom rdp property of HostPool. + """ + return pulumi.get(self, "custom_rdp_property") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description of HostPool. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def etag(self) -> pulumi.Output[str]: + """ + The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> pulumi.Output[Optional[str]]: + """ + Friendly name of HostPool. + """ + return pulumi.get(self, "friendly_name") + + @property + @pulumi.getter(name="hostPoolType") + def host_pool_type(self) -> pulumi.Output[str]: + """ + HostPool type for desktop. + """ + return pulumi.get(self, "host_pool_type") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.ResourceModelWithAllowedPropertySetResponseIdentity']]: + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def kind(self) -> pulumi.Output[Optional[str]]: + """ + Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter(name="loadBalancerType") + def load_balancer_type(self) -> pulumi.Output[str]: + """ + The type of the load balancer. + """ + return pulumi.get(self, "load_balancer_type") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[Optional[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> pulumi.Output[Optional[str]]: + """ + The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + """ + return pulumi.get(self, "managed_by") + + @property + @pulumi.getter(name="maxSessionLimit") + def max_session_limit(self) -> pulumi.Output[Optional[int]]: + """ + The max session limit of HostPool. + """ + return pulumi.get(self, "max_session_limit") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> pulumi.Output[str]: + """ + ObjectId of HostPool. (internal use) + """ + return pulumi.get(self, "object_id") + + @property + @pulumi.getter(name="personalDesktopAssignmentType") + def personal_desktop_assignment_type(self) -> pulumi.Output[Optional[str]]: + """ + PersonalDesktopAssignment type for HostPool. + """ + return pulumi.get(self, "personal_desktop_assignment_type") + + @property + @pulumi.getter + def plan(self) -> pulumi.Output[Optional['outputs.ResourceModelWithAllowedPropertySetResponsePlan']]: + return pulumi.get(self, "plan") + + @property + @pulumi.getter(name="preferredAppGroupType") + def preferred_app_group_type(self) -> pulumi.Output[str]: + """ + The type of preferred application group type, default to Desktop Application Group + """ + return pulumi.get(self, "preferred_app_group_type") + + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> pulumi.Output[Sequence['outputs.PrivateEndpointConnectionResponse']]: + """ + List of private endpoint connection associated with the specified resource + """ + return pulumi.get(self, "private_endpoint_connections") + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> pulumi.Output[Optional[str]]: + """ + Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + """ + return pulumi.get(self, "public_network_access") + + @property + @pulumi.getter(name="registrationInfo") + def registration_info(self) -> pulumi.Output[Optional['outputs.RegistrationInfoResponse']]: + """ + The registration info of HostPool. + """ + return pulumi.get(self, "registration_info") + + @property + @pulumi.getter + def ring(self) -> pulumi.Output[Optional[int]]: + """ + The ring number of HostPool. + """ + return pulumi.get(self, "ring") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output[Optional['outputs.ResourceModelWithAllowedPropertySetResponseSku']]: + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="ssoClientId") + def sso_client_id(self) -> pulumi.Output[Optional[str]]: + """ + ClientId for the registered Relying Party used to issue WVD SSO certificates. + """ + return pulumi.get(self, "sso_client_id") + + @property + @pulumi.getter(name="ssoClientSecretKeyVaultPath") + def sso_client_secret_key_vault_path(self) -> pulumi.Output[Optional[str]]: + """ + Path to Azure KeyVault storing the secret used for communication to ADFS. + """ + return pulumi.get(self, "sso_client_secret_key_vault_path") + + @property + @pulumi.getter(name="ssoSecretType") + def sso_secret_type(self) -> pulumi.Output[Optional[str]]: + """ + The type of single sign on Secret Type. + """ + return pulumi.get(self, "sso_secret_type") + + @property + @pulumi.getter(name="ssoadfsAuthority") + def ssoadfs_authority(self) -> pulumi.Output[Optional[str]]: + """ + URL to customer ADFS server for signing WVD SSO certificates. + """ + return pulumi.get(self, "ssoadfs_authority") + + @property + @pulumi.getter(name="startVMOnConnect") + def start_vm_on_connect(self) -> pulumi.Output[Optional[bool]]: + """ + The flag to turn on/off StartVMOnConnect feature. + """ + return pulumi.get(self, "start_vm_on_connect") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="validationEnvironment") + def validation_environment(self) -> pulumi.Output[Optional[bool]]: + """ + Is validation environment. + """ + return pulumi.get(self, "validation_environment") + + @property + @pulumi.getter(name="vmTemplate") + def vm_template(self) -> pulumi.Output[Optional[str]]: + """ + VM template for sessionhosts configuration within hostpool. + """ + return pulumi.get(self, "vm_template") + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/msix_package.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/msix_package.py new file mode 100644 index 000000000000..68c890af5517 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/msix_package.py @@ -0,0 +1,505 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['MSIXPackageArgs', 'MSIXPackage'] + +@pulumi.input_type +class MSIXPackageArgs: + def __init__(__self__, *, + host_pool_name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + display_name: Optional[pulumi.Input[str]] = None, + image_path: Optional[pulumi.Input[str]] = None, + is_active: Optional[pulumi.Input[bool]] = None, + is_regular_registration: Optional[pulumi.Input[bool]] = None, + last_updated: Optional[pulumi.Input[str]] = None, + msix_package_full_name: Optional[pulumi.Input[str]] = None, + package_applications: Optional[pulumi.Input[Sequence[pulumi.Input['MsixPackageApplicationsArgs']]]] = None, + package_dependencies: Optional[pulumi.Input[Sequence[pulumi.Input['MsixPackageDependenciesArgs']]]] = None, + package_family_name: Optional[pulumi.Input[str]] = None, + package_name: Optional[pulumi.Input[str]] = None, + package_relative_path: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a MSIXPackage resource. + :param pulumi.Input[str] host_pool_name: The name of the host pool within the specified resource group + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] display_name: User friendly Name to be displayed in the portal. + :param pulumi.Input[str] image_path: VHD/CIM image path on Network Share. + :param pulumi.Input[bool] is_active: Make this version of the package the active one across the hostpool. + :param pulumi.Input[bool] is_regular_registration: Specifies how to register Package in feed. + :param pulumi.Input[str] last_updated: Date Package was last updated, found in the appxmanifest.xml. + :param pulumi.Input[str] msix_package_full_name: The version specific package full name of the MSIX package within specified hostpool + :param pulumi.Input[Sequence[pulumi.Input['MsixPackageApplicationsArgs']]] package_applications: List of package applications. + :param pulumi.Input[Sequence[pulumi.Input['MsixPackageDependenciesArgs']]] package_dependencies: List of package dependencies. + :param pulumi.Input[str] package_family_name: Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. + :param pulumi.Input[str] package_name: Package Name from appxmanifest.xml. + :param pulumi.Input[str] package_relative_path: Relative Path to the package inside the image. + :param pulumi.Input[str] version: Package Version found in the appxmanifest.xml. + """ + pulumi.set(__self__, "host_pool_name", host_pool_name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if image_path is not None: + pulumi.set(__self__, "image_path", image_path) + if is_active is not None: + pulumi.set(__self__, "is_active", is_active) + if is_regular_registration is not None: + pulumi.set(__self__, "is_regular_registration", is_regular_registration) + if last_updated is not None: + pulumi.set(__self__, "last_updated", last_updated) + if msix_package_full_name is not None: + pulumi.set(__self__, "msix_package_full_name", msix_package_full_name) + if package_applications is not None: + pulumi.set(__self__, "package_applications", package_applications) + if package_dependencies is not None: + pulumi.set(__self__, "package_dependencies", package_dependencies) + if package_family_name is not None: + pulumi.set(__self__, "package_family_name", package_family_name) + if package_name is not None: + pulumi.set(__self__, "package_name", package_name) + if package_relative_path is not None: + pulumi.set(__self__, "package_relative_path", package_relative_path) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="hostPoolName") + def host_pool_name(self) -> pulumi.Input[str]: + """ + The name of the host pool within the specified resource group + """ + return pulumi.get(self, "host_pool_name") + + @host_pool_name.setter + def host_pool_name(self, value: pulumi.Input[str]): + pulumi.set(self, "host_pool_name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + User friendly Name to be displayed in the portal. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="imagePath") + def image_path(self) -> Optional[pulumi.Input[str]]: + """ + VHD/CIM image path on Network Share. + """ + return pulumi.get(self, "image_path") + + @image_path.setter + def image_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "image_path", value) + + @property + @pulumi.getter(name="isActive") + def is_active(self) -> Optional[pulumi.Input[bool]]: + """ + Make this version of the package the active one across the hostpool. + """ + return pulumi.get(self, "is_active") + + @is_active.setter + def is_active(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_active", value) + + @property + @pulumi.getter(name="isRegularRegistration") + def is_regular_registration(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies how to register Package in feed. + """ + return pulumi.get(self, "is_regular_registration") + + @is_regular_registration.setter + def is_regular_registration(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_regular_registration", value) + + @property + @pulumi.getter(name="lastUpdated") + def last_updated(self) -> Optional[pulumi.Input[str]]: + """ + Date Package was last updated, found in the appxmanifest.xml. + """ + return pulumi.get(self, "last_updated") + + @last_updated.setter + def last_updated(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_updated", value) + + @property + @pulumi.getter(name="msixPackageFullName") + def msix_package_full_name(self) -> Optional[pulumi.Input[str]]: + """ + The version specific package full name of the MSIX package within specified hostpool + """ + return pulumi.get(self, "msix_package_full_name") + + @msix_package_full_name.setter + def msix_package_full_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "msix_package_full_name", value) + + @property + @pulumi.getter(name="packageApplications") + def package_applications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MsixPackageApplicationsArgs']]]]: + """ + List of package applications. + """ + return pulumi.get(self, "package_applications") + + @package_applications.setter + def package_applications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MsixPackageApplicationsArgs']]]]): + pulumi.set(self, "package_applications", value) + + @property + @pulumi.getter(name="packageDependencies") + def package_dependencies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MsixPackageDependenciesArgs']]]]: + """ + List of package dependencies. + """ + return pulumi.get(self, "package_dependencies") + + @package_dependencies.setter + def package_dependencies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MsixPackageDependenciesArgs']]]]): + pulumi.set(self, "package_dependencies", value) + + @property + @pulumi.getter(name="packageFamilyName") + def package_family_name(self) -> Optional[pulumi.Input[str]]: + """ + Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. + """ + return pulumi.get(self, "package_family_name") + + @package_family_name.setter + def package_family_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "package_family_name", value) + + @property + @pulumi.getter(name="packageName") + def package_name(self) -> Optional[pulumi.Input[str]]: + """ + Package Name from appxmanifest.xml. + """ + return pulumi.get(self, "package_name") + + @package_name.setter + def package_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "package_name", value) + + @property + @pulumi.getter(name="packageRelativePath") + def package_relative_path(self) -> Optional[pulumi.Input[str]]: + """ + Relative Path to the package inside the image. + """ + return pulumi.get(self, "package_relative_path") + + @package_relative_path.setter + def package_relative_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "package_relative_path", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + Package Version found in the appxmanifest.xml. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +class MSIXPackage(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + host_pool_name: Optional[pulumi.Input[str]] = None, + image_path: Optional[pulumi.Input[str]] = None, + is_active: Optional[pulumi.Input[bool]] = None, + is_regular_registration: Optional[pulumi.Input[bool]] = None, + last_updated: Optional[pulumi.Input[str]] = None, + msix_package_full_name: Optional[pulumi.Input[str]] = None, + package_applications: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MsixPackageApplicationsArgs']]]]] = None, + package_dependencies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MsixPackageDependenciesArgs']]]]] = None, + package_family_name: Optional[pulumi.Input[str]] = None, + package_name: Optional[pulumi.Input[str]] = None, + package_relative_path: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Schema for MSIX Package properties. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] display_name: User friendly Name to be displayed in the portal. + :param pulumi.Input[str] host_pool_name: The name of the host pool within the specified resource group + :param pulumi.Input[str] image_path: VHD/CIM image path on Network Share. + :param pulumi.Input[bool] is_active: Make this version of the package the active one across the hostpool. + :param pulumi.Input[bool] is_regular_registration: Specifies how to register Package in feed. + :param pulumi.Input[str] last_updated: Date Package was last updated, found in the appxmanifest.xml. + :param pulumi.Input[str] msix_package_full_name: The version specific package full name of the MSIX package within specified hostpool + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MsixPackageApplicationsArgs']]]] package_applications: List of package applications. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MsixPackageDependenciesArgs']]]] package_dependencies: List of package dependencies. + :param pulumi.Input[str] package_family_name: Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. + :param pulumi.Input[str] package_name: Package Name from appxmanifest.xml. + :param pulumi.Input[str] package_relative_path: Relative Path to the package inside the image. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] version: Package Version found in the appxmanifest.xml. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MSIXPackageArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Schema for MSIX Package properties. + + :param str resource_name: The name of the resource. + :param MSIXPackageArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(MSIXPackageArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: Optional[pulumi.Input[str]] = None, + host_pool_name: Optional[pulumi.Input[str]] = None, + image_path: Optional[pulumi.Input[str]] = None, + is_active: Optional[pulumi.Input[bool]] = None, + is_regular_registration: Optional[pulumi.Input[bool]] = None, + last_updated: Optional[pulumi.Input[str]] = None, + msix_package_full_name: Optional[pulumi.Input[str]] = None, + package_applications: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MsixPackageApplicationsArgs']]]]] = None, + package_dependencies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MsixPackageDependenciesArgs']]]]] = None, + package_family_name: Optional[pulumi.Input[str]] = None, + package_name: Optional[pulumi.Input[str]] = None, + package_relative_path: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = MSIXPackageArgs.__new__(MSIXPackageArgs) + + __props__.__dict__["display_name"] = display_name + if host_pool_name is None and not opts.urn: + raise TypeError("Missing required property 'host_pool_name'") + __props__.__dict__["host_pool_name"] = host_pool_name + __props__.__dict__["image_path"] = image_path + __props__.__dict__["is_active"] = is_active + __props__.__dict__["is_regular_registration"] = is_regular_registration + __props__.__dict__["last_updated"] = last_updated + __props__.__dict__["msix_package_full_name"] = msix_package_full_name + __props__.__dict__["package_applications"] = package_applications + __props__.__dict__["package_dependencies"] = package_dependencies + __props__.__dict__["package_family_name"] = package_family_name + __props__.__dict__["package_name"] = package_name + __props__.__dict__["package_relative_path"] = package_relative_path + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["version"] = version + __props__.__dict__["name"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:MSIXPackage"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:MSIXPackage")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(MSIXPackage, __self__).__init__( + 'azure-native:desktopvirtualization/v20230707preview:MSIXPackage', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'MSIXPackage': + """ + Get an existing MSIXPackage resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = MSIXPackageArgs.__new__(MSIXPackageArgs) + + __props__.__dict__["display_name"] = None + __props__.__dict__["image_path"] = None + __props__.__dict__["is_active"] = None + __props__.__dict__["is_regular_registration"] = None + __props__.__dict__["last_updated"] = None + __props__.__dict__["name"] = None + __props__.__dict__["package_applications"] = None + __props__.__dict__["package_dependencies"] = None + __props__.__dict__["package_family_name"] = None + __props__.__dict__["package_name"] = None + __props__.__dict__["package_relative_path"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + __props__.__dict__["version"] = None + return MSIXPackage(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + User friendly Name to be displayed in the portal. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="imagePath") + def image_path(self) -> pulumi.Output[Optional[str]]: + """ + VHD/CIM image path on Network Share. + """ + return pulumi.get(self, "image_path") + + @property + @pulumi.getter(name="isActive") + def is_active(self) -> pulumi.Output[Optional[bool]]: + """ + Make this version of the package the active one across the hostpool. + """ + return pulumi.get(self, "is_active") + + @property + @pulumi.getter(name="isRegularRegistration") + def is_regular_registration(self) -> pulumi.Output[Optional[bool]]: + """ + Specifies how to register Package in feed. + """ + return pulumi.get(self, "is_regular_registration") + + @property + @pulumi.getter(name="lastUpdated") + def last_updated(self) -> pulumi.Output[Optional[str]]: + """ + Date Package was last updated, found in the appxmanifest.xml. + """ + return pulumi.get(self, "last_updated") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="packageApplications") + def package_applications(self) -> pulumi.Output[Optional[Sequence['outputs.MsixPackageApplicationsResponse']]]: + """ + List of package applications. + """ + return pulumi.get(self, "package_applications") + + @property + @pulumi.getter(name="packageDependencies") + def package_dependencies(self) -> pulumi.Output[Optional[Sequence['outputs.MsixPackageDependenciesResponse']]]: + """ + List of package dependencies. + """ + return pulumi.get(self, "package_dependencies") + + @property + @pulumi.getter(name="packageFamilyName") + def package_family_name(self) -> pulumi.Output[Optional[str]]: + """ + Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. + """ + return pulumi.get(self, "package_family_name") + + @property + @pulumi.getter(name="packageName") + def package_name(self) -> pulumi.Output[Optional[str]]: + """ + Package Name from appxmanifest.xml. + """ + return pulumi.get(self, "package_name") + + @property + @pulumi.getter(name="packageRelativePath") + def package_relative_path(self) -> pulumi.Output[Optional[str]]: + """ + Relative Path to the package inside the image. + """ + return pulumi.get(self, "package_relative_path") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def version(self) -> pulumi.Output[Optional[str]]: + """ + Package Version found in the appxmanifest.xml. + """ + return pulumi.get(self, "version") + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/outputs.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/outputs.py new file mode 100644 index 000000000000..879987a95453 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/outputs.py @@ -0,0 +1,1282 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'AgentUpdatePropertiesResponse', + 'MaintenanceWindowPropertiesResponse', + 'MsixPackageApplicationsResponse', + 'MsixPackageDependenciesResponse', + 'PrivateEndpointConnectionResponse', + 'PrivateEndpointResponse', + 'PrivateLinkServiceConnectionStateResponse', + 'RegistrationInfoResponse', + 'ResourceModelWithAllowedPropertySetResponseIdentity', + 'ResourceModelWithAllowedPropertySetResponsePlan', + 'ResourceModelWithAllowedPropertySetResponseSku', + 'ScalingHostPoolReferenceResponse', + 'ScalingScheduleResponse', + 'SystemDataResponse', + 'TimeResponse', +] + +@pulumi.output_type +class AgentUpdatePropertiesResponse(dict): + """ + The session host configuration for updating agent, monitoring agent, and stack component. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maintenanceWindowTimeZone": + suggest = "maintenance_window_time_zone" + elif key == "maintenanceWindows": + suggest = "maintenance_windows" + elif key == "useSessionHostLocalTime": + suggest = "use_session_host_local_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentUpdatePropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentUpdatePropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentUpdatePropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + maintenance_window_time_zone: Optional[str] = None, + maintenance_windows: Optional[Sequence['outputs.MaintenanceWindowPropertiesResponse']] = None, + type: Optional[str] = None, + use_session_host_local_time: Optional[bool] = None): + """ + The session host configuration for updating agent, monitoring agent, and stack component. + :param str maintenance_window_time_zone: Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. + :param Sequence['MaintenanceWindowPropertiesResponse'] maintenance_windows: List of maintenance windows. Maintenance windows are 2 hours long. + :param str type: The type of maintenance for session host components. + :param bool use_session_host_local_time: Whether to use localTime of the virtual machine. + """ + if maintenance_window_time_zone is not None: + pulumi.set(__self__, "maintenance_window_time_zone", maintenance_window_time_zone) + if maintenance_windows is not None: + pulumi.set(__self__, "maintenance_windows", maintenance_windows) + if type is not None: + pulumi.set(__self__, "type", type) + if use_session_host_local_time is not None: + pulumi.set(__self__, "use_session_host_local_time", use_session_host_local_time) + + @property + @pulumi.getter(name="maintenanceWindowTimeZone") + def maintenance_window_time_zone(self) -> Optional[str]: + """ + Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. + """ + return pulumi.get(self, "maintenance_window_time_zone") + + @property + @pulumi.getter(name="maintenanceWindows") + def maintenance_windows(self) -> Optional[Sequence['outputs.MaintenanceWindowPropertiesResponse']]: + """ + List of maintenance windows. Maintenance windows are 2 hours long. + """ + return pulumi.get(self, "maintenance_windows") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of maintenance for session host components. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="useSessionHostLocalTime") + def use_session_host_local_time(self) -> Optional[bool]: + """ + Whether to use localTime of the virtual machine. + """ + return pulumi.get(self, "use_session_host_local_time") + + +@pulumi.output_type +class MaintenanceWindowPropertiesResponse(dict): + """ + Maintenance window starting hour and day of week. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dayOfWeek": + suggest = "day_of_week" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MaintenanceWindowPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MaintenanceWindowPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MaintenanceWindowPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + day_of_week: Optional[str] = None, + hour: Optional[int] = None): + """ + Maintenance window starting hour and day of week. + :param str day_of_week: Day of the week. + :param int hour: The update start hour of the day. (0 - 23) + """ + if day_of_week is not None: + pulumi.set(__self__, "day_of_week", day_of_week) + if hour is not None: + pulumi.set(__self__, "hour", hour) + + @property + @pulumi.getter(name="dayOfWeek") + def day_of_week(self) -> Optional[str]: + """ + Day of the week. + """ + return pulumi.get(self, "day_of_week") + + @property + @pulumi.getter + def hour(self) -> Optional[int]: + """ + The update start hour of the day. (0 - 23) + """ + return pulumi.get(self, "hour") + + +@pulumi.output_type +class MsixPackageApplicationsResponse(dict): + """ + Schema for MSIX Package Application properties. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "appId": + suggest = "app_id" + elif key == "appUserModelID": + suggest = "app_user_model_id" + elif key == "friendlyName": + suggest = "friendly_name" + elif key == "iconImageName": + suggest = "icon_image_name" + elif key == "rawIcon": + suggest = "raw_icon" + elif key == "rawPng": + suggest = "raw_png" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MsixPackageApplicationsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MsixPackageApplicationsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MsixPackageApplicationsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + app_id: Optional[str] = None, + app_user_model_id: Optional[str] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + icon_image_name: Optional[str] = None, + raw_icon: Optional[str] = None, + raw_png: Optional[str] = None): + """ + Schema for MSIX Package Application properties. + :param str app_id: Package Application Id, found in appxmanifest.xml. + :param str app_user_model_id: Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml. + :param str description: Description of Package Application. + :param str friendly_name: User friendly name. + :param str icon_image_name: User friendly name. + :param str raw_icon: the icon a 64 bit string as a byte array. + :param str raw_png: the icon a 64 bit string as a byte array. + """ + if app_id is not None: + pulumi.set(__self__, "app_id", app_id) + if app_user_model_id is not None: + pulumi.set(__self__, "app_user_model_id", app_user_model_id) + if description is not None: + pulumi.set(__self__, "description", description) + if friendly_name is not None: + pulumi.set(__self__, "friendly_name", friendly_name) + if icon_image_name is not None: + pulumi.set(__self__, "icon_image_name", icon_image_name) + if raw_icon is not None: + pulumi.set(__self__, "raw_icon", raw_icon) + if raw_png is not None: + pulumi.set(__self__, "raw_png", raw_png) + + @property + @pulumi.getter(name="appId") + def app_id(self) -> Optional[str]: + """ + Package Application Id, found in appxmanifest.xml. + """ + return pulumi.get(self, "app_id") + + @property + @pulumi.getter(name="appUserModelID") + def app_user_model_id(self) -> Optional[str]: + """ + Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml. + """ + return pulumi.get(self, "app_user_model_id") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + Description of Package Application. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> Optional[str]: + """ + User friendly name. + """ + return pulumi.get(self, "friendly_name") + + @property + @pulumi.getter(name="iconImageName") + def icon_image_name(self) -> Optional[str]: + """ + User friendly name. + """ + return pulumi.get(self, "icon_image_name") + + @property + @pulumi.getter(name="rawIcon") + def raw_icon(self) -> Optional[str]: + """ + the icon a 64 bit string as a byte array. + """ + return pulumi.get(self, "raw_icon") + + @property + @pulumi.getter(name="rawPng") + def raw_png(self) -> Optional[str]: + """ + the icon a 64 bit string as a byte array. + """ + return pulumi.get(self, "raw_png") + + +@pulumi.output_type +class MsixPackageDependenciesResponse(dict): + """ + Schema for MSIX Package Dependencies properties. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dependencyName": + suggest = "dependency_name" + elif key == "minVersion": + suggest = "min_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MsixPackageDependenciesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MsixPackageDependenciesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MsixPackageDependenciesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dependency_name: Optional[str] = None, + min_version: Optional[str] = None, + publisher: Optional[str] = None): + """ + Schema for MSIX Package Dependencies properties. + :param str dependency_name: Name of package dependency. + :param str min_version: Dependency version required. + :param str publisher: Name of dependency publisher. + """ + if dependency_name is not None: + pulumi.set(__self__, "dependency_name", dependency_name) + if min_version is not None: + pulumi.set(__self__, "min_version", min_version) + if publisher is not None: + pulumi.set(__self__, "publisher", publisher) + + @property + @pulumi.getter(name="dependencyName") + def dependency_name(self) -> Optional[str]: + """ + Name of package dependency. + """ + return pulumi.get(self, "dependency_name") + + @property + @pulumi.getter(name="minVersion") + def min_version(self) -> Optional[str]: + """ + Dependency version required. + """ + return pulumi.get(self, "min_version") + + @property + @pulumi.getter + def publisher(self) -> Optional[str]: + """ + Name of dependency publisher. + """ + return pulumi.get(self, "publisher") + + +@pulumi.output_type +class PrivateEndpointConnectionResponse(dict): + """ + The Private Endpoint Connection resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "privateLinkServiceConnectionState": + suggest = "private_link_service_connection_state" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "privateEndpoint": + suggest = "private_endpoint" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PrivateEndpointConnectionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PrivateEndpointConnectionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PrivateEndpointConnectionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + id: str, + name: str, + private_link_service_connection_state: 'outputs.PrivateLinkServiceConnectionStateResponse', + provisioning_state: str, + type: str, + private_endpoint: Optional['outputs.PrivateEndpointResponse'] = None): + """ + The Private Endpoint Connection resource. + :param str id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :param str name: The name of the resource + :param 'PrivateLinkServiceConnectionStateResponse' private_link_service_connection_state: A collection of information about the state of the connection between service consumer and provider. + :param str provisioning_state: The provisioning state of the private endpoint connection resource. + :param str type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :param 'PrivateEndpointResponse' private_endpoint: The resource of private end point. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "type", type) + if private_endpoint is not None: + pulumi.set(__self__, "private_endpoint", private_endpoint) + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> 'outputs.PrivateLinkServiceConnectionStateResponse': + """ + A collection of information about the state of the connection between service consumer and provider. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the private endpoint connection resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="privateEndpoint") + def private_endpoint(self) -> Optional['outputs.PrivateEndpointResponse']: + """ + The resource of private end point. + """ + return pulumi.get(self, "private_endpoint") + + +@pulumi.output_type +class PrivateEndpointResponse(dict): + """ + The Private Endpoint resource. + """ + def __init__(__self__, *, + id: str): + """ + The Private Endpoint resource. + :param str id: The ARM identifier for Private Endpoint + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ARM identifier for Private Endpoint + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class PrivateLinkServiceConnectionStateResponse(dict): + """ + A collection of information about the state of the connection between service consumer and provider. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "actionsRequired": + suggest = "actions_required" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PrivateLinkServiceConnectionStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PrivateLinkServiceConnectionStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PrivateLinkServiceConnectionStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + actions_required: Optional[str] = None, + description: Optional[str] = None, + status: Optional[str] = None): + """ + A collection of information about the state of the connection between service consumer and provider. + :param str actions_required: A message indicating if changes on the service provider require any updates on the consumer. + :param str description: The reason for approval/rejection of the connection. + :param str status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ + if actions_required is not None: + pulumi.set(__self__, "actions_required", actions_required) + if description is not None: + pulumi.set(__self__, "description", description) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="actionsRequired") + def actions_required(self) -> Optional[str]: + """ + A message indicating if changes on the service provider require any updates on the consumer. + """ + return pulumi.get(self, "actions_required") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + The reason for approval/rejection of the connection. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + """ + Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class RegistrationInfoResponse(dict): + """ + Represents a RegistrationInfo definition. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "expirationTime": + suggest = "expiration_time" + elif key == "registrationTokenOperation": + suggest = "registration_token_operation" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RegistrationInfoResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RegistrationInfoResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RegistrationInfoResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + expiration_time: Optional[str] = None, + registration_token_operation: Optional[str] = None, + token: Optional[str] = None): + """ + Represents a RegistrationInfo definition. + :param str expiration_time: Expiration time of registration token. + :param str registration_token_operation: The type of resetting the token. + :param str token: The registration token base64 encoded string. + """ + if expiration_time is not None: + pulumi.set(__self__, "expiration_time", expiration_time) + if registration_token_operation is not None: + pulumi.set(__self__, "registration_token_operation", registration_token_operation) + if token is not None: + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter(name="expirationTime") + def expiration_time(self) -> Optional[str]: + """ + Expiration time of registration token. + """ + return pulumi.get(self, "expiration_time") + + @property + @pulumi.getter(name="registrationTokenOperation") + def registration_token_operation(self) -> Optional[str]: + """ + The type of resetting the token. + """ + return pulumi.get(self, "registration_token_operation") + + @property + @pulumi.getter + def token(self) -> Optional[str]: + """ + The registration token base64 encoded string. + """ + return pulumi.get(self, "token") + + +@pulumi.output_type +class ResourceModelWithAllowedPropertySetResponseIdentity(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ResourceModelWithAllowedPropertySetResponseIdentity. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ResourceModelWithAllowedPropertySetResponseIdentity.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ResourceModelWithAllowedPropertySetResponseIdentity.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + type: Optional[str] = None): + """ + :param str principal_id: The principal ID of resource identity. + :param str tenant_id: The tenant ID of resource. + :param str type: The identity type. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal ID of resource identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The tenant ID of resource. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The identity type. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class ResourceModelWithAllowedPropertySetResponsePlan(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "promotionCode": + suggest = "promotion_code" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ResourceModelWithAllowedPropertySetResponsePlan. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ResourceModelWithAllowedPropertySetResponsePlan.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ResourceModelWithAllowedPropertySetResponsePlan.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + product: str, + publisher: str, + promotion_code: Optional[str] = None, + version: Optional[str] = None): + """ + :param str name: A user defined name of the 3rd Party Artifact that is being procured. + :param str product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. + :param str publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic + :param str promotion_code: A publisher provided promotion code as provisioned in Data Market for the said product/artifact. + :param str version: The version of the desired product/artifact. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "product", product) + pulumi.set(__self__, "publisher", publisher) + if promotion_code is not None: + pulumi.set(__self__, "promotion_code", promotion_code) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def name(self) -> str: + """ + A user defined name of the 3rd Party Artifact that is being procured. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def product(self) -> str: + """ + The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. + """ + return pulumi.get(self, "product") + + @property + @pulumi.getter + def publisher(self) -> str: + """ + The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic + """ + return pulumi.get(self, "publisher") + + @property + @pulumi.getter(name="promotionCode") + def promotion_code(self) -> Optional[str]: + """ + A publisher provided promotion code as provisioned in Data Market for the said product/artifact. + """ + return pulumi.get(self, "promotion_code") + + @property + @pulumi.getter + def version(self) -> Optional[str]: + """ + The version of the desired product/artifact. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ResourceModelWithAllowedPropertySetResponseSku(dict): + def __init__(__self__, *, + name: str, + capacity: Optional[int] = None, + family: Optional[str] = None, + size: Optional[str] = None, + tier: Optional[str] = None): + """ + :param str name: The name of the SKU. Ex - P3. It is typically a letter+number code + :param int capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. + :param str family: If the service has different generations of hardware, for the same SKU, then that can be captured here. + :param str size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. + :param str tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + """ + pulumi.set(__self__, "name", name) + if capacity is not None: + pulumi.set(__self__, "capacity", capacity) + if family is not None: + pulumi.set(__self__, "family", family) + if size is not None: + pulumi.set(__self__, "size", size) + if tier is not None: + pulumi.set(__self__, "tier", tier) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the SKU. Ex - P3. It is typically a letter+number code + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def capacity(self) -> Optional[int]: + """ + If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. + """ + return pulumi.get(self, "capacity") + + @property + @pulumi.getter + def family(self) -> Optional[str]: + """ + If the service has different generations of hardware, for the same SKU, then that can be captured here. + """ + return pulumi.get(self, "family") + + @property + @pulumi.getter + def size(self) -> Optional[str]: + """ + The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. + """ + return pulumi.get(self, "size") + + @property + @pulumi.getter + def tier(self) -> Optional[str]: + """ + This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + """ + return pulumi.get(self, "tier") + + +@pulumi.output_type +class ScalingHostPoolReferenceResponse(dict): + """ + Scaling plan reference to hostpool. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "hostPoolArmPath": + suggest = "host_pool_arm_path" + elif key == "scalingPlanEnabled": + suggest = "scaling_plan_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScalingHostPoolReferenceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScalingHostPoolReferenceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScalingHostPoolReferenceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + host_pool_arm_path: Optional[str] = None, + scaling_plan_enabled: Optional[bool] = None): + """ + Scaling plan reference to hostpool. + :param str host_pool_arm_path: Arm path of referenced hostpool. + :param bool scaling_plan_enabled: Is the scaling plan enabled for this hostpool. + """ + if host_pool_arm_path is not None: + pulumi.set(__self__, "host_pool_arm_path", host_pool_arm_path) + if scaling_plan_enabled is not None: + pulumi.set(__self__, "scaling_plan_enabled", scaling_plan_enabled) + + @property + @pulumi.getter(name="hostPoolArmPath") + def host_pool_arm_path(self) -> Optional[str]: + """ + Arm path of referenced hostpool. + """ + return pulumi.get(self, "host_pool_arm_path") + + @property + @pulumi.getter(name="scalingPlanEnabled") + def scaling_plan_enabled(self) -> Optional[bool]: + """ + Is the scaling plan enabled for this hostpool. + """ + return pulumi.get(self, "scaling_plan_enabled") + + +@pulumi.output_type +class ScalingScheduleResponse(dict): + """ + A ScalingPlanPooledSchedule. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "daysOfWeek": + suggest = "days_of_week" + elif key == "offPeakLoadBalancingAlgorithm": + suggest = "off_peak_load_balancing_algorithm" + elif key == "offPeakStartTime": + suggest = "off_peak_start_time" + elif key == "peakLoadBalancingAlgorithm": + suggest = "peak_load_balancing_algorithm" + elif key == "peakStartTime": + suggest = "peak_start_time" + elif key == "rampDownCapacityThresholdPct": + suggest = "ramp_down_capacity_threshold_pct" + elif key == "rampDownForceLogoffUsers": + suggest = "ramp_down_force_logoff_users" + elif key == "rampDownLoadBalancingAlgorithm": + suggest = "ramp_down_load_balancing_algorithm" + elif key == "rampDownMinimumHostsPct": + suggest = "ramp_down_minimum_hosts_pct" + elif key == "rampDownNotificationMessage": + suggest = "ramp_down_notification_message" + elif key == "rampDownStartTime": + suggest = "ramp_down_start_time" + elif key == "rampDownStopHostsWhen": + suggest = "ramp_down_stop_hosts_when" + elif key == "rampDownWaitTimeMinutes": + suggest = "ramp_down_wait_time_minutes" + elif key == "rampUpCapacityThresholdPct": + suggest = "ramp_up_capacity_threshold_pct" + elif key == "rampUpLoadBalancingAlgorithm": + suggest = "ramp_up_load_balancing_algorithm" + elif key == "rampUpMinimumHostsPct": + suggest = "ramp_up_minimum_hosts_pct" + elif key == "rampUpStartTime": + suggest = "ramp_up_start_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScalingScheduleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScalingScheduleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScalingScheduleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + days_of_week: Optional[Sequence[str]] = None, + name: Optional[str] = None, + off_peak_load_balancing_algorithm: Optional[str] = None, + off_peak_start_time: Optional['outputs.TimeResponse'] = None, + peak_load_balancing_algorithm: Optional[str] = None, + peak_start_time: Optional['outputs.TimeResponse'] = None, + ramp_down_capacity_threshold_pct: Optional[int] = None, + ramp_down_force_logoff_users: Optional[bool] = None, + ramp_down_load_balancing_algorithm: Optional[str] = None, + ramp_down_minimum_hosts_pct: Optional[int] = None, + ramp_down_notification_message: Optional[str] = None, + ramp_down_start_time: Optional['outputs.TimeResponse'] = None, + ramp_down_stop_hosts_when: Optional[str] = None, + ramp_down_wait_time_minutes: Optional[int] = None, + ramp_up_capacity_threshold_pct: Optional[int] = None, + ramp_up_load_balancing_algorithm: Optional[str] = None, + ramp_up_minimum_hosts_pct: Optional[int] = None, + ramp_up_start_time: Optional['outputs.TimeResponse'] = None): + """ + A ScalingPlanPooledSchedule. + :param Sequence[str] days_of_week: Set of days of the week on which this schedule is active. + :param str name: Name of the ScalingPlanPooledSchedule. + :param str off_peak_load_balancing_algorithm: Load balancing algorithm for off-peak period. + :param 'TimeResponse' off_peak_start_time: Starting time for off-peak period. + :param str peak_load_balancing_algorithm: Load balancing algorithm for peak period. + :param 'TimeResponse' peak_start_time: Starting time for peak period. + :param int ramp_down_capacity_threshold_pct: Capacity threshold for ramp down period. + :param bool ramp_down_force_logoff_users: Should users be logged off forcefully from hosts. + :param str ramp_down_load_balancing_algorithm: Load balancing algorithm for ramp down period. + :param int ramp_down_minimum_hosts_pct: Minimum host percentage for ramp down period. + :param str ramp_down_notification_message: Notification message for users during ramp down period. + :param 'TimeResponse' ramp_down_start_time: Starting time for ramp down period. + :param str ramp_down_stop_hosts_when: Specifies when to stop hosts during ramp down period. + :param int ramp_down_wait_time_minutes: Number of minutes to wait to stop hosts during ramp down period. + :param int ramp_up_capacity_threshold_pct: Capacity threshold for ramp up period. + :param str ramp_up_load_balancing_algorithm: Load balancing algorithm for ramp up period. + :param int ramp_up_minimum_hosts_pct: Minimum host percentage for ramp up period. + :param 'TimeResponse' ramp_up_start_time: Starting time for ramp up period. + """ + if days_of_week is not None: + pulumi.set(__self__, "days_of_week", days_of_week) + if name is not None: + pulumi.set(__self__, "name", name) + if off_peak_load_balancing_algorithm is not None: + pulumi.set(__self__, "off_peak_load_balancing_algorithm", off_peak_load_balancing_algorithm) + if off_peak_start_time is not None: + pulumi.set(__self__, "off_peak_start_time", off_peak_start_time) + if peak_load_balancing_algorithm is not None: + pulumi.set(__self__, "peak_load_balancing_algorithm", peak_load_balancing_algorithm) + if peak_start_time is not None: + pulumi.set(__self__, "peak_start_time", peak_start_time) + if ramp_down_capacity_threshold_pct is not None: + pulumi.set(__self__, "ramp_down_capacity_threshold_pct", ramp_down_capacity_threshold_pct) + if ramp_down_force_logoff_users is not None: + pulumi.set(__self__, "ramp_down_force_logoff_users", ramp_down_force_logoff_users) + if ramp_down_load_balancing_algorithm is not None: + pulumi.set(__self__, "ramp_down_load_balancing_algorithm", ramp_down_load_balancing_algorithm) + if ramp_down_minimum_hosts_pct is not None: + pulumi.set(__self__, "ramp_down_minimum_hosts_pct", ramp_down_minimum_hosts_pct) + if ramp_down_notification_message is not None: + pulumi.set(__self__, "ramp_down_notification_message", ramp_down_notification_message) + if ramp_down_start_time is not None: + pulumi.set(__self__, "ramp_down_start_time", ramp_down_start_time) + if ramp_down_stop_hosts_when is not None: + pulumi.set(__self__, "ramp_down_stop_hosts_when", ramp_down_stop_hosts_when) + if ramp_down_wait_time_minutes is not None: + pulumi.set(__self__, "ramp_down_wait_time_minutes", ramp_down_wait_time_minutes) + if ramp_up_capacity_threshold_pct is not None: + pulumi.set(__self__, "ramp_up_capacity_threshold_pct", ramp_up_capacity_threshold_pct) + if ramp_up_load_balancing_algorithm is not None: + pulumi.set(__self__, "ramp_up_load_balancing_algorithm", ramp_up_load_balancing_algorithm) + if ramp_up_minimum_hosts_pct is not None: + pulumi.set(__self__, "ramp_up_minimum_hosts_pct", ramp_up_minimum_hosts_pct) + if ramp_up_start_time is not None: + pulumi.set(__self__, "ramp_up_start_time", ramp_up_start_time) + + @property + @pulumi.getter(name="daysOfWeek") + def days_of_week(self) -> Optional[Sequence[str]]: + """ + Set of days of the week on which this schedule is active. + """ + return pulumi.get(self, "days_of_week") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + Name of the ScalingPlanPooledSchedule. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="offPeakLoadBalancingAlgorithm") + def off_peak_load_balancing_algorithm(self) -> Optional[str]: + """ + Load balancing algorithm for off-peak period. + """ + return pulumi.get(self, "off_peak_load_balancing_algorithm") + + @property + @pulumi.getter(name="offPeakStartTime") + def off_peak_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for off-peak period. + """ + return pulumi.get(self, "off_peak_start_time") + + @property + @pulumi.getter(name="peakLoadBalancingAlgorithm") + def peak_load_balancing_algorithm(self) -> Optional[str]: + """ + Load balancing algorithm for peak period. + """ + return pulumi.get(self, "peak_load_balancing_algorithm") + + @property + @pulumi.getter(name="peakStartTime") + def peak_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for peak period. + """ + return pulumi.get(self, "peak_start_time") + + @property + @pulumi.getter(name="rampDownCapacityThresholdPct") + def ramp_down_capacity_threshold_pct(self) -> Optional[int]: + """ + Capacity threshold for ramp down period. + """ + return pulumi.get(self, "ramp_down_capacity_threshold_pct") + + @property + @pulumi.getter(name="rampDownForceLogoffUsers") + def ramp_down_force_logoff_users(self) -> Optional[bool]: + """ + Should users be logged off forcefully from hosts. + """ + return pulumi.get(self, "ramp_down_force_logoff_users") + + @property + @pulumi.getter(name="rampDownLoadBalancingAlgorithm") + def ramp_down_load_balancing_algorithm(self) -> Optional[str]: + """ + Load balancing algorithm for ramp down period. + """ + return pulumi.get(self, "ramp_down_load_balancing_algorithm") + + @property + @pulumi.getter(name="rampDownMinimumHostsPct") + def ramp_down_minimum_hosts_pct(self) -> Optional[int]: + """ + Minimum host percentage for ramp down period. + """ + return pulumi.get(self, "ramp_down_minimum_hosts_pct") + + @property + @pulumi.getter(name="rampDownNotificationMessage") + def ramp_down_notification_message(self) -> Optional[str]: + """ + Notification message for users during ramp down period. + """ + return pulumi.get(self, "ramp_down_notification_message") + + @property + @pulumi.getter(name="rampDownStartTime") + def ramp_down_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for ramp down period. + """ + return pulumi.get(self, "ramp_down_start_time") + + @property + @pulumi.getter(name="rampDownStopHostsWhen") + def ramp_down_stop_hosts_when(self) -> Optional[str]: + """ + Specifies when to stop hosts during ramp down period. + """ + return pulumi.get(self, "ramp_down_stop_hosts_when") + + @property + @pulumi.getter(name="rampDownWaitTimeMinutes") + def ramp_down_wait_time_minutes(self) -> Optional[int]: + """ + Number of minutes to wait to stop hosts during ramp down period. + """ + return pulumi.get(self, "ramp_down_wait_time_minutes") + + @property + @pulumi.getter(name="rampUpCapacityThresholdPct") + def ramp_up_capacity_threshold_pct(self) -> Optional[int]: + """ + Capacity threshold for ramp up period. + """ + return pulumi.get(self, "ramp_up_capacity_threshold_pct") + + @property + @pulumi.getter(name="rampUpLoadBalancingAlgorithm") + def ramp_up_load_balancing_algorithm(self) -> Optional[str]: + """ + Load balancing algorithm for ramp up period. + """ + return pulumi.get(self, "ramp_up_load_balancing_algorithm") + + @property + @pulumi.getter(name="rampUpMinimumHostsPct") + def ramp_up_minimum_hosts_pct(self) -> Optional[int]: + """ + Minimum host percentage for ramp up period. + """ + return pulumi.get(self, "ramp_up_minimum_hosts_pct") + + @property + @pulumi.getter(name="rampUpStartTime") + def ramp_up_start_time(self) -> Optional['outputs.TimeResponse']: + """ + Starting time for ramp up period. + """ + return pulumi.get(self, "ramp_up_start_time") + + +@pulumi.output_type +class SystemDataResponse(dict): + """ + Metadata pertaining to creation and last modification of the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: Optional[str] = None, + created_by: Optional[str] = None, + created_by_type: Optional[str] = None, + last_modified_at: Optional[str] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[str] = None): + """ + Metadata pertaining to creation and last modification of the resource. + :param str created_at: The timestamp of resource creation (UTC). + :param str created_by: The identity that created the resource. + :param str created_by_type: The type of identity that created the resource. + :param str last_modified_at: The timestamp of resource last modification (UTC) + :param str last_modified_by: The identity that last modified the resource. + :param str last_modified_by_type: The type of identity that last modified the resource. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if created_by_type is not None: + pulumi.set(__self__, "created_by_type", created_by_type) + if last_modified_at is not None: + pulumi.set(__self__, "last_modified_at", last_modified_at) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if last_modified_by_type is not None: + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The timestamp of resource creation (UTC). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[str]: + """ + The identity that created the resource. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> Optional[str]: + """ + The type of identity that created the resource. + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> Optional[str]: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[str]: + """ + The identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> Optional[str]: + """ + The type of identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by_type") + + +@pulumi.output_type +class TimeResponse(dict): + """ + The time for a scaling action to occur. + """ + def __init__(__self__, *, + hour: int, + minute: int): + """ + The time for a scaling action to occur. + :param int hour: The hour. + :param int minute: The minute. + """ + pulumi.set(__self__, "hour", hour) + pulumi.set(__self__, "minute", minute) + + @property + @pulumi.getter + def hour(self) -> int: + """ + The hour. + """ + return pulumi.get(self, "hour") + + @property + @pulumi.getter + def minute(self) -> int: + """ + The minute. + """ + return pulumi.get(self, "minute") + + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/private_endpoint_connection_by_host_pool.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/private_endpoint_connection_by_host_pool.py new file mode 100644 index 000000000000..bd38d1a40856 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/private_endpoint_connection_by_host_pool.py @@ -0,0 +1,237 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['PrivateEndpointConnectionByHostPoolArgs', 'PrivateEndpointConnectionByHostPool'] + +@pulumi.input_type +class PrivateEndpointConnectionByHostPoolArgs: + def __init__(__self__, *, + host_pool_name: pulumi.Input[str], + private_link_service_connection_state: pulumi.Input['PrivateLinkServiceConnectionStateArgs'], + resource_group_name: pulumi.Input[str], + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a PrivateEndpointConnectionByHostPool resource. + :param pulumi.Input[str] host_pool_name: The name of the host pool within the specified resource group + :param pulumi.Input['PrivateLinkServiceConnectionStateArgs'] private_link_service_connection_state: A collection of information about the state of the connection between service consumer and provider. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] private_endpoint_connection_name: The name of the private endpoint connection associated with the Azure resource + """ + pulumi.set(__self__, "host_pool_name", host_pool_name) + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if private_endpoint_connection_name is not None: + pulumi.set(__self__, "private_endpoint_connection_name", private_endpoint_connection_name) + + @property + @pulumi.getter(name="hostPoolName") + def host_pool_name(self) -> pulumi.Input[str]: + """ + The name of the host pool within the specified resource group + """ + return pulumi.get(self, "host_pool_name") + + @host_pool_name.setter + def host_pool_name(self, value: pulumi.Input[str]): + pulumi.set(self, "host_pool_name", value) + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> pulumi.Input['PrivateLinkServiceConnectionStateArgs']: + """ + A collection of information about the state of the connection between service consumer and provider. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @private_link_service_connection_state.setter + def private_link_service_connection_state(self, value: pulumi.Input['PrivateLinkServiceConnectionStateArgs']): + pulumi.set(self, "private_link_service_connection_state", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="privateEndpointConnectionName") + def private_endpoint_connection_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the private endpoint connection associated with the Azure resource + """ + return pulumi.get(self, "private_endpoint_connection_name") + + @private_endpoint_connection_name.setter + def private_endpoint_connection_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "private_endpoint_connection_name", value) + + +class PrivateEndpointConnectionByHostPool(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + host_pool_name: Optional[pulumi.Input[str]] = None, + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, + private_link_service_connection_state: Optional[pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionStateArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The Private Endpoint Connection resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] host_pool_name: The name of the host pool within the specified resource group + :param pulumi.Input[str] private_endpoint_connection_name: The name of the private endpoint connection associated with the Azure resource + :param pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionStateArgs']] private_link_service_connection_state: A collection of information about the state of the connection between service consumer and provider. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: PrivateEndpointConnectionByHostPoolArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The Private Endpoint Connection resource. + + :param str resource_name: The name of the resource. + :param PrivateEndpointConnectionByHostPoolArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(PrivateEndpointConnectionByHostPoolArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + host_pool_name: Optional[pulumi.Input[str]] = None, + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, + private_link_service_connection_state: Optional[pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionStateArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = PrivateEndpointConnectionByHostPoolArgs.__new__(PrivateEndpointConnectionByHostPoolArgs) + + if host_pool_name is None and not opts.urn: + raise TypeError("Missing required property 'host_pool_name'") + __props__.__dict__["host_pool_name"] = host_pool_name + __props__.__dict__["private_endpoint_connection_name"] = private_endpoint_connection_name + if private_link_service_connection_state is None and not opts.urn: + raise TypeError("Missing required property 'private_link_service_connection_state'") + __props__.__dict__["private_link_service_connection_state"] = private_link_service_connection_state + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["name"] = None + __props__.__dict__["private_endpoint"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByHostPool"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByHostPool")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(PrivateEndpointConnectionByHostPool, __self__).__init__( + 'azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByHostPool', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'PrivateEndpointConnectionByHostPool': + """ + Get an existing PrivateEndpointConnectionByHostPool resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = PrivateEndpointConnectionByHostPoolArgs.__new__(PrivateEndpointConnectionByHostPoolArgs) + + __props__.__dict__["name"] = None + __props__.__dict__["private_endpoint"] = None + __props__.__dict__["private_link_service_connection_state"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + return PrivateEndpointConnectionByHostPool(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="privateEndpoint") + def private_endpoint(self) -> pulumi.Output[Optional['outputs.PrivateEndpointResponse']]: + """ + The resource of private end point. + """ + return pulumi.get(self, "private_endpoint") + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> pulumi.Output['outputs.PrivateLinkServiceConnectionStateResponse']: + """ + A collection of information about the state of the connection between service consumer and provider. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state of the private endpoint connection resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/private_endpoint_connection_by_workspace.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/private_endpoint_connection_by_workspace.py new file mode 100644 index 000000000000..80998399b04f --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/private_endpoint_connection_by_workspace.py @@ -0,0 +1,237 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['PrivateEndpointConnectionByWorkspaceArgs', 'PrivateEndpointConnectionByWorkspace'] + +@pulumi.input_type +class PrivateEndpointConnectionByWorkspaceArgs: + def __init__(__self__, *, + private_link_service_connection_state: pulumi.Input['PrivateLinkServiceConnectionStateArgs'], + resource_group_name: pulumi.Input[str], + workspace_name: pulumi.Input[str], + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a PrivateEndpointConnectionByWorkspace resource. + :param pulumi.Input['PrivateLinkServiceConnectionStateArgs'] private_link_service_connection_state: A collection of information about the state of the connection between service consumer and provider. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] workspace_name: The name of the workspace + :param pulumi.Input[str] private_endpoint_connection_name: The name of the private endpoint connection associated with the Azure resource + """ + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "workspace_name", workspace_name) + if private_endpoint_connection_name is not None: + pulumi.set(__self__, "private_endpoint_connection_name", private_endpoint_connection_name) + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> pulumi.Input['PrivateLinkServiceConnectionStateArgs']: + """ + A collection of information about the state of the connection between service consumer and provider. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @private_link_service_connection_state.setter + def private_link_service_connection_state(self, value: pulumi.Input['PrivateLinkServiceConnectionStateArgs']): + pulumi.set(self, "private_link_service_connection_state", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="workspaceName") + def workspace_name(self) -> pulumi.Input[str]: + """ + The name of the workspace + """ + return pulumi.get(self, "workspace_name") + + @workspace_name.setter + def workspace_name(self, value: pulumi.Input[str]): + pulumi.set(self, "workspace_name", value) + + @property + @pulumi.getter(name="privateEndpointConnectionName") + def private_endpoint_connection_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the private endpoint connection associated with the Azure resource + """ + return pulumi.get(self, "private_endpoint_connection_name") + + @private_endpoint_connection_name.setter + def private_endpoint_connection_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "private_endpoint_connection_name", value) + + +class PrivateEndpointConnectionByWorkspace(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, + private_link_service_connection_state: Optional[pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionStateArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + workspace_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The Private Endpoint Connection resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] private_endpoint_connection_name: The name of the private endpoint connection associated with the Azure resource + :param pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionStateArgs']] private_link_service_connection_state: A collection of information about the state of the connection between service consumer and provider. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] workspace_name: The name of the workspace + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: PrivateEndpointConnectionByWorkspaceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The Private Endpoint Connection resource. + + :param str resource_name: The name of the resource. + :param PrivateEndpointConnectionByWorkspaceArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(PrivateEndpointConnectionByWorkspaceArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, + private_link_service_connection_state: Optional[pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionStateArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + workspace_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = PrivateEndpointConnectionByWorkspaceArgs.__new__(PrivateEndpointConnectionByWorkspaceArgs) + + __props__.__dict__["private_endpoint_connection_name"] = private_endpoint_connection_name + if private_link_service_connection_state is None and not opts.urn: + raise TypeError("Missing required property 'private_link_service_connection_state'") + __props__.__dict__["private_link_service_connection_state"] = private_link_service_connection_state + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if workspace_name is None and not opts.urn: + raise TypeError("Missing required property 'workspace_name'") + __props__.__dict__["workspace_name"] = workspace_name + __props__.__dict__["name"] = None + __props__.__dict__["private_endpoint"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:PrivateEndpointConnectionByWorkspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:PrivateEndpointConnectionByWorkspace")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(PrivateEndpointConnectionByWorkspace, __self__).__init__( + 'azure-native:desktopvirtualization/v20230707preview:PrivateEndpointConnectionByWorkspace', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'PrivateEndpointConnectionByWorkspace': + """ + Get an existing PrivateEndpointConnectionByWorkspace resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = PrivateEndpointConnectionByWorkspaceArgs.__new__(PrivateEndpointConnectionByWorkspaceArgs) + + __props__.__dict__["name"] = None + __props__.__dict__["private_endpoint"] = None + __props__.__dict__["private_link_service_connection_state"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + return PrivateEndpointConnectionByWorkspace(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="privateEndpoint") + def private_endpoint(self) -> pulumi.Output[Optional['outputs.PrivateEndpointResponse']]: + """ + The resource of private end point. + """ + return pulumi.get(self, "private_endpoint") + + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> pulumi.Output['outputs.PrivateLinkServiceConnectionStateResponse']: + """ + A collection of information about the state of the connection between service consumer and provider. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The provisioning state of the private endpoint connection resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/scaling_plan.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/scaling_plan.py new file mode 100644 index 000000000000..20ac3bfcf739 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/scaling_plan.py @@ -0,0 +1,573 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ScalingPlanArgs', 'ScalingPlan'] + +@pulumi.input_type +class ScalingPlanArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + time_zone: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + exclusion_tag: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + host_pool_references: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingHostPoolReferenceArgs']]]] = None, + host_pool_type: Optional[pulumi.Input[Union[str, 'ScalingHostPoolType']]] = None, + identity: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetIdentityArgs']] = None, + kind: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + managed_by: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetPlanArgs']] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + schedules: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingScheduleArgs']]]] = None, + sku: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetSkuArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a ScalingPlan resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] time_zone: Timezone of the scaling plan. + :param pulumi.Input[str] description: Description of scaling plan. + :param pulumi.Input[str] exclusion_tag: Exclusion tag for scaling plan. + :param pulumi.Input[str] friendly_name: User friendly name of scaling plan. + :param pulumi.Input[Sequence[pulumi.Input['ScalingHostPoolReferenceArgs']]] host_pool_references: List of ScalingHostPoolReference definitions. + :param pulumi.Input[Union[str, 'ScalingHostPoolType']] host_pool_type: HostPool type for desktop. + :param pulumi.Input[str] kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + :param pulumi.Input[str] scaling_plan_name: The name of the scaling plan. + :param pulumi.Input[Sequence[pulumi.Input['ScalingScheduleArgs']]] schedules: List of ScalingPlanPooledSchedule definitions. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "time_zone", time_zone) + if description is not None: + pulumi.set(__self__, "description", description) + if exclusion_tag is not None: + pulumi.set(__self__, "exclusion_tag", exclusion_tag) + if friendly_name is not None: + pulumi.set(__self__, "friendly_name", friendly_name) + if host_pool_references is not None: + pulumi.set(__self__, "host_pool_references", host_pool_references) + if host_pool_type is None: + host_pool_type = 'Pooled' + if host_pool_type is not None: + pulumi.set(__self__, "host_pool_type", host_pool_type) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if kind is not None: + pulumi.set(__self__, "kind", kind) + if location is not None: + pulumi.set(__self__, "location", location) + if managed_by is not None: + pulumi.set(__self__, "managed_by", managed_by) + if plan is not None: + pulumi.set(__self__, "plan", plan) + if scaling_plan_name is not None: + pulumi.set(__self__, "scaling_plan_name", scaling_plan_name) + if schedules is not None: + pulumi.set(__self__, "schedules", schedules) + if sku is not None: + pulumi.set(__self__, "sku", sku) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> pulumi.Input[str]: + """ + Timezone of the scaling plan. + """ + return pulumi.get(self, "time_zone") + + @time_zone.setter + def time_zone(self, value: pulumi.Input[str]): + pulumi.set(self, "time_zone", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of scaling plan. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="exclusionTag") + def exclusion_tag(self) -> Optional[pulumi.Input[str]]: + """ + Exclusion tag for scaling plan. + """ + return pulumi.get(self, "exclusion_tag") + + @exclusion_tag.setter + def exclusion_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "exclusion_tag", value) + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> Optional[pulumi.Input[str]]: + """ + User friendly name of scaling plan. + """ + return pulumi.get(self, "friendly_name") + + @friendly_name.setter + def friendly_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "friendly_name", value) + + @property + @pulumi.getter(name="hostPoolReferences") + def host_pool_references(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScalingHostPoolReferenceArgs']]]]: + """ + List of ScalingHostPoolReference definitions. + """ + return pulumi.get(self, "host_pool_references") + + @host_pool_references.setter + def host_pool_references(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingHostPoolReferenceArgs']]]]): + pulumi.set(self, "host_pool_references", value) + + @property + @pulumi.getter(name="hostPoolType") + def host_pool_type(self) -> Optional[pulumi.Input[Union[str, 'ScalingHostPoolType']]]: + """ + HostPool type for desktop. + """ + return pulumi.get(self, "host_pool_type") + + @host_pool_type.setter + def host_pool_type(self, value: Optional[pulumi.Input[Union[str, 'ScalingHostPoolType']]]): + pulumi.set(self, "host_pool_type", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['ResourceModelWithAllowedPropertySetIdentityArgs']]: + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def kind(self) -> Optional[pulumi.Input[str]]: + """ + Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> Optional[pulumi.Input[str]]: + """ + The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + """ + return pulumi.get(self, "managed_by") + + @managed_by.setter + def managed_by(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "managed_by", value) + + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['ResourceModelWithAllowedPropertySetPlanArgs']]: + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetPlanArgs']]): + pulumi.set(self, "plan", value) + + @property + @pulumi.getter(name="scalingPlanName") + def scaling_plan_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the scaling plan. + """ + return pulumi.get(self, "scaling_plan_name") + + @scaling_plan_name.setter + def scaling_plan_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scaling_plan_name", value) + + @property + @pulumi.getter + def schedules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScalingScheduleArgs']]]]: + """ + List of ScalingPlanPooledSchedule definitions. + """ + return pulumi.get(self, "schedules") + + @schedules.setter + def schedules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingScheduleArgs']]]]): + pulumi.set(self, "schedules", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input['ResourceModelWithAllowedPropertySetSkuArgs']]: + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetSkuArgs']]): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class ScalingPlan(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + exclusion_tag: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + host_pool_references: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingHostPoolReferenceArgs']]]]] = None, + host_pool_type: Optional[pulumi.Input[Union[str, 'ScalingHostPoolType']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetIdentityArgs']]] = None, + kind: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + managed_by: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetPlanArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + schedules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingScheduleArgs']]]]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetSkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + time_zone: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Represents a scaling plan definition. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Description of scaling plan. + :param pulumi.Input[str] exclusion_tag: Exclusion tag for scaling plan. + :param pulumi.Input[str] friendly_name: User friendly name of scaling plan. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingHostPoolReferenceArgs']]]] host_pool_references: List of ScalingHostPoolReference definitions. + :param pulumi.Input[Union[str, 'ScalingHostPoolType']] host_pool_type: HostPool type for desktop. + :param pulumi.Input[str] kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] scaling_plan_name: The name of the scaling plan. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingScheduleArgs']]]] schedules: List of ScalingPlanPooledSchedule definitions. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[str] time_zone: Timezone of the scaling plan. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ScalingPlanArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Represents a scaling plan definition. + + :param str resource_name: The name of the resource. + :param ScalingPlanArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ScalingPlanArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + exclusion_tag: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + host_pool_references: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingHostPoolReferenceArgs']]]]] = None, + host_pool_type: Optional[pulumi.Input[Union[str, 'ScalingHostPoolType']]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetIdentityArgs']]] = None, + kind: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + managed_by: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetPlanArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + schedules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingScheduleArgs']]]]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetSkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + time_zone: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ScalingPlanArgs.__new__(ScalingPlanArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["exclusion_tag"] = exclusion_tag + __props__.__dict__["friendly_name"] = friendly_name + __props__.__dict__["host_pool_references"] = host_pool_references + if host_pool_type is None: + host_pool_type = 'Pooled' + __props__.__dict__["host_pool_type"] = host_pool_type + __props__.__dict__["identity"] = identity + __props__.__dict__["kind"] = kind + __props__.__dict__["location"] = location + __props__.__dict__["managed_by"] = managed_by + __props__.__dict__["plan"] = plan + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["scaling_plan_name"] = scaling_plan_name + __props__.__dict__["schedules"] = schedules + __props__.__dict__["sku"] = sku + __props__.__dict__["tags"] = tags + if time_zone is None and not opts.urn: + raise TypeError("Missing required property 'time_zone'") + __props__.__dict__["time_zone"] = time_zone + __props__.__dict__["etag"] = None + __props__.__dict__["name"] = None + __props__.__dict__["object_id"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlan"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlan")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(ScalingPlan, __self__).__init__( + 'azure-native:desktopvirtualization/v20230707preview:ScalingPlan', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ScalingPlan': + """ + Get an existing ScalingPlan resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ScalingPlanArgs.__new__(ScalingPlanArgs) + + __props__.__dict__["description"] = None + __props__.__dict__["etag"] = None + __props__.__dict__["exclusion_tag"] = None + __props__.__dict__["friendly_name"] = None + __props__.__dict__["host_pool_references"] = None + __props__.__dict__["host_pool_type"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["kind"] = None + __props__.__dict__["location"] = None + __props__.__dict__["managed_by"] = None + __props__.__dict__["name"] = None + __props__.__dict__["object_id"] = None + __props__.__dict__["plan"] = None + __props__.__dict__["schedules"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["time_zone"] = None + __props__.__dict__["type"] = None + return ScalingPlan(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description of scaling plan. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def etag(self) -> pulumi.Output[str]: + """ + The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="exclusionTag") + def exclusion_tag(self) -> pulumi.Output[Optional[str]]: + """ + Exclusion tag for scaling plan. + """ + return pulumi.get(self, "exclusion_tag") + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> pulumi.Output[Optional[str]]: + """ + User friendly name of scaling plan. + """ + return pulumi.get(self, "friendly_name") + + @property + @pulumi.getter(name="hostPoolReferences") + def host_pool_references(self) -> pulumi.Output[Optional[Sequence['outputs.ScalingHostPoolReferenceResponse']]]: + """ + List of ScalingHostPoolReference definitions. + """ + return pulumi.get(self, "host_pool_references") + + @property + @pulumi.getter(name="hostPoolType") + def host_pool_type(self) -> pulumi.Output[Optional[str]]: + """ + HostPool type for desktop. + """ + return pulumi.get(self, "host_pool_type") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.ResourceModelWithAllowedPropertySetResponseIdentity']]: + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def kind(self) -> pulumi.Output[Optional[str]]: + """ + Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[Optional[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> pulumi.Output[Optional[str]]: + """ + The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + """ + return pulumi.get(self, "managed_by") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> pulumi.Output[str]: + """ + ObjectId of scaling plan. (internal use) + """ + return pulumi.get(self, "object_id") + + @property + @pulumi.getter + def plan(self) -> pulumi.Output[Optional['outputs.ResourceModelWithAllowedPropertySetResponsePlan']]: + return pulumi.get(self, "plan") + + @property + @pulumi.getter + def schedules(self) -> pulumi.Output[Optional[Sequence['outputs.ScalingScheduleResponse']]]: + """ + List of ScalingPlanPooledSchedule definitions. + """ + return pulumi.get(self, "schedules") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output[Optional['outputs.ResourceModelWithAllowedPropertySetResponseSku']]: + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> pulumi.Output[str]: + """ + Timezone of the scaling plan. + """ + return pulumi.get(self, "time_zone") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/scaling_plan_personal_schedule.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/scaling_plan_personal_schedule.py new file mode 100644 index 000000000000..60ae02045bfc --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/scaling_plan_personal_schedule.py @@ -0,0 +1,957 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ScalingPlanPersonalScheduleArgs', 'ScalingPlanPersonalSchedule'] + +@pulumi.input_type +class ScalingPlanPersonalScheduleArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + scaling_plan_name: pulumi.Input[str], + days_of_week: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]] = None, + off_peak_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + off_peak_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + off_peak_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + off_peak_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + off_peak_start_time: Optional[pulumi.Input['TimeArgs']] = None, + off_peak_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + peak_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + peak_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + peak_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + peak_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + peak_start_time: Optional[pulumi.Input['TimeArgs']] = None, + peak_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + ramp_down_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_down_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_down_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + ramp_down_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + ramp_down_start_time: Optional[pulumi.Input['TimeArgs']] = None, + ramp_down_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + ramp_up_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_up_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_up_auto_start_hosts: Optional[pulumi.Input[Union[str, 'StartupBehavior']]] = None, + ramp_up_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + ramp_up_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + ramp_up_start_time: Optional[pulumi.Input['TimeArgs']] = None, + ramp_up_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + scaling_plan_schedule_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ScalingPlanPersonalSchedule resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] scaling_plan_name: The name of the scaling plan. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]] days_of_week: Set of days of the week on which this schedule is active. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] off_peak_action_on_disconnect: Action to be taken after a user disconnect during the off-peak period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] off_peak_action_on_logoff: Action to be taken after a logoff during the off-peak period. + :param pulumi.Input[int] off_peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + :param pulumi.Input[int] off_peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + :param pulumi.Input['TimeArgs'] off_peak_start_time: Starting time for off-peak period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] off_peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] peak_action_on_disconnect: Action to be taken after a user disconnect during the peak period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] peak_action_on_logoff: Action to be taken after a logoff during the peak period. + :param pulumi.Input[int] peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + :param pulumi.Input[int] peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + :param pulumi.Input['TimeArgs'] peak_start_time: Starting time for peak period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the peak phase. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_down_action_on_disconnect: Action to be taken after a user disconnect during the ramp down period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_down_action_on_logoff: Action to be taken after a logoff during the ramp down period. + :param pulumi.Input[int] ramp_down_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + :param pulumi.Input[int] ramp_down_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + :param pulumi.Input['TimeArgs'] ramp_down_start_time: Starting time for ramp down period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] ramp_down_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_up_action_on_disconnect: Action to be taken after a user disconnect during the ramp up period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_up_action_on_logoff: Action to be taken after a logoff during the ramp up period. + :param pulumi.Input[Union[str, 'StartupBehavior']] ramp_up_auto_start_hosts: The desired startup behavior during the ramp up period for personal vms in the hostpool. + :param pulumi.Input[int] ramp_up_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + :param pulumi.Input[int] ramp_up_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + :param pulumi.Input['TimeArgs'] ramp_up_start_time: Starting time for ramp up period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] ramp_up_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + :param pulumi.Input[str] scaling_plan_schedule_name: The name of the ScalingPlanSchedule + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "scaling_plan_name", scaling_plan_name) + if days_of_week is not None: + pulumi.set(__self__, "days_of_week", days_of_week) + if off_peak_action_on_disconnect is not None: + pulumi.set(__self__, "off_peak_action_on_disconnect", off_peak_action_on_disconnect) + if off_peak_action_on_logoff is not None: + pulumi.set(__self__, "off_peak_action_on_logoff", off_peak_action_on_logoff) + if off_peak_minutes_to_wait_on_disconnect is not None: + pulumi.set(__self__, "off_peak_minutes_to_wait_on_disconnect", off_peak_minutes_to_wait_on_disconnect) + if off_peak_minutes_to_wait_on_logoff is not None: + pulumi.set(__self__, "off_peak_minutes_to_wait_on_logoff", off_peak_minutes_to_wait_on_logoff) + if off_peak_start_time is not None: + pulumi.set(__self__, "off_peak_start_time", off_peak_start_time) + if off_peak_start_vm_on_connect is None: + off_peak_start_vm_on_connect = 'Enable' + if off_peak_start_vm_on_connect is not None: + pulumi.set(__self__, "off_peak_start_vm_on_connect", off_peak_start_vm_on_connect) + if peak_action_on_disconnect is not None: + pulumi.set(__self__, "peak_action_on_disconnect", peak_action_on_disconnect) + if peak_action_on_logoff is not None: + pulumi.set(__self__, "peak_action_on_logoff", peak_action_on_logoff) + if peak_minutes_to_wait_on_disconnect is not None: + pulumi.set(__self__, "peak_minutes_to_wait_on_disconnect", peak_minutes_to_wait_on_disconnect) + if peak_minutes_to_wait_on_logoff is not None: + pulumi.set(__self__, "peak_minutes_to_wait_on_logoff", peak_minutes_to_wait_on_logoff) + if peak_start_time is not None: + pulumi.set(__self__, "peak_start_time", peak_start_time) + if peak_start_vm_on_connect is None: + peak_start_vm_on_connect = 'Enable' + if peak_start_vm_on_connect is not None: + pulumi.set(__self__, "peak_start_vm_on_connect", peak_start_vm_on_connect) + if ramp_down_action_on_disconnect is not None: + pulumi.set(__self__, "ramp_down_action_on_disconnect", ramp_down_action_on_disconnect) + if ramp_down_action_on_logoff is not None: + pulumi.set(__self__, "ramp_down_action_on_logoff", ramp_down_action_on_logoff) + if ramp_down_minutes_to_wait_on_disconnect is not None: + pulumi.set(__self__, "ramp_down_minutes_to_wait_on_disconnect", ramp_down_minutes_to_wait_on_disconnect) + if ramp_down_minutes_to_wait_on_logoff is not None: + pulumi.set(__self__, "ramp_down_minutes_to_wait_on_logoff", ramp_down_minutes_to_wait_on_logoff) + if ramp_down_start_time is not None: + pulumi.set(__self__, "ramp_down_start_time", ramp_down_start_time) + if ramp_down_start_vm_on_connect is None: + ramp_down_start_vm_on_connect = 'Enable' + if ramp_down_start_vm_on_connect is not None: + pulumi.set(__self__, "ramp_down_start_vm_on_connect", ramp_down_start_vm_on_connect) + if ramp_up_action_on_disconnect is not None: + pulumi.set(__self__, "ramp_up_action_on_disconnect", ramp_up_action_on_disconnect) + if ramp_up_action_on_logoff is not None: + pulumi.set(__self__, "ramp_up_action_on_logoff", ramp_up_action_on_logoff) + if ramp_up_auto_start_hosts is not None: + pulumi.set(__self__, "ramp_up_auto_start_hosts", ramp_up_auto_start_hosts) + if ramp_up_minutes_to_wait_on_disconnect is not None: + pulumi.set(__self__, "ramp_up_minutes_to_wait_on_disconnect", ramp_up_minutes_to_wait_on_disconnect) + if ramp_up_minutes_to_wait_on_logoff is not None: + pulumi.set(__self__, "ramp_up_minutes_to_wait_on_logoff", ramp_up_minutes_to_wait_on_logoff) + if ramp_up_start_time is not None: + pulumi.set(__self__, "ramp_up_start_time", ramp_up_start_time) + if ramp_up_start_vm_on_connect is None: + ramp_up_start_vm_on_connect = 'Enable' + if ramp_up_start_vm_on_connect is not None: + pulumi.set(__self__, "ramp_up_start_vm_on_connect", ramp_up_start_vm_on_connect) + if scaling_plan_schedule_name is not None: + pulumi.set(__self__, "scaling_plan_schedule_name", scaling_plan_schedule_name) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="scalingPlanName") + def scaling_plan_name(self) -> pulumi.Input[str]: + """ + The name of the scaling plan. + """ + return pulumi.get(self, "scaling_plan_name") + + @scaling_plan_name.setter + def scaling_plan_name(self, value: pulumi.Input[str]): + pulumi.set(self, "scaling_plan_name", value) + + @property + @pulumi.getter(name="daysOfWeek") + def days_of_week(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]]: + """ + Set of days of the week on which this schedule is active. + """ + return pulumi.get(self, "days_of_week") + + @days_of_week.setter + def days_of_week(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]]): + pulumi.set(self, "days_of_week", value) + + @property + @pulumi.getter(name="offPeakActionOnDisconnect") + def off_peak_action_on_disconnect(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a user disconnect during the off-peak period. + """ + return pulumi.get(self, "off_peak_action_on_disconnect") + + @off_peak_action_on_disconnect.setter + def off_peak_action_on_disconnect(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "off_peak_action_on_disconnect", value) + + @property + @pulumi.getter(name="offPeakActionOnLogoff") + def off_peak_action_on_logoff(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a logoff during the off-peak period. + """ + return pulumi.get(self, "off_peak_action_on_logoff") + + @off_peak_action_on_logoff.setter + def off_peak_action_on_logoff(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "off_peak_action_on_logoff", value) + + @property + @pulumi.getter(name="offPeakMinutesToWaitOnDisconnect") + def off_peak_minutes_to_wait_on_disconnect(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + """ + return pulumi.get(self, "off_peak_minutes_to_wait_on_disconnect") + + @off_peak_minutes_to_wait_on_disconnect.setter + def off_peak_minutes_to_wait_on_disconnect(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "off_peak_minutes_to_wait_on_disconnect", value) + + @property + @pulumi.getter(name="offPeakMinutesToWaitOnLogoff") + def off_peak_minutes_to_wait_on_logoff(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + """ + return pulumi.get(self, "off_peak_minutes_to_wait_on_logoff") + + @off_peak_minutes_to_wait_on_logoff.setter + def off_peak_minutes_to_wait_on_logoff(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "off_peak_minutes_to_wait_on_logoff", value) + + @property + @pulumi.getter(name="offPeakStartTime") + def off_peak_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for off-peak period. + """ + return pulumi.get(self, "off_peak_start_time") + + @off_peak_start_time.setter + def off_peak_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "off_peak_start_time", value) + + @property + @pulumi.getter(name="offPeakStartVMOnConnect") + def off_peak_start_vm_on_connect(self) -> Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + """ + return pulumi.get(self, "off_peak_start_vm_on_connect") + + @off_peak_start_vm_on_connect.setter + def off_peak_start_vm_on_connect(self, value: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]): + pulumi.set(self, "off_peak_start_vm_on_connect", value) + + @property + @pulumi.getter(name="peakActionOnDisconnect") + def peak_action_on_disconnect(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a user disconnect during the peak period. + """ + return pulumi.get(self, "peak_action_on_disconnect") + + @peak_action_on_disconnect.setter + def peak_action_on_disconnect(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "peak_action_on_disconnect", value) + + @property + @pulumi.getter(name="peakActionOnLogoff") + def peak_action_on_logoff(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a logoff during the peak period. + """ + return pulumi.get(self, "peak_action_on_logoff") + + @peak_action_on_logoff.setter + def peak_action_on_logoff(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "peak_action_on_logoff", value) + + @property + @pulumi.getter(name="peakMinutesToWaitOnDisconnect") + def peak_minutes_to_wait_on_disconnect(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + """ + return pulumi.get(self, "peak_minutes_to_wait_on_disconnect") + + @peak_minutes_to_wait_on_disconnect.setter + def peak_minutes_to_wait_on_disconnect(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "peak_minutes_to_wait_on_disconnect", value) + + @property + @pulumi.getter(name="peakMinutesToWaitOnLogoff") + def peak_minutes_to_wait_on_logoff(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + """ + return pulumi.get(self, "peak_minutes_to_wait_on_logoff") + + @peak_minutes_to_wait_on_logoff.setter + def peak_minutes_to_wait_on_logoff(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "peak_minutes_to_wait_on_logoff", value) + + @property + @pulumi.getter(name="peakStartTime") + def peak_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for peak period. + """ + return pulumi.get(self, "peak_start_time") + + @peak_start_time.setter + def peak_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "peak_start_time", value) + + @property + @pulumi.getter(name="peakStartVMOnConnect") + def peak_start_vm_on_connect(self) -> Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the peak phase. + """ + return pulumi.get(self, "peak_start_vm_on_connect") + + @peak_start_vm_on_connect.setter + def peak_start_vm_on_connect(self, value: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]): + pulumi.set(self, "peak_start_vm_on_connect", value) + + @property + @pulumi.getter(name="rampDownActionOnDisconnect") + def ramp_down_action_on_disconnect(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a user disconnect during the ramp down period. + """ + return pulumi.get(self, "ramp_down_action_on_disconnect") + + @ramp_down_action_on_disconnect.setter + def ramp_down_action_on_disconnect(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "ramp_down_action_on_disconnect", value) + + @property + @pulumi.getter(name="rampDownActionOnLogoff") + def ramp_down_action_on_logoff(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a logoff during the ramp down period. + """ + return pulumi.get(self, "ramp_down_action_on_logoff") + + @ramp_down_action_on_logoff.setter + def ramp_down_action_on_logoff(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "ramp_down_action_on_logoff", value) + + @property + @pulumi.getter(name="rampDownMinutesToWaitOnDisconnect") + def ramp_down_minutes_to_wait_on_disconnect(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + """ + return pulumi.get(self, "ramp_down_minutes_to_wait_on_disconnect") + + @ramp_down_minutes_to_wait_on_disconnect.setter + def ramp_down_minutes_to_wait_on_disconnect(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_down_minutes_to_wait_on_disconnect", value) + + @property + @pulumi.getter(name="rampDownMinutesToWaitOnLogoff") + def ramp_down_minutes_to_wait_on_logoff(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + """ + return pulumi.get(self, "ramp_down_minutes_to_wait_on_logoff") + + @ramp_down_minutes_to_wait_on_logoff.setter + def ramp_down_minutes_to_wait_on_logoff(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_down_minutes_to_wait_on_logoff", value) + + @property + @pulumi.getter(name="rampDownStartTime") + def ramp_down_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for ramp down period. + """ + return pulumi.get(self, "ramp_down_start_time") + + @ramp_down_start_time.setter + def ramp_down_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "ramp_down_start_time", value) + + @property + @pulumi.getter(name="rampDownStartVMOnConnect") + def ramp_down_start_vm_on_connect(self) -> Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + """ + return pulumi.get(self, "ramp_down_start_vm_on_connect") + + @ramp_down_start_vm_on_connect.setter + def ramp_down_start_vm_on_connect(self, value: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]): + pulumi.set(self, "ramp_down_start_vm_on_connect", value) + + @property + @pulumi.getter(name="rampUpActionOnDisconnect") + def ramp_up_action_on_disconnect(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a user disconnect during the ramp up period. + """ + return pulumi.get(self, "ramp_up_action_on_disconnect") + + @ramp_up_action_on_disconnect.setter + def ramp_up_action_on_disconnect(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "ramp_up_action_on_disconnect", value) + + @property + @pulumi.getter(name="rampUpActionOnLogoff") + def ramp_up_action_on_logoff(self) -> Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]: + """ + Action to be taken after a logoff during the ramp up period. + """ + return pulumi.get(self, "ramp_up_action_on_logoff") + + @ramp_up_action_on_logoff.setter + def ramp_up_action_on_logoff(self, value: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]]): + pulumi.set(self, "ramp_up_action_on_logoff", value) + + @property + @pulumi.getter(name="rampUpAutoStartHosts") + def ramp_up_auto_start_hosts(self) -> Optional[pulumi.Input[Union[str, 'StartupBehavior']]]: + """ + The desired startup behavior during the ramp up period for personal vms in the hostpool. + """ + return pulumi.get(self, "ramp_up_auto_start_hosts") + + @ramp_up_auto_start_hosts.setter + def ramp_up_auto_start_hosts(self, value: Optional[pulumi.Input[Union[str, 'StartupBehavior']]]): + pulumi.set(self, "ramp_up_auto_start_hosts", value) + + @property + @pulumi.getter(name="rampUpMinutesToWaitOnDisconnect") + def ramp_up_minutes_to_wait_on_disconnect(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + """ + return pulumi.get(self, "ramp_up_minutes_to_wait_on_disconnect") + + @ramp_up_minutes_to_wait_on_disconnect.setter + def ramp_up_minutes_to_wait_on_disconnect(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_up_minutes_to_wait_on_disconnect", value) + + @property + @pulumi.getter(name="rampUpMinutesToWaitOnLogoff") + def ramp_up_minutes_to_wait_on_logoff(self) -> Optional[pulumi.Input[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + """ + return pulumi.get(self, "ramp_up_minutes_to_wait_on_logoff") + + @ramp_up_minutes_to_wait_on_logoff.setter + def ramp_up_minutes_to_wait_on_logoff(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_up_minutes_to_wait_on_logoff", value) + + @property + @pulumi.getter(name="rampUpStartTime") + def ramp_up_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for ramp up period. + """ + return pulumi.get(self, "ramp_up_start_time") + + @ramp_up_start_time.setter + def ramp_up_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "ramp_up_start_time", value) + + @property + @pulumi.getter(name="rampUpStartVMOnConnect") + def ramp_up_start_vm_on_connect(self) -> Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + """ + return pulumi.get(self, "ramp_up_start_vm_on_connect") + + @ramp_up_start_vm_on_connect.setter + def ramp_up_start_vm_on_connect(self, value: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]]): + pulumi.set(self, "ramp_up_start_vm_on_connect", value) + + @property + @pulumi.getter(name="scalingPlanScheduleName") + def scaling_plan_schedule_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the ScalingPlanSchedule + """ + return pulumi.get(self, "scaling_plan_schedule_name") + + @scaling_plan_schedule_name.setter + def scaling_plan_schedule_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scaling_plan_schedule_name", value) + + +class ScalingPlanPersonalSchedule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + days_of_week: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]] = None, + off_peak_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + off_peak_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + off_peak_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + off_peak_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + off_peak_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + off_peak_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + peak_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + peak_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + peak_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + peak_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + peak_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + peak_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + ramp_down_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_down_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_down_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + ramp_down_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + ramp_down_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + ramp_down_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + ramp_up_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_up_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_up_auto_start_hosts: Optional[pulumi.Input[Union[str, 'StartupBehavior']]] = None, + ramp_up_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + ramp_up_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + ramp_up_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + ramp_up_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + scaling_plan_schedule_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Represents a ScalingPlanPersonalSchedule definition. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]] days_of_week: Set of days of the week on which this schedule is active. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] off_peak_action_on_disconnect: Action to be taken after a user disconnect during the off-peak period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] off_peak_action_on_logoff: Action to be taken after a logoff during the off-peak period. + :param pulumi.Input[int] off_peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + :param pulumi.Input[int] off_peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + :param pulumi.Input[pulumi.InputType['TimeArgs']] off_peak_start_time: Starting time for off-peak period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] off_peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] peak_action_on_disconnect: Action to be taken after a user disconnect during the peak period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] peak_action_on_logoff: Action to be taken after a logoff during the peak period. + :param pulumi.Input[int] peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + :param pulumi.Input[int] peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + :param pulumi.Input[pulumi.InputType['TimeArgs']] peak_start_time: Starting time for peak period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the peak phase. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_down_action_on_disconnect: Action to be taken after a user disconnect during the ramp down period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_down_action_on_logoff: Action to be taken after a logoff during the ramp down period. + :param pulumi.Input[int] ramp_down_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + :param pulumi.Input[int] ramp_down_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + :param pulumi.Input[pulumi.InputType['TimeArgs']] ramp_down_start_time: Starting time for ramp down period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] ramp_down_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_up_action_on_disconnect: Action to be taken after a user disconnect during the ramp up period. + :param pulumi.Input[Union[str, 'SessionHandlingOperation']] ramp_up_action_on_logoff: Action to be taken after a logoff during the ramp up period. + :param pulumi.Input[Union[str, 'StartupBehavior']] ramp_up_auto_start_hosts: The desired startup behavior during the ramp up period for personal vms in the hostpool. + :param pulumi.Input[int] ramp_up_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + :param pulumi.Input[int] ramp_up_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + :param pulumi.Input[pulumi.InputType['TimeArgs']] ramp_up_start_time: Starting time for ramp up period. + :param pulumi.Input[Union[str, 'SetStartVMOnConnect']] ramp_up_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] scaling_plan_name: The name of the scaling plan. + :param pulumi.Input[str] scaling_plan_schedule_name: The name of the ScalingPlanSchedule + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ScalingPlanPersonalScheduleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Represents a ScalingPlanPersonalSchedule definition. + + :param str resource_name: The name of the resource. + :param ScalingPlanPersonalScheduleArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ScalingPlanPersonalScheduleArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + days_of_week: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]] = None, + off_peak_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + off_peak_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + off_peak_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + off_peak_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + off_peak_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + off_peak_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + peak_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + peak_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + peak_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + peak_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + peak_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + peak_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + ramp_down_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_down_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_down_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + ramp_down_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + ramp_down_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + ramp_down_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + ramp_up_action_on_disconnect: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_up_action_on_logoff: Optional[pulumi.Input[Union[str, 'SessionHandlingOperation']]] = None, + ramp_up_auto_start_hosts: Optional[pulumi.Input[Union[str, 'StartupBehavior']]] = None, + ramp_up_minutes_to_wait_on_disconnect: Optional[pulumi.Input[int]] = None, + ramp_up_minutes_to_wait_on_logoff: Optional[pulumi.Input[int]] = None, + ramp_up_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + ramp_up_start_vm_on_connect: Optional[pulumi.Input[Union[str, 'SetStartVMOnConnect']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + scaling_plan_schedule_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ScalingPlanPersonalScheduleArgs.__new__(ScalingPlanPersonalScheduleArgs) + + __props__.__dict__["days_of_week"] = days_of_week + __props__.__dict__["off_peak_action_on_disconnect"] = off_peak_action_on_disconnect + __props__.__dict__["off_peak_action_on_logoff"] = off_peak_action_on_logoff + __props__.__dict__["off_peak_minutes_to_wait_on_disconnect"] = off_peak_minutes_to_wait_on_disconnect + __props__.__dict__["off_peak_minutes_to_wait_on_logoff"] = off_peak_minutes_to_wait_on_logoff + __props__.__dict__["off_peak_start_time"] = off_peak_start_time + if off_peak_start_vm_on_connect is None: + off_peak_start_vm_on_connect = 'Enable' + __props__.__dict__["off_peak_start_vm_on_connect"] = off_peak_start_vm_on_connect + __props__.__dict__["peak_action_on_disconnect"] = peak_action_on_disconnect + __props__.__dict__["peak_action_on_logoff"] = peak_action_on_logoff + __props__.__dict__["peak_minutes_to_wait_on_disconnect"] = peak_minutes_to_wait_on_disconnect + __props__.__dict__["peak_minutes_to_wait_on_logoff"] = peak_minutes_to_wait_on_logoff + __props__.__dict__["peak_start_time"] = peak_start_time + if peak_start_vm_on_connect is None: + peak_start_vm_on_connect = 'Enable' + __props__.__dict__["peak_start_vm_on_connect"] = peak_start_vm_on_connect + __props__.__dict__["ramp_down_action_on_disconnect"] = ramp_down_action_on_disconnect + __props__.__dict__["ramp_down_action_on_logoff"] = ramp_down_action_on_logoff + __props__.__dict__["ramp_down_minutes_to_wait_on_disconnect"] = ramp_down_minutes_to_wait_on_disconnect + __props__.__dict__["ramp_down_minutes_to_wait_on_logoff"] = ramp_down_minutes_to_wait_on_logoff + __props__.__dict__["ramp_down_start_time"] = ramp_down_start_time + if ramp_down_start_vm_on_connect is None: + ramp_down_start_vm_on_connect = 'Enable' + __props__.__dict__["ramp_down_start_vm_on_connect"] = ramp_down_start_vm_on_connect + __props__.__dict__["ramp_up_action_on_disconnect"] = ramp_up_action_on_disconnect + __props__.__dict__["ramp_up_action_on_logoff"] = ramp_up_action_on_logoff + __props__.__dict__["ramp_up_auto_start_hosts"] = ramp_up_auto_start_hosts + __props__.__dict__["ramp_up_minutes_to_wait_on_disconnect"] = ramp_up_minutes_to_wait_on_disconnect + __props__.__dict__["ramp_up_minutes_to_wait_on_logoff"] = ramp_up_minutes_to_wait_on_logoff + __props__.__dict__["ramp_up_start_time"] = ramp_up_start_time + if ramp_up_start_vm_on_connect is None: + ramp_up_start_vm_on_connect = 'Enable' + __props__.__dict__["ramp_up_start_vm_on_connect"] = ramp_up_start_vm_on_connect + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if scaling_plan_name is None and not opts.urn: + raise TypeError("Missing required property 'scaling_plan_name'") + __props__.__dict__["scaling_plan_name"] = scaling_plan_name + __props__.__dict__["scaling_plan_schedule_name"] = scaling_plan_schedule_name + __props__.__dict__["name"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlanPersonalSchedule")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(ScalingPlanPersonalSchedule, __self__).__init__( + 'azure-native:desktopvirtualization/v20230707preview:ScalingPlanPersonalSchedule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ScalingPlanPersonalSchedule': + """ + Get an existing ScalingPlanPersonalSchedule resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ScalingPlanPersonalScheduleArgs.__new__(ScalingPlanPersonalScheduleArgs) + + __props__.__dict__["days_of_week"] = None + __props__.__dict__["name"] = None + __props__.__dict__["off_peak_action_on_disconnect"] = None + __props__.__dict__["off_peak_action_on_logoff"] = None + __props__.__dict__["off_peak_minutes_to_wait_on_disconnect"] = None + __props__.__dict__["off_peak_minutes_to_wait_on_logoff"] = None + __props__.__dict__["off_peak_start_time"] = None + __props__.__dict__["off_peak_start_vm_on_connect"] = None + __props__.__dict__["peak_action_on_disconnect"] = None + __props__.__dict__["peak_action_on_logoff"] = None + __props__.__dict__["peak_minutes_to_wait_on_disconnect"] = None + __props__.__dict__["peak_minutes_to_wait_on_logoff"] = None + __props__.__dict__["peak_start_time"] = None + __props__.__dict__["peak_start_vm_on_connect"] = None + __props__.__dict__["ramp_down_action_on_disconnect"] = None + __props__.__dict__["ramp_down_action_on_logoff"] = None + __props__.__dict__["ramp_down_minutes_to_wait_on_disconnect"] = None + __props__.__dict__["ramp_down_minutes_to_wait_on_logoff"] = None + __props__.__dict__["ramp_down_start_time"] = None + __props__.__dict__["ramp_down_start_vm_on_connect"] = None + __props__.__dict__["ramp_up_action_on_disconnect"] = None + __props__.__dict__["ramp_up_action_on_logoff"] = None + __props__.__dict__["ramp_up_auto_start_hosts"] = None + __props__.__dict__["ramp_up_minutes_to_wait_on_disconnect"] = None + __props__.__dict__["ramp_up_minutes_to_wait_on_logoff"] = None + __props__.__dict__["ramp_up_start_time"] = None + __props__.__dict__["ramp_up_start_vm_on_connect"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + return ScalingPlanPersonalSchedule(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="daysOfWeek") + def days_of_week(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Set of days of the week on which this schedule is active. + """ + return pulumi.get(self, "days_of_week") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="offPeakActionOnDisconnect") + def off_peak_action_on_disconnect(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a user disconnect during the off-peak period. + """ + return pulumi.get(self, "off_peak_action_on_disconnect") + + @property + @pulumi.getter(name="offPeakActionOnLogoff") + def off_peak_action_on_logoff(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a logoff during the off-peak period. + """ + return pulumi.get(self, "off_peak_action_on_logoff") + + @property + @pulumi.getter(name="offPeakMinutesToWaitOnDisconnect") + def off_peak_minutes_to_wait_on_disconnect(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. + """ + return pulumi.get(self, "off_peak_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="offPeakMinutesToWaitOnLogoff") + def off_peak_minutes_to_wait_on_logoff(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. + """ + return pulumi.get(self, "off_peak_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="offPeakStartTime") + def off_peak_start_time(self) -> pulumi.Output[Optional['outputs.TimeResponse']]: + """ + Starting time for off-peak period. + """ + return pulumi.get(self, "off_peak_start_time") + + @property + @pulumi.getter(name="offPeakStartVMOnConnect") + def off_peak_start_vm_on_connect(self) -> pulumi.Output[Optional[str]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. + """ + return pulumi.get(self, "off_peak_start_vm_on_connect") + + @property + @pulumi.getter(name="peakActionOnDisconnect") + def peak_action_on_disconnect(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a user disconnect during the peak period. + """ + return pulumi.get(self, "peak_action_on_disconnect") + + @property + @pulumi.getter(name="peakActionOnLogoff") + def peak_action_on_logoff(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a logoff during the peak period. + """ + return pulumi.get(self, "peak_action_on_logoff") + + @property + @pulumi.getter(name="peakMinutesToWaitOnDisconnect") + def peak_minutes_to_wait_on_disconnect(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. + """ + return pulumi.get(self, "peak_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="peakMinutesToWaitOnLogoff") + def peak_minutes_to_wait_on_logoff(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. + """ + return pulumi.get(self, "peak_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="peakStartTime") + def peak_start_time(self) -> pulumi.Output[Optional['outputs.TimeResponse']]: + """ + Starting time for peak period. + """ + return pulumi.get(self, "peak_start_time") + + @property + @pulumi.getter(name="peakStartVMOnConnect") + def peak_start_vm_on_connect(self) -> pulumi.Output[Optional[str]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the peak phase. + """ + return pulumi.get(self, "peak_start_vm_on_connect") + + @property + @pulumi.getter(name="rampDownActionOnDisconnect") + def ramp_down_action_on_disconnect(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a user disconnect during the ramp down period. + """ + return pulumi.get(self, "ramp_down_action_on_disconnect") + + @property + @pulumi.getter(name="rampDownActionOnLogoff") + def ramp_down_action_on_logoff(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a logoff during the ramp down period. + """ + return pulumi.get(self, "ramp_down_action_on_logoff") + + @property + @pulumi.getter(name="rampDownMinutesToWaitOnDisconnect") + def ramp_down_minutes_to_wait_on_disconnect(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. + """ + return pulumi.get(self, "ramp_down_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="rampDownMinutesToWaitOnLogoff") + def ramp_down_minutes_to_wait_on_logoff(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. + """ + return pulumi.get(self, "ramp_down_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="rampDownStartTime") + def ramp_down_start_time(self) -> pulumi.Output[Optional['outputs.TimeResponse']]: + """ + Starting time for ramp down period. + """ + return pulumi.get(self, "ramp_down_start_time") + + @property + @pulumi.getter(name="rampDownStartVMOnConnect") + def ramp_down_start_vm_on_connect(self) -> pulumi.Output[Optional[str]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. + """ + return pulumi.get(self, "ramp_down_start_vm_on_connect") + + @property + @pulumi.getter(name="rampUpActionOnDisconnect") + def ramp_up_action_on_disconnect(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a user disconnect during the ramp up period. + """ + return pulumi.get(self, "ramp_up_action_on_disconnect") + + @property + @pulumi.getter(name="rampUpActionOnLogoff") + def ramp_up_action_on_logoff(self) -> pulumi.Output[Optional[str]]: + """ + Action to be taken after a logoff during the ramp up period. + """ + return pulumi.get(self, "ramp_up_action_on_logoff") + + @property + @pulumi.getter(name="rampUpAutoStartHosts") + def ramp_up_auto_start_hosts(self) -> pulumi.Output[Optional[str]]: + """ + The desired startup behavior during the ramp up period for personal vms in the hostpool. + """ + return pulumi.get(self, "ramp_up_auto_start_hosts") + + @property + @pulumi.getter(name="rampUpMinutesToWaitOnDisconnect") + def ramp_up_minutes_to_wait_on_disconnect(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. + """ + return pulumi.get(self, "ramp_up_minutes_to_wait_on_disconnect") + + @property + @pulumi.getter(name="rampUpMinutesToWaitOnLogoff") + def ramp_up_minutes_to_wait_on_logoff(self) -> pulumi.Output[Optional[int]]: + """ + The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. + """ + return pulumi.get(self, "ramp_up_minutes_to_wait_on_logoff") + + @property + @pulumi.getter(name="rampUpStartTime") + def ramp_up_start_time(self) -> pulumi.Output[Optional['outputs.TimeResponse']]: + """ + Starting time for ramp up period. + """ + return pulumi.get(self, "ramp_up_start_time") + + @property + @pulumi.getter(name="rampUpStartVMOnConnect") + def ramp_up_start_vm_on_connect(self) -> pulumi.Output[Optional[str]]: + """ + The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. + """ + return pulumi.get(self, "ramp_up_start_vm_on_connect") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/scaling_plan_pooled_schedule.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/scaling_plan_pooled_schedule.py new file mode 100644 index 000000000000..9094c9a8ba84 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/scaling_plan_pooled_schedule.py @@ -0,0 +1,680 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ScalingPlanPooledScheduleArgs', 'ScalingPlanPooledSchedule'] + +@pulumi.input_type +class ScalingPlanPooledScheduleArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + scaling_plan_name: pulumi.Input[str], + days_of_week: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]] = None, + off_peak_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + off_peak_start_time: Optional[pulumi.Input['TimeArgs']] = None, + peak_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + peak_start_time: Optional[pulumi.Input['TimeArgs']] = None, + ramp_down_capacity_threshold_pct: Optional[pulumi.Input[int]] = None, + ramp_down_force_logoff_users: Optional[pulumi.Input[bool]] = None, + ramp_down_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + ramp_down_minimum_hosts_pct: Optional[pulumi.Input[int]] = None, + ramp_down_notification_message: Optional[pulumi.Input[str]] = None, + ramp_down_start_time: Optional[pulumi.Input['TimeArgs']] = None, + ramp_down_stop_hosts_when: Optional[pulumi.Input[Union[str, 'StopHostsWhen']]] = None, + ramp_down_wait_time_minutes: Optional[pulumi.Input[int]] = None, + ramp_up_capacity_threshold_pct: Optional[pulumi.Input[int]] = None, + ramp_up_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + ramp_up_minimum_hosts_pct: Optional[pulumi.Input[int]] = None, + ramp_up_start_time: Optional[pulumi.Input['TimeArgs']] = None, + scaling_plan_schedule_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ScalingPlanPooledSchedule resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] scaling_plan_name: The name of the scaling plan. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]] days_of_week: Set of days of the week on which this schedule is active. + :param pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']] off_peak_load_balancing_algorithm: Load balancing algorithm for off-peak period. + :param pulumi.Input['TimeArgs'] off_peak_start_time: Starting time for off-peak period. + :param pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']] peak_load_balancing_algorithm: Load balancing algorithm for peak period. + :param pulumi.Input['TimeArgs'] peak_start_time: Starting time for peak period. + :param pulumi.Input[int] ramp_down_capacity_threshold_pct: Capacity threshold for ramp down period. + :param pulumi.Input[bool] ramp_down_force_logoff_users: Should users be logged off forcefully from hosts. + :param pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']] ramp_down_load_balancing_algorithm: Load balancing algorithm for ramp down period. + :param pulumi.Input[int] ramp_down_minimum_hosts_pct: Minimum host percentage for ramp down period. + :param pulumi.Input[str] ramp_down_notification_message: Notification message for users during ramp down period. + :param pulumi.Input['TimeArgs'] ramp_down_start_time: Starting time for ramp down period. + :param pulumi.Input[Union[str, 'StopHostsWhen']] ramp_down_stop_hosts_when: Specifies when to stop hosts during ramp down period. + :param pulumi.Input[int] ramp_down_wait_time_minutes: Number of minutes to wait to stop hosts during ramp down period. + :param pulumi.Input[int] ramp_up_capacity_threshold_pct: Capacity threshold for ramp up period. + :param pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']] ramp_up_load_balancing_algorithm: Load balancing algorithm for ramp up period. + :param pulumi.Input[int] ramp_up_minimum_hosts_pct: Minimum host percentage for ramp up period. + :param pulumi.Input['TimeArgs'] ramp_up_start_time: Starting time for ramp up period. + :param pulumi.Input[str] scaling_plan_schedule_name: The name of the ScalingPlanSchedule + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "scaling_plan_name", scaling_plan_name) + if days_of_week is not None: + pulumi.set(__self__, "days_of_week", days_of_week) + if off_peak_load_balancing_algorithm is not None: + pulumi.set(__self__, "off_peak_load_balancing_algorithm", off_peak_load_balancing_algorithm) + if off_peak_start_time is not None: + pulumi.set(__self__, "off_peak_start_time", off_peak_start_time) + if peak_load_balancing_algorithm is not None: + pulumi.set(__self__, "peak_load_balancing_algorithm", peak_load_balancing_algorithm) + if peak_start_time is not None: + pulumi.set(__self__, "peak_start_time", peak_start_time) + if ramp_down_capacity_threshold_pct is not None: + pulumi.set(__self__, "ramp_down_capacity_threshold_pct", ramp_down_capacity_threshold_pct) + if ramp_down_force_logoff_users is not None: + pulumi.set(__self__, "ramp_down_force_logoff_users", ramp_down_force_logoff_users) + if ramp_down_load_balancing_algorithm is not None: + pulumi.set(__self__, "ramp_down_load_balancing_algorithm", ramp_down_load_balancing_algorithm) + if ramp_down_minimum_hosts_pct is not None: + pulumi.set(__self__, "ramp_down_minimum_hosts_pct", ramp_down_minimum_hosts_pct) + if ramp_down_notification_message is not None: + pulumi.set(__self__, "ramp_down_notification_message", ramp_down_notification_message) + if ramp_down_start_time is not None: + pulumi.set(__self__, "ramp_down_start_time", ramp_down_start_time) + if ramp_down_stop_hosts_when is not None: + pulumi.set(__self__, "ramp_down_stop_hosts_when", ramp_down_stop_hosts_when) + if ramp_down_wait_time_minutes is not None: + pulumi.set(__self__, "ramp_down_wait_time_minutes", ramp_down_wait_time_minutes) + if ramp_up_capacity_threshold_pct is not None: + pulumi.set(__self__, "ramp_up_capacity_threshold_pct", ramp_up_capacity_threshold_pct) + if ramp_up_load_balancing_algorithm is not None: + pulumi.set(__self__, "ramp_up_load_balancing_algorithm", ramp_up_load_balancing_algorithm) + if ramp_up_minimum_hosts_pct is not None: + pulumi.set(__self__, "ramp_up_minimum_hosts_pct", ramp_up_minimum_hosts_pct) + if ramp_up_start_time is not None: + pulumi.set(__self__, "ramp_up_start_time", ramp_up_start_time) + if scaling_plan_schedule_name is not None: + pulumi.set(__self__, "scaling_plan_schedule_name", scaling_plan_schedule_name) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="scalingPlanName") + def scaling_plan_name(self) -> pulumi.Input[str]: + """ + The name of the scaling plan. + """ + return pulumi.get(self, "scaling_plan_name") + + @scaling_plan_name.setter + def scaling_plan_name(self, value: pulumi.Input[str]): + pulumi.set(self, "scaling_plan_name", value) + + @property + @pulumi.getter(name="daysOfWeek") + def days_of_week(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]]: + """ + Set of days of the week on which this schedule is active. + """ + return pulumi.get(self, "days_of_week") + + @days_of_week.setter + def days_of_week(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]]): + pulumi.set(self, "days_of_week", value) + + @property + @pulumi.getter(name="offPeakLoadBalancingAlgorithm") + def off_peak_load_balancing_algorithm(self) -> Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]: + """ + Load balancing algorithm for off-peak period. + """ + return pulumi.get(self, "off_peak_load_balancing_algorithm") + + @off_peak_load_balancing_algorithm.setter + def off_peak_load_balancing_algorithm(self, value: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]): + pulumi.set(self, "off_peak_load_balancing_algorithm", value) + + @property + @pulumi.getter(name="offPeakStartTime") + def off_peak_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for off-peak period. + """ + return pulumi.get(self, "off_peak_start_time") + + @off_peak_start_time.setter + def off_peak_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "off_peak_start_time", value) + + @property + @pulumi.getter(name="peakLoadBalancingAlgorithm") + def peak_load_balancing_algorithm(self) -> Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]: + """ + Load balancing algorithm for peak period. + """ + return pulumi.get(self, "peak_load_balancing_algorithm") + + @peak_load_balancing_algorithm.setter + def peak_load_balancing_algorithm(self, value: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]): + pulumi.set(self, "peak_load_balancing_algorithm", value) + + @property + @pulumi.getter(name="peakStartTime") + def peak_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for peak period. + """ + return pulumi.get(self, "peak_start_time") + + @peak_start_time.setter + def peak_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "peak_start_time", value) + + @property + @pulumi.getter(name="rampDownCapacityThresholdPct") + def ramp_down_capacity_threshold_pct(self) -> Optional[pulumi.Input[int]]: + """ + Capacity threshold for ramp down period. + """ + return pulumi.get(self, "ramp_down_capacity_threshold_pct") + + @ramp_down_capacity_threshold_pct.setter + def ramp_down_capacity_threshold_pct(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_down_capacity_threshold_pct", value) + + @property + @pulumi.getter(name="rampDownForceLogoffUsers") + def ramp_down_force_logoff_users(self) -> Optional[pulumi.Input[bool]]: + """ + Should users be logged off forcefully from hosts. + """ + return pulumi.get(self, "ramp_down_force_logoff_users") + + @ramp_down_force_logoff_users.setter + def ramp_down_force_logoff_users(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "ramp_down_force_logoff_users", value) + + @property + @pulumi.getter(name="rampDownLoadBalancingAlgorithm") + def ramp_down_load_balancing_algorithm(self) -> Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]: + """ + Load balancing algorithm for ramp down period. + """ + return pulumi.get(self, "ramp_down_load_balancing_algorithm") + + @ramp_down_load_balancing_algorithm.setter + def ramp_down_load_balancing_algorithm(self, value: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]): + pulumi.set(self, "ramp_down_load_balancing_algorithm", value) + + @property + @pulumi.getter(name="rampDownMinimumHostsPct") + def ramp_down_minimum_hosts_pct(self) -> Optional[pulumi.Input[int]]: + """ + Minimum host percentage for ramp down period. + """ + return pulumi.get(self, "ramp_down_minimum_hosts_pct") + + @ramp_down_minimum_hosts_pct.setter + def ramp_down_minimum_hosts_pct(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_down_minimum_hosts_pct", value) + + @property + @pulumi.getter(name="rampDownNotificationMessage") + def ramp_down_notification_message(self) -> Optional[pulumi.Input[str]]: + """ + Notification message for users during ramp down period. + """ + return pulumi.get(self, "ramp_down_notification_message") + + @ramp_down_notification_message.setter + def ramp_down_notification_message(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ramp_down_notification_message", value) + + @property + @pulumi.getter(name="rampDownStartTime") + def ramp_down_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for ramp down period. + """ + return pulumi.get(self, "ramp_down_start_time") + + @ramp_down_start_time.setter + def ramp_down_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "ramp_down_start_time", value) + + @property + @pulumi.getter(name="rampDownStopHostsWhen") + def ramp_down_stop_hosts_when(self) -> Optional[pulumi.Input[Union[str, 'StopHostsWhen']]]: + """ + Specifies when to stop hosts during ramp down period. + """ + return pulumi.get(self, "ramp_down_stop_hosts_when") + + @ramp_down_stop_hosts_when.setter + def ramp_down_stop_hosts_when(self, value: Optional[pulumi.Input[Union[str, 'StopHostsWhen']]]): + pulumi.set(self, "ramp_down_stop_hosts_when", value) + + @property + @pulumi.getter(name="rampDownWaitTimeMinutes") + def ramp_down_wait_time_minutes(self) -> Optional[pulumi.Input[int]]: + """ + Number of minutes to wait to stop hosts during ramp down period. + """ + return pulumi.get(self, "ramp_down_wait_time_minutes") + + @ramp_down_wait_time_minutes.setter + def ramp_down_wait_time_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_down_wait_time_minutes", value) + + @property + @pulumi.getter(name="rampUpCapacityThresholdPct") + def ramp_up_capacity_threshold_pct(self) -> Optional[pulumi.Input[int]]: + """ + Capacity threshold for ramp up period. + """ + return pulumi.get(self, "ramp_up_capacity_threshold_pct") + + @ramp_up_capacity_threshold_pct.setter + def ramp_up_capacity_threshold_pct(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_up_capacity_threshold_pct", value) + + @property + @pulumi.getter(name="rampUpLoadBalancingAlgorithm") + def ramp_up_load_balancing_algorithm(self) -> Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]: + """ + Load balancing algorithm for ramp up period. + """ + return pulumi.get(self, "ramp_up_load_balancing_algorithm") + + @ramp_up_load_balancing_algorithm.setter + def ramp_up_load_balancing_algorithm(self, value: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]]): + pulumi.set(self, "ramp_up_load_balancing_algorithm", value) + + @property + @pulumi.getter(name="rampUpMinimumHostsPct") + def ramp_up_minimum_hosts_pct(self) -> Optional[pulumi.Input[int]]: + """ + Minimum host percentage for ramp up period. + """ + return pulumi.get(self, "ramp_up_minimum_hosts_pct") + + @ramp_up_minimum_hosts_pct.setter + def ramp_up_minimum_hosts_pct(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ramp_up_minimum_hosts_pct", value) + + @property + @pulumi.getter(name="rampUpStartTime") + def ramp_up_start_time(self) -> Optional[pulumi.Input['TimeArgs']]: + """ + Starting time for ramp up period. + """ + return pulumi.get(self, "ramp_up_start_time") + + @ramp_up_start_time.setter + def ramp_up_start_time(self, value: Optional[pulumi.Input['TimeArgs']]): + pulumi.set(self, "ramp_up_start_time", value) + + @property + @pulumi.getter(name="scalingPlanScheduleName") + def scaling_plan_schedule_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the ScalingPlanSchedule + """ + return pulumi.get(self, "scaling_plan_schedule_name") + + @scaling_plan_schedule_name.setter + def scaling_plan_schedule_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scaling_plan_schedule_name", value) + + +class ScalingPlanPooledSchedule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + days_of_week: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]] = None, + off_peak_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + off_peak_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + peak_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + peak_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + ramp_down_capacity_threshold_pct: Optional[pulumi.Input[int]] = None, + ramp_down_force_logoff_users: Optional[pulumi.Input[bool]] = None, + ramp_down_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + ramp_down_minimum_hosts_pct: Optional[pulumi.Input[int]] = None, + ramp_down_notification_message: Optional[pulumi.Input[str]] = None, + ramp_down_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + ramp_down_stop_hosts_when: Optional[pulumi.Input[Union[str, 'StopHostsWhen']]] = None, + ramp_down_wait_time_minutes: Optional[pulumi.Input[int]] = None, + ramp_up_capacity_threshold_pct: Optional[pulumi.Input[int]] = None, + ramp_up_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + ramp_up_minimum_hosts_pct: Optional[pulumi.Input[int]] = None, + ramp_up_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + scaling_plan_schedule_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Represents a ScalingPlanPooledSchedule definition. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]] days_of_week: Set of days of the week on which this schedule is active. + :param pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']] off_peak_load_balancing_algorithm: Load balancing algorithm for off-peak period. + :param pulumi.Input[pulumi.InputType['TimeArgs']] off_peak_start_time: Starting time for off-peak period. + :param pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']] peak_load_balancing_algorithm: Load balancing algorithm for peak period. + :param pulumi.Input[pulumi.InputType['TimeArgs']] peak_start_time: Starting time for peak period. + :param pulumi.Input[int] ramp_down_capacity_threshold_pct: Capacity threshold for ramp down period. + :param pulumi.Input[bool] ramp_down_force_logoff_users: Should users be logged off forcefully from hosts. + :param pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']] ramp_down_load_balancing_algorithm: Load balancing algorithm for ramp down period. + :param pulumi.Input[int] ramp_down_minimum_hosts_pct: Minimum host percentage for ramp down period. + :param pulumi.Input[str] ramp_down_notification_message: Notification message for users during ramp down period. + :param pulumi.Input[pulumi.InputType['TimeArgs']] ramp_down_start_time: Starting time for ramp down period. + :param pulumi.Input[Union[str, 'StopHostsWhen']] ramp_down_stop_hosts_when: Specifies when to stop hosts during ramp down period. + :param pulumi.Input[int] ramp_down_wait_time_minutes: Number of minutes to wait to stop hosts during ramp down period. + :param pulumi.Input[int] ramp_up_capacity_threshold_pct: Capacity threshold for ramp up period. + :param pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']] ramp_up_load_balancing_algorithm: Load balancing algorithm for ramp up period. + :param pulumi.Input[int] ramp_up_minimum_hosts_pct: Minimum host percentage for ramp up period. + :param pulumi.Input[pulumi.InputType['TimeArgs']] ramp_up_start_time: Starting time for ramp up period. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] scaling_plan_name: The name of the scaling plan. + :param pulumi.Input[str] scaling_plan_schedule_name: The name of the ScalingPlanSchedule + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ScalingPlanPooledScheduleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Represents a ScalingPlanPooledSchedule definition. + + :param str resource_name: The name of the resource. + :param ScalingPlanPooledScheduleArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ScalingPlanPooledScheduleArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + days_of_week: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'DayOfWeek']]]]] = None, + off_peak_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + off_peak_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + peak_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + peak_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + ramp_down_capacity_threshold_pct: Optional[pulumi.Input[int]] = None, + ramp_down_force_logoff_users: Optional[pulumi.Input[bool]] = None, + ramp_down_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + ramp_down_minimum_hosts_pct: Optional[pulumi.Input[int]] = None, + ramp_down_notification_message: Optional[pulumi.Input[str]] = None, + ramp_down_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + ramp_down_stop_hosts_when: Optional[pulumi.Input[Union[str, 'StopHostsWhen']]] = None, + ramp_down_wait_time_minutes: Optional[pulumi.Input[int]] = None, + ramp_up_capacity_threshold_pct: Optional[pulumi.Input[int]] = None, + ramp_up_load_balancing_algorithm: Optional[pulumi.Input[Union[str, 'SessionHostLoadBalancingAlgorithm']]] = None, + ramp_up_minimum_hosts_pct: Optional[pulumi.Input[int]] = None, + ramp_up_start_time: Optional[pulumi.Input[pulumi.InputType['TimeArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + scaling_plan_name: Optional[pulumi.Input[str]] = None, + scaling_plan_schedule_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ScalingPlanPooledScheduleArgs.__new__(ScalingPlanPooledScheduleArgs) + + __props__.__dict__["days_of_week"] = days_of_week + __props__.__dict__["off_peak_load_balancing_algorithm"] = off_peak_load_balancing_algorithm + __props__.__dict__["off_peak_start_time"] = off_peak_start_time + __props__.__dict__["peak_load_balancing_algorithm"] = peak_load_balancing_algorithm + __props__.__dict__["peak_start_time"] = peak_start_time + __props__.__dict__["ramp_down_capacity_threshold_pct"] = ramp_down_capacity_threshold_pct + __props__.__dict__["ramp_down_force_logoff_users"] = ramp_down_force_logoff_users + __props__.__dict__["ramp_down_load_balancing_algorithm"] = ramp_down_load_balancing_algorithm + __props__.__dict__["ramp_down_minimum_hosts_pct"] = ramp_down_minimum_hosts_pct + __props__.__dict__["ramp_down_notification_message"] = ramp_down_notification_message + __props__.__dict__["ramp_down_start_time"] = ramp_down_start_time + __props__.__dict__["ramp_down_stop_hosts_when"] = ramp_down_stop_hosts_when + __props__.__dict__["ramp_down_wait_time_minutes"] = ramp_down_wait_time_minutes + __props__.__dict__["ramp_up_capacity_threshold_pct"] = ramp_up_capacity_threshold_pct + __props__.__dict__["ramp_up_load_balancing_algorithm"] = ramp_up_load_balancing_algorithm + __props__.__dict__["ramp_up_minimum_hosts_pct"] = ramp_up_minimum_hosts_pct + __props__.__dict__["ramp_up_start_time"] = ramp_up_start_time + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if scaling_plan_name is None and not opts.urn: + raise TypeError("Missing required property 'scaling_plan_name'") + __props__.__dict__["scaling_plan_name"] = scaling_plan_name + __props__.__dict__["scaling_plan_schedule_name"] = scaling_plan_schedule_name + __props__.__dict__["name"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:ScalingPlanPooledSchedule"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:ScalingPlanPooledSchedule")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(ScalingPlanPooledSchedule, __self__).__init__( + 'azure-native:desktopvirtualization/v20230707preview:ScalingPlanPooledSchedule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ScalingPlanPooledSchedule': + """ + Get an existing ScalingPlanPooledSchedule resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ScalingPlanPooledScheduleArgs.__new__(ScalingPlanPooledScheduleArgs) + + __props__.__dict__["days_of_week"] = None + __props__.__dict__["name"] = None + __props__.__dict__["off_peak_load_balancing_algorithm"] = None + __props__.__dict__["off_peak_start_time"] = None + __props__.__dict__["peak_load_balancing_algorithm"] = None + __props__.__dict__["peak_start_time"] = None + __props__.__dict__["ramp_down_capacity_threshold_pct"] = None + __props__.__dict__["ramp_down_force_logoff_users"] = None + __props__.__dict__["ramp_down_load_balancing_algorithm"] = None + __props__.__dict__["ramp_down_minimum_hosts_pct"] = None + __props__.__dict__["ramp_down_notification_message"] = None + __props__.__dict__["ramp_down_start_time"] = None + __props__.__dict__["ramp_down_stop_hosts_when"] = None + __props__.__dict__["ramp_down_wait_time_minutes"] = None + __props__.__dict__["ramp_up_capacity_threshold_pct"] = None + __props__.__dict__["ramp_up_load_balancing_algorithm"] = None + __props__.__dict__["ramp_up_minimum_hosts_pct"] = None + __props__.__dict__["ramp_up_start_time"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + return ScalingPlanPooledSchedule(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="daysOfWeek") + def days_of_week(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Set of days of the week on which this schedule is active. + """ + return pulumi.get(self, "days_of_week") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="offPeakLoadBalancingAlgorithm") + def off_peak_load_balancing_algorithm(self) -> pulumi.Output[Optional[str]]: + """ + Load balancing algorithm for off-peak period. + """ + return pulumi.get(self, "off_peak_load_balancing_algorithm") + + @property + @pulumi.getter(name="offPeakStartTime") + def off_peak_start_time(self) -> pulumi.Output[Optional['outputs.TimeResponse']]: + """ + Starting time for off-peak period. + """ + return pulumi.get(self, "off_peak_start_time") + + @property + @pulumi.getter(name="peakLoadBalancingAlgorithm") + def peak_load_balancing_algorithm(self) -> pulumi.Output[Optional[str]]: + """ + Load balancing algorithm for peak period. + """ + return pulumi.get(self, "peak_load_balancing_algorithm") + + @property + @pulumi.getter(name="peakStartTime") + def peak_start_time(self) -> pulumi.Output[Optional['outputs.TimeResponse']]: + """ + Starting time for peak period. + """ + return pulumi.get(self, "peak_start_time") + + @property + @pulumi.getter(name="rampDownCapacityThresholdPct") + def ramp_down_capacity_threshold_pct(self) -> pulumi.Output[Optional[int]]: + """ + Capacity threshold for ramp down period. + """ + return pulumi.get(self, "ramp_down_capacity_threshold_pct") + + @property + @pulumi.getter(name="rampDownForceLogoffUsers") + def ramp_down_force_logoff_users(self) -> pulumi.Output[Optional[bool]]: + """ + Should users be logged off forcefully from hosts. + """ + return pulumi.get(self, "ramp_down_force_logoff_users") + + @property + @pulumi.getter(name="rampDownLoadBalancingAlgorithm") + def ramp_down_load_balancing_algorithm(self) -> pulumi.Output[Optional[str]]: + """ + Load balancing algorithm for ramp down period. + """ + return pulumi.get(self, "ramp_down_load_balancing_algorithm") + + @property + @pulumi.getter(name="rampDownMinimumHostsPct") + def ramp_down_minimum_hosts_pct(self) -> pulumi.Output[Optional[int]]: + """ + Minimum host percentage for ramp down period. + """ + return pulumi.get(self, "ramp_down_minimum_hosts_pct") + + @property + @pulumi.getter(name="rampDownNotificationMessage") + def ramp_down_notification_message(self) -> pulumi.Output[Optional[str]]: + """ + Notification message for users during ramp down period. + """ + return pulumi.get(self, "ramp_down_notification_message") + + @property + @pulumi.getter(name="rampDownStartTime") + def ramp_down_start_time(self) -> pulumi.Output[Optional['outputs.TimeResponse']]: + """ + Starting time for ramp down period. + """ + return pulumi.get(self, "ramp_down_start_time") + + @property + @pulumi.getter(name="rampDownStopHostsWhen") + def ramp_down_stop_hosts_when(self) -> pulumi.Output[Optional[str]]: + """ + Specifies when to stop hosts during ramp down period. + """ + return pulumi.get(self, "ramp_down_stop_hosts_when") + + @property + @pulumi.getter(name="rampDownWaitTimeMinutes") + def ramp_down_wait_time_minutes(self) -> pulumi.Output[Optional[int]]: + """ + Number of minutes to wait to stop hosts during ramp down period. + """ + return pulumi.get(self, "ramp_down_wait_time_minutes") + + @property + @pulumi.getter(name="rampUpCapacityThresholdPct") + def ramp_up_capacity_threshold_pct(self) -> pulumi.Output[Optional[int]]: + """ + Capacity threshold for ramp up period. + """ + return pulumi.get(self, "ramp_up_capacity_threshold_pct") + + @property + @pulumi.getter(name="rampUpLoadBalancingAlgorithm") + def ramp_up_load_balancing_algorithm(self) -> pulumi.Output[Optional[str]]: + """ + Load balancing algorithm for ramp up period. + """ + return pulumi.get(self, "ramp_up_load_balancing_algorithm") + + @property + @pulumi.getter(name="rampUpMinimumHostsPct") + def ramp_up_minimum_hosts_pct(self) -> pulumi.Output[Optional[int]]: + """ + Minimum host percentage for ramp up period. + """ + return pulumi.get(self, "ramp_up_minimum_hosts_pct") + + @property + @pulumi.getter(name="rampUpStartTime") + def ramp_up_start_time(self) -> pulumi.Output[Optional['outputs.TimeResponse']]: + """ + Starting time for ramp up period. + """ + return pulumi.get(self, "ramp_up_start_time") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/workspace.py b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/workspace.py new file mode 100644 index 000000000000..56a267633175 --- /dev/null +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/v20230707preview/workspace.py @@ -0,0 +1,501 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['WorkspaceArgs', 'Workspace'] + +@pulumi.input_type +class WorkspaceArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + application_group_references: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetIdentityArgs']] = None, + kind: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + managed_by: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetPlanArgs']] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None, + sku: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetSkuArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + workspace_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Workspace resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Sequence[pulumi.Input[str]]] application_group_references: List of applicationGroup resource Ids. + :param pulumi.Input[str] description: Description of Workspace. + :param pulumi.Input[str] friendly_name: Friendly name of Workspace. + :param pulumi.Input[str] kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + :param pulumi.Input[Union[str, 'PublicNetworkAccess']] public_network_access: Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[str] workspace_name: The name of the workspace + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + if application_group_references is not None: + pulumi.set(__self__, "application_group_references", application_group_references) + if description is not None: + pulumi.set(__self__, "description", description) + if friendly_name is not None: + pulumi.set(__self__, "friendly_name", friendly_name) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if kind is not None: + pulumi.set(__self__, "kind", kind) + if location is not None: + pulumi.set(__self__, "location", location) + if managed_by is not None: + pulumi.set(__self__, "managed_by", managed_by) + if plan is not None: + pulumi.set(__self__, "plan", plan) + if public_network_access is not None: + pulumi.set(__self__, "public_network_access", public_network_access) + if sku is not None: + pulumi.set(__self__, "sku", sku) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if workspace_name is not None: + pulumi.set(__self__, "workspace_name", workspace_name) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="applicationGroupReferences") + def application_group_references(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of applicationGroup resource Ids. + """ + return pulumi.get(self, "application_group_references") + + @application_group_references.setter + def application_group_references(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "application_group_references", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of Workspace. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> Optional[pulumi.Input[str]]: + """ + Friendly name of Workspace. + """ + return pulumi.get(self, "friendly_name") + + @friendly_name.setter + def friendly_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "friendly_name", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['ResourceModelWithAllowedPropertySetIdentityArgs']]: + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def kind(self) -> Optional[pulumi.Input[str]]: + """ + Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> Optional[pulumi.Input[str]]: + """ + The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + """ + return pulumi.get(self, "managed_by") + + @managed_by.setter + def managed_by(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "managed_by", value) + + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['ResourceModelWithAllowedPropertySetPlanArgs']]: + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetPlanArgs']]): + pulumi.set(self, "plan", value) + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]]: + """ + Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + """ + return pulumi.get(self, "public_network_access") + + @public_network_access.setter + def public_network_access(self, value: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]]): + pulumi.set(self, "public_network_access", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input['ResourceModelWithAllowedPropertySetSkuArgs']]: + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input['ResourceModelWithAllowedPropertySetSkuArgs']]): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="workspaceName") + def workspace_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the workspace + """ + return pulumi.get(self, "workspace_name") + + @workspace_name.setter + def workspace_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace_name", value) + + +class Workspace(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + application_group_references: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetIdentityArgs']]] = None, + kind: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + managed_by: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetPlanArgs']]] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetSkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + workspace_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Represents a Workspace definition. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] application_group_references: List of applicationGroup resource Ids. + :param pulumi.Input[str] description: Description of Workspace. + :param pulumi.Input[str] friendly_name: Friendly name of Workspace. + :param pulumi.Input[str] kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + :param pulumi.Input[Union[str, 'PublicNetworkAccess']] public_network_access: Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[str] workspace_name: The name of the workspace + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: WorkspaceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Represents a Workspace definition. + + :param str resource_name: The name of the resource. + :param WorkspaceArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(WorkspaceArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + application_group_references: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + friendly_name: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetIdentityArgs']]] = None, + kind: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + managed_by: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetPlanArgs']]] = None, + public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccess']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['ResourceModelWithAllowedPropertySetSkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + workspace_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = WorkspaceArgs.__new__(WorkspaceArgs) + + __props__.__dict__["application_group_references"] = application_group_references + __props__.__dict__["description"] = description + __props__.__dict__["friendly_name"] = friendly_name + __props__.__dict__["identity"] = identity + __props__.__dict__["kind"] = kind + __props__.__dict__["location"] = location + __props__.__dict__["managed_by"] = managed_by + __props__.__dict__["plan"] = plan + __props__.__dict__["public_network_access"] = public_network_access + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["sku"] = sku + __props__.__dict__["tags"] = tags + __props__.__dict__["workspace_name"] = workspace_name + __props__.__dict__["cloud_pc_resource"] = None + __props__.__dict__["etag"] = None + __props__.__dict__["name"] = None + __props__.__dict__["object_id"] = None + __props__.__dict__["private_endpoint_connections"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:Workspace")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Workspace, __self__).__init__( + 'azure-native:desktopvirtualization/v20230707preview:Workspace', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Workspace': + """ + Get an existing Workspace resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = WorkspaceArgs.__new__(WorkspaceArgs) + + __props__.__dict__["application_group_references"] = None + __props__.__dict__["cloud_pc_resource"] = None + __props__.__dict__["description"] = None + __props__.__dict__["etag"] = None + __props__.__dict__["friendly_name"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["kind"] = None + __props__.__dict__["location"] = None + __props__.__dict__["managed_by"] = None + __props__.__dict__["name"] = None + __props__.__dict__["object_id"] = None + __props__.__dict__["plan"] = None + __props__.__dict__["private_endpoint_connections"] = None + __props__.__dict__["public_network_access"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return Workspace(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="applicationGroupReferences") + def application_group_references(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of applicationGroup resource Ids. + """ + return pulumi.get(self, "application_group_references") + + @property + @pulumi.getter(name="cloudPcResource") + def cloud_pc_resource(self) -> pulumi.Output[bool]: + """ + Is cloud pc resource. + """ + return pulumi.get(self, "cloud_pc_resource") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description of Workspace. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def etag(self) -> pulumi.Output[str]: + """ + The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="friendlyName") + def friendly_name(self) -> pulumi.Output[Optional[str]]: + """ + Friendly name of Workspace. + """ + return pulumi.get(self, "friendly_name") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.ResourceModelWithAllowedPropertySetResponseIdentity']]: + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def kind(self) -> pulumi.Output[Optional[str]]: + """ + Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[Optional[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="managedBy") + def managed_by(self) -> pulumi.Output[Optional[str]]: + """ + The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. + """ + return pulumi.get(self, "managed_by") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="objectId") + def object_id(self) -> pulumi.Output[str]: + """ + ObjectId of Workspace. (internal use) + """ + return pulumi.get(self, "object_id") + + @property + @pulumi.getter + def plan(self) -> pulumi.Output[Optional['outputs.ResourceModelWithAllowedPropertySetResponsePlan']]: + return pulumi.get(self, "plan") + + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> pulumi.Output[Sequence['outputs.PrivateEndpointConnectionResponse']]: + """ + List of private endpoint connection associated with the specified resource + """ + return pulumi.get(self, "private_endpoint_connections") + + @property + @pulumi.getter(name="publicNetworkAccess") + def public_network_access(self) -> pulumi.Output[Optional[str]]: + """ + Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints + """ + return pulumi.get(self, "public_network_access") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output[Optional['outputs.ResourceModelWithAllowedPropertySetResponseSku']]: + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/desktopvirtualization/workspace.py b/sdk/python/pulumi_azure_native/desktopvirtualization/workspace.py index 5dcb314cbd19..8094290190e4 100644 --- a/sdk/python/pulumi_azure_native/desktopvirtualization/workspace.py +++ b/sdk/python/pulumi_azure_native/desktopvirtualization/workspace.py @@ -301,7 +301,7 @@ def _internal_init(__self__, __props__.__dict__["object_id"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:Workspace")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:desktopvirtualization/v20190123preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20190924preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20191210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20200921preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201019preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201102preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20201110preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210114preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210201preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210309preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210712:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20210903preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220210preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220401preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20220909:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20221014preview:Workspace"), pulumi.Alias(type_="azure-native:desktopvirtualization/v20230707preview:Workspace")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Workspace, __self__).__init__( 'azure-native:desktopvirtualization:Workspace', diff --git a/sdk/python/pulumi_azure_native/hdinsight/__init__.py b/sdk/python/pulumi_azure_native/hdinsight/__init__.py index 50133edd0776..522b50def813 100644 --- a/sdk/python/pulumi_azure_native/hdinsight/__init__.py +++ b/sdk/python/pulumi_azure_native/hdinsight/__init__.py @@ -8,9 +8,11 @@ from ._enums import * from .application import * from .cluster import * +from .cluster_pool import * from .get_application import * from .get_cluster import * from .get_cluster_gateway_settings import * +from .get_cluster_pool import * from .get_private_endpoint_connection import * from .private_endpoint_connection import * from ._inputs import * @@ -22,7 +24,10 @@ v20210601 = __v20210601 import pulumi_azure_native.hdinsight.v20230415preview as __v20230415preview v20230415preview = __v20230415preview + import pulumi_azure_native.hdinsight.v20230601preview as __v20230601preview + v20230601preview = __v20230601preview else: v20210601 = _utilities.lazy_import('pulumi_azure_native.hdinsight.v20210601') v20230415preview = _utilities.lazy_import('pulumi_azure_native.hdinsight.v20230415preview') + v20230601preview = _utilities.lazy_import('pulumi_azure_native.hdinsight.v20230601preview') diff --git a/sdk/python/pulumi_azure_native/hdinsight/_inputs.py b/sdk/python/pulumi_azure_native/hdinsight/_inputs.py index 3d2e42ac6bcc..77b25bc7b6d2 100644 --- a/sdk/python/pulumi_azure_native/hdinsight/_inputs.py +++ b/sdk/python/pulumi_azure_native/hdinsight/_inputs.py @@ -23,6 +23,10 @@ 'ClusterCreatePropertiesArgs', 'ClusterDefinitionArgs', 'ClusterIdentityArgs', + 'ClusterPoolResourcePropertiesClusterPoolProfileArgs', + 'ClusterPoolResourcePropertiesComputeProfileArgs', + 'ClusterPoolResourcePropertiesLogAnalyticsProfileArgs', + 'ClusterPoolResourcePropertiesNetworkProfileArgs', 'ComputeIsolationPropertiesArgs', 'ComputeProfileArgs', 'DataDisksGroupsArgs', @@ -948,6 +952,114 @@ def user_assigned_identities(self, value: Optional[pulumi.Input[Mapping[str, pul pulumi.set(self, "user_assigned_identities", value) +@pulumi.input_type +class ClusterPoolResourcePropertiesClusterPoolProfileArgs: + def __init__(__self__, *, + cluster_pool_version: pulumi.Input[str]): + """ + CLuster pool profile. + :param pulumi.Input[str] cluster_pool_version: Cluster pool version is a 2-part version. + """ + pulumi.set(__self__, "cluster_pool_version", cluster_pool_version) + + @property + @pulumi.getter(name="clusterPoolVersion") + def cluster_pool_version(self) -> pulumi.Input[str]: + """ + Cluster pool version is a 2-part version. + """ + return pulumi.get(self, "cluster_pool_version") + + @cluster_pool_version.setter + def cluster_pool_version(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_pool_version", value) + + +@pulumi.input_type +class ClusterPoolResourcePropertiesComputeProfileArgs: + def __init__(__self__, *, + vm_size: pulumi.Input[str]): + """ + CLuster pool compute profile. + :param pulumi.Input[str] vm_size: The virtual machine SKU. + """ + pulumi.set(__self__, "vm_size", vm_size) + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> pulumi.Input[str]: + """ + The virtual machine SKU. + """ + return pulumi.get(self, "vm_size") + + @vm_size.setter + def vm_size(self, value: pulumi.Input[str]): + pulumi.set(self, "vm_size", value) + + +@pulumi.input_type +class ClusterPoolResourcePropertiesLogAnalyticsProfileArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool], + workspace_id: Optional[pulumi.Input[str]] = None): + """ + Cluster pool log analytics profile to enable OMS agent for AKS cluster. + :param pulumi.Input[bool] enabled: True if log analytics is enabled for cluster pool, otherwise false. + :param pulumi.Input[str] workspace_id: Log analytics workspace to associate with the OMS agent. + """ + pulumi.set(__self__, "enabled", enabled) + if workspace_id is not None: + pulumi.set(__self__, "workspace_id", workspace_id) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + True if log analytics is enabled for cluster pool, otherwise false. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> Optional[pulumi.Input[str]]: + """ + Log analytics workspace to associate with the OMS agent. + """ + return pulumi.get(self, "workspace_id") + + @workspace_id.setter + def workspace_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace_id", value) + + +@pulumi.input_type +class ClusterPoolResourcePropertiesNetworkProfileArgs: + def __init__(__self__, *, + subnet_id: pulumi.Input[str]): + """ + Cluster pool network profile. + :param pulumi.Input[str] subnet_id: Cluster pool subnet resource id. + """ + pulumi.set(__self__, "subnet_id", subnet_id) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> pulumi.Input[str]: + """ + Cluster pool subnet resource id. + """ + return pulumi.get(self, "subnet_id") + + @subnet_id.setter + def subnet_id(self, value: pulumi.Input[str]): + pulumi.set(self, "subnet_id", value) + + @pulumi.input_type class ComputeIsolationPropertiesArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/hdinsight/cluster_pool.py b/sdk/python/pulumi_azure_native/hdinsight/cluster_pool.py new file mode 100644 index 000000000000..9aaf900cefc7 --- /dev/null +++ b/sdk/python/pulumi_azure_native/hdinsight/cluster_pool.py @@ -0,0 +1,421 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ClusterPoolArgs', 'ClusterPool'] + +@pulumi.input_type +class ClusterPoolArgs: + def __init__(__self__, *, + compute_profile: pulumi.Input['ClusterPoolResourcePropertiesComputeProfileArgs'], + resource_group_name: pulumi.Input[str], + cluster_pool_name: Optional[pulumi.Input[str]] = None, + cluster_pool_profile: Optional[pulumi.Input['ClusterPoolResourcePropertiesClusterPoolProfileArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + log_analytics_profile: Optional[pulumi.Input['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs']] = None, + managed_resource_group_name: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input['ClusterPoolResourcePropertiesNetworkProfileArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a ClusterPool resource. + :param pulumi.Input['ClusterPoolResourcePropertiesComputeProfileArgs'] compute_profile: CLuster pool compute profile. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] cluster_pool_name: The name of the cluster pool. + :param pulumi.Input['ClusterPoolResourcePropertiesClusterPoolProfileArgs'] cluster_pool_profile: CLuster pool profile. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs'] log_analytics_profile: Cluster pool log analytics profile to enable OMS agent for AKS cluster. + :param pulumi.Input[str] managed_resource_group_name: A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + :param pulumi.Input['ClusterPoolResourcePropertiesNetworkProfileArgs'] network_profile: Cluster pool network profile. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + pulumi.set(__self__, "compute_profile", compute_profile) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if cluster_pool_name is not None: + pulumi.set(__self__, "cluster_pool_name", cluster_pool_name) + if cluster_pool_profile is not None: + pulumi.set(__self__, "cluster_pool_profile", cluster_pool_profile) + if location is not None: + pulumi.set(__self__, "location", location) + if log_analytics_profile is not None: + pulumi.set(__self__, "log_analytics_profile", log_analytics_profile) + if managed_resource_group_name is not None: + pulumi.set(__self__, "managed_resource_group_name", managed_resource_group_name) + if network_profile is not None: + pulumi.set(__self__, "network_profile", network_profile) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="computeProfile") + def compute_profile(self) -> pulumi.Input['ClusterPoolResourcePropertiesComputeProfileArgs']: + """ + CLuster pool compute profile. + """ + return pulumi.get(self, "compute_profile") + + @compute_profile.setter + def compute_profile(self, value: pulumi.Input['ClusterPoolResourcePropertiesComputeProfileArgs']): + pulumi.set(self, "compute_profile", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="clusterPoolName") + def cluster_pool_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the cluster pool. + """ + return pulumi.get(self, "cluster_pool_name") + + @cluster_pool_name.setter + def cluster_pool_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_pool_name", value) + + @property + @pulumi.getter(name="clusterPoolProfile") + def cluster_pool_profile(self) -> Optional[pulumi.Input['ClusterPoolResourcePropertiesClusterPoolProfileArgs']]: + """ + CLuster pool profile. + """ + return pulumi.get(self, "cluster_pool_profile") + + @cluster_pool_profile.setter + def cluster_pool_profile(self, value: Optional[pulumi.Input['ClusterPoolResourcePropertiesClusterPoolProfileArgs']]): + pulumi.set(self, "cluster_pool_profile", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="logAnalyticsProfile") + def log_analytics_profile(self) -> Optional[pulumi.Input['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs']]: + """ + Cluster pool log analytics profile to enable OMS agent for AKS cluster. + """ + return pulumi.get(self, "log_analytics_profile") + + @log_analytics_profile.setter + def log_analytics_profile(self, value: Optional[pulumi.Input['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs']]): + pulumi.set(self, "log_analytics_profile", value) + + @property + @pulumi.getter(name="managedResourceGroupName") + def managed_resource_group_name(self) -> Optional[pulumi.Input[str]]: + """ + A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + """ + return pulumi.get(self, "managed_resource_group_name") + + @managed_resource_group_name.setter + def managed_resource_group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "managed_resource_group_name", value) + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional[pulumi.Input['ClusterPoolResourcePropertiesNetworkProfileArgs']]: + """ + Cluster pool network profile. + """ + return pulumi.get(self, "network_profile") + + @network_profile.setter + def network_profile(self, value: Optional[pulumi.Input['ClusterPoolResourcePropertiesNetworkProfileArgs']]): + pulumi.set(self, "network_profile", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class ClusterPool(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_pool_name: Optional[pulumi.Input[str]] = None, + cluster_pool_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesClusterPoolProfileArgs']]] = None, + compute_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesComputeProfileArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + log_analytics_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs']]] = None, + managed_resource_group_name: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesNetworkProfileArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Cluster pool. + Azure REST API version: 2023-06-01-preview. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cluster_pool_name: The name of the cluster pool. + :param pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesClusterPoolProfileArgs']] cluster_pool_profile: CLuster pool profile. + :param pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesComputeProfileArgs']] compute_profile: CLuster pool compute profile. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs']] log_analytics_profile: Cluster pool log analytics profile to enable OMS agent for AKS cluster. + :param pulumi.Input[str] managed_resource_group_name: A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + :param pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesNetworkProfileArgs']] network_profile: Cluster pool network profile. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ClusterPoolArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Cluster pool. + Azure REST API version: 2023-06-01-preview. + + :param str resource_name: The name of the resource. + :param ClusterPoolArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ClusterPoolArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_pool_name: Optional[pulumi.Input[str]] = None, + cluster_pool_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesClusterPoolProfileArgs']]] = None, + compute_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesComputeProfileArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + log_analytics_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs']]] = None, + managed_resource_group_name: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesNetworkProfileArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ClusterPoolArgs.__new__(ClusterPoolArgs) + + __props__.__dict__["cluster_pool_name"] = cluster_pool_name + __props__.__dict__["cluster_pool_profile"] = cluster_pool_profile + if compute_profile is None and not opts.urn: + raise TypeError("Missing required property 'compute_profile'") + __props__.__dict__["compute_profile"] = compute_profile + __props__.__dict__["location"] = location + __props__.__dict__["log_analytics_profile"] = log_analytics_profile + __props__.__dict__["managed_resource_group_name"] = managed_resource_group_name + __props__.__dict__["network_profile"] = network_profile + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["tags"] = tags + __props__.__dict__["aks_cluster_profile"] = None + __props__.__dict__["aks_managed_resource_group_name"] = None + __props__.__dict__["deployment_id"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hdinsight/v20230601preview:ClusterPool")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(ClusterPool, __self__).__init__( + 'azure-native:hdinsight:ClusterPool', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ClusterPool': + """ + Get an existing ClusterPool resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ClusterPoolArgs.__new__(ClusterPoolArgs) + + __props__.__dict__["aks_cluster_profile"] = None + __props__.__dict__["aks_managed_resource_group_name"] = None + __props__.__dict__["cluster_pool_profile"] = None + __props__.__dict__["compute_profile"] = None + __props__.__dict__["deployment_id"] = None + __props__.__dict__["location"] = None + __props__.__dict__["log_analytics_profile"] = None + __props__.__dict__["managed_resource_group_name"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_profile"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return ClusterPool(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="aksClusterProfile") + def aks_cluster_profile(self) -> pulumi.Output['outputs.ClusterPoolResourcePropertiesResponseAksClusterProfile']: + """ + Properties of underlying AKS cluster. + """ + return pulumi.get(self, "aks_cluster_profile") + + @property + @pulumi.getter(name="aksManagedResourceGroupName") + def aks_managed_resource_group_name(self) -> pulumi.Output[str]: + """ + A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region} + """ + return pulumi.get(self, "aks_managed_resource_group_name") + + @property + @pulumi.getter(name="clusterPoolProfile") + def cluster_pool_profile(self) -> pulumi.Output[Optional['outputs.ClusterPoolResourcePropertiesResponseClusterPoolProfile']]: + """ + CLuster pool profile. + """ + return pulumi.get(self, "cluster_pool_profile") + + @property + @pulumi.getter(name="computeProfile") + def compute_profile(self) -> pulumi.Output['outputs.ClusterPoolResourcePropertiesResponseComputeProfile']: + """ + CLuster pool compute profile. + """ + return pulumi.get(self, "compute_profile") + + @property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> pulumi.Output[str]: + """ + A unique id generated by the RP to identify the resource. + """ + return pulumi.get(self, "deployment_id") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="logAnalyticsProfile") + def log_analytics_profile(self) -> pulumi.Output[Optional['outputs.ClusterPoolResourcePropertiesResponseLogAnalyticsProfile']]: + """ + Cluster pool log analytics profile to enable OMS agent for AKS cluster. + """ + return pulumi.get(self, "log_analytics_profile") + + @property + @pulumi.getter(name="managedResourceGroupName") + def managed_resource_group_name(self) -> pulumi.Output[Optional[str]]: + """ + A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + """ + return pulumi.get(self, "managed_resource_group_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> pulumi.Output[Optional['outputs.ClusterPoolResourcePropertiesResponseNetworkProfile']]: + """ + Cluster pool network profile. + """ + return pulumi.get(self, "network_profile") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + Provisioning state of the resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + Business status of the resource. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/hdinsight/get_cluster_pool.py b/sdk/python/pulumi_azure_native/hdinsight/get_cluster_pool.py new file mode 100644 index 000000000000..8b25a10ae33a --- /dev/null +++ b/sdk/python/pulumi_azure_native/hdinsight/get_cluster_pool.py @@ -0,0 +1,276 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetClusterPoolResult', + 'AwaitableGetClusterPoolResult', + 'get_cluster_pool', + 'get_cluster_pool_output', +] + +@pulumi.output_type +class GetClusterPoolResult: + """ + Cluster pool. + """ + def __init__(__self__, aks_cluster_profile=None, aks_managed_resource_group_name=None, cluster_pool_profile=None, compute_profile=None, deployment_id=None, id=None, location=None, log_analytics_profile=None, managed_resource_group_name=None, name=None, network_profile=None, provisioning_state=None, status=None, system_data=None, tags=None, type=None): + if aks_cluster_profile and not isinstance(aks_cluster_profile, dict): + raise TypeError("Expected argument 'aks_cluster_profile' to be a dict") + pulumi.set(__self__, "aks_cluster_profile", aks_cluster_profile) + if aks_managed_resource_group_name and not isinstance(aks_managed_resource_group_name, str): + raise TypeError("Expected argument 'aks_managed_resource_group_name' to be a str") + pulumi.set(__self__, "aks_managed_resource_group_name", aks_managed_resource_group_name) + if cluster_pool_profile and not isinstance(cluster_pool_profile, dict): + raise TypeError("Expected argument 'cluster_pool_profile' to be a dict") + pulumi.set(__self__, "cluster_pool_profile", cluster_pool_profile) + if compute_profile and not isinstance(compute_profile, dict): + raise TypeError("Expected argument 'compute_profile' to be a dict") + pulumi.set(__self__, "compute_profile", compute_profile) + if deployment_id and not isinstance(deployment_id, str): + raise TypeError("Expected argument 'deployment_id' to be a str") + pulumi.set(__self__, "deployment_id", deployment_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if log_analytics_profile and not isinstance(log_analytics_profile, dict): + raise TypeError("Expected argument 'log_analytics_profile' to be a dict") + pulumi.set(__self__, "log_analytics_profile", log_analytics_profile) + if managed_resource_group_name and not isinstance(managed_resource_group_name, str): + raise TypeError("Expected argument 'managed_resource_group_name' to be a str") + pulumi.set(__self__, "managed_resource_group_name", managed_resource_group_name) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if network_profile and not isinstance(network_profile, dict): + raise TypeError("Expected argument 'network_profile' to be a dict") + pulumi.set(__self__, "network_profile", network_profile) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="aksClusterProfile") + def aks_cluster_profile(self) -> 'outputs.ClusterPoolResourcePropertiesResponseAksClusterProfile': + """ + Properties of underlying AKS cluster. + """ + return pulumi.get(self, "aks_cluster_profile") + + @property + @pulumi.getter(name="aksManagedResourceGroupName") + def aks_managed_resource_group_name(self) -> str: + """ + A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region} + """ + return pulumi.get(self, "aks_managed_resource_group_name") + + @property + @pulumi.getter(name="clusterPoolProfile") + def cluster_pool_profile(self) -> Optional['outputs.ClusterPoolResourcePropertiesResponseClusterPoolProfile']: + """ + CLuster pool profile. + """ + return pulumi.get(self, "cluster_pool_profile") + + @property + @pulumi.getter(name="computeProfile") + def compute_profile(self) -> 'outputs.ClusterPoolResourcePropertiesResponseComputeProfile': + """ + CLuster pool compute profile. + """ + return pulumi.get(self, "compute_profile") + + @property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> str: + """ + A unique id generated by the RP to identify the resource. + """ + return pulumi.get(self, "deployment_id") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="logAnalyticsProfile") + def log_analytics_profile(self) -> Optional['outputs.ClusterPoolResourcePropertiesResponseLogAnalyticsProfile']: + """ + Cluster pool log analytics profile to enable OMS agent for AKS cluster. + """ + return pulumi.get(self, "log_analytics_profile") + + @property + @pulumi.getter(name="managedResourceGroupName") + def managed_resource_group_name(self) -> Optional[str]: + """ + A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + """ + return pulumi.get(self, "managed_resource_group_name") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional['outputs.ClusterPoolResourcePropertiesResponseNetworkProfile']: + """ + Cluster pool network profile. + """ + return pulumi.get(self, "network_profile") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + Provisioning state of the resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def status(self) -> str: + """ + Business status of the resource. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetClusterPoolResult(GetClusterPoolResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetClusterPoolResult( + aks_cluster_profile=self.aks_cluster_profile, + aks_managed_resource_group_name=self.aks_managed_resource_group_name, + cluster_pool_profile=self.cluster_pool_profile, + compute_profile=self.compute_profile, + deployment_id=self.deployment_id, + id=self.id, + location=self.location, + log_analytics_profile=self.log_analytics_profile, + managed_resource_group_name=self.managed_resource_group_name, + name=self.name, + network_profile=self.network_profile, + provisioning_state=self.provisioning_state, + status=self.status, + system_data=self.system_data, + tags=self.tags, + type=self.type) + + +def get_cluster_pool(cluster_pool_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClusterPoolResult: + """ + Gets a cluster pool. + Azure REST API version: 2023-06-01-preview. + + + :param str cluster_pool_name: The name of the cluster pool. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['clusterPoolName'] = cluster_pool_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:hdinsight:getClusterPool', __args__, opts=opts, typ=GetClusterPoolResult).value + + return AwaitableGetClusterPoolResult( + aks_cluster_profile=__ret__.aks_cluster_profile, + aks_managed_resource_group_name=__ret__.aks_managed_resource_group_name, + cluster_pool_profile=__ret__.cluster_pool_profile, + compute_profile=__ret__.compute_profile, + deployment_id=__ret__.deployment_id, + id=__ret__.id, + location=__ret__.location, + log_analytics_profile=__ret__.log_analytics_profile, + managed_resource_group_name=__ret__.managed_resource_group_name, + name=__ret__.name, + network_profile=__ret__.network_profile, + provisioning_state=__ret__.provisioning_state, + status=__ret__.status, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type) + + +@_utilities.lift_output_func(get_cluster_pool) +def get_cluster_pool_output(cluster_pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterPoolResult]: + """ + Gets a cluster pool. + Azure REST API version: 2023-06-01-preview. + + + :param str cluster_pool_name: The name of the cluster pool. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/hdinsight/outputs.py b/sdk/python/pulumi_azure_native/hdinsight/outputs.py index 305823a12b10..cd9a8bb07d61 100644 --- a/sdk/python/pulumi_azure_native/hdinsight/outputs.py +++ b/sdk/python/pulumi_azure_native/hdinsight/outputs.py @@ -12,6 +12,7 @@ from ._enums import * __all__ = [ + 'AksClusterProfileResponseAksClusterAgentPoolIdentityProfile', 'ApplicationGetEndpointResponse', 'ApplicationGetHttpsEndpointResponse', 'ApplicationPropertiesResponse', @@ -24,6 +25,11 @@ 'ClusterDefinitionResponse', 'ClusterGetPropertiesResponse', 'ClusterIdentityResponse', + 'ClusterPoolResourcePropertiesResponseAksClusterProfile', + 'ClusterPoolResourcePropertiesResponseClusterPoolProfile', + 'ClusterPoolResourcePropertiesResponseComputeProfile', + 'ClusterPoolResourcePropertiesResponseLogAnalyticsProfile', + 'ClusterPoolResourcePropertiesResponseNetworkProfile', 'ComputeIsolationPropertiesResponse', 'ComputeProfileResponse', 'ConnectivityEndpointResponse', @@ -57,6 +63,71 @@ 'VirtualNetworkProfileResponse', ] +@pulumi.output_type +class AksClusterProfileResponseAksClusterAgentPoolIdentityProfile(dict): + """ + Identity properties of the AKS cluster agentpool MSI + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "msiClientId": + suggest = "msi_client_id" + elif key == "msiObjectId": + suggest = "msi_object_id" + elif key == "msiResourceId": + suggest = "msi_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AksClusterProfileResponseAksClusterAgentPoolIdentityProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AksClusterProfileResponseAksClusterAgentPoolIdentityProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AksClusterProfileResponseAksClusterAgentPoolIdentityProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + msi_client_id: str, + msi_object_id: str, + msi_resource_id: str): + """ + Identity properties of the AKS cluster agentpool MSI + :param str msi_client_id: ClientId of the MSI. + :param str msi_object_id: ObjectId of the MSI. + :param str msi_resource_id: ResourceId of the MSI. + """ + pulumi.set(__self__, "msi_client_id", msi_client_id) + pulumi.set(__self__, "msi_object_id", msi_object_id) + pulumi.set(__self__, "msi_resource_id", msi_resource_id) + + @property + @pulumi.getter(name="msiClientId") + def msi_client_id(self) -> str: + """ + ClientId of the MSI. + """ + return pulumi.get(self, "msi_client_id") + + @property + @pulumi.getter(name="msiObjectId") + def msi_object_id(self) -> str: + """ + ObjectId of the MSI. + """ + return pulumi.get(self, "msi_object_id") + + @property + @pulumi.getter(name="msiResourceId") + def msi_resource_id(self) -> str: + """ + ResourceId of the MSI. + """ + return pulumi.get(self, "msi_resource_id") + + @pulumi.output_type class ApplicationGetEndpointResponse(dict): """ @@ -1254,6 +1325,252 @@ def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssigne return pulumi.get(self, "user_assigned_identities") +@pulumi.output_type +class ClusterPoolResourcePropertiesResponseAksClusterProfile(dict): + """ + Properties of underlying AKS cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "aksVersion": + suggest = "aks_version" + elif key == "aksClusterAgentPoolIdentityProfile": + suggest = "aks_cluster_agent_pool_identity_profile" + elif key == "aksClusterResourceId": + suggest = "aks_cluster_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterPoolResourcePropertiesResponseAksClusterProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterPoolResourcePropertiesResponseAksClusterProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterPoolResourcePropertiesResponseAksClusterProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aks_version: str, + aks_cluster_agent_pool_identity_profile: Optional['outputs.AksClusterProfileResponseAksClusterAgentPoolIdentityProfile'] = None, + aks_cluster_resource_id: Optional[str] = None): + """ + Properties of underlying AKS cluster. + :param str aks_version: AKS control plane and default node pool version of this ClusterPool + :param 'AksClusterProfileResponseAksClusterAgentPoolIdentityProfile' aks_cluster_agent_pool_identity_profile: Identity properties of the AKS cluster agentpool MSI + :param str aks_cluster_resource_id: ARM Resource ID of the AKS cluster + """ + pulumi.set(__self__, "aks_version", aks_version) + if aks_cluster_agent_pool_identity_profile is not None: + pulumi.set(__self__, "aks_cluster_agent_pool_identity_profile", aks_cluster_agent_pool_identity_profile) + if aks_cluster_resource_id is not None: + pulumi.set(__self__, "aks_cluster_resource_id", aks_cluster_resource_id) + + @property + @pulumi.getter(name="aksVersion") + def aks_version(self) -> str: + """ + AKS control plane and default node pool version of this ClusterPool + """ + return pulumi.get(self, "aks_version") + + @property + @pulumi.getter(name="aksClusterAgentPoolIdentityProfile") + def aks_cluster_agent_pool_identity_profile(self) -> Optional['outputs.AksClusterProfileResponseAksClusterAgentPoolIdentityProfile']: + """ + Identity properties of the AKS cluster agentpool MSI + """ + return pulumi.get(self, "aks_cluster_agent_pool_identity_profile") + + @property + @pulumi.getter(name="aksClusterResourceId") + def aks_cluster_resource_id(self) -> Optional[str]: + """ + ARM Resource ID of the AKS cluster + """ + return pulumi.get(self, "aks_cluster_resource_id") + + +@pulumi.output_type +class ClusterPoolResourcePropertiesResponseClusterPoolProfile(dict): + """ + CLuster pool profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clusterPoolVersion": + suggest = "cluster_pool_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterPoolResourcePropertiesResponseClusterPoolProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterPoolResourcePropertiesResponseClusterPoolProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterPoolResourcePropertiesResponseClusterPoolProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cluster_pool_version: str): + """ + CLuster pool profile. + :param str cluster_pool_version: Cluster pool version is a 2-part version. + """ + pulumi.set(__self__, "cluster_pool_version", cluster_pool_version) + + @property + @pulumi.getter(name="clusterPoolVersion") + def cluster_pool_version(self) -> str: + """ + Cluster pool version is a 2-part version. + """ + return pulumi.get(self, "cluster_pool_version") + + +@pulumi.output_type +class ClusterPoolResourcePropertiesResponseComputeProfile(dict): + """ + CLuster pool compute profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "vmSize": + suggest = "vm_size" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterPoolResourcePropertiesResponseComputeProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterPoolResourcePropertiesResponseComputeProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterPoolResourcePropertiesResponseComputeProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: int, + vm_size: str): + """ + CLuster pool compute profile. + :param int count: The number of virtual machines. + :param str vm_size: The virtual machine SKU. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "vm_size", vm_size) + + @property + @pulumi.getter + def count(self) -> int: + """ + The number of virtual machines. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> str: + """ + The virtual machine SKU. + """ + return pulumi.get(self, "vm_size") + + +@pulumi.output_type +class ClusterPoolResourcePropertiesResponseLogAnalyticsProfile(dict): + """ + Cluster pool log analytics profile to enable OMS agent for AKS cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "workspaceId": + suggest = "workspace_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterPoolResourcePropertiesResponseLogAnalyticsProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterPoolResourcePropertiesResponseLogAnalyticsProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterPoolResourcePropertiesResponseLogAnalyticsProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: bool, + workspace_id: Optional[str] = None): + """ + Cluster pool log analytics profile to enable OMS agent for AKS cluster. + :param bool enabled: True if log analytics is enabled for cluster pool, otherwise false. + :param str workspace_id: Log analytics workspace to associate with the OMS agent. + """ + pulumi.set(__self__, "enabled", enabled) + if workspace_id is not None: + pulumi.set(__self__, "workspace_id", workspace_id) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + True if log analytics is enabled for cluster pool, otherwise false. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> Optional[str]: + """ + Log analytics workspace to associate with the OMS agent. + """ + return pulumi.get(self, "workspace_id") + + +@pulumi.output_type +class ClusterPoolResourcePropertiesResponseNetworkProfile(dict): + """ + Cluster pool network profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "subnetId": + suggest = "subnet_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterPoolResourcePropertiesResponseNetworkProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterPoolResourcePropertiesResponseNetworkProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterPoolResourcePropertiesResponseNetworkProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + subnet_id: str): + """ + Cluster pool network profile. + :param str subnet_id: Cluster pool subnet resource id. + """ + pulumi.set(__self__, "subnet_id", subnet_id) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> str: + """ + Cluster pool subnet resource id. + """ + return pulumi.get(self, "subnet_id") + + @pulumi.output_type class ComputeIsolationPropertiesResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/__init__.py b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/__init__.py new file mode 100644 index 000000000000..027f8db28bc0 --- /dev/null +++ b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/__init__.py @@ -0,0 +1,14 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .cluster import * +from .cluster_pool import * +from .get_cluster import * +from .get_cluster_pool import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/_enums.py b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/_enums.py new file mode 100644 index 000000000000..cb0e472ae265 --- /dev/null +++ b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/_enums.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'AutoscaleType', + 'ComparisonOperator', + 'ContentEncoding', + 'KeyVaultObjectType', + 'ScaleActionType', + 'ScheduleDay', +] + + +class AutoscaleType(str, Enum): + """ + User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based. + """ + SCHEDULE_BASED = "ScheduleBased" + LOAD_BASED = "LoadBased" + + +class ComparisonOperator(str, Enum): + """ + The comparison operator. + """ + GREATER_THAN = "greaterThan" + GREATER_THAN_OR_EQUAL = "greaterThanOrEqual" + LESS_THAN = "lessThan" + LESS_THAN_OR_EQUAL = "lessThanOrEqual" + + +class ContentEncoding(str, Enum): + """ + This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content is base64 encoded. Set it to none or skip it if the content is plain text. + """ + BASE64 = "Base64" + NONE = "None" + + +class KeyVaultObjectType(str, Enum): + """ + Type of key vault object: secret, key or certificate. + """ + KEY = "Key" + SECRET = "Secret" + CERTIFICATE = "Certificate" + + +class ScaleActionType(str, Enum): + """ + The action type. + """ + SCALEUP = "scaleup" + SCALEDOWN = "scaledown" + + +class ScheduleDay(str, Enum): + SUNDAY = "Sunday" + MONDAY = "Monday" + TUESDAY = "Tuesday" + WEDNESDAY = "Wednesday" + THURSDAY = "Thursday" + FRIDAY = "Friday" + SATURDAY = "Saturday" diff --git a/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/_inputs.py b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/_inputs.py new file mode 100644 index 000000000000..8a0ee022ba83 --- /dev/null +++ b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/_inputs.py @@ -0,0 +1,2519 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = [ + 'AuthorizationProfileArgs', + 'AutoscaleProfileArgs', + 'CatalogOptionsArgs', + 'ClusterConfigFileArgs', + 'ClusterLogAnalyticsApplicationLogsArgs', + 'ClusterLogAnalyticsProfileArgs', + 'ClusterPoolResourcePropertiesClusterPoolProfileArgs', + 'ClusterPoolResourcePropertiesComputeProfileArgs', + 'ClusterPoolResourcePropertiesLogAnalyticsProfileArgs', + 'ClusterPoolResourcePropertiesNetworkProfileArgs', + 'ClusterProfileArgs', + 'ClusterPrometheusProfileArgs', + 'ClusterServiceConfigsProfileArgs', + 'ClusterServiceConfigArgs', + 'ComparisonRuleArgs', + 'ComputeProfileArgs', + 'ComputeResourceDefinitionArgs', + 'FlinkCatalogOptionsArgs', + 'FlinkHiveCatalogOptionArgs', + 'FlinkProfileArgs', + 'FlinkStorageProfileArgs', + 'HiveCatalogOptionArgs', + 'IdentityProfileArgs', + 'LoadBasedConfigArgs', + 'NodeProfileArgs', + 'ScalingRuleArgs', + 'ScheduleBasedConfigArgs', + 'ScheduleArgs', + 'ScriptActionProfileArgs', + 'SecretReferenceArgs', + 'SecretsProfileArgs', + 'SparkMetastoreSpecArgs', + 'SparkProfileArgs', + 'SparkUserPluginsArgs', + 'SparkUserPluginArgs', + 'SshProfileArgs', + 'TrinoCoordinatorArgs', + 'TrinoProfileArgs', + 'TrinoTelemetryConfigArgs', + 'TrinoUserPluginsArgs', + 'TrinoUserPluginArgs', + 'TrinoUserTelemetryArgs', + 'TrinoWorkerArgs', +] + +@pulumi.input_type +class AuthorizationProfileArgs: + def __init__(__self__, *, + group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + user_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + :param pulumi.Input[Sequence[pulumi.Input[str]]] group_ids: AAD group Ids authorized for data plane access. + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_ids: AAD user Ids authorized for data plane access. + """ + if group_ids is not None: + pulumi.set(__self__, "group_ids", group_ids) + if user_ids is not None: + pulumi.set(__self__, "user_ids", user_ids) + + @property + @pulumi.getter(name="groupIds") + def group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + AAD group Ids authorized for data plane access. + """ + return pulumi.get(self, "group_ids") + + @group_ids.setter + def group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "group_ids", value) + + @property + @pulumi.getter(name="userIds") + def user_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + AAD user Ids authorized for data plane access. + """ + return pulumi.get(self, "user_ids") + + @user_ids.setter + def user_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_ids", value) + + +@pulumi.input_type +class AutoscaleProfileArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool], + autoscale_type: Optional[pulumi.Input[Union[str, 'AutoscaleType']]] = None, + graceful_decommission_timeout: Optional[pulumi.Input[int]] = None, + load_based_config: Optional[pulumi.Input['LoadBasedConfigArgs']] = None, + schedule_based_config: Optional[pulumi.Input['ScheduleBasedConfigArgs']] = None): + """ + This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + :param pulumi.Input[bool] enabled: This indicates whether auto scale is enabled on HDInsight on AKS cluster. + :param pulumi.Input[Union[str, 'AutoscaleType']] autoscale_type: User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based. + :param pulumi.Input[int] graceful_decommission_timeout: This property is for graceful decommission timeout; It has a default setting of 3600 seconds before forced shutdown takes place. This is the maximal time to wait for running containers and applications to complete before transition a DECOMMISSIONING node into DECOMMISSIONED. The default value is 3600 seconds. Negative value (like -1) is handled as infinite timeout. + :param pulumi.Input['LoadBasedConfigArgs'] load_based_config: Profiles of load based Autoscale. + :param pulumi.Input['ScheduleBasedConfigArgs'] schedule_based_config: Profiles of schedule based Autoscale. + """ + pulumi.set(__self__, "enabled", enabled) + if autoscale_type is not None: + pulumi.set(__self__, "autoscale_type", autoscale_type) + if graceful_decommission_timeout is not None: + pulumi.set(__self__, "graceful_decommission_timeout", graceful_decommission_timeout) + if load_based_config is not None: + pulumi.set(__self__, "load_based_config", load_based_config) + if schedule_based_config is not None: + pulumi.set(__self__, "schedule_based_config", schedule_based_config) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + This indicates whether auto scale is enabled on HDInsight on AKS cluster. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="autoscaleType") + def autoscale_type(self) -> Optional[pulumi.Input[Union[str, 'AutoscaleType']]]: + """ + User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based. + """ + return pulumi.get(self, "autoscale_type") + + @autoscale_type.setter + def autoscale_type(self, value: Optional[pulumi.Input[Union[str, 'AutoscaleType']]]): + pulumi.set(self, "autoscale_type", value) + + @property + @pulumi.getter(name="gracefulDecommissionTimeout") + def graceful_decommission_timeout(self) -> Optional[pulumi.Input[int]]: + """ + This property is for graceful decommission timeout; It has a default setting of 3600 seconds before forced shutdown takes place. This is the maximal time to wait for running containers and applications to complete before transition a DECOMMISSIONING node into DECOMMISSIONED. The default value is 3600 seconds. Negative value (like -1) is handled as infinite timeout. + """ + return pulumi.get(self, "graceful_decommission_timeout") + + @graceful_decommission_timeout.setter + def graceful_decommission_timeout(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "graceful_decommission_timeout", value) + + @property + @pulumi.getter(name="loadBasedConfig") + def load_based_config(self) -> Optional[pulumi.Input['LoadBasedConfigArgs']]: + """ + Profiles of load based Autoscale. + """ + return pulumi.get(self, "load_based_config") + + @load_based_config.setter + def load_based_config(self, value: Optional[pulumi.Input['LoadBasedConfigArgs']]): + pulumi.set(self, "load_based_config", value) + + @property + @pulumi.getter(name="scheduleBasedConfig") + def schedule_based_config(self) -> Optional[pulumi.Input['ScheduleBasedConfigArgs']]: + """ + Profiles of schedule based Autoscale. + """ + return pulumi.get(self, "schedule_based_config") + + @schedule_based_config.setter + def schedule_based_config(self, value: Optional[pulumi.Input['ScheduleBasedConfigArgs']]): + pulumi.set(self, "schedule_based_config", value) + + +@pulumi.input_type +class CatalogOptionsArgs: + def __init__(__self__, *, + hive: Optional[pulumi.Input[Sequence[pulumi.Input['HiveCatalogOptionArgs']]]] = None): + """ + Trino cluster catalog options. + :param pulumi.Input[Sequence[pulumi.Input['HiveCatalogOptionArgs']]] hive: hive catalog options. + """ + if hive is not None: + pulumi.set(__self__, "hive", hive) + + @property + @pulumi.getter + def hive(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HiveCatalogOptionArgs']]]]: + """ + hive catalog options. + """ + return pulumi.get(self, "hive") + + @hive.setter + def hive(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HiveCatalogOptionArgs']]]]): + pulumi.set(self, "hive", value) + + +@pulumi.input_type +class ClusterConfigFileArgs: + def __init__(__self__, *, + file_name: pulumi.Input[str], + content: Optional[pulumi.Input[str]] = None, + encoding: Optional[pulumi.Input[Union[str, 'ContentEncoding']]] = None, + path: Optional[pulumi.Input[str]] = None, + values: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Cluster configuration files. + :param pulumi.Input[str] file_name: Configuration file name. + :param pulumi.Input[str] content: Free form content of the entire configuration file. + :param pulumi.Input[Union[str, 'ContentEncoding']] encoding: This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content is base64 encoded. Set it to none or skip it if the content is plain text. + :param pulumi.Input[str] path: Path of the config file if content is specified. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] values: List of key value pairs + where key represents a valid service configuration name and value represents the value of the config. + """ + pulumi.set(__self__, "file_name", file_name) + if content is not None: + pulumi.set(__self__, "content", content) + if encoding is not None: + pulumi.set(__self__, "encoding", encoding) + if path is not None: + pulumi.set(__self__, "path", path) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="fileName") + def file_name(self) -> pulumi.Input[str]: + """ + Configuration file name. + """ + return pulumi.get(self, "file_name") + + @file_name.setter + def file_name(self, value: pulumi.Input[str]): + pulumi.set(self, "file_name", value) + + @property + @pulumi.getter + def content(self) -> Optional[pulumi.Input[str]]: + """ + Free form content of the entire configuration file. + """ + return pulumi.get(self, "content") + + @content.setter + def content(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "content", value) + + @property + @pulumi.getter + def encoding(self) -> Optional[pulumi.Input[Union[str, 'ContentEncoding']]]: + """ + This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content is base64 encoded. Set it to none or skip it if the content is plain text. + """ + return pulumi.get(self, "encoding") + + @encoding.setter + def encoding(self, value: Optional[pulumi.Input[Union[str, 'ContentEncoding']]]): + pulumi.set(self, "encoding", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + Path of the config file if content is specified. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + List of key value pairs + where key represents a valid service configuration name and value represents the value of the config. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class ClusterLogAnalyticsApplicationLogsArgs: + def __init__(__self__, *, + std_error_enabled: Optional[pulumi.Input[bool]] = None, + std_out_enabled: Optional[pulumi.Input[bool]] = None): + """ + Collection of logs to be enabled or disabled for log analytics. + :param pulumi.Input[bool] std_error_enabled: True if stderror is enabled, otherwise false. + :param pulumi.Input[bool] std_out_enabled: True if stdout is enabled, otherwise false. + """ + if std_error_enabled is not None: + pulumi.set(__self__, "std_error_enabled", std_error_enabled) + if std_out_enabled is not None: + pulumi.set(__self__, "std_out_enabled", std_out_enabled) + + @property + @pulumi.getter(name="stdErrorEnabled") + def std_error_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + True if stderror is enabled, otherwise false. + """ + return pulumi.get(self, "std_error_enabled") + + @std_error_enabled.setter + def std_error_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "std_error_enabled", value) + + @property + @pulumi.getter(name="stdOutEnabled") + def std_out_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + True if stdout is enabled, otherwise false. + """ + return pulumi.get(self, "std_out_enabled") + + @std_out_enabled.setter + def std_out_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "std_out_enabled", value) + + +@pulumi.input_type +class ClusterLogAnalyticsProfileArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool], + application_logs: Optional[pulumi.Input['ClusterLogAnalyticsApplicationLogsArgs']] = None, + metrics_enabled: Optional[pulumi.Input[bool]] = None): + """ + Cluster log analytics profile to enable or disable OMS agent for cluster. + :param pulumi.Input[bool] enabled: True if log analytics is enabled for the cluster, otherwise false. + :param pulumi.Input['ClusterLogAnalyticsApplicationLogsArgs'] application_logs: Collection of logs to be enabled or disabled for log analytics. + :param pulumi.Input[bool] metrics_enabled: True if metrics are enabled, otherwise false. + """ + pulumi.set(__self__, "enabled", enabled) + if application_logs is not None: + pulumi.set(__self__, "application_logs", application_logs) + if metrics_enabled is not None: + pulumi.set(__self__, "metrics_enabled", metrics_enabled) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + True if log analytics is enabled for the cluster, otherwise false. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="applicationLogs") + def application_logs(self) -> Optional[pulumi.Input['ClusterLogAnalyticsApplicationLogsArgs']]: + """ + Collection of logs to be enabled or disabled for log analytics. + """ + return pulumi.get(self, "application_logs") + + @application_logs.setter + def application_logs(self, value: Optional[pulumi.Input['ClusterLogAnalyticsApplicationLogsArgs']]): + pulumi.set(self, "application_logs", value) + + @property + @pulumi.getter(name="metricsEnabled") + def metrics_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + True if metrics are enabled, otherwise false. + """ + return pulumi.get(self, "metrics_enabled") + + @metrics_enabled.setter + def metrics_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "metrics_enabled", value) + + +@pulumi.input_type +class ClusterPoolResourcePropertiesClusterPoolProfileArgs: + def __init__(__self__, *, + cluster_pool_version: pulumi.Input[str]): + """ + CLuster pool profile. + :param pulumi.Input[str] cluster_pool_version: Cluster pool version is a 2-part version. + """ + pulumi.set(__self__, "cluster_pool_version", cluster_pool_version) + + @property + @pulumi.getter(name="clusterPoolVersion") + def cluster_pool_version(self) -> pulumi.Input[str]: + """ + Cluster pool version is a 2-part version. + """ + return pulumi.get(self, "cluster_pool_version") + + @cluster_pool_version.setter + def cluster_pool_version(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_pool_version", value) + + +@pulumi.input_type +class ClusterPoolResourcePropertiesComputeProfileArgs: + def __init__(__self__, *, + vm_size: pulumi.Input[str]): + """ + CLuster pool compute profile. + :param pulumi.Input[str] vm_size: The virtual machine SKU. + """ + pulumi.set(__self__, "vm_size", vm_size) + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> pulumi.Input[str]: + """ + The virtual machine SKU. + """ + return pulumi.get(self, "vm_size") + + @vm_size.setter + def vm_size(self, value: pulumi.Input[str]): + pulumi.set(self, "vm_size", value) + + +@pulumi.input_type +class ClusterPoolResourcePropertiesLogAnalyticsProfileArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool], + workspace_id: Optional[pulumi.Input[str]] = None): + """ + Cluster pool log analytics profile to enable OMS agent for AKS cluster. + :param pulumi.Input[bool] enabled: True if log analytics is enabled for cluster pool, otherwise false. + :param pulumi.Input[str] workspace_id: Log analytics workspace to associate with the OMS agent. + """ + pulumi.set(__self__, "enabled", enabled) + if workspace_id is not None: + pulumi.set(__self__, "workspace_id", workspace_id) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + True if log analytics is enabled for cluster pool, otherwise false. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> Optional[pulumi.Input[str]]: + """ + Log analytics workspace to associate with the OMS agent. + """ + return pulumi.get(self, "workspace_id") + + @workspace_id.setter + def workspace_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace_id", value) + + +@pulumi.input_type +class ClusterPoolResourcePropertiesNetworkProfileArgs: + def __init__(__self__, *, + subnet_id: pulumi.Input[str]): + """ + Cluster pool network profile. + :param pulumi.Input[str] subnet_id: Cluster pool subnet resource id. + """ + pulumi.set(__self__, "subnet_id", subnet_id) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> pulumi.Input[str]: + """ + Cluster pool subnet resource id. + """ + return pulumi.get(self, "subnet_id") + + @subnet_id.setter + def subnet_id(self, value: pulumi.Input[str]): + pulumi.set(self, "subnet_id", value) + + +@pulumi.input_type +class ClusterProfileArgs: + def __init__(__self__, *, + authorization_profile: pulumi.Input['AuthorizationProfileArgs'], + cluster_version: pulumi.Input[str], + identity_profile: pulumi.Input['IdentityProfileArgs'], + oss_version: pulumi.Input[str], + autoscale_profile: Optional[pulumi.Input['AutoscaleProfileArgs']] = None, + flink_profile: Optional[pulumi.Input['FlinkProfileArgs']] = None, + kafka_profile: Optional[Any] = None, + llap_profile: Optional[Any] = None, + log_analytics_profile: Optional[pulumi.Input['ClusterLogAnalyticsProfileArgs']] = None, + prometheus_profile: Optional[pulumi.Input['ClusterPrometheusProfileArgs']] = None, + script_action_profiles: Optional[pulumi.Input[Sequence[pulumi.Input['ScriptActionProfileArgs']]]] = None, + secrets_profile: Optional[pulumi.Input['SecretsProfileArgs']] = None, + service_configs_profiles: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterServiceConfigsProfileArgs']]]] = None, + spark_profile: Optional[pulumi.Input['SparkProfileArgs']] = None, + ssh_profile: Optional[pulumi.Input['SshProfileArgs']] = None, + stub_profile: Optional[Any] = None, + trino_profile: Optional[pulumi.Input['TrinoProfileArgs']] = None): + """ + Cluster profile. + :param pulumi.Input['AuthorizationProfileArgs'] authorization_profile: Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + :param pulumi.Input[str] cluster_version: Version with 3/4 part. + :param pulumi.Input['IdentityProfileArgs'] identity_profile: Identity Profile with details of an MSI. + :param pulumi.Input[str] oss_version: Version with three part. + :param pulumi.Input['AutoscaleProfileArgs'] autoscale_profile: This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + :param pulumi.Input['FlinkProfileArgs'] flink_profile: The Flink cluster profile. + :param Any kafka_profile: Kafka cluster profile. + :param Any llap_profile: LLAP cluster profile. + :param pulumi.Input['ClusterLogAnalyticsProfileArgs'] log_analytics_profile: Cluster log analytics profile to enable or disable OMS agent for cluster. + :param pulumi.Input['ClusterPrometheusProfileArgs'] prometheus_profile: Cluster Prometheus profile. + :param pulumi.Input[Sequence[pulumi.Input['ScriptActionProfileArgs']]] script_action_profiles: The script action profile list. + :param pulumi.Input['SecretsProfileArgs'] secrets_profile: The cluster secret profile. + :param pulumi.Input[Sequence[pulumi.Input['ClusterServiceConfigsProfileArgs']]] service_configs_profiles: The service configs profiles. + :param pulumi.Input['SparkProfileArgs'] spark_profile: The spark cluster profile. + :param pulumi.Input['SshProfileArgs'] ssh_profile: Ssh profile for the cluster. + :param Any stub_profile: Stub cluster profile. + :param pulumi.Input['TrinoProfileArgs'] trino_profile: Trino Cluster profile. + """ + pulumi.set(__self__, "authorization_profile", authorization_profile) + pulumi.set(__self__, "cluster_version", cluster_version) + pulumi.set(__self__, "identity_profile", identity_profile) + pulumi.set(__self__, "oss_version", oss_version) + if autoscale_profile is not None: + pulumi.set(__self__, "autoscale_profile", autoscale_profile) + if flink_profile is not None: + pulumi.set(__self__, "flink_profile", flink_profile) + if kafka_profile is not None: + pulumi.set(__self__, "kafka_profile", kafka_profile) + if llap_profile is not None: + pulumi.set(__self__, "llap_profile", llap_profile) + if log_analytics_profile is not None: + pulumi.set(__self__, "log_analytics_profile", log_analytics_profile) + if prometheus_profile is not None: + pulumi.set(__self__, "prometheus_profile", prometheus_profile) + if script_action_profiles is not None: + pulumi.set(__self__, "script_action_profiles", script_action_profiles) + if secrets_profile is not None: + pulumi.set(__self__, "secrets_profile", secrets_profile) + if service_configs_profiles is not None: + pulumi.set(__self__, "service_configs_profiles", service_configs_profiles) + if spark_profile is not None: + pulumi.set(__self__, "spark_profile", spark_profile) + if ssh_profile is not None: + pulumi.set(__self__, "ssh_profile", ssh_profile) + if stub_profile is not None: + pulumi.set(__self__, "stub_profile", stub_profile) + if trino_profile is not None: + pulumi.set(__self__, "trino_profile", trino_profile) + + @property + @pulumi.getter(name="authorizationProfile") + def authorization_profile(self) -> pulumi.Input['AuthorizationProfileArgs']: + """ + Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + """ + return pulumi.get(self, "authorization_profile") + + @authorization_profile.setter + def authorization_profile(self, value: pulumi.Input['AuthorizationProfileArgs']): + pulumi.set(self, "authorization_profile", value) + + @property + @pulumi.getter(name="clusterVersion") + def cluster_version(self) -> pulumi.Input[str]: + """ + Version with 3/4 part. + """ + return pulumi.get(self, "cluster_version") + + @cluster_version.setter + def cluster_version(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_version", value) + + @property + @pulumi.getter(name="identityProfile") + def identity_profile(self) -> pulumi.Input['IdentityProfileArgs']: + """ + Identity Profile with details of an MSI. + """ + return pulumi.get(self, "identity_profile") + + @identity_profile.setter + def identity_profile(self, value: pulumi.Input['IdentityProfileArgs']): + pulumi.set(self, "identity_profile", value) + + @property + @pulumi.getter(name="ossVersion") + def oss_version(self) -> pulumi.Input[str]: + """ + Version with three part. + """ + return pulumi.get(self, "oss_version") + + @oss_version.setter + def oss_version(self, value: pulumi.Input[str]): + pulumi.set(self, "oss_version", value) + + @property + @pulumi.getter(name="autoscaleProfile") + def autoscale_profile(self) -> Optional[pulumi.Input['AutoscaleProfileArgs']]: + """ + This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + """ + return pulumi.get(self, "autoscale_profile") + + @autoscale_profile.setter + def autoscale_profile(self, value: Optional[pulumi.Input['AutoscaleProfileArgs']]): + pulumi.set(self, "autoscale_profile", value) + + @property + @pulumi.getter(name="flinkProfile") + def flink_profile(self) -> Optional[pulumi.Input['FlinkProfileArgs']]: + """ + The Flink cluster profile. + """ + return pulumi.get(self, "flink_profile") + + @flink_profile.setter + def flink_profile(self, value: Optional[pulumi.Input['FlinkProfileArgs']]): + pulumi.set(self, "flink_profile", value) + + @property + @pulumi.getter(name="kafkaProfile") + def kafka_profile(self) -> Optional[Any]: + """ + Kafka cluster profile. + """ + return pulumi.get(self, "kafka_profile") + + @kafka_profile.setter + def kafka_profile(self, value: Optional[Any]): + pulumi.set(self, "kafka_profile", value) + + @property + @pulumi.getter(name="llapProfile") + def llap_profile(self) -> Optional[Any]: + """ + LLAP cluster profile. + """ + return pulumi.get(self, "llap_profile") + + @llap_profile.setter + def llap_profile(self, value: Optional[Any]): + pulumi.set(self, "llap_profile", value) + + @property + @pulumi.getter(name="logAnalyticsProfile") + def log_analytics_profile(self) -> Optional[pulumi.Input['ClusterLogAnalyticsProfileArgs']]: + """ + Cluster log analytics profile to enable or disable OMS agent for cluster. + """ + return pulumi.get(self, "log_analytics_profile") + + @log_analytics_profile.setter + def log_analytics_profile(self, value: Optional[pulumi.Input['ClusterLogAnalyticsProfileArgs']]): + pulumi.set(self, "log_analytics_profile", value) + + @property + @pulumi.getter(name="prometheusProfile") + def prometheus_profile(self) -> Optional[pulumi.Input['ClusterPrometheusProfileArgs']]: + """ + Cluster Prometheus profile. + """ + return pulumi.get(self, "prometheus_profile") + + @prometheus_profile.setter + def prometheus_profile(self, value: Optional[pulumi.Input['ClusterPrometheusProfileArgs']]): + pulumi.set(self, "prometheus_profile", value) + + @property + @pulumi.getter(name="scriptActionProfiles") + def script_action_profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScriptActionProfileArgs']]]]: + """ + The script action profile list. + """ + return pulumi.get(self, "script_action_profiles") + + @script_action_profiles.setter + def script_action_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScriptActionProfileArgs']]]]): + pulumi.set(self, "script_action_profiles", value) + + @property + @pulumi.getter(name="secretsProfile") + def secrets_profile(self) -> Optional[pulumi.Input['SecretsProfileArgs']]: + """ + The cluster secret profile. + """ + return pulumi.get(self, "secrets_profile") + + @secrets_profile.setter + def secrets_profile(self, value: Optional[pulumi.Input['SecretsProfileArgs']]): + pulumi.set(self, "secrets_profile", value) + + @property + @pulumi.getter(name="serviceConfigsProfiles") + def service_configs_profiles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterServiceConfigsProfileArgs']]]]: + """ + The service configs profiles. + """ + return pulumi.get(self, "service_configs_profiles") + + @service_configs_profiles.setter + def service_configs_profiles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterServiceConfigsProfileArgs']]]]): + pulumi.set(self, "service_configs_profiles", value) + + @property + @pulumi.getter(name="sparkProfile") + def spark_profile(self) -> Optional[pulumi.Input['SparkProfileArgs']]: + """ + The spark cluster profile. + """ + return pulumi.get(self, "spark_profile") + + @spark_profile.setter + def spark_profile(self, value: Optional[pulumi.Input['SparkProfileArgs']]): + pulumi.set(self, "spark_profile", value) + + @property + @pulumi.getter(name="sshProfile") + def ssh_profile(self) -> Optional[pulumi.Input['SshProfileArgs']]: + """ + Ssh profile for the cluster. + """ + return pulumi.get(self, "ssh_profile") + + @ssh_profile.setter + def ssh_profile(self, value: Optional[pulumi.Input['SshProfileArgs']]): + pulumi.set(self, "ssh_profile", value) + + @property + @pulumi.getter(name="stubProfile") + def stub_profile(self) -> Optional[Any]: + """ + Stub cluster profile. + """ + return pulumi.get(self, "stub_profile") + + @stub_profile.setter + def stub_profile(self, value: Optional[Any]): + pulumi.set(self, "stub_profile", value) + + @property + @pulumi.getter(name="trinoProfile") + def trino_profile(self) -> Optional[pulumi.Input['TrinoProfileArgs']]: + """ + Trino Cluster profile. + """ + return pulumi.get(self, "trino_profile") + + @trino_profile.setter + def trino_profile(self, value: Optional[pulumi.Input['TrinoProfileArgs']]): + pulumi.set(self, "trino_profile", value) + + +@pulumi.input_type +class ClusterPrometheusProfileArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool]): + """ + Cluster Prometheus profile. + :param pulumi.Input[bool] enabled: Enable Prometheus for cluster or not. + """ + if enabled is None: + enabled = False + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + Enable Prometheus for cluster or not. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class ClusterServiceConfigsProfileArgs: + def __init__(__self__, *, + configs: pulumi.Input[Sequence[pulumi.Input['ClusterServiceConfigArgs']]], + service_name: pulumi.Input[str]): + """ + Cluster service configs. + :param pulumi.Input[Sequence[pulumi.Input['ClusterServiceConfigArgs']]] configs: List of service configs. + :param pulumi.Input[str] service_name: Name of the service the configurations should apply to. + """ + pulumi.set(__self__, "configs", configs) + pulumi.set(__self__, "service_name", service_name) + + @property + @pulumi.getter + def configs(self) -> pulumi.Input[Sequence[pulumi.Input['ClusterServiceConfigArgs']]]: + """ + List of service configs. + """ + return pulumi.get(self, "configs") + + @configs.setter + def configs(self, value: pulumi.Input[Sequence[pulumi.Input['ClusterServiceConfigArgs']]]): + pulumi.set(self, "configs", value) + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> pulumi.Input[str]: + """ + Name of the service the configurations should apply to. + """ + return pulumi.get(self, "service_name") + + @service_name.setter + def service_name(self, value: pulumi.Input[str]): + pulumi.set(self, "service_name", value) + + +@pulumi.input_type +class ClusterServiceConfigArgs: + def __init__(__self__, *, + component: pulumi.Input[str], + files: pulumi.Input[Sequence[pulumi.Input['ClusterConfigFileArgs']]]): + """ + Cluster configs per component. + :param pulumi.Input[str] component: Name of the component the config files should apply to. + :param pulumi.Input[Sequence[pulumi.Input['ClusterConfigFileArgs']]] files: List of Config Files. + """ + pulumi.set(__self__, "component", component) + pulumi.set(__self__, "files", files) + + @property + @pulumi.getter + def component(self) -> pulumi.Input[str]: + """ + Name of the component the config files should apply to. + """ + return pulumi.get(self, "component") + + @component.setter + def component(self, value: pulumi.Input[str]): + pulumi.set(self, "component", value) + + @property + @pulumi.getter + def files(self) -> pulumi.Input[Sequence[pulumi.Input['ClusterConfigFileArgs']]]: + """ + List of Config Files. + """ + return pulumi.get(self, "files") + + @files.setter + def files(self, value: pulumi.Input[Sequence[pulumi.Input['ClusterConfigFileArgs']]]): + pulumi.set(self, "files", value) + + +@pulumi.input_type +class ComparisonRuleArgs: + def __init__(__self__, *, + operator: pulumi.Input[Union[str, 'ComparisonOperator']], + threshold: pulumi.Input[float]): + """ + The comparison rule. + :param pulumi.Input[Union[str, 'ComparisonOperator']] operator: The comparison operator. + :param pulumi.Input[float] threshold: Threshold setting. + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "threshold", threshold) + + @property + @pulumi.getter + def operator(self) -> pulumi.Input[Union[str, 'ComparisonOperator']]: + """ + The comparison operator. + """ + return pulumi.get(self, "operator") + + @operator.setter + def operator(self, value: pulumi.Input[Union[str, 'ComparisonOperator']]): + pulumi.set(self, "operator", value) + + @property + @pulumi.getter + def threshold(self) -> pulumi.Input[float]: + """ + Threshold setting. + """ + return pulumi.get(self, "threshold") + + @threshold.setter + def threshold(self, value: pulumi.Input[float]): + pulumi.set(self, "threshold", value) + + +@pulumi.input_type +class ComputeProfileArgs: + def __init__(__self__, *, + nodes: pulumi.Input[Sequence[pulumi.Input['NodeProfileArgs']]]): + """ + The compute profile. + :param pulumi.Input[Sequence[pulumi.Input['NodeProfileArgs']]] nodes: The nodes definitions. + """ + pulumi.set(__self__, "nodes", nodes) + + @property + @pulumi.getter + def nodes(self) -> pulumi.Input[Sequence[pulumi.Input['NodeProfileArgs']]]: + """ + The nodes definitions. + """ + return pulumi.get(self, "nodes") + + @nodes.setter + def nodes(self, value: pulumi.Input[Sequence[pulumi.Input['NodeProfileArgs']]]): + pulumi.set(self, "nodes", value) + + +@pulumi.input_type +class ComputeResourceDefinitionArgs: + def __init__(__self__, *, + cpu: pulumi.Input[float], + memory: pulumi.Input[float]): + """ + The cpu and memory requirement definition. + :param pulumi.Input[float] cpu: The required CPU. + :param pulumi.Input[float] memory: The required memory in MB, Container memory will be 110 percentile + """ + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "memory", memory) + + @property + @pulumi.getter + def cpu(self) -> pulumi.Input[float]: + """ + The required CPU. + """ + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: pulumi.Input[float]): + pulumi.set(self, "cpu", value) + + @property + @pulumi.getter + def memory(self) -> pulumi.Input[float]: + """ + The required memory in MB, Container memory will be 110 percentile + """ + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: pulumi.Input[float]): + pulumi.set(self, "memory", value) + + +@pulumi.input_type +class FlinkCatalogOptionsArgs: + def __init__(__self__, *, + hive: Optional[pulumi.Input['FlinkHiveCatalogOptionArgs']] = None): + """ + Flink cluster catalog options. + :param pulumi.Input['FlinkHiveCatalogOptionArgs'] hive: Hive Catalog Option for Flink cluster. + """ + if hive is not None: + pulumi.set(__self__, "hive", hive) + + @property + @pulumi.getter + def hive(self) -> Optional[pulumi.Input['FlinkHiveCatalogOptionArgs']]: + """ + Hive Catalog Option for Flink cluster. + """ + return pulumi.get(self, "hive") + + @hive.setter + def hive(self, value: Optional[pulumi.Input['FlinkHiveCatalogOptionArgs']]): + pulumi.set(self, "hive", value) + + +@pulumi.input_type +class FlinkHiveCatalogOptionArgs: + def __init__(__self__, *, + metastore_db_connection_password_secret: pulumi.Input[str], + metastore_db_connection_url: pulumi.Input[str], + metastore_db_connection_user_name: pulumi.Input[str]): + """ + Hive Catalog Option for Flink cluster. + :param pulumi.Input[str] metastore_db_connection_password_secret: Secret reference name from secretsProfile.secrets containing password for database connection. + :param pulumi.Input[str] metastore_db_connection_url: Connection string for hive metastore database. + :param pulumi.Input[str] metastore_db_connection_user_name: User name for database connection. + """ + pulumi.set(__self__, "metastore_db_connection_password_secret", metastore_db_connection_password_secret) + pulumi.set(__self__, "metastore_db_connection_url", metastore_db_connection_url) + pulumi.set(__self__, "metastore_db_connection_user_name", metastore_db_connection_user_name) + + @property + @pulumi.getter(name="metastoreDbConnectionPasswordSecret") + def metastore_db_connection_password_secret(self) -> pulumi.Input[str]: + """ + Secret reference name from secretsProfile.secrets containing password for database connection. + """ + return pulumi.get(self, "metastore_db_connection_password_secret") + + @metastore_db_connection_password_secret.setter + def metastore_db_connection_password_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "metastore_db_connection_password_secret", value) + + @property + @pulumi.getter(name="metastoreDbConnectionURL") + def metastore_db_connection_url(self) -> pulumi.Input[str]: + """ + Connection string for hive metastore database. + """ + return pulumi.get(self, "metastore_db_connection_url") + + @metastore_db_connection_url.setter + def metastore_db_connection_url(self, value: pulumi.Input[str]): + pulumi.set(self, "metastore_db_connection_url", value) + + @property + @pulumi.getter(name="metastoreDbConnectionUserName") + def metastore_db_connection_user_name(self) -> pulumi.Input[str]: + """ + User name for database connection. + """ + return pulumi.get(self, "metastore_db_connection_user_name") + + @metastore_db_connection_user_name.setter + def metastore_db_connection_user_name(self, value: pulumi.Input[str]): + pulumi.set(self, "metastore_db_connection_user_name", value) + + +@pulumi.input_type +class FlinkProfileArgs: + def __init__(__self__, *, + job_manager: pulumi.Input['ComputeResourceDefinitionArgs'], + storage: pulumi.Input['FlinkStorageProfileArgs'], + task_manager: pulumi.Input['ComputeResourceDefinitionArgs'], + catalog_options: Optional[pulumi.Input['FlinkCatalogOptionsArgs']] = None, + history_server: Optional[pulumi.Input['ComputeResourceDefinitionArgs']] = None, + num_replicas: Optional[pulumi.Input[int]] = None): + """ + The Flink cluster profile. + :param pulumi.Input['ComputeResourceDefinitionArgs'] job_manager: Job Manager container/ process CPU and memory requirements + :param pulumi.Input['FlinkStorageProfileArgs'] storage: The storage profile + :param pulumi.Input['ComputeResourceDefinitionArgs'] task_manager: Task Manager container/ process CPU and memory requirements + :param pulumi.Input['FlinkCatalogOptionsArgs'] catalog_options: Flink cluster catalog options. + :param pulumi.Input['ComputeResourceDefinitionArgs'] history_server: History Server container/ process CPU and memory requirements + :param pulumi.Input[int] num_replicas: The number of task managers. + """ + pulumi.set(__self__, "job_manager", job_manager) + pulumi.set(__self__, "storage", storage) + pulumi.set(__self__, "task_manager", task_manager) + if catalog_options is not None: + pulumi.set(__self__, "catalog_options", catalog_options) + if history_server is not None: + pulumi.set(__self__, "history_server", history_server) + if num_replicas is not None: + pulumi.set(__self__, "num_replicas", num_replicas) + + @property + @pulumi.getter(name="jobManager") + def job_manager(self) -> pulumi.Input['ComputeResourceDefinitionArgs']: + """ + Job Manager container/ process CPU and memory requirements + """ + return pulumi.get(self, "job_manager") + + @job_manager.setter + def job_manager(self, value: pulumi.Input['ComputeResourceDefinitionArgs']): + pulumi.set(self, "job_manager", value) + + @property + @pulumi.getter + def storage(self) -> pulumi.Input['FlinkStorageProfileArgs']: + """ + The storage profile + """ + return pulumi.get(self, "storage") + + @storage.setter + def storage(self, value: pulumi.Input['FlinkStorageProfileArgs']): + pulumi.set(self, "storage", value) + + @property + @pulumi.getter(name="taskManager") + def task_manager(self) -> pulumi.Input['ComputeResourceDefinitionArgs']: + """ + Task Manager container/ process CPU and memory requirements + """ + return pulumi.get(self, "task_manager") + + @task_manager.setter + def task_manager(self, value: pulumi.Input['ComputeResourceDefinitionArgs']): + pulumi.set(self, "task_manager", value) + + @property + @pulumi.getter(name="catalogOptions") + def catalog_options(self) -> Optional[pulumi.Input['FlinkCatalogOptionsArgs']]: + """ + Flink cluster catalog options. + """ + return pulumi.get(self, "catalog_options") + + @catalog_options.setter + def catalog_options(self, value: Optional[pulumi.Input['FlinkCatalogOptionsArgs']]): + pulumi.set(self, "catalog_options", value) + + @property + @pulumi.getter(name="historyServer") + def history_server(self) -> Optional[pulumi.Input['ComputeResourceDefinitionArgs']]: + """ + History Server container/ process CPU and memory requirements + """ + return pulumi.get(self, "history_server") + + @history_server.setter + def history_server(self, value: Optional[pulumi.Input['ComputeResourceDefinitionArgs']]): + pulumi.set(self, "history_server", value) + + @property + @pulumi.getter(name="numReplicas") + def num_replicas(self) -> Optional[pulumi.Input[int]]: + """ + The number of task managers. + """ + return pulumi.get(self, "num_replicas") + + @num_replicas.setter + def num_replicas(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "num_replicas", value) + + +@pulumi.input_type +class FlinkStorageProfileArgs: + def __init__(__self__, *, + storage_uri: pulumi.Input[str], + storagekey: Optional[pulumi.Input[str]] = None): + """ + The storage profile + :param pulumi.Input[str] storage_uri: Storage account uri which is used for savepoint and checkpoint state. + :param pulumi.Input[str] storagekey: Storage key is only required for wasb(s) storage. + """ + pulumi.set(__self__, "storage_uri", storage_uri) + if storagekey is not None: + pulumi.set(__self__, "storagekey", storagekey) + + @property + @pulumi.getter(name="storageUri") + def storage_uri(self) -> pulumi.Input[str]: + """ + Storage account uri which is used for savepoint and checkpoint state. + """ + return pulumi.get(self, "storage_uri") + + @storage_uri.setter + def storage_uri(self, value: pulumi.Input[str]): + pulumi.set(self, "storage_uri", value) + + @property + @pulumi.getter + def storagekey(self) -> Optional[pulumi.Input[str]]: + """ + Storage key is only required for wasb(s) storage. + """ + return pulumi.get(self, "storagekey") + + @storagekey.setter + def storagekey(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storagekey", value) + + +@pulumi.input_type +class HiveCatalogOptionArgs: + def __init__(__self__, *, + catalog_name: pulumi.Input[str], + metastore_db_connection_password_secret: pulumi.Input[str], + metastore_db_connection_url: pulumi.Input[str], + metastore_db_connection_user_name: pulumi.Input[str], + metastore_warehouse_dir: pulumi.Input[str]): + """ + Hive Catalog Option + :param pulumi.Input[str] catalog_name: Name of trino catalog which should use specified hive metastore. + :param pulumi.Input[str] metastore_db_connection_password_secret: Secret reference name from secretsProfile.secrets containing password for database connection. + :param pulumi.Input[str] metastore_db_connection_url: Connection string for hive metastore database. + :param pulumi.Input[str] metastore_db_connection_user_name: User name for database connection. + :param pulumi.Input[str] metastore_warehouse_dir: Metastore root directory URI, format: abfs[s]://@.dfs.core.windows.net/. More details: https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri + """ + pulumi.set(__self__, "catalog_name", catalog_name) + pulumi.set(__self__, "metastore_db_connection_password_secret", metastore_db_connection_password_secret) + pulumi.set(__self__, "metastore_db_connection_url", metastore_db_connection_url) + pulumi.set(__self__, "metastore_db_connection_user_name", metastore_db_connection_user_name) + pulumi.set(__self__, "metastore_warehouse_dir", metastore_warehouse_dir) + + @property + @pulumi.getter(name="catalogName") + def catalog_name(self) -> pulumi.Input[str]: + """ + Name of trino catalog which should use specified hive metastore. + """ + return pulumi.get(self, "catalog_name") + + @catalog_name.setter + def catalog_name(self, value: pulumi.Input[str]): + pulumi.set(self, "catalog_name", value) + + @property + @pulumi.getter(name="metastoreDbConnectionPasswordSecret") + def metastore_db_connection_password_secret(self) -> pulumi.Input[str]: + """ + Secret reference name from secretsProfile.secrets containing password for database connection. + """ + return pulumi.get(self, "metastore_db_connection_password_secret") + + @metastore_db_connection_password_secret.setter + def metastore_db_connection_password_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "metastore_db_connection_password_secret", value) + + @property + @pulumi.getter(name="metastoreDbConnectionURL") + def metastore_db_connection_url(self) -> pulumi.Input[str]: + """ + Connection string for hive metastore database. + """ + return pulumi.get(self, "metastore_db_connection_url") + + @metastore_db_connection_url.setter + def metastore_db_connection_url(self, value: pulumi.Input[str]): + pulumi.set(self, "metastore_db_connection_url", value) + + @property + @pulumi.getter(name="metastoreDbConnectionUserName") + def metastore_db_connection_user_name(self) -> pulumi.Input[str]: + """ + User name for database connection. + """ + return pulumi.get(self, "metastore_db_connection_user_name") + + @metastore_db_connection_user_name.setter + def metastore_db_connection_user_name(self, value: pulumi.Input[str]): + pulumi.set(self, "metastore_db_connection_user_name", value) + + @property + @pulumi.getter(name="metastoreWarehouseDir") + def metastore_warehouse_dir(self) -> pulumi.Input[str]: + """ + Metastore root directory URI, format: abfs[s]://@.dfs.core.windows.net/. More details: https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri + """ + return pulumi.get(self, "metastore_warehouse_dir") + + @metastore_warehouse_dir.setter + def metastore_warehouse_dir(self, value: pulumi.Input[str]): + pulumi.set(self, "metastore_warehouse_dir", value) + + +@pulumi.input_type +class IdentityProfileArgs: + def __init__(__self__, *, + msi_client_id: pulumi.Input[str], + msi_object_id: pulumi.Input[str], + msi_resource_id: pulumi.Input[str]): + """ + Identity Profile with details of an MSI. + :param pulumi.Input[str] msi_client_id: ClientId of the MSI. + :param pulumi.Input[str] msi_object_id: ObjectId of the MSI. + :param pulumi.Input[str] msi_resource_id: ResourceId of the MSI. + """ + pulumi.set(__self__, "msi_client_id", msi_client_id) + pulumi.set(__self__, "msi_object_id", msi_object_id) + pulumi.set(__self__, "msi_resource_id", msi_resource_id) + + @property + @pulumi.getter(name="msiClientId") + def msi_client_id(self) -> pulumi.Input[str]: + """ + ClientId of the MSI. + """ + return pulumi.get(self, "msi_client_id") + + @msi_client_id.setter + def msi_client_id(self, value: pulumi.Input[str]): + pulumi.set(self, "msi_client_id", value) + + @property + @pulumi.getter(name="msiObjectId") + def msi_object_id(self) -> pulumi.Input[str]: + """ + ObjectId of the MSI. + """ + return pulumi.get(self, "msi_object_id") + + @msi_object_id.setter + def msi_object_id(self, value: pulumi.Input[str]): + pulumi.set(self, "msi_object_id", value) + + @property + @pulumi.getter(name="msiResourceId") + def msi_resource_id(self) -> pulumi.Input[str]: + """ + ResourceId of the MSI. + """ + return pulumi.get(self, "msi_resource_id") + + @msi_resource_id.setter + def msi_resource_id(self, value: pulumi.Input[str]): + pulumi.set(self, "msi_resource_id", value) + + +@pulumi.input_type +class LoadBasedConfigArgs: + def __init__(__self__, *, + max_nodes: pulumi.Input[int], + min_nodes: pulumi.Input[int], + scaling_rules: pulumi.Input[Sequence[pulumi.Input['ScalingRuleArgs']]], + cooldown_period: Optional[pulumi.Input[int]] = None, + poll_interval: Optional[pulumi.Input[int]] = None): + """ + Profile of load based Autoscale. + :param pulumi.Input[int] max_nodes: User needs to set the maximum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + :param pulumi.Input[int] min_nodes: User needs to set the minimum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + :param pulumi.Input[Sequence[pulumi.Input['ScalingRuleArgs']]] scaling_rules: The scaling rules. + :param pulumi.Input[int] cooldown_period: This is a cool down period, this is a time period in seconds, which determines the amount of time that must elapse between a scaling activity started by a rule and the start of the next scaling activity, regardless of the rule that triggers it. The default value is 300 seconds. + :param pulumi.Input[int] poll_interval: User can specify the poll interval, this is the time period (in seconds) after which scaling metrics are polled for triggering a scaling operation. + """ + pulumi.set(__self__, "max_nodes", max_nodes) + pulumi.set(__self__, "min_nodes", min_nodes) + pulumi.set(__self__, "scaling_rules", scaling_rules) + if cooldown_period is not None: + pulumi.set(__self__, "cooldown_period", cooldown_period) + if poll_interval is not None: + pulumi.set(__self__, "poll_interval", poll_interval) + + @property + @pulumi.getter(name="maxNodes") + def max_nodes(self) -> pulumi.Input[int]: + """ + User needs to set the maximum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + """ + return pulumi.get(self, "max_nodes") + + @max_nodes.setter + def max_nodes(self, value: pulumi.Input[int]): + pulumi.set(self, "max_nodes", value) + + @property + @pulumi.getter(name="minNodes") + def min_nodes(self) -> pulumi.Input[int]: + """ + User needs to set the minimum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + """ + return pulumi.get(self, "min_nodes") + + @min_nodes.setter + def min_nodes(self, value: pulumi.Input[int]): + pulumi.set(self, "min_nodes", value) + + @property + @pulumi.getter(name="scalingRules") + def scaling_rules(self) -> pulumi.Input[Sequence[pulumi.Input['ScalingRuleArgs']]]: + """ + The scaling rules. + """ + return pulumi.get(self, "scaling_rules") + + @scaling_rules.setter + def scaling_rules(self, value: pulumi.Input[Sequence[pulumi.Input['ScalingRuleArgs']]]): + pulumi.set(self, "scaling_rules", value) + + @property + @pulumi.getter(name="cooldownPeriod") + def cooldown_period(self) -> Optional[pulumi.Input[int]]: + """ + This is a cool down period, this is a time period in seconds, which determines the amount of time that must elapse between a scaling activity started by a rule and the start of the next scaling activity, regardless of the rule that triggers it. The default value is 300 seconds. + """ + return pulumi.get(self, "cooldown_period") + + @cooldown_period.setter + def cooldown_period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "cooldown_period", value) + + @property + @pulumi.getter(name="pollInterval") + def poll_interval(self) -> Optional[pulumi.Input[int]]: + """ + User can specify the poll interval, this is the time period (in seconds) after which scaling metrics are polled for triggering a scaling operation. + """ + return pulumi.get(self, "poll_interval") + + @poll_interval.setter + def poll_interval(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "poll_interval", value) + + +@pulumi.input_type +class NodeProfileArgs: + def __init__(__self__, *, + count: pulumi.Input[int], + type: pulumi.Input[str], + vm_size: pulumi.Input[str]): + """ + The node profile. + :param pulumi.Input[int] count: The number of virtual machines. + :param pulumi.Input[str] type: The node type. + :param pulumi.Input[str] vm_size: The virtual machine SKU. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "vm_size", vm_size) + + @property + @pulumi.getter + def count(self) -> pulumi.Input[int]: + """ + The number of virtual machines. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: pulumi.Input[int]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The node type. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> pulumi.Input[str]: + """ + The virtual machine SKU. + """ + return pulumi.get(self, "vm_size") + + @vm_size.setter + def vm_size(self, value: pulumi.Input[str]): + pulumi.set(self, "vm_size", value) + + +@pulumi.input_type +class ScalingRuleArgs: + def __init__(__self__, *, + action_type: pulumi.Input[Union[str, 'ScaleActionType']], + comparison_rule: pulumi.Input['ComparisonRuleArgs'], + evaluation_count: pulumi.Input[int], + scaling_metric: pulumi.Input[str]): + """ + The scaling rule. + :param pulumi.Input[Union[str, 'ScaleActionType']] action_type: The action type. + :param pulumi.Input['ComparisonRuleArgs'] comparison_rule: The comparison rule. + :param pulumi.Input[int] evaluation_count: This is an evaluation count for a scaling condition, the number of times a trigger condition should be successful, before scaling activity is triggered. + :param pulumi.Input[str] scaling_metric: Metrics name for individual workloads. For example: cpu + """ + pulumi.set(__self__, "action_type", action_type) + pulumi.set(__self__, "comparison_rule", comparison_rule) + pulumi.set(__self__, "evaluation_count", evaluation_count) + pulumi.set(__self__, "scaling_metric", scaling_metric) + + @property + @pulumi.getter(name="actionType") + def action_type(self) -> pulumi.Input[Union[str, 'ScaleActionType']]: + """ + The action type. + """ + return pulumi.get(self, "action_type") + + @action_type.setter + def action_type(self, value: pulumi.Input[Union[str, 'ScaleActionType']]): + pulumi.set(self, "action_type", value) + + @property + @pulumi.getter(name="comparisonRule") + def comparison_rule(self) -> pulumi.Input['ComparisonRuleArgs']: + """ + The comparison rule. + """ + return pulumi.get(self, "comparison_rule") + + @comparison_rule.setter + def comparison_rule(self, value: pulumi.Input['ComparisonRuleArgs']): + pulumi.set(self, "comparison_rule", value) + + @property + @pulumi.getter(name="evaluationCount") + def evaluation_count(self) -> pulumi.Input[int]: + """ + This is an evaluation count for a scaling condition, the number of times a trigger condition should be successful, before scaling activity is triggered. + """ + return pulumi.get(self, "evaluation_count") + + @evaluation_count.setter + def evaluation_count(self, value: pulumi.Input[int]): + pulumi.set(self, "evaluation_count", value) + + @property + @pulumi.getter(name="scalingMetric") + def scaling_metric(self) -> pulumi.Input[str]: + """ + Metrics name for individual workloads. For example: cpu + """ + return pulumi.get(self, "scaling_metric") + + @scaling_metric.setter + def scaling_metric(self, value: pulumi.Input[str]): + pulumi.set(self, "scaling_metric", value) + + +@pulumi.input_type +class ScheduleBasedConfigArgs: + def __init__(__self__, *, + default_count: pulumi.Input[int], + schedules: pulumi.Input[Sequence[pulumi.Input['ScheduleArgs']]], + time_zone: pulumi.Input[str]): + """ + Profile of schedule based Autoscale. + :param pulumi.Input[int] default_count: Setting default node count of current schedule configuration. Default node count specifies the number of nodes which are default when an specified scaling operation is executed (scale up/scale down) + :param pulumi.Input[Sequence[pulumi.Input['ScheduleArgs']]] schedules: This specifies the schedules where scheduled based Autoscale to be enabled, the user has a choice to set multiple rules within the schedule across days and times (start/end). + :param pulumi.Input[str] time_zone: User has to specify the timezone on which the schedule has to be set for schedule based autoscale configuration. + """ + pulumi.set(__self__, "default_count", default_count) + pulumi.set(__self__, "schedules", schedules) + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter(name="defaultCount") + def default_count(self) -> pulumi.Input[int]: + """ + Setting default node count of current schedule configuration. Default node count specifies the number of nodes which are default when an specified scaling operation is executed (scale up/scale down) + """ + return pulumi.get(self, "default_count") + + @default_count.setter + def default_count(self, value: pulumi.Input[int]): + pulumi.set(self, "default_count", value) + + @property + @pulumi.getter + def schedules(self) -> pulumi.Input[Sequence[pulumi.Input['ScheduleArgs']]]: + """ + This specifies the schedules where scheduled based Autoscale to be enabled, the user has a choice to set multiple rules within the schedule across days and times (start/end). + """ + return pulumi.get(self, "schedules") + + @schedules.setter + def schedules(self, value: pulumi.Input[Sequence[pulumi.Input['ScheduleArgs']]]): + pulumi.set(self, "schedules", value) + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> pulumi.Input[str]: + """ + User has to specify the timezone on which the schedule has to be set for schedule based autoscale configuration. + """ + return pulumi.get(self, "time_zone") + + @time_zone.setter + def time_zone(self, value: pulumi.Input[str]): + pulumi.set(self, "time_zone", value) + + +@pulumi.input_type +class ScheduleArgs: + def __init__(__self__, *, + count: pulumi.Input[int], + days: pulumi.Input[Sequence[pulumi.Input[Union[str, 'ScheduleDay']]]], + end_time: pulumi.Input[str], + start_time: pulumi.Input[str]): + """ + Schedule definition. + :param pulumi.Input[int] count: User has to set the node count anticipated at end of the scaling operation of the set current schedule configuration, format is integer. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'ScheduleDay']]]] days: User has to set the days where schedule has to be set for autoscale operation. + :param pulumi.Input[str] end_time: User has to set the end time of current schedule configuration, format like 10:30 (HH:MM). + :param pulumi.Input[str] start_time: User has to set the start time of current schedule configuration, format like 10:30 (HH:MM). + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "days", days) + pulumi.set(__self__, "end_time", end_time) + pulumi.set(__self__, "start_time", start_time) + + @property + @pulumi.getter + def count(self) -> pulumi.Input[int]: + """ + User has to set the node count anticipated at end of the scaling operation of the set current schedule configuration, format is integer. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: pulumi.Input[int]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter + def days(self) -> pulumi.Input[Sequence[pulumi.Input[Union[str, 'ScheduleDay']]]]: + """ + User has to set the days where schedule has to be set for autoscale operation. + """ + return pulumi.get(self, "days") + + @days.setter + def days(self, value: pulumi.Input[Sequence[pulumi.Input[Union[str, 'ScheduleDay']]]]): + pulumi.set(self, "days", value) + + @property + @pulumi.getter(name="endTime") + def end_time(self) -> pulumi.Input[str]: + """ + User has to set the end time of current schedule configuration, format like 10:30 (HH:MM). + """ + return pulumi.get(self, "end_time") + + @end_time.setter + def end_time(self, value: pulumi.Input[str]): + pulumi.set(self, "end_time", value) + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> pulumi.Input[str]: + """ + User has to set the start time of current schedule configuration, format like 10:30 (HH:MM). + """ + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: pulumi.Input[str]): + pulumi.set(self, "start_time", value) + + +@pulumi.input_type +class ScriptActionProfileArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + services: pulumi.Input[Sequence[pulumi.Input[str]]], + type: pulumi.Input[str], + url: pulumi.Input[str], + parameters: Optional[pulumi.Input[str]] = None, + should_persist: Optional[pulumi.Input[bool]] = None, + timeout_in_minutes: Optional[pulumi.Input[int]] = None): + """ + The script action profile. + :param pulumi.Input[str] name: Script name. + :param pulumi.Input[Sequence[pulumi.Input[str]]] services: List of services to apply the script action. + :param pulumi.Input[str] type: Type of the script action. Supported type is bash scripts. + :param pulumi.Input[str] url: Url of the script file. + :param pulumi.Input[str] parameters: Additional parameters for the script action. It should be space-separated list of arguments required for script execution. + :param pulumi.Input[bool] should_persist: Specify if the script should persist on the cluster. + :param pulumi.Input[int] timeout_in_minutes: Timeout duration for the script action in minutes. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "services", services) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "url", url) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if should_persist is None: + should_persist = True + if should_persist is not None: + pulumi.set(__self__, "should_persist", should_persist) + if timeout_in_minutes is not None: + pulumi.set(__self__, "timeout_in_minutes", timeout_in_minutes) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Script name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def services(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of services to apply the script action. + """ + return pulumi.get(self, "services") + + @services.setter + def services(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "services", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + Type of the script action. Supported type is bash scripts. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + Url of the script file. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[str]]: + """ + Additional parameters for the script action. It should be space-separated list of arguments required for script execution. + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "parameters", value) + + @property + @pulumi.getter(name="shouldPersist") + def should_persist(self) -> Optional[pulumi.Input[bool]]: + """ + Specify if the script should persist on the cluster. + """ + return pulumi.get(self, "should_persist") + + @should_persist.setter + def should_persist(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "should_persist", value) + + @property + @pulumi.getter(name="timeoutInMinutes") + def timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + """ + Timeout duration for the script action in minutes. + """ + return pulumi.get(self, "timeout_in_minutes") + + @timeout_in_minutes.setter + def timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "timeout_in_minutes", value) + + +@pulumi.input_type +class SecretReferenceArgs: + def __init__(__self__, *, + key_vault_object_name: pulumi.Input[str], + reference_name: pulumi.Input[str], + type: pulumi.Input[Union[str, 'KeyVaultObjectType']], + version: Optional[pulumi.Input[str]] = None): + """ + Secret reference and corresponding properties of a key vault secret. + :param pulumi.Input[str] key_vault_object_name: Object identifier name of the secret in key vault. + :param pulumi.Input[str] reference_name: Reference name of the secret to be used in service configs. + :param pulumi.Input[Union[str, 'KeyVaultObjectType']] type: Type of key vault object: secret, key or certificate. + :param pulumi.Input[str] version: Version of the secret in key vault. + """ + pulumi.set(__self__, "key_vault_object_name", key_vault_object_name) + pulumi.set(__self__, "reference_name", reference_name) + pulumi.set(__self__, "type", type) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="keyVaultObjectName") + def key_vault_object_name(self) -> pulumi.Input[str]: + """ + Object identifier name of the secret in key vault. + """ + return pulumi.get(self, "key_vault_object_name") + + @key_vault_object_name.setter + def key_vault_object_name(self, value: pulumi.Input[str]): + pulumi.set(self, "key_vault_object_name", value) + + @property + @pulumi.getter(name="referenceName") + def reference_name(self) -> pulumi.Input[str]: + """ + Reference name of the secret to be used in service configs. + """ + return pulumi.get(self, "reference_name") + + @reference_name.setter + def reference_name(self, value: pulumi.Input[str]): + pulumi.set(self, "reference_name", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[Union[str, 'KeyVaultObjectType']]: + """ + Type of key vault object: secret, key or certificate. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[Union[str, 'KeyVaultObjectType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + Version of the secret in key vault. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +@pulumi.input_type +class SecretsProfileArgs: + def __init__(__self__, *, + key_vault_resource_id: pulumi.Input[str], + secrets: Optional[pulumi.Input[Sequence[pulumi.Input['SecretReferenceArgs']]]] = None): + """ + The cluster secret profile. + :param pulumi.Input[str] key_vault_resource_id: Name of the user Key Vault where all the cluster specific user secrets are stored. + :param pulumi.Input[Sequence[pulumi.Input['SecretReferenceArgs']]] secrets: Properties of Key Vault secret. + """ + pulumi.set(__self__, "key_vault_resource_id", key_vault_resource_id) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + + @property + @pulumi.getter(name="keyVaultResourceId") + def key_vault_resource_id(self) -> pulumi.Input[str]: + """ + Name of the user Key Vault where all the cluster specific user secrets are stored. + """ + return pulumi.get(self, "key_vault_resource_id") + + @key_vault_resource_id.setter + def key_vault_resource_id(self, value: pulumi.Input[str]): + pulumi.set(self, "key_vault_resource_id", value) + + @property + @pulumi.getter + def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecretReferenceArgs']]]]: + """ + Properties of Key Vault secret. + """ + return pulumi.get(self, "secrets") + + @secrets.setter + def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecretReferenceArgs']]]]): + pulumi.set(self, "secrets", value) + + +@pulumi.input_type +class SparkMetastoreSpecArgs: + def __init__(__self__, *, + db_password_secret_name: pulumi.Input[str], + db_server_host: pulumi.Input[str], + db_user_name: pulumi.Input[str], + key_vault_id: pulumi.Input[str], + db_name: Optional[pulumi.Input[str]] = None, + thrift_url: Optional[pulumi.Input[str]] = None): + """ + The metastore specification for Spark cluster. + :param pulumi.Input[str] db_password_secret_name: The secret name which contains the database user password. + :param pulumi.Input[str] db_server_host: The database server host. + :param pulumi.Input[str] db_user_name: The database user name. + :param pulumi.Input[str] key_vault_id: The key vault resource id. + :param pulumi.Input[str] db_name: The database name. + :param pulumi.Input[str] thrift_url: The thrift url. + """ + pulumi.set(__self__, "db_password_secret_name", db_password_secret_name) + pulumi.set(__self__, "db_server_host", db_server_host) + pulumi.set(__self__, "db_user_name", db_user_name) + pulumi.set(__self__, "key_vault_id", key_vault_id) + if db_name is not None: + pulumi.set(__self__, "db_name", db_name) + if thrift_url is not None: + pulumi.set(__self__, "thrift_url", thrift_url) + + @property + @pulumi.getter(name="dbPasswordSecretName") + def db_password_secret_name(self) -> pulumi.Input[str]: + """ + The secret name which contains the database user password. + """ + return pulumi.get(self, "db_password_secret_name") + + @db_password_secret_name.setter + def db_password_secret_name(self, value: pulumi.Input[str]): + pulumi.set(self, "db_password_secret_name", value) + + @property + @pulumi.getter(name="dbServerHost") + def db_server_host(self) -> pulumi.Input[str]: + """ + The database server host. + """ + return pulumi.get(self, "db_server_host") + + @db_server_host.setter + def db_server_host(self, value: pulumi.Input[str]): + pulumi.set(self, "db_server_host", value) + + @property + @pulumi.getter(name="dbUserName") + def db_user_name(self) -> pulumi.Input[str]: + """ + The database user name. + """ + return pulumi.get(self, "db_user_name") + + @db_user_name.setter + def db_user_name(self, value: pulumi.Input[str]): + pulumi.set(self, "db_user_name", value) + + @property + @pulumi.getter(name="keyVaultId") + def key_vault_id(self) -> pulumi.Input[str]: + """ + The key vault resource id. + """ + return pulumi.get(self, "key_vault_id") + + @key_vault_id.setter + def key_vault_id(self, value: pulumi.Input[str]): + pulumi.set(self, "key_vault_id", value) + + @property + @pulumi.getter(name="dbName") + def db_name(self) -> Optional[pulumi.Input[str]]: + """ + The database name. + """ + return pulumi.get(self, "db_name") + + @db_name.setter + def db_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "db_name", value) + + @property + @pulumi.getter(name="thriftUrl") + def thrift_url(self) -> Optional[pulumi.Input[str]]: + """ + The thrift url. + """ + return pulumi.get(self, "thrift_url") + + @thrift_url.setter + def thrift_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "thrift_url", value) + + +@pulumi.input_type +class SparkProfileArgs: + def __init__(__self__, *, + default_storage_url: Optional[pulumi.Input[str]] = None, + metastore_spec: Optional[pulumi.Input['SparkMetastoreSpecArgs']] = None, + user_plugins_spec: Optional[pulumi.Input['SparkUserPluginsArgs']] = None): + """ + The spark cluster profile. + :param pulumi.Input[str] default_storage_url: The default storage URL. + :param pulumi.Input['SparkMetastoreSpecArgs'] metastore_spec: The metastore specification for Spark cluster. + :param pulumi.Input['SparkUserPluginsArgs'] user_plugins_spec: Spark user plugins spec + """ + if default_storage_url is not None: + pulumi.set(__self__, "default_storage_url", default_storage_url) + if metastore_spec is not None: + pulumi.set(__self__, "metastore_spec", metastore_spec) + if user_plugins_spec is not None: + pulumi.set(__self__, "user_plugins_spec", user_plugins_spec) + + @property + @pulumi.getter(name="defaultStorageUrl") + def default_storage_url(self) -> Optional[pulumi.Input[str]]: + """ + The default storage URL. + """ + return pulumi.get(self, "default_storage_url") + + @default_storage_url.setter + def default_storage_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default_storage_url", value) + + @property + @pulumi.getter(name="metastoreSpec") + def metastore_spec(self) -> Optional[pulumi.Input['SparkMetastoreSpecArgs']]: + """ + The metastore specification for Spark cluster. + """ + return pulumi.get(self, "metastore_spec") + + @metastore_spec.setter + def metastore_spec(self, value: Optional[pulumi.Input['SparkMetastoreSpecArgs']]): + pulumi.set(self, "metastore_spec", value) + + @property + @pulumi.getter(name="userPluginsSpec") + def user_plugins_spec(self) -> Optional[pulumi.Input['SparkUserPluginsArgs']]: + """ + Spark user plugins spec + """ + return pulumi.get(self, "user_plugins_spec") + + @user_plugins_spec.setter + def user_plugins_spec(self, value: Optional[pulumi.Input['SparkUserPluginsArgs']]): + pulumi.set(self, "user_plugins_spec", value) + + +@pulumi.input_type +class SparkUserPluginsArgs: + def __init__(__self__, *, + plugins: Optional[pulumi.Input[Sequence[pulumi.Input['SparkUserPluginArgs']]]] = None): + """ + Spark user plugins spec + :param pulumi.Input[Sequence[pulumi.Input['SparkUserPluginArgs']]] plugins: Spark user plugins. + """ + if plugins is not None: + pulumi.set(__self__, "plugins", plugins) + + @property + @pulumi.getter + def plugins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SparkUserPluginArgs']]]]: + """ + Spark user plugins. + """ + return pulumi.get(self, "plugins") + + @plugins.setter + def plugins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SparkUserPluginArgs']]]]): + pulumi.set(self, "plugins", value) + + +@pulumi.input_type +class SparkUserPluginArgs: + def __init__(__self__, *, + path: pulumi.Input[str]): + """ + Spark user plugin. + :param pulumi.Input[str] path: Fully qualified path to the folder containing the plugins. + """ + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def path(self) -> pulumi.Input[str]: + """ + Fully qualified path to the folder containing the plugins. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: pulumi.Input[str]): + pulumi.set(self, "path", value) + + +@pulumi.input_type +class SshProfileArgs: + def __init__(__self__, *, + count: pulumi.Input[int]): + """ + Ssh profile for the cluster. + :param pulumi.Input[int] count: Number of ssh pods per cluster. + """ + pulumi.set(__self__, "count", count) + + @property + @pulumi.getter + def count(self) -> pulumi.Input[int]: + """ + Number of ssh pods per cluster. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: pulumi.Input[int]): + pulumi.set(self, "count", value) + + +@pulumi.input_type +class TrinoCoordinatorArgs: + def __init__(__self__, *, + enable: Optional[pulumi.Input[bool]] = None, + high_availability_enabled: Optional[pulumi.Input[bool]] = None, + port: Optional[pulumi.Input[int]] = None, + suspend: Optional[pulumi.Input[bool]] = None): + """ + Trino Coordinator. + :param pulumi.Input[bool] enable: The flag that if enable debug or not. + :param pulumi.Input[bool] high_availability_enabled: The flag that if enable coordinator HA, uses multiple coordinator replicas with auto failover, one per each head node. Default: true. + :param pulumi.Input[int] port: The debug port. + :param pulumi.Input[bool] suspend: The flag that if suspend debug or not. + """ + if enable is None: + enable = False + if enable is not None: + pulumi.set(__self__, "enable", enable) + if high_availability_enabled is None: + high_availability_enabled = True + if high_availability_enabled is not None: + pulumi.set(__self__, "high_availability_enabled", high_availability_enabled) + if port is None: + port = 8008 + if port is not None: + pulumi.set(__self__, "port", port) + if suspend is None: + suspend = False + if suspend is not None: + pulumi.set(__self__, "suspend", suspend) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + """ + The flag that if enable debug or not. + """ + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter(name="highAvailabilityEnabled") + def high_availability_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + The flag that if enable coordinator HA, uses multiple coordinator replicas with auto failover, one per each head node. Default: true. + """ + return pulumi.get(self, "high_availability_enabled") + + @high_availability_enabled.setter + def high_availability_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "high_availability_enabled", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + """ + The debug port. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter + def suspend(self) -> Optional[pulumi.Input[bool]]: + """ + The flag that if suspend debug or not. + """ + return pulumi.get(self, "suspend") + + @suspend.setter + def suspend(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "suspend", value) + + +@pulumi.input_type +class TrinoProfileArgs: + def __init__(__self__, *, + catalog_options: Optional[pulumi.Input['CatalogOptionsArgs']] = None, + coordinator: Optional[pulumi.Input['TrinoCoordinatorArgs']] = None, + user_plugins_spec: Optional[pulumi.Input['TrinoUserPluginsArgs']] = None, + user_telemetry_spec: Optional[pulumi.Input['TrinoUserTelemetryArgs']] = None, + worker: Optional[pulumi.Input['TrinoWorkerArgs']] = None): + """ + Trino Cluster profile. + :param pulumi.Input['CatalogOptionsArgs'] catalog_options: Trino cluster catalog options. + :param pulumi.Input['TrinoCoordinatorArgs'] coordinator: Trino Coordinator. + :param pulumi.Input['TrinoUserPluginsArgs'] user_plugins_spec: Trino user plugins spec + :param pulumi.Input['TrinoUserTelemetryArgs'] user_telemetry_spec: User telemetry + :param pulumi.Input['TrinoWorkerArgs'] worker: Trino worker. + """ + if catalog_options is not None: + pulumi.set(__self__, "catalog_options", catalog_options) + if coordinator is not None: + pulumi.set(__self__, "coordinator", coordinator) + if user_plugins_spec is not None: + pulumi.set(__self__, "user_plugins_spec", user_plugins_spec) + if user_telemetry_spec is not None: + pulumi.set(__self__, "user_telemetry_spec", user_telemetry_spec) + if worker is not None: + pulumi.set(__self__, "worker", worker) + + @property + @pulumi.getter(name="catalogOptions") + def catalog_options(self) -> Optional[pulumi.Input['CatalogOptionsArgs']]: + """ + Trino cluster catalog options. + """ + return pulumi.get(self, "catalog_options") + + @catalog_options.setter + def catalog_options(self, value: Optional[pulumi.Input['CatalogOptionsArgs']]): + pulumi.set(self, "catalog_options", value) + + @property + @pulumi.getter + def coordinator(self) -> Optional[pulumi.Input['TrinoCoordinatorArgs']]: + """ + Trino Coordinator. + """ + return pulumi.get(self, "coordinator") + + @coordinator.setter + def coordinator(self, value: Optional[pulumi.Input['TrinoCoordinatorArgs']]): + pulumi.set(self, "coordinator", value) + + @property + @pulumi.getter(name="userPluginsSpec") + def user_plugins_spec(self) -> Optional[pulumi.Input['TrinoUserPluginsArgs']]: + """ + Trino user plugins spec + """ + return pulumi.get(self, "user_plugins_spec") + + @user_plugins_spec.setter + def user_plugins_spec(self, value: Optional[pulumi.Input['TrinoUserPluginsArgs']]): + pulumi.set(self, "user_plugins_spec", value) + + @property + @pulumi.getter(name="userTelemetrySpec") + def user_telemetry_spec(self) -> Optional[pulumi.Input['TrinoUserTelemetryArgs']]: + """ + User telemetry + """ + return pulumi.get(self, "user_telemetry_spec") + + @user_telemetry_spec.setter + def user_telemetry_spec(self, value: Optional[pulumi.Input['TrinoUserTelemetryArgs']]): + pulumi.set(self, "user_telemetry_spec", value) + + @property + @pulumi.getter + def worker(self) -> Optional[pulumi.Input['TrinoWorkerArgs']]: + """ + Trino worker. + """ + return pulumi.get(self, "worker") + + @worker.setter + def worker(self, value: Optional[pulumi.Input['TrinoWorkerArgs']]): + pulumi.set(self, "worker", value) + + +@pulumi.input_type +class TrinoTelemetryConfigArgs: + def __init__(__self__, *, + hivecatalog_name: Optional[pulumi.Input[str]] = None, + hivecatalog_schema: Optional[pulumi.Input[str]] = None, + partition_retention_in_days: Optional[pulumi.Input[int]] = None, + path: Optional[pulumi.Input[str]] = None): + """ + Trino user telemetry definition. + :param pulumi.Input[str] hivecatalog_name: Hive Catalog name used to mount external tables on the logs written by trino, if not specified there tables are not created. + :param pulumi.Input[str] hivecatalog_schema: Schema of the above catalog to use, to mount query logs as external tables, if not specified tables will be mounted under schema trinologs. + :param pulumi.Input[int] partition_retention_in_days: Retention period for query log table partitions, this doesn't have any affect on actual data. + :param pulumi.Input[str] path: Azure storage location of the blobs. + """ + if hivecatalog_name is not None: + pulumi.set(__self__, "hivecatalog_name", hivecatalog_name) + if hivecatalog_schema is None: + hivecatalog_schema = 'trinologs' + if hivecatalog_schema is not None: + pulumi.set(__self__, "hivecatalog_schema", hivecatalog_schema) + if partition_retention_in_days is None: + partition_retention_in_days = 365 + if partition_retention_in_days is not None: + pulumi.set(__self__, "partition_retention_in_days", partition_retention_in_days) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter(name="hivecatalogName") + def hivecatalog_name(self) -> Optional[pulumi.Input[str]]: + """ + Hive Catalog name used to mount external tables on the logs written by trino, if not specified there tables are not created. + """ + return pulumi.get(self, "hivecatalog_name") + + @hivecatalog_name.setter + def hivecatalog_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "hivecatalog_name", value) + + @property + @pulumi.getter(name="hivecatalogSchema") + def hivecatalog_schema(self) -> Optional[pulumi.Input[str]]: + """ + Schema of the above catalog to use, to mount query logs as external tables, if not specified tables will be mounted under schema trinologs. + """ + return pulumi.get(self, "hivecatalog_schema") + + @hivecatalog_schema.setter + def hivecatalog_schema(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "hivecatalog_schema", value) + + @property + @pulumi.getter(name="partitionRetentionInDays") + def partition_retention_in_days(self) -> Optional[pulumi.Input[int]]: + """ + Retention period for query log table partitions, this doesn't have any affect on actual data. + """ + return pulumi.get(self, "partition_retention_in_days") + + @partition_retention_in_days.setter + def partition_retention_in_days(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "partition_retention_in_days", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + Azure storage location of the blobs. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + +@pulumi.input_type +class TrinoUserPluginsArgs: + def __init__(__self__, *, + plugins: Optional[pulumi.Input[Sequence[pulumi.Input['TrinoUserPluginArgs']]]] = None): + """ + Trino user plugins spec + :param pulumi.Input[Sequence[pulumi.Input['TrinoUserPluginArgs']]] plugins: Trino user plugins. + """ + if plugins is not None: + pulumi.set(__self__, "plugins", plugins) + + @property + @pulumi.getter + def plugins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TrinoUserPluginArgs']]]]: + """ + Trino user plugins. + """ + return pulumi.get(self, "plugins") + + @plugins.setter + def plugins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TrinoUserPluginArgs']]]]): + pulumi.set(self, "plugins", value) + + +@pulumi.input_type +class TrinoUserPluginArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None): + """ + Trino user plugin. + :param pulumi.Input[bool] enabled: Denotes whether the plugin is active or not. + :param pulumi.Input[str] name: This field maps to the sub-directory in trino plugins location, that will contain all the plugins under path. + :param pulumi.Input[str] path: Fully qualified path to the folder containing the plugins. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if name is not None: + pulumi.set(__self__, "name", name) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Denotes whether the plugin is active or not. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + This field maps to the sub-directory in trino plugins location, that will contain all the plugins under path. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + Fully qualified path to the folder containing the plugins. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + +@pulumi.input_type +class TrinoUserTelemetryArgs: + def __init__(__self__, *, + storage: Optional[pulumi.Input['TrinoTelemetryConfigArgs']] = None): + """ + User telemetry + :param pulumi.Input['TrinoTelemetryConfigArgs'] storage: Trino user telemetry definition. + """ + if storage is not None: + pulumi.set(__self__, "storage", storage) + + @property + @pulumi.getter + def storage(self) -> Optional[pulumi.Input['TrinoTelemetryConfigArgs']]: + """ + Trino user telemetry definition. + """ + return pulumi.get(self, "storage") + + @storage.setter + def storage(self, value: Optional[pulumi.Input['TrinoTelemetryConfigArgs']]): + pulumi.set(self, "storage", value) + + +@pulumi.input_type +class TrinoWorkerArgs: + def __init__(__self__, *, + enable: Optional[pulumi.Input[bool]] = None, + port: Optional[pulumi.Input[int]] = None, + suspend: Optional[pulumi.Input[bool]] = None): + """ + Trino worker. + :param pulumi.Input[bool] enable: The flag that if enable debug or not. + :param pulumi.Input[int] port: The debug port. + :param pulumi.Input[bool] suspend: The flag that if suspend debug or not. + """ + if enable is None: + enable = False + if enable is not None: + pulumi.set(__self__, "enable", enable) + if port is None: + port = 8008 + if port is not None: + pulumi.set(__self__, "port", port) + if suspend is None: + suspend = False + if suspend is not None: + pulumi.set(__self__, "suspend", suspend) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + """ + The flag that if enable debug or not. + """ + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + """ + The debug port. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter + def suspend(self) -> Optional[pulumi.Input[bool]]: + """ + The flag that if suspend debug or not. + """ + return pulumi.get(self, "suspend") + + @suspend.setter + def suspend(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "suspend", value) + + diff --git a/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/cluster.py b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/cluster.py new file mode 100644 index 000000000000..2372d095b9a2 --- /dev/null +++ b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/cluster.py @@ -0,0 +1,363 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ClusterArgs', 'Cluster'] + +@pulumi.input_type +class ClusterArgs: + def __init__(__self__, *, + cluster_pool_name: pulumi.Input[str], + cluster_profile: pulumi.Input['ClusterProfileArgs'], + cluster_type: pulumi.Input[str], + compute_profile: pulumi.Input['ComputeProfileArgs'], + resource_group_name: pulumi.Input[str], + cluster_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Cluster resource. + :param pulumi.Input[str] cluster_pool_name: The name of the cluster pool. + :param pulumi.Input['ClusterProfileArgs'] cluster_profile: Cluster profile. + :param pulumi.Input[str] cluster_type: The type of cluster. + :param pulumi.Input['ComputeProfileArgs'] compute_profile: The compute profile. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] cluster_name: The name of the HDInsight cluster. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + pulumi.set(__self__, "cluster_pool_name", cluster_pool_name) + pulumi.set(__self__, "cluster_profile", cluster_profile) + pulumi.set(__self__, "cluster_type", cluster_type) + pulumi.set(__self__, "compute_profile", compute_profile) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if cluster_name is not None: + pulumi.set(__self__, "cluster_name", cluster_name) + if location is not None: + pulumi.set(__self__, "location", location) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="clusterPoolName") + def cluster_pool_name(self) -> pulumi.Input[str]: + """ + The name of the cluster pool. + """ + return pulumi.get(self, "cluster_pool_name") + + @cluster_pool_name.setter + def cluster_pool_name(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_pool_name", value) + + @property + @pulumi.getter(name="clusterProfile") + def cluster_profile(self) -> pulumi.Input['ClusterProfileArgs']: + """ + Cluster profile. + """ + return pulumi.get(self, "cluster_profile") + + @cluster_profile.setter + def cluster_profile(self, value: pulumi.Input['ClusterProfileArgs']): + pulumi.set(self, "cluster_profile", value) + + @property + @pulumi.getter(name="clusterType") + def cluster_type(self) -> pulumi.Input[str]: + """ + The type of cluster. + """ + return pulumi.get(self, "cluster_type") + + @cluster_type.setter + def cluster_type(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_type", value) + + @property + @pulumi.getter(name="computeProfile") + def compute_profile(self) -> pulumi.Input['ComputeProfileArgs']: + """ + The compute profile. + """ + return pulumi.get(self, "compute_profile") + + @compute_profile.setter + def compute_profile(self, value: pulumi.Input['ComputeProfileArgs']): + pulumi.set(self, "compute_profile", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the HDInsight cluster. + """ + return pulumi.get(self, "cluster_name") + + @cluster_name.setter + def cluster_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_name", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class Cluster(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_name: Optional[pulumi.Input[str]] = None, + cluster_pool_name: Optional[pulumi.Input[str]] = None, + cluster_profile: Optional[pulumi.Input[pulumi.InputType['ClusterProfileArgs']]] = None, + cluster_type: Optional[pulumi.Input[str]] = None, + compute_profile: Optional[pulumi.Input[pulumi.InputType['ComputeProfileArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + The cluster. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cluster_name: The name of the HDInsight cluster. + :param pulumi.Input[str] cluster_pool_name: The name of the cluster pool. + :param pulumi.Input[pulumi.InputType['ClusterProfileArgs']] cluster_profile: Cluster profile. + :param pulumi.Input[str] cluster_type: The type of cluster. + :param pulumi.Input[pulumi.InputType['ComputeProfileArgs']] compute_profile: The compute profile. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ClusterArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The cluster. + + :param str resource_name: The name of the resource. + :param ClusterArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ClusterArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_name: Optional[pulumi.Input[str]] = None, + cluster_pool_name: Optional[pulumi.Input[str]] = None, + cluster_profile: Optional[pulumi.Input[pulumi.InputType['ClusterProfileArgs']]] = None, + cluster_type: Optional[pulumi.Input[str]] = None, + compute_profile: Optional[pulumi.Input[pulumi.InputType['ComputeProfileArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ClusterArgs.__new__(ClusterArgs) + + __props__.__dict__["cluster_name"] = cluster_name + if cluster_pool_name is None and not opts.urn: + raise TypeError("Missing required property 'cluster_pool_name'") + __props__.__dict__["cluster_pool_name"] = cluster_pool_name + if cluster_profile is None and not opts.urn: + raise TypeError("Missing required property 'cluster_profile'") + __props__.__dict__["cluster_profile"] = cluster_profile + if cluster_type is None and not opts.urn: + raise TypeError("Missing required property 'cluster_type'") + __props__.__dict__["cluster_type"] = cluster_type + if compute_profile is None and not opts.urn: + raise TypeError("Missing required property 'compute_profile'") + __props__.__dict__["compute_profile"] = compute_profile + __props__.__dict__["location"] = location + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["tags"] = tags + __props__.__dict__["deployment_id"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + super(Cluster, __self__).__init__( + 'azure-native:hdinsight/v20230601preview:Cluster', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Cluster': + """ + Get an existing Cluster resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ClusterArgs.__new__(ClusterArgs) + + __props__.__dict__["cluster_profile"] = None + __props__.__dict__["cluster_type"] = None + __props__.__dict__["compute_profile"] = None + __props__.__dict__["deployment_id"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return Cluster(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clusterProfile") + def cluster_profile(self) -> pulumi.Output['outputs.ClusterProfileResponse']: + """ + Cluster profile. + """ + return pulumi.get(self, "cluster_profile") + + @property + @pulumi.getter(name="clusterType") + def cluster_type(self) -> pulumi.Output[str]: + """ + The type of cluster. + """ + return pulumi.get(self, "cluster_type") + + @property + @pulumi.getter(name="computeProfile") + def compute_profile(self) -> pulumi.Output['outputs.ComputeProfileResponse']: + """ + The compute profile. + """ + return pulumi.get(self, "compute_profile") + + @property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> pulumi.Output[str]: + """ + A unique id generated by the RP to identify the resource. + """ + return pulumi.get(self, "deployment_id") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + Provisioning state of the resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + Business status of the resource. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/cluster_pool.py b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/cluster_pool.py new file mode 100644 index 000000000000..8ab7aa19a6ce --- /dev/null +++ b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/cluster_pool.py @@ -0,0 +1,419 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ClusterPoolArgs', 'ClusterPool'] + +@pulumi.input_type +class ClusterPoolArgs: + def __init__(__self__, *, + compute_profile: pulumi.Input['ClusterPoolResourcePropertiesComputeProfileArgs'], + resource_group_name: pulumi.Input[str], + cluster_pool_name: Optional[pulumi.Input[str]] = None, + cluster_pool_profile: Optional[pulumi.Input['ClusterPoolResourcePropertiesClusterPoolProfileArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + log_analytics_profile: Optional[pulumi.Input['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs']] = None, + managed_resource_group_name: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input['ClusterPoolResourcePropertiesNetworkProfileArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a ClusterPool resource. + :param pulumi.Input['ClusterPoolResourcePropertiesComputeProfileArgs'] compute_profile: CLuster pool compute profile. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] cluster_pool_name: The name of the cluster pool. + :param pulumi.Input['ClusterPoolResourcePropertiesClusterPoolProfileArgs'] cluster_pool_profile: CLuster pool profile. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs'] log_analytics_profile: Cluster pool log analytics profile to enable OMS agent for AKS cluster. + :param pulumi.Input[str] managed_resource_group_name: A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + :param pulumi.Input['ClusterPoolResourcePropertiesNetworkProfileArgs'] network_profile: Cluster pool network profile. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + pulumi.set(__self__, "compute_profile", compute_profile) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if cluster_pool_name is not None: + pulumi.set(__self__, "cluster_pool_name", cluster_pool_name) + if cluster_pool_profile is not None: + pulumi.set(__self__, "cluster_pool_profile", cluster_pool_profile) + if location is not None: + pulumi.set(__self__, "location", location) + if log_analytics_profile is not None: + pulumi.set(__self__, "log_analytics_profile", log_analytics_profile) + if managed_resource_group_name is not None: + pulumi.set(__self__, "managed_resource_group_name", managed_resource_group_name) + if network_profile is not None: + pulumi.set(__self__, "network_profile", network_profile) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="computeProfile") + def compute_profile(self) -> pulumi.Input['ClusterPoolResourcePropertiesComputeProfileArgs']: + """ + CLuster pool compute profile. + """ + return pulumi.get(self, "compute_profile") + + @compute_profile.setter + def compute_profile(self, value: pulumi.Input['ClusterPoolResourcePropertiesComputeProfileArgs']): + pulumi.set(self, "compute_profile", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="clusterPoolName") + def cluster_pool_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the cluster pool. + """ + return pulumi.get(self, "cluster_pool_name") + + @cluster_pool_name.setter + def cluster_pool_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_pool_name", value) + + @property + @pulumi.getter(name="clusterPoolProfile") + def cluster_pool_profile(self) -> Optional[pulumi.Input['ClusterPoolResourcePropertiesClusterPoolProfileArgs']]: + """ + CLuster pool profile. + """ + return pulumi.get(self, "cluster_pool_profile") + + @cluster_pool_profile.setter + def cluster_pool_profile(self, value: Optional[pulumi.Input['ClusterPoolResourcePropertiesClusterPoolProfileArgs']]): + pulumi.set(self, "cluster_pool_profile", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="logAnalyticsProfile") + def log_analytics_profile(self) -> Optional[pulumi.Input['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs']]: + """ + Cluster pool log analytics profile to enable OMS agent for AKS cluster. + """ + return pulumi.get(self, "log_analytics_profile") + + @log_analytics_profile.setter + def log_analytics_profile(self, value: Optional[pulumi.Input['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs']]): + pulumi.set(self, "log_analytics_profile", value) + + @property + @pulumi.getter(name="managedResourceGroupName") + def managed_resource_group_name(self) -> Optional[pulumi.Input[str]]: + """ + A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + """ + return pulumi.get(self, "managed_resource_group_name") + + @managed_resource_group_name.setter + def managed_resource_group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "managed_resource_group_name", value) + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional[pulumi.Input['ClusterPoolResourcePropertiesNetworkProfileArgs']]: + """ + Cluster pool network profile. + """ + return pulumi.get(self, "network_profile") + + @network_profile.setter + def network_profile(self, value: Optional[pulumi.Input['ClusterPoolResourcePropertiesNetworkProfileArgs']]): + pulumi.set(self, "network_profile", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class ClusterPool(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_pool_name: Optional[pulumi.Input[str]] = None, + cluster_pool_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesClusterPoolProfileArgs']]] = None, + compute_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesComputeProfileArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + log_analytics_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs']]] = None, + managed_resource_group_name: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesNetworkProfileArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Cluster pool. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cluster_pool_name: The name of the cluster pool. + :param pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesClusterPoolProfileArgs']] cluster_pool_profile: CLuster pool profile. + :param pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesComputeProfileArgs']] compute_profile: CLuster pool compute profile. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs']] log_analytics_profile: Cluster pool log analytics profile to enable OMS agent for AKS cluster. + :param pulumi.Input[str] managed_resource_group_name: A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + :param pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesNetworkProfileArgs']] network_profile: Cluster pool network profile. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ClusterPoolArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Cluster pool. + + :param str resource_name: The name of the resource. + :param ClusterPoolArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ClusterPoolArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_pool_name: Optional[pulumi.Input[str]] = None, + cluster_pool_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesClusterPoolProfileArgs']]] = None, + compute_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesComputeProfileArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + log_analytics_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesLogAnalyticsProfileArgs']]] = None, + managed_resource_group_name: Optional[pulumi.Input[str]] = None, + network_profile: Optional[pulumi.Input[pulumi.InputType['ClusterPoolResourcePropertiesNetworkProfileArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ClusterPoolArgs.__new__(ClusterPoolArgs) + + __props__.__dict__["cluster_pool_name"] = cluster_pool_name + __props__.__dict__["cluster_pool_profile"] = cluster_pool_profile + if compute_profile is None and not opts.urn: + raise TypeError("Missing required property 'compute_profile'") + __props__.__dict__["compute_profile"] = compute_profile + __props__.__dict__["location"] = location + __props__.__dict__["log_analytics_profile"] = log_analytics_profile + __props__.__dict__["managed_resource_group_name"] = managed_resource_group_name + __props__.__dict__["network_profile"] = network_profile + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["tags"] = tags + __props__.__dict__["aks_cluster_profile"] = None + __props__.__dict__["aks_managed_resource_group_name"] = None + __props__.__dict__["deployment_id"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hdinsight:ClusterPool")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(ClusterPool, __self__).__init__( + 'azure-native:hdinsight/v20230601preview:ClusterPool', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ClusterPool': + """ + Get an existing ClusterPool resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ClusterPoolArgs.__new__(ClusterPoolArgs) + + __props__.__dict__["aks_cluster_profile"] = None + __props__.__dict__["aks_managed_resource_group_name"] = None + __props__.__dict__["cluster_pool_profile"] = None + __props__.__dict__["compute_profile"] = None + __props__.__dict__["deployment_id"] = None + __props__.__dict__["location"] = None + __props__.__dict__["log_analytics_profile"] = None + __props__.__dict__["managed_resource_group_name"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_profile"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return ClusterPool(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="aksClusterProfile") + def aks_cluster_profile(self) -> pulumi.Output['outputs.ClusterPoolResourcePropertiesResponseAksClusterProfile']: + """ + Properties of underlying AKS cluster. + """ + return pulumi.get(self, "aks_cluster_profile") + + @property + @pulumi.getter(name="aksManagedResourceGroupName") + def aks_managed_resource_group_name(self) -> pulumi.Output[str]: + """ + A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region} + """ + return pulumi.get(self, "aks_managed_resource_group_name") + + @property + @pulumi.getter(name="clusterPoolProfile") + def cluster_pool_profile(self) -> pulumi.Output[Optional['outputs.ClusterPoolResourcePropertiesResponseClusterPoolProfile']]: + """ + CLuster pool profile. + """ + return pulumi.get(self, "cluster_pool_profile") + + @property + @pulumi.getter(name="computeProfile") + def compute_profile(self) -> pulumi.Output['outputs.ClusterPoolResourcePropertiesResponseComputeProfile']: + """ + CLuster pool compute profile. + """ + return pulumi.get(self, "compute_profile") + + @property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> pulumi.Output[str]: + """ + A unique id generated by the RP to identify the resource. + """ + return pulumi.get(self, "deployment_id") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="logAnalyticsProfile") + def log_analytics_profile(self) -> pulumi.Output[Optional['outputs.ClusterPoolResourcePropertiesResponseLogAnalyticsProfile']]: + """ + Cluster pool log analytics profile to enable OMS agent for AKS cluster. + """ + return pulumi.get(self, "log_analytics_profile") + + @property + @pulumi.getter(name="managedResourceGroupName") + def managed_resource_group_name(self) -> pulumi.Output[Optional[str]]: + """ + A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + """ + return pulumi.get(self, "managed_resource_group_name") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> pulumi.Output[Optional['outputs.ClusterPoolResourcePropertiesResponseNetworkProfile']]: + """ + Cluster pool network profile. + """ + return pulumi.get(self, "network_profile") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + Provisioning state of the resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + Business status of the resource. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/get_cluster.py b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/get_cluster.py new file mode 100644 index 000000000000..0b9b323b2472 --- /dev/null +++ b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/get_cluster.py @@ -0,0 +1,227 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetClusterResult', + 'AwaitableGetClusterResult', + 'get_cluster', + 'get_cluster_output', +] + +@pulumi.output_type +class GetClusterResult: + """ + The cluster. + """ + def __init__(__self__, cluster_profile=None, cluster_type=None, compute_profile=None, deployment_id=None, id=None, location=None, name=None, provisioning_state=None, status=None, system_data=None, tags=None, type=None): + if cluster_profile and not isinstance(cluster_profile, dict): + raise TypeError("Expected argument 'cluster_profile' to be a dict") + pulumi.set(__self__, "cluster_profile", cluster_profile) + if cluster_type and not isinstance(cluster_type, str): + raise TypeError("Expected argument 'cluster_type' to be a str") + pulumi.set(__self__, "cluster_type", cluster_type) + if compute_profile and not isinstance(compute_profile, dict): + raise TypeError("Expected argument 'compute_profile' to be a dict") + pulumi.set(__self__, "compute_profile", compute_profile) + if deployment_id and not isinstance(deployment_id, str): + raise TypeError("Expected argument 'deployment_id' to be a str") + pulumi.set(__self__, "deployment_id", deployment_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="clusterProfile") + def cluster_profile(self) -> 'outputs.ClusterProfileResponse': + """ + Cluster profile. + """ + return pulumi.get(self, "cluster_profile") + + @property + @pulumi.getter(name="clusterType") + def cluster_type(self) -> str: + """ + The type of cluster. + """ + return pulumi.get(self, "cluster_type") + + @property + @pulumi.getter(name="computeProfile") + def compute_profile(self) -> 'outputs.ComputeProfileResponse': + """ + The compute profile. + """ + return pulumi.get(self, "compute_profile") + + @property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> str: + """ + A unique id generated by the RP to identify the resource. + """ + return pulumi.get(self, "deployment_id") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + Provisioning state of the resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def status(self) -> str: + """ + Business status of the resource. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetClusterResult(GetClusterResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetClusterResult( + cluster_profile=self.cluster_profile, + cluster_type=self.cluster_type, + compute_profile=self.compute_profile, + deployment_id=self.deployment_id, + id=self.id, + location=self.location, + name=self.name, + provisioning_state=self.provisioning_state, + status=self.status, + system_data=self.system_data, + tags=self.tags, + type=self.type) + + +def get_cluster(cluster_name: Optional[str] = None, + cluster_pool_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClusterResult: + """ + Gets a HDInsight cluster. + + + :param str cluster_name: The name of the HDInsight cluster. + :param str cluster_pool_name: The name of the cluster pool. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['clusterName'] = cluster_name + __args__['clusterPoolName'] = cluster_pool_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:hdinsight/v20230601preview:getCluster', __args__, opts=opts, typ=GetClusterResult).value + + return AwaitableGetClusterResult( + cluster_profile=__ret__.cluster_profile, + cluster_type=__ret__.cluster_type, + compute_profile=__ret__.compute_profile, + deployment_id=__ret__.deployment_id, + id=__ret__.id, + location=__ret__.location, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + status=__ret__.status, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type) + + +@_utilities.lift_output_func(get_cluster) +def get_cluster_output(cluster_name: Optional[pulumi.Input[str]] = None, + cluster_pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: + """ + Gets a HDInsight cluster. + + + :param str cluster_name: The name of the HDInsight cluster. + :param str cluster_pool_name: The name of the cluster pool. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/get_cluster_pool.py b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/get_cluster_pool.py new file mode 100644 index 000000000000..6921a14b939f --- /dev/null +++ b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/get_cluster_pool.py @@ -0,0 +1,274 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetClusterPoolResult', + 'AwaitableGetClusterPoolResult', + 'get_cluster_pool', + 'get_cluster_pool_output', +] + +@pulumi.output_type +class GetClusterPoolResult: + """ + Cluster pool. + """ + def __init__(__self__, aks_cluster_profile=None, aks_managed_resource_group_name=None, cluster_pool_profile=None, compute_profile=None, deployment_id=None, id=None, location=None, log_analytics_profile=None, managed_resource_group_name=None, name=None, network_profile=None, provisioning_state=None, status=None, system_data=None, tags=None, type=None): + if aks_cluster_profile and not isinstance(aks_cluster_profile, dict): + raise TypeError("Expected argument 'aks_cluster_profile' to be a dict") + pulumi.set(__self__, "aks_cluster_profile", aks_cluster_profile) + if aks_managed_resource_group_name and not isinstance(aks_managed_resource_group_name, str): + raise TypeError("Expected argument 'aks_managed_resource_group_name' to be a str") + pulumi.set(__self__, "aks_managed_resource_group_name", aks_managed_resource_group_name) + if cluster_pool_profile and not isinstance(cluster_pool_profile, dict): + raise TypeError("Expected argument 'cluster_pool_profile' to be a dict") + pulumi.set(__self__, "cluster_pool_profile", cluster_pool_profile) + if compute_profile and not isinstance(compute_profile, dict): + raise TypeError("Expected argument 'compute_profile' to be a dict") + pulumi.set(__self__, "compute_profile", compute_profile) + if deployment_id and not isinstance(deployment_id, str): + raise TypeError("Expected argument 'deployment_id' to be a str") + pulumi.set(__self__, "deployment_id", deployment_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if log_analytics_profile and not isinstance(log_analytics_profile, dict): + raise TypeError("Expected argument 'log_analytics_profile' to be a dict") + pulumi.set(__self__, "log_analytics_profile", log_analytics_profile) + if managed_resource_group_name and not isinstance(managed_resource_group_name, str): + raise TypeError("Expected argument 'managed_resource_group_name' to be a str") + pulumi.set(__self__, "managed_resource_group_name", managed_resource_group_name) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if network_profile and not isinstance(network_profile, dict): + raise TypeError("Expected argument 'network_profile' to be a dict") + pulumi.set(__self__, "network_profile", network_profile) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="aksClusterProfile") + def aks_cluster_profile(self) -> 'outputs.ClusterPoolResourcePropertiesResponseAksClusterProfile': + """ + Properties of underlying AKS cluster. + """ + return pulumi.get(self, "aks_cluster_profile") + + @property + @pulumi.getter(name="aksManagedResourceGroupName") + def aks_managed_resource_group_name(self) -> str: + """ + A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region} + """ + return pulumi.get(self, "aks_managed_resource_group_name") + + @property + @pulumi.getter(name="clusterPoolProfile") + def cluster_pool_profile(self) -> Optional['outputs.ClusterPoolResourcePropertiesResponseClusterPoolProfile']: + """ + CLuster pool profile. + """ + return pulumi.get(self, "cluster_pool_profile") + + @property + @pulumi.getter(name="computeProfile") + def compute_profile(self) -> 'outputs.ClusterPoolResourcePropertiesResponseComputeProfile': + """ + CLuster pool compute profile. + """ + return pulumi.get(self, "compute_profile") + + @property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> str: + """ + A unique id generated by the RP to identify the resource. + """ + return pulumi.get(self, "deployment_id") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="logAnalyticsProfile") + def log_analytics_profile(self) -> Optional['outputs.ClusterPoolResourcePropertiesResponseLogAnalyticsProfile']: + """ + Cluster pool log analytics profile to enable OMS agent for AKS cluster. + """ + return pulumi.get(self, "log_analytics_profile") + + @property + @pulumi.getter(name="managedResourceGroupName") + def managed_resource_group_name(self) -> Optional[str]: + """ + A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name restriction. + """ + return pulumi.get(self, "managed_resource_group_name") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkProfile") + def network_profile(self) -> Optional['outputs.ClusterPoolResourcePropertiesResponseNetworkProfile']: + """ + Cluster pool network profile. + """ + return pulumi.get(self, "network_profile") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + Provisioning state of the resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def status(self) -> str: + """ + Business status of the resource. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetClusterPoolResult(GetClusterPoolResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetClusterPoolResult( + aks_cluster_profile=self.aks_cluster_profile, + aks_managed_resource_group_name=self.aks_managed_resource_group_name, + cluster_pool_profile=self.cluster_pool_profile, + compute_profile=self.compute_profile, + deployment_id=self.deployment_id, + id=self.id, + location=self.location, + log_analytics_profile=self.log_analytics_profile, + managed_resource_group_name=self.managed_resource_group_name, + name=self.name, + network_profile=self.network_profile, + provisioning_state=self.provisioning_state, + status=self.status, + system_data=self.system_data, + tags=self.tags, + type=self.type) + + +def get_cluster_pool(cluster_pool_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClusterPoolResult: + """ + Gets a cluster pool. + + + :param str cluster_pool_name: The name of the cluster pool. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['clusterPoolName'] = cluster_pool_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:hdinsight/v20230601preview:getClusterPool', __args__, opts=opts, typ=GetClusterPoolResult).value + + return AwaitableGetClusterPoolResult( + aks_cluster_profile=__ret__.aks_cluster_profile, + aks_managed_resource_group_name=__ret__.aks_managed_resource_group_name, + cluster_pool_profile=__ret__.cluster_pool_profile, + compute_profile=__ret__.compute_profile, + deployment_id=__ret__.deployment_id, + id=__ret__.id, + location=__ret__.location, + log_analytics_profile=__ret__.log_analytics_profile, + managed_resource_group_name=__ret__.managed_resource_group_name, + name=__ret__.name, + network_profile=__ret__.network_profile, + provisioning_state=__ret__.provisioning_state, + status=__ret__.status, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type) + + +@_utilities.lift_output_func(get_cluster_pool) +def get_cluster_pool_output(cluster_pool_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterPoolResult]: + """ + Gets a cluster pool. + + + :param str cluster_pool_name: The name of the cluster pool. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/outputs.py b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/outputs.py new file mode 100644 index 000000000000..e300f311f7a8 --- /dev/null +++ b/sdk/python/pulumi_azure_native/hdinsight/v20230601preview/outputs.py @@ -0,0 +1,3125 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'AksClusterProfileResponseAksClusterAgentPoolIdentityProfile', + 'AuthorizationProfileResponse', + 'AutoscaleProfileResponse', + 'CatalogOptionsResponse', + 'ClusterConfigFileResponse', + 'ClusterLogAnalyticsApplicationLogsResponse', + 'ClusterLogAnalyticsProfileResponse', + 'ClusterPoolResourcePropertiesResponseAksClusterProfile', + 'ClusterPoolResourcePropertiesResponseClusterPoolProfile', + 'ClusterPoolResourcePropertiesResponseComputeProfile', + 'ClusterPoolResourcePropertiesResponseLogAnalyticsProfile', + 'ClusterPoolResourcePropertiesResponseNetworkProfile', + 'ClusterProfileResponse', + 'ClusterProfileResponseComponents', + 'ClusterPrometheusProfileResponse', + 'ClusterServiceConfigResponse', + 'ClusterServiceConfigsProfileResponse', + 'ComparisonRuleResponse', + 'ComputeProfileResponse', + 'ComputeResourceDefinitionResponse', + 'ConnectivityProfileResponse', + 'ConnectivityProfileResponseWeb', + 'FlinkCatalogOptionsResponse', + 'FlinkHiveCatalogOptionResponse', + 'FlinkProfileResponse', + 'FlinkStorageProfileResponse', + 'HiveCatalogOptionResponse', + 'IdentityProfileResponse', + 'LoadBasedConfigResponse', + 'NodeProfileResponse', + 'ScalingRuleResponse', + 'ScheduleBasedConfigResponse', + 'ScheduleResponse', + 'ScriptActionProfileResponse', + 'SecretReferenceResponse', + 'SecretsProfileResponse', + 'SparkMetastoreSpecResponse', + 'SparkProfileResponse', + 'SparkUserPluginResponse', + 'SparkUserPluginsResponse', + 'SshConnectivityEndpointResponse', + 'SshProfileResponse', + 'SystemDataResponse', + 'TrinoCoordinatorResponse', + 'TrinoProfileResponse', + 'TrinoTelemetryConfigResponse', + 'TrinoUserPluginResponse', + 'TrinoUserPluginsResponse', + 'TrinoUserTelemetryResponse', + 'TrinoWorkerResponse', +] + +@pulumi.output_type +class AksClusterProfileResponseAksClusterAgentPoolIdentityProfile(dict): + """ + Identity properties of the AKS cluster agentpool MSI + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "msiClientId": + suggest = "msi_client_id" + elif key == "msiObjectId": + suggest = "msi_object_id" + elif key == "msiResourceId": + suggest = "msi_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AksClusterProfileResponseAksClusterAgentPoolIdentityProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AksClusterProfileResponseAksClusterAgentPoolIdentityProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AksClusterProfileResponseAksClusterAgentPoolIdentityProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + msi_client_id: str, + msi_object_id: str, + msi_resource_id: str): + """ + Identity properties of the AKS cluster agentpool MSI + :param str msi_client_id: ClientId of the MSI. + :param str msi_object_id: ObjectId of the MSI. + :param str msi_resource_id: ResourceId of the MSI. + """ + pulumi.set(__self__, "msi_client_id", msi_client_id) + pulumi.set(__self__, "msi_object_id", msi_object_id) + pulumi.set(__self__, "msi_resource_id", msi_resource_id) + + @property + @pulumi.getter(name="msiClientId") + def msi_client_id(self) -> str: + """ + ClientId of the MSI. + """ + return pulumi.get(self, "msi_client_id") + + @property + @pulumi.getter(name="msiObjectId") + def msi_object_id(self) -> str: + """ + ObjectId of the MSI. + """ + return pulumi.get(self, "msi_object_id") + + @property + @pulumi.getter(name="msiResourceId") + def msi_resource_id(self) -> str: + """ + ResourceId of the MSI. + """ + return pulumi.get(self, "msi_resource_id") + + +@pulumi.output_type +class AuthorizationProfileResponse(dict): + """ + Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "groupIds": + suggest = "group_ids" + elif key == "userIds": + suggest = "user_ids" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AuthorizationProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AuthorizationProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AuthorizationProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + group_ids: Optional[Sequence[str]] = None, + user_ids: Optional[Sequence[str]] = None): + """ + Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + :param Sequence[str] group_ids: AAD group Ids authorized for data plane access. + :param Sequence[str] user_ids: AAD user Ids authorized for data plane access. + """ + if group_ids is not None: + pulumi.set(__self__, "group_ids", group_ids) + if user_ids is not None: + pulumi.set(__self__, "user_ids", user_ids) + + @property + @pulumi.getter(name="groupIds") + def group_ids(self) -> Optional[Sequence[str]]: + """ + AAD group Ids authorized for data plane access. + """ + return pulumi.get(self, "group_ids") + + @property + @pulumi.getter(name="userIds") + def user_ids(self) -> Optional[Sequence[str]]: + """ + AAD user Ids authorized for data plane access. + """ + return pulumi.get(self, "user_ids") + + +@pulumi.output_type +class AutoscaleProfileResponse(dict): + """ + This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoscaleType": + suggest = "autoscale_type" + elif key == "gracefulDecommissionTimeout": + suggest = "graceful_decommission_timeout" + elif key == "loadBasedConfig": + suggest = "load_based_config" + elif key == "scheduleBasedConfig": + suggest = "schedule_based_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AutoscaleProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AutoscaleProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AutoscaleProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: bool, + autoscale_type: Optional[str] = None, + graceful_decommission_timeout: Optional[int] = None, + load_based_config: Optional['outputs.LoadBasedConfigResponse'] = None, + schedule_based_config: Optional['outputs.ScheduleBasedConfigResponse'] = None): + """ + This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + :param bool enabled: This indicates whether auto scale is enabled on HDInsight on AKS cluster. + :param str autoscale_type: User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based. + :param int graceful_decommission_timeout: This property is for graceful decommission timeout; It has a default setting of 3600 seconds before forced shutdown takes place. This is the maximal time to wait for running containers and applications to complete before transition a DECOMMISSIONING node into DECOMMISSIONED. The default value is 3600 seconds. Negative value (like -1) is handled as infinite timeout. + :param 'LoadBasedConfigResponse' load_based_config: Profiles of load based Autoscale. + :param 'ScheduleBasedConfigResponse' schedule_based_config: Profiles of schedule based Autoscale. + """ + pulumi.set(__self__, "enabled", enabled) + if autoscale_type is not None: + pulumi.set(__self__, "autoscale_type", autoscale_type) + if graceful_decommission_timeout is not None: + pulumi.set(__self__, "graceful_decommission_timeout", graceful_decommission_timeout) + if load_based_config is not None: + pulumi.set(__self__, "load_based_config", load_based_config) + if schedule_based_config is not None: + pulumi.set(__self__, "schedule_based_config", schedule_based_config) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + This indicates whether auto scale is enabled on HDInsight on AKS cluster. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="autoscaleType") + def autoscale_type(self) -> Optional[str]: + """ + User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based. + """ + return pulumi.get(self, "autoscale_type") + + @property + @pulumi.getter(name="gracefulDecommissionTimeout") + def graceful_decommission_timeout(self) -> Optional[int]: + """ + This property is for graceful decommission timeout; It has a default setting of 3600 seconds before forced shutdown takes place. This is the maximal time to wait for running containers and applications to complete before transition a DECOMMISSIONING node into DECOMMISSIONED. The default value is 3600 seconds. Negative value (like -1) is handled as infinite timeout. + """ + return pulumi.get(self, "graceful_decommission_timeout") + + @property + @pulumi.getter(name="loadBasedConfig") + def load_based_config(self) -> Optional['outputs.LoadBasedConfigResponse']: + """ + Profiles of load based Autoscale. + """ + return pulumi.get(self, "load_based_config") + + @property + @pulumi.getter(name="scheduleBasedConfig") + def schedule_based_config(self) -> Optional['outputs.ScheduleBasedConfigResponse']: + """ + Profiles of schedule based Autoscale. + """ + return pulumi.get(self, "schedule_based_config") + + +@pulumi.output_type +class CatalogOptionsResponse(dict): + """ + Trino cluster catalog options. + """ + def __init__(__self__, *, + hive: Optional[Sequence['outputs.HiveCatalogOptionResponse']] = None): + """ + Trino cluster catalog options. + :param Sequence['HiveCatalogOptionResponse'] hive: hive catalog options. + """ + if hive is not None: + pulumi.set(__self__, "hive", hive) + + @property + @pulumi.getter + def hive(self) -> Optional[Sequence['outputs.HiveCatalogOptionResponse']]: + """ + hive catalog options. + """ + return pulumi.get(self, "hive") + + +@pulumi.output_type +class ClusterConfigFileResponse(dict): + """ + Cluster configuration files. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fileName": + suggest = "file_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterConfigFileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterConfigFileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterConfigFileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + file_name: str, + content: Optional[str] = None, + encoding: Optional[str] = None, + path: Optional[str] = None, + values: Optional[Mapping[str, str]] = None): + """ + Cluster configuration files. + :param str file_name: Configuration file name. + :param str content: Free form content of the entire configuration file. + :param str encoding: This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content is base64 encoded. Set it to none or skip it if the content is plain text. + :param str path: Path of the config file if content is specified. + :param Mapping[str, str] values: List of key value pairs + where key represents a valid service configuration name and value represents the value of the config. + """ + pulumi.set(__self__, "file_name", file_name) + if content is not None: + pulumi.set(__self__, "content", content) + if encoding is not None: + pulumi.set(__self__, "encoding", encoding) + if path is not None: + pulumi.set(__self__, "path", path) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="fileName") + def file_name(self) -> str: + """ + Configuration file name. + """ + return pulumi.get(self, "file_name") + + @property + @pulumi.getter + def content(self) -> Optional[str]: + """ + Free form content of the entire configuration file. + """ + return pulumi.get(self, "content") + + @property + @pulumi.getter + def encoding(self) -> Optional[str]: + """ + This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content is base64 encoded. Set it to none or skip it if the content is plain text. + """ + return pulumi.get(self, "encoding") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + Path of the config file if content is specified. + """ + return pulumi.get(self, "path") + + @property + @pulumi.getter + def values(self) -> Optional[Mapping[str, str]]: + """ + List of key value pairs + where key represents a valid service configuration name and value represents the value of the config. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class ClusterLogAnalyticsApplicationLogsResponse(dict): + """ + Collection of logs to be enabled or disabled for log analytics. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "stdErrorEnabled": + suggest = "std_error_enabled" + elif key == "stdOutEnabled": + suggest = "std_out_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterLogAnalyticsApplicationLogsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterLogAnalyticsApplicationLogsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterLogAnalyticsApplicationLogsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + std_error_enabled: Optional[bool] = None, + std_out_enabled: Optional[bool] = None): + """ + Collection of logs to be enabled or disabled for log analytics. + :param bool std_error_enabled: True if stderror is enabled, otherwise false. + :param bool std_out_enabled: True if stdout is enabled, otherwise false. + """ + if std_error_enabled is not None: + pulumi.set(__self__, "std_error_enabled", std_error_enabled) + if std_out_enabled is not None: + pulumi.set(__self__, "std_out_enabled", std_out_enabled) + + @property + @pulumi.getter(name="stdErrorEnabled") + def std_error_enabled(self) -> Optional[bool]: + """ + True if stderror is enabled, otherwise false. + """ + return pulumi.get(self, "std_error_enabled") + + @property + @pulumi.getter(name="stdOutEnabled") + def std_out_enabled(self) -> Optional[bool]: + """ + True if stdout is enabled, otherwise false. + """ + return pulumi.get(self, "std_out_enabled") + + +@pulumi.output_type +class ClusterLogAnalyticsProfileResponse(dict): + """ + Cluster log analytics profile to enable or disable OMS agent for cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "applicationLogs": + suggest = "application_logs" + elif key == "metricsEnabled": + suggest = "metrics_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterLogAnalyticsProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterLogAnalyticsProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterLogAnalyticsProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: bool, + application_logs: Optional['outputs.ClusterLogAnalyticsApplicationLogsResponse'] = None, + metrics_enabled: Optional[bool] = None): + """ + Cluster log analytics profile to enable or disable OMS agent for cluster. + :param bool enabled: True if log analytics is enabled for the cluster, otherwise false. + :param 'ClusterLogAnalyticsApplicationLogsResponse' application_logs: Collection of logs to be enabled or disabled for log analytics. + :param bool metrics_enabled: True if metrics are enabled, otherwise false. + """ + pulumi.set(__self__, "enabled", enabled) + if application_logs is not None: + pulumi.set(__self__, "application_logs", application_logs) + if metrics_enabled is not None: + pulumi.set(__self__, "metrics_enabled", metrics_enabled) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + True if log analytics is enabled for the cluster, otherwise false. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="applicationLogs") + def application_logs(self) -> Optional['outputs.ClusterLogAnalyticsApplicationLogsResponse']: + """ + Collection of logs to be enabled or disabled for log analytics. + """ + return pulumi.get(self, "application_logs") + + @property + @pulumi.getter(name="metricsEnabled") + def metrics_enabled(self) -> Optional[bool]: + """ + True if metrics are enabled, otherwise false. + """ + return pulumi.get(self, "metrics_enabled") + + +@pulumi.output_type +class ClusterPoolResourcePropertiesResponseAksClusterProfile(dict): + """ + Properties of underlying AKS cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "aksVersion": + suggest = "aks_version" + elif key == "aksClusterAgentPoolIdentityProfile": + suggest = "aks_cluster_agent_pool_identity_profile" + elif key == "aksClusterResourceId": + suggest = "aks_cluster_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterPoolResourcePropertiesResponseAksClusterProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterPoolResourcePropertiesResponseAksClusterProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterPoolResourcePropertiesResponseAksClusterProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aks_version: str, + aks_cluster_agent_pool_identity_profile: Optional['outputs.AksClusterProfileResponseAksClusterAgentPoolIdentityProfile'] = None, + aks_cluster_resource_id: Optional[str] = None): + """ + Properties of underlying AKS cluster. + :param str aks_version: AKS control plane and default node pool version of this ClusterPool + :param 'AksClusterProfileResponseAksClusterAgentPoolIdentityProfile' aks_cluster_agent_pool_identity_profile: Identity properties of the AKS cluster agentpool MSI + :param str aks_cluster_resource_id: ARM Resource ID of the AKS cluster + """ + pulumi.set(__self__, "aks_version", aks_version) + if aks_cluster_agent_pool_identity_profile is not None: + pulumi.set(__self__, "aks_cluster_agent_pool_identity_profile", aks_cluster_agent_pool_identity_profile) + if aks_cluster_resource_id is not None: + pulumi.set(__self__, "aks_cluster_resource_id", aks_cluster_resource_id) + + @property + @pulumi.getter(name="aksVersion") + def aks_version(self) -> str: + """ + AKS control plane and default node pool version of this ClusterPool + """ + return pulumi.get(self, "aks_version") + + @property + @pulumi.getter(name="aksClusterAgentPoolIdentityProfile") + def aks_cluster_agent_pool_identity_profile(self) -> Optional['outputs.AksClusterProfileResponseAksClusterAgentPoolIdentityProfile']: + """ + Identity properties of the AKS cluster agentpool MSI + """ + return pulumi.get(self, "aks_cluster_agent_pool_identity_profile") + + @property + @pulumi.getter(name="aksClusterResourceId") + def aks_cluster_resource_id(self) -> Optional[str]: + """ + ARM Resource ID of the AKS cluster + """ + return pulumi.get(self, "aks_cluster_resource_id") + + +@pulumi.output_type +class ClusterPoolResourcePropertiesResponseClusterPoolProfile(dict): + """ + CLuster pool profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clusterPoolVersion": + suggest = "cluster_pool_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterPoolResourcePropertiesResponseClusterPoolProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterPoolResourcePropertiesResponseClusterPoolProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterPoolResourcePropertiesResponseClusterPoolProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cluster_pool_version: str): + """ + CLuster pool profile. + :param str cluster_pool_version: Cluster pool version is a 2-part version. + """ + pulumi.set(__self__, "cluster_pool_version", cluster_pool_version) + + @property + @pulumi.getter(name="clusterPoolVersion") + def cluster_pool_version(self) -> str: + """ + Cluster pool version is a 2-part version. + """ + return pulumi.get(self, "cluster_pool_version") + + +@pulumi.output_type +class ClusterPoolResourcePropertiesResponseComputeProfile(dict): + """ + CLuster pool compute profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "vmSize": + suggest = "vm_size" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterPoolResourcePropertiesResponseComputeProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterPoolResourcePropertiesResponseComputeProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterPoolResourcePropertiesResponseComputeProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: int, + vm_size: str): + """ + CLuster pool compute profile. + :param int count: The number of virtual machines. + :param str vm_size: The virtual machine SKU. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "vm_size", vm_size) + + @property + @pulumi.getter + def count(self) -> int: + """ + The number of virtual machines. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> str: + """ + The virtual machine SKU. + """ + return pulumi.get(self, "vm_size") + + +@pulumi.output_type +class ClusterPoolResourcePropertiesResponseLogAnalyticsProfile(dict): + """ + Cluster pool log analytics profile to enable OMS agent for AKS cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "workspaceId": + suggest = "workspace_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterPoolResourcePropertiesResponseLogAnalyticsProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterPoolResourcePropertiesResponseLogAnalyticsProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterPoolResourcePropertiesResponseLogAnalyticsProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: bool, + workspace_id: Optional[str] = None): + """ + Cluster pool log analytics profile to enable OMS agent for AKS cluster. + :param bool enabled: True if log analytics is enabled for cluster pool, otherwise false. + :param str workspace_id: Log analytics workspace to associate with the OMS agent. + """ + pulumi.set(__self__, "enabled", enabled) + if workspace_id is not None: + pulumi.set(__self__, "workspace_id", workspace_id) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + True if log analytics is enabled for cluster pool, otherwise false. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> Optional[str]: + """ + Log analytics workspace to associate with the OMS agent. + """ + return pulumi.get(self, "workspace_id") + + +@pulumi.output_type +class ClusterPoolResourcePropertiesResponseNetworkProfile(dict): + """ + Cluster pool network profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "subnetId": + suggest = "subnet_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterPoolResourcePropertiesResponseNetworkProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterPoolResourcePropertiesResponseNetworkProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterPoolResourcePropertiesResponseNetworkProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + subnet_id: str): + """ + Cluster pool network profile. + :param str subnet_id: Cluster pool subnet resource id. + """ + pulumi.set(__self__, "subnet_id", subnet_id) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> str: + """ + Cluster pool subnet resource id. + """ + return pulumi.get(self, "subnet_id") + + +@pulumi.output_type +class ClusterProfileResponse(dict): + """ + Cluster profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authorizationProfile": + suggest = "authorization_profile" + elif key == "clusterVersion": + suggest = "cluster_version" + elif key == "connectivityProfile": + suggest = "connectivity_profile" + elif key == "identityProfile": + suggest = "identity_profile" + elif key == "ossVersion": + suggest = "oss_version" + elif key == "autoscaleProfile": + suggest = "autoscale_profile" + elif key == "flinkProfile": + suggest = "flink_profile" + elif key == "kafkaProfile": + suggest = "kafka_profile" + elif key == "llapProfile": + suggest = "llap_profile" + elif key == "logAnalyticsProfile": + suggest = "log_analytics_profile" + elif key == "prometheusProfile": + suggest = "prometheus_profile" + elif key == "scriptActionProfiles": + suggest = "script_action_profiles" + elif key == "secretsProfile": + suggest = "secrets_profile" + elif key == "serviceConfigsProfiles": + suggest = "service_configs_profiles" + elif key == "sparkProfile": + suggest = "spark_profile" + elif key == "sshProfile": + suggest = "ssh_profile" + elif key == "stubProfile": + suggest = "stub_profile" + elif key == "trinoProfile": + suggest = "trino_profile" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + authorization_profile: 'outputs.AuthorizationProfileResponse', + cluster_version: str, + components: Sequence['outputs.ClusterProfileResponseComponents'], + connectivity_profile: 'outputs.ConnectivityProfileResponse', + identity_profile: 'outputs.IdentityProfileResponse', + oss_version: str, + autoscale_profile: Optional['outputs.AutoscaleProfileResponse'] = None, + flink_profile: Optional['outputs.FlinkProfileResponse'] = None, + kafka_profile: Optional[Any] = None, + llap_profile: Optional[Any] = None, + log_analytics_profile: Optional['outputs.ClusterLogAnalyticsProfileResponse'] = None, + prometheus_profile: Optional['outputs.ClusterPrometheusProfileResponse'] = None, + script_action_profiles: Optional[Sequence['outputs.ScriptActionProfileResponse']] = None, + secrets_profile: Optional['outputs.SecretsProfileResponse'] = None, + service_configs_profiles: Optional[Sequence['outputs.ClusterServiceConfigsProfileResponse']] = None, + spark_profile: Optional['outputs.SparkProfileResponse'] = None, + ssh_profile: Optional['outputs.SshProfileResponse'] = None, + stub_profile: Optional[Any] = None, + trino_profile: Optional['outputs.TrinoProfileResponse'] = None): + """ + Cluster profile. + :param 'AuthorizationProfileResponse' authorization_profile: Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + :param str cluster_version: Version with 3/4 part. + :param Sequence['ClusterProfileResponseComponents'] components: Component list of this cluster type and version. + :param 'ConnectivityProfileResponse' connectivity_profile: Cluster connectivity profile. + :param 'IdentityProfileResponse' identity_profile: Identity Profile with details of an MSI. + :param str oss_version: Version with three part. + :param 'AutoscaleProfileResponse' autoscale_profile: This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + :param 'FlinkProfileResponse' flink_profile: The Flink cluster profile. + :param Any kafka_profile: Kafka cluster profile. + :param Any llap_profile: LLAP cluster profile. + :param 'ClusterLogAnalyticsProfileResponse' log_analytics_profile: Cluster log analytics profile to enable or disable OMS agent for cluster. + :param 'ClusterPrometheusProfileResponse' prometheus_profile: Cluster Prometheus profile. + :param Sequence['ScriptActionProfileResponse'] script_action_profiles: The script action profile list. + :param 'SecretsProfileResponse' secrets_profile: The cluster secret profile. + :param Sequence['ClusterServiceConfigsProfileResponse'] service_configs_profiles: The service configs profiles. + :param 'SparkProfileResponse' spark_profile: The spark cluster profile. + :param 'SshProfileResponse' ssh_profile: Ssh profile for the cluster. + :param Any stub_profile: Stub cluster profile. + :param 'TrinoProfileResponse' trino_profile: Trino Cluster profile. + """ + pulumi.set(__self__, "authorization_profile", authorization_profile) + pulumi.set(__self__, "cluster_version", cluster_version) + pulumi.set(__self__, "components", components) + pulumi.set(__self__, "connectivity_profile", connectivity_profile) + pulumi.set(__self__, "identity_profile", identity_profile) + pulumi.set(__self__, "oss_version", oss_version) + if autoscale_profile is not None: + pulumi.set(__self__, "autoscale_profile", autoscale_profile) + if flink_profile is not None: + pulumi.set(__self__, "flink_profile", flink_profile) + if kafka_profile is not None: + pulumi.set(__self__, "kafka_profile", kafka_profile) + if llap_profile is not None: + pulumi.set(__self__, "llap_profile", llap_profile) + if log_analytics_profile is not None: + pulumi.set(__self__, "log_analytics_profile", log_analytics_profile) + if prometheus_profile is not None: + pulumi.set(__self__, "prometheus_profile", prometheus_profile) + if script_action_profiles is not None: + pulumi.set(__self__, "script_action_profiles", script_action_profiles) + if secrets_profile is not None: + pulumi.set(__self__, "secrets_profile", secrets_profile) + if service_configs_profiles is not None: + pulumi.set(__self__, "service_configs_profiles", service_configs_profiles) + if spark_profile is not None: + pulumi.set(__self__, "spark_profile", spark_profile) + if ssh_profile is not None: + pulumi.set(__self__, "ssh_profile", ssh_profile) + if stub_profile is not None: + pulumi.set(__self__, "stub_profile", stub_profile) + if trino_profile is not None: + pulumi.set(__self__, "trino_profile", trino_profile) + + @property + @pulumi.getter(name="authorizationProfile") + def authorization_profile(self) -> 'outputs.AuthorizationProfileResponse': + """ + Authorization profile with details of AAD user Ids and group Ids authorized for data plane access. + """ + return pulumi.get(self, "authorization_profile") + + @property + @pulumi.getter(name="clusterVersion") + def cluster_version(self) -> str: + """ + Version with 3/4 part. + """ + return pulumi.get(self, "cluster_version") + + @property + @pulumi.getter + def components(self) -> Sequence['outputs.ClusterProfileResponseComponents']: + """ + Component list of this cluster type and version. + """ + return pulumi.get(self, "components") + + @property + @pulumi.getter(name="connectivityProfile") + def connectivity_profile(self) -> 'outputs.ConnectivityProfileResponse': + """ + Cluster connectivity profile. + """ + return pulumi.get(self, "connectivity_profile") + + @property + @pulumi.getter(name="identityProfile") + def identity_profile(self) -> 'outputs.IdentityProfileResponse': + """ + Identity Profile with details of an MSI. + """ + return pulumi.get(self, "identity_profile") + + @property + @pulumi.getter(name="ossVersion") + def oss_version(self) -> str: + """ + Version with three part. + """ + return pulumi.get(self, "oss_version") + + @property + @pulumi.getter(name="autoscaleProfile") + def autoscale_profile(self) -> Optional['outputs.AutoscaleProfileResponse']: + """ + This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale. + """ + return pulumi.get(self, "autoscale_profile") + + @property + @pulumi.getter(name="flinkProfile") + def flink_profile(self) -> Optional['outputs.FlinkProfileResponse']: + """ + The Flink cluster profile. + """ + return pulumi.get(self, "flink_profile") + + @property + @pulumi.getter(name="kafkaProfile") + def kafka_profile(self) -> Optional[Any]: + """ + Kafka cluster profile. + """ + return pulumi.get(self, "kafka_profile") + + @property + @pulumi.getter(name="llapProfile") + def llap_profile(self) -> Optional[Any]: + """ + LLAP cluster profile. + """ + return pulumi.get(self, "llap_profile") + + @property + @pulumi.getter(name="logAnalyticsProfile") + def log_analytics_profile(self) -> Optional['outputs.ClusterLogAnalyticsProfileResponse']: + """ + Cluster log analytics profile to enable or disable OMS agent for cluster. + """ + return pulumi.get(self, "log_analytics_profile") + + @property + @pulumi.getter(name="prometheusProfile") + def prometheus_profile(self) -> Optional['outputs.ClusterPrometheusProfileResponse']: + """ + Cluster Prometheus profile. + """ + return pulumi.get(self, "prometheus_profile") + + @property + @pulumi.getter(name="scriptActionProfiles") + def script_action_profiles(self) -> Optional[Sequence['outputs.ScriptActionProfileResponse']]: + """ + The script action profile list. + """ + return pulumi.get(self, "script_action_profiles") + + @property + @pulumi.getter(name="secretsProfile") + def secrets_profile(self) -> Optional['outputs.SecretsProfileResponse']: + """ + The cluster secret profile. + """ + return pulumi.get(self, "secrets_profile") + + @property + @pulumi.getter(name="serviceConfigsProfiles") + def service_configs_profiles(self) -> Optional[Sequence['outputs.ClusterServiceConfigsProfileResponse']]: + """ + The service configs profiles. + """ + return pulumi.get(self, "service_configs_profiles") + + @property + @pulumi.getter(name="sparkProfile") + def spark_profile(self) -> Optional['outputs.SparkProfileResponse']: + """ + The spark cluster profile. + """ + return pulumi.get(self, "spark_profile") + + @property + @pulumi.getter(name="sshProfile") + def ssh_profile(self) -> Optional['outputs.SshProfileResponse']: + """ + Ssh profile for the cluster. + """ + return pulumi.get(self, "ssh_profile") + + @property + @pulumi.getter(name="stubProfile") + def stub_profile(self) -> Optional[Any]: + """ + Stub cluster profile. + """ + return pulumi.get(self, "stub_profile") + + @property + @pulumi.getter(name="trinoProfile") + def trino_profile(self) -> Optional['outputs.TrinoProfileResponse']: + """ + Trino Cluster profile. + """ + return pulumi.get(self, "trino_profile") + + +@pulumi.output_type +class ClusterProfileResponseComponents(dict): + def __init__(__self__, *, + name: Optional[str] = None, + version: Optional[str] = None): + if name is not None: + pulumi.set(__self__, "name", name) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def name(self) -> Optional[str]: + return pulumi.get(self, "name") + + @property + @pulumi.getter + def version(self) -> Optional[str]: + return pulumi.get(self, "version") + + +@pulumi.output_type +class ClusterPrometheusProfileResponse(dict): + """ + Cluster Prometheus profile. + """ + def __init__(__self__, *, + enabled: bool): + """ + Cluster Prometheus profile. + :param bool enabled: Enable Prometheus for cluster or not. + """ + if enabled is None: + enabled = False + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Enable Prometheus for cluster or not. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class ClusterServiceConfigResponse(dict): + """ + Cluster configs per component. + """ + def __init__(__self__, *, + component: str, + files: Sequence['outputs.ClusterConfigFileResponse']): + """ + Cluster configs per component. + :param str component: Name of the component the config files should apply to. + :param Sequence['ClusterConfigFileResponse'] files: List of Config Files. + """ + pulumi.set(__self__, "component", component) + pulumi.set(__self__, "files", files) + + @property + @pulumi.getter + def component(self) -> str: + """ + Name of the component the config files should apply to. + """ + return pulumi.get(self, "component") + + @property + @pulumi.getter + def files(self) -> Sequence['outputs.ClusterConfigFileResponse']: + """ + List of Config Files. + """ + return pulumi.get(self, "files") + + +@pulumi.output_type +class ClusterServiceConfigsProfileResponse(dict): + """ + Cluster service configs. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "serviceName": + suggest = "service_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterServiceConfigsProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterServiceConfigsProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterServiceConfigsProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + configs: Sequence['outputs.ClusterServiceConfigResponse'], + service_name: str): + """ + Cluster service configs. + :param Sequence['ClusterServiceConfigResponse'] configs: List of service configs. + :param str service_name: Name of the service the configurations should apply to. + """ + pulumi.set(__self__, "configs", configs) + pulumi.set(__self__, "service_name", service_name) + + @property + @pulumi.getter + def configs(self) -> Sequence['outputs.ClusterServiceConfigResponse']: + """ + List of service configs. + """ + return pulumi.get(self, "configs") + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> str: + """ + Name of the service the configurations should apply to. + """ + return pulumi.get(self, "service_name") + + +@pulumi.output_type +class ComparisonRuleResponse(dict): + """ + The comparison rule. + """ + def __init__(__self__, *, + operator: str, + threshold: float): + """ + The comparison rule. + :param str operator: The comparison operator. + :param float threshold: Threshold setting. + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "threshold", threshold) + + @property + @pulumi.getter + def operator(self) -> str: + """ + The comparison operator. + """ + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def threshold(self) -> float: + """ + Threshold setting. + """ + return pulumi.get(self, "threshold") + + +@pulumi.output_type +class ComputeProfileResponse(dict): + """ + The compute profile. + """ + def __init__(__self__, *, + nodes: Sequence['outputs.NodeProfileResponse']): + """ + The compute profile. + :param Sequence['NodeProfileResponse'] nodes: The nodes definitions. + """ + pulumi.set(__self__, "nodes", nodes) + + @property + @pulumi.getter + def nodes(self) -> Sequence['outputs.NodeProfileResponse']: + """ + The nodes definitions. + """ + return pulumi.get(self, "nodes") + + +@pulumi.output_type +class ComputeResourceDefinitionResponse(dict): + """ + The cpu and memory requirement definition. + """ + def __init__(__self__, *, + cpu: float, + memory: float): + """ + The cpu and memory requirement definition. + :param float cpu: The required CPU. + :param float memory: The required memory in MB, Container memory will be 110 percentile + """ + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "memory", memory) + + @property + @pulumi.getter + def cpu(self) -> float: + """ + The required CPU. + """ + return pulumi.get(self, "cpu") + + @property + @pulumi.getter + def memory(self) -> float: + """ + The required memory in MB, Container memory will be 110 percentile + """ + return pulumi.get(self, "memory") + + +@pulumi.output_type +class ConnectivityProfileResponse(dict): + """ + Cluster connectivity profile. + """ + def __init__(__self__, *, + web: 'outputs.ConnectivityProfileResponseWeb', + ssh: Optional[Sequence['outputs.SshConnectivityEndpointResponse']] = None): + """ + Cluster connectivity profile. + :param 'ConnectivityProfileResponseWeb' web: Web connectivity endpoint details. + :param Sequence['SshConnectivityEndpointResponse'] ssh: List of SSH connectivity endpoints. + """ + pulumi.set(__self__, "web", web) + if ssh is not None: + pulumi.set(__self__, "ssh", ssh) + + @property + @pulumi.getter + def web(self) -> 'outputs.ConnectivityProfileResponseWeb': + """ + Web connectivity endpoint details. + """ + return pulumi.get(self, "web") + + @property + @pulumi.getter + def ssh(self) -> Optional[Sequence['outputs.SshConnectivityEndpointResponse']]: + """ + List of SSH connectivity endpoints. + """ + return pulumi.get(self, "ssh") + + +@pulumi.output_type +class ConnectivityProfileResponseWeb(dict): + """ + Web connectivity endpoint details. + """ + def __init__(__self__, *, + fqdn: str): + """ + Web connectivity endpoint details. + :param str fqdn: Web connectivity endpoint. + """ + pulumi.set(__self__, "fqdn", fqdn) + + @property + @pulumi.getter + def fqdn(self) -> str: + """ + Web connectivity endpoint. + """ + return pulumi.get(self, "fqdn") + + +@pulumi.output_type +class FlinkCatalogOptionsResponse(dict): + """ + Flink cluster catalog options. + """ + def __init__(__self__, *, + hive: Optional['outputs.FlinkHiveCatalogOptionResponse'] = None): + """ + Flink cluster catalog options. + :param 'FlinkHiveCatalogOptionResponse' hive: Hive Catalog Option for Flink cluster. + """ + if hive is not None: + pulumi.set(__self__, "hive", hive) + + @property + @pulumi.getter + def hive(self) -> Optional['outputs.FlinkHiveCatalogOptionResponse']: + """ + Hive Catalog Option for Flink cluster. + """ + return pulumi.get(self, "hive") + + +@pulumi.output_type +class FlinkHiveCatalogOptionResponse(dict): + """ + Hive Catalog Option for Flink cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metastoreDbConnectionPasswordSecret": + suggest = "metastore_db_connection_password_secret" + elif key == "metastoreDbConnectionURL": + suggest = "metastore_db_connection_url" + elif key == "metastoreDbConnectionUserName": + suggest = "metastore_db_connection_user_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FlinkHiveCatalogOptionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FlinkHiveCatalogOptionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FlinkHiveCatalogOptionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metastore_db_connection_password_secret: str, + metastore_db_connection_url: str, + metastore_db_connection_user_name: str): + """ + Hive Catalog Option for Flink cluster. + :param str metastore_db_connection_password_secret: Secret reference name from secretsProfile.secrets containing password for database connection. + :param str metastore_db_connection_url: Connection string for hive metastore database. + :param str metastore_db_connection_user_name: User name for database connection. + """ + pulumi.set(__self__, "metastore_db_connection_password_secret", metastore_db_connection_password_secret) + pulumi.set(__self__, "metastore_db_connection_url", metastore_db_connection_url) + pulumi.set(__self__, "metastore_db_connection_user_name", metastore_db_connection_user_name) + + @property + @pulumi.getter(name="metastoreDbConnectionPasswordSecret") + def metastore_db_connection_password_secret(self) -> str: + """ + Secret reference name from secretsProfile.secrets containing password for database connection. + """ + return pulumi.get(self, "metastore_db_connection_password_secret") + + @property + @pulumi.getter(name="metastoreDbConnectionURL") + def metastore_db_connection_url(self) -> str: + """ + Connection string for hive metastore database. + """ + return pulumi.get(self, "metastore_db_connection_url") + + @property + @pulumi.getter(name="metastoreDbConnectionUserName") + def metastore_db_connection_user_name(self) -> str: + """ + User name for database connection. + """ + return pulumi.get(self, "metastore_db_connection_user_name") + + +@pulumi.output_type +class FlinkProfileResponse(dict): + """ + The Flink cluster profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "jobManager": + suggest = "job_manager" + elif key == "taskManager": + suggest = "task_manager" + elif key == "catalogOptions": + suggest = "catalog_options" + elif key == "historyServer": + suggest = "history_server" + elif key == "numReplicas": + suggest = "num_replicas" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FlinkProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FlinkProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FlinkProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + job_manager: 'outputs.ComputeResourceDefinitionResponse', + storage: 'outputs.FlinkStorageProfileResponse', + task_manager: 'outputs.ComputeResourceDefinitionResponse', + catalog_options: Optional['outputs.FlinkCatalogOptionsResponse'] = None, + history_server: Optional['outputs.ComputeResourceDefinitionResponse'] = None, + num_replicas: Optional[int] = None): + """ + The Flink cluster profile. + :param 'ComputeResourceDefinitionResponse' job_manager: Job Manager container/ process CPU and memory requirements + :param 'FlinkStorageProfileResponse' storage: The storage profile + :param 'ComputeResourceDefinitionResponse' task_manager: Task Manager container/ process CPU and memory requirements + :param 'FlinkCatalogOptionsResponse' catalog_options: Flink cluster catalog options. + :param 'ComputeResourceDefinitionResponse' history_server: History Server container/ process CPU and memory requirements + :param int num_replicas: The number of task managers. + """ + pulumi.set(__self__, "job_manager", job_manager) + pulumi.set(__self__, "storage", storage) + pulumi.set(__self__, "task_manager", task_manager) + if catalog_options is not None: + pulumi.set(__self__, "catalog_options", catalog_options) + if history_server is not None: + pulumi.set(__self__, "history_server", history_server) + if num_replicas is not None: + pulumi.set(__self__, "num_replicas", num_replicas) + + @property + @pulumi.getter(name="jobManager") + def job_manager(self) -> 'outputs.ComputeResourceDefinitionResponse': + """ + Job Manager container/ process CPU and memory requirements + """ + return pulumi.get(self, "job_manager") + + @property + @pulumi.getter + def storage(self) -> 'outputs.FlinkStorageProfileResponse': + """ + The storage profile + """ + return pulumi.get(self, "storage") + + @property + @pulumi.getter(name="taskManager") + def task_manager(self) -> 'outputs.ComputeResourceDefinitionResponse': + """ + Task Manager container/ process CPU and memory requirements + """ + return pulumi.get(self, "task_manager") + + @property + @pulumi.getter(name="catalogOptions") + def catalog_options(self) -> Optional['outputs.FlinkCatalogOptionsResponse']: + """ + Flink cluster catalog options. + """ + return pulumi.get(self, "catalog_options") + + @property + @pulumi.getter(name="historyServer") + def history_server(self) -> Optional['outputs.ComputeResourceDefinitionResponse']: + """ + History Server container/ process CPU and memory requirements + """ + return pulumi.get(self, "history_server") + + @property + @pulumi.getter(name="numReplicas") + def num_replicas(self) -> Optional[int]: + """ + The number of task managers. + """ + return pulumi.get(self, "num_replicas") + + +@pulumi.output_type +class FlinkStorageProfileResponse(dict): + """ + The storage profile + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "storageUri": + suggest = "storage_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FlinkStorageProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FlinkStorageProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FlinkStorageProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + storage_uri: str, + storagekey: Optional[str] = None): + """ + The storage profile + :param str storage_uri: Storage account uri which is used for savepoint and checkpoint state. + :param str storagekey: Storage key is only required for wasb(s) storage. + """ + pulumi.set(__self__, "storage_uri", storage_uri) + if storagekey is not None: + pulumi.set(__self__, "storagekey", storagekey) + + @property + @pulumi.getter(name="storageUri") + def storage_uri(self) -> str: + """ + Storage account uri which is used for savepoint and checkpoint state. + """ + return pulumi.get(self, "storage_uri") + + @property + @pulumi.getter + def storagekey(self) -> Optional[str]: + """ + Storage key is only required for wasb(s) storage. + """ + return pulumi.get(self, "storagekey") + + +@pulumi.output_type +class HiveCatalogOptionResponse(dict): + """ + Hive Catalog Option + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "catalogName": + suggest = "catalog_name" + elif key == "metastoreDbConnectionPasswordSecret": + suggest = "metastore_db_connection_password_secret" + elif key == "metastoreDbConnectionURL": + suggest = "metastore_db_connection_url" + elif key == "metastoreDbConnectionUserName": + suggest = "metastore_db_connection_user_name" + elif key == "metastoreWarehouseDir": + suggest = "metastore_warehouse_dir" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HiveCatalogOptionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HiveCatalogOptionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HiveCatalogOptionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + catalog_name: str, + metastore_db_connection_password_secret: str, + metastore_db_connection_url: str, + metastore_db_connection_user_name: str, + metastore_warehouse_dir: str): + """ + Hive Catalog Option + :param str catalog_name: Name of trino catalog which should use specified hive metastore. + :param str metastore_db_connection_password_secret: Secret reference name from secretsProfile.secrets containing password for database connection. + :param str metastore_db_connection_url: Connection string for hive metastore database. + :param str metastore_db_connection_user_name: User name for database connection. + :param str metastore_warehouse_dir: Metastore root directory URI, format: abfs[s]://@.dfs.core.windows.net/. More details: https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri + """ + pulumi.set(__self__, "catalog_name", catalog_name) + pulumi.set(__self__, "metastore_db_connection_password_secret", metastore_db_connection_password_secret) + pulumi.set(__self__, "metastore_db_connection_url", metastore_db_connection_url) + pulumi.set(__self__, "metastore_db_connection_user_name", metastore_db_connection_user_name) + pulumi.set(__self__, "metastore_warehouse_dir", metastore_warehouse_dir) + + @property + @pulumi.getter(name="catalogName") + def catalog_name(self) -> str: + """ + Name of trino catalog which should use specified hive metastore. + """ + return pulumi.get(self, "catalog_name") + + @property + @pulumi.getter(name="metastoreDbConnectionPasswordSecret") + def metastore_db_connection_password_secret(self) -> str: + """ + Secret reference name from secretsProfile.secrets containing password for database connection. + """ + return pulumi.get(self, "metastore_db_connection_password_secret") + + @property + @pulumi.getter(name="metastoreDbConnectionURL") + def metastore_db_connection_url(self) -> str: + """ + Connection string for hive metastore database. + """ + return pulumi.get(self, "metastore_db_connection_url") + + @property + @pulumi.getter(name="metastoreDbConnectionUserName") + def metastore_db_connection_user_name(self) -> str: + """ + User name for database connection. + """ + return pulumi.get(self, "metastore_db_connection_user_name") + + @property + @pulumi.getter(name="metastoreWarehouseDir") + def metastore_warehouse_dir(self) -> str: + """ + Metastore root directory URI, format: abfs[s]://@.dfs.core.windows.net/. More details: https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri + """ + return pulumi.get(self, "metastore_warehouse_dir") + + +@pulumi.output_type +class IdentityProfileResponse(dict): + """ + Identity Profile with details of an MSI. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "msiClientId": + suggest = "msi_client_id" + elif key == "msiObjectId": + suggest = "msi_object_id" + elif key == "msiResourceId": + suggest = "msi_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IdentityProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IdentityProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IdentityProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + msi_client_id: str, + msi_object_id: str, + msi_resource_id: str): + """ + Identity Profile with details of an MSI. + :param str msi_client_id: ClientId of the MSI. + :param str msi_object_id: ObjectId of the MSI. + :param str msi_resource_id: ResourceId of the MSI. + """ + pulumi.set(__self__, "msi_client_id", msi_client_id) + pulumi.set(__self__, "msi_object_id", msi_object_id) + pulumi.set(__self__, "msi_resource_id", msi_resource_id) + + @property + @pulumi.getter(name="msiClientId") + def msi_client_id(self) -> str: + """ + ClientId of the MSI. + """ + return pulumi.get(self, "msi_client_id") + + @property + @pulumi.getter(name="msiObjectId") + def msi_object_id(self) -> str: + """ + ObjectId of the MSI. + """ + return pulumi.get(self, "msi_object_id") + + @property + @pulumi.getter(name="msiResourceId") + def msi_resource_id(self) -> str: + """ + ResourceId of the MSI. + """ + return pulumi.get(self, "msi_resource_id") + + +@pulumi.output_type +class LoadBasedConfigResponse(dict): + """ + Profile of load based Autoscale. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxNodes": + suggest = "max_nodes" + elif key == "minNodes": + suggest = "min_nodes" + elif key == "scalingRules": + suggest = "scaling_rules" + elif key == "cooldownPeriod": + suggest = "cooldown_period" + elif key == "pollInterval": + suggest = "poll_interval" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LoadBasedConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LoadBasedConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LoadBasedConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + max_nodes: int, + min_nodes: int, + scaling_rules: Sequence['outputs.ScalingRuleResponse'], + cooldown_period: Optional[int] = None, + poll_interval: Optional[int] = None): + """ + Profile of load based Autoscale. + :param int max_nodes: User needs to set the maximum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + :param int min_nodes: User needs to set the minimum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + :param Sequence['ScalingRuleResponse'] scaling_rules: The scaling rules. + :param int cooldown_period: This is a cool down period, this is a time period in seconds, which determines the amount of time that must elapse between a scaling activity started by a rule and the start of the next scaling activity, regardless of the rule that triggers it. The default value is 300 seconds. + :param int poll_interval: User can specify the poll interval, this is the time period (in seconds) after which scaling metrics are polled for triggering a scaling operation. + """ + pulumi.set(__self__, "max_nodes", max_nodes) + pulumi.set(__self__, "min_nodes", min_nodes) + pulumi.set(__self__, "scaling_rules", scaling_rules) + if cooldown_period is not None: + pulumi.set(__self__, "cooldown_period", cooldown_period) + if poll_interval is not None: + pulumi.set(__self__, "poll_interval", poll_interval) + + @property + @pulumi.getter(name="maxNodes") + def max_nodes(self) -> int: + """ + User needs to set the maximum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + """ + return pulumi.get(self, "max_nodes") + + @property + @pulumi.getter(name="minNodes") + def min_nodes(self) -> int: + """ + User needs to set the minimum number of nodes for load based scaling, the load based scaling will use this to scale up and scale down between minimum and maximum number of nodes. + """ + return pulumi.get(self, "min_nodes") + + @property + @pulumi.getter(name="scalingRules") + def scaling_rules(self) -> Sequence['outputs.ScalingRuleResponse']: + """ + The scaling rules. + """ + return pulumi.get(self, "scaling_rules") + + @property + @pulumi.getter(name="cooldownPeriod") + def cooldown_period(self) -> Optional[int]: + """ + This is a cool down period, this is a time period in seconds, which determines the amount of time that must elapse between a scaling activity started by a rule and the start of the next scaling activity, regardless of the rule that triggers it. The default value is 300 seconds. + """ + return pulumi.get(self, "cooldown_period") + + @property + @pulumi.getter(name="pollInterval") + def poll_interval(self) -> Optional[int]: + """ + User can specify the poll interval, this is the time period (in seconds) after which scaling metrics are polled for triggering a scaling operation. + """ + return pulumi.get(self, "poll_interval") + + +@pulumi.output_type +class NodeProfileResponse(dict): + """ + The node profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "vmSize": + suggest = "vm_size" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodeProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodeProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodeProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: int, + type: str, + vm_size: str): + """ + The node profile. + :param int count: The number of virtual machines. + :param str type: The node type. + :param str vm_size: The virtual machine SKU. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "vm_size", vm_size) + + @property + @pulumi.getter + def count(self) -> int: + """ + The number of virtual machines. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter + def type(self) -> str: + """ + The node type. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="vmSize") + def vm_size(self) -> str: + """ + The virtual machine SKU. + """ + return pulumi.get(self, "vm_size") + + +@pulumi.output_type +class ScalingRuleResponse(dict): + """ + The scaling rule. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "actionType": + suggest = "action_type" + elif key == "comparisonRule": + suggest = "comparison_rule" + elif key == "evaluationCount": + suggest = "evaluation_count" + elif key == "scalingMetric": + suggest = "scaling_metric" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScalingRuleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScalingRuleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScalingRuleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + action_type: str, + comparison_rule: 'outputs.ComparisonRuleResponse', + evaluation_count: int, + scaling_metric: str): + """ + The scaling rule. + :param str action_type: The action type. + :param 'ComparisonRuleResponse' comparison_rule: The comparison rule. + :param int evaluation_count: This is an evaluation count for a scaling condition, the number of times a trigger condition should be successful, before scaling activity is triggered. + :param str scaling_metric: Metrics name for individual workloads. For example: cpu + """ + pulumi.set(__self__, "action_type", action_type) + pulumi.set(__self__, "comparison_rule", comparison_rule) + pulumi.set(__self__, "evaluation_count", evaluation_count) + pulumi.set(__self__, "scaling_metric", scaling_metric) + + @property + @pulumi.getter(name="actionType") + def action_type(self) -> str: + """ + The action type. + """ + return pulumi.get(self, "action_type") + + @property + @pulumi.getter(name="comparisonRule") + def comparison_rule(self) -> 'outputs.ComparisonRuleResponse': + """ + The comparison rule. + """ + return pulumi.get(self, "comparison_rule") + + @property + @pulumi.getter(name="evaluationCount") + def evaluation_count(self) -> int: + """ + This is an evaluation count for a scaling condition, the number of times a trigger condition should be successful, before scaling activity is triggered. + """ + return pulumi.get(self, "evaluation_count") + + @property + @pulumi.getter(name="scalingMetric") + def scaling_metric(self) -> str: + """ + Metrics name for individual workloads. For example: cpu + """ + return pulumi.get(self, "scaling_metric") + + +@pulumi.output_type +class ScheduleBasedConfigResponse(dict): + """ + Profile of schedule based Autoscale. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultCount": + suggest = "default_count" + elif key == "timeZone": + suggest = "time_zone" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScheduleBasedConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScheduleBasedConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScheduleBasedConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_count: int, + schedules: Sequence['outputs.ScheduleResponse'], + time_zone: str): + """ + Profile of schedule based Autoscale. + :param int default_count: Setting default node count of current schedule configuration. Default node count specifies the number of nodes which are default when an specified scaling operation is executed (scale up/scale down) + :param Sequence['ScheduleResponse'] schedules: This specifies the schedules where scheduled based Autoscale to be enabled, the user has a choice to set multiple rules within the schedule across days and times (start/end). + :param str time_zone: User has to specify the timezone on which the schedule has to be set for schedule based autoscale configuration. + """ + pulumi.set(__self__, "default_count", default_count) + pulumi.set(__self__, "schedules", schedules) + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter(name="defaultCount") + def default_count(self) -> int: + """ + Setting default node count of current schedule configuration. Default node count specifies the number of nodes which are default when an specified scaling operation is executed (scale up/scale down) + """ + return pulumi.get(self, "default_count") + + @property + @pulumi.getter + def schedules(self) -> Sequence['outputs.ScheduleResponse']: + """ + This specifies the schedules where scheduled based Autoscale to be enabled, the user has a choice to set multiple rules within the schedule across days and times (start/end). + """ + return pulumi.get(self, "schedules") + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> str: + """ + User has to specify the timezone on which the schedule has to be set for schedule based autoscale configuration. + """ + return pulumi.get(self, "time_zone") + + +@pulumi.output_type +class ScheduleResponse(dict): + """ + Schedule definition. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "endTime": + suggest = "end_time" + elif key == "startTime": + suggest = "start_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScheduleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScheduleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScheduleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: int, + days: Sequence[str], + end_time: str, + start_time: str): + """ + Schedule definition. + :param int count: User has to set the node count anticipated at end of the scaling operation of the set current schedule configuration, format is integer. + :param Sequence[str] days: User has to set the days where schedule has to be set for autoscale operation. + :param str end_time: User has to set the end time of current schedule configuration, format like 10:30 (HH:MM). + :param str start_time: User has to set the start time of current schedule configuration, format like 10:30 (HH:MM). + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "days", days) + pulumi.set(__self__, "end_time", end_time) + pulumi.set(__self__, "start_time", start_time) + + @property + @pulumi.getter + def count(self) -> int: + """ + User has to set the node count anticipated at end of the scaling operation of the set current schedule configuration, format is integer. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter + def days(self) -> Sequence[str]: + """ + User has to set the days where schedule has to be set for autoscale operation. + """ + return pulumi.get(self, "days") + + @property + @pulumi.getter(name="endTime") + def end_time(self) -> str: + """ + User has to set the end time of current schedule configuration, format like 10:30 (HH:MM). + """ + return pulumi.get(self, "end_time") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> str: + """ + User has to set the start time of current schedule configuration, format like 10:30 (HH:MM). + """ + return pulumi.get(self, "start_time") + + +@pulumi.output_type +class ScriptActionProfileResponse(dict): + """ + The script action profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "shouldPersist": + suggest = "should_persist" + elif key == "timeoutInMinutes": + suggest = "timeout_in_minutes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScriptActionProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScriptActionProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScriptActionProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + services: Sequence[str], + type: str, + url: str, + parameters: Optional[str] = None, + should_persist: Optional[bool] = None, + timeout_in_minutes: Optional[int] = None): + """ + The script action profile. + :param str name: Script name. + :param Sequence[str] services: List of services to apply the script action. + :param str type: Type of the script action. Supported type is bash scripts. + :param str url: Url of the script file. + :param str parameters: Additional parameters for the script action. It should be space-separated list of arguments required for script execution. + :param bool should_persist: Specify if the script should persist on the cluster. + :param int timeout_in_minutes: Timeout duration for the script action in minutes. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "services", services) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "url", url) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if should_persist is None: + should_persist = True + if should_persist is not None: + pulumi.set(__self__, "should_persist", should_persist) + if timeout_in_minutes is not None: + pulumi.set(__self__, "timeout_in_minutes", timeout_in_minutes) + + @property + @pulumi.getter + def name(self) -> str: + """ + Script name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def services(self) -> Sequence[str]: + """ + List of services to apply the script action. + """ + return pulumi.get(self, "services") + + @property + @pulumi.getter + def type(self) -> str: + """ + Type of the script action. Supported type is bash scripts. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def url(self) -> str: + """ + Url of the script file. + """ + return pulumi.get(self, "url") + + @property + @pulumi.getter + def parameters(self) -> Optional[str]: + """ + Additional parameters for the script action. It should be space-separated list of arguments required for script execution. + """ + return pulumi.get(self, "parameters") + + @property + @pulumi.getter(name="shouldPersist") + def should_persist(self) -> Optional[bool]: + """ + Specify if the script should persist on the cluster. + """ + return pulumi.get(self, "should_persist") + + @property + @pulumi.getter(name="timeoutInMinutes") + def timeout_in_minutes(self) -> Optional[int]: + """ + Timeout duration for the script action in minutes. + """ + return pulumi.get(self, "timeout_in_minutes") + + +@pulumi.output_type +class SecretReferenceResponse(dict): + """ + Secret reference and corresponding properties of a key vault secret. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyVaultObjectName": + suggest = "key_vault_object_name" + elif key == "referenceName": + suggest = "reference_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SecretReferenceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SecretReferenceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SecretReferenceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_vault_object_name: str, + reference_name: str, + type: str, + version: Optional[str] = None): + """ + Secret reference and corresponding properties of a key vault secret. + :param str key_vault_object_name: Object identifier name of the secret in key vault. + :param str reference_name: Reference name of the secret to be used in service configs. + :param str type: Type of key vault object: secret, key or certificate. + :param str version: Version of the secret in key vault. + """ + pulumi.set(__self__, "key_vault_object_name", key_vault_object_name) + pulumi.set(__self__, "reference_name", reference_name) + pulumi.set(__self__, "type", type) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="keyVaultObjectName") + def key_vault_object_name(self) -> str: + """ + Object identifier name of the secret in key vault. + """ + return pulumi.get(self, "key_vault_object_name") + + @property + @pulumi.getter(name="referenceName") + def reference_name(self) -> str: + """ + Reference name of the secret to be used in service configs. + """ + return pulumi.get(self, "reference_name") + + @property + @pulumi.getter + def type(self) -> str: + """ + Type of key vault object: secret, key or certificate. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def version(self) -> Optional[str]: + """ + Version of the secret in key vault. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class SecretsProfileResponse(dict): + """ + The cluster secret profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyVaultResourceId": + suggest = "key_vault_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SecretsProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SecretsProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SecretsProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_vault_resource_id: str, + secrets: Optional[Sequence['outputs.SecretReferenceResponse']] = None): + """ + The cluster secret profile. + :param str key_vault_resource_id: Name of the user Key Vault where all the cluster specific user secrets are stored. + :param Sequence['SecretReferenceResponse'] secrets: Properties of Key Vault secret. + """ + pulumi.set(__self__, "key_vault_resource_id", key_vault_resource_id) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + + @property + @pulumi.getter(name="keyVaultResourceId") + def key_vault_resource_id(self) -> str: + """ + Name of the user Key Vault where all the cluster specific user secrets are stored. + """ + return pulumi.get(self, "key_vault_resource_id") + + @property + @pulumi.getter + def secrets(self) -> Optional[Sequence['outputs.SecretReferenceResponse']]: + """ + Properties of Key Vault secret. + """ + return pulumi.get(self, "secrets") + + +@pulumi.output_type +class SparkMetastoreSpecResponse(dict): + """ + The metastore specification for Spark cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dbPasswordSecretName": + suggest = "db_password_secret_name" + elif key == "dbServerHost": + suggest = "db_server_host" + elif key == "dbUserName": + suggest = "db_user_name" + elif key == "keyVaultId": + suggest = "key_vault_id" + elif key == "dbName": + suggest = "db_name" + elif key == "thriftUrl": + suggest = "thrift_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SparkMetastoreSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SparkMetastoreSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SparkMetastoreSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + db_password_secret_name: str, + db_server_host: str, + db_user_name: str, + key_vault_id: str, + db_name: Optional[str] = None, + thrift_url: Optional[str] = None): + """ + The metastore specification for Spark cluster. + :param str db_password_secret_name: The secret name which contains the database user password. + :param str db_server_host: The database server host. + :param str db_user_name: The database user name. + :param str key_vault_id: The key vault resource id. + :param str db_name: The database name. + :param str thrift_url: The thrift url. + """ + pulumi.set(__self__, "db_password_secret_name", db_password_secret_name) + pulumi.set(__self__, "db_server_host", db_server_host) + pulumi.set(__self__, "db_user_name", db_user_name) + pulumi.set(__self__, "key_vault_id", key_vault_id) + if db_name is not None: + pulumi.set(__self__, "db_name", db_name) + if thrift_url is not None: + pulumi.set(__self__, "thrift_url", thrift_url) + + @property + @pulumi.getter(name="dbPasswordSecretName") + def db_password_secret_name(self) -> str: + """ + The secret name which contains the database user password. + """ + return pulumi.get(self, "db_password_secret_name") + + @property + @pulumi.getter(name="dbServerHost") + def db_server_host(self) -> str: + """ + The database server host. + """ + return pulumi.get(self, "db_server_host") + + @property + @pulumi.getter(name="dbUserName") + def db_user_name(self) -> str: + """ + The database user name. + """ + return pulumi.get(self, "db_user_name") + + @property + @pulumi.getter(name="keyVaultId") + def key_vault_id(self) -> str: + """ + The key vault resource id. + """ + return pulumi.get(self, "key_vault_id") + + @property + @pulumi.getter(name="dbName") + def db_name(self) -> Optional[str]: + """ + The database name. + """ + return pulumi.get(self, "db_name") + + @property + @pulumi.getter(name="thriftUrl") + def thrift_url(self) -> Optional[str]: + """ + The thrift url. + """ + return pulumi.get(self, "thrift_url") + + +@pulumi.output_type +class SparkProfileResponse(dict): + """ + The spark cluster profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultStorageUrl": + suggest = "default_storage_url" + elif key == "metastoreSpec": + suggest = "metastore_spec" + elif key == "userPluginsSpec": + suggest = "user_plugins_spec" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SparkProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SparkProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SparkProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_storage_url: Optional[str] = None, + metastore_spec: Optional['outputs.SparkMetastoreSpecResponse'] = None, + user_plugins_spec: Optional['outputs.SparkUserPluginsResponse'] = None): + """ + The spark cluster profile. + :param str default_storage_url: The default storage URL. + :param 'SparkMetastoreSpecResponse' metastore_spec: The metastore specification for Spark cluster. + :param 'SparkUserPluginsResponse' user_plugins_spec: Spark user plugins spec + """ + if default_storage_url is not None: + pulumi.set(__self__, "default_storage_url", default_storage_url) + if metastore_spec is not None: + pulumi.set(__self__, "metastore_spec", metastore_spec) + if user_plugins_spec is not None: + pulumi.set(__self__, "user_plugins_spec", user_plugins_spec) + + @property + @pulumi.getter(name="defaultStorageUrl") + def default_storage_url(self) -> Optional[str]: + """ + The default storage URL. + """ + return pulumi.get(self, "default_storage_url") + + @property + @pulumi.getter(name="metastoreSpec") + def metastore_spec(self) -> Optional['outputs.SparkMetastoreSpecResponse']: + """ + The metastore specification for Spark cluster. + """ + return pulumi.get(self, "metastore_spec") + + @property + @pulumi.getter(name="userPluginsSpec") + def user_plugins_spec(self) -> Optional['outputs.SparkUserPluginsResponse']: + """ + Spark user plugins spec + """ + return pulumi.get(self, "user_plugins_spec") + + +@pulumi.output_type +class SparkUserPluginResponse(dict): + """ + Spark user plugin. + """ + def __init__(__self__, *, + path: str): + """ + Spark user plugin. + :param str path: Fully qualified path to the folder containing the plugins. + """ + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def path(self) -> str: + """ + Fully qualified path to the folder containing the plugins. + """ + return pulumi.get(self, "path") + + +@pulumi.output_type +class SparkUserPluginsResponse(dict): + """ + Spark user plugins spec + """ + def __init__(__self__, *, + plugins: Optional[Sequence['outputs.SparkUserPluginResponse']] = None): + """ + Spark user plugins spec + :param Sequence['SparkUserPluginResponse'] plugins: Spark user plugins. + """ + if plugins is not None: + pulumi.set(__self__, "plugins", plugins) + + @property + @pulumi.getter + def plugins(self) -> Optional[Sequence['outputs.SparkUserPluginResponse']]: + """ + Spark user plugins. + """ + return pulumi.get(self, "plugins") + + +@pulumi.output_type +class SshConnectivityEndpointResponse(dict): + """ + SSH connectivity endpoint details. + """ + def __init__(__self__, *, + endpoint: str): + """ + SSH connectivity endpoint details. + :param str endpoint: SSH connectivity endpoint. + """ + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter + def endpoint(self) -> str: + """ + SSH connectivity endpoint. + """ + return pulumi.get(self, "endpoint") + + +@pulumi.output_type +class SshProfileResponse(dict): + """ + Ssh profile for the cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "podPrefix": + suggest = "pod_prefix" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SshProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SshProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SshProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: int, + pod_prefix: str): + """ + Ssh profile for the cluster. + :param int count: Number of ssh pods per cluster. + :param str pod_prefix: Prefix of the pod names. Pod number will be appended to the prefix. The ingress URLs for the pods will be available at //- + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "pod_prefix", pod_prefix) + + @property + @pulumi.getter + def count(self) -> int: + """ + Number of ssh pods per cluster. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="podPrefix") + def pod_prefix(self) -> str: + """ + Prefix of the pod names. Pod number will be appended to the prefix. The ingress URLs for the pods will be available at //- + """ + return pulumi.get(self, "pod_prefix") + + +@pulumi.output_type +class SystemDataResponse(dict): + """ + Metadata pertaining to creation and last modification of the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: Optional[str] = None, + created_by: Optional[str] = None, + created_by_type: Optional[str] = None, + last_modified_at: Optional[str] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[str] = None): + """ + Metadata pertaining to creation and last modification of the resource. + :param str created_at: The timestamp of resource creation (UTC). + :param str created_by: The identity that created the resource. + :param str created_by_type: The type of identity that created the resource. + :param str last_modified_at: The timestamp of resource last modification (UTC) + :param str last_modified_by: The identity that last modified the resource. + :param str last_modified_by_type: The type of identity that last modified the resource. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if created_by_type is not None: + pulumi.set(__self__, "created_by_type", created_by_type) + if last_modified_at is not None: + pulumi.set(__self__, "last_modified_at", last_modified_at) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if last_modified_by_type is not None: + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The timestamp of resource creation (UTC). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[str]: + """ + The identity that created the resource. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> Optional[str]: + """ + The type of identity that created the resource. + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> Optional[str]: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[str]: + """ + The identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> Optional[str]: + """ + The type of identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by_type") + + +@pulumi.output_type +class TrinoCoordinatorResponse(dict): + """ + Trino Coordinator. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "highAvailabilityEnabled": + suggest = "high_availability_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TrinoCoordinatorResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TrinoCoordinatorResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TrinoCoordinatorResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enable: Optional[bool] = None, + high_availability_enabled: Optional[bool] = None, + port: Optional[int] = None, + suspend: Optional[bool] = None): + """ + Trino Coordinator. + :param bool enable: The flag that if enable debug or not. + :param bool high_availability_enabled: The flag that if enable coordinator HA, uses multiple coordinator replicas with auto failover, one per each head node. Default: true. + :param int port: The debug port. + :param bool suspend: The flag that if suspend debug or not. + """ + if enable is None: + enable = False + if enable is not None: + pulumi.set(__self__, "enable", enable) + if high_availability_enabled is None: + high_availability_enabled = True + if high_availability_enabled is not None: + pulumi.set(__self__, "high_availability_enabled", high_availability_enabled) + if port is None: + port = 8008 + if port is not None: + pulumi.set(__self__, "port", port) + if suspend is None: + suspend = False + if suspend is not None: + pulumi.set(__self__, "suspend", suspend) + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + """ + The flag that if enable debug or not. + """ + return pulumi.get(self, "enable") + + @property + @pulumi.getter(name="highAvailabilityEnabled") + def high_availability_enabled(self) -> Optional[bool]: + """ + The flag that if enable coordinator HA, uses multiple coordinator replicas with auto failover, one per each head node. Default: true. + """ + return pulumi.get(self, "high_availability_enabled") + + @property + @pulumi.getter + def port(self) -> Optional[int]: + """ + The debug port. + """ + return pulumi.get(self, "port") + + @property + @pulumi.getter + def suspend(self) -> Optional[bool]: + """ + The flag that if suspend debug or not. + """ + return pulumi.get(self, "suspend") + + +@pulumi.output_type +class TrinoProfileResponse(dict): + """ + Trino Cluster profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "catalogOptions": + suggest = "catalog_options" + elif key == "userPluginsSpec": + suggest = "user_plugins_spec" + elif key == "userTelemetrySpec": + suggest = "user_telemetry_spec" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TrinoProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TrinoProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TrinoProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + catalog_options: Optional['outputs.CatalogOptionsResponse'] = None, + coordinator: Optional['outputs.TrinoCoordinatorResponse'] = None, + user_plugins_spec: Optional['outputs.TrinoUserPluginsResponse'] = None, + user_telemetry_spec: Optional['outputs.TrinoUserTelemetryResponse'] = None, + worker: Optional['outputs.TrinoWorkerResponse'] = None): + """ + Trino Cluster profile. + :param 'CatalogOptionsResponse' catalog_options: Trino cluster catalog options. + :param 'TrinoCoordinatorResponse' coordinator: Trino Coordinator. + :param 'TrinoUserPluginsResponse' user_plugins_spec: Trino user plugins spec + :param 'TrinoUserTelemetryResponse' user_telemetry_spec: User telemetry + :param 'TrinoWorkerResponse' worker: Trino worker. + """ + if catalog_options is not None: + pulumi.set(__self__, "catalog_options", catalog_options) + if coordinator is not None: + pulumi.set(__self__, "coordinator", coordinator) + if user_plugins_spec is not None: + pulumi.set(__self__, "user_plugins_spec", user_plugins_spec) + if user_telemetry_spec is not None: + pulumi.set(__self__, "user_telemetry_spec", user_telemetry_spec) + if worker is not None: + pulumi.set(__self__, "worker", worker) + + @property + @pulumi.getter(name="catalogOptions") + def catalog_options(self) -> Optional['outputs.CatalogOptionsResponse']: + """ + Trino cluster catalog options. + """ + return pulumi.get(self, "catalog_options") + + @property + @pulumi.getter + def coordinator(self) -> Optional['outputs.TrinoCoordinatorResponse']: + """ + Trino Coordinator. + """ + return pulumi.get(self, "coordinator") + + @property + @pulumi.getter(name="userPluginsSpec") + def user_plugins_spec(self) -> Optional['outputs.TrinoUserPluginsResponse']: + """ + Trino user plugins spec + """ + return pulumi.get(self, "user_plugins_spec") + + @property + @pulumi.getter(name="userTelemetrySpec") + def user_telemetry_spec(self) -> Optional['outputs.TrinoUserTelemetryResponse']: + """ + User telemetry + """ + return pulumi.get(self, "user_telemetry_spec") + + @property + @pulumi.getter + def worker(self) -> Optional['outputs.TrinoWorkerResponse']: + """ + Trino worker. + """ + return pulumi.get(self, "worker") + + +@pulumi.output_type +class TrinoTelemetryConfigResponse(dict): + """ + Trino user telemetry definition. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "hivecatalogName": + suggest = "hivecatalog_name" + elif key == "hivecatalogSchema": + suggest = "hivecatalog_schema" + elif key == "partitionRetentionInDays": + suggest = "partition_retention_in_days" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TrinoTelemetryConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TrinoTelemetryConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TrinoTelemetryConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + hivecatalog_name: Optional[str] = None, + hivecatalog_schema: Optional[str] = None, + partition_retention_in_days: Optional[int] = None, + path: Optional[str] = None): + """ + Trino user telemetry definition. + :param str hivecatalog_name: Hive Catalog name used to mount external tables on the logs written by trino, if not specified there tables are not created. + :param str hivecatalog_schema: Schema of the above catalog to use, to mount query logs as external tables, if not specified tables will be mounted under schema trinologs. + :param int partition_retention_in_days: Retention period for query log table partitions, this doesn't have any affect on actual data. + :param str path: Azure storage location of the blobs. + """ + if hivecatalog_name is not None: + pulumi.set(__self__, "hivecatalog_name", hivecatalog_name) + if hivecatalog_schema is None: + hivecatalog_schema = 'trinologs' + if hivecatalog_schema is not None: + pulumi.set(__self__, "hivecatalog_schema", hivecatalog_schema) + if partition_retention_in_days is None: + partition_retention_in_days = 365 + if partition_retention_in_days is not None: + pulumi.set(__self__, "partition_retention_in_days", partition_retention_in_days) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter(name="hivecatalogName") + def hivecatalog_name(self) -> Optional[str]: + """ + Hive Catalog name used to mount external tables on the logs written by trino, if not specified there tables are not created. + """ + return pulumi.get(self, "hivecatalog_name") + + @property + @pulumi.getter(name="hivecatalogSchema") + def hivecatalog_schema(self) -> Optional[str]: + """ + Schema of the above catalog to use, to mount query logs as external tables, if not specified tables will be mounted under schema trinologs. + """ + return pulumi.get(self, "hivecatalog_schema") + + @property + @pulumi.getter(name="partitionRetentionInDays") + def partition_retention_in_days(self) -> Optional[int]: + """ + Retention period for query log table partitions, this doesn't have any affect on actual data. + """ + return pulumi.get(self, "partition_retention_in_days") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + Azure storage location of the blobs. + """ + return pulumi.get(self, "path") + + +@pulumi.output_type +class TrinoUserPluginResponse(dict): + """ + Trino user plugin. + """ + def __init__(__self__, *, + enabled: Optional[bool] = None, + name: Optional[str] = None, + path: Optional[str] = None): + """ + Trino user plugin. + :param bool enabled: Denotes whether the plugin is active or not. + :param str name: This field maps to the sub-directory in trino plugins location, that will contain all the plugins under path. + :param str path: Fully qualified path to the folder containing the plugins. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if name is not None: + pulumi.set(__self__, "name", name) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Denotes whether the plugin is active or not. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + This field maps to the sub-directory in trino plugins location, that will contain all the plugins under path. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + Fully qualified path to the folder containing the plugins. + """ + return pulumi.get(self, "path") + + +@pulumi.output_type +class TrinoUserPluginsResponse(dict): + """ + Trino user plugins spec + """ + def __init__(__self__, *, + plugins: Optional[Sequence['outputs.TrinoUserPluginResponse']] = None): + """ + Trino user plugins spec + :param Sequence['TrinoUserPluginResponse'] plugins: Trino user plugins. + """ + if plugins is not None: + pulumi.set(__self__, "plugins", plugins) + + @property + @pulumi.getter + def plugins(self) -> Optional[Sequence['outputs.TrinoUserPluginResponse']]: + """ + Trino user plugins. + """ + return pulumi.get(self, "plugins") + + +@pulumi.output_type +class TrinoUserTelemetryResponse(dict): + """ + User telemetry + """ + def __init__(__self__, *, + storage: Optional['outputs.TrinoTelemetryConfigResponse'] = None): + """ + User telemetry + :param 'TrinoTelemetryConfigResponse' storage: Trino user telemetry definition. + """ + if storage is not None: + pulumi.set(__self__, "storage", storage) + + @property + @pulumi.getter + def storage(self) -> Optional['outputs.TrinoTelemetryConfigResponse']: + """ + Trino user telemetry definition. + """ + return pulumi.get(self, "storage") + + +@pulumi.output_type +class TrinoWorkerResponse(dict): + """ + Trino worker. + """ + def __init__(__self__, *, + enable: Optional[bool] = None, + port: Optional[int] = None, + suspend: Optional[bool] = None): + """ + Trino worker. + :param bool enable: The flag that if enable debug or not. + :param int port: The debug port. + :param bool suspend: The flag that if suspend debug or not. + """ + if enable is None: + enable = False + if enable is not None: + pulumi.set(__self__, "enable", enable) + if port is None: + port = 8008 + if port is not None: + pulumi.set(__self__, "port", port) + if suspend is None: + suspend = False + if suspend is not None: + pulumi.set(__self__, "suspend", suspend) + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + """ + The flag that if enable debug or not. + """ + return pulumi.get(self, "enable") + + @property + @pulumi.getter + def port(self) -> Optional[int]: + """ + The debug port. + """ + return pulumi.get(self, "port") + + @property + @pulumi.getter + def suspend(self) -> Optional[bool]: + """ + The flag that if suspend debug or not. + """ + return pulumi.get(self, "suspend") + + diff --git a/sdk/python/pulumi_azure_native/hybridcompute/__init__.py b/sdk/python/pulumi_azure_native/hybridcompute/__init__.py index 509335c00e12..e2d37e187d4f 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/__init__.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/__init__.py @@ -8,13 +8,11 @@ from ._enums import * from .get_machine import * from .get_machine_extension import * -from .get_machine_run_command import * from .get_private_endpoint_connection import * from .get_private_link_scope import * from .get_private_link_scoped_resource import * from .machine import * from .machine_extension import * -from .machine_run_command import * from .private_endpoint_connection import * from .private_link_scope import * from .private_link_scoped_resource import * @@ -31,12 +29,9 @@ v20220510preview = __v20220510preview import pulumi_azure_native.hybridcompute.v20221227 as __v20221227 v20221227 = __v20221227 - import pulumi_azure_native.hybridcompute.v20230425preview as __v20230425preview - v20230425preview = __v20230425preview else: v20200802 = _utilities.lazy_import('pulumi_azure_native.hybridcompute.v20200802') v20200815preview = _utilities.lazy_import('pulumi_azure_native.hybridcompute.v20200815preview') v20220510preview = _utilities.lazy_import('pulumi_azure_native.hybridcompute.v20220510preview') v20221227 = _utilities.lazy_import('pulumi_azure_native.hybridcompute.v20221227') - v20230425preview = _utilities.lazy_import('pulumi_azure_native.hybridcompute.v20230425preview') diff --git a/sdk/python/pulumi_azure_native/hybridcompute/_inputs.py b/sdk/python/pulumi_azure_native/hybridcompute/_inputs.py index 22a9ffd50464..53343b78ccec 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/_inputs.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/_inputs.py @@ -17,15 +17,12 @@ 'LocationDataArgs', 'MachineExtensionInstanceViewStatusArgs', 'MachineExtensionInstanceViewArgs', - 'MachineRunCommandScriptSourceArgs', 'OSProfileLinuxConfigurationArgs', 'OSProfileWindowsConfigurationArgs', 'OSProfileArgs', 'PrivateEndpointConnectionPropertiesArgs', 'PrivateEndpointPropertyArgs', 'PrivateLinkServiceConnectionStatePropertyArgs', - 'RunCommandInputParameterArgs', - 'RunCommandManagedIdentityArgs', 'ServiceStatusesArgs', 'ServiceStatusArgs', ] @@ -365,78 +362,6 @@ def type_handler_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type_handler_version", value) -@pulumi.input_type -class MachineRunCommandScriptSourceArgs: - def __init__(__self__, *, - command_id: Optional[pulumi.Input[str]] = None, - script: Optional[pulumi.Input[str]] = None, - script_uri: Optional[pulumi.Input[str]] = None, - script_uri_managed_identity: Optional[pulumi.Input['RunCommandManagedIdentityArgs']] = None): - """ - Describes the script sources for run command. Use only one of script, scriptUri, commandId. - :param pulumi.Input[str] command_id: Specifies the commandId of predefined built-in script. - :param pulumi.Input[str] script: Specifies the script content to be executed on the machine. - :param pulumi.Input[str] script_uri: Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - :param pulumi.Input['RunCommandManagedIdentityArgs'] script_uri_managed_identity: User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - """ - if command_id is not None: - pulumi.set(__self__, "command_id", command_id) - if script is not None: - pulumi.set(__self__, "script", script) - if script_uri is not None: - pulumi.set(__self__, "script_uri", script_uri) - if script_uri_managed_identity is not None: - pulumi.set(__self__, "script_uri_managed_identity", script_uri_managed_identity) - - @property - @pulumi.getter(name="commandId") - def command_id(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the commandId of predefined built-in script. - """ - return pulumi.get(self, "command_id") - - @command_id.setter - def command_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "command_id", value) - - @property - @pulumi.getter - def script(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the script content to be executed on the machine. - """ - return pulumi.get(self, "script") - - @script.setter - def script(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "script", value) - - @property - @pulumi.getter(name="scriptUri") - def script_uri(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - """ - return pulumi.get(self, "script_uri") - - @script_uri.setter - def script_uri(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "script_uri", value) - - @property - @pulumi.getter(name="scriptUriManagedIdentity") - def script_uri_managed_identity(self) -> Optional[pulumi.Input['RunCommandManagedIdentityArgs']]: - """ - User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - """ - return pulumi.get(self, "script_uri_managed_identity") - - @script_uri_managed_identity.setter - def script_uri_managed_identity(self, value: Optional[pulumi.Input['RunCommandManagedIdentityArgs']]): - pulumi.set(self, "script_uri_managed_identity", value) - - @pulumi.input_type class OSProfileLinuxConfigurationArgs: def __init__(__self__, *, @@ -659,84 +584,6 @@ def status(self, value: pulumi.Input[str]): pulumi.set(self, "status", value) -@pulumi.input_type -class RunCommandInputParameterArgs: - def __init__(__self__, *, - name: pulumi.Input[str], - value: pulumi.Input[str]): - """ - Describes the properties of a run command parameter. - :param pulumi.Input[str] name: The run command parameter name. - :param pulumi.Input[str] value: The run command parameter value. - """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "value", value) - - @property - @pulumi.getter - def name(self) -> pulumi.Input[str]: - """ - The run command parameter name. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: pulumi.Input[str]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter - def value(self) -> pulumi.Input[str]: - """ - The run command parameter value. - """ - return pulumi.get(self, "value") - - @value.setter - def value(self, value: pulumi.Input[str]): - pulumi.set(self, "value", value) - - -@pulumi.input_type -class RunCommandManagedIdentityArgs: - def __init__(__self__, *, - client_id: Optional[pulumi.Input[str]] = None, - object_id: Optional[pulumi.Input[str]] = None): - """ - Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - :param pulumi.Input[str] client_id: Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - :param pulumi.Input[str] object_id: Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - """ - if client_id is not None: - pulumi.set(__self__, "client_id", client_id) - if object_id is not None: - pulumi.set(__self__, "object_id", object_id) - - @property - @pulumi.getter(name="clientId") - def client_id(self) -> Optional[pulumi.Input[str]]: - """ - Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - """ - return pulumi.get(self, "client_id") - - @client_id.setter - def client_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "client_id", value) - - @property - @pulumi.getter(name="objectId") - def object_id(self) -> Optional[pulumi.Input[str]]: - """ - Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - """ - return pulumi.get(self, "object_id") - - @object_id.setter - def object_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "object_id", value) - - @pulumi.input_type class ServiceStatusesArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/hybridcompute/get_machine_run_command.py b/sdk/python/pulumi_azure_native/hybridcompute/get_machine_run_command.py deleted file mode 100644 index d341abd5fec1..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/get_machine_run_command.py +++ /dev/null @@ -1,320 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from .. import _utilities -from . import outputs - -__all__ = [ - 'GetMachineRunCommandResult', - 'AwaitableGetMachineRunCommandResult', - 'get_machine_run_command', - 'get_machine_run_command_output', -] - -@pulumi.output_type -class GetMachineRunCommandResult: - """ - Describes a Run Command - """ - def __init__(__self__, async_execution=None, error_blob_managed_identity=None, error_blob_uri=None, id=None, instance_view=None, location=None, name=None, output_blob_managed_identity=None, output_blob_uri=None, parameters=None, protected_parameters=None, provisioning_state=None, run_as_password=None, run_as_user=None, source=None, system_data=None, tags=None, timeout_in_seconds=None, type=None): - if async_execution and not isinstance(async_execution, bool): - raise TypeError("Expected argument 'async_execution' to be a bool") - pulumi.set(__self__, "async_execution", async_execution) - if error_blob_managed_identity and not isinstance(error_blob_managed_identity, dict): - raise TypeError("Expected argument 'error_blob_managed_identity' to be a dict") - pulumi.set(__self__, "error_blob_managed_identity", error_blob_managed_identity) - if error_blob_uri and not isinstance(error_blob_uri, str): - raise TypeError("Expected argument 'error_blob_uri' to be a str") - pulumi.set(__self__, "error_blob_uri", error_blob_uri) - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if instance_view and not isinstance(instance_view, dict): - raise TypeError("Expected argument 'instance_view' to be a dict") - pulumi.set(__self__, "instance_view", instance_view) - if location and not isinstance(location, str): - raise TypeError("Expected argument 'location' to be a str") - pulumi.set(__self__, "location", location) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if output_blob_managed_identity and not isinstance(output_blob_managed_identity, dict): - raise TypeError("Expected argument 'output_blob_managed_identity' to be a dict") - pulumi.set(__self__, "output_blob_managed_identity", output_blob_managed_identity) - if output_blob_uri and not isinstance(output_blob_uri, str): - raise TypeError("Expected argument 'output_blob_uri' to be a str") - pulumi.set(__self__, "output_blob_uri", output_blob_uri) - if parameters and not isinstance(parameters, list): - raise TypeError("Expected argument 'parameters' to be a list") - pulumi.set(__self__, "parameters", parameters) - if protected_parameters and not isinstance(protected_parameters, list): - raise TypeError("Expected argument 'protected_parameters' to be a list") - pulumi.set(__self__, "protected_parameters", protected_parameters) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if run_as_password and not isinstance(run_as_password, str): - raise TypeError("Expected argument 'run_as_password' to be a str") - pulumi.set(__self__, "run_as_password", run_as_password) - if run_as_user and not isinstance(run_as_user, str): - raise TypeError("Expected argument 'run_as_user' to be a str") - pulumi.set(__self__, "run_as_user", run_as_user) - if source and not isinstance(source, dict): - raise TypeError("Expected argument 'source' to be a dict") - pulumi.set(__self__, "source", source) - if system_data and not isinstance(system_data, dict): - raise TypeError("Expected argument 'system_data' to be a dict") - pulumi.set(__self__, "system_data", system_data) - if tags and not isinstance(tags, dict): - raise TypeError("Expected argument 'tags' to be a dict") - pulumi.set(__self__, "tags", tags) - if timeout_in_seconds and not isinstance(timeout_in_seconds, int): - raise TypeError("Expected argument 'timeout_in_seconds' to be a int") - pulumi.set(__self__, "timeout_in_seconds", timeout_in_seconds) - if type and not isinstance(type, str): - raise TypeError("Expected argument 'type' to be a str") - pulumi.set(__self__, "type", type) - - @property - @pulumi.getter(name="asyncExecution") - def async_execution(self) -> Optional[bool]: - """ - Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - """ - return pulumi.get(self, "async_execution") - - @property - @pulumi.getter(name="errorBlobManagedIdentity") - def error_blob_managed_identity(self) -> Optional['outputs.RunCommandManagedIdentityResponse']: - """ - User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - """ - return pulumi.get(self, "error_blob_managed_identity") - - @property - @pulumi.getter(name="errorBlobUri") - def error_blob_uri(self) -> Optional[str]: - """ - Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - """ - return pulumi.get(self, "error_blob_uri") - - @property - @pulumi.getter - def id(self) -> str: - """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter(name="instanceView") - def instance_view(self) -> 'outputs.MachineRunCommandInstanceViewResponse': - """ - The machine run command instance view. - """ - return pulumi.get(self, "instance_view") - - @property - @pulumi.getter - def location(self) -> str: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter - def name(self) -> str: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="outputBlobManagedIdentity") - def output_blob_managed_identity(self) -> Optional['outputs.RunCommandManagedIdentityResponse']: - """ - User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - """ - return pulumi.get(self, "output_blob_managed_identity") - - @property - @pulumi.getter(name="outputBlobUri") - def output_blob_uri(self) -> Optional[str]: - """ - Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - """ - return pulumi.get(self, "output_blob_uri") - - @property - @pulumi.getter - def parameters(self) -> Optional[Sequence['outputs.RunCommandInputParameterResponse']]: - """ - The parameters used by the script. - """ - return pulumi.get(self, "parameters") - - @property - @pulumi.getter(name="protectedParameters") - def protected_parameters(self) -> Optional[Sequence['outputs.RunCommandInputParameterResponse']]: - """ - The parameters used by the script. - """ - return pulumi.get(self, "protected_parameters") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state, which only appears in the response. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="runAsPassword") - def run_as_password(self) -> Optional[str]: - """ - Specifies the user account password on the machine when executing the run command. - """ - return pulumi.get(self, "run_as_password") - - @property - @pulumi.getter(name="runAsUser") - def run_as_user(self) -> Optional[str]: - """ - Specifies the user account on the machine when executing the run command. - """ - return pulumi.get(self, "run_as_user") - - @property - @pulumi.getter - def source(self) -> Optional['outputs.MachineRunCommandScriptSourceResponse']: - """ - The source of the run command script. - """ - return pulumi.get(self, "source") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> 'outputs.SystemDataResponse': - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def tags(self) -> Optional[Mapping[str, str]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter(name="timeoutInSeconds") - def timeout_in_seconds(self) -> Optional[int]: - """ - The timeout in seconds to execute the run command. - """ - return pulumi.get(self, "timeout_in_seconds") - - @property - @pulumi.getter - def type(self) -> str: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - -class AwaitableGetMachineRunCommandResult(GetMachineRunCommandResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetMachineRunCommandResult( - async_execution=self.async_execution, - error_blob_managed_identity=self.error_blob_managed_identity, - error_blob_uri=self.error_blob_uri, - id=self.id, - instance_view=self.instance_view, - location=self.location, - name=self.name, - output_blob_managed_identity=self.output_blob_managed_identity, - output_blob_uri=self.output_blob_uri, - parameters=self.parameters, - protected_parameters=self.protected_parameters, - provisioning_state=self.provisioning_state, - run_as_password=self.run_as_password, - run_as_user=self.run_as_user, - source=self.source, - system_data=self.system_data, - tags=self.tags, - timeout_in_seconds=self.timeout_in_seconds, - type=self.type) - - -def get_machine_run_command(machine_name: Optional[str] = None, - resource_group_name: Optional[str] = None, - run_command_name: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMachineRunCommandResult: - """ - The operation to get a run command. - Azure REST API version: 2023-04-25-preview. - - - :param str machine_name: The name of the hybrid machine. - :param str resource_group_name: The name of the resource group. The name is case insensitive. - :param str run_command_name: The name of the run command. - """ - __args__ = dict() - __args__['machineName'] = machine_name - __args__['resourceGroupName'] = resource_group_name - __args__['runCommandName'] = run_command_name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('azure-native:hybridcompute:getMachineRunCommand', __args__, opts=opts, typ=GetMachineRunCommandResult).value - - return AwaitableGetMachineRunCommandResult( - async_execution=__ret__.async_execution, - error_blob_managed_identity=__ret__.error_blob_managed_identity, - error_blob_uri=__ret__.error_blob_uri, - id=__ret__.id, - instance_view=__ret__.instance_view, - location=__ret__.location, - name=__ret__.name, - output_blob_managed_identity=__ret__.output_blob_managed_identity, - output_blob_uri=__ret__.output_blob_uri, - parameters=__ret__.parameters, - protected_parameters=__ret__.protected_parameters, - provisioning_state=__ret__.provisioning_state, - run_as_password=__ret__.run_as_password, - run_as_user=__ret__.run_as_user, - source=__ret__.source, - system_data=__ret__.system_data, - tags=__ret__.tags, - timeout_in_seconds=__ret__.timeout_in_seconds, - type=__ret__.type) - - -@_utilities.lift_output_func(get_machine_run_command) -def get_machine_run_command_output(machine_name: Optional[pulumi.Input[str]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - run_command_name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMachineRunCommandResult]: - """ - The operation to get a run command. - Azure REST API version: 2023-04-25-preview. - - - :param str machine_name: The name of the hybrid machine. - :param str resource_group_name: The name of the resource group. The name is case insensitive. - :param str run_command_name: The name of the run command. - """ - ... diff --git a/sdk/python/pulumi_azure_native/hybridcompute/machine.py b/sdk/python/pulumi_azure_native/hybridcompute/machine.py index a08952f8fc6b..edbbc5d4896a 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/machine.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/machine.py @@ -411,7 +411,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None __props__.__dict__["vm_uuid"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute/v20190318preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:Machine")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute/v20190318preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:Machine")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Machine, __self__).__init__( 'azure-native:hybridcompute:Machine', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/machine_extension.py b/sdk/python/pulumi_azure_native/hybridcompute/machine_extension.py index b8b8b6eaa658..a2e2cb2e1937 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/machine_extension.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/machine_extension.py @@ -354,7 +354,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["system_data"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:MachineExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:MachineExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(MachineExtension, __self__).__init__( 'azure-native:hybridcompute:MachineExtension', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/machine_run_command.py b/sdk/python/pulumi_azure_native/hybridcompute/machine_run_command.py deleted file mode 100644 index b1b4a3ee54da..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/machine_run_command.py +++ /dev/null @@ -1,589 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from .. import _utilities -from . import outputs -from ._inputs import * - -__all__ = ['MachineRunCommandArgs', 'MachineRunCommand'] - -@pulumi.input_type -class MachineRunCommandArgs: - def __init__(__self__, *, - machine_name: pulumi.Input[str], - resource_group_name: pulumi.Input[str], - async_execution: Optional[pulumi.Input[bool]] = None, - error_blob_managed_identity: Optional[pulumi.Input['RunCommandManagedIdentityArgs']] = None, - error_blob_uri: Optional[pulumi.Input[str]] = None, - location: Optional[pulumi.Input[str]] = None, - output_blob_managed_identity: Optional[pulumi.Input['RunCommandManagedIdentityArgs']] = None, - output_blob_uri: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]] = None, - protected_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]] = None, - run_as_password: Optional[pulumi.Input[str]] = None, - run_as_user: Optional[pulumi.Input[str]] = None, - run_command_name: Optional[pulumi.Input[str]] = None, - source: Optional[pulumi.Input['MachineRunCommandScriptSourceArgs']] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - timeout_in_seconds: Optional[pulumi.Input[int]] = None): - """ - The set of arguments for constructing a MachineRunCommand resource. - :param pulumi.Input[str] machine_name: The name of the hybrid machine. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[bool] async_execution: Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - :param pulumi.Input['RunCommandManagedIdentityArgs'] error_blob_managed_identity: User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - :param pulumi.Input[str] error_blob_uri: Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - :param pulumi.Input[str] location: The geo-location where the resource lives - :param pulumi.Input['RunCommandManagedIdentityArgs'] output_blob_managed_identity: User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - :param pulumi.Input[str] output_blob_uri: Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - :param pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]] parameters: The parameters used by the script. - :param pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]] protected_parameters: The parameters used by the script. - :param pulumi.Input[str] run_as_password: Specifies the user account password on the machine when executing the run command. - :param pulumi.Input[str] run_as_user: Specifies the user account on the machine when executing the run command. - :param pulumi.Input[str] run_command_name: The name of the run command. - :param pulumi.Input['MachineRunCommandScriptSourceArgs'] source: The source of the run command script. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[int] timeout_in_seconds: The timeout in seconds to execute the run command. - """ - pulumi.set(__self__, "machine_name", machine_name) - pulumi.set(__self__, "resource_group_name", resource_group_name) - if async_execution is None: - async_execution = False - if async_execution is not None: - pulumi.set(__self__, "async_execution", async_execution) - if error_blob_managed_identity is not None: - pulumi.set(__self__, "error_blob_managed_identity", error_blob_managed_identity) - if error_blob_uri is not None: - pulumi.set(__self__, "error_blob_uri", error_blob_uri) - if location is not None: - pulumi.set(__self__, "location", location) - if output_blob_managed_identity is not None: - pulumi.set(__self__, "output_blob_managed_identity", output_blob_managed_identity) - if output_blob_uri is not None: - pulumi.set(__self__, "output_blob_uri", output_blob_uri) - if parameters is not None: - pulumi.set(__self__, "parameters", parameters) - if protected_parameters is not None: - pulumi.set(__self__, "protected_parameters", protected_parameters) - if run_as_password is not None: - pulumi.set(__self__, "run_as_password", run_as_password) - if run_as_user is not None: - pulumi.set(__self__, "run_as_user", run_as_user) - if run_command_name is not None: - pulumi.set(__self__, "run_command_name", run_command_name) - if source is not None: - pulumi.set(__self__, "source", source) - if tags is not None: - pulumi.set(__self__, "tags", tags) - if timeout_in_seconds is not None: - pulumi.set(__self__, "timeout_in_seconds", timeout_in_seconds) - - @property - @pulumi.getter(name="machineName") - def machine_name(self) -> pulumi.Input[str]: - """ - The name of the hybrid machine. - """ - return pulumi.get(self, "machine_name") - - @machine_name.setter - def machine_name(self, value: pulumi.Input[str]): - pulumi.set(self, "machine_name", value) - - @property - @pulumi.getter(name="resourceGroupName") - def resource_group_name(self) -> pulumi.Input[str]: - """ - The name of the resource group. The name is case insensitive. - """ - return pulumi.get(self, "resource_group_name") - - @resource_group_name.setter - def resource_group_name(self, value: pulumi.Input[str]): - pulumi.set(self, "resource_group_name", value) - - @property - @pulumi.getter(name="asyncExecution") - def async_execution(self) -> Optional[pulumi.Input[bool]]: - """ - Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - """ - return pulumi.get(self, "async_execution") - - @async_execution.setter - def async_execution(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "async_execution", value) - - @property - @pulumi.getter(name="errorBlobManagedIdentity") - def error_blob_managed_identity(self) -> Optional[pulumi.Input['RunCommandManagedIdentityArgs']]: - """ - User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - """ - return pulumi.get(self, "error_blob_managed_identity") - - @error_blob_managed_identity.setter - def error_blob_managed_identity(self, value: Optional[pulumi.Input['RunCommandManagedIdentityArgs']]): - pulumi.set(self, "error_blob_managed_identity", value) - - @property - @pulumi.getter(name="errorBlobUri") - def error_blob_uri(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - """ - return pulumi.get(self, "error_blob_uri") - - @error_blob_uri.setter - def error_blob_uri(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "error_blob_uri", value) - - @property - @pulumi.getter - def location(self) -> Optional[pulumi.Input[str]]: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @location.setter - def location(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "location", value) - - @property - @pulumi.getter(name="outputBlobManagedIdentity") - def output_blob_managed_identity(self) -> Optional[pulumi.Input['RunCommandManagedIdentityArgs']]: - """ - User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - """ - return pulumi.get(self, "output_blob_managed_identity") - - @output_blob_managed_identity.setter - def output_blob_managed_identity(self, value: Optional[pulumi.Input['RunCommandManagedIdentityArgs']]): - pulumi.set(self, "output_blob_managed_identity", value) - - @property - @pulumi.getter(name="outputBlobUri") - def output_blob_uri(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - """ - return pulumi.get(self, "output_blob_uri") - - @output_blob_uri.setter - def output_blob_uri(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "output_blob_uri", value) - - @property - @pulumi.getter - def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]: - """ - The parameters used by the script. - """ - return pulumi.get(self, "parameters") - - @parameters.setter - def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]): - pulumi.set(self, "parameters", value) - - @property - @pulumi.getter(name="protectedParameters") - def protected_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]: - """ - The parameters used by the script. - """ - return pulumi.get(self, "protected_parameters") - - @protected_parameters.setter - def protected_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]): - pulumi.set(self, "protected_parameters", value) - - @property - @pulumi.getter(name="runAsPassword") - def run_as_password(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the user account password on the machine when executing the run command. - """ - return pulumi.get(self, "run_as_password") - - @run_as_password.setter - def run_as_password(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "run_as_password", value) - - @property - @pulumi.getter(name="runAsUser") - def run_as_user(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the user account on the machine when executing the run command. - """ - return pulumi.get(self, "run_as_user") - - @run_as_user.setter - def run_as_user(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "run_as_user", value) - - @property - @pulumi.getter(name="runCommandName") - def run_command_name(self) -> Optional[pulumi.Input[str]]: - """ - The name of the run command. - """ - return pulumi.get(self, "run_command_name") - - @run_command_name.setter - def run_command_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "run_command_name", value) - - @property - @pulumi.getter - def source(self) -> Optional[pulumi.Input['MachineRunCommandScriptSourceArgs']]: - """ - The source of the run command script. - """ - return pulumi.get(self, "source") - - @source.setter - def source(self, value: Optional[pulumi.Input['MachineRunCommandScriptSourceArgs']]): - pulumi.set(self, "source", value) - - @property - @pulumi.getter - def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @tags.setter - def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "tags", value) - - @property - @pulumi.getter(name="timeoutInSeconds") - def timeout_in_seconds(self) -> Optional[pulumi.Input[int]]: - """ - The timeout in seconds to execute the run command. - """ - return pulumi.get(self, "timeout_in_seconds") - - @timeout_in_seconds.setter - def timeout_in_seconds(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "timeout_in_seconds", value) - - -class MachineRunCommand(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - async_execution: Optional[pulumi.Input[bool]] = None, - error_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, - error_blob_uri: Optional[pulumi.Input[str]] = None, - location: Optional[pulumi.Input[str]] = None, - machine_name: Optional[pulumi.Input[str]] = None, - output_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, - output_blob_uri: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, - protected_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - run_as_password: Optional[pulumi.Input[str]] = None, - run_as_user: Optional[pulumi.Input[str]] = None, - run_command_name: Optional[pulumi.Input[str]] = None, - source: Optional[pulumi.Input[pulumi.InputType['MachineRunCommandScriptSourceArgs']]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - timeout_in_seconds: Optional[pulumi.Input[int]] = None, - __props__=None): - """ - Describes a Run Command - Azure REST API version: 2023-04-25-preview. - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[bool] async_execution: Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - :param pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']] error_blob_managed_identity: User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - :param pulumi.Input[str] error_blob_uri: Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - :param pulumi.Input[str] location: The geo-location where the resource lives - :param pulumi.Input[str] machine_name: The name of the hybrid machine. - :param pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']] output_blob_managed_identity: User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - :param pulumi.Input[str] output_blob_uri: Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]] parameters: The parameters used by the script. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]] protected_parameters: The parameters used by the script. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[str] run_as_password: Specifies the user account password on the machine when executing the run command. - :param pulumi.Input[str] run_as_user: Specifies the user account on the machine when executing the run command. - :param pulumi.Input[str] run_command_name: The name of the run command. - :param pulumi.Input[pulumi.InputType['MachineRunCommandScriptSourceArgs']] source: The source of the run command script. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[int] timeout_in_seconds: The timeout in seconds to execute the run command. - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: MachineRunCommandArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Describes a Run Command - Azure REST API version: 2023-04-25-preview. - - :param str resource_name: The name of the resource. - :param MachineRunCommandArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(MachineRunCommandArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - async_execution: Optional[pulumi.Input[bool]] = None, - error_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, - error_blob_uri: Optional[pulumi.Input[str]] = None, - location: Optional[pulumi.Input[str]] = None, - machine_name: Optional[pulumi.Input[str]] = None, - output_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, - output_blob_uri: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, - protected_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - run_as_password: Optional[pulumi.Input[str]] = None, - run_as_user: Optional[pulumi.Input[str]] = None, - run_command_name: Optional[pulumi.Input[str]] = None, - source: Optional[pulumi.Input[pulumi.InputType['MachineRunCommandScriptSourceArgs']]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - timeout_in_seconds: Optional[pulumi.Input[int]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = MachineRunCommandArgs.__new__(MachineRunCommandArgs) - - if async_execution is None: - async_execution = False - __props__.__dict__["async_execution"] = async_execution - __props__.__dict__["error_blob_managed_identity"] = error_blob_managed_identity - __props__.__dict__["error_blob_uri"] = error_blob_uri - __props__.__dict__["location"] = location - if machine_name is None and not opts.urn: - raise TypeError("Missing required property 'machine_name'") - __props__.__dict__["machine_name"] = machine_name - __props__.__dict__["output_blob_managed_identity"] = output_blob_managed_identity - __props__.__dict__["output_blob_uri"] = output_blob_uri - __props__.__dict__["parameters"] = parameters - __props__.__dict__["protected_parameters"] = protected_parameters - if resource_group_name is None and not opts.urn: - raise TypeError("Missing required property 'resource_group_name'") - __props__.__dict__["resource_group_name"] = resource_group_name - __props__.__dict__["run_as_password"] = run_as_password - __props__.__dict__["run_as_user"] = run_as_user - __props__.__dict__["run_command_name"] = run_command_name - __props__.__dict__["source"] = source - __props__.__dict__["tags"] = tags - __props__.__dict__["timeout_in_seconds"] = timeout_in_seconds - __props__.__dict__["instance_view"] = None - __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:MachineRunCommand")]) - opts = pulumi.ResourceOptions.merge(opts, alias_opts) - super(MachineRunCommand, __self__).__init__( - 'azure-native:hybridcompute:MachineRunCommand', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None) -> 'MachineRunCommand': - """ - Get an existing MachineRunCommand resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = MachineRunCommandArgs.__new__(MachineRunCommandArgs) - - __props__.__dict__["async_execution"] = None - __props__.__dict__["error_blob_managed_identity"] = None - __props__.__dict__["error_blob_uri"] = None - __props__.__dict__["instance_view"] = None - __props__.__dict__["location"] = None - __props__.__dict__["name"] = None - __props__.__dict__["output_blob_managed_identity"] = None - __props__.__dict__["output_blob_uri"] = None - __props__.__dict__["parameters"] = None - __props__.__dict__["protected_parameters"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["run_as_password"] = None - __props__.__dict__["run_as_user"] = None - __props__.__dict__["source"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["tags"] = None - __props__.__dict__["timeout_in_seconds"] = None - __props__.__dict__["type"] = None - return MachineRunCommand(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="asyncExecution") - def async_execution(self) -> pulumi.Output[Optional[bool]]: - """ - Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - """ - return pulumi.get(self, "async_execution") - - @property - @pulumi.getter(name="errorBlobManagedIdentity") - def error_blob_managed_identity(self) -> pulumi.Output[Optional['outputs.RunCommandManagedIdentityResponse']]: - """ - User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - """ - return pulumi.get(self, "error_blob_managed_identity") - - @property - @pulumi.getter(name="errorBlobUri") - def error_blob_uri(self) -> pulumi.Output[Optional[str]]: - """ - Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - """ - return pulumi.get(self, "error_blob_uri") - - @property - @pulumi.getter(name="instanceView") - def instance_view(self) -> pulumi.Output['outputs.MachineRunCommandInstanceViewResponse']: - """ - The machine run command instance view. - """ - return pulumi.get(self, "instance_view") - - @property - @pulumi.getter - def location(self) -> pulumi.Output[str]: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="outputBlobManagedIdentity") - def output_blob_managed_identity(self) -> pulumi.Output[Optional['outputs.RunCommandManagedIdentityResponse']]: - """ - User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - """ - return pulumi.get(self, "output_blob_managed_identity") - - @property - @pulumi.getter(name="outputBlobUri") - def output_blob_uri(self) -> pulumi.Output[Optional[str]]: - """ - Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - """ - return pulumi.get(self, "output_blob_uri") - - @property - @pulumi.getter - def parameters(self) -> pulumi.Output[Optional[Sequence['outputs.RunCommandInputParameterResponse']]]: - """ - The parameters used by the script. - """ - return pulumi.get(self, "parameters") - - @property - @pulumi.getter(name="protectedParameters") - def protected_parameters(self) -> pulumi.Output[Optional[Sequence['outputs.RunCommandInputParameterResponse']]]: - """ - The parameters used by the script. - """ - return pulumi.get(self, "protected_parameters") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state, which only appears in the response. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="runAsPassword") - def run_as_password(self) -> pulumi.Output[Optional[str]]: - """ - Specifies the user account password on the machine when executing the run command. - """ - return pulumi.get(self, "run_as_password") - - @property - @pulumi.getter(name="runAsUser") - def run_as_user(self) -> pulumi.Output[Optional[str]]: - """ - Specifies the user account on the machine when executing the run command. - """ - return pulumi.get(self, "run_as_user") - - @property - @pulumi.getter - def source(self) -> pulumi.Output[Optional['outputs.MachineRunCommandScriptSourceResponse']]: - """ - The source of the run command script. - """ - return pulumi.get(self, "source") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter(name="timeoutInSeconds") - def timeout_in_seconds(self) -> pulumi.Output[Optional[int]]: - """ - The timeout in seconds to execute the run command. - """ - return pulumi.get(self, "timeout_in_seconds") - - @property - @pulumi.getter - def type(self) -> pulumi.Output[str]: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - diff --git a/sdk/python/pulumi_azure_native/hybridcompute/outputs.py b/sdk/python/pulumi_azure_native/hybridcompute/outputs.py index 4524a8ff232e..da0ff002f9bb 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/outputs.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/outputs.py @@ -24,9 +24,6 @@ 'MachineExtensionInstanceViewResponse', 'MachineExtensionInstanceViewResponseStatus', 'MachineExtensionResponse', - 'MachineRunCommandInstanceViewResponse', - 'MachineRunCommandInstanceViewResponseStatus', - 'MachineRunCommandScriptSourceResponse', 'OSProfileResponse', 'OSProfileResponseLinuxConfiguration', 'OSProfileResponseWindowsConfiguration', @@ -34,8 +31,6 @@ 'PrivateEndpointConnectionPropertiesResponse', 'PrivateEndpointPropertyResponse', 'PrivateLinkServiceConnectionStatePropertyResponse', - 'RunCommandInputParameterResponse', - 'RunCommandManagedIdentityResponse', 'ServiceStatusResponse', 'ServiceStatusesResponse', 'SystemDataResponse', @@ -1047,209 +1042,6 @@ def type_handler_version(self) -> Optional[str]: return pulumi.get(self, "type_handler_version") -@pulumi.output_type -class MachineRunCommandInstanceViewResponse(dict): - """ - Describes the Machine Extension Instance View. - """ - def __init__(__self__, *, - name: Optional[str] = None, - status: Optional['outputs.MachineRunCommandInstanceViewResponseStatus'] = None): - """ - Describes the Machine Extension Instance View. - :param str name: The run command name. - :param 'MachineRunCommandInstanceViewResponseStatus' status: Instance view status. - """ - if name is not None: - pulumi.set(__self__, "name", name) - if status is not None: - pulumi.set(__self__, "status", status) - - @property - @pulumi.getter - def name(self) -> Optional[str]: - """ - The run command name. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def status(self) -> Optional['outputs.MachineRunCommandInstanceViewResponseStatus']: - """ - Instance view status. - """ - return pulumi.get(self, "status") - - -@pulumi.output_type -class MachineRunCommandInstanceViewResponseStatus(dict): - """ - Instance view status. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "displayStatus": - suggest = "display_status" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in MachineRunCommandInstanceViewResponseStatus. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - MachineRunCommandInstanceViewResponseStatus.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - MachineRunCommandInstanceViewResponseStatus.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - code: Optional[str] = None, - display_status: Optional[str] = None, - level: Optional[str] = None, - message: Optional[str] = None, - time: Optional[str] = None): - """ - Instance view status. - :param str code: The status code. - :param str display_status: The short localizable label for the status. - :param str level: The level code. - :param str message: The detailed status message, including for alerts and error messages. - :param str time: The time of the status. - """ - if code is not None: - pulumi.set(__self__, "code", code) - if display_status is not None: - pulumi.set(__self__, "display_status", display_status) - if level is not None: - pulumi.set(__self__, "level", level) - if message is not None: - pulumi.set(__self__, "message", message) - if time is not None: - pulumi.set(__self__, "time", time) - - @property - @pulumi.getter - def code(self) -> Optional[str]: - """ - The status code. - """ - return pulumi.get(self, "code") - - @property - @pulumi.getter(name="displayStatus") - def display_status(self) -> Optional[str]: - """ - The short localizable label for the status. - """ - return pulumi.get(self, "display_status") - - @property - @pulumi.getter - def level(self) -> Optional[str]: - """ - The level code. - """ - return pulumi.get(self, "level") - - @property - @pulumi.getter - def message(self) -> Optional[str]: - """ - The detailed status message, including for alerts and error messages. - """ - return pulumi.get(self, "message") - - @property - @pulumi.getter - def time(self) -> Optional[str]: - """ - The time of the status. - """ - return pulumi.get(self, "time") - - -@pulumi.output_type -class MachineRunCommandScriptSourceResponse(dict): - """ - Describes the script sources for run command. Use only one of script, scriptUri, commandId. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "commandId": - suggest = "command_id" - elif key == "scriptUri": - suggest = "script_uri" - elif key == "scriptUriManagedIdentity": - suggest = "script_uri_managed_identity" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in MachineRunCommandScriptSourceResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - MachineRunCommandScriptSourceResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - MachineRunCommandScriptSourceResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - command_id: Optional[str] = None, - script: Optional[str] = None, - script_uri: Optional[str] = None, - script_uri_managed_identity: Optional['outputs.RunCommandManagedIdentityResponse'] = None): - """ - Describes the script sources for run command. Use only one of script, scriptUri, commandId. - :param str command_id: Specifies the commandId of predefined built-in script. - :param str script: Specifies the script content to be executed on the machine. - :param str script_uri: Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - :param 'RunCommandManagedIdentityResponse' script_uri_managed_identity: User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - """ - if command_id is not None: - pulumi.set(__self__, "command_id", command_id) - if script is not None: - pulumi.set(__self__, "script", script) - if script_uri is not None: - pulumi.set(__self__, "script_uri", script_uri) - if script_uri_managed_identity is not None: - pulumi.set(__self__, "script_uri_managed_identity", script_uri_managed_identity) - - @property - @pulumi.getter(name="commandId") - def command_id(self) -> Optional[str]: - """ - Specifies the commandId of predefined built-in script. - """ - return pulumi.get(self, "command_id") - - @property - @pulumi.getter - def script(self) -> Optional[str]: - """ - Specifies the script content to be executed on the machine. - """ - return pulumi.get(self, "script") - - @property - @pulumi.getter(name="scriptUri") - def script_uri(self) -> Optional[str]: - """ - Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - """ - return pulumi.get(self, "script_uri") - - @property - @pulumi.getter(name="scriptUriManagedIdentity") - def script_uri_managed_identity(self) -> Optional['outputs.RunCommandManagedIdentityResponse']: - """ - User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - """ - return pulumi.get(self, "script_uri_managed_identity") - - @pulumi.output_type class OSProfileResponse(dict): """ @@ -1645,93 +1437,6 @@ def status(self) -> str: return pulumi.get(self, "status") -@pulumi.output_type -class RunCommandInputParameterResponse(dict): - """ - Describes the properties of a run command parameter. - """ - def __init__(__self__, *, - name: str, - value: str): - """ - Describes the properties of a run command parameter. - :param str name: The run command parameter name. - :param str value: The run command parameter value. - """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "value", value) - - @property - @pulumi.getter - def name(self) -> str: - """ - The run command parameter name. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def value(self) -> str: - """ - The run command parameter value. - """ - return pulumi.get(self, "value") - - -@pulumi.output_type -class RunCommandManagedIdentityResponse(dict): - """ - Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "clientId": - suggest = "client_id" - elif key == "objectId": - suggest = "object_id" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in RunCommandManagedIdentityResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - RunCommandManagedIdentityResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - RunCommandManagedIdentityResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - client_id: Optional[str] = None, - object_id: Optional[str] = None): - """ - Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - :param str client_id: Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - :param str object_id: Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - """ - if client_id is not None: - pulumi.set(__self__, "client_id", client_id) - if object_id is not None: - pulumi.set(__self__, "object_id", object_id) - - @property - @pulumi.getter(name="clientId") - def client_id(self) -> Optional[str]: - """ - Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - """ - return pulumi.get(self, "client_id") - - @property - @pulumi.getter(name="objectId") - def object_id(self) -> Optional[str]: - """ - Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - """ - return pulumi.get(self, "object_id") - - @pulumi.output_type class ServiceStatusResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/hybridcompute/private_endpoint_connection.py b/sdk/python/pulumi_azure_native/hybridcompute/private_endpoint_connection.py index 830e8bb3b8a2..e8d0e9049a95 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/private_endpoint_connection.py @@ -153,7 +153,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateEndpointConnection, __self__).__init__( 'azure-native:hybridcompute:PrivateEndpointConnection', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/private_link_scope.py b/sdk/python/pulumi_azure_native/hybridcompute/private_link_scope.py index 64585645bc67..251ddd147c8b 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/private_link_scope.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/private_link_scope.py @@ -173,7 +173,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:PrivateLinkScope")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateLinkScope")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateLinkScope, __self__).__init__( 'azure-native:hybridcompute:PrivateLinkScope', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20200802/machine.py b/sdk/python/pulumi_azure_native/hybridcompute/v20200802/machine.py index ce4fa1721dc3..f1de7859197b 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20200802/machine.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/v20200802/machine.py @@ -239,7 +239,7 @@ def _internal_init(__self__, __props__.__dict__["status"] = None __props__.__dict__["type"] = None __props__.__dict__["vm_uuid"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190318preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:Machine")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190318preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:Machine")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Machine, __self__).__init__( 'azure-native:hybridcompute/v20200802:Machine', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/machine.py b/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/machine.py index b06966788dcc..10ca9828de81 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/machine.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/machine.py @@ -260,7 +260,7 @@ def _internal_init(__self__, __props__.__dict__["status"] = None __props__.__dict__["type"] = None __props__.__dict__["vm_uuid"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190318preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:Machine")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190318preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:Machine")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Machine, __self__).__init__( 'azure-native:hybridcompute/v20200815preview:Machine', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/machine_extension.py b/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/machine_extension.py index b37a89b41f24..d637e852f4de 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/machine_extension.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/machine_extension.py @@ -330,7 +330,7 @@ def _internal_init(__self__, __props__.__dict__["type"] = type __props__.__dict__["type_handler_version"] = type_handler_version __props__.__dict__["provisioning_state"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:MachineExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:MachineExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(MachineExtension, __self__).__init__( 'azure-native:hybridcompute/v20200815preview:MachineExtension', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/private_endpoint_connection.py b/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/private_endpoint_connection.py index 3ae604449730..916fada4cdb4 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/private_endpoint_connection.py @@ -171,7 +171,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateEndpointConnection, __self__).__init__( 'azure-native:hybridcompute/v20200815preview:PrivateEndpointConnection', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/private_link_scope.py b/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/private_link_scope.py index dae4d29dbb12..0f0fe80af9d6 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/private_link_scope.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/v20200815preview/private_link_scope.py @@ -171,7 +171,7 @@ def _internal_init(__self__, __props__.__dict__["private_endpoint_connections"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:PrivateLinkScope")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateLinkScope")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateLinkScope, __self__).__init__( 'azure-native:hybridcompute/v20200815preview:PrivateLinkScope', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20220510preview/machine.py b/sdk/python/pulumi_azure_native/hybridcompute/v20220510preview/machine.py index 92c939ba4fbd..4afd68609ff4 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20220510preview/machine.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/v20220510preview/machine.py @@ -192,7 +192,7 @@ def _internal_init(__self__, __props__.__dict__["resources"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190318preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:Machine")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190318preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:Machine")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Machine, __self__).__init__( 'azure-native:hybridcompute/v20220510preview:Machine', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20220510preview/machine_extension.py b/sdk/python/pulumi_azure_native/hybridcompute/v20220510preview/machine_extension.py index c7caa8266ea4..027714eed8b5 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20220510preview/machine_extension.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/v20220510preview/machine_extension.py @@ -192,7 +192,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:MachineExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:MachineExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(MachineExtension, __self__).__init__( 'azure-native:hybridcompute/v20220510preview:MachineExtension', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20221227/machine.py b/sdk/python/pulumi_azure_native/hybridcompute/v20221227/machine.py index 1d0dc0be8730..41d90c972b12 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20221227/machine.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/v20221227/machine.py @@ -409,7 +409,7 @@ def _internal_init(__self__, __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None __props__.__dict__["vm_uuid"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190318preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:Machine")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190318preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:Machine")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Machine, __self__).__init__( 'azure-native:hybridcompute/v20221227:Machine', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20221227/machine_extension.py b/sdk/python/pulumi_azure_native/hybridcompute/v20221227/machine_extension.py index 36ee1dc5da9f..71d020b46182 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20221227/machine_extension.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/v20221227/machine_extension.py @@ -352,7 +352,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["provisioning_state"] = None __props__.__dict__["system_data"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:MachineExtension")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:MachineExtension")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(MachineExtension, __self__).__init__( 'azure-native:hybridcompute/v20221227:MachineExtension', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20221227/private_endpoint_connection.py b/sdk/python/pulumi_azure_native/hybridcompute/v20221227/private_endpoint_connection.py index 61acb26a1479..b5677c4c2682 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20221227/private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/v20221227/private_endpoint_connection.py @@ -151,7 +151,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateEndpointConnection, __self__).__init__( 'azure-native:hybridcompute/v20221227:PrivateEndpointConnection', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20221227/private_link_scope.py b/sdk/python/pulumi_azure_native/hybridcompute/v20221227/private_link_scope.py index ad9f458a6edb..0eab5fb21f88 100644 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20221227/private_link_scope.py +++ b/sdk/python/pulumi_azure_native/hybridcompute/v20221227/private_link_scope.py @@ -171,7 +171,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20230425preview:PrivateLinkScope")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateLinkScope")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(PrivateLinkScope, __self__).__init__( 'azure-native:hybridcompute/v20221227:PrivateLinkScope', diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/__init__.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/__init__.py deleted file mode 100644 index b165d9f60ca4..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -from ... import _utilities -import typing -# Export this package's modules as members: -from ._enums import * -from .get_machine import * -from .get_machine_extension import * -from .get_machine_run_command import * -from .get_private_endpoint_connection import * -from .get_private_link_scope import * -from .machine import * -from .machine_extension import * -from .machine_run_command import * -from .private_endpoint_connection import * -from .private_link_scope import * -from ._inputs import * -from . import outputs diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/_enums.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/_enums.py deleted file mode 100644 index 02dff0139e29..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/_enums.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -from enum import Enum - -__all__ = [ - 'AssessmentModeTypes', - 'PatchModeTypes', - 'PrivateCloudKind', - 'PublicNetworkAccessType', - 'ResourceIdentityType', - 'StatusLevelTypes', -] - - -class AssessmentModeTypes(str, Enum): - """ - Specifies the assessment mode. - """ - IMAGE_DEFAULT = "ImageDefault" - AUTOMATIC_BY_PLATFORM = "AutomaticByPlatform" - - -class PatchModeTypes(str, Enum): - """ - Specifies the patch mode. - """ - IMAGE_DEFAULT = "ImageDefault" - AUTOMATIC_BY_PLATFORM = "AutomaticByPlatform" - AUTOMATIC_BY_OS = "AutomaticByOS" - MANUAL = "Manual" - - -class PrivateCloudKind(str, Enum): - """ - Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - """ - AVS = "AVS" - HCI = "HCI" - SCVMM = "SCVMM" - V_MWARE = "VMware" - - -class PublicNetworkAccessType(str, Enum): - """ - Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. - """ - ENABLED = "Enabled" - """ - Allows Azure Arc agents to communicate with Azure Arc services over both public (internet) and private endpoints. - """ - DISABLED = "Disabled" - """ - Does not allow Azure Arc agents to communicate with Azure Arc services over public (internet) endpoints. The agents must use the private link. - """ - - -class ResourceIdentityType(str, Enum): - """ - The identity type. - """ - SYSTEM_ASSIGNED = "SystemAssigned" - - -class StatusLevelTypes(str, Enum): - """ - The level code. - """ - INFO = "Info" - WARNING = "Warning" - ERROR = "Error" diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/_inputs.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/_inputs.py deleted file mode 100644 index 84582ce7f373..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/_inputs.py +++ /dev/null @@ -1,819 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from ._enums import * - -__all__ = [ - 'AgentUpgradeArgs', - 'HybridComputePrivateLinkScopePropertiesArgs', - 'IdentityArgs', - 'LocationDataArgs', - 'MachineExtensionInstanceViewStatusArgs', - 'MachineExtensionInstanceViewArgs', - 'MachineRunCommandScriptSourceArgs', - 'OSProfileLinuxConfigurationArgs', - 'OSProfileWindowsConfigurationArgs', - 'OSProfileArgs', - 'PrivateEndpointConnectionPropertiesArgs', - 'PrivateEndpointPropertyArgs', - 'PrivateLinkServiceConnectionStatePropertyArgs', - 'RunCommandInputParameterArgs', - 'RunCommandManagedIdentityArgs', - 'ServiceStatusesArgs', - 'ServiceStatusArgs', -] - -@pulumi.input_type -class AgentUpgradeArgs: - def __init__(__self__, *, - correlation_id: Optional[pulumi.Input[str]] = None, - desired_version: Optional[pulumi.Input[str]] = None, - enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None): - """ - The info w.r.t Agent Upgrade. - :param pulumi.Input[str] correlation_id: The correlation ID passed in from RSM per upgrade. - :param pulumi.Input[str] desired_version: Specifies the version info w.r.t AgentUpgrade for the machine. - :param pulumi.Input[bool] enable_automatic_upgrade: Specifies if RSM should try to upgrade this machine - """ - if correlation_id is not None: - pulumi.set(__self__, "correlation_id", correlation_id) - if desired_version is not None: - pulumi.set(__self__, "desired_version", desired_version) - if enable_automatic_upgrade is not None: - pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) - - @property - @pulumi.getter(name="correlationId") - def correlation_id(self) -> Optional[pulumi.Input[str]]: - """ - The correlation ID passed in from RSM per upgrade. - """ - return pulumi.get(self, "correlation_id") - - @correlation_id.setter - def correlation_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "correlation_id", value) - - @property - @pulumi.getter(name="desiredVersion") - def desired_version(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the version info w.r.t AgentUpgrade for the machine. - """ - return pulumi.get(self, "desired_version") - - @desired_version.setter - def desired_version(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "desired_version", value) - - @property - @pulumi.getter(name="enableAutomaticUpgrade") - def enable_automatic_upgrade(self) -> Optional[pulumi.Input[bool]]: - """ - Specifies if RSM should try to upgrade this machine - """ - return pulumi.get(self, "enable_automatic_upgrade") - - @enable_automatic_upgrade.setter - def enable_automatic_upgrade(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "enable_automatic_upgrade", value) - - -@pulumi.input_type -class HybridComputePrivateLinkScopePropertiesArgs: - def __init__(__self__, *, - public_network_access: Optional[pulumi.Input[Union[str, 'PublicNetworkAccessType']]] = None): - """ - Properties that define a Azure Arc PrivateLinkScope resource. - :param pulumi.Input[Union[str, 'PublicNetworkAccessType']] public_network_access: Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. - """ - if public_network_access is not None: - pulumi.set(__self__, "public_network_access", public_network_access) - - @property - @pulumi.getter(name="publicNetworkAccess") - def public_network_access(self) -> Optional[pulumi.Input[Union[str, 'PublicNetworkAccessType']]]: - """ - Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. - """ - return pulumi.get(self, "public_network_access") - - @public_network_access.setter - def public_network_access(self, value: Optional[pulumi.Input[Union[str, 'PublicNetworkAccessType']]]): - pulumi.set(self, "public_network_access", value) - - -@pulumi.input_type -class IdentityArgs: - def __init__(__self__, *, - type: Optional[pulumi.Input['ResourceIdentityType']] = None): - """ - Identity for the resource. - :param pulumi.Input['ResourceIdentityType'] type: The identity type. - """ - if type is not None: - pulumi.set(__self__, "type", type) - - @property - @pulumi.getter - def type(self) -> Optional[pulumi.Input['ResourceIdentityType']]: - """ - The identity type. - """ - return pulumi.get(self, "type") - - @type.setter - def type(self, value: Optional[pulumi.Input['ResourceIdentityType']]): - pulumi.set(self, "type", value) - - -@pulumi.input_type -class LocationDataArgs: - def __init__(__self__, *, - name: pulumi.Input[str], - city: Optional[pulumi.Input[str]] = None, - country_or_region: Optional[pulumi.Input[str]] = None, - district: Optional[pulumi.Input[str]] = None): - """ - Metadata pertaining to the geographic location of the resource. - :param pulumi.Input[str] name: A canonical name for the geographic or physical location. - :param pulumi.Input[str] city: The city or locality where the resource is located. - :param pulumi.Input[str] country_or_region: The country or region where the resource is located - :param pulumi.Input[str] district: The district, state, or province where the resource is located. - """ - pulumi.set(__self__, "name", name) - if city is not None: - pulumi.set(__self__, "city", city) - if country_or_region is not None: - pulumi.set(__self__, "country_or_region", country_or_region) - if district is not None: - pulumi.set(__self__, "district", district) - - @property - @pulumi.getter - def name(self) -> pulumi.Input[str]: - """ - A canonical name for the geographic or physical location. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: pulumi.Input[str]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter - def city(self) -> Optional[pulumi.Input[str]]: - """ - The city or locality where the resource is located. - """ - return pulumi.get(self, "city") - - @city.setter - def city(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "city", value) - - @property - @pulumi.getter(name="countryOrRegion") - def country_or_region(self) -> Optional[pulumi.Input[str]]: - """ - The country or region where the resource is located - """ - return pulumi.get(self, "country_or_region") - - @country_or_region.setter - def country_or_region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "country_or_region", value) - - @property - @pulumi.getter - def district(self) -> Optional[pulumi.Input[str]]: - """ - The district, state, or province where the resource is located. - """ - return pulumi.get(self, "district") - - @district.setter - def district(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "district", value) - - -@pulumi.input_type -class MachineExtensionInstanceViewStatusArgs: - def __init__(__self__, *, - code: Optional[pulumi.Input[str]] = None, - display_status: Optional[pulumi.Input[str]] = None, - level: Optional[pulumi.Input[Union[str, 'StatusLevelTypes']]] = None, - message: Optional[pulumi.Input[str]] = None, - time: Optional[pulumi.Input[str]] = None): - """ - Instance view status. - :param pulumi.Input[str] code: The status code. - :param pulumi.Input[str] display_status: The short localizable label for the status. - :param pulumi.Input[Union[str, 'StatusLevelTypes']] level: The level code. - :param pulumi.Input[str] message: The detailed status message, including for alerts and error messages. - :param pulumi.Input[str] time: The time of the status. - """ - if code is not None: - pulumi.set(__self__, "code", code) - if display_status is not None: - pulumi.set(__self__, "display_status", display_status) - if level is not None: - pulumi.set(__self__, "level", level) - if message is not None: - pulumi.set(__self__, "message", message) - if time is not None: - pulumi.set(__self__, "time", time) - - @property - @pulumi.getter - def code(self) -> Optional[pulumi.Input[str]]: - """ - The status code. - """ - return pulumi.get(self, "code") - - @code.setter - def code(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "code", value) - - @property - @pulumi.getter(name="displayStatus") - def display_status(self) -> Optional[pulumi.Input[str]]: - """ - The short localizable label for the status. - """ - return pulumi.get(self, "display_status") - - @display_status.setter - def display_status(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "display_status", value) - - @property - @pulumi.getter - def level(self) -> Optional[pulumi.Input[Union[str, 'StatusLevelTypes']]]: - """ - The level code. - """ - return pulumi.get(self, "level") - - @level.setter - def level(self, value: Optional[pulumi.Input[Union[str, 'StatusLevelTypes']]]): - pulumi.set(self, "level", value) - - @property - @pulumi.getter - def message(self) -> Optional[pulumi.Input[str]]: - """ - The detailed status message, including for alerts and error messages. - """ - return pulumi.get(self, "message") - - @message.setter - def message(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "message", value) - - @property - @pulumi.getter - def time(self) -> Optional[pulumi.Input[str]]: - """ - The time of the status. - """ - return pulumi.get(self, "time") - - @time.setter - def time(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "time", value) - - -@pulumi.input_type -class MachineExtensionInstanceViewArgs: - def __init__(__self__, *, - name: Optional[pulumi.Input[str]] = None, - status: Optional[pulumi.Input['MachineExtensionInstanceViewStatusArgs']] = None, - type: Optional[pulumi.Input[str]] = None, - type_handler_version: Optional[pulumi.Input[str]] = None): - """ - Describes the Machine Extension Instance View. - :param pulumi.Input[str] name: The machine extension name. - :param pulumi.Input['MachineExtensionInstanceViewStatusArgs'] status: Instance view status. - :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension". - :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler. - """ - if name is not None: - pulumi.set(__self__, "name", name) - if status is not None: - pulumi.set(__self__, "status", status) - if type is not None: - pulumi.set(__self__, "type", type) - if type_handler_version is not None: - pulumi.set(__self__, "type_handler_version", type_handler_version) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - The machine extension name. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter - def status(self) -> Optional[pulumi.Input['MachineExtensionInstanceViewStatusArgs']]: - """ - Instance view status. - """ - return pulumi.get(self, "status") - - @status.setter - def status(self, value: Optional[pulumi.Input['MachineExtensionInstanceViewStatusArgs']]): - pulumi.set(self, "status", value) - - @property - @pulumi.getter - def type(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the type of the extension; an example is "CustomScriptExtension". - """ - return pulumi.get(self, "type") - - @type.setter - def type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "type", value) - - @property - @pulumi.getter(name="typeHandlerVersion") - def type_handler_version(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the version of the script handler. - """ - return pulumi.get(self, "type_handler_version") - - @type_handler_version.setter - def type_handler_version(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "type_handler_version", value) - - -@pulumi.input_type -class MachineRunCommandScriptSourceArgs: - def __init__(__self__, *, - command_id: Optional[pulumi.Input[str]] = None, - script: Optional[pulumi.Input[str]] = None, - script_uri: Optional[pulumi.Input[str]] = None, - script_uri_managed_identity: Optional[pulumi.Input['RunCommandManagedIdentityArgs']] = None): - """ - Describes the script sources for run command. Use only one of script, scriptUri, commandId. - :param pulumi.Input[str] command_id: Specifies the commandId of predefined built-in script. - :param pulumi.Input[str] script: Specifies the script content to be executed on the machine. - :param pulumi.Input[str] script_uri: Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - :param pulumi.Input['RunCommandManagedIdentityArgs'] script_uri_managed_identity: User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - """ - if command_id is not None: - pulumi.set(__self__, "command_id", command_id) - if script is not None: - pulumi.set(__self__, "script", script) - if script_uri is not None: - pulumi.set(__self__, "script_uri", script_uri) - if script_uri_managed_identity is not None: - pulumi.set(__self__, "script_uri_managed_identity", script_uri_managed_identity) - - @property - @pulumi.getter(name="commandId") - def command_id(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the commandId of predefined built-in script. - """ - return pulumi.get(self, "command_id") - - @command_id.setter - def command_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "command_id", value) - - @property - @pulumi.getter - def script(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the script content to be executed on the machine. - """ - return pulumi.get(self, "script") - - @script.setter - def script(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "script", value) - - @property - @pulumi.getter(name="scriptUri") - def script_uri(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - """ - return pulumi.get(self, "script_uri") - - @script_uri.setter - def script_uri(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "script_uri", value) - - @property - @pulumi.getter(name="scriptUriManagedIdentity") - def script_uri_managed_identity(self) -> Optional[pulumi.Input['RunCommandManagedIdentityArgs']]: - """ - User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - """ - return pulumi.get(self, "script_uri_managed_identity") - - @script_uri_managed_identity.setter - def script_uri_managed_identity(self, value: Optional[pulumi.Input['RunCommandManagedIdentityArgs']]): - pulumi.set(self, "script_uri_managed_identity", value) - - -@pulumi.input_type -class OSProfileLinuxConfigurationArgs: - def __init__(__self__, *, - assessment_mode: Optional[pulumi.Input[Union[str, 'AssessmentModeTypes']]] = None, - patch_mode: Optional[pulumi.Input[Union[str, 'PatchModeTypes']]] = None): - """ - Specifies the linux configuration for update management. - :param pulumi.Input[Union[str, 'AssessmentModeTypes']] assessment_mode: Specifies the assessment mode. - :param pulumi.Input[Union[str, 'PatchModeTypes']] patch_mode: Specifies the patch mode. - """ - if assessment_mode is not None: - pulumi.set(__self__, "assessment_mode", assessment_mode) - if patch_mode is not None: - pulumi.set(__self__, "patch_mode", patch_mode) - - @property - @pulumi.getter(name="assessmentMode") - def assessment_mode(self) -> Optional[pulumi.Input[Union[str, 'AssessmentModeTypes']]]: - """ - Specifies the assessment mode. - """ - return pulumi.get(self, "assessment_mode") - - @assessment_mode.setter - def assessment_mode(self, value: Optional[pulumi.Input[Union[str, 'AssessmentModeTypes']]]): - pulumi.set(self, "assessment_mode", value) - - @property - @pulumi.getter(name="patchMode") - def patch_mode(self) -> Optional[pulumi.Input[Union[str, 'PatchModeTypes']]]: - """ - Specifies the patch mode. - """ - return pulumi.get(self, "patch_mode") - - @patch_mode.setter - def patch_mode(self, value: Optional[pulumi.Input[Union[str, 'PatchModeTypes']]]): - pulumi.set(self, "patch_mode", value) - - -@pulumi.input_type -class OSProfileWindowsConfigurationArgs: - def __init__(__self__, *, - assessment_mode: Optional[pulumi.Input[Union[str, 'AssessmentModeTypes']]] = None, - patch_mode: Optional[pulumi.Input[Union[str, 'PatchModeTypes']]] = None): - """ - Specifies the windows configuration for update management. - :param pulumi.Input[Union[str, 'AssessmentModeTypes']] assessment_mode: Specifies the assessment mode. - :param pulumi.Input[Union[str, 'PatchModeTypes']] patch_mode: Specifies the patch mode. - """ - if assessment_mode is not None: - pulumi.set(__self__, "assessment_mode", assessment_mode) - if patch_mode is not None: - pulumi.set(__self__, "patch_mode", patch_mode) - - @property - @pulumi.getter(name="assessmentMode") - def assessment_mode(self) -> Optional[pulumi.Input[Union[str, 'AssessmentModeTypes']]]: - """ - Specifies the assessment mode. - """ - return pulumi.get(self, "assessment_mode") - - @assessment_mode.setter - def assessment_mode(self, value: Optional[pulumi.Input[Union[str, 'AssessmentModeTypes']]]): - pulumi.set(self, "assessment_mode", value) - - @property - @pulumi.getter(name="patchMode") - def patch_mode(self) -> Optional[pulumi.Input[Union[str, 'PatchModeTypes']]]: - """ - Specifies the patch mode. - """ - return pulumi.get(self, "patch_mode") - - @patch_mode.setter - def patch_mode(self, value: Optional[pulumi.Input[Union[str, 'PatchModeTypes']]]): - pulumi.set(self, "patch_mode", value) - - -@pulumi.input_type -class OSProfileArgs: - def __init__(__self__, *, - linux_configuration: Optional[pulumi.Input['OSProfileLinuxConfigurationArgs']] = None, - windows_configuration: Optional[pulumi.Input['OSProfileWindowsConfigurationArgs']] = None): - """ - Specifies the operating system settings for the hybrid machine. - :param pulumi.Input['OSProfileLinuxConfigurationArgs'] linux_configuration: Specifies the linux configuration for update management. - :param pulumi.Input['OSProfileWindowsConfigurationArgs'] windows_configuration: Specifies the windows configuration for update management. - """ - if linux_configuration is not None: - pulumi.set(__self__, "linux_configuration", linux_configuration) - if windows_configuration is not None: - pulumi.set(__self__, "windows_configuration", windows_configuration) - - @property - @pulumi.getter(name="linuxConfiguration") - def linux_configuration(self) -> Optional[pulumi.Input['OSProfileLinuxConfigurationArgs']]: - """ - Specifies the linux configuration for update management. - """ - return pulumi.get(self, "linux_configuration") - - @linux_configuration.setter - def linux_configuration(self, value: Optional[pulumi.Input['OSProfileLinuxConfigurationArgs']]): - pulumi.set(self, "linux_configuration", value) - - @property - @pulumi.getter(name="windowsConfiguration") - def windows_configuration(self) -> Optional[pulumi.Input['OSProfileWindowsConfigurationArgs']]: - """ - Specifies the windows configuration for update management. - """ - return pulumi.get(self, "windows_configuration") - - @windows_configuration.setter - def windows_configuration(self, value: Optional[pulumi.Input['OSProfileWindowsConfigurationArgs']]): - pulumi.set(self, "windows_configuration", value) - - -@pulumi.input_type -class PrivateEndpointConnectionPropertiesArgs: - def __init__(__self__, *, - private_endpoint: Optional[pulumi.Input['PrivateEndpointPropertyArgs']] = None, - private_link_service_connection_state: Optional[pulumi.Input['PrivateLinkServiceConnectionStatePropertyArgs']] = None): - """ - Properties of a private endpoint connection. - :param pulumi.Input['PrivateEndpointPropertyArgs'] private_endpoint: Private endpoint which the connection belongs to. - :param pulumi.Input['PrivateLinkServiceConnectionStatePropertyArgs'] private_link_service_connection_state: Connection state of the private endpoint connection. - """ - if private_endpoint is not None: - pulumi.set(__self__, "private_endpoint", private_endpoint) - if private_link_service_connection_state is not None: - pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) - - @property - @pulumi.getter(name="privateEndpoint") - def private_endpoint(self) -> Optional[pulumi.Input['PrivateEndpointPropertyArgs']]: - """ - Private endpoint which the connection belongs to. - """ - return pulumi.get(self, "private_endpoint") - - @private_endpoint.setter - def private_endpoint(self, value: Optional[pulumi.Input['PrivateEndpointPropertyArgs']]): - pulumi.set(self, "private_endpoint", value) - - @property - @pulumi.getter(name="privateLinkServiceConnectionState") - def private_link_service_connection_state(self) -> Optional[pulumi.Input['PrivateLinkServiceConnectionStatePropertyArgs']]: - """ - Connection state of the private endpoint connection. - """ - return pulumi.get(self, "private_link_service_connection_state") - - @private_link_service_connection_state.setter - def private_link_service_connection_state(self, value: Optional[pulumi.Input['PrivateLinkServiceConnectionStatePropertyArgs']]): - pulumi.set(self, "private_link_service_connection_state", value) - - -@pulumi.input_type -class PrivateEndpointPropertyArgs: - def __init__(__self__, *, - id: Optional[pulumi.Input[str]] = None): - """ - Private endpoint which the connection belongs to. - :param pulumi.Input[str] id: Resource id of the private endpoint. - """ - if id is not None: - pulumi.set(__self__, "id", id) - - @property - @pulumi.getter - def id(self) -> Optional[pulumi.Input[str]]: - """ - Resource id of the private endpoint. - """ - return pulumi.get(self, "id") - - @id.setter - def id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "id", value) - - -@pulumi.input_type -class PrivateLinkServiceConnectionStatePropertyArgs: - def __init__(__self__, *, - description: pulumi.Input[str], - status: pulumi.Input[str]): - """ - State of the private endpoint connection. - :param pulumi.Input[str] description: The private link service connection description. - :param pulumi.Input[str] status: The private link service connection status. - """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "status", status) - - @property - @pulumi.getter - def description(self) -> pulumi.Input[str]: - """ - The private link service connection description. - """ - return pulumi.get(self, "description") - - @description.setter - def description(self, value: pulumi.Input[str]): - pulumi.set(self, "description", value) - - @property - @pulumi.getter - def status(self) -> pulumi.Input[str]: - """ - The private link service connection status. - """ - return pulumi.get(self, "status") - - @status.setter - def status(self, value: pulumi.Input[str]): - pulumi.set(self, "status", value) - - -@pulumi.input_type -class RunCommandInputParameterArgs: - def __init__(__self__, *, - name: pulumi.Input[str], - value: pulumi.Input[str]): - """ - Describes the properties of a run command parameter. - :param pulumi.Input[str] name: The run command parameter name. - :param pulumi.Input[str] value: The run command parameter value. - """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "value", value) - - @property - @pulumi.getter - def name(self) -> pulumi.Input[str]: - """ - The run command parameter name. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: pulumi.Input[str]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter - def value(self) -> pulumi.Input[str]: - """ - The run command parameter value. - """ - return pulumi.get(self, "value") - - @value.setter - def value(self, value: pulumi.Input[str]): - pulumi.set(self, "value", value) - - -@pulumi.input_type -class RunCommandManagedIdentityArgs: - def __init__(__self__, *, - client_id: Optional[pulumi.Input[str]] = None, - object_id: Optional[pulumi.Input[str]] = None): - """ - Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - :param pulumi.Input[str] client_id: Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - :param pulumi.Input[str] object_id: Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - """ - if client_id is not None: - pulumi.set(__self__, "client_id", client_id) - if object_id is not None: - pulumi.set(__self__, "object_id", object_id) - - @property - @pulumi.getter(name="clientId") - def client_id(self) -> Optional[pulumi.Input[str]]: - """ - Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - """ - return pulumi.get(self, "client_id") - - @client_id.setter - def client_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "client_id", value) - - @property - @pulumi.getter(name="objectId") - def object_id(self) -> Optional[pulumi.Input[str]]: - """ - Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - """ - return pulumi.get(self, "object_id") - - @object_id.setter - def object_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "object_id", value) - - -@pulumi.input_type -class ServiceStatusesArgs: - def __init__(__self__, *, - extension_service: Optional[pulumi.Input['ServiceStatusArgs']] = None, - guest_configuration_service: Optional[pulumi.Input['ServiceStatusArgs']] = None): - """ - Reports the state and behavior of dependent services. - :param pulumi.Input['ServiceStatusArgs'] extension_service: The state of the extension service on the Arc-enabled machine. - :param pulumi.Input['ServiceStatusArgs'] guest_configuration_service: The state of the guest configuration service on the Arc-enabled machine. - """ - if extension_service is not None: - pulumi.set(__self__, "extension_service", extension_service) - if guest_configuration_service is not None: - pulumi.set(__self__, "guest_configuration_service", guest_configuration_service) - - @property - @pulumi.getter(name="extensionService") - def extension_service(self) -> Optional[pulumi.Input['ServiceStatusArgs']]: - """ - The state of the extension service on the Arc-enabled machine. - """ - return pulumi.get(self, "extension_service") - - @extension_service.setter - def extension_service(self, value: Optional[pulumi.Input['ServiceStatusArgs']]): - pulumi.set(self, "extension_service", value) - - @property - @pulumi.getter(name="guestConfigurationService") - def guest_configuration_service(self) -> Optional[pulumi.Input['ServiceStatusArgs']]: - """ - The state of the guest configuration service on the Arc-enabled machine. - """ - return pulumi.get(self, "guest_configuration_service") - - @guest_configuration_service.setter - def guest_configuration_service(self, value: Optional[pulumi.Input['ServiceStatusArgs']]): - pulumi.set(self, "guest_configuration_service", value) - - -@pulumi.input_type -class ServiceStatusArgs: - def __init__(__self__, *, - startup_type: Optional[pulumi.Input[str]] = None, - status: Optional[pulumi.Input[str]] = None): - """ - Describes the status and behavior of a service. - :param pulumi.Input[str] startup_type: The behavior of the service when the Arc-enabled machine starts up. - :param pulumi.Input[str] status: The current status of the service. - """ - if startup_type is not None: - pulumi.set(__self__, "startup_type", startup_type) - if status is not None: - pulumi.set(__self__, "status", status) - - @property - @pulumi.getter(name="startupType") - def startup_type(self) -> Optional[pulumi.Input[str]]: - """ - The behavior of the service when the Arc-enabled machine starts up. - """ - return pulumi.get(self, "startup_type") - - @startup_type.setter - def startup_type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "startup_type", value) - - @property - @pulumi.getter - def status(self) -> Optional[pulumi.Input[str]]: - """ - The current status of the service. - """ - return pulumi.get(self, "status") - - @status.setter - def status(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "status", value) - - diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_machine.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_machine.py deleted file mode 100644 index ced9f3774fd7..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_machine.py +++ /dev/null @@ -1,565 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs - -__all__ = [ - 'GetMachineResult', - 'AwaitableGetMachineResult', - 'get_machine', - 'get_machine_output', -] - -@pulumi.output_type -class GetMachineResult: - """ - Describes a hybrid machine. - """ - def __init__(__self__, ad_fqdn=None, agent_configuration=None, agent_upgrade=None, agent_version=None, client_public_key=None, cloud_metadata=None, detected_properties=None, display_name=None, dns_fqdn=None, domain_name=None, error_details=None, extensions=None, id=None, identity=None, kind=None, last_status_change=None, location=None, location_data=None, machine_fqdn=None, mssql_discovered=None, name=None, network_profile=None, os_name=None, os_profile=None, os_sku=None, os_type=None, os_version=None, parent_cluster_resource_id=None, private_link_scope_resource_id=None, provisioning_state=None, resources=None, service_statuses=None, status=None, system_data=None, tags=None, type=None, vm_id=None, vm_uuid=None): - if ad_fqdn and not isinstance(ad_fqdn, str): - raise TypeError("Expected argument 'ad_fqdn' to be a str") - pulumi.set(__self__, "ad_fqdn", ad_fqdn) - if agent_configuration and not isinstance(agent_configuration, dict): - raise TypeError("Expected argument 'agent_configuration' to be a dict") - pulumi.set(__self__, "agent_configuration", agent_configuration) - if agent_upgrade and not isinstance(agent_upgrade, dict): - raise TypeError("Expected argument 'agent_upgrade' to be a dict") - pulumi.set(__self__, "agent_upgrade", agent_upgrade) - if agent_version and not isinstance(agent_version, str): - raise TypeError("Expected argument 'agent_version' to be a str") - pulumi.set(__self__, "agent_version", agent_version) - if client_public_key and not isinstance(client_public_key, str): - raise TypeError("Expected argument 'client_public_key' to be a str") - pulumi.set(__self__, "client_public_key", client_public_key) - if cloud_metadata and not isinstance(cloud_metadata, dict): - raise TypeError("Expected argument 'cloud_metadata' to be a dict") - pulumi.set(__self__, "cloud_metadata", cloud_metadata) - if detected_properties and not isinstance(detected_properties, dict): - raise TypeError("Expected argument 'detected_properties' to be a dict") - pulumi.set(__self__, "detected_properties", detected_properties) - if display_name and not isinstance(display_name, str): - raise TypeError("Expected argument 'display_name' to be a str") - pulumi.set(__self__, "display_name", display_name) - if dns_fqdn and not isinstance(dns_fqdn, str): - raise TypeError("Expected argument 'dns_fqdn' to be a str") - pulumi.set(__self__, "dns_fqdn", dns_fqdn) - if domain_name and not isinstance(domain_name, str): - raise TypeError("Expected argument 'domain_name' to be a str") - pulumi.set(__self__, "domain_name", domain_name) - if error_details and not isinstance(error_details, list): - raise TypeError("Expected argument 'error_details' to be a list") - pulumi.set(__self__, "error_details", error_details) - if extensions and not isinstance(extensions, list): - raise TypeError("Expected argument 'extensions' to be a list") - pulumi.set(__self__, "extensions", extensions) - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if identity and not isinstance(identity, dict): - raise TypeError("Expected argument 'identity' to be a dict") - pulumi.set(__self__, "identity", identity) - if kind and not isinstance(kind, str): - raise TypeError("Expected argument 'kind' to be a str") - pulumi.set(__self__, "kind", kind) - if last_status_change and not isinstance(last_status_change, str): - raise TypeError("Expected argument 'last_status_change' to be a str") - pulumi.set(__self__, "last_status_change", last_status_change) - if location and not isinstance(location, str): - raise TypeError("Expected argument 'location' to be a str") - pulumi.set(__self__, "location", location) - if location_data and not isinstance(location_data, dict): - raise TypeError("Expected argument 'location_data' to be a dict") - pulumi.set(__self__, "location_data", location_data) - if machine_fqdn and not isinstance(machine_fqdn, str): - raise TypeError("Expected argument 'machine_fqdn' to be a str") - pulumi.set(__self__, "machine_fqdn", machine_fqdn) - if mssql_discovered and not isinstance(mssql_discovered, str): - raise TypeError("Expected argument 'mssql_discovered' to be a str") - pulumi.set(__self__, "mssql_discovered", mssql_discovered) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if network_profile and not isinstance(network_profile, dict): - raise TypeError("Expected argument 'network_profile' to be a dict") - pulumi.set(__self__, "network_profile", network_profile) - if os_name and not isinstance(os_name, str): - raise TypeError("Expected argument 'os_name' to be a str") - pulumi.set(__self__, "os_name", os_name) - if os_profile and not isinstance(os_profile, dict): - raise TypeError("Expected argument 'os_profile' to be a dict") - pulumi.set(__self__, "os_profile", os_profile) - if os_sku and not isinstance(os_sku, str): - raise TypeError("Expected argument 'os_sku' to be a str") - pulumi.set(__self__, "os_sku", os_sku) - if os_type and not isinstance(os_type, str): - raise TypeError("Expected argument 'os_type' to be a str") - pulumi.set(__self__, "os_type", os_type) - if os_version and not isinstance(os_version, str): - raise TypeError("Expected argument 'os_version' to be a str") - pulumi.set(__self__, "os_version", os_version) - if parent_cluster_resource_id and not isinstance(parent_cluster_resource_id, str): - raise TypeError("Expected argument 'parent_cluster_resource_id' to be a str") - pulumi.set(__self__, "parent_cluster_resource_id", parent_cluster_resource_id) - if private_link_scope_resource_id and not isinstance(private_link_scope_resource_id, str): - raise TypeError("Expected argument 'private_link_scope_resource_id' to be a str") - pulumi.set(__self__, "private_link_scope_resource_id", private_link_scope_resource_id) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if resources and not isinstance(resources, list): - raise TypeError("Expected argument 'resources' to be a list") - pulumi.set(__self__, "resources", resources) - if service_statuses and not isinstance(service_statuses, dict): - raise TypeError("Expected argument 'service_statuses' to be a dict") - pulumi.set(__self__, "service_statuses", service_statuses) - if status and not isinstance(status, str): - raise TypeError("Expected argument 'status' to be a str") - pulumi.set(__self__, "status", status) - if system_data and not isinstance(system_data, dict): - raise TypeError("Expected argument 'system_data' to be a dict") - pulumi.set(__self__, "system_data", system_data) - if tags and not isinstance(tags, dict): - raise TypeError("Expected argument 'tags' to be a dict") - pulumi.set(__self__, "tags", tags) - if type and not isinstance(type, str): - raise TypeError("Expected argument 'type' to be a str") - pulumi.set(__self__, "type", type) - if vm_id and not isinstance(vm_id, str): - raise TypeError("Expected argument 'vm_id' to be a str") - pulumi.set(__self__, "vm_id", vm_id) - if vm_uuid and not isinstance(vm_uuid, str): - raise TypeError("Expected argument 'vm_uuid' to be a str") - pulumi.set(__self__, "vm_uuid", vm_uuid) - - @property - @pulumi.getter(name="adFqdn") - def ad_fqdn(self) -> str: - """ - Specifies the AD fully qualified display name. - """ - return pulumi.get(self, "ad_fqdn") - - @property - @pulumi.getter(name="agentConfiguration") - def agent_configuration(self) -> 'outputs.AgentConfigurationResponse': - """ - Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. - """ - return pulumi.get(self, "agent_configuration") - - @property - @pulumi.getter(name="agentUpgrade") - def agent_upgrade(self) -> Optional['outputs.AgentUpgradeResponse']: - """ - The info of the machine w.r.t Agent Upgrade - """ - return pulumi.get(self, "agent_upgrade") - - @property - @pulumi.getter(name="agentVersion") - def agent_version(self) -> str: - """ - The hybrid machine agent full version. - """ - return pulumi.get(self, "agent_version") - - @property - @pulumi.getter(name="clientPublicKey") - def client_public_key(self) -> Optional[str]: - """ - Public Key that the client provides to be used during initial resource onboarding - """ - return pulumi.get(self, "client_public_key") - - @property - @pulumi.getter(name="cloudMetadata") - def cloud_metadata(self) -> Optional['outputs.CloudMetadataResponse']: - """ - The metadata of the cloud environment (Azure/GCP/AWS/OCI...). - """ - return pulumi.get(self, "cloud_metadata") - - @property - @pulumi.getter(name="detectedProperties") - def detected_properties(self) -> Mapping[str, str]: - """ - Detected properties from the machine. - """ - return pulumi.get(self, "detected_properties") - - @property - @pulumi.getter(name="displayName") - def display_name(self) -> str: - """ - Specifies the hybrid machine display name. - """ - return pulumi.get(self, "display_name") - - @property - @pulumi.getter(name="dnsFqdn") - def dns_fqdn(self) -> str: - """ - Specifies the DNS fully qualified display name. - """ - return pulumi.get(self, "dns_fqdn") - - @property - @pulumi.getter(name="domainName") - def domain_name(self) -> str: - """ - Specifies the Windows domain name. - """ - return pulumi.get(self, "domain_name") - - @property - @pulumi.getter(name="errorDetails") - def error_details(self) -> Sequence['outputs.ErrorDetailResponse']: - """ - Details about the error state. - """ - return pulumi.get(self, "error_details") - - @property - @pulumi.getter - def extensions(self) -> Optional[Sequence['outputs.MachineExtensionInstanceViewResponse']]: - """ - Machine Extensions information (deprecated field) - """ - return pulumi.get(self, "extensions") - - @property - @pulumi.getter - def id(self) -> str: - """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter - def identity(self) -> Optional['outputs.IdentityResponse']: - """ - Identity for the resource. - """ - return pulumi.get(self, "identity") - - @property - @pulumi.getter - def kind(self) -> Optional[str]: - """ - Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - """ - return pulumi.get(self, "kind") - - @property - @pulumi.getter(name="lastStatusChange") - def last_status_change(self) -> str: - """ - The time of the last status change. - """ - return pulumi.get(self, "last_status_change") - - @property - @pulumi.getter - def location(self) -> str: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter(name="locationData") - def location_data(self) -> Optional['outputs.LocationDataResponse']: - """ - Metadata pertaining to the geographic location of the resource. - """ - return pulumi.get(self, "location_data") - - @property - @pulumi.getter(name="machineFqdn") - def machine_fqdn(self) -> str: - """ - Specifies the hybrid machine FQDN. - """ - return pulumi.get(self, "machine_fqdn") - - @property - @pulumi.getter(name="mssqlDiscovered") - def mssql_discovered(self) -> Optional[str]: - """ - Specifies whether any MS SQL instance is discovered on the machine. - """ - return pulumi.get(self, "mssql_discovered") - - @property - @pulumi.getter - def name(self) -> str: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="networkProfile") - def network_profile(self) -> 'outputs.NetworkProfileResponse': - """ - Information about the network the machine is on. - """ - return pulumi.get(self, "network_profile") - - @property - @pulumi.getter(name="osName") - def os_name(self) -> str: - """ - The Operating System running on the hybrid machine. - """ - return pulumi.get(self, "os_name") - - @property - @pulumi.getter(name="osProfile") - def os_profile(self) -> Optional['outputs.OSProfileResponse']: - """ - Specifies the operating system settings for the hybrid machine. - """ - return pulumi.get(self, "os_profile") - - @property - @pulumi.getter(name="osSku") - def os_sku(self) -> str: - """ - Specifies the Operating System product SKU. - """ - return pulumi.get(self, "os_sku") - - @property - @pulumi.getter(name="osType") - def os_type(self) -> Optional[str]: - """ - The type of Operating System (windows/linux). - """ - return pulumi.get(self, "os_type") - - @property - @pulumi.getter(name="osVersion") - def os_version(self) -> str: - """ - The version of Operating System running on the hybrid machine. - """ - return pulumi.get(self, "os_version") - - @property - @pulumi.getter(name="parentClusterResourceId") - def parent_cluster_resource_id(self) -> Optional[str]: - """ - The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - """ - return pulumi.get(self, "parent_cluster_resource_id") - - @property - @pulumi.getter(name="privateLinkScopeResourceId") - def private_link_scope_resource_id(self) -> Optional[str]: - """ - The resource id of the private link scope this machine is assigned to, if any. - """ - return pulumi.get(self, "private_link_scope_resource_id") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state, which only appears in the response. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter - def resources(self) -> Sequence['outputs.MachineExtensionResponse']: - """ - The list of extensions affiliated to the machine - """ - return pulumi.get(self, "resources") - - @property - @pulumi.getter(name="serviceStatuses") - def service_statuses(self) -> Optional['outputs.ServiceStatusesResponse']: - """ - Statuses of dependent services that are reported back to ARM. - """ - return pulumi.get(self, "service_statuses") - - @property - @pulumi.getter - def status(self) -> str: - """ - The status of the hybrid machine agent. - """ - return pulumi.get(self, "status") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> 'outputs.SystemDataResponse': - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def tags(self) -> Optional[Mapping[str, str]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter - def type(self) -> str: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter(name="vmId") - def vm_id(self) -> Optional[str]: - """ - Specifies the hybrid machine unique ID. - """ - return pulumi.get(self, "vm_id") - - @property - @pulumi.getter(name="vmUuid") - def vm_uuid(self) -> str: - """ - Specifies the Arc Machine's unique SMBIOS ID - """ - return pulumi.get(self, "vm_uuid") - - -class AwaitableGetMachineResult(GetMachineResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetMachineResult( - ad_fqdn=self.ad_fqdn, - agent_configuration=self.agent_configuration, - agent_upgrade=self.agent_upgrade, - agent_version=self.agent_version, - client_public_key=self.client_public_key, - cloud_metadata=self.cloud_metadata, - detected_properties=self.detected_properties, - display_name=self.display_name, - dns_fqdn=self.dns_fqdn, - domain_name=self.domain_name, - error_details=self.error_details, - extensions=self.extensions, - id=self.id, - identity=self.identity, - kind=self.kind, - last_status_change=self.last_status_change, - location=self.location, - location_data=self.location_data, - machine_fqdn=self.machine_fqdn, - mssql_discovered=self.mssql_discovered, - name=self.name, - network_profile=self.network_profile, - os_name=self.os_name, - os_profile=self.os_profile, - os_sku=self.os_sku, - os_type=self.os_type, - os_version=self.os_version, - parent_cluster_resource_id=self.parent_cluster_resource_id, - private_link_scope_resource_id=self.private_link_scope_resource_id, - provisioning_state=self.provisioning_state, - resources=self.resources, - service_statuses=self.service_statuses, - status=self.status, - system_data=self.system_data, - tags=self.tags, - type=self.type, - vm_id=self.vm_id, - vm_uuid=self.vm_uuid) - - -def get_machine(expand: Optional[str] = None, - machine_name: Optional[str] = None, - resource_group_name: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMachineResult: - """ - Retrieves information about the model view or the instance view of a hybrid machine. - - - :param str expand: The expand expression to apply on the operation. - :param str machine_name: The name of the hybrid machine. - :param str resource_group_name: The name of the resource group. The name is case insensitive. - """ - __args__ = dict() - __args__['expand'] = expand - __args__['machineName'] = machine_name - __args__['resourceGroupName'] = resource_group_name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('azure-native:hybridcompute/v20230425preview:getMachine', __args__, opts=opts, typ=GetMachineResult).value - - return AwaitableGetMachineResult( - ad_fqdn=__ret__.ad_fqdn, - agent_configuration=__ret__.agent_configuration, - agent_upgrade=__ret__.agent_upgrade, - agent_version=__ret__.agent_version, - client_public_key=__ret__.client_public_key, - cloud_metadata=__ret__.cloud_metadata, - detected_properties=__ret__.detected_properties, - display_name=__ret__.display_name, - dns_fqdn=__ret__.dns_fqdn, - domain_name=__ret__.domain_name, - error_details=__ret__.error_details, - extensions=__ret__.extensions, - id=__ret__.id, - identity=__ret__.identity, - kind=__ret__.kind, - last_status_change=__ret__.last_status_change, - location=__ret__.location, - location_data=__ret__.location_data, - machine_fqdn=__ret__.machine_fqdn, - mssql_discovered=__ret__.mssql_discovered, - name=__ret__.name, - network_profile=__ret__.network_profile, - os_name=__ret__.os_name, - os_profile=__ret__.os_profile, - os_sku=__ret__.os_sku, - os_type=__ret__.os_type, - os_version=__ret__.os_version, - parent_cluster_resource_id=__ret__.parent_cluster_resource_id, - private_link_scope_resource_id=__ret__.private_link_scope_resource_id, - provisioning_state=__ret__.provisioning_state, - resources=__ret__.resources, - service_statuses=__ret__.service_statuses, - status=__ret__.status, - system_data=__ret__.system_data, - tags=__ret__.tags, - type=__ret__.type, - vm_id=__ret__.vm_id, - vm_uuid=__ret__.vm_uuid) - - -@_utilities.lift_output_func(get_machine) -def get_machine_output(expand: Optional[pulumi.Input[Optional[str]]] = None, - machine_name: Optional[pulumi.Input[str]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMachineResult]: - """ - Retrieves information about the model view or the instance view of a hybrid machine. - - - :param str expand: The expand expression to apply on the operation. - :param str machine_name: The name of the hybrid machine. - :param str resource_group_name: The name of the resource group. The name is case insensitive. - """ - ... diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_machine_extension.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_machine_extension.py deleted file mode 100644 index fecc2b2792b9..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_machine_extension.py +++ /dev/null @@ -1,266 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs - -__all__ = [ - 'GetMachineExtensionResult', - 'AwaitableGetMachineExtensionResult', - 'get_machine_extension', - 'get_machine_extension_output', -] - -@pulumi.output_type -class GetMachineExtensionResult: - """ - Describes a Machine Extension. - """ - def __init__(__self__, auto_upgrade_minor_version=None, enable_automatic_upgrade=None, force_update_tag=None, id=None, instance_view=None, location=None, name=None, protected_settings=None, provisioning_state=None, publisher=None, settings=None, system_data=None, tags=None, type=None, type_handler_version=None): - if auto_upgrade_minor_version and not isinstance(auto_upgrade_minor_version, bool): - raise TypeError("Expected argument 'auto_upgrade_minor_version' to be a bool") - pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) - if enable_automatic_upgrade and not isinstance(enable_automatic_upgrade, bool): - raise TypeError("Expected argument 'enable_automatic_upgrade' to be a bool") - pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) - if force_update_tag and not isinstance(force_update_tag, str): - raise TypeError("Expected argument 'force_update_tag' to be a str") - pulumi.set(__self__, "force_update_tag", force_update_tag) - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if instance_view and not isinstance(instance_view, dict): - raise TypeError("Expected argument 'instance_view' to be a dict") - pulumi.set(__self__, "instance_view", instance_view) - if location and not isinstance(location, str): - raise TypeError("Expected argument 'location' to be a str") - pulumi.set(__self__, "location", location) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if protected_settings and not isinstance(protected_settings, dict): - raise TypeError("Expected argument 'protected_settings' to be a dict") - pulumi.set(__self__, "protected_settings", protected_settings) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if publisher and not isinstance(publisher, str): - raise TypeError("Expected argument 'publisher' to be a str") - pulumi.set(__self__, "publisher", publisher) - if settings and not isinstance(settings, dict): - raise TypeError("Expected argument 'settings' to be a dict") - pulumi.set(__self__, "settings", settings) - if system_data and not isinstance(system_data, dict): - raise TypeError("Expected argument 'system_data' to be a dict") - pulumi.set(__self__, "system_data", system_data) - if tags and not isinstance(tags, dict): - raise TypeError("Expected argument 'tags' to be a dict") - pulumi.set(__self__, "tags", tags) - if type and not isinstance(type, str): - raise TypeError("Expected argument 'type' to be a str") - pulumi.set(__self__, "type", type) - if type_handler_version and not isinstance(type_handler_version, str): - raise TypeError("Expected argument 'type_handler_version' to be a str") - pulumi.set(__self__, "type_handler_version", type_handler_version) - - @property - @pulumi.getter(name="autoUpgradeMinorVersion") - def auto_upgrade_minor_version(self) -> Optional[bool]: - """ - Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - """ - return pulumi.get(self, "auto_upgrade_minor_version") - - @property - @pulumi.getter(name="enableAutomaticUpgrade") - def enable_automatic_upgrade(self) -> Optional[bool]: - """ - Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - """ - return pulumi.get(self, "enable_automatic_upgrade") - - @property - @pulumi.getter(name="forceUpdateTag") - def force_update_tag(self) -> Optional[str]: - """ - How the extension handler should be forced to update even if the extension configuration has not changed. - """ - return pulumi.get(self, "force_update_tag") - - @property - @pulumi.getter - def id(self) -> str: - """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter(name="instanceView") - def instance_view(self) -> Optional['outputs.MachineExtensionInstanceViewResponse']: - """ - The machine extension instance view. - """ - return pulumi.get(self, "instance_view") - - @property - @pulumi.getter - def location(self) -> str: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter - def name(self) -> str: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="protectedSettings") - def protected_settings(self) -> Optional[Any]: - """ - The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - """ - return pulumi.get(self, "protected_settings") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state, which only appears in the response. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter - def publisher(self) -> Optional[str]: - """ - The name of the extension handler publisher. - """ - return pulumi.get(self, "publisher") - - @property - @pulumi.getter - def settings(self) -> Optional[Any]: - """ - Json formatted public settings for the extension. - """ - return pulumi.get(self, "settings") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> 'outputs.SystemDataResponse': - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def tags(self) -> Optional[Mapping[str, str]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter - def type(self) -> str: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter(name="typeHandlerVersion") - def type_handler_version(self) -> Optional[str]: - """ - Specifies the version of the script handler. - """ - return pulumi.get(self, "type_handler_version") - - -class AwaitableGetMachineExtensionResult(GetMachineExtensionResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetMachineExtensionResult( - auto_upgrade_minor_version=self.auto_upgrade_minor_version, - enable_automatic_upgrade=self.enable_automatic_upgrade, - force_update_tag=self.force_update_tag, - id=self.id, - instance_view=self.instance_view, - location=self.location, - name=self.name, - protected_settings=self.protected_settings, - provisioning_state=self.provisioning_state, - publisher=self.publisher, - settings=self.settings, - system_data=self.system_data, - tags=self.tags, - type=self.type, - type_handler_version=self.type_handler_version) - - -def get_machine_extension(extension_name: Optional[str] = None, - machine_name: Optional[str] = None, - resource_group_name: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMachineExtensionResult: - """ - The operation to get the extension. - - - :param str extension_name: The name of the machine extension. - :param str machine_name: The name of the machine containing the extension. - :param str resource_group_name: The name of the resource group. The name is case insensitive. - """ - __args__ = dict() - __args__['extensionName'] = extension_name - __args__['machineName'] = machine_name - __args__['resourceGroupName'] = resource_group_name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('azure-native:hybridcompute/v20230425preview:getMachineExtension', __args__, opts=opts, typ=GetMachineExtensionResult).value - - return AwaitableGetMachineExtensionResult( - auto_upgrade_minor_version=__ret__.auto_upgrade_minor_version, - enable_automatic_upgrade=__ret__.enable_automatic_upgrade, - force_update_tag=__ret__.force_update_tag, - id=__ret__.id, - instance_view=__ret__.instance_view, - location=__ret__.location, - name=__ret__.name, - protected_settings=__ret__.protected_settings, - provisioning_state=__ret__.provisioning_state, - publisher=__ret__.publisher, - settings=__ret__.settings, - system_data=__ret__.system_data, - tags=__ret__.tags, - type=__ret__.type, - type_handler_version=__ret__.type_handler_version) - - -@_utilities.lift_output_func(get_machine_extension) -def get_machine_extension_output(extension_name: Optional[pulumi.Input[str]] = None, - machine_name: Optional[pulumi.Input[str]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMachineExtensionResult]: - """ - The operation to get the extension. - - - :param str extension_name: The name of the machine extension. - :param str machine_name: The name of the machine containing the extension. - :param str resource_group_name: The name of the resource group. The name is case insensitive. - """ - ... diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_machine_run_command.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_machine_run_command.py deleted file mode 100644 index 92cef51a9d7e..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_machine_run_command.py +++ /dev/null @@ -1,318 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs - -__all__ = [ - 'GetMachineRunCommandResult', - 'AwaitableGetMachineRunCommandResult', - 'get_machine_run_command', - 'get_machine_run_command_output', -] - -@pulumi.output_type -class GetMachineRunCommandResult: - """ - Describes a Run Command - """ - def __init__(__self__, async_execution=None, error_blob_managed_identity=None, error_blob_uri=None, id=None, instance_view=None, location=None, name=None, output_blob_managed_identity=None, output_blob_uri=None, parameters=None, protected_parameters=None, provisioning_state=None, run_as_password=None, run_as_user=None, source=None, system_data=None, tags=None, timeout_in_seconds=None, type=None): - if async_execution and not isinstance(async_execution, bool): - raise TypeError("Expected argument 'async_execution' to be a bool") - pulumi.set(__self__, "async_execution", async_execution) - if error_blob_managed_identity and not isinstance(error_blob_managed_identity, dict): - raise TypeError("Expected argument 'error_blob_managed_identity' to be a dict") - pulumi.set(__self__, "error_blob_managed_identity", error_blob_managed_identity) - if error_blob_uri and not isinstance(error_blob_uri, str): - raise TypeError("Expected argument 'error_blob_uri' to be a str") - pulumi.set(__self__, "error_blob_uri", error_blob_uri) - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if instance_view and not isinstance(instance_view, dict): - raise TypeError("Expected argument 'instance_view' to be a dict") - pulumi.set(__self__, "instance_view", instance_view) - if location and not isinstance(location, str): - raise TypeError("Expected argument 'location' to be a str") - pulumi.set(__self__, "location", location) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if output_blob_managed_identity and not isinstance(output_blob_managed_identity, dict): - raise TypeError("Expected argument 'output_blob_managed_identity' to be a dict") - pulumi.set(__self__, "output_blob_managed_identity", output_blob_managed_identity) - if output_blob_uri and not isinstance(output_blob_uri, str): - raise TypeError("Expected argument 'output_blob_uri' to be a str") - pulumi.set(__self__, "output_blob_uri", output_blob_uri) - if parameters and not isinstance(parameters, list): - raise TypeError("Expected argument 'parameters' to be a list") - pulumi.set(__self__, "parameters", parameters) - if protected_parameters and not isinstance(protected_parameters, list): - raise TypeError("Expected argument 'protected_parameters' to be a list") - pulumi.set(__self__, "protected_parameters", protected_parameters) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if run_as_password and not isinstance(run_as_password, str): - raise TypeError("Expected argument 'run_as_password' to be a str") - pulumi.set(__self__, "run_as_password", run_as_password) - if run_as_user and not isinstance(run_as_user, str): - raise TypeError("Expected argument 'run_as_user' to be a str") - pulumi.set(__self__, "run_as_user", run_as_user) - if source and not isinstance(source, dict): - raise TypeError("Expected argument 'source' to be a dict") - pulumi.set(__self__, "source", source) - if system_data and not isinstance(system_data, dict): - raise TypeError("Expected argument 'system_data' to be a dict") - pulumi.set(__self__, "system_data", system_data) - if tags and not isinstance(tags, dict): - raise TypeError("Expected argument 'tags' to be a dict") - pulumi.set(__self__, "tags", tags) - if timeout_in_seconds and not isinstance(timeout_in_seconds, int): - raise TypeError("Expected argument 'timeout_in_seconds' to be a int") - pulumi.set(__self__, "timeout_in_seconds", timeout_in_seconds) - if type and not isinstance(type, str): - raise TypeError("Expected argument 'type' to be a str") - pulumi.set(__self__, "type", type) - - @property - @pulumi.getter(name="asyncExecution") - def async_execution(self) -> Optional[bool]: - """ - Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - """ - return pulumi.get(self, "async_execution") - - @property - @pulumi.getter(name="errorBlobManagedIdentity") - def error_blob_managed_identity(self) -> Optional['outputs.RunCommandManagedIdentityResponse']: - """ - User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - """ - return pulumi.get(self, "error_blob_managed_identity") - - @property - @pulumi.getter(name="errorBlobUri") - def error_blob_uri(self) -> Optional[str]: - """ - Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - """ - return pulumi.get(self, "error_blob_uri") - - @property - @pulumi.getter - def id(self) -> str: - """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter(name="instanceView") - def instance_view(self) -> 'outputs.MachineRunCommandInstanceViewResponse': - """ - The machine run command instance view. - """ - return pulumi.get(self, "instance_view") - - @property - @pulumi.getter - def location(self) -> str: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter - def name(self) -> str: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="outputBlobManagedIdentity") - def output_blob_managed_identity(self) -> Optional['outputs.RunCommandManagedIdentityResponse']: - """ - User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - """ - return pulumi.get(self, "output_blob_managed_identity") - - @property - @pulumi.getter(name="outputBlobUri") - def output_blob_uri(self) -> Optional[str]: - """ - Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - """ - return pulumi.get(self, "output_blob_uri") - - @property - @pulumi.getter - def parameters(self) -> Optional[Sequence['outputs.RunCommandInputParameterResponse']]: - """ - The parameters used by the script. - """ - return pulumi.get(self, "parameters") - - @property - @pulumi.getter(name="protectedParameters") - def protected_parameters(self) -> Optional[Sequence['outputs.RunCommandInputParameterResponse']]: - """ - The parameters used by the script. - """ - return pulumi.get(self, "protected_parameters") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state, which only appears in the response. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="runAsPassword") - def run_as_password(self) -> Optional[str]: - """ - Specifies the user account password on the machine when executing the run command. - """ - return pulumi.get(self, "run_as_password") - - @property - @pulumi.getter(name="runAsUser") - def run_as_user(self) -> Optional[str]: - """ - Specifies the user account on the machine when executing the run command. - """ - return pulumi.get(self, "run_as_user") - - @property - @pulumi.getter - def source(self) -> Optional['outputs.MachineRunCommandScriptSourceResponse']: - """ - The source of the run command script. - """ - return pulumi.get(self, "source") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> 'outputs.SystemDataResponse': - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def tags(self) -> Optional[Mapping[str, str]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter(name="timeoutInSeconds") - def timeout_in_seconds(self) -> Optional[int]: - """ - The timeout in seconds to execute the run command. - """ - return pulumi.get(self, "timeout_in_seconds") - - @property - @pulumi.getter - def type(self) -> str: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - -class AwaitableGetMachineRunCommandResult(GetMachineRunCommandResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetMachineRunCommandResult( - async_execution=self.async_execution, - error_blob_managed_identity=self.error_blob_managed_identity, - error_blob_uri=self.error_blob_uri, - id=self.id, - instance_view=self.instance_view, - location=self.location, - name=self.name, - output_blob_managed_identity=self.output_blob_managed_identity, - output_blob_uri=self.output_blob_uri, - parameters=self.parameters, - protected_parameters=self.protected_parameters, - provisioning_state=self.provisioning_state, - run_as_password=self.run_as_password, - run_as_user=self.run_as_user, - source=self.source, - system_data=self.system_data, - tags=self.tags, - timeout_in_seconds=self.timeout_in_seconds, - type=self.type) - - -def get_machine_run_command(machine_name: Optional[str] = None, - resource_group_name: Optional[str] = None, - run_command_name: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMachineRunCommandResult: - """ - The operation to get a run command. - - - :param str machine_name: The name of the hybrid machine. - :param str resource_group_name: The name of the resource group. The name is case insensitive. - :param str run_command_name: The name of the run command. - """ - __args__ = dict() - __args__['machineName'] = machine_name - __args__['resourceGroupName'] = resource_group_name - __args__['runCommandName'] = run_command_name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('azure-native:hybridcompute/v20230425preview:getMachineRunCommand', __args__, opts=opts, typ=GetMachineRunCommandResult).value - - return AwaitableGetMachineRunCommandResult( - async_execution=__ret__.async_execution, - error_blob_managed_identity=__ret__.error_blob_managed_identity, - error_blob_uri=__ret__.error_blob_uri, - id=__ret__.id, - instance_view=__ret__.instance_view, - location=__ret__.location, - name=__ret__.name, - output_blob_managed_identity=__ret__.output_blob_managed_identity, - output_blob_uri=__ret__.output_blob_uri, - parameters=__ret__.parameters, - protected_parameters=__ret__.protected_parameters, - provisioning_state=__ret__.provisioning_state, - run_as_password=__ret__.run_as_password, - run_as_user=__ret__.run_as_user, - source=__ret__.source, - system_data=__ret__.system_data, - tags=__ret__.tags, - timeout_in_seconds=__ret__.timeout_in_seconds, - type=__ret__.type) - - -@_utilities.lift_output_func(get_machine_run_command) -def get_machine_run_command_output(machine_name: Optional[pulumi.Input[str]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - run_command_name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMachineRunCommandResult]: - """ - The operation to get a run command. - - - :param str machine_name: The name of the hybrid machine. - :param str resource_group_name: The name of the resource group. The name is case insensitive. - :param str run_command_name: The name of the run command. - """ - ... diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_private_endpoint_connection.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_private_endpoint_connection.py deleted file mode 100644 index 004007d5398e..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_private_endpoint_connection.py +++ /dev/null @@ -1,136 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs - -__all__ = [ - 'GetPrivateEndpointConnectionResult', - 'AwaitableGetPrivateEndpointConnectionResult', - 'get_private_endpoint_connection', - 'get_private_endpoint_connection_output', -] - -@pulumi.output_type -class GetPrivateEndpointConnectionResult: - """ - A private endpoint connection - """ - def __init__(__self__, id=None, name=None, properties=None, system_data=None, type=None): - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if properties and not isinstance(properties, dict): - raise TypeError("Expected argument 'properties' to be a dict") - pulumi.set(__self__, "properties", properties) - if system_data and not isinstance(system_data, dict): - raise TypeError("Expected argument 'system_data' to be a dict") - pulumi.set(__self__, "system_data", system_data) - if type and not isinstance(type, str): - raise TypeError("Expected argument 'type' to be a str") - pulumi.set(__self__, "type", type) - - @property - @pulumi.getter - def id(self) -> str: - """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter - def name(self) -> str: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def properties(self) -> 'outputs.PrivateEndpointConnectionPropertiesResponse': - """ - Resource properties. - """ - return pulumi.get(self, "properties") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> 'outputs.SystemDataResponse': - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def type(self) -> str: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - -class AwaitableGetPrivateEndpointConnectionResult(GetPrivateEndpointConnectionResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetPrivateEndpointConnectionResult( - id=self.id, - name=self.name, - properties=self.properties, - system_data=self.system_data, - type=self.type) - - -def get_private_endpoint_connection(private_endpoint_connection_name: Optional[str] = None, - resource_group_name: Optional[str] = None, - scope_name: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPrivateEndpointConnectionResult: - """ - Gets a private endpoint connection. - - - :param str private_endpoint_connection_name: The name of the private endpoint connection. - :param str resource_group_name: The name of the resource group. The name is case insensitive. - :param str scope_name: The name of the Azure Arc PrivateLinkScope resource. - """ - __args__ = dict() - __args__['privateEndpointConnectionName'] = private_endpoint_connection_name - __args__['resourceGroupName'] = resource_group_name - __args__['scopeName'] = scope_name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('azure-native:hybridcompute/v20230425preview:getPrivateEndpointConnection', __args__, opts=opts, typ=GetPrivateEndpointConnectionResult).value - - return AwaitableGetPrivateEndpointConnectionResult( - id=__ret__.id, - name=__ret__.name, - properties=__ret__.properties, - system_data=__ret__.system_data, - type=__ret__.type) - - -@_utilities.lift_output_func(get_private_endpoint_connection) -def get_private_endpoint_connection_output(private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - scope_name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrivateEndpointConnectionResult]: - """ - Gets a private endpoint connection. - - - :param str private_endpoint_connection_name: The name of the private endpoint connection. - :param str resource_group_name: The name of the resource group. The name is case insensitive. - :param str scope_name: The name of the Azure Arc PrivateLinkScope resource. - """ - ... diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_private_link_scope.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_private_link_scope.py deleted file mode 100644 index 1e5b7029507e..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/get_private_link_scope.py +++ /dev/null @@ -1,157 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs - -__all__ = [ - 'GetPrivateLinkScopeResult', - 'AwaitableGetPrivateLinkScopeResult', - 'get_private_link_scope', - 'get_private_link_scope_output', -] - -@pulumi.output_type -class GetPrivateLinkScopeResult: - """ - An Azure Arc PrivateLinkScope definition. - """ - def __init__(__self__, id=None, location=None, name=None, properties=None, system_data=None, tags=None, type=None): - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if location and not isinstance(location, str): - raise TypeError("Expected argument 'location' to be a str") - pulumi.set(__self__, "location", location) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if properties and not isinstance(properties, dict): - raise TypeError("Expected argument 'properties' to be a dict") - pulumi.set(__self__, "properties", properties) - if system_data and not isinstance(system_data, dict): - raise TypeError("Expected argument 'system_data' to be a dict") - pulumi.set(__self__, "system_data", system_data) - if tags and not isinstance(tags, dict): - raise TypeError("Expected argument 'tags' to be a dict") - pulumi.set(__self__, "tags", tags) - if type and not isinstance(type, str): - raise TypeError("Expected argument 'type' to be a str") - pulumi.set(__self__, "type", type) - - @property - @pulumi.getter - def id(self) -> str: - """ - Azure resource Id - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter - def location(self) -> str: - """ - Resource location - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter - def name(self) -> str: - """ - Azure resource name - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def properties(self) -> 'outputs.HybridComputePrivateLinkScopePropertiesResponse': - """ - Properties that define a Azure Arc PrivateLinkScope resource. - """ - return pulumi.get(self, "properties") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> 'outputs.SystemDataResponse': - """ - The system meta data relating to this resource. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def tags(self) -> Optional[Mapping[str, str]]: - """ - Resource tags - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter - def type(self) -> str: - """ - Azure resource type - """ - return pulumi.get(self, "type") - - -class AwaitableGetPrivateLinkScopeResult(GetPrivateLinkScopeResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetPrivateLinkScopeResult( - id=self.id, - location=self.location, - name=self.name, - properties=self.properties, - system_data=self.system_data, - tags=self.tags, - type=self.type) - - -def get_private_link_scope(resource_group_name: Optional[str] = None, - scope_name: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPrivateLinkScopeResult: - """ - Returns a Azure Arc PrivateLinkScope. - - - :param str resource_group_name: The name of the resource group. The name is case insensitive. - :param str scope_name: The name of the Azure Arc PrivateLinkScope resource. - """ - __args__ = dict() - __args__['resourceGroupName'] = resource_group_name - __args__['scopeName'] = scope_name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('azure-native:hybridcompute/v20230425preview:getPrivateLinkScope', __args__, opts=opts, typ=GetPrivateLinkScopeResult).value - - return AwaitableGetPrivateLinkScopeResult( - id=__ret__.id, - location=__ret__.location, - name=__ret__.name, - properties=__ret__.properties, - system_data=__ret__.system_data, - tags=__ret__.tags, - type=__ret__.type) - - -@_utilities.lift_output_func(get_private_link_scope) -def get_private_link_scope_output(resource_group_name: Optional[pulumi.Input[str]] = None, - scope_name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrivateLinkScopeResult]: - """ - Returns a Azure Arc PrivateLinkScope. - - - :param str resource_group_name: The name of the resource group. The name is case insensitive. - :param str scope_name: The name of the Azure Arc PrivateLinkScope resource. - """ - ... diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/machine.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/machine.py deleted file mode 100644 index cf27ffe9f4eb..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/machine.py +++ /dev/null @@ -1,791 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs -from ._enums import * -from ._inputs import * - -__all__ = ['MachineArgs', 'Machine'] - -@pulumi.input_type -class MachineArgs: - def __init__(__self__, *, - resource_group_name: pulumi.Input[str], - agent_upgrade: Optional[pulumi.Input['AgentUpgradeArgs']] = None, - client_public_key: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input['MachineExtensionInstanceViewArgs']]]] = None, - identity: Optional[pulumi.Input['IdentityArgs']] = None, - kind: Optional[pulumi.Input[Union[str, 'PrivateCloudKind']]] = None, - location: Optional[pulumi.Input[str]] = None, - location_data: Optional[pulumi.Input['LocationDataArgs']] = None, - machine_name: Optional[pulumi.Input[str]] = None, - mssql_discovered: Optional[pulumi.Input[str]] = None, - os_profile: Optional[pulumi.Input['OSProfileArgs']] = None, - os_type: Optional[pulumi.Input[str]] = None, - parent_cluster_resource_id: Optional[pulumi.Input[str]] = None, - private_link_scope_resource_id: Optional[pulumi.Input[str]] = None, - service_statuses: Optional[pulumi.Input['ServiceStatusesArgs']] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vm_id: Optional[pulumi.Input[str]] = None): - """ - The set of arguments for constructing a Machine resource. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input['AgentUpgradeArgs'] agent_upgrade: The info of the machine w.r.t Agent Upgrade - :param pulumi.Input[str] client_public_key: Public Key that the client provides to be used during initial resource onboarding - :param pulumi.Input[Sequence[pulumi.Input['MachineExtensionInstanceViewArgs']]] extensions: Machine Extensions information (deprecated field) - :param pulumi.Input['IdentityArgs'] identity: Identity for the resource. - :param pulumi.Input[Union[str, 'PrivateCloudKind']] kind: Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - :param pulumi.Input[str] location: The geo-location where the resource lives - :param pulumi.Input['LocationDataArgs'] location_data: Metadata pertaining to the geographic location of the resource. - :param pulumi.Input[str] machine_name: The name of the hybrid machine. - :param pulumi.Input[str] mssql_discovered: Specifies whether any MS SQL instance is discovered on the machine. - :param pulumi.Input['OSProfileArgs'] os_profile: Specifies the operating system settings for the hybrid machine. - :param pulumi.Input[str] os_type: The type of Operating System (windows/linux). - :param pulumi.Input[str] parent_cluster_resource_id: The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - :param pulumi.Input[str] private_link_scope_resource_id: The resource id of the private link scope this machine is assigned to, if any. - :param pulumi.Input['ServiceStatusesArgs'] service_statuses: Statuses of dependent services that are reported back to ARM. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[str] vm_id: Specifies the hybrid machine unique ID. - """ - pulumi.set(__self__, "resource_group_name", resource_group_name) - if agent_upgrade is not None: - pulumi.set(__self__, "agent_upgrade", agent_upgrade) - if client_public_key is not None: - pulumi.set(__self__, "client_public_key", client_public_key) - if extensions is not None: - pulumi.set(__self__, "extensions", extensions) - if identity is not None: - pulumi.set(__self__, "identity", identity) - if kind is not None: - pulumi.set(__self__, "kind", kind) - if location is not None: - pulumi.set(__self__, "location", location) - if location_data is not None: - pulumi.set(__self__, "location_data", location_data) - if machine_name is not None: - pulumi.set(__self__, "machine_name", machine_name) - if mssql_discovered is not None: - pulumi.set(__self__, "mssql_discovered", mssql_discovered) - if os_profile is not None: - pulumi.set(__self__, "os_profile", os_profile) - if os_type is not None: - pulumi.set(__self__, "os_type", os_type) - if parent_cluster_resource_id is not None: - pulumi.set(__self__, "parent_cluster_resource_id", parent_cluster_resource_id) - if private_link_scope_resource_id is not None: - pulumi.set(__self__, "private_link_scope_resource_id", private_link_scope_resource_id) - if service_statuses is not None: - pulumi.set(__self__, "service_statuses", service_statuses) - if tags is not None: - pulumi.set(__self__, "tags", tags) - if vm_id is not None: - pulumi.set(__self__, "vm_id", vm_id) - - @property - @pulumi.getter(name="resourceGroupName") - def resource_group_name(self) -> pulumi.Input[str]: - """ - The name of the resource group. The name is case insensitive. - """ - return pulumi.get(self, "resource_group_name") - - @resource_group_name.setter - def resource_group_name(self, value: pulumi.Input[str]): - pulumi.set(self, "resource_group_name", value) - - @property - @pulumi.getter(name="agentUpgrade") - def agent_upgrade(self) -> Optional[pulumi.Input['AgentUpgradeArgs']]: - """ - The info of the machine w.r.t Agent Upgrade - """ - return pulumi.get(self, "agent_upgrade") - - @agent_upgrade.setter - def agent_upgrade(self, value: Optional[pulumi.Input['AgentUpgradeArgs']]): - pulumi.set(self, "agent_upgrade", value) - - @property - @pulumi.getter(name="clientPublicKey") - def client_public_key(self) -> Optional[pulumi.Input[str]]: - """ - Public Key that the client provides to be used during initial resource onboarding - """ - return pulumi.get(self, "client_public_key") - - @client_public_key.setter - def client_public_key(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "client_public_key", value) - - @property - @pulumi.getter - def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MachineExtensionInstanceViewArgs']]]]: - """ - Machine Extensions information (deprecated field) - """ - return pulumi.get(self, "extensions") - - @extensions.setter - def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MachineExtensionInstanceViewArgs']]]]): - pulumi.set(self, "extensions", value) - - @property - @pulumi.getter - def identity(self) -> Optional[pulumi.Input['IdentityArgs']]: - """ - Identity for the resource. - """ - return pulumi.get(self, "identity") - - @identity.setter - def identity(self, value: Optional[pulumi.Input['IdentityArgs']]): - pulumi.set(self, "identity", value) - - @property - @pulumi.getter - def kind(self) -> Optional[pulumi.Input[Union[str, 'PrivateCloudKind']]]: - """ - Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - """ - return pulumi.get(self, "kind") - - @kind.setter - def kind(self, value: Optional[pulumi.Input[Union[str, 'PrivateCloudKind']]]): - pulumi.set(self, "kind", value) - - @property - @pulumi.getter - def location(self) -> Optional[pulumi.Input[str]]: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @location.setter - def location(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "location", value) - - @property - @pulumi.getter(name="locationData") - def location_data(self) -> Optional[pulumi.Input['LocationDataArgs']]: - """ - Metadata pertaining to the geographic location of the resource. - """ - return pulumi.get(self, "location_data") - - @location_data.setter - def location_data(self, value: Optional[pulumi.Input['LocationDataArgs']]): - pulumi.set(self, "location_data", value) - - @property - @pulumi.getter(name="machineName") - def machine_name(self) -> Optional[pulumi.Input[str]]: - """ - The name of the hybrid machine. - """ - return pulumi.get(self, "machine_name") - - @machine_name.setter - def machine_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "machine_name", value) - - @property - @pulumi.getter(name="mssqlDiscovered") - def mssql_discovered(self) -> Optional[pulumi.Input[str]]: - """ - Specifies whether any MS SQL instance is discovered on the machine. - """ - return pulumi.get(self, "mssql_discovered") - - @mssql_discovered.setter - def mssql_discovered(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "mssql_discovered", value) - - @property - @pulumi.getter(name="osProfile") - def os_profile(self) -> Optional[pulumi.Input['OSProfileArgs']]: - """ - Specifies the operating system settings for the hybrid machine. - """ - return pulumi.get(self, "os_profile") - - @os_profile.setter - def os_profile(self, value: Optional[pulumi.Input['OSProfileArgs']]): - pulumi.set(self, "os_profile", value) - - @property - @pulumi.getter(name="osType") - def os_type(self) -> Optional[pulumi.Input[str]]: - """ - The type of Operating System (windows/linux). - """ - return pulumi.get(self, "os_type") - - @os_type.setter - def os_type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "os_type", value) - - @property - @pulumi.getter(name="parentClusterResourceId") - def parent_cluster_resource_id(self) -> Optional[pulumi.Input[str]]: - """ - The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - """ - return pulumi.get(self, "parent_cluster_resource_id") - - @parent_cluster_resource_id.setter - def parent_cluster_resource_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "parent_cluster_resource_id", value) - - @property - @pulumi.getter(name="privateLinkScopeResourceId") - def private_link_scope_resource_id(self) -> Optional[pulumi.Input[str]]: - """ - The resource id of the private link scope this machine is assigned to, if any. - """ - return pulumi.get(self, "private_link_scope_resource_id") - - @private_link_scope_resource_id.setter - def private_link_scope_resource_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "private_link_scope_resource_id", value) - - @property - @pulumi.getter(name="serviceStatuses") - def service_statuses(self) -> Optional[pulumi.Input['ServiceStatusesArgs']]: - """ - Statuses of dependent services that are reported back to ARM. - """ - return pulumi.get(self, "service_statuses") - - @service_statuses.setter - def service_statuses(self, value: Optional[pulumi.Input['ServiceStatusesArgs']]): - pulumi.set(self, "service_statuses", value) - - @property - @pulumi.getter - def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @tags.setter - def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "tags", value) - - @property - @pulumi.getter(name="vmId") - def vm_id(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the hybrid machine unique ID. - """ - return pulumi.get(self, "vm_id") - - @vm_id.setter - def vm_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "vm_id", value) - - -class Machine(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - agent_upgrade: Optional[pulumi.Input[pulumi.InputType['AgentUpgradeArgs']]] = None, - client_public_key: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MachineExtensionInstanceViewArgs']]]]] = None, - identity: Optional[pulumi.Input[pulumi.InputType['IdentityArgs']]] = None, - kind: Optional[pulumi.Input[Union[str, 'PrivateCloudKind']]] = None, - location: Optional[pulumi.Input[str]] = None, - location_data: Optional[pulumi.Input[pulumi.InputType['LocationDataArgs']]] = None, - machine_name: Optional[pulumi.Input[str]] = None, - mssql_discovered: Optional[pulumi.Input[str]] = None, - os_profile: Optional[pulumi.Input[pulumi.InputType['OSProfileArgs']]] = None, - os_type: Optional[pulumi.Input[str]] = None, - parent_cluster_resource_id: Optional[pulumi.Input[str]] = None, - private_link_scope_resource_id: Optional[pulumi.Input[str]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - service_statuses: Optional[pulumi.Input[pulumi.InputType['ServiceStatusesArgs']]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vm_id: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - Describes a hybrid machine. - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['AgentUpgradeArgs']] agent_upgrade: The info of the machine w.r.t Agent Upgrade - :param pulumi.Input[str] client_public_key: Public Key that the client provides to be used during initial resource onboarding - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MachineExtensionInstanceViewArgs']]]] extensions: Machine Extensions information (deprecated field) - :param pulumi.Input[pulumi.InputType['IdentityArgs']] identity: Identity for the resource. - :param pulumi.Input[Union[str, 'PrivateCloudKind']] kind: Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - :param pulumi.Input[str] location: The geo-location where the resource lives - :param pulumi.Input[pulumi.InputType['LocationDataArgs']] location_data: Metadata pertaining to the geographic location of the resource. - :param pulumi.Input[str] machine_name: The name of the hybrid machine. - :param pulumi.Input[str] mssql_discovered: Specifies whether any MS SQL instance is discovered on the machine. - :param pulumi.Input[pulumi.InputType['OSProfileArgs']] os_profile: Specifies the operating system settings for the hybrid machine. - :param pulumi.Input[str] os_type: The type of Operating System (windows/linux). - :param pulumi.Input[str] parent_cluster_resource_id: The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - :param pulumi.Input[str] private_link_scope_resource_id: The resource id of the private link scope this machine is assigned to, if any. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[pulumi.InputType['ServiceStatusesArgs']] service_statuses: Statuses of dependent services that are reported back to ARM. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[str] vm_id: Specifies the hybrid machine unique ID. - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: MachineArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Describes a hybrid machine. - - :param str resource_name: The name of the resource. - :param MachineArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(MachineArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - agent_upgrade: Optional[pulumi.Input[pulumi.InputType['AgentUpgradeArgs']]] = None, - client_public_key: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MachineExtensionInstanceViewArgs']]]]] = None, - identity: Optional[pulumi.Input[pulumi.InputType['IdentityArgs']]] = None, - kind: Optional[pulumi.Input[Union[str, 'PrivateCloudKind']]] = None, - location: Optional[pulumi.Input[str]] = None, - location_data: Optional[pulumi.Input[pulumi.InputType['LocationDataArgs']]] = None, - machine_name: Optional[pulumi.Input[str]] = None, - mssql_discovered: Optional[pulumi.Input[str]] = None, - os_profile: Optional[pulumi.Input[pulumi.InputType['OSProfileArgs']]] = None, - os_type: Optional[pulumi.Input[str]] = None, - parent_cluster_resource_id: Optional[pulumi.Input[str]] = None, - private_link_scope_resource_id: Optional[pulumi.Input[str]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - service_statuses: Optional[pulumi.Input[pulumi.InputType['ServiceStatusesArgs']]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vm_id: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = MachineArgs.__new__(MachineArgs) - - __props__.__dict__["agent_upgrade"] = agent_upgrade - __props__.__dict__["client_public_key"] = client_public_key - __props__.__dict__["extensions"] = extensions - __props__.__dict__["identity"] = identity - __props__.__dict__["kind"] = kind - __props__.__dict__["location"] = location - __props__.__dict__["location_data"] = location_data - __props__.__dict__["machine_name"] = machine_name - __props__.__dict__["mssql_discovered"] = mssql_discovered - __props__.__dict__["os_profile"] = os_profile - __props__.__dict__["os_type"] = os_type - __props__.__dict__["parent_cluster_resource_id"] = parent_cluster_resource_id - __props__.__dict__["private_link_scope_resource_id"] = private_link_scope_resource_id - if resource_group_name is None and not opts.urn: - raise TypeError("Missing required property 'resource_group_name'") - __props__.__dict__["resource_group_name"] = resource_group_name - __props__.__dict__["service_statuses"] = service_statuses - __props__.__dict__["tags"] = tags - __props__.__dict__["vm_id"] = vm_id - __props__.__dict__["ad_fqdn"] = None - __props__.__dict__["agent_configuration"] = None - __props__.__dict__["agent_version"] = None - __props__.__dict__["cloud_metadata"] = None - __props__.__dict__["detected_properties"] = None - __props__.__dict__["display_name"] = None - __props__.__dict__["dns_fqdn"] = None - __props__.__dict__["domain_name"] = None - __props__.__dict__["error_details"] = None - __props__.__dict__["last_status_change"] = None - __props__.__dict__["machine_fqdn"] = None - __props__.__dict__["name"] = None - __props__.__dict__["network_profile"] = None - __props__.__dict__["os_name"] = None - __props__.__dict__["os_sku"] = None - __props__.__dict__["os_version"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["resources"] = None - __props__.__dict__["status"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - __props__.__dict__["vm_uuid"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190318preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:Machine"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:Machine")]) - opts = pulumi.ResourceOptions.merge(opts, alias_opts) - super(Machine, __self__).__init__( - 'azure-native:hybridcompute/v20230425preview:Machine', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None) -> 'Machine': - """ - Get an existing Machine resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = MachineArgs.__new__(MachineArgs) - - __props__.__dict__["ad_fqdn"] = None - __props__.__dict__["agent_configuration"] = None - __props__.__dict__["agent_upgrade"] = None - __props__.__dict__["agent_version"] = None - __props__.__dict__["client_public_key"] = None - __props__.__dict__["cloud_metadata"] = None - __props__.__dict__["detected_properties"] = None - __props__.__dict__["display_name"] = None - __props__.__dict__["dns_fqdn"] = None - __props__.__dict__["domain_name"] = None - __props__.__dict__["error_details"] = None - __props__.__dict__["extensions"] = None - __props__.__dict__["identity"] = None - __props__.__dict__["kind"] = None - __props__.__dict__["last_status_change"] = None - __props__.__dict__["location"] = None - __props__.__dict__["location_data"] = None - __props__.__dict__["machine_fqdn"] = None - __props__.__dict__["mssql_discovered"] = None - __props__.__dict__["name"] = None - __props__.__dict__["network_profile"] = None - __props__.__dict__["os_name"] = None - __props__.__dict__["os_profile"] = None - __props__.__dict__["os_sku"] = None - __props__.__dict__["os_type"] = None - __props__.__dict__["os_version"] = None - __props__.__dict__["parent_cluster_resource_id"] = None - __props__.__dict__["private_link_scope_resource_id"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["resources"] = None - __props__.__dict__["service_statuses"] = None - __props__.__dict__["status"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["tags"] = None - __props__.__dict__["type"] = None - __props__.__dict__["vm_id"] = None - __props__.__dict__["vm_uuid"] = None - return Machine(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="adFqdn") - def ad_fqdn(self) -> pulumi.Output[str]: - """ - Specifies the AD fully qualified display name. - """ - return pulumi.get(self, "ad_fqdn") - - @property - @pulumi.getter(name="agentConfiguration") - def agent_configuration(self) -> pulumi.Output['outputs.AgentConfigurationResponse']: - """ - Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. - """ - return pulumi.get(self, "agent_configuration") - - @property - @pulumi.getter(name="agentUpgrade") - def agent_upgrade(self) -> pulumi.Output[Optional['outputs.AgentUpgradeResponse']]: - """ - The info of the machine w.r.t Agent Upgrade - """ - return pulumi.get(self, "agent_upgrade") - - @property - @pulumi.getter(name="agentVersion") - def agent_version(self) -> pulumi.Output[str]: - """ - The hybrid machine agent full version. - """ - return pulumi.get(self, "agent_version") - - @property - @pulumi.getter(name="clientPublicKey") - def client_public_key(self) -> pulumi.Output[Optional[str]]: - """ - Public Key that the client provides to be used during initial resource onboarding - """ - return pulumi.get(self, "client_public_key") - - @property - @pulumi.getter(name="cloudMetadata") - def cloud_metadata(self) -> pulumi.Output[Optional['outputs.CloudMetadataResponse']]: - """ - The metadata of the cloud environment (Azure/GCP/AWS/OCI...). - """ - return pulumi.get(self, "cloud_metadata") - - @property - @pulumi.getter(name="detectedProperties") - def detected_properties(self) -> pulumi.Output[Mapping[str, str]]: - """ - Detected properties from the machine. - """ - return pulumi.get(self, "detected_properties") - - @property - @pulumi.getter(name="displayName") - def display_name(self) -> pulumi.Output[str]: - """ - Specifies the hybrid machine display name. - """ - return pulumi.get(self, "display_name") - - @property - @pulumi.getter(name="dnsFqdn") - def dns_fqdn(self) -> pulumi.Output[str]: - """ - Specifies the DNS fully qualified display name. - """ - return pulumi.get(self, "dns_fqdn") - - @property - @pulumi.getter(name="domainName") - def domain_name(self) -> pulumi.Output[str]: - """ - Specifies the Windows domain name. - """ - return pulumi.get(self, "domain_name") - - @property - @pulumi.getter(name="errorDetails") - def error_details(self) -> pulumi.Output[Sequence['outputs.ErrorDetailResponse']]: - """ - Details about the error state. - """ - return pulumi.get(self, "error_details") - - @property - @pulumi.getter - def extensions(self) -> pulumi.Output[Optional[Sequence['outputs.MachineExtensionInstanceViewResponse']]]: - """ - Machine Extensions information (deprecated field) - """ - return pulumi.get(self, "extensions") - - @property - @pulumi.getter - def identity(self) -> pulumi.Output[Optional['outputs.IdentityResponse']]: - """ - Identity for the resource. - """ - return pulumi.get(self, "identity") - - @property - @pulumi.getter - def kind(self) -> pulumi.Output[Optional[str]]: - """ - Indicates which kind of VM fabric the instance is an instance of, such as HCI or SCVMM etc. - """ - return pulumi.get(self, "kind") - - @property - @pulumi.getter(name="lastStatusChange") - def last_status_change(self) -> pulumi.Output[str]: - """ - The time of the last status change. - """ - return pulumi.get(self, "last_status_change") - - @property - @pulumi.getter - def location(self) -> pulumi.Output[str]: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter(name="locationData") - def location_data(self) -> pulumi.Output[Optional['outputs.LocationDataResponse']]: - """ - Metadata pertaining to the geographic location of the resource. - """ - return pulumi.get(self, "location_data") - - @property - @pulumi.getter(name="machineFqdn") - def machine_fqdn(self) -> pulumi.Output[str]: - """ - Specifies the hybrid machine FQDN. - """ - return pulumi.get(self, "machine_fqdn") - - @property - @pulumi.getter(name="mssqlDiscovered") - def mssql_discovered(self) -> pulumi.Output[Optional[str]]: - """ - Specifies whether any MS SQL instance is discovered on the machine. - """ - return pulumi.get(self, "mssql_discovered") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="networkProfile") - def network_profile(self) -> pulumi.Output['outputs.NetworkProfileResponse']: - """ - Information about the network the machine is on. - """ - return pulumi.get(self, "network_profile") - - @property - @pulumi.getter(name="osName") - def os_name(self) -> pulumi.Output[str]: - """ - The Operating System running on the hybrid machine. - """ - return pulumi.get(self, "os_name") - - @property - @pulumi.getter(name="osProfile") - def os_profile(self) -> pulumi.Output[Optional['outputs.OSProfileResponse']]: - """ - Specifies the operating system settings for the hybrid machine. - """ - return pulumi.get(self, "os_profile") - - @property - @pulumi.getter(name="osSku") - def os_sku(self) -> pulumi.Output[str]: - """ - Specifies the Operating System product SKU. - """ - return pulumi.get(self, "os_sku") - - @property - @pulumi.getter(name="osType") - def os_type(self) -> pulumi.Output[Optional[str]]: - """ - The type of Operating System (windows/linux). - """ - return pulumi.get(self, "os_type") - - @property - @pulumi.getter(name="osVersion") - def os_version(self) -> pulumi.Output[str]: - """ - The version of Operating System running on the hybrid machine. - """ - return pulumi.get(self, "os_version") - - @property - @pulumi.getter(name="parentClusterResourceId") - def parent_cluster_resource_id(self) -> pulumi.Output[Optional[str]]: - """ - The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any. - """ - return pulumi.get(self, "parent_cluster_resource_id") - - @property - @pulumi.getter(name="privateLinkScopeResourceId") - def private_link_scope_resource_id(self) -> pulumi.Output[Optional[str]]: - """ - The resource id of the private link scope this machine is assigned to, if any. - """ - return pulumi.get(self, "private_link_scope_resource_id") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state, which only appears in the response. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter - def resources(self) -> pulumi.Output[Sequence['outputs.MachineExtensionResponse']]: - """ - The list of extensions affiliated to the machine - """ - return pulumi.get(self, "resources") - - @property - @pulumi.getter(name="serviceStatuses") - def service_statuses(self) -> pulumi.Output[Optional['outputs.ServiceStatusesResponse']]: - """ - Statuses of dependent services that are reported back to ARM. - """ - return pulumi.get(self, "service_statuses") - - @property - @pulumi.getter - def status(self) -> pulumi.Output[str]: - """ - The status of the hybrid machine agent. - """ - return pulumi.get(self, "status") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter - def type(self) -> pulumi.Output[str]: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter(name="vmId") - def vm_id(self) -> pulumi.Output[Optional[str]]: - """ - Specifies the hybrid machine unique ID. - """ - return pulumi.get(self, "vm_id") - - @property - @pulumi.getter(name="vmUuid") - def vm_uuid(self) -> pulumi.Output[str]: - """ - Specifies the Arc Machine's unique SMBIOS ID - """ - return pulumi.get(self, "vm_uuid") - diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/machine_extension.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/machine_extension.py deleted file mode 100644 index 7d30ad9799e1..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/machine_extension.py +++ /dev/null @@ -1,506 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs -from ._enums import * -from ._inputs import * - -__all__ = ['MachineExtensionArgs', 'MachineExtension'] - -@pulumi.input_type -class MachineExtensionArgs: - def __init__(__self__, *, - machine_name: pulumi.Input[str], - resource_group_name: pulumi.Input[str], - auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, - enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, - extension_name: Optional[pulumi.Input[str]] = None, - force_update_tag: Optional[pulumi.Input[str]] = None, - instance_view: Optional[pulumi.Input['MachineExtensionInstanceViewArgs']] = None, - location: Optional[pulumi.Input[str]] = None, - protected_settings: Optional[Any] = None, - publisher: Optional[pulumi.Input[str]] = None, - settings: Optional[Any] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - type: Optional[pulumi.Input[str]] = None, - type_handler_version: Optional[pulumi.Input[str]] = None): - """ - The set of arguments for constructing a MachineExtension resource. - :param pulumi.Input[str] machine_name: The name of the machine where the extension should be created or updated. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[bool] auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - :param pulumi.Input[bool] enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - :param pulumi.Input[str] extension_name: The name of the machine extension. - :param pulumi.Input[str] force_update_tag: How the extension handler should be forced to update even if the extension configuration has not changed. - :param pulumi.Input['MachineExtensionInstanceViewArgs'] instance_view: The machine extension instance view. - :param pulumi.Input[str] location: The geo-location where the resource lives - :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - :param pulumi.Input[str] publisher: The name of the extension handler publisher. - :param Any settings: Json formatted public settings for the extension. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension". - :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler. - """ - pulumi.set(__self__, "machine_name", machine_name) - pulumi.set(__self__, "resource_group_name", resource_group_name) - if auto_upgrade_minor_version is not None: - pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) - if enable_automatic_upgrade is not None: - pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) - if extension_name is not None: - pulumi.set(__self__, "extension_name", extension_name) - if force_update_tag is not None: - pulumi.set(__self__, "force_update_tag", force_update_tag) - if instance_view is not None: - pulumi.set(__self__, "instance_view", instance_view) - if location is not None: - pulumi.set(__self__, "location", location) - if protected_settings is not None: - pulumi.set(__self__, "protected_settings", protected_settings) - if publisher is not None: - pulumi.set(__self__, "publisher", publisher) - if settings is not None: - pulumi.set(__self__, "settings", settings) - if tags is not None: - pulumi.set(__self__, "tags", tags) - if type is not None: - pulumi.set(__self__, "type", type) - if type_handler_version is not None: - pulumi.set(__self__, "type_handler_version", type_handler_version) - - @property - @pulumi.getter(name="machineName") - def machine_name(self) -> pulumi.Input[str]: - """ - The name of the machine where the extension should be created or updated. - """ - return pulumi.get(self, "machine_name") - - @machine_name.setter - def machine_name(self, value: pulumi.Input[str]): - pulumi.set(self, "machine_name", value) - - @property - @pulumi.getter(name="resourceGroupName") - def resource_group_name(self) -> pulumi.Input[str]: - """ - The name of the resource group. The name is case insensitive. - """ - return pulumi.get(self, "resource_group_name") - - @resource_group_name.setter - def resource_group_name(self, value: pulumi.Input[str]): - pulumi.set(self, "resource_group_name", value) - - @property - @pulumi.getter(name="autoUpgradeMinorVersion") - def auto_upgrade_minor_version(self) -> Optional[pulumi.Input[bool]]: - """ - Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - """ - return pulumi.get(self, "auto_upgrade_minor_version") - - @auto_upgrade_minor_version.setter - def auto_upgrade_minor_version(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "auto_upgrade_minor_version", value) - - @property - @pulumi.getter(name="enableAutomaticUpgrade") - def enable_automatic_upgrade(self) -> Optional[pulumi.Input[bool]]: - """ - Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - """ - return pulumi.get(self, "enable_automatic_upgrade") - - @enable_automatic_upgrade.setter - def enable_automatic_upgrade(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "enable_automatic_upgrade", value) - - @property - @pulumi.getter(name="extensionName") - def extension_name(self) -> Optional[pulumi.Input[str]]: - """ - The name of the machine extension. - """ - return pulumi.get(self, "extension_name") - - @extension_name.setter - def extension_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "extension_name", value) - - @property - @pulumi.getter(name="forceUpdateTag") - def force_update_tag(self) -> Optional[pulumi.Input[str]]: - """ - How the extension handler should be forced to update even if the extension configuration has not changed. - """ - return pulumi.get(self, "force_update_tag") - - @force_update_tag.setter - def force_update_tag(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "force_update_tag", value) - - @property - @pulumi.getter(name="instanceView") - def instance_view(self) -> Optional[pulumi.Input['MachineExtensionInstanceViewArgs']]: - """ - The machine extension instance view. - """ - return pulumi.get(self, "instance_view") - - @instance_view.setter - def instance_view(self, value: Optional[pulumi.Input['MachineExtensionInstanceViewArgs']]): - pulumi.set(self, "instance_view", value) - - @property - @pulumi.getter - def location(self) -> Optional[pulumi.Input[str]]: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @location.setter - def location(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "location", value) - - @property - @pulumi.getter(name="protectedSettings") - def protected_settings(self) -> Optional[Any]: - """ - The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - """ - return pulumi.get(self, "protected_settings") - - @protected_settings.setter - def protected_settings(self, value: Optional[Any]): - pulumi.set(self, "protected_settings", value) - - @property - @pulumi.getter - def publisher(self) -> Optional[pulumi.Input[str]]: - """ - The name of the extension handler publisher. - """ - return pulumi.get(self, "publisher") - - @publisher.setter - def publisher(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "publisher", value) - - @property - @pulumi.getter - def settings(self) -> Optional[Any]: - """ - Json formatted public settings for the extension. - """ - return pulumi.get(self, "settings") - - @settings.setter - def settings(self, value: Optional[Any]): - pulumi.set(self, "settings", value) - - @property - @pulumi.getter - def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @tags.setter - def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "tags", value) - - @property - @pulumi.getter - def type(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the type of the extension; an example is "CustomScriptExtension". - """ - return pulumi.get(self, "type") - - @type.setter - def type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "type", value) - - @property - @pulumi.getter(name="typeHandlerVersion") - def type_handler_version(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the version of the script handler. - """ - return pulumi.get(self, "type_handler_version") - - @type_handler_version.setter - def type_handler_version(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "type_handler_version", value) - - -class MachineExtension(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, - enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, - extension_name: Optional[pulumi.Input[str]] = None, - force_update_tag: Optional[pulumi.Input[str]] = None, - instance_view: Optional[pulumi.Input[pulumi.InputType['MachineExtensionInstanceViewArgs']]] = None, - location: Optional[pulumi.Input[str]] = None, - machine_name: Optional[pulumi.Input[str]] = None, - protected_settings: Optional[Any] = None, - publisher: Optional[pulumi.Input[str]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - settings: Optional[Any] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - type: Optional[pulumi.Input[str]] = None, - type_handler_version: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - Describes a Machine Extension. - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[bool] auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - :param pulumi.Input[bool] enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - :param pulumi.Input[str] extension_name: The name of the machine extension. - :param pulumi.Input[str] force_update_tag: How the extension handler should be forced to update even if the extension configuration has not changed. - :param pulumi.Input[pulumi.InputType['MachineExtensionInstanceViewArgs']] instance_view: The machine extension instance view. - :param pulumi.Input[str] location: The geo-location where the resource lives - :param pulumi.Input[str] machine_name: The name of the machine where the extension should be created or updated. - :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - :param pulumi.Input[str] publisher: The name of the extension handler publisher. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param Any settings: Json formatted public settings for the extension. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[str] type: Specifies the type of the extension; an example is "CustomScriptExtension". - :param pulumi.Input[str] type_handler_version: Specifies the version of the script handler. - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: MachineExtensionArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Describes a Machine Extension. - - :param str resource_name: The name of the resource. - :param MachineExtensionArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(MachineExtensionArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None, - enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None, - extension_name: Optional[pulumi.Input[str]] = None, - force_update_tag: Optional[pulumi.Input[str]] = None, - instance_view: Optional[pulumi.Input[pulumi.InputType['MachineExtensionInstanceViewArgs']]] = None, - location: Optional[pulumi.Input[str]] = None, - machine_name: Optional[pulumi.Input[str]] = None, - protected_settings: Optional[Any] = None, - publisher: Optional[pulumi.Input[str]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - settings: Optional[Any] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - type: Optional[pulumi.Input[str]] = None, - type_handler_version: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = MachineExtensionArgs.__new__(MachineExtensionArgs) - - __props__.__dict__["auto_upgrade_minor_version"] = auto_upgrade_minor_version - __props__.__dict__["enable_automatic_upgrade"] = enable_automatic_upgrade - __props__.__dict__["extension_name"] = extension_name - __props__.__dict__["force_update_tag"] = force_update_tag - __props__.__dict__["instance_view"] = instance_view - __props__.__dict__["location"] = location - if machine_name is None and not opts.urn: - raise TypeError("Missing required property 'machine_name'") - __props__.__dict__["machine_name"] = machine_name - __props__.__dict__["protected_settings"] = protected_settings - __props__.__dict__["publisher"] = publisher - if resource_group_name is None and not opts.urn: - raise TypeError("Missing required property 'resource_group_name'") - __props__.__dict__["resource_group_name"] = resource_group_name - __props__.__dict__["settings"] = settings - __props__.__dict__["tags"] = tags - __props__.__dict__["type"] = type - __props__.__dict__["type_handler_version"] = type_handler_version - __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["system_data"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20190802preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20191212:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200730preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200802:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:MachineExtension"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:MachineExtension")]) - opts = pulumi.ResourceOptions.merge(opts, alias_opts) - super(MachineExtension, __self__).__init__( - 'azure-native:hybridcompute/v20230425preview:MachineExtension', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None) -> 'MachineExtension': - """ - Get an existing MachineExtension resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = MachineExtensionArgs.__new__(MachineExtensionArgs) - - __props__.__dict__["auto_upgrade_minor_version"] = None - __props__.__dict__["enable_automatic_upgrade"] = None - __props__.__dict__["force_update_tag"] = None - __props__.__dict__["instance_view"] = None - __props__.__dict__["location"] = None - __props__.__dict__["name"] = None - __props__.__dict__["protected_settings"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["publisher"] = None - __props__.__dict__["settings"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["tags"] = None - __props__.__dict__["type"] = None - __props__.__dict__["type_handler_version"] = None - return MachineExtension(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="autoUpgradeMinorVersion") - def auto_upgrade_minor_version(self) -> pulumi.Output[Optional[bool]]: - """ - Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - """ - return pulumi.get(self, "auto_upgrade_minor_version") - - @property - @pulumi.getter(name="enableAutomaticUpgrade") - def enable_automatic_upgrade(self) -> pulumi.Output[Optional[bool]]: - """ - Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - """ - return pulumi.get(self, "enable_automatic_upgrade") - - @property - @pulumi.getter(name="forceUpdateTag") - def force_update_tag(self) -> pulumi.Output[Optional[str]]: - """ - How the extension handler should be forced to update even if the extension configuration has not changed. - """ - return pulumi.get(self, "force_update_tag") - - @property - @pulumi.getter(name="instanceView") - def instance_view(self) -> pulumi.Output[Optional['outputs.MachineExtensionInstanceViewResponse']]: - """ - The machine extension instance view. - """ - return pulumi.get(self, "instance_view") - - @property - @pulumi.getter - def location(self) -> pulumi.Output[str]: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="protectedSettings") - def protected_settings(self) -> pulumi.Output[Optional[Any]]: - """ - The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - """ - return pulumi.get(self, "protected_settings") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state, which only appears in the response. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter - def publisher(self) -> pulumi.Output[Optional[str]]: - """ - The name of the extension handler publisher. - """ - return pulumi.get(self, "publisher") - - @property - @pulumi.getter - def settings(self) -> pulumi.Output[Optional[Any]]: - """ - Json formatted public settings for the extension. - """ - return pulumi.get(self, "settings") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter - def type(self) -> pulumi.Output[str]: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter(name="typeHandlerVersion") - def type_handler_version(self) -> pulumi.Output[Optional[str]]: - """ - Specifies the version of the script handler. - """ - return pulumi.get(self, "type_handler_version") - diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/machine_run_command.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/machine_run_command.py deleted file mode 100644 index 01d68884229d..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/machine_run_command.py +++ /dev/null @@ -1,587 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs -from ._inputs import * - -__all__ = ['MachineRunCommandArgs', 'MachineRunCommand'] - -@pulumi.input_type -class MachineRunCommandArgs: - def __init__(__self__, *, - machine_name: pulumi.Input[str], - resource_group_name: pulumi.Input[str], - async_execution: Optional[pulumi.Input[bool]] = None, - error_blob_managed_identity: Optional[pulumi.Input['RunCommandManagedIdentityArgs']] = None, - error_blob_uri: Optional[pulumi.Input[str]] = None, - location: Optional[pulumi.Input[str]] = None, - output_blob_managed_identity: Optional[pulumi.Input['RunCommandManagedIdentityArgs']] = None, - output_blob_uri: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]] = None, - protected_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]] = None, - run_as_password: Optional[pulumi.Input[str]] = None, - run_as_user: Optional[pulumi.Input[str]] = None, - run_command_name: Optional[pulumi.Input[str]] = None, - source: Optional[pulumi.Input['MachineRunCommandScriptSourceArgs']] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - timeout_in_seconds: Optional[pulumi.Input[int]] = None): - """ - The set of arguments for constructing a MachineRunCommand resource. - :param pulumi.Input[str] machine_name: The name of the hybrid machine. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[bool] async_execution: Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - :param pulumi.Input['RunCommandManagedIdentityArgs'] error_blob_managed_identity: User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - :param pulumi.Input[str] error_blob_uri: Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - :param pulumi.Input[str] location: The geo-location where the resource lives - :param pulumi.Input['RunCommandManagedIdentityArgs'] output_blob_managed_identity: User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - :param pulumi.Input[str] output_blob_uri: Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - :param pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]] parameters: The parameters used by the script. - :param pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]] protected_parameters: The parameters used by the script. - :param pulumi.Input[str] run_as_password: Specifies the user account password on the machine when executing the run command. - :param pulumi.Input[str] run_as_user: Specifies the user account on the machine when executing the run command. - :param pulumi.Input[str] run_command_name: The name of the run command. - :param pulumi.Input['MachineRunCommandScriptSourceArgs'] source: The source of the run command script. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[int] timeout_in_seconds: The timeout in seconds to execute the run command. - """ - pulumi.set(__self__, "machine_name", machine_name) - pulumi.set(__self__, "resource_group_name", resource_group_name) - if async_execution is None: - async_execution = False - if async_execution is not None: - pulumi.set(__self__, "async_execution", async_execution) - if error_blob_managed_identity is not None: - pulumi.set(__self__, "error_blob_managed_identity", error_blob_managed_identity) - if error_blob_uri is not None: - pulumi.set(__self__, "error_blob_uri", error_blob_uri) - if location is not None: - pulumi.set(__self__, "location", location) - if output_blob_managed_identity is not None: - pulumi.set(__self__, "output_blob_managed_identity", output_blob_managed_identity) - if output_blob_uri is not None: - pulumi.set(__self__, "output_blob_uri", output_blob_uri) - if parameters is not None: - pulumi.set(__self__, "parameters", parameters) - if protected_parameters is not None: - pulumi.set(__self__, "protected_parameters", protected_parameters) - if run_as_password is not None: - pulumi.set(__self__, "run_as_password", run_as_password) - if run_as_user is not None: - pulumi.set(__self__, "run_as_user", run_as_user) - if run_command_name is not None: - pulumi.set(__self__, "run_command_name", run_command_name) - if source is not None: - pulumi.set(__self__, "source", source) - if tags is not None: - pulumi.set(__self__, "tags", tags) - if timeout_in_seconds is not None: - pulumi.set(__self__, "timeout_in_seconds", timeout_in_seconds) - - @property - @pulumi.getter(name="machineName") - def machine_name(self) -> pulumi.Input[str]: - """ - The name of the hybrid machine. - """ - return pulumi.get(self, "machine_name") - - @machine_name.setter - def machine_name(self, value: pulumi.Input[str]): - pulumi.set(self, "machine_name", value) - - @property - @pulumi.getter(name="resourceGroupName") - def resource_group_name(self) -> pulumi.Input[str]: - """ - The name of the resource group. The name is case insensitive. - """ - return pulumi.get(self, "resource_group_name") - - @resource_group_name.setter - def resource_group_name(self, value: pulumi.Input[str]): - pulumi.set(self, "resource_group_name", value) - - @property - @pulumi.getter(name="asyncExecution") - def async_execution(self) -> Optional[pulumi.Input[bool]]: - """ - Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - """ - return pulumi.get(self, "async_execution") - - @async_execution.setter - def async_execution(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "async_execution", value) - - @property - @pulumi.getter(name="errorBlobManagedIdentity") - def error_blob_managed_identity(self) -> Optional[pulumi.Input['RunCommandManagedIdentityArgs']]: - """ - User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - """ - return pulumi.get(self, "error_blob_managed_identity") - - @error_blob_managed_identity.setter - def error_blob_managed_identity(self, value: Optional[pulumi.Input['RunCommandManagedIdentityArgs']]): - pulumi.set(self, "error_blob_managed_identity", value) - - @property - @pulumi.getter(name="errorBlobUri") - def error_blob_uri(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - """ - return pulumi.get(self, "error_blob_uri") - - @error_blob_uri.setter - def error_blob_uri(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "error_blob_uri", value) - - @property - @pulumi.getter - def location(self) -> Optional[pulumi.Input[str]]: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @location.setter - def location(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "location", value) - - @property - @pulumi.getter(name="outputBlobManagedIdentity") - def output_blob_managed_identity(self) -> Optional[pulumi.Input['RunCommandManagedIdentityArgs']]: - """ - User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - """ - return pulumi.get(self, "output_blob_managed_identity") - - @output_blob_managed_identity.setter - def output_blob_managed_identity(self, value: Optional[pulumi.Input['RunCommandManagedIdentityArgs']]): - pulumi.set(self, "output_blob_managed_identity", value) - - @property - @pulumi.getter(name="outputBlobUri") - def output_blob_uri(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - """ - return pulumi.get(self, "output_blob_uri") - - @output_blob_uri.setter - def output_blob_uri(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "output_blob_uri", value) - - @property - @pulumi.getter - def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]: - """ - The parameters used by the script. - """ - return pulumi.get(self, "parameters") - - @parameters.setter - def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]): - pulumi.set(self, "parameters", value) - - @property - @pulumi.getter(name="protectedParameters") - def protected_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]: - """ - The parameters used by the script. - """ - return pulumi.get(self, "protected_parameters") - - @protected_parameters.setter - def protected_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RunCommandInputParameterArgs']]]]): - pulumi.set(self, "protected_parameters", value) - - @property - @pulumi.getter(name="runAsPassword") - def run_as_password(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the user account password on the machine when executing the run command. - """ - return pulumi.get(self, "run_as_password") - - @run_as_password.setter - def run_as_password(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "run_as_password", value) - - @property - @pulumi.getter(name="runAsUser") - def run_as_user(self) -> Optional[pulumi.Input[str]]: - """ - Specifies the user account on the machine when executing the run command. - """ - return pulumi.get(self, "run_as_user") - - @run_as_user.setter - def run_as_user(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "run_as_user", value) - - @property - @pulumi.getter(name="runCommandName") - def run_command_name(self) -> Optional[pulumi.Input[str]]: - """ - The name of the run command. - """ - return pulumi.get(self, "run_command_name") - - @run_command_name.setter - def run_command_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "run_command_name", value) - - @property - @pulumi.getter - def source(self) -> Optional[pulumi.Input['MachineRunCommandScriptSourceArgs']]: - """ - The source of the run command script. - """ - return pulumi.get(self, "source") - - @source.setter - def source(self, value: Optional[pulumi.Input['MachineRunCommandScriptSourceArgs']]): - pulumi.set(self, "source", value) - - @property - @pulumi.getter - def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @tags.setter - def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "tags", value) - - @property - @pulumi.getter(name="timeoutInSeconds") - def timeout_in_seconds(self) -> Optional[pulumi.Input[int]]: - """ - The timeout in seconds to execute the run command. - """ - return pulumi.get(self, "timeout_in_seconds") - - @timeout_in_seconds.setter - def timeout_in_seconds(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "timeout_in_seconds", value) - - -class MachineRunCommand(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - async_execution: Optional[pulumi.Input[bool]] = None, - error_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, - error_blob_uri: Optional[pulumi.Input[str]] = None, - location: Optional[pulumi.Input[str]] = None, - machine_name: Optional[pulumi.Input[str]] = None, - output_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, - output_blob_uri: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, - protected_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - run_as_password: Optional[pulumi.Input[str]] = None, - run_as_user: Optional[pulumi.Input[str]] = None, - run_command_name: Optional[pulumi.Input[str]] = None, - source: Optional[pulumi.Input[pulumi.InputType['MachineRunCommandScriptSourceArgs']]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - timeout_in_seconds: Optional[pulumi.Input[int]] = None, - __props__=None): - """ - Describes a Run Command - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[bool] async_execution: Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - :param pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']] error_blob_managed_identity: User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - :param pulumi.Input[str] error_blob_uri: Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - :param pulumi.Input[str] location: The geo-location where the resource lives - :param pulumi.Input[str] machine_name: The name of the hybrid machine. - :param pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']] output_blob_managed_identity: User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - :param pulumi.Input[str] output_blob_uri: Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]] parameters: The parameters used by the script. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]] protected_parameters: The parameters used by the script. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[str] run_as_password: Specifies the user account password on the machine when executing the run command. - :param pulumi.Input[str] run_as_user: Specifies the user account on the machine when executing the run command. - :param pulumi.Input[str] run_command_name: The name of the run command. - :param pulumi.Input[pulumi.InputType['MachineRunCommandScriptSourceArgs']] source: The source of the run command script. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[int] timeout_in_seconds: The timeout in seconds to execute the run command. - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: MachineRunCommandArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Describes a Run Command - - :param str resource_name: The name of the resource. - :param MachineRunCommandArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(MachineRunCommandArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - async_execution: Optional[pulumi.Input[bool]] = None, - error_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, - error_blob_uri: Optional[pulumi.Input[str]] = None, - location: Optional[pulumi.Input[str]] = None, - machine_name: Optional[pulumi.Input[str]] = None, - output_blob_managed_identity: Optional[pulumi.Input[pulumi.InputType['RunCommandManagedIdentityArgs']]] = None, - output_blob_uri: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, - protected_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RunCommandInputParameterArgs']]]]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - run_as_password: Optional[pulumi.Input[str]] = None, - run_as_user: Optional[pulumi.Input[str]] = None, - run_command_name: Optional[pulumi.Input[str]] = None, - source: Optional[pulumi.Input[pulumi.InputType['MachineRunCommandScriptSourceArgs']]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - timeout_in_seconds: Optional[pulumi.Input[int]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = MachineRunCommandArgs.__new__(MachineRunCommandArgs) - - if async_execution is None: - async_execution = False - __props__.__dict__["async_execution"] = async_execution - __props__.__dict__["error_blob_managed_identity"] = error_blob_managed_identity - __props__.__dict__["error_blob_uri"] = error_blob_uri - __props__.__dict__["location"] = location - if machine_name is None and not opts.urn: - raise TypeError("Missing required property 'machine_name'") - __props__.__dict__["machine_name"] = machine_name - __props__.__dict__["output_blob_managed_identity"] = output_blob_managed_identity - __props__.__dict__["output_blob_uri"] = output_blob_uri - __props__.__dict__["parameters"] = parameters - __props__.__dict__["protected_parameters"] = protected_parameters - if resource_group_name is None and not opts.urn: - raise TypeError("Missing required property 'resource_group_name'") - __props__.__dict__["resource_group_name"] = resource_group_name - __props__.__dict__["run_as_password"] = run_as_password - __props__.__dict__["run_as_user"] = run_as_user - __props__.__dict__["run_command_name"] = run_command_name - __props__.__dict__["source"] = source - __props__.__dict__["tags"] = tags - __props__.__dict__["timeout_in_seconds"] = timeout_in_seconds - __props__.__dict__["instance_view"] = None - __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:MachineRunCommand")]) - opts = pulumi.ResourceOptions.merge(opts, alias_opts) - super(MachineRunCommand, __self__).__init__( - 'azure-native:hybridcompute/v20230425preview:MachineRunCommand', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None) -> 'MachineRunCommand': - """ - Get an existing MachineRunCommand resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = MachineRunCommandArgs.__new__(MachineRunCommandArgs) - - __props__.__dict__["async_execution"] = None - __props__.__dict__["error_blob_managed_identity"] = None - __props__.__dict__["error_blob_uri"] = None - __props__.__dict__["instance_view"] = None - __props__.__dict__["location"] = None - __props__.__dict__["name"] = None - __props__.__dict__["output_blob_managed_identity"] = None - __props__.__dict__["output_blob_uri"] = None - __props__.__dict__["parameters"] = None - __props__.__dict__["protected_parameters"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["run_as_password"] = None - __props__.__dict__["run_as_user"] = None - __props__.__dict__["source"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["tags"] = None - __props__.__dict__["timeout_in_seconds"] = None - __props__.__dict__["type"] = None - return MachineRunCommand(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="asyncExecution") - def async_execution(self) -> pulumi.Output[Optional[bool]]: - """ - Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to complete. - """ - return pulumi.get(self, "async_execution") - - @property - @pulumi.getter(name="errorBlobManagedIdentity") - def error_blob_managed_identity(self) -> pulumi.Output[Optional['outputs.RunCommandManagedIdentityResponse']]: - """ - User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - """ - return pulumi.get(self, "error_blob_managed_identity") - - @property - @pulumi.getter(name="errorBlobUri") - def error_blob_uri(self) -> pulumi.Output[Optional[str]]: - """ - Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity parameter. - """ - return pulumi.get(self, "error_blob_uri") - - @property - @pulumi.getter(name="instanceView") - def instance_view(self) -> pulumi.Output['outputs.MachineRunCommandInstanceViewResponse']: - """ - The machine run command instance view. - """ - return pulumi.get(self, "instance_view") - - @property - @pulumi.getter - def location(self) -> pulumi.Output[str]: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="outputBlobManagedIdentity") - def output_blob_managed_identity(self) -> pulumi.Output[Optional['outputs.RunCommandManagedIdentityResponse']]: - """ - User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged - """ - return pulumi.get(self, "output_blob_managed_identity") - - @property - @pulumi.getter(name="outputBlobUri") - def output_blob_uri(self) -> pulumi.Output[Optional[str]]: - """ - Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob. Refer outputBlobManagedIdentity parameter. - """ - return pulumi.get(self, "output_blob_uri") - - @property - @pulumi.getter - def parameters(self) -> pulumi.Output[Optional[Sequence['outputs.RunCommandInputParameterResponse']]]: - """ - The parameters used by the script. - """ - return pulumi.get(self, "parameters") - - @property - @pulumi.getter(name="protectedParameters") - def protected_parameters(self) -> pulumi.Output[Optional[Sequence['outputs.RunCommandInputParameterResponse']]]: - """ - The parameters used by the script. - """ - return pulumi.get(self, "protected_parameters") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state, which only appears in the response. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="runAsPassword") - def run_as_password(self) -> pulumi.Output[Optional[str]]: - """ - Specifies the user account password on the machine when executing the run command. - """ - return pulumi.get(self, "run_as_password") - - @property - @pulumi.getter(name="runAsUser") - def run_as_user(self) -> pulumi.Output[Optional[str]]: - """ - Specifies the user account on the machine when executing the run command. - """ - return pulumi.get(self, "run_as_user") - - @property - @pulumi.getter - def source(self) -> pulumi.Output[Optional['outputs.MachineRunCommandScriptSourceResponse']]: - """ - The source of the run command script. - """ - return pulumi.get(self, "source") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter(name="timeoutInSeconds") - def timeout_in_seconds(self) -> pulumi.Output[Optional[int]]: - """ - The timeout in seconds to execute the run command. - """ - return pulumi.get(self, "timeout_in_seconds") - - @property - @pulumi.getter - def type(self) -> pulumi.Output[str]: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/outputs.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/outputs.py deleted file mode 100644 index d19be81ed965..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/outputs.py +++ /dev/null @@ -1,2150 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs -from ._enums import * - -__all__ = [ - 'AgentConfigurationResponse', - 'AgentUpgradeResponse', - 'CloudMetadataResponse', - 'ConfigurationExtensionResponse', - 'ErrorAdditionalInfoResponse', - 'ErrorDetailResponse', - 'HybridComputePrivateLinkScopePropertiesResponse', - 'IdentityResponse', - 'IpAddressResponse', - 'LocationDataResponse', - 'MachineExtensionInstanceViewResponse', - 'MachineExtensionInstanceViewResponseStatus', - 'MachineExtensionResponse', - 'MachineRunCommandInstanceViewResponse', - 'MachineRunCommandInstanceViewResponseStatus', - 'MachineRunCommandScriptSourceResponse', - 'NetworkInterfaceResponse', - 'NetworkProfileResponse', - 'OSProfileResponse', - 'OSProfileResponseLinuxConfiguration', - 'OSProfileResponseWindowsConfiguration', - 'PrivateEndpointConnectionDataModelResponse', - 'PrivateEndpointConnectionPropertiesResponse', - 'PrivateEndpointPropertyResponse', - 'PrivateLinkServiceConnectionStatePropertyResponse', - 'RunCommandInputParameterResponse', - 'RunCommandManagedIdentityResponse', - 'ServiceStatusResponse', - 'ServiceStatusesResponse', - 'SubnetResponse', - 'SystemDataResponse', -] - -@pulumi.output_type -class AgentConfigurationResponse(dict): - """ - Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "configMode": - suggest = "config_mode" - elif key == "extensionsAllowList": - suggest = "extensions_allow_list" - elif key == "extensionsBlockList": - suggest = "extensions_block_list" - elif key == "extensionsEnabled": - suggest = "extensions_enabled" - elif key == "guestConfigurationEnabled": - suggest = "guest_configuration_enabled" - elif key == "incomingConnectionsPorts": - suggest = "incoming_connections_ports" - elif key == "proxyBypass": - suggest = "proxy_bypass" - elif key == "proxyUrl": - suggest = "proxy_url" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in AgentConfigurationResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - AgentConfigurationResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - AgentConfigurationResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - config_mode: str, - extensions_allow_list: Sequence['outputs.ConfigurationExtensionResponse'], - extensions_block_list: Sequence['outputs.ConfigurationExtensionResponse'], - extensions_enabled: str, - guest_configuration_enabled: str, - incoming_connections_ports: Sequence[str], - proxy_bypass: Sequence[str], - proxy_url: str): - """ - Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM. - :param str config_mode: Name of configuration mode to use. Modes are pre-defined configurations of security controls, extension allowlists and guest configuration, maintained by Microsoft. - :param Sequence['ConfigurationExtensionResponse'] extensions_allow_list: Array of extensions that are allowed to be installed or updated. - :param Sequence['ConfigurationExtensionResponse'] extensions_block_list: Array of extensions that are blocked (cannot be installed or updated) - :param str extensions_enabled: Specifies whether the extension service is enabled or disabled. - :param str guest_configuration_enabled: Specified whether the guest configuration service is enabled or disabled. - :param Sequence[str] incoming_connections_ports: Specifies the list of ports that the agent will be able to listen on. - :param Sequence[str] proxy_bypass: List of service names which should not use the specified proxy server. - :param str proxy_url: Specifies the URL of the proxy to be used. - """ - pulumi.set(__self__, "config_mode", config_mode) - pulumi.set(__self__, "extensions_allow_list", extensions_allow_list) - pulumi.set(__self__, "extensions_block_list", extensions_block_list) - pulumi.set(__self__, "extensions_enabled", extensions_enabled) - pulumi.set(__self__, "guest_configuration_enabled", guest_configuration_enabled) - pulumi.set(__self__, "incoming_connections_ports", incoming_connections_ports) - pulumi.set(__self__, "proxy_bypass", proxy_bypass) - pulumi.set(__self__, "proxy_url", proxy_url) - - @property - @pulumi.getter(name="configMode") - def config_mode(self) -> str: - """ - Name of configuration mode to use. Modes are pre-defined configurations of security controls, extension allowlists and guest configuration, maintained by Microsoft. - """ - return pulumi.get(self, "config_mode") - - @property - @pulumi.getter(name="extensionsAllowList") - def extensions_allow_list(self) -> Sequence['outputs.ConfigurationExtensionResponse']: - """ - Array of extensions that are allowed to be installed or updated. - """ - return pulumi.get(self, "extensions_allow_list") - - @property - @pulumi.getter(name="extensionsBlockList") - def extensions_block_list(self) -> Sequence['outputs.ConfigurationExtensionResponse']: - """ - Array of extensions that are blocked (cannot be installed or updated) - """ - return pulumi.get(self, "extensions_block_list") - - @property - @pulumi.getter(name="extensionsEnabled") - def extensions_enabled(self) -> str: - """ - Specifies whether the extension service is enabled or disabled. - """ - return pulumi.get(self, "extensions_enabled") - - @property - @pulumi.getter(name="guestConfigurationEnabled") - def guest_configuration_enabled(self) -> str: - """ - Specified whether the guest configuration service is enabled or disabled. - """ - return pulumi.get(self, "guest_configuration_enabled") - - @property - @pulumi.getter(name="incomingConnectionsPorts") - def incoming_connections_ports(self) -> Sequence[str]: - """ - Specifies the list of ports that the agent will be able to listen on. - """ - return pulumi.get(self, "incoming_connections_ports") - - @property - @pulumi.getter(name="proxyBypass") - def proxy_bypass(self) -> Sequence[str]: - """ - List of service names which should not use the specified proxy server. - """ - return pulumi.get(self, "proxy_bypass") - - @property - @pulumi.getter(name="proxyUrl") - def proxy_url(self) -> str: - """ - Specifies the URL of the proxy to be used. - """ - return pulumi.get(self, "proxy_url") - - -@pulumi.output_type -class AgentUpgradeResponse(dict): - """ - The info w.r.t Agent Upgrade. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "lastAttemptDesiredVersion": - suggest = "last_attempt_desired_version" - elif key == "lastAttemptMessage": - suggest = "last_attempt_message" - elif key == "lastAttemptStatus": - suggest = "last_attempt_status" - elif key == "lastAttemptTimestamp": - suggest = "last_attempt_timestamp" - elif key == "correlationId": - suggest = "correlation_id" - elif key == "desiredVersion": - suggest = "desired_version" - elif key == "enableAutomaticUpgrade": - suggest = "enable_automatic_upgrade" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in AgentUpgradeResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - AgentUpgradeResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - AgentUpgradeResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - last_attempt_desired_version: str, - last_attempt_message: str, - last_attempt_status: str, - last_attempt_timestamp: str, - correlation_id: Optional[str] = None, - desired_version: Optional[str] = None, - enable_automatic_upgrade: Optional[bool] = None): - """ - The info w.r.t Agent Upgrade. - :param str last_attempt_desired_version: Specifies the version of the last attempt - :param str last_attempt_message: Failure message of last upgrade attempt if any. - :param str last_attempt_status: Specifies the status of Agent Upgrade. - :param str last_attempt_timestamp: Timestamp of last upgrade attempt - :param str correlation_id: The correlation ID passed in from RSM per upgrade. - :param str desired_version: Specifies the version info w.r.t AgentUpgrade for the machine. - :param bool enable_automatic_upgrade: Specifies if RSM should try to upgrade this machine - """ - pulumi.set(__self__, "last_attempt_desired_version", last_attempt_desired_version) - pulumi.set(__self__, "last_attempt_message", last_attempt_message) - pulumi.set(__self__, "last_attempt_status", last_attempt_status) - pulumi.set(__self__, "last_attempt_timestamp", last_attempt_timestamp) - if correlation_id is not None: - pulumi.set(__self__, "correlation_id", correlation_id) - if desired_version is not None: - pulumi.set(__self__, "desired_version", desired_version) - if enable_automatic_upgrade is not None: - pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) - - @property - @pulumi.getter(name="lastAttemptDesiredVersion") - def last_attempt_desired_version(self) -> str: - """ - Specifies the version of the last attempt - """ - return pulumi.get(self, "last_attempt_desired_version") - - @property - @pulumi.getter(name="lastAttemptMessage") - def last_attempt_message(self) -> str: - """ - Failure message of last upgrade attempt if any. - """ - return pulumi.get(self, "last_attempt_message") - - @property - @pulumi.getter(name="lastAttemptStatus") - def last_attempt_status(self) -> str: - """ - Specifies the status of Agent Upgrade. - """ - return pulumi.get(self, "last_attempt_status") - - @property - @pulumi.getter(name="lastAttemptTimestamp") - def last_attempt_timestamp(self) -> str: - """ - Timestamp of last upgrade attempt - """ - return pulumi.get(self, "last_attempt_timestamp") - - @property - @pulumi.getter(name="correlationId") - def correlation_id(self) -> Optional[str]: - """ - The correlation ID passed in from RSM per upgrade. - """ - return pulumi.get(self, "correlation_id") - - @property - @pulumi.getter(name="desiredVersion") - def desired_version(self) -> Optional[str]: - """ - Specifies the version info w.r.t AgentUpgrade for the machine. - """ - return pulumi.get(self, "desired_version") - - @property - @pulumi.getter(name="enableAutomaticUpgrade") - def enable_automatic_upgrade(self) -> Optional[bool]: - """ - Specifies if RSM should try to upgrade this machine - """ - return pulumi.get(self, "enable_automatic_upgrade") - - -@pulumi.output_type -class CloudMetadataResponse(dict): - """ - The metadata of the cloud environment (Azure/GCP/AWS/OCI...). - """ - def __init__(__self__, *, - provider: str): - """ - The metadata of the cloud environment (Azure/GCP/AWS/OCI...). - :param str provider: Specifies the cloud provider (Azure/AWS/GCP...). - """ - pulumi.set(__self__, "provider", provider) - - @property - @pulumi.getter - def provider(self) -> str: - """ - Specifies the cloud provider (Azure/AWS/GCP...). - """ - return pulumi.get(self, "provider") - - -@pulumi.output_type -class ConfigurationExtensionResponse(dict): - """ - Describes properties that can identify extensions. - """ - def __init__(__self__, *, - publisher: str, - type: str): - """ - Describes properties that can identify extensions. - :param str publisher: Publisher of the extension. - :param str type: Type of the extension. - """ - pulumi.set(__self__, "publisher", publisher) - pulumi.set(__self__, "type", type) - - @property - @pulumi.getter - def publisher(self) -> str: - """ - Publisher of the extension. - """ - return pulumi.get(self, "publisher") - - @property - @pulumi.getter - def type(self) -> str: - """ - Type of the extension. - """ - return pulumi.get(self, "type") - - -@pulumi.output_type -class ErrorAdditionalInfoResponse(dict): - """ - The resource management error additional info. - """ - def __init__(__self__, *, - info: Any, - type: str): - """ - The resource management error additional info. - :param Any info: The additional info. - :param str type: The additional info type. - """ - pulumi.set(__self__, "info", info) - pulumi.set(__self__, "type", type) - - @property - @pulumi.getter - def info(self) -> Any: - """ - The additional info. - """ - return pulumi.get(self, "info") - - @property - @pulumi.getter - def type(self) -> str: - """ - The additional info type. - """ - return pulumi.get(self, "type") - - -@pulumi.output_type -class ErrorDetailResponse(dict): - """ - The error detail. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "additionalInfo": - suggest = "additional_info" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ErrorDetailResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ErrorDetailResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ErrorDetailResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - additional_info: Sequence['outputs.ErrorAdditionalInfoResponse'], - code: str, - details: Sequence['outputs.ErrorDetailResponse'], - message: str, - target: str): - """ - The error detail. - :param Sequence['ErrorAdditionalInfoResponse'] additional_info: The error additional info. - :param str code: The error code. - :param Sequence['ErrorDetailResponse'] details: The error details. - :param str message: The error message. - :param str target: The error target. - """ - pulumi.set(__self__, "additional_info", additional_info) - pulumi.set(__self__, "code", code) - pulumi.set(__self__, "details", details) - pulumi.set(__self__, "message", message) - pulumi.set(__self__, "target", target) - - @property - @pulumi.getter(name="additionalInfo") - def additional_info(self) -> Sequence['outputs.ErrorAdditionalInfoResponse']: - """ - The error additional info. - """ - return pulumi.get(self, "additional_info") - - @property - @pulumi.getter - def code(self) -> str: - """ - The error code. - """ - return pulumi.get(self, "code") - - @property - @pulumi.getter - def details(self) -> Sequence['outputs.ErrorDetailResponse']: - """ - The error details. - """ - return pulumi.get(self, "details") - - @property - @pulumi.getter - def message(self) -> str: - """ - The error message. - """ - return pulumi.get(self, "message") - - @property - @pulumi.getter - def target(self) -> str: - """ - The error target. - """ - return pulumi.get(self, "target") - - -@pulumi.output_type -class HybridComputePrivateLinkScopePropertiesResponse(dict): - """ - Properties that define a Azure Arc PrivateLinkScope resource. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "privateEndpointConnections": - suggest = "private_endpoint_connections" - elif key == "privateLinkScopeId": - suggest = "private_link_scope_id" - elif key == "provisioningState": - suggest = "provisioning_state" - elif key == "publicNetworkAccess": - suggest = "public_network_access" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in HybridComputePrivateLinkScopePropertiesResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - HybridComputePrivateLinkScopePropertiesResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - HybridComputePrivateLinkScopePropertiesResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - private_endpoint_connections: Sequence['outputs.PrivateEndpointConnectionDataModelResponse'], - private_link_scope_id: str, - provisioning_state: str, - public_network_access: Optional[str] = None): - """ - Properties that define a Azure Arc PrivateLinkScope resource. - :param Sequence['PrivateEndpointConnectionDataModelResponse'] private_endpoint_connections: The collection of associated Private Endpoint Connections. - :param str private_link_scope_id: The Guid id of the private link scope. - :param str provisioning_state: Current state of this PrivateLinkScope: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Provisioning ,Succeeded, Canceled and Failed. - :param str public_network_access: Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. - """ - pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections) - pulumi.set(__self__, "private_link_scope_id", private_link_scope_id) - pulumi.set(__self__, "provisioning_state", provisioning_state) - if public_network_access is not None: - pulumi.set(__self__, "public_network_access", public_network_access) - - @property - @pulumi.getter(name="privateEndpointConnections") - def private_endpoint_connections(self) -> Sequence['outputs.PrivateEndpointConnectionDataModelResponse']: - """ - The collection of associated Private Endpoint Connections. - """ - return pulumi.get(self, "private_endpoint_connections") - - @property - @pulumi.getter(name="privateLinkScopeId") - def private_link_scope_id(self) -> str: - """ - The Guid id of the private link scope. - """ - return pulumi.get(self, "private_link_scope_id") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - Current state of this PrivateLinkScope: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Provisioning ,Succeeded, Canceled and Failed. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="publicNetworkAccess") - def public_network_access(self) -> Optional[str]: - """ - Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints. - """ - return pulumi.get(self, "public_network_access") - - -@pulumi.output_type -class IdentityResponse(dict): - """ - Identity for the resource. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "principalId": - suggest = "principal_id" - elif key == "tenantId": - suggest = "tenant_id" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in IdentityResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - IdentityResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - IdentityResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - principal_id: str, - tenant_id: str, - type: Optional[str] = None): - """ - Identity for the resource. - :param str principal_id: The principal ID of resource identity. - :param str tenant_id: The tenant ID of resource. - :param str type: The identity type. - """ - pulumi.set(__self__, "principal_id", principal_id) - pulumi.set(__self__, "tenant_id", tenant_id) - if type is not None: - pulumi.set(__self__, "type", type) - - @property - @pulumi.getter(name="principalId") - def principal_id(self) -> str: - """ - The principal ID of resource identity. - """ - return pulumi.get(self, "principal_id") - - @property - @pulumi.getter(name="tenantId") - def tenant_id(self) -> str: - """ - The tenant ID of resource. - """ - return pulumi.get(self, "tenant_id") - - @property - @pulumi.getter - def type(self) -> Optional[str]: - """ - The identity type. - """ - return pulumi.get(self, "type") - - -@pulumi.output_type -class IpAddressResponse(dict): - """ - Describes properties of the IP address. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "ipAddressVersion": - suggest = "ip_address_version" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in IpAddressResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - IpAddressResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - IpAddressResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - subnet: 'outputs.SubnetResponse', - address: Optional[str] = None, - ip_address_version: Optional[str] = None): - """ - Describes properties of the IP address. - :param 'SubnetResponse' subnet: The subnet to which this IP address belongs. - :param str address: Represents the IP Address. - :param str ip_address_version: Represents the Ip Address Version. - """ - pulumi.set(__self__, "subnet", subnet) - if address is not None: - pulumi.set(__self__, "address", address) - if ip_address_version is not None: - pulumi.set(__self__, "ip_address_version", ip_address_version) - - @property - @pulumi.getter - def subnet(self) -> 'outputs.SubnetResponse': - """ - The subnet to which this IP address belongs. - """ - return pulumi.get(self, "subnet") - - @property - @pulumi.getter - def address(self) -> Optional[str]: - """ - Represents the IP Address. - """ - return pulumi.get(self, "address") - - @property - @pulumi.getter(name="ipAddressVersion") - def ip_address_version(self) -> Optional[str]: - """ - Represents the Ip Address Version. - """ - return pulumi.get(self, "ip_address_version") - - -@pulumi.output_type -class LocationDataResponse(dict): - """ - Metadata pertaining to the geographic location of the resource. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "countryOrRegion": - suggest = "country_or_region" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in LocationDataResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - LocationDataResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - LocationDataResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - name: str, - city: Optional[str] = None, - country_or_region: Optional[str] = None, - district: Optional[str] = None): - """ - Metadata pertaining to the geographic location of the resource. - :param str name: A canonical name for the geographic or physical location. - :param str city: The city or locality where the resource is located. - :param str country_or_region: The country or region where the resource is located - :param str district: The district, state, or province where the resource is located. - """ - pulumi.set(__self__, "name", name) - if city is not None: - pulumi.set(__self__, "city", city) - if country_or_region is not None: - pulumi.set(__self__, "country_or_region", country_or_region) - if district is not None: - pulumi.set(__self__, "district", district) - - @property - @pulumi.getter - def name(self) -> str: - """ - A canonical name for the geographic or physical location. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def city(self) -> Optional[str]: - """ - The city or locality where the resource is located. - """ - return pulumi.get(self, "city") - - @property - @pulumi.getter(name="countryOrRegion") - def country_or_region(self) -> Optional[str]: - """ - The country or region where the resource is located - """ - return pulumi.get(self, "country_or_region") - - @property - @pulumi.getter - def district(self) -> Optional[str]: - """ - The district, state, or province where the resource is located. - """ - return pulumi.get(self, "district") - - -@pulumi.output_type -class MachineExtensionInstanceViewResponse(dict): - """ - Describes the Machine Extension Instance View. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "typeHandlerVersion": - suggest = "type_handler_version" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in MachineExtensionInstanceViewResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - MachineExtensionInstanceViewResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - MachineExtensionInstanceViewResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - name: Optional[str] = None, - status: Optional['outputs.MachineExtensionInstanceViewResponseStatus'] = None, - type: Optional[str] = None, - type_handler_version: Optional[str] = None): - """ - Describes the Machine Extension Instance View. - :param str name: The machine extension name. - :param 'MachineExtensionInstanceViewResponseStatus' status: Instance view status. - :param str type: Specifies the type of the extension; an example is "CustomScriptExtension". - :param str type_handler_version: Specifies the version of the script handler. - """ - if name is not None: - pulumi.set(__self__, "name", name) - if status is not None: - pulumi.set(__self__, "status", status) - if type is not None: - pulumi.set(__self__, "type", type) - if type_handler_version is not None: - pulumi.set(__self__, "type_handler_version", type_handler_version) - - @property - @pulumi.getter - def name(self) -> Optional[str]: - """ - The machine extension name. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def status(self) -> Optional['outputs.MachineExtensionInstanceViewResponseStatus']: - """ - Instance view status. - """ - return pulumi.get(self, "status") - - @property - @pulumi.getter - def type(self) -> Optional[str]: - """ - Specifies the type of the extension; an example is "CustomScriptExtension". - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter(name="typeHandlerVersion") - def type_handler_version(self) -> Optional[str]: - """ - Specifies the version of the script handler. - """ - return pulumi.get(self, "type_handler_version") - - -@pulumi.output_type -class MachineExtensionInstanceViewResponseStatus(dict): - """ - Instance view status. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "displayStatus": - suggest = "display_status" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in MachineExtensionInstanceViewResponseStatus. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - MachineExtensionInstanceViewResponseStatus.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - MachineExtensionInstanceViewResponseStatus.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - code: Optional[str] = None, - display_status: Optional[str] = None, - level: Optional[str] = None, - message: Optional[str] = None, - time: Optional[str] = None): - """ - Instance view status. - :param str code: The status code. - :param str display_status: The short localizable label for the status. - :param str level: The level code. - :param str message: The detailed status message, including for alerts and error messages. - :param str time: The time of the status. - """ - if code is not None: - pulumi.set(__self__, "code", code) - if display_status is not None: - pulumi.set(__self__, "display_status", display_status) - if level is not None: - pulumi.set(__self__, "level", level) - if message is not None: - pulumi.set(__self__, "message", message) - if time is not None: - pulumi.set(__self__, "time", time) - - @property - @pulumi.getter - def code(self) -> Optional[str]: - """ - The status code. - """ - return pulumi.get(self, "code") - - @property - @pulumi.getter(name="displayStatus") - def display_status(self) -> Optional[str]: - """ - The short localizable label for the status. - """ - return pulumi.get(self, "display_status") - - @property - @pulumi.getter - def level(self) -> Optional[str]: - """ - The level code. - """ - return pulumi.get(self, "level") - - @property - @pulumi.getter - def message(self) -> Optional[str]: - """ - The detailed status message, including for alerts and error messages. - """ - return pulumi.get(self, "message") - - @property - @pulumi.getter - def time(self) -> Optional[str]: - """ - The time of the status. - """ - return pulumi.get(self, "time") - - -@pulumi.output_type -class MachineExtensionResponse(dict): - """ - Describes a Machine Extension. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "provisioningState": - suggest = "provisioning_state" - elif key == "systemData": - suggest = "system_data" - elif key == "autoUpgradeMinorVersion": - suggest = "auto_upgrade_minor_version" - elif key == "enableAutomaticUpgrade": - suggest = "enable_automatic_upgrade" - elif key == "forceUpdateTag": - suggest = "force_update_tag" - elif key == "instanceView": - suggest = "instance_view" - elif key == "protectedSettings": - suggest = "protected_settings" - elif key == "typeHandlerVersion": - suggest = "type_handler_version" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in MachineExtensionResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - MachineExtensionResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - MachineExtensionResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - id: str, - location: str, - name: str, - provisioning_state: str, - system_data: 'outputs.SystemDataResponse', - type: str, - auto_upgrade_minor_version: Optional[bool] = None, - enable_automatic_upgrade: Optional[bool] = None, - force_update_tag: Optional[str] = None, - instance_view: Optional['outputs.MachineExtensionInstanceViewResponse'] = None, - protected_settings: Optional[Any] = None, - publisher: Optional[str] = None, - settings: Optional[Any] = None, - tags: Optional[Mapping[str, str]] = None, - type_handler_version: Optional[str] = None): - """ - Describes a Machine Extension. - :param str id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - :param str location: The geo-location where the resource lives - :param str name: The name of the resource - :param str provisioning_state: The provisioning state, which only appears in the response. - :param 'SystemDataResponse' system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. - :param str type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - :param bool auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - :param bool enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - :param str force_update_tag: How the extension handler should be forced to update even if the extension configuration has not changed. - :param 'MachineExtensionInstanceViewResponse' instance_view: The machine extension instance view. - :param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - :param str publisher: The name of the extension handler publisher. - :param Any settings: Json formatted public settings for the extension. - :param Mapping[str, str] tags: Resource tags. - :param str type_handler_version: Specifies the version of the script handler. - """ - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "location", location) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "provisioning_state", provisioning_state) - pulumi.set(__self__, "system_data", system_data) - pulumi.set(__self__, "type", type) - if auto_upgrade_minor_version is not None: - pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version) - if enable_automatic_upgrade is not None: - pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade) - if force_update_tag is not None: - pulumi.set(__self__, "force_update_tag", force_update_tag) - if instance_view is not None: - pulumi.set(__self__, "instance_view", instance_view) - if protected_settings is not None: - pulumi.set(__self__, "protected_settings", protected_settings) - if publisher is not None: - pulumi.set(__self__, "publisher", publisher) - if settings is not None: - pulumi.set(__self__, "settings", settings) - if tags is not None: - pulumi.set(__self__, "tags", tags) - if type_handler_version is not None: - pulumi.set(__self__, "type_handler_version", type_handler_version) - - @property - @pulumi.getter - def id(self) -> str: - """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter - def location(self) -> str: - """ - The geo-location where the resource lives - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter - def name(self) -> str: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state, which only appears in the response. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> 'outputs.SystemDataResponse': - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def type(self) -> str: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter(name="autoUpgradeMinorVersion") - def auto_upgrade_minor_version(self) -> Optional[bool]: - """ - Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. - """ - return pulumi.get(self, "auto_upgrade_minor_version") - - @property - @pulumi.getter(name="enableAutomaticUpgrade") - def enable_automatic_upgrade(self) -> Optional[bool]: - """ - Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. - """ - return pulumi.get(self, "enable_automatic_upgrade") - - @property - @pulumi.getter(name="forceUpdateTag") - def force_update_tag(self) -> Optional[str]: - """ - How the extension handler should be forced to update even if the extension configuration has not changed. - """ - return pulumi.get(self, "force_update_tag") - - @property - @pulumi.getter(name="instanceView") - def instance_view(self) -> Optional['outputs.MachineExtensionInstanceViewResponse']: - """ - The machine extension instance view. - """ - return pulumi.get(self, "instance_view") - - @property - @pulumi.getter(name="protectedSettings") - def protected_settings(self) -> Optional[Any]: - """ - The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. - """ - return pulumi.get(self, "protected_settings") - - @property - @pulumi.getter - def publisher(self) -> Optional[str]: - """ - The name of the extension handler publisher. - """ - return pulumi.get(self, "publisher") - - @property - @pulumi.getter - def settings(self) -> Optional[Any]: - """ - Json formatted public settings for the extension. - """ - return pulumi.get(self, "settings") - - @property - @pulumi.getter - def tags(self) -> Optional[Mapping[str, str]]: - """ - Resource tags. - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter(name="typeHandlerVersion") - def type_handler_version(self) -> Optional[str]: - """ - Specifies the version of the script handler. - """ - return pulumi.get(self, "type_handler_version") - - -@pulumi.output_type -class MachineRunCommandInstanceViewResponse(dict): - """ - Describes the Machine Extension Instance View. - """ - def __init__(__self__, *, - name: Optional[str] = None, - status: Optional['outputs.MachineRunCommandInstanceViewResponseStatus'] = None): - """ - Describes the Machine Extension Instance View. - :param str name: The run command name. - :param 'MachineRunCommandInstanceViewResponseStatus' status: Instance view status. - """ - if name is not None: - pulumi.set(__self__, "name", name) - if status is not None: - pulumi.set(__self__, "status", status) - - @property - @pulumi.getter - def name(self) -> Optional[str]: - """ - The run command name. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def status(self) -> Optional['outputs.MachineRunCommandInstanceViewResponseStatus']: - """ - Instance view status. - """ - return pulumi.get(self, "status") - - -@pulumi.output_type -class MachineRunCommandInstanceViewResponseStatus(dict): - """ - Instance view status. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "displayStatus": - suggest = "display_status" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in MachineRunCommandInstanceViewResponseStatus. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - MachineRunCommandInstanceViewResponseStatus.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - MachineRunCommandInstanceViewResponseStatus.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - code: Optional[str] = None, - display_status: Optional[str] = None, - level: Optional[str] = None, - message: Optional[str] = None, - time: Optional[str] = None): - """ - Instance view status. - :param str code: The status code. - :param str display_status: The short localizable label for the status. - :param str level: The level code. - :param str message: The detailed status message, including for alerts and error messages. - :param str time: The time of the status. - """ - if code is not None: - pulumi.set(__self__, "code", code) - if display_status is not None: - pulumi.set(__self__, "display_status", display_status) - if level is not None: - pulumi.set(__self__, "level", level) - if message is not None: - pulumi.set(__self__, "message", message) - if time is not None: - pulumi.set(__self__, "time", time) - - @property - @pulumi.getter - def code(self) -> Optional[str]: - """ - The status code. - """ - return pulumi.get(self, "code") - - @property - @pulumi.getter(name="displayStatus") - def display_status(self) -> Optional[str]: - """ - The short localizable label for the status. - """ - return pulumi.get(self, "display_status") - - @property - @pulumi.getter - def level(self) -> Optional[str]: - """ - The level code. - """ - return pulumi.get(self, "level") - - @property - @pulumi.getter - def message(self) -> Optional[str]: - """ - The detailed status message, including for alerts and error messages. - """ - return pulumi.get(self, "message") - - @property - @pulumi.getter - def time(self) -> Optional[str]: - """ - The time of the status. - """ - return pulumi.get(self, "time") - - -@pulumi.output_type -class MachineRunCommandScriptSourceResponse(dict): - """ - Describes the script sources for run command. Use only one of script, scriptUri, commandId. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "commandId": - suggest = "command_id" - elif key == "scriptUri": - suggest = "script_uri" - elif key == "scriptUriManagedIdentity": - suggest = "script_uri_managed_identity" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in MachineRunCommandScriptSourceResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - MachineRunCommandScriptSourceResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - MachineRunCommandScriptSourceResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - command_id: Optional[str] = None, - script: Optional[str] = None, - script_uri: Optional[str] = None, - script_uri_managed_identity: Optional['outputs.RunCommandManagedIdentityResponse'] = None): - """ - Describes the script sources for run command. Use only one of script, scriptUri, commandId. - :param str command_id: Specifies the commandId of predefined built-in script. - :param str script: Specifies the script content to be executed on the machine. - :param str script_uri: Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - :param 'RunCommandManagedIdentityResponse' script_uri_managed_identity: User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - """ - if command_id is not None: - pulumi.set(__self__, "command_id", command_id) - if script is not None: - pulumi.set(__self__, "script", script) - if script_uri is not None: - pulumi.set(__self__, "script_uri", script_uri) - if script_uri_managed_identity is not None: - pulumi.set(__self__, "script_uri_managed_identity", script_uri_managed_identity) - - @property - @pulumi.getter(name="commandId") - def command_id(self) -> Optional[str]: - """ - Specifies the commandId of predefined built-in script. - """ - return pulumi.get(self, "command_id") - - @property - @pulumi.getter - def script(self) -> Optional[str]: - """ - Specifies the script content to be executed on the machine. - """ - return pulumi.get(self, "script") - - @property - @pulumi.getter(name="scriptUri") - def script_uri(self) -> Optional[str]: - """ - Specifies the script download location. It can be either SAS URI of an Azure storage blob with read access or public URI. - """ - return pulumi.get(self, "script_uri") - - @property - @pulumi.getter(name="scriptUriManagedIdentity") - def script_uri_managed_identity(self) -> Optional['outputs.RunCommandManagedIdentityResponse']: - """ - User-assigned managed identity that has access to scriptUri in case of Azure storage blob. Use an empty object in case of system-assigned identity. Make sure the Azure storage blob exists, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment. In case of user-assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - """ - return pulumi.get(self, "script_uri_managed_identity") - - -@pulumi.output_type -class NetworkInterfaceResponse(dict): - """ - Describes a network interface. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "ipAddresses": - suggest = "ip_addresses" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in NetworkInterfaceResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - NetworkInterfaceResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - NetworkInterfaceResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - ip_addresses: Optional[Sequence['outputs.IpAddressResponse']] = None): - """ - Describes a network interface. - :param Sequence['IpAddressResponse'] ip_addresses: The list of IP addresses in this interface. - """ - if ip_addresses is not None: - pulumi.set(__self__, "ip_addresses", ip_addresses) - - @property - @pulumi.getter(name="ipAddresses") - def ip_addresses(self) -> Optional[Sequence['outputs.IpAddressResponse']]: - """ - The list of IP addresses in this interface. - """ - return pulumi.get(self, "ip_addresses") - - -@pulumi.output_type -class NetworkProfileResponse(dict): - """ - Describes the network information on this machine. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "networkInterfaces": - suggest = "network_interfaces" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in NetworkProfileResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - NetworkProfileResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - NetworkProfileResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - network_interfaces: Optional[Sequence['outputs.NetworkInterfaceResponse']] = None): - """ - Describes the network information on this machine. - :param Sequence['NetworkInterfaceResponse'] network_interfaces: The list of network interfaces. - """ - if network_interfaces is not None: - pulumi.set(__self__, "network_interfaces", network_interfaces) - - @property - @pulumi.getter(name="networkInterfaces") - def network_interfaces(self) -> Optional[Sequence['outputs.NetworkInterfaceResponse']]: - """ - The list of network interfaces. - """ - return pulumi.get(self, "network_interfaces") - - -@pulumi.output_type -class OSProfileResponse(dict): - """ - Specifies the operating system settings for the hybrid machine. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "computerName": - suggest = "computer_name" - elif key == "linuxConfiguration": - suggest = "linux_configuration" - elif key == "windowsConfiguration": - suggest = "windows_configuration" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in OSProfileResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - OSProfileResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - OSProfileResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - computer_name: str, - linux_configuration: Optional['outputs.OSProfileResponseLinuxConfiguration'] = None, - windows_configuration: Optional['outputs.OSProfileResponseWindowsConfiguration'] = None): - """ - Specifies the operating system settings for the hybrid machine. - :param str computer_name: Specifies the host OS name of the hybrid machine. - :param 'OSProfileResponseLinuxConfiguration' linux_configuration: Specifies the linux configuration for update management. - :param 'OSProfileResponseWindowsConfiguration' windows_configuration: Specifies the windows configuration for update management. - """ - pulumi.set(__self__, "computer_name", computer_name) - if linux_configuration is not None: - pulumi.set(__self__, "linux_configuration", linux_configuration) - if windows_configuration is not None: - pulumi.set(__self__, "windows_configuration", windows_configuration) - - @property - @pulumi.getter(name="computerName") - def computer_name(self) -> str: - """ - Specifies the host OS name of the hybrid machine. - """ - return pulumi.get(self, "computer_name") - - @property - @pulumi.getter(name="linuxConfiguration") - def linux_configuration(self) -> Optional['outputs.OSProfileResponseLinuxConfiguration']: - """ - Specifies the linux configuration for update management. - """ - return pulumi.get(self, "linux_configuration") - - @property - @pulumi.getter(name="windowsConfiguration") - def windows_configuration(self) -> Optional['outputs.OSProfileResponseWindowsConfiguration']: - """ - Specifies the windows configuration for update management. - """ - return pulumi.get(self, "windows_configuration") - - -@pulumi.output_type -class OSProfileResponseLinuxConfiguration(dict): - """ - Specifies the linux configuration for update management. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "assessmentMode": - suggest = "assessment_mode" - elif key == "patchMode": - suggest = "patch_mode" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in OSProfileResponseLinuxConfiguration. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - OSProfileResponseLinuxConfiguration.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - OSProfileResponseLinuxConfiguration.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - assessment_mode: Optional[str] = None, - patch_mode: Optional[str] = None): - """ - Specifies the linux configuration for update management. - :param str assessment_mode: Specifies the assessment mode. - :param str patch_mode: Specifies the patch mode. - """ - if assessment_mode is not None: - pulumi.set(__self__, "assessment_mode", assessment_mode) - if patch_mode is not None: - pulumi.set(__self__, "patch_mode", patch_mode) - - @property - @pulumi.getter(name="assessmentMode") - def assessment_mode(self) -> Optional[str]: - """ - Specifies the assessment mode. - """ - return pulumi.get(self, "assessment_mode") - - @property - @pulumi.getter(name="patchMode") - def patch_mode(self) -> Optional[str]: - """ - Specifies the patch mode. - """ - return pulumi.get(self, "patch_mode") - - -@pulumi.output_type -class OSProfileResponseWindowsConfiguration(dict): - """ - Specifies the windows configuration for update management. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "assessmentMode": - suggest = "assessment_mode" - elif key == "patchMode": - suggest = "patch_mode" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in OSProfileResponseWindowsConfiguration. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - OSProfileResponseWindowsConfiguration.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - OSProfileResponseWindowsConfiguration.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - assessment_mode: Optional[str] = None, - patch_mode: Optional[str] = None): - """ - Specifies the windows configuration for update management. - :param str assessment_mode: Specifies the assessment mode. - :param str patch_mode: Specifies the patch mode. - """ - if assessment_mode is not None: - pulumi.set(__self__, "assessment_mode", assessment_mode) - if patch_mode is not None: - pulumi.set(__self__, "patch_mode", patch_mode) - - @property - @pulumi.getter(name="assessmentMode") - def assessment_mode(self) -> Optional[str]: - """ - Specifies the assessment mode. - """ - return pulumi.get(self, "assessment_mode") - - @property - @pulumi.getter(name="patchMode") - def patch_mode(self) -> Optional[str]: - """ - Specifies the patch mode. - """ - return pulumi.get(self, "patch_mode") - - -@pulumi.output_type -class PrivateEndpointConnectionDataModelResponse(dict): - """ - The Data Model for a Private Endpoint Connection associated with a Private Link Scope - """ - def __init__(__self__, *, - id: str, - name: str, - type: str, - properties: Optional['outputs.PrivateEndpointConnectionPropertiesResponse'] = None): - """ - The Data Model for a Private Endpoint Connection associated with a Private Link Scope - :param str id: The ARM Resource Id of the Private Endpoint. - :param str name: The Name of the Private Endpoint. - :param str type: Azure resource type - :param 'PrivateEndpointConnectionPropertiesResponse' properties: The Private Endpoint Connection properties. - """ - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "type", type) - if properties is not None: - pulumi.set(__self__, "properties", properties) - - @property - @pulumi.getter - def id(self) -> str: - """ - The ARM Resource Id of the Private Endpoint. - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter - def name(self) -> str: - """ - The Name of the Private Endpoint. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def type(self) -> str: - """ - Azure resource type - """ - return pulumi.get(self, "type") - - @property - @pulumi.getter - def properties(self) -> Optional['outputs.PrivateEndpointConnectionPropertiesResponse']: - """ - The Private Endpoint Connection properties. - """ - return pulumi.get(self, "properties") - - -@pulumi.output_type -class PrivateEndpointConnectionPropertiesResponse(dict): - """ - Properties of a private endpoint connection. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "groupIds": - suggest = "group_ids" - elif key == "provisioningState": - suggest = "provisioning_state" - elif key == "privateEndpoint": - suggest = "private_endpoint" - elif key == "privateLinkServiceConnectionState": - suggest = "private_link_service_connection_state" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in PrivateEndpointConnectionPropertiesResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - PrivateEndpointConnectionPropertiesResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - PrivateEndpointConnectionPropertiesResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - group_ids: Sequence[str], - provisioning_state: str, - private_endpoint: Optional['outputs.PrivateEndpointPropertyResponse'] = None, - private_link_service_connection_state: Optional['outputs.PrivateLinkServiceConnectionStatePropertyResponse'] = None): - """ - Properties of a private endpoint connection. - :param Sequence[str] group_ids: List of group IDs. - :param str provisioning_state: State of the private endpoint connection. - :param 'PrivateEndpointPropertyResponse' private_endpoint: Private endpoint which the connection belongs to. - :param 'PrivateLinkServiceConnectionStatePropertyResponse' private_link_service_connection_state: Connection state of the private endpoint connection. - """ - pulumi.set(__self__, "group_ids", group_ids) - pulumi.set(__self__, "provisioning_state", provisioning_state) - if private_endpoint is not None: - pulumi.set(__self__, "private_endpoint", private_endpoint) - if private_link_service_connection_state is not None: - pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) - - @property - @pulumi.getter(name="groupIds") - def group_ids(self) -> Sequence[str]: - """ - List of group IDs. - """ - return pulumi.get(self, "group_ids") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - State of the private endpoint connection. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="privateEndpoint") - def private_endpoint(self) -> Optional['outputs.PrivateEndpointPropertyResponse']: - """ - Private endpoint which the connection belongs to. - """ - return pulumi.get(self, "private_endpoint") - - @property - @pulumi.getter(name="privateLinkServiceConnectionState") - def private_link_service_connection_state(self) -> Optional['outputs.PrivateLinkServiceConnectionStatePropertyResponse']: - """ - Connection state of the private endpoint connection. - """ - return pulumi.get(self, "private_link_service_connection_state") - - -@pulumi.output_type -class PrivateEndpointPropertyResponse(dict): - """ - Private endpoint which the connection belongs to. - """ - def __init__(__self__, *, - id: Optional[str] = None): - """ - Private endpoint which the connection belongs to. - :param str id: Resource id of the private endpoint. - """ - if id is not None: - pulumi.set(__self__, "id", id) - - @property - @pulumi.getter - def id(self) -> Optional[str]: - """ - Resource id of the private endpoint. - """ - return pulumi.get(self, "id") - - -@pulumi.output_type -class PrivateLinkServiceConnectionStatePropertyResponse(dict): - """ - State of the private endpoint connection. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "actionsRequired": - suggest = "actions_required" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in PrivateLinkServiceConnectionStatePropertyResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - PrivateLinkServiceConnectionStatePropertyResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - PrivateLinkServiceConnectionStatePropertyResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - actions_required: str, - description: str, - status: str): - """ - State of the private endpoint connection. - :param str actions_required: The actions required for private link service connection. - :param str description: The private link service connection description. - :param str status: The private link service connection status. - """ - pulumi.set(__self__, "actions_required", actions_required) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "status", status) - - @property - @pulumi.getter(name="actionsRequired") - def actions_required(self) -> str: - """ - The actions required for private link service connection. - """ - return pulumi.get(self, "actions_required") - - @property - @pulumi.getter - def description(self) -> str: - """ - The private link service connection description. - """ - return pulumi.get(self, "description") - - @property - @pulumi.getter - def status(self) -> str: - """ - The private link service connection status. - """ - return pulumi.get(self, "status") - - -@pulumi.output_type -class RunCommandInputParameterResponse(dict): - """ - Describes the properties of a run command parameter. - """ - def __init__(__self__, *, - name: str, - value: str): - """ - Describes the properties of a run command parameter. - :param str name: The run command parameter name. - :param str value: The run command parameter value. - """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "value", value) - - @property - @pulumi.getter - def name(self) -> str: - """ - The run command parameter name. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def value(self) -> str: - """ - The run command parameter value. - """ - return pulumi.get(self, "value") - - -@pulumi.output_type -class RunCommandManagedIdentityResponse(dict): - """ - Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "clientId": - suggest = "client_id" - elif key == "objectId": - suggest = "object_id" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in RunCommandManagedIdentityResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - RunCommandManagedIdentityResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - RunCommandManagedIdentityResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - client_id: Optional[str] = None, - object_id: Optional[str] = None): - """ - Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged. - :param str client_id: Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - :param str object_id: Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - """ - if client_id is not None: - pulumi.set(__self__, "client_id", client_id) - if object_id is not None: - pulumi.set(__self__, "object_id", object_id) - - @property - @pulumi.getter(name="clientId") - def client_id(self) -> Optional[str]: - """ - Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided. - """ - return pulumi.get(self, "client_id") - - @property - @pulumi.getter(name="objectId") - def object_id(self) -> Optional[str]: - """ - Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided. - """ - return pulumi.get(self, "object_id") - - -@pulumi.output_type -class ServiceStatusResponse(dict): - """ - Describes the status and behavior of a service. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "startupType": - suggest = "startup_type" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ServiceStatusResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ServiceStatusResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ServiceStatusResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - startup_type: Optional[str] = None, - status: Optional[str] = None): - """ - Describes the status and behavior of a service. - :param str startup_type: The behavior of the service when the Arc-enabled machine starts up. - :param str status: The current status of the service. - """ - if startup_type is not None: - pulumi.set(__self__, "startup_type", startup_type) - if status is not None: - pulumi.set(__self__, "status", status) - - @property - @pulumi.getter(name="startupType") - def startup_type(self) -> Optional[str]: - """ - The behavior of the service when the Arc-enabled machine starts up. - """ - return pulumi.get(self, "startup_type") - - @property - @pulumi.getter - def status(self) -> Optional[str]: - """ - The current status of the service. - """ - return pulumi.get(self, "status") - - -@pulumi.output_type -class ServiceStatusesResponse(dict): - """ - Reports the state and behavior of dependent services. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "extensionService": - suggest = "extension_service" - elif key == "guestConfigurationService": - suggest = "guest_configuration_service" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ServiceStatusesResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ServiceStatusesResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ServiceStatusesResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - extension_service: Optional['outputs.ServiceStatusResponse'] = None, - guest_configuration_service: Optional['outputs.ServiceStatusResponse'] = None): - """ - Reports the state and behavior of dependent services. - :param 'ServiceStatusResponse' extension_service: The state of the extension service on the Arc-enabled machine. - :param 'ServiceStatusResponse' guest_configuration_service: The state of the guest configuration service on the Arc-enabled machine. - """ - if extension_service is not None: - pulumi.set(__self__, "extension_service", extension_service) - if guest_configuration_service is not None: - pulumi.set(__self__, "guest_configuration_service", guest_configuration_service) - - @property - @pulumi.getter(name="extensionService") - def extension_service(self) -> Optional['outputs.ServiceStatusResponse']: - """ - The state of the extension service on the Arc-enabled machine. - """ - return pulumi.get(self, "extension_service") - - @property - @pulumi.getter(name="guestConfigurationService") - def guest_configuration_service(self) -> Optional['outputs.ServiceStatusResponse']: - """ - The state of the guest configuration service on the Arc-enabled machine. - """ - return pulumi.get(self, "guest_configuration_service") - - -@pulumi.output_type -class SubnetResponse(dict): - """ - Describes the subnet. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "addressPrefix": - suggest = "address_prefix" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in SubnetResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - SubnetResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - SubnetResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - address_prefix: Optional[str] = None): - """ - Describes the subnet. - :param str address_prefix: Represents address prefix. - """ - if address_prefix is not None: - pulumi.set(__self__, "address_prefix", address_prefix) - - @property - @pulumi.getter(name="addressPrefix") - def address_prefix(self) -> Optional[str]: - """ - Represents address prefix. - """ - return pulumi.get(self, "address_prefix") - - -@pulumi.output_type -class SystemDataResponse(dict): - """ - Metadata pertaining to creation and last modification of the resource. - """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "createdAt": - suggest = "created_at" - elif key == "createdBy": - suggest = "created_by" - elif key == "createdByType": - suggest = "created_by_type" - elif key == "lastModifiedAt": - suggest = "last_modified_at" - elif key == "lastModifiedBy": - suggest = "last_modified_by" - elif key == "lastModifiedByType": - suggest = "last_modified_by_type" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - SystemDataResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - SystemDataResponse.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - created_at: Optional[str] = None, - created_by: Optional[str] = None, - created_by_type: Optional[str] = None, - last_modified_at: Optional[str] = None, - last_modified_by: Optional[str] = None, - last_modified_by_type: Optional[str] = None): - """ - Metadata pertaining to creation and last modification of the resource. - :param str created_at: The timestamp of resource creation (UTC). - :param str created_by: The identity that created the resource. - :param str created_by_type: The type of identity that created the resource. - :param str last_modified_at: The timestamp of resource last modification (UTC) - :param str last_modified_by: The identity that last modified the resource. - :param str last_modified_by_type: The type of identity that last modified the resource. - """ - if created_at is not None: - pulumi.set(__self__, "created_at", created_at) - if created_by is not None: - pulumi.set(__self__, "created_by", created_by) - if created_by_type is not None: - pulumi.set(__self__, "created_by_type", created_by_type) - if last_modified_at is not None: - pulumi.set(__self__, "last_modified_at", last_modified_at) - if last_modified_by is not None: - pulumi.set(__self__, "last_modified_by", last_modified_by) - if last_modified_by_type is not None: - pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) - - @property - @pulumi.getter(name="createdAt") - def created_at(self) -> Optional[str]: - """ - The timestamp of resource creation (UTC). - """ - return pulumi.get(self, "created_at") - - @property - @pulumi.getter(name="createdBy") - def created_by(self) -> Optional[str]: - """ - The identity that created the resource. - """ - return pulumi.get(self, "created_by") - - @property - @pulumi.getter(name="createdByType") - def created_by_type(self) -> Optional[str]: - """ - The type of identity that created the resource. - """ - return pulumi.get(self, "created_by_type") - - @property - @pulumi.getter(name="lastModifiedAt") - def last_modified_at(self) -> Optional[str]: - """ - The timestamp of resource last modification (UTC) - """ - return pulumi.get(self, "last_modified_at") - - @property - @pulumi.getter(name="lastModifiedBy") - def last_modified_by(self) -> Optional[str]: - """ - The identity that last modified the resource. - """ - return pulumi.get(self, "last_modified_by") - - @property - @pulumi.getter(name="lastModifiedByType") - def last_modified_by_type(self) -> Optional[str]: - """ - The type of identity that last modified the resource. - """ - return pulumi.get(self, "last_modified_by_type") - - diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/private_endpoint_connection.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/private_endpoint_connection.py deleted file mode 100644 index 99b5352f6158..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/private_endpoint_connection.py +++ /dev/null @@ -1,215 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs -from ._inputs import * - -__all__ = ['PrivateEndpointConnectionArgs', 'PrivateEndpointConnection'] - -@pulumi.input_type -class PrivateEndpointConnectionArgs: - def __init__(__self__, *, - resource_group_name: pulumi.Input[str], - scope_name: pulumi.Input[str], - private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, - properties: Optional[pulumi.Input['PrivateEndpointConnectionPropertiesArgs']] = None): - """ - The set of arguments for constructing a PrivateEndpointConnection resource. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[str] scope_name: The name of the Azure Arc PrivateLinkScope resource. - :param pulumi.Input[str] private_endpoint_connection_name: The name of the private endpoint connection. - :param pulumi.Input['PrivateEndpointConnectionPropertiesArgs'] properties: Resource properties. - """ - pulumi.set(__self__, "resource_group_name", resource_group_name) - pulumi.set(__self__, "scope_name", scope_name) - if private_endpoint_connection_name is not None: - pulumi.set(__self__, "private_endpoint_connection_name", private_endpoint_connection_name) - if properties is not None: - pulumi.set(__self__, "properties", properties) - - @property - @pulumi.getter(name="resourceGroupName") - def resource_group_name(self) -> pulumi.Input[str]: - """ - The name of the resource group. The name is case insensitive. - """ - return pulumi.get(self, "resource_group_name") - - @resource_group_name.setter - def resource_group_name(self, value: pulumi.Input[str]): - pulumi.set(self, "resource_group_name", value) - - @property - @pulumi.getter(name="scopeName") - def scope_name(self) -> pulumi.Input[str]: - """ - The name of the Azure Arc PrivateLinkScope resource. - """ - return pulumi.get(self, "scope_name") - - @scope_name.setter - def scope_name(self, value: pulumi.Input[str]): - pulumi.set(self, "scope_name", value) - - @property - @pulumi.getter(name="privateEndpointConnectionName") - def private_endpoint_connection_name(self) -> Optional[pulumi.Input[str]]: - """ - The name of the private endpoint connection. - """ - return pulumi.get(self, "private_endpoint_connection_name") - - @private_endpoint_connection_name.setter - def private_endpoint_connection_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "private_endpoint_connection_name", value) - - @property - @pulumi.getter - def properties(self) -> Optional[pulumi.Input['PrivateEndpointConnectionPropertiesArgs']]: - """ - Resource properties. - """ - return pulumi.get(self, "properties") - - @properties.setter - def properties(self, value: Optional[pulumi.Input['PrivateEndpointConnectionPropertiesArgs']]): - pulumi.set(self, "properties", value) - - -class PrivateEndpointConnection(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, - properties: Optional[pulumi.Input[pulumi.InputType['PrivateEndpointConnectionPropertiesArgs']]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - scope_name: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - A private endpoint connection - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] private_endpoint_connection_name: The name of the private endpoint connection. - :param pulumi.Input[pulumi.InputType['PrivateEndpointConnectionPropertiesArgs']] properties: Resource properties. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[str] scope_name: The name of the Azure Arc PrivateLinkScope resource. - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: PrivateEndpointConnectionArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - A private endpoint connection - - :param str resource_name: The name of the resource. - :param PrivateEndpointConnectionArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(PrivateEndpointConnectionArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - private_endpoint_connection_name: Optional[pulumi.Input[str]] = None, - properties: Optional[pulumi.Input[pulumi.InputType['PrivateEndpointConnectionPropertiesArgs']]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - scope_name: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = PrivateEndpointConnectionArgs.__new__(PrivateEndpointConnectionArgs) - - __props__.__dict__["private_endpoint_connection_name"] = private_endpoint_connection_name - __props__.__dict__["properties"] = properties - if resource_group_name is None and not opts.urn: - raise TypeError("Missing required property 'resource_group_name'") - __props__.__dict__["resource_group_name"] = resource_group_name - if scope_name is None and not opts.urn: - raise TypeError("Missing required property 'scope_name'") - __props__.__dict__["scope_name"] = scope_name - __props__.__dict__["name"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateEndpointConnection")]) - opts = pulumi.ResourceOptions.merge(opts, alias_opts) - super(PrivateEndpointConnection, __self__).__init__( - 'azure-native:hybridcompute/v20230425preview:PrivateEndpointConnection', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None) -> 'PrivateEndpointConnection': - """ - Get an existing PrivateEndpointConnection resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = PrivateEndpointConnectionArgs.__new__(PrivateEndpointConnectionArgs) - - __props__.__dict__["name"] = None - __props__.__dict__["properties"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - return PrivateEndpointConnection(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - The name of the resource - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def properties(self) -> pulumi.Output['outputs.PrivateEndpointConnectionPropertiesResponse']: - """ - Resource properties. - """ - return pulumi.get(self, "properties") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: - """ - Azure Resource Manager metadata containing createdBy and modifiedBy information. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def type(self) -> pulumi.Output[str]: - """ - The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - """ - return pulumi.get(self, "type") - diff --git a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/private_link_scope.py b/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/private_link_scope.py deleted file mode 100644 index 4d7c8f1bbc21..000000000000 --- a/sdk/python/pulumi_azure_native/hybridcompute/v20230425preview/private_link_scope.py +++ /dev/null @@ -1,253 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -from ... import _utilities -from . import outputs -from ._enums import * -from ._inputs import * - -__all__ = ['PrivateLinkScopeArgs', 'PrivateLinkScope'] - -@pulumi.input_type -class PrivateLinkScopeArgs: - def __init__(__self__, *, - resource_group_name: pulumi.Input[str], - location: Optional[pulumi.Input[str]] = None, - properties: Optional[pulumi.Input['HybridComputePrivateLinkScopePropertiesArgs']] = None, - scope_name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): - """ - The set of arguments for constructing a PrivateLinkScope resource. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[str] location: Resource location - :param pulumi.Input['HybridComputePrivateLinkScopePropertiesArgs'] properties: Properties that define a Azure Arc PrivateLinkScope resource. - :param pulumi.Input[str] scope_name: The name of the Azure Arc PrivateLinkScope resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags - """ - pulumi.set(__self__, "resource_group_name", resource_group_name) - if location is not None: - pulumi.set(__self__, "location", location) - if properties is not None: - pulumi.set(__self__, "properties", properties) - if scope_name is not None: - pulumi.set(__self__, "scope_name", scope_name) - if tags is not None: - pulumi.set(__self__, "tags", tags) - - @property - @pulumi.getter(name="resourceGroupName") - def resource_group_name(self) -> pulumi.Input[str]: - """ - The name of the resource group. The name is case insensitive. - """ - return pulumi.get(self, "resource_group_name") - - @resource_group_name.setter - def resource_group_name(self, value: pulumi.Input[str]): - pulumi.set(self, "resource_group_name", value) - - @property - @pulumi.getter - def location(self) -> Optional[pulumi.Input[str]]: - """ - Resource location - """ - return pulumi.get(self, "location") - - @location.setter - def location(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "location", value) - - @property - @pulumi.getter - def properties(self) -> Optional[pulumi.Input['HybridComputePrivateLinkScopePropertiesArgs']]: - """ - Properties that define a Azure Arc PrivateLinkScope resource. - """ - return pulumi.get(self, "properties") - - @properties.setter - def properties(self, value: Optional[pulumi.Input['HybridComputePrivateLinkScopePropertiesArgs']]): - pulumi.set(self, "properties", value) - - @property - @pulumi.getter(name="scopeName") - def scope_name(self) -> Optional[pulumi.Input[str]]: - """ - The name of the Azure Arc PrivateLinkScope resource. - """ - return pulumi.get(self, "scope_name") - - @scope_name.setter - def scope_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "scope_name", value) - - @property - @pulumi.getter - def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - Resource tags - """ - return pulumi.get(self, "tags") - - @tags.setter - def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "tags", value) - - -class PrivateLinkScope(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - location: Optional[pulumi.Input[str]] = None, - properties: Optional[pulumi.Input[pulumi.InputType['HybridComputePrivateLinkScopePropertiesArgs']]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - scope_name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - __props__=None): - """ - An Azure Arc PrivateLinkScope definition. - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] location: Resource location - :param pulumi.Input[pulumi.InputType['HybridComputePrivateLinkScopePropertiesArgs']] properties: Properties that define a Azure Arc PrivateLinkScope resource. - :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[str] scope_name: The name of the Azure Arc PrivateLinkScope resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: PrivateLinkScopeArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - An Azure Arc PrivateLinkScope definition. - - :param str resource_name: The name of the resource. - :param PrivateLinkScopeArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(PrivateLinkScopeArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - location: Optional[pulumi.Input[str]] = None, - properties: Optional[pulumi.Input[pulumi.InputType['HybridComputePrivateLinkScopePropertiesArgs']]] = None, - resource_group_name: Optional[pulumi.Input[str]] = None, - scope_name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = PrivateLinkScopeArgs.__new__(PrivateLinkScopeArgs) - - __props__.__dict__["location"] = location - __props__.__dict__["properties"] = properties - if resource_group_name is None and not opts.urn: - raise TypeError("Missing required property 'resource_group_name'") - __props__.__dict__["resource_group_name"] = resource_group_name - __props__.__dict__["scope_name"] = scope_name - __props__.__dict__["tags"] = tags - __props__.__dict__["name"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:hybridcompute:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20200815preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210128preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210325preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210422preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210517preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210520:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20210610preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20211210preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220310:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220510preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20220811preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221110:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20221227preview:PrivateLinkScope"), pulumi.Alias(type_="azure-native:hybridcompute/v20230315preview:PrivateLinkScope")]) - opts = pulumi.ResourceOptions.merge(opts, alias_opts) - super(PrivateLinkScope, __self__).__init__( - 'azure-native:hybridcompute/v20230425preview:PrivateLinkScope', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None) -> 'PrivateLinkScope': - """ - Get an existing PrivateLinkScope resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = PrivateLinkScopeArgs.__new__(PrivateLinkScopeArgs) - - __props__.__dict__["location"] = None - __props__.__dict__["name"] = None - __props__.__dict__["properties"] = None - __props__.__dict__["system_data"] = None - __props__.__dict__["tags"] = None - __props__.__dict__["type"] = None - return PrivateLinkScope(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter - def location(self) -> pulumi.Output[str]: - """ - Resource location - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - Azure resource name - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def properties(self) -> pulumi.Output['outputs.HybridComputePrivateLinkScopePropertiesResponse']: - """ - Properties that define a Azure Arc PrivateLinkScope resource. - """ - return pulumi.get(self, "properties") - - @property - @pulumi.getter(name="systemData") - def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: - """ - The system meta data relating to this resource. - """ - return pulumi.get(self, "system_data") - - @property - @pulumi.getter - def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: - """ - Resource tags - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter - def type(self) -> pulumi.Output[str]: - """ - Azure resource type - """ - return pulumi.get(self, "type") - diff --git a/sdk/python/pulumi_azure_native/machinelearningservices/_inputs.py b/sdk/python/pulumi_azure_native/machinelearningservices/_inputs.py index 0872c378043c..73368d37c4ba 100644 --- a/sdk/python/pulumi_azure_native/machinelearningservices/_inputs.py +++ b/sdk/python/pulumi_azure_native/machinelearningservices/_inputs.py @@ -17241,23 +17241,23 @@ class RegistryPrivateEndpointConnectionPropertiesArgs: def __init__(__self__, *, group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, private_endpoint: Optional[pulumi.Input['PrivateEndpointResourceArgs']] = None, - provisioning_state: Optional[pulumi.Input[str]] = None, - registry_private_link_service_connection_state: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']] = None): + private_link_service_connection_state: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']] = None, + provisioning_state: Optional[pulumi.Input[str]] = None): """ Properties of the Private Endpoint Connection :param pulumi.Input[Sequence[pulumi.Input[str]]] group_ids: The group ids :param pulumi.Input['PrivateEndpointResourceArgs'] private_endpoint: The PE network resource that is linked to this PE connection. + :param pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs'] private_link_service_connection_state: The connection state. :param pulumi.Input[str] provisioning_state: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. - :param pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs'] registry_private_link_service_connection_state: The connection state. """ if group_ids is not None: pulumi.set(__self__, "group_ids", group_ids) if private_endpoint is not None: pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_link_service_connection_state is not None: + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) if provisioning_state is not None: pulumi.set(__self__, "provisioning_state", provisioning_state) - if registry_private_link_service_connection_state is not None: - pulumi.set(__self__, "registry_private_link_service_connection_state", registry_private_link_service_connection_state) @property @pulumi.getter(name="groupIds") @@ -17283,6 +17283,18 @@ def private_endpoint(self) -> Optional[pulumi.Input['PrivateEndpointResourceArgs def private_endpoint(self, value: Optional[pulumi.Input['PrivateEndpointResourceArgs']]): pulumi.set(self, "private_endpoint", value) + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]: + """ + The connection state. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @private_link_service_connection_state.setter + def private_link_service_connection_state(self, value: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]): + pulumi.set(self, "private_link_service_connection_state", value) + @property @pulumi.getter(name="provisioningState") def provisioning_state(self) -> Optional[pulumi.Input[str]]: @@ -17295,18 +17307,6 @@ def provisioning_state(self) -> Optional[pulumi.Input[str]]: def provisioning_state(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "provisioning_state", value) - @property - @pulumi.getter(name="registryPrivateLinkServiceConnectionState") - def registry_private_link_service_connection_state(self) -> Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]: - """ - The connection state. - """ - return pulumi.get(self, "registry_private_link_service_connection_state") - - @registry_private_link_service_connection_state.setter - def registry_private_link_service_connection_state(self, value: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]): - pulumi.set(self, "registry_private_link_service_connection_state", value) - @pulumi.input_type class RegistryPrivateEndpointConnectionArgs: @@ -17317,7 +17317,7 @@ def __init__(__self__, *, """ Private endpoint connection definition. :param pulumi.Input[str] id: This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} :param pulumi.Input[str] location: Same as workspace location. :param pulumi.Input['RegistryPrivateEndpointConnectionPropertiesArgs'] properties: Properties of the Private Endpoint Connection """ @@ -17333,7 +17333,7 @@ def __init__(__self__, *, def id(self) -> Optional[pulumi.Input[str]]: """ This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} """ return pulumi.get(self, "id") @@ -17485,19 +17485,19 @@ def __init__(__self__, *, intellectual_property_publisher: Optional[pulumi.Input[str]] = None, managed_resource_group: Optional[pulumi.Input['ArmResourceIdArgs']] = None, ml_flow_registry_uri: Optional[pulumi.Input[str]] = None, + private_endpoint_connections: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]] = None, public_network_access: Optional[pulumi.Input[str]] = None, - region_details: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]]] = None, - registry_private_endpoint_connections: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]] = None): + region_details: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]]] = None): """ Details of the Registry :param pulumi.Input[str] discovery_url: Discovery URL for the Registry :param pulumi.Input[str] intellectual_property_publisher: IntellectualPropertyPublisher for the registry :param pulumi.Input['ArmResourceIdArgs'] managed_resource_group: ResourceId of the managed RG if the registry has system created resources :param pulumi.Input[str] ml_flow_registry_uri: MLFlow Registry URI for the Registry + :param pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]] private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal :param pulumi.Input[str] public_network_access: Is the Registry accessible from the internet? Possible values: "Enabled" or "Disabled" :param pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]] region_details: Details of each region the registry is in - :param pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]] registry_private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal """ if discovery_url is not None: pulumi.set(__self__, "discovery_url", discovery_url) @@ -17507,12 +17507,12 @@ def __init__(__self__, *, pulumi.set(__self__, "managed_resource_group", managed_resource_group) if ml_flow_registry_uri is not None: pulumi.set(__self__, "ml_flow_registry_uri", ml_flow_registry_uri) + if private_endpoint_connections is not None: + pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections) if public_network_access is not None: pulumi.set(__self__, "public_network_access", public_network_access) if region_details is not None: pulumi.set(__self__, "region_details", region_details) - if registry_private_endpoint_connections is not None: - pulumi.set(__self__, "registry_private_endpoint_connections", registry_private_endpoint_connections) @property @pulumi.getter(name="discoveryUrl") @@ -17562,6 +17562,18 @@ def ml_flow_registry_uri(self) -> Optional[pulumi.Input[str]]: def ml_flow_registry_uri(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ml_flow_registry_uri", value) + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]: + """ + Private endpoint connections info used for pending connections in private link portal + """ + return pulumi.get(self, "private_endpoint_connections") + + @private_endpoint_connections.setter + def private_endpoint_connections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]): + pulumi.set(self, "private_endpoint_connections", value) + @property @pulumi.getter(name="publicNetworkAccess") def public_network_access(self) -> Optional[pulumi.Input[str]]: @@ -17587,18 +17599,6 @@ def region_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Registr def region_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]]]): pulumi.set(self, "region_details", value) - @property - @pulumi.getter(name="registryPrivateEndpointConnections") - def registry_private_endpoint_connections(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]: - """ - Private endpoint connections info used for pending connections in private link portal - """ - return pulumi.get(self, "registry_private_endpoint_connections") - - @registry_private_endpoint_connections.setter - def registry_private_endpoint_connections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]): - pulumi.set(self, "registry_private_endpoint_connections", value) - @pulumi.input_type class RegressionTrainingSettingsArgs: diff --git a/sdk/python/pulumi_azure_native/machinelearningservices/outputs.py b/sdk/python/pulumi_azure_native/machinelearningservices/outputs.py index 395ed6254318..f24c57ea20e6 100644 --- a/sdk/python/pulumi_azure_native/machinelearningservices/outputs.py +++ b/sdk/python/pulumi_azure_native/machinelearningservices/outputs.py @@ -23008,10 +23008,10 @@ def __key_warning(key: str): suggest = "group_ids" elif key == "privateEndpoint": suggest = "private_endpoint" + elif key == "privateLinkServiceConnectionState": + suggest = "private_link_service_connection_state" elif key == "provisioningState": suggest = "provisioning_state" - elif key == "registryPrivateLinkServiceConnectionState": - suggest = "registry_private_link_service_connection_state" if suggest: pulumi.log.warn(f"Key '{key}' not found in RegistryPrivateEndpointConnectionPropertiesResponse. Access the value via the '{suggest}' property getter instead.") @@ -23027,23 +23027,23 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, group_ids: Optional[Sequence[str]] = None, private_endpoint: Optional['outputs.PrivateEndpointResourceResponse'] = None, - provisioning_state: Optional[str] = None, - registry_private_link_service_connection_state: Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse'] = None): + private_link_service_connection_state: Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse'] = None, + provisioning_state: Optional[str] = None): """ Properties of the Private Endpoint Connection :param Sequence[str] group_ids: The group ids :param 'PrivateEndpointResourceResponse' private_endpoint: The PE network resource that is linked to this PE connection. + :param 'RegistryPrivateLinkServiceConnectionStateResponse' private_link_service_connection_state: The connection state. :param str provisioning_state: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. - :param 'RegistryPrivateLinkServiceConnectionStateResponse' registry_private_link_service_connection_state: The connection state. """ if group_ids is not None: pulumi.set(__self__, "group_ids", group_ids) if private_endpoint is not None: pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_link_service_connection_state is not None: + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) if provisioning_state is not None: pulumi.set(__self__, "provisioning_state", provisioning_state) - if registry_private_link_service_connection_state is not None: - pulumi.set(__self__, "registry_private_link_service_connection_state", registry_private_link_service_connection_state) @property @pulumi.getter(name="groupIds") @@ -23062,20 +23062,20 @@ def private_endpoint(self) -> Optional['outputs.PrivateEndpointResourceResponse' return pulumi.get(self, "private_endpoint") @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> Optional[str]: + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse']: """ - One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + The connection state. """ - return pulumi.get(self, "provisioning_state") + return pulumi.get(self, "private_link_service_connection_state") @property - @pulumi.getter(name="registryPrivateLinkServiceConnectionState") - def registry_private_link_service_connection_state(self) -> Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse']: + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> Optional[str]: """ - The connection state. + One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. """ - return pulumi.get(self, "registry_private_link_service_connection_state") + return pulumi.get(self, "provisioning_state") @pulumi.output_type @@ -23090,7 +23090,7 @@ def __init__(__self__, *, """ Private endpoint connection definition. :param str id: This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} :param str location: Same as workspace location. :param 'RegistryPrivateEndpointConnectionPropertiesResponse' properties: Properties of the Private Endpoint Connection """ @@ -23106,7 +23106,7 @@ def __init__(__self__, *, def id(self) -> Optional[str]: """ This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} """ return pulumi.get(self, "id") @@ -23273,12 +23273,12 @@ def __key_warning(key: str): suggest = "managed_resource_group" elif key == "mlFlowRegistryUri": suggest = "ml_flow_registry_uri" + elif key == "privateEndpointConnections": + suggest = "private_endpoint_connections" elif key == "publicNetworkAccess": suggest = "public_network_access" elif key == "regionDetails": suggest = "region_details" - elif key == "registryPrivateEndpointConnections": - suggest = "registry_private_endpoint_connections" if suggest: pulumi.log.warn(f"Key '{key}' not found in RegistryResponse. Access the value via the '{suggest}' property getter instead.") @@ -23296,19 +23296,19 @@ def __init__(__self__, *, intellectual_property_publisher: Optional[str] = None, managed_resource_group: Optional['outputs.ArmResourceIdResponse'] = None, ml_flow_registry_uri: Optional[str] = None, + private_endpoint_connections: Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']] = None, public_network_access: Optional[str] = None, - region_details: Optional[Sequence['outputs.RegistryRegionArmDetailsResponse']] = None, - registry_private_endpoint_connections: Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']] = None): + region_details: Optional[Sequence['outputs.RegistryRegionArmDetailsResponse']] = None): """ Details of the Registry :param str discovery_url: Discovery URL for the Registry :param str intellectual_property_publisher: IntellectualPropertyPublisher for the registry :param 'ArmResourceIdResponse' managed_resource_group: ResourceId of the managed RG if the registry has system created resources :param str ml_flow_registry_uri: MLFlow Registry URI for the Registry + :param Sequence['RegistryPrivateEndpointConnectionResponse'] private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal :param str public_network_access: Is the Registry accessible from the internet? Possible values: "Enabled" or "Disabled" :param Sequence['RegistryRegionArmDetailsResponse'] region_details: Details of each region the registry is in - :param Sequence['RegistryPrivateEndpointConnectionResponse'] registry_private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal """ if discovery_url is not None: pulumi.set(__self__, "discovery_url", discovery_url) @@ -23318,12 +23318,12 @@ def __init__(__self__, *, pulumi.set(__self__, "managed_resource_group", managed_resource_group) if ml_flow_registry_uri is not None: pulumi.set(__self__, "ml_flow_registry_uri", ml_flow_registry_uri) + if private_endpoint_connections is not None: + pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections) if public_network_access is not None: pulumi.set(__self__, "public_network_access", public_network_access) if region_details is not None: pulumi.set(__self__, "region_details", region_details) - if registry_private_endpoint_connections is not None: - pulumi.set(__self__, "registry_private_endpoint_connections", registry_private_endpoint_connections) @property @pulumi.getter(name="discoveryUrl") @@ -23357,6 +23357,14 @@ def ml_flow_registry_uri(self) -> Optional[str]: """ return pulumi.get(self, "ml_flow_registry_uri") + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']]: + """ + Private endpoint connections info used for pending connections in private link portal + """ + return pulumi.get(self, "private_endpoint_connections") + @property @pulumi.getter(name="publicNetworkAccess") def public_network_access(self) -> Optional[str]: @@ -23374,14 +23382,6 @@ def region_details(self) -> Optional[Sequence['outputs.RegistryRegionArmDetailsR """ return pulumi.get(self, "region_details") - @property - @pulumi.getter(name="registryPrivateEndpointConnections") - def registry_private_endpoint_connections(self) -> Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']]: - """ - Private endpoint connections info used for pending connections in private link portal - """ - return pulumi.get(self, "registry_private_endpoint_connections") - @pulumi.output_type class RegressionResponse(dict): diff --git a/sdk/python/pulumi_azure_native/machinelearningservices/v20230401/_inputs.py b/sdk/python/pulumi_azure_native/machinelearningservices/v20230401/_inputs.py index 9e6c220074ef..5a6345d1ea57 100644 --- a/sdk/python/pulumi_azure_native/machinelearningservices/v20230401/_inputs.py +++ b/sdk/python/pulumi_azure_native/machinelearningservices/v20230401/_inputs.py @@ -14835,23 +14835,23 @@ class RegistryPrivateEndpointConnectionPropertiesArgs: def __init__(__self__, *, group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, private_endpoint: Optional[pulumi.Input['PrivateEndpointResourceArgs']] = None, - provisioning_state: Optional[pulumi.Input[str]] = None, - registry_private_link_service_connection_state: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']] = None): + private_link_service_connection_state: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']] = None, + provisioning_state: Optional[pulumi.Input[str]] = None): """ Properties of the Private Endpoint Connection :param pulumi.Input[Sequence[pulumi.Input[str]]] group_ids: The group ids :param pulumi.Input['PrivateEndpointResourceArgs'] private_endpoint: The PE network resource that is linked to this PE connection. + :param pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs'] private_link_service_connection_state: The connection state. :param pulumi.Input[str] provisioning_state: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. - :param pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs'] registry_private_link_service_connection_state: The connection state. """ if group_ids is not None: pulumi.set(__self__, "group_ids", group_ids) if private_endpoint is not None: pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_link_service_connection_state is not None: + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) if provisioning_state is not None: pulumi.set(__self__, "provisioning_state", provisioning_state) - if registry_private_link_service_connection_state is not None: - pulumi.set(__self__, "registry_private_link_service_connection_state", registry_private_link_service_connection_state) @property @pulumi.getter(name="groupIds") @@ -14877,6 +14877,18 @@ def private_endpoint(self) -> Optional[pulumi.Input['PrivateEndpointResourceArgs def private_endpoint(self, value: Optional[pulumi.Input['PrivateEndpointResourceArgs']]): pulumi.set(self, "private_endpoint", value) + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]: + """ + The connection state. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @private_link_service_connection_state.setter + def private_link_service_connection_state(self, value: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]): + pulumi.set(self, "private_link_service_connection_state", value) + @property @pulumi.getter(name="provisioningState") def provisioning_state(self) -> Optional[pulumi.Input[str]]: @@ -14889,18 +14901,6 @@ def provisioning_state(self) -> Optional[pulumi.Input[str]]: def provisioning_state(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "provisioning_state", value) - @property - @pulumi.getter(name="registryPrivateLinkServiceConnectionState") - def registry_private_link_service_connection_state(self) -> Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]: - """ - The connection state. - """ - return pulumi.get(self, "registry_private_link_service_connection_state") - - @registry_private_link_service_connection_state.setter - def registry_private_link_service_connection_state(self, value: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]): - pulumi.set(self, "registry_private_link_service_connection_state", value) - @pulumi.input_type class RegistryPrivateEndpointConnectionArgs: @@ -14911,7 +14911,7 @@ def __init__(__self__, *, """ Private endpoint connection definition. :param pulumi.Input[str] id: This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} :param pulumi.Input[str] location: Same as workspace location. :param pulumi.Input['RegistryPrivateEndpointConnectionPropertiesArgs'] properties: Properties of the Private Endpoint Connection """ @@ -14927,7 +14927,7 @@ def __init__(__self__, *, def id(self) -> Optional[pulumi.Input[str]]: """ This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} """ return pulumi.get(self, "id") @@ -15079,19 +15079,19 @@ def __init__(__self__, *, intellectual_property_publisher: Optional[pulumi.Input[str]] = None, managed_resource_group: Optional[pulumi.Input['ArmResourceIdArgs']] = None, ml_flow_registry_uri: Optional[pulumi.Input[str]] = None, + private_endpoint_connections: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]] = None, public_network_access: Optional[pulumi.Input[str]] = None, - region_details: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]]] = None, - registry_private_endpoint_connections: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]] = None): + region_details: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]]] = None): """ Details of the Registry :param pulumi.Input[str] discovery_url: Discovery URL for the Registry :param pulumi.Input[str] intellectual_property_publisher: IntellectualPropertyPublisher for the registry :param pulumi.Input['ArmResourceIdArgs'] managed_resource_group: ResourceId of the managed RG if the registry has system created resources :param pulumi.Input[str] ml_flow_registry_uri: MLFlow Registry URI for the Registry + :param pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]] private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal :param pulumi.Input[str] public_network_access: Is the Registry accessible from the internet? Possible values: "Enabled" or "Disabled" :param pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]] region_details: Details of each region the registry is in - :param pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]] registry_private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal """ if discovery_url is not None: pulumi.set(__self__, "discovery_url", discovery_url) @@ -15101,12 +15101,12 @@ def __init__(__self__, *, pulumi.set(__self__, "managed_resource_group", managed_resource_group) if ml_flow_registry_uri is not None: pulumi.set(__self__, "ml_flow_registry_uri", ml_flow_registry_uri) + if private_endpoint_connections is not None: + pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections) if public_network_access is not None: pulumi.set(__self__, "public_network_access", public_network_access) if region_details is not None: pulumi.set(__self__, "region_details", region_details) - if registry_private_endpoint_connections is not None: - pulumi.set(__self__, "registry_private_endpoint_connections", registry_private_endpoint_connections) @property @pulumi.getter(name="discoveryUrl") @@ -15156,6 +15156,18 @@ def ml_flow_registry_uri(self) -> Optional[pulumi.Input[str]]: def ml_flow_registry_uri(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ml_flow_registry_uri", value) + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]: + """ + Private endpoint connections info used for pending connections in private link portal + """ + return pulumi.get(self, "private_endpoint_connections") + + @private_endpoint_connections.setter + def private_endpoint_connections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]): + pulumi.set(self, "private_endpoint_connections", value) + @property @pulumi.getter(name="publicNetworkAccess") def public_network_access(self) -> Optional[pulumi.Input[str]]: @@ -15181,18 +15193,6 @@ def region_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Registr def region_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]]]): pulumi.set(self, "region_details", value) - @property - @pulumi.getter(name="registryPrivateEndpointConnections") - def registry_private_endpoint_connections(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]: - """ - Private endpoint connections info used for pending connections in private link portal - """ - return pulumi.get(self, "registry_private_endpoint_connections") - - @registry_private_endpoint_connections.setter - def registry_private_endpoint_connections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]): - pulumi.set(self, "registry_private_endpoint_connections", value) - @pulumi.input_type class RegressionTrainingSettingsArgs: diff --git a/sdk/python/pulumi_azure_native/machinelearningservices/v20230401/outputs.py b/sdk/python/pulumi_azure_native/machinelearningservices/v20230401/outputs.py index 2f4482f5e3ce..8b2375d60931 100644 --- a/sdk/python/pulumi_azure_native/machinelearningservices/v20230401/outputs.py +++ b/sdk/python/pulumi_azure_native/machinelearningservices/v20230401/outputs.py @@ -17403,10 +17403,10 @@ def __key_warning(key: str): suggest = "group_ids" elif key == "privateEndpoint": suggest = "private_endpoint" + elif key == "privateLinkServiceConnectionState": + suggest = "private_link_service_connection_state" elif key == "provisioningState": suggest = "provisioning_state" - elif key == "registryPrivateLinkServiceConnectionState": - suggest = "registry_private_link_service_connection_state" if suggest: pulumi.log.warn(f"Key '{key}' not found in RegistryPrivateEndpointConnectionPropertiesResponse. Access the value via the '{suggest}' property getter instead.") @@ -17422,23 +17422,23 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, group_ids: Optional[Sequence[str]] = None, private_endpoint: Optional['outputs.PrivateEndpointResourceResponse'] = None, - provisioning_state: Optional[str] = None, - registry_private_link_service_connection_state: Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse'] = None): + private_link_service_connection_state: Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse'] = None, + provisioning_state: Optional[str] = None): """ Properties of the Private Endpoint Connection :param Sequence[str] group_ids: The group ids :param 'PrivateEndpointResourceResponse' private_endpoint: The PE network resource that is linked to this PE connection. + :param 'RegistryPrivateLinkServiceConnectionStateResponse' private_link_service_connection_state: The connection state. :param str provisioning_state: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. - :param 'RegistryPrivateLinkServiceConnectionStateResponse' registry_private_link_service_connection_state: The connection state. """ if group_ids is not None: pulumi.set(__self__, "group_ids", group_ids) if private_endpoint is not None: pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_link_service_connection_state is not None: + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) if provisioning_state is not None: pulumi.set(__self__, "provisioning_state", provisioning_state) - if registry_private_link_service_connection_state is not None: - pulumi.set(__self__, "registry_private_link_service_connection_state", registry_private_link_service_connection_state) @property @pulumi.getter(name="groupIds") @@ -17457,20 +17457,20 @@ def private_endpoint(self) -> Optional['outputs.PrivateEndpointResourceResponse' return pulumi.get(self, "private_endpoint") @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> Optional[str]: + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse']: """ - One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + The connection state. """ - return pulumi.get(self, "provisioning_state") + return pulumi.get(self, "private_link_service_connection_state") @property - @pulumi.getter(name="registryPrivateLinkServiceConnectionState") - def registry_private_link_service_connection_state(self) -> Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse']: + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> Optional[str]: """ - The connection state. + One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. """ - return pulumi.get(self, "registry_private_link_service_connection_state") + return pulumi.get(self, "provisioning_state") @pulumi.output_type @@ -17485,7 +17485,7 @@ def __init__(__self__, *, """ Private endpoint connection definition. :param str id: This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} :param str location: Same as workspace location. :param 'RegistryPrivateEndpointConnectionPropertiesResponse' properties: Properties of the Private Endpoint Connection """ @@ -17501,7 +17501,7 @@ def __init__(__self__, *, def id(self) -> Optional[str]: """ This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} """ return pulumi.get(self, "id") @@ -17668,12 +17668,12 @@ def __key_warning(key: str): suggest = "managed_resource_group" elif key == "mlFlowRegistryUri": suggest = "ml_flow_registry_uri" + elif key == "privateEndpointConnections": + suggest = "private_endpoint_connections" elif key == "publicNetworkAccess": suggest = "public_network_access" elif key == "regionDetails": suggest = "region_details" - elif key == "registryPrivateEndpointConnections": - suggest = "registry_private_endpoint_connections" if suggest: pulumi.log.warn(f"Key '{key}' not found in RegistryResponse. Access the value via the '{suggest}' property getter instead.") @@ -17691,19 +17691,19 @@ def __init__(__self__, *, intellectual_property_publisher: Optional[str] = None, managed_resource_group: Optional['outputs.ArmResourceIdResponse'] = None, ml_flow_registry_uri: Optional[str] = None, + private_endpoint_connections: Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']] = None, public_network_access: Optional[str] = None, - region_details: Optional[Sequence['outputs.RegistryRegionArmDetailsResponse']] = None, - registry_private_endpoint_connections: Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']] = None): + region_details: Optional[Sequence['outputs.RegistryRegionArmDetailsResponse']] = None): """ Details of the Registry :param str discovery_url: Discovery URL for the Registry :param str intellectual_property_publisher: IntellectualPropertyPublisher for the registry :param 'ArmResourceIdResponse' managed_resource_group: ResourceId of the managed RG if the registry has system created resources :param str ml_flow_registry_uri: MLFlow Registry URI for the Registry + :param Sequence['RegistryPrivateEndpointConnectionResponse'] private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal :param str public_network_access: Is the Registry accessible from the internet? Possible values: "Enabled" or "Disabled" :param Sequence['RegistryRegionArmDetailsResponse'] region_details: Details of each region the registry is in - :param Sequence['RegistryPrivateEndpointConnectionResponse'] registry_private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal """ if discovery_url is not None: pulumi.set(__self__, "discovery_url", discovery_url) @@ -17713,12 +17713,12 @@ def __init__(__self__, *, pulumi.set(__self__, "managed_resource_group", managed_resource_group) if ml_flow_registry_uri is not None: pulumi.set(__self__, "ml_flow_registry_uri", ml_flow_registry_uri) + if private_endpoint_connections is not None: + pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections) if public_network_access is not None: pulumi.set(__self__, "public_network_access", public_network_access) if region_details is not None: pulumi.set(__self__, "region_details", region_details) - if registry_private_endpoint_connections is not None: - pulumi.set(__self__, "registry_private_endpoint_connections", registry_private_endpoint_connections) @property @pulumi.getter(name="discoveryUrl") @@ -17752,6 +17752,14 @@ def ml_flow_registry_uri(self) -> Optional[str]: """ return pulumi.get(self, "ml_flow_registry_uri") + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']]: + """ + Private endpoint connections info used for pending connections in private link portal + """ + return pulumi.get(self, "private_endpoint_connections") + @property @pulumi.getter(name="publicNetworkAccess") def public_network_access(self) -> Optional[str]: @@ -17769,14 +17777,6 @@ def region_details(self) -> Optional[Sequence['outputs.RegistryRegionArmDetailsR """ return pulumi.get(self, "region_details") - @property - @pulumi.getter(name="registryPrivateEndpointConnections") - def registry_private_endpoint_connections(self) -> Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']]: - """ - Private endpoint connections info used for pending connections in private link portal - """ - return pulumi.get(self, "registry_private_endpoint_connections") - @pulumi.output_type class RegressionResponse(dict): diff --git a/sdk/python/pulumi_azure_native/machinelearningservices/v20230401preview/_inputs.py b/sdk/python/pulumi_azure_native/machinelearningservices/v20230401preview/_inputs.py index a91239f33152..18a2df0f535b 100644 --- a/sdk/python/pulumi_azure_native/machinelearningservices/v20230401preview/_inputs.py +++ b/sdk/python/pulumi_azure_native/machinelearningservices/v20230401preview/_inputs.py @@ -21229,23 +21229,23 @@ class RegistryPrivateEndpointConnectionPropertiesArgs: def __init__(__self__, *, group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, private_endpoint: Optional[pulumi.Input['PrivateEndpointResourceArgs']] = None, - provisioning_state: Optional[pulumi.Input[str]] = None, - registry_private_link_service_connection_state: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']] = None): + private_link_service_connection_state: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']] = None, + provisioning_state: Optional[pulumi.Input[str]] = None): """ Properties of the Private Endpoint Connection :param pulumi.Input[Sequence[pulumi.Input[str]]] group_ids: The group ids :param pulumi.Input['PrivateEndpointResourceArgs'] private_endpoint: The PE network resource that is linked to this PE connection. + :param pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs'] private_link_service_connection_state: The connection state. :param pulumi.Input[str] provisioning_state: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. - :param pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs'] registry_private_link_service_connection_state: The connection state. """ if group_ids is not None: pulumi.set(__self__, "group_ids", group_ids) if private_endpoint is not None: pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_link_service_connection_state is not None: + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) if provisioning_state is not None: pulumi.set(__self__, "provisioning_state", provisioning_state) - if registry_private_link_service_connection_state is not None: - pulumi.set(__self__, "registry_private_link_service_connection_state", registry_private_link_service_connection_state) @property @pulumi.getter(name="groupIds") @@ -21271,6 +21271,18 @@ def private_endpoint(self) -> Optional[pulumi.Input['PrivateEndpointResourceArgs def private_endpoint(self, value: Optional[pulumi.Input['PrivateEndpointResourceArgs']]): pulumi.set(self, "private_endpoint", value) + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]: + """ + The connection state. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @private_link_service_connection_state.setter + def private_link_service_connection_state(self, value: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]): + pulumi.set(self, "private_link_service_connection_state", value) + @property @pulumi.getter(name="provisioningState") def provisioning_state(self) -> Optional[pulumi.Input[str]]: @@ -21283,18 +21295,6 @@ def provisioning_state(self) -> Optional[pulumi.Input[str]]: def provisioning_state(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "provisioning_state", value) - @property - @pulumi.getter(name="registryPrivateLinkServiceConnectionState") - def registry_private_link_service_connection_state(self) -> Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]: - """ - The connection state. - """ - return pulumi.get(self, "registry_private_link_service_connection_state") - - @registry_private_link_service_connection_state.setter - def registry_private_link_service_connection_state(self, value: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]): - pulumi.set(self, "registry_private_link_service_connection_state", value) - @pulumi.input_type class RegistryPrivateEndpointConnectionArgs: @@ -21305,7 +21305,7 @@ def __init__(__self__, *, """ Private endpoint connection definition. :param pulumi.Input[str] id: This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} :param pulumi.Input[str] location: Same as workspace location. :param pulumi.Input['RegistryPrivateEndpointConnectionPropertiesArgs'] properties: Properties of the Private Endpoint Connection """ @@ -21321,7 +21321,7 @@ def __init__(__self__, *, def id(self) -> Optional[pulumi.Input[str]]: """ This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} """ return pulumi.get(self, "id") @@ -21473,19 +21473,19 @@ def __init__(__self__, *, intellectual_property_publisher: Optional[pulumi.Input[str]] = None, managed_resource_group: Optional[pulumi.Input['ArmResourceIdArgs']] = None, ml_flow_registry_uri: Optional[pulumi.Input[str]] = None, + private_endpoint_connections: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]] = None, public_network_access: Optional[pulumi.Input[str]] = None, - region_details: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]]] = None, - registry_private_endpoint_connections: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]] = None): + region_details: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]]] = None): """ Details of the Registry :param pulumi.Input[str] discovery_url: Discovery URL for the Registry :param pulumi.Input[str] intellectual_property_publisher: IntellectualPropertyPublisher for the registry :param pulumi.Input['ArmResourceIdArgs'] managed_resource_group: ResourceId of the managed RG if the registry has system created resources :param pulumi.Input[str] ml_flow_registry_uri: MLFlow Registry URI for the Registry + :param pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]] private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal :param pulumi.Input[str] public_network_access: Is the Registry accessible from the internet? Possible values: "Enabled" or "Disabled" :param pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]] region_details: Details of each region the registry is in - :param pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]] registry_private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal """ if discovery_url is not None: pulumi.set(__self__, "discovery_url", discovery_url) @@ -21495,12 +21495,12 @@ def __init__(__self__, *, pulumi.set(__self__, "managed_resource_group", managed_resource_group) if ml_flow_registry_uri is not None: pulumi.set(__self__, "ml_flow_registry_uri", ml_flow_registry_uri) + if private_endpoint_connections is not None: + pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections) if public_network_access is not None: pulumi.set(__self__, "public_network_access", public_network_access) if region_details is not None: pulumi.set(__self__, "region_details", region_details) - if registry_private_endpoint_connections is not None: - pulumi.set(__self__, "registry_private_endpoint_connections", registry_private_endpoint_connections) @property @pulumi.getter(name="discoveryUrl") @@ -21550,6 +21550,18 @@ def ml_flow_registry_uri(self) -> Optional[pulumi.Input[str]]: def ml_flow_registry_uri(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ml_flow_registry_uri", value) + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]: + """ + Private endpoint connections info used for pending connections in private link portal + """ + return pulumi.get(self, "private_endpoint_connections") + + @private_endpoint_connections.setter + def private_endpoint_connections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]): + pulumi.set(self, "private_endpoint_connections", value) + @property @pulumi.getter(name="publicNetworkAccess") def public_network_access(self) -> Optional[pulumi.Input[str]]: @@ -21575,18 +21587,6 @@ def region_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Registr def region_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]]]): pulumi.set(self, "region_details", value) - @property - @pulumi.getter(name="registryPrivateEndpointConnections") - def registry_private_endpoint_connections(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]: - """ - Private endpoint connections info used for pending connections in private link portal - """ - return pulumi.get(self, "registry_private_endpoint_connections") - - @registry_private_endpoint_connections.setter - def registry_private_endpoint_connections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]): - pulumi.set(self, "registry_private_endpoint_connections", value) - @pulumi.input_type class RegressionModelPerformanceMetricThresholdArgs: diff --git a/sdk/python/pulumi_azure_native/machinelearningservices/v20230401preview/outputs.py b/sdk/python/pulumi_azure_native/machinelearningservices/v20230401preview/outputs.py index 63718107b73f..2394da7614ec 100644 --- a/sdk/python/pulumi_azure_native/machinelearningservices/v20230401preview/outputs.py +++ b/sdk/python/pulumi_azure_native/machinelearningservices/v20230401preview/outputs.py @@ -24238,10 +24238,10 @@ def __key_warning(key: str): suggest = "group_ids" elif key == "privateEndpoint": suggest = "private_endpoint" + elif key == "privateLinkServiceConnectionState": + suggest = "private_link_service_connection_state" elif key == "provisioningState": suggest = "provisioning_state" - elif key == "registryPrivateLinkServiceConnectionState": - suggest = "registry_private_link_service_connection_state" if suggest: pulumi.log.warn(f"Key '{key}' not found in RegistryPrivateEndpointConnectionPropertiesResponse. Access the value via the '{suggest}' property getter instead.") @@ -24257,23 +24257,23 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, group_ids: Optional[Sequence[str]] = None, private_endpoint: Optional['outputs.PrivateEndpointResourceResponse'] = None, - provisioning_state: Optional[str] = None, - registry_private_link_service_connection_state: Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse'] = None): + private_link_service_connection_state: Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse'] = None, + provisioning_state: Optional[str] = None): """ Properties of the Private Endpoint Connection :param Sequence[str] group_ids: The group ids :param 'PrivateEndpointResourceResponse' private_endpoint: The PE network resource that is linked to this PE connection. + :param 'RegistryPrivateLinkServiceConnectionStateResponse' private_link_service_connection_state: The connection state. :param str provisioning_state: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. - :param 'RegistryPrivateLinkServiceConnectionStateResponse' registry_private_link_service_connection_state: The connection state. """ if group_ids is not None: pulumi.set(__self__, "group_ids", group_ids) if private_endpoint is not None: pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_link_service_connection_state is not None: + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) if provisioning_state is not None: pulumi.set(__self__, "provisioning_state", provisioning_state) - if registry_private_link_service_connection_state is not None: - pulumi.set(__self__, "registry_private_link_service_connection_state", registry_private_link_service_connection_state) @property @pulumi.getter(name="groupIds") @@ -24292,20 +24292,20 @@ def private_endpoint(self) -> Optional['outputs.PrivateEndpointResourceResponse' return pulumi.get(self, "private_endpoint") @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> Optional[str]: + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse']: """ - One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + The connection state. """ - return pulumi.get(self, "provisioning_state") + return pulumi.get(self, "private_link_service_connection_state") @property - @pulumi.getter(name="registryPrivateLinkServiceConnectionState") - def registry_private_link_service_connection_state(self) -> Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse']: + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> Optional[str]: """ - The connection state. + One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. """ - return pulumi.get(self, "registry_private_link_service_connection_state") + return pulumi.get(self, "provisioning_state") @pulumi.output_type @@ -24320,7 +24320,7 @@ def __init__(__self__, *, """ Private endpoint connection definition. :param str id: This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} :param str location: Same as workspace location. :param 'RegistryPrivateEndpointConnectionPropertiesResponse' properties: Properties of the Private Endpoint Connection """ @@ -24336,7 +24336,7 @@ def __init__(__self__, *, def id(self) -> Optional[str]: """ This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} """ return pulumi.get(self, "id") @@ -24503,12 +24503,12 @@ def __key_warning(key: str): suggest = "managed_resource_group" elif key == "mlFlowRegistryUri": suggest = "ml_flow_registry_uri" + elif key == "privateEndpointConnections": + suggest = "private_endpoint_connections" elif key == "publicNetworkAccess": suggest = "public_network_access" elif key == "regionDetails": suggest = "region_details" - elif key == "registryPrivateEndpointConnections": - suggest = "registry_private_endpoint_connections" if suggest: pulumi.log.warn(f"Key '{key}' not found in RegistryResponse. Access the value via the '{suggest}' property getter instead.") @@ -24526,19 +24526,19 @@ def __init__(__self__, *, intellectual_property_publisher: Optional[str] = None, managed_resource_group: Optional['outputs.ArmResourceIdResponse'] = None, ml_flow_registry_uri: Optional[str] = None, + private_endpoint_connections: Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']] = None, public_network_access: Optional[str] = None, - region_details: Optional[Sequence['outputs.RegistryRegionArmDetailsResponse']] = None, - registry_private_endpoint_connections: Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']] = None): + region_details: Optional[Sequence['outputs.RegistryRegionArmDetailsResponse']] = None): """ Details of the Registry :param str discovery_url: Discovery URL for the Registry :param str intellectual_property_publisher: IntellectualPropertyPublisher for the registry :param 'ArmResourceIdResponse' managed_resource_group: ResourceId of the managed RG if the registry has system created resources :param str ml_flow_registry_uri: MLFlow Registry URI for the Registry + :param Sequence['RegistryPrivateEndpointConnectionResponse'] private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal :param str public_network_access: Is the Registry accessible from the internet? Possible values: "Enabled" or "Disabled" :param Sequence['RegistryRegionArmDetailsResponse'] region_details: Details of each region the registry is in - :param Sequence['RegistryPrivateEndpointConnectionResponse'] registry_private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal """ if discovery_url is not None: pulumi.set(__self__, "discovery_url", discovery_url) @@ -24548,12 +24548,12 @@ def __init__(__self__, *, pulumi.set(__self__, "managed_resource_group", managed_resource_group) if ml_flow_registry_uri is not None: pulumi.set(__self__, "ml_flow_registry_uri", ml_flow_registry_uri) + if private_endpoint_connections is not None: + pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections) if public_network_access is not None: pulumi.set(__self__, "public_network_access", public_network_access) if region_details is not None: pulumi.set(__self__, "region_details", region_details) - if registry_private_endpoint_connections is not None: - pulumi.set(__self__, "registry_private_endpoint_connections", registry_private_endpoint_connections) @property @pulumi.getter(name="discoveryUrl") @@ -24587,6 +24587,14 @@ def ml_flow_registry_uri(self) -> Optional[str]: """ return pulumi.get(self, "ml_flow_registry_uri") + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']]: + """ + Private endpoint connections info used for pending connections in private link portal + """ + return pulumi.get(self, "private_endpoint_connections") + @property @pulumi.getter(name="publicNetworkAccess") def public_network_access(self) -> Optional[str]: @@ -24604,14 +24612,6 @@ def region_details(self) -> Optional[Sequence['outputs.RegistryRegionArmDetailsR """ return pulumi.get(self, "region_details") - @property - @pulumi.getter(name="registryPrivateEndpointConnections") - def registry_private_endpoint_connections(self) -> Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']]: - """ - Private endpoint connections info used for pending connections in private link portal - """ - return pulumi.get(self, "registry_private_endpoint_connections") - @pulumi.output_type class RegressionModelPerformanceMetricThresholdResponse(dict): diff --git a/sdk/python/pulumi_azure_native/machinelearningservices/v20230601preview/_inputs.py b/sdk/python/pulumi_azure_native/machinelearningservices/v20230601preview/_inputs.py index 56b2fca86d82..f2c2d525c096 100644 --- a/sdk/python/pulumi_azure_native/machinelearningservices/v20230601preview/_inputs.py +++ b/sdk/python/pulumi_azure_native/machinelearningservices/v20230601preview/_inputs.py @@ -22072,23 +22072,23 @@ class RegistryPrivateEndpointConnectionPropertiesArgs: def __init__(__self__, *, group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, private_endpoint: Optional[pulumi.Input['PrivateEndpointResourceArgs']] = None, - provisioning_state: Optional[pulumi.Input[str]] = None, - registry_private_link_service_connection_state: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']] = None): + private_link_service_connection_state: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']] = None, + provisioning_state: Optional[pulumi.Input[str]] = None): """ Properties of the Private Endpoint Connection :param pulumi.Input[Sequence[pulumi.Input[str]]] group_ids: The group ids :param pulumi.Input['PrivateEndpointResourceArgs'] private_endpoint: The PE network resource that is linked to this PE connection. + :param pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs'] private_link_service_connection_state: The connection state. :param pulumi.Input[str] provisioning_state: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. - :param pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs'] registry_private_link_service_connection_state: The connection state. """ if group_ids is not None: pulumi.set(__self__, "group_ids", group_ids) if private_endpoint is not None: pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_link_service_connection_state is not None: + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) if provisioning_state is not None: pulumi.set(__self__, "provisioning_state", provisioning_state) - if registry_private_link_service_connection_state is not None: - pulumi.set(__self__, "registry_private_link_service_connection_state", registry_private_link_service_connection_state) @property @pulumi.getter(name="groupIds") @@ -22114,6 +22114,18 @@ def private_endpoint(self) -> Optional[pulumi.Input['PrivateEndpointResourceArgs def private_endpoint(self, value: Optional[pulumi.Input['PrivateEndpointResourceArgs']]): pulumi.set(self, "private_endpoint", value) + @property + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]: + """ + The connection state. + """ + return pulumi.get(self, "private_link_service_connection_state") + + @private_link_service_connection_state.setter + def private_link_service_connection_state(self, value: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]): + pulumi.set(self, "private_link_service_connection_state", value) + @property @pulumi.getter(name="provisioningState") def provisioning_state(self) -> Optional[pulumi.Input[str]]: @@ -22126,18 +22138,6 @@ def provisioning_state(self) -> Optional[pulumi.Input[str]]: def provisioning_state(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "provisioning_state", value) - @property - @pulumi.getter(name="registryPrivateLinkServiceConnectionState") - def registry_private_link_service_connection_state(self) -> Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]: - """ - The connection state. - """ - return pulumi.get(self, "registry_private_link_service_connection_state") - - @registry_private_link_service_connection_state.setter - def registry_private_link_service_connection_state(self, value: Optional[pulumi.Input['RegistryPrivateLinkServiceConnectionStateArgs']]): - pulumi.set(self, "registry_private_link_service_connection_state", value) - @pulumi.input_type class RegistryPrivateEndpointConnectionArgs: @@ -22148,7 +22148,7 @@ def __init__(__self__, *, """ Private endpoint connection definition. :param pulumi.Input[str] id: This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} :param pulumi.Input[str] location: Same as workspace location. :param pulumi.Input['RegistryPrivateEndpointConnectionPropertiesArgs'] properties: Properties of the Private Endpoint Connection """ @@ -22164,7 +22164,7 @@ def __init__(__self__, *, def id(self) -> Optional[pulumi.Input[str]]: """ This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} """ return pulumi.get(self, "id") @@ -22316,19 +22316,19 @@ def __init__(__self__, *, intellectual_property_publisher: Optional[pulumi.Input[str]] = None, managed_resource_group: Optional[pulumi.Input['ArmResourceIdArgs']] = None, ml_flow_registry_uri: Optional[pulumi.Input[str]] = None, + private_endpoint_connections: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]] = None, public_network_access: Optional[pulumi.Input[str]] = None, - region_details: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]]] = None, - registry_private_endpoint_connections: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]] = None): + region_details: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]]] = None): """ Details of the Registry :param pulumi.Input[str] discovery_url: Discovery URL for the Registry :param pulumi.Input[str] intellectual_property_publisher: IntellectualPropertyPublisher for the registry :param pulumi.Input['ArmResourceIdArgs'] managed_resource_group: ResourceId of the managed RG if the registry has system created resources :param pulumi.Input[str] ml_flow_registry_uri: MLFlow Registry URI for the Registry + :param pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]] private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal :param pulumi.Input[str] public_network_access: Is the Registry accessible from the internet? Possible values: "Enabled" or "Disabled" :param pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]] region_details: Details of each region the registry is in - :param pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]] registry_private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal """ if discovery_url is not None: pulumi.set(__self__, "discovery_url", discovery_url) @@ -22338,12 +22338,12 @@ def __init__(__self__, *, pulumi.set(__self__, "managed_resource_group", managed_resource_group) if ml_flow_registry_uri is not None: pulumi.set(__self__, "ml_flow_registry_uri", ml_flow_registry_uri) + if private_endpoint_connections is not None: + pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections) if public_network_access is not None: pulumi.set(__self__, "public_network_access", public_network_access) if region_details is not None: pulumi.set(__self__, "region_details", region_details) - if registry_private_endpoint_connections is not None: - pulumi.set(__self__, "registry_private_endpoint_connections", registry_private_endpoint_connections) @property @pulumi.getter(name="discoveryUrl") @@ -22393,6 +22393,18 @@ def ml_flow_registry_uri(self) -> Optional[pulumi.Input[str]]: def ml_flow_registry_uri(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ml_flow_registry_uri", value) + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]: + """ + Private endpoint connections info used for pending connections in private link portal + """ + return pulumi.get(self, "private_endpoint_connections") + + @private_endpoint_connections.setter + def private_endpoint_connections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]): + pulumi.set(self, "private_endpoint_connections", value) + @property @pulumi.getter(name="publicNetworkAccess") def public_network_access(self) -> Optional[pulumi.Input[str]]: @@ -22418,18 +22430,6 @@ def region_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Registr def region_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryRegionArmDetailsArgs']]]]): pulumi.set(self, "region_details", value) - @property - @pulumi.getter(name="registryPrivateEndpointConnections") - def registry_private_endpoint_connections(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]: - """ - Private endpoint connections info used for pending connections in private link portal - """ - return pulumi.get(self, "registry_private_endpoint_connections") - - @registry_private_endpoint_connections.setter - def registry_private_endpoint_connections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryPrivateEndpointConnectionArgs']]]]): - pulumi.set(self, "registry_private_endpoint_connections", value) - @pulumi.input_type class RegressionModelPerformanceMetricThresholdArgs: diff --git a/sdk/python/pulumi_azure_native/machinelearningservices/v20230601preview/outputs.py b/sdk/python/pulumi_azure_native/machinelearningservices/v20230601preview/outputs.py index b718cf1b6d80..347585b43ffe 100644 --- a/sdk/python/pulumi_azure_native/machinelearningservices/v20230601preview/outputs.py +++ b/sdk/python/pulumi_azure_native/machinelearningservices/v20230601preview/outputs.py @@ -25145,10 +25145,10 @@ def __key_warning(key: str): suggest = "group_ids" elif key == "privateEndpoint": suggest = "private_endpoint" + elif key == "privateLinkServiceConnectionState": + suggest = "private_link_service_connection_state" elif key == "provisioningState": suggest = "provisioning_state" - elif key == "registryPrivateLinkServiceConnectionState": - suggest = "registry_private_link_service_connection_state" if suggest: pulumi.log.warn(f"Key '{key}' not found in RegistryPrivateEndpointConnectionPropertiesResponse. Access the value via the '{suggest}' property getter instead.") @@ -25164,23 +25164,23 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, group_ids: Optional[Sequence[str]] = None, private_endpoint: Optional['outputs.PrivateEndpointResourceResponse'] = None, - provisioning_state: Optional[str] = None, - registry_private_link_service_connection_state: Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse'] = None): + private_link_service_connection_state: Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse'] = None, + provisioning_state: Optional[str] = None): """ Properties of the Private Endpoint Connection :param Sequence[str] group_ids: The group ids :param 'PrivateEndpointResourceResponse' private_endpoint: The PE network resource that is linked to this PE connection. + :param 'RegistryPrivateLinkServiceConnectionStateResponse' private_link_service_connection_state: The connection state. :param str provisioning_state: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. - :param 'RegistryPrivateLinkServiceConnectionStateResponse' registry_private_link_service_connection_state: The connection state. """ if group_ids is not None: pulumi.set(__self__, "group_ids", group_ids) if private_endpoint is not None: pulumi.set(__self__, "private_endpoint", private_endpoint) + if private_link_service_connection_state is not None: + pulumi.set(__self__, "private_link_service_connection_state", private_link_service_connection_state) if provisioning_state is not None: pulumi.set(__self__, "provisioning_state", provisioning_state) - if registry_private_link_service_connection_state is not None: - pulumi.set(__self__, "registry_private_link_service_connection_state", registry_private_link_service_connection_state) @property @pulumi.getter(name="groupIds") @@ -25199,20 +25199,20 @@ def private_endpoint(self) -> Optional['outputs.PrivateEndpointResourceResponse' return pulumi.get(self, "private_endpoint") @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> Optional[str]: + @pulumi.getter(name="privateLinkServiceConnectionState") + def private_link_service_connection_state(self) -> Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse']: """ - One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. + The connection state. """ - return pulumi.get(self, "provisioning_state") + return pulumi.get(self, "private_link_service_connection_state") @property - @pulumi.getter(name="registryPrivateLinkServiceConnectionState") - def registry_private_link_service_connection_state(self) -> Optional['outputs.RegistryPrivateLinkServiceConnectionStateResponse']: + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> Optional[str]: """ - The connection state. + One of null, "Succeeded", "Provisioning", "Failed". While not approved, it's null. """ - return pulumi.get(self, "registry_private_link_service_connection_state") + return pulumi.get(self, "provisioning_state") @pulumi.output_type @@ -25227,7 +25227,7 @@ def __init__(__self__, *, """ Private endpoint connection definition. :param str id: This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} :param str location: Same as workspace location. :param 'RegistryPrivateEndpointConnectionPropertiesResponse' properties: Properties of the Private Endpoint Connection """ @@ -25243,7 +25243,7 @@ def __init__(__self__, *, def id(self) -> Optional[str]: """ This is the private endpoint connection name created on SRP - Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + Full resource id: /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/privateEndpointConnections/{peConnectionName} """ return pulumi.get(self, "id") @@ -25410,12 +25410,12 @@ def __key_warning(key: str): suggest = "managed_resource_group" elif key == "mlFlowRegistryUri": suggest = "ml_flow_registry_uri" + elif key == "privateEndpointConnections": + suggest = "private_endpoint_connections" elif key == "publicNetworkAccess": suggest = "public_network_access" elif key == "regionDetails": suggest = "region_details" - elif key == "registryPrivateEndpointConnections": - suggest = "registry_private_endpoint_connections" if suggest: pulumi.log.warn(f"Key '{key}' not found in RegistryResponse. Access the value via the '{suggest}' property getter instead.") @@ -25433,19 +25433,19 @@ def __init__(__self__, *, intellectual_property_publisher: Optional[str] = None, managed_resource_group: Optional['outputs.ArmResourceIdResponse'] = None, ml_flow_registry_uri: Optional[str] = None, + private_endpoint_connections: Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']] = None, public_network_access: Optional[str] = None, - region_details: Optional[Sequence['outputs.RegistryRegionArmDetailsResponse']] = None, - registry_private_endpoint_connections: Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']] = None): + region_details: Optional[Sequence['outputs.RegistryRegionArmDetailsResponse']] = None): """ Details of the Registry :param str discovery_url: Discovery URL for the Registry :param str intellectual_property_publisher: IntellectualPropertyPublisher for the registry :param 'ArmResourceIdResponse' managed_resource_group: ResourceId of the managed RG if the registry has system created resources :param str ml_flow_registry_uri: MLFlow Registry URI for the Registry + :param Sequence['RegistryPrivateEndpointConnectionResponse'] private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal :param str public_network_access: Is the Registry accessible from the internet? Possible values: "Enabled" or "Disabled" :param Sequence['RegistryRegionArmDetailsResponse'] region_details: Details of each region the registry is in - :param Sequence['RegistryPrivateEndpointConnectionResponse'] registry_private_endpoint_connections: Private endpoint connections info used for pending connections in private link portal """ if discovery_url is not None: pulumi.set(__self__, "discovery_url", discovery_url) @@ -25455,12 +25455,12 @@ def __init__(__self__, *, pulumi.set(__self__, "managed_resource_group", managed_resource_group) if ml_flow_registry_uri is not None: pulumi.set(__self__, "ml_flow_registry_uri", ml_flow_registry_uri) + if private_endpoint_connections is not None: + pulumi.set(__self__, "private_endpoint_connections", private_endpoint_connections) if public_network_access is not None: pulumi.set(__self__, "public_network_access", public_network_access) if region_details is not None: pulumi.set(__self__, "region_details", region_details) - if registry_private_endpoint_connections is not None: - pulumi.set(__self__, "registry_private_endpoint_connections", registry_private_endpoint_connections) @property @pulumi.getter(name="discoveryUrl") @@ -25494,6 +25494,14 @@ def ml_flow_registry_uri(self) -> Optional[str]: """ return pulumi.get(self, "ml_flow_registry_uri") + @property + @pulumi.getter(name="privateEndpointConnections") + def private_endpoint_connections(self) -> Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']]: + """ + Private endpoint connections info used for pending connections in private link portal + """ + return pulumi.get(self, "private_endpoint_connections") + @property @pulumi.getter(name="publicNetworkAccess") def public_network_access(self) -> Optional[str]: @@ -25511,14 +25519,6 @@ def region_details(self) -> Optional[Sequence['outputs.RegistryRegionArmDetailsR """ return pulumi.get(self, "region_details") - @property - @pulumi.getter(name="registryPrivateEndpointConnections") - def registry_private_endpoint_connections(self) -> Optional[Sequence['outputs.RegistryPrivateEndpointConnectionResponse']]: - """ - Private endpoint connections info used for pending connections in private link portal - """ - return pulumi.get(self, "registry_private_endpoint_connections") - @pulumi.output_type class RegressionModelPerformanceMetricThresholdResponse(dict): diff --git a/sdk/python/pulumi_azure_native/managednetworkfabric/_enums.py b/sdk/python/pulumi_azure_native/managednetworkfabric/_enums.py index 39136cde96fb..8b0f09e4f3f5 100644 --- a/sdk/python/pulumi_azure_native/managednetworkfabric/_enums.py +++ b/sdk/python/pulumi_azure_native/managednetworkfabric/_enums.py @@ -116,7 +116,7 @@ class Encapsulation(str, Enum): class EncapsulationType(str, Enum): """ - Encapsulation Type. + Encapsulation Type that needs to be matched. """ NONE = "None" GT_PV1 = "GTPv1" @@ -191,7 +191,7 @@ class PortType(str, Enum): class PrefixType(str, Enum): """ - IP Prefix Type. + IP Prefix Type that needs to be matched. """ PREFIX = "Prefix" LONGEST_PREFIX = "LongestPrefix" @@ -215,7 +215,7 @@ class RedistributeStaticRoutes(str, Enum): class SourceDestinationType(str, Enum): """ - IP Address type. + IP Address type that needs to be matched. """ SOURCE_IP = "SourceIP" DESTINATION_IP = "DestinationIP" diff --git a/sdk/python/pulumi_azure_native/managednetworkfabric/_inputs.py b/sdk/python/pulumi_azure_native/managednetworkfabric/_inputs.py index 7739d7005e86..a58693675865 100644 --- a/sdk/python/pulumi_azure_native/managednetworkfabric/_inputs.py +++ b/sdk/python/pulumi_azure_native/managednetworkfabric/_inputs.py @@ -522,7 +522,7 @@ def __init__(__self__, *, """ Dynamic match configuration object. :param pulumi.Input[Sequence[pulumi.Input['IpGroupPropertiesArgs']]] ip_groups: List of IP Groups. - :param pulumi.Input[Sequence[pulumi.Input['PortGroupPropertiesArgs']]] port_groups: List of the port group. + :param pulumi.Input[Sequence[pulumi.Input['PortGroupPropertiesArgs']]] port_groups: List of the port groups. :param pulumi.Input[Sequence[pulumi.Input['VlanGroupPropertiesArgs']]] vlan_groups: List of vlan groups. """ if ip_groups is not None: @@ -548,7 +548,7 @@ def ip_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpGroupP @pulumi.getter(name="portGroups") def port_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PortGroupPropertiesArgs']]]]: """ - List of the port group. + List of the port groups. """ return pulumi.get(self, "port_groups") @@ -919,9 +919,9 @@ def __init__(__self__, *, """ Defines the condition that can be filtered using the selected IPs. :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_group_names: The List of IP Group Names that need to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_prefix_values: The list of IP Prefixes. - :param pulumi.Input[Union[str, 'PrefixType']] prefix_type: IP Prefix Type. - :param pulumi.Input[Union[str, 'SourceDestinationType']] type: IP Address type. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_prefix_values: The list of IP Prefixes that need to be matched. + :param pulumi.Input[Union[str, 'PrefixType']] prefix_type: IP Prefix Type that needs to be matched. + :param pulumi.Input[Union[str, 'SourceDestinationType']] type: IP Address type that needs to be matched. """ if ip_group_names is not None: pulumi.set(__self__, "ip_group_names", ip_group_names) @@ -948,7 +948,7 @@ def ip_group_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str] @pulumi.getter(name="ipPrefixValues") def ip_prefix_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The list of IP Prefixes. + The list of IP Prefixes that need to be matched. """ return pulumi.get(self, "ip_prefix_values") @@ -960,7 +960,7 @@ def ip_prefix_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[st @pulumi.getter(name="prefixType") def prefix_type(self) -> Optional[pulumi.Input[Union[str, 'PrefixType']]]: """ - IP Prefix Type. + IP Prefix Type that needs to be matched. """ return pulumi.get(self, "prefix_type") @@ -972,7 +972,7 @@ def prefix_type(self, value: Optional[pulumi.Input[Union[str, 'PrefixType']]]): @pulumi.getter def type(self) -> Optional[pulumi.Input[Union[str, 'SourceDestinationType']]]: """ - IP Address type. + IP Address type that needs to be matched. """ return pulumi.get(self, "type") @@ -1631,7 +1631,7 @@ def __init__(__self__, *, vlan_match_condition: Optional[pulumi.Input['VlanMatchConditionArgs']] = None): """ Defines the match condition that is supported to filter the traffic. - :param pulumi.Input[Union[str, 'EncapsulationType']] encapsulation_type: Encapsulation Type. + :param pulumi.Input[Union[str, 'EncapsulationType']] encapsulation_type: Encapsulation Type that needs to be matched. :param pulumi.Input['IpMatchConditionArgs'] ip_condition: IP condition that needs to be matched. :param pulumi.Input['PortConditionArgs'] port_condition: Defines the port condition that needs to be matched. :param pulumi.Input[Sequence[pulumi.Input[str]]] protocol_types: List of the protocols that need to be matched. @@ -1654,7 +1654,7 @@ def __init__(__self__, *, @pulumi.getter(name="encapsulationType") def encapsulation_type(self) -> Optional[pulumi.Input[Union[str, 'EncapsulationType']]]: """ - Encapsulation Type. + Encapsulation Type that needs to be matched. """ return pulumi.get(self, "encapsulation_type") @@ -1971,7 +1971,7 @@ def __init__(__self__, *, """ Port condition that needs to be matched. :param pulumi.Input[Union[str, 'Layer4Protocol']] layer4_protocol: Layer4 protocol type that needs to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] port_group_names: List of the port Group Names that to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] port_group_names: List of the port Group Names that need to be matched. :param pulumi.Input[Union[str, 'PortType']] port_type: Port type that needs to be matched. :param pulumi.Input[Sequence[pulumi.Input[str]]] ports: List of the Ports that need to be matched. """ @@ -1999,7 +1999,7 @@ def layer4_protocol(self, value: pulumi.Input[Union[str, 'Layer4Protocol']]): @pulumi.getter(name="portGroupNames") def port_group_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of the port Group Names that to be matched. + List of the port Group Names that need to be matched. """ return pulumi.get(self, "port_group_names") @@ -2040,7 +2040,7 @@ def __init__(__self__, *, """ Port Group properties. :param pulumi.Input[str] name: The name of the port group. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ports: List of the ports that needs to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ports: List of the ports that need to be matched. """ if name is not None: pulumi.set(__self__, "name", name) @@ -2063,7 +2063,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of the ports that needs to be matched. + List of the ports that need to be matched. """ return pulumi.get(self, "ports") @@ -2547,10 +2547,10 @@ def __init__(__self__, *, vlan_group_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, vlans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ - The vlan match conditions that needs to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] inner_vlans: List of inner vlans that needs to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] vlan_group_names: List of vlan group names that to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans: List of vlans that needs to be matched. + The vlan match conditions that need to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] inner_vlans: List of inner vlans that need to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlan_group_names: List of vlan group names that need to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans: List of vlans that need to be matched. """ if inner_vlans is not None: pulumi.set(__self__, "inner_vlans", inner_vlans) @@ -2563,7 +2563,7 @@ def __init__(__self__, *, @pulumi.getter(name="innerVlans") def inner_vlans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of inner vlans that needs to be matched. + List of inner vlans that need to be matched. """ return pulumi.get(self, "inner_vlans") @@ -2575,7 +2575,7 @@ def inner_vlans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] @pulumi.getter(name="vlanGroupNames") def vlan_group_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of vlan group names that to be matched. + List of vlan group names that need to be matched. """ return pulumi.get(self, "vlan_group_names") @@ -2587,7 +2587,7 @@ def vlan_group_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[st @pulumi.getter def vlans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of vlans that needs to be matched. + List of vlans that need to be matched. """ return pulumi.get(self, "vlans") diff --git a/sdk/python/pulumi_azure_native/managednetworkfabric/outputs.py b/sdk/python/pulumi_azure_native/managednetworkfabric/outputs.py index d645ae3db14c..680485a5dc04 100644 --- a/sdk/python/pulumi_azure_native/managednetworkfabric/outputs.py +++ b/sdk/python/pulumi_azure_native/managednetworkfabric/outputs.py @@ -631,7 +631,7 @@ def __init__(__self__, *, """ Dynamic match configuration object. :param Sequence['IpGroupPropertiesResponse'] ip_groups: List of IP Groups. - :param Sequence['PortGroupPropertiesResponse'] port_groups: List of the port group. + :param Sequence['PortGroupPropertiesResponse'] port_groups: List of the port groups. :param Sequence['VlanGroupPropertiesResponse'] vlan_groups: List of vlan groups. """ if ip_groups is not None: @@ -653,7 +653,7 @@ def ip_groups(self) -> Optional[Sequence['outputs.IpGroupPropertiesResponse']]: @pulumi.getter(name="portGroups") def port_groups(self) -> Optional[Sequence['outputs.PortGroupPropertiesResponse']]: """ - List of the port group. + List of the port groups. """ return pulumi.get(self, "port_groups") @@ -1320,9 +1320,9 @@ def __init__(__self__, *, """ Defines the condition that can be filtered using the selected IPs. :param Sequence[str] ip_group_names: The List of IP Group Names that need to be matched. - :param Sequence[str] ip_prefix_values: The list of IP Prefixes. - :param str prefix_type: IP Prefix Type. - :param str type: IP Address type. + :param Sequence[str] ip_prefix_values: The list of IP Prefixes that need to be matched. + :param str prefix_type: IP Prefix Type that needs to be matched. + :param str type: IP Address type that needs to be matched. """ if ip_group_names is not None: pulumi.set(__self__, "ip_group_names", ip_group_names) @@ -1345,7 +1345,7 @@ def ip_group_names(self) -> Optional[Sequence[str]]: @pulumi.getter(name="ipPrefixValues") def ip_prefix_values(self) -> Optional[Sequence[str]]: """ - The list of IP Prefixes. + The list of IP Prefixes that need to be matched. """ return pulumi.get(self, "ip_prefix_values") @@ -1353,7 +1353,7 @@ def ip_prefix_values(self) -> Optional[Sequence[str]]: @pulumi.getter(name="prefixType") def prefix_type(self) -> Optional[str]: """ - IP Prefix Type. + IP Prefix Type that needs to be matched. """ return pulumi.get(self, "prefix_type") @@ -1361,7 +1361,7 @@ def prefix_type(self) -> Optional[str]: @pulumi.getter def type(self) -> Optional[str]: """ - IP Address type. + IP Address type that needs to be matched. """ return pulumi.get(self, "type") @@ -2184,7 +2184,7 @@ def __init__(__self__, *, vlan_match_condition: Optional['outputs.VlanMatchConditionResponse'] = None): """ Defines the match condition that is supported to filter the traffic. - :param str encapsulation_type: Encapsulation Type. + :param str encapsulation_type: Encapsulation Type that needs to be matched. :param 'IpMatchConditionResponse' ip_condition: IP condition that needs to be matched. :param 'PortConditionResponse' port_condition: Defines the port condition that needs to be matched. :param Sequence[str] protocol_types: List of the protocols that need to be matched. @@ -2207,7 +2207,7 @@ def __init__(__self__, *, @pulumi.getter(name="encapsulationType") def encapsulation_type(self) -> Optional[str]: """ - Encapsulation Type. + Encapsulation Type that needs to be matched. """ return pulumi.get(self, "encapsulation_type") @@ -2564,7 +2564,7 @@ def __init__(__self__, *, """ Port condition that needs to be matched. :param str layer4_protocol: Layer4 protocol type that needs to be matched. - :param Sequence[str] port_group_names: List of the port Group Names that to be matched. + :param Sequence[str] port_group_names: List of the port Group Names that need to be matched. :param str port_type: Port type that needs to be matched. :param Sequence[str] ports: List of the Ports that need to be matched. """ @@ -2588,7 +2588,7 @@ def layer4_protocol(self) -> str: @pulumi.getter(name="portGroupNames") def port_group_names(self) -> Optional[Sequence[str]]: """ - List of the port Group Names that to be matched. + List of the port Group Names that need to be matched. """ return pulumi.get(self, "port_group_names") @@ -2620,7 +2620,7 @@ def __init__(__self__, *, """ Port Group properties. :param str name: The name of the port group. - :param Sequence[str] ports: List of the ports that needs to be matched. + :param Sequence[str] ports: List of the ports that need to be matched. """ if name is not None: pulumi.set(__self__, "name", name) @@ -2639,7 +2639,7 @@ def name(self) -> Optional[str]: @pulumi.getter def ports(self) -> Optional[Sequence[str]]: """ - List of the ports that needs to be matched. + List of the ports that need to be matched. """ return pulumi.get(self, "ports") @@ -3311,7 +3311,7 @@ def vlans(self) -> Optional[Sequence[str]]: @pulumi.output_type class VlanMatchConditionResponse(dict): """ - The vlan match conditions that needs to be matched. + The vlan match conditions that need to be matched. """ @staticmethod def __key_warning(key: str): @@ -3337,10 +3337,10 @@ def __init__(__self__, *, vlan_group_names: Optional[Sequence[str]] = None, vlans: Optional[Sequence[str]] = None): """ - The vlan match conditions that needs to be matched. - :param Sequence[str] inner_vlans: List of inner vlans that needs to be matched. - :param Sequence[str] vlan_group_names: List of vlan group names that to be matched. - :param Sequence[str] vlans: List of vlans that needs to be matched. + The vlan match conditions that need to be matched. + :param Sequence[str] inner_vlans: List of inner vlans that need to be matched. + :param Sequence[str] vlan_group_names: List of vlan group names that need to be matched. + :param Sequence[str] vlans: List of vlans that need to be matched. """ if inner_vlans is not None: pulumi.set(__self__, "inner_vlans", inner_vlans) @@ -3353,7 +3353,7 @@ def __init__(__self__, *, @pulumi.getter(name="innerVlans") def inner_vlans(self) -> Optional[Sequence[str]]: """ - List of inner vlans that needs to be matched. + List of inner vlans that need to be matched. """ return pulumi.get(self, "inner_vlans") @@ -3361,7 +3361,7 @@ def inner_vlans(self) -> Optional[Sequence[str]]: @pulumi.getter(name="vlanGroupNames") def vlan_group_names(self) -> Optional[Sequence[str]]: """ - List of vlan group names that to be matched. + List of vlan group names that need to be matched. """ return pulumi.get(self, "vlan_group_names") @@ -3369,7 +3369,7 @@ def vlan_group_names(self) -> Optional[Sequence[str]]: @pulumi.getter def vlans(self) -> Optional[Sequence[str]]: """ - List of vlans that needs to be matched. + List of vlans that need to be matched. """ return pulumi.get(self, "vlans") diff --git a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/_enums.py b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/_enums.py index 8966b8fb44d5..5e5bf7ff1ea2 100644 --- a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/_enums.py +++ b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/_enums.py @@ -83,7 +83,7 @@ class BooleanEnumProperty(str, Enum): class CommunityActionTypes(str, Enum): """ - Action to be taken on the configuration. Example: Permit | Deny. + Default action that needs to be applied when no condition is matched. Example: Permit | Deny. """ PERMIT = "Permit" DENY = "Deny" @@ -125,7 +125,7 @@ class Encapsulation(str, Enum): class EncapsulationType(str, Enum): """ - Encapsulation Type. + Encapsulation Type that needs to be matched. """ NONE = "None" GT_PV1 = "GTPv1" @@ -239,7 +239,7 @@ class PortType(str, Enum): class PrefixType(str, Enum): """ - IP Prefix Type. + IP Prefix Type that needs to be matched. """ PREFIX = "Prefix" LONGEST_PREFIX = "LongestPrefix" @@ -280,7 +280,7 @@ class RoutePolicyConditionType(str, Enum): class SourceDestinationType(str, Enum): """ - IP Address type. + IP Address type that needs to be matched. """ SOURCE_IP = "SourceIP" DESTINATION_IP = "DestinationIP" diff --git a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/_inputs.py b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/_inputs.py index 118d55a544dc..e78c07e03525 100644 --- a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/_inputs.py +++ b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/_inputs.py @@ -122,14 +122,14 @@ def __init__(__self__, *, vlan_match_condition: Optional[pulumi.Input['VlanMatchConditionArgs']] = None): """ Defines the match condition that is supported to filter the traffic. - :param pulumi.Input[Sequence[pulumi.Input[str]]] dscp_markings: List of DSCP Markings that needs to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ether_types: List of ether type values that needs to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] fragments: List of IP fragment packets that needs to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dscp_markings: List of DSCP Markings that need to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ether_types: List of ether type values that need to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] fragments: List of IP fragment packets that need to be matched. :param pulumi.Input['IpMatchConditionArgs'] ip_condition: IP condition that needs to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_lengths: List of IP Lengths that needs to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_lengths: List of IP Lengths that need to be matched. :param pulumi.Input['AccessControlListPortConditionArgs'] port_condition: Defines the port condition that needs to be matched. :param pulumi.Input[Sequence[pulumi.Input[str]]] protocol_types: List of the protocols that need to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ttl_values: List of TTL [Time To Live] values that needs to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ttl_values: List of TTL [Time To Live] values that need to be matched. :param pulumi.Input['VlanMatchConditionArgs'] vlan_match_condition: Vlan match condition that needs to be matched. """ if dscp_markings is not None: @@ -155,7 +155,7 @@ def __init__(__self__, *, @pulumi.getter(name="dscpMarkings") def dscp_markings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of DSCP Markings that needs to be matched. + List of DSCP Markings that need to be matched. """ return pulumi.get(self, "dscp_markings") @@ -167,7 +167,7 @@ def dscp_markings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]] @pulumi.getter(name="etherTypes") def ether_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of ether type values that needs to be matched. + List of ether type values that need to be matched. """ return pulumi.get(self, "ether_types") @@ -179,7 +179,7 @@ def ether_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] @pulumi.getter def fragments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of IP fragment packets that needs to be matched. + List of IP fragment packets that need to be matched. """ return pulumi.get(self, "fragments") @@ -203,7 +203,7 @@ def ip_condition(self, value: Optional[pulumi.Input['IpMatchConditionArgs']]): @pulumi.getter(name="ipLengths") def ip_lengths(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of IP Lengths that needs to be matched. + List of IP Lengths that need to be matched. """ return pulumi.get(self, "ip_lengths") @@ -239,7 +239,7 @@ def protocol_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str] @pulumi.getter(name="ttlValues") def ttl_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of TTL [Time To Live] values that needs to be matched. + List of TTL [Time To Live] values that need to be matched. """ return pulumi.get(self, "ttl_values") @@ -359,8 +359,8 @@ def __init__(__self__, *, """ Defines the port condition that needs to be matched. :param pulumi.Input[Union[str, 'Layer4Protocol']] layer4_protocol: Layer4 protocol type that needs to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] flags: List of protocol flags that needs to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] port_group_names: List of the port Group Names that to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] flags: List of protocol flags that need to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] port_group_names: List of the port Group Names that need to be matched. :param pulumi.Input[Union[str, 'PortType']] port_type: Port type that needs to be matched. :param pulumi.Input[Sequence[pulumi.Input[str]]] ports: List of the Ports that need to be matched. """ @@ -390,7 +390,7 @@ def layer4_protocol(self, value: pulumi.Input[Union[str, 'Layer4Protocol']]): @pulumi.getter def flags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of protocol flags that needs to be matched. + List of protocol flags that need to be matched. """ return pulumi.get(self, "flags") @@ -402,7 +402,7 @@ def flags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter(name="portGroupNames") def port_group_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of the port Group Names that to be matched. + List of the port Group Names that need to be matched. """ return pulumi.get(self, "port_group_names") @@ -663,7 +663,7 @@ def __init__(__self__, *, """ Dynamic match configuration object. :param pulumi.Input[Sequence[pulumi.Input['IpGroupPropertiesArgs']]] ip_groups: List of IP Groups. - :param pulumi.Input[Sequence[pulumi.Input['PortGroupPropertiesArgs']]] port_groups: List of the port group. + :param pulumi.Input[Sequence[pulumi.Input['PortGroupPropertiesArgs']]] port_groups: List of the port groups. :param pulumi.Input[Sequence[pulumi.Input['VlanGroupPropertiesArgs']]] vlan_groups: List of vlan groups. """ if ip_groups is not None: @@ -689,7 +689,7 @@ def ip_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpGroupP @pulumi.getter(name="portGroups") def port_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PortGroupPropertiesArgs']]]]: """ - List of the port group. + List of the port groups. """ return pulumi.get(self, "port_groups") @@ -1690,9 +1690,9 @@ def __init__(__self__, *, """ Defines the condition that can be filtered using the selected IPs. :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_group_names: The List of IP Group Names that need to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_prefix_values: The list of IP Prefixes. - :param pulumi.Input[Union[str, 'PrefixType']] prefix_type: IP Prefix Type. - :param pulumi.Input[Union[str, 'SourceDestinationType']] type: IP Address type. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_prefix_values: The list of IP Prefixes that need to be matched. + :param pulumi.Input[Union[str, 'PrefixType']] prefix_type: IP Prefix Type that needs to be matched. + :param pulumi.Input[Union[str, 'SourceDestinationType']] type: IP Address type that needs to be matched. """ if ip_group_names is not None: pulumi.set(__self__, "ip_group_names", ip_group_names) @@ -1719,7 +1719,7 @@ def ip_group_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str] @pulumi.getter(name="ipPrefixValues") def ip_prefix_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The list of IP Prefixes. + The list of IP Prefixes that need to be matched. """ return pulumi.get(self, "ip_prefix_values") @@ -1731,7 +1731,7 @@ def ip_prefix_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[st @pulumi.getter(name="prefixType") def prefix_type(self) -> Optional[pulumi.Input[Union[str, 'PrefixType']]]: """ - IP Prefix Type. + IP Prefix Type that needs to be matched. """ return pulumi.get(self, "prefix_type") @@ -1743,7 +1743,7 @@ def prefix_type(self, value: Optional[pulumi.Input[Union[str, 'PrefixType']]]): @pulumi.getter def type(self) -> Optional[pulumi.Input[Union[str, 'SourceDestinationType']]]: """ - IP Address type. + IP Address type that needs to be matched. """ return pulumi.get(self, "type") @@ -2340,7 +2340,7 @@ def __init__(__self__, *, vlan_match_condition: Optional[pulumi.Input['VlanMatchConditionArgs']] = None): """ Defines the match condition that is supported to filter the traffic. - :param pulumi.Input[Union[str, 'EncapsulationType']] encapsulation_type: Encapsulation Type. + :param pulumi.Input[Union[str, 'EncapsulationType']] encapsulation_type: Encapsulation Type that needs to be matched. :param pulumi.Input['IpMatchConditionArgs'] ip_condition: IP condition that needs to be matched. :param pulumi.Input['PortConditionArgs'] port_condition: Defines the port condition that needs to be matched. :param pulumi.Input[Sequence[pulumi.Input[str]]] protocol_types: List of the protocols that need to be matched. @@ -2363,7 +2363,7 @@ def __init__(__self__, *, @pulumi.getter(name="encapsulationType") def encapsulation_type(self) -> Optional[pulumi.Input[Union[str, 'EncapsulationType']]]: """ - Encapsulation Type. + Encapsulation Type that needs to be matched. """ return pulumi.get(self, "encapsulation_type") @@ -2676,7 +2676,7 @@ def __init__(__self__, *, """ Port condition that needs to be matched. :param pulumi.Input[Union[str, 'Layer4Protocol']] layer4_protocol: Layer4 protocol type that needs to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] port_group_names: List of the port Group Names that to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] port_group_names: List of the port Group Names that need to be matched. :param pulumi.Input[Union[str, 'PortType']] port_type: Port type that needs to be matched. :param pulumi.Input[Sequence[pulumi.Input[str]]] ports: List of the Ports that need to be matched. """ @@ -2704,7 +2704,7 @@ def layer4_protocol(self, value: pulumi.Input[Union[str, 'Layer4Protocol']]): @pulumi.getter(name="portGroupNames") def port_group_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of the port Group Names that to be matched. + List of the port Group Names that need to be matched. """ return pulumi.get(self, "port_group_names") @@ -2745,7 +2745,7 @@ def __init__(__self__, *, """ Port Group properties. :param pulumi.Input[str] name: The name of the port group. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ports: List of the ports that needs to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ports: List of the ports that need to be matched. """ if name is not None: pulumi.set(__self__, "name", name) @@ -2768,7 +2768,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of the ports that needs to be matched. + List of the ports that need to be matched. """ return pulumi.get(self, "ports") @@ -3302,10 +3302,10 @@ def __init__(__self__, *, vlan_group_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, vlans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ - The vlan match conditions that needs to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] inner_vlans: List of inner vlans that needs to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] vlan_group_names: List of vlan group names that to be matched. - :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans: List of vlans that needs to be matched. + The vlan match conditions that need to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] inner_vlans: List of inner vlans that need to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlan_group_names: List of vlan group names that need to be matched. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vlans: List of vlans that need to be matched. """ if inner_vlans is not None: pulumi.set(__self__, "inner_vlans", inner_vlans) @@ -3318,7 +3318,7 @@ def __init__(__self__, *, @pulumi.getter(name="innerVlans") def inner_vlans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of inner vlans that needs to be matched. + List of inner vlans that need to be matched. """ return pulumi.get(self, "inner_vlans") @@ -3330,7 +3330,7 @@ def inner_vlans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] @pulumi.getter(name="vlanGroupNames") def vlan_group_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of vlan group names that to be matched. + List of vlan group names that need to be matched. """ return pulumi.get(self, "vlan_group_names") @@ -3342,7 +3342,7 @@ def vlan_group_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[st @pulumi.getter def vlans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of vlans that needs to be matched. + List of vlans that need to be matched. """ return pulumi.get(self, "vlans") diff --git a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/access_control_list.py b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/access_control_list.py index 92b7a429ca74..7e88038433a7 100644 --- a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/access_control_list.py +++ b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/access_control_list.py @@ -22,6 +22,7 @@ def __init__(__self__, *, access_control_list_name: Optional[pulumi.Input[str]] = None, acls_url: Optional[pulumi.Input[str]] = None, annotation: Optional[pulumi.Input[str]] = None, + default_action: Optional[pulumi.Input[Union[str, 'CommunityActionTypes']]] = None, dynamic_match_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['CommonDynamicMatchConfigurationArgs']]]] = None, location: Optional[pulumi.Input[str]] = None, match_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['AccessControlListMatchConfigurationArgs']]]] = None, @@ -33,6 +34,7 @@ def __init__(__self__, *, :param pulumi.Input[str] access_control_list_name: Name of the Access Control List. :param pulumi.Input[str] acls_url: Access Control List file URL. :param pulumi.Input[str] annotation: Switch configuration description. + :param pulumi.Input[Union[str, 'CommunityActionTypes']] default_action: Default action that needs to be applied when no condition is matched. Example: Permit | Deny. :param pulumi.Input[Sequence[pulumi.Input['CommonDynamicMatchConfigurationArgs']]] dynamic_match_configurations: List of dynamic match configurations. :param pulumi.Input[str] location: The geo-location where the resource lives :param pulumi.Input[Sequence[pulumi.Input['AccessControlListMatchConfigurationArgs']]] match_configurations: List of match configurations. @@ -46,6 +48,10 @@ def __init__(__self__, *, pulumi.set(__self__, "acls_url", acls_url) if annotation is not None: pulumi.set(__self__, "annotation", annotation) + if default_action is None: + default_action = 'Permit' + if default_action is not None: + pulumi.set(__self__, "default_action", default_action) if dynamic_match_configurations is not None: pulumi.set(__self__, "dynamic_match_configurations", dynamic_match_configurations) if location is not None: @@ -115,6 +121,18 @@ def annotation(self) -> Optional[pulumi.Input[str]]: def annotation(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "annotation", value) + @property + @pulumi.getter(name="defaultAction") + def default_action(self) -> Optional[pulumi.Input[Union[str, 'CommunityActionTypes']]]: + """ + Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + """ + return pulumi.get(self, "default_action") + + @default_action.setter + def default_action(self, value: Optional[pulumi.Input[Union[str, 'CommunityActionTypes']]]): + pulumi.set(self, "default_action", value) + @property @pulumi.getter(name="dynamicMatchConfigurations") def dynamic_match_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CommonDynamicMatchConfigurationArgs']]]]: @@ -173,6 +191,7 @@ def __init__(__self__, acls_url: Optional[pulumi.Input[str]] = None, annotation: Optional[pulumi.Input[str]] = None, configuration_type: Optional[pulumi.Input[Union[str, 'ConfigurationType']]] = None, + default_action: Optional[pulumi.Input[Union[str, 'CommunityActionTypes']]] = None, dynamic_match_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CommonDynamicMatchConfigurationArgs']]]]] = None, location: Optional[pulumi.Input[str]] = None, match_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessControlListMatchConfigurationArgs']]]]] = None, @@ -188,6 +207,7 @@ def __init__(__self__, :param pulumi.Input[str] acls_url: Access Control List file URL. :param pulumi.Input[str] annotation: Switch configuration description. :param pulumi.Input[Union[str, 'ConfigurationType']] configuration_type: Input method to configure Access Control List. + :param pulumi.Input[Union[str, 'CommunityActionTypes']] default_action: Default action that needs to be applied when no condition is matched. Example: Permit | Deny. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CommonDynamicMatchConfigurationArgs']]]] dynamic_match_configurations: List of dynamic match configurations. :param pulumi.Input[str] location: The geo-location where the resource lives :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessControlListMatchConfigurationArgs']]]] match_configurations: List of match configurations. @@ -222,6 +242,7 @@ def _internal_init(__self__, acls_url: Optional[pulumi.Input[str]] = None, annotation: Optional[pulumi.Input[str]] = None, configuration_type: Optional[pulumi.Input[Union[str, 'ConfigurationType']]] = None, + default_action: Optional[pulumi.Input[Union[str, 'CommunityActionTypes']]] = None, dynamic_match_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CommonDynamicMatchConfigurationArgs']]]]] = None, location: Optional[pulumi.Input[str]] = None, match_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessControlListMatchConfigurationArgs']]]]] = None, @@ -242,6 +263,9 @@ def _internal_init(__self__, if configuration_type is None and not opts.urn: raise TypeError("Missing required property 'configuration_type'") __props__.__dict__["configuration_type"] = configuration_type + if default_action is None: + default_action = 'Permit' + __props__.__dict__["default_action"] = default_action __props__.__dict__["dynamic_match_configurations"] = dynamic_match_configurations __props__.__dict__["location"] = location __props__.__dict__["match_configurations"] = match_configurations @@ -285,6 +309,7 @@ def get(resource_name: str, __props__.__dict__["annotation"] = None __props__.__dict__["configuration_state"] = None __props__.__dict__["configuration_type"] = None + __props__.__dict__["default_action"] = None __props__.__dict__["dynamic_match_configurations"] = None __props__.__dict__["last_synced_time"] = None __props__.__dict__["location"] = None @@ -336,6 +361,14 @@ def configuration_type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "configuration_type") + @property + @pulumi.getter(name="defaultAction") + def default_action(self) -> pulumi.Output[Optional[str]]: + """ + Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + """ + return pulumi.get(self, "default_action") + @property @pulumi.getter(name="dynamicMatchConfigurations") def dynamic_match_configurations(self) -> pulumi.Output[Optional[Sequence['outputs.CommonDynamicMatchConfigurationResponse']]]: diff --git a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/get_access_control_list.py b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/get_access_control_list.py index 1696a550d2b9..8303c0dfa512 100644 --- a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/get_access_control_list.py +++ b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/get_access_control_list.py @@ -22,7 +22,7 @@ class GetAccessControlListResult: """ The Access Control List resource definition. """ - def __init__(__self__, acls_url=None, administrative_state=None, annotation=None, configuration_state=None, configuration_type=None, dynamic_match_configurations=None, id=None, last_synced_time=None, location=None, match_configurations=None, name=None, provisioning_state=None, system_data=None, tags=None, type=None): + def __init__(__self__, acls_url=None, administrative_state=None, annotation=None, configuration_state=None, configuration_type=None, default_action=None, dynamic_match_configurations=None, id=None, last_synced_time=None, location=None, match_configurations=None, name=None, provisioning_state=None, system_data=None, tags=None, type=None): if acls_url and not isinstance(acls_url, str): raise TypeError("Expected argument 'acls_url' to be a str") pulumi.set(__self__, "acls_url", acls_url) @@ -38,6 +38,9 @@ def __init__(__self__, acls_url=None, administrative_state=None, annotation=None if configuration_type and not isinstance(configuration_type, str): raise TypeError("Expected argument 'configuration_type' to be a str") pulumi.set(__self__, "configuration_type", configuration_type) + if default_action and not isinstance(default_action, str): + raise TypeError("Expected argument 'default_action' to be a str") + pulumi.set(__self__, "default_action", default_action) if dynamic_match_configurations and not isinstance(dynamic_match_configurations, list): raise TypeError("Expected argument 'dynamic_match_configurations' to be a list") pulumi.set(__self__, "dynamic_match_configurations", dynamic_match_configurations) @@ -109,6 +112,14 @@ def configuration_type(self) -> str: """ return pulumi.get(self, "configuration_type") + @property + @pulumi.getter(name="defaultAction") + def default_action(self) -> Optional[str]: + """ + Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + """ + return pulumi.get(self, "default_action") + @property @pulumi.getter(name="dynamicMatchConfigurations") def dynamic_match_configurations(self) -> Optional[Sequence['outputs.CommonDynamicMatchConfigurationResponse']]: @@ -201,6 +212,7 @@ def __await__(self): annotation=self.annotation, configuration_state=self.configuration_state, configuration_type=self.configuration_type, + default_action=self.default_action, dynamic_match_configurations=self.dynamic_match_configurations, id=self.id, last_synced_time=self.last_synced_time, @@ -235,6 +247,7 @@ def get_access_control_list(access_control_list_name: Optional[str] = None, annotation=__ret__.annotation, configuration_state=__ret__.configuration_state, configuration_type=__ret__.configuration_type, + default_action=__ret__.default_action, dynamic_match_configurations=__ret__.dynamic_match_configurations, id=__ret__.id, last_synced_time=__ret__.last_synced_time, diff --git a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/get_route_policy.py b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/get_route_policy.py index 869582bb0445..07dc32273429 100644 --- a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/get_route_policy.py +++ b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/get_route_policy.py @@ -22,7 +22,7 @@ class GetRoutePolicyResult: """ The RoutePolicy resource definition. """ - def __init__(__self__, address_family_type=None, administrative_state=None, annotation=None, configuration_state=None, id=None, location=None, name=None, network_fabric_id=None, provisioning_state=None, statements=None, system_data=None, tags=None, type=None): + def __init__(__self__, address_family_type=None, administrative_state=None, annotation=None, configuration_state=None, default_action=None, id=None, location=None, name=None, network_fabric_id=None, provisioning_state=None, statements=None, system_data=None, tags=None, type=None): if address_family_type and not isinstance(address_family_type, str): raise TypeError("Expected argument 'address_family_type' to be a str") pulumi.set(__self__, "address_family_type", address_family_type) @@ -35,6 +35,9 @@ def __init__(__self__, address_family_type=None, administrative_state=None, anno if configuration_state and not isinstance(configuration_state, str): raise TypeError("Expected argument 'configuration_state' to be a str") pulumi.set(__self__, "configuration_state", configuration_state) + if default_action and not isinstance(default_action, str): + raise TypeError("Expected argument 'default_action' to be a str") + pulumi.set(__self__, "default_action", default_action) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -95,6 +98,14 @@ def configuration_state(self) -> str: """ return pulumi.get(self, "configuration_state") + @property + @pulumi.getter(name="defaultAction") + def default_action(self) -> Optional[str]: + """ + Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + """ + return pulumi.get(self, "default_action") + @property @pulumi.getter def id(self) -> str: @@ -178,6 +189,7 @@ def __await__(self): administrative_state=self.administrative_state, annotation=self.annotation, configuration_state=self.configuration_state, + default_action=self.default_action, id=self.id, location=self.location, name=self.name, @@ -210,6 +222,7 @@ def get_route_policy(resource_group_name: Optional[str] = None, administrative_state=__ret__.administrative_state, annotation=__ret__.annotation, configuration_state=__ret__.configuration_state, + default_action=__ret__.default_action, id=__ret__.id, location=__ret__.location, name=__ret__.name, diff --git a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/outputs.py b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/outputs.py index dfb3eed92ad9..6d26a02ab830 100644 --- a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/outputs.py +++ b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/outputs.py @@ -173,14 +173,14 @@ def __init__(__self__, *, vlan_match_condition: Optional['outputs.VlanMatchConditionResponse'] = None): """ Defines the match condition that is supported to filter the traffic. - :param Sequence[str] dscp_markings: List of DSCP Markings that needs to be matched. - :param Sequence[str] ether_types: List of ether type values that needs to be matched. - :param Sequence[str] fragments: List of IP fragment packets that needs to be matched. + :param Sequence[str] dscp_markings: List of DSCP Markings that need to be matched. + :param Sequence[str] ether_types: List of ether type values that need to be matched. + :param Sequence[str] fragments: List of IP fragment packets that need to be matched. :param 'IpMatchConditionResponse' ip_condition: IP condition that needs to be matched. - :param Sequence[str] ip_lengths: List of IP Lengths that needs to be matched. + :param Sequence[str] ip_lengths: List of IP Lengths that need to be matched. :param 'AccessControlListPortConditionResponse' port_condition: Defines the port condition that needs to be matched. :param Sequence[str] protocol_types: List of the protocols that need to be matched. - :param Sequence[str] ttl_values: List of TTL [Time To Live] values that needs to be matched. + :param Sequence[str] ttl_values: List of TTL [Time To Live] values that need to be matched. :param 'VlanMatchConditionResponse' vlan_match_condition: Vlan match condition that needs to be matched. """ if dscp_markings is not None: @@ -206,7 +206,7 @@ def __init__(__self__, *, @pulumi.getter(name="dscpMarkings") def dscp_markings(self) -> Optional[Sequence[str]]: """ - List of DSCP Markings that needs to be matched. + List of DSCP Markings that need to be matched. """ return pulumi.get(self, "dscp_markings") @@ -214,7 +214,7 @@ def dscp_markings(self) -> Optional[Sequence[str]]: @pulumi.getter(name="etherTypes") def ether_types(self) -> Optional[Sequence[str]]: """ - List of ether type values that needs to be matched. + List of ether type values that need to be matched. """ return pulumi.get(self, "ether_types") @@ -222,7 +222,7 @@ def ether_types(self) -> Optional[Sequence[str]]: @pulumi.getter def fragments(self) -> Optional[Sequence[str]]: """ - List of IP fragment packets that needs to be matched. + List of IP fragment packets that need to be matched. """ return pulumi.get(self, "fragments") @@ -238,7 +238,7 @@ def ip_condition(self) -> Optional['outputs.IpMatchConditionResponse']: @pulumi.getter(name="ipLengths") def ip_lengths(self) -> Optional[Sequence[str]]: """ - List of IP Lengths that needs to be matched. + List of IP Lengths that need to be matched. """ return pulumi.get(self, "ip_lengths") @@ -262,7 +262,7 @@ def protocol_types(self) -> Optional[Sequence[str]]: @pulumi.getter(name="ttlValues") def ttl_values(self) -> Optional[Sequence[str]]: """ - List of TTL [Time To Live] values that needs to be matched. + List of TTL [Time To Live] values that need to be matched. """ return pulumi.get(self, "ttl_values") @@ -404,8 +404,8 @@ def __init__(__self__, *, """ Defines the port condition that needs to be matched. :param str layer4_protocol: Layer4 protocol type that needs to be matched. - :param Sequence[str] flags: List of protocol flags that needs to be matched. - :param Sequence[str] port_group_names: List of the port Group Names that to be matched. + :param Sequence[str] flags: List of protocol flags that need to be matched. + :param Sequence[str] port_group_names: List of the port Group Names that need to be matched. :param str port_type: Port type that needs to be matched. :param Sequence[str] ports: List of the Ports that need to be matched. """ @@ -431,7 +431,7 @@ def layer4_protocol(self) -> str: @pulumi.getter def flags(self) -> Optional[Sequence[str]]: """ - List of protocol flags that needs to be matched. + List of protocol flags that need to be matched. """ return pulumi.get(self, "flags") @@ -439,7 +439,7 @@ def flags(self) -> Optional[Sequence[str]]: @pulumi.getter(name="portGroupNames") def port_group_names(self) -> Optional[Sequence[str]]: """ - List of the port Group Names that to be matched. + List of the port Group Names that need to be matched. """ return pulumi.get(self, "port_group_names") @@ -734,7 +734,7 @@ def __init__(__self__, *, """ Dynamic match configuration object. :param Sequence['IpGroupPropertiesResponse'] ip_groups: List of IP Groups. - :param Sequence['PortGroupPropertiesResponse'] port_groups: List of the port group. + :param Sequence['PortGroupPropertiesResponse'] port_groups: List of the port groups. :param Sequence['VlanGroupPropertiesResponse'] vlan_groups: List of vlan groups. """ if ip_groups is not None: @@ -756,7 +756,7 @@ def ip_groups(self) -> Optional[Sequence['outputs.IpGroupPropertiesResponse']]: @pulumi.getter(name="portGroups") def port_groups(self) -> Optional[Sequence['outputs.PortGroupPropertiesResponse']]: """ - List of the port group. + List of the port groups. """ return pulumi.get(self, "port_groups") @@ -2103,9 +2103,9 @@ def __init__(__self__, *, """ Defines the condition that can be filtered using the selected IPs. :param Sequence[str] ip_group_names: The List of IP Group Names that need to be matched. - :param Sequence[str] ip_prefix_values: The list of IP Prefixes. - :param str prefix_type: IP Prefix Type. - :param str type: IP Address type. + :param Sequence[str] ip_prefix_values: The list of IP Prefixes that need to be matched. + :param str prefix_type: IP Prefix Type that needs to be matched. + :param str type: IP Address type that needs to be matched. """ if ip_group_names is not None: pulumi.set(__self__, "ip_group_names", ip_group_names) @@ -2128,7 +2128,7 @@ def ip_group_names(self) -> Optional[Sequence[str]]: @pulumi.getter(name="ipPrefixValues") def ip_prefix_values(self) -> Optional[Sequence[str]]: """ - The list of IP Prefixes. + The list of IP Prefixes that need to be matched. """ return pulumi.get(self, "ip_prefix_values") @@ -2136,7 +2136,7 @@ def ip_prefix_values(self) -> Optional[Sequence[str]]: @pulumi.getter(name="prefixType") def prefix_type(self) -> Optional[str]: """ - IP Prefix Type. + IP Prefix Type that needs to be matched. """ return pulumi.get(self, "prefix_type") @@ -2144,7 +2144,7 @@ def prefix_type(self) -> Optional[str]: @pulumi.getter def type(self) -> Optional[str]: """ - IP Address type. + IP Address type that needs to be matched. """ return pulumi.get(self, "type") @@ -2862,7 +2862,7 @@ def __init__(__self__, *, vlan_match_condition: Optional['outputs.VlanMatchConditionResponse'] = None): """ Defines the match condition that is supported to filter the traffic. - :param str encapsulation_type: Encapsulation Type. + :param str encapsulation_type: Encapsulation Type that needs to be matched. :param 'IpMatchConditionResponse' ip_condition: IP condition that needs to be matched. :param 'PortConditionResponse' port_condition: Defines the port condition that needs to be matched. :param Sequence[str] protocol_types: List of the protocols that need to be matched. @@ -2885,7 +2885,7 @@ def __init__(__self__, *, @pulumi.getter(name="encapsulationType") def encapsulation_type(self) -> Optional[str]: """ - Encapsulation Type. + Encapsulation Type that needs to be matched. """ return pulumi.get(self, "encapsulation_type") @@ -3239,7 +3239,7 @@ def __init__(__self__, *, """ Port condition that needs to be matched. :param str layer4_protocol: Layer4 protocol type that needs to be matched. - :param Sequence[str] port_group_names: List of the port Group Names that to be matched. + :param Sequence[str] port_group_names: List of the port Group Names that need to be matched. :param str port_type: Port type that needs to be matched. :param Sequence[str] ports: List of the Ports that need to be matched. """ @@ -3263,7 +3263,7 @@ def layer4_protocol(self) -> str: @pulumi.getter(name="portGroupNames") def port_group_names(self) -> Optional[Sequence[str]]: """ - List of the port Group Names that to be matched. + List of the port Group Names that need to be matched. """ return pulumi.get(self, "port_group_names") @@ -3295,7 +3295,7 @@ def __init__(__self__, *, """ Port Group properties. :param str name: The name of the port group. - :param Sequence[str] ports: List of the ports that needs to be matched. + :param Sequence[str] ports: List of the ports that need to be matched. """ if name is not None: pulumi.set(__self__, "name", name) @@ -3314,7 +3314,7 @@ def name(self) -> Optional[str]: @pulumi.getter def ports(self) -> Optional[Sequence[str]]: """ - List of the ports that needs to be matched. + List of the ports that need to be matched. """ return pulumi.get(self, "ports") @@ -4014,7 +4014,7 @@ def vlans(self) -> Optional[Sequence[str]]: @pulumi.output_type class VlanMatchConditionResponse(dict): """ - The vlan match conditions that needs to be matched. + The vlan match conditions that need to be matched. """ @staticmethod def __key_warning(key: str): @@ -4040,10 +4040,10 @@ def __init__(__self__, *, vlan_group_names: Optional[Sequence[str]] = None, vlans: Optional[Sequence[str]] = None): """ - The vlan match conditions that needs to be matched. - :param Sequence[str] inner_vlans: List of inner vlans that needs to be matched. - :param Sequence[str] vlan_group_names: List of vlan group names that to be matched. - :param Sequence[str] vlans: List of vlans that needs to be matched. + The vlan match conditions that need to be matched. + :param Sequence[str] inner_vlans: List of inner vlans that need to be matched. + :param Sequence[str] vlan_group_names: List of vlan group names that need to be matched. + :param Sequence[str] vlans: List of vlans that need to be matched. """ if inner_vlans is not None: pulumi.set(__self__, "inner_vlans", inner_vlans) @@ -4056,7 +4056,7 @@ def __init__(__self__, *, @pulumi.getter(name="innerVlans") def inner_vlans(self) -> Optional[Sequence[str]]: """ - List of inner vlans that needs to be matched. + List of inner vlans that need to be matched. """ return pulumi.get(self, "inner_vlans") @@ -4064,7 +4064,7 @@ def inner_vlans(self) -> Optional[Sequence[str]]: @pulumi.getter(name="vlanGroupNames") def vlan_group_names(self) -> Optional[Sequence[str]]: """ - List of vlan group names that to be matched. + List of vlan group names that need to be matched. """ return pulumi.get(self, "vlan_group_names") @@ -4072,7 +4072,7 @@ def vlan_group_names(self) -> Optional[Sequence[str]]: @pulumi.getter def vlans(self) -> Optional[Sequence[str]]: """ - List of vlans that needs to be matched. + List of vlans that need to be matched. """ return pulumi.get(self, "vlans") diff --git a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/route_policy.py b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/route_policy.py index a4cd7e31e28a..35ad1438bb6e 100644 --- a/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/route_policy.py +++ b/sdk/python/pulumi_azure_native/managednetworkfabric/v20230615/route_policy.py @@ -22,6 +22,7 @@ def __init__(__self__, *, statements: pulumi.Input[Sequence[pulumi.Input['RoutePolicyStatementPropertiesArgs']]], address_family_type: Optional[pulumi.Input[Union[str, 'AddressFamilyType']]] = None, annotation: Optional[pulumi.Input[str]] = None, + default_action: Optional[pulumi.Input[Union[str, 'CommunityActionTypes']]] = None, location: Optional[pulumi.Input[str]] = None, route_policy_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): @@ -32,6 +33,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['RoutePolicyStatementPropertiesArgs']]] statements: Route Policy statements. :param pulumi.Input[Union[str, 'AddressFamilyType']] address_family_type: AddressFamilyType. This parameter decides whether the given ipv4 or ipv6 route policy. :param pulumi.Input[str] annotation: Switch configuration description. + :param pulumi.Input[Union[str, 'CommunityActionTypes']] default_action: Default action that needs to be applied when no condition is matched. Example: Permit | Deny. :param pulumi.Input[str] location: The geo-location where the resource lives :param pulumi.Input[str] route_policy_name: Name of the Route Policy. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. @@ -45,6 +47,10 @@ def __init__(__self__, *, pulumi.set(__self__, "address_family_type", address_family_type) if annotation is not None: pulumi.set(__self__, "annotation", annotation) + if default_action is None: + default_action = 'Deny' + if default_action is not None: + pulumi.set(__self__, "default_action", default_action) if location is not None: pulumi.set(__self__, "location", location) if route_policy_name is not None: @@ -112,6 +118,18 @@ def annotation(self) -> Optional[pulumi.Input[str]]: def annotation(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "annotation", value) + @property + @pulumi.getter(name="defaultAction") + def default_action(self) -> Optional[pulumi.Input[Union[str, 'CommunityActionTypes']]]: + """ + Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + """ + return pulumi.get(self, "default_action") + + @default_action.setter + def default_action(self, value: Optional[pulumi.Input[Union[str, 'CommunityActionTypes']]]): + pulumi.set(self, "default_action", value) + @property @pulumi.getter def location(self) -> Optional[pulumi.Input[str]]: @@ -156,6 +174,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, address_family_type: Optional[pulumi.Input[Union[str, 'AddressFamilyType']]] = None, annotation: Optional[pulumi.Input[str]] = None, + default_action: Optional[pulumi.Input[Union[str, 'CommunityActionTypes']]] = None, location: Optional[pulumi.Input[str]] = None, network_fabric_id: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, @@ -170,6 +189,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Union[str, 'AddressFamilyType']] address_family_type: AddressFamilyType. This parameter decides whether the given ipv4 or ipv6 route policy. :param pulumi.Input[str] annotation: Switch configuration description. + :param pulumi.Input[Union[str, 'CommunityActionTypes']] default_action: Default action that needs to be applied when no condition is matched. Example: Permit | Deny. :param pulumi.Input[str] location: The geo-location where the resource lives :param pulumi.Input[str] network_fabric_id: Arm Resource ID of Network Fabric. :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. @@ -203,6 +223,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, address_family_type: Optional[pulumi.Input[Union[str, 'AddressFamilyType']]] = None, annotation: Optional[pulumi.Input[str]] = None, + default_action: Optional[pulumi.Input[Union[str, 'CommunityActionTypes']]] = None, location: Optional[pulumi.Input[str]] = None, network_fabric_id: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, @@ -222,6 +243,9 @@ def _internal_init(__self__, address_family_type = 'IPv4' __props__.__dict__["address_family_type"] = address_family_type __props__.__dict__["annotation"] = annotation + if default_action is None: + default_action = 'Deny' + __props__.__dict__["default_action"] = default_action __props__.__dict__["location"] = location if network_fabric_id is None and not opts.urn: raise TypeError("Missing required property 'network_fabric_id'") @@ -268,6 +292,7 @@ def get(resource_name: str, __props__.__dict__["administrative_state"] = None __props__.__dict__["annotation"] = None __props__.__dict__["configuration_state"] = None + __props__.__dict__["default_action"] = None __props__.__dict__["location"] = None __props__.__dict__["name"] = None __props__.__dict__["network_fabric_id"] = None @@ -310,6 +335,14 @@ def configuration_state(self) -> pulumi.Output[str]: """ return pulumi.get(self, "configuration_state") + @property + @pulumi.getter(name="defaultAction") + def default_action(self) -> pulumi.Output[Optional[str]]: + """ + Default action that needs to be applied when no condition is matched. Example: Permit | Deny. + """ + return pulumi.get(self, "default_action") + @property @pulumi.getter def location(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure_native/maps/__init__.py b/sdk/python/pulumi_azure_native/maps/__init__.py index 7fb99a89df43..25f056370118 100644 --- a/sdk/python/pulumi_azure_native/maps/__init__.py +++ b/sdk/python/pulumi_azure_native/maps/__init__.py @@ -27,9 +27,12 @@ v20210201 = __v20210201 import pulumi_azure_native.maps.v20211201preview as __v20211201preview v20211201preview = __v20211201preview + import pulumi_azure_native.maps.v20230601 as __v20230601 + v20230601 = __v20230601 else: v20180501 = _utilities.lazy_import('pulumi_azure_native.maps.v20180501') v20200201preview = _utilities.lazy_import('pulumi_azure_native.maps.v20200201preview') v20210201 = _utilities.lazy_import('pulumi_azure_native.maps.v20210201') v20211201preview = _utilities.lazy_import('pulumi_azure_native.maps.v20211201preview') + v20230601 = _utilities.lazy_import('pulumi_azure_native.maps.v20230601') diff --git a/sdk/python/pulumi_azure_native/maps/account.py b/sdk/python/pulumi_azure_native/maps/account.py index 97dac4212b68..32631e7aeb89 100644 --- a/sdk/python/pulumi_azure_native/maps/account.py +++ b/sdk/python/pulumi_azure_native/maps/account.py @@ -214,7 +214,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps/v20170101preview:Account"), pulumi.Alias(type_="azure-native:maps/v20180501:Account"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Account"), pulumi.Alias(type_="azure-native:maps/v20210201:Account"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Account"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Account")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps/v20170101preview:Account"), pulumi.Alias(type_="azure-native:maps/v20180501:Account"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Account"), pulumi.Alias(type_="azure-native:maps/v20210201:Account"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Account"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Account"), pulumi.Alias(type_="azure-native:maps/v20230601:Account")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Account, __self__).__init__( 'azure-native:maps:Account', diff --git a/sdk/python/pulumi_azure_native/maps/creator.py b/sdk/python/pulumi_azure_native/maps/creator.py index a51e3ac0e4eb..bc9bc498c944 100644 --- a/sdk/python/pulumi_azure_native/maps/creator.py +++ b/sdk/python/pulumi_azure_native/maps/creator.py @@ -193,7 +193,7 @@ def _internal_init(__self__, __props__.__dict__["tags"] = tags __props__.__dict__["name"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps/v20200201preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20210201:Creator"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Creator")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps/v20200201preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20210201:Creator"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20230601:Creator")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Creator, __self__).__init__( 'azure-native:maps:Creator', diff --git a/sdk/python/pulumi_azure_native/maps/v20180501/account.py b/sdk/python/pulumi_azure_native/maps/v20180501/account.py index d993c9a5abc5..fc7c3fa26f8b 100644 --- a/sdk/python/pulumi_azure_native/maps/v20180501/account.py +++ b/sdk/python/pulumi_azure_native/maps/v20180501/account.py @@ -171,7 +171,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["properties"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Account"), pulumi.Alias(type_="azure-native:maps/v20170101preview:Account"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Account"), pulumi.Alias(type_="azure-native:maps/v20210201:Account"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Account"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Account")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Account"), pulumi.Alias(type_="azure-native:maps/v20170101preview:Account"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Account"), pulumi.Alias(type_="azure-native:maps/v20210201:Account"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Account"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Account"), pulumi.Alias(type_="azure-native:maps/v20230601:Account")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Account, __self__).__init__( 'azure-native:maps/v20180501:Account', diff --git a/sdk/python/pulumi_azure_native/maps/v20200201preview/creator.py b/sdk/python/pulumi_azure_native/maps/v20200201preview/creator.py index bc72e3153693..8540accc0d7b 100644 --- a/sdk/python/pulumi_azure_native/maps/v20200201preview/creator.py +++ b/sdk/python/pulumi_azure_native/maps/v20200201preview/creator.py @@ -170,7 +170,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["properties"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Creator"), pulumi.Alias(type_="azure-native:maps/v20210201:Creator"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Creator")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Creator"), pulumi.Alias(type_="azure-native:maps/v20210201:Creator"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20230601:Creator")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Creator, __self__).__init__( 'azure-native:maps/v20200201preview:Creator', diff --git a/sdk/python/pulumi_azure_native/maps/v20210201/account.py b/sdk/python/pulumi_azure_native/maps/v20210201/account.py index a656723cab06..f768d1aa7631 100644 --- a/sdk/python/pulumi_azure_native/maps/v20210201/account.py +++ b/sdk/python/pulumi_azure_native/maps/v20210201/account.py @@ -212,7 +212,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Account"), pulumi.Alias(type_="azure-native:maps/v20170101preview:Account"), pulumi.Alias(type_="azure-native:maps/v20180501:Account"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Account"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Account"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Account")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Account"), pulumi.Alias(type_="azure-native:maps/v20170101preview:Account"), pulumi.Alias(type_="azure-native:maps/v20180501:Account"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Account"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Account"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Account"), pulumi.Alias(type_="azure-native:maps/v20230601:Account")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Account, __self__).__init__( 'azure-native:maps/v20210201:Account', diff --git a/sdk/python/pulumi_azure_native/maps/v20210201/creator.py b/sdk/python/pulumi_azure_native/maps/v20210201/creator.py index 9b5a63dac3ea..5d0d7e1673b0 100644 --- a/sdk/python/pulumi_azure_native/maps/v20210201/creator.py +++ b/sdk/python/pulumi_azure_native/maps/v20210201/creator.py @@ -191,7 +191,7 @@ def _internal_init(__self__, __props__.__dict__["tags"] = tags __props__.__dict__["name"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Creator"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Creator")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Creator"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20230601:Creator")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Creator, __self__).__init__( 'azure-native:maps/v20210201:Creator', diff --git a/sdk/python/pulumi_azure_native/maps/v20211201preview/account.py b/sdk/python/pulumi_azure_native/maps/v20211201preview/account.py index 8e2aa170066a..ccfda5f8a0f4 100644 --- a/sdk/python/pulumi_azure_native/maps/v20211201preview/account.py +++ b/sdk/python/pulumi_azure_native/maps/v20211201preview/account.py @@ -232,7 +232,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Account"), pulumi.Alias(type_="azure-native:maps/v20170101preview:Account"), pulumi.Alias(type_="azure-native:maps/v20180501:Account"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Account"), pulumi.Alias(type_="azure-native:maps/v20210201:Account"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Account")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Account"), pulumi.Alias(type_="azure-native:maps/v20170101preview:Account"), pulumi.Alias(type_="azure-native:maps/v20180501:Account"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Account"), pulumi.Alias(type_="azure-native:maps/v20210201:Account"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Account"), pulumi.Alias(type_="azure-native:maps/v20230601:Account")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Account, __self__).__init__( 'azure-native:maps/v20211201preview:Account', diff --git a/sdk/python/pulumi_azure_native/maps/v20211201preview/creator.py b/sdk/python/pulumi_azure_native/maps/v20211201preview/creator.py index 2d71262aec1d..359dcef044a7 100644 --- a/sdk/python/pulumi_azure_native/maps/v20211201preview/creator.py +++ b/sdk/python/pulumi_azure_native/maps/v20211201preview/creator.py @@ -192,7 +192,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None - alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Creator"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20210201:Creator"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Creator")]) + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Creator"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20210201:Creator"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20230601:Creator")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(Creator, __self__).__init__( 'azure-native:maps/v20211201preview:Creator', diff --git a/sdk/python/pulumi_azure_native/maps/v20230601/__init__.py b/sdk/python/pulumi_azure_native/maps/v20230601/__init__.py new file mode 100644 index 000000000000..836cfe1555b7 --- /dev/null +++ b/sdk/python/pulumi_azure_native/maps/v20230601/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .account import * +from .creator import * +from .get_account import * +from .get_creator import * +from .list_account_keys import * +from .list_account_sas import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/maps/v20230601/_enums.py b/sdk/python/pulumi_azure_native/maps/v20230601/_enums.py new file mode 100644 index 000000000000..f3873da80208 --- /dev/null +++ b/sdk/python/pulumi_azure_native/maps/v20230601/_enums.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'IdentityType', + 'InfrastructureEncryption', + 'Kind', + 'ManagedServiceIdentityType', + 'Name', + 'SigningKey', +] + + +class IdentityType(str, Enum): + """ + Values can be systemAssignedIdentity or userAssignedIdentity + """ + SYSTEM_ASSIGNED_IDENTITY = "systemAssignedIdentity" + USER_ASSIGNED_IDENTITY = "userAssignedIdentity" + DELEGATED_RESOURCE_IDENTITY = "delegatedResourceIdentity" + + +class InfrastructureEncryption(str, Enum): + """ + Values are enabled and disabled. + """ + ENABLED = "enabled" + DISABLED = "disabled" + + +class Kind(str, Enum): + """ + Get or Set Kind property. + """ + GEN1 = "Gen1" + GEN2 = "Gen2" + + +class ManagedServiceIdentityType(str, Enum): + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + NONE = "None" + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned, UserAssigned" + + +class Name(str, Enum): + """ + The name of the SKU, in standard format (such as S0). + """ + S0 = "S0" + S1 = "S1" + G2 = "G2" + + +class SigningKey(str, Enum): + """ + The Map account key to use for signing. Picking `primaryKey` or `secondaryKey` will use the Map account Shared Keys, and using `managedIdentity` will use the auto-renewed private key to sign the SAS. + """ + PRIMARY_KEY = "primaryKey" + SECONDARY_KEY = "secondaryKey" + MANAGED_IDENTITY = "managedIdentity" diff --git a/sdk/python/pulumi_azure_native/maps/v20230601/_inputs.py b/sdk/python/pulumi_azure_native/maps/v20230601/_inputs.py new file mode 100644 index 000000000000..3be6ea758665 --- /dev/null +++ b/sdk/python/pulumi_azure_native/maps/v20230601/_inputs.py @@ -0,0 +1,405 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = [ + 'CorsRulesArgs', + 'CorsRuleArgs', + 'CreatorPropertiesArgs', + 'CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs', + 'CustomerManagedKeyEncryptionArgs', + 'EncryptionArgs', + 'LinkedResourceArgs', + 'ManagedServiceIdentityArgs', + 'MapsAccountPropertiesArgs', + 'SkuArgs', +] + +@pulumi.input_type +class CorsRulesArgs: + def __init__(__self__, *, + cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input['CorsRuleArgs']]]] = None): + """ + Sets the CORS rules. You can include up to five CorsRule elements in the request. + :param pulumi.Input[Sequence[pulumi.Input['CorsRuleArgs']]] cors_rules: The list of CORS rules. You can include up to five CorsRule elements in the request. + """ + if cors_rules is not None: + pulumi.set(__self__, "cors_rules", cors_rules) + + @property + @pulumi.getter(name="corsRules") + def cors_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CorsRuleArgs']]]]: + """ + The list of CORS rules. You can include up to five CorsRule elements in the request. + """ + return pulumi.get(self, "cors_rules") + + @cors_rules.setter + def cors_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CorsRuleArgs']]]]): + pulumi.set(self, "cors_rules", value) + + +@pulumi.input_type +class CorsRuleArgs: + def __init__(__self__, *, + allowed_origins: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + Specifies a CORS rule for the Map Account. + :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_origins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" to allow all domains + """ + pulumi.set(__self__, "allowed_origins", allowed_origins) + + @property + @pulumi.getter(name="allowedOrigins") + def allowed_origins(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" to allow all domains + """ + return pulumi.get(self, "allowed_origins") + + @allowed_origins.setter + def allowed_origins(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "allowed_origins", value) + + +@pulumi.input_type +class CreatorPropertiesArgs: + def __init__(__self__, *, + storage_units: pulumi.Input[int]): + """ + Creator resource properties + :param pulumi.Input[int] storage_units: The storage units to be allocated. Integer values from 1 to 100, inclusive. + """ + pulumi.set(__self__, "storage_units", storage_units) + + @property + @pulumi.getter(name="storageUnits") + def storage_units(self) -> pulumi.Input[int]: + """ + The storage units to be allocated. Integer values from 1 to 100, inclusive. + """ + return pulumi.get(self, "storage_units") + + @storage_units.setter + def storage_units(self, value: pulumi.Input[int]): + pulumi.set(self, "storage_units", value) + + +@pulumi.input_type +class CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs: + def __init__(__self__, *, + delegated_identity_client_id: Optional[pulumi.Input[str]] = None, + identity_type: Optional[pulumi.Input[Union[str, 'IdentityType']]] = None, + user_assigned_identity_resource_id: Optional[pulumi.Input[str]] = None): + """ + All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + :param pulumi.Input[str] delegated_identity_client_id: delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only. + :param pulumi.Input[Union[str, 'IdentityType']] identity_type: Values can be systemAssignedIdentity or userAssignedIdentity + :param pulumi.Input[str] user_assigned_identity_resource_id: user assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and delegatedResourceIdentity. + """ + if delegated_identity_client_id is not None: + pulumi.set(__self__, "delegated_identity_client_id", delegated_identity_client_id) + if identity_type is not None: + pulumi.set(__self__, "identity_type", identity_type) + if user_assigned_identity_resource_id is not None: + pulumi.set(__self__, "user_assigned_identity_resource_id", user_assigned_identity_resource_id) + + @property + @pulumi.getter(name="delegatedIdentityClientId") + def delegated_identity_client_id(self) -> Optional[pulumi.Input[str]]: + """ + delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only. + """ + return pulumi.get(self, "delegated_identity_client_id") + + @delegated_identity_client_id.setter + def delegated_identity_client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delegated_identity_client_id", value) + + @property + @pulumi.getter(name="identityType") + def identity_type(self) -> Optional[pulumi.Input[Union[str, 'IdentityType']]]: + """ + Values can be systemAssignedIdentity or userAssignedIdentity + """ + return pulumi.get(self, "identity_type") + + @identity_type.setter + def identity_type(self, value: Optional[pulumi.Input[Union[str, 'IdentityType']]]): + pulumi.set(self, "identity_type", value) + + @property + @pulumi.getter(name="userAssignedIdentityResourceId") + def user_assigned_identity_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + user assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and delegatedResourceIdentity. + """ + return pulumi.get(self, "user_assigned_identity_resource_id") + + @user_assigned_identity_resource_id.setter + def user_assigned_identity_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_assigned_identity_resource_id", value) + + +@pulumi.input_type +class CustomerManagedKeyEncryptionArgs: + def __init__(__self__, *, + key_encryption_key_identity: Optional[pulumi.Input['CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs']] = None, + key_encryption_key_url: Optional[pulumi.Input[str]] = None): + """ + All Customer-managed key encryption properties for the resource. + :param pulumi.Input['CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs'] key_encryption_key_identity: All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + :param pulumi.Input[str] key_encryption_key_url: key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek. + """ + if key_encryption_key_identity is not None: + pulumi.set(__self__, "key_encryption_key_identity", key_encryption_key_identity) + if key_encryption_key_url is not None: + pulumi.set(__self__, "key_encryption_key_url", key_encryption_key_url) + + @property + @pulumi.getter(name="keyEncryptionKeyIdentity") + def key_encryption_key_identity(self) -> Optional[pulumi.Input['CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs']]: + """ + All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + """ + return pulumi.get(self, "key_encryption_key_identity") + + @key_encryption_key_identity.setter + def key_encryption_key_identity(self, value: Optional[pulumi.Input['CustomerManagedKeyEncryptionKeyEncryptionKeyIdentityArgs']]): + pulumi.set(self, "key_encryption_key_identity", value) + + @property + @pulumi.getter(name="keyEncryptionKeyUrl") + def key_encryption_key_url(self) -> Optional[pulumi.Input[str]]: + """ + key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek. + """ + return pulumi.get(self, "key_encryption_key_url") + + @key_encryption_key_url.setter + def key_encryption_key_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_encryption_key_url", value) + + +@pulumi.input_type +class EncryptionArgs: + def __init__(__self__, *, + customer_managed_key_encryption: Optional[pulumi.Input['CustomerManagedKeyEncryptionArgs']] = None, + infrastructure_encryption: Optional[pulumi.Input[Union[str, 'InfrastructureEncryption']]] = None): + """ + (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + :param pulumi.Input['CustomerManagedKeyEncryptionArgs'] customer_managed_key_encryption: All Customer-managed key encryption properties for the resource. + :param pulumi.Input[Union[str, 'InfrastructureEncryption']] infrastructure_encryption: Values are enabled and disabled. + """ + if customer_managed_key_encryption is not None: + pulumi.set(__self__, "customer_managed_key_encryption", customer_managed_key_encryption) + if infrastructure_encryption is not None: + pulumi.set(__self__, "infrastructure_encryption", infrastructure_encryption) + + @property + @pulumi.getter(name="customerManagedKeyEncryption") + def customer_managed_key_encryption(self) -> Optional[pulumi.Input['CustomerManagedKeyEncryptionArgs']]: + """ + All Customer-managed key encryption properties for the resource. + """ + return pulumi.get(self, "customer_managed_key_encryption") + + @customer_managed_key_encryption.setter + def customer_managed_key_encryption(self, value: Optional[pulumi.Input['CustomerManagedKeyEncryptionArgs']]): + pulumi.set(self, "customer_managed_key_encryption", value) + + @property + @pulumi.getter(name="infrastructureEncryption") + def infrastructure_encryption(self) -> Optional[pulumi.Input[Union[str, 'InfrastructureEncryption']]]: + """ + Values are enabled and disabled. + """ + return pulumi.get(self, "infrastructure_encryption") + + @infrastructure_encryption.setter + def infrastructure_encryption(self, value: Optional[pulumi.Input[Union[str, 'InfrastructureEncryption']]]): + pulumi.set(self, "infrastructure_encryption", value) + + +@pulumi.input_type +class LinkedResourceArgs: + def __init__(__self__, *, + id: pulumi.Input[str], + unique_name: pulumi.Input[str]): + """ + Linked resource is reference to a resource deployed in an Azure subscription, add the linked resource `uniqueName` value as an optional parameter for operations on Azure Maps Geospatial REST APIs. + :param pulumi.Input[str] id: ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'. + :param pulumi.Input[str] unique_name: A provided name which uniquely identifies the linked resource. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "unique_name", unique_name) + + @property + @pulumi.getter + def id(self) -> pulumi.Input[str]: + """ + ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter(name="uniqueName") + def unique_name(self) -> pulumi.Input[str]: + """ + A provided name which uniquely identifies the linked resource. + """ + return pulumi.get(self, "unique_name") + + @unique_name.setter + def unique_name(self, value: pulumi.Input[str]): + pulumi.set(self, "unique_name", value) + + +@pulumi.input_type +class ManagedServiceIdentityArgs: + def __init__(__self__, *, + type: pulumi.Input[Union[str, 'ManagedServiceIdentityType']], + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Managed service identity (system assigned and/or user assigned identities) + :param pulumi.Input[Union[str, 'ManagedServiceIdentityType']] type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[Union[str, 'ManagedServiceIdentityType']]: + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[Union[str, 'ManagedServiceIdentityType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_assigned_identities", value) + + +@pulumi.input_type +class MapsAccountPropertiesArgs: + def __init__(__self__, *, + cors: Optional[pulumi.Input['CorsRulesArgs']] = None, + disable_local_auth: Optional[pulumi.Input[bool]] = None, + encryption: Optional[pulumi.Input['EncryptionArgs']] = None, + linked_resources: Optional[pulumi.Input[Sequence[pulumi.Input['LinkedResourceArgs']]]] = None): + """ + Additional Map account properties + :param pulumi.Input['CorsRulesArgs'] cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service. + :param pulumi.Input[bool] disable_local_auth: Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys and Shared Access Signature Token authentication from any usage. + :param pulumi.Input['EncryptionArgs'] encryption: (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + :param pulumi.Input[Sequence[pulumi.Input['LinkedResourceArgs']]] linked_resources: The array of associated resources to the Map account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Map Account Managed Identity(s) permissions to those resource(s). + """ + if cors is not None: + pulumi.set(__self__, "cors", cors) + if disable_local_auth is None: + disable_local_auth = False + if disable_local_auth is not None: + pulumi.set(__self__, "disable_local_auth", disable_local_auth) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if linked_resources is not None: + pulumi.set(__self__, "linked_resources", linked_resources) + + @property + @pulumi.getter + def cors(self) -> Optional[pulumi.Input['CorsRulesArgs']]: + """ + Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service. + """ + return pulumi.get(self, "cors") + + @cors.setter + def cors(self, value: Optional[pulumi.Input['CorsRulesArgs']]): + pulumi.set(self, "cors", value) + + @property + @pulumi.getter(name="disableLocalAuth") + def disable_local_auth(self) -> Optional[pulumi.Input[bool]]: + """ + Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys and Shared Access Signature Token authentication from any usage. + """ + return pulumi.get(self, "disable_local_auth") + + @disable_local_auth.setter + def disable_local_auth(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_local_auth", value) + + @property + @pulumi.getter + def encryption(self) -> Optional[pulumi.Input['EncryptionArgs']]: + """ + (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + """ + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: Optional[pulumi.Input['EncryptionArgs']]): + pulumi.set(self, "encryption", value) + + @property + @pulumi.getter(name="linkedResources") + def linked_resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LinkedResourceArgs']]]]: + """ + The array of associated resources to the Map account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Map Account Managed Identity(s) permissions to those resource(s). + """ + return pulumi.get(self, "linked_resources") + + @linked_resources.setter + def linked_resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LinkedResourceArgs']]]]): + pulumi.set(self, "linked_resources", value) + + +@pulumi.input_type +class SkuArgs: + def __init__(__self__, *, + name: pulumi.Input[Union[str, 'Name']]): + """ + The SKU of the Maps Account. + :param pulumi.Input[Union[str, 'Name']] name: The name of the SKU, in standard format (such as S0). + """ + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[Union[str, 'Name']]: + """ + The name of the SKU, in standard format (such as S0). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Union[str, 'Name']]): + pulumi.set(self, "name", value) + + diff --git a/sdk/python/pulumi_azure_native/maps/v20230601/account.py b/sdk/python/pulumi_azure_native/maps/v20230601/account.py new file mode 100644 index 000000000000..81a0e68dd4d4 --- /dev/null +++ b/sdk/python/pulumi_azure_native/maps/v20230601/account.py @@ -0,0 +1,341 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['AccountArgs', 'Account'] + +@pulumi.input_type +class AccountArgs: + def __init__(__self__, *, + resource_group_name: pulumi.Input[str], + sku: pulumi.Input['SkuArgs'], + account_name: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input['ManagedServiceIdentityArgs']] = None, + kind: Optional[pulumi.Input[Union[str, 'Kind']]] = None, + location: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input['MapsAccountPropertiesArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Account resource. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input['SkuArgs'] sku: The SKU of this account. + :param pulumi.Input[str] account_name: The name of the Maps Account. + :param pulumi.Input['ManagedServiceIdentityArgs'] identity: Managed service identity (system assigned and/or user assigned identities) + :param pulumi.Input[Union[str, 'Kind']] kind: Get or Set Kind property. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input['MapsAccountPropertiesArgs'] properties: The map account properties. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "sku", sku) + if account_name is not None: + pulumi.set(__self__, "account_name", account_name) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if kind is not None: + pulumi.set(__self__, "kind", kind) + if location is not None: + pulumi.set(__self__, "location", location) + if properties is not None: + pulumi.set(__self__, "properties", properties) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def sku(self) -> pulumi.Input['SkuArgs']: + """ + The SKU of this account. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: pulumi.Input['SkuArgs']): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter(name="accountName") + def account_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the Maps Account. + """ + return pulumi.get(self, "account_name") + + @account_name.setter + def account_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "account_name", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['ManagedServiceIdentityArgs']]: + """ + Managed service identity (system assigned and/or user assigned identities) + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['ManagedServiceIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def kind(self) -> Optional[pulumi.Input[Union[str, 'Kind']]]: + """ + Get or Set Kind property. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: Optional[pulumi.Input[Union[str, 'Kind']]]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['MapsAccountPropertiesArgs']]: + """ + The map account properties. + """ + return pulumi.get(self, "properties") + + @properties.setter + def properties(self, value: Optional[pulumi.Input['MapsAccountPropertiesArgs']]): + pulumi.set(self, "properties", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class Account(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_name: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ManagedServiceIdentityArgs']]] = None, + kind: Optional[pulumi.Input[Union[str, 'Kind']]] = None, + location: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['MapsAccountPropertiesArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + An Azure resource which represents access to a suite of Maps REST APIs. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] account_name: The name of the Maps Account. + :param pulumi.Input[pulumi.InputType['ManagedServiceIdentityArgs']] identity: Managed service identity (system assigned and/or user assigned identities) + :param pulumi.Input[Union[str, 'Kind']] kind: Get or Set Kind property. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[pulumi.InputType['MapsAccountPropertiesArgs']] properties: The map account properties. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[pulumi.InputType['SkuArgs']] sku: The SKU of this account. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AccountArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + An Azure resource which represents access to a suite of Maps REST APIs. + + :param str resource_name: The name of the resource. + :param AccountArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AccountArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_name: Optional[pulumi.Input[str]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ManagedServiceIdentityArgs']]] = None, + kind: Optional[pulumi.Input[Union[str, 'Kind']]] = None, + location: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['MapsAccountPropertiesArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[pulumi.InputType['SkuArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AccountArgs.__new__(AccountArgs) + + __props__.__dict__["account_name"] = account_name + __props__.__dict__["identity"] = identity + __props__.__dict__["kind"] = kind + __props__.__dict__["location"] = location + __props__.__dict__["properties"] = properties + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if sku is None and not opts.urn: + raise TypeError("Missing required property 'sku'") + __props__.__dict__["sku"] = sku + __props__.__dict__["tags"] = tags + __props__.__dict__["name"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Account"), pulumi.Alias(type_="azure-native:maps/v20170101preview:Account"), pulumi.Alias(type_="azure-native:maps/v20180501:Account"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Account"), pulumi.Alias(type_="azure-native:maps/v20210201:Account"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Account"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Account")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Account, __self__).__init__( + 'azure-native:maps/v20230601:Account', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Account': + """ + Get an existing Account resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = AccountArgs.__new__(AccountArgs) + + __props__.__dict__["identity"] = None + __props__.__dict__["kind"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["properties"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return Account(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.ManagedServiceIdentityResponse']]: + """ + Managed service identity (system assigned and/or user assigned identities) + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def kind(self) -> pulumi.Output[Optional[str]]: + """ + Get or Set Kind property. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.MapsAccountPropertiesResponse']: + """ + The map account properties. + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output['outputs.SkuResponse']: + """ + The SKU of this account. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/maps/v20230601/creator.py b/sdk/python/pulumi_azure_native/maps/v20230601/creator.py new file mode 100644 index 000000000000..888474287fbd --- /dev/null +++ b/sdk/python/pulumi_azure_native/maps/v20230601/creator.py @@ -0,0 +1,274 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['CreatorArgs', 'Creator'] + +@pulumi.input_type +class CreatorArgs: + def __init__(__self__, *, + account_name: pulumi.Input[str], + properties: pulumi.Input['CreatorPropertiesArgs'], + resource_group_name: pulumi.Input[str], + creator_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Creator resource. + :param pulumi.Input[str] account_name: The name of the Maps Account. + :param pulumi.Input['CreatorPropertiesArgs'] properties: The Creator resource properties. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] creator_name: The name of the Maps Creator instance. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + pulumi.set(__self__, "account_name", account_name) + pulumi.set(__self__, "properties", properties) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if creator_name is not None: + pulumi.set(__self__, "creator_name", creator_name) + if location is not None: + pulumi.set(__self__, "location", location) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="accountName") + def account_name(self) -> pulumi.Input[str]: + """ + The name of the Maps Account. + """ + return pulumi.get(self, "account_name") + + @account_name.setter + def account_name(self, value: pulumi.Input[str]): + pulumi.set(self, "account_name", value) + + @property + @pulumi.getter + def properties(self) -> pulumi.Input['CreatorPropertiesArgs']: + """ + The Creator resource properties. + """ + return pulumi.get(self, "properties") + + @properties.setter + def properties(self, value: pulumi.Input['CreatorPropertiesArgs']): + pulumi.set(self, "properties", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="creatorName") + def creator_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the Maps Creator instance. + """ + return pulumi.get(self, "creator_name") + + @creator_name.setter + def creator_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "creator_name", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class Creator(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_name: Optional[pulumi.Input[str]] = None, + creator_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['CreatorPropertiesArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + An Azure resource which represents Maps Creator product and provides ability to manage private location data. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] account_name: The name of the Maps Account. + :param pulumi.Input[str] creator_name: The name of the Maps Creator instance. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[pulumi.InputType['CreatorPropertiesArgs']] properties: The Creator resource properties. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CreatorArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + An Azure resource which represents Maps Creator product and provides ability to manage private location data. + + :param str resource_name: The name of the resource. + :param CreatorArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(CreatorArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_name: Optional[pulumi.Input[str]] = None, + creator_name: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['CreatorPropertiesArgs']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = CreatorArgs.__new__(CreatorArgs) + + if account_name is None and not opts.urn: + raise TypeError("Missing required property 'account_name'") + __props__.__dict__["account_name"] = account_name + __props__.__dict__["creator_name"] = creator_name + __props__.__dict__["location"] = location + if properties is None and not opts.urn: + raise TypeError("Missing required property 'properties'") + __props__.__dict__["properties"] = properties + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["tags"] = tags + __props__.__dict__["name"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:maps:Creator"), pulumi.Alias(type_="azure-native:maps/v20200201preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20210201:Creator"), pulumi.Alias(type_="azure-native:maps/v20210701preview:Creator"), pulumi.Alias(type_="azure-native:maps/v20211201preview:Creator")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(Creator, __self__).__init__( + 'azure-native:maps/v20230601:Creator', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Creator': + """ + Get an existing Creator resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = CreatorArgs.__new__(CreatorArgs) + + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["properties"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return Creator(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.CreatorPropertiesResponse']: + """ + The Creator resource properties. + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + The system meta data relating to this resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/maps/v20230601/get_account.py b/sdk/python/pulumi_azure_native/maps/v20230601/get_account.py new file mode 100644 index 000000000000..29953dc9b974 --- /dev/null +++ b/sdk/python/pulumi_azure_native/maps/v20230601/get_account.py @@ -0,0 +1,196 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetAccountResult', + 'AwaitableGetAccountResult', + 'get_account', + 'get_account_output', +] + +@pulumi.output_type +class GetAccountResult: + """ + An Azure resource which represents access to a suite of Maps REST APIs. + """ + def __init__(__self__, id=None, identity=None, kind=None, location=None, name=None, properties=None, sku=None, system_data=None, tags=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if kind and not isinstance(kind, str): + raise TypeError("Expected argument 'kind' to be a str") + pulumi.set(__self__, "kind", kind) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) + if sku and not isinstance(sku, dict): + raise TypeError("Expected argument 'sku' to be a dict") + pulumi.set(__self__, "sku", sku) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.ManagedServiceIdentityResponse']: + """ + Managed service identity (system assigned and/or user assigned identities) + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def kind(self) -> Optional[str]: + """ + Get or Set Kind property. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> 'outputs.MapsAccountPropertiesResponse': + """ + The map account properties. + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter + def sku(self) -> 'outputs.SkuResponse': + """ + The SKU of this account. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Metadata pertaining to creation and last modification of the resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetAccountResult(GetAccountResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAccountResult( + id=self.id, + identity=self.identity, + kind=self.kind, + location=self.location, + name=self.name, + properties=self.properties, + sku=self.sku, + system_data=self.system_data, + tags=self.tags, + type=self.type) + + +def get_account(account_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAccountResult: + """ + Get a Maps Account. + + + :param str account_name: The name of the Maps Account. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['accountName'] = account_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:maps/v20230601:getAccount', __args__, opts=opts, typ=GetAccountResult).value + + return AwaitableGetAccountResult( + id=__ret__.id, + identity=__ret__.identity, + kind=__ret__.kind, + location=__ret__.location, + name=__ret__.name, + properties=__ret__.properties, + sku=__ret__.sku, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type) + + +@_utilities.lift_output_func(get_account) +def get_account_output(account_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccountResult]: + """ + Get a Maps Account. + + + :param str account_name: The name of the Maps Account. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/maps/v20230601/get_creator.py b/sdk/python/pulumi_azure_native/maps/v20230601/get_creator.py new file mode 100644 index 000000000000..f5beae1399f4 --- /dev/null +++ b/sdk/python/pulumi_azure_native/maps/v20230601/get_creator.py @@ -0,0 +1,162 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetCreatorResult', + 'AwaitableGetCreatorResult', + 'get_creator', + 'get_creator_output', +] + +@pulumi.output_type +class GetCreatorResult: + """ + An Azure resource which represents Maps Creator product and provides ability to manage private location data. + """ + def __init__(__self__, id=None, location=None, name=None, properties=None, system_data=None, tags=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> 'outputs.CreatorPropertiesResponse': + """ + The Creator resource properties. + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + The system meta data relating to this resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetCreatorResult(GetCreatorResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCreatorResult( + id=self.id, + location=self.location, + name=self.name, + properties=self.properties, + system_data=self.system_data, + tags=self.tags, + type=self.type) + + +def get_creator(account_name: Optional[str] = None, + creator_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCreatorResult: + """ + Get a Maps Creator resource. + + + :param str account_name: The name of the Maps Account. + :param str creator_name: The name of the Maps Creator instance. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['accountName'] = account_name + __args__['creatorName'] = creator_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:maps/v20230601:getCreator', __args__, opts=opts, typ=GetCreatorResult).value + + return AwaitableGetCreatorResult( + id=__ret__.id, + location=__ret__.location, + name=__ret__.name, + properties=__ret__.properties, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type) + + +@_utilities.lift_output_func(get_creator) +def get_creator_output(account_name: Optional[pulumi.Input[str]] = None, + creator_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCreatorResult]: + """ + Get a Maps Creator resource. + + + :param str account_name: The name of the Maps Account. + :param str creator_name: The name of the Maps Creator instance. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/maps/v20230601/list_account_keys.py b/sdk/python/pulumi_azure_native/maps/v20230601/list_account_keys.py new file mode 100644 index 000000000000..a279a02b742c --- /dev/null +++ b/sdk/python/pulumi_azure_native/maps/v20230601/list_account_keys.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'ListAccountKeysResult', + 'AwaitableListAccountKeysResult', + 'list_account_keys', + 'list_account_keys_output', +] + +@pulumi.output_type +class ListAccountKeysResult: + """ + The set of keys which can be used to access the Maps REST APIs. Two keys are provided for key rotation without interruption. + """ + def __init__(__self__, primary_key=None, primary_key_last_updated=None, secondary_key=None, secondary_key_last_updated=None): + if primary_key and not isinstance(primary_key, str): + raise TypeError("Expected argument 'primary_key' to be a str") + pulumi.set(__self__, "primary_key", primary_key) + if primary_key_last_updated and not isinstance(primary_key_last_updated, str): + raise TypeError("Expected argument 'primary_key_last_updated' to be a str") + pulumi.set(__self__, "primary_key_last_updated", primary_key_last_updated) + if secondary_key and not isinstance(secondary_key, str): + raise TypeError("Expected argument 'secondary_key' to be a str") + pulumi.set(__self__, "secondary_key", secondary_key) + if secondary_key_last_updated and not isinstance(secondary_key_last_updated, str): + raise TypeError("Expected argument 'secondary_key_last_updated' to be a str") + pulumi.set(__self__, "secondary_key_last_updated", secondary_key_last_updated) + + @property + @pulumi.getter(name="primaryKey") + def primary_key(self) -> str: + """ + The primary key for accessing the Maps REST APIs. + """ + return pulumi.get(self, "primary_key") + + @property + @pulumi.getter(name="primaryKeyLastUpdated") + def primary_key_last_updated(self) -> str: + """ + The last updated date and time of the primary key. + """ + return pulumi.get(self, "primary_key_last_updated") + + @property + @pulumi.getter(name="secondaryKey") + def secondary_key(self) -> str: + """ + The secondary key for accessing the Maps REST APIs. + """ + return pulumi.get(self, "secondary_key") + + @property + @pulumi.getter(name="secondaryKeyLastUpdated") + def secondary_key_last_updated(self) -> str: + """ + The last updated date and time of the secondary key. + """ + return pulumi.get(self, "secondary_key_last_updated") + + +class AwaitableListAccountKeysResult(ListAccountKeysResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return ListAccountKeysResult( + primary_key=self.primary_key, + primary_key_last_updated=self.primary_key_last_updated, + secondary_key=self.secondary_key, + secondary_key_last_updated=self.secondary_key_last_updated) + + +def list_account_keys(account_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListAccountKeysResult: + """ + Get the keys to use with the Maps APIs. A key is used to authenticate and authorize access to the Maps REST APIs. Only one key is needed at a time; two are given to provide seamless key regeneration. + + + :param str account_name: The name of the Maps Account. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['accountName'] = account_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:maps/v20230601:listAccountKeys', __args__, opts=opts, typ=ListAccountKeysResult).value + + return AwaitableListAccountKeysResult( + primary_key=__ret__.primary_key, + primary_key_last_updated=__ret__.primary_key_last_updated, + secondary_key=__ret__.secondary_key, + secondary_key_last_updated=__ret__.secondary_key_last_updated) + + +@_utilities.lift_output_func(list_account_keys) +def list_account_keys_output(account_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[ListAccountKeysResult]: + """ + Get the keys to use with the Maps APIs. A key is used to authenticate and authorize access to the Maps REST APIs. Only one key is needed at a time; two are given to provide seamless key regeneration. + + + :param str account_name: The name of the Maps Account. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/maps/v20230601/list_account_sas.py b/sdk/python/pulumi_azure_native/maps/v20230601/list_account_sas.py new file mode 100644 index 000000000000..baf33d1f2ce4 --- /dev/null +++ b/sdk/python/pulumi_azure_native/maps/v20230601/list_account_sas.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = [ + 'ListAccountSasResult', + 'AwaitableListAccountSasResult', + 'list_account_sas', + 'list_account_sas_output', +] + +@pulumi.output_type +class ListAccountSasResult: + """ + A new Sas token which can be used to access the Maps REST APIs and is controlled by the specified Managed identity permissions on Azure (IAM) Role Based Access Control. + """ + def __init__(__self__, account_sas_token=None): + if account_sas_token and not isinstance(account_sas_token, str): + raise TypeError("Expected argument 'account_sas_token' to be a str") + pulumi.set(__self__, "account_sas_token", account_sas_token) + + @property + @pulumi.getter(name="accountSasToken") + def account_sas_token(self) -> str: + """ + The shared access signature access token. + """ + return pulumi.get(self, "account_sas_token") + + +class AwaitableListAccountSasResult(ListAccountSasResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return ListAccountSasResult( + account_sas_token=self.account_sas_token) + + +def list_account_sas(account_name: Optional[str] = None, + expiry: Optional[str] = None, + max_rate_per_second: Optional[int] = None, + principal_id: Optional[str] = None, + regions: Optional[Sequence[str]] = None, + resource_group_name: Optional[str] = None, + signing_key: Optional[Union[str, 'SigningKey']] = None, + start: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListAccountSasResult: + """ + Create and list an account shared access signature token. Use this SAS token for authentication to Azure Maps REST APIs through various Azure Maps SDKs. As prerequisite to create a SAS Token. + + Prerequisites: + 1. Create or have an existing User Assigned Managed Identity in the same Azure region as the account. + 2. Create or update an Azure Map account with the same Azure region as the User Assigned Managed Identity is placed. + + + :param str account_name: The name of the Maps Account. + :param str expiry: The date time offset of when the token validity expires. For example "2017-05-24T10:42:03.1567373Z". Maximum duration allowed is 24 hours between `start` and `expiry`. + :param int max_rate_per_second: Required parameter which represents the desired maximum request per second to allowed for the given SAS token. This does not guarantee perfect accuracy in measurements but provides application safe guards of abuse with eventual enforcement. + :param str principal_id: The principal Id also known as the object Id of a User Assigned Managed Identity currently assigned to the Map Account. To assign a Managed Identity of the account, use operation Create or Update an assign a User Assigned Identity resource Id. + :param Sequence[str] regions: Optional, allows control of which region locations are permitted access to Azure Maps REST APIs with the SAS token. Example: "eastus", "westus2". Omitting this parameter will allow all region locations to be accessible. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param Union[str, 'SigningKey'] signing_key: The Map account key to use for signing. Picking `primaryKey` or `secondaryKey` will use the Map account Shared Keys, and using `managedIdentity` will use the auto-renewed private key to sign the SAS. + :param str start: The date time offset of when the token validity begins. For example "2017-05-24T10:42:03.1567373Z". Maximum duration allowed is 24 hours between `start` and `expiry`. + """ + __args__ = dict() + __args__['accountName'] = account_name + __args__['expiry'] = expiry + __args__['maxRatePerSecond'] = max_rate_per_second + __args__['principalId'] = principal_id + __args__['regions'] = regions + __args__['resourceGroupName'] = resource_group_name + __args__['signingKey'] = signing_key + __args__['start'] = start + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:maps/v20230601:listAccountSas', __args__, opts=opts, typ=ListAccountSasResult).value + + return AwaitableListAccountSasResult( + account_sas_token=__ret__.account_sas_token) + + +@_utilities.lift_output_func(list_account_sas) +def list_account_sas_output(account_name: Optional[pulumi.Input[str]] = None, + expiry: Optional[pulumi.Input[str]] = None, + max_rate_per_second: Optional[pulumi.Input[int]] = None, + principal_id: Optional[pulumi.Input[str]] = None, + regions: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + signing_key: Optional[pulumi.Input[Union[str, 'SigningKey']]] = None, + start: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[ListAccountSasResult]: + """ + Create and list an account shared access signature token. Use this SAS token for authentication to Azure Maps REST APIs through various Azure Maps SDKs. As prerequisite to create a SAS Token. + + Prerequisites: + 1. Create or have an existing User Assigned Managed Identity in the same Azure region as the account. + 2. Create or update an Azure Map account with the same Azure region as the User Assigned Managed Identity is placed. + + + :param str account_name: The name of the Maps Account. + :param str expiry: The date time offset of when the token validity expires. For example "2017-05-24T10:42:03.1567373Z". Maximum duration allowed is 24 hours between `start` and `expiry`. + :param int max_rate_per_second: Required parameter which represents the desired maximum request per second to allowed for the given SAS token. This does not guarantee perfect accuracy in measurements but provides application safe guards of abuse with eventual enforcement. + :param str principal_id: The principal Id also known as the object Id of a User Assigned Managed Identity currently assigned to the Map Account. To assign a Managed Identity of the account, use operation Create or Update an assign a User Assigned Identity resource Id. + :param Sequence[str] regions: Optional, allows control of which region locations are permitted access to Azure Maps REST APIs with the SAS token. Example: "eastus", "westus2". Omitting this parameter will allow all region locations to be accessible. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param Union[str, 'SigningKey'] signing_key: The Map account key to use for signing. Picking `primaryKey` or `secondaryKey` will use the Map account Shared Keys, and using `managedIdentity` will use the auto-renewed private key to sign the SAS. + :param str start: The date time offset of when the token validity begins. For example "2017-05-24T10:42:03.1567373Z". Maximum duration allowed is 24 hours between `start` and `expiry`. + """ + ... diff --git a/sdk/python/pulumi_azure_native/maps/v20230601/outputs.py b/sdk/python/pulumi_azure_native/maps/v20230601/outputs.py new file mode 100644 index 000000000000..8d6fc67b47d2 --- /dev/null +++ b/sdk/python/pulumi_azure_native/maps/v20230601/outputs.py @@ -0,0 +1,763 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'CorsRuleResponse', + 'CorsRulesResponse', + 'CreatorPropertiesResponse', + 'CustomerManagedKeyEncryptionResponse', + 'CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity', + 'EncryptionResponse', + 'LinkedResourceResponse', + 'ManagedServiceIdentityResponse', + 'MapsAccountPropertiesResponse', + 'SkuResponse', + 'SystemDataResponse', + 'UserAssignedIdentityResponse', +] + +@pulumi.output_type +class CorsRuleResponse(dict): + """ + Specifies a CORS rule for the Map Account. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allowedOrigins": + suggest = "allowed_origins" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CorsRuleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CorsRuleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CorsRuleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + allowed_origins: Sequence[str]): + """ + Specifies a CORS rule for the Map Account. + :param Sequence[str] allowed_origins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" to allow all domains + """ + pulumi.set(__self__, "allowed_origins", allowed_origins) + + @property + @pulumi.getter(name="allowedOrigins") + def allowed_origins(self) -> Sequence[str]: + """ + Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" to allow all domains + """ + return pulumi.get(self, "allowed_origins") + + +@pulumi.output_type +class CorsRulesResponse(dict): + """ + Sets the CORS rules. You can include up to five CorsRule elements in the request. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "corsRules": + suggest = "cors_rules" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CorsRulesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CorsRulesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CorsRulesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cors_rules: Optional[Sequence['outputs.CorsRuleResponse']] = None): + """ + Sets the CORS rules. You can include up to five CorsRule elements in the request. + :param Sequence['CorsRuleResponse'] cors_rules: The list of CORS rules. You can include up to five CorsRule elements in the request. + """ + if cors_rules is not None: + pulumi.set(__self__, "cors_rules", cors_rules) + + @property + @pulumi.getter(name="corsRules") + def cors_rules(self) -> Optional[Sequence['outputs.CorsRuleResponse']]: + """ + The list of CORS rules. You can include up to five CorsRule elements in the request. + """ + return pulumi.get(self, "cors_rules") + + +@pulumi.output_type +class CreatorPropertiesResponse(dict): + """ + Creator resource properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "provisioningState": + suggest = "provisioning_state" + elif key == "storageUnits": + suggest = "storage_units" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CreatorPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CreatorPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CreatorPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + provisioning_state: str, + storage_units: int): + """ + Creator resource properties + :param str provisioning_state: The state of the resource provisioning, terminal states: Succeeded, Failed, Canceled + :param int storage_units: The storage units to be allocated. Integer values from 1 to 100, inclusive. + """ + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "storage_units", storage_units) + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The state of the resource provisioning, terminal states: Succeeded, Failed, Canceled + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="storageUnits") + def storage_units(self) -> int: + """ + The storage units to be allocated. Integer values from 1 to 100, inclusive. + """ + return pulumi.get(self, "storage_units") + + +@pulumi.output_type +class CustomerManagedKeyEncryptionResponse(dict): + """ + All Customer-managed key encryption properties for the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyEncryptionKeyIdentity": + suggest = "key_encryption_key_identity" + elif key == "keyEncryptionKeyUrl": + suggest = "key_encryption_key_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CustomerManagedKeyEncryptionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CustomerManagedKeyEncryptionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CustomerManagedKeyEncryptionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_encryption_key_identity: Optional['outputs.CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity'] = None, + key_encryption_key_url: Optional[str] = None): + """ + All Customer-managed key encryption properties for the resource. + :param 'CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity' key_encryption_key_identity: All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + :param str key_encryption_key_url: key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek. + """ + if key_encryption_key_identity is not None: + pulumi.set(__self__, "key_encryption_key_identity", key_encryption_key_identity) + if key_encryption_key_url is not None: + pulumi.set(__self__, "key_encryption_key_url", key_encryption_key_url) + + @property + @pulumi.getter(name="keyEncryptionKeyIdentity") + def key_encryption_key_identity(self) -> Optional['outputs.CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity']: + """ + All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + """ + return pulumi.get(self, "key_encryption_key_identity") + + @property + @pulumi.getter(name="keyEncryptionKeyUrl") + def key_encryption_key_url(self) -> Optional[str]: + """ + key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek. + """ + return pulumi.get(self, "key_encryption_key_url") + + +@pulumi.output_type +class CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity(dict): + """ + All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "delegatedIdentityClientId": + suggest = "delegated_identity_client_id" + elif key == "identityType": + suggest = "identity_type" + elif key == "userAssignedIdentityResourceId": + suggest = "user_assigned_identity_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CustomerManagedKeyEncryptionResponseKeyEncryptionKeyIdentity.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + delegated_identity_client_id: Optional[str] = None, + identity_type: Optional[str] = None, + user_assigned_identity_resource_id: Optional[str] = None): + """ + All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + :param str delegated_identity_client_id: delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only. + :param str identity_type: Values can be systemAssignedIdentity or userAssignedIdentity + :param str user_assigned_identity_resource_id: user assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and delegatedResourceIdentity. + """ + if delegated_identity_client_id is not None: + pulumi.set(__self__, "delegated_identity_client_id", delegated_identity_client_id) + if identity_type is not None: + pulumi.set(__self__, "identity_type", identity_type) + if user_assigned_identity_resource_id is not None: + pulumi.set(__self__, "user_assigned_identity_resource_id", user_assigned_identity_resource_id) + + @property + @pulumi.getter(name="delegatedIdentityClientId") + def delegated_identity_client_id(self) -> Optional[str]: + """ + delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only. + """ + return pulumi.get(self, "delegated_identity_client_id") + + @property + @pulumi.getter(name="identityType") + def identity_type(self) -> Optional[str]: + """ + Values can be systemAssignedIdentity or userAssignedIdentity + """ + return pulumi.get(self, "identity_type") + + @property + @pulumi.getter(name="userAssignedIdentityResourceId") + def user_assigned_identity_resource_id(self) -> Optional[str]: + """ + user assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and delegatedResourceIdentity. + """ + return pulumi.get(self, "user_assigned_identity_resource_id") + + +@pulumi.output_type +class EncryptionResponse(dict): + """ + (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "customerManagedKeyEncryption": + suggest = "customer_managed_key_encryption" + elif key == "infrastructureEncryption": + suggest = "infrastructure_encryption" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EncryptionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EncryptionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EncryptionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + customer_managed_key_encryption: Optional['outputs.CustomerManagedKeyEncryptionResponse'] = None, + infrastructure_encryption: Optional[str] = None): + """ + (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + :param 'CustomerManagedKeyEncryptionResponse' customer_managed_key_encryption: All Customer-managed key encryption properties for the resource. + :param str infrastructure_encryption: Values are enabled and disabled. + """ + if customer_managed_key_encryption is not None: + pulumi.set(__self__, "customer_managed_key_encryption", customer_managed_key_encryption) + if infrastructure_encryption is not None: + pulumi.set(__self__, "infrastructure_encryption", infrastructure_encryption) + + @property + @pulumi.getter(name="customerManagedKeyEncryption") + def customer_managed_key_encryption(self) -> Optional['outputs.CustomerManagedKeyEncryptionResponse']: + """ + All Customer-managed key encryption properties for the resource. + """ + return pulumi.get(self, "customer_managed_key_encryption") + + @property + @pulumi.getter(name="infrastructureEncryption") + def infrastructure_encryption(self) -> Optional[str]: + """ + Values are enabled and disabled. + """ + return pulumi.get(self, "infrastructure_encryption") + + +@pulumi.output_type +class LinkedResourceResponse(dict): + """ + Linked resource is reference to a resource deployed in an Azure subscription, add the linked resource `uniqueName` value as an optional parameter for operations on Azure Maps Geospatial REST APIs. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "uniqueName": + suggest = "unique_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LinkedResourceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LinkedResourceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LinkedResourceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + id: str, + unique_name: str): + """ + Linked resource is reference to a resource deployed in an Azure subscription, add the linked resource `uniqueName` value as an optional parameter for operations on Azure Maps Geospatial REST APIs. + :param str id: ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'. + :param str unique_name: A provided name which uniquely identifies the linked resource. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "unique_name", unique_name) + + @property + @pulumi.getter + def id(self) -> str: + """ + ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="uniqueName") + def unique_name(self) -> str: + """ + A provided name which uniquely identifies the linked resource. + """ + return pulumi.get(self, "unique_name") + + +@pulumi.output_type +class ManagedServiceIdentityResponse(dict): + """ + Managed service identity (system assigned and/or user assigned identities) + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedServiceIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedServiceIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedServiceIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + type: str, + user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']] = None): + """ + Managed service identity (system assigned and/or user assigned identities) + :param str principal_id: The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + :param str tenant_id: The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + :param str type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + :param Mapping[str, 'UserAssignedIdentityResponse'] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> str: + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]: + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + return pulumi.get(self, "user_assigned_identities") + + +@pulumi.output_type +class MapsAccountPropertiesResponse(dict): + """ + Additional Map account properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "provisioningState": + suggest = "provisioning_state" + elif key == "uniqueId": + suggest = "unique_id" + elif key == "disableLocalAuth": + suggest = "disable_local_auth" + elif key == "linkedResources": + suggest = "linked_resources" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MapsAccountPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MapsAccountPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MapsAccountPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + provisioning_state: str, + unique_id: str, + cors: Optional['outputs.CorsRulesResponse'] = None, + disable_local_auth: Optional[bool] = None, + encryption: Optional['outputs.EncryptionResponse'] = None, + linked_resources: Optional[Sequence['outputs.LinkedResourceResponse']] = None): + """ + Additional Map account properties + :param str provisioning_state: The provisioning state of the Map account resource, Account updates can only be performed on terminal states. Terminal states: `Succeeded` and `Failed` + :param str unique_id: A unique identifier for the maps account + :param 'CorsRulesResponse' cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service. + :param bool disable_local_auth: Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys and Shared Access Signature Token authentication from any usage. + :param 'EncryptionResponse' encryption: (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + :param Sequence['LinkedResourceResponse'] linked_resources: The array of associated resources to the Map account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Map Account Managed Identity(s) permissions to those resource(s). + """ + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "unique_id", unique_id) + if cors is not None: + pulumi.set(__self__, "cors", cors) + if disable_local_auth is None: + disable_local_auth = False + if disable_local_auth is not None: + pulumi.set(__self__, "disable_local_auth", disable_local_auth) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if linked_resources is not None: + pulumi.set(__self__, "linked_resources", linked_resources) + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the Map account resource, Account updates can only be performed on terminal states. Terminal states: `Succeeded` and `Failed` + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="uniqueId") + def unique_id(self) -> str: + """ + A unique identifier for the maps account + """ + return pulumi.get(self, "unique_id") + + @property + @pulumi.getter + def cors(self) -> Optional['outputs.CorsRulesResponse']: + """ + Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service. + """ + return pulumi.get(self, "cors") + + @property + @pulumi.getter(name="disableLocalAuth") + def disable_local_auth(self) -> Optional[bool]: + """ + Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys and Shared Access Signature Token authentication from any usage. + """ + return pulumi.get(self, "disable_local_auth") + + @property + @pulumi.getter + def encryption(self) -> Optional['outputs.EncryptionResponse']: + """ + (Optional) Discouraged to include in resource definition. Only needed where it is possible to disable platform (AKA infrastructure) encryption. Azure SQL TDE is an example of this. Values are enabled and disabled. + """ + return pulumi.get(self, "encryption") + + @property + @pulumi.getter(name="linkedResources") + def linked_resources(self) -> Optional[Sequence['outputs.LinkedResourceResponse']]: + """ + The array of associated resources to the Map account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Map Account Managed Identity(s) permissions to those resource(s). + """ + return pulumi.get(self, "linked_resources") + + +@pulumi.output_type +class SkuResponse(dict): + """ + The SKU of the Maps Account. + """ + def __init__(__self__, *, + name: str, + tier: str): + """ + The SKU of the Maps Account. + :param str name: The name of the SKU, in standard format (such as S0). + :param str tier: Gets the sku tier. This is based on the SKU name. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "tier", tier) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the SKU, in standard format (such as S0). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tier(self) -> str: + """ + Gets the sku tier. This is based on the SKU name. + """ + return pulumi.get(self, "tier") + + +@pulumi.output_type +class SystemDataResponse(dict): + """ + Metadata pertaining to creation and last modification of the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: Optional[str] = None, + created_by: Optional[str] = None, + created_by_type: Optional[str] = None, + last_modified_at: Optional[str] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[str] = None): + """ + Metadata pertaining to creation and last modification of the resource. + :param str created_at: The timestamp of resource creation (UTC). + :param str created_by: The identity that created the resource. + :param str created_by_type: The type of identity that created the resource. + :param str last_modified_at: The timestamp of resource last modification (UTC) + :param str last_modified_by: The identity that last modified the resource. + :param str last_modified_by_type: The type of identity that last modified the resource. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if created_by_type is not None: + pulumi.set(__self__, "created_by_type", created_by_type) + if last_modified_at is not None: + pulumi.set(__self__, "last_modified_at", last_modified_at) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if last_modified_by_type is not None: + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The timestamp of resource creation (UTC). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[str]: + """ + The identity that created the resource. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> Optional[str]: + """ + The type of identity that created the resource. + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> Optional[str]: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[str]: + """ + The identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> Optional[str]: + """ + The type of identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by_type") + + +@pulumi.output_type +class UserAssignedIdentityResponse(dict): + """ + User assigned identity properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "principalId": + suggest = "principal_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: str, + principal_id: str): + """ + User assigned identity properties + :param str client_id: The client ID of the assigned identity. + :param str principal_id: The principal ID of the assigned identity. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "principal_id", principal_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The client ID of the assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal ID of the assigned identity. + """ + return pulumi.get(self, "principal_id") + + diff --git a/sdk/python/pulumi_azure_native/mobilepacketcore/__init__.py b/sdk/python/pulumi_azure_native/mobilepacketcore/__init__.py new file mode 100644 index 000000000000..238dd88c4515 --- /dev/null +++ b/sdk/python/pulumi_azure_native/mobilepacketcore/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .get_network_function import * +from .network_function import * +from . import outputs + +# Make subpackages available: +if typing.TYPE_CHECKING: + import pulumi_azure_native.mobilepacketcore.v20230515preview as __v20230515preview + v20230515preview = __v20230515preview +else: + v20230515preview = _utilities.lazy_import('pulumi_azure_native.mobilepacketcore.v20230515preview') + diff --git a/sdk/python/pulumi_azure_native/mobilepacketcore/_enums.py b/sdk/python/pulumi_azure_native/mobilepacketcore/_enums.py new file mode 100644 index 000000000000..9ee62e19ed7b --- /dev/null +++ b/sdk/python/pulumi_azure_native/mobilepacketcore/_enums.py @@ -0,0 +1,109 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'NetworkFunctionAdministrativeState', + 'NetworkFunctionType', + 'SkuDefinitions', +] + + +class NetworkFunctionAdministrativeState(str, Enum): + """ + Administrative state of the network function + """ + COMMISSIONED = "Commissioned" + """ + Resource has been commissioned + """ + DECOMMISSIONED = "Decommissioned" + """ + Resource has been decommissioned + """ + + +class NetworkFunctionType(str, Enum): + """ + Type of network function + """ + AMF = "AMF" + """ + Access and Mobility Function + """ + SMF = "SMF" + """ + Session Management Function + """ + UPF = "UPF" + """ + User Plane Function + """ + NRF = "NRF" + """ + Network Repository Function + """ + NSSF = "NSSF" + """ + Network Slice Selection Function + """ + MME = "MME" + """ + Mobility Management Entity + """ + SAEGW_CONTROL_PLANE = "SaegwControlPlane" + """ + System Architecture Evolution Gateway Control Plane, control and user plane separation (CUPS) architecture + """ + SAEGW_USER_PLANE = "SaegwUserPlane" + """ + System Architecture Evolution Gateway User Plane, control and user plane separation (CUPS) architecture + """ + SAEGW = "Saegw" + """ + System Architecture Evolution Gateway. This combines the Serving Gateway (SGW) and the Packet Data Network Gateway (PGW) functionality + """ + E_PDG = "ePDG" + """ + Evolved Packet Data Gateway + """ + N3_IWF = "N3IWF" + """ + Non-3GPP Interworking Function + """ + REMOTE_PAA_S = "RemotePaaS" + """ + Remote Platform As A Service Components + """ + EMS = "EMS" + """ + Element Management System + """ + OPERATIONS_POLICY_MANAGER = "OperationsPolicyManager" + """ + Operations and Policy Manager + """ + + +class SkuDefinitions(str, Enum): + """ + Provisioned SKU Value. + """ + AZURE_LAB = "AzureLab" + """ + Azure Lab SKU + """ + AZURE_PRODUCTION = "AzureProduction" + """ + Azure Production SKU + """ + NEXUS_LAB = "NexusLab" + """ + Nexus Lab SKU + """ + NEXUS_PRODUCTION = "NexusProduction" + """ + Nexus Production SKU + """ diff --git a/sdk/python/pulumi_azure_native/mobilepacketcore/get_network_function.py b/sdk/python/pulumi_azure_native/mobilepacketcore/get_network_function.py new file mode 100644 index 000000000000..7c33f6b97110 --- /dev/null +++ b/sdk/python/pulumi_azure_native/mobilepacketcore/get_network_function.py @@ -0,0 +1,263 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetNetworkFunctionResult', + 'AwaitableGetNetworkFunctionResult', + 'get_network_function', + 'get_network_function_output', +] + +@pulumi.output_type +class GetNetworkFunctionResult: + """ + AO5GC Network Function Resource + """ + def __init__(__self__, capacity=None, deployment_notes=None, id=None, infrastructure_element_count=None, location=None, name=None, network_function_administrative_state=None, network_function_operational_status=None, network_function_type=None, provisioning_state=None, sku=None, system_data=None, tags=None, type=None, user_description=None): + if capacity and not isinstance(capacity, int): + raise TypeError("Expected argument 'capacity' to be a int") + pulumi.set(__self__, "capacity", capacity) + if deployment_notes and not isinstance(deployment_notes, str): + raise TypeError("Expected argument 'deployment_notes' to be a str") + pulumi.set(__self__, "deployment_notes", deployment_notes) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if infrastructure_element_count and not isinstance(infrastructure_element_count, int): + raise TypeError("Expected argument 'infrastructure_element_count' to be a int") + pulumi.set(__self__, "infrastructure_element_count", infrastructure_element_count) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if network_function_administrative_state and not isinstance(network_function_administrative_state, str): + raise TypeError("Expected argument 'network_function_administrative_state' to be a str") + pulumi.set(__self__, "network_function_administrative_state", network_function_administrative_state) + if network_function_operational_status and not isinstance(network_function_operational_status, str): + raise TypeError("Expected argument 'network_function_operational_status' to be a str") + pulumi.set(__self__, "network_function_operational_status", network_function_operational_status) + if network_function_type and not isinstance(network_function_type, str): + raise TypeError("Expected argument 'network_function_type' to be a str") + pulumi.set(__self__, "network_function_type", network_function_type) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if sku and not isinstance(sku, str): + raise TypeError("Expected argument 'sku' to be a str") + pulumi.set(__self__, "sku", sku) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if user_description and not isinstance(user_description, str): + raise TypeError("Expected argument 'user_description' to be a str") + pulumi.set(__self__, "user_description", user_description) + + @property + @pulumi.getter + def capacity(self) -> Optional[int]: + """ + Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + """ + return pulumi.get(self, "capacity") + + @property + @pulumi.getter(name="deploymentNotes") + def deployment_notes(self) -> Optional[str]: + """ + User provided deployment notes. This is used to optionally provide details about the NF deployment + """ + return pulumi.get(self, "deployment_notes") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="infrastructureElementCount") + def infrastructure_element_count(self) -> int: + """ + Count of infrastructure elements used by this network function (vCPUs, in units of 8) + """ + return pulumi.get(self, "infrastructure_element_count") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkFunctionAdministrativeState") + def network_function_administrative_state(self) -> str: + """ + Administrative state of the network function + """ + return pulumi.get(self, "network_function_administrative_state") + + @property + @pulumi.getter(name="networkFunctionOperationalStatus") + def network_function_operational_status(self) -> str: + """ + Operational state of the network function + """ + return pulumi.get(self, "network_function_operational_status") + + @property + @pulumi.getter(name="networkFunctionType") + def network_function_type(self) -> str: + """ + Type of network function + """ + return pulumi.get(self, "network_function_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The status of the last operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def sku(self) -> str: + """ + Provisioned SKU Value. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userDescription") + def user_description(self) -> Optional[str]: + """ + User provided description + """ + return pulumi.get(self, "user_description") + + +class AwaitableGetNetworkFunctionResult(GetNetworkFunctionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetNetworkFunctionResult( + capacity=self.capacity, + deployment_notes=self.deployment_notes, + id=self.id, + infrastructure_element_count=self.infrastructure_element_count, + location=self.location, + name=self.name, + network_function_administrative_state=self.network_function_administrative_state, + network_function_operational_status=self.network_function_operational_status, + network_function_type=self.network_function_type, + provisioning_state=self.provisioning_state, + sku=self.sku, + system_data=self.system_data, + tags=self.tags, + type=self.type, + user_description=self.user_description) + + +def get_network_function(network_function_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNetworkFunctionResult: + """ + Get a NetworkFunctionResource + Azure REST API version: 2023-05-15-preview. + + + :param str network_function_name: The name of the network function + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['networkFunctionName'] = network_function_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:mobilepacketcore:getNetworkFunction', __args__, opts=opts, typ=GetNetworkFunctionResult).value + + return AwaitableGetNetworkFunctionResult( + capacity=__ret__.capacity, + deployment_notes=__ret__.deployment_notes, + id=__ret__.id, + infrastructure_element_count=__ret__.infrastructure_element_count, + location=__ret__.location, + name=__ret__.name, + network_function_administrative_state=__ret__.network_function_administrative_state, + network_function_operational_status=__ret__.network_function_operational_status, + network_function_type=__ret__.network_function_type, + provisioning_state=__ret__.provisioning_state, + sku=__ret__.sku, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type, + user_description=__ret__.user_description) + + +@_utilities.lift_output_func(get_network_function) +def get_network_function_output(network_function_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkFunctionResult]: + """ + Get a NetworkFunctionResource + Azure REST API version: 2023-05-15-preview. + + + :param str network_function_name: The name of the network function + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/mobilepacketcore/network_function.py b/sdk/python/pulumi_azure_native/mobilepacketcore/network_function.py new file mode 100644 index 000000000000..3807e445fb68 --- /dev/null +++ b/sdk/python/pulumi_azure_native/mobilepacketcore/network_function.py @@ -0,0 +1,432 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = ['NetworkFunctionArgs', 'NetworkFunction'] + +@pulumi.input_type +class NetworkFunctionArgs: + def __init__(__self__, *, + network_function_administrative_state: pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']], + network_function_type: pulumi.Input[Union[str, 'NetworkFunctionType']], + resource_group_name: pulumi.Input[str], + sku: pulumi.Input[Union[str, 'SkuDefinitions']], + capacity: Optional[pulumi.Input[int]] = None, + deployment_notes: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + network_function_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_description: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a NetworkFunction resource. + :param pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']] network_function_administrative_state: Administrative state of the network function + :param pulumi.Input[Union[str, 'NetworkFunctionType']] network_function_type: Type of network function + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Union[str, 'SkuDefinitions']] sku: Provisioned SKU Value. + :param pulumi.Input[int] capacity: Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + :param pulumi.Input[str] deployment_notes: User provided deployment notes. This is used to optionally provide details about the NF deployment + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] network_function_name: The name of the network function + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[str] user_description: User provided description + """ + pulumi.set(__self__, "network_function_administrative_state", network_function_administrative_state) + pulumi.set(__self__, "network_function_type", network_function_type) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "sku", sku) + if capacity is not None: + pulumi.set(__self__, "capacity", capacity) + if deployment_notes is not None: + pulumi.set(__self__, "deployment_notes", deployment_notes) + if location is not None: + pulumi.set(__self__, "location", location) + if network_function_name is not None: + pulumi.set(__self__, "network_function_name", network_function_name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if user_description is not None: + pulumi.set(__self__, "user_description", user_description) + + @property + @pulumi.getter(name="networkFunctionAdministrativeState") + def network_function_administrative_state(self) -> pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']]: + """ + Administrative state of the network function + """ + return pulumi.get(self, "network_function_administrative_state") + + @network_function_administrative_state.setter + def network_function_administrative_state(self, value: pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']]): + pulumi.set(self, "network_function_administrative_state", value) + + @property + @pulumi.getter(name="networkFunctionType") + def network_function_type(self) -> pulumi.Input[Union[str, 'NetworkFunctionType']]: + """ + Type of network function + """ + return pulumi.get(self, "network_function_type") + + @network_function_type.setter + def network_function_type(self, value: pulumi.Input[Union[str, 'NetworkFunctionType']]): + pulumi.set(self, "network_function_type", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def sku(self) -> pulumi.Input[Union[str, 'SkuDefinitions']]: + """ + Provisioned SKU Value. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: pulumi.Input[Union[str, 'SkuDefinitions']]): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter + def capacity(self) -> Optional[pulumi.Input[int]]: + """ + Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + """ + return pulumi.get(self, "capacity") + + @capacity.setter + def capacity(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "capacity", value) + + @property + @pulumi.getter(name="deploymentNotes") + def deployment_notes(self) -> Optional[pulumi.Input[str]]: + """ + User provided deployment notes. This is used to optionally provide details about the NF deployment + """ + return pulumi.get(self, "deployment_notes") + + @deployment_notes.setter + def deployment_notes(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "deployment_notes", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="networkFunctionName") + def network_function_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the network function + """ + return pulumi.get(self, "network_function_name") + + @network_function_name.setter + def network_function_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_function_name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="userDescription") + def user_description(self) -> Optional[pulumi.Input[str]]: + """ + User provided description + """ + return pulumi.get(self, "user_description") + + @user_description.setter + def user_description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_description", value) + + +class NetworkFunction(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capacity: Optional[pulumi.Input[int]] = None, + deployment_notes: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + network_function_administrative_state: Optional[pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']]] = None, + network_function_name: Optional[pulumi.Input[str]] = None, + network_function_type: Optional[pulumi.Input[Union[str, 'NetworkFunctionType']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[Union[str, 'SkuDefinitions']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_description: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + AO5GC Network Function Resource + Azure REST API version: 2023-05-15-preview. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] capacity: Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + :param pulumi.Input[str] deployment_notes: User provided deployment notes. This is used to optionally provide details about the NF deployment + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']] network_function_administrative_state: Administrative state of the network function + :param pulumi.Input[str] network_function_name: The name of the network function + :param pulumi.Input[Union[str, 'NetworkFunctionType']] network_function_type: Type of network function + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Union[str, 'SkuDefinitions']] sku: Provisioned SKU Value. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[str] user_description: User provided description + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: NetworkFunctionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + AO5GC Network Function Resource + Azure REST API version: 2023-05-15-preview. + + :param str resource_name: The name of the resource. + :param NetworkFunctionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(NetworkFunctionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capacity: Optional[pulumi.Input[int]] = None, + deployment_notes: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + network_function_administrative_state: Optional[pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']]] = None, + network_function_name: Optional[pulumi.Input[str]] = None, + network_function_type: Optional[pulumi.Input[Union[str, 'NetworkFunctionType']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[Union[str, 'SkuDefinitions']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_description: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = NetworkFunctionArgs.__new__(NetworkFunctionArgs) + + __props__.__dict__["capacity"] = capacity + __props__.__dict__["deployment_notes"] = deployment_notes + __props__.__dict__["location"] = location + if network_function_administrative_state is None and not opts.urn: + raise TypeError("Missing required property 'network_function_administrative_state'") + __props__.__dict__["network_function_administrative_state"] = network_function_administrative_state + __props__.__dict__["network_function_name"] = network_function_name + if network_function_type is None and not opts.urn: + raise TypeError("Missing required property 'network_function_type'") + __props__.__dict__["network_function_type"] = network_function_type + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if sku is None and not opts.urn: + raise TypeError("Missing required property 'sku'") + __props__.__dict__["sku"] = sku + __props__.__dict__["tags"] = tags + __props__.__dict__["user_description"] = user_description + __props__.__dict__["infrastructure_element_count"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_function_operational_status"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:mobilepacketcore/v20230515preview:NetworkFunction")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(NetworkFunction, __self__).__init__( + 'azure-native:mobilepacketcore:NetworkFunction', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'NetworkFunction': + """ + Get an existing NetworkFunction resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = NetworkFunctionArgs.__new__(NetworkFunctionArgs) + + __props__.__dict__["capacity"] = None + __props__.__dict__["deployment_notes"] = None + __props__.__dict__["infrastructure_element_count"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_function_administrative_state"] = None + __props__.__dict__["network_function_operational_status"] = None + __props__.__dict__["network_function_type"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["user_description"] = None + return NetworkFunction(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def capacity(self) -> pulumi.Output[Optional[int]]: + """ + Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + """ + return pulumi.get(self, "capacity") + + @property + @pulumi.getter(name="deploymentNotes") + def deployment_notes(self) -> pulumi.Output[Optional[str]]: + """ + User provided deployment notes. This is used to optionally provide details about the NF deployment + """ + return pulumi.get(self, "deployment_notes") + + @property + @pulumi.getter(name="infrastructureElementCount") + def infrastructure_element_count(self) -> pulumi.Output[int]: + """ + Count of infrastructure elements used by this network function (vCPUs, in units of 8) + """ + return pulumi.get(self, "infrastructure_element_count") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkFunctionAdministrativeState") + def network_function_administrative_state(self) -> pulumi.Output[str]: + """ + Administrative state of the network function + """ + return pulumi.get(self, "network_function_administrative_state") + + @property + @pulumi.getter(name="networkFunctionOperationalStatus") + def network_function_operational_status(self) -> pulumi.Output[str]: + """ + Operational state of the network function + """ + return pulumi.get(self, "network_function_operational_status") + + @property + @pulumi.getter(name="networkFunctionType") + def network_function_type(self) -> pulumi.Output[str]: + """ + Type of network function + """ + return pulumi.get(self, "network_function_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The status of the last operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output[str]: + """ + Provisioned SKU Value. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userDescription") + def user_description(self) -> pulumi.Output[Optional[str]]: + """ + User provided description + """ + return pulumi.get(self, "user_description") + diff --git a/sdk/python/pulumi_azure_native/mobilepacketcore/outputs.py b/sdk/python/pulumi_azure_native/mobilepacketcore/outputs.py new file mode 100644 index 000000000000..3421e4185bf9 --- /dev/null +++ b/sdk/python/pulumi_azure_native/mobilepacketcore/outputs.py @@ -0,0 +1,126 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from ._enums import * + +__all__ = [ + 'SystemDataResponse', +] + +@pulumi.output_type +class SystemDataResponse(dict): + """ + Metadata pertaining to creation and last modification of the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: Optional[str] = None, + created_by: Optional[str] = None, + created_by_type: Optional[str] = None, + last_modified_at: Optional[str] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[str] = None): + """ + Metadata pertaining to creation and last modification of the resource. + :param str created_at: The timestamp of resource creation (UTC). + :param str created_by: The identity that created the resource. + :param str created_by_type: The type of identity that created the resource. + :param str last_modified_at: The timestamp of resource last modification (UTC) + :param str last_modified_by: The identity that last modified the resource. + :param str last_modified_by_type: The type of identity that last modified the resource. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if created_by_type is not None: + pulumi.set(__self__, "created_by_type", created_by_type) + if last_modified_at is not None: + pulumi.set(__self__, "last_modified_at", last_modified_at) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if last_modified_by_type is not None: + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The timestamp of resource creation (UTC). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[str]: + """ + The identity that created the resource. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> Optional[str]: + """ + The type of identity that created the resource. + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> Optional[str]: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[str]: + """ + The identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> Optional[str]: + """ + The type of identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by_type") + + diff --git a/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/__init__.py b/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/__init__.py new file mode 100644 index 000000000000..af1634471261 --- /dev/null +++ b/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/__init__.py @@ -0,0 +1,11 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .get_network_function import * +from .network_function import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/_enums.py b/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/_enums.py new file mode 100644 index 000000000000..9ee62e19ed7b --- /dev/null +++ b/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/_enums.py @@ -0,0 +1,109 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'NetworkFunctionAdministrativeState', + 'NetworkFunctionType', + 'SkuDefinitions', +] + + +class NetworkFunctionAdministrativeState(str, Enum): + """ + Administrative state of the network function + """ + COMMISSIONED = "Commissioned" + """ + Resource has been commissioned + """ + DECOMMISSIONED = "Decommissioned" + """ + Resource has been decommissioned + """ + + +class NetworkFunctionType(str, Enum): + """ + Type of network function + """ + AMF = "AMF" + """ + Access and Mobility Function + """ + SMF = "SMF" + """ + Session Management Function + """ + UPF = "UPF" + """ + User Plane Function + """ + NRF = "NRF" + """ + Network Repository Function + """ + NSSF = "NSSF" + """ + Network Slice Selection Function + """ + MME = "MME" + """ + Mobility Management Entity + """ + SAEGW_CONTROL_PLANE = "SaegwControlPlane" + """ + System Architecture Evolution Gateway Control Plane, control and user plane separation (CUPS) architecture + """ + SAEGW_USER_PLANE = "SaegwUserPlane" + """ + System Architecture Evolution Gateway User Plane, control and user plane separation (CUPS) architecture + """ + SAEGW = "Saegw" + """ + System Architecture Evolution Gateway. This combines the Serving Gateway (SGW) and the Packet Data Network Gateway (PGW) functionality + """ + E_PDG = "ePDG" + """ + Evolved Packet Data Gateway + """ + N3_IWF = "N3IWF" + """ + Non-3GPP Interworking Function + """ + REMOTE_PAA_S = "RemotePaaS" + """ + Remote Platform As A Service Components + """ + EMS = "EMS" + """ + Element Management System + """ + OPERATIONS_POLICY_MANAGER = "OperationsPolicyManager" + """ + Operations and Policy Manager + """ + + +class SkuDefinitions(str, Enum): + """ + Provisioned SKU Value. + """ + AZURE_LAB = "AzureLab" + """ + Azure Lab SKU + """ + AZURE_PRODUCTION = "AzureProduction" + """ + Azure Production SKU + """ + NEXUS_LAB = "NexusLab" + """ + Nexus Lab SKU + """ + NEXUS_PRODUCTION = "NexusProduction" + """ + Nexus Production SKU + """ diff --git a/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/get_network_function.py b/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/get_network_function.py new file mode 100644 index 000000000000..165de5667f94 --- /dev/null +++ b/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/get_network_function.py @@ -0,0 +1,261 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetNetworkFunctionResult', + 'AwaitableGetNetworkFunctionResult', + 'get_network_function', + 'get_network_function_output', +] + +@pulumi.output_type +class GetNetworkFunctionResult: + """ + AO5GC Network Function Resource + """ + def __init__(__self__, capacity=None, deployment_notes=None, id=None, infrastructure_element_count=None, location=None, name=None, network_function_administrative_state=None, network_function_operational_status=None, network_function_type=None, provisioning_state=None, sku=None, system_data=None, tags=None, type=None, user_description=None): + if capacity and not isinstance(capacity, int): + raise TypeError("Expected argument 'capacity' to be a int") + pulumi.set(__self__, "capacity", capacity) + if deployment_notes and not isinstance(deployment_notes, str): + raise TypeError("Expected argument 'deployment_notes' to be a str") + pulumi.set(__self__, "deployment_notes", deployment_notes) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if infrastructure_element_count and not isinstance(infrastructure_element_count, int): + raise TypeError("Expected argument 'infrastructure_element_count' to be a int") + pulumi.set(__self__, "infrastructure_element_count", infrastructure_element_count) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if network_function_administrative_state and not isinstance(network_function_administrative_state, str): + raise TypeError("Expected argument 'network_function_administrative_state' to be a str") + pulumi.set(__self__, "network_function_administrative_state", network_function_administrative_state) + if network_function_operational_status and not isinstance(network_function_operational_status, str): + raise TypeError("Expected argument 'network_function_operational_status' to be a str") + pulumi.set(__self__, "network_function_operational_status", network_function_operational_status) + if network_function_type and not isinstance(network_function_type, str): + raise TypeError("Expected argument 'network_function_type' to be a str") + pulumi.set(__self__, "network_function_type", network_function_type) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if sku and not isinstance(sku, str): + raise TypeError("Expected argument 'sku' to be a str") + pulumi.set(__self__, "sku", sku) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if user_description and not isinstance(user_description, str): + raise TypeError("Expected argument 'user_description' to be a str") + pulumi.set(__self__, "user_description", user_description) + + @property + @pulumi.getter + def capacity(self) -> Optional[int]: + """ + Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + """ + return pulumi.get(self, "capacity") + + @property + @pulumi.getter(name="deploymentNotes") + def deployment_notes(self) -> Optional[str]: + """ + User provided deployment notes. This is used to optionally provide details about the NF deployment + """ + return pulumi.get(self, "deployment_notes") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="infrastructureElementCount") + def infrastructure_element_count(self) -> int: + """ + Count of infrastructure elements used by this network function (vCPUs, in units of 8) + """ + return pulumi.get(self, "infrastructure_element_count") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkFunctionAdministrativeState") + def network_function_administrative_state(self) -> str: + """ + Administrative state of the network function + """ + return pulumi.get(self, "network_function_administrative_state") + + @property + @pulumi.getter(name="networkFunctionOperationalStatus") + def network_function_operational_status(self) -> str: + """ + Operational state of the network function + """ + return pulumi.get(self, "network_function_operational_status") + + @property + @pulumi.getter(name="networkFunctionType") + def network_function_type(self) -> str: + """ + Type of network function + """ + return pulumi.get(self, "network_function_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The status of the last operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def sku(self) -> str: + """ + Provisioned SKU Value. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userDescription") + def user_description(self) -> Optional[str]: + """ + User provided description + """ + return pulumi.get(self, "user_description") + + +class AwaitableGetNetworkFunctionResult(GetNetworkFunctionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetNetworkFunctionResult( + capacity=self.capacity, + deployment_notes=self.deployment_notes, + id=self.id, + infrastructure_element_count=self.infrastructure_element_count, + location=self.location, + name=self.name, + network_function_administrative_state=self.network_function_administrative_state, + network_function_operational_status=self.network_function_operational_status, + network_function_type=self.network_function_type, + provisioning_state=self.provisioning_state, + sku=self.sku, + system_data=self.system_data, + tags=self.tags, + type=self.type, + user_description=self.user_description) + + +def get_network_function(network_function_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNetworkFunctionResult: + """ + Get a NetworkFunctionResource + + + :param str network_function_name: The name of the network function + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['networkFunctionName'] = network_function_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:mobilepacketcore/v20230515preview:getNetworkFunction', __args__, opts=opts, typ=GetNetworkFunctionResult).value + + return AwaitableGetNetworkFunctionResult( + capacity=__ret__.capacity, + deployment_notes=__ret__.deployment_notes, + id=__ret__.id, + infrastructure_element_count=__ret__.infrastructure_element_count, + location=__ret__.location, + name=__ret__.name, + network_function_administrative_state=__ret__.network_function_administrative_state, + network_function_operational_status=__ret__.network_function_operational_status, + network_function_type=__ret__.network_function_type, + provisioning_state=__ret__.provisioning_state, + sku=__ret__.sku, + system_data=__ret__.system_data, + tags=__ret__.tags, + type=__ret__.type, + user_description=__ret__.user_description) + + +@_utilities.lift_output_func(get_network_function) +def get_network_function_output(network_function_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkFunctionResult]: + """ + Get a NetworkFunctionResource + + + :param str network_function_name: The name of the network function + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + ... diff --git a/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/network_function.py b/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/network_function.py new file mode 100644 index 000000000000..2f9c1b6ad0c8 --- /dev/null +++ b/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/network_function.py @@ -0,0 +1,430 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = ['NetworkFunctionArgs', 'NetworkFunction'] + +@pulumi.input_type +class NetworkFunctionArgs: + def __init__(__self__, *, + network_function_administrative_state: pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']], + network_function_type: pulumi.Input[Union[str, 'NetworkFunctionType']], + resource_group_name: pulumi.Input[str], + sku: pulumi.Input[Union[str, 'SkuDefinitions']], + capacity: Optional[pulumi.Input[int]] = None, + deployment_notes: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + network_function_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_description: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a NetworkFunction resource. + :param pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']] network_function_administrative_state: Administrative state of the network function + :param pulumi.Input[Union[str, 'NetworkFunctionType']] network_function_type: Type of network function + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Union[str, 'SkuDefinitions']] sku: Provisioned SKU Value. + :param pulumi.Input[int] capacity: Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + :param pulumi.Input[str] deployment_notes: User provided deployment notes. This is used to optionally provide details about the NF deployment + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] network_function_name: The name of the network function + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[str] user_description: User provided description + """ + pulumi.set(__self__, "network_function_administrative_state", network_function_administrative_state) + pulumi.set(__self__, "network_function_type", network_function_type) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "sku", sku) + if capacity is not None: + pulumi.set(__self__, "capacity", capacity) + if deployment_notes is not None: + pulumi.set(__self__, "deployment_notes", deployment_notes) + if location is not None: + pulumi.set(__self__, "location", location) + if network_function_name is not None: + pulumi.set(__self__, "network_function_name", network_function_name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if user_description is not None: + pulumi.set(__self__, "user_description", user_description) + + @property + @pulumi.getter(name="networkFunctionAdministrativeState") + def network_function_administrative_state(self) -> pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']]: + """ + Administrative state of the network function + """ + return pulumi.get(self, "network_function_administrative_state") + + @network_function_administrative_state.setter + def network_function_administrative_state(self, value: pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']]): + pulumi.set(self, "network_function_administrative_state", value) + + @property + @pulumi.getter(name="networkFunctionType") + def network_function_type(self) -> pulumi.Input[Union[str, 'NetworkFunctionType']]: + """ + Type of network function + """ + return pulumi.get(self, "network_function_type") + + @network_function_type.setter + def network_function_type(self, value: pulumi.Input[Union[str, 'NetworkFunctionType']]): + pulumi.set(self, "network_function_type", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def sku(self) -> pulumi.Input[Union[str, 'SkuDefinitions']]: + """ + Provisioned SKU Value. + """ + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: pulumi.Input[Union[str, 'SkuDefinitions']]): + pulumi.set(self, "sku", value) + + @property + @pulumi.getter + def capacity(self) -> Optional[pulumi.Input[int]]: + """ + Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + """ + return pulumi.get(self, "capacity") + + @capacity.setter + def capacity(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "capacity", value) + + @property + @pulumi.getter(name="deploymentNotes") + def deployment_notes(self) -> Optional[pulumi.Input[str]]: + """ + User provided deployment notes. This is used to optionally provide details about the NF deployment + """ + return pulumi.get(self, "deployment_notes") + + @deployment_notes.setter + def deployment_notes(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "deployment_notes", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="networkFunctionName") + def network_function_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the network function + """ + return pulumi.get(self, "network_function_name") + + @network_function_name.setter + def network_function_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_function_name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="userDescription") + def user_description(self) -> Optional[pulumi.Input[str]]: + """ + User provided description + """ + return pulumi.get(self, "user_description") + + @user_description.setter + def user_description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_description", value) + + +class NetworkFunction(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capacity: Optional[pulumi.Input[int]] = None, + deployment_notes: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + network_function_administrative_state: Optional[pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']]] = None, + network_function_name: Optional[pulumi.Input[str]] = None, + network_function_type: Optional[pulumi.Input[Union[str, 'NetworkFunctionType']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[Union[str, 'SkuDefinitions']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_description: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + AO5GC Network Function Resource + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] capacity: Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + :param pulumi.Input[str] deployment_notes: User provided deployment notes. This is used to optionally provide details about the NF deployment + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']] network_function_administrative_state: Administrative state of the network function + :param pulumi.Input[str] network_function_name: The name of the network function + :param pulumi.Input[Union[str, 'NetworkFunctionType']] network_function_type: Type of network function + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Union[str, 'SkuDefinitions']] sku: Provisioned SKU Value. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + :param pulumi.Input[str] user_description: User provided description + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: NetworkFunctionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + AO5GC Network Function Resource + + :param str resource_name: The name of the resource. + :param NetworkFunctionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(NetworkFunctionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capacity: Optional[pulumi.Input[int]] = None, + deployment_notes: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + network_function_administrative_state: Optional[pulumi.Input[Union[str, 'NetworkFunctionAdministrativeState']]] = None, + network_function_name: Optional[pulumi.Input[str]] = None, + network_function_type: Optional[pulumi.Input[Union[str, 'NetworkFunctionType']]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + sku: Optional[pulumi.Input[Union[str, 'SkuDefinitions']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_description: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = NetworkFunctionArgs.__new__(NetworkFunctionArgs) + + __props__.__dict__["capacity"] = capacity + __props__.__dict__["deployment_notes"] = deployment_notes + __props__.__dict__["location"] = location + if network_function_administrative_state is None and not opts.urn: + raise TypeError("Missing required property 'network_function_administrative_state'") + __props__.__dict__["network_function_administrative_state"] = network_function_administrative_state + __props__.__dict__["network_function_name"] = network_function_name + if network_function_type is None and not opts.urn: + raise TypeError("Missing required property 'network_function_type'") + __props__.__dict__["network_function_type"] = network_function_type + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + if sku is None and not opts.urn: + raise TypeError("Missing required property 'sku'") + __props__.__dict__["sku"] = sku + __props__.__dict__["tags"] = tags + __props__.__dict__["user_description"] = user_description + __props__.__dict__["infrastructure_element_count"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_function_operational_status"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:mobilepacketcore:NetworkFunction")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(NetworkFunction, __self__).__init__( + 'azure-native:mobilepacketcore/v20230515preview:NetworkFunction', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'NetworkFunction': + """ + Get an existing NetworkFunction resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = NetworkFunctionArgs.__new__(NetworkFunctionArgs) + + __props__.__dict__["capacity"] = None + __props__.__dict__["deployment_notes"] = None + __props__.__dict__["infrastructure_element_count"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_function_administrative_state"] = None + __props__.__dict__["network_function_operational_status"] = None + __props__.__dict__["network_function_type"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["sku"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + __props__.__dict__["user_description"] = None + return NetworkFunction(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def capacity(self) -> pulumi.Output[Optional[int]]: + """ + Capacity of the network function in units of 10000. This represents the session count or the Simultaneously Attached Users (SAU) count as applicable + """ + return pulumi.get(self, "capacity") + + @property + @pulumi.getter(name="deploymentNotes") + def deployment_notes(self) -> pulumi.Output[Optional[str]]: + """ + User provided deployment notes. This is used to optionally provide details about the NF deployment + """ + return pulumi.get(self, "deployment_notes") + + @property + @pulumi.getter(name="infrastructureElementCount") + def infrastructure_element_count(self) -> pulumi.Output[int]: + """ + Count of infrastructure elements used by this network function (vCPUs, in units of 8) + """ + return pulumi.get(self, "infrastructure_element_count") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkFunctionAdministrativeState") + def network_function_administrative_state(self) -> pulumi.Output[str]: + """ + Administrative state of the network function + """ + return pulumi.get(self, "network_function_administrative_state") + + @property + @pulumi.getter(name="networkFunctionOperationalStatus") + def network_function_operational_status(self) -> pulumi.Output[str]: + """ + Operational state of the network function + """ + return pulumi.get(self, "network_function_operational_status") + + @property + @pulumi.getter(name="networkFunctionType") + def network_function_type(self) -> pulumi.Output[str]: + """ + Type of network function + """ + return pulumi.get(self, "network_function_type") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + The status of the last operation. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def sku(self) -> pulumi.Output[str]: + """ + Provisioned SKU Value. + """ + return pulumi.get(self, "sku") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userDescription") + def user_description(self) -> pulumi.Output[Optional[str]]: + """ + User provided description + """ + return pulumi.get(self, "user_description") + diff --git a/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/outputs.py b/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/outputs.py new file mode 100644 index 000000000000..92cb1cebd6f5 --- /dev/null +++ b/sdk/python/pulumi_azure_native/mobilepacketcore/v20230515preview/outputs.py @@ -0,0 +1,126 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = [ + 'SystemDataResponse', +] + +@pulumi.output_type +class SystemDataResponse(dict): + """ + Metadata pertaining to creation and last modification of the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: Optional[str] = None, + created_by: Optional[str] = None, + created_by_type: Optional[str] = None, + last_modified_at: Optional[str] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[str] = None): + """ + Metadata pertaining to creation and last modification of the resource. + :param str created_at: The timestamp of resource creation (UTC). + :param str created_by: The identity that created the resource. + :param str created_by_type: The type of identity that created the resource. + :param str last_modified_at: The timestamp of resource last modification (UTC) + :param str last_modified_by: The identity that last modified the resource. + :param str last_modified_by_type: The type of identity that last modified the resource. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if created_by_type is not None: + pulumi.set(__self__, "created_by_type", created_by_type) + if last_modified_at is not None: + pulumi.set(__self__, "last_modified_at", last_modified_at) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if last_modified_by_type is not None: + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The timestamp of resource creation (UTC). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[str]: + """ + The identity that created the resource. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> Optional[str]: + """ + The type of identity that created the resource. + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> Optional[str]: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[str]: + """ + The identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> Optional[str]: + """ + The type of identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by_type") + + diff --git a/sdk/python/pulumi_azure_native/resourceconnector/_enums.py b/sdk/python/pulumi_azure_native/resourceconnector/_enums.py index 9eefb7610ad4..4e037fd91ac8 100644 --- a/sdk/python/pulumi_azure_native/resourceconnector/_enums.py +++ b/sdk/python/pulumi_azure_native/resourceconnector/_enums.py @@ -25,8 +25,6 @@ class Provider(str, Enum): VM_WARE = "VMWare" HCI = "HCI" SCVMM = "SCVMM" - KUBE_VIRT = "KubeVirt" - OPEN_STACK = "OpenStack" class ResourceIdentityType(str, Enum): diff --git a/sdk/python/pulumi_azure_native/resourceconnector/list_appliance_keys.py b/sdk/python/pulumi_azure_native/resourceconnector/list_appliance_keys.py index 310f1eb352e9..3233f3030d41 100644 --- a/sdk/python/pulumi_azure_native/resourceconnector/list_appliance_keys.py +++ b/sdk/python/pulumi_azure_native/resourceconnector/list_appliance_keys.py @@ -69,7 +69,8 @@ def __await__(self): ssh_keys=self.ssh_keys) -def list_appliance_keys(resource_group_name: Optional[str] = None, +def list_appliance_keys(artifact_type: Optional[str] = None, + resource_group_name: Optional[str] = None, resource_name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListApplianceKeysResult: """ @@ -77,10 +78,12 @@ def list_appliance_keys(resource_group_name: Optional[str] = None, Azure REST API version: 2022-10-27. + :param str artifact_type: This sets the type of artifact being returned, when empty no artifact endpoint is returned. :param str resource_group_name: The name of the resource group. The name is case insensitive. :param str resource_name: Appliances name. """ __args__ = dict() + __args__['artifactType'] = artifact_type __args__['resourceGroupName'] = resource_group_name __args__['resourceName'] = resource_name opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) @@ -93,7 +96,8 @@ def list_appliance_keys(resource_group_name: Optional[str] = None, @_utilities.lift_output_func(list_appliance_keys) -def list_appliance_keys_output(resource_group_name: Optional[pulumi.Input[str]] = None, +def list_appliance_keys_output(artifact_type: Optional[pulumi.Input[Optional[str]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, resource_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[ListApplianceKeysResult]: """ @@ -101,6 +105,7 @@ def list_appliance_keys_output(resource_group_name: Optional[pulumi.Input[str]] Azure REST API version: 2022-10-27. + :param str artifact_type: This sets the type of artifact being returned, when empty no artifact endpoint is returned. :param str resource_group_name: The name of the resource group. The name is case insensitive. :param str resource_name: Appliances name. """ diff --git a/sdk/python/pulumi_azure_native/resourceconnector/v20221027/_enums.py b/sdk/python/pulumi_azure_native/resourceconnector/v20221027/_enums.py index 9eefb7610ad4..4e037fd91ac8 100644 --- a/sdk/python/pulumi_azure_native/resourceconnector/v20221027/_enums.py +++ b/sdk/python/pulumi_azure_native/resourceconnector/v20221027/_enums.py @@ -25,8 +25,6 @@ class Provider(str, Enum): VM_WARE = "VMWare" HCI = "HCI" SCVMM = "SCVMM" - KUBE_VIRT = "KubeVirt" - OPEN_STACK = "OpenStack" class ResourceIdentityType(str, Enum): diff --git a/sdk/python/pulumi_azure_native/resourceconnector/v20221027/list_appliance_keys.py b/sdk/python/pulumi_azure_native/resourceconnector/v20221027/list_appliance_keys.py index 067d2d6a2dce..be195672a67e 100644 --- a/sdk/python/pulumi_azure_native/resourceconnector/v20221027/list_appliance_keys.py +++ b/sdk/python/pulumi_azure_native/resourceconnector/v20221027/list_appliance_keys.py @@ -69,17 +69,20 @@ def __await__(self): ssh_keys=self.ssh_keys) -def list_appliance_keys(resource_group_name: Optional[str] = None, +def list_appliance_keys(artifact_type: Optional[str] = None, + resource_group_name: Optional[str] = None, resource_name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListApplianceKeysResult: """ Returns the cluster customer credentials for the dedicated appliance. + :param str artifact_type: This sets the type of artifact being returned, when empty no artifact endpoint is returned. :param str resource_group_name: The name of the resource group. The name is case insensitive. :param str resource_name: Appliances name. """ __args__ = dict() + __args__['artifactType'] = artifact_type __args__['resourceGroupName'] = resource_group_name __args__['resourceName'] = resource_name opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) @@ -92,13 +95,15 @@ def list_appliance_keys(resource_group_name: Optional[str] = None, @_utilities.lift_output_func(list_appliance_keys) -def list_appliance_keys_output(resource_group_name: Optional[pulumi.Input[str]] = None, +def list_appliance_keys_output(artifact_type: Optional[pulumi.Input[Optional[str]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, resource_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[ListApplianceKeysResult]: """ Returns the cluster customer credentials for the dedicated appliance. + :param str artifact_type: This sets the type of artifact being returned, when empty no artifact endpoint is returned. :param str resource_group_name: The name of the resource group. The name is case insensitive. :param str resource_name: Appliances name. """ diff --git a/sdk/python/pulumi_azure_native/storagetasks/__init__.py b/sdk/python/pulumi_azure_native/storagetasks/__init__.py new file mode 100644 index 000000000000..c4fd201cfea7 --- /dev/null +++ b/sdk/python/pulumi_azure_native/storagetasks/__init__.py @@ -0,0 +1,20 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .get_storage_task import * +from .storage_task import * +from ._inputs import * +from . import outputs + +# Make subpackages available: +if typing.TYPE_CHECKING: + import pulumi_azure_native.storagetasks.v20230101 as __v20230101 + v20230101 = __v20230101 +else: + v20230101 = _utilities.lazy_import('pulumi_azure_native.storagetasks.v20230101') + diff --git a/sdk/python/pulumi_azure_native/storagetasks/_enums.py b/sdk/python/pulumi_azure_native/storagetasks/_enums.py new file mode 100644 index 000000000000..7b00f33b2bfa --- /dev/null +++ b/sdk/python/pulumi_azure_native/storagetasks/_enums.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'ManagedServiceIdentityType', + 'OnFailure', + 'OnSuccess', + 'StorageTaskOperationName', +] + + +class ManagedServiceIdentityType(str, Enum): + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + NONE = "None" + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned" + + +class OnFailure(str, Enum): + """ + Action to be taken when the operation fails for a object. + """ + BREAK_ = "break" + + +class OnSuccess(str, Enum): + """ + Action to be taken when the operation is successful for a object. + """ + CONTINUE_ = "continue" + + +class StorageTaskOperationName(str, Enum): + """ + The operation to be performed on the object. + """ + SET_BLOB_TIER = "SetBlobTier" + SET_BLOB_TAGS = "SetBlobTags" + SET_BLOB_IMMUTABILITY_POLICY = "SetBlobImmutabilityPolicy" + SET_BLOB_LEGAL_HOLD = "SetBlobLegalHold" + SET_BLOB_EXPIRY = "SetBlobExpiry" + DELETE_BLOB = "DeleteBlob" + UNDELETE_BLOB = "UndeleteBlob" diff --git a/sdk/python/pulumi_azure_native/storagetasks/_inputs.py b/sdk/python/pulumi_azure_native/storagetasks/_inputs.py new file mode 100644 index 000000000000..ddffc29d3b09 --- /dev/null +++ b/sdk/python/pulumi_azure_native/storagetasks/_inputs.py @@ -0,0 +1,230 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from ._enums import * + +__all__ = [ + 'ElseConditionArgs', + 'IfConditionArgs', + 'ManagedServiceIdentityArgs', + 'StorageTaskActionArgs', + 'StorageTaskOperationArgs', +] + +@pulumi.input_type +class ElseConditionArgs: + def __init__(__self__, *, + operations: pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]]): + """ + The else block of storage task operation + :param pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]] operations: List of operations to execute in the else block + """ + pulumi.set(__self__, "operations", operations) + + @property + @pulumi.getter + def operations(self) -> pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]]: + """ + List of operations to execute in the else block + """ + return pulumi.get(self, "operations") + + @operations.setter + def operations(self, value: pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]]): + pulumi.set(self, "operations", value) + + +@pulumi.input_type +class IfConditionArgs: + def __init__(__self__, *, + condition: pulumi.Input[str], + operations: pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]]): + """ + The if block of storage task operation + :param pulumi.Input[str] condition: The condition predicate which is composed of object properties, eg: blob and container properties. + :param pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]] operations: List of operations to execute when the condition predicate satisfies. + """ + pulumi.set(__self__, "condition", condition) + pulumi.set(__self__, "operations", operations) + + @property + @pulumi.getter + def condition(self) -> pulumi.Input[str]: + """ + The condition predicate which is composed of object properties, eg: blob and container properties. + """ + return pulumi.get(self, "condition") + + @condition.setter + def condition(self, value: pulumi.Input[str]): + pulumi.set(self, "condition", value) + + @property + @pulumi.getter + def operations(self) -> pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]]: + """ + List of operations to execute when the condition predicate satisfies. + """ + return pulumi.get(self, "operations") + + @operations.setter + def operations(self, value: pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]]): + pulumi.set(self, "operations", value) + + +@pulumi.input_type +class ManagedServiceIdentityArgs: + def __init__(__self__, *, + type: pulumi.Input[Union[str, 'ManagedServiceIdentityType']], + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Managed service identity (system assigned and/or user assigned identities) + :param pulumi.Input[Union[str, 'ManagedServiceIdentityType']] type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[Union[str, 'ManagedServiceIdentityType']]: + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[Union[str, 'ManagedServiceIdentityType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_assigned_identities", value) + + +@pulumi.input_type +class StorageTaskActionArgs: + def __init__(__self__, *, + if_: pulumi.Input['IfConditionArgs'], + else_: Optional[pulumi.Input['ElseConditionArgs']] = None): + """ + The storage task action represents conditional statements and operations to be performed on target objects. + :param pulumi.Input['IfConditionArgs'] if_: The if block of storage task operation + :param pulumi.Input['ElseConditionArgs'] else_: The else block of storage task operation + """ + pulumi.set(__self__, "if_", if_) + if else_ is not None: + pulumi.set(__self__, "else_", else_) + + @property + @pulumi.getter(name="if") + def if_(self) -> pulumi.Input['IfConditionArgs']: + """ + The if block of storage task operation + """ + return pulumi.get(self, "if_") + + @if_.setter + def if_(self, value: pulumi.Input['IfConditionArgs']): + pulumi.set(self, "if_", value) + + @property + @pulumi.getter(name="else") + def else_(self) -> Optional[pulumi.Input['ElseConditionArgs']]: + """ + The else block of storage task operation + """ + return pulumi.get(self, "else_") + + @else_.setter + def else_(self, value: Optional[pulumi.Input['ElseConditionArgs']]): + pulumi.set(self, "else_", value) + + +@pulumi.input_type +class StorageTaskOperationArgs: + def __init__(__self__, *, + name: pulumi.Input[Union[str, 'StorageTaskOperationName']], + on_failure: Optional[pulumi.Input['OnFailure']] = None, + on_success: Optional[pulumi.Input['OnSuccess']] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Represents an operation to be performed on the object + :param pulumi.Input[Union[str, 'StorageTaskOperationName']] name: The operation to be performed on the object. + :param pulumi.Input['OnFailure'] on_failure: Action to be taken when the operation fails for a object. + :param pulumi.Input['OnSuccess'] on_success: Action to be taken when the operation is successful for a object. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Key-value parameters for the operation. + """ + pulumi.set(__self__, "name", name) + if on_failure is not None: + pulumi.set(__self__, "on_failure", on_failure) + if on_success is not None: + pulumi.set(__self__, "on_success", on_success) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[Union[str, 'StorageTaskOperationName']]: + """ + The operation to be performed on the object. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Union[str, 'StorageTaskOperationName']]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="onFailure") + def on_failure(self) -> Optional[pulumi.Input['OnFailure']]: + """ + Action to be taken when the operation fails for a object. + """ + return pulumi.get(self, "on_failure") + + @on_failure.setter + def on_failure(self, value: Optional[pulumi.Input['OnFailure']]): + pulumi.set(self, "on_failure", value) + + @property + @pulumi.getter(name="onSuccess") + def on_success(self) -> Optional[pulumi.Input['OnSuccess']]: + """ + Action to be taken when the operation is successful for a object. + """ + return pulumi.get(self, "on_success") + + @on_success.setter + def on_success(self, value: Optional[pulumi.Input['OnSuccess']]): + pulumi.set(self, "on_success", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value parameters for the operation. + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "parameters", value) + + diff --git a/sdk/python/pulumi_azure_native/storagetasks/get_storage_task.py b/sdk/python/pulumi_azure_native/storagetasks/get_storage_task.py new file mode 100644 index 000000000000..f28bb8539d6c --- /dev/null +++ b/sdk/python/pulumi_azure_native/storagetasks/get_storage_task.py @@ -0,0 +1,237 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetStorageTaskResult', + 'AwaitableGetStorageTaskResult', + 'get_storage_task', + 'get_storage_task_output', +] + +@pulumi.output_type +class GetStorageTaskResult: + """ + Represents Storage Task. + """ + def __init__(__self__, action=None, creation_time_in_utc=None, description=None, enabled=None, id=None, identity=None, location=None, name=None, provisioning_state=None, system_data=None, tags=None, task_version=None, type=None): + if action and not isinstance(action, dict): + raise TypeError("Expected argument 'action' to be a dict") + pulumi.set(__self__, "action", action) + if creation_time_in_utc and not isinstance(creation_time_in_utc, str): + raise TypeError("Expected argument 'creation_time_in_utc' to be a str") + pulumi.set(__self__, "creation_time_in_utc", creation_time_in_utc) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if enabled and not isinstance(enabled, bool): + raise TypeError("Expected argument 'enabled' to be a bool") + pulumi.set(__self__, "enabled", enabled) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if task_version and not isinstance(task_version, float): + raise TypeError("Expected argument 'task_version' to be a float") + pulumi.set(__self__, "task_version", task_version) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def action(self) -> 'outputs.StorageTaskActionResponse': + """ + The storage task action that is executed + """ + return pulumi.get(self, "action") + + @property + @pulumi.getter(name="creationTimeInUtc") + def creation_time_in_utc(self) -> str: + """ + The creation date and time of the storage task in UTC. + """ + return pulumi.get(self, "creation_time_in_utc") + + @property + @pulumi.getter + def description(self) -> str: + """ + Text that describes the purpose of the storage task + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Storage Task is enabled when set to true and disabled when set to false + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.ManagedServiceIdentityResponse']: + """ + The managed service identity of the resource. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + Represents the provisioning state of the storage task. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="taskVersion") + def task_version(self) -> float: + """ + Storage task version. + """ + return pulumi.get(self, "task_version") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetStorageTaskResult(GetStorageTaskResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetStorageTaskResult( + action=self.action, + creation_time_in_utc=self.creation_time_in_utc, + description=self.description, + enabled=self.enabled, + id=self.id, + identity=self.identity, + location=self.location, + name=self.name, + provisioning_state=self.provisioning_state, + system_data=self.system_data, + tags=self.tags, + task_version=self.task_version, + type=self.type) + + +def get_storage_task(resource_group_name: Optional[str] = None, + storage_task_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetStorageTaskResult: + """ + Get the storage task properties + Azure REST API version: 2023-01-01. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str storage_task_name: The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['storageTaskName'] = storage_task_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:storagetasks:getStorageTask', __args__, opts=opts, typ=GetStorageTaskResult).value + + return AwaitableGetStorageTaskResult( + action=__ret__.action, + creation_time_in_utc=__ret__.creation_time_in_utc, + description=__ret__.description, + enabled=__ret__.enabled, + id=__ret__.id, + identity=__ret__.identity, + location=__ret__.location, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + system_data=__ret__.system_data, + tags=__ret__.tags, + task_version=__ret__.task_version, + type=__ret__.type) + + +@_utilities.lift_output_func(get_storage_task) +def get_storage_task_output(resource_group_name: Optional[pulumi.Input[str]] = None, + storage_task_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStorageTaskResult]: + """ + Get the storage task properties + Azure REST API version: 2023-01-01. + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str storage_task_name: The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + """ + ... diff --git a/sdk/python/pulumi_azure_native/storagetasks/outputs.py b/sdk/python/pulumi_azure_native/storagetasks/outputs.py new file mode 100644 index 000000000000..2eff3d539134 --- /dev/null +++ b/sdk/python/pulumi_azure_native/storagetasks/outputs.py @@ -0,0 +1,447 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'ElseConditionResponse', + 'IfConditionResponse', + 'ManagedServiceIdentityResponse', + 'StorageTaskActionResponse', + 'StorageTaskOperationResponse', + 'SystemDataResponse', + 'UserAssignedIdentityResponse', +] + +@pulumi.output_type +class ElseConditionResponse(dict): + """ + The else block of storage task operation + """ + def __init__(__self__, *, + operations: Sequence['outputs.StorageTaskOperationResponse']): + """ + The else block of storage task operation + :param Sequence['StorageTaskOperationResponse'] operations: List of operations to execute in the else block + """ + pulumi.set(__self__, "operations", operations) + + @property + @pulumi.getter + def operations(self) -> Sequence['outputs.StorageTaskOperationResponse']: + """ + List of operations to execute in the else block + """ + return pulumi.get(self, "operations") + + +@pulumi.output_type +class IfConditionResponse(dict): + """ + The if block of storage task operation + """ + def __init__(__self__, *, + condition: str, + operations: Sequence['outputs.StorageTaskOperationResponse']): + """ + The if block of storage task operation + :param str condition: The condition predicate which is composed of object properties, eg: blob and container properties. + :param Sequence['StorageTaskOperationResponse'] operations: List of operations to execute when the condition predicate satisfies. + """ + pulumi.set(__self__, "condition", condition) + pulumi.set(__self__, "operations", operations) + + @property + @pulumi.getter + def condition(self) -> str: + """ + The condition predicate which is composed of object properties, eg: blob and container properties. + """ + return pulumi.get(self, "condition") + + @property + @pulumi.getter + def operations(self) -> Sequence['outputs.StorageTaskOperationResponse']: + """ + List of operations to execute when the condition predicate satisfies. + """ + return pulumi.get(self, "operations") + + +@pulumi.output_type +class ManagedServiceIdentityResponse(dict): + """ + Managed service identity (system assigned and/or user assigned identities) + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedServiceIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedServiceIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedServiceIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + type: str, + user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']] = None): + """ + Managed service identity (system assigned and/or user assigned identities) + :param str principal_id: The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + :param str tenant_id: The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + :param str type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + :param Mapping[str, 'UserAssignedIdentityResponse'] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> str: + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]: + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + return pulumi.get(self, "user_assigned_identities") + + +@pulumi.output_type +class StorageTaskActionResponse(dict): + """ + The storage task action represents conditional statements and operations to be performed on target objects. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "if": + suggest = "if_" + elif key == "else": + suggest = "else_" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageTaskActionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageTaskActionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageTaskActionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + if_: 'outputs.IfConditionResponse', + else_: Optional['outputs.ElseConditionResponse'] = None): + """ + The storage task action represents conditional statements and operations to be performed on target objects. + :param 'IfConditionResponse' if_: The if block of storage task operation + :param 'ElseConditionResponse' else_: The else block of storage task operation + """ + pulumi.set(__self__, "if_", if_) + if else_ is not None: + pulumi.set(__self__, "else_", else_) + + @property + @pulumi.getter(name="if") + def if_(self) -> 'outputs.IfConditionResponse': + """ + The if block of storage task operation + """ + return pulumi.get(self, "if_") + + @property + @pulumi.getter(name="else") + def else_(self) -> Optional['outputs.ElseConditionResponse']: + """ + The else block of storage task operation + """ + return pulumi.get(self, "else_") + + +@pulumi.output_type +class StorageTaskOperationResponse(dict): + """ + Represents an operation to be performed on the object + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "onFailure": + suggest = "on_failure" + elif key == "onSuccess": + suggest = "on_success" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageTaskOperationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageTaskOperationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageTaskOperationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + on_failure: Optional[str] = None, + on_success: Optional[str] = None, + parameters: Optional[Mapping[str, str]] = None): + """ + Represents an operation to be performed on the object + :param str name: The operation to be performed on the object. + :param str on_failure: Action to be taken when the operation fails for a object. + :param str on_success: Action to be taken when the operation is successful for a object. + :param Mapping[str, str] parameters: Key-value parameters for the operation. + """ + pulumi.set(__self__, "name", name) + if on_failure is not None: + pulumi.set(__self__, "on_failure", on_failure) + if on_success is not None: + pulumi.set(__self__, "on_success", on_success) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + + @property + @pulumi.getter + def name(self) -> str: + """ + The operation to be performed on the object. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="onFailure") + def on_failure(self) -> Optional[str]: + """ + Action to be taken when the operation fails for a object. + """ + return pulumi.get(self, "on_failure") + + @property + @pulumi.getter(name="onSuccess") + def on_success(self) -> Optional[str]: + """ + Action to be taken when the operation is successful for a object. + """ + return pulumi.get(self, "on_success") + + @property + @pulumi.getter + def parameters(self) -> Optional[Mapping[str, str]]: + """ + Key-value parameters for the operation. + """ + return pulumi.get(self, "parameters") + + +@pulumi.output_type +class SystemDataResponse(dict): + """ + Metadata pertaining to creation and last modification of the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: Optional[str] = None, + created_by: Optional[str] = None, + created_by_type: Optional[str] = None, + last_modified_at: Optional[str] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[str] = None): + """ + Metadata pertaining to creation and last modification of the resource. + :param str created_at: The timestamp of resource creation (UTC). + :param str created_by: The identity that created the resource. + :param str created_by_type: The type of identity that created the resource. + :param str last_modified_at: The timestamp of resource last modification (UTC) + :param str last_modified_by: The identity that last modified the resource. + :param str last_modified_by_type: The type of identity that last modified the resource. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if created_by_type is not None: + pulumi.set(__self__, "created_by_type", created_by_type) + if last_modified_at is not None: + pulumi.set(__self__, "last_modified_at", last_modified_at) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if last_modified_by_type is not None: + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The timestamp of resource creation (UTC). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[str]: + """ + The identity that created the resource. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> Optional[str]: + """ + The type of identity that created the resource. + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> Optional[str]: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[str]: + """ + The identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> Optional[str]: + """ + The type of identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by_type") + + +@pulumi.output_type +class UserAssignedIdentityResponse(dict): + """ + User assigned identity properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "principalId": + suggest = "principal_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: str, + principal_id: str): + """ + User assigned identity properties + :param str client_id: The client ID of the assigned identity. + :param str principal_id: The principal ID of the assigned identity. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "principal_id", principal_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The client ID of the assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal ID of the assigned identity. + """ + return pulumi.get(self, "principal_id") + + diff --git a/sdk/python/pulumi_azure_native/storagetasks/storage_task.py b/sdk/python/pulumi_azure_native/storagetasks/storage_task.py new file mode 100644 index 000000000000..ceff12285d69 --- /dev/null +++ b/sdk/python/pulumi_azure_native/storagetasks/storage_task.py @@ -0,0 +1,375 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['StorageTaskArgs', 'StorageTask'] + +@pulumi.input_type +class StorageTaskArgs: + def __init__(__self__, *, + action: pulumi.Input['StorageTaskActionArgs'], + description: pulumi.Input[str], + enabled: pulumi.Input[bool], + resource_group_name: pulumi.Input[str], + identity: Optional[pulumi.Input['ManagedServiceIdentityArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + storage_task_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a StorageTask resource. + :param pulumi.Input['StorageTaskActionArgs'] action: The storage task action that is executed + :param pulumi.Input[str] description: Text that describes the purpose of the storage task + :param pulumi.Input[bool] enabled: Storage Task is enabled when set to true and disabled when set to false + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input['ManagedServiceIdentityArgs'] identity: The managed service identity of the resource. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] storage_task_name: The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + pulumi.set(__self__, "action", action) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if location is not None: + pulumi.set(__self__, "location", location) + if storage_task_name is not None: + pulumi.set(__self__, "storage_task_name", storage_task_name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def action(self) -> pulumi.Input['StorageTaskActionArgs']: + """ + The storage task action that is executed + """ + return pulumi.get(self, "action") + + @action.setter + def action(self, value: pulumi.Input['StorageTaskActionArgs']): + pulumi.set(self, "action", value) + + @property + @pulumi.getter + def description(self) -> pulumi.Input[str]: + """ + Text that describes the purpose of the storage task + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[str]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + Storage Task is enabled when set to true and disabled when set to false + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['ManagedServiceIdentityArgs']]: + """ + The managed service identity of the resource. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['ManagedServiceIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="storageTaskName") + def storage_task_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + """ + return pulumi.get(self, "storage_task_name") + + @storage_task_name.setter + def storage_task_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_task_name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class StorageTask(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + action: Optional[pulumi.Input[pulumi.InputType['StorageTaskActionArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ManagedServiceIdentityArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + storage_task_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Represents Storage Task. + Azure REST API version: 2023-01-01. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['StorageTaskActionArgs']] action: The storage task action that is executed + :param pulumi.Input[str] description: Text that describes the purpose of the storage task + :param pulumi.Input[bool] enabled: Storage Task is enabled when set to true and disabled when set to false + :param pulumi.Input[pulumi.InputType['ManagedServiceIdentityArgs']] identity: The managed service identity of the resource. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] storage_task_name: The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: StorageTaskArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Represents Storage Task. + Azure REST API version: 2023-01-01. + + :param str resource_name: The name of the resource. + :param StorageTaskArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(StorageTaskArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + action: Optional[pulumi.Input[pulumi.InputType['StorageTaskActionArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ManagedServiceIdentityArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + storage_task_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = StorageTaskArgs.__new__(StorageTaskArgs) + + if action is None and not opts.urn: + raise TypeError("Missing required property 'action'") + __props__.__dict__["action"] = action + if description is None and not opts.urn: + raise TypeError("Missing required property 'description'") + __props__.__dict__["description"] = description + if enabled is None and not opts.urn: + raise TypeError("Missing required property 'enabled'") + __props__.__dict__["enabled"] = enabled + __props__.__dict__["identity"] = identity + __props__.__dict__["location"] = location + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["storage_task_name"] = storage_task_name + __props__.__dict__["tags"] = tags + __props__.__dict__["creation_time_in_utc"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["task_version"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:storagetasks/v20230101:StorageTask")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(StorageTask, __self__).__init__( + 'azure-native:storagetasks:StorageTask', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'StorageTask': + """ + Get an existing StorageTask resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = StorageTaskArgs.__new__(StorageTaskArgs) + + __props__.__dict__["action"] = None + __props__.__dict__["creation_time_in_utc"] = None + __props__.__dict__["description"] = None + __props__.__dict__["enabled"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["task_version"] = None + __props__.__dict__["type"] = None + return StorageTask(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def action(self) -> pulumi.Output['outputs.StorageTaskActionResponse']: + """ + The storage task action that is executed + """ + return pulumi.get(self, "action") + + @property + @pulumi.getter(name="creationTimeInUtc") + def creation_time_in_utc(self) -> pulumi.Output[str]: + """ + The creation date and time of the storage task in UTC. + """ + return pulumi.get(self, "creation_time_in_utc") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[str]: + """ + Text that describes the purpose of the storage task + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def enabled(self) -> pulumi.Output[bool]: + """ + Storage Task is enabled when set to true and disabled when set to false + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.ManagedServiceIdentityResponse']]: + """ + The managed service identity of the resource. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + Represents the provisioning state of the storage task. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="taskVersion") + def task_version(self) -> pulumi.Output[float]: + """ + Storage task version. + """ + return pulumi.get(self, "task_version") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/storagetasks/v20230101/__init__.py b/sdk/python/pulumi_azure_native/storagetasks/v20230101/__init__.py new file mode 100644 index 000000000000..06d07bd177a4 --- /dev/null +++ b/sdk/python/pulumi_azure_native/storagetasks/v20230101/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .get_storage_task import * +from .storage_task import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/storagetasks/v20230101/_enums.py b/sdk/python/pulumi_azure_native/storagetasks/v20230101/_enums.py new file mode 100644 index 000000000000..7b00f33b2bfa --- /dev/null +++ b/sdk/python/pulumi_azure_native/storagetasks/v20230101/_enums.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'ManagedServiceIdentityType', + 'OnFailure', + 'OnSuccess', + 'StorageTaskOperationName', +] + + +class ManagedServiceIdentityType(str, Enum): + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + NONE = "None" + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned" + + +class OnFailure(str, Enum): + """ + Action to be taken when the operation fails for a object. + """ + BREAK_ = "break" + + +class OnSuccess(str, Enum): + """ + Action to be taken when the operation is successful for a object. + """ + CONTINUE_ = "continue" + + +class StorageTaskOperationName(str, Enum): + """ + The operation to be performed on the object. + """ + SET_BLOB_TIER = "SetBlobTier" + SET_BLOB_TAGS = "SetBlobTags" + SET_BLOB_IMMUTABILITY_POLICY = "SetBlobImmutabilityPolicy" + SET_BLOB_LEGAL_HOLD = "SetBlobLegalHold" + SET_BLOB_EXPIRY = "SetBlobExpiry" + DELETE_BLOB = "DeleteBlob" + UNDELETE_BLOB = "UndeleteBlob" diff --git a/sdk/python/pulumi_azure_native/storagetasks/v20230101/_inputs.py b/sdk/python/pulumi_azure_native/storagetasks/v20230101/_inputs.py new file mode 100644 index 000000000000..fa0c2c60644e --- /dev/null +++ b/sdk/python/pulumi_azure_native/storagetasks/v20230101/_inputs.py @@ -0,0 +1,230 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from ._enums import * + +__all__ = [ + 'ElseConditionArgs', + 'IfConditionArgs', + 'ManagedServiceIdentityArgs', + 'StorageTaskActionArgs', + 'StorageTaskOperationArgs', +] + +@pulumi.input_type +class ElseConditionArgs: + def __init__(__self__, *, + operations: pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]]): + """ + The else block of storage task operation + :param pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]] operations: List of operations to execute in the else block + """ + pulumi.set(__self__, "operations", operations) + + @property + @pulumi.getter + def operations(self) -> pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]]: + """ + List of operations to execute in the else block + """ + return pulumi.get(self, "operations") + + @operations.setter + def operations(self, value: pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]]): + pulumi.set(self, "operations", value) + + +@pulumi.input_type +class IfConditionArgs: + def __init__(__self__, *, + condition: pulumi.Input[str], + operations: pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]]): + """ + The if block of storage task operation + :param pulumi.Input[str] condition: The condition predicate which is composed of object properties, eg: blob and container properties. + :param pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]] operations: List of operations to execute when the condition predicate satisfies. + """ + pulumi.set(__self__, "condition", condition) + pulumi.set(__self__, "operations", operations) + + @property + @pulumi.getter + def condition(self) -> pulumi.Input[str]: + """ + The condition predicate which is composed of object properties, eg: blob and container properties. + """ + return pulumi.get(self, "condition") + + @condition.setter + def condition(self, value: pulumi.Input[str]): + pulumi.set(self, "condition", value) + + @property + @pulumi.getter + def operations(self) -> pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]]: + """ + List of operations to execute when the condition predicate satisfies. + """ + return pulumi.get(self, "operations") + + @operations.setter + def operations(self, value: pulumi.Input[Sequence[pulumi.Input['StorageTaskOperationArgs']]]): + pulumi.set(self, "operations", value) + + +@pulumi.input_type +class ManagedServiceIdentityArgs: + def __init__(__self__, *, + type: pulumi.Input[Union[str, 'ManagedServiceIdentityType']], + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Managed service identity (system assigned and/or user assigned identities) + :param pulumi.Input[Union[str, 'ManagedServiceIdentityType']] type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[Union[str, 'ManagedServiceIdentityType']]: + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[Union[str, 'ManagedServiceIdentityType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "user_assigned_identities", value) + + +@pulumi.input_type +class StorageTaskActionArgs: + def __init__(__self__, *, + if_: pulumi.Input['IfConditionArgs'], + else_: Optional[pulumi.Input['ElseConditionArgs']] = None): + """ + The storage task action represents conditional statements and operations to be performed on target objects. + :param pulumi.Input['IfConditionArgs'] if_: The if block of storage task operation + :param pulumi.Input['ElseConditionArgs'] else_: The else block of storage task operation + """ + pulumi.set(__self__, "if_", if_) + if else_ is not None: + pulumi.set(__self__, "else_", else_) + + @property + @pulumi.getter(name="if") + def if_(self) -> pulumi.Input['IfConditionArgs']: + """ + The if block of storage task operation + """ + return pulumi.get(self, "if_") + + @if_.setter + def if_(self, value: pulumi.Input['IfConditionArgs']): + pulumi.set(self, "if_", value) + + @property + @pulumi.getter(name="else") + def else_(self) -> Optional[pulumi.Input['ElseConditionArgs']]: + """ + The else block of storage task operation + """ + return pulumi.get(self, "else_") + + @else_.setter + def else_(self, value: Optional[pulumi.Input['ElseConditionArgs']]): + pulumi.set(self, "else_", value) + + +@pulumi.input_type +class StorageTaskOperationArgs: + def __init__(__self__, *, + name: pulumi.Input[Union[str, 'StorageTaskOperationName']], + on_failure: Optional[pulumi.Input['OnFailure']] = None, + on_success: Optional[pulumi.Input['OnSuccess']] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Represents an operation to be performed on the object + :param pulumi.Input[Union[str, 'StorageTaskOperationName']] name: The operation to be performed on the object. + :param pulumi.Input['OnFailure'] on_failure: Action to be taken when the operation fails for a object. + :param pulumi.Input['OnSuccess'] on_success: Action to be taken when the operation is successful for a object. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Key-value parameters for the operation. + """ + pulumi.set(__self__, "name", name) + if on_failure is not None: + pulumi.set(__self__, "on_failure", on_failure) + if on_success is not None: + pulumi.set(__self__, "on_success", on_success) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[Union[str, 'StorageTaskOperationName']]: + """ + The operation to be performed on the object. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Union[str, 'StorageTaskOperationName']]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="onFailure") + def on_failure(self) -> Optional[pulumi.Input['OnFailure']]: + """ + Action to be taken when the operation fails for a object. + """ + return pulumi.get(self, "on_failure") + + @on_failure.setter + def on_failure(self, value: Optional[pulumi.Input['OnFailure']]): + pulumi.set(self, "on_failure", value) + + @property + @pulumi.getter(name="onSuccess") + def on_success(self) -> Optional[pulumi.Input['OnSuccess']]: + """ + Action to be taken when the operation is successful for a object. + """ + return pulumi.get(self, "on_success") + + @on_success.setter + def on_success(self, value: Optional[pulumi.Input['OnSuccess']]): + pulumi.set(self, "on_success", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value parameters for the operation. + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "parameters", value) + + diff --git a/sdk/python/pulumi_azure_native/storagetasks/v20230101/get_storage_task.py b/sdk/python/pulumi_azure_native/storagetasks/v20230101/get_storage_task.py new file mode 100644 index 000000000000..d3c3257ceb89 --- /dev/null +++ b/sdk/python/pulumi_azure_native/storagetasks/v20230101/get_storage_task.py @@ -0,0 +1,235 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetStorageTaskResult', + 'AwaitableGetStorageTaskResult', + 'get_storage_task', + 'get_storage_task_output', +] + +@pulumi.output_type +class GetStorageTaskResult: + """ + Represents Storage Task. + """ + def __init__(__self__, action=None, creation_time_in_utc=None, description=None, enabled=None, id=None, identity=None, location=None, name=None, provisioning_state=None, system_data=None, tags=None, task_version=None, type=None): + if action and not isinstance(action, dict): + raise TypeError("Expected argument 'action' to be a dict") + pulumi.set(__self__, "action", action) + if creation_time_in_utc and not isinstance(creation_time_in_utc, str): + raise TypeError("Expected argument 'creation_time_in_utc' to be a str") + pulumi.set(__self__, "creation_time_in_utc", creation_time_in_utc) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if enabled and not isinstance(enabled, bool): + raise TypeError("Expected argument 'enabled' to be a bool") + pulumi.set(__self__, "enabled", enabled) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity and not isinstance(identity, dict): + raise TypeError("Expected argument 'identity' to be a dict") + pulumi.set(__self__, "identity", identity) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if provisioning_state and not isinstance(provisioning_state, str): + raise TypeError("Expected argument 'provisioning_state' to be a str") + pulumi.set(__self__, "provisioning_state", provisioning_state) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if task_version and not isinstance(task_version, float): + raise TypeError("Expected argument 'task_version' to be a float") + pulumi.set(__self__, "task_version", task_version) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def action(self) -> 'outputs.StorageTaskActionResponse': + """ + The storage task action that is executed + """ + return pulumi.get(self, "action") + + @property + @pulumi.getter(name="creationTimeInUtc") + def creation_time_in_utc(self) -> str: + """ + The creation date and time of the storage task in UTC. + """ + return pulumi.get(self, "creation_time_in_utc") + + @property + @pulumi.getter + def description(self) -> str: + """ + Text that describes the purpose of the storage task + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Storage Task is enabled when set to true and disabled when set to false + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identity(self) -> Optional['outputs.ManagedServiceIdentityResponse']: + """ + The managed service identity of the resource. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def location(self) -> str: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + Represents the provisioning state of the storage task. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="taskVersion") + def task_version(self) -> float: + """ + Storage task version. + """ + return pulumi.get(self, "task_version") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + +class AwaitableGetStorageTaskResult(GetStorageTaskResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetStorageTaskResult( + action=self.action, + creation_time_in_utc=self.creation_time_in_utc, + description=self.description, + enabled=self.enabled, + id=self.id, + identity=self.identity, + location=self.location, + name=self.name, + provisioning_state=self.provisioning_state, + system_data=self.system_data, + tags=self.tags, + task_version=self.task_version, + type=self.type) + + +def get_storage_task(resource_group_name: Optional[str] = None, + storage_task_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetStorageTaskResult: + """ + Get the storage task properties + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str storage_task_name: The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + """ + __args__ = dict() + __args__['resourceGroupName'] = resource_group_name + __args__['storageTaskName'] = storage_task_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:storagetasks/v20230101:getStorageTask', __args__, opts=opts, typ=GetStorageTaskResult).value + + return AwaitableGetStorageTaskResult( + action=__ret__.action, + creation_time_in_utc=__ret__.creation_time_in_utc, + description=__ret__.description, + enabled=__ret__.enabled, + id=__ret__.id, + identity=__ret__.identity, + location=__ret__.location, + name=__ret__.name, + provisioning_state=__ret__.provisioning_state, + system_data=__ret__.system_data, + tags=__ret__.tags, + task_version=__ret__.task_version, + type=__ret__.type) + + +@_utilities.lift_output_func(get_storage_task) +def get_storage_task_output(resource_group_name: Optional[pulumi.Input[str]] = None, + storage_task_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStorageTaskResult]: + """ + Get the storage task properties + + + :param str resource_group_name: The name of the resource group. The name is case insensitive. + :param str storage_task_name: The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + """ + ... diff --git a/sdk/python/pulumi_azure_native/storagetasks/v20230101/outputs.py b/sdk/python/pulumi_azure_native/storagetasks/v20230101/outputs.py new file mode 100644 index 000000000000..41e7df8ba32b --- /dev/null +++ b/sdk/python/pulumi_azure_native/storagetasks/v20230101/outputs.py @@ -0,0 +1,447 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'ElseConditionResponse', + 'IfConditionResponse', + 'ManagedServiceIdentityResponse', + 'StorageTaskActionResponse', + 'StorageTaskOperationResponse', + 'SystemDataResponse', + 'UserAssignedIdentityResponse', +] + +@pulumi.output_type +class ElseConditionResponse(dict): + """ + The else block of storage task operation + """ + def __init__(__self__, *, + operations: Sequence['outputs.StorageTaskOperationResponse']): + """ + The else block of storage task operation + :param Sequence['StorageTaskOperationResponse'] operations: List of operations to execute in the else block + """ + pulumi.set(__self__, "operations", operations) + + @property + @pulumi.getter + def operations(self) -> Sequence['outputs.StorageTaskOperationResponse']: + """ + List of operations to execute in the else block + """ + return pulumi.get(self, "operations") + + +@pulumi.output_type +class IfConditionResponse(dict): + """ + The if block of storage task operation + """ + def __init__(__self__, *, + condition: str, + operations: Sequence['outputs.StorageTaskOperationResponse']): + """ + The if block of storage task operation + :param str condition: The condition predicate which is composed of object properties, eg: blob and container properties. + :param Sequence['StorageTaskOperationResponse'] operations: List of operations to execute when the condition predicate satisfies. + """ + pulumi.set(__self__, "condition", condition) + pulumi.set(__self__, "operations", operations) + + @property + @pulumi.getter + def condition(self) -> str: + """ + The condition predicate which is composed of object properties, eg: blob and container properties. + """ + return pulumi.get(self, "condition") + + @property + @pulumi.getter + def operations(self) -> Sequence['outputs.StorageTaskOperationResponse']: + """ + List of operations to execute when the condition predicate satisfies. + """ + return pulumi.get(self, "operations") + + +@pulumi.output_type +class ManagedServiceIdentityResponse(dict): + """ + Managed service identity (system assigned and/or user assigned identities) + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "principalId": + suggest = "principal_id" + elif key == "tenantId": + suggest = "tenant_id" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ManagedServiceIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ManagedServiceIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ManagedServiceIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + principal_id: str, + tenant_id: str, + type: str, + user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']] = None): + """ + Managed service identity (system assigned and/or user assigned identities) + :param str principal_id: The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + :param str tenant_id: The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + :param str type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + :param Mapping[str, 'UserAssignedIdentityResponse'] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "tenant_id", tenant_id) + pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> str: + """ + The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. + """ + return pulumi.get(self, "tenant_id") + + @property + @pulumi.getter + def type(self) -> str: + """ + Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]: + """ + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + """ + return pulumi.get(self, "user_assigned_identities") + + +@pulumi.output_type +class StorageTaskActionResponse(dict): + """ + The storage task action represents conditional statements and operations to be performed on target objects. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "if": + suggest = "if_" + elif key == "else": + suggest = "else_" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageTaskActionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageTaskActionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageTaskActionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + if_: 'outputs.IfConditionResponse', + else_: Optional['outputs.ElseConditionResponse'] = None): + """ + The storage task action represents conditional statements and operations to be performed on target objects. + :param 'IfConditionResponse' if_: The if block of storage task operation + :param 'ElseConditionResponse' else_: The else block of storage task operation + """ + pulumi.set(__self__, "if_", if_) + if else_ is not None: + pulumi.set(__self__, "else_", else_) + + @property + @pulumi.getter(name="if") + def if_(self) -> 'outputs.IfConditionResponse': + """ + The if block of storage task operation + """ + return pulumi.get(self, "if_") + + @property + @pulumi.getter(name="else") + def else_(self) -> Optional['outputs.ElseConditionResponse']: + """ + The else block of storage task operation + """ + return pulumi.get(self, "else_") + + +@pulumi.output_type +class StorageTaskOperationResponse(dict): + """ + Represents an operation to be performed on the object + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "onFailure": + suggest = "on_failure" + elif key == "onSuccess": + suggest = "on_success" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageTaskOperationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageTaskOperationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageTaskOperationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + on_failure: Optional[str] = None, + on_success: Optional[str] = None, + parameters: Optional[Mapping[str, str]] = None): + """ + Represents an operation to be performed on the object + :param str name: The operation to be performed on the object. + :param str on_failure: Action to be taken when the operation fails for a object. + :param str on_success: Action to be taken when the operation is successful for a object. + :param Mapping[str, str] parameters: Key-value parameters for the operation. + """ + pulumi.set(__self__, "name", name) + if on_failure is not None: + pulumi.set(__self__, "on_failure", on_failure) + if on_success is not None: + pulumi.set(__self__, "on_success", on_success) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + + @property + @pulumi.getter + def name(self) -> str: + """ + The operation to be performed on the object. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="onFailure") + def on_failure(self) -> Optional[str]: + """ + Action to be taken when the operation fails for a object. + """ + return pulumi.get(self, "on_failure") + + @property + @pulumi.getter(name="onSuccess") + def on_success(self) -> Optional[str]: + """ + Action to be taken when the operation is successful for a object. + """ + return pulumi.get(self, "on_success") + + @property + @pulumi.getter + def parameters(self) -> Optional[Mapping[str, str]]: + """ + Key-value parameters for the operation. + """ + return pulumi.get(self, "parameters") + + +@pulumi.output_type +class SystemDataResponse(dict): + """ + Metadata pertaining to creation and last modification of the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: Optional[str] = None, + created_by: Optional[str] = None, + created_by_type: Optional[str] = None, + last_modified_at: Optional[str] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[str] = None): + """ + Metadata pertaining to creation and last modification of the resource. + :param str created_at: The timestamp of resource creation (UTC). + :param str created_by: The identity that created the resource. + :param str created_by_type: The type of identity that created the resource. + :param str last_modified_at: The timestamp of resource last modification (UTC) + :param str last_modified_by: The identity that last modified the resource. + :param str last_modified_by_type: The type of identity that last modified the resource. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if created_by_type is not None: + pulumi.set(__self__, "created_by_type", created_by_type) + if last_modified_at is not None: + pulumi.set(__self__, "last_modified_at", last_modified_at) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if last_modified_by_type is not None: + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The timestamp of resource creation (UTC). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[str]: + """ + The identity that created the resource. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> Optional[str]: + """ + The type of identity that created the resource. + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> Optional[str]: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[str]: + """ + The identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> Optional[str]: + """ + The type of identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by_type") + + +@pulumi.output_type +class UserAssignedIdentityResponse(dict): + """ + User assigned identity properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "principalId": + suggest = "principal_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: str, + principal_id: str): + """ + User assigned identity properties + :param str client_id: The client ID of the assigned identity. + :param str principal_id: The principal ID of the assigned identity. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "principal_id", principal_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + """ + The client ID of the assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> str: + """ + The principal ID of the assigned identity. + """ + return pulumi.get(self, "principal_id") + + diff --git a/sdk/python/pulumi_azure_native/storagetasks/v20230101/storage_task.py b/sdk/python/pulumi_azure_native/storagetasks/v20230101/storage_task.py new file mode 100644 index 000000000000..aa24474fd49f --- /dev/null +++ b/sdk/python/pulumi_azure_native/storagetasks/v20230101/storage_task.py @@ -0,0 +1,373 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['StorageTaskArgs', 'StorageTask'] + +@pulumi.input_type +class StorageTaskArgs: + def __init__(__self__, *, + action: pulumi.Input['StorageTaskActionArgs'], + description: pulumi.Input[str], + enabled: pulumi.Input[bool], + resource_group_name: pulumi.Input[str], + identity: Optional[pulumi.Input['ManagedServiceIdentityArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + storage_task_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a StorageTask resource. + :param pulumi.Input['StorageTaskActionArgs'] action: The storage task action that is executed + :param pulumi.Input[str] description: Text that describes the purpose of the storage task + :param pulumi.Input[bool] enabled: Storage Task is enabled when set to true and disabled when set to false + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input['ManagedServiceIdentityArgs'] identity: The managed service identity of the resource. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] storage_task_name: The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + pulumi.set(__self__, "action", action) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if identity is not None: + pulumi.set(__self__, "identity", identity) + if location is not None: + pulumi.set(__self__, "location", location) + if storage_task_name is not None: + pulumi.set(__self__, "storage_task_name", storage_task_name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def action(self) -> pulumi.Input['StorageTaskActionArgs']: + """ + The storage task action that is executed + """ + return pulumi.get(self, "action") + + @action.setter + def action(self, value: pulumi.Input['StorageTaskActionArgs']): + pulumi.set(self, "action", value) + + @property + @pulumi.getter + def description(self) -> pulumi.Input[str]: + """ + Text that describes the purpose of the storage task + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[str]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + Storage Task is enabled when set to true and disabled when set to false + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def identity(self) -> Optional[pulumi.Input['ManagedServiceIdentityArgs']]: + """ + The managed service identity of the resource. + """ + return pulumi.get(self, "identity") + + @identity.setter + def identity(self, value: Optional[pulumi.Input['ManagedServiceIdentityArgs']]): + pulumi.set(self, "identity", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="storageTaskName") + def storage_task_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + """ + return pulumi.get(self, "storage_task_name") + + @storage_task_name.setter + def storage_task_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_task_name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class StorageTask(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + action: Optional[pulumi.Input[pulumi.InputType['StorageTaskActionArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ManagedServiceIdentityArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + storage_task_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Represents Storage Task. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['StorageTaskActionArgs']] action: The storage task action that is executed + :param pulumi.Input[str] description: Text that describes the purpose of the storage task + :param pulumi.Input[bool] enabled: Storage Task is enabled when set to true and disabled when set to false + :param pulumi.Input[pulumi.InputType['ManagedServiceIdentityArgs']] identity: The managed service identity of the resource. + :param pulumi.Input[str] location: The geo-location where the resource lives + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] storage_task_name: The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: StorageTaskArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Represents Storage Task. + + :param str resource_name: The name of the resource. + :param StorageTaskArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(StorageTaskArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + action: Optional[pulumi.Input[pulumi.InputType['StorageTaskActionArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + identity: Optional[pulumi.Input[pulumi.InputType['ManagedServiceIdentityArgs']]] = None, + location: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + storage_task_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = StorageTaskArgs.__new__(StorageTaskArgs) + + if action is None and not opts.urn: + raise TypeError("Missing required property 'action'") + __props__.__dict__["action"] = action + if description is None and not opts.urn: + raise TypeError("Missing required property 'description'") + __props__.__dict__["description"] = description + if enabled is None and not opts.urn: + raise TypeError("Missing required property 'enabled'") + __props__.__dict__["enabled"] = enabled + __props__.__dict__["identity"] = identity + __props__.__dict__["location"] = location + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["storage_task_name"] = storage_task_name + __props__.__dict__["tags"] = tags + __props__.__dict__["creation_time_in_utc"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["task_version"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:storagetasks:StorageTask")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(StorageTask, __self__).__init__( + 'azure-native:storagetasks/v20230101:StorageTask', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'StorageTask': + """ + Get an existing StorageTask resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = StorageTaskArgs.__new__(StorageTaskArgs) + + __props__.__dict__["action"] = None + __props__.__dict__["creation_time_in_utc"] = None + __props__.__dict__["description"] = None + __props__.__dict__["enabled"] = None + __props__.__dict__["identity"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["provisioning_state"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["task_version"] = None + __props__.__dict__["type"] = None + return StorageTask(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def action(self) -> pulumi.Output['outputs.StorageTaskActionResponse']: + """ + The storage task action that is executed + """ + return pulumi.get(self, "action") + + @property + @pulumi.getter(name="creationTimeInUtc") + def creation_time_in_utc(self) -> pulumi.Output[str]: + """ + The creation date and time of the storage task in UTC. + """ + return pulumi.get(self, "creation_time_in_utc") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[str]: + """ + Text that describes the purpose of the storage task + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def enabled(self) -> pulumi.Output[bool]: + """ + Storage Task is enabled when set to true and disabled when set to false + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def identity(self) -> pulumi.Output[Optional['outputs.ManagedServiceIdentityResponse']]: + """ + The managed service identity of the resource. + """ + return pulumi.get(self, "identity") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The geo-location where the resource lives + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> pulumi.Output[str]: + """ + Represents the provisioning state of the storage task. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Resource tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="taskVersion") + def task_version(self) -> pulumi.Output[float]: + """ + Storage task version. + """ + return pulumi.get(self, "task_version") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + diff --git a/versions/active.json b/versions/active.json index f0b4660cb774..d49b4dbcb76d 100644 --- a/versions/active.json +++ b/versions/active.json @@ -295,7 +295,8 @@ "2021-08-08-preview", "2023-01-01-preview", "2023-03-01", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-08-01-preview" ], "actionrules": [ "2018-11-02-privatepreview", @@ -304,7 +305,8 @@ "2021-08-08-preview" ], "alertrulerecommendations": [ - "2023-01-01-preview" + "2023-01-01-preview", + "2023-08-01-preview" ], "alerts": [ "2017-11-15-privatepreview", @@ -673,19 +675,25 @@ "2022-10-01", "2022-11-01-preview", "2023-02-01", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "connectedenvironments": [ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "connectedenvironments/certificates": [ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "containerapps": [ "2022-01-01-preview", @@ -693,11 +701,15 @@ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "jobs": [ "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "locations": [ "2022-01-01-preview", @@ -705,31 +717,41 @@ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "locations/availablemanagedenvironmentsworkloadprofiletypes": [ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "locations/billingmeters": [ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "locations/connectedenvironmentoperationresults": [ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "locations/connectedenvironmentoperationstatuses": [ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "locations/containerappoperationresults": [ "2022-01-01-preview", @@ -737,7 +759,9 @@ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "locations/containerappoperationstatuses": [ "2022-01-01-preview", @@ -745,19 +769,27 @@ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "locations/containerappsjoboperationresults": [ "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "locations/containerappsjoboperationstatuses": [ "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "locations/managedcertificateoperationstatuses": [ "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "locations/managedenvironmentoperationresults": [ "2022-01-01-preview", @@ -765,7 +797,9 @@ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "locations/managedenvironmentoperationstatuses": [ "2022-01-01-preview", @@ -773,7 +807,29 @@ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/sourcecontroloperationresults": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/sourcecontroloperationstatuses": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "managedenvironments": [ "2022-01-01-preview", @@ -781,7 +837,9 @@ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "managedenvironments/certificates": [ "2022-01-01-preview", @@ -789,11 +847,15 @@ "2022-06-01-preview", "2022-10-01", "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "managedenvironments/managedcertificates": [ "2022-11-01-preview", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ], "operations": [ "2022-01-01-preview", @@ -802,7 +864,9 @@ "2022-10-01", "2022-11-01-preview", "2023-02-01", - "2023-04-01-preview" + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" ] }, "appassessment": { @@ -1569,7 +1633,8 @@ "2022-03-30-preview", "2022-05-04", "2022-06-01-preview", - "2023-03-31-preview" + "2023-03-31-preview", + "2023-04-01-preview" ], "accounts": [ "2020-06-30-preview" @@ -1607,7 +1672,8 @@ "2022-03-30-preview", "2022-05-04", "2022-06-01-preview", - "2023-03-31-preview" + "2023-03-31-preview", + "2023-04-01-preview" ], "serviceprincipals": [ "2021-04-30-preview", @@ -1999,14 +2065,8 @@ "locations": [ "2023-12-01-preview" ], - "locations/operationstatuses": [ - "2023-12-01-preview" - ], "operations": [ "2023-12-01-preview" - ], - "s3buckets": [ - "2023-12-01-preview" ] }, "azureactivedirectory": { @@ -8841,6 +8901,7 @@ "2023-06-01", "2023-06-02-preview", "2023-06-15-preview", + "2023-07-01", "2023-07-02-preview" ], "containerservices": [ @@ -8889,7 +8950,9 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" ], "locations/meshrevisionprofiles": [ "2023-06-02-preview", @@ -8908,7 +8971,8 @@ "2023-03-02-preview", "2023-04-02-preview", "2023-05-02-preview", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-02-preview" ], "locations/operationresults": [ "2016-03-30", @@ -8970,7 +9034,9 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" ], "locations/operations": [ "2016-03-30", @@ -9032,7 +9098,9 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" ], "locations/orchestrators": [ "2017-09-30", @@ -9090,7 +9158,9 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" ], "locations/osoptions": [ "2021-03-01", @@ -9132,7 +9202,9 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" ], "managedclusters": [ "2017-08-31", @@ -9193,7 +9265,9 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" ], "managedclusters/eventgridfilters": [ "2021-02-01", @@ -9236,7 +9310,9 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" ], "managedclustersnapshots": [ "2022-02-02-preview", @@ -9255,7 +9331,8 @@ "2023-03-02-preview", "2023-04-02-preview", "2023-05-02-preview", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-02-preview" ], "operations": [ "2015-11-01-preview", @@ -9321,7 +9398,9 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" ], "snapshots": [ "2021-08-01", @@ -9360,7 +9439,9 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" ] }, "costmanagement": { @@ -10098,7 +10179,8 @@ "2022-04-01-preview", "2022-12-01-preview", "2023-01-01-preview", - "2023-02-01" + "2023-02-01", + "2023-07-01" ], "availableskus": [ "2020-05-01-preview", @@ -10129,7 +10211,8 @@ "2022-04-01-preview", "2022-12-01-preview", "2023-01-01-preview", - "2023-02-01" + "2023-02-01", + "2023-07-01" ], "databoxedgedevices/checknameavailability": [ "2017-09-01", @@ -10153,7 +10236,8 @@ "2022-04-01-preview", "2022-12-01-preview", "2023-01-01-preview", - "2023-02-01" + "2023-02-01", + "2023-07-01" ], "operations": [ "2017-09-01", @@ -10177,7 +10261,8 @@ "2022-04-01-preview", "2022-12-01-preview", "2023-01-01-preview", - "2023-02-01" + "2023-02-01", + "2023-07-01" ] }, "databricks": { @@ -10300,28 +10385,32 @@ "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "agreements": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "locations": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "locations/operationstatuses": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "monitoredsubscriptions": [ "2020-02-01-preview", @@ -10335,94 +10424,108 @@ "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "monitors/getdefaultkey": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "monitors/listapikeys": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "monitors/listhosts": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "monitors/listlinkedresources": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "monitors/listmonitoredresources": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "monitors/monitoredsubscriptions": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "monitors/refreshsetpasswordlink": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "monitors/setdefaultkey": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "monitors/singlesignonconfigurations": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "monitors/tagrules": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "operations": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "registeredsubscriptions": [ "2020-02-01-preview", "2021-03-01", "2022-06-01", "2022-08-01", - "2023-01-01" + "2023-01-01", + "2023-07-07" ], "subscriptionstatuses": [ - "2023-01-01" + "2023-01-01", + "2023-07-07" ] }, "datafactory": { @@ -13717,7 +13820,8 @@ "2023-02-01-preview", "2023-05-01-preview", "2023-06-01", - "2023-06-15-preview" + "2023-06-15-preview", + "2023-07-01-preview" ], "checknameavailability": [ "2020-07-01", @@ -13729,12 +13833,16 @@ "2022-09-01-preview", "2023-02-01-preview", "2023-05-01-preview", - "2023-06-01" + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" ], "elasticversions": [ "2023-02-01-preview", "2023-05-01-preview", - "2023-06-01" + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" ], "getelasticorganizationtoazuresubscriptionmapping": [ "2023-06-15-preview" @@ -13742,7 +13850,9 @@ "getorganizationapikey": [ "2023-02-01-preview", "2023-05-01-preview", - "2023-06-01" + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" ], "locations": [ "2020-07-01", @@ -13754,7 +13864,9 @@ "2022-09-01-preview", "2023-02-01-preview", "2023-05-01-preview", - "2023-06-01" + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" ], "locations/operationstatuses": [ "2020-07-01", @@ -13766,7 +13878,9 @@ "2022-09-01-preview", "2023-02-01-preview", "2023-05-01-preview", - "2023-06-01" + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" ], "monitors": [ "2020-07-01", @@ -13778,7 +13892,9 @@ "2022-09-01-preview", "2023-02-01-preview", "2023-05-01-preview", - "2023-06-01" + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" ], "monitors/tagrules": [ "2020-07-01", @@ -13790,7 +13906,9 @@ "2022-09-01-preview", "2023-02-01-preview", "2023-05-01-preview", - "2023-06-01" + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" ], "operations": [ "2020-07-01", @@ -13802,7 +13920,9 @@ "2022-09-01-preview", "2023-02-01-preview", "2023-05-01-preview", - "2023-06-01" + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" ] }, "elasticsan": { @@ -14693,7 +14813,8 @@ "2018-06-01-preview", "2021-06-01", "2021-09-15-preview", - "2023-04-15-preview" + "2023-04-15-preview", + "2023-06-01-preview" ], "clusters": [ "2015-03-01-preview", @@ -14750,7 +14871,8 @@ "2023-04-15-preview" ], "locations/operationstatuses": [ - "2021-09-15-preview" + "2021-09-15-preview", + "2023-06-01-preview" ], "locations/usages": [ "2015-03-01-preview", @@ -15446,7 +15568,8 @@ ], "locations/operationstatuses": [ "2021-10-06-preview", - "2022-05-01-preview" + "2022-05-01-preview", + "2023-03-15" ], "operations": [ "2021-07-08-privatepreview", @@ -16936,7 +17059,8 @@ "2020-05-01-preview", "2021-10-01-preview", "2021-11-15-preview", - "2022-08-01" + "2022-08-01", + "2023-06-07" ], "labaccounts": [ "2017-12-01-preview", @@ -16947,13 +17071,15 @@ "2020-05-01-preview", "2021-10-01-preview", "2021-11-15-preview", - "2022-08-01" + "2022-08-01", + "2023-06-07" ], "labs": [ "2020-05-01-preview", "2021-10-01-preview", "2021-11-15-preview", - "2022-08-01" + "2022-08-01", + "2023-06-07" ], "locations": [ "2017-12-01-preview", @@ -16962,13 +17088,15 @@ "2020-05-01-preview", "2021-10-01-preview", "2021-11-15-preview", - "2022-08-01" + "2022-08-01", + "2023-06-07" ], "locations/operationresults": [ "2020-05-01-preview", "2021-10-01-preview", "2021-11-15-preview", - "2022-08-01" + "2022-08-01", + "2023-06-07" ], "locations/operations": [ "2017-12-01-preview", @@ -16977,7 +17105,8 @@ ], "locations/usages": [ "2021-11-15-preview", - "2022-08-01" + "2022-08-01", + "2023-06-07" ], "operations": [ "2017-12-01-preview", @@ -16986,7 +17115,8 @@ "2020-05-01-preview", "2021-10-01-preview", "2021-11-15-preview", - "2022-08-01" + "2022-08-01", + "2023-06-07" ], "users": [ "2017-12-01-beta", @@ -19323,31 +19453,36 @@ "2022-04-01-preview", "2022-11-01", "2022-12-01-privatepreview", - "2023-06-01" + "2023-06-01", + "2023-07-01-preview" ], "locations": [ "2022-04-01-preview", "2022-11-01", "2022-12-01-privatepreview", - "2023-06-01" + "2023-06-01", + "2023-07-01-preview" ], "locations/operationstatuses": [ "2022-04-01-preview", "2022-11-01", "2022-12-01-privatepreview", - "2023-06-01" + "2023-06-01", + "2023-07-01-preview" ], "operations": [ "2022-04-01-preview", "2022-11-01", "2022-12-01-privatepreview", - "2023-06-01" + "2023-06-01", + "2023-07-01-preview" ], "packetcorecontrolplaneversions": [ "2022-04-01-preview", "2022-11-01", "2022-12-01-privatepreview", - "2023-06-01" + "2023-06-01", + "2023-07-01-preview" ] }, "mobilepacketcore": { @@ -20047,10 +20182,12 @@ "2022-07-01", "2022-09-01", "2022-11-01", - "2022-12-01-preview", + "2023-01-01-preview", "2023-02-01", "2023-03-01-preview", - "2023-04-01" + "2023-04-01", + "2023-05-01", + "2023-07-01-preview" ], "applicationgatewayavailablerequestheaders": [ "2018-11-01", @@ -20085,7 +20222,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "applicationgatewayavailableresponseheaders": [ "2018-11-01", @@ -20120,7 +20258,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "applicationgatewayavailableservervariables": [ "2018-11-01", @@ -20155,7 +20294,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "applicationgatewayavailablessloptions": [ "2017-06-01", @@ -20204,7 +20344,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "applicationgatewayavailablewafrulesets": [ "2017-03-01", @@ -20255,7 +20396,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "applicationgateways": [ "2014-12-01-preview", @@ -20317,7 +20459,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "applicationgatewaywebapplicationfirewallpolicies": [ "2018-12-01", @@ -20351,7 +20494,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "applicationsecuritygroups": [ "2017-09-01", @@ -20398,7 +20542,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "azurefirewallfqdntags": [ "2018-08-01", @@ -20435,7 +20580,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "azurefirewalls": [ "2018-04-01", @@ -20476,7 +20622,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "azurewebcategories": [ "2020-08-01", @@ -20494,8 +20641,10 @@ "2022-07-01", "2022-09-01", "2022-11-01", + "2023-01-01-preview", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "bastionhosts": [ "2018-10-01", @@ -20531,7 +20680,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "bgpservicecommunities": [ "2016-12-01", @@ -20583,7 +20733,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "checkfrontdoornameavailability": [ "2018-08-01", @@ -20605,11 +20756,11 @@ "2018-04-01", "2018-08-01", "2022-04-01", - "2022-04-01-preview", - "2022-12-01-preview" + "2022-04-01-preview" ], "checktrafficmanagernameavailabilityv2": [ - "2022-12-01-preview" + "2022-04-01", + "2022-04-01-preview" ], "cloudserviceslots": [ "2022-05-01", @@ -20617,7 +20768,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "connections": [ "2014-12-01-preview", @@ -20679,7 +20831,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "customipprefixes": [ "2020-06-01", @@ -20700,7 +20853,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "ddosprotectionplans": [ "2018-02-01", @@ -20743,7 +20897,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "dnsforwardingrulesets": [ "2020-04-01-preview", @@ -20763,7 +20918,8 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "dnsoperationstatuses": [ "2016-04-01", @@ -20771,7 +20927,8 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "dnsresolvers": [ "2020-04-01-preview", @@ -20792,7 +20949,8 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "dnszones/a": [ "2015-05-04-preview", @@ -20801,7 +20959,8 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "dnszones/aaaa": [ "2015-05-04-preview", @@ -20810,7 +20969,8 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "dnszones/all": [ "2015-05-04-preview", @@ -20819,14 +20979,16 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "dnszones/caa": [ "2017-09-01", "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "dnszones/cname": [ "2015-05-04-preview", @@ -20835,7 +20997,14 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" + ], + "dnszones/dnssecconfigs": [ + "2023-07-01-preview" + ], + "dnszones/ds": [ + "2023-07-01-preview" ], "dnszones/mx": [ "2015-05-04-preview", @@ -20844,7 +21013,11 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" + ], + "dnszones/naptr": [ + "2023-07-01-preview" ], "dnszones/ns": [ "2015-05-04-preview", @@ -20853,7 +21026,8 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "dnszones/ptr": [ "2015-05-04-preview", @@ -20862,7 +21036,8 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "dnszones/recordsets": [ "2015-05-04-preview", @@ -20871,7 +21046,8 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "dnszones/soa": [ "2015-05-04-preview", @@ -20880,7 +21056,8 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "dnszones/srv": [ "2015-05-04-preview", @@ -20889,7 +21066,11 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" + ], + "dnszones/tlsa": [ + "2023-07-01-preview" ], "dnszones/txt": [ "2015-05-04-preview", @@ -20898,7 +21079,8 @@ "2017-09-15-preview", "2017-10-01", "2018-03-01-preview", - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "dscpconfigurations": [ "2020-06-01", @@ -20919,7 +21101,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "expressroutecircuits": [ "2014-12-01-preview", @@ -20981,7 +21164,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "expressroutegateways": [ "2018-08-01", @@ -21018,7 +21202,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "expressrouteports": [ "2018-07-01", @@ -21056,7 +21241,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "expressrouteportslocations": [ "2018-08-01", @@ -21093,7 +21279,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "expressrouteserviceproviders": [ "2014-12-01-preview", @@ -21155,7 +21342,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "firewallpolicies": [ "2019-06-01", @@ -21185,8 +21373,10 @@ "2022-07-01", "2022-09-01", "2022-11-01", + "2023-01-01-preview", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "frontdooroperationresults": [ "2018-08-01", @@ -21253,10 +21443,12 @@ "2022-05-01" ], "getdnsresourcereference": [ - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "internalnotify": [ - "2018-05-01" + "2018-05-01", + "2023-07-01-preview" ], "internalpublicipaddresses": [ "2022-01-01", @@ -21265,7 +21457,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "ipallocations": [ "2020-01-01", @@ -21290,7 +21483,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "ipgroups": [ "2019-06-01", @@ -21320,8 +21514,10 @@ "2022-07-01", "2022-09-01", "2022-11-01", + "2023-01-01-preview", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "loadbalancers": [ "2014-12-01-preview", @@ -21383,7 +21579,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "localnetworkgateways": [ "2014-12-01-preview", @@ -21445,7 +21642,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations": [ "2014-12-01-preview", @@ -21507,7 +21705,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/applicationgatewaywafdynamicmanifests": [ "2022-05-01", @@ -21515,7 +21714,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/autoapprovedprivatelinkservices": [ "2019-04-01", @@ -21547,7 +21747,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/availabledelegations": [ "2018-04-01", @@ -21588,7 +21789,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/availableprivateendpointtypes": [ "2019-02-01", @@ -21621,7 +21823,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/availableservicealiases": [ "2019-08-01", @@ -21650,7 +21853,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/baremetaltenants": [ "2018-07-01", @@ -21688,7 +21892,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/batchnotifyprivateendpointsforresourcemove": [ "2020-03-01", @@ -21712,7 +21917,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/batchvalidateprivateendpointsforresourcemove": [ "2020-03-01", @@ -21736,7 +21942,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/checkacceleratednetworkingsupport": [ "2018-04-01", @@ -21777,7 +21984,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/checkdnsnameavailability": [ "2014-12-01-preview", @@ -21839,7 +22047,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/checkprivatelinkservicevisibility": [ "2019-04-01", @@ -21871,7 +22080,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/commitinternalazurenetworkmanagerconfiguration": [ "2022-01-01", @@ -21883,7 +22093,8 @@ "2022-11-01", "2023-02-01", "2023-03-01-preview", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/datatasks": [ "2021-03-01", @@ -21898,7 +22109,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/dnsresolveroperationresults": [ "2020-04-01-preview", @@ -21947,7 +22159,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/getazurenetworkmanagerconfiguration": [ "2020-08-01", @@ -21966,7 +22179,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/hybridedgezone": [ "2022-01-01", @@ -21974,8 +22188,10 @@ "2022-07-01", "2022-09-01", "2022-11-01", + "2023-01-01-preview", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/internalazurevirtualnetworkmanageroperation": [ "2022-01-01", @@ -21987,7 +22203,8 @@ "2022-11-01", "2023-02-01", "2023-03-01-preview", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/nfvoperationresults": [ "2017-09-01", @@ -22033,8 +22250,10 @@ "2022-07-01", "2022-09-01", "2022-11-01", + "2023-01-01-preview", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/nfvoperations": [ "2017-09-01", @@ -22080,8 +22299,10 @@ "2022-07-01", "2022-09-01", "2022-11-01", + "2023-01-01-preview", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/operationresults": [ "2014-12-01-preview", @@ -22143,7 +22364,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/operations": [ "2014-12-01-preview", @@ -22205,7 +22427,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/privatelinkservices": [ "2020-03-01", @@ -22229,7 +22452,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/publishresources": [ "2022-01-01", @@ -22238,7 +22462,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/querynetworksecurityperimeter": [ "2021-02-01-preview", @@ -22258,7 +22483,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/servicetags": [ "2019-02-01", @@ -22291,7 +22517,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/setazurenetworkmanagerconfiguration": [ "2020-08-01", @@ -22310,7 +22537,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/setloadbalancerfrontendpublicipaddresses": [ "2020-05-01", @@ -22332,7 +22560,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/setresourceownership": [ "2018-04-01", @@ -22373,7 +22602,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/supportedvirtualmachinesizes": [ "2018-04-01", @@ -22414,7 +22644,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/usages": [ "2014-12-01-preview", @@ -22476,7 +22707,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/validateresourceownership": [ "2018-04-01", @@ -22517,7 +22749,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "locations/virtualnetworkavailableendpointservices": [ "2017-04-01", @@ -22567,7 +22800,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "natgateways": [ "2018-11-01", @@ -22602,7 +22836,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networkexperimentprofiles": [ "2019-11-01" @@ -22649,7 +22884,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networkinterfaces": [ "2014-12-01-preview", @@ -22711,7 +22947,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networkmanagerconnections": [ "2022-01-01", @@ -22723,7 +22960,8 @@ "2022-11-01", "2023-02-01", "2023-03-01-preview", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networkmanagers": [ "2022-01-01", @@ -22735,7 +22973,8 @@ "2022-11-01", "2023-02-01", "2023-03-01-preview", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networkprofiles": [ "2018-05-01", @@ -22775,7 +23014,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networksecuritygroups": [ "2014-12-01-preview", @@ -22837,7 +23077,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networkvirtualappliances": [ "2019-12-01", @@ -22862,8 +23103,10 @@ "2022-07-01", "2022-09-01", "2022-11-01", + "2023-01-01-preview", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networkvirtualapplianceskus": [ "2020-03-01", @@ -22886,8 +23129,10 @@ "2022-07-01", "2022-09-01", "2022-11-01", + "2023-01-01-preview", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networkwatchers": [ "2014-12-01-preview", @@ -22949,7 +23194,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networkwatchers/connectionmonitors": [ "2017-09-01", @@ -22996,7 +23242,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networkwatchers/flowlogs": [ "2017-09-01", @@ -23043,7 +23290,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networkwatchers/lenses": [ "2017-09-01", @@ -23090,7 +23338,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "networkwatchers/pingmeshes": [ "2017-09-01", @@ -23137,7 +23386,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "operations": [ "2014-12-01-preview", @@ -23199,7 +23449,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "p2svpngateways": [ "2018-08-01", @@ -23236,7 +23487,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "privatednsoperationresults": [ "2018-09-01", @@ -23335,7 +23587,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "privateendpoints": [ "2019-02-01", @@ -23368,7 +23621,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "privateendpoints/privatelinkserviceproxies": [ "2019-02-01", @@ -23401,7 +23655,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "privatelinkservices": [ "2018-08-01", @@ -23438,7 +23693,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "publicipaddresses": [ "2014-12-01-preview", @@ -23500,7 +23756,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "publicipprefixes": [ "2018-07-01", @@ -23538,7 +23795,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "routefilters": [ "2014-12-01-preview", @@ -23600,7 +23858,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "routetables": [ "2014-12-01-preview", @@ -23662,7 +23921,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "securitypartnerproviders": [ "2020-01-01", @@ -23687,7 +23947,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "serviceendpointpolicies": [ "2018-01-01", @@ -23731,7 +23992,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "trafficmanagergeographichierarchies": [ "2017-03-01", @@ -23741,8 +24003,7 @@ "2018-04-01", "2018-08-01", "2022-04-01", - "2022-04-01-preview", - "2022-12-01-preview" + "2022-04-01-preview" ], "trafficmanagerprofiles": [ "2015-04-28-preview", @@ -23754,8 +24015,7 @@ "2018-04-01", "2018-08-01", "2022-04-01", - "2022-04-01-preview", - "2022-12-01-preview" + "2022-04-01-preview" ], "trafficmanagerprofiles/azureendpoints": [ "2015-04-28-preview", @@ -23767,8 +24027,7 @@ "2018-04-01", "2018-08-01", "2022-04-01", - "2022-04-01-preview", - "2022-12-01-preview" + "2022-04-01-preview" ], "trafficmanagerprofiles/externalendpoints": [ "2015-04-28-preview", @@ -23780,8 +24039,7 @@ "2018-04-01", "2018-08-01", "2022-04-01", - "2022-04-01-preview", - "2022-12-01-preview" + "2022-04-01-preview" ], "trafficmanagerprofiles/heatmaps": [ "2017-09-01-preview", @@ -23802,8 +24060,7 @@ "2018-04-01", "2018-08-01", "2022-04-01", - "2022-04-01-preview", - "2022-12-01-preview" + "2022-04-01-preview" ], "trafficmanagerusermetricskeys": [ "2017-09-01-preview", @@ -23857,7 +24114,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "virtualnetworkgateways": [ "2014-12-01-preview", @@ -23919,7 +24177,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "virtualnetworks": [ "2014-12-01-preview", @@ -23981,7 +24240,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "virtualnetworks/listdnsforwardingrulesets": [ "2020-04-01-preview", @@ -24001,7 +24261,8 @@ "2022-11-01", "2023-02-01", "2023-03-01-preview", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "virtualnetworks/listnetworkmanagereffectivesecurityadminrules": [ "2022-01-01", @@ -24013,7 +24274,8 @@ "2022-11-01", "2023-02-01", "2023-03-01-preview", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "virtualnetworks/privatednszonelinks": [ "2020-06-01" @@ -24078,7 +24340,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "virtualnetworktaps": [ "2018-08-01", @@ -24115,7 +24378,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "virtualrouters": [ "2019-06-01", @@ -24145,8 +24409,10 @@ "2022-07-01", "2022-09-01", "2022-11-01", + "2023-01-01-preview", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "virtualwans": [ "2017-09-01", @@ -24193,7 +24459,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "vpngateways": [ "2017-09-01", @@ -24240,7 +24507,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "vpnserverconfigurations": [ "2019-08-01", @@ -24269,7 +24537,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ], "vpnsites": [ "2017-09-01", @@ -24316,7 +24585,8 @@ "2022-09-01", "2022-11-01", "2023-02-01", - "2023-04-01" + "2023-04-01", + "2023-05-01" ] }, "networkanalytics": { @@ -24858,7 +25128,8 @@ "2020-03-01-preview", "2020-08-01", "2020-10-01", - "2021-12-01-preview" + "2021-12-01-preview", + "2022-10-01" ], "linktargets": [ "2015-03-20", @@ -25683,7 +25954,8 @@ "2020-12-01-preview", "2021-07-01", "2021-12-01", - "2022-11-01-preview" + "2022-11-01-preview", + "2023-06-01-preview" ], "accounts": [ "2020-12-01-preview", @@ -25723,7 +25995,11 @@ "2020-12-01-preview", "2021-07-01", "2021-12-01", - "2022-11-01-preview" + "2022-11-01-preview", + "2023-06-01-preview" + ], + "policies": [ + "2023-06-01-preview" ], "removedefaultaccount": [ "2020-12-01-preview", @@ -27443,7 +27719,8 @@ "2023-03-01-preview", "2023-05-01", "2023-05-01-preview", - "2023-06-01-preview" + "2023-06-01-preview", + "2023-07-01-preview" ], "adaptivenetworkhardenings": [ "2015-06-01-preview", @@ -27526,6 +27803,9 @@ "2021-07-01-beta", "2021-07-01-preview" ], + "customrecommendations": [ + "2023-05-01-preview" + ], "datacollectionagents": [ "2015-06-01-preview" ], @@ -27561,6 +27841,9 @@ "ingestionsettings": [ "2021-01-15-preview" ], + "integrations": [ + "2023-07-01-preview" + ], "iotsecuritysolutions": [ "2017-08-01-preview", "2019-08-01" @@ -27713,6 +27996,9 @@ "2015-06-01-preview", "2020-01-01" ], + "securitystandards": [ + "2023-05-01-preview" + ], "securitystatuses": [ "2015-06-01-preview" ], @@ -27741,6 +28027,9 @@ "2020-07-01-preview", "2023-02-01-preview" ], + "standardassignments": [ + "2023-05-01-preview" + ], "standards": [ "2021-08-01-preview" ], @@ -34450,6 +34739,23 @@ "2022-06-01" ] }, + "storagetasks": { + "": [ + "2023-01-01" + ], + "locations": [ + "2023-01-01" + ], + "locations/asyncoperations": [ + "2023-01-01" + ], + "operations": [ + "2023-01-01" + ], + "storagetasks": [ + "2023-01-01" + ] + }, "streamanalytics": { "": [ "2015-03-01-preview", @@ -34927,7 +35233,8 @@ "2022-12-15-preview", "2023-01-01-preview", "2023-01-15-preview", - "2023-05-15-preview" + "2023-05-15-preview", + "2023-06-01-preview" ], "locations": [ "2020-12-16-preview", @@ -34944,7 +35251,8 @@ "2022-12-15-preview", "2023-01-01-preview", "2023-01-15-preview", - "2023-05-15-preview" + "2023-05-15-preview", + "2023-06-01-preview" ], "locations/operationstatuses": [ "2020-12-16-preview", @@ -34961,7 +35269,8 @@ "2022-12-15-preview", "2023-01-01-preview", "2023-01-15-preview", - "2023-05-15-preview" + "2023-05-15-preview", + "2023-06-01-preview" ], "operations": [ "2020-12-16-preview", @@ -34978,7 +35287,8 @@ "2022-12-15-preview", "2023-01-01-preview", "2023-01-15-preview", - "2023-05-15-preview" + "2023-05-15-preview", + "2023-06-01-preview" ], "skus": [ "2020-12-16-preview", @@ -34995,7 +35305,8 @@ "2022-12-15-preview", "2023-01-01-preview", "2023-01-15-preview", - "2023-05-15-preview" + "2023-05-15-preview", + "2023-06-01-preview" ], "testbaseaccounts": [ "2020-12-16-preview", @@ -35006,15 +35317,18 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/actionrequests": [ - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/availableinplaceupgradeoss": [ "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/availableoss": [ "2020-12-16-preview", @@ -35025,7 +35339,8 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/customerevents": [ "2020-12-16-preview", @@ -35036,11 +35351,13 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/draftpackages": [ "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/emailevents": [ "2020-12-16-preview", @@ -35051,18 +35368,21 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/featureupdatesupportedoses": [ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/firstpartyapps": [ "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/flightingrings": [ "2020-12-16-preview", @@ -35073,7 +35393,14 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testbaseaccounts/galleryapps": [ + "2023-06-01-preview" + ], + "testbaseaccounts/galleryapps/galleryappskus": [ + "2023-06-01-preview" ], "testbaseaccounts/packages": [ "2020-12-16-preview", @@ -35084,7 +35411,8 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/packages/favoriteprocesses": [ "2020-12-16-preview", @@ -35095,7 +35423,8 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/packages/osupdates": [ "2020-12-16-preview", @@ -35106,7 +35435,8 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/packages/testresults": [ "2020-12-16-preview", @@ -35117,7 +35447,8 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/packages/testresults/analysisresults": [ "2020-12-16-preview", @@ -35128,7 +35459,8 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/testsummaries": [ "2020-12-16-preview", @@ -35139,7 +35471,8 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/testtypes": [ "2020-12-16-preview", @@ -35150,7 +35483,8 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ], "testbaseaccounts/usages": [ "2020-12-16-preview", @@ -35161,7 +35495,8 @@ "2022-08-01-preview", "2022-11-01-preview", "2022-12-01-preview", - "2023-01-01-preview" + "2023-01-01-preview", + "2023-06-01-preview" ] }, "timeseriesinsights": { @@ -36943,13 +37278,15 @@ "2021-12-01-preview", "2022-10-15-preview", "2022-11-01-preview", - "2023-04-01" + "2023-04-01", + "2023-10-01-preview" ], "locations": [ "2021-12-01-preview", "2022-10-15-preview", "2022-11-01-preview", - "2023-04-01" + "2023-04-01", + "2023-10-01-preview" ], "locations/operationstatuses": [ "2021-12-01-preview", @@ -36980,7 +37317,8 @@ "2021-12-01-preview", "2022-10-15-preview", "2022-11-01-preview", - "2023-04-01" + "2023-04-01", + "2023-10-01-preview" ], "sapvirtualinstances": [ "2021-12-01-preview", diff --git a/versions/allResourceVersionsByResource.json b/versions/allResourceVersionsByResource.json index 0a4ab5d8e6b6..5e472807c432 100644 --- a/versions/allResourceVersionsByResource.json +++ b/versions/allResourceVersionsByResource.json @@ -6,7 +6,8 @@ "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "Authorization": [ "2020-03-20", @@ -14,12 +15,14 @@ "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "CloudLink": [ "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "Cluster": [ "2020-03-20", @@ -27,20 +30,23 @@ "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "Datastore": [ "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "GlobalReachConnection": [ "2020-07-17-preview", "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "HcxEnterpriseSite": [ "2020-03-20", @@ -48,11 +54,13 @@ "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "PlacementPolicy": [ "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "PrivateCloud": [ "2020-03-20", @@ -60,67 +68,78 @@ "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "ScriptExecution": [ "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "WorkloadNetworkDhcp": [ "2020-07-17-preview", "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "WorkloadNetworkDnsService": [ "2020-07-17-preview", "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "WorkloadNetworkDnsZone": [ "2020-07-17-preview", "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "WorkloadNetworkPortMirroring": [ "2020-07-17-preview", "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "WorkloadNetworkPublicIP": [ "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "WorkloadNetworkSegment": [ "2020-07-17-preview", "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "WorkloadNetworkVMGroup": [ "2020-07-17-preview", "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "getScriptExecutionLogs": [ "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "listClusterZones": [ - "2022-05-01" + "2022-05-01", + "2023-03-01" ], "listPrivateCloudAdminCredentials": [ "2020-03-20", @@ -128,7 +147,8 @@ "2021-01-01-preview", "2021-06-01", "2021-12-01", - "2022-05-01" + "2022-05-01", + "2023-03-01" ] }, "Aad": { @@ -3352,7 +3372,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "CapacityReservation": [ "2021-04-01", @@ -3361,7 +3382,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "CapacityReservationGroup": [ "2021-04-01", @@ -3370,7 +3392,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "CloudService": [ "2020-10-01-preview", @@ -3391,7 +3414,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "DedicatedHostGroup": [ "2019-03-01", @@ -3406,7 +3430,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "Disk": [ "2016-04-30-preview", @@ -3426,7 +3451,8 @@ "2021-12-01", "2022-03-02", "2022-07-02", - "2023-01-02" + "2023-01-02", + "2023-04-02" ], "DiskAccess": [ "2020-05-01", @@ -3438,7 +3464,8 @@ "2021-12-01", "2022-03-02", "2022-07-02", - "2023-01-02" + "2023-01-02", + "2023-04-02" ], "DiskAccessAPrivateEndpointConnection": [ "2020-09-30", @@ -3448,7 +3475,8 @@ "2021-12-01", "2022-03-02", "2022-07-02", - "2023-01-02" + "2023-01-02", + "2023-04-02" ], "DiskEncryptionSet": [ "2019-07-01", @@ -3462,7 +3490,8 @@ "2021-12-01", "2022-03-02", "2022-07-02", - "2023-01-02" + "2023-01-02", + "2023-04-02" ], "Gallery": [ "2018-06-01", @@ -3536,7 +3565,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "ProximityPlacementGroup": [ "2018-04-01", @@ -3554,7 +3584,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "RestorePoint": [ "2021-03-01", @@ -3564,7 +3595,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "RestorePointCollection": [ "2021-03-01", @@ -3574,7 +3606,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "Snapshot": [ "2016-04-30-preview", @@ -3594,7 +3627,8 @@ "2021-12-01", "2022-03-02", "2022-07-02", - "2023-01-02" + "2023-01-02", + "2023-04-02" ], "SshPublicKey": [ "2019-12-01", @@ -3607,7 +3641,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "VirtualMachine": [ "2015-06-15", @@ -3630,7 +3665,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "VirtualMachineExtension": [ "2015-06-15", @@ -3653,7 +3689,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "VirtualMachineRunCommandByVirtualMachine": [ "2020-06-01", @@ -3665,7 +3702,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "VirtualMachineScaleSet": [ "2015-06-15", @@ -3688,7 +3726,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "VirtualMachineScaleSetExtension": [ "2017-03-30", @@ -3708,7 +3747,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "VirtualMachineScaleSetVM": [ "2017-12-01", @@ -3727,7 +3767,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "VirtualMachineScaleSetVMExtension": [ "2019-07-01", @@ -3741,7 +3782,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "VirtualMachineScaleSetVMRunCommand": [ "2020-06-01", @@ -3753,7 +3795,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "getLogAnalyticExportRequestRateByInterval": [ "2017-12-01", @@ -3772,7 +3815,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ], "getLogAnalyticExportThrottledRequests": [ "2017-12-01", @@ -3791,7 +3835,8 @@ "2022-03-01", "2022-08-01", "2022-11-01", - "2023-03-01" + "2023-03-01", + "2023-07-01" ] }, "ConfidentialLedger": { @@ -4220,7 +4265,8 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01" ], "ContainerService": [ "2015-11-01-preview", @@ -4281,7 +4327,8 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01" ], "ManagedCluster": [ "2017-08-31", @@ -4341,7 +4388,8 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01" ], "ManagedClusterSnapshot": [ "2022-02-02-preview", @@ -4413,7 +4461,8 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01" ], "Snapshot": [ "2021-08-01", @@ -4451,7 +4500,8 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01" ], "TrustedAccessRoleBinding": [ "2022-04-02-preview", @@ -4550,7 +4600,8 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01" ], "listManagedClusterMonitoringUserCredentials": [ "2019-10-01", @@ -4603,7 +4654,8 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01" ], "listManagedClusterUserCredentials": [ "2018-03-31", @@ -4662,18 +4714,19 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01" ] }, "ContainerStorage": { "Pool": [ - "2023-03-01-preview" + "2023-07-01-preview" ], - "Volume": [ - "2023-03-01-preview" + "Snapshot": [ + "2023-07-01-preview" ], - "VolumeSnapshot": [ - "2023-03-01-preview" + "Volume": [ + "2023-07-01-preview" ] }, "CostManagement": { @@ -5084,7 +5137,8 @@ "2022-02-01", "2022-09-01", "2022-10-01", - "2022-12-01" + "2022-12-01", + "2023-03-01" ], "listJobCredentials": [ "2018-01-01", @@ -5098,7 +5152,8 @@ "2022-02-01", "2022-09-01", "2022-10-01", - "2022-12-01" + "2022-12-01", + "2023-03-01" ] }, "DataBoxEdge": { @@ -5842,7 +5897,8 @@ "2022-02-10-preview", "2022-04-01-preview", "2022-09-09", - "2022-10-14-preview" + "2022-10-14-preview", + "2023-07-07-preview" ], "ApplicationGroup": [ "2019-01-23-preview", @@ -5861,7 +5917,8 @@ "2022-02-10-preview", "2022-04-01-preview", "2022-09-09", - "2022-10-14-preview" + "2022-10-14-preview", + "2023-07-07-preview" ], "HostPool": [ "2019-01-23-preview", @@ -5880,7 +5937,8 @@ "2022-02-10-preview", "2022-04-01-preview", "2022-09-09", - "2022-10-14-preview" + "2022-10-14-preview", + "2023-07-07-preview" ], "MSIXPackage": [ "2020-09-21-preview", @@ -5896,21 +5954,24 @@ "2022-02-10-preview", "2022-04-01-preview", "2022-09-09", - "2022-10-14-preview" + "2022-10-14-preview", + "2023-07-07-preview" ], "PrivateEndpointConnectionByHostPool": [ "2021-04-01-preview", "2021-09-03-preview", "2022-02-10-preview", "2022-04-01-preview", - "2022-10-14-preview" + "2022-10-14-preview", + "2023-07-07-preview" ], "PrivateEndpointConnectionByWorkspace": [ "2021-04-01-preview", "2021-09-03-preview", "2022-02-10-preview", "2022-04-01-preview", - "2022-10-14-preview" + "2022-10-14-preview", + "2023-07-07-preview" ], "ScalingPlan": [ "2020-11-10-preview", @@ -5923,12 +5984,17 @@ "2022-02-10-preview", "2022-04-01-preview", "2022-09-09", - "2022-10-14-preview" + "2022-10-14-preview", + "2023-07-07-preview" + ], + "ScalingPlanPersonalSchedule": [ + "2023-07-07-preview" ], "ScalingPlanPooledSchedule": [ "2022-04-01-preview", "2022-09-09", - "2022-10-14-preview" + "2022-10-14-preview", + "2023-07-07-preview" ], "Workspace": [ "2019-01-23-preview", @@ -5947,7 +6013,8 @@ "2022-02-10-preview", "2022-04-01-preview", "2022-09-09", - "2022-10-14-preview" + "2022-10-14-preview", + "2023-07-07-preview" ] }, "DevCenter": { @@ -8043,7 +8110,11 @@ "2015-03-01-preview", "2018-06-01-preview", "2021-06-01", - "2023-04-15-preview" + "2023-04-15-preview", + "2023-06-01-preview" + ], + "ClusterPool": [ + "2023-06-01-preview" ], "Extension": [ "2015-03-01-preview", @@ -8242,8 +8313,7 @@ "2022-11-10", "2022-12-27", "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview" + "2023-03-15-preview" ], "MachineExtension": [ "2019-08-02-preview", @@ -8264,11 +8334,7 @@ "2022-11-10", "2022-12-27", "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview" - ], - "MachineRunCommand": [ - "2023-04-25-preview" + "2023-03-15-preview" ], "PrivateEndpointConnection": [ "2020-08-15-preview", @@ -8285,8 +8351,7 @@ "2022-11-10", "2022-12-27", "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview" + "2023-03-15-preview" ], "PrivateLinkScope": [ "2020-08-15-preview", @@ -8303,8 +8368,7 @@ "2022-11-10", "2022-12-27", "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview" + "2023-03-15-preview" ], "PrivateLinkScopedResource": [ "2020-08-15-preview" @@ -10213,13 +10277,15 @@ "2020-02-01-preview", "2021-02-01", "2021-07-01-preview", - "2021-12-01-preview" + "2021-12-01-preview", + "2023-06-01" ], "Creator": [ "2020-02-01-preview", "2021-02-01", "2021-07-01-preview", - "2021-12-01-preview" + "2021-12-01-preview", + "2023-06-01" ], "PrivateAtlase": [ "2020-02-01-preview" @@ -10230,10 +10296,12 @@ "2020-02-01-preview", "2021-02-01", "2021-07-01-preview", - "2021-12-01-preview" + "2021-12-01-preview", + "2023-06-01" ], "listAccountSas": [ - "2021-12-01-preview" + "2021-12-01-preview", + "2023-06-01" ] }, "Marketplace": { @@ -10685,6 +10753,11 @@ "2022-04-01-preview" ] }, + "MobilePacketCore": { + "NetworkFunction": [ + "2023-05-15-preview" + ] + }, "Monitor": { "AzureMonitorWorkspace": [ "2021-06-03-preview", @@ -18308,6 +18381,11 @@ "2022-06-01" ] }, + "StorageTasks": { + "StorageTask": [ + "2023-01-01" + ] + }, "StreamAnalytics": { "Cluster": [ "2020-03-01", diff --git a/versions/allResourcesByVersion.json b/versions/allResourcesByVersion.json index d27d9c3ccdfc..25cc9a10aa5e 100644 --- a/versions/allResourcesByVersion.json +++ b/versions/allResourcesByVersion.json @@ -103,6 +103,28 @@ "getScriptExecutionLogs", "listClusterZones", "listPrivateCloudAdminCredentials" + ], + "2023-03-01": [ + "Addon", + "Authorization", + "CloudLink", + "Cluster", + "Datastore", + "GlobalReachConnection", + "HcxEnterpriseSite", + "PlacementPolicy", + "PrivateCloud", + "ScriptExecution", + "WorkloadNetworkDhcp", + "WorkloadNetworkDnsService", + "WorkloadNetworkDnsZone", + "WorkloadNetworkPortMirroring", + "WorkloadNetworkPublicIP", + "WorkloadNetworkSegment", + "WorkloadNetworkVMGroup", + "getScriptExecutionLogs", + "listClusterZones", + "listPrivateCloudAdminCredentials" ] }, "Aad": { @@ -3574,6 +3596,35 @@ "VirtualMachineScaleSetVMRunCommand", "getLogAnalyticExportRequestRateByInterval", "getLogAnalyticExportThrottledRequests" + ], + "2023-04-02": [ + "Disk", + "DiskAccess", + "DiskAccessAPrivateEndpointConnection", + "DiskEncryptionSet", + "Snapshot" + ], + "2023-07-01": [ + "AvailabilitySet", + "CapacityReservation", + "CapacityReservationGroup", + "DedicatedHost", + "DedicatedHostGroup", + "Image", + "ProximityPlacementGroup", + "RestorePoint", + "RestorePointCollection", + "SshPublicKey", + "VirtualMachine", + "VirtualMachineExtension", + "VirtualMachineRunCommandByVirtualMachine", + "VirtualMachineScaleSet", + "VirtualMachineScaleSetExtension", + "VirtualMachineScaleSetVM", + "VirtualMachineScaleSetVMExtension", + "VirtualMachineScaleSetVMRunCommand", + "getLogAnalyticExportRequestRateByInterval", + "getLogAnalyticExportThrottledRequests" ] }, "ConfidentialLedger": { @@ -4585,13 +4636,23 @@ "listManagedClusterAdminCredentials", "listManagedClusterMonitoringUserCredentials", "listManagedClusterUserCredentials" + ], + "2023-07-01": [ + "AgentPool", + "MaintenanceConfiguration", + "ManagedCluster", + "PrivateEndpointConnection", + "Snapshot", + "listManagedClusterAdminCredentials", + "listManagedClusterMonitoringUserCredentials", + "listManagedClusterUserCredentials" ] }, "ContainerStorage": { - "2023-03-01-preview": [ + "2023-07-01-preview": [ "Pool", - "Volume", - "VolumeSnapshot" + "Snapshot", + "Volume" ] }, "CostManagement": { @@ -5033,6 +5094,10 @@ "2022-12-01": [ "Job", "listJobCredentials" + ], + "2023-03-01": [ + "Job", + "listJobCredentials" ] }, "DataBoxEdge": { @@ -5847,6 +5912,18 @@ "ScalingPlan", "ScalingPlanPooledSchedule", "Workspace" + ], + "2023-07-07-preview": [ + "Application", + "ApplicationGroup", + "HostPool", + "MSIXPackage", + "PrivateEndpointConnectionByHostPool", + "PrivateEndpointConnectionByWorkspace", + "ScalingPlan", + "ScalingPlanPersonalSchedule", + "ScalingPlanPooledSchedule", + "Workspace" ] }, "DevCenter": { @@ -7899,6 +7976,10 @@ "PrivateEndpointConnection", "getClusterGatewaySettings", "listVirtualMachineHosts" + ], + "2023-06-01-preview": [ + "Cluster", + "ClusterPool" ] }, "HanaOnAzure": { @@ -8168,13 +8249,6 @@ "MachineExtension", "PrivateEndpointConnection", "PrivateLinkScope" - ], - "2023-04-25-preview": [ - "Machine", - "MachineExtension", - "MachineRunCommand", - "PrivateEndpointConnection", - "PrivateLinkScope" ] }, "HybridConnectivity": { @@ -9930,6 +10004,12 @@ "Creator", "listAccountKeys", "listAccountSas" + ], + "2023-06-01": [ + "Account", + "Creator", + "listAccountKeys", + "listAccountSas" ] }, "Marketplace": { @@ -10322,6 +10402,11 @@ "Slice" ] }, + "MobilePacketCore": { + "2023-05-15-preview": [ + "NetworkFunction" + ] + }, "Monitor": { "2021-06-03-preview": [ "AzureMonitorWorkspace" @@ -17619,6 +17704,11 @@ "SyncGroup" ] }, + "StorageTasks": { + "2023-01-01": [ + "StorageTask" + ] + }, "StreamAnalytics": { "2016-03-01": [ "Function", diff --git a/versions/pending.json b/versions/pending.json index 5523d29ca2da..442ea1bb60dd 100644 --- a/versions/pending.json +++ b/versions/pending.json @@ -1,6 +1,8 @@ { "ADHybridHealthService": [], - "AVS": [], + "AVS": [ + "2023-03-01" + ], "Aad": [], "AadIam": [ "2017-04-01-preview", @@ -119,7 +121,9 @@ "2022-09-04", "2022-11-01", "2023-01-02", - "2023-03-01" + "2023-03-01", + "2023-04-02", + "2023-07-01" ], "ConfidentialLedger": [ "2022-09-08-preview", @@ -201,7 +205,8 @@ "2023-05-01", "2023-05-02-preview", "2023-06-01", - "2023-06-02-preview" + "2023-06-02-preview", + "2023-07-01" ], "ContainerStorage": [], "CostManagement": [ @@ -242,7 +247,9 @@ "2023-03-01-preview" ], "Dashboard": [], - "DataBox": [], + "DataBox": [ + "2023-03-01" + ], "DataBoxEdge": [ "2022-04-01-preview", "2022-12-01-preview", @@ -272,7 +279,8 @@ ], "DeploymentManager": [], "DesktopVirtualization": [ - "2022-10-14-preview" + "2022-10-14-preview", + "2023-07-07-preview" ], "DevCenter": [], "DevHub": [], @@ -325,7 +333,8 @@ "GraphServices": [], "GuestConfiguration": [], "HDInsight": [ - "2023-04-15-preview" + "2023-04-15-preview", + "2023-06-01-preview" ], "HanaOnAzure": [], "HardwareSecurityModules": [ @@ -352,8 +361,7 @@ "2022-11-10", "2022-12-27", "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview" + "2023-03-15-preview" ], "HybridConnectivity": [], "HybridContainerService": [], @@ -502,7 +510,8 @@ "Maps": [ "2021-02-01", "2021-07-01-preview", - "2021-12-01-preview" + "2021-12-01-preview", + "2023-06-01" ], "Marketplace": [], "MarketplaceNotifications": [], @@ -541,6 +550,7 @@ "2022-11-01", "2023-06-01" ], + "MobilePacketCore": [], "Monitor": [], "NetApp": [], "Network": [ @@ -748,6 +758,7 @@ ], "StoragePool": [], "StorageSync": [], + "StorageTasks": [], "StreamAnalytics": [ "2020-03-01-preview", "2021-10-01-preview" diff --git a/versions/v2-lock.json b/versions/v2-lock.json index 4facb2bca87a..23b2f892e87d 100644 --- a/versions/v2-lock.json +++ b/versions/v2-lock.json @@ -573,9 +573,9 @@ "listManagedClusterUserCredentials": "2023-04-01" }, "ContainerStorage": { - "Pool": "2023-03-01-preview", - "Volume": "2023-03-01-preview", - "VolumeSnapshot": "2023-03-01-preview" + "Pool": "2023-07-01-preview", + "Snapshot": "2023-07-01-preview", + "Volume": "2023-07-01-preview" }, "CostManagement": { "Budget": "2023-04-01-preview", @@ -779,6 +779,7 @@ "PrivateEndpointConnectionByHostPool": "2022-10-14-preview", "PrivateEndpointConnectionByWorkspace": "2022-10-14-preview", "ScalingPlan": "2022-09-09", + "ScalingPlanPersonalSchedule": "2023-07-07-preview", "ScalingPlanPooledSchedule": "2022-09-09", "Workspace": "2022-09-09" }, @@ -1030,6 +1031,7 @@ "HDInsight": { "Application": "2021-06-01", "Cluster": "2021-06-01", + "ClusterPool": "2023-06-01-preview", "Extension": "2021-06-01", "ExtensionAzureMonitorStatus": "2021-06-01", "ExtensionMonitoringStatus": "2021-06-01", @@ -1069,7 +1071,6 @@ "HybridCompute": { "Machine": "2022-12-27", "MachineExtension": "2022-12-27", - "MachineRunCommand": "2023-04-25-preview", "PrivateEndpointConnection": "2022-12-27", "PrivateLinkScope": "2022-12-27", "PrivateLinkScopedResource": "2020-08-15-preview" @@ -1502,6 +1503,9 @@ "Slice": "2023-06-01", "listMobileNetworkSimIds": "2022-04-01-preview" }, + "MobilePacketCore": { + "NetworkFunction": "2023-05-15-preview" + }, "Monitor": { "AzureMonitorWorkspace": "2023-04-03" }, @@ -2216,6 +2220,9 @@ "StorageSyncService": "2022-06-01", "SyncGroup": "2022-06-01" }, + "StorageTasks": { + "StorageTask": "2023-01-01" + }, "StreamAnalytics": { "Cluster": "2020-03-01", "Function": "2020-03-01", diff --git a/versions/v2-spec.yaml b/versions/v2-spec.yaml index 296dcf16c68c..79986b817294 100644 --- a/versions/v2-spec.yaml +++ b/versions/v2-spec.yaml @@ -267,6 +267,10 @@ ContainerService: listManagedClusterAccessProfile: "2020-03-01" ContainerStorage: tracking: 2023-03-01-preview + additions: + Pool: 2023-07-01-preview + Snapshot: 2023-07-01-preview + Volume: 2023-07-01-preview CostManagement: tracking: "2023-03-01" additions: @@ -341,6 +345,7 @@ DesktopVirtualization: additions: PrivateEndpointConnectionByHostPool: 2022-10-14-preview PrivateEndpointConnectionByWorkspace: 2022-10-14-preview + ScalingPlanPersonalSchedule: 2023-07-07-preview DevCenter: tracking: "2023-04-01" DevHub: @@ -435,6 +440,8 @@ GuestConfiguration: tracking: "2022-01-25" HDInsight: tracking: "2021-06-01" + additions: + ClusterPool: 2023-06-01-preview HanaOnAzure: tracking: 2020-02-07-preview HardwareSecurityModules: @@ -454,7 +461,6 @@ HybridCloud: HybridCompute: tracking: "2022-12-27" additions: - MachineRunCommand: 2023-04-25-preview PrivateLinkScopedResource: 2020-08-15-preview HybridConnectivity: tracking: "2023-03-15" @@ -678,6 +684,8 @@ MobileNetwork: tracking: "2023-06-01" additions: listMobileNetworkSimIds: 2022-04-01-preview +MobilePacketCore: + tracking: 2023-05-15-preview Monitor: tracking: "2023-04-03" NetApp: @@ -1059,6 +1067,8 @@ StoragePool: tracking: "2021-08-01" StorageSync: tracking: "2022-06-01" +StorageTasks: + tracking: "2023-01-01" StreamAnalytics: tracking: "2020-03-01" Subscription: